{"version":3,"sources":["webpack:///./src/store/modules/location/actions.js","webpack:///./src/assets/footer_logo.png","webpack:///./src/assets/logo.png","webpack:///./src/store/modules/category/mutations.js","webpack:///./src/store/modules/user/getters.js","webpack:///./src/store/modules/category/state.js","webpack:///./src/store/modules/video/index.js","webpack:///./src/store/modules/auth/index.js","webpack:///./src/store/modules/auth/types.js","webpack:///./src/store/modules/category/types.js","webpack:///./src/store/index.js","webpack:///./src/store/modules/category/index.js","webpack:///./src/store/modules/user/index.js","webpack:///./src/store/modules/category/actions.js","webpack:///./src/store/modules/auth/state.js","webpack:///src/components/BaseTopNav.vue","webpack:///./src/components/BaseTopNav.vue","webpack:///./src/components/BaseTopNav.vue?863b","webpack:///src/components/BaseMenuList.vue","webpack:///./src/components/FooterLogo.vue?d957","webpack:///src/App.vue","webpack:///./src/components/BaseMenuList.vue","webpack:///./src/components/BaseMenuList.vue?5954","webpack:///./src/components/FooterLogo.vue","webpack:///src/components/FooterLogo.vue","webpack:///./src/App.vue","webpack:///./src/App.vue?b033","webpack:///./src/main.js","webpack:///./src/store/modules/video/getters.js","webpack:///./src/store/modules/video/actions.js","webpack:///./src/plugins/loading.js","webpack:///./src/store/modules/video/state.js","webpack:///./src/store/modules/location/getters.js","webpack:///./src/store/modules/user/mutations.js","webpack:///./src/store/modules/location/index.js","webpack:///./src/router/routes.js","webpack:///./src/router/guard-route.js","webpack:///./src/router/index.js","webpack:///./src/store/modules/video/types.js","webpack:///./src/store/modules/location/mutations.js","webpack:///./src/store/modules/auth/actions.js","webpack:///./src/store/modules/user/state.js","webpack:///./src/store/modules/location/types.js","webpack:///./src/store/modules/auth/getters.js","webpack:///./src/store/modules/video/mutations.js","webpack:///./src/store/modules/category/getters.js","webpack:///./src/store/modules/auth/mutations.js","webpack:///./src/store/modules/user/actions.js","webpack:///./src/plugins/api.js","webpack:///./src/store/modules/location/state.js","webpack:///./src/store/modules/user/types.js","webpack:///./src/store/modules \\.js$"],"names":["isLogoFormatValid","logo","i","length","name","match","__webpack_exports__","resetLocationValues","_ref","commit","__WEBPACK_IMPORTED_MODULE_5__types__","getStates","_ref2","_this","this","dispatch","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_asyncToGenerator___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default","a","mark","_callee","r","wrap","_context","prev","next","Object","__WEBPACK_IMPORTED_MODULE_3__plugins_loading__","__WEBPACK_IMPORTED_MODULE_4__plugins_api__","get","sent","data","abrupt","stop","getLocation","_ref3","locationID","_this2","_callee2","_context2","getLocationsByUser","_ref4","_this3","rootState","params","arguments","undefined","_callee3","_context3","JSON","parse","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default","marketSegments","join","video","map","item","id","items","count","createLocation","_ref5","location","_this4","_callee4","formData","_context4","FormData","append","accountNumber","stateID","size","Error","post","updateLocation","_ref6","_this5","_callee5","_context5","logoBase64","deleteLocation","_ref7","_this6","_callee6","_context6","getReportKPI","_ref8","_this7","_callee7","_context7","module","exports","_types$SET_FIRST_CATE","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default","__WEBPACK_IMPORTED_MODULE_1__types__","state","categories1","categories2","users","roles","namespaced","__WEBPACK_IMPORTED_MODULE_0__state__","getters","__WEBPACK_IMPORTED_MODULE_1__getters__","actions","__WEBPACK_IMPORTED_MODULE_2__actions__","mutations","__WEBPACK_IMPORTED_MODULE_3__mutations__","auth","SET_USER","LOGOUT","SET_FIRST_CATEGORIES","SET_SECOND_CATEGORIES","RESET_SECOND_CATEGORIES","__WEBPACK_IMPORTED_MODULE_1_vue__","use","__WEBPACK_IMPORTED_MODULE_2_vuex__","modules","files","__webpack_require__","keys","forEach","path","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default","lang","Store","category","user","getCategories1","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_asyncToGenerator___default","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_regenerator___default","__WEBPACK_IMPORTED_MODULE_2__plugins_loading__","__WEBPACK_IMPORTED_MODULE_3__plugins_api__","__WEBPACK_IMPORTED_MODULE_4__types__","getCategories2ByCategory1","category1","encodeURIComponent","createCategory","deleteCategory","isCategory1","ID","resetCategories2","loggedUser","token","email","role","permissions","locationLogo","BaseTopNav","computed","extends_default","vuex_esm","route","$route","split","methods","getIncompleteVideosCount","components_BaseTopNav","component_normalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","to","src","alt","_v","model","value","callback","$$v","activeMenuItem","expression","slot","type","icon","iconActiveRoute","_s","activeRoute","_l","key","has-link","replace","on","click","logOut","_e","hoverable","position","BaseMenuList","String","FooterLogo_staticRenderFns","topNav","menuList","activeClass","tag","incompleteVideosCount","showIcons","includes","showAddIcon","footerBar","_m","version","App___vue_styles__","context","src_App","App","isRoutePublic","class","is-marginless","isLoggedIn","is-10","mode","fullPath","vue_esm","buefy_lib_default","vuex_loading_default","vee_validate_esm","config","productionTip","window","app","el","router","store","vueLoading","useVuex","template","components","videos","getVideo","videoId","getVideosSearch","getMarketSegments","createVideo","console","error","updateVideo","deleteVideo","createUserVideo","_this8","_callee8","_context8","updateUserVideo","_ref9","_this9","_callee9","_context9","ratingId","rating","__WEBPACK_IMPORTED_MODULE_0_vuex_loading__","moduleName","startLoading","endLoading","states","locations","kpiStats","_types$SET_USERS$type","push","splice","indexOf","routes","component","resolve","e","then","__WEBPACK_AMD_REQUIRE_ARRAY__","bind","catch","oe","meta","allowAnonymous","Promise","all","guard_route","from","entries_default","cancelTokens","slicedToArray_default","requestId","cancel","matched","some","record","resource","vue_router_esm","beforeEach","ADD_VIDEO","SET_VIDEOS","DELETE_VIDEO","SET_MARKET_SEGMENTS","SET_INCOMPLETE_VIDEOS_COUNT","UPDATE_INCOMPLETE_VIDEOS_COUNT","_types$SET_LOCATION$t","_logoBase64","logoContentType","timeZone","authUser","credentials","__WEBPACK_IMPORTED_MODULE_4__plugins_loading__","localStorage","access_token","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_json_stringify___default","requestPasswordReset","setNewPassword","checkAuth","__WEBPACK_IMPORTED_MODULE_6__router__","ADD_LOCATION","DELETE_LOCATION","SET_LOCATION","SET_LOCATIONS","SET_STATES","RESET_LOCATION","SET_KPI_STATS","hasPermission","_ref$operation","operation","filter","x","operationsList","isPublic","menuItems","description","showReportIcon","isAdminOnly","isSuperAdminOnly","_types$ADD_VIDEO$type","_types$SET_USER$types","_user","__WEBPACK_IMPORTED_MODULE_2_jwt_decode___default","_location","clear","getUsersByLocation","getRoles","createUser","additionalEmailsArray","additionalEmails","ae","updateUser","deleteUser","getUser","userID","host","apiUrl","whitelistedApiEndpoints","__WEBPACK_IMPORTED_MODULE_2_axios___default","interceptors","request","headers","url","method","source","CancelToken","cancelToken","cancelTokenId","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_math_trunc___default","Math","random","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default","reject","response","endpoint","SET_USERS","SET_ROLES","ADD_USER","DELETE_USER","./auth/actions.js","./auth/getters.js","./auth/index.js","./auth/mutations.js","./auth/state.js","./auth/types.js","./category/actions.js","./category/getters.js","./category/index.js","./category/mutations.js","./category/state.js","./category/types.js","./location/actions.js","./location/getters.js","./location/index.js","./location/mutations.js","./location/state.js","./location/types.js","./user/actions.js","./user/getters.js","./user/index.js","./user/mutations.js","./user/state.js","./user/types.js","./video/actions.js","./video/getters.js","./video/index.js","./video/mutations.js","./video/state.js","./video/types.js","webpackContext","req","webpackContextResolve"],"mappings":"+MAMA,SAASA,EAAkBC,GAEzB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAKE,OAAQD,IAAK,CAIpC,GAAoC,OAH1BD,EAAKC,GAAGE,KAAKC,MAAM,cAAc,GAGnCA,MAAM,kBACZ,OAAO,EAGX,OAAO,EAGTC,EAAA,SAIEC,oBAJa,SAAAC,IAOXC,EADCD,EADDC,QAEOC,EAAA,iBAMHC,UAbO,SAAAC,GAgBV,IAAAC,EAAAC,KAFDL,EAECG,EAFDH,OACAM,EACCH,EADDG,SACC,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACeC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,YAAa,kBAClDa,EAAA,EAAKC,IAAI,wBAFV,cACKR,EADLE,EAAAO,KAIDrB,EAAOC,EAAA,WAAkBW,EAAEU,MAJ1BR,EAAAS,OAAA,SAKMX,EAAEU,MALR,wBAAAR,EAAAU,SAAAb,EAAAP,KAAAG,IAWGkB,YA3BO,SAAAC,EA6BVC,GAAY,IAAAC,EAAAvB,KADbC,EACaoB,EADbpB,SACa,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAmB,IAAA,IAAAjB,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,cAAAc,EAAAd,KAAA,EACGC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,cAAe,kBACpDa,EAAA,EAAKC,IAAL,mBAA4BO,KAFjB,cACPf,EADOkB,EAAAT,KAAAS,EAAAP,OAAA,SAINX,EAAEU,MAJI,wBAAAQ,EAAAN,SAAAK,EAAAD,KAAArB,IAUTwB,mBAvCO,SAAAC,GA2CG,IAAAC,EAAA5B,KAHd6B,EAGcF,EAHdE,UACAlC,EAEcgC,EAFdhC,OACAM,EACc0B,EADd1B,SACC6B,EAAaC,UAAA1C,OAAA,QAAA2C,IAAAD,UAAA,GAAAA,UAAA,aAAA7B,IAAAC,EAAAC,EAAAC,KAAA,SAAA4B,IAAA,IAAA1B,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA0B,GAAA,cAAAA,EAAAxB,KAAAwB,EAAAvB,MAAA,mBAKuB,KAHrCmB,EAASK,KAAKC,MAAMC,IAAeP,KAGjBQ,eAChBR,EAAOQ,eAAP,IAA4BR,EAAOQ,eAAeC,OAAlD,IAEAT,EAAOQ,eAAP,IAA4BT,EAAUW,MAAMF,eAAeG,IAAI,SAAAC,GAAA,OAAQA,EAAKC,KAAIJ,OAAhF,IARYL,EAAAvB,KAAA,EAYEC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,qBAAsB,kBAC3Da,EAAA,EAAKC,IAAI,sBACPe,aAdU,cAYRvB,EAZQ2B,EAAAlB,KAkBdrB,EAAOC,EAAA,cAAqBW,EAAEU,KAAK2B,OAlBrBV,EAAAhB,OAAA,SAoBPX,EAAEU,KAAK4B,OApBA,wBAAAX,EAAAf,SAAAc,EAAAL,KAAA1B,IAyBV4C,eApEO,SAAAC,EAuEVC,GAAU,IAAAC,EAAAjD,KAFXL,EAEWoD,EAFXpD,OACAM,EACW8C,EADX9C,SACW,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAA6C,IAAA,IAAAC,EAAA/D,EAAAmB,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,WAEPwC,EAAW,IAAIE,UACVC,OAAO,OAAQN,EAAS1D,MACjC6D,EAASG,OAAO,gBAAiBN,EAASO,eAC1CJ,EAASG,OAAO,UAAWN,EAASQ,SACpCL,EAASG,OAAO,iBAAkBN,EAASV,kBAGrB,OAAlBU,EAAS7D,MAAiB6D,EAAS7D,KAAKE,OAAS,GAT1C,CAAA+D,EAAAzC,KAAA,aAULzB,EAAkB8D,EAAS7D,MAVtB,CAAAiE,EAAAzC,KAAA,cAWHqC,EAAS7D,KAAK,GAAGsE,KAAO,MAXrB,CAAAL,EAAAzC,KAAA,cAYC,IAAI+C,MAAM,kCAZX,OAcP,IAAStE,EAAI,EAAGA,EAAI4D,EAAS7D,KAAKE,OAAQD,IACxC+D,EAASG,OAAO,OAAQN,EAAS7D,KAAKC,IAfjCgE,EAAAzC,KAAA,uBAkBPqC,EAAS7D,QACH,IAAIuE,MAAJ,mHAnBC,eAAAN,EAAAzC,KAAA,GAwBKC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,iBAAkB,kBACvDa,EAAA,EAAK6C,KAAK,kBAAmBR,KAzBpB,WA4BI,MAJT5C,EAxBK6C,EAAApC,MA4BLC,KA5BK,CAAAmC,EAAAzC,KAAA,gBA6BThB,EAAOC,EAAA,aAAoBW,EAAEU,MA7BpBmC,EAAAlC,OAAA,SA8BFX,EAAEU,MA9BA,cAgCH,IAAIyC,MAAM,4BAhCP,yBAAAN,EAAAjC,SAAA+B,EAAAD,KAAA/C,IAsCP0D,eA7GO,SAAAC,EA+GVb,GAAU,IAAAc,EAAA9D,KADXC,EACW4D,EADX5D,SACW,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAA0D,IAAA,IAAAZ,EAAA/D,EAAAmB,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAwD,GAAA,cAAAA,EAAAtD,KAAAsD,EAAArD,MAAA,WAEPwC,EAAW,IAAIE,UACVC,OAAO,KAAMN,EAASL,IAC/BQ,EAASG,OAAO,OAAQN,EAAS1D,MACjC6D,EAASG,OAAO,gBAAiBN,EAASO,eAC1CJ,EAASG,OAAO,iBAAkBN,EAASV,gBAC3Ca,EAASG,OAAO,UAAWN,EAASQ,SACpCL,EAASG,OAAO,aAAiC,OAAlBN,EAAS7D,MAAyC,OAAxB6D,EAASiB,WAAuB,EAAI,KAGvE,OAAlBjB,EAAS7D,MAAiB6D,EAAS7D,KAAKE,OAAS,GAX1C,CAAA2E,EAAArD,KAAA,aAYLzB,EAAkB8D,EAAS7D,MAZtB,CAAA6E,EAAArD,KAAA,cAaHqC,EAAS7D,KAAK,GAAGsE,KAAO,MAbrB,CAAAO,EAAArD,KAAA,eAcC,IAAI+C,MAAM,kCAdX,QAgBP,IAAStE,EAAI,EAAGA,EAAI4D,EAAS7D,KAAKE,OAAQD,IACxC+D,EAASG,OAAO,OAAQN,EAAS7D,KAAKC,IAjBjC4E,EAAArD,KAAA,uBAoBPqC,EAAS7D,QACH,IAAIuE,MAAJ,mHArBC,eAAAM,EAAArD,KAAA,GA0BKC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,iBAAkB,kBACvDa,EAAA,EAAK6C,KAAK,kBAAmBR,KA3BpB,YA6BK,KAHV5C,EA1BKyD,EAAAhD,MA6BLC,KA7BK,CAAA+C,EAAArD,KAAA,eA8BH,IAAI+C,MAAM,iCA9BP,eAAAM,EAAA9C,OAAA,SAgCFX,EAAEU,MAhCA,yBAAA+C,EAAA7C,SAAA4C,EAAAD,KAAA5D,IAsCPgE,eArJO,SAAAC,EAwJVnB,GAAU,IAAAoB,EAAApE,KAFXL,EAEWwE,EAFXxE,OACAM,EACWkE,EADXlE,SACW,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAgE,IAAA,IAAA9D,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA8D,GAAA,cAAAA,EAAA5D,KAAA4D,EAAA3D,MAAA,cAAA2D,EAAA3D,KAAA,EAEKC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,iBAAkB,kBACvDa,EAAA,EAAK6C,KAAK,mBACRhB,GAAIK,EAASL,OAJN,cAELpC,EAFK+D,EAAAtD,KAQXrB,EAAOC,EAAA,gBAAuBoD,GARnBsB,EAAApD,OAAA,SASJX,EAAEU,MATE,wBAAAqD,EAAAnD,SAAAkD,EAAAD,KAAAlE,IAePqE,aAvKO,SAAAC,EA0KVlD,GAAY,IAAAmD,EAAAzE,KAFbL,EAEa6E,EAFb7E,OACAM,EACauE,EADbvE,SACa,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAqE,IAAA,IAAAnE,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAmE,GAAA,cAAAA,EAAAjE,KAAAiE,EAAAhE,MAAA,cAAAgE,EAAAhE,KAAA,EACGC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,eAAgB,kBACrDa,EAAA,EAAK6C,KAAK,kBAAmBrC,KAFlB,cACPf,EADOoE,EAAA3D,KAKbrB,EAAOC,EAAA,cAAqBW,EAAEU,MALjB0D,EAAAzD,OAAA,SAMNX,EAAEU,MANI,wBAAA0D,EAAAxD,SAAAuD,EAAAD,KAAAvE,2BC7LjB0E,EAAAC,QAAA,m6JCAAD,EAAAC,QAAA,0gKCEArF,EAAA,SAAAsF,KAAAC,IAAAD,EACGE,EAAA,qBADH,SAC+BC,EAAOC,GAClCD,EAAMC,YAAcA,QAFxBH,IAAAD,EAIGE,EAAA,sBAJH,SAIgCC,EAAOE,GACnCF,EAAME,YAAcA,QALxBJ,IAAAD,EAOGE,EAAA,wBAPH,SAOkCC,GAC9BA,EAAME,iBARVL,uFCFAtF,EAAA,SACE4F,MAAO,SAACH,GAAD,OAAWA,EAAMG,OACxBC,MAAO,SAACJ,GAAD,OAAWA,EAAMI,4FCF1B7F,EAAA,SACE0F,eACAC,4LCGW3C,GACX8C,YAAY,EACZL,MAAAM,EAAA,QACAC,QAAAC,EAAA,QACAC,QAAAC,EAAA,QACAC,UAAAC,EAAA,oLCLWC,GACXR,YAAY,EACZL,MAAAM,EAAA,QACAC,QAAAC,EAAA,QACAC,QAAAC,EAAA,QACAC,UAAAC,EAAA,yKCVK,IAAME,EAAW,WACXC,EAAS,0PCDf,IAAMC,EAAuB,uBACvBC,EAAwB,wBACxBC,EAA0B,8GCAvCC,EAAA,QAAIC,IAAIC,EAAA,GAER,IAAMC,KACAC,EAAQC,EAAA,QAEdD,EAAME,OAAOC,QAAQ,SAACC,EAAMxH,GAC1B,IAAMwF,EAAS4B,EAAMI,GACrBC,IAAYjC,GAAQ+B,QAAQ,SAAAG,GAC1BP,EAAQO,GAAQlC,EAAOkC,OAI3BtH,EAAA,MAAmB8G,EAAA,EAAKS,OACtBR,2LCVWS,GACX1B,YAAY,EACZL,MAAAM,EAAA,QACAC,QAAAC,EAAA,QACAC,QAAAC,EAAA,QACAC,UAAAC,EAAA,sLCLWoB,GACX3B,YAAY,EACZL,MAAAM,EAAA,QACAC,QAAAC,EAAA,QACAC,QAAAC,EAAA,QACAC,UAAAC,EAAA,+KCJFrG,EAAA,SAIQ0H,eAJO,SAAAxH,GAOV,IAAAK,EAAAC,KAFDL,EAECD,EAFDC,OACAM,EACCP,EADDO,SACC,OAAAkH,IAAAC,EAAAhH,EAAAC,KAAA,SAAAC,IAAA,IAAAC,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACeC,OAAAyG,EAAA,EAAAzG,CAAaX,EAAU,iBAAkB,kBACvDqH,EAAA,EAAKvG,IAAI,2BAFV,cACKR,EADLE,EAAAO,KAIDrB,EAAO4H,EAAA,qBAA4BhH,EAAEU,MAJpCR,EAAAS,OAAA,SAKMX,EAAEU,UALR,wBAAAR,EAAAU,SAAAb,EAAAP,KAAAoH,IAWGK,0BAlBO,SAAA1H,EAqBV2H,GAAW,IAAAlG,EAAAvB,KAFZL,EAEYG,EAFZH,OACAM,EACYH,EADZG,SACY,OAAAkH,IAAAC,EAAAhH,EAAAC,KAAA,SAAAmB,IAAA,IAAAjB,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,cAAAc,EAAAd,KAAA,EACIC,OAAAyG,EAAA,EAAAzG,CAAaX,EAAU,4BAA6B,kBAClEqH,EAAA,EAAKvG,IAAL,8CAAuD2G,mBAAmBD,MAFhE,cACNlH,EADMkB,EAAAT,KAKZrB,EAAO4H,EAAA,sBAA6BhH,EAAEU,MAL1BQ,EAAAP,OAAA,SAMLX,EAAEU,UANG,wBAAAQ,EAAAN,SAAAK,EAAAD,KAAA4F,IAYRQ,eAjCO,SAAAtG,EAmCV2F,GAAU,IAAApF,EAAA5B,KADXC,EACWoB,EADXpB,SACW,OAAAkH,IAAAC,EAAAhH,EAAAC,KAAA,SAAA4B,IAAA,IAAA1B,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAA0B,GAAA,cAAAA,EAAAxB,KAAAwB,EAAAvB,MAAA,cAAAuB,EAAAvB,KAAA,EACKC,OAAAyG,EAAA,EAAAzG,CAAaX,EAAU,iBAAkB,kBACvDqH,EAAA,EAAK3D,KAAL,wBAAmCqD,KAF1B,cACLzG,EADK2B,EAAAlB,KAAAkB,EAAAhB,OAAA,SAKJX,EAAEU,MALE,wBAAAiB,EAAAf,SAAAc,EAAAL,KAAAuF,IAWPS,eA9CO,SAAAjG,EAAAoB,GAmDV,IAAAE,EAAAjD,KAJDC,EAIC0B,EAJD1B,SAEA0C,EAECI,EAFDJ,GACAkF,EACC9E,EADD8E,YACC,OAAAV,IAAAC,EAAAhH,EAAAC,KAAA,SAAA6C,IAAA,IAAA3C,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,cAAAyC,EAAAzC,KAAA,EACeC,OAAAyG,EAAA,EAAAzG,CAAaX,EAAU,iBAAkB,kBACvDqH,EAAA,EAAK3D,KAAL,qCAA+CkE,GAC7CC,GAAInF,MAHP,cACKpC,EADL6C,EAAApC,KAAAoC,EAAAlC,OAAA,SAOMX,EAAEU,MAPR,wBAAAmC,EAAAjC,SAAA+B,EAAAD,KAAAkE,IAYHY,iBA/Da,SAAAlE,IAkEXlE,EADCkE,EADDlE,QAEO4H,EAAA,+GCxEX/H,EAAA,SACEwI,YACEC,MAAO,KACPC,MAAO,KACPC,KAAM,KACNC,YAAa,KACbpF,SAAU,KACVqF,aAAc,KACd/F,eAAgB,sJCoEpBgG,QAEA,2DAGA,kBAEA,IAEAC,SAAAC,OAAA5H,OAAA6H,EAAA,EAAA7H,CAAA,QAEA,gBACA,aACA,aAEA,sGAEA,mCAGA8H,EAAA,OAAA1I,KAAA2I,OAAArJ,KAAA,KAAAU,KAAA2I,OAAArJ,KAAAsJ,MAAA,KACA,uEACA,4BACA,MAGAC,QAAAL,OAAA5H,OAAA6H,EAAA,EAAA7H,CAAA,QACA,WAAAA,OAAA6H,EAAA,EAAA7H,CAAA,SAEA,2GAOAkI,yCCxFAC,EAVAnI,OAAAoI,EAAA,EAAApI,CACA0H,ECfA,WAA0B,IAAAW,EAAAjJ,KAAakJ,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,SAAAC,OAA4B5G,GAAA,SAAYyG,EAAA,OAAYE,YAAA,iBAA2BF,EAAA,eAAoBE,YAAA,cAAAC,OAAiCC,GAAA,OAAUJ,EAAA,OAAYE,YAAA,OAAAC,OAA0BE,IAAAhD,EAAA,QAAAiD,IAAA,0BAA+DT,EAAAU,GAAA,KAAAV,EAAA,WAAAG,EAAA,cAAkDE,YAAA,mBAAAM,OAAsCC,MAAAZ,EAAA,eAAAa,SAAA,SAAAC,GAAoDd,EAAAe,eAAAD,GAAuBE,WAAA,oBAA8Bb,EAAA,UAAeE,YAAA,oBAAAC,OAAuCW,KAAA,UAAAC,KAAA,UAAiCD,KAAA,aAAgBd,EAAA,UAAgBG,OAAOa,KAAAnB,EAAAoB,mBAA4BpB,EAAAU,GAAA,KAAAP,EAAA,QAAAH,EAAAU,GAAAV,EAAAqB,GAAArB,EAAAsB,kBAAA,GAAAtB,EAAAU,GAAA,KAAAV,EAAAuB,GAAAvB,EAAA,mBAAAvG,GAAkH,OAAA0G,EAAA,mBAA6BqB,IAAA/H,EAAApD,KAAAiK,OAAqBmB,YAAA,KAAiBtB,EAAA,eAAoBqB,IAAA/H,EAAApD,KAAAiK,OAAqBC,GAAA9G,EAAAgG,MAAAiC,SAAA,KAAgCvB,EAAA,OAAYE,YAAA,UAAoBF,EAAA,UAAeE,YAAA,aAAAC,OAAgCa,KAAA1H,EAAA0H,QAAkBnB,EAAAU,GAAA,KAAAP,EAAA,OAAwBE,YAAA,kBAA4BF,EAAA,MAAAH,EAAAU,GAAAV,EAAAqB,GAAA5H,EAAApD,YAAA,WAAmD2J,EAAAU,GAAA,KAAAP,EAAA,MAAuBE,YAAA,qBAA+BL,EAAAU,GAAA,KAAAP,EAAA,mBAAoCwB,IAAIC,MAAA5B,EAAA6B,UAAoB1B,EAAA,OAAYE,YAAA,UAAoBF,EAAA,UAAeE,YAAA,aAAAC,OAAgCa,KAAA,WAAgBnB,EAAAU,GAAA,KAAAP,EAAA,OAAwBE,YAAA,kBAA4BF,EAAA,MAAAH,EAAAU,GAAA,yBAAAV,EAAA8B,MAAA,GAAA9B,EAAAU,GAAA,KAAAV,EAAA,WAAAG,EAAA,OAA+FE,YAAA,iCAA2CF,EAAA,OAAYE,YAAA,eAAyBF,EAAA,cAAmBG,OAAOyB,UAAA,GAAAC,SAAA,oBAA4C7B,EAAA,KAAUE,YAAA,cAAAC,OAAiCW,KAAA,WAAiBA,KAAA,YAAgBd,EAAA,QAAAH,EAAAU,GAAAV,EAAAqB,GAAArB,EAAAjB,WAAAE,UAAAe,EAAAU,GAAA,KAAAP,EAAA,UAA6EG,OAAOa,KAAA,gBAAoB,GAAAnB,EAAAU,GAAA,KAAAP,EAAA,mBAAwCG,OAAOmB,WAAA,MAAetB,EAAA,KAAUwB,IAAIC,MAAA5B,EAAA6B,UAAoB1B,EAAA,KAAUE,YAAA,kBAA4BL,EAAAU,GAAA,yDAAAV,EAAA8B,YDMl7D,EAEA,KAEA,KAEA,MAYA,QELAG,QAEA,yBAGAC,iBAGA,IACA5C,SAAAC,OAAA5H,OAAA6H,EAAA,EAAA7H,aAEA,4BAEA,gFAEA,kGAKA8H,MCtCA0C,GAAA,WAAoC,IAAalC,EAAblJ,KAAamJ,eAA0BC,EAAvCpJ,KAAuCqJ,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,8DAAwEF,EAAA,OAAYE,YAAA,OAAAC,OAA0BE,IAAAhD,EAAA,QAAAiD,IAAA,2DCqClO,kBAEA2B,OAAAtC,EACAuC,SC3BA1K,OAAAoI,EAAA,EAAApI,CACAsK,ECfA,WAA0B,IAAAjC,EAAAjJ,KAAakJ,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAgBE,YAAA,aAAwBL,EAAAuB,GAAAvB,EAAA,mBAAAvG,GAAuC,OAAA0G,EAAA,eAAyBqB,IAAA/H,EAAApD,KAAAiK,OAAqBC,GAAA9G,EAAAgG,MAAA6C,YAAA,SAAAC,IAAA,QAAmDpC,EAAA,KAAAH,EAAAU,GAAA,WAAAV,EAAAqB,GAAA5H,EAAApD,MAAA,gBAAAoD,EAAApD,MAAA2J,EAAAwC,sBAAA,EAAArC,EAAA,QAAwHE,YAAA,8BAAwCL,EAAAU,GAAAV,EAAAqB,GAAArB,EAAAwC,0BAAAxC,EAAA8B,KAAA9B,EAAAU,GAAA,KAAAV,EAAAyC,UAAAhJ,EAAAgG,OAAAU,EAAA,OAAyGE,YAAA,+BAAyC5G,EAAA,eAAA0G,EAAA,eAA0CE,YAAA,wBAAAC,OAA2CiC,IAAA,IAAAhC,GAAA9G,EAAA,oBAA4CuG,EAAA8B,KAAA9B,EAAAU,GAAA,4BAAAgC,SAAA1C,EAAAjB,WAAAG,OAAAzF,EAAAkJ,YAAAxC,EAAA,eAAqHE,YAAA,mBAAAC,OAAsCiC,IAAA,IAAAhC,GAAA9G,EAAA,gBAAwCuG,EAAA8B,MAAA,GAAA9B,EAAA8B,iBDM/3B,EAEA,KAEA,KAEA,MAYA,QDmBAc,UG7BAjL,OAAAoI,EAAA,EAAApI,OCEA,2DLhBA,WAA0B,IAAasI,EAAblJ,KAAamJ,eAA0BC,EAAvCpJ,KAAuCqJ,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,WAAqBF,EAAA,OAAYE,YAAA,yBAAjHtJ,KAAoJ8L,GAAA,GAApJ9L,KAAoJ2J,GAAA,KAAAP,EAAA,OAAkCE,YAAA,0BAAoCF,EAAA,SAA1NpJ,KAA0N2J,GAA1N3J,KAA0NsK,GAA1NtK,KAA0N+L,mBIiBpPX,GAXA,EAEA,KAEA,KAEA,MAYA,SHoBA7C,SAAAC,OAAA5H,OAAA6H,EAAA,EAAA7H,CAAA,kCAEA,oBKrCA,IAEAoL,EAXA,SAAAC,GACAxF,EAAA,SA0BAyF,EAVAtL,OAAAoI,EAAA,EAAApI,CACAuL,EClBA,WAA0B,IAAAlD,EAAAjJ,KAAakJ,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBG,OAAO5G,GAAA,SAAYsG,EAAAmD,cAAAnD,EAAAN,QAAAM,EAAA8B,KAAA3B,EAAA,WAAAH,EAAAU,GAAA,KAAAP,EAAA,OAAgFE,YAAA,UAAA+C,OAA6BC,gBAAArD,EAAAsD,aAAAtD,EAAAmD,cAAAnD,EAAAN,YAAqEM,EAAAsD,YAAAtD,EAAAN,OAAA/B,KAAA+E,SAAA,UAAA1C,EAAAN,OAAA/B,KAAA+E,SAAA,kBAAA1C,EAAAN,OAAA/B,KAAA+E,SAAA,YAA6T1C,EAAA8B,KAA7T3B,EAAA,SAA2JE,YAAA,0DAAoEF,EAAA,OAAAA,EAAA,OAAsBE,YAAA,SAAmBF,EAAA,aAAkBG,OAAOpB,KAAAc,EAAAjB,WAAAG,SAA4B,OAAAc,EAAAU,GAAA,KAAAP,EAAA,QAA0CE,YAAA,SAAA+C,OAA4BG,QAAAvD,EAAAsD,aAAAtD,EAAAmD,cAAAnD,EAAAN,WAA6DS,EAAA,cAAmBG,OAAOjK,KAAA,iBAAAmN,KAAA,YAAyCrD,EAAA,eAAoBqB,IAAAxB,EAAAN,OAAA+D,YAAwB,SAAAzD,EAAAU,GAAA,KAAAP,EAAA,uBDS91B,EAaA4C,EATA,KAEA,MAYA,sFEZAW,EAAA,QAAItG,IAAIuG,EAAAxM,GAGRuM,EAAA,QAAItG,IAAIwG,EAAAzM,GAGRuM,EAAA,QAAItG,IAAIyG,EAAA,GAERH,EAAA,QAAII,OAAOC,eAAgB,EAG3BC,OAAOC,IAAM,IAAIP,EAAA,SACfQ,GAAI,OACJC,SAAA,EACAC,QAAA,EACAC,WAAY,IAAIT,EAAAzM,GAAamN,SAAS,IACtCC,SAAU,SACVC,YACEtB,IAAAD,yFCjCJ1M,EAAA,SACEkO,OAAQ,SAAAzI,GAAA,OAASA,EAAMyI,QACvBpL,eAAgB,SAAA2C,GAAA,OAASA,EAAM3C,gBAC/BmJ,sBAAuB,SAACxG,GAAD,OAAWA,EAAMwG,mNCG1CjM,EAAA,SAKQmO,SALO,SAAAjO,EAOVkO,GAAS,IAAA7N,EAAAC,KADVC,EACUP,EADVO,SACU,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACMC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,WAAY,kBACjDa,EAAA,EAAKC,IAAL,iBAA0B6M,KAFlB,cACJrN,EADIE,EAAAO,KAAAP,EAAAS,OAAA,SAKHX,EAAEU,MALC,wBAAAR,EAAAU,SAAAb,EAAAP,KAAAG,IAWN2N,gBAlBO,SAAA/N,EAsBVgC,GAAQ,IAAAP,EAAAvB,KAHT6B,EAGS/B,EAHT+B,UACAlC,EAESG,EAFTH,OACAM,EACSH,EADTG,SACS,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAmB,IAAA,IAAAjB,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,mBAK4B,KAHrCmB,EAASK,KAAKC,MAAMC,IAAeP,KAGjBQ,eAChBR,EAAOQ,eAAP,IAA4BR,EAAOQ,eAAeC,OAAlD,IAEAT,EAAOQ,eAAP,IAA4BT,EAAUW,MAAMF,eAAeG,IAAI,SAAAC,GAAA,OAAQA,EAAKC,KAAIJ,OAAhF,IAROd,EAAAd,KAAA,EAYOC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,kBAAmB,kBACxDa,EAAA,EAAKC,IAAI,iBACPe,aAdK,cAYHvB,EAZGkB,EAAAT,KAkBTrB,EAAOC,EAAA,WAAkBW,EAAEU,KAAK2B,OAlBvBnB,EAAAP,OAAA,SAmBFX,EAAEU,KAAK4B,OAnBL,wBAAApB,EAAAN,SAAAK,EAAAD,KAAArB,IAwBL4N,kBA9CO,SAAAzM,GAiDV,IAAAO,EAAA5B,KAFDL,EAEC0B,EAFD1B,OACAM,EACCoB,EADDpB,SACC,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAA4B,IAAA,IAAA1B,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA0B,GAAA,cAAAA,EAAAxB,KAAAwB,EAAAvB,MAAA,cAAAuB,EAAAvB,KAAA,EACeC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,oBAAqB,kBAC1Da,EAAA,EAAKC,IAAI,8BAFV,OACKR,EADL2B,EAAAlB,KAIDrB,EAAOC,EAAA,oBAA2BW,EAAEU,MAJnC,wBAAAiB,EAAAf,SAAAc,EAAAL,KAAA1B,IAUG6N,YA3DO,SAAApM,EA8DVa,GAAO,IAAAS,EAAAjD,KAFRL,EAEQgC,EAFRhC,OACAM,EACQ0B,EADR1B,SACQ,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAA6C,IAAA,IAAA3C,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,cAAAyC,EAAAzC,KAAA,EAEQC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,cAAe,kBACpDa,EAAA,EAAK6C,KAAK,gBAAiBnB,KAHrB,UAMO,MAJTjC,EAFE6C,EAAApC,MAMFC,KANE,CAAAmC,EAAAzC,KAAA,eAONhB,EAAOC,EAAA,UAAiBW,EAAEU,MAPpBmC,EAAAlC,OAAA,SAQCX,EAAEU,MARH,aAUN+M,QAAQC,MAAM1N,GACR,IAAImD,MAAJ,8BAXA,yBAAAN,EAAAjC,SAAA+B,EAAAD,KAAA/C,IAkBJgO,YAhFO,SAAAnL,EAkFVP,GAAO,IAAAsB,EAAA9D,KADRC,EACQ8C,EADR9C,SACQ,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAA0D,IAAA,IAAAxD,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAwD,GAAA,cAAAA,EAAAtD,KAAAsD,EAAArD,MAAA,cAAAqD,EAAArD,KAAA,EAEQC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,cAAe,kBACpDa,EAAA,EAAK6C,KAAK,gBAAiBnB,KAHrB,cAEFjC,EAFEyD,EAAAhD,KAAAgD,EAAA9C,OAAA,SAKDX,EAAEU,MALD,wBAAA+C,EAAA7C,SAAA4C,EAAAD,KAAA5D,IAWJiO,YA7FO,SAAAtK,EAgGVrB,GAAO,IAAA4B,EAAApE,KAFRL,EAEQkE,EAFRlE,OACAM,EACQ4D,EADR5D,SACQ,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAgE,IAAA,IAAA9D,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA8D,GAAA,cAAAA,EAAA5D,KAAA4D,EAAA3D,MAAA,cAAA2D,EAAA3D,KAAA,EAEQC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,cAAe,kBACpDa,EAAA,EAAK6C,KAAK,iBACRhB,GAAIH,EAAMG,OAJN,cAEFpC,EAFE+D,EAAAtD,KAQRrB,EAAOC,EAAA,aAAoB4C,GARnB8B,EAAApD,OAAA,SASDX,EAAEU,MATD,wBAAAqD,EAAAnD,SAAAkD,EAAAD,KAAAlE,IAcJ4I,yBA9GO,SAAA3E,GAiHV,IAAAM,EAAAzE,KAFDL,EAECwE,EAFDxE,OACAM,EACCkE,EADDlE,SACC,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAqE,IAAA,IAAAnE,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAmE,GAAA,cAAAA,EAAAjE,KAAAiE,EAAAhE,MAAA,cAAAgE,EAAAhE,KAAA,EAEeC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,2BAA4B,kBACjEa,EAAA,EAAKC,IAAI,qCAHV,OAEKR,EAFLoE,EAAA3D,KAMDrB,EAAOC,EAAA,4BAAmCW,EAAEU,MAN3C,wBAAA0D,EAAAxD,SAAAuD,EAAAD,KAAAvE,IAYGkO,gBA7HO,SAAA5J,EAgIVhC,GAAO,IAAA6L,EAAArO,KAFRL,EAEQ6E,EAFR7E,OACAM,EACQuE,EADRvE,SACQ,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAiO,IAAA,IAAA/N,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAA+N,GAAA,cAAAA,EAAA7N,KAAA6N,EAAA5N,MAAA,cAAA4N,EAAA5N,KAAA,EAEQC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,kBAAmB,kBACxDa,EAAA,EAAK6C,KAAK,0BACRiK,QAASpL,EAAMG,OAJX,aAQO,MANTpC,EAFEgO,EAAAvN,MAQFC,MACJtB,EAAOC,EAAA,+BAAsC,GATvC2O,EAAArN,OAAA,SAWDX,EAAEU,MAXD,wBAAAsN,EAAApN,SAAAmN,EAAAD,KAAAnO,IAiBJsO,gBAjJO,SAAAC,EAoJVjM,GAAO,IAAAkM,EAAA1O,KAFRL,EAEQ8O,EAFR9O,OACAM,EACQwO,EADRxO,SACQ,OAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAsO,IAAA,IAAApO,EAAA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAoO,GAAA,cAAAA,EAAAlO,KAAAkO,EAAAjO,MAAA,cAAAiO,EAAAjO,KAAA,EAEQC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,kBAAmB,kBACxDa,EAAA,EAAK6C,KAAK,0BACRhB,GAAIH,EAAMqM,SACVC,OAAQtM,EAAMsM,WALV,cAEFvO,EAFEqO,EAAA5N,KASRrB,EAAOC,EAAA,gCAAuC,GATtCgP,EAAA1N,OAAA,SAUDX,EAAEU,MAVD,wBAAA2N,EAAAzN,SAAAwN,EAAAD,KAAAxO,kGClJRU,OAAAmO,EAAA,oBAAAnO,EACFoO,WAAY,aAHZC,mBACAC,+FCPF1P,EAAA,SACEkO,UACApL,kBACAmJ,sBAAuB,uFCHzBjM,EAAA,SACE2P,OAAQ,SAAClK,GAAD,OAAWA,EAAMkK,QACzBnM,SAAU,SAACiC,GAAD,OAAWA,EAAMjC,UAC3BoM,UAAW,SAACnK,GAAD,OAAWA,EAAMmK,WAC5BC,SAAU,SAACpK,GAAD,OAAWA,EAAMoK,2JCF7B7P,EAAA,SAAA8P,KAAAvK,IAAAuK,EACGtK,EAAA,UADH,SACqBC,EAAOG,GACxBH,EAAMG,MAAQA,QAFlBL,IAAAuK,EAIGtK,EAAA,UAJH,SAIqBC,EAAOI,GACxBJ,EAAMI,MAAQA,QALlBN,IAAAuK,EAOGtK,EAAA,SAPH,SAOoBC,EAAOgC,GACvBhC,EAAMG,MAAMmK,KAAKtI,KARrBlC,IAAAuK,EAUGtK,EAAA,YAVH,SAUuBC,EAAOgC,GAC1BhC,EAAMG,MAAMoK,OAAOvK,EAAMG,MAAMqK,QAAQxI,GAAO,KAXlDqI,kLCGatM,GACXsC,YAAY,EACZL,MAAAM,EAAA,QACAC,QAAAC,EAAA,QACAC,QAAAC,EAAA,QACAC,UAAAC,EAAA,wECVF6J,GACEjD,KAAM,UACNiD,SACE9I,KAAM,IACNtH,KAAM,OACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,IAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,SACNtH,KAAM,QACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,KACxBC,MACEC,gBAAgB,KAIlBxJ,KAAM,yBACNtH,KAAM,gBACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,IAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,KACxBC,MACEC,gBAAgB,KAIlBxJ,KAAM,kBACNtH,KAAM,oBACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,KACxBC,MACEC,gBAAgB,KAOlBxJ,KAAM,QACNtH,KAAM,OACNqQ,UAAW,SAACC,GAAD,OAAaS,QAAAC,KAAA7J,EAAAoJ,EAAA,GAAApJ,EAAAoJ,EAAA,KAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,YACNtH,KAAM,WACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,iBACNtH,KAAM,YACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAMxBtJ,KAAM,SACNtH,KAAM,QACNqQ,UAAW,SAACC,GAAD,OAAaS,QAAAC,KAAA7J,EAAAoJ,EAAA,GAAApJ,EAAAoJ,EAAA,KAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,aACNtH,KAAM,YACNqQ,UAAW,SAACC,GAAD,OAAaS,QAAAC,KAAA7J,EAAAoJ,EAAA,GAAApJ,EAAAoJ,EAAA,KAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,kBACNtH,KAAM,aACNqQ,UAAW,SAACC,GAAD,OAAaS,QAAAC,KAAA7J,EAAAoJ,EAAA,GAAApJ,EAAAoJ,EAAA,KAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAOxBtJ,KAAM,YACNtH,KAAM,WACNqQ,UAAW,SAACC,GAAD,OAAaS,QAAAC,KAAA7J,EAAAoJ,EAAA,GAAApJ,EAAAoJ,EAAA,MAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,gBACNtH,KAAM,eACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,qBACNtH,KAAM,gBACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,oBACNtH,KAAM,mBACNqQ,UAAW,SAACC,GAAD,OAAaS,QAAAC,KAAA7J,EAAAoJ,EAAA,GAAApJ,EAAAoJ,EAAA,KAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAIxBtJ,KAAM,YACNtH,KAAM,gBACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,GAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,OAGxBtJ,KAAM,OACNtH,KAAM,YACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,IAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,KACxBC,MACEC,gBAAgB,KAOlBxJ,KAAM,IACNtH,KAAM,WACNqQ,UAAW,SAACC,GAAD,OAAanJ,EAAAoJ,EAAA,IAAAC,KAAA,WAAQ,IAAAC,GAACtJ,EAAA,SAAT,iBAAAuJ,KAAAhQ,OAAAiQ,MAAAxJ,EAAAyJ,KACxBC,MACEC,gBAAgB,4DChEtBG,EA3CmB,SAAC/G,EAAIgH,EAAM7P,GAE5B8P,IAAexD,OAAOyD,cAAc/J,QAAQ,SAAAjH,GAAyB,IAAAI,EAAA6Q,IAAAjR,EAAA,GAAvBkR,EAAuB9Q,EAAA,IAEnE+Q,EAFmE/Q,EAAA,aAI5DmN,OAAOyD,aAAaE,KAQ7BvD,EAAA,EAAMpN,SAAS,kBAGf,IAAIsM,EAAac,EAAA,EAAM7H,QAAQ,mBAG3BgE,EAAGsH,QAAQC,KAAK,SAACC,GAAD,OAAYA,EAAOb,KAAKC,iBAC1CzP,IAEU4L,EAGDA,GAA0B,SAAZ/C,EAAGlK,KACoB,SAA1C+N,EAAA,EAAM7H,QAAQ,mBAAmB2C,KACnCxH,EAAK,aAELA,EAAK,UAGE4L,GAAcc,EAAA,EAAM7H,QAAQ,uBACrCyL,SAAUzH,EAAGlK,OAEbqB,IAGAA,EAAK,QAfLA,EAAK,WCzBTgM,EAAA,QAAItG,IAAI6K,EAAA,GAER,IAAM9D,EAAS,IAAI8D,EAAA,EAAOxB,GAE1BtC,EAAO+D,WAAW,SAAC3H,EAAIgH,EAAM7P,GAC3B4P,EAAW/G,EAAIgH,EAAM7P,KAGvBnB,EAAA,6XCbO,IAAM4R,EAAY,YACZC,EAAa,aACbC,EAAe,eACfC,EAAsB,sBACtBC,EAA8B,8BAC9BC,EAAiC,4JCH9CjS,EAAA,SAAAkS,KAAA3M,IAAA2M,EACG1M,EAAA,aADH,SACwBC,EAAOjC,GAC3B,IAAI2O,EAAc,KACI,OAAlB3O,EAAS7D,OACXwS,EAAc,QAAU3O,EAAS4O,gBAAkB,WAAa5O,EAAS7D,MAE3E8F,EAAMjC,UACJL,GAAIK,EAASL,GACbY,cAAeP,EAASO,cACxBjE,KAAM0D,EAAS1D,KACfuS,SAAU7O,EAAS6O,SACnBrO,QAASR,EAASQ,QAClBrE,KAAM,KACN8E,WAAY0N,KAblB5M,IAAA2M,EAgBG1M,EAAA,WAhBH,SAgBsBC,EAAOkK,GACzBlK,EAAMkK,OAASA,QAjBnBpK,IAAA2M,EAmBG1M,EAAA,cAnBH,SAmByBC,EAAOmK,GAC5BnK,EAAMmK,UAAYA,QApBtBrK,IAAA2M,EAsBG1M,EAAA,aAtBH,SAsBwBC,EAAOjC,GAC3BiC,EAAMmK,UAAUG,KAAKvM,KAvBzB+B,IAAA2M,EAyBG1M,EAAA,gBAzBH,SAyB2BC,EAAOjC,GAC9BiC,EAAMmK,UAAUI,OAAOvK,EAAMmK,UAAUK,QAAQzM,GAAW,KA1B9D+B,IAAA2M,EA4BG1M,EAAA,eA5BH,SA4B0BC,GACtBA,EAAMjC,UACJL,GAAI,EACJY,cAAe,KACfjE,KAAM,KACNuS,SAAU,KACVrO,QAAS,KAKTrE,QAKAyS,gBAAiB,KAIjB3N,WAAY,QAhDlBc,IAAA2M,EAmDG1M,EAAA,cAnDH,SAmDyBC,EAAOoK,GAC5BpK,EAAMoK,SAAWA,IApDrBqC,0MCMAlS,EAAA,SAKQsS,SALO,SAAApS,EAQVqS,GAAa,IAAAhS,EAAAC,KAFdL,EAEcD,EAFdC,OACAM,EACcP,EADdO,SACc,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAAC,IAAA,IAAAC,EAAAyC,EAAA,OAAAoE,EAAAhH,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACEC,OAAAoR,EAAA,EAAApR,CAAaX,EAAU,WAAY,kBACjDqH,EAAA,EAAK3D,KAAK,gBAAiBoO,KAFf,cACRxR,EADQE,EAAAO,KAKdiR,aAAahK,MAAQ1H,EAAEU,KAAKgH,MAAMiK,aAE9BlP,EAAWzC,EAAEU,KAAK+B,SAEtBiP,aAAajP,SAAWmP,IAAenP,GASvCrD,EAAOC,EAAA,UAlBOa,EAAAS,OAAA,SAmBPX,EAAEU,MAnBK,wBAAAR,EAAAU,SAAAb,EAAAP,KAAAG,IAyBVkS,qBAjCO,SAAAtS,EAmCVoI,GAAO,IAAA3G,EAAAvB,KADRC,EACQH,EADRG,SACQ,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAAmB,IAAA,IAAAjB,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,cAAAc,EAAAd,KAAA,EACQC,OAAAoR,EAAA,EAAApR,CAAaX,EAAU,uBAAwB,kBAC7DqH,EAAA,EAAK3D,KAAK,8BACRuE,YAHI,cACF3H,EADEkB,EAAAT,KAAAS,EAAAP,OAAA,SAODX,EAAEU,MAPD,wBAAAQ,EAAAN,SAAAK,EAAAD,KAAArB,IAaJmS,eAhDO,SAAAhR,EAkDV4F,GAAM,IAAArF,EAAA5B,KADPC,EACOoB,EADPpB,SACO,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAA4B,IAAA,IAAA1B,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAA0B,GAAA,cAAAA,EAAAxB,KAAAwB,EAAAvB,MAAA,cAAAuB,EAAAvB,KAAA,EACSC,OAAAoR,EAAA,EAAApR,CAAaX,EAAU,iBAAkB,kBACvDqH,EAAA,EAAK3D,KAAK,uBAAwBsD,KAF7B,cACD1G,EADC2B,EAAAlB,KAAAkB,EAAAhB,OAAA,SAKAX,EAAEU,MALF,wBAAAiB,EAAAf,SAAAc,EAAAL,KAAA1B,IAUToS,UA5Da,SAAA3Q,GA8DV,IADDhC,EACCgC,EADDhC,OAEA,IACEA,EAAOC,EAAA,UACP,MAAOiQ,GACPlQ,EAAOC,EAAA,UAMXkL,OAxEa,SAAA/H,IA2EXpD,EADCoD,EADDpD,QAEOC,EAAA,QACP2S,EAAA,EAAOhD,KAAK,gGCpFhB/P,EAAA,SACE4F,SACAC,gZCFK,IAAMmN,EAAe,eACfC,EAAkB,kBAClBC,EAAe,eACfC,EAAgB,gBAChBC,EAAa,aACbC,EAAiB,iBAEjBC,EAAgB,oGCP7BtT,EAAA,SACEwI,WAAY,SAAC/C,GAAD,OAAWA,EAAM+C,YAC7BuE,WAAY,SAACtH,GACX,OAAkC,OAA3BA,EAAM+C,WAAWC,OAE1B8K,cAAe,SAAC9N,EAAOpD,GAAR,OAAsB,SAAAnC,GAG/B,IAFJuR,EAEIvR,EAFJuR,SAEI+B,EAAAtT,EADJuT,iBACIjR,IAAAgR,EADQ,OACRA,EACJ,OAGe,IAFbnR,EAAUmG,WAAWI,YAAY8K,OAAO,SAAAC,GAAA,OACtCA,EAAElC,WAAaA,IAAakC,EAAEC,eAAexK,MAAM,KAAK+C,SAASsH,IAAmC,QAArBE,EAAEC,kBACjF/T,SAGN+M,cAAe,SAAAnH,GAAA,OAAS,SAAAyD,GAEtB,YAAsC,IAAxBA,EAAMyH,KAAKkD,WAE3BC,UAAW,SAACrO,EAAOpD,GACjB,IAAIyR,IACFhU,KAAM,YACNoJ,MAAO,YACP6K,YAAa,8BACbnJ,KAAM,OACNoJ,gBAAgB,EAChB5H,aAAa,EACb6H,aAAa,IAGbnU,KAAM,QACNoJ,MAAO,QACP6K,YAAa,8BACbnJ,KAAM,mBACNoJ,gBAAgB,EAChB5H,aAAa,EACb6H,aAAa,IAGbnU,KAAM,aACNoJ,MAAO,YACP6K,YAAa,8BACbnJ,KAAM,mBACNoJ,gBAAgB,EAChB5H,aAAa,EACb8H,kBAAkB,IAGlBpU,KAAM,SACNoJ,MAAO,SACP6K,YAAa,8BACbnJ,KAAM,mBACNoJ,gBAAgB,EAChB5H,aAAa,IAIf,OAAQ/J,EAAUmG,WAAWG,MAC3B,IAAK,aACH,OAAOmL,EACT,IAAK,QACH,OAAOA,EAAUJ,OAAO,SAACC,GAAD,OAAQA,EAAEO,mBACpC,IAAK,OACH,OAAOJ,EAAUJ,OAAO,SAACC,GAAD,OAAQA,EAAEM,cAAgBN,EAAEO,iJC7D5DlU,EAAA,SAAAmU,KAAA5O,IAAA4O,EACG3O,EAAA,UADH,SACoBC,EAAOzC,GACvByC,EAAMyI,OAAO6B,KAAK/M,KAFtBuC,IAAA4O,EAIG3O,EAAA,WAJH,SAIqBC,EAAOyI,GACxBzI,EAAMyI,OAASA,QALnB3I,IAAA4O,EAOG3O,EAAA,aAPH,SAOuBC,EAAOzC,GAC1ByC,EAAMyI,OAAO8B,OAAOvK,EAAMyI,OAAO+B,QAAQjN,GAAQ,KARrDuC,IAAA4O,EAUG3O,EAAA,oBAVH,SAU8BC,EAAO3C,GACjC2C,EAAM3C,eAAiBA,QAX3ByC,IAAA4O,EAaG3O,EAAA,4BAbH,SAasCC,EAAOpC,GACzCoC,EAAMwG,sBAAwB5I,IAdlCkC,IAAA4O,EAgBG3O,EAAA,+BAhBH,SAgByCC,EAAOpC,GAC5CoC,EAAMwG,uBAAyB5I,IAjBnC8Q,uFCFAnU,EAAA,SACE0F,YAAa,SAAAD,GAAA,OAASA,EAAMC,aAC5BC,YAAa,SAAAF,GAAA,OAASA,EAAME,8JCC9B3F,EAAA,SAAAoU,KAAA7O,IAAA6O,EACG5O,EAAA,SADH,SACmBC,GACf,IACE,IAAIgD,EAAQgK,aAAahK,MACzB,GAAIA,EAAO,CACT,IAAI4L,EAAQ1R,KAAKC,MAAM0R,IAAU7L,GAAOhB,MACpC8M,EAAY5R,KAAKC,MAAM6P,aAAajP,UACxCiC,EAAM+C,YACJC,QACAC,MAAO2L,EAAM3L,MACbC,KAAM0L,EAAMxO,MAAM,GAAG/F,KACrB8I,YAAayL,EAAMzL,YACnBpF,SAAU6Q,EAAM7Q,SAChBqF,kBAAmD,IAA9B4J,aAAa5J,aAA+B,KAAO4J,aAAa5J,aACrF/F,eAAgBH,KAAKC,MAAM2R,EAAUzR,sBAGvC2C,EAAM+C,YACJC,MAAO,KACPC,MAAO,KACPC,KAAM,MAGV,MAAO0H,GACP,MAAMA,KAxBZ9K,IAAA6O,EA2BG5O,EAAA,OA3BH,SA2BiBC,GACbgN,aAAa+B,QACb/O,EAAM+C,YACJC,MAAO,KACPC,MAAO,KACPC,KAAM,QAhCZyL,8LCGApU,EAAA,SAKQyU,mBALO,SAAAvU,EASVoC,GAAQ,IAAA/B,EAAAC,KAHT6B,EAGSnC,EAHTmC,UACAlC,EAESD,EAFTC,OACAM,EACSP,EADTO,SACS,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAAC,IAAA,IAAAC,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,mBAK4B,KAHrCmB,EAASK,KAAKC,MAAM+P,IAAerQ,KAGjBQ,eAChBR,EAAOQ,eAAP,IAA4BR,EAAOQ,eAAeC,OAAlD,IAEAT,EAAOQ,eAAP,IAA4BT,EAAUW,MAAMF,eAAeG,IAAI,SAAAC,GAAA,OAAQA,EAAKC,KAAIJ,OAAhF,IARO9B,EAAAE,KAAA,EAYOC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,qBAAsB,kBAC3Da,EAAA,EAAKC,IAAL,uBACEe,aAdK,cAYHvB,EAZGE,EAAAO,KAkBTrB,EAAOC,EAAA,UAAiBW,EAAEU,KAAK2B,OAlBtBnC,EAAAS,OAAA,SAmBFX,EAAEU,KAAK4B,OAnBL,wBAAApC,EAAAU,SAAAb,EAAAP,KAAAG,IAwBLgU,SAjCO,SAAApU,GAoCV,IAAAyB,EAAAvB,KAFDL,EAECG,EAFDH,OACAM,EACCH,EADDG,SACC,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAAmB,IAAA,IAAAjB,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,cAAAc,EAAAd,KAAA,EAEeC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,WAAY,kBACjDa,EAAA,EAAK6C,KAAL,oBAHD,cAEKpD,EAFLkB,EAAAT,KAMDrB,EAAOC,EAAA,UAAiBW,EAAEU,MANzBQ,EAAAP,OAAA,SAOMX,EAAEU,KAAK4B,OAPb,wBAAApB,EAAAN,SAAAK,EAAAD,KAAArB,IAaGiU,WAjDO,SAAA9S,EAoDV4F,GAAM,IAAArF,EAAA5B,KAFPL,EAEO0B,EAFP1B,OACAM,EACOoB,EADPpB,SACO,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAA4B,IAAA,IAAA1B,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAA0B,GAAA,cAAAA,EAAAxB,KAAAwB,EAAAvB,MAAA,cAEHsG,EAAKmN,sBAAsB/U,OAAS,IACtC4H,EAAKoN,iBAAmBpN,EAAKmN,sBAAsB3R,IAAI,SAAC6R,GAAD,OAAQA,EAAGpM,QAAO3F,KAAK,MAHzEL,EAAAvB,KAAA,EAOSC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,aAAc,kBACnDa,EAAA,EAAK6C,KAAK,eAAgBsD,KARrB,UAYQ,MALT1G,EAPC2B,EAAAlB,MAYDC,KAZC,CAAAiB,EAAAvB,KAAA,QAaLhB,EAAOC,EAAA,SAAgBW,EAAEU,MACzBgG,EAAKoN,iBAAmB,KAdnBnS,EAAAvB,KAAA,sBAgBC,IAAI+C,MAAM,8DAhBX,eAAAxB,EAAAhB,OAAA,SAmBAX,EAAEU,MAnBF,yBAAAiB,EAAAf,SAAAc,EAAAL,KAAA1B,IAyBHqU,WA7EO,SAAA5S,EA+EVsF,GAAM,IAAAhE,EAAAjD,KADPC,EACO0B,EADP1B,SACO,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAA6C,IAAA,IAAA3C,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,cAEHsG,EAAKmN,sBAAsB/U,OAAS,IACtC4H,EAAKoN,iBAAmBpN,EAAKmN,sBAAsB3R,IAAI,SAAC6R,GAAD,OAAQA,EAAGpM,QAAO3F,KAAK,MAHzEa,EAAAzC,KAAA,EAOSC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,aAAc,kBACnDa,EAAA,EAAK6C,KAAL,eAA0BsD,KARrB,WAYS,KALV1G,EAPC6C,EAAApC,MAYDC,KAZC,CAAAmC,EAAAzC,KAAA,cAaC,IAAI+C,MAAM,8DAbX,UAeQ,IAAXnD,EAAEU,KAfC,CAAAmC,EAAAzC,KAAA,eAgBC,IAAI+C,MAAM,yCAhBX,eAAAN,EAAAlC,OAAA,SAkBEX,EAAEU,MAlBJ,yBAAAmC,EAAAjC,SAAA+B,EAAAD,KAAA/C,IAyBHsU,WAxGO,SAAAzR,EA2GVkE,GAAM,IAAAnD,EAAA9D,KAFPL,EAEOoD,EAFPpD,OACAM,EACO8C,EADP9C,SACO,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAA0D,IAAA,IAAAxD,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAAwD,GAAA,cAAAA,EAAAtD,KAAAsD,EAAArD,MAAA,cAAAqD,EAAArD,KAAA,EAESC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,aAAc,kBACnDa,EAAA,EAAK6C,KAAL,gBACEhB,GAAIsE,EAAKtE,OAJN,cAEDpC,EAFCyD,EAAAhD,KAQPrB,EAAOC,EAAA,YAAmBqH,GARnBjD,EAAA9C,OAAA,SASAX,EAAEU,MATF,wBAAA+C,EAAA7C,SAAA4C,EAAAD,KAAA5D,IAeHuU,QA1HO,SAAA5Q,EA4HV6Q,GAAQ,IAAAtQ,EAAApE,KADTC,EACS4D,EADT5D,SACS,OAAAC,IAAAkH,EAAAhH,EAAAC,KAAA,SAAAgE,IAAA,IAAA9D,EAAA,OAAA6G,EAAAhH,EAAAI,KAAA,SAAA8D,GAAA,cAAAA,EAAA5D,KAAA4D,EAAA3D,MAAA,cAAA2D,EAAA3D,KAAA,EAEOC,OAAAC,EAAA,EAAAD,CAAaX,EAAU,UAAW,kBAChDa,EAAA,EAAKC,IAAL,gBAAyB2T,KAHlB,UAKM,MAHTnU,EAFG+D,EAAAtD,MAKHC,KALG,CAAAqD,EAAA3D,KAAA,eAAA2D,EAAApD,OAAA,SAMAX,EAAEU,MANF,aAQD,IAAIyC,MAAM,mBART,wBAAAY,EAAAnD,SAAAkD,EAAAD,KAAAlE,2GChIPyU,EAAO1H,OAAOF,OAAO6H,OAE3B3H,OAAOyD,gBACPzD,OAAO4H,yBAA2B,wBAAyB,kBAG3DC,EAAA1U,EAAM2U,aAAaC,QAAQ3O,IACzB,SAAA0G,GAOE,QALkC,IAAvBkF,aAAahK,QACtB8E,EAAOkI,QAAP,cAAkC,UAAYhD,aAAahK,OAK3DgF,OAAO4H,wBAAwB9D,KAAK,SAAC5D,EAAI/N,EAAGgB,GAC1C,OAAO2M,EAAOmI,IAAIvJ,SAASwB,KAG7B,OAAOJ,EAIT,GAAsB,QAAlBA,EAAOoI,OAAkB,CAC3B,IAAIC,EAASN,EAAA1U,EAAMiV,YAAYD,SAG/BrI,EAAOuI,YAAcF,EAAOnN,MAC5B8E,EAAOwI,cAAgBC,IAA2B,KAAhBC,KAAKC,UAGvCzI,OAAOyD,aAAa3D,EAAOwI,eAAiBH,EAAOvE,OAGrD,OAAO9D,GAET,SAAAkB,GAEE,OAAO0H,EAAAvV,EAAQwV,OAAO3H,KAK1B6G,EAAA1U,EAAM2U,aAAac,SAASxP,IAC1B,SAAAwP,GAGE,cADO5I,OAAOyD,aAAamF,EAAS9I,OAAOwI,eACpCM,GAET,SAAA5H,GAOE,OAAO0H,EAAAvV,EAAQwV,OAAO3H,KAK1BzO,EAAA,GACEuB,IAAK,SAAC+U,GAAwB,IAAd7U,EAAcc,UAAA1C,OAAA,QAAA2C,IAAAD,UAAA,GAAAA,UAAA,MAC5B,OAAO+S,EAAA1U,EAAMW,IAAN,GAAa4T,EAAOmB,EAAY7U,IAEzC0C,KAAM,SAACmS,GAAqC,IAA3B7U,EAA2Bc,UAAA1C,OAAA,QAAA2C,IAAAD,UAAA,GAAAA,UAAA,MAAhBgL,EAAgBhL,UAAA1C,OAAA,QAAA2C,IAAAD,UAAA,GAAAA,UAAA,MAC1C,OAAO+S,EAAA1U,EAAMuD,KAAN,GAAcgR,EAAOmB,EAAY7U,EAAM8L,yFCpElDvN,EAAA,SACE2P,UACAnM,UACEL,GAAI,EACJY,cAAe,KACfjE,KAAM,KACNuS,SAAU,KACVrO,QAAS,KAKTrE,QAKAyS,gBAAiB,KAIjB3N,WAAY,MAEdmL,aACAC,kQCxBK,IAAM0G,EAAY,YACZC,EAAY,YACZC,EAAW,WACXC,EAAc,sCCH3B,IAAAzT,GACA0T,oBAAA,OACAC,oBAAA,OACAC,kBAAA,OACAC,sBAAA,OACAC,kBAAA,OACAC,kBAAA,OACAC,wBAAA,OACAC,wBAAA,OACAC,sBAAA,OACAC,0BAAA,OACAC,sBAAA,OACAC,sBAAA,OACAC,wBAAA,OACAC,wBAAA,OACAC,sBAAA,OACAC,0BAAA,OACAC,sBAAA,OACAC,sBAAA,OACAC,oBAAA,OACAC,oBAAA,OACAC,kBAAA,OACAC,sBAAA,OACAC,kBAAA,OACAC,kBAAA,OACAC,qBAAA,OACAC,qBAAA,OACAC,mBAAA,OACAC,uBAAA,OACAC,mBAAA,OACAC,mBAAA,QAEA,SAAAC,EAAAC,GACA,OAAAzR,EAAA0R,EAAAD,IAEA,SAAAC,EAAAD,GACA,IAAAvV,EAAAF,EAAAyV,GACA,KAAAvV,EAAA,GACA,UAAAe,MAAA,uBAAAwU,EAAA,MACA,OAAAvV,EAEAsV,EAAAvR,KAAA,WACA,OAAA9F,OAAA8F,KAAAjE,IAEAwV,EAAArI,QAAAuI,EACAvT,EAAAC,QAAAoT,EACAA,EAAAtV,GAAA","file":"static/js/app.5a49080d5cee7152a480.js","sourcesContent":["import {\r\n startLoading\r\n} from '@/plugins/loading'\r\nimport http from '@/plugins/api'\r\nimport * as types from './types'\r\n\r\nfunction isLogoFormatValid(logo) {\r\n // Check if selected images has valid extensions\r\n for (let i = 0; i < logo.length; i++) {\r\n var ext = logo[i].name.match(/\\.([^.]+)$/)[1]\r\n\r\n // Return false if extension is invalid\r\n if (ext.match(/(jpg|jpeg|png)/) === null) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nexport default {\r\n /**\r\n * Reset location values to its defaults\r\n */\r\n resetLocationValues({\r\n commit\r\n }) {\r\n commit(types.RESET_LOCATION)\r\n },\r\n /**\r\n * Get states\r\n * @param {Number} locationID - Location ID\r\n */\r\n async getStates({\r\n commit,\r\n dispatch\r\n }) {\r\n const r = await startLoading(dispatch, 'getStates', () =>\r\n http.get('location/getstates')\r\n )\r\n commit(types.SET_STATES, r.data)\r\n return r.data\r\n },\r\n /**\r\n * Get location by id\r\n * @param {Number} locationID - Location ID\r\n */\r\n async getLocation({\r\n dispatch\r\n }, locationID) {\r\n const r = await startLoading(dispatch, 'getLocation', () =>\r\n http.get(`location/get?id=${locationID}`)\r\n )\r\n return r.data\r\n },\r\n /**\r\n * Get all locations by based on user\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getLocationsByUser({\r\n rootState,\r\n commit,\r\n dispatch\r\n }, params = {}) {\r\n // Remove object reactivity\r\n params = JSON.parse(JSON.stringify(params))\r\n\r\n // Set market segments by default (used on Upsert User) or assigned the ones selected in the search area (used on Location List)\r\n if (typeof params.marketSegments !== 'undefined') {\r\n params.marketSegments = `[${params.marketSegments.join()}]`\r\n } else {\r\n params.marketSegments = `[${rootState.video.marketSegments.map(item => item.id).join()}]`\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'getLocationsByUser', () =>\r\n http.get('location/getbyuser', {\r\n params\r\n })\r\n )\r\n // Set locations\r\n commit(types.SET_LOCATIONS, r.data.items)\r\n\r\n return r.data.count\r\n },\r\n /**\r\n * Create new location\r\n */\r\n async createLocation({\r\n commit,\r\n dispatch\r\n }, location) {\r\n // Prepare FormData\r\n let formData = new FormData()\r\n formData.append('name', location.name)\r\n formData.append('accountNumber', location.accountNumber)\r\n formData.append('stateID', location.stateID)\r\n formData.append('marketSegments', location.marketSegments)\r\n\r\n // Append photos to FormData\r\n if (location.logo !== null && location.logo.length > 0) {\r\n if (isLogoFormatValid(location.logo)) {\r\n if (location.logo[0].size > 150000) {\r\n throw new Error('File is too big. (Limit 150kb)')\r\n }\r\n for (let i = 0; i < location.logo.length; i++) {\r\n formData.append('logo', location.logo[i])\r\n }\r\n } else {\r\n location.logo = []\r\n throw new Error(`The selected file has an invalid extension. Please make sure you select a file with extension JPG, JPEG or PNG.`)\r\n }\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'createLocation', () =>\r\n http.post('location/create', formData)\r\n )\r\n // Note: If there's no data, it means that the location already exists\r\n if (r.data !== '') {\r\n commit(types.ADD_LOCATION, r.data)\r\n return r.data\r\n } else {\r\n throw new Error('Location already exists.')\r\n }\r\n },\r\n /**\r\n * Update existing location\r\n */\r\n async updateLocation({\r\n dispatch\r\n }, location) {\r\n // Prepare FormData\r\n let formData = new FormData()\r\n formData.append('id', location.id)\r\n formData.append('name', location.name)\r\n formData.append('accountNumber', location.accountNumber)\r\n formData.append('marketSegments', location.marketSegments)\r\n formData.append('stateID', location.stateID)\r\n formData.append('updateLogo', (location.logo === null && location.logoBase64 !== null) ? 0 : 1)\r\n\r\n // Append photos to FormData\r\n if (location.logo !== null && location.logo.length > 0) {\r\n if (isLogoFormatValid(location.logo)) {\r\n if (location.logo[0].size > 150000) {\r\n throw new Error('File is too big. (Limit 150kb)')\r\n }\r\n for (let i = 0; i < location.logo.length; i++) {\r\n formData.append('logo', location.logo[i])\r\n }\r\n } else {\r\n location.logo = []\r\n throw new Error(`The selected file has an invalid extension. Please make sure you select a file with extension JPG, JPEG or PNG.`)\r\n }\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'updateLocation', () =>\r\n http.post('location/update', formData)\r\n )\r\n if (r.data === -1) {\r\n throw new Error('Location name already exists.')\r\n } else {\r\n return r.data\r\n }\r\n },\r\n /**\r\n * Delete an existing location\r\n */\r\n async deleteLocation({\r\n commit,\r\n dispatch\r\n }, location) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'deleteLocation', () =>\r\n http.post('location/delete', {\r\n id: location.id\r\n })\r\n )\r\n\r\n commit(types.DELETE_LOCATION, location)\r\n return r.data\r\n },\r\n /**\r\n * Get all locations by based on user\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getReportKPI({\r\n commit,\r\n dispatch\r\n }, locationID) {\r\n const r = await startLoading(dispatch, 'getReportKPI', () =>\r\n http.post('location/update', locationID)\r\n )\r\n\r\n commit(types.SET_KPI_STATS, r.data)\r\n return r.data\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/actions.js","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/footer_logo.png\n// module id = 2dPJ\n// module chunks = 16","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/logo.png\n// module id = 7Otq\n// module chunks = 16","import * as types from './types'\r\n\r\nexport default {\r\n [types.SET_FIRST_CATEGORIES](state, categories1) {\r\n state.categories1 = categories1 || []\r\n },\r\n [types.SET_SECOND_CATEGORIES](state, categories2) {\r\n state.categories2 = categories2 || []\r\n },\r\n [types.RESET_SECOND_CATEGORIES](state) {\r\n state.categories2 = []\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/category/mutations.js","export default {\r\n users: (state) => state.users,\r\n roles: (state) => state.roles\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/getters.js","export default {\r\n categories1: [],\r\n categories2: []\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/category/state.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const video = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/video/index.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const auth = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/index.js","export const SET_USER = 'SET_USER'\r\nexport const LOGOUT = 'LOGOUT'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/types.js","export const SET_FIRST_CATEGORIES = 'SET_FIRST_CATEGORIES'\r\nexport const SET_SECOND_CATEGORIES = 'SET_SECOND_CATEGORIES'\r\nexport const RESET_SECOND_CATEGORIES = 'RESET_SECOND_CATEGORIES'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/category/types.js","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nVue.use(Vuex)\r\n\r\nconst modules = {}\r\nconst files = require.context('./modules', true, /\\.js$/)\r\n\r\nfiles.keys().forEach((path, i) => {\r\n const module = files(path)\r\n Object.keys(module).forEach(lang => {\r\n modules[lang] = module[lang]\r\n })\r\n})\r\n\r\nexport default new Vuex.Store({\r\n modules\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const category = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/category/index.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const user = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/index.js","import {\r\n startLoading\r\n} from '@/plugins/loading'\r\nimport http from '@/plugins/api'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Get categories 1\r\n */\r\n async getCategories1({\r\n commit,\r\n dispatch\r\n }) {\r\n const r = await startLoading(dispatch, 'getCategories1', () =>\r\n http.get('videos/getCategories1')\r\n )\r\n commit(types.SET_FIRST_CATEGORIES, r.data)\r\n return r.data || []\r\n },\r\n /**\r\n * Get categories 2 based on passed in section 1\r\n * @param {string} category1 - Section 1 text\r\n */\r\n async getCategories2ByCategory1({\r\n commit,\r\n dispatch\r\n }, category1) {\r\n const r = await startLoading(dispatch, 'getCategories2ByCategory1', () =>\r\n http.get(`videos/getCategories2ByCategory1?category1=${encodeURIComponent(category1)}`)\r\n )\r\n\r\n commit(types.SET_SECOND_CATEGORIES, r.data)\r\n return r.data || []\r\n },\r\n /**\r\n * Create new category\r\n * @param {string} category\r\n */\r\n async createCategory({\r\n dispatch\r\n }, category) {\r\n const r = await startLoading(dispatch, 'createCategory', () =>\r\n http.post(`videos/createCategory`, category)\r\n )\r\n\r\n return r.data\r\n },\r\n /**\r\n * Delete new category\r\n * @param {number} categoryId\r\n */\r\n async deleteCategory({\r\n dispatch\r\n }, {\r\n id,\r\n isCategory1\r\n }) {\r\n const r = await startLoading(dispatch, 'deleteCategory', () =>\r\n http.post(`videos/deleteCategory?isCategory1=${isCategory1}`, {\r\n ID: id\r\n })\r\n )\r\n\r\n return r.data\r\n },\r\n /**\r\n * Reset categories2 value\r\n */\r\n resetCategories2({\r\n commit\r\n }) {\r\n commit(types.RESET_SECOND_CATEGORIES)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/category/actions.js","export default {\r\n loggedUser: {\r\n token: null,\r\n email: null,\r\n role: null,\r\n permissions: null,\r\n location: null,\r\n locationLogo: null,\r\n marketSegments: null\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/state.js","\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/BaseTopNav.vue","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseTopNav.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseTopNav.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-99b5b1f4\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BaseTopNav.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BaseTopNav.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"navbar\",attrs:{\"id\":\"top\"}},[_c('div',{staticClass:\"navbar-brand\"},[_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"The Home Depot Pro\"}})]),_vm._v(\" \"),(_vm.isLoggedIn)?_c('b-dropdown',{staticClass:\"is-hidden-tablet\",model:{value:(_vm.activeMenuItem),callback:function ($$v) {_vm.activeMenuItem=$$v},expression:\"activeMenuItem\"}},[_c('button',{staticClass:\"button is-primary\",attrs:{\"slot\":\"trigger\",\"type\":\"button\"},slot:\"trigger\"},[[_c('b-icon',{attrs:{\"icon\":_vm.iconActiveRoute}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.activeRoute))])]],2),_vm._v(\" \"),_vm._l((_vm.menuItems),function(item){return _c('b-dropdown-item',{key:item.name,attrs:{\"has-link\":true}},[_c('router-link',{key:item.name,attrs:{\"to\":item.route,\"replace\":true}},[_c('div',{staticClass:\"media\"},[_c('b-icon',{staticClass:\"media-left\",attrs:{\"icon\":item.icon}}),_vm._v(\" \"),_c('div',{staticClass:\"media-content\"},[_c('h3',[_vm._v(_vm._s(item.name))])])],1)])],1)}),_vm._v(\" \"),_c('hr',{staticClass:\"dropdown-divider\"}),_vm._v(\" \"),_c('b-dropdown-item',{on:{\"click\":_vm.logOut}},[_c('div',{staticClass:\"media\"},[_c('b-icon',{staticClass:\"media-left\",attrs:{\"icon\":\"power\"}}),_vm._v(\" \"),_c('div',{staticClass:\"media-content\"},[_c('h3',[_vm._v(\"Log Out\")])])],1)])],2):_vm._e()],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{staticClass:\"navbar-menu is-hidden-mobile\"},[_c('div',{staticClass:\"navbar-end\"},[_c('b-dropdown',{attrs:{\"hoverable\":\"\",\"position\":\"is-bottom-left\"}},[_c('a',{staticClass:\"navbar-item\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('span',[_vm._v(_vm._s(_vm.loggedUser.email))]),_vm._v(\" \"),_c('b-icon',{attrs:{\"icon\":\"menu-down\"}})],1),_vm._v(\" \"),_c('b-dropdown-item',{attrs:{\"has-link\":\"\"}},[_c('a',{on:{\"click\":_vm.logOut}},[_c('i',{staticClass:\"mdi mdi-power\"}),_vm._v(\"\\n Log Out\\n \")])])],1)],1)]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-99b5b1f4\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BaseTopNav.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/BaseMenuList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer\"},[_c('div',{staticClass:\"columns is-vcentered\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"column has-text-right\"},[_c('small',[_vm._v(_vm._s(_vm.version))])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column is-offset-one-third is-one-third has-text-centered\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/footer_logo.png\"),\"alt\":\"The Home Depot Pro - A Home Depot Company\"}})])}]\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-449bbefe\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/FooterLogo.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseMenuList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseMenuList.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-38ba32ab\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BaseMenuList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BaseMenuList.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"menu-list\"},_vm._l((_vm.menuItems),function(item){return _c('router-link',{key:item.name,attrs:{\"to\":item.route,\"activeClass\":\"active\",\"tag\":\"li\"}},[_c('a',[_vm._v(\"\\n \"+_vm._s(item.name)+\" \"),(item.name === 'Videos' && _vm.incompleteVideosCount > 0)?_c('span',{staticClass:\"tag is-rounded is-warning\"},[_vm._v(_vm._s(_vm.incompleteVideosCount))]):_vm._e(),_vm._v(\" \"),(_vm.showIcons(item.route))?_c('div',{staticClass:\"menu-icons is-pulled-right\"},[(item.showReportIcon)?_c('router-link',{staticClass:\"mdi mdi-sort-variant \",attrs:{\"tag\":\"i\",\"to\":((item.route) + \"/reports\")}}):_vm._e(),_vm._v(\" \"),(['SuperAdmin', 'Admin'].includes(_vm.loggedUser.role) && item.showAddIcon)?_c('router-link',{staticClass:\"mdi mdi-plus-box\",attrs:{\"tag\":\"i\",\"to\":((item.route) + \"/add\")}}):_vm._e()],1):_vm._e()])])}))}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-38ba32ab\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BaseMenuList.vue\n// module id = null\n// module chunks = ","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./FooterLogo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./FooterLogo.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-449bbefe\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./FooterLogo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/FooterLogo.vue\n// module id = null\n// module chunks = ","\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/FooterLogo.vue","function injectStyle (context) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c3ad5380\\\",\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c3ad5380\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(!_vm.isRoutePublic(_vm.$route))?_c('top-nav'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"columns\",class:{'is-marginless' : _vm.isLoggedIn && !_vm.isRoutePublic(_vm.$route) }},[(_vm.isLoggedIn &&!_vm.$route.path.includes('login') && !_vm.$route.path.includes('resetpassword') && !_vm.$route.path.includes('download'))?_c('aside',{staticClass:\"column is-2 aside hero is-fullheight is-hidden-mobile\"},[_c('div',[_c('div',{staticClass:\"main\"},[_c('menu-list',{attrs:{\"role\":_vm.loggedUser.role}})],1)])]):_vm._e(),_vm._v(\" \"),_c('main',{staticClass:\"column\",class:{'is-10' : _vm.isLoggedIn && !_vm.isRoutePublic(_vm.$route) }},[_c('transition',{attrs:{\"name\":\"component-fade\",\"mode\":\"out-in\"}},[_c('router-view',{key:_vm.$route.fullPath})],1)],1)]),_vm._v(\" \"),_c('footer-bar')],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c3ad5380\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport 'babel-polyfill'\r\n\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport store from './store'\r\n\r\n// Third party libraries\r\nimport Buefy from 'buefy'\r\nimport VueLoading from 'vuex-loading'\r\nimport VeeValidate from 'vee-validate'\r\n\r\n// Buefy\r\nVue.use(Buefy)\r\n\r\n// Vue loading\r\nVue.use(VueLoading)\r\n\r\n// Vee validate\r\nVue.use(VeeValidate)\r\n\r\nVue.config.productionTip = false\r\n\r\n/* eslint-disable no-new */\r\nwindow.app = new Vue({\r\n el: '#app',\r\n router,\r\n store,\r\n vueLoading: new VueLoading({ useVuex: true }),\r\n template: '',\r\n components: {\r\n App\r\n }\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","export default {\r\n videos: state => state.videos,\r\n marketSegments: state => state.marketSegments,\r\n incompleteVideosCount: (state) => state.incompleteVideosCount\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/video/getters.js","import {\r\n startLoading\r\n} from '@/plugins/loading'\r\nimport http from '@/plugins/api'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Get video\r\n * @param {Number} videoId - Video's ID\r\n */\r\n async getVideo({\r\n dispatch\r\n }, videoId) {\r\n const r = await startLoading(dispatch, 'getVideo', () =>\r\n http.get(`videos/get?id=${videoId}`)\r\n )\r\n\r\n return r.data\r\n },\r\n /**\r\n * Get videos by search\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getVideosSearch({\r\n rootState,\r\n commit,\r\n dispatch\r\n }, params) {\r\n // Remove object reactivity\r\n params = JSON.parse(JSON.stringify(params))\r\n\r\n // Set market segments by default (used on Upsert User) or assigned the ones selected in the search area (used on Location List)\r\n if (typeof params.marketSegments !== 'undefined') {\r\n params.marketSegments = `[${params.marketSegments.join()}]`\r\n } else {\r\n params.marketSegments = `[${rootState.video.marketSegments.map(item => item.id).join()}]`\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'getVideosSearch', () =>\r\n http.get('videos/search', {\r\n params\r\n })\r\n )\r\n\r\n commit(types.SET_VIDEOS, r.data.items)\r\n return r.data.count\r\n },\r\n /**\r\n * Get market segments\r\n */\r\n async getMarketSegments({\r\n commit,\r\n dispatch\r\n }) {\r\n const r = await startLoading(dispatch, 'getMarketSegments', () =>\r\n http.get('videos/getMarketSegments')\r\n )\r\n commit(types.SET_MARKET_SEGMENTS, r.data)\r\n },\r\n /**\r\n * Create a new video\r\n * @param {Object} video - Video's data\r\n */\r\n async createVideo({\r\n commit,\r\n dispatch\r\n }, video) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'createVideo', () =>\r\n http.post('videos/create', video)\r\n )\r\n\r\n if (r.data !== '') {\r\n commit(types.ADD_VIDEO, r.data)\r\n return r.data\r\n } else {\r\n console.error(r)\r\n throw new Error(`We couldn't add the video.`)\r\n }\r\n },\r\n /**\r\n * Update an existing video\r\n * @param {Object} video - Video's data\r\n */\r\n async updateVideo({\r\n dispatch\r\n }, video) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'updateVideo', () =>\r\n http.post('videos/update', video)\r\n )\r\n return r.data\r\n },\r\n /**\r\n * Delete an existing video\r\n * @param {Object} video - Video's data\r\n */\r\n async deleteVideo({\r\n commit,\r\n dispatch\r\n }, video) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'deleteVideo', () =>\r\n http.post('videos/delete', {\r\n id: video.id\r\n })\r\n )\r\n\r\n commit(types.DELETE_VIDEO, video)\r\n return r.data\r\n },\r\n /**\r\n * Get incomplete videos count\r\n */\r\n async getIncompleteVideosCount({\r\n commit,\r\n dispatch\r\n }) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'getIncompleteVideosCount', () =>\r\n http.get('videos/GetIncompleteVideosCount')\r\n )\r\n\r\n commit(types.SET_INCOMPLETE_VIDEOS_COUNT, r.data)\r\n },\r\n /**\r\n * Create a new User video record\r\n * @param {Object} userVideo - User Video's data\r\n */\r\n async createUserVideo({\r\n commit,\r\n dispatch\r\n }, video) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'createUserVideo', () =>\r\n http.post('videos/createUserVideo', {\r\n videoId: video.id\r\n })\r\n )\r\n\r\n if (r.data !== '') {\r\n commit(types.UPDATE_INCOMPLETE_VIDEOS_COUNT, +1)\r\n }\r\n return r.data\r\n },\r\n /**\r\n * Update a new User video record\r\n * @param {Object} userVideo - User Video's data\r\n */\r\n async updateUserVideo({\r\n commit,\r\n dispatch\r\n }, video) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'updateUserVideo', () =>\r\n http.post('videos/updateUserVideo', {\r\n id: video.ratingId,\r\n rating: video.rating\r\n })\r\n )\r\n\r\n commit(types.UPDATE_INCOMPLETE_VIDEOS_COUNT, -1)\r\n return r.data\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/video/actions.js","import {\r\n createActionHelpers\r\n} from 'vuex-loading'\r\n\r\n// export vuex loading helpers\r\nexport const {\r\n startLoading,\r\n endLoading\r\n} = createActionHelpers({\r\n moduleName: 'loading'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/loading.js","export default {\r\n videos: [],\r\n marketSegments: [],\r\n incompleteVideosCount: 0\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/video/state.js","export default {\r\n states: (state) => state.states,\r\n location: (state) => state.location,\r\n locations: (state) => state.locations,\r\n kpiStats: (state) => state.kpiStats\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/getters.js","import * as types from './types'\r\n\r\nexport default {\r\n [types.SET_USERS] (state, users) {\r\n state.users = users || []\r\n },\r\n [types.SET_ROLES] (state, roles) {\r\n state.roles = roles || []\r\n },\r\n [types.ADD_USER] (state, user) {\r\n state.users.push(user)\r\n },\r\n [types.DELETE_USER] (state, user) {\r\n state.users.splice(state.users.indexOf(user), 1)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/mutations.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const location = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/index.js","export default {\r\n mode: 'history',\r\n routes: [{\r\n path: '/',\r\n name: 'Home',\r\n component: (resolve) => require(['@/views/Home'], resolve)\r\n },\r\n {\r\n path: '/login',\r\n name: 'Login',\r\n component: (resolve) => require(['@/views/Login'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n {\r\n path: '/resetpassword/:token?',\r\n name: 'ResetPassword',\r\n component: (resolve) => require(['@/views/ResetPassword.vue'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n {\r\n path: '/request-access',\r\n name: 'RequestAccessForm',\r\n component: (resolve) => require(['@/views/RequestAccessForm'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n /**\r\n * User endpoints\r\n */\r\n {\r\n path: '/user',\r\n name: 'User',\r\n component: (resolve) => require(['@/views/user/UserList'], resolve)\r\n },\r\n {\r\n path: '/user/add',\r\n name: 'User.Add',\r\n component: (resolve) => require(['@/views/user/UserUpsert'], resolve)\r\n },\r\n {\r\n path: '/user/edit/:id',\r\n name: 'User.Edit',\r\n component: (resolve) => require(['@/views/user/UserUpsert'], resolve)\r\n },\r\n /**\r\n * Video endpoints\r\n */\r\n {\r\n path: '/video',\r\n name: 'Video',\r\n component: (resolve) => require(['@/views/video/VideoList'], resolve)\r\n },\r\n {\r\n path: '/video/add',\r\n name: 'Video.Add',\r\n component: (resolve) => require(['@/views/video/VideoUpsert'], resolve)\r\n },\r\n {\r\n path: '/video/edit/:id',\r\n name: 'Video.Edit',\r\n component: (resolve) => require(['@/views/video/VideoUpsert'], resolve)\r\n },\r\n\r\n /**\r\n * Location endpoints\r\n */\r\n {\r\n path: '/location',\r\n name: 'Location',\r\n component: (resolve) => require(['@/views/location/LocationList'], resolve)\r\n },\r\n {\r\n path: '/location/add',\r\n name: 'Location.Add',\r\n component: (resolve) => require(['@/views/location/LocationUpsert'], resolve)\r\n },\r\n {\r\n path: '/location/edit/:id',\r\n name: 'Location.Edit',\r\n component: (resolve) => require(['@/views/location/LocationUpsert'], resolve)\r\n },\r\n {\r\n path: '/location/reports',\r\n name: 'Location.Reports',\r\n component: (resolve) => require(['@/views/location/LocationReport'], resolve)\r\n },\r\n\r\n {\r\n path: '/category',\r\n name: 'Category.Edit',\r\n component: (resolve) => require(['@/views/category/CategoryUpsert'], resolve)\r\n },\r\n {\r\n path: '/403',\r\n name: 'Forbidden',\r\n component: (resolve) => require(['@/views/error-pages/403'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n /**\r\n * Not found\r\n */\r\n {\r\n path: '*',\r\n name: 'NotFound',\r\n component: (resolve) => require(['@/views/error-pages/404'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n }\r\n ]\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/routes.js","import store from '@/store'\r\n\r\n/**\r\n * Handle authentication through all routes\r\n * Resource: https://goo.gl/MsK7bY\r\n */\r\nconst guardRoute = (to, from, next) => {\r\n // Cancell any pending API request\r\n Object.entries(window.cancelTokens).forEach(([requestId, cancel]) => {\r\n // Cancel request\r\n cancel()\r\n // Remove cancelToken from cancelTokens object\r\n delete window.cancelTokens[requestId]\r\n })\r\n\r\n /*\r\n * Check if user is authenticated\r\n */\r\n\r\n // Set user model from localStorage.token\r\n store.dispatch('auth/checkAuth')\r\n\r\n // isLoggedIn variable\r\n let isLoggedIn = store.getters['auth/isLoggedIn']\r\n\r\n // Allow Anonymous\r\n if (to.matched.some((record) => record.meta.allowAnonymous)) {\r\n next()\r\n // Not authenticated\r\n } else if (!isLoggedIn) {\r\n next('/login')\r\n // Handle \"Home\" redirection\r\n } else if (isLoggedIn && to.name === 'Home') {\r\n if (store.getters['auth/loggedUser'].role !== 'User') {\r\n next('/location')\r\n } else {\r\n next('/video')\r\n }\r\n // Authenticated and has permission to view route\r\n } else if (isLoggedIn && store.getters['auth/hasPermission']({\r\n resource: to.name\r\n })) {\r\n next()\r\n // Forbidden\r\n } else {\r\n next('/403')\r\n }\r\n}\r\n\r\nexport default guardRoute\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/guard-route.js","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\nimport routes from './routes'\r\nimport guardRoute from './guard-route'\r\n\r\nVue.use(Router)\r\n\r\nconst router = new Router(routes)\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n guardRoute(to, from, next)\r\n})\r\n\r\nexport default router\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","export const ADD_VIDEO = 'ADD_VIDEO'\r\nexport const SET_VIDEOS = 'SET_VIDEOS'\r\nexport const DELETE_VIDEO = 'DELETE_VIDEO'\r\nexport const SET_MARKET_SEGMENTS = 'SET_MARKET_SEGMENTS'\r\nexport const SET_INCOMPLETE_VIDEOS_COUNT = 'SET_INCOMPLETE_VIDEOS_COUNT'\r\nexport const UPDATE_INCOMPLETE_VIDEOS_COUNT = 'UPDATE_INCOMPLETE_VIDEOS_COUNT'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/video/types.js","import * as types from './types'\r\n\r\nexport default {\r\n [types.SET_LOCATION] (state, location) {\r\n let _logoBase64 = null\r\n if (location.logo !== null) {\r\n _logoBase64 = 'data:' + location.logoContentType + ';base64,' + location.logo\r\n }\r\n state.location = {\r\n id: location.id,\r\n accountNumber: location.accountNumber,\r\n name: location.name,\r\n timeZone: location.timeZone,\r\n stateID: location.stateID,\r\n logo: null,\r\n logoBase64: _logoBase64\r\n }\r\n },\r\n [types.SET_STATES] (state, states) {\r\n state.states = states || []\r\n },\r\n [types.SET_LOCATIONS] (state, locations) {\r\n state.locations = locations || []\r\n },\r\n [types.ADD_LOCATION] (state, location) {\r\n state.locations.push(location)\r\n },\r\n [types.DELETE_LOCATION] (state, location) {\r\n state.locations.splice(state.locations.indexOf(location), 1)\r\n },\r\n [types.RESET_LOCATION] (state) {\r\n state.location = {\r\n id: 0,\r\n accountNumber: null,\r\n name: null,\r\n timeZone: null,\r\n stateID: null,\r\n /**\r\n * This is where the file selected in the input is stored\r\n * @type {Array} - Array of File() objects\r\n */\r\n logo: [],\r\n /**\r\n * This is only used when we get data from the API.\r\n * @example \"image/png\"\r\n */\r\n logoContentType: null,\r\n /**\r\n * File converted as base64. Used to display the image in DOM\r\n */\r\n logoBase64: null\r\n }\r\n },\r\n [types.SET_KPI_STATS] (state, kpiStats) {\r\n state.kpiStats = kpiStats\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/mutations.js","import http from '@/plugins/api'\r\nimport {\r\n startLoading\r\n} from '@/plugins/loading'\r\nimport * as types from './types'\r\n\r\nimport router from '@/router'\r\n\r\nexport default {\r\n /**\r\n * Authenticate user's credential\r\n * @param {Object} params - User's email address and password as `{ email: null, password: null}`\r\n */\r\n async authUser({\r\n commit,\r\n dispatch\r\n }, credentials) {\r\n const r = await startLoading(dispatch, 'authUser', () =>\r\n http.post('auth/gettoken', credentials)\r\n )\r\n // Set token to localStorage\r\n localStorage.token = r.data.token.access_token\r\n\r\n let location = r.data.location\r\n\r\n localStorage.location = JSON.stringify(location)\r\n\r\n // Set location's logo in localStorage\r\n // if (location.logo !== null) {\r\n // localStorage.locationLogo =\r\n // 'data:' + location.logoContentType + ';base64,' + location.logo\r\n // }\r\n\r\n // User loggedUser vuex model\r\n commit(types.SET_USER)\r\n return r.data\r\n },\r\n /**\r\n * Request new password\r\n * @param {String} email - User's email address\r\n */\r\n async requestPasswordReset({\r\n dispatch\r\n }, email) {\r\n const r = await startLoading(dispatch, 'requestPasswordReset', () =>\r\n http.post('users/requestpasswordreset', {\r\n email\r\n })\r\n )\r\n\r\n return r.data\r\n },\r\n /**\r\n * Set new password\r\n * @param {Object} user - User object with email and password\r\n */\r\n async setNewPassword({\r\n dispatch\r\n }, user) {\r\n const r = await startLoading(dispatch, 'setNewPassword', () =>\r\n http.post('users/setNewPassword', user)\r\n )\r\n\r\n return r.data\r\n },\r\n /**\r\n * This function is used everytime the route changes, to validad the user is authenticated.\r\n */\r\n checkAuth({\r\n commit\r\n }) {\r\n try {\r\n commit(types.SET_USER)\r\n } catch (e) {\r\n commit(types.LOGOUT)\r\n }\r\n },\r\n /**\r\n * Log out user\r\n */\r\n logOut({\r\n commit\r\n }) {\r\n commit(types.LOGOUT)\r\n router.push('/login')\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/actions.js","export default {\r\n users: [],\r\n roles: []\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/state.js","export const ADD_LOCATION = 'ADD_LOCATION'\r\nexport const DELETE_LOCATION = 'DELETE_LOCATION'\r\nexport const SET_LOCATION = 'SET_LOCATION'\r\nexport const SET_LOCATIONS = 'SET_LOCATIONS'\r\nexport const SET_STATES = 'SET_STATES'\r\nexport const RESET_LOCATION = 'RESET_LOCATION'\r\n\r\nexport const SET_KPI_STATS = 'SET_KPI_STATS'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/types.js","export default {\r\n loggedUser: (state) => state.loggedUser,\r\n isLoggedIn: (state) => {\r\n return state.loggedUser.token !== null\r\n },\r\n hasPermission: (state, rootState) => ({\r\n resource,\r\n operation = 'View'\r\n }) => {\r\n return (\r\n rootState.loggedUser.permissions.filter(x =>\r\n x.resource === resource && (x.operationsList.split(',').includes(operation) || x.operationsList === 'All')\r\n ).length === 1\r\n )\r\n },\r\n isRoutePublic: state => route => {\r\n // Using getters with extra arguments: https://goo.gl/7kQaiF\r\n return typeof route.meta.isPublic !== 'undefined'\r\n },\r\n menuItems: (state, rootState) => {\r\n let menuItems = [{\r\n name: 'Locations',\r\n route: '/location',\r\n description: 'Optional brief description.',\r\n icon: 'bank',\r\n showReportIcon: false,\r\n showAddIcon: true,\r\n isAdminOnly: true\r\n },\r\n {\r\n name: 'Users',\r\n route: '/user',\r\n description: 'Optional brief description.',\r\n icon: 'account-multiple',\r\n showReportIcon: false,\r\n showAddIcon: true,\r\n isAdminOnly: true\r\n },\r\n {\r\n name: 'Categories',\r\n route: '/category',\r\n description: 'Optional brief description.',\r\n icon: 'account-multiple',\r\n showReportIcon: false,\r\n showAddIcon: false,\r\n isSuperAdminOnly: true\r\n },\r\n {\r\n name: 'Videos',\r\n route: '/video',\r\n description: 'Optional brief description.',\r\n icon: 'account-multiple',\r\n showReportIcon: false,\r\n showAddIcon: true\r\n }\r\n ]\r\n\r\n switch (rootState.loggedUser.role) {\r\n case 'SuperAdmin':\r\n return menuItems\r\n case 'Admin':\r\n return menuItems.filter((x) => !x.isSuperAdminOnly)\r\n case 'User':\r\n return menuItems.filter((x) => !x.isAdminOnly && !x.isSuperAdminOnly)\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/getters.js","import * as types from './types'\r\n\r\nexport default {\r\n [types.ADD_VIDEO](state, video) {\r\n state.videos.push(video)\r\n },\r\n [types.SET_VIDEOS](state, videos) {\r\n state.videos = videos || []\r\n },\r\n [types.DELETE_VIDEO](state, video) {\r\n state.videos.splice(state.videos.indexOf(video), 1)\r\n },\r\n [types.SET_MARKET_SEGMENTS](state, marketSegments) {\r\n state.marketSegments = marketSegments || []\r\n },\r\n [types.SET_INCOMPLETE_VIDEOS_COUNT](state, count) {\r\n state.incompleteVideosCount = count\r\n },\r\n [types.UPDATE_INCOMPLETE_VIDEOS_COUNT](state, count) {\r\n state.incompleteVideosCount += count\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/video/mutations.js","export default {\r\n categories1: state => state.categories1,\r\n categories2: state => state.categories2\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/category/getters.js","import * as types from './types'\r\nimport jwtDecode from 'jwt-decode'\r\n\r\nexport default {\r\n [types.SET_USER](state) {\r\n try {\r\n let token = localStorage.token\r\n if (token) {\r\n let _user = JSON.parse(jwtDecode(token).user)\r\n let _location = JSON.parse(localStorage.location)\r\n state.loggedUser = {\r\n token,\r\n email: _user.email,\r\n role: _user.roles[0].name,\r\n permissions: _user.permissions,\r\n location: _user.location,\r\n locationLogo: typeof localStorage.locationLogo === 'undefined' ? null : localStorage.locationLogo,\r\n marketSegments: JSON.parse(_location.marketSegments)\r\n }\r\n } else {\r\n state.loggedUser = {\r\n token: null,\r\n email: null,\r\n role: null\r\n }\r\n }\r\n } catch (e) {\r\n throw e\r\n }\r\n },\r\n [types.LOGOUT](state) {\r\n localStorage.clear()\r\n state.loggedUser = {\r\n token: null,\r\n email: null,\r\n role: null\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/mutations.js","import {\r\n startLoading\r\n} from '@/plugins/loading'\r\nimport http from '@/plugins/api'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Get all users by location\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getUsersByLocation({\r\n rootState,\r\n commit,\r\n dispatch\r\n }, params) {\r\n // Remove object reactivity\r\n params = JSON.parse(JSON.stringify(params))\r\n\r\n // Set market segments by default (used on Upsert User) or assigned the ones selected in the search area (used on Location List)\r\n if (typeof params.marketSegments !== 'undefined') {\r\n params.marketSegments = `[${params.marketSegments.join()}]`\r\n } else {\r\n params.marketSegments = `[${rootState.video.marketSegments.map(item => item.id).join()}]`\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'getUsersByLocation', () =>\r\n http.get(`users/getbylocation`, {\r\n params\r\n })\r\n )\r\n\r\n commit(types.SET_USERS, r.data.items)\r\n return r.data.count\r\n },\r\n /**\r\n * Get roles based on user\r\n */\r\n async getRoles({\r\n commit,\r\n dispatch\r\n }) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'getRoles', () =>\r\n http.post(`users/getRoles`)\r\n )\r\n\r\n commit(types.SET_ROLES, r.data)\r\n return r.data.count\r\n },\r\n /**\r\n * Create a new user\r\n * @param {Object} user - User's data\r\n */\r\n async createUser({\r\n commit,\r\n dispatch\r\n }, user) {\r\n // Convert additional emails array into comma-delimiter string\r\n if (user.additionalEmailsArray.length > 0) {\r\n user.additionalEmails = user.additionalEmailsArray.map((ae) => ae.email).join(',')\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'createUser', () =>\r\n http.post('users/create', user)\r\n )\r\n\r\n // Note: If there's no data, it means that the user already exists\r\n if (r.data !== '') {\r\n commit(types.ADD_USER, r.data)\r\n user.additionalEmails = null\r\n } else {\r\n throw new Error('We found an existing user with the email address provided.')\r\n }\r\n\r\n return r.data\r\n },\r\n /**\r\n * Update an existing user\r\n * @param {Object} user - User's data\r\n */\r\n async updateUser({\r\n dispatch\r\n }, user) {\r\n // Convert additional emails array into comma-delimiter string\r\n if (user.additionalEmailsArray.length > 0) {\r\n user.additionalEmails = user.additionalEmailsArray.map((ae) => ae.email).join(',')\r\n }\r\n\r\n // Call API\r\n const r = await startLoading(dispatch, 'updateUser', () =>\r\n http.post(`users/update`, user)\r\n )\r\n\r\n // Note: If there's no data, it means that the user already exists\r\n if (r.data === -1) {\r\n throw new Error('We found an existing user with the email address provided.')\r\n }\r\n if (r.data === 0) {\r\n throw new Error('There was an error updating the user.')\r\n } else {\r\n return r.data\r\n }\r\n },\r\n /**\r\n * Delete an existing user\r\n * @param {Object} user - User's data\r\n */\r\n async deleteUser({\r\n commit,\r\n dispatch\r\n }, user) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'deleteUser', () =>\r\n http.post(`users/delete`, {\r\n id: user.id\r\n })\r\n )\r\n\r\n commit(types.DELETE_USER, user)\r\n return r.data\r\n },\r\n /**\r\n * Get a user\r\n * @param {Number} userID - User's ID\r\n */\r\n async getUser({\r\n dispatch\r\n }, userID) {\r\n // Call API\r\n const r = await startLoading(dispatch, 'getUser', () =>\r\n http.get(`users/get?id=${userID}`)\r\n )\r\n if (r.data !== '') {\r\n return r.data\r\n } else {\r\n throw new Error('User not found.')\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/actions.js","import axios from 'axios'\r\n\r\nconst host = window.config.apiUrl\r\n\r\nwindow.cancelTokens = []\r\nwindow.whitelistedApiEndpoints = ['location/getreportkpi', 'other/endpoint']\r\n\r\n// Add request interceptor\r\naxios.interceptors.request.use(\r\n config => {\r\n // Add token to request\r\n if (typeof localStorage.token !== 'undefined') {\r\n config.headers['Authorization'] = 'Bearer ' + localStorage.token\r\n }\r\n\r\n // Do not include whitelisted api endpoints to cancelTokens\r\n if (\r\n window.whitelistedApiEndpoints.some((el, i, a) => {\r\n return config.url.includes(el)\r\n })\r\n ) {\r\n return config\r\n }\r\n\r\n // Create CancelToken (Only 'get' requests)\r\n if (config.method === 'get') {\r\n var source = axios.CancelToken.source()\r\n\r\n // Append 'cancelToken' and 'cancelTokenId' to the request\r\n config.cancelToken = source.token\r\n config.cancelTokenId = Math.trunc(Math.random() * 10000000000000000)\r\n\r\n // Add 'cancelToken' and 'cancelTokenId' to localStorage cancelTokens object, so we can search by its id and cancel it later if needed\r\n window.cancelTokens[config.cancelTokenId] = source.cancel\r\n }\r\n\r\n return config\r\n },\r\n error => {\r\n // Do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n// Add response interceptors\r\naxios.interceptors.response.use(\r\n response => {\r\n // Remove request's cancelToken\r\n delete window.cancelTokens[response.config.cancelTokenId]\r\n return response\r\n },\r\n error => {\r\n // TODO: Are we logging these errors?\r\n // console.error(`Error from interceptor: ${error}`)\r\n // console.error(`Error from interceptor: ${JSON.stringify(error.response)}`)\r\n // console.error(`Error from interceptor: ${JSON.stringify(error.request)}`)\r\n // console.error(`Error from interceptor: ${error.message}`)\r\n // console.error(`Error from interceptor: ${JSON.stringify(error.config)}`)\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n// Axios Common Base Instance (resource: https://goo.gl/sDN0IN)\r\nexport default {\r\n get: (endpoint, data = {}) => {\r\n return axios.get(`${host}${endpoint}`, data)\r\n },\r\n post: (endpoint, data = {}, config = {}) => {\r\n return axios.post(`${host}${endpoint}`, data, config)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/api.js","export default {\r\n states: [],\r\n location: {\r\n id: 0,\r\n accountNumber: null,\r\n name: null,\r\n timeZone: null,\r\n stateID: null,\r\n /**\r\n * This is where the file selected in the input is stored\r\n * @type {Array} - Array of File() objects\r\n */\r\n logo: [],\r\n /**\r\n * This is only used when we get data from the API.\r\n * @example \"image/png\"\r\n */\r\n logoContentType: null,\r\n /**\r\n * File converted as base64. Used to display the image in DOM\r\n */\r\n logoBase64: null\r\n },\r\n locations: [],\r\n kpiStats: {}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/state.js","export const SET_USERS = 'SET_USERS'\r\nexport const SET_ROLES = 'SET_ROLES'\r\nexport const ADD_USER = 'ADD_USER'\r\nexport const DELETE_USER = 'DELETE_USER'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/types.js","var map = {\n\t\"./auth/actions.js\": \"fHbC\",\n\t\"./auth/getters.js\": \"iwwM\",\n\t\"./auth/index.js\": \"CZ0x\",\n\t\"./auth/mutations.js\": \"m3mU\",\n\t\"./auth/state.js\": \"MACa\",\n\t\"./auth/types.js\": \"FaS0\",\n\t\"./category/actions.js\": \"LfKt\",\n\t\"./category/getters.js\": \"lm9q\",\n\t\"./category/index.js\": \"JiM8\",\n\t\"./category/mutations.js\": \"9G4s\",\n\t\"./category/state.js\": \"AUeT\",\n\t\"./category/types.js\": \"ILQC\",\n\t\"./location/actions.js\": \"1B2Z\",\n\t\"./location/getters.js\": \"UtrA\",\n\t\"./location/index.js\": \"Wnle\",\n\t\"./location/mutations.js\": \"fEVg\",\n\t\"./location/state.js\": \"saQm\",\n\t\"./location/types.js\": \"hYPG\",\n\t\"./user/actions.js\": \"nDDf\",\n\t\"./user/getters.js\": \"ANWq\",\n\t\"./user/index.js\": \"LWU+\",\n\t\"./user/mutations.js\": \"VKxC\",\n\t\"./user/state.js\": \"glhi\",\n\t\"./user/types.js\": \"tBN9\",\n\t\"./video/actions.js\": \"P2QF\",\n\t\"./video/getters.js\": \"NihT\",\n\t\"./video/index.js\": \"BwgY\",\n\t\"./video/mutations.js\": \"ldCI\",\n\t\"./video/state.js\": \"SDPo\",\n\t\"./video/types.js\": \"ayYe\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"w+hY\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/store/modules \\.js$\n// module id = w+hY\n// module chunks = 16"],"sourceRoot":""}