{"version":3,"file":"app.055ea521.js","mappings":"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","sources":["webpack://mucklet-client/webpack/runtime/chunk loaded","webpack://mucklet-client/webpack/runtime/load script","webpack://mucklet-client/./src/common/modules/policies/PoliciesBody.js","webpack://mucklet-client/./src/common/modules/policies/Policies.js","webpack://mucklet-client/./src/common/modules/serviceWorker/ServiceWorker.js","webpack://mucklet-client/./src/client/modules/init-modules.js","webpack://mucklet-client/./src/client/app.js","webpack://mucklet-client/./src/common/components/ErrorScreenDialog.js","webpack://mucklet-client/./src/client/modules/init/clientBoot/ClientBoot.js","webpack://mucklet-client/./src/common/utils/escapeHtml.js","webpack://mucklet-client/./src/common/utils/formatDate.js","webpack://mucklet-client/./src/common/utils/reload.js","webpack://mucklet-client/./src/common/utils/sha256.js","webpack://mucklet-client/./src/client/modules/init/ sync ^\\..*\\/([^/]*)\\/\\1.js$i","webpack://mucklet-client/webpack/bootstrap","webpack://mucklet-client/webpack/runtime/compat get default export","webpack://mucklet-client/webpack/runtime/define property getters","webpack://mucklet-client/webpack/runtime/ensure chunk","webpack://mucklet-client/webpack/runtime/get javascript chunk filename","webpack://mucklet-client/webpack/runtime/get mini-css chunk filename","webpack://mucklet-client/webpack/runtime/global","webpack://mucklet-client/webpack/runtime/harmony module decorator","webpack://mucklet-client/webpack/runtime/hasOwnProperty shorthand","webpack://mucklet-client/webpack/runtime/make namespace object","webpack://mucklet-client/webpack/runtime/publicPath","webpack://mucklet-client/webpack/runtime/css loading","webpack://mucklet-client/webpack/runtime/jsonp chunk loading","webpack://mucklet-client/webpack/startup"],"sourcesContent":["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};","var inProgress = {};\nvar dataWebpackPrefix = \"mucklet-client:\";\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};","import { Html } from 'modapp-base-component';\n\n/**\n * PoliciesBody renders the policies body.\n */\nclass PoliciesBody extends Html{\n\tconstructor(module, html) {\n\t\tsuper(html, { className: 'policies-body' });\n\t\tthis.module = module;\n\n\t\t// Set policy link bindings\n\t\tthis._policies = this.module.self.availablePolicies.map(p => ({\n\t\t\tslug: p,\n\t\t\tonClick: this._onClick.bind(this, p),\n\t\t\tlinks: null,\n\t\t}));\n\t}\n\n\trender(el) {\n\t\tlet rel = super.render(el);\n\n\t\tfor (let p of this._policies) {\n\t\t\tp.links = [];\n\t\t\tlet links = rel.getElementsByClassName(p.slug);\n\t\t\tfor (let l of links) {\n\t\t\t\tl.setAttribute('href', 'javascript:;');\n\t\t\t\tl.addEventListener('click', p.onClick);\n\t\t\t\tp.links.push(l);\n\t\t\t}\n\t\t}\n\t\treturn rel;\n\t}\n\n\tunrender() {\n\t\tfor (let p of this._policies) {\n\t\t\tif (p.links) {\n\t\t\t\tfor (let l of p.links) {\n\t\t\t\t\tl.removeEventListener('click', p.onClick);\n\t\t\t\t}\n\t\t\t\tp.links = null;\n\t\t\t}\n\t\t}\n\t\tsuper.unrender();\n\t}\n\n\t_onClick(policy, ev) {\n\t\tthis.module.self.openPolicy(policy);\n\t\tev.preventDefault();\n\t}\n}\n\nexport default PoliciesBody;\n","import { Elem, Txt } from 'modapp-base-component';\nimport l10n from 'modapp-l10n';\nimport ScreenDialog from 'components/ScreenDialog';\nimport escapeHtml from 'utils/escapeHtml';\nimport formatDate from 'utils/formatDate';\nimport PoliciesBody from './PoliciesBody';\nimport './policies.scss';\n\nconst availablePolicies = [\n\t'privacy',\n\t'terms',\n\t'payment',\n];\n\n/**\n * Policies draws the main login wireframe\n */\nclass Policies {\n\tconstructor(app, params) {\n\t\tthis.app = app;\n\n\t\tthis.app.require([ 'screen' ], this._init.bind(this));\n\t}\n\n\t_init(module) {\n\t\tthis.module = Object.assign({ self: this }, module);\n\t}\n\n\tget availablePolicies() {\n\t\treturn availablePolicies;\n\t}\n\n\topenPolicy(policy) {\n\t\tif (!availablePolicies.indexOf(policy) < 0) {\n\t\t\tconsole.error(\"Unknown policy:\", policy);\n\t\t\treturn;\n\t\t}\n\n\t\tlet url = escapeHtml('/policies/' + policy + '.json');\n\t\tfetch(url)\n\t\t\t.then(response => response.json())\n\t\t\t.then(data => {\n\t\t\t\tlet close = () => this.module.screen.removeSubcomponent(policy);\n\t\t\t\tthis.module.screen.addSubcomponent(policy, new ScreenDialog(\n\t\t\t\t\tnew Elem(n => n.elem('div', [\n\t\t\t\t\t\tn.component(data.created\n\t\t\t\t\t\t\t? new Txt(l10n.t('policies.lastUpdate', \"Last update {date}\", { date: formatDate(new Date(data.created), { showYear: true }) }), {\n\t\t\t\t\t\t\t\ttagName: 'span',\n\t\t\t\t\t\t\t\tclassName: 'policies--subtitle',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: null,\n\t\t\t\t \t\t),\n\t\t\t\t\t\tn.component(new PoliciesBody(this.module, data.body, { className: 'policies--body' })),\n\t\t\t\t\t\tn.elem('button', {\n\t\t\t\t\t\t\tevents: { click: close },\n\t\t\t\t\t\t\tclassName: 'policies--btn btn large primary',\n\t\t\t\t\t\t}, [\n\t\t\t\t\t\t\tn.component(new Txt(l10n.l('policies.close', \"Close\"))),\n\t\t\t\t\t\t]),\n\t\t\t\t\t])),\n\t\t\t\t\t{\n\t\t\t\t\t\tsize: 'wide',\n\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\tclose,\n\t\t\t\t\t},\n\t\t\t\t));\n\t\t\t});\n\t}\n\n\tdispose() {\n\t\tthis.model.off('change', this._onModelChange);\n\t\tthis._onUnsubscribe();\n\t}\n}\n\nexport default Policies;\n","import reload from 'utils/reload';\n\nconst serviceWorkerSupported = 'serviceWorker' in navigator;\nconst namespace = 'module.serviceWorker';\n\n/**\n * ServiceWorker register the service worker.\n */\nclass ServiceWorker {\n\tconstructor(app, params) {\n\t\tthis.app = app;\n\n\t\tthis.disableWorker = !!params.disableWorker;\n\n\t\t// Bind callbacks\n\t\tthis._onMessage = this._onMessage.bind(this);\n\n\t\tthis.app.require([], this._init.bind(this));\n\t}\n\n\t_init() {\n\t\tthis._tagOnClick = {};\n\t\tthis.promise = this.disableWorker\n\t\t\t? Promise.reject(\"worker disabled\")\n\t\t\t: new Promise((resolve, reject) => {\n\t\t\t\tthis._register(resolve, reject);\n\t\t\t});\n\t}\n\n\t/**\n\t * Attach an event handler function for one or more serviceworker message events.\n\t * @param {?string} events One or more space-separated events. Null means any event.\n\t * @param {Event~eventCallback} handler A function to execute when the event is emitted.\n\t */\n\ton(events, handler) {\n\t\tthis.app.eventBus.on(this, events, handler, namespace);\n\t}\n\n\t/**\n\t * Remove an event handler.\n\t * @param {?string} events One or more space-separated events. Null means any event.\n\t * @param {Event~eventCallback} [handler] An option handler function. The handler will only be remove if it is the same handler.\n\t */\n\toff(events, handler) {\n\t\tthis.app.eventBus.off(this, events, handler, namespace);\n\t}\n\n\t/**\n\t * Gets the promise of the registration.\n\t * @returns {Promise.<ServiceWorkerRegistration>} Service worker registration.\n\t */\n\tgetPromise() {\n\t\treturn this.promise;\n\t}\n\n\t/**\n\t * Clears the CacheStorage of all keys, and then performs a reload of the\n\t * client using no-cache headers.\n\t * @param {boolean} [updateServiceWorker] Flag to tell if the service-worker itself should be update. Defaults to false.\n\t */\n\tclearCacheAndReload(updateServiceWorker) {\n\t\tPromise.resolve(caches?.keys().then(keys => {\n\t\t\tfor (let key of keys) {\n\t\t\t\tcaches.delete(key);\n\t\t\t}\n\t\t})).then(() => {\n\t\t\tif (updateServiceWorker && this.registration) {\n\t\t\t\treturn this.registration.update();\n\t\t\t}\n\t\t}).then(() => {\n\t\t\treload(true);\n\t\t});\n\t}\n\n\t/**\n\t * Shows a notification. Notification permission must be obtained before calling.\n\t *\n\t * Normally you should use the module Notify and call notify.send(...)\n\t * @param {string|LocaleString} title Title of the notification.\n\t * @param {object} [opt] Optional parameters. Same as the Notification API with some additions.\n\t * @param {number} [opt.duration] Duration the notification will be open in milliseconds. Defaults to 5000.\n\t * @param {function} [opt.onClick] Callback called when notifications is clicked. Defaults to: n => { window.focus(); notification.close(); }\n\t * @param {number} [opt.data] Data to pass on to the onClick callback.\n\t * @param {boolean} [opt.alwaysNotify] Flag to always show notification even if window is in focus.\n\t */\n\tshowNotification(title, opt) {\n\t\treturn this.promise.then(registration => {\n\t\t\tif (registration) {\n\t\t\t\topt = Object.assign({}, opt);\n\t\t\t\tif (opt.onClick) {\n\t\t\t\t\tlet tag = opt.tag || (Math.random() + 1).toString(36).substring(2) + Date.now();\n\t\t\t\t\topt.tag = tag;\n\t\t\t\t\tthis._tagOnClick[tag] = opt.onClick;\n\t\t\t\t\tdelete opt.onClick;\n\t\t\t\t}\n\t\t\t\tregistration.active.postMessage({ method: 'showNotification', title, opt });\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Tries to close a notification with a specific tag.\n\t * @param {string} tag Tag.\n\t */\n\tcloseNotification(tag) {\n\t\tthis.promise.then(registration => {\n\t\t\tregistration?.active.postMessage({ method: 'closeNotification', tag });\n\t\t});\n\t}\n\n\t_onMessage(ev) {\n\t\tlet event = ev.data?.event;\n\t\tif (!event) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event === 'notificationclick') {\n\t\t\tthis._handleNotificationclick(ev.data);\n\t\t}\n\t}\n\n\t_handleNotificationclick(ev) {\n\t\tlet { tag, data } = ev.params;\n\t\t// Check if we have tag onClick callback that comes from calling\n\t\t// showNotification direction, rather than getting the notification from\n\t\t// push.\n\t\tif (tag) {\n\t\t\tlet cb = this._tagOnClick[tag];\n\t\t\tif (cb) {\n\t\t\t\tdelete this._tagOnClick[tag];\n\t\t\t\tcb(data);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// If the data contains an 'event' in itself, emit it together with data.params.\n\t\tif (data?.event) {\n\t\t\tthis.app.eventBus.emit(this, namespace + '.' + data.event, data.params);\n\t\t}\n\t}\n\n\t_register(resolve, reject) {\n\t\tif (!serviceWorkerSupported) {\n\t\t\tconsole.log(\"[ServiceWorker] Not supported\");\n\t\t\treject(\"not supported\");\n\t\t\treturn;\n\t\t}\n\n\t\tnavigator.serviceWorker.addEventListener('message', this._onMessage);\n\t\tnavigator.serviceWorker.register('/service-worker.js').then(registration => {\n\t\t\tthis.registration = registration;\n\t\t\tconsole.log(\"[ServiceWorker] Registered: \", registration);\n\t\t\tresolve(registration);\n\t\t}).catch(registrationError => {\n\t\t\tconsole.log(\"[ServiceWorker] Registration failed: \", registrationError);\n\t\t\treject(registrationError);\n\t\t});\n\t}\n\n\t_unregister() {\n\t\tnavigator.serviceWorker.removeEventListener('message', this._onMessage);\n\t\tthis.registration?.unregister().then(success => {\n\t\t\tif (success) {\n\t\t\t\tconsole.log(\"[ServiceWorker] Unregistered\");\n\t\t\t\tthis.registration = null;\n\t\t\t} else {\n\t\t\t\tconsole.log(\"[ServiceWorker] Unregistration failed\");\n\t\t\t}\n\t\t});\n\t}\n\n\tdispose() {\n\t\tthis._unregister();\n\t}\n}\n\nexport default ServiceWorker;\n","import Api from 'modules/api/Api';\nimport Auth from 'modules/auth/Auth';\nimport Screen from 'modules/screen/Screen';\nimport Policies from 'modules/policies/Policies';\nimport ServiceWorker from 'modules/serviceWorker/ServiceWorker';\n\nconst modules = {\n\tapi: Api,\n\tauth: Auth,\n\tscreen: Screen,\n\tpolicies: Policies,\n\tserviceWorker: ServiceWorker,\n};\n\nconst req = require.context(\"./init/\", true, /^\\..*\\/([^/]*)\\/\\1.js$/i);\n\n// Using the first-character-lowercase name of the js-file as module name\nreq.keys().forEach(key => {\n\tlet match = key.match(/\\/([^/]*)\\.js$/);\n\tlet name = match[1].charAt(0).toLowerCase() + match[1].slice(1);\n\tif (modules[name]) {\n\t\tthrow new Error(`Duplicate module: ${key}`);\n\t}\n\tmodules[name] = req(key).default;\n});\n\nexport default modules;\n","import { AppExt } from 'modapp';\nimport initModules from 'modules/init-modules';\nimport moduleConfig from 'moduleConfig';\nimport 'scss/index.scss';\n\n// Create app and load core modules\nlet app = new AppExt(moduleConfig, { props: window.appProps });\napp.loadBundle(initModules).then(result => {\n\tconsole.log(\"Init modules: \", result);\n\tapp.render(document.body);\n});\n\n// Make app global\nwindow.app = app;\n","import { Elem, Txt } from 'modapp-base-component';\nimport l10n from 'modapp-l10n';\nimport ConfirmScreenDialog from './ConfirmScreenDialog';\nimport { redirect } from 'utils/reload';\nimport './errorScreenDialog.scss';\n\n/**\n * Draws an error screen dialog with a button that redirects to a given URL.\n */\nclass ErrorScreenDialog {\n\n\t/**\n\t * Creates a new ErrorScreenDialog instance.\n\t * @param {object} err Error object\n\t * @param {object} [opt] Optional parameters.\n\t * @param {string} [opt.redirectUrl] Redirect URL for the back button. Defaults to the same page without queries.\n\t * @param {LocaleString} [opt.titleTxt] Dialog title. Defaults to \"Something went wrong\".\n\t * @param {LocaleString} [opt.infoTxt] Dialog into text. Defaults to \"We got this error message:\".\n\t * @param {LocaleString} [opt.buttonTxt] Button text. Defaults to \"Go back\".\n\t * @param {function} [opt.onClose] Callback to call on close, instead of redirect.\n\t */\n\tconstructor(err, opt) {\n\t\tthis.err = err;\n\t\tthis.opt = opt || {};\n\t}\n\n\trender(el) {\n\t\tlet opt = this.opt;\n\t\tlet cb = () => this.opt.onClose ? this.opt.onClose() : this._redirect();\n\t\tthis.elem = new ConfirmScreenDialog({\n\t\t\ttitle: opt.titleTxt || l10n.l('errorScreenDialog.title', \"Something went wrong\"),\n\t\t\tconfirm: opt.buttonTxt || l10n.l('errorScreenDialog.goback', \"Go back\"),\n\t\t\tbody: new Elem(n => n.elem('div', { className: 'errorscreendialog' }, [\n\t\t\t\tn.component(new Txt(opt.infoTxt || l10n.l('errorScreenDialog.errorOccured', \"We got this error message:\"), { tagName: 'p' })),\n\t\t\t\tn.component(this.err\n\t\t\t\t\t? new Txt(l10n.l(this.err.code, this.err.message, this.err.data), { tagName: 'p', className: 'errorscreendialog--message' })\n\t\t\t\t\t: null,\n\t\t\t\t),\n\t\t\t])),\n\t\t\tonConfirm: cb,\n\t\t\tonClose: cb,\n\t\t});\n\t\tthis.elem.render(el);\n\t}\n\n\tunrender() {\n\t\tif (this.elem) {\n\t\t\tthis.elem.unrender();\n\t\t\tthis.elem = null;\n\t\t}\n\t}\n\n\t_redirect() {\n\t\tredirect(this.opt.redirectUrl || window.location.href.split('?')[0]);\n\t}\n}\n\nexport default ErrorScreenDialog;\n","// import { Elem, Txt } from 'modapp-base-component';\nimport { uri } from 'modapp-utils';\nimport { Model } from 'modapp-resource';\nimport l10n from 'modapp-l10n';\nimport ErrorScreenDialog from 'components/ErrorScreenDialog';\nimport ConfirmScreenDialog from 'components/ConfirmScreenDialog';\nimport Err from 'classes/Err';\n\nconst txtErrorAuthenticating = l10n.l('clientBoot.errorAuthenticating', \"An error occurred when trying to authenticate:\");\nconst txtTryAgain = l10n.l('clientBoot.tryAgain', \"Try again\");\n\n/**\n * ClientBoot boots the app by trying to authenticate, and then showing the\n * appropriate screen depending on success.\n */\nclass ClientBoot {\n\n\tconstructor(app, params) {\n\t\tthis.app = app;\n\n\t\tthis.app.require([\n\t\t\t'auth',\n\t\t\t'screen',\n\t\t], this._init.bind(this));\n\t}\n\n\t_init(module) {\n\t\tthis.module = Object.assign({ self: this }, module);\n\t\tthis.model = new Model({ data: { connected: false, authenticated: false, error: false }, eventBus: this.app.eventBus });\n\n\t\t// Load module bundles\n\t\tthis.mainModulesPromise = import(/* webpackChunkName: \"main\" */ 'modules/main-modules');\n\t\tthis.greetingModulesPromise = import(/* webpackChunkName: \"greeting\" */ 'modules/greeting-modules');\n\n\t\tthis._tryAuthenticate();\n\t}\n\n\t_tryAuthenticate() {\n\t\tlet q = uri.getQuery();\n\t\tif (q.error) {\n\t\t\tlet err;\n\t\t\ttry {\n\t\t\t\terr = JSON.parse(atob(q.error));\n\t\t\t} catch (e) {\n\t\t\t\terr = new Err('clientBoot.failedToParse', \"Failed to parse error: {message}\", { message: e.message });\n\t\t\t}\n\t\t\tthis._showError(null, err);\n\t\t} else {\n\t\t\tthis.module.auth.authenticate(true)\n\t\t\t\t.then(user => {\n\t\t\t\t\tthis.model.set({ connected: true, authenticated: !!user });\n\t\t\t\t\tif (user) {\n\t\t\t\t\t\tthis.mainModulesPromise.then(({ default: mainModules }) => {\n\t\t\t\t\t\t\tapp.loadBundle(mainModules).then(result => {\n\t\t\t\t\t\t\t\tconsole.log(\"[ClientBoot] Main modules: \", result);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.greetingModulesPromise.then(({ default: greetingModules }) => {\n\t\t\t\t\t\t\tapp.loadBundle(greetingModules).then(result => {\n\t\t\t\t\t\t\t\tconsole.log(\"[ClientBoot] Greeting modules: \", result);\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})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tthis.model.set({ error: true });\n\t\t\t\t\tif (err.code == 'system.connectionError') {\n\t\t\t\t\t\terr = new Err(err.code, \"Failed to connect to the realm.\");\n\t\t\t\t\t}\n\t\t\t\t\tthis._showError(txtErrorAuthenticating, err);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t_showError(infoTxt, err) {\n\t\t// Offline overrides any other error\n\t\tif (!navigator.onLine) {\n\t\t\treturn this._showOffline();\n\t\t}\n\n\t\tthis.module.screen.setComponent(new ErrorScreenDialog(err, {\n\t\t\tinfoTxt,\n\t\t\tbuttonTxt: txtTryAgain,\n\t\t\tonClose: () => {\n\t\t\t\tthis.module.screen.setComponent(null);\n\t\t\t\tthis._tryAuthenticate();\n\t\t\t},\n\t\t}));\n\t}\n\n\t_showOffline() {\n\t\tlet cb = () => {\n\t\t\twindow.addEventListener('online', cb);\n\t\t\tthis.module.screen.setComponent(null);\n\t\t\tthis._tryAuthenticate();\n\t\t};\n\t\twindow.addEventListener('online', cb);\n\t\tthis.module.screen.setComponent(new ConfirmScreenDialog({\n\t\t\ttitle: l10n.l('clientBoot.noInternet', \"No Internet\"),\n\t\t\tconfirm: txtTryAgain,\n\t\t\tbody: l10n.l('clientBoot.errorOffline1', \"You seem to have no Internet connection, and we kind of need one.\"),\n\t\t\tonConfirm: cb,\n\t\t}));\n\t}\n}\n\nexport default ClientBoot;\n","const escapeMap = {\n\t'&': '&amp;',\n\t'<': '&lt;',\n\t'>': '&gt;',\n\t'\"': '&#34;',\n\t\"'\": '&#39;',\n};\n\nconst repl = function(c) {\n\treturn escapeMap[c];\n};\n\n/**\n * Escapes HTML special char on a string, eg. turning <i> into &lt;i&gt;\n * @param {string} str String to escape.\n * @returns {string} String with special chars escaped.\n */\nexport default function escapeHtml(str) {\n\tif (!str) return '';\n\treturn str.replace(/[&<>'\"]/g, repl);\n}\n","const months = [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ];\n\n/**\n * Formats a Date object to a string in human readable format.\n * @param {Date} date Date object.\n * @param {object} [opt] Optional parameters.\n * @param {boolean} [opt.showYear] Flag to always show year.\n * @returns {string} Formatted string.\n */\nexport default function formatDate(date, opt) {\n\topt = opt || {};\n\tlet n = new Date();\n\t// Add year if older than a year\n\treturn date.getDate() + \" \" + months[date.getMonth()] + (opt.showYear || date < new Date(n.getFullYear() - 1, n.getMonth(), n.getDate()) ? \" \" + date.getFullYear() : \"\");\n}\n","let cbs = [];\nlet forced = false;\n\nfunction locationReload(clearQuery, force) {\n\tforced = true;\n\tsetTimeout(() => forced = false, 100);\n\n\tlet href = window.location.href;\n\tlet url = clearQuery ? href.split('?')[0] : href;\n\tif (url == href) {\n\t\twindow.location.reload();\n\t} else {\n\t\twindow.location.replace(url);\n\t}\n}\n\nexport function addBeforeUnload(f) {\n\tlet cb = e => {\n\t\tif (forced) return;\n\t\treturn f(e);\n\t};\n\twindow.addEventListener('beforeunload', cb);\n\tcbs.push({ cb, f });\n}\n\nexport function removeBeforeUnload(f) {\n\tcbs = cbs.filter(o => {\n\t\tlet found = o.f == f;\n\t\tif (found) {\n\t\t\twindow.addEventListener('beforeunload', o.cb);\n\t\t}\n\t\treturn !found;\n\t});\n}\n\n/**\n * Reloads the client.\n * @param {boolean} [clearCache] Flag if the cache should be cleared. Defaults to false.\n * @param {boolean} [clearQuery] Flag if the query should be cleared. Defaults to false.\n */\nexport default function reload(clearCache, clearQuery) {\n\tif (clearCache) {\n\t\t// Try to evict old version from cache\n\t\tfetch(window.location.href, {\n\t\t\theaders: {\n\t\t\t\t\"Pragma\": \"no-cache\",\n\t\t\t\t\"Expires\": -1,\n\t\t\t\t\"Cache-Control\": \"no-cache\",\n\t\t\t},\n\t\t}).then(() => locationReload(clearQuery));\n\t} else {\n\t\tlocationReload(clearQuery);\n\t}\n};\n\nexport function redirect(url, includeQuery, pushHistory) {\n\tforced = true;\n\tsetTimeout(() => forced = false, 100);\n\n\tlet href = window.location.href;\n\tif (includeQuery) {\n\t\tlet idx = href.indexOf('?');\n\t\tif (idx >= 0) {\n\t\t\turl = url + (url.indexOf('?') >= 0 ? '&' : '?') + href.slice(idx + 1).split('#')[0];\n\t\t}\n\t}\n\tif (url == href) {\n\t\twindow.location.reload();\n\t} else if (pushHistory) {\n\t\twindow.location.assign(url);\n\t} else {\n\t\twindow.location.replace(url);\n\t}\n};\n","/* eslint-disable */\nvar chrsz   = 8;\n\nfunction safe_add (x, y) {\n\tvar lsw = (x & 0xFFFF) + (y & 0xFFFF);\n\tvar msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n\treturn (msw << 16) | (lsw & 0xFFFF);\n}\n\nfunction S (X, n) { return ( X >>> n ) | (X << (32 - n)); }\nfunction R (X, n) { return ( X >>> n ); }\nfunction Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); }\nfunction Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); }\nfunction Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); }\nfunction Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); }\nfunction Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); }\nfunction Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); }\n\n/**\n * Creates a SHA256 hash.\n * @param {Array} m Binary array\n * @param {number} l Array length in bits.\n * @returns\n */\nfunction core_sha256 (m, l) {\n\tvar K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2);\n\tvar HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);\n\tvar W = new Array(64);\n\tvar a, b, c, d, e, f, g, h, i, j;\n\tvar T1, T2;\n\n\tm[l >> 5] |= 0x80 << (24 - l % 32);\n\tm[((l + 64 >> 9) << 4) + 15] = l;\n\n\tfor ( var i = 0; i<m.length; i+=16 ) {\n\t\ta = HASH[0];\n\t\tb = HASH[1];\n\t\tc = HASH[2];\n\t\td = HASH[3];\n\t\te = HASH[4];\n\t\tf = HASH[5];\n\t\tg = HASH[6];\n\t\th = HASH[7];\n\n\t\tfor ( var j = 0; j<64; j++) {\n\t\t\tif (j < 16) W[j] = m[j + i];\n\t\t\telse W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);\n\n\t\t\tT1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);\n\t\t\tT2 = safe_add(Sigma0256(a), Maj(a, b, c));\n\n\t\t\th = g;\n\t\t\tg = f;\n\t\t\tf = e;\n\t\t\te = safe_add(d, T1);\n\t\t\td = c;\n\t\t\tc = b;\n\t\t\tb = a;\n\t\t\ta = safe_add(T1, T2);\n\t\t}\n\n\t\tHASH[0] = safe_add(a, HASH[0]);\n\t\tHASH[1] = safe_add(b, HASH[1]);\n\t\tHASH[2] = safe_add(c, HASH[2]);\n\t\tHASH[3] = safe_add(d, HASH[3]);\n\t\tHASH[4] = safe_add(e, HASH[4]);\n\t\tHASH[5] = safe_add(f, HASH[5]);\n\t\tHASH[6] = safe_add(g, HASH[6]);\n\t\tHASH[7] = safe_add(h, HASH[7]);\n\t}\n\treturn HASH;\n}\n\n/**\n * Converts a string to a binary Array. Each array index contains 32 bits (4\n * bytes), where the highest bits being the first.\n * @param {*} str String\n * @returns {Array} Binary array.\n */\nfunction str2binb (str) {\n\tvar bin = Array();\n\tfor(var i = 0; i < str.length * 8; i += 8) {\n\t\tbin[i>>5] |= (str.charCodeAt(i / 8) & 255) << (24 - i%32);\n\t}\n\treturn bin;\n}\n\nfunction Utf8Encode(string) {\n\tstring = string.replace(/\\r\\n/g,\"\\n\");\n\tvar utftext = \"\";\n\n\tfor (var n = 0; n < string.length; n++) {\n\n\t\tvar c = string.charCodeAt(n);\n\n\t\tif (c < 128) {\n\t\t\tutftext += String.fromCharCode(c);\n\t\t}\n\t\telse if((c > 127) && (c < 2048)) {\n\t\t\tutftext += String.fromCharCode((c >> 6) | 192);\n\t\t\tutftext += String.fromCharCode((c & 63) | 128);\n\t\t}\n\t\telse {\n\t\t\tutftext += String.fromCharCode((c >> 12) | 224);\n\t\t\tutftext += String.fromCharCode(((c >> 6) & 63) | 128);\n\t\t\tutftext += String.fromCharCode((c & 63) | 128);\n\t\t}\n\n\t}\n\n\treturn utftext;\n}\n\nfunction binb2base64(binarray) {\n\tvar bytes = new Uint8Array(binarray.length * 4);\n\tfor(var i = 0; i < binarray.length * 4; i++) {\n\t\tbytes[i] = (binarray[i>>2] >> ((3 - i%4)*8)) & 0xFF;\n\t}\n\tlet s = String.fromCharCode.apply(null, bytes);\n\treturn typeof btoa == 'function'\n\t\t? btoa(s)\n\t\t: Buffer.from(s, 'binary').toString('base64');\n}\n\n/**\n * Turns the key into a block sized key by hashing longer keys, or zero padding\n * shorter.\n * @param {Array} key Binary array key to turn block sized.\n * @param {number} len Length of key in bytes.\n * @param {function} hash Hash function.\n * @param {number} blockSize Block size of the hash in bytes.\n * @returns {Array} Blocksized binary array key.\n */\nfunction computeBlockSizedKey(key, len, hash, blockSize, xor) {\n\tif (len > blockSize) {\n\t\tkey = hash(key, len * chrsz);\n\t} else {\n\t\tkey = append(new Array(), 0, key, len);\n\t}\n\tfor(var i = 0; i < blockSize * chrsz; i += chrsz) {\n\t\tkey[i>>5] ^= xor << (24 - i%32);\n\t}\n\treturn key;\n}\n\nfunction append(a, alen, b, blen) {\n\tfor(var i = 0; i < blen; i++) {\n\t\ta[(i + alen)>>2] |= ((b[i>>2] >> (8 * (3 - i%4))) & 255) << (8 * (3 - (i + alen)%4));\n\t}\n\treturn a;\n}\n\n/**\n * Encodes a string into a sha256 encoded base64 encoded string.\n * @param {string} s String to encode\n * @returns {string} Sha256 and base64 encoded string.\n */\nexport default function sha256(s) {\n\ts = Utf8Encode(s);\n\treturn binb2base64(core_sha256(str2binb(s), s.length * chrsz));\n}\n\n/**\n * Encodes a string and a key into a hmacsha256 encoded base64 encoded string.\n * @param {*} s String to encode\n * @param {*} key Key to use with encoding\n * @returns {string} Base64 encoded string\n */\nexport function hmacsha256(s, key) {\n\ts = Utf8Encode(s);\n\n\tkey = Utf8Encode(key);\n\tlet bkey = str2binb(key);\n\tlet outer_key = computeBlockSizedKey(bkey, key.length, core_sha256, 64, 0x5c);\n\tlet inner_key = computeBlockSizedKey(bkey, key.length, core_sha256, 64, 0x36);\n\n\tlet inner = core_sha256(append(inner_key, 64, str2binb(s), s.length), 8 * (64 + s.length));\n\treturn binb2base64(core_sha256(append(outer_key, 64, inner, inner.length * 4), 8 * (64 + inner.length * 4)));\n}\n\n/**\n * Public pepper to use as HMAC key when pre-hashing the password.\n */\nexport const publicPepper = 'TheStoryStartsHere';\n","var map = {\n\t\"./clientBoot/ClientBoot.js\": 13703\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 = 8487;","// 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","// 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 \"\" + ({\"32\":\"overseer\",\"44\":\"moderator\",\"298\":\"greeting\",\"611\":\"staff\",\"621\":\"supporter\",\"624\":\"builder\",\"700\":\"bonus\",\"792\":\"main\",\"807\":\"helper\",\"884\":\"admin\",\"935\":\"pioneer\"}[chunkId] || chunkId) + \".\" + {\"32\":\"67090ac9\",\"44\":\"5f6e2041\",\"298\":\"c672284a\",\"378\":\"5d3f6870\",\"553\":\"49b2b08b\",\"611\":\"837bd73f\",\"621\":\"65c67389\",\"624\":\"b5b95f44\",\"700\":\"8e7c27d9\",\"792\":\"131b001c\",\"807\":\"f50e0783\",\"884\":\"263c1782\",\"935\":\"d12235b7\"}[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 \"\" + {\"32\":\"overseer\",\"44\":\"moderator\",\"298\":\"greeting\",\"621\":\"supporter\",\"624\":\"builder\",\"700\":\"bonus\",\"792\":\"main\",\"807\":\"helper\",\"884\":\"admin\",\"935\":\"pioneer\"}[chunkId] + \".\" + {\"32\":\"9aa5bc03\",\"44\":\"98f4464d\",\"298\":\"3c8876e7\",\"621\":\"53bc614f\",\"624\":\"d1c85a27\",\"700\":\"79dbaca7\",\"792\":\"b12a32d4\",\"807\":\"e519e96b\",\"884\":\"912d195d\",\"935\":\"cae19120\"}[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__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// 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};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","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\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"32\":1,\"44\":1,\"298\":1,\"621\":1,\"624\":1,\"700\":1,\"792\":1,\"807\":1,\"884\":1,\"935\":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\t524: 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[\"webpackChunkmucklet_client\"] = self[\"webpackChunkmucklet_client\"] || [];\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, [952,24,839], function() { return __webpack_require__(58113); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_Html","_inherits","PoliciesBody","_super","_createSuper","module","html","_this","_classCallCheck","call","className","_policies","self","availablePolicies","map","p","slug","onClick","_onClick","bind","_assertThisInitialized","links","key","value","el","_step","rel","_get","_getPrototypeOf","prototype","_iterator","_createForOfIteratorHelper","this","s","n","done","_step2","_iterator2","getElementsByClassName","l","setAttribute","addEventListener","push","err","e","f","_step3","_iterator3","_step4","_iterator4","removeEventListener","policy","ev","openPolicy","preventDefault","Html","Policies","app","params","require","_init","Object","assign","get","indexOf","console","error","url","escapeHtml","fetch","then","response","json","data","close","screen","removeSubcomponent","addSubcomponent","ScreenDialog","Elem","elem","component","created","Txt","l10n","t","date","formatDate","Date","showYear","tagName","body","events","click","size","title","model","off","_onModelChange","_onUnsubscribe","serviceWorkerSupported","navigator","namespace","ServiceWorker","disableWorker","_onMessage","_tagOnClick","promise","Promise","reject","resolve","_register","handler","eventBus","on","updateServiceWorker","_caches","_this2","caches","keys","delete","registration","update","reload","opt","_this3","tag","Math","random","toString","substring","now","active","postMessage","method","_ev$data","event","_handleNotificationclick","_ev$params","cb","emit","_this4","log","serviceWorker","register","catch","registrationError","_this$registration","_this5","unregister","success","_unregister","modules","api","Api","auth","Auth","Screen","policies","req","forEach","match","name","charAt","toLowerCase","slice","Error","concat","default","AppExt","moduleConfig","props","window","appProps","loadBundle","initModules","result","render","document","ErrorScreenDialog","onClose","_redirect","ConfirmScreenDialog","titleTxt","confirm","buttonTxt","infoTxt","code","message","onConfirm","unrender","redirect","redirectUrl","location","href","split","txtErrorAuthenticating","txtTryAgain","ClientBoot","Model","connected","authenticated","mainModulesPromise","greetingModulesPromise","_tryAuthenticate","q","uri","JSON","parse","atob","Err","_showError","authenticate","user","set","_ref","mainModules","_ref2","greetingModules","onLine","_showOffline","setComponent","escapeMap","repl","c","str","replace","months","getDate","getMonth","getFullYear","cbs","forced","locationReload","clearQuery","force","setTimeout","addBeforeUnload","removeBeforeUnload","filter","o","found","clearCache","headers","includeQuery","pushHistory","idx","chrsz","safe_add","x","y","lsw","S","X","R","Ch","z","Maj","Sigma0256","Sigma1256","Gamma0256","core_sha256","m","a","b","d","g","h","T1","T2","K","Array","HASH","W","i","length","j","str2binb","bin","charCodeAt","Utf8Encode","string","utftext","String","fromCharCode","binb2base64","binarray","bytes","Uint8Array","apply","btoa","Buffer","from","computeBlockSizedKey","len","hash","blockSize","xor","append","alen","blen","sha256","hmacsha256","bkey","outer_key","inner","publicPepper","webpackContext","id","webpackContextResolve","__webpack_require__","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","splice","r","getter","__esModule","definition","defineProperty","enumerable","chunkId","all","reduce","promises","u","miniCssF","globalThis","Function","hmd","create","children","obj","prop","hasOwnProperty","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","type","target","head","appendChild","Symbol","toStringTag","scriptUrl","importScripts","currentScript","toUpperCase","test","installedCssChunks","miniCss","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","oldTag","linkTag","errorType","realHref","request","createStylesheet","loadStylesheet","installedChunks","installedChunkData","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}