{"version":3,"file":"TgLogin.js","mappings":"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","sources":["webpack://src/./node_modules/axios/index.js","webpack://src/./node_modules/axios/lib/adapters/xhr.js","webpack://src/./node_modules/axios/lib/axios.js","webpack://src/./node_modules/axios/lib/cancel/Cancel.js","webpack://src/./node_modules/axios/lib/cancel/CancelToken.js","webpack://src/./node_modules/axios/lib/cancel/isCancel.js","webpack://src/./node_modules/axios/lib/core/Axios.js","webpack://src/./node_modules/axios/lib/core/InterceptorManager.js","webpack://src/./node_modules/axios/lib/core/buildFullPath.js","webpack://src/./node_modules/axios/lib/core/createError.js","webpack://src/./node_modules/axios/lib/core/dispatchRequest.js","webpack://src/./node_modules/axios/lib/core/enhanceError.js","webpack://src/./node_modules/axios/lib/core/mergeConfig.js","webpack://src/./node_modules/axios/lib/core/settle.js","webpack://src/./node_modules/axios/lib/core/transformData.js","webpack://src/./node_modules/axios/lib/defaults.js","webpack://src/./node_modules/axios/lib/helpers/bind.js","webpack://src/./node_modules/axios/lib/helpers/buildURL.js","webpack://src/./node_modules/axios/lib/helpers/combineURLs.js","webpack://src/./node_modules/axios/lib/helpers/cookies.js","webpack://src/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://src/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://src/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://src/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://src/./node_modules/axios/lib/helpers/spread.js","webpack://src/./node_modules/axios/lib/utils.js","webpack://src/./node_modules/core-js/internals/a-callable.js","webpack://src/./node_modules/core-js/internals/a-possible-prototype.js","webpack://src/./node_modules/core-js/internals/add-to-unscopables.js","webpack://src/./node_modules/core-js/internals/an-object.js","webpack://src/./node_modules/core-js/internals/array-includes.js","webpack://src/./node_modules/core-js/internals/classof-raw.js","webpack://src/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://src/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://src/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://src/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://src/./node_modules/core-js/internals/create-property-descriptor.js","webpack://src/./node_modules/core-js/internals/define-built-in.js","webpack://src/./node_modules/core-js/internals/define-global-property.js","webpack://src/./node_modules/core-js/internals/define-iterator.js","webpack://src/./node_modules/core-js/internals/descriptors.js","webpack://src/./node_modules/core-js/internals/document-create-element.js","webpack://src/./node_modules/core-js/internals/dom-iterables.js","webpack://src/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://src/./node_modules/core-js/internals/engine-user-agent.js","webpack://src/./node_modules/core-js/internals/engine-v8-version.js","webpack://src/./node_modules/core-js/internals/enum-bug-keys.js","webpack://src/./node_modules/core-js/internals/export.js","webpack://src/./node_modules/core-js/internals/fails.js","webpack://src/./node_modules/core-js/internals/function-bind-native.js","webpack://src/./node_modules/core-js/internals/function-call.js","webpack://src/./node_modules/core-js/internals/function-name.js","webpack://src/./node_modules/core-js/internals/function-uncurry-this.js","webpack://src/./node_modules/core-js/internals/get-built-in.js","webpack://src/./node_modules/core-js/internals/get-method.js","webpack://src/./node_modules/core-js/internals/global.js","webpack://src/./node_modules/core-js/internals/has-own-property.js","webpack://src/./node_modules/core-js/internals/hidden-keys.js","webpack://src/./node_modules/core-js/internals/html.js","webpack://src/./node_modules/core-js/internals/ie8-dom-define.js","webpack://src/./node_modules/core-js/internals/indexed-object.js","webpack://src/./node_modules/core-js/internals/inspect-source.js","webpack://src/./node_modules/core-js/internals/internal-state.js","webpack://src/./node_modules/core-js/internals/is-callable.js","webpack://src/./node_modules/core-js/internals/is-forced.js","webpack://src/./node_modules/core-js/internals/is-object.js","webpack://src/./node_modules/core-js/internals/is-pure.js","webpack://src/./node_modules/core-js/internals/is-symbol.js","webpack://src/./node_modules/core-js/internals/iterators-core.js","webpack://src/./node_modules/core-js/internals/iterators.js","webpack://src/./node_modules/core-js/internals/length-of-array-like.js","webpack://src/./node_modules/core-js/internals/make-built-in.js","webpack://src/./node_modules/core-js/internals/math-trunc.js","webpack://src/./node_modules/core-js/internals/native-symbol.js","webpack://src/./node_modules/core-js/internals/native-weak-map.js","webpack://src/./node_modules/core-js/internals/object-create.js","webpack://src/./node_modules/core-js/internals/object-define-properties.js","webpack://src/./node_modules/core-js/internals/object-define-property.js","webpack://src/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://src/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://src/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://src/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://src/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://src/./node_modules/core-js/internals/object-keys-internal.js","webpack://src/./node_modules/core-js/internals/object-keys.js","webpack://src/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://src/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://src/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://src/./node_modules/core-js/internals/own-keys.js","webpack://src/./node_modules/core-js/internals/require-object-coercible.js","webpack://src/./node_modules/core-js/internals/set-to-string-tag.js","webpack://src/./node_modules/core-js/internals/shared-key.js","webpack://src/./node_modules/core-js/internals/shared-store.js","webpack://src/./node_modules/core-js/internals/shared.js","webpack://src/./node_modules/core-js/internals/to-absolute-index.js","webpack://src/./node_modules/core-js/internals/to-indexed-object.js","webpack://src/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://src/./node_modules/core-js/internals/to-length.js","webpack://src/./node_modules/core-js/internals/to-object.js","webpack://src/./node_modules/core-js/internals/to-primitive.js","webpack://src/./node_modules/core-js/internals/to-property-key.js","webpack://src/./node_modules/core-js/internals/try-to-string.js","webpack://src/./node_modules/core-js/internals/uid.js","webpack://src/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://src/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://src/./node_modules/core-js/internals/well-known-symbol.js","webpack://src/./node_modules/core-js/modules/es.array.iterator.js","webpack://src/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://src/./node_modules/oidc-client-ts/node_modules/crypto-js/core.js","webpack://src/./node_modules/oidc-client-ts/node_modules/crypto-js/enc-base64.js","webpack://src/./node_modules/oidc-client-ts/node_modules/crypto-js/enc-utf8.js","webpack://src/./node_modules/oidc-client-ts/node_modules/crypto-js/sha256.js","webpack://src/webpack/bootstrap","webpack://src/webpack/runtime/define property getters","webpack://src/webpack/runtime/global","webpack://src/webpack/runtime/hasOwnProperty shorthand","webpack://src/webpack/runtime/make namespace object","webpack://src/./node_modules/jwt-decode/build/jwt-decode.esm.js","webpack://src/./node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js","webpack://src/./TgLogin.js"],"sourcesContent":["module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es-x/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es-x/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.24.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Utf8;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\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\t// no module.id needed\n\t\t// no module.loaded needed\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// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (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__.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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","// src/utils/CryptoUtils.ts\nimport CryptoJS from \"crypto-js/core.js\";\nimport sha256 from \"crypto-js/sha256.js\";\nimport Base64 from \"crypto-js/enc-base64.js\";\nimport Utf8 from \"crypto-js/enc-utf8.js\";\n\n// src/utils/Logger.ts\nvar nopLogger = {\n debug: () => void 0,\n info: () => void 0,\n warn: () => void 0,\n error: () => void 0\n};\nvar level;\nvar logger;\nvar Log = /* @__PURE__ */ ((Log2) => {\n Log2[Log2[\"NONE\"] = 0] = \"NONE\";\n Log2[Log2[\"ERROR\"] = 1] = \"ERROR\";\n Log2[Log2[\"WARN\"] = 2] = \"WARN\";\n Log2[Log2[\"INFO\"] = 3] = \"INFO\";\n Log2[Log2[\"DEBUG\"] = 4] = \"DEBUG\";\n return Log2;\n})(Log || {});\n((Log2) => {\n function reset() {\n level = 3 /* INFO */;\n logger = nopLogger;\n }\n Log2.reset = reset;\n function setLevel(value) {\n if (!(0 /* NONE */ <= value && value <= 4 /* DEBUG */)) {\n throw new Error(\"Invalid log level\");\n }\n level = value;\n }\n Log2.setLevel = setLevel;\n function setLogger(value) {\n logger = value;\n }\n Log2.setLogger = setLogger;\n})(Log || (Log = {}));\nvar Logger = class {\n constructor(_name) {\n this._name = _name;\n }\n debug(...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(Logger._format(this._name, this._method), ...args);\n }\n }\n info(...args) {\n if (level >= 3 /* INFO */) {\n logger.info(Logger._format(this._name, this._method), ...args);\n }\n }\n warn(...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(Logger._format(this._name, this._method), ...args);\n }\n }\n error(...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(Logger._format(this._name, this._method), ...args);\n }\n }\n throw(err) {\n this.error(err);\n throw err;\n }\n create(method) {\n const methodLogger = Object.create(this);\n methodLogger._method = method;\n methodLogger.debug(\"begin\");\n return methodLogger;\n }\n static createStatic(name, staticMethod) {\n const staticLogger = new Logger(`${name}.${staticMethod}`);\n staticLogger.debug(\"begin\");\n return staticLogger;\n }\n static _format(name, method) {\n const prefix = `[${name}]`;\n return method ? `${prefix} ${method}:` : prefix;\n }\n static debug(name, ...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(Logger._format(name), ...args);\n }\n }\n static info(name, ...args) {\n if (level >= 3 /* INFO */) {\n logger.info(Logger._format(name), ...args);\n }\n }\n static warn(name, ...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(Logger._format(name), ...args);\n }\n }\n static error(name, ...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(Logger._format(name), ...args);\n }\n }\n};\nLog.reset();\n\n// src/utils/CryptoUtils.ts\nvar UUID_V4_TEMPLATE = \"10000000-1000-4000-8000-100000000000\";\nvar CryptoUtils = class {\n static _randomWord() {\n return CryptoJS.lib.WordArray.random(1).words[0];\n }\n static generateUUIDv4() {\n const uuid = UUID_V4_TEMPLATE.replace(\n /[018]/g,\n (c) => (+c ^ CryptoUtils._randomWord() & 15 >> +c / 4).toString(16)\n );\n return uuid.replace(/-/g, \"\");\n }\n static generateCodeVerifier() {\n return CryptoUtils.generateUUIDv4() + CryptoUtils.generateUUIDv4() + CryptoUtils.generateUUIDv4();\n }\n static generateCodeChallenge(code_verifier) {\n try {\n const hashed = sha256(code_verifier);\n return Base64.stringify(hashed).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n } catch (err) {\n Logger.error(\"CryptoUtils.generateCodeChallenge\", err);\n throw err;\n }\n }\n static generateBasicAuth(client_id, client_secret) {\n const basicAuth = Utf8.parse([client_id, client_secret].join(\":\"));\n return Base64.stringify(basicAuth);\n }\n};\n\n// src/utils/Event.ts\nvar Event = class {\n constructor(_name) {\n this._name = _name;\n this._logger = new Logger(`Event('${this._name}')`);\n this._callbacks = [];\n }\n addHandler(cb) {\n this._callbacks.push(cb);\n return () => this.removeHandler(cb);\n }\n removeHandler(cb) {\n const idx = this._callbacks.lastIndexOf(cb);\n if (idx >= 0) {\n this._callbacks.splice(idx, 1);\n }\n }\n raise(...ev) {\n this._logger.debug(\"raise:\", ...ev);\n for (const cb of this._callbacks) {\n void cb(...ev);\n }\n }\n};\n\n// src/utils/JwtUtils.ts\nimport jwt_decode from \"jwt-decode\";\nvar JwtUtils = class {\n static decode(token) {\n try {\n return jwt_decode(token);\n } catch (err) {\n Logger.error(\"JwtUtils.decode\", err);\n throw err;\n }\n }\n};\n\n// src/utils/PopupUtils.ts\nvar PopupUtils = class {\n static center({ ...features }) {\n var _a, _b, _c;\n if (features.width == null)\n features.width = (_a = [800, 720, 600, 480].find((width) => width <= window.outerWidth / 1.618)) != null ? _a : 360;\n (_b = features.left) != null ? _b : features.left = Math.max(0, Math.round(window.screenX + (window.outerWidth - features.width) / 2));\n if (features.height != null)\n (_c = features.top) != null ? _c : features.top = Math.max(0, Math.round(window.screenY + (window.outerHeight - features.height) / 2));\n return features;\n }\n static serialize(features) {\n return Object.entries(features).filter(([, value]) => value != null).map(([key, value]) => `${key}=${typeof value !== \"boolean\" ? value : value ? \"yes\" : \"no\"}`).join(\",\");\n }\n};\n\n// src/utils/Timer.ts\nvar Timer = class extends Event {\n constructor() {\n super(...arguments);\n this._logger = new Logger(`Timer('${this._name}')`);\n this._timerHandle = null;\n this._expiration = 0;\n this._callback = () => {\n const diff = this._expiration - Timer.getEpochTime();\n this._logger.debug(\"timer completes in\", diff);\n if (this._expiration <= Timer.getEpochTime()) {\n this.cancel();\n super.raise();\n }\n };\n }\n static getEpochTime() {\n return Math.floor(Date.now() / 1e3);\n }\n init(durationInSeconds) {\n const logger2 = this._logger.create(\"init\");\n durationInSeconds = Math.max(Math.floor(durationInSeconds), 1);\n const expiration = Timer.getEpochTime() + durationInSeconds;\n if (this.expiration === expiration && this._timerHandle) {\n logger2.debug(\"skipping since already initialized for expiration at\", this.expiration);\n return;\n }\n this.cancel();\n logger2.debug(\"using duration\", durationInSeconds);\n this._expiration = expiration;\n const timerDurationInSeconds = Math.min(durationInSeconds, 5);\n this._timerHandle = setInterval(this._callback, timerDurationInSeconds * 1e3);\n }\n get expiration() {\n return this._expiration;\n }\n cancel() {\n this._logger.create(\"cancel\");\n if (this._timerHandle) {\n clearInterval(this._timerHandle);\n this._timerHandle = null;\n }\n }\n};\n\n// src/utils/UrlUtils.ts\nvar UrlUtils = class {\n static readParams(url, responseMode = \"query\") {\n if (!url)\n throw new TypeError(\"Invalid URL\");\n const parsedUrl = new URL(url, window.location.origin);\n const params = parsedUrl[responseMode === \"fragment\" ? \"hash\" : \"search\"];\n return new URLSearchParams(params.slice(1));\n }\n};\n\n// src/errors/ErrorResponse.ts\nvar ErrorResponse = class extends Error {\n constructor(args, form) {\n var _a, _b, _c;\n super(args.error_description || args.error || \"\");\n this.form = form;\n this.name = \"ErrorResponse\";\n if (!args.error) {\n Logger.error(\"ErrorResponse\", \"No error passed\");\n throw new Error(\"No error passed\");\n }\n this.error = args.error;\n this.error_description = (_a = args.error_description) != null ? _a : null;\n this.error_uri = (_b = args.error_uri) != null ? _b : null;\n this.state = args.userState;\n this.session_state = (_c = args.session_state) != null ? _c : null;\n }\n};\n\n// src/errors/ErrorTimeout.ts\nvar ErrorTimeout = class extends Error {\n constructor(message) {\n super(message);\n this.name = \"ErrorTimeout\";\n }\n};\n\n// src/AccessTokenEvents.ts\nvar AccessTokenEvents = class {\n constructor(args) {\n this._logger = new Logger(\"AccessTokenEvents\");\n this._expiringTimer = new Timer(\"Access token expiring\");\n this._expiredTimer = new Timer(\"Access token expired\");\n this._expiringNotificationTimeInSeconds = args.expiringNotificationTimeInSeconds;\n }\n load(container) {\n const logger2 = this._logger.create(\"load\");\n if (container.access_token && container.expires_in !== void 0) {\n const duration = container.expires_in;\n logger2.debug(\"access token present, remaining duration:\", duration);\n if (duration > 0) {\n let expiring = duration - this._expiringNotificationTimeInSeconds;\n if (expiring <= 0) {\n expiring = 1;\n }\n logger2.debug(\"registering expiring timer, raising in\", expiring, \"seconds\");\n this._expiringTimer.init(expiring);\n } else {\n logger2.debug(\"canceling existing expiring timer because we're past expiration.\");\n this._expiringTimer.cancel();\n }\n const expired = duration + 1;\n logger2.debug(\"registering expired timer, raising in\", expired, \"seconds\");\n this._expiredTimer.init(expired);\n } else {\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n }\n unload() {\n this._logger.debug(\"unload: canceling existing access token timers\");\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n addAccessTokenExpiring(cb) {\n return this._expiringTimer.addHandler(cb);\n }\n removeAccessTokenExpiring(cb) {\n this._expiringTimer.removeHandler(cb);\n }\n addAccessTokenExpired(cb) {\n return this._expiredTimer.addHandler(cb);\n }\n removeAccessTokenExpired(cb) {\n this._expiredTimer.removeHandler(cb);\n }\n};\n\n// src/CheckSessionIFrame.ts\nvar CheckSessionIFrame = class {\n constructor(_callback, _client_id, url, _intervalInSeconds, _stopOnError) {\n this._callback = _callback;\n this._client_id = _client_id;\n this._intervalInSeconds = _intervalInSeconds;\n this._stopOnError = _stopOnError;\n this._logger = new Logger(\"CheckSessionIFrame\");\n this._timer = null;\n this._session_state = null;\n this._message = (e) => {\n if (e.origin === this._frame_origin && e.source === this._frame.contentWindow) {\n if (e.data === \"error\") {\n this._logger.error(\"error message from check session op iframe\");\n if (this._stopOnError) {\n this.stop();\n }\n } else if (e.data === \"changed\") {\n this._logger.debug(\"changed message from check session op iframe\");\n this.stop();\n void this._callback();\n } else {\n this._logger.debug(e.data + \" message from check session op iframe\");\n }\n }\n };\n const parsedUrl = new URL(url);\n this._frame_origin = parsedUrl.origin;\n this._frame = window.document.createElement(\"iframe\");\n this._frame.style.visibility = \"hidden\";\n this._frame.style.position = \"fixed\";\n this._frame.style.left = \"-1000px\";\n this._frame.style.top = \"0\";\n this._frame.width = \"0\";\n this._frame.height = \"0\";\n this._frame.src = parsedUrl.href;\n }\n load() {\n return new Promise((resolve) => {\n this._frame.onload = () => {\n resolve();\n };\n window.document.body.appendChild(this._frame);\n window.addEventListener(\"message\", this._message, false);\n });\n }\n start(session_state) {\n if (this._session_state === session_state) {\n return;\n }\n this._logger.create(\"start\");\n this.stop();\n this._session_state = session_state;\n const send = () => {\n if (!this._frame.contentWindow || !this._session_state) {\n return;\n }\n this._frame.contentWindow.postMessage(this._client_id + \" \" + this._session_state, this._frame_origin);\n };\n send();\n this._timer = setInterval(send, this._intervalInSeconds * 1e3);\n }\n stop() {\n this._logger.create(\"stop\");\n this._session_state = null;\n if (this._timer) {\n clearInterval(this._timer);\n this._timer = null;\n }\n }\n};\n\n// src/InMemoryWebStorage.ts\nvar InMemoryWebStorage = class {\n constructor() {\n this._logger = new Logger(\"InMemoryWebStorage\");\n this._data = {};\n }\n clear() {\n this._logger.create(\"clear\");\n this._data = {};\n }\n getItem(key) {\n this._logger.create(`getItem('${key}')`);\n return this._data[key];\n }\n setItem(key, value) {\n this._logger.create(`setItem('${key}')`);\n this._data[key] = value;\n }\n removeItem(key) {\n this._logger.create(`removeItem('${key}')`);\n delete this._data[key];\n }\n get length() {\n return Object.getOwnPropertyNames(this._data).length;\n }\n key(index) {\n return Object.getOwnPropertyNames(this._data)[index];\n }\n};\n\n// src/JsonService.ts\nvar JsonService = class {\n constructor(additionalContentTypes = [], _jwtHandler = null) {\n this._jwtHandler = _jwtHandler;\n this._logger = new Logger(\"JsonService\");\n this._contentTypes = [];\n this._contentTypes.push(...additionalContentTypes, \"application/json\");\n if (_jwtHandler) {\n this._contentTypes.push(\"application/jwt\");\n }\n }\n async fetchWithTimeout(input, init = {}) {\n const { timeoutInSeconds, ...initFetch } = init;\n if (!timeoutInSeconds) {\n return await fetch(input, initFetch);\n }\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeoutInSeconds * 1e3);\n try {\n const response = await fetch(input, {\n ...init,\n signal: controller.signal\n });\n return response;\n } catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") {\n throw new ErrorTimeout(\"Network timed out\");\n }\n throw err;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n async getJson(url, {\n token\n } = {}) {\n const logger2 = this._logger.create(\"getJson\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \")\n };\n if (token) {\n logger2.debug(\"token passed, setting Authorization header\");\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"GET\", headers });\n } catch (err) {\n logger2.error(\"Network Error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n logger2.throw(new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`));\n }\n if (response.ok && this._jwtHandler && (contentType == null ? void 0 : contentType.startsWith(\"application/jwt\"))) {\n return await this._jwtHandler(await response.text());\n }\n let json;\n try {\n json = await response.json();\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok)\n throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n async postForm(url, {\n body,\n basicAuth,\n timeoutInSeconds,\n initCredentials\n }) {\n const logger2 = this._logger.create(\"postForm\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \"),\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n };\n if (basicAuth !== void 0) {\n headers[\"Authorization\"] = \"Basic \" + basicAuth;\n }\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"POST\", headers, body, timeoutInSeconds, credentials: initCredentials });\n } catch (err) {\n logger2.error(\"Network error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n throw new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`);\n }\n const responseText = await response.text();\n let json = {};\n if (responseText) {\n try {\n json = JSON.parse(responseText);\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok)\n throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json, body);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n};\n\n// src/MetadataService.ts\nvar MetadataService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"MetadataService\");\n this._jsonService = new JsonService([\"application/jwk-set+json\"]);\n this._signingKeys = null;\n this._metadata = null;\n this._metadataUrl = this._settings.metadataUrl;\n if (this._settings.signingKeys) {\n this._logger.debug(\"using signingKeys from settings\");\n this._signingKeys = this._settings.signingKeys;\n }\n if (this._settings.metadata) {\n this._logger.debug(\"using metadata from settings\");\n this._metadata = this._settings.metadata;\n }\n }\n resetSigningKeys() {\n this._signingKeys = null;\n }\n async getMetadata() {\n const logger2 = this._logger.create(\"getMetadata\");\n if (this._metadata) {\n logger2.debug(\"using cached values\");\n return this._metadata;\n }\n if (!this._metadataUrl) {\n logger2.throw(new Error(\"No authority or metadataUrl configured on settings\"));\n throw null;\n }\n logger2.debug(\"getting metadata from\", this._metadataUrl);\n const metadata = await this._jsonService.getJson(this._metadataUrl);\n logger2.debug(\"merging remote JSON with seed metadata\");\n this._metadata = Object.assign({}, this._settings.metadataSeed, metadata);\n return this._metadata;\n }\n getIssuer() {\n return this._getMetadataProperty(\"issuer\");\n }\n getAuthorizationEndpoint() {\n return this._getMetadataProperty(\"authorization_endpoint\");\n }\n getUserInfoEndpoint() {\n return this._getMetadataProperty(\"userinfo_endpoint\");\n }\n getTokenEndpoint(optional = true) {\n return this._getMetadataProperty(\"token_endpoint\", optional);\n }\n getCheckSessionIframe() {\n return this._getMetadataProperty(\"check_session_iframe\", true);\n }\n getEndSessionEndpoint() {\n return this._getMetadataProperty(\"end_session_endpoint\", true);\n }\n getRevocationEndpoint(optional = true) {\n return this._getMetadataProperty(\"revocation_endpoint\", optional);\n }\n getKeysEndpoint(optional = true) {\n return this._getMetadataProperty(\"jwks_uri\", optional);\n }\n async _getMetadataProperty(name, optional = false) {\n const logger2 = this._logger.create(`_getMetadataProperty('${name}')`);\n const metadata = await this.getMetadata();\n logger2.debug(\"resolved\");\n if (metadata[name] === void 0) {\n if (optional === true) {\n logger2.warn(\"Metadata does not contain optional property\");\n return void 0;\n }\n logger2.throw(new Error(\"Metadata does not contain property \" + name));\n }\n return metadata[name];\n }\n async getSigningKeys() {\n const logger2 = this._logger.create(\"getSigningKeys\");\n if (this._signingKeys) {\n logger2.debug(\"returning signingKeys from cache\");\n return this._signingKeys;\n }\n const jwks_uri = await this.getKeysEndpoint(false);\n logger2.debug(\"got jwks_uri\", jwks_uri);\n const keySet = await this._jsonService.getJson(jwks_uri);\n logger2.debug(\"got key set\", keySet);\n if (!Array.isArray(keySet.keys)) {\n logger2.throw(new Error(\"Missing keys on keyset\"));\n throw null;\n }\n this._signingKeys = keySet.keys;\n return this._signingKeys;\n }\n};\n\n// src/WebStorageStateStore.ts\nvar WebStorageStateStore = class {\n constructor({ prefix = \"oidc.\", store = localStorage } = {}) {\n this._logger = new Logger(\"WebStorageStateStore\");\n this._store = store;\n this._prefix = prefix;\n }\n set(key, value) {\n this._logger.create(`set('${key}')`);\n key = this._prefix + key;\n this._store.setItem(key, value);\n return Promise.resolve();\n }\n get(key) {\n this._logger.create(`get('${key}')`);\n key = this._prefix + key;\n const item = this._store.getItem(key);\n return Promise.resolve(item);\n }\n remove(key) {\n this._logger.create(`remove('${key}')`);\n key = this._prefix + key;\n const item = this._store.getItem(key);\n this._store.removeItem(key);\n return Promise.resolve(item);\n }\n getAllKeys() {\n this._logger.create(\"getAllKeys\");\n const keys = [];\n for (let index = 0; index < this._store.length; index++) {\n const key = this._store.key(index);\n if (key && key.indexOf(this._prefix) === 0) {\n keys.push(key.substr(this._prefix.length));\n }\n }\n return Promise.resolve(keys);\n }\n};\n\n// src/OidcClientSettings.ts\nvar DefaultResponseType = \"code\";\nvar DefaultScope = \"openid\";\nvar DefaultClientAuthentication = \"client_secret_post\";\nvar DefaultResponseMode = \"query\";\nvar DefaultStaleStateAgeInSeconds = 60 * 15;\nvar DefaultClockSkewInSeconds = 60 * 5;\nvar OidcClientSettingsStore = class {\n constructor({\n authority,\n metadataUrl,\n metadata,\n signingKeys,\n metadataSeed,\n client_id,\n client_secret,\n response_type = DefaultResponseType,\n scope = DefaultScope,\n redirect_uri,\n post_logout_redirect_uri,\n client_authentication = DefaultClientAuthentication,\n prompt,\n display,\n max_age,\n ui_locales,\n acr_values,\n resource,\n response_mode = DefaultResponseMode,\n filterProtocolClaims = true,\n loadUserInfo = false,\n staleStateAgeInSeconds = DefaultStaleStateAgeInSeconds,\n clockSkewInSeconds = DefaultClockSkewInSeconds,\n userInfoJwtIssuer = \"OP\",\n mergeClaims = false,\n stateStore,\n refreshTokenCredentials = \"same-origin\",\n extraQueryParams = {},\n extraTokenParams = {}\n }) {\n this.authority = authority;\n if (metadataUrl) {\n this.metadataUrl = metadataUrl;\n } else {\n this.metadataUrl = authority;\n if (authority) {\n if (!this.metadataUrl.endsWith(\"/\")) {\n this.metadataUrl += \"/\";\n }\n this.metadataUrl += \".well-known/openid-configuration\";\n }\n }\n this.metadata = metadata;\n this.metadataSeed = metadataSeed;\n this.signingKeys = signingKeys;\n this.client_id = client_id;\n this.client_secret = client_secret;\n this.response_type = response_type;\n this.scope = scope;\n this.redirect_uri = redirect_uri;\n this.post_logout_redirect_uri = post_logout_redirect_uri;\n this.client_authentication = client_authentication;\n this.prompt = prompt;\n this.display = display;\n this.max_age = max_age;\n this.ui_locales = ui_locales;\n this.acr_values = acr_values;\n this.resource = resource;\n this.response_mode = response_mode;\n this.filterProtocolClaims = !!filterProtocolClaims;\n this.loadUserInfo = !!loadUserInfo;\n this.staleStateAgeInSeconds = staleStateAgeInSeconds;\n this.clockSkewInSeconds = clockSkewInSeconds;\n this.userInfoJwtIssuer = userInfoJwtIssuer;\n this.mergeClaims = !!mergeClaims;\n this.refreshTokenCredentials = refreshTokenCredentials;\n if (stateStore) {\n this.stateStore = stateStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.localStorage : new InMemoryWebStorage();\n this.stateStore = new WebStorageStateStore({ store });\n }\n this.extraQueryParams = extraQueryParams;\n this.extraTokenParams = extraTokenParams;\n }\n};\n\n// src/UserInfoService.ts\nvar UserInfoService = class {\n constructor(_metadataService) {\n this._metadataService = _metadataService;\n this._logger = new Logger(\"UserInfoService\");\n this._getClaimsFromJwt = async (responseText) => {\n const logger2 = this._logger.create(\"_getClaimsFromJwt\");\n try {\n const payload = JwtUtils.decode(responseText);\n logger2.debug(\"JWT decoding successful\");\n return payload;\n } catch (err) {\n logger2.error(\"Error parsing JWT response\");\n throw err;\n }\n };\n this._jsonService = new JsonService(void 0, this._getClaimsFromJwt);\n }\n async getClaims(token) {\n const logger2 = this._logger.create(\"getClaims\");\n if (!token) {\n this._logger.throw(new Error(\"No token passed\"));\n }\n const url = await this._metadataService.getUserInfoEndpoint();\n logger2.debug(\"got userinfo url\", url);\n const claims = await this._jsonService.getJson(url, { token });\n logger2.debug(\"got claims\", claims);\n return claims;\n }\n};\n\n// src/TokenClient.ts\nvar TokenClient = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"TokenClient\");\n this._jsonService = new JsonService();\n }\n async exchangeCode({\n grant_type = \"authorization_code\",\n redirect_uri = this._settings.redirect_uri,\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCode\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!redirect_uri) {\n logger2.throw(new Error(\"A redirect_uri is required\"));\n }\n if (!args.code) {\n logger2.throw(new Error(\"A code is required\"));\n }\n if (!args.code_verifier) {\n logger2.throw(new Error(\"A code_verifier is required\"));\n }\n const params = new URLSearchParams({ grant_type, redirect_uri });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth });\n logger2.debug(\"got response\");\n return response;\n }\n async exchangeRefreshToken({\n grant_type = \"refresh_token\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n timeoutInSeconds,\n refreshTokenCredentials,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeRefreshToken\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!args.refresh_token) {\n logger2.throw(new Error(\"A refresh_token is required\"));\n }\n const params = new URLSearchParams({ grant_type });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds, initCredentials: refreshTokenCredentials });\n logger2.debug(\"got response\");\n return response;\n }\n async revoke(args) {\n var _a;\n const logger2 = this._logger.create(\"revoke\");\n if (!args.token) {\n logger2.throw(new Error(\"A token is required\"));\n }\n const url = await this._metadataService.getRevocationEndpoint(false);\n logger2.debug(`got revocation endpoint, revoking ${(_a = args.token_type_hint) != null ? _a : \"default token type\"}`);\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n params.set(\"client_id\", this._settings.client_id);\n if (this._settings.client_secret) {\n params.set(\"client_secret\", this._settings.client_secret);\n }\n await this._jsonService.postForm(url, { body: params });\n logger2.debug(\"got response\");\n }\n};\n\n// src/ResponseValidator.ts\nvar ProtocolClaims = [\n \"iss\",\n \"aud\",\n \"exp\",\n \"nbf\",\n \"iat\",\n \"jti\",\n \"auth_time\",\n \"nonce\",\n \"acr\",\n \"amr\",\n \"azp\",\n \"at_hash\"\n];\nvar ResponseValidator = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"ResponseValidator\");\n this._userInfoService = new UserInfoService(this._metadataService);\n this._tokenClient = new TokenClient(this._settings, this._metadataService);\n }\n async validateSigninResponse(response, state) {\n const logger2 = this._logger.create(\"validateSigninResponse\");\n this._processSigninState(response, state);\n logger2.debug(\"state processed\");\n await this._processCode(response, state);\n logger2.debug(\"code processed\");\n if (response.isOpenId) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, state == null ? void 0 : state.skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateRefreshResponse(response, state) {\n var _a, _b;\n const logger2 = this._logger.create(\"validateRefreshResponse\");\n response.userState = state.data;\n (_a = response.session_state) != null ? _a : response.session_state = state.session_state;\n (_b = response.scope) != null ? _b : response.scope = state.scope;\n const hasIdToken = response.isOpenId && !!response.id_token;\n if (hasIdToken) {\n this._validateIdTokenAttributes(response, state.id_token);\n logger2.debug(\"ID Token validated\");\n }\n await this._processClaims(response, false, hasIdToken);\n logger2.debug(\"claims processed\");\n }\n validateSignoutResponse(response, state) {\n const logger2 = this._logger.create(\"validateSignoutResponse\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n }\n _processSigninState(response, state) {\n var _a;\n const logger2 = this._logger.create(\"_processSigninState\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n if (!state.client_id) {\n logger2.throw(new Error(\"No client_id on state\"));\n }\n if (!state.authority) {\n logger2.throw(new Error(\"No authority on state\"));\n }\n if (this._settings.authority !== state.authority) {\n logger2.throw(new Error(\"authority mismatch on settings vs. signin state\"));\n }\n if (this._settings.client_id && this._settings.client_id !== state.client_id) {\n logger2.throw(new Error(\"client_id mismatch on settings vs. signin state\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n (_a = response.scope) != null ? _a : response.scope = state.scope;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n if (state.code_verifier && !response.code) {\n logger2.throw(new Error(\"Expected code in response\"));\n }\n if (!state.code_verifier && response.code) {\n logger2.throw(new Error(\"Unexpected code in response\"));\n }\n }\n async _processClaims(response, skipUserInfo = false, validateSub = true) {\n const logger2 = this._logger.create(\"_processClaims\");\n response.profile = this._filterProtocolClaims(response.profile);\n if (skipUserInfo || !this._settings.loadUserInfo || !response.access_token) {\n logger2.debug(\"not loading user info\");\n return;\n }\n logger2.debug(\"loading user info\");\n const claims = await this._userInfoService.getClaims(response.access_token);\n logger2.debug(\"user info claims received from user info endpoint\");\n if (validateSub && claims.sub !== response.profile.sub) {\n logger2.throw(new Error(\"subject from UserInfo response does not match subject in ID Token\"));\n }\n response.profile = this._mergeClaims(response.profile, this._filterProtocolClaims(claims));\n logger2.debug(\"user info claims received, updated profile:\", response.profile);\n }\n _mergeClaims(claims1, claims2) {\n const result = { ...claims1 };\n for (const [claim, values] of Object.entries(claims2)) {\n for (const value of Array.isArray(values) ? values : [values]) {\n const previousValue = result[claim];\n if (!previousValue) {\n result[claim] = value;\n } else if (Array.isArray(previousValue)) {\n if (!previousValue.includes(value)) {\n previousValue.push(value);\n }\n } else if (result[claim] !== value) {\n if (typeof value === \"object\" && this._settings.mergeClaims) {\n result[claim] = this._mergeClaims(previousValue, value);\n } else {\n result[claim] = [previousValue, value];\n }\n }\n }\n }\n return result;\n }\n _filterProtocolClaims(claims) {\n const result = { ...claims };\n if (this._settings.filterProtocolClaims) {\n for (const type of ProtocolClaims) {\n delete result[type];\n }\n }\n return result;\n }\n async _processCode(response, state) {\n const logger2 = this._logger.create(\"_processCode\");\n if (response.code) {\n logger2.debug(\"Validating code\");\n const tokenResponse = await this._tokenClient.exchangeCode({\n client_id: state.client_id,\n client_secret: state.client_secret,\n code: response.code,\n redirect_uri: state.redirect_uri,\n code_verifier: state.code_verifier,\n ...state.extraTokenParams\n });\n Object.assign(response, tokenResponse);\n } else {\n logger2.debug(\"No code to process\");\n }\n }\n _validateIdTokenAttributes(response, currentToken) {\n var _a;\n const logger2 = this._logger.create(\"_validateIdTokenAttributes\");\n logger2.debug(\"decoding ID Token JWT\");\n const profile = JwtUtils.decode((_a = response.id_token) != null ? _a : \"\");\n if (!profile.sub) {\n logger2.throw(new Error(\"ID Token is missing a subject claim\"));\n }\n if (currentToken) {\n const current = JwtUtils.decode(currentToken);\n if (current.sub !== profile.sub) {\n logger2.throw(new Error(\"sub in id_token does not match current sub\"));\n }\n if (current.auth_time && current.auth_time !== profile.auth_time) {\n logger2.throw(new Error(\"auth_time in id_token does not match original auth_time\"));\n }\n if (current.azp && current.azp !== profile.azp) {\n logger2.throw(new Error(\"azp in id_token does not match original azp\"));\n }\n if (!current.azp && profile.azp) {\n logger2.throw(new Error(\"azp not in id_token, but present in original id_token\"));\n }\n }\n response.profile = profile;\n }\n};\n\n// src/State.ts\nvar State = class {\n constructor(args) {\n this.id = args.id || CryptoUtils.generateUUIDv4();\n this.data = args.data;\n if (args.created && args.created > 0) {\n this.created = args.created;\n } else {\n this.created = Timer.getEpochTime();\n }\n this.request_type = args.request_type;\n }\n toStorageString() {\n new Logger(\"State\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"State\", \"fromStorageString\");\n return new State(JSON.parse(storageString));\n }\n static async clearStaleState(storage, age) {\n const logger2 = Logger.createStatic(\"State\", \"clearStaleState\");\n const cutoff = Timer.getEpochTime() - age;\n const keys = await storage.getAllKeys();\n logger2.debug(\"got keys\", keys);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const item = await storage.get(key);\n let remove = false;\n if (item) {\n try {\n const state = State.fromStorageString(item);\n logger2.debug(\"got item from key:\", key, state.created);\n if (state.created <= cutoff) {\n remove = true;\n }\n } catch (err) {\n logger2.error(\"Error parsing state for key:\", key, err);\n remove = true;\n }\n } else {\n logger2.debug(\"no item in storage for key:\", key);\n remove = true;\n }\n if (remove) {\n logger2.debug(\"removed item for key:\", key);\n void storage.remove(key);\n }\n }\n }\n};\n\n// src/SigninState.ts\nvar SigninState = class extends State {\n constructor(args) {\n super(args);\n if (args.code_verifier === true) {\n this.code_verifier = CryptoUtils.generateCodeVerifier();\n } else if (args.code_verifier) {\n this.code_verifier = args.code_verifier;\n }\n if (this.code_verifier) {\n this.code_challenge = CryptoUtils.generateCodeChallenge(this.code_verifier);\n }\n this.authority = args.authority;\n this.client_id = args.client_id;\n this.redirect_uri = args.redirect_uri;\n this.scope = args.scope;\n this.client_secret = args.client_secret;\n this.extraTokenParams = args.extraTokenParams;\n this.response_mode = args.response_mode;\n this.skipUserInfo = args.skipUserInfo;\n }\n toStorageString() {\n new Logger(\"SigninState\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n code_verifier: this.code_verifier,\n authority: this.authority,\n client_id: this.client_id,\n redirect_uri: this.redirect_uri,\n scope: this.scope,\n client_secret: this.client_secret,\n extraTokenParams: this.extraTokenParams,\n response_mode: this.response_mode,\n skipUserInfo: this.skipUserInfo\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"SigninState\", \"fromStorageString\");\n const data = JSON.parse(storageString);\n return new SigninState(data);\n }\n};\n\n// src/SigninRequest.ts\nvar SigninRequest = class {\n constructor({\n url,\n authority,\n client_id,\n redirect_uri,\n response_type,\n scope,\n state_data,\n response_mode,\n request_type,\n client_secret,\n nonce,\n skipUserInfo,\n extraQueryParams,\n extraTokenParams,\n ...optionalParams\n }) {\n this._logger = new Logger(\"SigninRequest\");\n if (!url) {\n this._logger.error(\"ctor: No url passed\");\n throw new Error(\"url\");\n }\n if (!client_id) {\n this._logger.error(\"ctor: No client_id passed\");\n throw new Error(\"client_id\");\n }\n if (!redirect_uri) {\n this._logger.error(\"ctor: No redirect_uri passed\");\n throw new Error(\"redirect_uri\");\n }\n if (!response_type) {\n this._logger.error(\"ctor: No response_type passed\");\n throw new Error(\"response_type\");\n }\n if (!scope) {\n this._logger.error(\"ctor: No scope passed\");\n throw new Error(\"scope\");\n }\n if (!authority) {\n this._logger.error(\"ctor: No authority passed\");\n throw new Error(\"authority\");\n }\n this.state = new SigninState({\n data: state_data,\n request_type,\n code_verifier: true,\n client_id,\n authority,\n redirect_uri,\n response_mode,\n client_secret,\n scope,\n extraTokenParams,\n skipUserInfo\n });\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.append(\"client_id\", client_id);\n parsedUrl.searchParams.append(\"redirect_uri\", redirect_uri);\n parsedUrl.searchParams.append(\"response_type\", response_type);\n parsedUrl.searchParams.append(\"scope\", scope);\n if (nonce) {\n parsedUrl.searchParams.append(\"nonce\", nonce);\n }\n parsedUrl.searchParams.append(\"state\", this.state.id);\n if (this.state.code_challenge) {\n parsedUrl.searchParams.append(\"code_challenge\", this.state.code_challenge);\n parsedUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n }\n for (const [key, value] of Object.entries({ response_mode, ...optionalParams, ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n this.url = parsedUrl.href;\n }\n};\n\n// src/SigninResponse.ts\nvar OidcScope = \"openid\";\nvar SigninResponse = class {\n constructor(params) {\n this.access_token = \"\";\n this.token_type = \"\";\n this.profile = {};\n this.state = params.get(\"state\");\n this.session_state = params.get(\"session_state\");\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n this.code = params.get(\"code\");\n }\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (typeof value === \"string\")\n value = Number(value);\n if (value !== void 0 && value >= 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n get isOpenId() {\n var _a;\n return ((_a = this.scope) == null ? void 0 : _a.split(\" \").includes(OidcScope)) || !!this.id_token;\n }\n};\n\n// src/SignoutRequest.ts\nvar SignoutRequest = class {\n constructor({\n url,\n state_data,\n id_token_hint,\n post_logout_redirect_uri,\n extraQueryParams,\n request_type\n }) {\n this._logger = new Logger(\"SignoutRequest\");\n if (!url) {\n this._logger.error(\"ctor: No url passed\");\n throw new Error(\"url\");\n }\n const parsedUrl = new URL(url);\n if (id_token_hint) {\n parsedUrl.searchParams.append(\"id_token_hint\", id_token_hint);\n }\n if (post_logout_redirect_uri) {\n parsedUrl.searchParams.append(\"post_logout_redirect_uri\", post_logout_redirect_uri);\n if (state_data) {\n this.state = new State({ data: state_data, request_type });\n parsedUrl.searchParams.append(\"state\", this.state.id);\n }\n }\n for (const [key, value] of Object.entries({ ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n this.url = parsedUrl.href;\n }\n};\n\n// src/SignoutResponse.ts\nvar SignoutResponse = class {\n constructor(params) {\n this.state = params.get(\"state\");\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n }\n};\n\n// src/OidcClient.ts\nvar OidcClient = class {\n constructor(settings) {\n this._logger = new Logger(\"OidcClient\");\n this.settings = new OidcClientSettingsStore(settings);\n this.metadataService = new MetadataService(this.settings);\n this._validator = new ResponseValidator(this.settings, this.metadataService);\n this._tokenClient = new TokenClient(this.settings, this.metadataService);\n }\n async createSigninRequest({\n state,\n request,\n request_uri,\n request_type,\n id_token_hint,\n login_hint,\n skipUserInfo,\n nonce,\n response_type = this.settings.response_type,\n scope = this.settings.scope,\n redirect_uri = this.settings.redirect_uri,\n prompt = this.settings.prompt,\n display = this.settings.display,\n max_age = this.settings.max_age,\n ui_locales = this.settings.ui_locales,\n acr_values = this.settings.acr_values,\n resource = this.settings.resource,\n response_mode = this.settings.response_mode,\n extraQueryParams = this.settings.extraQueryParams,\n extraTokenParams = this.settings.extraTokenParams\n }) {\n const logger2 = this._logger.create(\"createSigninRequest\");\n if (response_type !== \"code\") {\n throw new Error(\"Only the Authorization Code flow (with PKCE) is supported\");\n }\n const url = await this.metadataService.getAuthorizationEndpoint();\n logger2.debug(\"Received authorization endpoint\", url);\n const signinRequest = new SigninRequest({\n url,\n authority: this.settings.authority,\n client_id: this.settings.client_id,\n redirect_uri,\n response_type,\n scope,\n state_data: state,\n prompt,\n display,\n max_age,\n ui_locales,\n id_token_hint,\n login_hint,\n acr_values,\n resource,\n request,\n request_uri,\n extraQueryParams,\n extraTokenParams,\n request_type,\n response_mode,\n client_secret: this.settings.client_secret,\n skipUserInfo,\n nonce\n });\n await this.clearStaleState();\n const signinState = signinRequest.state;\n await this.settings.stateStore.set(signinState.id, signinState.toStorageString());\n return signinRequest;\n }\n async readSigninResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSigninResponseState\");\n const response = new SigninResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.throw(new Error(\"No state in response\"));\n throw null;\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = SigninState.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSigninResponse(url) {\n const logger2 = this._logger.create(\"processSigninResponse\");\n const { state, response } = await this.readSigninResponseState(url, true);\n logger2.debug(\"received state from storage; validating response\");\n await this._validator.validateSigninResponse(response, state);\n return response;\n }\n async useRefreshToken({\n state,\n timeoutInSeconds\n }) {\n const logger2 = this._logger.create(\"useRefreshToken\");\n const result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n scope: state.scope,\n timeoutInSeconds,\n refreshTokenCredentials: this.settings.refreshTokenCredentials\n });\n const response = new SigninResponse(new URLSearchParams());\n Object.assign(response, result);\n logger2.debug(\"validating response\", response);\n await this._validator.validateRefreshResponse(response, state);\n return response;\n }\n async createSignoutRequest({\n state,\n id_token_hint,\n request_type,\n post_logout_redirect_uri = this.settings.post_logout_redirect_uri,\n extraQueryParams = this.settings.extraQueryParams\n } = {}) {\n const logger2 = this._logger.create(\"createSignoutRequest\");\n const url = await this.metadataService.getEndSessionEndpoint();\n if (!url) {\n logger2.throw(new Error(\"No end session endpoint\"));\n throw null;\n }\n logger2.debug(\"Received end session endpoint\", url);\n const request = new SignoutRequest({\n url,\n id_token_hint,\n post_logout_redirect_uri,\n state_data: state,\n extraQueryParams,\n request_type\n });\n await this.clearStaleState();\n const signoutState = request.state;\n if (signoutState) {\n logger2.debug(\"Signout request has state to persist\");\n await this.settings.stateStore.set(signoutState.id, signoutState.toStorageString());\n }\n return request;\n }\n async readSignoutResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSignoutResponseState\");\n const response = new SignoutResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.debug(\"No state in response\");\n if (response.error) {\n logger2.warn(\"Response was error:\", response.error);\n throw new ErrorResponse(response);\n }\n return { state: void 0, response };\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = State.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSignoutResponse(url) {\n const logger2 = this._logger.create(\"processSignoutResponse\");\n const { state, response } = await this.readSignoutResponseState(url, true);\n if (state) {\n logger2.debug(\"Received state from storage; validating response\");\n this._validator.validateSignoutResponse(response, state);\n } else {\n logger2.debug(\"No state from storage; skipping response validation\");\n }\n return response;\n }\n clearStaleState() {\n this._logger.create(\"clearStaleState\");\n return State.clearStaleState(this.settings.stateStore, this.settings.staleStateAgeInSeconds);\n }\n async revokeToken(token, type) {\n this._logger.create(\"revokeToken\");\n return await this._tokenClient.revoke({\n token,\n token_type_hint: type\n });\n }\n};\n\n// src/SessionMonitor.ts\nvar SessionMonitor = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SessionMonitor\");\n this._start = async (user) => {\n const session_state = user.session_state;\n if (!session_state) {\n return;\n }\n const logger2 = this._logger.create(\"_start\");\n if (user.profile) {\n this._sub = user.profile.sub;\n this._sid = user.profile.sid;\n logger2.debug(\"session_state\", session_state, \", sub\", this._sub);\n } else {\n this._sub = void 0;\n this._sid = void 0;\n logger2.debug(\"session_state\", session_state, \", anonymous user\");\n }\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.start(session_state);\n return;\n }\n try {\n const url = await this._userManager.metadataService.getCheckSessionIframe();\n if (url) {\n logger2.debug(\"initializing check session iframe\");\n const client_id = this._userManager.settings.client_id;\n const intervalInSeconds = this._userManager.settings.checkSessionIntervalInSeconds;\n const stopOnError = this._userManager.settings.stopCheckSessionOnError;\n const checkSessionIFrame = new CheckSessionIFrame(this._callback, client_id, url, intervalInSeconds, stopOnError);\n await checkSessionIFrame.load();\n this._checkSessionIFrame = checkSessionIFrame;\n checkSessionIFrame.start(session_state);\n } else {\n logger2.warn(\"no check session iframe found in the metadata\");\n }\n } catch (err) {\n logger2.error(\"Error from getCheckSessionIframe:\", err instanceof Error ? err.message : err);\n }\n };\n this._stop = () => {\n const logger2 = this._logger.create(\"_stop\");\n this._sub = void 0;\n this._sid = void 0;\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.stop();\n }\n if (this._userManager.settings.monitorAnonymousSession) {\n const timerHandle = setInterval(async () => {\n clearInterval(timerHandle);\n try {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub && session.sid ? {\n sub: session.sub,\n sid: session.sid\n } : null\n };\n void this._start(tmpUser);\n }\n } catch (err) {\n logger2.error(\"error from querySessionStatus\", err instanceof Error ? err.message : err);\n }\n }, 1e3);\n }\n };\n this._callback = async () => {\n const logger2 = this._logger.create(\"_callback\");\n try {\n const session = await this._userManager.querySessionStatus();\n let raiseEvent = true;\n if (session && this._checkSessionIFrame) {\n if (session.sub === this._sub) {\n raiseEvent = false;\n this._checkSessionIFrame.start(session.session_state);\n if (session.sid === this._sid) {\n logger2.debug(\"same sub still logged in at OP, restarting check session iframe; session_state\", session.session_state);\n } else {\n logger2.debug(\"same sub still logged in at OP, session state has changed, restarting check session iframe; session_state\", session.session_state);\n this._userManager.events._raiseUserSessionChanged();\n }\n } else {\n logger2.debug(\"different subject signed into OP\", session.sub);\n }\n } else {\n logger2.debug(\"subject no longer signed into OP\");\n }\n if (raiseEvent) {\n if (this._sub) {\n this._userManager.events._raiseUserSignedOut();\n } else {\n this._userManager.events._raiseUserSignedIn();\n }\n } else {\n logger2.debug(\"no change in session detected, no event to raise\");\n }\n } catch (err) {\n if (this._sub) {\n logger2.debug(\"Error calling queryCurrentSigninSession; raising signed out event\", err);\n this._userManager.events._raiseUserSignedOut();\n }\n }\n };\n if (!_userManager) {\n this._logger.throw(new Error(\"No user manager passed\"));\n }\n this._userManager.events.addUserLoaded(this._start);\n this._userManager.events.addUserUnloaded(this._stop);\n this._init().catch((err) => {\n this._logger.error(err);\n });\n }\n async _init() {\n this._logger.create(\"_init\");\n const user = await this._userManager.getUser();\n if (user) {\n void this._start(user);\n } else if (this._userManager.settings.monitorAnonymousSession) {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub && session.sid ? {\n sub: session.sub,\n sid: session.sid\n } : null\n };\n void this._start(tmpUser);\n }\n }\n }\n};\n\n// src/User.ts\nvar User = class {\n constructor(args) {\n var _a;\n this.id_token = args.id_token;\n this.session_state = (_a = args.session_state) != null ? _a : null;\n this.access_token = args.access_token;\n this.refresh_token = args.refresh_token;\n this.token_type = args.token_type;\n this.scope = args.scope;\n this.profile = args.profile;\n this.expires_at = args.expires_at;\n this.state = args.userState;\n }\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (value !== void 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n get expired() {\n const expires_in = this.expires_in;\n if (expires_in === void 0) {\n return void 0;\n }\n return expires_in <= 0;\n }\n get scopes() {\n var _a, _b;\n return (_b = (_a = this.scope) == null ? void 0 : _a.split(\" \")) != null ? _b : [];\n }\n toStorageString() {\n new Logger(\"User\").create(\"toStorageString\");\n return JSON.stringify({\n id_token: this.id_token,\n session_state: this.session_state,\n access_token: this.access_token,\n refresh_token: this.refresh_token,\n token_type: this.token_type,\n scope: this.scope,\n profile: this.profile,\n expires_at: this.expires_at\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"User\", \"fromStorageString\");\n return new User(JSON.parse(storageString));\n }\n};\n\n// src/navigators/AbstractChildWindow.ts\nvar messageSource = \"oidc-client\";\nvar AbstractChildWindow = class {\n constructor() {\n this._abort = new Event(\"Window navigation aborted\");\n this._disposeHandlers = /* @__PURE__ */ new Set();\n this._window = null;\n }\n async navigate(params) {\n const logger2 = this._logger.create(\"navigate\");\n if (!this._window) {\n throw new Error(\"Attempted to navigate on a disposed window\");\n }\n logger2.debug(\"setting URL in window\");\n this._window.location.replace(params.url);\n const { url, keepOpen } = await new Promise((resolve, reject) => {\n const listener = (e) => {\n var _a;\n const data = e.data;\n const origin = (_a = params.scriptOrigin) != null ? _a : window.location.origin;\n if (e.origin !== origin || (data == null ? void 0 : data.source) !== messageSource) {\n return;\n }\n try {\n const state = UrlUtils.readParams(data.url, params.response_mode).get(\"state\");\n if (!state) {\n logger2.warn(\"no state found in response url\");\n }\n if (e.source !== this._window && state !== params.state) {\n return;\n }\n } catch (err) {\n this._dispose();\n reject(new Error(\"Invalid response from window\"));\n }\n resolve(data);\n };\n window.addEventListener(\"message\", listener, false);\n this._disposeHandlers.add(() => window.removeEventListener(\"message\", listener, false));\n this._disposeHandlers.add(this._abort.addHandler((reason) => {\n this._dispose();\n reject(reason);\n }));\n });\n logger2.debug(\"got response from window\");\n this._dispose();\n if (!keepOpen) {\n this.close();\n }\n return { url };\n }\n _dispose() {\n this._logger.create(\"_dispose\");\n for (const dispose of this._disposeHandlers) {\n dispose();\n }\n this._disposeHandlers.clear();\n }\n static _notifyParent(parent, url, keepOpen = false, targetOrigin = window.location.origin) {\n parent.postMessage({\n source: messageSource,\n url,\n keepOpen\n }, targetOrigin);\n }\n};\n\n// src/UserManagerSettings.ts\nvar DefaultPopupWindowFeatures = {\n location: false,\n toolbar: false,\n height: 640\n};\nvar DefaultPopupTarget = \"_blank\";\nvar DefaultAccessTokenExpiringNotificationTimeInSeconds = 60;\nvar DefaultCheckSessionIntervalInSeconds = 2;\nvar DefaultSilentRequestTimeoutInSeconds = 10;\nvar UserManagerSettingsStore = class extends OidcClientSettingsStore {\n constructor(args) {\n const {\n popup_redirect_uri = args.redirect_uri,\n popup_post_logout_redirect_uri = args.post_logout_redirect_uri,\n popupWindowFeatures = DefaultPopupWindowFeatures,\n popupWindowTarget = DefaultPopupTarget,\n redirectMethod = \"assign\",\n redirectTarget = \"self\",\n iframeNotifyParentOrigin = args.iframeNotifyParentOrigin,\n iframeScriptOrigin = args.iframeScriptOrigin,\n silent_redirect_uri = args.redirect_uri,\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds,\n automaticSilentRenew = true,\n validateSubOnSilentRenew = true,\n includeIdTokenInSilentRenew = false,\n monitorSession = false,\n monitorAnonymousSession = false,\n checkSessionIntervalInSeconds = DefaultCheckSessionIntervalInSeconds,\n query_status_response_type = \"code\",\n stopCheckSessionOnError = true,\n revokeTokenTypes = [\"access_token\", \"refresh_token\"],\n revokeTokensOnSignout = false,\n accessTokenExpiringNotificationTimeInSeconds = DefaultAccessTokenExpiringNotificationTimeInSeconds,\n userStore\n } = args;\n super(args);\n this.popup_redirect_uri = popup_redirect_uri;\n this.popup_post_logout_redirect_uri = popup_post_logout_redirect_uri;\n this.popupWindowFeatures = popupWindowFeatures;\n this.popupWindowTarget = popupWindowTarget;\n this.redirectMethod = redirectMethod;\n this.redirectTarget = redirectTarget;\n this.iframeNotifyParentOrigin = iframeNotifyParentOrigin;\n this.iframeScriptOrigin = iframeScriptOrigin;\n this.silent_redirect_uri = silent_redirect_uri;\n this.silentRequestTimeoutInSeconds = silentRequestTimeoutInSeconds;\n this.automaticSilentRenew = automaticSilentRenew;\n this.validateSubOnSilentRenew = validateSubOnSilentRenew;\n this.includeIdTokenInSilentRenew = includeIdTokenInSilentRenew;\n this.monitorSession = monitorSession;\n this.monitorAnonymousSession = monitorAnonymousSession;\n this.checkSessionIntervalInSeconds = checkSessionIntervalInSeconds;\n this.stopCheckSessionOnError = stopCheckSessionOnError;\n this.query_status_response_type = query_status_response_type;\n this.revokeTokenTypes = revokeTokenTypes;\n this.revokeTokensOnSignout = revokeTokensOnSignout;\n this.accessTokenExpiringNotificationTimeInSeconds = accessTokenExpiringNotificationTimeInSeconds;\n if (userStore) {\n this.userStore = userStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.sessionStorage : new InMemoryWebStorage();\n this.userStore = new WebStorageStateStore({ store });\n }\n }\n};\n\n// src/navigators/IFrameWindow.ts\nvar IFrameWindow = class extends AbstractChildWindow {\n constructor({\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds\n }) {\n super();\n this._logger = new Logger(\"IFrameWindow\");\n this._timeoutInSeconds = silentRequestTimeoutInSeconds;\n this._frame = IFrameWindow.createHiddenIframe();\n this._window = this._frame.contentWindow;\n }\n static createHiddenIframe() {\n const iframe = window.document.createElement(\"iframe\");\n iframe.style.visibility = \"hidden\";\n iframe.style.position = \"fixed\";\n iframe.style.left = \"-1000px\";\n iframe.style.top = \"0\";\n iframe.width = \"0\";\n iframe.height = \"0\";\n iframe.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\n window.document.body.appendChild(iframe);\n return iframe;\n }\n async navigate(params) {\n this._logger.debug(\"navigate: Using timeout of:\", this._timeoutInSeconds);\n const timer = setTimeout(() => this._abort.raise(new ErrorTimeout(\"IFrame timed out without a response\")), this._timeoutInSeconds * 1e3);\n this._disposeHandlers.add(() => clearTimeout(timer));\n return await super.navigate(params);\n }\n close() {\n var _a;\n if (this._frame) {\n if (this._frame.parentNode) {\n this._frame.addEventListener(\"load\", (ev) => {\n var _a2;\n const frame = ev.target;\n (_a2 = frame.parentNode) == null ? void 0 : _a2.removeChild(frame);\n this._abort.raise(new Error(\"IFrame removed from DOM\"));\n }, true);\n (_a = this._frame.contentWindow) == null ? void 0 : _a.location.replace(\"about:blank\");\n }\n this._frame = null;\n }\n this._window = null;\n }\n static notifyParent(url, targetOrigin) {\n return super._notifyParent(window.parent, url, false, targetOrigin);\n }\n};\n\n// src/navigators/IFrameNavigator.ts\nvar IFrameNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"IFrameNavigator\");\n }\n async prepare({\n silentRequestTimeoutInSeconds = this._settings.silentRequestTimeoutInSeconds\n }) {\n return new IFrameWindow({ silentRequestTimeoutInSeconds });\n }\n async callback(url) {\n this._logger.create(\"callback\");\n IFrameWindow.notifyParent(url, this._settings.iframeNotifyParentOrigin);\n }\n};\n\n// src/navigators/PopupWindow.ts\nvar checkForPopupClosedInterval = 500;\nvar PopupWindow = class extends AbstractChildWindow {\n constructor({\n popupWindowTarget = DefaultPopupTarget,\n popupWindowFeatures = {}\n }) {\n super();\n this._logger = new Logger(\"PopupWindow\");\n const centeredPopup = PopupUtils.center({ ...DefaultPopupWindowFeatures, ...popupWindowFeatures });\n this._window = window.open(void 0, popupWindowTarget, PopupUtils.serialize(centeredPopup));\n }\n async navigate(params) {\n var _a;\n (_a = this._window) == null ? void 0 : _a.focus();\n const popupClosedInterval = setInterval(() => {\n if (!this._window || this._window.closed) {\n this._abort.raise(new Error(\"Popup closed by user\"));\n }\n }, checkForPopupClosedInterval);\n this._disposeHandlers.add(() => clearInterval(popupClosedInterval));\n return await super.navigate(params);\n }\n close() {\n if (this._window) {\n if (!this._window.closed) {\n this._window.close();\n this._abort.raise(new Error(\"Popup closed\"));\n }\n }\n this._window = null;\n }\n static notifyOpener(url, keepOpen) {\n if (!window.opener) {\n throw new Error(\"No window.opener. Can't complete notification.\");\n }\n return super._notifyParent(window.opener, url, keepOpen);\n }\n};\n\n// src/navigators/PopupNavigator.ts\nvar PopupNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"PopupNavigator\");\n }\n async prepare({\n popupWindowFeatures = this._settings.popupWindowFeatures,\n popupWindowTarget = this._settings.popupWindowTarget\n }) {\n return new PopupWindow({ popupWindowFeatures, popupWindowTarget });\n }\n async callback(url, keepOpen = false) {\n this._logger.create(\"callback\");\n PopupWindow.notifyOpener(url, keepOpen);\n }\n};\n\n// src/navigators/RedirectNavigator.ts\nvar RedirectNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"RedirectNavigator\");\n }\n async prepare({\n redirectMethod = this._settings.redirectMethod,\n redirectTarget = this._settings.redirectTarget\n }) {\n var _a;\n this._logger.create(\"prepare\");\n let targetWindow = window.self;\n if (redirectTarget === \"top\") {\n targetWindow = (_a = window.top) != null ? _a : window.self;\n }\n const redirect = targetWindow.location[redirectMethod].bind(targetWindow.location);\n let abort;\n return {\n navigate: async (params) => {\n this._logger.create(\"navigate\");\n const promise = new Promise((resolve, reject) => {\n abort = reject;\n });\n redirect(params.url);\n return await promise;\n },\n close: () => {\n this._logger.create(\"close\");\n abort == null ? void 0 : abort(new Error(\"Redirect aborted\"));\n targetWindow.stop();\n }\n };\n }\n};\n\n// src/UserManagerEvents.ts\nvar UserManagerEvents = class extends AccessTokenEvents {\n constructor(settings) {\n super({ expiringNotificationTimeInSeconds: settings.accessTokenExpiringNotificationTimeInSeconds });\n this._logger = new Logger(\"UserManagerEvents\");\n this._userLoaded = new Event(\"User loaded\");\n this._userUnloaded = new Event(\"User unloaded\");\n this._silentRenewError = new Event(\"Silent renew error\");\n this._userSignedIn = new Event(\"User signed in\");\n this._userSignedOut = new Event(\"User signed out\");\n this._userSessionChanged = new Event(\"User session changed\");\n }\n load(user, raiseEvent = true) {\n super.load(user);\n if (raiseEvent) {\n this._userLoaded.raise(user);\n }\n }\n unload() {\n super.unload();\n this._userUnloaded.raise();\n }\n addUserLoaded(cb) {\n return this._userLoaded.addHandler(cb);\n }\n removeUserLoaded(cb) {\n return this._userLoaded.removeHandler(cb);\n }\n addUserUnloaded(cb) {\n return this._userUnloaded.addHandler(cb);\n }\n removeUserUnloaded(cb) {\n return this._userUnloaded.removeHandler(cb);\n }\n addSilentRenewError(cb) {\n return this._silentRenewError.addHandler(cb);\n }\n removeSilentRenewError(cb) {\n return this._silentRenewError.removeHandler(cb);\n }\n _raiseSilentRenewError(e) {\n this._silentRenewError.raise(e);\n }\n addUserSignedIn(cb) {\n return this._userSignedIn.addHandler(cb);\n }\n removeUserSignedIn(cb) {\n this._userSignedIn.removeHandler(cb);\n }\n _raiseUserSignedIn() {\n this._userSignedIn.raise();\n }\n addUserSignedOut(cb) {\n return this._userSignedOut.addHandler(cb);\n }\n removeUserSignedOut(cb) {\n this._userSignedOut.removeHandler(cb);\n }\n _raiseUserSignedOut() {\n this._userSignedOut.raise();\n }\n addUserSessionChanged(cb) {\n return this._userSessionChanged.addHandler(cb);\n }\n removeUserSessionChanged(cb) {\n this._userSessionChanged.removeHandler(cb);\n }\n _raiseUserSessionChanged() {\n this._userSessionChanged.raise();\n }\n};\n\n// src/SilentRenewService.ts\nvar SilentRenewService = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SilentRenewService\");\n this._isStarted = false;\n this._retryTimer = new Timer(\"Retry Silent Renew\");\n this._tokenExpiring = async () => {\n const logger2 = this._logger.create(\"_tokenExpiring\");\n try {\n await this._userManager.signinSilent();\n logger2.debug(\"silent token renewal successful\");\n } catch (err) {\n if (err instanceof ErrorTimeout) {\n logger2.warn(\"ErrorTimeout from signinSilent:\", err, \"retry in 5s\");\n this._retryTimer.init(5);\n return;\n }\n logger2.error(\"Error from signinSilent:\", err);\n this._userManager.events._raiseSilentRenewError(err);\n }\n };\n }\n async start() {\n const logger2 = this._logger.create(\"start\");\n if (!this._isStarted) {\n this._isStarted = true;\n this._userManager.events.addAccessTokenExpiring(this._tokenExpiring);\n this._retryTimer.addHandler(this._tokenExpiring);\n try {\n await this._userManager.getUser();\n } catch (err) {\n logger2.error(\"getUser error\", err);\n }\n }\n }\n stop() {\n if (this._isStarted) {\n this._retryTimer.cancel();\n this._retryTimer.removeHandler(this._tokenExpiring);\n this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring);\n this._isStarted = false;\n }\n }\n};\n\n// src/RefreshState.ts\nvar RefreshState = class {\n constructor(args) {\n this.refresh_token = args.refresh_token;\n this.id_token = args.id_token;\n this.session_state = args.session_state;\n this.scope = args.scope;\n this.data = args.state;\n }\n};\n\n// src/UserManager.ts\nvar UserManager = class {\n constructor(settings) {\n this._logger = new Logger(\"UserManager\");\n this.settings = new UserManagerSettingsStore(settings);\n this._client = new OidcClient(settings);\n this._redirectNavigator = new RedirectNavigator(this.settings);\n this._popupNavigator = new PopupNavigator(this.settings);\n this._iframeNavigator = new IFrameNavigator(this.settings);\n this._events = new UserManagerEvents(this.settings);\n this._silentRenewService = new SilentRenewService(this);\n if (this.settings.automaticSilentRenew) {\n this.startSilentRenew();\n }\n this._sessionMonitor = null;\n if (this.settings.monitorSession) {\n this._sessionMonitor = new SessionMonitor(this);\n }\n }\n get events() {\n return this._events;\n }\n get metadataService() {\n return this._client.metadataService;\n }\n async getUser() {\n const logger2 = this._logger.create(\"getUser\");\n const user = await this._loadUser();\n if (user) {\n logger2.info(\"user loaded\");\n this._events.load(user, false);\n return user;\n }\n logger2.info(\"user not found in storage\");\n return null;\n }\n async removeUser() {\n const logger2 = this._logger.create(\"removeUser\");\n await this.storeUser(null);\n logger2.info(\"user removed from storage\");\n this._events.unload();\n }\n async signinRedirect(args = {}) {\n this._logger.create(\"signinRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signinStart({\n request_type: \"si:r\",\n ...requestArgs\n }, handle);\n }\n async signinRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinRedirectCallback\");\n const user = await this._signinEnd(url);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n async signinPopup(args = {}) {\n const logger2 = this._logger.create(\"signinPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n ...requestArgs\n } = args;\n const url = this.settings.popup_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No popup_redirect_uri configured\"));\n }\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget });\n const user = await this._signin({\n request_type: \"si:p\",\n redirect_uri: url,\n display: \"popup\",\n ...requestArgs\n }, handle);\n if (user) {\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n async signinPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signinPopupCallback\");\n await this._popupNavigator.callback(url, keepOpen);\n logger2.info(\"success\");\n }\n async signinSilent(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signinSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n let user = await this._loadUser();\n if (user == null ? void 0 : user.refresh_token) {\n logger2.debug(\"using refresh token\");\n const state = new RefreshState(user);\n return await this._useRefreshToken(state);\n }\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n let verifySub;\n if (user && this.settings.validateSubOnSilentRenew) {\n logger2.debug(\"subject prior to silent renew:\", user.profile.sub);\n verifySub = user.profile.sub;\n }\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n user = await this._signin({\n request_type: \"si:s\",\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n ...requestArgs\n }, handle, verifySub);\n if (user) {\n if ((_a = user.profile) == null ? void 0 : _a.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n async _useRefreshToken(state) {\n const response = await this._client.useRefreshToken({\n state,\n timeoutInSeconds: this.settings.silentRequestTimeoutInSeconds\n });\n const user = new User({ ...state, ...response });\n await this.storeUser(user);\n this._events.load(user);\n return user;\n }\n async signinSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n async signinCallback(url = window.location.href) {\n const { state } = await this._client.readSigninResponseState(url);\n switch (state.request_type) {\n case \"si:r\":\n return await this.signinRedirectCallback(url);\n case \"si:p\":\n return await this.signinPopupCallback(url);\n case \"si:s\":\n return await this.signinSilentCallback(url);\n default:\n throw new Error(\"invalid response_type in state\");\n }\n }\n async signoutCallback(url = window.location.href, keepOpen = false) {\n const { state } = await this._client.readSignoutResponseState(url);\n if (!state) {\n return;\n }\n switch (state.request_type) {\n case \"so:r\":\n await this.signoutRedirectCallback(url);\n break;\n case \"so:p\":\n await this.signoutPopupCallback(url, keepOpen);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n }\n async querySessionStatus(args = {}) {\n const logger2 = this._logger.create(\"querySessionStatus\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n const user = await this._loadUser();\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n const navResponse = await this._signinStart({\n request_type: \"si:s\",\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n response_type: this.settings.query_status_response_type,\n scope: \"openid\",\n skipUserInfo: true,\n ...requestArgs\n }, handle);\n try {\n const signinResponse = await this._client.processSigninResponse(navResponse.url);\n logger2.debug(\"got signin response\");\n if (signinResponse.session_state && signinResponse.profile.sub) {\n logger2.info(\"success for subject\", signinResponse.profile.sub);\n return {\n session_state: signinResponse.session_state,\n sub: signinResponse.profile.sub,\n sid: signinResponse.profile.sid\n };\n }\n logger2.info(\"success, user not authenticated\");\n return null;\n } catch (err) {\n if (this.settings.monitorAnonymousSession && err instanceof ErrorResponse) {\n switch (err.error) {\n case \"login_required\":\n case \"consent_required\":\n case \"interaction_required\":\n case \"account_selection_required\":\n logger2.info(\"success for anonymous user\");\n return {\n session_state: err.session_state\n };\n }\n }\n throw err;\n }\n }\n async _signin(args, handle, verifySub) {\n const navResponse = await this._signinStart(args, handle);\n return await this._signinEnd(navResponse.url, verifySub);\n }\n async _signinStart(args, handle) {\n const logger2 = this._logger.create(\"_signinStart\");\n try {\n const signinRequest = await this._client.createSigninRequest(args);\n logger2.debug(\"got signin request\");\n return await handle.navigate({\n url: signinRequest.url,\n state: signinRequest.state.id,\n response_mode: signinRequest.state.response_mode,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signinEnd(url, verifySub) {\n const logger2 = this._logger.create(\"_signinEnd\");\n const signinResponse = await this._client.processSigninResponse(url);\n logger2.debug(\"got signin response\");\n const user = new User(signinResponse);\n if (verifySub) {\n if (verifySub !== user.profile.sub) {\n logger2.debug(\"current user does not match user returned from signin. sub from signin:\", user.profile.sub);\n throw new ErrorResponse({ ...signinResponse, error: \"login_required\" });\n }\n logger2.debug(\"current user matches user returned from signin\");\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n this._events.load(user);\n return user;\n }\n async signoutRedirect(args = {}) {\n const logger2 = this._logger.create(\"signoutRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signoutStart({\n request_type: \"so:r\",\n post_logout_redirect_uri: this.settings.post_logout_redirect_uri,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n async signoutRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutRedirectCallback\");\n const response = await this._signoutEnd(url);\n logger2.info(\"success\");\n return response;\n }\n async signoutPopup(args = {}) {\n const logger2 = this._logger.create(\"signoutPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n ...requestArgs\n } = args;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget });\n await this._signout({\n request_type: \"so:p\",\n post_logout_redirect_uri: url,\n state: url == null ? void 0 : {},\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n async signoutPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signoutPopupCallback\");\n await this._popupNavigator.callback(url, keepOpen);\n logger2.info(\"success\");\n }\n async _signout(args, handle) {\n const navResponse = await this._signoutStart(args, handle);\n return await this._signoutEnd(navResponse.url);\n }\n async _signoutStart(args = {}, handle) {\n var _a;\n const logger2 = this._logger.create(\"_signoutStart\");\n try {\n const user = await this._loadUser();\n logger2.debug(\"loaded current user from storage\");\n if (this.settings.revokeTokensOnSignout) {\n await this._revokeInternal(user);\n }\n const id_token = args.id_token_hint || user && user.id_token;\n if (id_token) {\n logger2.debug(\"setting id_token_hint in signout request\");\n args.id_token_hint = id_token;\n }\n await this.removeUser();\n logger2.debug(\"user removed, creating signout request\");\n const signoutRequest = await this._client.createSignoutRequest(args);\n logger2.debug(\"got signout request\");\n return await handle.navigate({\n url: signoutRequest.url,\n state: (_a = signoutRequest.state) == null ? void 0 : _a.id\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signoutEnd(url) {\n const logger2 = this._logger.create(\"_signoutEnd\");\n const signoutResponse = await this._client.processSignoutResponse(url);\n logger2.debug(\"got signout response\");\n return signoutResponse;\n }\n async revokeTokens(types) {\n const user = await this._loadUser();\n await this._revokeInternal(user, types);\n }\n async _revokeInternal(user, types = this.settings.revokeTokenTypes) {\n const logger2 = this._logger.create(\"_revokeInternal\");\n if (!user)\n return;\n const typesPresent = types.filter((type) => typeof user[type] === \"string\");\n if (!typesPresent.length) {\n logger2.debug(\"no need to revoke due to no token(s)\");\n return;\n }\n for (const type of typesPresent) {\n await this._client.revokeToken(\n user[type],\n type\n );\n logger2.info(`${type} revoked successfully`);\n if (type !== \"access_token\") {\n user[type] = null;\n }\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n this._events.load(user);\n }\n startSilentRenew() {\n this._logger.create(\"startSilentRenew\");\n void this._silentRenewService.start();\n }\n stopSilentRenew() {\n this._silentRenewService.stop();\n }\n get _userStoreKey() {\n return `user:${this.settings.authority}:${this.settings.client_id}`;\n }\n async _loadUser() {\n const logger2 = this._logger.create(\"_loadUser\");\n const storageString = await this.settings.userStore.get(this._userStoreKey);\n if (storageString) {\n logger2.debug(\"user storageString loaded\");\n return User.fromStorageString(storageString);\n }\n logger2.debug(\"no user storageString\");\n return null;\n }\n async storeUser(user) {\n const logger2 = this._logger.create(\"storeUser\");\n if (user) {\n logger2.debug(\"storing user\");\n const storageString = user.toStorageString();\n await this.settings.userStore.set(this._userStoreKey, storageString);\n } else {\n this._logger.debug(\"removing user\");\n await this.settings.userStore.remove(this._userStoreKey);\n }\n }\n async clearStaleState() {\n await this._client.clearStaleState();\n }\n};\n\n// package.json\nvar version = \"2.0.6\";\n\n// src/Version.ts\nvar Version = version;\nexport {\n AccessTokenEvents,\n CheckSessionIFrame,\n ErrorResponse,\n ErrorTimeout,\n InMemoryWebStorage,\n Log,\n Logger,\n MetadataService,\n OidcClient,\n OidcClientSettingsStore,\n SessionMonitor,\n SigninResponse,\n SigninState,\n SignoutResponse,\n State,\n User,\n UserManager,\n UserManagerSettingsStore,\n Version,\n WebStorageStateStore\n};\n//# sourceMappingURL=oidc-client-ts.js.map\n","import * as axios from 'axios';\r\nimport * as Oidc from 'oidc-client-ts';\r\n\r\nconst opt = window.TgLoginOptions || {};\r\n\r\nconst accountBaseUrl = opt.baseUrl || 'https://account.tenen.local';\r\nconst siteId = opt.siteId || 50;\r\nconst subfolder = opt.subfolder || '';\r\nconst subfolderName = subfolder == '' ? '' : subfolder.substring(1);\r\nconst challengeUrl = opt.challengeUrl || 'tg_challenge';\r\nconst fbRedirectUrl = opt.fbRedirectUrl || subfolder + '/tg_auth_done';\r\nconst signOutUrl = opt.signOutUrl || 'tg_signout';\r\nconst clientId = opt.clientId + '_js';\r\nconst postLoginHook = opt.postLoginHook || (() => {});\r\nconst postSignOutHook = opt.postSignOutHook || (() => {});\r\n\r\nlet silentIframe;\r\nlet popupWindow;\r\n\r\nlet oidcSigninWasCalled = false;\r\n\r\nwindow.Oidc = Oidc;\r\n\r\nconst settings = {\r\n authority: opt.baseUrl,\r\n client_id: clientId,\r\n response_type: 'code',\r\n scope: 'openid profile email account.manage',\r\n \r\n redirect_uri: window.location.origin + subfolder + '/authorization-code/js_callback',\r\n silent_redirect_uri: window.location.origin + subfolder + '/authorization-code/js_callback',\r\n automaticSilentRenew: true,\r\n\r\n filterProtocolClaims: true,\r\n loadUserInfo: true\r\n};\r\n\r\nconst mgr = new Oidc.UserManager(settings);\r\n\r\n//Cookie management\r\nconst hintCookie = \"TgAccountHint\" + subfolderName;\r\nconst setCookie = (name,value) => {\r\n var path = subfolder == '' ? '/' : subfolder;\r\n document.cookie = `${name}=${value}; path=${path}`;\r\n};\r\nconst getCookie = (name) => {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n};\r\nconst eraseCookie = (name) => { \r\n var path = subfolder == '' ? '/' : subfolder;\r\n document.cookie = `${name}=; Path=${path}; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\r\n};\r\n//Hint is a special cookie helping SSR to prerender AUTH state of components\r\nconst ensureHintExists = (force) => {\r\n if (!getCookie(hintCookie) || force) {\r\n return getUser().then(r => {\r\n setCookie(hintCookie, encodeURIComponent(btoa(encodeURIComponent(`${r.profile.given_name}|${r.profile.family_name}`))));\r\n });\r\n }\r\n};\r\nconst eraseHint = () => {\r\n if (getCookie(hintCookie)) {\r\n eraseCookie(hintCookie);\r\n }\r\n};\r\n//end of cookie management\r\n\r\nconst ax = axios.create({\r\n baseURL: `${accountBaseUrl}/api/`,\r\n timeout: 60000, //1 min\r\n withCredentials: true\r\n});\r\n\r\nconst fail = (errorMessage) => {\r\n console.log(errorMessage);\r\n return Promise.reject({\r\n errorCode: 0,\r\n errorMessage\r\n });\r\n};\r\n\r\nconst failWithBackend = (data) => {\r\n console.log(data.errorMessage);\r\n return Promise.reject(data);\r\n};\r\n\r\nlet resolveAuth;\r\nlet rejectAuth;\r\n\r\nconst tryInvokeAuthPromise = (func) => {\r\n if (!func) {\r\n console.log('TgLogin: auth promise is broken');\r\n }\r\n\r\n func();\r\n}\r\n\r\nwindow.addEventListener('message', function(e){\r\n if (e.origin !== location.origin) {\r\n return;\r\n }\r\n \r\n if (e.source === popupWindow) {\r\n popupWindow.close();\r\n }\r\n \r\n if ((silentIframe && e.source === silentIframe.contentWindow) ||\r\n (e.source === popupWindow)) {\r\n if (e.data.indexOf('access_denied') < 0) {\r\n tryInvokeAuthPromise(resolveAuth);\r\n }\r\n else {\r\n tryInvokeAuthPromise(rejectAuth);\r\n }\r\n }\r\n}, false);\r\n\r\nconst isLoggedInAuthority = () => {\r\n return ax.get(`islogged`)\r\n .then(res => res.data)\r\n .catch(() => fail('TgLogin.isLoggedIn: Backend error'));\r\n};\r\n\r\nconst ensureSessionSync = (isLoggedOnAuthority) => {\r\n return axios.get('api/account/islogged')\r\n .catch(() => ({ data: false }))\r\n .then(res => {\r\n if (isLoggedOnAuthority && !res.data) {\r\n return silentRefresh();\r\n }\r\n if (!isLoggedOnAuthority && res.data) {\r\n return new Promise((resolve) => {\r\n resolveAuth = () => {\r\n resolve();\r\n };\r\n ensureSilentIFrameExists();\r\n silentIframe.src = signOutUrl;\r\n });\r\n }\r\n });\r\n};\r\n\r\nconst isLoggedIn = () => {\r\n if (oidcSigninWasCalled) {\r\n return mgr.getUser().then(res => (res && res.access_token) ? true : false);\r\n }\r\n else {\r\n console.log('TgLogin: init...');\r\n return isLoggedInAuthority().then(isLogged => {\r\n if (isLogged) {\r\n return mgr.signinSilent().then(() => {\r\n oidcSigninWasCalled = true;\r\n return ensureSessionSync(true).then(() => ensureHintExists()).then(() => true);\r\n })\r\n .catch(() => cleanFrontEndUserOnStart());\r\n }\r\n\r\n return cleanFrontEndUserOnStart();\r\n });\r\n }\r\n};\r\n\r\nconst cleanFrontEndUserOnStart = () => mgr.removeUser()\r\n .then(() => {\r\n oidcSigninWasCalled = true;\r\n return ensureSessionSync(false).then(() => eraseHint()).then(() => false);\r\n });\r\n\r\nconst ensureSilentIFrameExists = () => {\r\n if (!silentIframe) {\r\n silentIframe = document.createElement('iframe');\r\n silentIframe.style.display = 'none';\r\n document.body.appendChild(silentIframe);\r\n }\r\n};\r\n\r\nconst silentRefresh = () => {\r\n return new Promise((resolve, reject) => {\r\n resolveAuth = resolve;\r\n rejectAuth = reject;\r\n ensureSilentIFrameExists();\r\n silentIframe.src = challengeUrl; \r\n });\r\n};\r\n\r\nconst challengeFb = (isRerequest) => {\r\n const popUpUrl = `${accountBaseUrl}/api/challenge?provider=FB${isRerequest?'&rerequest=true':''}&returnUrl=${encodeURIComponent(location.origin + fbRedirectUrl)}`;\r\n return challenge(popUpUrl, 'fb');\r\n};\r\n\r\nconst challengeGoogle = () => {\r\n const popUpUrl = `${accountBaseUrl}/api/challenge?provider=GOOGLE&returnUrl=${encodeURIComponent(location.origin + fbRedirectUrl)}`;\r\n return challenge(popUpUrl, 'Google');\r\n};\r\n\r\nconst challenge = (popUpUrl, popupTitel) => {\r\n return new Promise((resolve, reject) => {\r\n resolveAuth = resolve;\r\n rejectAuth = reject;\r\n if (popupWindow) popupWindow.close();\r\n const params = 'scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=600,height=400,left=100,top=100';\r\n popupWindow = window.open(popUpUrl, popupTitel, params);\r\n })\r\n .then(() => isLoggedInAuthority())\r\n .then(isLogged => {\r\n if (isLogged) {\r\n return ensureClientsAuthenticated(new Promise(r => r()));\r\n }\r\n });\r\n}\r\n\r\nconst getExternalUserInfo = () => {\r\n return ax.get('external/userinfo')\r\n .then(res => res.data)\r\n .catch(() => fail('TgLogin.getExternalUserInfo: Backend error'));\r\n};\r\n\r\nconst signOut = () => {\r\n eraseHint();\r\n return new Promise((resolve, reject) => {\r\n resolveAuth = () => {\r\n ax.post('signout')\r\n .then(() => mgr.removeUser())\r\n .then(() => postSignOutHook())\r\n .then(() => resolve())\r\n .catch(() => reject({\r\n errorCode: 0,\r\n errorMessage: 'TgLogin.signOut: Backend error'\r\n }));\r\n };\r\n ensureSilentIFrameExists();\r\n silentIframe.src = signOutUrl;\r\n });\r\n};\r\n\r\nconst signIn = ({email, password}) => {\r\n return ensureClientsAuthenticated(ax.post('signin', {email, password})\r\n .then(res => res.data)\r\n .catch(res => {\r\n if (res.response.status === 400 && res.response.data.errorCode) {\r\n return failWithBackend(res.response.data);\r\n }\r\n else {\r\n return fail('TgLogin.signIn: Backend error')\r\n }\r\n }));\r\n};\r\n\r\nconst authBackendAndFrontend = () => {\r\n const beAuth = silentRefresh();\r\n const feAuth = mgr.signinSilent();\r\n return Promise.all([beAuth, feAuth]);\r\n};\r\n\r\nconst ensureClientsAuthenticated = (authPromise) => {\r\n const authStep = authPromise\r\n .then(() => authBackendAndFrontend())\r\n .then(() => {\r\n var hint = ensureHintExists();\r\n var postLogin = axios.post(subfolder + '/api/account/postlogin').then((data) => postLoginHook(data));\r\n return Promise.all([hint, postLogin]);\r\n });\r\n\r\n return Promise.all([authPromise, authStep]).then(([result]) => result).catch(data => data);\r\n};\r\n\r\nconst signUpInternal = ({url, email, password, firstName, lastName, isSendNews, referallId}) => {\r\n return ensureClientsAuthenticated(ax.post(url, {\r\n email,\r\n password,\r\n firstName,\r\n lastName,\r\n isSubscribedToNewsletter: isSendNews,\r\n siteId,\r\n referralId: referallId\r\n })\r\n .then(res => res.data)\r\n .catch(res => {\r\n if (res.response.status === 400 && res.response.data.errorCode) {\r\n return failWithBackend(res.response.data);\r\n }\r\n else {\r\n return fail('TgLogin.signUpInternal: Backend error')\r\n }\r\n }));\r\n};\r\n\r\nconst signUp = (data) => {\r\n return signUpInternal({url: 'signup', ...data});\r\n};\r\n\r\nconst signUpExternal = (data) => {\r\n return signUpInternal({url: 'external/signup', ...data});\r\n}\r\n\r\nconst silentCallback = () => {\r\n (window.opener || window.parent).postMessage(window.location.href, location.origin);\r\n}\r\n\r\nconst forgotPassword = ({email, returnUrl}) => {\r\n return ax.post('forgot_password', {email, absoluteReturnUrl: returnUrl})\r\n .then(res => res.data)\r\n .catch(res => {\r\n if (res.response.status === 400 && res.response.data.errorCode) {\r\n return failWithBackend(res.response.data);\r\n }\r\n else {\r\n return fail('TgLogin.forgotPassword: Backend error')\r\n }\r\n });\r\n};\r\n\r\nconst validateForgotPassword = ({accountId, token}) => {\r\n return ax.post('forgot_password/token/validate', {accountId, token})\r\n .then(res => res.data)\r\n .catch(res => {\r\n if (res.response.status === 400 && res.response.data.errorCode) {\r\n return failWithBackend(res.response.data);\r\n }\r\n else {\r\n return fail('TgLogin.validateForgotPassword: Backend error')\r\n }\r\n });\r\n};\r\n\r\nconst resetForgottenPassword = ({accountId, token, password}) => {\r\n return ax.post('forgot_password/reset', {accountId, token, password})\r\n .then(res => res.data)\r\n .catch(res => {\r\n if (res.response.status === 400 && res.response.data.errorCode) {\r\n return failWithBackend(res.response.data);\r\n }\r\n else {\r\n return fail('TgLogin.resetForgottenPassword: Backend error')\r\n }\r\n });\r\n};\r\n\r\nconst getUser = () => {\r\n return mgr.getUser().then(res => ({\r\n access_token: res.access_token,\r\n profile: res.profile\r\n }));\r\n};\r\n\r\nconst forceUserUpdate = () => {\r\n return mgr.signinSilent().then(() => ensureHintExists(true)).then(() => getUser());\r\n};\r\n\r\nwindow.TgLogin = {\r\n 'internal_do_not_use': {\r\n silentRefresh,\r\n oidcUserManager: mgr,\r\n silentCallback\r\n },\r\n errorCodes: {\r\n invalidCreds: 100,\r\n accountAlreadyExists: 200,\r\n accountValidationFailed: 300,\r\n accountNotFound: 400,\r\n tokenNotValid: 500\r\n },\r\n isLoggedIn,\r\n challengeFb,\r\n challengeGoogle,\r\n getExternalUserInfo,\r\n signIn,\r\n signUp,\r\n signUpExternal,\r\n signOut,\r\n getUser,\r\n forceUserUpdate,\r\n forgotPassword,\r\n validateForgotPassword,\r\n resetForgottenPassword\r\n};\r\n"],"names":["module","exports","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","isFormData","isBlob","isFile","type","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","status","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","e","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","interceptors","arguments","chain","interceptor","unshift","fulfilled","rejected","push","length","shift","getUri","replace","handlers","use","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","error","Error","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","isAxiosError","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","call","isArrayBuffer","isBuffer","isStream","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","parse","maxContentLength","maxBodyLength","thisArg","args","Array","i","apply","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","isString","document","match","RegExp","decodeURIComponent","remove","now","test","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","trim","substr","callback","arr","getPrototypeOf","isFunction","obj","l","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","result","assignValue","a","b","str","stripBOM","content","charCodeAt","isCallable","tryToString","$TypeError","argument","$String","String","wellKnownSymbol","defineProperty","UNSCOPABLES","ArrayPrototype","configurable","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","index","includes","uncurryThis","stringSlice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","f","getOwnPropertyDescriptor","fails","F","IteratorPrototype","createPropertyDescriptor","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","TO_STRING_TAG","DESCRIPTORS","object","bitmap","enumerable","writable","makeBuiltIn","defineGlobalProperty","options","simple","global","unsafe","nonConfigurable","nonWritable","$","IS_PURE","FunctionName","createIteratorConstructor","setPrototypeOf","createNonEnumerableProperty","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","proto","forced","get","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","getBuiltIn","version","Deno","versions","v8","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","sham","exec","NATIVE_BIND","Function","FunctionPrototype","getDescriptor","aFunction","namespace","aCallable","V","P","func","check","Math","globalThis","self","g","toObject","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","ceil","floor","trunc","x","n","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","style","display","appendChild","src","contentWindow","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","props","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","getOwnPropertyNames","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","__proto__","input","pref","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","TAG","uid","SHARED","mode","copyright","license","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","addToUnscopables","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","kind","done","Arguments","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","CryptoJS","crypto","msCrypto","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","subtype","C","C_lib","lib","Base","overrides","mixIn","init","$super","properties","propertyName","clone","WordArray","words","sigBytes","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","j","nBytes","C_enc","enc","hexChars","bite","hexStr","hexStrLength","parseInt","Latin1","latin1Chars","fromCharCode","latin1Str","latin1StrLength","Utf8","escape","utf8Str","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","nBlocksReady","nWordsReady","_minBufferSize","nBytesReady","offset","_doProcessBlock","splice","C_algo","Hasher","cfg","_doReset","update","messageUpdate","finalize","_doFinalize","_createHelper","hasher","_createHmacHelper","HMAC","algo","Base64","map","_map","base64Chars","triplet","paddingChar","base64Str","base64StrLength","reverseMap","_reverseMap","paddingIndex","bitsCombined","parseLoop","H","K","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","pow","W","SHA256","_hash","M","d","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","t1","nBitsTotal","nBitsLeft","HmacSHA256","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","r","toStringTag","atob","t","level","logger","Log2","nopLogger","debug","info","warn","Log","setLevel","setLogger","Logger","_name","_format","_method","throw","methodLogger","static","staticMethod","staticLogger","prefix","CryptoUtils","_randomWord","generateUUIDv4","code_verifier","hashed","sha256","client_id","client_secret","basicAuth","Event","_logger","_callbacks","addHandler","cb","removeHandler","idx","lastIndexOf","raise","ev","JwtUtils","header","PopupUtils","features","_a","width","find","outerWidth","left","round","screenX","height","top","screenY","outerHeight","Timer","super","_timerHandle","_expiration","_callback","diff","getEpochTime","durationInSeconds","logger2","expiration","timerDurationInSeconds","setInterval","clearInterval","UrlUtils","responseMode","URL","origin","ErrorResponse","form","_b","_c","error_description","error_uri","userState","session_state","ErrorTimeout","AccessTokenEvents","_expiringTimer","_expiredTimer","_expiringNotificationTimeInSeconds","expiringNotificationTimeInSeconds","load","container","access_token","expires_in","duration","expiring","expired","unload","addAccessTokenExpiring","removeAccessTokenExpiring","addAccessTokenExpired","removeAccessTokenExpired","CheckSessionIFrame","_client_id","_intervalInSeconds","_stopOnError","_timer","_session_state","_message","_frame_origin","_frame","stop","parsedUrl","visibility","position","onload","body","start","postMessage","InMemoryWebStorage","clear","getItem","setItem","removeItem","JsonService","additionalContentTypes","_jwtHandler","_contentTypes","async","timeoutInSeconds","initFetch","fetch","controller","AbortController","timeoutId","setTimeout","signal","DOMException","clearTimeout","fetchWithTimeout","contentType","item","startsWith","ok","text","json","initCredentials","credentials","MetadataService","_settings","_jsonService","_signingKeys","_metadata","_metadataUrl","metadataUrl","signingKeys","resetSigningKeys","getJson","assign","metadataSeed","getIssuer","_getMetadataProperty","getAuthorizationEndpoint","getUserInfoEndpoint","getTokenEndpoint","optional","getCheckSessionIframe","getEndSessionEndpoint","getRevocationEndpoint","getKeysEndpoint","getMetadata","jwks_uri","keySet","WebStorageStateStore","localStorage","_store","_prefix","getAllKeys","OidcClientSettingsStore","authority","response_type","scope","redirect_uri","post_logout_redirect_uri","client_authentication","prompt","max_age","ui_locales","acr_values","resource","response_mode","filterProtocolClaims","loadUserInfo","staleStateAgeInSeconds","clockSkewInSeconds","userInfoJwtIssuer","mergeClaims","stateStore","refreshTokenCredentials","extraQueryParams","extraTokenParams","endsWith","TokenClient","_metadataService","grant_type","generateBasicAuth","append","postForm","refresh_token","token_type_hint","ProtocolClaims","State","created","request_type","toStorageString","storageString","createStatic","storage","age","cutoff","fromStorageString","SigninState","generateCodeVerifier","code_challenge","generateCodeChallenge","skipUserInfo","SigninResponse","token_type","profile","expires_at","Number","isOpenId","id_token","SignoutResponse","OidcClient","settings","metadataService","_validator","_userInfoService","_getClaimsFromJwt","payload","decode","claims","_tokenClient","_processSigninState","_processCode","_validateIdTokenAttributes","_processClaims","hasIdToken","validateSignoutResponse","validateSub","_filterProtocolClaims","getClaims","sub","_mergeClaims","claims1","claims2","claim","previousValue","tokenResponse","exchangeCode","currentToken","auth_time","azp","request_uri","id_token_hint","login_hint","nonce","signinRequest","state_data","optionalParams","searchParams","clearStaleState","signinState","removeState","readParams","storedStateString","readSigninResponseState","validateSigninResponse","exchangeRefreshToken","validateRefreshResponse","signoutState","readSignoutResponseState","revoke","SessionMonitor","_userManager","_start","user","_sub","_sid","sid","_checkSessionIFrame","intervalInSeconds","checkSessionIntervalInSeconds","stopOnError","stopCheckSessionOnError","checkSessionIFrame","_stop","monitorAnonymousSession","timerHandle","session","querySessionStatus","tmpUser","raiseEvent","events","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","addUserLoaded","addUserUnloaded","_init","catch","getUser","User","scopes","messageSource","AbstractChildWindow","_abort","_disposeHandlers","Set","_window","keepOpen","listener","scriptOrigin","_dispose","add","removeEventListener","dispose","parent","targetOrigin","DefaultPopupWindowFeatures","toolbar","DefaultPopupTarget","DefaultAccessTokenExpiringNotificationTimeInSeconds","DefaultCheckSessionIntervalInSeconds","DefaultSilentRequestTimeoutInSeconds","UserManagerSettingsStore","popup_redirect_uri","popup_post_logout_redirect_uri","popupWindowFeatures","popupWindowTarget","redirectMethod","redirectTarget","iframeNotifyParentOrigin","iframeScriptOrigin","silent_redirect_uri","silentRequestTimeoutInSeconds","automaticSilentRenew","validateSubOnSilentRenew","includeIdTokenInSilentRenew","monitorSession","query_status_response_type","revokeTokenTypes","revokeTokensOnSignout","accessTokenExpiringNotificationTimeInSeconds","userStore","sessionStorage","IFrameWindow","_timeoutInSeconds","createHiddenIframe","timer","navigate","parentNode","_a2","frame","removeChild","_notifyParent","PopupWindow","centeredPopup","center","serialize","focus","popupClosedInterval","closed","opener","UserManagerEvents","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","removeUserLoaded","removeUserUnloaded","addSilentRenewError","removeSilentRenewError","_raiseSilentRenewError","addUserSignedIn","removeUserSignedIn","addUserSignedOut","removeUserSignedOut","addUserSessionChanged","removeUserSessionChanged","UserManager","_client","_redirectNavigator","targetWindow","redirect","_popupNavigator","notifyOpener","_iframeNavigator","notifyParent","_events","_silentRenewService","_isStarted","_retryTimer","_tokenExpiring","signinSilent","startSilentRenew","_sessionMonitor","_loadUser","storeUser","requestArgs","handle","prepare","_signinStart","_signinEnd","_signin","_useRefreshToken","verifySub","useRefreshToken","signinRedirectCallback","signinPopupCallback","signinSilentCallback","signoutRedirectCallback","signoutPopupCallback","navResponse","signinResponse","processSigninResponse","createSigninRequest","_signoutStart","_signoutEnd","_signout","_revokeInternal","removeUser","signoutRequest","createSignoutRequest","signoutResponse","processSignoutResponse","types","typesPresent","revokeToken","stopSilentRenew","_userStoreKey","Version","opt","TgLoginOptions","accountBaseUrl","baseUrl","siteId","subfolder","subfolderName","substring","challengeUrl","fbRedirectUrl","signOutUrl","clientId","postLoginHook","postSignOutHook","silentIframe","popupWindow","oidcSigninWasCalled","Oidc","mgr","hintCookie","getCookie","nameEQ","ca","ensureHintExists","force","given_name","family_name","eraseHint","ax","fail","errorMessage","console","log","errorCode","failWithBackend","resolveAuth","rejectAuth","tryInvokeAuthPromise","isLoggedInAuthority","res","ensureSessionSync","isLoggedOnAuthority","silentRefresh","ensureSilentIFrameExists","cleanFrontEndUserOnStart","challenge","popUpUrl","popupTitel","isLogged","ensureClientsAuthenticated","authPromise","authStep","beAuth","feAuth","authBackendAndFrontend","hint","postLogin","post","signUpInternal","email","firstName","lastName","isSendNews","referallId","isSubscribedToNewsletter","referralId","TgLogin","oidcUserManager","silentCallback","errorCodes","invalidCreds","accountAlreadyExists","accountValidationFailed","accountNotFound","tokenNotValid","isLoggedIn","challengeFb","isRerequest","challengeGoogle","getExternalUserInfo","signIn","signUp","signUpExternal","signOut","forceUserUpdate","forgotPassword","returnUrl","absoluteReturnUrl","validateForgotPassword","accountId","resetForgottenPassword"],"sourceRoot":""}