(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors~c59b5804"],{"16a9":function(e,t,n){"use strict";var a=n("7496"),r=n("f6c4"),s=n("490a"),u=(n("b0c0"),function(){var e=this,t=e._self._c;return t(a["a"],{staticClass:"app",class:"theme--".concat(this.$vuetify.theme.themes.name)},[!e.appIsLoading&&e.currentUser&&"TwoFASync"!==e.$route.name?t("TheLeftMenuCompact",[t("TheLeftMenuList",{attrs:{"is-mini":""}})],1):e._e(),!e.appIsLoading&&e.currentUser&&"TwoFASync"!==e.$route.name?t("TheLeftMenuFull",{model:{value:e.openedMenus.mainNav,callback:function(t){e.$set(e.openedMenus,"mainNav",t)},expression:"openedMenus.mainNav"}},[t("TheLeftMenuList")],1):e._e(),t("TheHeader",{attrs:{"drawer-is-visible":e.openedMenus.mainNav,"right-menu":e.openedMenus.rightMenu},on:{"click-menu-icon":e.onClickBurger,"click-right-menu-switcher":e.onClickRightMenuSwitcher}}),e.appIsLoading?t(s["a"],{staticClass:"app__progress",attrs:{size:70,width:7,color:"primary",indeterminate:""}}):t("div",{staticClass:"app__scroll-area"},[t(r["a"],{staticClass:"app__main",class:e.$vuetify.breakpoint.mdAndUp&&e.asideIsVisible?"app__main--with-aside":""},[e.breadcrumbs.length?t("AppBreadcrumbs",{staticClass:"app__breadcrumbs",attrs:{items:e.breadcrumbs,size:e.$vuetify.breakpoint.name}}):e._e(),t("transition",{attrs:{name:"page-slide",mode:"out-in"}},[t("router-view")],1)],1)],1),!e.appIsLoading&&e.currentUser?t("TheRightMenu",{attrs:{type:e.openedMenus.rightMenu},on:{input:e.onClickCloseMenu}}):e._e(),t("TheNotificator")],1)}),i=[],c=n("c7eb"),o=n("1da1"),p=n("5530"),h=(n("4de4"),n("caad"),n("d81d"),n("14d9"),n("b64b"),n("d3b7"),n("ac1f"),n("2532"),n("5319"),n("5b81"),n("2f62")),l=n("116e"),d=n("066b"),b=n("550b"),m=n("960d"),f={components:{TheLeftMenuCompact:l["a"],TheLeftMenuFull:d["a"]},data:function(){return{openedMenus:{mainNav:!1,rightMenu:null},appIsLoading:!0}},computed:Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["e"])(["asideIsVisible","productStrId"])),Object(h["e"])("accounts",["currentUser"])),{},{breadcrumbs:function(){return this.$route.matched.map((function(e){var t,n=m["a"].getAuthData(),a=null!==n&&void 0!==n&&n.sysCode?n.sysCode:"MR",r=a.includes("MR")>0,s=JSON.parse(localStorage.getItem("".concat(r?"WMS":"YAPP",".referrerLink"))),u=e.path?e.path.replaceAll("/",""):"",i=s?s[u]:e.path;return{to:i,text:null===(t=e.meta)||void 0===t?void 0:t.breadcrumb,path:i}})).filter((function(e){return e.text})).map((function(e,t,n){return Object(p["a"])(Object(p["a"])({},e),{},{disabled:n.length===t+1})}))}}),created:function(){var e=this;return Object(o["a"])(Object(c["a"])().mark((function t(){return Object(c["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,e.fetchCurrentClient({forceUpdate:!0}),t.next=4,e.onChangeAuthUser();case 4:t.next=9;break;case 6:t.prev=6,t.t0=t["catch"](0),e.m_handleError(t.t0);case 9:return t.prev=9,e.appIsLoading=!1,t.finish(9);case 12:b["a"].$on("getCurrentRoute",e.getCurrentRoute),b["a"].$on("authorized",e.onChangeAuthUser),b["a"].$on("clickLogOut",e.onClickLogOut);case 15:case"end":return t.stop()}}),t,null,[[0,6,9,12]])})))()},beforeDestroy:function(){b["a"].$off("getCurrentRoute",this.getCurrentRoute),b["a"].$off("authorized",this.onChangeAuthUser),b["a"].$off("clickLogOut",this.onClickLogOut)},methods:Object(p["a"])(Object(p["a"])(Object(p["a"])(Object(p["a"])({},Object(h["d"])(["setItem"])),Object(h["d"])("accounts",["setCurrentUser"])),Object(h["b"])("accounts",["fetchCurrentUser","fetchCurrentClient"])),{},{onClickBurger:function(){var e=this;return Object(o["a"])(Object(c["a"])().mark((function t(){var n;return Object(c["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.openedMenus.mainNav,e.setItem({item:"anyMenuIsOpen",value:!1}),t.next=4,e.$nextTick();case 4:n?e.$set(e.openedMenus,"mainNav",!1):(e.$set(e.openedMenus,"mainNav",!0),e.setItem({item:"anyMenuIsOpen",value:!0}),e.$set(e.openedMenus,"rightMenu",null));case 5:case"end":return t.stop()}}),t)})))()},onClickRightMenuSwitcher:function(e){var t=this;return Object(o["a"])(Object(c["a"])().mark((function n(){var a;return Object(c["a"])().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a=t.openedMenus.rightMenu,t.setItem({item:"anyMenuIsOpen",value:!1}),n.next=4,t.$nextTick();case 4:e&&a!==e?(t.setItem({item:"anyMenuIsOpen",value:!0}),t.$set(t.openedMenus,"rightMenu",e)):t.$set(t.openedMenus,"rightMenu",null),t.$set(t.openedMenus,"mainNav",!1);case 6:case"end":return n.stop()}}),n)})))()},onClickCloseMenu:function(){this.setItem({item:"anyMenuIsOpen",value:!1}),this.$set(this.openedMenus,"rightMenu",null)},getCurrentRoute:function(){sessionStorage.setItem("currentPage",this.$route.fullPath||this.$route.path||this.$route.name)},onChangeAuthUser:function(){var e=this;return Object(o["a"])(Object(c["a"])().mark((function t(){var n;return Object(c["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,m["a"].checkTokens();case 2:if(n=t.sent,!n){t.next=9;break}return t.next=6,e.fetchCurrentUser();case 6:e.initApp(),t.next=10;break;case 9:e.logOut();case 10:case"end":return t.stop()}}),t)})))()},onClickLogOut:function(){var e=this;return Object(o["a"])(Object(c["a"])().mark((function t(){return Object(c["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:try{e.closeWebSocketConnection()}finally{e.logOut(),e.$notify({type:"success",title:"Вы вышли из системы"})}case 1:case"end":return t.stop()}}),t)})))()},logOut:function(){this.beforeLogOut&&this.beforeLogOut(),m["a"].logOut(),this.setCurrentUser(null),"SignIn"!==this.$route.name&&this.$router.push({name:"SignIn"})}})},g=f,O=(n("de13"),n("2877")),v=Object(O["a"])(g,u,i,!1,null,"0cc2bbdf",null);t["a"]=v.exports},3368:function(e,t,n){},de13:function(e,t,n){"use strict";n("3368")}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvQXBwTWl4aW4udnVlIiwid2VicGFjazovLy9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvQXBwTWl4aW4udnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9iY2tvZmZpY2VfZnJvbnRfY29yZS9BcHBNaXhpbi52dWU/YTFlYyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmNrb2ZmaWNlX2Zyb250X2NvcmUvQXBwTWl4aW4udnVlPzQyZWYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jja29mZmljZV9mcm9udF9jb3JlL0FwcE1peGluLnZ1ZT84MDVhIl0sIm5hbWVzIjpbInN0YXRpY0NsYXNzIiwiY2xhc3MiLCJfdm0iLCJhcHBJc0xvYWRpbmciLCIkcm91dGUiLCJjdXJyZW50VXNlciIsIm1vZGVsIiwidmFsdWUiLCJvcGVuZWRNZW51cyIsIiRzZXQiLCIkJHYiLCJleHByZXNzaW9uIiwiX2MiLCJvbiIsIm9uQ2xpY2tCdXJnZXIiLCJhdHRycyIsIiR2dWV0aWZ5IiwiYnJlYWRjcnVtYnMiLCJicmVha3BvaW50IiwibmFtZSIsIl9lIiwic3RhdGljUmVuZGVyRm5zIiwiY29tcG9uZW50cyIsIlRoZUxlZnRNZW51Q29tcGFjdCIsIlRoZUxlZnRNZW51RnVsbCIsImRhdGEiLCJtYWluTmF2IiwicmlnaHRNZW51IiwiY29tcHV0ZWQiLCJfb2JqZWN0U3ByZWFkIiwibWFwU3RhdGUiLCJtYXRjaGVkIiwibWFwIiwiaXRlbSIsIl9pdGVtJG1ldGEiLCJhdXRoRGF0YSIsImF1dGhTZXJ2aWNlIiwiZ2V0QXV0aERhdGEiLCJzeXNDb2RlIiwiaXNNYXJzaHJvdXRlIiwiaW5jbHVkZXMiLCJzdG9yYWdlUGF0aFJlZmVycmVyIiwiSlNPTiIsInBhcnNlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImNvbmNhdCIsInBhdGhGb3JtYXQiLCJwYXRoIiwicmVwbGFjZUFsbCIsInRvIiwidGV4dCIsIm1ldGEiLCJicmVhZGNydW1iIiwiZmlsdGVyIiwiaW5kZXgiLCJhcnIiLCJkaXNhYmxlZCIsImxlbmd0aCIsImNyZWF0ZWQiLCJfdGhpcyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJmZXRjaEN1cnJlbnRDbGllbnQiLCJmb3JjZVVwZGF0ZSIsIm9uQ2hhbmdlQXV0aFVzZXIiLCJ0MCIsIm1faGFuZGxlRXJyb3IiLCJmaW5pc2giLCJldmVudEJ1cyIsIiRvbiIsImdldEN1cnJlbnRSb3V0ZSIsIm9uQ2xpY2tMb2dPdXQiLCJzdG9wIiwiYmVmb3JlRGVzdHJveSIsIiRvZmYiLCJtZXRob2RzIiwibWFwTXV0YXRpb25zIiwibWFwQWN0aW9ucyIsIl90aGlzMiIsIl9jYWxsZWUyIiwibGFzdFN0YXRlIiwiX2NvbnRleHQyIiwic2V0SXRlbSIsIiRuZXh0VGljayIsIm9uQ2xpY2tSaWdodE1lbnVTd2l0Y2hlciIsInR5cGUiLCJfdGhpczMiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsIm9uQ2xpY2tDbG9zZU1lbnUiLCJzZXNzaW9uU3RvcmFnZSIsImZ1bGxQYXRoIiwiX3RoaXM0IiwiX2NhbGxlZTQiLCJ0b2tlbnMiLCJfY29udGV4dDQiLCJjaGVja1Rva2VucyIsInNlbnQiLCJmZXRjaEN1cnJlbnRVc2VyIiwiaW5pdEFwcCIsImxvZ091dCIsIl90aGlzNSIsIl9jYWxsZWU1IiwiX2NvbnRleHQ1IiwiY2xvc2VXZWJTb2NrZXRDb25uZWN0aW9uIiwiJG5vdGlmeSIsInRpdGxlIiwiYmVmb3JlTG9nT3V0Iiwic2V0Q3VycmVudFVzZXIiLCIkcm91dGVyIiwicHVzaCIsImNvbXBvbmVudCJdLCJtYXBwaW5ncyI6ImtLQUErRUEsRyxVQUFBQSxXLElBQWtCQyxFQUFLLEtBQTZDLEVBQUlDLEVBQUlDLFMsT0FBd0gsRUFBQyxRLFlBQVcs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QUFDLEtBQUEsQ0FBQWxHLEtBQUEsZUMvTmlRLEksd0JDUTdQbUcsRUFBWSxlQUNkLEVBQ0EsRUFDQWpHLEdBQ0EsRUFDQSxLQUNBLFdBQ0EsTUFJYSxPQUFBaUcsRSxrRUNuQmYiLCJmaWxlIjoianMvY2h1bmstdmVuZG9yc35jNTliNTgwNC45ZTg5NWRkZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKXt2YXIgX3ZtPXRoaXMsX2M9X3ZtLl9zZWxmLl9jO3JldHVybiBfYygndi1hcHAnLHtzdGF0aWNDbGFzczpcImFwcFwiLGNsYXNzOmB0aGVtZS0tJHt0aGlzLiR2dWV0aWZ5LnRoZW1lLnRoZW1lcy5uYW1lfWB9LFsoIV92bS5hcHBJc0xvYWRpbmcgJiYgX3ZtLmN1cnJlbnRVc2VyICYmIF92bS4kcm91dGUubmFtZSAhPT0gJ1R3b0ZBU3luYycpP19jKCdUaGVMZWZ0TWVudUNvbXBhY3QnLFtfYygnVGhlTGVmdE1lbnVMaXN0Jyx7YXR0cnM6e1wiaXMtbWluaVwiOlwiXCJ9fSldLDEpOl92bS5fZSgpLCghX3ZtLmFwcElzTG9hZGluZyAmJiBfdm0uY3VycmVudFVzZXIgJiYgX3ZtLiRyb3V0ZS5uYW1lICE9PSAnVHdvRkFTeW5jJyk/X2MoJ1RoZUxlZnRNZW51RnVsbCcse21vZGVsOnt2YWx1ZTooX3ZtLm9wZW5lZE1lbnVzLm1haW5OYXYpLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0uJHNldChfdm0ub3BlbmVkTWVudXMsIFwibWFpbk5hdlwiLCAkJHYpfSxleHByZXNzaW9uOlwib3BlbmVkTWVudXMubWFpbk5hdlwifX0sW19jKCdUaGVMZWZ0TWVudUxpc3QnKV0sMSk6X3ZtLl9lKCksX2MoJ1RoZUhlYWRlcicse2F0dHJzOntcImRyYXdlci1pcy12aXNpYmxlXCI6X3ZtLm9wZW5lZE1lbnVzLm1haW5OYXYsXCJyaWdodC1tZW51XCI6X3ZtLm9wZW5lZE1lbnVzLnJpZ2h0TWVudX0sb246e1wiY2xpY2stbWVudS1pY29uXCI6X3ZtLm9uQ2xpY2tCdXJnZXIsXCJjbGljay1yaWdodC1tZW51LXN3aXRjaGVyXCI6X3ZtLm9uQ2xpY2tSaWdodE1lbnVTd2l0Y2hlcn19KSwoX3ZtLmFwcElzTG9hZGluZyk/X2MoJ3YtcHJvZ3Jlc3MtY2lyY3VsYXInLHtzdGF0aWNDbGFzczpcImFwcF9fcHJvZ3Jlc3NcIixhdHRyczp7XCJzaXplXCI6NzAsXCJ3aWR0aFwiOjcsXCJjb2xvclwiOlwicHJpbWFyeVwiLFwiaW5kZXRlcm1pbmF0ZVwiOlwiXCJ9fSk6X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYXBwX19zY3JvbGwtYXJlYVwifSxbX2MoJ3YtbWFpbicse3N0YXRpY0NsYXNzOlwiYXBwX19tYWluXCIsY2xhc3M6X3ZtLiR2dWV0aWZ5LmJyZWFrcG9pbnQubWRBbmRVcCAmJiBfdm0uYXNpZGVJc1Zpc2libGUgPyAnYXBwX19tYWluLS13aXRoLWFzaWRlJyA6ICcnfSxbKF92bS5icmVhZGNydW1icy5sZW5ndGgpP19jKCdBcHBCcmVhZGNydW1icycse3N0YXRpY0NsYXNzOlwiYXBwX19icmVhZGNydW1ic1wiLGF0dHJzOntcIml0ZW1zXCI6X3ZtLmJyZWFkY3J1bWJzLFwic2l6ZVwiOl92bS4kdnVldGlmeS5icmVha3BvaW50Lm5hbWV9fSk6X3ZtLl9lKCksX2MoJ3RyYW5zaXRpb24nLHthdHRyczp7XCJuYW1lXCI6XCJwYWdlLXNsaWRlXCIsXCJtb2RlXCI6XCJvdXQtaW5cIn19LFtfYygncm91dGVyLXZpZXcnKV0sMSldLDEpXSwxKSwoIV92bS5hcHBJc0xvYWRpbmcgJiYgX3ZtLmN1cnJlbnRVc2VyKT9fYygnVGhlUmlnaHRNZW51Jyx7YXR0cnM6e1widHlwZVwiOl92bS5vcGVuZWRNZW51cy5yaWdodE1lbnV9LG9uOntcImlucHV0XCI6X3ZtLm9uQ2xpY2tDbG9zZU1lbnV9fSk6X3ZtLl9lKCksX2MoJ1RoZU5vdGlmaWNhdG9yJyldLDEpXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cclxuICA8di1hcHBcclxuICAgIGNsYXNzPVwiYXBwXCJcclxuICAgIDpjbGFzcz1cImB0aGVtZS0tJHt0aGlzLiR2dWV0aWZ5LnRoZW1lLnRoZW1lcy5uYW1lfWBcIlxyXG4gID5cclxuICAgIDxUaGVMZWZ0TWVudUNvbXBhY3Qgdi1pZj1cIiFhcHBJc0xvYWRpbmcgJiYgY3VycmVudFVzZXIgJiYgJHJvdXRlLm5hbWUgIT09ICdUd29GQVN5bmMnXCI+XHJcbiAgICAgIDxUaGVMZWZ0TWVudUxpc3QgaXMtbWluaSAvPlxyXG4gICAgPC9UaGVMZWZ0TWVudUNvbXBhY3Q+XHJcblxyXG4gICAgPFRoZUxlZnRNZW51RnVsbFxyXG4gICAgICB2LWlmPVwiIWFwcElzTG9hZGluZyAmJiBjdXJyZW50VXNlciAmJiAkcm91dGUubmFtZSAhPT0gJ1R3b0ZBU3luYydcIlxyXG4gICAgICB2LW1vZGVsPVwib3BlbmVkTWVudXMubWFpbk5hdlwiXHJcbiAgICA+XHJcbiAgICAgIDxUaGVMZWZ0TWVudUxpc3QgLz5cclxuICAgIDwvVGhlTGVmdE1lbnVGdWxsPlxyXG5cclxuICAgIDxUaGVIZWFkZXJcclxuICAgICAgOmRyYXdlci1pcy12aXNpYmxlPVwib3BlbmVkTWVudXMubWFpbk5hdlwiXHJcbiAgICAgIDpyaWdodC1tZW51PVwib3BlbmVkTWVudXMucmlnaHRNZW51XCJcclxuICAgICAgQGNsaWNrLW1lbnUtaWNvbj1cIm9uQ2xpY2tCdXJnZXJcIlxyXG4gICAgICBAY2xpY2stcmlnaHQtbWVudS1zd2l0Y2hlcj1cIm9uQ2xpY2tSaWdodE1lbnVTd2l0Y2hlclwiXHJcbiAgICAvPlxyXG5cclxuICAgIDx2LXByb2dyZXNzLWNpcmN1bGFyXHJcbiAgICAgIHYtaWY9XCJhcHBJc0xvYWRpbmdcIlxyXG4gICAgICA6c2l6ZT1cIjcwXCJcclxuICAgICAgOndpZHRoPVwiN1wiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIGluZGV0ZXJtaW5hdGVcclxuICAgICAgY2xhc3M9XCJhcHBfX3Byb2dyZXNzXCJcclxuICAgIC8+XHJcbiAgICA8ZGl2XHJcbiAgICAgIHYtZWxzZVxyXG4gICAgICBjbGFzcz1cImFwcF9fc2Nyb2xsLWFyZWFcIlxyXG4gICAgPlxyXG4gICAgICA8di1tYWluXHJcbiAgICAgICAgY2xhc3M9XCJhcHBfX21haW5cIlxyXG4gICAgICAgIDpjbGFzcz1cIiR2dWV0aWZ5LmJyZWFrcG9pbnQubWRBbmRVcCAmJiBhc2lkZUlzVmlzaWJsZSA/ICdhcHBfX21haW4tLXdpdGgtYXNpZGUnIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPEFwcEJyZWFkY3J1bWJzXHJcbiAgICAgICAgICB2LWlmPVwiYnJlYWRjcnVtYnMubGVuZ3RoXCJcclxuICAgICAgICAgIDppdGVtcz1cImJyZWFkY3J1bWJzXCJcclxuICAgICAgICAgIDpzaXplPVwiJHZ1ZXRpZnkuYnJlYWtwb2ludC5uYW1lXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwX19icmVhZGNydW1ic1wiXHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPHRyYW5zaXRpb25cclxuICAgICAgICAgIG5hbWU9XCJwYWdlLXNsaWRlXCJcclxuICAgICAgICAgIG1vZGU9XCJvdXQtaW5cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxyb3V0ZXItdmlldyAvPlxyXG4gICAgICAgIDwvdHJhbnNpdGlvbj5cclxuICAgICAgPC92LW1haW4+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8VGhlUmlnaHRNZW51XHJcbiAgICAgIHYtaWY9XCIhYXBwSXNMb2FkaW5nICYmIGN1cnJlbnRVc2VyXCJcclxuICAgICAgOnR5cGU9XCJvcGVuZWRNZW51cy5yaWdodE1lbnVcIlxyXG4gICAgICBAaW5wdXQ9XCJvbkNsaWNrQ2xvc2VNZW51XCJcclxuICAgIC8+XHJcblxyXG4gICAgPFRoZU5vdGlmaWNhdG9yIC8+XHJcbiAgPC92LWFwcD5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7IG1hcEFjdGlvbnMsIG1hcE11dGF0aW9ucywgbWFwU3RhdGUgfSBmcm9tICd2dWV4JztcclxuaW1wb3J0IFRoZUxlZnRNZW51Q29tcGFjdCBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L1RoZUxlZnRNZW51Q29tcGFjdCc7XHJcbmltcG9ydCBUaGVMZWZ0TWVudUZ1bGwgZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9UaGVMZWZ0TWVudUZ1bGwnO1xyXG5pbXBvcnQgZXZlbnRCdXMgZnJvbSAnLi9ldmVudEJ1cyc7XHJcbmltcG9ydCBhdXRoU2VydmljZSBmcm9tICcuL3NlcnZpY2VzL0F1dGgnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGNvbXBvbmVudHM6IHtcclxuICAgIFRoZUxlZnRNZW51Q29tcGFjdCxcclxuICAgIFRoZUxlZnRNZW51RnVsbCxcclxuICB9LFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBvcGVuZWRNZW51czoge1xyXG4gICAgICAgIG1haW5OYXY6IGZhbHNlLFxyXG4gICAgICAgIHJpZ2h0TWVudTogbnVsbCxcclxuICAgICAgfSxcclxuICAgICAgYXBwSXNMb2FkaW5nOiB0cnVlLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIGNvbXB1dGVkOiB7XHJcbiAgICAuLi5tYXBTdGF0ZShbXHJcbiAgICAgICdhc2lkZUlzVmlzaWJsZScsXHJcbiAgICAgICdwcm9kdWN0U3RySWQnLFxyXG4gICAgXSksXHJcbiAgICAuLi5tYXBTdGF0ZSgnYWNjb3VudHMnLCBbXHJcbiAgICAgICdjdXJyZW50VXNlcicsXHJcbiAgICBdKSxcclxuICAgIGJyZWFkY3J1bWJzKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4kcm91dGUubWF0Y2hlZFxyXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IGF1dGhEYXRhID0gYXV0aFNlcnZpY2UuZ2V0QXV0aERhdGEoKTtcclxuICAgICAgICAgIGNvbnN0IHN5c0NvZGUgPSBhdXRoRGF0YT8uc3lzQ29kZSA/IGF1dGhEYXRhLnN5c0NvZGUgOiAnTVInO1xyXG4gICAgICAgICAgY29uc3QgaXNNYXJzaHJvdXRlID0gKHN5c0NvZGUuaW5jbHVkZXMoJ01SJykgPiAwKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBzdG9yYWdlUGF0aFJlZmVycmVyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShgJHtpc01hcnNocm91dGUgPyAnV01TJyA6ICdZQVBQJ30ucmVmZXJyZXJMaW5rYCkpO1xyXG4gICAgICAgICAgY29uc3QgcGF0aEZvcm1hdCA9IGl0ZW0ucGF0aCA/IGl0ZW0ucGF0aC5yZXBsYWNlQWxsKCcvJywgJycpIDogJyc7XHJcbiAgICAgICAgICBjb25zdCBwYXRoID0gc3RvcmFnZVBhdGhSZWZlcnJlciA/IHN0b3JhZ2VQYXRoUmVmZXJyZXJbcGF0aEZvcm1hdF0gOiBpdGVtLnBhdGg7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0bzogcGF0aCxcclxuICAgICAgICAgICAgdGV4dDogaXRlbS5tZXRhPy5icmVhZGNydW1iLFxyXG4gICAgICAgICAgICBwYXRoLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udGV4dClcclxuICAgICAgICAubWFwKChpdGVtLCBpbmRleCwgYXJyKSA9PiAoe1xyXG4gICAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICAgIGRpc2FibGVkOiBhcnIubGVuZ3RoID09PSBpbmRleCArIDEsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgfSxcclxuICB9LFxyXG4gIGFzeW5jIGNyZWF0ZWQoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLmZldGNoQ3VycmVudENsaWVudCh7IGZvcmNlVXBkYXRlOiB0cnVlIH0pO1xyXG4gICAgICBhd2FpdCB0aGlzLm9uQ2hhbmdlQXV0aFVzZXIoKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aGlzLm1faGFuZGxlRXJyb3IoZXJyKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMuYXBwSXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnRCdXMuJG9uKCdnZXRDdXJyZW50Um91dGUnLCB0aGlzLmdldEN1cnJlbnRSb3V0ZSk7XHJcbiAgICBldmVudEJ1cy4kb24oJ2F1dGhvcml6ZWQnLCB0aGlzLm9uQ2hhbmdlQXV0aFVzZXIpO1xyXG4gICAgZXZlbnRCdXMuJG9uKCdjbGlja0xvZ091dCcsIHRoaXMub25DbGlja0xvZ091dCk7XHJcbiAgfSxcclxuICBiZWZvcmVEZXN0cm95KCkge1xyXG4gICAgZXZlbnRCdXMuJG9mZignZ2V0Q3VycmVudFJvdXRlJywgdGhpcy5nZXRDdXJyZW50Um91dGUpO1xyXG4gICAgZXZlbnRCdXMuJG9mZignYXV0aG9yaXplZCcsIHRoaXMub25DaGFuZ2VBdXRoVXNlcik7XHJcbiAgICBldmVudEJ1cy4kb2ZmKCdjbGlja0xvZ091dCcsIHRoaXMub25DbGlja0xvZ091dCk7XHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcbiAgICAuLi5tYXBNdXRhdGlvbnMoW1xyXG4gICAgICAnc2V0SXRlbScsXHJcbiAgICBdKSxcclxuICAgIC4uLm1hcE11dGF0aW9ucygnYWNjb3VudHMnLCBbXHJcbiAgICAgICdzZXRDdXJyZW50VXNlcicsXHJcbiAgICBdKSxcclxuICAgIC4uLm1hcEFjdGlvbnMoJ2FjY291bnRzJywgW1xyXG4gICAgICAnZmV0Y2hDdXJyZW50VXNlcicsXHJcbiAgICAgICdmZXRjaEN1cnJlbnRDbGllbnQnLFxyXG4gICAgXSksXHJcbiAgICBhc3luYyBvbkNsaWNrQnVyZ2VyKCkge1xyXG4gICAgICBjb25zdCBsYXN0U3RhdGUgPSB0aGlzLm9wZW5lZE1lbnVzLm1haW5OYXY7XHJcblxyXG4gICAgICB0aGlzLnNldEl0ZW0oe1xyXG4gICAgICAgIGl0ZW06ICdhbnlNZW51SXNPcGVuJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICBhd2FpdCB0aGlzLiRuZXh0VGljaygpO1xyXG5cclxuICAgICAgaWYgKGxhc3RTdGF0ZSkge1xyXG4gICAgICAgIHRoaXMuJHNldCh0aGlzLm9wZW5lZE1lbnVzLCAnbWFpbk5hdicsIGZhbHNlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiRzZXQodGhpcy5vcGVuZWRNZW51cywgJ21haW5OYXYnLCB0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRJdGVtKHtcclxuICAgICAgICAgIGl0ZW06ICdhbnlNZW51SXNPcGVuJyxcclxuICAgICAgICAgIHZhbHVlOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuJHNldCh0aGlzLm9wZW5lZE1lbnVzLCAncmlnaHRNZW51JywgbnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBhc3luYyBvbkNsaWNrUmlnaHRNZW51U3dpdGNoZXIodHlwZSkge1xyXG4gICAgICBjb25zdCBsYXN0U3RhdGUgPSB0aGlzLm9wZW5lZE1lbnVzLnJpZ2h0TWVudTtcclxuICAgICAgdGhpcy5zZXRJdGVtKHtcclxuICAgICAgICBpdGVtOiAnYW55TWVudUlzT3BlbicsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgYXdhaXQgdGhpcy4kbmV4dFRpY2soKTtcclxuXHJcbiAgICAgIGlmICghdHlwZSB8fCBsYXN0U3RhdGUgPT09IHR5cGUpIHtcclxuICAgICAgICB0aGlzLiRzZXQodGhpcy5vcGVuZWRNZW51cywgJ3JpZ2h0TWVudScsIG51bGwpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0SXRlbSh7XHJcbiAgICAgICAgICBpdGVtOiAnYW55TWVudUlzT3BlbicsXHJcbiAgICAgICAgICB2YWx1ZTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLiRzZXQodGhpcy5vcGVuZWRNZW51cywgJ3JpZ2h0TWVudScsIHR5cGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuJHNldCh0aGlzLm9wZW5lZE1lbnVzLCAnbWFpbk5hdicsIGZhbHNlKTtcclxuICAgIH0sXHJcbiAgICBvbkNsaWNrQ2xvc2VNZW51KCkge1xyXG4gICAgICB0aGlzLnNldEl0ZW0oe1xyXG4gICAgICAgIGl0ZW06ICdhbnlNZW51SXNPcGVuJyxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLiRzZXQodGhpcy5vcGVuZWRNZW51cywgJ3JpZ2h0TWVudScsIG51bGwpO1xyXG4gICAgfSxcclxuICAgIGdldEN1cnJlbnRSb3V0ZSgpIHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudFBhZ2UnLCB0aGlzLiRyb3V0ZS5mdWxsUGF0aCB8fCB0aGlzLiRyb3V0ZS5wYXRoIHx8IHRoaXMuJHJvdXRlLm5hbWUpO1xyXG4gICAgfSxcclxuICAgIGFzeW5jIG9uQ2hhbmdlQXV0aFVzZXIoKSB7XHJcbiAgICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IGF1dGhTZXJ2aWNlLmNoZWNrVG9rZW5zKCk7XHJcblxyXG4gICAgICBpZiAodG9rZW5zKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5mZXRjaEN1cnJlbnRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy5pbml0QXBwKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2dPdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGFzeW5jIG9uQ2xpY2tMb2dPdXQoKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVdlYlNvY2tldENvbm5lY3Rpb24oKTtcclxuICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICB0aGlzLmxvZ091dCgpO1xyXG4gICAgICAgIHRoaXMuJG5vdGlmeSh7XHJcbiAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXHJcbiAgICAgICAgICB0aXRsZTogJ9CS0Ysg0LLRi9GI0LvQuCDQuNC3INGB0LjRgdGC0LXQvNGLJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGxvZ091dCgpIHtcclxuICAgICAgaWYgKHRoaXMuYmVmb3JlTG9nT3V0KSB0aGlzLmJlZm9yZUxvZ091dCgpO1xyXG4gICAgICBhdXRoU2VydmljZS5sb2dPdXQoKTtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcihudWxsKTtcclxuICAgICAgaWYgKHRoaXMuJHJvdXRlLm5hbWUgIT09ICdTaWduSW4nKSB7XHJcbiAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goeyBuYW1lOiAnU2lnbkluJyB9KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuLmFwcCB7XHJcbiAgJl9fYnJlYWRjcnVtYnMge1xyXG4gICAgbWFyZ2luLXRvcDogMThweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgfVxyXG5cclxuICAmX19wcm9ncmVzcyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxuXHJcbiAgJl9fbWFpbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMThweDtcclxuICAgIG1hcmdpbi1yaWdodDogMThweDtcclxuICAgICYtLXdpdGgtYXNpZGUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zY3JvbGwtYXJlYSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XHJcbiAgLmFwcCB7XHJcbiAgICAmX19zY3JvbGwtYXJlYSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuPC9zdHlsZT5cclxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTMtMCEuLi90aHJlYWQtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMCEuLi92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTWl4aW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEzLTAhLi4vdGhyZWFkLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE1peGluLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qc1wiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBNaXhpbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGNjMmJiZGYmc2NvcGVkPXRydWVcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBNaXhpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anNcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwTWl4aW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTWl4aW4udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MGNjMmJiZGYmcHJvZCZsYW5nPXNjc3Mmc2NvcGVkPXRydWVcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIwY2MyYmJkZlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydCAqIGZyb20gXCItIS4uL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTktb25lT2YtMS0wIS4uL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tOS1vbmVPZi0xLTEhLi4vdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTktb25lT2YtMS0yIS4uL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTktb25lT2YtMS0zIS4uL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTAhLi4vdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE1peGluLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBjYzJiYmRmJnByb2QmbGFuZz1zY3NzJnNjb3BlZD10cnVlXCIiXSwic291cmNlUm9vdCI6IiJ9