{"version":3,"file":"js/app.7791a82c.js","mappings":"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","sources":["webpack://dlm-vue-frontend/./src/Shared/client.js","webpack://dlm-vue-frontend/./src/App.vue","webpack://dlm-vue-frontend/./src/components/SideMenu.vue","webpack://dlm-vue-frontend/src/components/SideMenu.vue","webpack://dlm-vue-frontend/./src/components/SideMenu.vue?6b9e","webpack://dlm-vue-frontend/./src/components/SideMenu.vue?10ea","webpack://dlm-vue-frontend/src/App.vue","webpack://dlm-vue-frontend/./src/App.vue?b495","webpack://dlm-vue-frontend/./src/App.vue?0e40","webpack://dlm-vue-frontend/./src/router/index.js","webpack://dlm-vue-frontend/./src/plugins/vuetify.js","webpack://dlm-vue-frontend/./src/store/store.js","webpack://dlm-vue-frontend/./src/main.js","webpack://dlm-vue-frontend/webpack/bootstrap","webpack://dlm-vue-frontend/webpack/runtime/chunk loaded","webpack://dlm-vue-frontend/webpack/runtime/compat get default export","webpack://dlm-vue-frontend/webpack/runtime/define property getters","webpack://dlm-vue-frontend/webpack/runtime/ensure chunk","webpack://dlm-vue-frontend/webpack/runtime/get javascript chunk filename","webpack://dlm-vue-frontend/webpack/runtime/get mini-css chunk filename","webpack://dlm-vue-frontend/webpack/runtime/global","webpack://dlm-vue-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://dlm-vue-frontend/webpack/runtime/load script","webpack://dlm-vue-frontend/webpack/runtime/make namespace object","webpack://dlm-vue-frontend/webpack/runtime/node module decorator","webpack://dlm-vue-frontend/webpack/runtime/publicPath","webpack://dlm-vue-frontend/webpack/runtime/css loading","webpack://dlm-vue-frontend/webpack/runtime/jsonp chunk loading","webpack://dlm-vue-frontend/webpack/startup"],"sourcesContent":["import * as axios from 'axios'\n\nconst client = axios.create({\n baseURL: process.env.VUE_APP_API_URL,\n json: true,\n})\n\nconst parseObject = (response) => {\n if (response.status !== 200) throw Error(response.message)\n if (!response.data) return null\n let obj = response.data\n if (typeof obj !== 'object') {\n obj = null\n }\n return obj\n}\n\nconst parseString = (response) => {\n if (response.status !== 200) throw Error(response.message)\n if (response.data == null) return null\n let result = response.data\n if (typeof result !== 'string') {\n result = null\n }\n return result\n}\n\nconst parseBoolean = (response) => {\n if (response.status !== 200) throw Error(response.message)\n let result = response.data\n if (typeof result !== 'boolean') {\n result = null\n }\n return result\n}\n\nconst parseList = (response) => {\n if (response.status !== 200) throw Error(response.message)\n if (!response.data) return []\n let list = response.data\n if (typeof list !== 'object') {\n list = []\n }\n return list\n}\n\nconst getAccessToken = () => {\n let storageToken = sessionStorage.getItem('accessToken')\n const userToken = JSON.parse(storageToken)\n if (userToken != null) {\n const expDate = new Date(userToken.jwtExpiryTime)\n if (expDate < Date.now()) {\n return (window.location.href = process.env.VUE_APP_URL)\n }\n return userToken\n } else {\n return (window.location.href = process.env.VUE_APP_URL)\n }\n}\n\nexport default {\n async execute(httpMethod, resource, data) {\n return client({\n httpMethod,\n url: resource,\n data,\n headers: {},\n }).then((response) => {\n return response\n })\n },\n\n //SC Authentication Validierung mit Freischaltcode und Geburtsdatum\n async validateSchuelerWithCodeAndBirthDate(\n freischaltcode,\n geburtsdatum,\n sollFortfahren\n ) {\n try {\n const body = {\n freischaltcode: freischaltcode,\n geburtsdatum: geburtsdatum,\n sollFortfahren: sollFortfahren,\n }\n const response = await client.post(`validateSchueler`, body)\n let result = parseObject(response)\n if (result !== null) {\n if (result.success === true) {\n sessionStorage.setItem('accessToken', JSON.stringify(result))\n }\n }\n return result\n } catch {\n return null\n }\n },\n\n async loginBenutzerWithCodeAndBirthDate(freischaltcode, geburtsdatum) {\n try {\n const body = {\n freischaltcode: freischaltcode,\n geburtsdatum: geburtsdatum,\n }\n const response = await client.post(\n `api/DBRUserAuth/loginDBRBenutzer`,\n body\n )\n let userToken = parseObject(response)\n sessionStorage.setItem('accessToken', JSON.stringify(userToken))\n return userToken\n } catch {\n return null\n }\n },\n\n async getUserInfo() {\n try {\n const userToken = getAccessToken()\n const response = await client.get('api/DBRUserAuth/getSchuelerInfo', {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n let userInfo = parseObject(response)\n return userInfo\n } catch {\n return null\n }\n },\n\n async getDBRSchueler() {\n try {\n const response = await client.get('getDBRSchueler')\n let userToken = parseObject(response)\n sessionStorage.setItem('accessToken', JSON.stringify(userToken))\n return userToken\n } catch {\n return null\n }\n },\n\n async isUserAuthenticated() {\n try {\n const response = await client.get('isUserAuthenticated')\n let isAuthenticated = parseBoolean(response)\n return isAuthenticated\n } catch {\n return null\n }\n },\n\n async userExists() {\n try {\n const response = await client.get('userExists')\n let userExists = parseBoolean(response)\n return userExists\n } catch {\n return null\n }\n },\n\n async loginWithVidis() {\n window.location.href = process.env.VUE_APP_VIDIS_LOGIN_URL\n },\n\n async isActive() {\n try {\n const response = await client.get('api/DBRUserAuth/isAuthActive')\n let isAuthActive = parseBoolean(response)\n return isAuthActive\n } catch {\n return null\n }\n },\n\n async isAdminAuthenticated() {\n try {\n const userToken = getAccessToken()\n const response = await client.get('api/Admin/isAdminAuthenticated', {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n let isAdminAuthenticated = parseObject(response)\n return isAdminAuthenticated\n } catch {\n return null\n }\n },\n\n async validateCode(code) {\n try {\n const userToken = getAccessToken()\n const response = await client.post('api/Admin/validateCode/', code, {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n let isValidCode = parseBoolean(response)\n return isValidCode\n } catch {\n return null\n }\n },\n\n async sendCode() {\n try {\n const userToken = getAccessToken()\n const response = await client.post('api/Admin/sendCode/', {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n if (response.status !== 200) throw Error(response.message)\n } catch {\n return null\n }\n },\n\n async getSchulenUndStufen() {\n try {\n const userToken = getAccessToken()\n const response = await client.get('api/Admin/getSchulenUndStufen', {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n let schulenUndStufen = parseObject(response)\n return schulenUndStufen\n } catch {\n return null\n }\n },\n\n async loadKlassenByStufeAndSchule(schulnummer, stufe) {\n try {\n const userToken = getAccessToken()\n const response = await client.get(\n `api/Admin/getKlasse?schulnummer=${schulnummer}&stufe=${stufe}`,\n {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n }\n )\n let schulenUndStufen = parseList(response)\n return schulenUndStufen\n } catch {\n return null\n }\n },\n\n async getSchuelernBySchule(schulnummer, stufe, klasse) {\n try {\n const userToken = getAccessToken()\n const response = await client.get(\n `api/Admin/getSchuelerSuche?schulnummer=${schulnummer}&stufe=${stufe}&klasse=${klasse}`,\n {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n }\n )\n let schuelern = parseList(response)\n return schuelern\n } catch {\n return null\n }\n },\n\n async getGewaehlteSchueler(freischaltcode, geburtsdatum) {\n try {\n const userToken = getAccessToken()\n const body = {\n freischaltcode: freischaltcode,\n geburtsdatum: geburtsdatum,\n }\n const response = await client.post(\n `api/Admin/getGewaehlteSchueler`,\n body,\n {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n }\n )\n let schuelerAdminToken = parseObject(response)\n sessionStorage.setItem('accessToken', JSON.stringify(schuelerAdminToken))\n return userToken\n } catch {\n return null\n }\n },\n\n async getAktiveDBRNews() {\n try {\n const userToken = getAccessToken()\n const response = await client.get(`api/Wartung/getNews`, {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n let dbrNews = parseList(response)\n return dbrNews\n } catch {\n return null\n }\n },\n\n async getzugewieseneDLMsForSchueler(schulJahrId) {\n try {\n const userToken = getAccessToken()\n const response = await client.get(\n `api/DigitalesLernmittel/GetzugewieseneDLMsForSchueler?schulJahrId=${schulJahrId}`,\n {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n }\n )\n let dlms = parseList(response)\n return dlms\n } catch {\n return null\n }\n },\n\n async getDLMPermalink(digitalesLernmittel, schulJahrId) {\n try {\n const userToken = getAccessToken()\n const response = await client.post(\n `api/DigitalesLernmittel/getDLMPermalink?schulJahrId=${schulJahrId}&laufindex=${digitalesLernmittel.laufindex}`,\n null,\n {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n }\n )\n let permalink = parseString(response)\n return permalink\n } catch {\n return null\n }\n },\n\n async logout() {\n window.location.href = process.env.VUE_APP_VIDIS_LOGOUT_URL\n },\n\n // async logout() {\n // try {\n // await client.get(`logUserOut`)\n // } catch {\n // return null\n // }\n // },\n\n async logAdminout() {\n try {\n const userToken = getAccessToken()\n await client.get(`api/DBRUserAuth/logAdminOut`, {\n headers: {\n Authorization: 'Bearer ' + userToken.jwtToken,\n 'Content-Type': 'application/json',\n },\n })\n } catch {\n return null\n }\n },\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[(this.$root.currentUser != null && !this.$route.meta.isAdminPath)?_c('v-navigation-drawer',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.$root.currentUser != null),expression:\"this.$root.currentUser != null\"}],staticStyle:{\"z-index\":\"5\"},attrs:{\"clipped\":\"\",\"app\":\"\",\"absolute\":\"\"},model:{value:(_vm.showMenu),callback:function ($$v) {_vm.showMenu=$$v},expression:\"showMenu\"}},[_c('side-menu')],1):_vm._e(),_c('v-app-bar',{staticStyle:{\"background\":\"linear-gradient(to bottom, #bbbbbb, white)\"},attrs:{\"clipped-left\":\"\",\"app\":\"\",\"absolute\":\"\",\"height\":\"100px\"}},[(this.$route.name !== 'loginView')?_c('v-app-bar-nav-icon',_vm._b({attrs:{\"color\":\"#871d33\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showMenu = !_vm.showMenu}}},'v-app-bar-nav-icon',_vm.size,false)):_vm._e(),_c('v-flex',{staticClass:\"text-lg-left text-sm-left text-md-left text-xs-left\",attrs:{\"md5\":\"\",\"sm2\":\"\",\"xs2\":\"\"}},[_c('v-app-bar-title',[_c('v-btn',_vm._b({attrs:{\"text\":\"\",\"color\":\"#871d33\",\"to\":{ name: 'dlmView' }}},'v-btn',_vm.size,false),[_vm._v(\" Digitales Bücherregal \")])],1)],1),(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-toolbar-items',[(this.$root.currentUser)?_c('v-flex',{staticClass:\"RlpRed text-lg-center text-sm-center text-md-center text-xs-center\",staticStyle:{\"align-self\":\"self-end\",\"font-size\":\"larger\"},attrs:{\"md6\":\"\"}},[_vm._v(\" Herzlich willkommen \"+_vm._s(this.$root.currentUser.schuelerVorname)+\" \"+_vm._s(this.$root.currentUser.schuelerName)+\" \")]):_vm._e()],1):_vm._e(),_c('v-spacer'),_c('v-flex',{staticClass:\"text-lg-right text-md-right text-sm-right text-xs-right\",attrs:{\"lg2\":\"\",\"md2\":\"\",\"sm4\":\"\",\"xs4\":\"\"}},[_c('img',{staticStyle:{\"height\":\"90%\"},attrs:{\"src\":require(\"@/assets/logo_bm.svg\")}})])],1),_c('v-main',{staticClass:\"mainBackgroundoffWhite\"},[_c('router-view')],1),_c('v-footer',{staticClass:\"d-flex justify-space-between\",attrs:{\"inset\":false,\"clipped-left\":\"\",\"absolute\":\"\",\"app\":\"\"}},[_c('v-flex',{staticClass:\"text-lg-left text-sm-left text-md-left text-xs-left\",attrs:{\"md8\":\"\"}},[_vm._v(\" © 2023 Pädagogisches Landesinstitut - Digitales Bücherregal \")]),_c('v-spacer'),_c('v-flex',{staticClass:\"justify-end text-lg-right text-sm-right text-md-right text-xs-right\",attrs:{\"lg1\":\"\",\"md2\":\"\",\"sm3\":\"\",\"xs4\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'DatenschutzView' }}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"wrap-text\"},[_vm._v(\"Datenschutz\")])],1)],1)],1),_c('v-flex',{staticClass:\"justify-end text-lg-right text-sm-right text-md-right text-xs-right\",attrs:{\"lg1\":\"\",\"md2\":\"\",\"sm3\":\"\",\"xs4\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'Impressum' }}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"wrap-text\"},[_vm._v(\"Impressum\")])],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-list',[_c('v-list-item',{staticClass:\"px-2\"},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"#871d33\"}},[_vm._v(\" \"+_vm._s(_vm.icons[5])+\" \")])],1)],1),_c('v-list-item',[(_vm.currentUser)?_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-h6 wrap-text\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.dbrfullName)+\" \")])]),_c('v-list-item-subtitle',{staticClass:\"wrap-text\"},[_vm._v(\" \"+_vm._s(_vm.bpFullName)+\" \")]),_c('v-list-item-subtitle',{staticClass:\"wrap-text\"},[_vm._v(\" \"+_vm._s(_vm.details.schule)+\" \")]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.details.klasse)+\" \")])],1):_vm._e()],1)],1),_c('v-divider'),_c('v-list',{attrs:{\"shaped\":\"\",\"nav\":\"\"}},[[_c('v-list-item',{attrs:{\"to\":{\n name: 'dlmView',\n },\"color\":\"#871d33\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[6]))])],1),_c('v-list-item-title',{staticClass:\"font-weight-medium\"},[_c('span',[_vm._v(\"Startseite\")])])],1),_c('v-list-group',{attrs:{\"no-action\":\"\",\"color\":\"#871d33\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"font-weight-medium\"},[_c('span',[_vm._v(\"Regal\")])])],1)]},proxy:true}])},[_c('v-icon',{attrs:{\"slot\":\"prependIcon\",\"color\":\"#5b7ea2\"},slot:\"prependIcon\"},[_vm._v(\" \"+_vm._s(_vm.icons[0])+\" \")]),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{\n name: 'dlmView',\n }}},[_c('v-list-item-title',{staticClass:\"text-wrap font-weight-medium\"},[_c('span',[_vm._v(\"aktuelles Schuljahr\")])]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[0]))])],1)],1),_c('v-list-item',{attrs:{\"to\":{\n name: 'previousYearsDLMView',\n }}},[_c('v-list-item-title',{staticClass:\"font-weight-medium text-wrap\"},[_c('span',[_vm._v(\"andere Schuljahre\")])]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[1]))])],1)],1)],1),_c('v-list-group',{attrs:{\"no-action\":\"\",\"color\":\"#871d33\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"font-weight-medium\"},[_c('span',[_vm._v(\"Infos\")])])],1)]},proxy:true}])},[_c('v-icon',{attrs:{\"slot\":\"prependIcon\",\"color\":\"#5b7ea2\"},slot:\"prependIcon\"},[_vm._v(\" \"+_vm._s(_vm.icons[7])+\" \")]),_c('v-list-item',{attrs:{\"to\":{\n name: 'newsView',\n }}},[_c('v-list-item-title',{staticClass:\"font-weight-medium text-wrap\"},[_c('span',[_vm._v(\"Kurzanleitung\")])]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[2]))])],1)],1),_c('v-list-item',{attrs:{\"to\":{\n name: 'profilView',\n }}},[_c('v-list-item-title',{staticClass:\"font-weight-medium text-wrap\"},[_c('span',[_vm._v(\"Meine Daten\")])]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[8]))])],1)],1)],1),(_vm.isAdmin)?_c('v-list-item',{attrs:{\"to\":{\n name: 'settingsView',\n },\"color\":\"#871d33\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[3]))])],1),_c('v-list-item-title',{staticClass:\"font-weight-medium\"},[_c('span',[_vm._v(\"Einstellungen\")])])],1):_vm._e()]],2),_c('v-list',{staticClass:\"pb-16\"},[_c('v-list-item',{on:{\"click\":_vm.logout}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[4]))])],1),_c('v-list-item-title',[_c('span',[_vm._v(\"Abmelden\")])])],1)],1),_c('v-card',[_c('v-list',[_c('v-list-item',{attrs:{\"target\":\"_blank\",\"href\":_vm.bildungsportalURL}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"#5b7ea2\"}},[_vm._v(_vm._s(_vm.icons[9]))])],1),_c('v-list-item-title',{staticClass:\"font-weight-medium\"},[_c('span',[_vm._v(\"Bildungsportal RLP\")])])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\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!./SideMenu.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!./SideMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SideMenu.vue?vue&type=template&id=3d4cb135&scoped=true\"\nimport script from \"./SideMenu.vue?vue&type=script&lang=js\"\nexport * from \"./SideMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./SideMenu.vue?vue&type=style&index=0&id=3d4cb135&prod&scoped=true&lang=css\"\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 \"3d4cb135\",\n null\n \n)\n\nexport default component.exports","\n\n\n\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=357b9f76\"\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=357b9f76&prod&lang=css\"\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 Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport client from '@/Shared/client'\n\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n redirect: '/login',\n },\n {\n path: '/login',\n name: 'loginView',\n component: () => import('../views/LoginView.vue'),\n },\n {\n path: '/validierung',\n name: 'userValidationView',\n component: () => import('../views/UserValidationView.vue'),\n meta: {\n requiresAuth: true,\n oneTimeValidation: true,\n },\n },\n {\n path: '/dlm/',\n name: 'dlmView',\n component: () => import('../views/DLMView.vue'),\n props: { jahrgangsstufeId: 2, changeStufe: false },\n meta: { requiresAuth: true },\n },\n {\n path: '/vorherige-jahre/',\n name: 'previousYearsDLMView',\n component: () => import('../views/DLMView.vue'),\n props: { jahrgangsstufeId: 1, changeStufe: true },\n meta: { requiresAuth: true },\n },\n {\n path: '/news/',\n name: 'newsView',\n component: () => import('../views/NewsView.vue'),\n props: true,\n meta: { requiresAuth: true },\n },\n {\n path: '/profil/',\n name: 'profilView',\n component: () => import('../views/ProfilView.vue'),\n meta: { requiresAuth: true },\n },\n {\n path: '/admin-validierung/',\n name: 'adminValidation',\n component: () => import('../views/AdminValidationView.vue'),\n meta: { requiresAuth: true, isAdminPath: true },\n },\n {\n path: '/schueler-suche/',\n name: 'schuelerSuche',\n component: () => import('../views/AdminSchuelerSucheView.vue'),\n meta: { requiresAuth: true, isAdminPath: true },\n },\n {\n path: '/settings/',\n name: 'settingsView',\n component: () => import('../views/SettingsView.vue'),\n meta: { requiresAuth: true, isAdminPath: true },\n },\n {\n path: '/impressum',\n name: 'Impressum',\n component: () => import('../views/ImpressumView.vue'),\n },\n {\n path: '/datenschutz',\n name: 'DatenschutzView',\n component: () => import('../views/DatenschutzView.vue'),\n },\n]\n\nconst router = new VueRouter({\n routes,\n})\n\nrouter.beforeResolve(async (to, from, next) => {\n const accessToken = sessionStorage.getItem('accessToken')\n const storageToken = JSON.parse(accessToken)\n const roleAdmin = 'Admin'\n const roleSuS = 'SuS'\n const currentUser = sessionStorage.getItem('currentUser')\n\n if (to.meta.requiresAuth) {\n if (storageToken) {\n const expDate = new Date(storageToken.jwtExpiryTime)\n if (expDate < Date.now()) {\n sessionStorage.removeItem('accessToken')\n return next('/login')\n }\n if (storageToken.role === roleAdmin && to.meta.isAdminPath) {\n let isAdmin = await client.isAdminAuthenticated()\n\n if (isAdmin === null) {\n sessionStorage.removeItem('accessToken')\n return next('/login')\n }\n if (isAdmin.isAdminLoggedIn) {\n if (\n (to.path == '/admin-validierung/' &&\n !isAdmin.isAdminTwoFactorAuthenticated) ||\n (to.path != '/admin-validierung/' &&\n isAdmin.isAdminTwoFactorAuthenticated)\n ) {\n return next()\n } else if (\n to.path == '/admin-validierung/' &&\n isAdmin.isAdminTwoFactorAuthenticated\n ) {\n return next('/schueler-suche/')\n }\n } else {\n return next('/login')\n }\n } else {\n if (!currentUser) {\n let currentUserInfo = await client.getUserInfo()\n sessionStorage.setItem('currentUser', JSON.stringify(currentUserInfo))\n router.app.$root.currentUser = currentUserInfo\n }\n if (\n (storageToken.role === roleSuS && to.meta.isAdminPath) ||\n to.path == '/login' ||\n to.path == '/validierung'\n ) {\n return next('/dlm')\n }\n }\n } else {\n let isUserAuthenticated = await client.isUserAuthenticated()\n if (isUserAuthenticated) {\n let userExists = await client.userExists()\n if (userExists) {\n if (to.meta.oneTimeValidation) {\n return next('/dlm')\n } else {\n await client.getDBRSchueler()\n return next('/dlm')\n }\n } else if (to.path != '/validierung') {\n next('/login')\n }\n } else {\n return next('/login')\n }\n }\n }\n return next()\n})\n\nexport default router\n","import Vue from 'vue'\nimport Vuetify from 'vuetify/lib/framework'\n\nVue.use(Vuetify)\n\nexport default new Vuetify({\n icons: {\n iconfont: 'mdiSvg',\n },\n})\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nconst state = {\n showBadge: true,\n}\nconst mutations = {\n removeBadge(state, showState) {\n state.showBadge = showState\n },\n}\nconst actions = {\n removeBadgeAction({ commit }) {\n const showState = false\n commit('removeBadge', showState)\n },\n}\nconst modules = {}\nconst getters = {}\n\nexport default new Vuex.Store({\n state,\n mutations,\n actions,\n modules,\n getters,\n})\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport vuetify from './plugins/vuetify'\nimport store from './store/store'\n\nVue.config.productionTip = false\n\nnew Vue({\n data() {\n return {\n currentUser: null,\n currentAdmin: null,\n adminFalseTriesNum: 0,\n }\n },\n router,\n vuetify,\n store,\n created() {\n try {\n const userString = sessionStorage.getItem('currentUser')\n const adminString = sessionStorage.getItem('currentAdmin')\n if (userString) {\n let userData = JSON.parse(userString)\n this.$root.currentUser = userData\n }\n if (adminString) {\n let adminData = JSON.parse(adminString)\n this.$root.currentAdmin = adminData\n }\n } catch {\n sessionStorage.removeItem('currentUser')\n location.reload()\n }\n },\n render: (h) => h(App),\n}).$mount('#app')\n","// 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 + \".\" + {\"30\":\"9278fedd\",\"65\":\"aef76dde\",\"163\":\"3801b08e\",\"209\":\"b70568c3\",\"224\":\"ab37ee57\",\"264\":\"5d9b6956\",\"471\":\"0a7c683d\",\"481\":\"354749f3\",\"568\":\"8900ea8d\",\"597\":\"8b48bac0\",\"633\":\"1c8cc5e8\",\"648\":\"bff30b34\",\"814\":\"8577767a\",\"870\":\"b32171a4\",\"951\":\"3dd77fd9\"}[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 + \".\" + {\"65\":\"0867d485\",\"163\":\"0867d485\",\"209\":\"1ed65021\",\"224\":\"b4d84523\",\"471\":\"87e3bb93\",\"633\":\"0808e06d\",\"648\":\"1ecf3cab\",\"814\":\"5208bb64\",\"870\":\"66091d9d\",\"951\":\"d1d8007f\"}[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 = \"dlm-vue-frontend:\";\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\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 = \"/DLM/\";","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\tif (linkTag.parentNode) linkTag.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 = {\"65\":1,\"163\":1,\"209\":1,\"224\":1,\"471\":1,\"633\":1,\"648\":1,\"814\":1,\"870\":1,\"951\":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}\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[\"webpackChunkdlm_vue_frontend\"] = self[\"webpackChunkdlm_vue_frontend\"] || [];\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__(7096); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["client","axios","baseURL","process","json","parseObject","response","status","Error","message","data","obj","parseString","result","parseBoolean","parseList","list","getAccessToken","storageToken","sessionStorage","getItem","userToken","JSON","parse","expDate","Date","jwtExpiryTime","now","window","location","href","execute","httpMethod","resource","url","headers","then","validateSchuelerWithCodeAndBirthDate","freischaltcode","geburtsdatum","sollFortfahren","body","post","success","setItem","stringify","loginBenutzerWithCodeAndBirthDate","getUserInfo","get","Authorization","jwtToken","userInfo","getDBRSchueler","isUserAuthenticated","isAuthenticated","userExists","loginWithVidis","isActive","isAuthActive","isAdminAuthenticated","validateCode","code","isValidCode","sendCode","getSchulenUndStufen","schulenUndStufen","loadKlassenByStufeAndSchule","schulnummer","stufe","getSchuelernBySchule","klasse","schuelern","getGewaehlteSchueler","schuelerAdminToken","getAktiveDBRNews","dbrNews","getzugewieseneDLMsForSchueler","schulJahrId","dlms","getDLMPermalink","digitalesLernmittel","laufindex","permalink","logout","logAdminout","$event","showMenu","callback","expression","staticStyle","attrs","$route","click","stopPropagation","staticClass","_c","name","_v","_vm","require","staticRenderFns","render","key","proxy","slot","_s","icons","isAdmin","mounted","userString","currentUser","role","mdiBookshelf","mdiBookMultiple","mdiNewspaperVariantMultipleOutline","mdiCog","mdiLogout","mdiAccountCircle","mdiHomeCircle","mdiBookInformationVariant","mdiCardAccountDetails","mdiOpenInNew","username","undefined","unopenedNewsCount","bildungsportalURL","computed","dbrfullName","schuelerVorname","schuelerName","bpFullName","bpNutzerVorname","bpNutzerName","details","aktuelleDetail","reduce","prev","curr","schuljahrId","mapState","methods","mapActions","removeBadge","removeBadgeAction","removeItem","$root","$router","push","path","component","components","SideMenu","size","xs","sm","md","lg","xl","$vuetify","breakpoint","menuicon","mdiMenu","Vue","use","VueRouter","routes","redirect","meta","requiresAuth","oneTimeValidation","props","jahrgangsstufeId","changeStufe","isAdminPath","router","beforeResolve","async","to","from","next","accessToken","roleAdmin","roleSuS","isAdminLoggedIn","isAdminTwoFactorAuthenticated","currentUserInfo","app","Vuetify","iconfont","Vuex","state","showBadge","mutations","showState","actions","commit","modules","getters","config","productionTip","currentAdmin","adminFalseTriesNum","vuetify","store","created","adminString","userData","this","adminData","reload","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","id","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","Promise","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","err","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}