{"version":3,"file":"js/app-legacy.a29f5bd5.js","mappings":"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","sources":["webpack://editor-front/./src/data/freeTrial.js","webpack://editor-front/./src/data/prices.js","webpack://editor-front/./src/data/products.js","webpack://editor-front/./src/lib/http.js","webpack://editor-front/./src/App.vue","webpack://editor-front/./src/components/TheNavbar.vue","webpack://editor-front/src/components/TheNavbar.vue","webpack://editor-front/./src/components/TheNavbar.vue?34d2","webpack://editor-front/./src/components/TheNavbar.vue?6ed1","webpack://editor-front/./src/components/DemoUserAlert.vue","webpack://editor-front/src/components/DemoUserAlert.vue","webpack://editor-front/./src/components/DemoUserAlert.vue?913c","webpack://editor-front/./src/components/DemoUserAlert.vue?a7f0","webpack://editor-front/./src/components/Messages.vue","webpack://editor-front/src/components/Messages.vue","webpack://editor-front/./src/components/Messages.vue?fc1d","webpack://editor-front/./src/components/Messages.vue?b813","webpack://editor-front/./src/components/TheFooter.vue","webpack://editor-front/src/components/TheFooter.vue","webpack://editor-front/./src/components/TheFooter.vue?5352","webpack://editor-front/./src/components/TheFooter.vue?89f2","webpack://editor-front/src/App.vue","webpack://editor-front/./src/App.vue?51dd","webpack://editor-front/./src/App.vue?0e40","webpack://editor-front/./src/plugins/MessagePlugin/index.js","webpack://editor-front/./src/main.js","webpack://editor-front/./src/router/index.js","webpack://editor-front/./src/services/LocalStorageService.js","webpack://editor-front/./src/store/modules/selectedFile.js","webpack://editor-front/./src/store/modules/user.js","webpack://editor-front/./src/store/modules/editorialPass.js","webpack://editor-front/./src/store/modules/message.js","webpack://editor-front/./src/store/modules/subscription.js","webpack://editor-front/./src/store/modules/buttongroups.js","webpack://editor-front/./src/store/modules/azuredata.js","webpack://editor-front/./src/store/index.js","webpack://editor-front/./src/store/modules/show.js","webpack://editor-front/./src/assets/messages/ sync ^\\.\\/.*\\.gif$","webpack://editor-front/./src/assets/messages/ sync ^\\.\\/.*\\.png$","webpack://editor-front/webpack/bootstrap","webpack://editor-front/webpack/runtime/chunk loaded","webpack://editor-front/webpack/runtime/compat get default export","webpack://editor-front/webpack/runtime/define property getters","webpack://editor-front/webpack/runtime/ensure chunk","webpack://editor-front/webpack/runtime/get javascript chunk filename","webpack://editor-front/webpack/runtime/get mini-css chunk filename","webpack://editor-front/webpack/runtime/global","webpack://editor-front/webpack/runtime/hasOwnProperty shorthand","webpack://editor-front/webpack/runtime/load script","webpack://editor-front/webpack/runtime/make namespace object","webpack://editor-front/webpack/runtime/node module decorator","webpack://editor-front/webpack/runtime/publicPath","webpack://editor-front/webpack/runtime/css loading","webpack://editor-front/webpack/runtime/jsonp chunk loading","webpack://editor-front/webpack/startup"],"sourcesContent":["import prices from '@/data/prices';\r\nimport products from '@/data/products';\r\n\r\nconst silverId =\r\n process.env.NODE_ENV === 'production'\r\n ? 'prod_JD5vKnEGnufRGJ' //live product id\r\n : 'prod_IkEwZigT2yj824'; //test product id\r\nconst silverProduct = products.find(p => p.id === silverId);\r\n\r\nconst silverMonth = prices.find(\r\n p => p.product === silverProduct && p.recurring.interval === 'month',\r\n);\r\n\r\nexport default {\r\n product: {\r\n id: silverProduct.id,\r\n trial: true,\r\n name: '360Editor Silver - Free Trial',\r\n description:\r\n 'Web based 360editor and publishing platform for VR-Content. Trial shows have watermark on them.',\r\n details: [\r\n '30 days of free trial',\r\n 'Watermark on top of shows',\r\n ...silverProduct.details,\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_WY31xkxOAA0b4n6wIwx2EPGE'],\r\n maxShows: 5,\r\n },\r\n price: silverMonth,\r\n};\r\n","const year = 'year';\r\nconst month = 'month';\r\nconst eur = 'eur';\r\n\r\nconst silver = 'prod_JD5vKnEGnufRGJ';\r\nconst gold = 'prod_JD5wO9XhO2IlYU';\r\nconst platinum = 'prod_JD5w54Yb9wfi8u';\r\n\r\nconst testProducts = {\r\n silver: 'prod_IkEwZigT2yj824',\r\n gold: 'prod_IkFM1xZLYz2tTZ',\r\n platinum: 'prod_IkFRutqCDM16Qe',\r\n};\r\n\r\nconst prices = [\r\n {\r\n id: 'price_1IafjXJ9in2FvoUPCmMKxRnx',\r\n legacyIds: [],\r\n currency: eur,\r\n product: silver,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 9900,\r\n },\r\n {\r\n id: 'price_1IafjXJ9in2FvoUPoBwSbFOj',\r\n legacyIds: [],\r\n currency: eur,\r\n product: silver,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 99900,\r\n },\r\n {\r\n id: 'price_1IafkHJ9in2FvoUPY2UFxJL0',\r\n legacyIds: [],\r\n currency: eur,\r\n product: gold,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 14900,\r\n },\r\n {\r\n id: 'price_1IafkHJ9in2FvoUPPOtWY7K3',\r\n legacyIds: [],\r\n currency: eur,\r\n product: gold,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 149000,\r\n },\r\n {\r\n id: 'price_1IafkvJ9in2FvoUPgFult5RJ',\r\n legacyIds: [],\r\n currency: eur,\r\n product: platinum,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 19900,\r\n },\r\n {\r\n id: 'price_1IafkvJ9in2FvoUP5optTTWW',\r\n legacyIds: [],\r\n currency: eur,\r\n product: platinum,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 199000,\r\n },\r\n];\r\n\r\nconst testPrices = [\r\n {\r\n id: 'price_1IYqH0J9in2FvoUPZjOjnQXZ',\r\n legacyIds: ['price_1IWINJJ9in2FvoUPnbrQ2Ktf'],\r\n currency: eur,\r\n product: testProducts.silver,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 9900,\r\n },\r\n {\r\n id: 'price_1IYqHBJ9in2FvoUPalefGudV',\r\n legacyIds: ['price_1IWINTJ9in2FvoUPdrmPhUUe'],\r\n currency: eur,\r\n product: testProducts.silver,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 99900,\r\n },\r\n {\r\n id: 'price_1IVcShJ9in2FvoUPDEtHNx1m',\r\n legacyIds: [],\r\n currency: eur,\r\n product: testProducts.gold,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 14900,\r\n },\r\n {\r\n id: 'price_1IVcSwJ9in2FvoUPo7wggnF6',\r\n legacyIds: [],\r\n currency: eur,\r\n product: testProducts.gold,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 149000,\r\n },\r\n {\r\n id: 'price_1IWINoJ9in2FvoUPE88gbQ1f',\r\n legacyIds: [],\r\n currency: eur,\r\n product: testProducts.platinum,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 19900,\r\n },\r\n {\r\n id: 'price_1IYqIyJ9in2FvoUPGrJEWU3E',\r\n legacyIds: ['price_1IWINvJ9in2FvoUPEyVSYLJl'],\r\n currency: eur,\r\n product: testProducts.platinum,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 199000,\r\n },\r\n];\r\nexport default process.env.NODE_ENV === 'production' ? prices : testPrices;\r\n","const products = [\r\n {\r\n id: 'prod_JD5vKnEGnufRGJ',\r\n name: '360Editor - Silver',\r\n maxShows: 5,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '100 GB storage (20 GB/show)',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_WY31xkxOAA0b4n6wIwx2EPGE'],\r\n },\r\n {\r\n id: 'prod_JD5wO9XhO2IlYU',\r\n name: '360Editor - Gold',\r\n maxShows: 15,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '300 GB storage (20 GB/show)',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_RCmkfFKubfLDo6uy8SRlWEUZ'],\r\n },\r\n {\r\n id: 'prod_JD5w54Yb9wfi8u',\r\n name: '360Editor - Platinum',\r\n maxShows: 50,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '1 TB storage (20 GB/show)',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_vIUpTb5irVP3sDOLrVIdJgbL'],\r\n },\r\n];\r\nconst testProducts = [\r\n {\r\n id: 'prod_IkEwZigT2yj824',\r\n name: '360Editor - Silver',\r\n maxShows: 5,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '20 Gb storage',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_WY31xkxOAA0b4n6wIwx2EPGE'],\r\n },\r\n {\r\n id: 'prod_IkFM1xZLYz2tTZ',\r\n name: '360Editor - Gold',\r\n maxShows: 15,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '20 Gb storage',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_RCmkfFKubfLDo6uy8SRlWEUZ'],\r\n },\r\n {\r\n id: 'prod_IkFRutqCDM16Qe',\r\n name: '360Editor - Platinum',\r\n maxShows: 50,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '20 Gb storage',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_vIUpTb5irVP3sDOLrVIdJgbL'],\r\n },\r\n];\r\nexport default process.env.NODE_ENV === 'production' ? products : testProducts;\r\n","import axios from 'axios';\r\nimport router from '@/router';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\n// const API_URL =\r\n// process.env.NODE_ENV === 'production'\r\n// ? 'https://360editor-back-testenv.azurewebsites.net/'\r\n// : 'http://localhost:8000';\r\n// const API_URL = 'https://dev-dot-platinum-voice-204309.ey.r.appspot.com';\r\n\r\nconst currentUrl = location.host;\r\nlet API_URL = '';\r\n\r\n\r\nif (currentUrl==='test.360editor.fi'){\r\n console.log('TEST ENV');\r\n // Test env\r\n API_URL = 'https://360editor-back-testenv.azurewebsites.net/';\r\n} else if (currentUrl==='localhost:8080') {\r\n console.log('LOCAL ENV');\r\n API_URL = 'http://localhost:8000';\r\n} else {\r\n console.log('PROD ENV');\r\n API_URL = 'https://360editor-back-test.azurewebsites.net/';\r\n}\r\n\r\nconst api = axios.create({\r\n baseURL: API_URL,\r\n});\r\n\r\nconst cancelSource = axios.CancelToken.source();\r\n\r\napi.interceptors.request.use(\r\n config => {\r\n const token = localStorageService.getAccessToken();\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n config.cancelToken = cancelSource.token;\r\n return config;\r\n },\r\n error => {\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\nlet retry = false;\r\n\r\napi.interceptors.response.use(\r\n response => {\r\n return response;\r\n },\r\n async error => {\r\n const originalRequest = error.config;\r\n const refreshToken = localStorageService.getRefreshToken();\r\n const token = localStorageService.getAccessToken();\r\n\r\n if (retry && error.response.status === 401) {\r\n if (originalRequest.url === '/auth/token') {\r\n\r\n localStorageService.clearTokens();\r\n router\r\n .push({\r\n name: 'login',\r\n query: { error: 'Session expired, please login again.' },\r\n })\r\n .catch(() => {});\r\n } else if (originalRequest.url.includes('/editorial-pass/')) {\r\n router\r\n .push({\r\n name: 'login',\r\n query: { error: 'Editorial pass has expired.' },\r\n })\r\n .catch(() => {});\r\n }\r\n retry = false;\r\n } else if (!retry && error.response.status === 401) {\r\n retry = true;\r\n const res = await api.post('/auth/token', {\r\n token,\r\n refreshToken,\r\n });\r\n\r\n if (res.status === 201) {\r\n localStorageService.setToken(res.data);\r\n retry = false;\r\n return api(originalRequest);\r\n }\r\n }\r\n return Promise.reject(error);\r\n },\r\n);\r\nexport default api;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('TheNavbar'),(_vm.$route.path !== '/expired')?_c('DemoUserAlert'):_vm._e(),_c('router-view'),_c('Messages'),_c('TheFooter')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"navbar navbar-default navbar-expand-md\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticStyle:{\"height\":\"40px\"},attrs:{\"src\":require(\"../assets/360Editor.png\")}})]),_vm._m(0),_c('div',{staticClass:\"collapse navbar-collapse\",attrs:{\"id\":\"navbarNav\"}},[(_vm.userAndToken)?_c('div',{staticClass:\"navbar-nav mr-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ name: 'library' }}},[_vm._v(\"LIBRARY\")]),(_vm.user && _vm.user.admin)?_c('div',{staticClass:\"dropdown\"},[_c('a',{staticClass:\"nav-link dropdown-toggle\",attrs:{\"id\":\"dropdownMenuLink\",\"type\":\"button\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\"}},[_vm._v(\" More \")]),_c('ul',{staticClass:\"dropdown-menu\",attrs:{\"aria-labelledby\":\"dropdownMenuButton\"}},[_c('li',[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ name: 'admin' }}},[_vm._v(\"Admin\")])],1),_c('li',[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/create-legacy\"}},[_vm._v(\"Create Legacy\")])],1)])]):_vm._e()],1):_vm._e(),(_vm.userAndToken)?_c('div',{staticClass:\"navbar-nav ml-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/profile\"}},[_vm._v(\"PROFILE\")]),_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/logout\"}},[_vm._v(\"LOGOUT\")])],1):(_vm.editorial_pass)?_c('div',{staticClass:\"navbar-nav ml-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/logout\"}},[_vm._v(\"LOGOUT\")])],1):_c('div',{staticClass:\"navbar-nav ml-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/login\"}},[_vm._v(\"LOGIN\")])],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"navbar-toggler navbar-light\",attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":\"#navbarNav\",\"aria-controls\":\"navbarNav\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheNavbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheNavbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheNavbar.vue?vue&type=template&id=2c5f716c&scoped=true&\"\nimport script from \"./TheNavbar.vue?vue&type=script&lang=js&\"\nexport * from \"./TheNavbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TheNavbar.vue?vue&type=style&index=0&id=2c5f716c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c5f716c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.user && _vm.user.plan === 'demo')?_c('div',{staticClass:\"alert-container\"},[_c('div',{staticClass:\"demo-user-alert\"},[(_vm.user.expires - new Date().getTime() > 0)?_c('div',{ref:\"notExpired\",staticClass:\"alert-text\",class:{ more: _vm.more }},[_vm._v(\" Your demo ends in \"+_vm._s(_vm.expires)+\". \"),_c('a',{attrs:{\"href\":\"https://360mediahouse.com/start-using-vr-today/\",\"target\":\"_blank\"}},[_vm._v(\"Contact 360Mediahouse\")]),_vm._v(\" to upgrade your licence. After your demo expires, you wont be able to use your account. \")]):_c('div',{ref:\"expired\",staticClass:\"alert-text\",class:{ more: _vm.more }},[_vm._v(\" Your demo has expired. \"),_c('a',{attrs:{\"href\":\"https://360mediahouse.com/start-using-vr-today/\",\"target\":\"_blank\"}},[_vm._v(\"Contact 360Mediahouse\")]),_vm._v(\" to upgrade your licence. \")]),(!_vm.more && _vm.overflow)?_c('button',{staticClass:\"toggle-link\",on:{\"click\":function($event){_vm.more = true}}},[_vm._v(\" More \")]):(_vm.more && !_vm.overflow)?_c('button',{staticClass:\"toggle-link\",on:{\"click\":function($event){_vm.more = false}}},[_vm._v(\" Less \")]):_vm._e()])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoUserAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoUserAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DemoUserAlert.vue?vue&type=template&id=168d129e&scoped=true&\"\nimport script from \"./DemoUserAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./DemoUserAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DemoUserAlert.vue?vue&type=style&index=0&id=168d129e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"168d129e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.messages.length > 0)?_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"messages\"},_vm._l((_vm.messages),function(message,index){return _c('div',{key:index,staticClass:\"message mb-2\",on:{\"click\":function($event){return _vm.deleteMessage(message)}}},[_c('div',{staticClass:\"mr-3\"},[_c('img',{staticStyle:{\"width\":\"30px\",\"height\":\"30px\"},attrs:{\"src\":_vm.getImgUrl(message.type)}})]),_c('span',[_vm._v(_vm._s(message.message))])])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Messages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Messages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Messages.vue?vue&type=template&id=3f2c57e4&scoped=true&\"\nimport script from \"./Messages.vue?vue&type=script&lang=js&\"\nexport * from \"./Messages.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Messages.vue?vue&type=style&index=0&id=3f2c57e4&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f2c57e4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('footer',{attrs:{\"id\":\"footer\"}},[(_vm.user)?_c('router-link',{staticClass:\"report\",attrs:{\"to\":{ name: 'report' }}},[_vm._v(\"Report A Bug\")]):_vm._e(),_vm._m(0)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"mediatalo\",attrs:{\"href\":\"http://360mediahouse.com\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":require(\"../assets/360mediahouse.png\")}})])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheFooter.vue?vue&type=template&id=bb5c9b26&scoped=true&\"\nimport script from \"./TheFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./TheFooter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TheFooter.vue?vue&type=style&index=0&id=bb5c9b26&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bb5c9b26\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=10812f98&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=10812f98&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import store from '@/store';\r\nexport default {\r\n install(Vue, options) {\r\n Vue.prototype.$message = function(\r\n message,\r\n type = 'info',\r\n timeout = options.timeout,\r\n ) {\r\n const msg = { type, message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$infoMessage = function(message, timeout = options.timeout) {\r\n const msg = { type: 'info', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$successMessage = function(\r\n message,\r\n timeout = options.timeout,\r\n ) {\r\n const msg = { type: 'success', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$errorMessage = function(message, timeout = options.timeout) {\r\n const msg = { type: 'error', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$createLoading = function(message) {\r\n const msg = { type: 'loading', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n return msg;\r\n };\r\n\r\n Vue.prototype.$deleteLoading = function(msg) {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n };\r\n },\r\n};\r\n","import Vue from 'vue';\r\nimport App from '@/App.vue';\r\nimport store from '@/store';\r\nimport router from '@/router';\r\nimport Vuelidate from 'vuelidate';\r\n// import { VuelidatePlugin } from '@vuelidate/core'; // use with composition api\r\nimport '../node_modules/bootswatch/dist/lux/bootstrap.min.css';\r\nimport 'jquery';\r\n// import 'popper.js';\r\n// import 'bootstrap';\r\nimport MessagePlugin from '@/plugins/MessagePlugin';\r\nimport VCalendar from 'v-calendar';\r\n\r\nVue.use(Vuelidate);\r\n//Vue.use(VuelidatePlugin); // use with composition api\r\nVue.use(MessagePlugin, { timeout: 3500 });\r\nVue.use(VCalendar);\r\nVue.config.productionTip = false;\r\n\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App),\r\n}).$mount('#app');\r\n","import Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport axios from '@/lib/http';\r\nimport store from '@/store';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\n\r\n\r\n// Lazyloaded Views\r\nconst LandingPage = () => import('@/views/LandingPage.vue');\r\nconst LoginPage = () => import('@/views/LoginPage.vue');\r\nconst SignUpPage = () => import('@/views/SignUpPage.vue');\r\nconst CreateDemoUser = () => import('@/views/CreateDemoUser.vue');\r\nconst CreateLegacyUser = () => import('@/views/CreateLegacyUser.vue');\r\nconst Library = () => import('@/views/Library.vue');\r\nconst ProfilePage = () => import('@/views/ProfilePage.vue');\r\nconst AccountSettings = () => import('@/views/AccountSettings.vue');\r\nconst ModifySubscription = () => import('@/views/ModifySubscription.vue');\r\nconst AllMedia = () => import('@/views/AllMedia.vue');\r\nconst Quizzes = () => import('@/views/Quizzes.vue');\r\nconst QuizResults = () => import('@/views/QuizResults.vue');\r\nconst AddQuiz = () => import('@/views/AddQuiz.vue');\r\nconst QuizPreview = () => import('@/views/QuizPreview.vue');\r\nconst ReportPage = () => import('@/views/ReportPage.vue');\r\nconst Admin = () => import('@/views/Admin.vue');\r\nconst AdminUserControl = () => import('@/views/AdminUserControl.vue');\r\nconst PasswordChange = () => import('@/views/PasswordChange.vue');\r\nconst PasswordReset = () => import('@/views/PasswordReset.vue');\r\nconst TheStudio = () => import('@/views/TheStudio.vue');\r\nconst Expired = () => import('@/views/Expired.vue');\r\nconst NotFound = () => import('@/views/NotFound.vue');\r\nconst ImagePack = () => import('@/views/ImagePack.vue');\r\nconst PaymentDetails = () => import('@/views/PaymentDetails.vue');\r\nconst PrivacyPolicy = () => import('@/views/PrivacyPolicy.vue');\r\n\r\nconst ConfirmPayment = () => import('@/views/ConfirmPayment.vue');\r\nconst RenewSubscription = () => import('@/views/RenewSubscription.vue');\r\nconst VerifiedEmail = () => import('@/views/VerifiedEmail.vue');\r\n\r\nconst Analytics = () => import('@/views/Analytics.vue');\r\n\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\nVue.use(Router);\r\n\r\nconst nonLegacyRoutes = [\r\n 'modify-subscription',\r\n 'renew-subscription',\r\n 'payment-details',\r\n 'confirm-payment',\r\n];\r\n\r\nfunction hasSubscription() {\r\n const stripeUser = store.state.user.stripeUser;\r\n\r\n let hasPlan = false;\r\n if (!stripeUser){\r\n return false;\r\n }\r\n\r\n if(stripeUser.plan === 'silver' ||\r\n stripeUser.plan === 'gold' ||\r\n stripeUser.plan === 'platinum' ||\r\n stripeUser.plan === 'admin' ||\r\n stripeUser.plan === 'demo'){\r\n hasPlan = true;\r\n }\r\n\r\n let hasSubscriptionId = false;\r\n if(stripeUser.id && stripeUser.id.length > 10){\r\n hasSubscriptionId = true;\r\n }\r\n if(hasSubscriptionId && hasPlan) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // return (\r\n // stripeUser &&\r\n // stripeUser.subscriptions &&\r\n // stripeUser.subscriptions.data &&\r\n // stripeUser.subscriptions.data[0]\r\n // );\r\n}\r\n\r\nfunction subscriptionActiveOrTrialing() {\r\n const stripeUser = store.state.user.stripeUser;\r\n\r\n return (\r\n (hasSubscription() &&\r\n stripeUser.subscription_status === 'active') ||\r\n stripeUser.subscription_status === 'trialing'\r\n );\r\n}\r\n\r\nfunction subscriptionExpired() {\r\n const stripeUser = store.state.user.stripeUser;\r\n return (\r\n stripeUser &&\r\n stripeUser.subscriptions &&\r\n stripeUser.subscriptions.data &&\r\n !stripeUser.subscriptions.data[0]\r\n );\r\n}\r\n\r\nfunction requiresAction() {\r\n const stripeUser = store.state.user.stripeUser;\r\n return (\r\n hasSubscription &&\r\n stripeUser.subscriptions.data[0].latest_invoice.payment_intent &&\r\n stripeUser.subscriptions.data[0].latest_invoice.payment_intent.status ===\r\n 'requires_action'\r\n );\r\n}\r\n\r\nfunction isLoggedIn(to, from, next) {\r\n // Täällä infinite loop??\r\n\r\n const user = store.state.user.user;\r\n\r\n if (localStorageService.getAccessToken() && user) {\r\n if (store.state.editorialPass.pass) {\r\n // Editorial pass\r\n return next(`/editorial/${store.state.editorialPass.show_uuid}`);\r\n }\r\n if (user.legacy) {\r\n // Legacy user\r\n if (nonLegacyRoutes.includes(to.name)) return next('/library');\r\n return next();\r\n }\r\n\r\n if (!user.verified) {\r\n // Not verified\r\n return next('/verified');\r\n }\r\n\r\n if (hasSubscription()) {\r\n if (subscriptionActiveOrTrialing()) {\r\n if (\r\n to.name === 'verified' ||\r\n to.name === 'confirm-payment' ||\r\n to.name === 'renew-subscription'\r\n )\r\n return next('/library');\r\n return next();\r\n }\r\n if (requiresAction()) {\r\n if (to.name === 'confirm-payment') {\r\n return next();\r\n }\r\n return next('/confirm-payment');\r\n }\r\n if (subscriptionActiveOrTrialing()) {\r\n return next();\r\n }\r\n\r\n if (to.name === 'renew-subscription') {\r\n return next();\r\n }\r\n return next('/renew-subscription');\r\n }\r\n\r\n if (subscriptionExpired()) {\r\n // Subscription expired\r\n if (to.name === 'renew-subscription') {\r\n return next();\r\n }\r\n return next('/renew-subscription');\r\n }\r\n\r\n return next('/signup');\r\n }\r\n\r\n return next('/login');\r\n}\r\n\r\nfunction routeToLibrary(to, from, next) {\r\n next('/library');\r\n}\r\nfunction checkCoupon(to, from, next) {\r\n const coupon = to.params.coupon;\r\n store.commit('subscription/setCoupon', coupon);\r\n next('/signup');\r\n}\r\nfunction isLoggedInWithEditorialPass(to, from, next) {\r\n if (localStorageService.getAccessToken()) {\r\n if (store.state.user.user) return next('/library');\r\n const { expires } = store.state.editorialPass;\r\n const now = new Date().getTime();\r\n if (expires && expires < now) {\r\n return next({\r\n path: '/logout',\r\n query: { error: 'Editorial pass has expired.' },\r\n });\r\n }\r\n next();\r\n } else {\r\n next('/login');\r\n }\r\n}\r\n\r\nfunction removeToken(to, from, next) {\r\n axios\r\n .delete('/auth/logout', {\r\n data: {\r\n token: localStorageService.getAccessToken(),\r\n refreshToken: localStorageService.getRefreshToken(),\r\n },\r\n })\r\n .then(() => {\r\n localStorageService.clearTokens();\r\n store.dispatch('RESET_STATE');\r\n return next({ path: '/login', query: to.query });\r\n })\r\n .catch(() => {\r\n localStorageService.clearTokens();\r\n store.dispatch('RESET_STATE');\r\n return next({ path: '/login', query: to.query });\r\n });\r\n}\r\n\r\nfunction isAdmin(to, from, next) {\r\n if (localStorageService.getAccessToken() && store.state.user.user.admin) {\r\n next();\r\n } else {\r\n next('/logout');\r\n }\r\n}\r\n\r\nfunction activeSubscriptionRedirect(to, from, next) {\r\n const user = store.state.user.user;\r\n\r\n if (user && user.legacy) return next('/library');\r\n\r\n if (!localStorageService.getAccessToken() && user) return next();\r\n if (hasSubscription()) {\r\n if (subscriptionActiveOrTrialing()) {\r\n return next('/library');\r\n }\r\n return next('/renew-subscription');\r\n }\r\n\r\n if (subscriptionExpired()) {\r\n return next('/renew-subscription');\r\n }\r\n\r\n return next();\r\n}\r\n\r\n// function hasQueryParams(route) {\r\n// return !!Object.keys(route.query).length\r\n// }\r\n\r\n// Router.beforeEach((to, from, next) => {\r\n// if(!hasQueryParams(to) && hasQueryParams(from)){\r\n// next({name: to.name, query: from.query});\r\n// } else {\r\n// next()\r\n// }\r\n// })\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: LandingPage,\r\n beforeEnter: routeToLibrary,\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n component: LoginPage,\r\n beforeEnter: activeSubscriptionRedirect,\r\n },\r\n {\r\n path: '/logout',\r\n name: 'logout',\r\n beforeEnter: removeToken,\r\n },\r\n {\r\n path: '/a/:coupon',\r\n name: 'Affiliate',\r\n beforeEnter: checkCoupon,\r\n },\r\n {\r\n path: '/signup',\r\n name: 'signup',\r\n component: SignUpPage,\r\n beforeEnter: activeSubscriptionRedirect,\r\n },\r\n {\r\n path: '/create-demo',\r\n name: 'create-demo',\r\n component: CreateDemoUser,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/create-legacy',\r\n name: 'create-legacy',\r\n component: CreateLegacyUser,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/library',\r\n name: 'library',\r\n component: Library,\r\n beforeEnter: isLoggedIn,\r\n },\r\n // {\r\n // path: '/analytics',\r\n // name: 'analytics',\r\n // component: Analytics,\r\n // },\r\n {\r\n path: '/profile',\r\n name: 'profile',\r\n component: AccountSettings,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/profile/menu-media',\r\n name: 'menu-media',\r\n component: ProfilePage,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/modify-subscription',\r\n name: 'modify-subscription',\r\n component: ModifySubscription,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/renew-subscription',\r\n name: 'renew-subscription',\r\n component: RenewSubscription,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/payment-details',\r\n name: 'payment-details',\r\n component: PaymentDetails,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/privacy-policy',\r\n name: 'privacy-policy',\r\n component: PrivacyPolicy,\r\n },\r\n {\r\n path: '/confirm-payment',\r\n name: 'confirm-payment',\r\n component: ConfirmPayment,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/show/:show_uuid',\r\n name: 'show',\r\n component: TheStudio,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/editorial/:show_uuid',\r\n name: 'editorial-show',\r\n component: TheStudio,\r\n beforeEnter: isLoggedInWithEditorialPass,\r\n },\r\n {\r\n path: '/allmedia',\r\n name: 'allmedia',\r\n component: AllMedia,\r\n beforeEnter: isLoggedIn,\r\n },\r\n // {\r\n // path: '/buttons',\r\n // name: 'buttons',\r\n // component: UserButtons,\r\n // beforeEnter: isLoggedIn,\r\n // },\r\n {\r\n path: '/quizzes',\r\n name: 'quizzes',\r\n component: Quizzes,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/quiz-results/:quiz_uuid',\r\n name: 'quiz-results',\r\n component: QuizResults,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/quiz/add',\r\n name: 'add-quiz',\r\n component: AddQuiz,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/quiz/:quiz_uuid',\r\n name: 'quiz-preview',\r\n component: QuizPreview,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/admin',\r\n name: 'admin',\r\n component: Admin,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/admin/user/:user_uuid',\r\n name: 'user-control',\r\n component: AdminUserControl,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/report',\r\n name: 'report',\r\n component: ReportPage,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/password',\r\n name: 'password',\r\n component: PasswordChange,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/password-reset',\r\n name: 'password-reset',\r\n component: PasswordReset,\r\n beforeEnter: activeSubscriptionRedirect,\r\n },\r\n\r\n {\r\n path: '/image-pack',\r\n name: 'image-pack',\r\n component: ImagePack,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/expired',\r\n name: 'expired',\r\n component: Expired,\r\n },\r\n {\r\n path: '/verified',\r\n name: 'verified',\r\n component: VerifiedEmail,\r\n },\r\n {\r\n path: '/**',\r\n name: 'not-found',\r\n alias: '/not-found',\r\n component: NotFound,\r\n },\r\n ],\r\n});\r\n\r\nrouter.afterEach(() => {\r\n const loadingMessages = store.getters['message/loading'];\r\n for (const message in loadingMessages) {\r\n store.commit('message/DELETE_MESSAGE', message);\r\n }\r\n});\r\n\r\nexport default router;\r\n","const LocalStorageService = (function() {\r\n var _service;\r\n function _getService() {\r\n if (!_service) {\r\n _service = this;\r\n return _service;\r\n }\r\n return _service;\r\n }\r\n function _setToken(tokenObj) {\r\n localStorage.setItem('token', tokenObj.token);\r\n localStorage.setItem('refreshToken', tokenObj.refreshToken);\r\n }\r\n function _getAccessToken() {\r\n return localStorage.getItem('token');\r\n }\r\n function _getRefreshToken() {\r\n return localStorage.getItem('refreshToken');\r\n }\r\n function _clearTokens() {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('refreshToken');\r\n }\r\n return {\r\n getService: _getService,\r\n setToken: _setToken,\r\n getAccessToken: _getAccessToken,\r\n getRefreshToken: _getRefreshToken,\r\n clearTokens: _clearTokens,\r\n };\r\n})();\r\nexport default LocalStorageService;\r\n","import axios from '@/lib/http';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n file: null,\r\n type: null,\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_FILE(state, fileObj) {\r\n state.file = fileObj.file;\r\n state.type = fileObj.type;\r\n },\r\n SET_AUDIO(state, audio) {\r\n state.file.audio = audio;\r\n },\r\n SET_LOOP_AUDIO(state, loop_audio) {\r\n state.file.loop_audio = loop_audio;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n async UPDATE_IMAGE_START(context, body) {\r\n await axios.post('/api/start/image', body);\r\n context.commit('show/SET_IMAGE_FILE_START', body, { root: true });\r\n },\r\n async UPDATE_VIDEO_START(context, body) {\r\n await axios.post('/api/start/video', body);\r\n context.commit('show/SET_VIDEO_FILE_START', body, { root: true });\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import axios from '@/lib/http';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n user: null,\r\n stripeUser: null,\r\n defaultCard: null,\r\n shows: [],\r\n files: [],\r\n buttons: [],\r\n passes: [],\r\n quizzes: [],\r\n templates: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_USER(state, user) {\r\n state.user = user;\r\n },\r\n SET_SHOWS(state, shows) {\r\n state.shows = shows;\r\n },\r\n ADD_SHOW(state, show) {\r\n state.shows.push(show);\r\n },\r\n DELETE_SHOW(state, show) {\r\n state.shows.splice(state.shows.indexOf(show), 1);\r\n },\r\n SET_FILES(state, files) {\r\n state.files = files;\r\n },\r\n SET_BUTTONS(state, buttons) {\r\n state.buttons = buttons;\r\n },\r\n ADD_BUTTON(state, button) {\r\n state.buttons.push(button);\r\n },\r\n ADD_BUTTONS(state, buttons) {\r\n state.buttons = [...state.buttons, ...buttons].filter(\r\n (value, index, self) =>\r\n self.map(btn => btn.name).indexOf(value.name) === index,\r\n );\r\n },\r\n DELETE_BUTTON(state, button) {\r\n state.buttons.splice(state.buttons.indexOf(button), 1);\r\n },\r\n SET_PASSES(state, passes) {\r\n state.passes = passes;\r\n },\r\n ADD_PASS(state, pass) {\r\n state.passes.push(pass);\r\n },\r\n DELETE_PASS(state, uuid) {\r\n state.passes = state.passes.filter(pass => pass.uuid !== uuid);\r\n },\r\n SET_QUIZZES(state, quizzes) {\r\n state.quizzes = quizzes;\r\n },\r\n SET_TEMPLATES(state, templates) {\r\n state.templates = templates;\r\n },\r\n SET_STRIPE_USER(state, user) {\r\n state.stripeUser = user;\r\n },\r\n SET_SUBSCRIPTION(state, subscription) {\r\n state.stripeUser.subscriptions.data[0] = subscription;\r\n },\r\n SET_DEFAULT_CARD(state, card) {\r\n state.defaultCard = card;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n async LOGIN(context, body) {\r\n const { data } = await axios.post('/auth/login', body);\r\n if (data.stripeUser.subscription_status == 'inactive') {\r\n throw new TypeError('Subscription inactive')\r\n } else {\r\n localStorageService.setToken(data);\r\n context.commit('SET_USER', data.user);\r\n context.commit('SET_STRIPE_USER', data.stripeUser);\r\n }\r\n },\r\n async GET_SHOWS(context) {\r\n const { data } = await axios.get('/api/shows');\r\n context.commit('SET_SHOWS', data);\r\n },\r\n async ADD_SHOW(context, body) {\r\n const { data } = await axios.post('/api/shows', body);\r\n context.commit('ADD_SHOW', data);\r\n },\r\n async DELETE_SHOW(context, show) {\r\n await axios.delete(`/api/shows?show_uuid=${show.uuid}`);\r\n context.commit('DELETE_SHOW', show);\r\n },\r\n async GET_FILES(context) {\r\n const { data } = await axios.get('/api/files');\r\n \r\n context.commit('SET_FILES', data);\r\n },\r\n async GET_BUTTONS(context) {\r\n const { data } = await axios.get('/api/custom/buttons');\r\n context.commit('SET_BUTTONS', data.custombuttons);\r\n },\r\n async ADD_BUTTON(context, body) {\r\n const { data } = await axios.post('/api/upload/button', body);\r\n context.commit('ADD_BUTTON', data.button);\r\n },\r\n async DELETE_BUTTON(context, data) {\r\n await axios.delete('/api/custom/buttons', { params: data.body });\r\n context.commit('DELETE_BUTTON', data.button);\r\n },\r\n async GET_PASSES(context) {\r\n const { data } = await axios.get('/api/passes');\r\n context.commit('SET_PASSES', data);\r\n },\r\n async ADD_PASS(context, body) {\r\n const { data } = await axios.post('/api/passes/add', body);\r\n context.commit('ADD_PASS', data.pass);\r\n },\r\n async DELETE_PASS(context, uuid) {\r\n await axios.delete('/api/passes', { params: { uuid } });\r\n context.commit('DELETE_PASS', uuid);\r\n },\r\n async GET_QUIZZES(context) {\r\n const { data } = await axios.get('/api/quizzes');\r\n context.commit('SET_QUIZZES', data);\r\n },\r\n async GET_TEMPLATES(context) {\r\n const { data } = await axios.get('/api/buttons/gettemplates');\r\n context.commit('SET_TEMPLATES', data);\r\n },\r\n};\r\n\r\nconst getters = {\r\n getShowPasses: state => show_uuid => {\r\n return state.passes.filter(pass => pass.show_uuid === show_uuid);\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import axios from '@/lib/http';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\nconst getDefaultState = () => {\r\n return {\r\n pass: null,\r\n show_uuid: null,\r\n plan: null,\r\n expires: null,\r\n username: null,\r\n show: null,\r\n files: [],\r\n images: [],\r\n videos: [],\r\n startFile: null,\r\n percentageOfDataUsed: 0,\r\n empty: true,\r\n userQuizzes: [],\r\n userButtons: [],\r\n guestPasses: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_PASS(state, pass) {\r\n state.pass = pass;\r\n },\r\n SET_SHOW_UUID(state, show_uuid) {\r\n state.show_uuid = show_uuid;\r\n },\r\n SET_PLAN(state, plan) {\r\n state.plan = plan;\r\n },\r\n SET_EXPIRES(state, expires) {\r\n state.expires = expires;\r\n },\r\n SET_USERNAME(state, username) {\r\n state.username = username;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n // SHOW\r\n SET_SHOW(state, show) {\r\n state.show = show;\r\n },\r\n SET_FILES(state, files) {\r\n state.files = files;\r\n },\r\n SET_IMAGES(state, images) {\r\n const start = images.find(\r\n image => image.name.split('_')[0] === 'ShowStart',\r\n );\r\n if (start) {\r\n images.splice(images.indexOf(start), 1);\r\n state.images = [start, ...images];\r\n } else {\r\n state.images = images;\r\n }\r\n },\r\n SET_VIDEOS(state, videos) {\r\n const start = videos.find(\r\n video => video.name.split('_')[0] === 'ShowStart',\r\n );\r\n if (start) {\r\n videos.splice(videos.indexOf(start), 1);\r\n state.videos = [start, ...videos];\r\n } else {\r\n state.videos = videos;\r\n }\r\n },\r\n SET_START_FILE(state, file) {\r\n state.startFile = file;\r\n },\r\n SET_PERCENTAGE(state, percentage) {\r\n state.percentageOfDataUsed = percentage;\r\n },\r\n SET_EMPTY(state, bool) {\r\n state.empty = bool;\r\n },\r\n SET_USER_BUTTONS(state, buttons) {\r\n state.userButtons = buttons;\r\n },\r\n SET_USER_QUIZZES(state, quizzes) {\r\n state.userQuizzes = quizzes;\r\n },\r\n SET_PASSES(state, passes) {\r\n state.guestPasses = passes;\r\n },\r\n SET_IMAGE_FILE_START(state, imageObj) {\r\n const image = state.images.find(\r\n image => image.uuid === imageObj.image_uuid,\r\n );\r\n if (image) {\r\n image.start_pos = imageObj.slider;\r\n }\r\n },\r\n SET_VIDEO_FILE_START(state, videoObj) {\r\n const video = state.videos.find(\r\n video => video.uuid === videoObj.video_uuid,\r\n );\r\n if (video) {\r\n video.start_pos = videoObj.slider;\r\n }\r\n },\r\n};\r\n\r\nconst actions = {\r\n async LOGIN(context, body) {\r\n const { data } = await axios.post('/auth/login/editorial-pass', body);\r\n localStorageService.setToken(data);\r\n context.commit('SET_PASS', data.pass.pass);\r\n context.commit('SET_SHOW_UUID', data.pass.show_uuid);\r\n context.commit('SET_PLAN', data.pass.show_user_plan);\r\n context.commit('SET_USERNAME', data.pass.show_username);\r\n context.commit('SET_EXPIRES', data.pass.expires);\r\n },\r\n // SHOW\r\n async GET_SHOW(context) {\r\n const { data } = await axios.get('/api/editorial-pass/show');\r\n context.commit('SET_SHOW', data);\r\n },\r\n async GET_FILES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/files');\r\n context.commit('SET_FILES', data);\r\n },\r\n async GET_IMAGES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/images');\r\n context.commit('SET_IMAGES', data);\r\n },\r\n async GET_VIDEOS(context) {\r\n const { data } = await axios.get('/api/editorial-pass/videos');\r\n context.commit('SET_VIDEOS', data);\r\n },\r\n async GET_PERCENTAGE_OF_DATA_USED(context) {\r\n const { data } = await axios.get('/api/editorial-pass/data');\r\n context.commit('SET_PERCENTAGE', data.percentage);\r\n },\r\n async GET_USER_BUTTONS(context) {\r\n const { data } = await axios.get('/api/editorial-pass/user-buttons');\r\n context.commit('SET_USER_BUTTONS', data);\r\n },\r\n async GET_USER_QUIZZES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/user-quizzes');\r\n context.commit('SET_USER_QUIZZES', data);\r\n },\r\n async GET_GUEST_PASSES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/guest-passes');\r\n context.commit('SET_PASSES', data);\r\n },\r\n async UPDATE_IMAGE_START(context, body) {\r\n await axios.post('/api/editorial-pass/start-position/image', body);\r\n context.commit('SET_IMAGE_FILE_START', body);\r\n },\r\n async UPDATE_VIDEO_START(context, body) {\r\n await axios.post('/api/editorial-pass/start-position/video', body);\r\n context.commit('SET_VIDEO_FILE_START', body);\r\n },\r\n async RELOAD_DATA({ dispatch, commit, state }) {\r\n await dispatch('GET_PERCENTAGE_OF_DATA_USED');\r\n await dispatch('GET_FILES');\r\n await dispatch('GET_IMAGES');\r\n await dispatch('GET_VIDEOS');\r\n\r\n const allFiles = [...state.images, ...state.videos];\r\n\r\n const startFile =\r\n allFiles.find(file => file.name.split('_')[0] === 'ShowStart') || null;\r\n\r\n if (startFile) {\r\n const type = startFile.path.includes('/rooms/') ? 'image' : 'video';\r\n const fileObj = {\r\n file: startFile,\r\n type,\r\n };\r\n commit('SET_START_FILE', startFile);\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_START_FILE', null);\r\n if (state.images.length > 0) {\r\n const fileObj = {\r\n file: state.images[0],\r\n type: 'image',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else if (state.videos.length > 0) {\r\n const fileObj = {\r\n file: state.videos[0],\r\n type: 'video',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_EMPTY', true);\r\n }\r\n }\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","// import axios from '@/lib/http';\r\nconst getDefaultState = () => {\r\n return {\r\n messages: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n ADD_MESSAGE(state, message) {\r\n state.messages.push(message);\r\n },\r\n DELETE_MESSAGE(state, message) {\r\n state.messages.splice(state.messages.indexOf(message), 1);\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {};\r\n\r\nconst getters = {\r\n loading: state => {\r\n return state.messages.filter(message => message.type === 'loading');\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import freeTrial from '@/data/freeTrial';\r\nimport prices from '@/data/prices';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedProduct: null,\r\n selectedInterval: 'month',\r\n selectedPrice: null,\r\n coupon: null,\r\n couponId: null,\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n setSelectedProduct(state, product) {\r\n state.selectedProduct = product;\r\n },\r\n setSelectedInterval(state, interval) {\r\n state.selectedInterval = interval;\r\n },\r\n setSelectedPrice(state, price) {\r\n state.selectedPrice = price;\r\n },\r\n setCoupon(state, coupon) {\r\n state.coupon = coupon;\r\n },\r\n setCouponId(state, couponId) {\r\n state.couponId = couponId;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n selectProductAndPrice({ commit, state }, product) {\r\n commit('setSelectedProduct', product);\r\n if (product === 'freeTrial') {\r\n const price = prices.find(\r\n p =>\r\n p.product === freeTrial.product.id &&\r\n p.recurring.interval === 'month',\r\n );\r\n commit('setSelectedPrice', price);\r\n } else {\r\n const price = prices.find(\r\n p =>\r\n p.product === product.id &&\r\n p.recurring.interval === state.selectedInterval,\r\n );\r\n commit('setSelectedPrice', price);\r\n }\r\n },\r\n selectIntervalAndPrice({ commit, state }, interval) {\r\n commit('setSelectedInterval', interval);\r\n const price = prices.find(\r\n price =>\r\n price.product === state.selectedProduct.id &&\r\n price.recurring.interval === interval,\r\n );\r\n commit('setSelectedPrice', price);\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n assignedGroups: [],\r\n grouplist: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n UPDATE_GROUPS(state, newGroups){\r\n state.assignedGroups = newGroups;\r\n },\r\n UPDATE_GROUPLIST(state, newGroups){\r\n state.grouplist = newGroups;\r\n },\r\n};\r\n\r\n\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n // actions,\r\n};\r\n","import axios from '@/lib/http';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n queryString: '',\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_QUERYSTRING(state, string) {\r\n state.queryString = string;\r\n },\r\n};\r\n\r\nconst actions = {\r\n saveQueryString(context, string) {\r\n context.commit('SET_QUERYSTRING',string);\r\n },\r\n getQueryString(context) {\r\n return context.queryString;\r\n },\r\n};\r\n\r\nconst getters = {\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport createPersistedState from 'vuex-persistedstate';\r\nimport showModule from './modules/show';\r\nimport selectedFileModule from './modules/selectedFile';\r\nimport userModule from './modules/user';\r\nimport editorialPassModule from './modules/editorialPass';\r\nimport messageModule from './modules/message';\r\nimport subscriptionModule from './modules/subscription';\r\nimport buttonGroupModule from './modules/buttongroups';\r\nimport azuredataModule from './modules/azuredata';\r\n\r\nVue.use(Vuex);\r\n\r\nconst getDefaultState = () => {\r\n return {};\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nexport default new Vuex.Store({\r\n plugins: [\r\n createPersistedState({\r\n key: 'vuex',\r\n reducer(val) {\r\n if (!localStorage.token) {\r\n // return empty state when user logged out\r\n return {};\r\n }\r\n return val;\r\n },\r\n }),\r\n ],\r\n modules: {\r\n user: userModule,\r\n editorialPass: editorialPassModule,\r\n show: showModule,\r\n selectedFile: selectedFileModule,\r\n message: messageModule,\r\n subscription: subscriptionModule,\r\n buttonGroups: buttonGroupModule,\r\n azuredata: azuredataModule,\r\n },\r\n state: state,\r\n mutations: {\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n },\r\n actions: {\r\n RESET_STATE({ commit }) {\r\n commit('RESET_STATE');\r\n commit('message/RESET_STATE');\r\n commit('show/RESET_STATE');\r\n commit('selectedFile/RESET_STATE');\r\n commit('editorialPass/RESET_STATE');\r\n commit('subscription/RESET_STATE');\r\n commit('user/RESET_STATE');\r\n },\r\n },\r\n getters: {},\r\n});\r\n","import axios from '@/lib/http';\r\nconst getDefaultState = () => {\r\n return {\r\n show: null,\r\n files: [],\r\n characters: [],\r\n images: [],\r\n videos: [],\r\n editorialPasses: [],\r\n startFile: null,\r\n percentageOfDataUsed: 0,\r\n empty: true,\r\n languages:[],\r\n useAnimation: 'false',\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_SHOW(state, show) {\r\n state.show = show;\r\n },\r\n SET_FILES(state, files) {\r\n state.files = files;\r\n },\r\n SET_CHARACTERS(state, files) {\r\n state.characters = files;\r\n },\r\n SET_LANGUAGES(state, languages) {\r\n state.languages = Object.values(languages);\r\n },\r\n SET_IMAGES(state, images) {\r\n const start = images.find(image => image.name.startsWith('ShowStart_'));\r\n if (start) {\r\n images.splice(images.indexOf(start), 1);\r\n state.images = [start, ...images];\r\n } else {\r\n state.images = images;\r\n }\r\n },\r\n SET_VIDEOS(state, videos) {\r\n const start = videos.find(\r\n video => video.name.split('_')[0] === 'ShowStart',\r\n );\r\n if (start) {\r\n videos.splice(videos.indexOf(start), 1);\r\n state.videos = [start, ...videos];\r\n } else {\r\n state.videos = videos;\r\n }\r\n },\r\n SET_EDITORIAL_PASSES(state, editorialPasses) {\r\n state.editorialPasses = editorialPasses;\r\n },\r\n SET_START_FILE(state, file) {\r\n state.startFile = file;\r\n },\r\n SET_PERCENTAGE(state, percentage) {\r\n state.percentageOfDataUsed = percentage;\r\n },\r\n SET_EMPTY(state, bool) {\r\n state.empty = bool;\r\n },\r\n SET_IMAGE_FILE_START(state, imageObj) {\r\n const image = state.images.find(\r\n image => image.uuid === imageObj.image_uuid,\r\n );\r\n if (image) {\r\n image.start_pos = imageObj.slider;\r\n }\r\n },\r\n SET_VIDEO_FILE_START(state, videoObj) {\r\n const video = state.videos.find(\r\n video => video.uuid === videoObj.video_uuid,\r\n );\r\n if (video) {\r\n video.start_pos = videoObj.slider;\r\n }\r\n },\r\n SET_SHOW_SPLASH(state, url) {\r\n state.show.splash_url = url;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n async GET_SHOW(context, show_uuid) {\r\n const { data } = await axios.get(`/api/shows/${show_uuid}`);\r\n context.commit('SET_SHOW', data);\r\n },\r\n async GET_FILES(context, show) {\r\n const { data } = await axios.get(\r\n `/api/show/files?show=${show.name}&show_uuid=${show.uuid}`,\r\n );\r\n context.commit('SET_FILES', data);\r\n },\r\n async GET_CHARACTERS(context, show) {\r\n let body = {\r\n show:show,\r\n }\r\n const chars = await axios.post('/api/shows/getshowcharacters', body);\r\n context.commit('SET_CHARACTERS', chars.data);\r\n },\r\n async GET_LANGUAGES(context, show_uuid) {\r\n const body = {\r\n show: show_uuid,\r\n };\r\n const { data } = await axios.post('/api/buttons/getlanguages', body);\r\n context.commit('SET_LANGUAGES', data);\r\n },\r\n // async GET_ANIMATIONUSE(context, show_uuid) {\r\n // const body = {\r\n // show: show_uuid,\r\n // };\r\n // const { data } = await axios.post('/api/buttons/getlanguages', body);\r\n // context.commit('SET_LANGUAGES', data);\r\n // },\r\n async GET_IMAGES({ commit, state }, show) {\r\n const { data } = await axios.get('/api/show/images', {\r\n params: { show_uuid: show.uuid, show: show.name },\r\n });\r\n commit('SET_IMAGES', data);\r\n setSelectedFile(commit, state);\r\n },\r\n async GET_VIDEOS({ commit, state }, show) {\r\n const { data } = await axios.get('/api/show/videos', {\r\n params: { show_uuid: show.uuid, show: show.name },\r\n });\r\n commit('SET_VIDEOS', data);\r\n setSelectedFile(commit, state);\r\n },\r\n async GET_EDITORIAL_PASSES(context, show_uuid) {\r\n const { data } = await axios.get('/api/editorial-pass/passes', {\r\n params: { show_uuid },\r\n });\r\n context.commit('SET_EDITORIAL_PASSES', data);\r\n },\r\n async GET_PERCENTAGE_OF_DATA_USED(context, show) {\r\n const { data } = await axios.get(`/api/shows/${show.name}/data`);\r\n context.commit('SET_PERCENTAGE', data.percentage);\r\n },\r\n async RELOAD_DATA({ dispatch, commit, state }) {\r\n const promises = [];\r\n dispatch('GET_PERCENTAGE_OF_DATA_USED', state.show);\r\n promises.push(dispatch('GET_FILES', state.show));\r\n promises.push(dispatch('GET_IMAGES', state.show));\r\n promises.push(dispatch('GET_VIDEOS', state.show));\r\n promises.push(dispatch('GET_CHARACTERS', state.show));\r\n await Promise.all(promises);\r\n setSelectedFile(commit, state);\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n\r\nfunction setSelectedFile(commit, state) {\r\n const allFiles = [...state.images, ...state.videos];\r\n const startFile =\r\n allFiles.find(file => file.name.startsWith('ShowStart_')) || null;\r\n\r\n if (startFile) {\r\n const type = startFile.path.includes('/rooms/') ? 'image' : 'video';\r\n const fileObj = {\r\n file: startFile,\r\n type,\r\n };\r\n commit('SET_START_FILE', startFile);\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_START_FILE', null);\r\n if (state.images.length > 0) {\r\n const fileObj = {\r\n file: state.images[0],\r\n type: 'image',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else if (state.videos.length > 0) {\r\n const fileObj = {\r\n file: state.videos[0],\r\n type: 'video',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_EMPTY', true);\r\n }\r\n }\r\n}\r\n","var map = {\n\t\"./loading.gif\": 68054\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 48514;","var map = {\n\t\"./error.png\": 87834,\n\t\"./info.png\": 73680,\n\t\"./success.png\": 33119\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 27671;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \"-legacy.\" + {\"47\":\"9754f022\",\"101\":\"ee2f9889\",\"130\":\"e33be3ee\",\"169\":\"be75a80e\",\"182\":\"fd526c82\",\"225\":\"e54907c8\",\"265\":\"173c1beb\",\"283\":\"256d6ca9\",\"318\":\"31032a2f\",\"379\":\"a33895f6\",\"385\":\"4766e664\",\"392\":\"8fbdec9d\",\"411\":\"e13d8a0f\",\"428\":\"71e0fa2d\",\"430\":\"5d61380d\",\"441\":\"abf212e6\",\"446\":\"587e00d8\",\"464\":\"10f7c970\",\"529\":\"fa096a2d\",\"545\":\"20d34dd7\",\"575\":\"8fd6159d\",\"583\":\"7571d770\",\"607\":\"70d1a231\",\"679\":\"d479e18c\",\"689\":\"a1cd3a50\",\"701\":\"64b4119a\",\"705\":\"736a0365\",\"723\":\"96e36c50\",\"724\":\"f2d93b8a\",\"734\":\"5a6260b9\",\"769\":\"3e95951e\",\"800\":\"37d15ea0\",\"802\":\"b1d1849e\",\"894\":\"700580b2\",\"917\":\"ba1bf005\",\"951\":\"789cce74\",\"958\":\"19b59725\",\"986\":\"086ed098\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"47\":\"3b081739\",\"101\":\"32c7937d\",\"169\":\"b8b1707e\",\"225\":\"e2f5f70e\",\"265\":\"27a8cb4f\",\"283\":\"d0029972\",\"318\":\"565841d1\",\"385\":\"bc2578bf\",\"392\":\"71dda257\",\"411\":\"fb010c6c\",\"430\":\"91a3e64c\",\"441\":\"a91d6872\",\"464\":\"f3cc62a2\",\"529\":\"b3c431c9\",\"583\":\"38e515f3\",\"679\":\"66557e73\",\"689\":\"ff86a4e1\",\"701\":\"18f3d4a8\",\"724\":\"6bfa70cc\",\"734\":\"8fcccf2d\",\"769\":\"e78c8068\",\"800\":\"8e9c643b\",\"894\":\"4be355a3\",\"951\":\"1e5cd387\",\"986\":\"d0156ce2\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"editor-front:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"47\":1,\"101\":1,\"169\":1,\"225\":1,\"265\":1,\"283\":1,\"318\":1,\"385\":1,\"392\":1,\"411\":1,\"430\":1,\"441\":1,\"464\":1,\"529\":1,\"583\":1,\"679\":1,\"689\":1,\"701\":1,\"724\":1,\"734\":1,\"769\":1,\"800\":1,\"894\":1,\"951\":1,\"986\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkeditor_front\"] = self[\"webpackChunkeditor_front\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(84795); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["silverId","silverProduct","products","p","id","silverMonth","prices","product","recurring","interval","trial","name","description","details","images","maxShows","price","year","month","eur","silver","gold","platinum","testProducts","legacyIds","currency","unit_amount","localStorageService","LocalStorageService","currentUrl","location","host","API_URL","console","log","api","axios","baseURL","cancelSource","interceptors","request","use","config","token","getAccessToken","headers","cancelToken","error","Promise","reject","retry","response","originalRequest","refreshToken","getRefreshToken","status","url","clearTokens","router","query","catch","includes","post","res","setToken","data","render","_vm","this","_c","_self","attrs","$route","path","_e","staticRenderFns","staticClass","staticStyle","require","_m","userAndToken","_v","user","admin","editorial_pass","computed","mapState","component","plan","expires","Date","getTime","ref","class","more","_s","overflow","on","$event","mounted","window","updated","methods","isOverflowing","expired","notExpired","messages","length","_l","message","index","key","deleteMessage","getImgUrl","type","mapMutations","DELETE_MESSAGE","components","TheNavbar","DemoUserAlert","Messages","TheFooter","install","Vue","options","prototype","$message","timeout","msg","store","setTimeout","$infoMessage","$successMessage","$errorMessage","$createLoading","$deleteLoading","Vuelidate","MessagePlugin","VCalendar","h","App","$mount","LandingPage","LoginPage","SignUpPage","CreateDemoUser","CreateLegacyUser","Library","ProfilePage","AccountSettings","ModifySubscription","AllMedia","Quizzes","QuizResults","AddQuiz","QuizPreview","ReportPage","Admin","AdminUserControl","PasswordChange","PasswordReset","TheStudio","Expired","NotFound","ImagePack","PaymentDetails","PrivacyPolicy","ConfirmPayment","RenewSubscription","VerifiedEmail","Router","nonLegacyRoutes","hasSubscription","stripeUser","hasPlan","hasSubscriptionId","subscriptionActiveOrTrialing","subscription_status","subscriptionExpired","subscriptions","requiresAction","latest_invoice","payment_intent","isLoggedIn","to","from","next","legacy","verified","routeToLibrary","checkCoupon","coupon","params","isLoggedInWithEditorialPass","now","removeToken","then","isAdmin","activeSubscriptionRedirect","mode","base","process","routes","beforeEnter","alias","afterEach","loadingMessages","_service","_getService","_setToken","tokenObj","localStorage","setItem","_getAccessToken","getItem","_getRefreshToken","_clearTokens","removeItem","getService","getDefaultState","file","state","mutations","SET_FILE","fileObj","SET_AUDIO","audio","SET_LOOP_AUDIO","loop_audio","RESET_STATE","Object","assign","actions","UPDATE_IMAGE_START","context","body","commit","root","UPDATE_VIDEO_START","getters","namespaced","defaultCard","shows","files","buttons","passes","quizzes","templates","SET_USER","SET_SHOWS","ADD_SHOW","show","push","DELETE_SHOW","splice","indexOf","SET_FILES","SET_BUTTONS","ADD_BUTTON","button","ADD_BUTTONS","filter","value","self","map","btn","DELETE_BUTTON","SET_PASSES","ADD_PASS","pass","DELETE_PASS","uuid","SET_QUIZZES","SET_TEMPLATES","SET_STRIPE_USER","SET_SUBSCRIPTION","subscription","SET_DEFAULT_CARD","card","LOGIN","TypeError","GET_SHOWS","GET_FILES","GET_BUTTONS","custombuttons","GET_PASSES","GET_QUIZZES","GET_TEMPLATES","getShowPasses","show_uuid","username","videos","startFile","percentageOfDataUsed","empty","userQuizzes","userButtons","guestPasses","SET_PASS","SET_SHOW_UUID","SET_PLAN","SET_EXPIRES","SET_USERNAME","SET_SHOW","SET_IMAGES","start","find","image","split","SET_VIDEOS","video","SET_START_FILE","SET_PERCENTAGE","percentage","SET_EMPTY","bool","SET_USER_BUTTONS","SET_USER_QUIZZES","SET_IMAGE_FILE_START","imageObj","image_uuid","start_pos","slider","SET_VIDEO_FILE_START","videoObj","video_uuid","show_user_plan","show_username","GET_SHOW","GET_IMAGES","GET_VIDEOS","GET_PERCENTAGE_OF_DATA_USED","GET_USER_BUTTONS","GET_USER_QUIZZES","GET_GUEST_PASSES","RELOAD_DATA","dispatch","allFiles","ADD_MESSAGE","loading","selectedProduct","selectedInterval","selectedPrice","couponId","setSelectedProduct","setSelectedInterval","setSelectedPrice","setCoupon","setCouponId","selectProductAndPrice","freeTrial","selectIntervalAndPrice","assignedGroups","grouplist","UPDATE_GROUPS","newGroups","UPDATE_GROUPLIST","queryString","SET_QUERYSTRING","string","saveQueryString","getQueryString","Vuex","plugins","createPersistedState","reducer","val","modules","userModule","editorialPass","editorialPassModule","showModule","selectedFile","selectedFileModule","messageModule","subscriptionModule","buttonGroups","buttonGroupModule","azuredata","azuredataModule","characters","editorialPasses","languages","useAnimation","SET_CHARACTERS","SET_LANGUAGES","values","startsWith","SET_EDITORIAL_PASSES","SET_SHOW_SPLASH","splash_url","GET_CHARACTERS","chars","GET_LANGUAGES","setSelectedFile","GET_EDITORIAL_PASSES","promises","all","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","f","chunkId","reduce","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","createStylesheet","fullhref","oldTag","linkTag","rel","onLinkComplete","errorType","realHref","href","err","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}