(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-495ca880"],{"0019":function(t,e,s){"use strict";e["a"]={data(){return{pt_nextActive:!1}},methods:{async pt_paginatieWithoutTotal({params:t,signal:e}){const s={...t,perPage:t.perPage||50};this.pt_nextActive=!1;const{meta:a={rowTotal:-1},result:i=[]}=await this.download({params:s},e)||{};return i.length>+(t.perPage||50)&&(this.pt_nextActive=!0),a.rowTotal<0?{meta:{...a,pageTotal:Number(t.page)+1,df_rowTotal:-1,rowTotal:a.page*a.perPage+i.length},result:i}:{meta:a,result:i}}}}},"14ef":function(t,e,s){"use strict";var a=s("ce7e"),i=function(){var t=this,e=t._self._c;return e("perfect-scrollbar",{staticClass:"anomaly-info"},[e("header",{staticClass:"anomaly-info__header ml-2 mt-2"},[e("h3",{staticClass:"anomaly-info__title"},[e("div",{staticClass:"grey--text"},[t._v(" "+t._s(t.$translate("pages.anomalies.anomalies.components.info-menu.title"))+" ")]),e("b",[t._v(" "+t._s(t.info.anomalyId)+" ")])])]),e(a["a"],{staticClass:"border-02 mt-2 mb-2"}),e("AppInfoList",{attrs:{"items-sections":t.infoItems}})],1)},n=[],c=s("c7eb"),o=s("1da1"),l=s("5530"),r=s("dde5"),u={name:"AnomalyInfo",props:{item:{type:Object,required:!0}},data:function(){return{data:null}},computed:{info:function(){return Object(l["a"])(Object(l["a"])({},this.data||{}),this.item)},infoItems:function(){return[[{name:"id",type:"stringValue",data:this.info.id},{name:this.$translate("pages.anomalies.anomalies.attributes.doc-id"),type:"stringValue",data:this.info.docId},{name:this.$translate("pages.anomalies.anomalies.attributes.date-create"),type:"stringValue",data:this.info.dateCreate},{name:this.$translate("pages.anomalies.anomalies.attributes.date-final-status"),type:"stringValue",data:this.info.dateFinalStatus},{name:this.$translate("pages.anomalies.anomalies.attributes.status-name"),type:"stringValue",data:this.info.statusName},{name:this.$translate("pages.anomalies.anomalies.attributes.task-id"),type:"stringValue",data:this.info.taskId},{name:this.$translate("pages.anomalies.anomalies.attributes.purpose"),type:"stringValue",data:this.info.purpose}]]}},watch:{"item.id":{handler:function(t){this.data||this.fetchData(t)},immediate:!0}},methods:{fetchData:function(t){var e=this;return Object(o["a"])(Object(c["a"])().mark((function s(){var a,i;return Object(c["a"])().wrap((function(s){while(1)switch(s.prev=s.next){case 0:return s.next=2,r["b"].fetch({id:t});case 2:a=s.sent,i=a.result,e.data=i;case 5:case"end":return s.stop()}}),s)})))()}}},d=u,m=(s("e228"),s("2877")),f=Object(m["a"])(d,i,n,!1,null,"2e04e695",null);e["a"]=f.exports},"2ac3":function(t,e,s){"use strict";s("cb02")},7119:function(t,e,s){},"97f5":function(t,e,s){"use strict";var a=s("62ad"),i=s("a523"),n=s("132d"),c=s("8860"),o=s("da13"),l=s("5d23"),r=s("e449"),u=s("0fd9"),d=(s("fb6a"),function(){var t=this,e=t._self._c;return e(i["a"],{staticClass:"buttons-table pb-0 pt-0"},[t.$vuetify.breakpoint.smAndUp?[t.actions.length>3?e("div",[e(u["a"],[t._l(t.actions.slice(0,2),(function(s){return e("div",{key:s.id},[e(a["a"],{staticClass:"pr-0"},[e(n["a"],{class:{"buttons-table__hidden":!!s.visible&&!s.visible(t.item)},attrs:{small:""},on:{click:function(e){return s.event(t.item.id,t.item.idx)}}},[t._v(" "+t._s(s.icon)+" ")])],1)],1)})),e("div",{staticClass:"pt-3 pl-2"},[e(r["a"],{attrs:{bottom:"",left:"","close-on-click":"","close-on-content-click":"","offset-y":""},scopedSlots:t._u([{key:"activator",fn:function(s){var a=s.on,i=s.attrs;return[e(n["a"],t._g(t._b({attrs:{small:""}},"v-icon",i,!1),a),[t._v(" mdi-dots-vertical ")])]}}],null,!1,331352376)},t._l(t.actions.slice(2),(function(s){return e(c["a"],{key:s.id,staticClass:"pt-0 pb-0",attrs:{dense:""}},[!s.visible||s.visible(t.item)?e(o["a"],{on:{click:function(e){return s.event(t.item.id,t.item.idx)}}},[e(l["c"],[t._v(t._s(s.text))])],1):t._e()],1)})),1)],1)],2)],1):e("div",[e(u["a"],{staticClass:"flex-nowrap justify-end"},t._l(t.actions,(function(s){return e("div",{key:s.id},[e(a["a"],{staticClass:"pr-0 pl-2"},[e(n["a"],{class:{"buttons-table__hidden":!!s.visible&&!s.visible(t.item)},attrs:{small:""},on:{click:function(e){return s.event(t.item.id,t.item.idx)}}},[t._v(" "+t._s(s.icon)+" ")])],1)],1)})),0)],1)]:e(r["a"],{attrs:{bottom:"",left:"","close-on-click":"","close-on-content-click":"","offset-y":""},scopedSlots:t._u([{key:"activator",fn:function(s){var a=s.on,i=s.attrs;return[e(n["a"],t._g(t._b({attrs:{small:""}},"v-icon",i,!1),a),[t._v(" mdi-dots-vertical ")])]}}])},t._l(t.actions,(function(s){return e(c["a"],{key:s.id,attrs:{dense:""}},[!s.visible||s.visible(t.item)?e(o["a"],{on:{click:function(e){return s.event(t.item.id,t.item.idx)}}},[e(l["c"],[t._v(t._s(s.text))])],1):t._e()],1)})),1)],2)}),m=[],f={name:"TableButtons",props:{actions:{type:Array,required:!0},item:{type:Object}}},h=f,v=(s("2ac3"),s("2877")),p=Object(v["a"])(h,d,m,!1,null,"1369d41d",null);e["a"]=p.exports},b49d:function(t,e,s){"use strict";var a=s("15a4"),i=s("2f62"),n=s("b0c2");e["a"]={created(){this.getSettings()},methods:{...Object(i["b"])("accounts",["updateUiSettings","fetchUiSettings"]),async getSettings(){const t=this.defaultColumns||[],{result:e}=await this.fetchUiSettings({settingsIdentifier:`${n["a"].isMarshroute()?"WMS":"YAPP"}.${this.settingsIdentificator}`}),s=Object.values(e.checkboxes||[]).map(t=>t.checkboxes).flat(),i=s.map(e=>{const s=t.find(t=>t.value===e.value||t.text===e.text);if("data-table-select"!==e.value&&s)return{...e,value:s?s.value:e.value,text:s?s.text:e.text}}).filter(t=>void 0!==t);if(i.length)if(i.every(t=>t.width)){const e=t.filter(t=>!i.find(e=>e.value===t.value));this.isColumns=a["a"].uniqBy(a["a"].flatten([e,i]),t=>t.value).map(e=>{const s=t.find(t=>t.value===e.value);return{...e,...s,text:s?s.text:e.text}})}else this.isColumns=t.map(t=>({...t}));else this.isColumns=t},async cs_changePosition(t,e){const{main:s}=this.cs_columnsSetting||{},{checkboxes:a,name:i}=s||{},c=this.isColumns.map(e=>{const s=(a||t).find(t=>t.value===e.value);return{...s,...e}||{...e,disabled:!0,isActive:!1}});this.updateUiSettings({settingsIdentifier:`${n["a"].isMarshroute()?"WMS":"YAPP"}.${this.settingsIdentificator}`||e,data:{checkboxes:{main:{checkboxes:c,name:i||"Основные параметры"}}}})},async cs_changeVisible({sectionKey:t,checkboxId:e}){const s=t=>t.value===e?{...t,isActive:!t.isActive}:t,a=this.cs_columnsSetting[t].checkboxes.map(s);await this.updateUiSettings({settingsIdentifier:`${n["a"].isMarshroute()?"WMS":"YAPP"}.${this.settingsIdentificator}`,data:{checkboxes:{...this.cs_columnsSetting,[t]:{...this.cs_columnsSetting[t],checkboxes:a}}}})},cs_createCheckboxState({settingsColumn:t,value:e,text:s}){const a=this.cs_getSavedCheckboxState({section:t.section,value:e});return{isActive:a&&"undefined"!==typeof a.isActive?a.isActive:t.isActive,disabled:a&&"undefined"!==typeof a.disabled?a.disabled:t.disabled,value:e,text:s}},cs_getSavedCheckboxState({section:t,value:e}){const s=this.uiSettings[`${n["a"].isMarshroute()?"WMS":"YAPP"}.${this.settingsIdentificator}`],a=s?s.checkboxes:{};if(a&&a[t])return a[t].checkboxes.find(t=>t.value===e)}},computed:{...Object(i["e"])("accounts",["uiSettings"]),cs_allColumns(){return this.columns},cs_columns(){return this.columns.filter(t=>{if(!t.settingsColumn)return!0;const e=this.cs_columnsSetting[t.settingsColumn.section].checkboxes.find(e=>e.value===t.value);return e&&e.isActive})},cs_columnsSetting(){const t=(t,{settingsColumn:e,value:s,text:a})=>{if(!e)return t;const i=t[e.section]||{checkboxes:[]};return i.name=e.sectionName,i.checkboxes.push(this.cs_createCheckboxState({settingsColumn:e,value:s,text:a})),{...t,[e.section]:i}};return this.columns.reduce(t,{})}}}},cb02:function(t,e,s){},e228:function(t,e,s){"use strict";s("7119")}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvbWl4aW5zL3BhZ2luYXRpb25zV2l0aG91dFRvdGFsLmpzIiwid2VicGFjazovLy8uL3NyYy9wYWdlcy9hbm9tYWxpZXMvQW5vbWFseUluZm8udnVlIiwid2VicGFjazovLy9zcmMvcGFnZXMvYW5vbWFsaWVzL0Fub21hbHlJbmZvLnZ1ZSIsIndlYnBhY2s6Ly8vLi9zcmMvcGFnZXMvYW5vbWFsaWVzL0Fub21hbHlJbmZvLnZ1ZT85OTM2Iiwid2VicGFjazovLy8uL3NyYy9wYWdlcy9hbm9tYWxpZXMvQW5vbWFseUluZm8udnVlPzM1MWEiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvc2hhcmVkL2Jhc2VUYWJsZVBhZ2UvVGFibGVCdXR0b25zLnZ1ZT9kNmIwIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL3NoYXJlZC9iYXNlVGFibGVQYWdlL1RhYmxlQnV0dG9ucy52dWUiLCJ3ZWJwYWNrOi8vL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL3NoYXJlZC9iYXNlVGFibGVQYWdlL1RhYmxlQnV0dG9ucy52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL2NvbXBvbmVudHMvc2hhcmVkL2Jhc2VUYWJsZVBhZ2UvVGFibGVCdXR0b25zLnZ1ZT80NTc0Iiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9jb21wb25lbnRzL3NoYXJlZC9iYXNlVGFibGVQYWdlL1RhYmxlQnV0dG9ucy52dWU/YTAwMyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvbWl4aW5zL2NvbHVtbnNTZXR0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9wYWdlcy9hbm9tYWxpZXMvQW5vbWFseUluZm8udnVlPzE0YTUiXSwibmFtZXMiOlsicHRfbmV4dEFjdGl2ZSIsIm1ldGhvZHMiLCJwYXJhbXMiLCJzaWduYWwiLCJwYXJhbXNGb3JOZXh0IiwicGVyUGFnZSIsInRoaXMiLCJtZXRhIiwicm93VG90YWwiLCJyZXN1bHQiLCJkb3dubG9hZCIsImxlbmd0aCIsInBhZ2VUb3RhbCIsIk51bWJlciIsInBhZ2UiLCJkZl9yb3dUb3RhbCIsIl9jIiwiX3NlbGYiLCJzdGF0aWNDbGFzcyIsIl92bSIsImF0dHJzIiwic3RhdGljUmVuZGVyRm5zIiwibmFtZSIsInByb3BzIiwiaXRlbSIsInR5cGUiLCJPYmplY3QiLCJyZXF1aXJlZCIsImRhdGEiLCJjb21wdXRlZCIsImluZm8iLCJfb2JqZWN0U3ByZWFkIiwiaW5mb0l0ZW1zIiwiaWQiLCIkdHJhbnNsYXRlIiwiZG9jSWQiLCJkYXRlQ3JlYXRlIiwiZGF0ZUZpbmFsU3RhdHVzIiwic3RhdHVzTmFtZSIsInRhc2tJZCIsInB1cnBvc2UiLCJ3YXRjaCIsImhhbmRsZXIiLCJmZXRjaERhdGEiLCJpbW1lZGlhdGUiLCJfdGhpcyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3lpZWxkJGFub21hbGllc1NlcnZpIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJhbm9tYWxpZXNTZXJ2aWNlIiwiZmV0Y2giLCJzZW50Iiwic3RvcCIsImNvbXBvbmVudCIsImNsYXNzIiwib24iLCJhY3Rpb24iLCJzY29wZWRTbG90cyIsImtleSIsImFjdGlvbnMiLCJjbGljayIsIiRldmVudCIsIl9sIiwidmlzaWJsZSIsIl91IiwiZXZlbnQiLCJyZW5kZXIiLCJBcnJheSIsImdldFNldHRpbmdzIiwiZGVmYXVsdENvbHVtbnMiLCJmZXRjaFVpU2V0dGluZ3MiLCJzZXR0aW5nc0lkZW50aWZpZXIiLCJpc01hcnNocm91dGUiLCJzZXR0aW5nc0lkZW50aWZpY2F0b3IiLCJkaXJ0eUNoZWNrYm94ZXMiLCJ2YWx1ZXMiLCJjaGVja2JveGVzIiwibWFwIiwic2VjdGlvbiIsImZsYXQiLCJpdCIsImNiIiwiZmluZCIsImMiLCJ2YWx1ZSIsInRleHQiLCJmaWx0ZXIiLCJ1bmRlZmluZWQiLCJldmVyeSIsIndpZHRoIiwiaGlkZGVuQ29sdW1uIiwiZWwiLCJpc0NvbHVtbnMiLCJ1bmlxQnkiLCJmbGF0dGVuIiwiZSIsImZpbmRFbCIsIml0ZW1zIiwibWFpbiIsImNzX2NvbHVtbnNTZXR0aW5nIiwiZm9ybWF0SXNDb2x1bW5zIiwiY2JzIiwiZGlzYWJsZWQiLCJpc0FjdGl2ZSIsInVwZGF0ZVVpU2V0dGluZ3MiLCJzZWN0aW9uS2V5IiwiY2hlY2tib3hJZCIsInRvZ2dsZUNoZWNrYm94IiwiY2hlY2tib3giLCJzZXR0aW5nc0NvbHVtbiIsInN0YXRlIiwiY3NfZ2V0U2F2ZWRDaGVja2JveFN0YXRlIiwic2F2ZWRTZXR0aW5ncyIsInVpU2V0dGluZ3MiLCJzYXZlZENoZWNrYm94ZXNTdGF0ZSIsImNvbHVtbnMiLCJjb2x1bW4iLCJhZGRDaGVja2JveCIsImNvbHVtbnNPYmplY3QiLCJzZWN0aW9uTmFtZSIsInB1c2giLCJjc19jcmVhdGVDaGVja2JveFN0YXRlIiwicmVkdWNlIl0sIm1hcHBpbmdzIjoia0hBQWUsUUFDYixPQUNFLE1BQU8sQ0FDTEEsZUFBZSxJQUduQkMsUUFBUyxDQUNQLGdDQUErQixPQUFFQyxFQUFNLE9BQUVDLElBQ3ZDLE1BQU1DLEVBQWdCLElBQ2pCRixFQUNIRyxRQUFTSCxFQUFPRyxTQUFXLElBRTdCQyxLQUFLTixlQUFnQixFQUNyQixNQUFNLEtBQUVPLEVBQU8sQ0FBRUMsVUFBVyxHQUFHLE9BQUVDLEVBQVMsVUFBYUgsS0FBS0ksU0FBUyxDQUFFUixPQUFRRSxHQUFpQkQsSUFBVyxHQUszRyxPQUpJTSxFQUFPRSxTQUFXVCxFQUFPRyxTQUFXLE1BQ3RDQyxLQUFLTixlQUFnQixHQUduQk8sRUFBS0MsU0FBVyxFQUNY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InNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcclxuICBkYXRhKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcHRfbmV4dEFjdGl2ZTogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgbWV0aG9kczoge1xyXG4gICAgYXN5bmMgcHRfcGFnaW5hdGllV2l0aG91dFRvdGFsKHsgcGFyYW1zLCBzaWduYWwgfSkge1xyXG4gICAgICBjb25zdCBwYXJhbXNGb3JOZXh0ID0ge1xyXG4gICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICBwZXJQYWdlOiBwYXJhbXMucGVyUGFnZSB8fCA1MCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5wdF9uZXh0QWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IHsgbWV0YSA9IHsgcm93VG90YWw6IC0xIH0sIHJlc3VsdCA9IFtdIH0gPSBhd2FpdCB0aGlzLmRvd25sb2FkKHsgcGFyYW1zOiBwYXJhbXNGb3JOZXh0IH0sIHNpZ25hbCkgfHwge307XHJcbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gKyhwYXJhbXMucGVyUGFnZSB8fCA1MCkpIHtcclxuICAgICAgICB0aGlzLnB0X25leHRBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vIHJlc3VsdC5wb3AoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobWV0YS5yb3dUb3RhbCA8IDApIHtcclxuICAgICAgICByZXR1cm4geyBtZXRhOiB7IC4uLm1ldGEsIHBhZ2VUb3RhbDogTnVtYmVyKHBhcmFtcy5wYWdlKSArIDEsIGRmX3Jvd1RvdGFsOiAtMSAsIHJvd1RvdGFsOiBtZXRhLnBhZ2UgKiBtZXRhLnBlclBhZ2UgKyByZXN1bHQubGVuZ3RoIH0sIHJlc3VsdCB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IG1ldGEsIHJlc3VsdCB9O1xyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCl7dmFyIF92bT10aGlzLF9jPV92bS5fc2VsZi5fYztyZXR1cm4gX2MoJ3BlcmZlY3Qtc2Nyb2xsYmFyJyx7c3RhdGljQ2xhc3M6XCJhbm9tYWx5LWluZm9cIn0sW19jKCdoZWFkZXInLHtzdGF0aWNDbGFzczpcImFub21hbHktaW5mb19faGVhZGVyIG1sLTIgbXQtMlwifSxbX2MoJ2gzJyx7c3RhdGljQ2xhc3M6XCJhbm9tYWx5LWluZm9fX3RpdGxlXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJncmV5LS10ZXh0XCJ9LFtfdm0uX3YoXCIgXCIrX3ZtLl9zKF92bS4kdHJhbnNsYXRlKCdwYWdlcy5hbm9tYWxpZXMuYW5vbWFsaWVzLmNvbXBvbmVudHMuaW5mby1tZW51LnRpdGxlJykpK1wiIFwiKV0pLF9jKCdiJyxbX3ZtLl92KFwiIFwiK192bS5fcyhfdm0uaW5mby5hbm9tYWx5SWQpK1wiIFwiKV0pXSldKSxfYygndi1kaXZpZGVyJyx7c3RhdGljQ2xhc3M6XCJib3JkZXItMDIgbXQtMiBtYi0yXCJ9KSxfYygnQXBwSW5mb0xpc3QnLHthdHRyczp7XCJpdGVtcy1zZWN0aW9uc1wiOl92bS5pbmZvSXRlbXN9fSldLDEpXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8cGVyZmVjdC1zY3JvbGxiYXIgY2xhc3M9XCJhbm9tYWx5LWluZm9cIj5cclxuICAgIDxoZWFkZXIgY2xhc3M9XCJhbm9tYWx5LWluZm9fX2hlYWRlciBtbC0yIG10LTJcIj5cclxuICAgICAgPGgzIGNsYXNzPVwiYW5vbWFseS1pbmZvX190aXRsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmV5LS10ZXh0XCI+XHJcbiAgICAgICAgICB7eyAkdHJhbnNsYXRlKCdwYWdlcy5hbm9tYWxpZXMuYW5vbWFsaWVzLmNvbXBvbmVudHMuaW5mby1tZW51LnRpdGxlJykgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Yj4ge3sgaW5mby5hbm9tYWx5SWQgfX0gPC9iPlxyXG4gICAgICA8L2gzPlxyXG4gICAgPC9oZWFkZXI+XHJcbiAgICA8di1kaXZpZGVyIGNsYXNzPVwiYm9yZGVyLTAyICBtdC0yIG1iLTJcIiAvPlxyXG4gICAgPEFwcEluZm9MaXN0XHJcbiAgICAgIDppdGVtcy1zZWN0aW9ucz1cImluZm9JdGVtc1wiXHJcbiAgICAvPlxyXG4gIDwvcGVyZmVjdC1zY3JvbGxiYXI+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgeyBhbm9tYWxpZXNTZXJ2aWNlIH0gZnJvbSAnQC9zZXJ2aWNlcyc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogJ0Fub21hbHlJbmZvJyxcclxuICBwcm9wczoge1xyXG4gICAgaXRlbToge1xyXG4gICAgICB0eXBlOiBPYmplY3QsXHJcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXRhOiBudWxsLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIGNvbXB1dGVkOiB7XHJcbiAgICBpbmZvKCkge1xyXG4gICAgICByZXR1cm4geyAuLi4odGhpcy5kYXRhIHx8IHt9KSwgLi4udGhpcy5pdGVtIH07XHJcbiAgICB9LFxyXG4gICAgaW5mb0l0ZW1zKCkge1xyXG4gICAgICByZXR1cm4gW1xyXG4gICAgICAgIFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogJ2lkJyxcclxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZ1ZhbHVlJyxcclxuICAgICAgICAgICAgZGF0YTogdGhpcy5pbmZvLmlkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy4kdHJhbnNsYXRlKCdwYWdlcy5hbm9tYWxpZXMuYW5vbWFsaWVzLmF0dHJpYnV0ZXMuZG9jLWlkJyksXHJcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmdWYWx1ZScsXHJcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuaW5mby5kb2NJZCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuJHRyYW5zbGF0ZSgncGFnZXMuYW5vbWFsaWVzLmFub21hbGllcy5hdHRyaWJ1dGVzLmRhdGUtY3JlYXRlJyksXHJcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmdWYWx1ZScsXHJcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuaW5mby5kYXRlQ3JlYXRlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy4kdHJhbnNsYXRlKCdwYWdlcy5hbm9tYWxpZXMuYW5vbWFsaWVzLmF0dHJpYnV0ZXMuZGF0ZS1maW5hbC1zdGF0dXMnKSxcclxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZ1ZhbHVlJyxcclxuICAgICAgICAgICAgZGF0YTogdGhpcy5pbmZvLmRhdGVGaW5hbFN0YXR1cyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuJHRyYW5zbGF0ZSgncGFnZXMuYW5vbWFsaWVzLmFub21hbGllcy5hdHRyaWJ1dGVzLnN0YXR1cy1uYW1lJyksXHJcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmdWYWx1ZScsXHJcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuaW5mby5zdGF0dXNOYW1lLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy4kdHJhbnNsYXRlKCdwYWdlcy5hbm9tYWxpZXMuYW5vbWFsaWVzLmF0dHJpYnV0ZXMudGFzay1pZCcpLFxyXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nVmFsdWUnLFxyXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmluZm8udGFza0lkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy4kdHJhbnNsYXRlKCdwYWdlcy5hbm9tYWxpZXMuYW5vbWFsaWVzLmF0dHJpYnV0ZXMucHVycG9zZScpLFxyXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nVmFsdWUnLFxyXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmluZm8ucHVycG9zZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgXTtcclxuICAgIH0sXHJcbiAgfSxcclxuICB3YXRjaDoge1xyXG4gICAgJ2l0ZW0uaWQnOiB7XHJcbiAgICAgIGhhbmRsZXIoaWQpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5mZXRjaERhdGEoaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgaW1tZWRpYXRlOiB0cnVlLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIG1ldGhvZHM6IHtcclxuICAgIGFzeW5jIGZldGNoRGF0YShpZCkge1xyXG4gICAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgYW5vbWFsaWVzU2VydmljZS5mZXRjaCh7IGlkIH0pO1xyXG4gICAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XHJcbiAgICB9LFxyXG4gIH0sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4uYW5vbWFseS1pbmZvIHtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBjb2xvcjogIzAwMDAwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICZfX2hlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcbjwvc3R5bGU+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQW5vbWFseUluZm8udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQW5vbWFseUluZm8udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0Fub21hbHlJbmZvLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yZTA0ZTY5NSZzY29wZWQ9dHJ1ZVwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0Fub21hbHlJbmZvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9Bbm9tYWx5SW5mby52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Bbm9tYWx5SW5mby52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0yZTA0ZTY5NSZwcm9kJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIyZTA0ZTY5NVwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTktb25lT2YtMS0wIS4uLy4uLy4uLy4uL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tOS1vbmVPZi0xLTEhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTktb25lT2YtMS0yIS4uLy4uLy4uLy4uL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0zIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RhYmxlQnV0dG9ucy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xMzY5ZDQxZCZwcm9kJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZVwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpe3ZhciBfdm09dGhpcyxfYz1fdm0uX3NlbGYuX2M7cmV0dXJuIF9jKCd2LWNvbnRhaW5lcicse3N0YXRpY0NsYXNzOlwiYnV0dG9ucy10YWJsZSBwYi0wIHB0LTBcIn0sWyhfdm0uJHZ1ZXRpZnkuYnJlYWtwb2ludC5zbUFuZFVwKT9bKF92bS5hY3Rpb25zLmxlbmd0aCA+IDMpP19jKCdkaXYnLFtfYygndi1yb3cnLFtfdm0uX2woKF92bS5hY3Rpb25zLnNsaWNlKDAsIDIpKSxmdW5jdGlvbihhY3Rpb24pe3JldHVybiBfYygnZGl2Jyx7a2V5OmFjdGlvbi5pZH0sW19jKCd2LWNvbCcse3N0YXRpY0NsYXNzOlwicHItMFwifSxbX2MoJ3YtaWNvbicse2NsYXNzOnsgJ2J1dHRvbnMtdGFibGVfX2hpZGRlbic6IGFjdGlvbi52aXNpYmxlID8gIWFjdGlvbi52aXNpYmxlKF92bS5pdGVtKSA6IGZhbHNlIH0sYXR0cnM6e1wic21hbGxcIjpcIlwifSxvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIGFjdGlvbi5ldmVudChfdm0uaXRlbS5pZCwgX3ZtLml0ZW0uaWR4KX19fSxbX3ZtLl92KFwiIFwiK192bS5fcyhhY3Rpb24uaWNvbikrXCIgXCIpXSldLDEpXSwxKX0pLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInB0LTMgcGwtMlwifSxbX2MoJ3YtbWVudScse2F0dHJzOntcImJvdHRvbVwiOlwiXCIsXCJsZWZ0XCI6XCJcIixcImNsb3NlLW9uLWNsaWNrXCI6XCJcIixcImNsb3NlLW9uLWNvbnRlbnQtY2xpY2tcIjpcIlwiLFwib2Zmc2V0LXlcIjpcIlwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJhY3RpdmF0b3JcIixmbjpmdW5jdGlvbih7IG9uLCBhdHRycyB9KXtyZXR1cm4gW19jKCd2LWljb24nLF92bS5fZyhfdm0uX2Ioe2F0dHJzOntcInNtYWxsXCI6XCJcIn19LCd2LWljb24nLGF0dHJzLGZhbHNlKSxvbiksW192bS5fdihcIiBtZGktZG90cy12ZXJ0aWNhbCBcIildKV19fV0sbnVsbCxmYWxzZSwzMzEzNTIzNzYpfSxfdm0uX2woKF92bS5hY3Rpb25zLnNsaWNlKDIpKSxmdW5jdGlvbihhY3Rpb24pe3JldHVybiBfYygndi1saXN0Jyx7a2V5OmFjdGlvbi5pZCxzdGF0aWNDbGFzczpcInB0LTAgcGItMFwiLGF0dHJzOntcImRlbnNlXCI6XCJcIn19LFsoYWN0aW9uLnZpc2libGUgPyBhY3Rpb24udmlzaWJsZShfdm0uaXRlbSkgOiB0cnVlKT9fYygndi1saXN0LWl0ZW0nLHtvbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIGFjdGlvbi5ldmVudChfdm0uaXRlbS5pZCwgX3ZtLml0ZW0uaWR4KX19fSxbX2MoJ3YtbGlzdC1pdGVtLXRpdGxlJyxbX3ZtLl92KF92bS5fcyhhY3Rpb24udGV4dCkpXSldLDEpOl92bS5fZSgpXSwxKX0pLDEpXSwxKV0sMildLDEpOl9jKCdkaXYnLFtfYygndi1yb3cnLHtzdGF0aWNDbGFzczpcImZsZXgtbm93cmFwIGp1c3RpZnktZW5kXCJ9LF92bS5fbCgoX3ZtLmFjdGlvbnMpLGZ1bmN0aW9uKGFjdGlvbil7cmV0dXJuIF9jKCdkaXYnLHtrZXk6YWN0aW9uLmlkfSxbX2MoJ3YtY29sJyx7c3RhdGljQ2xhc3M6XCJwci0wIHBsLTJcIn0sW19jKCd2LWljb24nLHtjbGFzczp7ICdidXR0b25zLXRhYmxlX19oaWRkZW4nOiBhY3Rpb24udmlzaWJsZSA/ICFhY3Rpb24udmlzaWJsZShfdm0uaXRlbSkgOiBmYWxzZSB9LGF0dHJzOntcInNtYWxsXCI6XCJcIn0sb246e1wiY2xpY2tcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBhY3Rpb24uZXZlbnQoX3ZtLml0ZW0uaWQsIF92bS5pdGVtLmlkeCl9fX0sW192bS5fdihcIiBcIitfdm0uX3MoYWN0aW9uLmljb24pK1wiIFwiKV0pXSwxKV0sMSl9KSwwKV0sMSldOl9jKCd2LW1lbnUnLHthdHRyczp7XCJib3R0b21cIjpcIlwiLFwibGVmdFwiOlwiXCIsXCJjbG9zZS1vbi1jbGlja1wiOlwiXCIsXCJjbG9zZS1vbi1jb250ZW50LWNsaWNrXCI6XCJcIixcIm9mZnNldC15XCI6XCJcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiYWN0aXZhdG9yXCIsZm46ZnVuY3Rpb24oeyBvbiwgYXR0cnMgfSl7cmV0dXJuIFtfYygndi1pY29uJyxfdm0uX2coX3ZtLl9iKHthdHRyczp7XCJzbWFsbFwiOlwiXCJ9fSwndi1pY29uJyxhdHRycyxmYWxzZSksb24pLFtfdm0uX3YoXCIgbWRpLWRvdHMtdmVydGljYWwgXCIpXSldfX1dKX0sX3ZtLl9sKChfdm0uYWN0aW9ucyksZnVuY3Rpb24oYWN0aW9uKXtyZXR1cm4gX2MoJ3YtbGlzdCcse2tleTphY3Rpb24uaWQsYXR0cnM6e1wiZGVuc2VcIjpcIlwifX0sWyhhY3Rpb24udmlzaWJsZSA/IGFjdGlvbi52aXNpYmxlKF92bS5pdGVtKSA6IHRydWUpP19jKCd2LWxpc3QtaXRlbScse29uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gYWN0aW9uLmV2ZW50KF92bS5pdGVtLmlkLCBfdm0uaXRlbS5pZHgpfX19LFtfYygndi1saXN0LWl0ZW0tdGl0bGUnLFtfdm0uX3YoX3ZtLl9zKGFjdGlvbi50ZXh0KSldKV0sMSk6X3ZtLl9lKCldLDEpfSksMSldLDIpXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8di1jb250YWluZXIgY2xhc3M9XCJidXR0b25zLXRhYmxlIHBiLTAgcHQtMFwiPlxyXG4gICAgPHRlbXBsYXRlIHYtaWY9XCIkdnVldGlmeS5icmVha3BvaW50LnNtQW5kVXBcIj5cclxuICAgICAgPGRpdiB2LWlmPVwiYWN0aW9ucy5sZW5ndGggPiAzXCI+XHJcbiAgICAgICAgPHYtcm93PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICB2LWZvcj1cImFjdGlvbiBpbiBhY3Rpb25zLnNsaWNlKDAsIDIpXCJcclxuICAgICAgICAgICAgOmtleT1cImFjdGlvbi5pZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx2LWNvbCBjbGFzcz1cInByLTBcIj5cclxuICAgICAgICAgICAgICA8di1pY29uXHJcbiAgICAgICAgICAgICAgICBzbWFsbFxyXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiYWN0aW9uLmV2ZW50KGl0ZW0uaWQsIGl0ZW0uaWR4KVwiXHJcbiAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7ICdidXR0b25zLXRhYmxlX19oaWRkZW4nOiBhY3Rpb24udmlzaWJsZSA/ICFhY3Rpb24udmlzaWJsZShpdGVtKSA6IGZhbHNlIH1cIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IGFjdGlvbi5pY29uIH19XHJcbiAgICAgICAgICAgICAgPC92LWljb24+XHJcbiAgICAgICAgICAgIDwvdi1jb2w+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdC0zIHBsLTJcIj5cclxuICAgICAgICAgICAgPHYtbWVudVxyXG4gICAgICAgICAgICAgIGJvdHRvbVxyXG4gICAgICAgICAgICAgIGxlZnRcclxuICAgICAgICAgICAgICBjbG9zZS1vbi1jbGlja1xyXG4gICAgICAgICAgICAgIGNsb3NlLW9uLWNvbnRlbnQtY2xpY2tcclxuICAgICAgICAgICAgICBvZmZzZXQteVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtc2xvdDphY3RpdmF0b3I9XCJ7IG9uLCBhdHRycyB9XCI+XHJcbiAgICAgICAgICAgICAgICA8di1pY29uXHJcbiAgICAgICAgICAgICAgICAgIHNtYWxsXHJcbiAgICAgICAgICAgICAgICAgIHYtYmluZD1cImF0dHJzXCJcclxuICAgICAgICAgICAgICAgICAgdi1vbj1cIm9uXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgbWRpLWRvdHMtdmVydGljYWxcclxuICAgICAgICAgICAgICAgIDwvdi1pY29uPlxyXG4gICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPHYtbGlzdFxyXG4gICAgICAgICAgICAgICAgdi1mb3I9XCJhY3Rpb24gaW4gYWN0aW9ucy5zbGljZSgyKVwiXHJcbiAgICAgICAgICAgICAgICA6a2V5PVwiYWN0aW9uLmlkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHQtMCBwYi0wXCJcclxuICAgICAgICAgICAgICAgIGRlbnNlXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHYtbGlzdC1pdGVtIHYtaWY9XCJhY3Rpb24udmlzaWJsZSA/IGFjdGlvbi52aXNpYmxlKGl0ZW0pIDogdHJ1ZVwiIEBjbGljaz1cImFjdGlvbi5ldmVudChpdGVtLmlkLCBpdGVtLmlkeClcIj5cclxuICAgICAgICAgICAgICAgICAgPHYtbGlzdC1pdGVtLXRpdGxlPnt7IGFjdGlvbi50ZXh0IH19PC92LWxpc3QtaXRlbS10aXRsZT5cclxuICAgICAgICAgICAgICAgIDwvdi1saXN0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgPC92LWxpc3Q+XHJcbiAgICAgICAgICAgIDwvdi1tZW51PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC92LXJvdz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgdi1lbHNlPlxyXG4gICAgICAgIDx2LXJvdyBjbGFzcz1cImZsZXgtbm93cmFwIGp1c3RpZnktZW5kXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIHYtZm9yPVwiYWN0aW9uIGluIGFjdGlvbnNcIlxyXG4gICAgICAgICAgICA6a2V5PVwiYWN0aW9uLmlkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHYtY29sIGNsYXNzPVwicHItMCBwbC0yXCI+XHJcbiAgICAgICAgICAgICAgPHYtaWNvblxyXG4gICAgICAgICAgICAgICAgc21hbGxcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImFjdGlvbi5ldmVudChpdGVtLmlkLCBpdGVtLmlkeClcIlxyXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwieyAnYnV0dG9ucy10YWJsZV9faGlkZGVuJzogYWN0aW9uLnZpc2libGUgPyAhYWN0aW9uLnZpc2libGUoaXRlbSkgOiBmYWxzZSB9XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBhY3Rpb24uaWNvbiB9fVxyXG4gICAgICAgICAgICAgIDwvdi1pY29uPlxyXG4gICAgICAgICAgICA8L3YtY29sPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC92LXJvdz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3RlbXBsYXRlPlxyXG4gICAgPHYtbWVudVxyXG4gICAgICB2LWVsc2VcclxuICAgICAgYm90dG9tXHJcbiAgICAgIGxlZnRcclxuICAgICAgY2xvc2Utb24tY2xpY2tcclxuICAgICAgY2xvc2Utb24tY29udGVudC1jbGlja1xyXG4gICAgICBvZmZzZXQteVxyXG4gICAgPlxyXG4gICAgICA8dGVtcGxhdGUgdi1zbG90OmFjdGl2YXRvcj1cInsgb24sIGF0dHJzIH1cIj5cclxuICAgICAgICA8di1pY29uXHJcbiAgICAgICAgICBzbWFsbFxyXG4gICAgICAgICAgdi1iaW5kPVwiYXR0cnNcIlxyXG4gICAgICAgICAgdi1vbj1cIm9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBtZGktZG90cy12ZXJ0aWNhbFxyXG4gICAgICAgIDwvdi1pY29uPlxyXG4gICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICA8di1saXN0XHJcbiAgICAgICAgdi1mb3I9XCJhY3Rpb24gaW4gYWN0aW9uc1wiXHJcbiAgICAgICAgOmtleT1cImFjdGlvbi5pZFwiXHJcbiAgICAgICAgZGVuc2VcclxuICAgICAgPlxyXG4gICAgICAgIDx2LWxpc3QtaXRlbSB2LWlmPVwiYWN0aW9uLnZpc2libGUgPyBhY3Rpb24udmlzaWJsZShpdGVtKSA6IHRydWVcIiBAY2xpY2s9XCJhY3Rpb24uZXZlbnQoaXRlbS5pZCwgaXRlbS5pZHgpXCI+XHJcbiAgICAgICAgICA8di1saXN0LWl0ZW0tdGl0bGU+e3sgYWN0aW9uLnRleHQgfX08L3YtbGlzdC1pdGVtLXRpdGxlPlxyXG4gICAgICAgIDwvdi1saXN0LWl0ZW0+XHJcbiAgICAgIDwvdi1saXN0PlxyXG4gICAgPC92LW1lbnU+XHJcbiAgPC92LWNvbnRhaW5lcj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBuYW1lOiAnVGFibGVCdXR0b25zJyxcclxuICBwcm9wczoge1xyXG4gICAgYWN0aW9uczoge1xyXG4gICAgICB0eXBlOiBBcnJheSxcclxuICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgaXRlbToge1xyXG4gICAgICB0eXBlOiBPYmplY3QsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4uYnV0dG9ucy10YWJsZSB7XHJcbiAgOjp2LWRlZXAgLnJvdyB7XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICB9XHJcbiAgJl9faGlkZGVuIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG48L3N0eWxlPlxyXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xMy0wIS4uLy4uLy4uLy4uL3RocmVhZC1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0wIS4uLy4uLy4uLy4uL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UYWJsZUJ1dHRvbnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vLi4vLi4vLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vLi4vLi4vLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RhYmxlQnV0dG9ucy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vVGFibGVCdXR0b25zLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xMzY5ZDQxZCZzY29wZWQ9dHJ1ZVwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1RhYmxlQnV0dG9ucy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vVGFibGVCdXR0b25zLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1RhYmxlQnV0dG9ucy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xMzY5ZDQxZCZwcm9kJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjEzNjlkNDFkXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IF8gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgbWFwU3RhdGUsIG1hcEFjdGlvbnMgfSBmcm9tICd2dWV4JztcclxuaW1wb3J0IFdNUyBmcm9tIFwiLi4vLi4vLi4vc3JjL2NvbW1vbi93bXNDb21tb25cIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBjcmVhdGVkKCkge1xyXG4gICAgdGhpcy5nZXRTZXR0aW5ncygpO1xyXG4gIH0sXHJcbiAgbWV0aG9kczoge1xyXG4gICAgLi4ubWFwQWN0aW9ucygnYWNjb3VudHMnLCBbJ3VwZGF0ZVVpU2V0dGluZ3MnLCAnZmV0Y2hVaVNldHRpbmdzJ10pLFxyXG4gICAgYXN5bmMgZ2V0U2V0dGluZ3MoKSB7XHJcbiAgICAgIGNvbnN0IGRlZmF1bHRDb2x1bW5zID0gdGhpcy5kZWZhdWx0Q29sdW1ucyB8fCBbXTtcclxuICAgICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IHRoaXMuZmV0Y2hVaVNldHRpbmdzKHsgc2V0dGluZ3NJZGVudGlmaWVyOiBgJHtXTVMuaXNNYXJzaHJvdXRlKCkgPyAnV01TJyA6ICdZQVBQJ30uJHt0aGlzLnNldHRpbmdzSWRlbnRpZmljYXRvcn1gIH0pO1xyXG4gICAgICBjb25zdCBkaXJ0eUNoZWNrYm94ZXMgPSBPYmplY3QudmFsdWVzKHJlc3VsdC5jaGVja2JveGVzIHx8IFtdKS5tYXAoKHNlY3Rpb24pID0+IHNlY3Rpb24uY2hlY2tib3hlcykuZmxhdCgpO1xyXG4gICAgICBjb25zdCBjaGVja2JveGVzID0gZGlydHlDaGVja2JveGVzLm1hcCgoaXQpID0+IHtcclxuICAgICAgICBjb25zdCBjYiA9IGRlZmF1bHRDb2x1bW5zLmZpbmQoKGMpID0+IGMudmFsdWUgPT09IGl0LnZhbHVlIHx8IGMudGV4dCA9PT0gaXQudGV4dClcclxuICAgICAgICBpZiAoaXQudmFsdWUgIT09ICdkYXRhLXRhYmxlLXNlbGVjdCcgJiYgY2IpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLml0LFxyXG4gICAgICAgICAgICB2YWx1ZTogY2IgPyBjYi52YWx1ZSA6IGl0LnZhbHVlLFxyXG4gICAgICAgICAgICB0ZXh0OiBjYiA/IGNiLnRleHQgOiBpdC50ZXh0LFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLmZpbHRlcigoaXQpID0+IGl0ICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICBpZiAoY2hlY2tib3hlcy5sZW5ndGgpIHtcclxuICAgICAgICBpZiAoIWNoZWNrYm94ZXMuZXZlcnkoKGl0KSA9PiBpdC53aWR0aCkpIHtcclxuICAgICAgICAgIHRoaXMuaXNDb2x1bW5zID0gZGVmYXVsdENvbHVtbnMubWFwKChpdCkgPT4gKHsgLi4uaXQgfSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBoaWRkZW5Db2x1bW4gPSBkZWZhdWx0Q29sdW1ucy5maWx0ZXIoKGl0KSA9PiAhY2hlY2tib3hlcy5maW5kKChlbCkgPT4gZWwudmFsdWUgPT09IGl0LnZhbHVlKSk7XHJcbiAgICAgICAgICB0aGlzLmlzQ29sdW1ucyA9IF8udW5pcUJ5KF8uZmxhdHRlbihbaGlkZGVuQ29sdW1uLCBjaGVja2JveGVzXSksIChlKSA9PiBlLnZhbHVlKS5tYXAoKGl0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbmRFbCA9IGRlZmF1bHRDb2x1bW5zLmZpbmQoKGMpID0+IGMudmFsdWUgPT09IGl0LnZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuICh7IC4uLml0LCAuLi5maW5kRWwsIHRleHQ6IGZpbmRFbCA/IGZpbmRFbC50ZXh0IDogaXQudGV4dCB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzQ29sdW1ucyA9IGRlZmF1bHRDb2x1bW5zO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgYXN5bmMgY3NfY2hhbmdlUG9zaXRpb24oaXRlbXMsIGtleSkge1xyXG4gICAgICBjb25zdCB7IG1haW4gfSA9IHRoaXMuY3NfY29sdW1uc1NldHRpbmcgfHwge307XHJcbiAgICAgIGNvbnN0IHsgY2hlY2tib3hlcywgbmFtZSB9ID0gbWFpbiB8fCB7fTtcclxuICAgICAgY29uc3QgZm9ybWF0SXNDb2x1bW5zID0gdGhpcy5pc0NvbHVtbnMubWFwKChpdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpbmRFbCA9IChjaGVja2JveGVzIHx8IGl0ZW1zKS5maW5kKChjYnMpID0+IGNicy52YWx1ZSA9PT0gaXQudmFsdWUpO1xyXG4gICAgICAgIHJldHVybiAoeyAuLi5maW5kRWwsIC4uLml0IH0pIHx8IHtcclxuICAgICAgICAgIC4uLml0LFxyXG4gICAgICAgICAgZGlzYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlVWlTZXR0aW5ncyh7XHJcbiAgICAgICAgc2V0dGluZ3NJZGVudGlmaWVyOiBgJHtXTVMuaXNNYXJzaHJvdXRlKCkgPyAnV01TJyA6ICdZQVBQJ30uJHt0aGlzLnNldHRpbmdzSWRlbnRpZmljYXRvcn1gIHx8IGtleSxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBjaGVja2JveGVzOiB7XHJcbiAgICAgICAgICAgIG1haW46IHtcclxuICAgICAgICAgICAgICBjaGVja2JveGVzOiBmb3JtYXRJc0NvbHVtbnMsXHJcbiAgICAgICAgICAgICAgbmFtZTogbmFtZSB8fCAn0J7RgdC90L7QstC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBhc3luYyBjc19jaGFuZ2VWaXNpYmxlKHsgc2VjdGlvbktleSwgY2hlY2tib3hJZCB9KSB7XHJcbiAgICAgIGNvbnN0IHRvZ2dsZUNoZWNrYm94ID0gKGNoZWNrYm94KSA9PiB7XHJcbiAgICAgICAgaWYgKGNoZWNrYm94LnZhbHVlID09PSBjaGVja2JveElkKSByZXR1cm4geyAuLi5jaGVja2JveCwgaXNBY3RpdmU6ICFjaGVja2JveC5pc0FjdGl2ZSB9O1xyXG4gICAgICAgIHJldHVybiBjaGVja2JveDtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgY2hlY2tib3hlcyA9IHRoaXMuY3NfY29sdW1uc1NldHRpbmdbc2VjdGlvbktleV0uY2hlY2tib3hlcy5tYXAodG9nZ2xlQ2hlY2tib3gpO1xyXG4gICAgICBhd2FpdCB0aGlzLnVwZGF0ZVVpU2V0dGluZ3Moe1xyXG4gICAgICAgIHNldHRpbmdzSWRlbnRpZmllcjogYCR7V01TLmlzTWFyc2hyb3V0ZSgpID8gJ1dNUycgOiAnWUFQUCd9LiR7dGhpcy5zZXR0aW5nc0lkZW50aWZpY2F0b3J9YCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBjaGVja2JveGVzOiB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuY3NfY29sdW1uc1NldHRpbmcsXHJcbiAgICAgICAgICAgIFtzZWN0aW9uS2V5XToge1xyXG4gICAgICAgICAgICAgIC4uLnRoaXMuY3NfY29sdW1uc1NldHRpbmdbc2VjdGlvbktleV0sXHJcbiAgICAgICAgICAgICAgY2hlY2tib3hlcyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgY3NfY3JlYXRlQ2hlY2tib3hTdGF0ZSh7XHJcbiAgICAgIHNldHRpbmdzQ29sdW1uLCB2YWx1ZSwgdGV4dCxcclxuICAgIH0pIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmNzX2dldFNhdmVkQ2hlY2tib3hTdGF0ZSh7IHNlY3Rpb246IHNldHRpbmdzQ29sdW1uLnNlY3Rpb24sIHZhbHVlIH0pO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGlzQWN0aXZlOiBzdGF0ZSAmJiB0eXBlb2Ygc3RhdGUuaXNBY3RpdmUgIT09ICd1bmRlZmluZWQnID8gc3RhdGUuaXNBY3RpdmUgOiBzZXR0aW5nc0NvbHVtbi5pc0FjdGl2ZSxcclxuICAgICAgICBkaXNhYmxlZDogc3RhdGUgJiYgdHlwZW9mIHN0YXRlLmRpc2FibGVkICE9PSAndW5kZWZpbmVkJyA/IHN0YXRlLmRpc2FibGVkIDogc2V0dGluZ3NDb2x1bW4uZGlzYWJsZWQsXHJcbiAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgdGV4dCxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBjc19nZXRTYXZlZENoZWNrYm94U3RhdGUoeyBzZWN0aW9uLCB2YWx1ZSB9KSB7XHJcbiAgICAgIGNvbnN0IHNhdmVkU2V0dGluZ3MgPSB0aGlzLnVpU2V0dGluZ3NbYCR7V01TLmlzTWFyc2hyb3V0ZSgpID8gJ1dNUycgOiAnWUFQUCd9LiR7dGhpcy5zZXR0aW5nc0lkZW50aWZpY2F0b3J9YF07XHJcbiAgICAgIGNvbnN0IHNhdmVkQ2hlY2tib3hlc1N0YXRlID0gc2F2ZWRTZXR0aW5ncyA/IHNhdmVkU2V0dGluZ3MuY2hlY2tib3hlcyA6IHt9O1xyXG4gICAgICBpZiAoIShzYXZlZENoZWNrYm94ZXNTdGF0ZSAmJiBzYXZlZENoZWNrYm94ZXNTdGF0ZVtzZWN0aW9uXSkpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIHJldHVybiBzYXZlZENoZWNrYm94ZXNTdGF0ZVtzZWN0aW9uXS5jaGVja2JveGVzLmZpbmQoKGNoZWNrYm94KSA9PiBjaGVja2JveC52YWx1ZSA9PT0gdmFsdWUpO1xyXG4gICAgfSxcclxuICB9LFxyXG4gIGNvbXB1dGVkOiB7XHJcbiAgICAuLi5tYXBTdGF0ZSgnYWNjb3VudHMnLCBbJ3VpU2V0dGluZ3MnXSksXHJcbiAgICBjc19hbGxDb2x1bW5zKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW5zO1xyXG4gICAgfSxcclxuICAgIGNzX2NvbHVtbnMoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoIWNvbHVtbi5zZXR0aW5nc0NvbHVtbikgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgY29uc3QgY2hlY2tib3ggPSB0aGlzLmNzX2NvbHVtbnNTZXR0aW5nW2NvbHVtbi5zZXR0aW5nc0NvbHVtbi5zZWN0aW9uXS5jaGVja2JveGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IGNvbHVtbi52YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrYm94ICYmIGNoZWNrYm94LmlzQWN0aXZlO1xyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBjc19jb2x1bW5zU2V0dGluZygpIHtcclxuICAgICAgY29uc3QgYWRkQ2hlY2tib3ggPSAoY29sdW1uc09iamVjdCwgeyBzZXR0aW5nc0NvbHVtbiwgdmFsdWUsIHRleHQgfSkgPT4ge1xyXG4gICAgICAgIGlmICghc2V0dGluZ3NDb2x1bW4pIHJldHVybiBjb2x1bW5zT2JqZWN0O1xyXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSBjb2x1bW5zT2JqZWN0W3NldHRpbmdzQ29sdW1uLnNlY3Rpb25dIHx8IHsgY2hlY2tib3hlczogW10gfTtcclxuICAgICAgICBzZWN0aW9uLm5hbWUgPSBzZXR0aW5nc0NvbHVtbi5zZWN0aW9uTmFtZTtcclxuICAgICAgICBzZWN0aW9uLmNoZWNrYm94ZXMucHVzaCh0aGlzLmNzX2NyZWF0ZUNoZWNrYm94U3RhdGUoe1xyXG4gICAgICAgICAgc2V0dGluZ3NDb2x1bW4sIHZhbHVlLCB0ZXh0LFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICByZXR1cm4geyAuLi5jb2x1bW5zT2JqZWN0LCBbc2V0dGluZ3NDb2x1bW4uc2VjdGlvbl06IHNlY3Rpb24gfTtcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHRoaXMuY29sdW1ucy5yZWR1Y2UoYWRkQ2hlY2tib3gsIHt9KTtcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTktb25lT2YtMS0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0xIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTktb25lT2YtMS0yIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS05LW9uZU9mLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Fub21hbHlJbmZvLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTJlMDRlNjk1JnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiXSwic291cmNlUm9vdCI6IiJ9