@descope/web-component 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{debugger-wc-37141c4a.js → debugger-wc-258e799f.js} +2 -1
- package/dist/esm/debugger-wc-258e799f.js.map +1 -0
- package/dist/esm/index-22283759.js +3 -0
- package/dist/esm/index-22283759.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -0
- package/package.json +2 -2
- package/dist/esm/index-9bccbb90.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-22283759.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/constants/index.ts","../../src/lib/types.ts","../../src/lib/helpers/helpers.ts","../../src/lib/helpers/state.ts","../../src/lib/helpers/templates.ts","../../src/lib/helpers/webauthn.ts","../../src/lib/helpers/conditions.ts","../../node_modules/jwt-decode/build/jwt-decode.esm.js","../../node_modules/lodash.get/index.js","../../node_modules/@descope/core-js-sdk/dist/index.esm.js","../../node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","../../node_modules/js-cookie/dist/js.cookie.mjs","../../node_modules/@descope/web-js-sdk/dist/index.esm.js","../../src/lib/descope-wc/initTemplate.ts","../../src/lib/descope-wc/BaseDescopeWc.ts","../../src/lib/descope-wc/DescopeWc.ts","../../src/lib/helpers/lastAuth.ts","../../src/lib/descope-wc/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","const BASE_CONTENT_URL_KEY = 'base.content.url';\nexport const IS_LOCAL_STORAGE = typeof localStorage !== 'undefined';\nexport const BASE_CONTENT_URL =\n\t(IS_LOCAL_STORAGE && localStorage.getItem(BASE_CONTENT_URL_KEY)) ||\n\t'https://static.descope.com/pages';\nexport const URL_RUN_IDS_PARAM_NAME = 'descope-login-flow';\nexport const URL_TOKEN_PARAM_NAME = 't';\nexport const URL_CODE_PARAM_NAME = 'code';\nexport const URL_ERR_PARAM_NAME = 'err';\nexport const DESCOPE_ATTRIBUTE_PREFIX = 'data-descope-';\nexport const DESCOPE_ATTRIBUTE_EXCLUDE_FIELD = 'data-exclude-field';\nexport const DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY = 'dls_last_auth';\n\nexport const ELEMENT_TYPE_ATTRIBUTE = 'data-type';\n\nexport const RESPONSE_ACTIONS = {\n\tredirect: 'redirect',\n\tpoll: 'poll',\n\twebauthnCreate: 'webauthnCreate',\n\twebauthnGet: 'webauthnGet'\n};\n\nexport const ASSETS_FOLDER = 'v2-alpha';\n\n// Those files are saved on a new folder to prevent breaking changes\nexport const THEME_FILENAME = 'theme.css';\nexport const CONFIG_FILENAME = 'config.json';\n\nexport const CUSTOM_INTERACTIONS = {\n\tsubmit: 'submit',\n\tpolling: 'polling'\n};\n","/* istanbul ignore file */\n\nimport createSdk from '@descope/web-js-sdk';\n\nexport type SdkConfig = Parameters<typeof createSdk>[0];\nexport type Sdk = ReturnType<typeof createSdk>;\n\nexport type SdkFlowNext = Sdk['flow']['next'];\n\ntype OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never;\n\nexport type FlowConfig = {\n\tstartScreenId?: string;\n};\n\nexport enum Direction {\n\tbackward = 'backward',\n\tforward = 'forward'\n}\n\nexport interface LastAuthState {\n\tloginId?: string;\n\tname?: string;\n}\n\nexport interface ScreenState {\n\terrorText?: string;\n\tinputs?: Record<string, string>;\n\tlastAuth?: LastAuthState;\n\ttotp?: { image?: string; provisionUrl?: string };\n}\n\nexport type FlowState = {\n\tflowId: string;\n\tprojectId: string;\n\tbaseUrl: string;\n\ttenant: string;\n\tstepId: string;\n\texecutionId: string;\n\taction: string;\n\tredirectTo: string;\n\tredirectUrl: string;\n\tscreenId: string;\n\tscreenState: ScreenState;\n\ttoken: string;\n\tcode: string;\n\texchangeError: string;\n\twebauthnTransactionId: string;\n\twebauthnOptions: string;\n\ttelemetryKey: string;\n};\n\nexport type StepState = {\n\tscreenState: ScreenState;\n\thtmlUrl: string;\n\tnext: NextFn;\n\tdirection: Direction | undefined;\n};\n\nexport type DebugState = {\n\tisDebug: boolean;\n};\n\nexport type NextFn = OmitFirstArg<OmitFirstArg<SdkFlowNext>>;\nexport type NextFnReturnPromiseValue = Awaited<ReturnType<NextFn>>;\n\nexport type DebuggerMessage = {\n\ttitle: string;\n\tdescription?: string;\n};\n\nexport type FlowStateUpdateFn = (state: FlowState) => void;\n\ntype Operator =\n\t| 'equal'\n\t| 'not-equal'\n\t| 'contains'\n\t| 'greater-than'\n\t| 'less-than'\n\t| 'empty'\n\t| 'not-empty'\n\t| 'is-true'\n\t| 'is-false'\n\t| 'in'\n\t| 'not-in';\n\ninterface ClientConditionResult {\n\tscreenId: string;\n\tinteractionId: string;\n}\n\nexport interface ClientCondition {\n\toperator: Operator;\n\tkey: string;\n\tmet: ClientConditionResult;\n\tunmet: ClientConditionResult;\n}\n\nexport type AutoFocusOptions = true | false | 'skipFirstScreen';\n\nexport type ThemeOptions = 'light' | 'dark' | 'os';\n\nexport type Key = 'lastAuth.loginId' | 'idpInitiated';\n\ntype CheckFunction<T> = (ctx: T) => boolean;\n\nexport type ConditionsMap<T> = {\n\t[key in Key]: {\n\t\t[operator in Operator]?: CheckFunction<T>;\n\t};\n};\n\nexport interface Context {\n\tloginId?: string;\n\tcode?: string;\n}\n","import {\n\tASSETS_FOLDER,\n\tBASE_CONTENT_URL,\n\tDESCOPE_ATTRIBUTE_PREFIX,\n\tURL_CODE_PARAM_NAME,\n\tURL_ERR_PARAM_NAME,\n\tURL_RUN_IDS_PARAM_NAME,\n\tURL_TOKEN_PARAM_NAME\n} from '../constants';\nimport { AutoFocusOptions, Direction } from '../types';\n\nfunction getUrlParam(paramName: string) {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\n\treturn urlParams.get(paramName);\n}\n\nfunction getFlowUrlParam() {\n\treturn getUrlParam(URL_RUN_IDS_PARAM_NAME);\n}\n\nfunction setFlowUrlParam(id: string) {\n\tif (window.history.pushState && id !== getFlowUrlParam()) {\n\t\tconst newUrl = new URL(window.location.href);\n\t\tconst search = new URLSearchParams(newUrl.search);\n\t\tsearch.set(URL_RUN_IDS_PARAM_NAME, id);\n\t\tnewUrl.search = search.toString();\n\t\twindow.history.pushState({}, '', newUrl.toString());\n\t}\n}\n\nfunction resetUrlParam(paramName: string) {\n\tif (window.history.replaceState && getUrlParam(paramName)) {\n\t\tconst newUrl = new URL(window.location.href);\n\t\tconst search = new URLSearchParams(newUrl.search);\n\t\tsearch.delete(paramName);\n\t\tnewUrl.search = search.toString();\n\t\twindow.history.replaceState({}, '', newUrl.toString());\n\t}\n}\n\nexport async function fetchContent<T extends 'text' | 'json'>(\n\turl: string,\n\treturnType: T\n): Promise<{\n\tbody: T extends 'json' ? Record<string, any> : string;\n\theaders: Record<string, string>;\n}> {\n\tconst res = await fetch(url, { cache: 'default' });\n\tif (!res.ok) {\n\t\t// eslint-disable-next-line no-console\n\t\tthrow Error(`Error fetching URL ${url}`);\n\t}\n\n\treturn {\n\t\tbody: await res[returnType || 'text'](),\n\t\theaders: Object.fromEntries(res.headers.entries())\n\t};\n}\n\nconst pathJoin = (...paths: string[]) => paths.join('/').replace(/\\/+/g, '/'); // preventing duplicate separators\n\nexport function getContentUrl(projectId: string, filename: string) {\n\tconst url = new URL(BASE_CONTENT_URL);\n\turl.pathname = pathJoin(url.pathname, projectId, ASSETS_FOLDER, filename);\n\n\treturn url.toString();\n}\n\nexport function getAnimationDirection(currentIdx: number, prevIdx: number) {\n\tif (Number.isNaN(currentIdx) || Number.isNaN(prevIdx)) return undefined;\n\tif (currentIdx > prevIdx) return Direction.forward;\n\tif (currentIdx < prevIdx) return Direction.backward;\n\treturn undefined;\n}\n\nexport const getRunIdsFromUrl = () => {\n\tconst [executionId = '', stepId = ''] = (getFlowUrlParam() || '').split('_');\n\n\treturn { executionId, stepId };\n};\n\nexport const setRunIdsOnUrl = (executionId: string, stepId: string) => {\n\tsetFlowUrlParam([executionId, stepId].join('_'));\n};\n\nexport function clearRunIdsFromUrl() {\n\tresetUrlParam(URL_RUN_IDS_PARAM_NAME);\n}\n\nexport function getTokenFromUrl() {\n\treturn getUrlParam(URL_TOKEN_PARAM_NAME) || undefined;\n}\n\nexport function clearTokenFromUrl() {\n\tresetUrlParam(URL_TOKEN_PARAM_NAME);\n}\n\nexport function getCodeFromUrl() {\n\treturn getUrlParam(URL_CODE_PARAM_NAME) || undefined;\n}\n\nexport function getExchangeErrorFromUrl() {\n\treturn getUrlParam(URL_ERR_PARAM_NAME) || undefined;\n}\n\nexport function clearCodeFromUrl() {\n\tresetUrlParam(URL_CODE_PARAM_NAME);\n}\n\nexport function clearExchangeErrorFromUrl() {\n\tresetUrlParam(URL_ERR_PARAM_NAME);\n}\n\nexport const camelCase = (s: string) => s.replace(/-./g, (x) => x[1].toUpperCase());\n\nexport const createIsChanged =\n\t<T extends Record<string, any>>(state: T, prevState: T) =>\n\t(attrName: keyof T) =>\n\t\tstate[attrName] !== prevState[attrName];\n\n/**\n * in order to be able to run scripts that are part of the components, we are adding a script tag next to the component's element\n * in order to avoid cloning the scripts, each tag contains a ref-id and the actual scripts are placed under the \"scripts\" section\n * here we are going over the script refs, finding the actual script, generating a function out of it, binding the element to the function so we can access it from the script\n * we are returning an array of functions that can be triggered later on\n */\nexport const generateFnsFromScriptTags = (\n\ttemplate: DocumentFragment,\n\tcontext?: Record<string, string>\n) => {\n\tconst scriptFns = Array.from(template.querySelectorAll('script[data-id]')).map((script) => {\n\t\t// eslint-disable-next-line @typescript-eslint/no-implied-eval\n\t\tconst scriptId = script.getAttribute('data-id');\n\t\tconst scriptContent = template.getElementById(scriptId)?.innerHTML;\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-implied-eval\n\t\tconst fn = Function(scriptContent).bind(script.previousSibling, context);\n\t\tscript.remove();\n\n\t\treturn fn;\n\t});\n\n\ttemplate.querySelector('scripts')?.remove();\n\n\treturn scriptFns;\n};\n\nexport const getElementDescopeAttributes = (ele: HTMLElement) =>\n\tArray.from(ele?.attributes || []).reduce((acc, attr) => {\n\t\tconst descopeAttrName = new RegExp(`^${DESCOPE_ATTRIBUTE_PREFIX}(\\\\S+)$`).exec(attr.name)?.[1];\n\n\t\treturn !descopeAttrName ? acc : Object.assign(acc, { [descopeAttrName]: attr.value });\n\t}, {});\n\nexport const getFlowConfig = (config: Record<string, any>, flowId: string) =>\n\tconfig?.flows?.[flowId] || {};\n\nexport const handleUrlParams = () => {\n\tconst { executionId, stepId } = getRunIdsFromUrl();\n\tif (executionId || stepId) {\n\t\tclearRunIdsFromUrl();\n\t}\n\n\tconst token = getTokenFromUrl();\n\tif (token) {\n\t\tclearTokenFromUrl();\n\t}\n\n\tconst code = getCodeFromUrl();\n\tif (code) {\n\t\tclearCodeFromUrl();\n\t}\n\n\tconst exchangeError = getExchangeErrorFromUrl();\n\tif (exchangeError) {\n\t\tclearExchangeErrorFromUrl();\n\t}\n\n\treturn { executionId, stepId, token, code, exchangeError };\n};\n\nexport const loadFont = (url: string) => {\n\tif (!url) return;\n\n\tconst font = document.createElement('link');\n\tfont.href = url;\n\tfont.rel = 'stylesheet';\n\tdocument.head.appendChild(font);\n};\n\nconst compareArrays = (array1: any[], array2: any[]) =>\n\tarray1.length === array2.length &&\n\tarray1.every((value: any, index: number) => value === array2[index]);\n\nexport const withMemCache = <I extends any[], O>(fn: (...args: I) => O) => {\n\tlet prevArgs: any[];\n\tlet cache: any;\n\treturn (...args: I) => {\n\t\tif (prevArgs && compareArrays(prevArgs, args)) return cache as O;\n\n\t\tprevArgs = args;\n\t\tcache = fn(...args);\n\n\t\treturn cache as O;\n\t};\n};\n\nexport const handleAutoFocus = (\n\tele: HTMLElement,\n\tautoFocus: AutoFocusOptions,\n\tisFirstScreen: boolean\n) => {\n\tif (autoFocus === true || (autoFocus === 'skipFirstScreen' && !isFirstScreen)) {\n\t\t// focus the first visible input\n\t\tconst firstVisibleInput: HTMLInputElement = ele.querySelector(\n\t\t\t'input:not([aria-hidden=\"true\"])'\n\t\t);\n\t\tfirstVisibleInput?.focus();\n\t}\n};\n\ntype PromiseExecutor = ConstructorParameters<typeof Promise>[0];\n\n/**\n * timeoutPromise(2000, (resolve, reject) => {// Logic});\n */\nexport const timeoutPromise = (timeout: number, callback?: PromiseExecutor) =>\n\tnew Promise((resolve, reject) => {\n\t\tconst timer = setTimeout(() => {\n\t\t\treject(new Error(`Promise timed out after ${timeout} ms`));\n\t\t}, timeout);\n\n\t\tcallback?.(\n\t\t\t(value: any) => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tresolve(value);\n\t\t\t},\n\t\t\t(error: any) => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\treject(error);\n\t\t\t}\n\t\t);\n\t});\n\nexport const getChromiumVersion = (navigator as any)?.userAgentData?.brands?.find(\n\t({ brand, version }) => brand === 'Chromium' && parseFloat(version)\n);\n","import { createIsChanged } from './helpers';\n\ntype StateObject = Record<string, any>;\n\n// eslint-disable-next-line import/exports-last\nexport type SubscribeCb<T> = (\n\tstate: T,\n\tprevState: T,\n\tisChanged: ReturnType<typeof createIsChanged>\n) => void | Promise<void>;\ntype UpdateStateCb<T> = (state: T) => Partial<T>;\ntype Subscribers<T> = Record<string, SubscribeCb<T>>;\n\nexport type IsChanged<T> = Parameters<SubscribeCb<T>>[2];\n\nfunction compareObjects(objectA: Record<string, any>, objectB: Record<string, any>) {\n\tconst aProperties = Object.getOwnPropertyNames(objectA);\n\tconst bProperties = Object.getOwnPropertyNames(objectB);\n\n\tif (aProperties.length !== bProperties.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < aProperties.length; i += 1) {\n\t\tconst propName = aProperties[i];\n\n\t\tconst valA = objectA[propName];\n\t\tconst valB = objectB[propName];\n\t\tif (valA === null || valB === null) {\n\t\t\tif (valA !== valB) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (typeof valA === 'object' && typeof valB === 'object') {\n\t\t\t// compare nested objects\n\t\t\tif (!compareObjects(valA, valB)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (valA !== valB) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nclass State<T extends StateObject> {\n\t#state: T;\n\n\t#subscribers: Subscribers<T> = {};\n\n\t#token = 0;\n\n\t#updateOnlyOnChange = false;\n\n\tconstructor(init: T = {} as T, { updateOnlyOnChange = true } = {}) {\n\t\tthis.#state = init;\n\t\tthis.#updateOnlyOnChange = updateOnlyOnChange;\n\t}\n\n\tget current() {\n\t\treturn { ...this.#state };\n\t}\n\n\tupdate = (newState: Partial<T> | UpdateStateCb<T>) => {\n\t\tconst internalNewState = typeof newState === 'function' ? newState(this.#state) : newState;\n\n\t\tconst nextState = { ...this.#state, ...internalNewState };\n\t\tif (!this.#updateOnlyOnChange || !compareObjects(this.#state, nextState)) {\n\t\t\tconst prevState = this.#state;\n\t\t\tthis.#state = nextState;\n\t\t\tObject.freeze(this.#state);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tObject.values(this.#subscribers).forEach((cb) =>\n\t\t\t\t\tcb(nextState, prevState, createIsChanged(nextState, prevState))\n\t\t\t\t);\n\t\t\t}, 0);\n\t\t}\n\t};\n\n\tsubscribe(cb: SubscribeCb<T>) {\n\t\tthis.#token += 1;\n\t\tthis.#subscribers[this.#token] = cb;\n\n\t\treturn this.#token.toString();\n\t}\n\n\tunsubscribe(token: string) {\n\t\tconst isFound = !!this.#subscribers[token];\n\n\t\tif (isFound) {\n\t\t\tdelete this.#subscribers[token];\n\t\t}\n\n\t\treturn isFound;\n\t}\n\n\tunsubscribeAll() {\n\t\tthis.#subscribers = {};\n\n\t\treturn true;\n\t}\n}\n\nexport default State;\n","import { ELEMENT_TYPE_ATTRIBUTE, DESCOPE_ATTRIBUTE_EXCLUDE_FIELD } from '../constants';\nimport { ScreenState } from '../types';\n\nconst replaceElementMessage = (baseEle: DocumentFragment, eleType: string, message = '') => {\n\tconst eleList = baseEle.querySelectorAll(`[${ELEMENT_TYPE_ATTRIBUTE}=\"${eleType}\"]`);\n\teleList.forEach((ele: HTMLElement) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tele.textContent = message;\n\t\tele.classList[message ? 'remove' : 'add']('hide');\n\t});\n};\n\n/**\n * Replace the 'value' attribute of screen inputs with screen state's inputs.\n * For example: if base element contains '<input name=\"key1\" ...>' and screen input is in form of { key1: 'val1' },\n * it will add 'val1' as the input value\n */\nconst replaceElementInputs = (baseEle: DocumentFragment, screenInputs: Record<string, string>) => {\n\tObject.entries(screenInputs || {}).forEach(([name, value]) => {\n\t\tconst inputEls = Array.from(\n\t\t\tbaseEle.querySelectorAll(\n\t\t\t\t`.descope-input[name=\"${name}\"]:not([${DESCOPE_ATTRIBUTE_EXCLUDE_FIELD}])`\n\t\t\t)\n\t\t) as HTMLInputElement[];\n\t\tinputEls.forEach((inputEle) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tinputEle.value = value;\n\t\t});\n\t});\n};\n\n/**\n * Get object nested path.\n * Examples:\n * - getByPath({ { a { b: 'rob' } }, 'a.b') => 'hey rob'\n * - getByPath({}, 'a.b') => ''\n */\nconst getByPath = (obj: Record<string, any>, path: string) =>\n\tpath.split('.').reduce((prev, next) => prev?.[next] || '', obj);\n\n/**\n * Apply template language on text, based on screen state.\n * Examples:\n * - 'hey {{a.b}}', { a { b: 'rob' }} => 'hey rob'\n * - 'hey {{not.exists}}', {} => 'hey '\n */\nconst applyTemplates = (text: string, screenState?: Record<string, any>): string =>\n\ttext.replace(/{{(.+?)}}/g, (_, match) => getByPath(screenState, match));\n\n/**\n * Replace the templates of content of inner text/link elements with screen state data\n */\nconst replaceElementTemplates = (baseEle: DocumentFragment, screenState?: Record<string, any>) => {\n\tconst eleList = baseEle.querySelectorAll('.descope-text,.descope-link');\n\teleList.forEach((inEle: HTMLElement) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tinEle.textContent = applyTemplates(inEle.textContent, screenState);\n\t});\n};\n\nconst replaceProvisionURL = (baseEle: DocumentFragment, provisionUrl?: string) => {\n\tconst eleList = baseEle.querySelectorAll(`[${ELEMENT_TYPE_ATTRIBUTE}=\"totp-link\"]`);\n\teleList.forEach((ele: HTMLLinkElement) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tele.href = provisionUrl;\n\t});\n};\n\n/**\n * Perform action in base element based on screen state\n * - Show/hide error messages\n * - Replace values of element inputs with screen state's inputs\n * - Replace element templates ({{...}} syntax) with screen state object\n */\nexport const replaceWithScreenState = (baseEle: DocumentFragment, screenState?: ScreenState) => {\n\treplaceElementMessage(baseEle, 'error-message', screenState?.errorText);\n\treplaceElementInputs(baseEle, screenState?.inputs);\n\treplaceProvisionURL(baseEle, screenState?.totp?.provisionUrl);\n\treplaceElementTemplates(baseEle, screenState);\n};\n\nexport const setTOTPVariable = (rootEle: HTMLElement, image?: string) => {\n\tif (image) {\n\t\trootEle?.style?.setProperty('--totp-image', `url(data:image/jpg;base64,${image})`);\n\t}\n};\n\nexport const disableWebauthnButtons = (fragment: DocumentFragment) => {\n\tconst webauthnButtons = fragment.querySelectorAll(\n\t\t`button[${ELEMENT_TYPE_ATTRIBUTE}=\"biometrics\"]`\n\t);\n\twebauthnButtons.forEach((button) => button.setAttribute('disabled', 'true'));\n};\n","/* eslint @typescript-eslint/no-use-before-define: 0 */\n\nimport { withMemCache, timeoutPromise, getChromiumVersion } from './helpers';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const isConditionalLoginSupported = withMemCache(async () => {\n\tif (\n\t\t!window.PublicKeyCredential ||\n\t\t!(<any>PublicKeyCredential).isConditionalMediationAvailable ||\n\t\t!PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable\n\t) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('webauthn', 'Conditional UI is not supported');\n\t\treturn false;\n\t}\n\ttry {\n\t\tconst isSupported = Promise.all([\n\t\t\t(<any>window.PublicKeyCredential)?.isConditionalMediationAvailable(),\n\t\t\twindow.PublicKeyCredential?.isUserVerifyingPlatformAuthenticatorAvailable()\n\t\t]).then((arr) => arr.every((value) => !!value));\n\n\t\t// when using Dashlane Chrome extension, \"isConditionalMediationAvailable\" never resolved and the app hangs\n\t\t// if timeout exceeded, we are deciding if passkeys are supported based on the Chromium version\n\t\tconst CHROMIUM_VERSION_THAT_SUPPORTS_PASSKEYS = 108;\n\t\treturn await Promise.race([\n\t\t\tisSupported,\n\t\t\ttimeoutPromise(100).catch(\n\t\t\t\t() => getChromiumVersion() >= CHROMIUM_VERSION_THAT_SUPPORTS_PASSKEYS\n\t\t\t)\n\t\t]);\n\t} catch (err) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('webauthn', 'Conditional login check failed', err);\n\t\treturn false;\n\t}\n});\n","import { ClientCondition, ConditionsMap, Context } from '../types';\n\nexport const conditions: ConditionsMap<Context> = {\n\t'lastAuth.loginId': {\n\t\t'not-empty': (ctx) => !!ctx.loginId,\n\t\tempty: (ctx) => !ctx.loginId\n\t},\n\tidpInitiated: {\n\t\t'is-true': (ctx) => !!ctx.code,\n\t\t'is-false': (ctx) => !ctx.code\n\t}\n};\n\n/* eslint-disable import/prefer-default-export */\nexport const calculateCondition = (condition: ClientCondition, ctx: Context) => {\n\tconst checkFunc = conditions[condition?.key]?.[condition.operator];\n\tif (!checkFunc) {\n\t\treturn {};\n\t}\n\tconst conditionResult = checkFunc(ctx) ? condition.met : condition.unmet;\n\treturn {\n\t\tstartScreenId: conditionResult?.screenId,\n\t\tconditionInteractionId: conditionResult?.interactionId\n\t};\n};\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","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","import e from\"jwt-decode\";import t from\"lodash.get\";var n={exchange:\"/v1/auth/accesskey/exchange\"},s={verify:\"/v1/auth/otp/verify\",signIn:\"/v1/auth/otp/signin\",signUp:\"/v1/auth/otp/signup\",update:{email:\"/v1/auth/otp/update/email\",phone:\"/v1/auth/otp/update/phone\"},signUpOrIn:\"/v1/auth/otp/signup-in\"},o={verify:\"/v1/auth/magiclink/verify\",signIn:\"/v1/auth/magiclink/signin\",signUp:\"/v1/auth/magiclink/signup\",update:{email:\"/v1/auth/magiclink/update/email\",phone:\"/v1/auth/magiclink/update/phone\"},signUpOrIn:\"/v1/auth/magiclink/signup-in\"},i={verify:\"/v1/auth/enchantedlink/verify\",signIn:\"/v1/auth/enchantedlink/signin\",signUp:\"/v1/auth/enchantedlink/signup\",session:\"/v1/auth/enchantedlink/pending-session\",update:{email:\"/v1/auth/enchantedlink/update/email\"},signUpOrIn:\"/v1/auth/enchantedlink/signup-in\"},a={start:\"/v1/auth/oauth/authorize\",exchange:\"/v1/auth/oauth/exchange\"},r={start:\"/v1/auth/saml/authorize\",exchange:\"/v1/auth/saml/exchange\"},u={verify:\"/v1/auth/totp/verify\",signUp:\"/v1/auth/totp/signup\",update:\"/v1/auth/totp/update\"},d={signUp:{start:\"/v1/auth/webauthn/signup/start\",finish:\"/v1/auth/webauthn/signup/finish\"},signIn:{start:\"/v1/auth/webauthn/signin/start\",finish:\"/v1/auth/webauthn/signin/finish\"},signUpOrIn:{start:\"/v1/auth/webauthn/signup-in/start\"},update:{start:\"v1/auth/webauthn/update/start\",finish:\"/v1/auth/webauthn/update/finish\"}},l=\"/v1/auth/refresh\",c=\"/v1/auth/logout\",p=\"/v1/auth/logoutall\",g=\"/v1/auth/me\",h={start:\"/v1/flow/start\",next:\"/v1/flow/next\"};const v=()=>{const e={};return{headers(t){const n=\"function\"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${\"Title\"!==t?`${t}: `:\"\"}${e[t]}`]:[])).join(\"\\n\")}},f=(e,t)=>{const n=t||fetch;return n||null==e||e.warn(\"Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally\"),e?async(...t)=>{if(!n)throw Error(\"Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally\");e.log((e=>v().title(\"Request\").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const s=await n(...t);return e[s.ok?\"log\":\"error\"](await(async e=>{const t=await(e.clone?e.clone().text():e.text());return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),v().title(\"Response\").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(s)),s}:n};var m;!function(e){e.get=\"GET\",e.delete=\"DELETE\",e.post=\"POST\",e.put=\"PUT\"}(m||(m={}));const I=(...e)=>new Headers(e.reduce(((e,t)=>{const n=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return n.reduce(((t,[n,s])=>(e[n]=s,e)),e),e}),{})),b=e=>void 0===e?void 0:JSON.stringify(e),k=(e,t=\"\")=>{let n=e;return t&&(n=n+\":\"+t),{Authorization:`Bearer ${n}`}},y=({baseUrl:e,projectId:t,baseConfig:n,logger:s,hooks:o,cookiePolicy:i,fetch:a})=>{const r=f(s,a),u=async s=>{const a=(null==o?void 0:o.beforeRequest)?o.beforeRequest(s):s,{path:u,body:d,headers:l,queryParams:c,method:p,token:g}=a,h=await r((({path:e,baseUrl:t,queryParams:n})=>{const s=new URL(e,t);return n&&(s.search=new URLSearchParams(n).toString()),s})({path:u,baseUrl:e,queryParams:c}),{headers:I(k(t,g),{\"x-descope-sdk-name\":\"core-js\",\"x-descope-sdk-version\":\"1.0.1\"},(null==n?void 0:n.baseHeaders)||{},l),method:p,body:b(d),credentials:i||\"include\"});return(null==o?void 0:o.afterRequest)&&await o.afterRequest(s,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:n,token:s}={})=>u({path:e,headers:t,queryParams:n,body:void 0,method:m.get,token:s}),post:(e,t,{headers:n,queryParams:s,token:o}={})=>u({path:e,headers:n,queryParams:s,body:t,method:m.post,token:o}),put:(e,t,{headers:n,queryParams:s,token:o}={})=>u({path:e,headers:n,queryParams:s,body:t,method:m.put,token:o}),delete:(e,t,{headers:n,queryParams:s,token:o}={})=>u({path:e,headers:n,queryParams:s,body:t,method:m.delete,token:o}),hooks:o}};var O={TOO_MANY_REQUESTS:429};function w(e,t,n){var s;let o=j(e);t&&(o=null===(s=null==o?void 0:o.tenants)||void 0===s?void 0:s[t]);const i=null==o?void 0:o[n];return Array.isArray(i)?i:[]}function j(t){if(\"string\"!=typeof t||!t)throw new Error(\"Invalid token provided\");return e(t)}function U(e){const{exp:t}=j(e);return(new Date).getTime()/1e3>t}function R(e,t){return w(e,t,\"permissions\")}function x(e,t){return w(e,t,\"roles\")}const P=(...e)=>e.join(\"/\").replace(/\\/{2,}/g,\"/\");async function q(e,t){var n;const s=await e,o={code:s.status,ok:s.ok,response:s},i=await s.clone().json();return s.ok?o.data=t?t(i):i:(o.error=i,s.status===O.TOO_MANY_REQUESTS&&Object.assign(o.error,{retryAfter:Number.parseInt(null===(n=s.headers)||void 0===n?void 0:n.get(\"retry-after\"))||0})),o}const E=(e,t)=>(n=t)=>t=>!e(t)&&n.replace(\"{val}\",t),$=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),S=e=>t=>e.test(t),M=S(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/),T=S(/^\\+[1-9]{1}[0-9]{3,14}$/),A=E(M,'\"{val}\" is not a valid email'),L=E(T,'\"{val}\" is not a valid phone number'),z=E((H=1,e=>e.length>=H),\"Minimum length is 1\");var H;const J=E((e=>\"string\"==typeof e),\"Input is not a string\"),N=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>$(...e).validate(n[t]))),t(...n)),C=e=>[J(`\"${e}\" must be a string`),z(`\"${e}\" must not be empty`)],_=e=>[J(`\"${e}\" must be a string`),A()],D=e=>[J(`\"${e}\" must be a string`),L()],Z=N(C(\"accessKey\")),B=e=>({exchange:Z((t=>q(e.post(n.exchange,{},{token:t}))))});var F,K,Q,Y;!function(e){e.sms=\"sms\",e.whatsapp=\"whatsapp\"}(F||(F={})),function(e){e.email=\"email\",e.sms=\"sms\",e.whatsapp=\"whatsapp\"}(K||(K={})),function(e){e.waiting=\"waiting\",e.running=\"running\",e.completed=\"completed\",e.failed=\"failed\"}(Q||(Q={})),function(e){e.signUp=\"signup\",e.signIn=\"signin\",e.verify=\"verify\"}(Y||(Y={}));const G=C(\"loginId\"),V=N(C(\"token\")),W=N(G),X=N(C(\"pendingRef\")),ee=N(G,_(\"email\")),te=e=>({verify:V((t=>q(e.post(i.verify,{token:t})))),signIn:W(((t,n,s,o)=>q(e.post(P(i.signIn,K.email),{loginId:t,URI:n,loginOptions:s},{token:o})))),signUpOrIn:W(((t,n)=>q(e.post(P(i.signUpOrIn,K.email),{loginId:t,URI:n})))),signUp:W(((t,n,s)=>q(e.post(P(i.signUp,K.email),{loginId:t,URI:n,user:s})))),waitForSession:X(((t,n)=>new Promise((s=>{const{pollingIntervalMs:o,timeoutMs:a}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||6e5,6e5)}))(n);let r;const u=setInterval((async()=>{const n=await e.post(i.session,{pendingRef:t});n.ok&&(clearInterval(u),r&&clearTimeout(r),s(q(Promise.resolve(n))))}),o);r=setTimeout((()=>{s({error:{errorDescription:`Session polling timeout exceeded: ${a}ms`,errorCode:\"0\"},ok:!1}),clearInterval(u)}),a)})))),update:{email:ee(((t,n,s,o)=>q(e.post(i.update.email,{loginId:t,email:n,URI:s},{token:o}))))}}),ne=N(C(\"flowId\")),se=N(C(\"executionId\"),C(\"stepId\"),C(\"interactionId\")),oe=e=>({start:ne(((t,n,s,o,i)=>q(e.post(h.start,{flowId:t,options:n,conditionInteractionId:s,interactionId:o,input:i})))),next:se(((t,n,s,o)=>q(e.post(h.next,{executionId:t,stepId:n,interactionId:s,input:o}))))}),ie=C(\"loginId\"),ae=N(C(\"token\")),re=N(ie),ue=N(ie,D(\"phone\")),de=N(ie,_(\"email\")),le=e=>({verify:ae((t=>q(e.post(o.verify,{token:t})))),signIn:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:re(((t,s,i,a)=>q(e.post(P(o.signIn,n),{loginId:t,URI:s,loginOptions:i},{token:a}))))})),{}),signUp:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:re(((t,s,i)=>q(e.post(P(o.signUp,n),{loginId:t,URI:s,user:i}))))})),{}),signUpOrIn:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:re(((t,s)=>q(e.post(P(o.signUpOrIn,n),{loginId:t,URI:s}))))})),{}),update:{email:de(((t,n,s,i)=>q(e.post(o.update.email,{loginId:t,email:n,URI:s},{token:i})))),phone:Object.keys(F).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:ue(((t,s,i,a)=>q(e.post(P(o.update.phone,n),{loginId:t,phone:s,URI:i},{token:a}))))})),{})}});var ce;!function(e){e.facebook=\"facebook\",e.github=\"github\",e.google=\"google\",e.microsoft=\"microsoft\",e.gitlab=\"gitlab\",e.apple=\"apple\",e.discord=\"discord\",e.linkedin=\"linkedin\"}(ce||(ce={}));const pe=N(C(\"code\")),ge=e=>({start:Object.keys(ce).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:async(t,{redirect:s=!1}={},o,i)=>{const r=await e.post(a.start,o||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:i});if(!s||!r.ok)return q(Promise.resolve(r));const{url:u}=await r.json();window.location.href=u}})),{}),exchange:pe((t=>q(e.post(a.exchange,{code:t}))))});var he;!function(e){e.signUp=\"signup\",e.signIn=\"signin\",e.verify=\"verify\",e.updatePhone=\"updatePhone\"}(he||(he={}));const ve=C(\"loginId\"),fe=N(ve,C(\"code\")),me=N(ve),Ie=N(ve,D(\"phone\")),be=N(ve,_(\"email\")),ke=e=>({verify:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:fe(((t,o)=>q(e.post(P(s.verify,n),{code:o,loginId:t}))))})),{}),signIn:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:me(((t,o,i)=>q(e.post(P(s.signIn,n),{loginId:t,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:me(((t,o)=>q(e.post(P(s.signUp,n),{loginId:t,user:o}))))})),{}),signUpOrIn:Object.keys(K).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:me((t=>q(e.post(P(s.signUpOrIn,n),{loginId:t}))))})),{}),update:{email:be(((t,n,o)=>q(e.post(s.update.email,{loginId:t,email:n},{token:o})))),phone:Object.keys(F).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Ie(((t,o,i)=>q(e.post(P(s.update.phone,n),{loginId:t,phone:o},{token:i}))))})),{})}}),ye=N(C(\"tenant\")),Oe=N(C(\"code\")),we=e=>({start:ye((async(t,n,{redirect:s=!1}={},o,i)=>{const a=await e.post(r.start,o||{},{queryParams:{tenant:t,redirectURL:n},token:i});if(!s||!a.ok)return q(Promise.resolve(a));const{url:u}=await a.json();window.location.href=u})),exchange:Oe((t=>q(e.post(r.exchange,{code:t}))))}),je=C(\"loginId\"),Ue=N(je,C(\"code\")),Re=N(je),xe=N(je),Pe=e=>({signUp:Re(((t,n)=>q(e.post(u.signUp,{loginId:t,user:n})))),verify:Ue(((t,n,s,o)=>q(e.post(u.verify,{loginId:t,code:n,loginOptions:s},{token:o})))),update:xe(((t,n)=>q(e.post(u.update,{loginId:t},{token:n}))))}),qe=[J(`\"${\"loginId\"}\" must be a string`)];const Ee=C(\"loginId\"),$e=C(\"origin\"),Se=N(Ee,$e,C(\"name\")),Me=N(Ee,$e),Te=N(qe,$e),Ae=N(Ee,$e,C(\"token\")),Le=N(C(\"transactionId\"),C(\"response\")),ze=e=>({signUp:{start:Se(((t,n,s)=>q(e.post(d.signUp.start,{user:{loginId:t,name:s},origin:n})))),finish:Le(((t,n)=>q(e.post(d.signUp.finish,{transactionId:t,response:n}))))},signIn:{start:Te(((t,n,s,o)=>q(e.post(d.signIn.start,{loginId:t,origin:n,loginOptions:s},{token:o})))),finish:Le(((t,n)=>q(e.post(d.signIn.finish,{transactionId:t,response:n}))))},signUpOrIn:{start:Me(((t,n)=>q(e.post(d.signUpOrIn.start,{loginId:t,origin:n}))))},update:{start:Ae(((t,n,s)=>q(e.post(d.update.start,{loginId:t,origin:n},{token:s})))),finish:Le(((t,n)=>q(e.post(d.update.finish,{transactionId:t,response:n}))))}}),He=N(C(\"token\"));var Je,Ne;var Ce=N([(Je=\"projectId\",Ne=C(\"projectId\"),E(((e,n)=>s=>$(...n).validate(t(s,e)))(Je,Ne))())])((e=>t=>{var n,s;const o=[].concat((null===(n=t.hooks)||void 0===n?void 0:n.beforeRequest)||[]),i=[].concat((null===(s=t.hooks)||void 0===s?void 0:s.afterRequest)||[]);return e(Object.assign(Object.assign({},t),{hooks:{beforeRequest:e=>null==o?void 0:o.reduce(((e,t)=>t(e)),e),afterRequest:async(e,n)=>{(await Promise.allSettled(null==i?void 0:i.map((t=>t(e,null==n?void 0:n.clone()))))).forEach((e=>{var n;return\"rejected\"===e.status&&(null===(n=t.logger)||void 0===n?void 0:n.error(e.reason))}))}}}))})((({projectId:e,logger:t,baseUrl:n,hooks:s,cookiePolicy:o,baseHeaders:i={},fetch:a})=>{return r=y({baseUrl:n||\"https://api.descope.com\",projectId:e,logger:t,hooks:s,cookiePolicy:o,baseConfig:{baseHeaders:i},fetch:a}),{accessKey:B(r),otp:ke(r),magicLink:le(r),enchantedLink:te(r),oauth:ge(r),saml:we(r),totp:Pe(r),webauthn:ze(r),flow:oe(r),refresh:e=>q(r.post(l,{},{token:e})),logout:e=>q(r.post(c,{},{token:e})),logoutAll:e=>q(r.post(p,{},{token:e})),me:e=>q(r.get(g,{token:e})),isJwtExpired:He(U),getJwtPermissions:He(R),getJwtRoles:He(x),httpClient:r};var r})));const _e=(e,t,n)=>(t.forEach((t=>{const s=t.split(\".\");let o=s.shift(),i=e;for(;s.length>0;){if(i=i[o],!o||!i)throw Error(`Invalid path \"${t}\", \"${o}\" is missing or has no value`);o=s.shift()}if(\"function\"!=typeof i[o])throw Error(`\"${t}\" is not a function`);const a=i[o];i[o]=n(a)})),e),De=(e,t)=>{var n;return[\"beforeRequest\",\"afterRequest\"].reduce(((n,s)=>{var o;return n[s]=[].concat((null===(o=e.hooks)||void 0===o?void 0:o[s])||[]).concat((null==t?void 0:t[s])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e};var Ze=Object.assign(Ce,{DeliveryMethods:K});export{O as HttpStatusCodes,De as addHooksToConfig,Ze as default,q as transformResponse,_e as wrapWith};\n//# sourceMappingURL=index.esm.js.map\n","/**\n * FingerprintJS Pro v3.8.2 - Copyright (c) FingerprintJS, Inc, 2023 (https://fingerprint.com)\n *\n * This software contains code from open-source projects:\n * MurmurHash3 by Karan Lyons (https://github.com/karanlyons/murmurHash3.js)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}function o(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var i={default:\"endpoint\"},u={default:\"tlsEndpoint\"},R=\"Client timeout\",a=\"Network connection error\",c=\"Network request aborted\",E=\"Response cannot be parsed\",s=\"Blocked by CSP\",f=/*#__PURE__*/o(\"WrongRegion\"),l=/*#__PURE__*/o(\"SubscriptionNotActive\"),d=/*#__PURE__*/o(\"UnsupportedVersion\"),_=/*#__PURE__*/o(\"InstallationMethodRestricted\"),p=/*#__PURE__*/o(\"HostnameRestricted\"),O=/*#__PURE__*/o(\"IntegrationFailed\"),v=\"API key required\",I=\"API key not found\",h=\"API key expired\",N=\"Request cannot be parsed\",T=\"Request failed\",m=\"Request failed to process\",w=\"Too many requests, rate limit exceeded\",A=\"Not available for this origin\",P=\"Not available with restricted header\",y=v,S=I,D=h,U=\"3.8.2\",L=\"9319\";function g(t,n){var r=[];return function(t,n){var r=5,o=(E=t,f=e([],E,!0),{current:function(){return f[0]},postpone:function(){var e=f.shift();void 0!==e&&f.push(e)},exclude:function(){f.shift()}}),i=(R=100,a=3e3,c=0,function(){return Math.random()*Math.min(a,R*Math.pow(2,c++))}),u=o.current();var R,a,c;var E,f;if(void 0===u)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var l=function(e,t){return n(e).catch((function(e){if(t+1>=r)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return t===s||t===L}(e)?o.postpone():o.exclude();var n,u=o.current();if(void 0===u)throw e;return(n=i(),new Promise((function(e){return setTimeout(e,n)}))).then((function(){return l(u,t+1)}))}))};return l(u,0)}(t,(function(e){var t=new Date,o=function(){return r.push({url:e,startedAt:t,finishedAt:new Date})},i=n(e);return i.then(o,o),i})).then((function(e){return[e,{attempts:r}]}))}var C=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",b=C,K=\"Failed to load the JS script of the agent\";function M(e){var o;e.scriptUrlPattern;var i=e.token,u=e.apiKey,R=void 0===u?i:u,a=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:C;return Promise.resolve().then((function(){if(!R||\"string\"!=typeof R)throw new Error(v);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,R);return g(e,B).catch(k)})).then((function(e){var t=e[0],r=e[1];return t.load(n(n({},a),{ldi:r}))}))}function B(e){return function(e,t,n,r){var o,i=document,u=\"securitypolicyviolation\",R=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,a())};i.addEventListener(u,R);var a=function(){return i.removeEventListener(u,R)};return null==r||r.then(a,a),Promise.resolve().then(t).then((function(e){return a(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(a(),o)return n(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(K))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(s)})).then(F)}function F(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(L);return n}function k(e){throw e instanceof Error&&e.message===L?new Error(K):e}var V={load:M,defaultScriptUrlPattern:b,ERROR_SCRIPT_LOAD_FAIL:K,ERROR_API_KEY_EXPIRED:h,ERROR_API_KEY_INVALID:I,ERROR_API_KEY_MISSING:v,ERROR_BAD_REQUEST_FORMAT:N,ERROR_BAD_RESPONSE_FORMAT:E,ERROR_CLIENT_TIMEOUT:R,ERROR_CSP_BLOCK:s,ERROR_FORBIDDEN_ENDPOINT:p,ERROR_FORBIDDEN_HEADER:P,ERROR_FORBIDDEN_ORIGIN:A,ERROR_GENERAL_SERVER_FAILURE:T,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:O,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:a,ERROR_RATE_LIMIT:w,ERROR_SERVER_TIMEOUT:m,ERROR_SUBSCRIPTION_NOT_ACTIVE:l,ERROR_TOKEN_EXPIRED:D,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:y,ERROR_UNSUPPORTED_VERSION:d,ERROR_WRONG_REGION:f,defaultEndpoint:i,defaultTlsEndpoint:u};export{h as ERROR_API_KEY_EXPIRED,I as ERROR_API_KEY_INVALID,v as ERROR_API_KEY_MISSING,N as ERROR_BAD_REQUEST_FORMAT,E as ERROR_BAD_RESPONSE_FORMAT,R as ERROR_CLIENT_TIMEOUT,s as ERROR_CSP_BLOCK,p as ERROR_FORBIDDEN_ENDPOINT,P as ERROR_FORBIDDEN_HEADER,A as ERROR_FORBIDDEN_ORIGIN,T as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,O as ERROR_INTEGRATION_FAILURE,c as ERROR_NETWORK_ABORT,a as ERROR_NETWORK_CONNECTION,w as ERROR_RATE_LIMIT,K as ERROR_SCRIPT_LOAD_FAIL,m as ERROR_SERVER_TIMEOUT,l as ERROR_SUBSCRIPTION_NOT_ACTIVE,D as ERROR_TOKEN_EXPIRED,S as ERROR_TOKEN_INVALID,y as ERROR_TOKEN_MISSING,d as ERROR_UNSUPPORTED_VERSION,f as ERROR_WRONG_REGION,V as default,i as defaultEndpoint,b as defaultScriptUrlPattern,u as defaultTlsEndpoint,M as load};\n","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n","import{__rest as t}from\"tslib\";import e,{wrapWith as n}from\"@descope/core-js-sdk\";import{load as a}from\"@fingerprintjs/fingerprintjs-pro\";import i from\"js-cookie\";const o=(t,e)=>{var n;return[\"beforeRequest\",\"afterRequest\"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=t.hooks)||void 0===i?void 0:i[a])||[]).concat((null==e?void 0:e[a])||[]),n}),null!==(n=t.hooks)&&void 0!==n?n:t.hooks={}),t},s=async t=>{if(!(null==t?void 0:t.ok))return{};const e=await(null==t?void 0:t.clone().json());return(null==e?void 0:e.authInfo)||e||{}},r=async t=>{const e=await s(t);return(null==e?void 0:e.user)||((null==e?void 0:e.hasOwnProperty(\"userId\"))?e:void 0)},l=\"undefined\"!=typeof localStorage,c=(t,e)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(t,e)),u=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(t)),d=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(t)),g=\"undefined\"!=typeof window,p=g&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(\"fingerprint.endpoint.url\"))||\"https://fp.descope.com\",w=(t=\"\",e=\"\")=>({vsid:t,vrid:e}),f=(t=!1)=>{const e=localStorage.getItem(\"fp\");if(!e)return null;const n=JSON.parse(e);return(new Date).getTime()>n.expiry&&!t?null:n.value},b=async t=>{try{if(f())return;const e=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:t,endpoint:p}),i=await n,{requestId:o}=await i.get({linkedId:e});(t=>{const e={value:t,expiry:(new Date).getTime()+864e5};localStorage.setItem(\"fp\",JSON.stringify(e))})(w(e,o))}catch(t){global.FB_DEBUG&&console.error(t)}},h=t=>(t.body&&(t.body.fpData=f(!0)||w()),t),v=()=>u(\"dls_last_user_login_id\"),y=()=>u(\"dls_last_user_display_name\"),S=t=>async(...e)=>{var n;e[1]=e[1]||{};const[,a={}]=e,i=v(),o=y();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=o);return await t(...e)},m=t=>async(...e)=>{const n=await t(...e);return d(\"dls_last_user_login_id\"),d(\"dls_last_user_display_name\"),n};function O(){const t=[];return{pub:e=>{t.forEach((t=>t(e)))},sub:e=>{const n=t.push(e)-1;return()=>t.splice(n,1)}}}const I=(e={},n)=>{var{refreshJwt:a,sessionJwt:o}=e,s=t(e,[\"refreshJwt\",\"sessionJwt\"]);void 0===n&&(n=!1),a&&c(\"DSR\",a),o&&(n?function(t,e,{cookiePath:n,cookieDomain:a,cookieExpiration:o}){if(e){const s=new Date(1e3*o);i.set(t,e,{path:n,domain:a,expires:s,sameSite:\"Strict\",secure:!0})}}(\"DS\",o,s):c(\"DS\",o))};function k(){return u(\"DSR\")||\"\"}function _(){return i.get(\"DS\")||u(\"DS\")||\"\"}function j(){d(\"DSR\"),d(\"DS\"),i.remove(\"DS\")}const D=t=>Object.assign(t,{token:t.token||k()}),U=t=>async(...e)=>{const n=await t(...e);return j(),n};async function A(t){const e=function(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=N(n.publicKey.challenge),n.publicKey.user.id=N(n.publicKey.user.id),null===(e=n.publicKey.excludeCredentials)||void 0===e||e.forEach((t=>{t.id=N(t.id)})),n}(t),n=await navigator.credentials.create(e);return a=n,JSON.stringify({id:a.id,rawId:x(a.rawId),type:a.type,response:{attestationObject:x(a.response.attestationObject),clientDataJSON:x(a.response.clientDataJSON)}});var a}async function J(t){const e=R(t);return C(await navigator.credentials.get(e))}async function T(t,e){const n=R(t);n.signal=e.signal,n.mediation=\"conditional\";return C(await navigator.credentials.get(n))}async function K(t=!1){if(!g)return Promise.resolve(!1);const e=!!(PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return e&&t&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():e}function R(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=N(n.publicKey.challenge),null===(e=n.publicKey.allowCredentials)||void 0===e||e.forEach((t=>{t.id=N(t.id)})),n}function C(t){return JSON.stringify({id:t.id,rawId:x(t.rawId),type:t.type,response:{authenticatorData:x(t.response.authenticatorData),clientDataJSON:x(t.response.clientDataJSON),signature:x(t.response.signature),userHandle:t.response.userHandle?x(t.response.userHandle):void 0}})}function N(t){const e=t.replace(/_/g,\"/\").replace(/-/g,\"+\");return Uint8Array.from(atob(e),(t=>t.charCodeAt(0))).buffer}function x(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\\//g,\"_\").replace(/\\+/g,\"-\").replace(/=/g,\"\")}var q,P=(q=t=>({async signUp(e,n){const a=await t.webauthn.signUp.start(e,window.location.origin,n);if(!a.ok)return a;const i=await A(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(e){const n=await t.webauthn.signIn.start(e,window.location.origin);if(!n.ok)return n;const a=await J(n.data.options);return await t.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(e){var n;const a=await t.webauthn.signUpOrIn.start(e,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const e=await A(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,e)}{const e=await J(a.data.options);return await t.webauthn.signIn.finish(a.data.transactionId,e)}},async update(e,n){const a=await t.webauthn.update.start(e,window.location.origin,n);if(!a.ok)return a;const i=await A(a.data.options);return await t.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:A,get:J,isSupported:K,conditional:T}}),(...t)=>{const e=q(...t);return Object.assign(e.signUp,t[0].webauthn.signUp),Object.assign(e.signIn,t[0].webauthn.signIn),Object.assign(e.signUpOrIn,t[0].webauthn.signUpOrIn),Object.assign(e.update,t[0].webauthn.update),e}),E=t=>Object.assign(Object.assign({},t.flow),{start:async(...e)=>{const n=await K(),a=Object.assign(Object.assign({redirectUrl:window.location.href},e[1]),{deviceInfo:{webAuthnSupport:n}});return e[1]=a,t.flow.start(...e)}});const H=function(...t){return e=>t.reduce(((t,e)=>e(t)),e)}((e=>n=>{var{fpKey:a,fpLoad:i}=n,s=t(n,[\"fpKey\",\"fpLoad\"]);return a?(g?i&&b(a).catch((()=>null)):console.warn(\"Fingerprint is a client side only capability and will not work when running in the server\"),e(o(s,{beforeRequest:h}))):e(Object.assign({},s))}),(e=>a=>{var i=t(a,[\"autoRefresh\"]);const{clearAllTimers:r,setTimer:l}=(()=>{const t=[];return{clearAllTimers:()=>{for(;t.length;)clearTimeout(t.pop())},setTimer:(e,n)=>{t.push(setTimeout(e,n))}}})(),c=e(o(i,{afterRequest:async(t,e)=>{const{refreshJwt:n,sessionJwt:a}=await s(e);if(401===(null==e?void 0:e.status))r();else if(a){const t=((i=(t=>{const e=t.split(\".\");try{if(3===e.length){const t=JSON.parse(window.atob(e[1]));if(t.exp)return new Date(1e3*t.exp)}}catch(t){}return null})(a))?i.getTime()-(new Date).getTime():0)-2e4;r(),l((()=>c.refresh(n)),t)}var i}}));return n(c,[\"logout\",\"logoutAll\"],(t=>async(...e)=>{const n=await t(...e);return r(),n}))}),(t=>e=>t(Object.assign(Object.assign({},e),{baseHeaders:Object.assign({\"x-descope-sdk-name\":\"web-js\",\"x-descope-sdk-version\":\"1.0.0\"},e.baseHeaders)}))),(t=>e=>{const a=O(),i=O(),l=t(o(e,{afterRequest:async(t,e)=>{if(401===(null==e?void 0:e.status))a.pub(null),i.pub(null);else{const t=await r(e);t&&i.pub(t);const{sessionJwt:n}=await s(e);n&&a.pub(n)}}})),c=n(l,[\"logout\",\"logoutAll\"],(t=>async(...e)=>{const n=await t(...e);return a.pub(null),i.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(t=>e=>{const a=t(o(e,{afterRequest:async(t,e)=>{var n;const a=await r(e),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],o=null==a?void 0:a.name;i&&((t=>{c(\"dls_last_user_login_id\",t)})(i),(t=>{c(\"dls_last_user_display_name\",t)})(o))}}));let i=n(a,[\"flow.start\"],S);return i=n(i,[\"logout\",\"logoutAll\"],m),Object.assign(i,{getLastUserLoginId:v,getLastUserDisplayName:y})}),(e=>a=>{var{persistTokens:i,sessionTokenViaCookie:r}=a,l=t(a,[\"persistTokens\",\"sessionTokenViaCookie\"]);if(!i||!g)return i&&console.warn(\"Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server\"),e(l);const c=e(o(l,{beforeRequest:D,afterRequest:async(t,e)=>{401===(null==e?void 0:e.status)?j():I(await s(e),r)}})),u=n(c,[\"logout\",\"logoutAll\"],U);return Object.assign(u,{getRefreshToken:k,getSessionToken:_})}))(((...t)=>{const n=e(...t);return Object.assign(Object.assign({},n),{flow:E(n),webauthn:P(n)})}));export{H as default};\n//# sourceMappingURL=index.esm.js.map\n","const initTemplate = document.createElement('template');\ninitTemplate.innerHTML = `\n\t<style>\n\t\t:host {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t}\n\t\t\n\t\t#wc-root {\n\t\t\theight: 100%;\n\t\t\ttransition: opacity 300ms ease-in-out;\n\t\t}\n\n\t\t#wc-root[data-theme] {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t.fade-out {\n\t\t\topacity: 0.1;\n\t\t}\n\n\t</style>\n\t<div id=\"wc-root\"></div>\n\t`;\n\nexport default initTemplate;\n","import createSdk from '@descope/web-js-sdk';\nimport { CONFIG_FILENAME, THEME_FILENAME } from '../constants';\nimport {\n\tcamelCase,\n\tclearRunIdsFromUrl,\n\tfetchContent,\n\tgetContentUrl,\n\tgetRunIdsFromUrl,\n\thandleUrlParams,\n\tloadFont,\n\tState,\n\twithMemCache\n} from '../helpers';\nimport { IsChanged } from '../helpers/state';\nimport {\n\tAutoFocusOptions,\n\tDebuggerMessage,\n\tDebugState,\n\tFlowState,\n\tFlowStateUpdateFn,\n\tSdkConfig,\n\tThemeOptions\n} from '../types';\nimport initTemplate from './initTemplate';\n\n// this is replaced in build time\ndeclare const BUILD_VERSION: string;\n\n// this base class is responsible for WC initialization\nclass BaseDescopeWc extends HTMLElement {\n\tstatic get observedAttributes() {\n\t\treturn [\n\t\t\t'project-id',\n\t\t\t'flow-id',\n\t\t\t'base-url',\n\t\t\t'tenant',\n\t\t\t'theme',\n\t\t\t'debug',\n\t\t\t'telemetryKey',\n\t\t\t'redirect-url',\n\t\t\t'auto-focus'\n\t\t];\n\t}\n\n\t// this is a way for extending the sdk config from outside\n\tstatic sdkConfigOverrides: Partial<SdkConfig> = {\n\t\tbaseHeaders: {\n\t\t\t'x-descope-sdk-name': 'web-component',\n\t\t\t'x-descope-sdk-version': BUILD_VERSION\n\t\t}\n\t};\n\n\t#init = false;\n\n\t#flowState = new State<FlowState>();\n\n\t#debugState = new State<DebugState>();\n\n\tnextRequestStatus = new State<{ isLoading: boolean }>({ isLoading: false });\n\n\trootElement: HTMLDivElement;\n\n\t#debuggerEle: HTMLElement & { updateData: (data: DebuggerMessage | DebuggerMessage[]) => void };\n\n\t#eventsCbRefs = {\n\t\tpopstate: this.#syncStateIdFromUrl.bind(this)\n\t};\n\n\tsdk: ReturnType<typeof createSdk>;\n\n\t#updateExecState: FlowStateUpdateFn;\n\n\tconstructor(updateExecState: FlowStateUpdateFn) {\n\t\tsuper();\n\t\tthis.#updateExecState = updateExecState;\n\n\t\tthis.#initShadowDom();\n\t}\n\n\t#initShadowDom() {\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(initTemplate.content.cloneNode(true));\n\n\t\tthis.rootElement = this.shadowRoot.querySelector<HTMLDivElement>('#wc-root');\n\t}\n\n\t#shouldMountInFormEle() {\n\t\tconst isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\n\t\tconst wc = this.shadowRoot.host;\n\n\t\treturn !wc.closest('form') && isChrome;\n\t}\n\n\t// we want to make sure the web-component is wrapped with on outer form element\n\t// this is needed in order to support webauthn conditional UI (which currently supported only in Chrome when input is inside a web-component)\n\t// for more info see here: https://github.com/descope/etc/issues/733\n\t#handleOuterForm() {\n\t\tconst wc = this.shadowRoot.host;\n\t\tconst form = document.createElement('form');\n\t\twc.parentElement.appendChild(form);\n\t\tform.appendChild(wc);\n\t}\n\n\tget projectId() {\n\t\treturn this.getAttribute('project-id');\n\t}\n\n\tget flowId() {\n\t\treturn this.getAttribute('flow-id');\n\t}\n\n\tget baseUrl() {\n\t\treturn this.getAttribute('base-url') || undefined;\n\t}\n\n\tget tenant() {\n\t\treturn this.getAttribute('tenant') || undefined;\n\t}\n\n\tget redirectUrl() {\n\t\treturn this.getAttribute('redirect-url') || undefined;\n\t}\n\n\tget debug() {\n\t\treturn this.getAttribute('debug') === 'true';\n\t}\n\n\tget theme(): ThemeOptions {\n\t\tconst theme = this.getAttribute('theme') as ThemeOptions;\n\n\t\tif (theme === 'os') {\n\t\t\tconst isOsDark =\n\t\t\t\twindow.matchMedia && window.matchMedia?.('(prefers-color-scheme: dark)')?.matches;\n\t\t\treturn isOsDark ? 'dark' : 'light';\n\t\t}\n\n\t\treturn theme || 'light';\n\t}\n\n\tget telemetryKey() {\n\t\treturn this.getAttribute('telemetryKey') || undefined;\n\t}\n\n\tget autoFocus(): AutoFocusOptions {\n\t\tconst res = this.getAttribute('auto-focus') ?? 'true';\n\t\tif (res === 'skipFirstScreen') {\n\t\t\treturn res;\n\t\t}\n\t\treturn res === 'true';\n\t}\n\n\t#validateAttrs() {\n\t\tconst optionalAttributes = [\n\t\t\t'base-url',\n\t\t\t'tenant',\n\t\t\t'theme',\n\t\t\t'debug',\n\t\t\t'telemetryKey',\n\t\t\t'redirect-url',\n\t\t\t'auto-focus'\n\t\t];\n\n\t\tBaseDescopeWc.observedAttributes.forEach((attr: string) => {\n\t\t\tif (!optionalAttributes.includes(attr) && !this[camelCase(attr)])\n\t\t\t\tthrow Error(`${attr} cannot be empty`);\n\t\t});\n\n\t\tif (this.theme && this.theme !== 'light' && this.theme !== 'dark') {\n\t\t\tthrow Error(\n\t\t\t\t'Supported theme values are \"light\", \"dark\", or leave empty for using the OS theme'\n\t\t\t);\n\t\t}\n\t}\n\n\t#syncStateIdFromUrl() {\n\t\tconst { stepId, executionId } = getRunIdsFromUrl();\n\t\tthis.#flowState.update({ stepId, executionId });\n\t}\n\n\t#createSdk(projectId: string, baseUrl: string, telemetryKey: string) {\n\t\tconst fpKey = telemetryKey || undefined;\n\t\tconst fpLoad = !!fpKey;\n\t\tthis.sdk = createSdk({\n\t\t\t// Use persist tokens options in order to add existing tokens in outgoing requests (if they exists)\n\t\t\tpersistTokens: true,\n\t\t\t...BaseDescopeWc.sdkConfigOverrides,\n\t\t\tprojectId,\n\t\t\tbaseUrl,\n\t\t\tfpKey,\n\t\t\tfpLoad\n\t\t});\n\n\t\t// we are wrapping the next & start function so we can indicate the request status\n\t\t['start', 'next'].forEach((key) => {\n\t\t\tconst origFn = this.sdk.flow[key];\n\n\t\t\tthis.sdk.flow[key] = async (...args: Parameters<typeof origFn>) => {\n\t\t\t\tthis.nextRequestStatus.update({ isLoading: true });\n\t\t\t\ttry {\n\t\t\t\t\tconst resp = await origFn(...args);\n\t\t\t\t\treturn resp;\n\t\t\t\t} finally {\n\t\t\t\t\tthis.nextRequestStatus.update({ isLoading: false });\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\tasync #onFlowChange(\n\t\tcurrentState: FlowState,\n\t\t_prevState: FlowState,\n\t\tisChanged: IsChanged<FlowState>\n\t) {\n\t\tconst { projectId, baseUrl, telemetryKey } = currentState;\n\n\t\tconst shouldCreateSdkInstance =\n\t\t\tisChanged('projectId') || isChanged('baseUrl') || isChanged('telemetryKey');\n\n\t\tif (shouldCreateSdkInstance) {\n\t\t\tif (!projectId) return;\n\t\t\t// Initialize the sdk when got a new project id\n\t\t\tthis.#createSdk(projectId, baseUrl, telemetryKey);\n\t\t}\n\n\t\t// update runtime state\n\t\tthis.#updateExecState(currentState);\n\t}\n\n\t// we want to get the config only if we don't have it already\n\t#getConfig = withMemCache(async () => {\n\t\tconst configUrl = getContentUrl(this.projectId, CONFIG_FILENAME);\n\t\ttry {\n\t\t\tconst { body, headers } = await fetchContent(configUrl, 'json');\n\t\t\treturn { projectConfig: body, executionContext: { geo: headers['x-geo'] } };\n\t\t} catch (e) {\n\t\t\tthis.logger.error(\n\t\t\t\t'Cannot get config file',\n\t\t\t\t'make sure that your projectId & flowId are correct'\n\t\t\t);\n\t\t}\n\n\t\treturn undefined;\n\t});\n\n\tasync #loadFonts() {\n\t\tconst { projectConfig } = await this.#getConfig();\n\t\tprojectConfig?.cssTemplate?.[this.theme]?.typography?.fontFamilies?.forEach(\n\t\t\t(font: Record<string, any>) => loadFont(font.url)\n\t\t);\n\t}\n\n\t#handleTheme() {\n\t\tthis.#loadTheme();\n\t\tthis.#applyTheme();\n\t}\n\n\tasync #loadTheme() {\n\t\tconst styleEle = document.createElement('style');\n\t\tconst themeUrl = getContentUrl(this.projectId, THEME_FILENAME);\n\t\ttry {\n\t\t\tconst { body } = await fetchContent(themeUrl, 'text');\n\t\t\tstyleEle.innerText = body;\n\t\t} catch (e) {\n\t\t\tthis.logger.error(\n\t\t\t\t'Cannot fetch theme file',\n\t\t\t\t'make sure that your projectId & flowId are correct'\n\t\t\t);\n\t\t}\n\t\tthis.shadowRoot.appendChild(styleEle);\n\t}\n\n\t#applyTheme() {\n\t\tthis.rootElement.setAttribute('data-theme', this.theme);\n\t}\n\n\tasync getExecutionContext() {\n\t\tconst { executionContext } = await this.#getConfig();\n\n\t\treturn executionContext;\n\t}\n\n\t#disableDebugger() {\n\t\tthis.#debuggerEle?.remove();\n\t\tthis.#debuggerEle = null;\n\t}\n\n\tasync #handleDebugMode({ isDebug }) {\n\t\tif (isDebug) {\n\t\t\t// we are importing the debugger dynamically so we won't load it when it's not needed\n\t\t\tawait import('../debugger-wc');\n\n\t\t\tthis.#debuggerEle = document.createElement('descope-debugger') as HTMLElement & {\n\t\t\t\tupdateData: (data: DebuggerMessage | DebuggerMessage[]) => void;\n\t\t\t};\n\n\t\t\tObject.assign(this.#debuggerEle.style, {\n\t\t\t\tposition: 'fixed',\n\t\t\t\ttop: '0',\n\t\t\t\tright: '0',\n\t\t\t\theight: '100vh',\n\t\t\t\twidth: '100vw',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tzIndex: 99999\n\t\t\t});\n\n\t\t\tdocument.body.appendChild(this.#debuggerEle);\n\t\t} else {\n\t\t\tthis.#disableDebugger();\n\t\t}\n\t}\n\n\t#updateDebuggerMessages(title: string, description: string) {\n\t\tif (title && this.debug) this.#debuggerEle?.updateData({ title, description });\n\t}\n\n\tasync getFlowConfig() {\n\t\tconst { projectConfig } = await this.#getConfig();\n\n\t\treturn projectConfig?.flows?.[this.flowId] || {};\n\t}\n\n\tlogger = {\n\t\terror: (message: string, description = '') => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(message, description, new Error());\n\t\t\tthis.#updateDebuggerMessages(message, description);\n\t\t},\n\t\tinfo: (message: string, description = '') => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(message, description);\n\t\t}\n\t};\n\n\t#handleKeyPress() {\n\t\t// we want to simulate submit when the user presses Enter\n\t\tthis.rootElement.onkeydown = (e) => {\n\t\t\tif (e.key !== 'Enter') return;\n\n\t\t\te.preventDefault();\n\t\t\tconst buttons = this.rootElement.querySelectorAll('button');\n\n\t\t\t// in case there is a single button on the page, click on it\n\t\t\tif (buttons.length === 1) {\n\t\t\t\tbuttons[0].click();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst genericButtons = Array.from(buttons).filter(\n\t\t\t\t(button) => button.getAttribute('data-type') === 'button'\n\t\t\t);\n\n\t\t\t// in case there is a single \"generic\" button on the page, click on it\n\t\t\tif (genericButtons.length === 1) {\n\t\t\t\tgenericButtons[0].click();\n\t\t\t}\n\t\t};\n\t}\n\n\tasync connectedCallback() {\n\t\tif (this.shadowRoot.isConnected) {\n\t\t\tif (this.#shouldMountInFormEle()) {\n\t\t\t\tthis.#handleOuterForm();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.#validateAttrs();\n\n\t\t\tthis.#handleTheme();\n\n\t\t\tthis.#loadFonts();\n\n\t\t\tthis.#handleKeyPress();\n\n\t\t\tconst { executionId, stepId, token, code, exchangeError } = handleUrlParams();\n\n\t\t\t// we want to update the state when user clicks on back in the browser\n\t\t\twindow.addEventListener('popstate', this.#eventsCbRefs.popstate);\n\n\t\t\tthis.#flowState.subscribe(this.#onFlowChange.bind(this));\n\t\t\tthis.#debugState.subscribe(this.#handleDebugMode.bind(this));\n\n\t\t\tthis.#flowState.update({\n\t\t\t\tprojectId: this.projectId,\n\t\t\t\tflowId: this.flowId,\n\t\t\t\tbaseUrl: this.baseUrl,\n\t\t\t\ttenant: this.tenant,\n\t\t\t\tredirectUrl: this.redirectUrl,\n\t\t\t\tstepId,\n\t\t\t\texecutionId,\n\t\t\t\ttoken,\n\t\t\t\tcode,\n\t\t\t\texchangeError,\n\t\t\t\ttelemetryKey: this.telemetryKey\n\t\t\t});\n\n\t\t\tthis.#debugState.update({ isDebug: this.debug });\n\n\t\t\tthis.#init = true;\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.#flowState.unsubscribeAll();\n\t\tthis.#debugState.unsubscribeAll();\n\t\tthis.#disableDebugger();\n\t\twindow.removeEventListener('popstate', this.#eventsCbRefs.popstate);\n\t}\n\n\tattributeChangedCallback(attrName: string, oldValue: string, newValue: string) {\n\t\tif (!this.shadowRoot.isConnected || !this.#init) return;\n\n\t\tif (oldValue !== newValue && BaseDescopeWc.observedAttributes.includes(attrName)) {\n\t\t\tthis.#validateAttrs();\n\n\t\t\tconst isInitialRun = oldValue === null;\n\n\t\t\tthis.#flowState.update(({ stepId, executionId }) => {\n\t\t\t\tlet newStepId = stepId;\n\t\t\t\tlet newExecutionId = executionId;\n\n\t\t\t\t// If not initial run and we got a new project/flow, we want to restart the step\n\t\t\t\tif (!isInitialRun) {\n\t\t\t\t\tnewExecutionId = null;\n\t\t\t\t\tnewStepId = null;\n\t\t\t\t\tclearRunIdsFromUrl();\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t[camelCase(attrName)]: newValue,\n\t\t\t\t\tstepId: newStepId,\n\t\t\t\t\texecutionId: newExecutionId\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tthis.#debugState.update({ isDebug: this.debug });\n\t\t}\n\t}\n}\n\nexport default BaseDescopeWc;\n","import {\n\tCUSTOM_INTERACTIONS,\n\tDESCOPE_ATTRIBUTE_EXCLUDE_FIELD,\n\tELEMENT_TYPE_ATTRIBUTE,\n\tRESPONSE_ACTIONS\n} from '../constants';\nimport {\n\tfetchContent,\n\tgenerateFnsFromScriptTags,\n\tgetAnimationDirection,\n\tgetContentUrl,\n\tgetElementDescopeAttributes,\n\thandleAutoFocus,\n\tisConditionalLoginSupported,\n\treplaceWithScreenState,\n\tsetTOTPVariable,\n\tState,\n\twithMemCache\n} from '../helpers';\nimport { calculateCondition } from '../helpers/conditions';\nimport { getLastAuth, setLastAuth } from '../helpers/lastAuth';\nimport { IsChanged } from '../helpers/state';\nimport { disableWebauthnButtons } from '../helpers/templates';\nimport {\n\tDirection,\n\tFlowState,\n\tNextFn,\n\tNextFnReturnPromiseValue,\n\tSdkConfig,\n\tStepState\n} from '../types';\nimport BaseDescopeWc from './BaseDescopeWc';\n\n// this class is responsible for WC flow execution\nclass DescopeWc extends BaseDescopeWc {\n\tstatic set sdkConfigOverrides(config: Partial<SdkConfig>) {\n\t\tBaseDescopeWc.sdkConfigOverrides = config;\n\t}\n\n\tflowState: State<FlowState>;\n\n\tstepState = new State<StepState>({} as StepState, { updateOnlyOnChange: false });\n\n\t#currentInterval: NodeJS.Timeout;\n\n\t#conditionalUiAbortController = null;\n\n\tconstructor() {\n\t\tconst flowState = new State<FlowState>();\n\t\tsuper(flowState.update.bind(flowState));\n\n\t\tthis.flowState = flowState;\n\t}\n\n\tasync connectedCallback() {\n\t\tif (this.shadowRoot.isConnected) {\n\t\t\tthis.flowState?.subscribe(this.onFlowChange.bind(this));\n\t\t\tthis.stepState?.subscribe(this.onStepChange.bind(this));\n\t\t}\n\t\tawait super.connectedCallback();\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\n\t\tthis.flowState.unsubscribeAll();\n\t\tthis.stepState.unsubscribeAll();\n\t}\n\n\tasync onFlowChange(\n\t\tcurrentState: FlowState,\n\t\tprevState: FlowState,\n\t\tisChanged: IsChanged<FlowState>\n\t) {\n\t\tconst {\n\t\t\tprojectId,\n\t\t\tflowId,\n\t\t\ttenant,\n\t\t\tstepId,\n\t\t\texecutionId,\n\t\t\taction,\n\t\t\tscreenId,\n\t\t\tscreenState,\n\t\t\tredirectTo,\n\t\t\tredirectUrl,\n\t\t\ttoken,\n\t\t\tcode,\n\t\t\texchangeError,\n\t\t\twebauthnTransactionId,\n\t\t\twebauthnOptions\n\t\t} = currentState;\n\n\t\tif (this.#currentInterval) {\n\t\t\tthis.#resetCurrentInterval();\n\t\t}\n\n\t\tlet startScreenId: string;\n\t\tlet conditionInteractionId: string;\n\t\tconst loginId = this.sdk.getLastUserLoginId();\n\n\t\t// if there is no execution id we should start a new flow\n\t\tif (!executionId) {\n\t\t\tif (!flowId) return;\n\t\t\tconst flowConfig = await this.getFlowConfig();\n\n\t\t\t({ startScreenId = flowConfig.startScreenId, conditionInteractionId } = calculateCondition(\n\t\t\t\tflowConfig.condition,\n\t\t\t\t{\n\t\t\t\t\tloginId,\n\t\t\t\t\tcode\n\t\t\t\t}\n\t\t\t));\n\n\t\t\tif (!startScreenId) {\n\t\t\t\tconst inputs = code\n\t\t\t\t\t? {\n\t\t\t\t\t\t\texchangeCode: code,\n\t\t\t\t\t\t\tidpInitiated: true\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\t\tconst sdkResp = await this.sdk.flow.start(\n\t\t\t\t\tflowId,\n\t\t\t\t\t{\n\t\t\t\t\t\ttenant,\n\t\t\t\t\t\t...(redirectUrl && { redirectUrl })\n\t\t\t\t\t},\n\t\t\t\t\tconditionInteractionId,\n\t\t\t\t\t'',\n\t\t\t\t\tinputs\n\t\t\t\t);\n\n\t\t\t\tthis.#handleSdkResponse(sdkResp);\n\t\t\t\tif (sdkResp?.data?.status !== 'completed') {\n\t\t\t\t\tthis.flowState.update({ code: undefined });\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// if there is a descope url param on the url its because the user clicked on email link or redirected back to the app\n\t\t// we should call next with the params\n\t\tif (\n\t\t\texecutionId &&\n\t\t\t((isChanged('token') && token) ||\n\t\t\t\t(isChanged('code') && code) ||\n\t\t\t\t(isChanged('exchangeError') && exchangeError))\n\t\t) {\n\t\t\tconst sdkResp = await this.sdk.flow.next(executionId, stepId, CUSTOM_INTERACTIONS.submit, {\n\t\t\t\ttoken,\n\t\t\t\texchangeCode: code,\n\t\t\t\texchangeError\n\t\t\t});\n\t\t\tthis.#handleSdkResponse(sdkResp);\n\t\t\tthis.flowState.update({ token: undefined, code: undefined, exchangeError: undefined }); // should happen after handleSdkResponse, otherwise we will not have screen id on the next run\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === RESPONSE_ACTIONS.redirect) {\n\t\t\tif (!redirectTo) {\n\t\t\t\tthis.logger.error('Did not get redirect url');\n\t\t\t}\n\t\t\twindow.location.assign(redirectTo);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === RESPONSE_ACTIONS.webauthnCreate || action === RESPONSE_ACTIONS.webauthnGet) {\n\t\t\tif (!webauthnTransactionId || !webauthnOptions) {\n\t\t\t\tthis.logger.error('Did not get webauthn transaction id or options');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.#conditionalUiAbortController?.abort();\n\t\t\tthis.#conditionalUiAbortController = null;\n\n\t\t\tlet response: string;\n\t\t\tlet cancelWebauthn;\n\t\t\ttry {\n\t\t\t\tresponse =\n\t\t\t\t\taction === RESPONSE_ACTIONS.webauthnCreate\n\t\t\t\t\t\t? await this.sdk.webauthn.helpers.create(webauthnOptions)\n\t\t\t\t\t\t: await this.sdk.webauthn.helpers.get(webauthnOptions);\n\t\t\t} catch (e) {\n\t\t\t\tif (e.name !== 'NotAllowedError') {\n\t\t\t\t\tthis.logger.error(e.message);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcancelWebauthn = true;\n\t\t\t}\n\t\t\t// Call next with the response and transactionId\n\t\t\tconst sdkResp = await this.sdk.flow.next(executionId, stepId, CUSTOM_INTERACTIONS.submit, {\n\t\t\t\ttransactionId: webauthnTransactionId,\n\t\t\t\tresponse,\n\t\t\t\tcancelWebauthn\n\t\t\t});\n\t\t\tthis.#handleSdkResponse(sdkResp);\n\t\t}\n\n\t\tif (action === RESPONSE_ACTIONS.poll) {\n\t\t\tthis.#currentInterval = setInterval(async () => {\n\t\t\t\tconst sdkResp = await this.sdk.flow.next(\n\t\t\t\t\texecutionId,\n\t\t\t\t\tstepId,\n\t\t\t\t\tCUSTOM_INTERACTIONS.polling,\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tthis.#handleSdkResponse(sdkResp);\n\t\t\t}, 2000);\n\t\t}\n\n\t\t// if there is no screen id (probably due to page refresh) we should get it from the server\n\t\tif (!screenId && !startScreenId) {\n\t\t\tthis.logger.info('Refreshing the page during a flow is not supported yet');\n\t\t\treturn;\n\t\t}\n\n\t\t// generate step state update data\n\t\tconst stepStateUpdate: Partial<StepState> = {\n\t\t\tdirection: getAnimationDirection(+stepId, +prevState.stepId),\n\t\t\tscreenState: {\n\t\t\t\t...screenState,\n\t\t\t\tlastAuth: {\n\t\t\t\t\tloginId,\n\t\t\t\t\tname: this.sdk.getLastUserDisplayName() || loginId\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUrl: getContentUrl(projectId, `${startScreenId || screenId}.html`)\n\t\t};\n\n\t\tconst lastAuth = getLastAuth(loginId);\n\n\t\tif (startScreenId) {\n\t\t\tstepStateUpdate.next = (interactionId, inputs) =>\n\t\t\t\tthis.sdk.flow.start(flowId, { tenant, lastAuth }, conditionInteractionId, interactionId, {\n\t\t\t\t\t...inputs,\n\t\t\t\t\t...(code && { exchangeCode: code, idpInitiated: true })\n\t\t\t\t});\n\t\t} else if (\n\t\t\tisChanged('projectId') ||\n\t\t\tisChanged('baseUrl') ||\n\t\t\tisChanged('executionId') ||\n\t\t\tisChanged('stepId')\n\t\t) {\n\t\t\tstepStateUpdate.next = (...args) => this.sdk.flow.next(executionId, stepId, ...args);\n\t\t}\n\n\t\t// update step state\n\t\tthis.stepState.update(stepStateUpdate);\n\t}\n\n\t#resetCurrentInterval = () => {\n\t\tclearInterval(this.#currentInterval);\n\t\tthis.#currentInterval = null;\n\t};\n\n\t#handleSdkResponse = (sdkResp: NextFnReturnPromiseValue) => {\n\t\tif (!sdkResp?.ok) {\n\t\t\tthis.#resetCurrentInterval();\n\t\t\tthis.#dispatch('error', sdkResp?.error);\n\t\t\tconst defaultMessage = sdkResp?.response?.url;\n\t\t\tconst defaultDescription = `${sdkResp?.response?.status} - ${sdkResp?.response?.statusText}`;\n\n\t\t\tthis.logger.error(\n\t\t\t\tsdkResp?.error?.errorDescription || defaultMessage,\n\t\t\t\tsdkResp?.error?.errorMessage || defaultDescription\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst errorText = sdkResp.data?.screen?.state?.errorText;\n\t\tif (errorText) {\n\t\t\tthis.logger.error(errorText);\n\t\t}\n\n\t\tif (sdkResp.data?.error) {\n\t\t\tthis.logger.error(\n\t\t\t\t`[${sdkResp.data.error.code}]: ${sdkResp.data.error.description}`,\n\t\t\t\tsdkResp.data.error.message\n\t\t\t);\n\t\t}\n\n\t\tconst { status, authInfo, lastAuth } = sdkResp.data;\n\n\t\tif (status === 'completed') {\n\t\t\tsetLastAuth(lastAuth);\n\t\t\tthis.#resetCurrentInterval();\n\t\t\tthis.#dispatch('success', authInfo);\n\t\t\treturn;\n\t\t}\n\n\t\tconst { executionId, stepId, action, screen, redirect, webauthn } = sdkResp.data;\n\n\t\tif (action === RESPONSE_ACTIONS.poll) {\n\t\t\t// We only update action because the polling response action does not return extra information\n\t\t\tthis.flowState.update({\n\t\t\t\taction\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tthis.flowState.update({\n\t\t\tstepId,\n\t\t\texecutionId,\n\t\t\taction,\n\t\t\tredirectTo: redirect?.url,\n\t\t\tscreenId: screen?.id,\n\t\t\tscreenState: screen?.state,\n\t\t\twebauthnTransactionId: webauthn?.transactionId,\n\t\t\twebauthnOptions: webauthn?.options\n\t\t});\n\t};\n\n\t// we want to get the start params only if we don't have it already\n\t#getWebauthnConditionalUiStartParams = withMemCache(async () => {\n\t\ttry {\n\t\t\tconst startResp = await this.sdk.webauthn.signIn.start('', window.location.origin); // when using conditional UI we need to call start without identifier\n\t\t\tif (!startResp.ok) {\n\t\t\t\tthis.logger.error('Webauthn start failed', startResp?.error?.errorMessage);\n\t\t\t}\n\t\t\treturn startResp.data;\n\t\t} catch (err) {\n\t\t\tthis.logger.error('Webauthn start failed', err.message);\n\t\t}\n\n\t\treturn undefined;\n\t});\n\n\t/**\n\t * this is needed because Conditional UI does not work on all input names\n\t * we need to add a prefix to the input name so it will trigger the autocomplete dialog\n\t * but we want to remove it once the user starts typing because we want this field to be sent to the server with the correct name\n\t */\n\n\t// eslint-disable-next-line class-methods-use-this\n\t#handleConditionalUiInput(inputEle: HTMLInputElement) {\n\t\tconst ignoreList = ['email'];\n\t\tconst origName = inputEle.name;\n\n\t\tif (!ignoreList.includes(origName)) {\n\t\t\tconst conditionalUiSupportName = `user-${origName}`;\n\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tinputEle.name = conditionalUiSupportName;\n\n\t\t\tinputEle.addEventListener('input', () => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tinputEle.name = inputEle.value ? origName : conditionalUiSupportName;\n\t\t\t});\n\t\t}\n\t}\n\n\tasync #handleWebauthnConditionalUi(fragment: DocumentFragment, next: NextFn) {\n\t\tthis.#conditionalUiAbortController?.abort();\n\n\t\tconst conditionalUiInput = fragment.querySelector(\n\t\t\t'input[autocomplete=\"webauthn\"]'\n\t\t) as HTMLInputElement;\n\n\t\tif (conditionalUiInput && (await isConditionalLoginSupported())) {\n\t\t\tconst { options, transactionId } = (await this.#getWebauthnConditionalUiStartParams()) || {};\n\n\t\t\tif (options && transactionId) {\n\t\t\t\tthis.#handleConditionalUiInput(conditionalUiInput);\n\n\t\t\t\t// we need the abort controller so we can cancel the current webauthn session in case the user clicked on a webauthn button, and we need to start a new session\n\t\t\t\tthis.#conditionalUiAbortController = new AbortController();\n\n\t\t\t\t// we should not wait for this fn, it will call next when the user uses his passkey on the input\n\t\t\t\tthis.sdk.webauthn.helpers\n\t\t\t\t\t.conditional(options, this.#conditionalUiAbortController)\n\t\t\t\t\t.then(async (response) => {\n\t\t\t\t\t\tconst resp = await next(conditionalUiInput.id, { transactionId, response });\n\t\t\t\t\t\tthis.#handleSdkResponse(resp);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tif (err.name !== 'AbortError') {\n\t\t\t\t\t\t\tthis.logger.error('Conditional login failed', err.message);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tasync onStepChange(currentState: StepState, prevState: StepState) {\n\t\tconst { htmlUrl, direction, next, screenState } = currentState;\n\n\t\tconst stepTemplate = document.createElement('template');\n\t\tconst { body } = await fetchContent(htmlUrl, 'text');\n\t\tstepTemplate.innerHTML = body;\n\t\tconst clone = stepTemplate.content.cloneNode(true) as DocumentFragment;\n\n\t\tconst scriptFns = generateFnsFromScriptTags(clone, await this.getExecutionContext());\n\n\t\t// we want to disable the webauthn buttons if it's not supported on the browser\n\t\tif (!this.sdk.webauthn.helpers.isSupported()) {\n\t\t\tdisableWebauthnButtons(clone);\n\t\t} else {\n\t\t\tawait this.#handleWebauthnConditionalUi(clone, next);\n\t\t}\n\n\t\treplaceWithScreenState(clone, screenState);\n\n\t\t// put the totp variable on the root element, which is the top level 'div'\n\t\tsetTOTPVariable(clone.querySelector('div'), screenState?.totp?.image);\n\n\t\tconst injectNextPage = async () => {\n\t\t\ttry {\n\t\t\t\tscriptFns.forEach((fn) => {\n\t\t\t\t\tfn();\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tthis.logger.error(e.message);\n\t\t\t}\n\n\t\t\tthis.rootElement.replaceChildren(clone);\n\n\t\t\t// If before html url was empty, we deduce its the first time a screen is shown\n\t\t\tconst isFirstScreen = !prevState.htmlUrl;\n\n\t\t\thandleAutoFocus(this.rootElement, this.autoFocus, isFirstScreen);\n\n\t\t\tthis.#hydrate(next);\n\t\t\tthis.#dispatch('page-updated', {});\n\t\t\tconst loader = this.rootElement.querySelector(`[${ELEMENT_TYPE_ATTRIBUTE}=\"polling\"]`);\n\t\t\tif (loader) {\n\t\t\t\t// Loader component in the screen triggers polling interaction\n\t\t\t\tconst response = await next(CUSTOM_INTERACTIONS.polling, {});\n\t\t\t\tthis.#handleSdkResponse(response);\n\t\t\t}\n\t\t};\n\n\t\t// no animation\n\t\tif (!direction) {\n\t\t\tinjectNextPage();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#handleAnimation(injectNextPage, direction);\n\t}\n\n\t#validateInputs() {\n\t\treturn Array.from(this.shadowRoot.querySelectorAll('.descope-input')).every(\n\t\t\t(input: HTMLInputElement) => {\n\t\t\t\tinput.reportValidity();\n\t\t\t\treturn input.checkValidity();\n\t\t\t}\n\t\t);\n\t}\n\n\t#getFormData() {\n\t\treturn Array.from(\n\t\t\tthis.shadowRoot.querySelectorAll(`*[name]:not([${DESCOPE_ATTRIBUTE_EXCLUDE_FIELD}])`)\n\t\t).reduce(\n\t\t\t(acc, input: HTMLInputElement) =>\n\t\t\t\tinput.name ? Object.assign(acc, { [input.name]: input.value }) : acc,\n\t\t\t{}\n\t\t);\n\t}\n\n\t#handleSubmitButtonLoader(submitter: HTMLButtonElement) {\n\t\tconst unsubscribeNextRequestStatus = this.nextRequestStatus.subscribe(({ isLoading }) => {\n\t\t\tif (isLoading) {\n\t\t\t\tsubmitter?.classList?.add('loading');\n\t\t\t} else {\n\t\t\t\tthis.nextRequestStatus.unsubscribe(unsubscribeNextRequestStatus);\n\t\t\t\tsubmitter?.classList?.remove('loading');\n\t\t\t}\n\t\t});\n\t}\n\n\tasync #handleSubmit(submitter: HTMLButtonElement, next: NextFn) {\n\t\tif (submitter.formNoValidate || this.#validateInputs()) {\n\t\t\tconst submitterId = submitter?.getAttribute('id');\n\n\t\t\tthis.#handleSubmitButtonLoader(submitter);\n\n\t\t\tconst formData = this.#getFormData();\n\t\t\tconst eleDescopeAttrs = getElementDescopeAttributes(submitter);\n\n\t\t\tconst actionArgs = {\n\t\t\t\t...eleDescopeAttrs,\n\t\t\t\t...formData,\n\t\t\t\t// 'origin' is required to start webauthn. For now we'll add it to every request\n\t\t\t\torigin: window.location.origin\n\t\t\t};\n\n\t\t\tconst sdkResp = await next(submitterId, actionArgs);\n\n\t\t\tthis.#handleSdkResponse(sdkResp);\n\t\t}\n\t}\n\n\t#hydrate(next: NextFn) {\n\t\t// hydrating the page\n\t\tthis.rootElement.querySelectorAll('button').forEach((button) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tbutton.onclick = () => {\n\t\t\t\tthis.#handleSubmit(button, next);\n\t\t\t};\n\t\t});\n\t}\n\n\t#handleAnimation(injectNextPage: () => void, direction: Direction) {\n\t\tthis.rootElement.addEventListener(\n\t\t\t'transitionend',\n\t\t\t() => {\n\t\t\t\tthis.rootElement.classList.remove('fade-out');\n\t\t\t\tinjectNextPage();\n\t\t\t},\n\t\t\t{ once: true }\n\t\t);\n\n\t\tconst transitionClass = direction === Direction.forward ? 'slide-forward' : 'slide-backward';\n\n\t\tArray.from(this.rootElement.getElementsByClassName('input-container')).forEach((ele, i) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t(ele as HTMLElement).style['transition-delay'] = `${i * 40}ms`;\n\t\t\tele.classList.add(transitionClass);\n\t\t});\n\n\t\tthis.rootElement.classList.add('fade-out');\n\t}\n\n\t#dispatch(eventName: string, detail: any) {\n\t\tthis.dispatchEvent(new CustomEvent(eventName, { detail }));\n\t}\n}\n\nexport default DescopeWc;\n","import { DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY, IS_LOCAL_STORAGE } from '../constants';\nimport { NextFnReturnPromiseValue } from '../types';\n\nexport function getLastAuth(loginId: string) {\n\tconst lastAuth = {};\n\tif (loginId) {\n\t\ttry {\n\t\t\tObject.assign(\n\t\t\t\tlastAuth,\n\t\t\t\tJSON.parse(localStorage.getItem(DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY))\n\t\t\t);\n\t\t} catch (e) {\n\t\t\t/* empty */\n\t\t}\n\t}\n\treturn lastAuth;\n}\n\n// save last auth to local storage\nexport function setLastAuth(lastAuth: NextFnReturnPromiseValue['data']['lastAuth']) {\n\tif (!lastAuth?.authMethod) {\n\t\treturn;\n\t}\n\tif (IS_LOCAL_STORAGE) {\n\t\tlocalStorage.setItem(DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY, JSON.stringify(lastAuth));\n\t}\n}\n","import DescopeWc from './DescopeWc';\n\ncustomElements.define('descope-wc', DescopeWc);\nexport default DescopeWc;\n\nexport type { AutoFocusOptions, ThemeOptions } from '../types';\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","get","__classPrivateFieldSet","set","IS_LOCAL_STORAGE","localStorage","BASE_CONTENT_URL","getItem","URL_RUN_IDS_PARAM_NAME","URL_TOKEN_PARAM_NAME","URL_CODE_PARAM_NAME","URL_ERR_PARAM_NAME","DESCOPE_ATTRIBUTE_EXCLUDE_FIELD","DESCOPE_LAST_AUTH_LOCAL_STORAGE_KEY","ELEMENT_TYPE_ATTRIBUTE","RESPONSE_ACTIONS","ASSETS_FOLDER","CUSTOM_INTERACTIONS","Direction","getUrlParam","paramName","URLSearchParams","window","location","search","resetUrlParam","history","replaceState","newUrl","URL","href","delete","toString","fetchContent","url","returnType","res","fetch","cache","ok","Error","body","headers","fromEntries","entries","pathJoin","paths","join","replace","getContentUrl","projectId","filename","pathname","getAnimationDirection","currentIdx","prevIdx","Number","isNaN","forward","backward","getRunIdsFromUrl","executionId","stepId","split","clearRunIdsFromUrl","camelCase","x","toUpperCase","handleUrlParams","token","undefined","code","exchangeError","withMemCache","fn","prevArgs","args","array2","array1","every","index","getChromiumVersion","_b","navigator","userAgentData","_a","brands","find","brand","version","parseFloat","compareObjects","objectA","objectB","aProperties","getOwnPropertyNames","bProperties","propName","valA","valB","State","constructor","init","updateOnlyOnChange","_State_state","_State_subscribers","_State_token","_State_updateOnlyOnChange","update","newState","internalNewState","nextState","prevState","freeze","setTimeout","values","forEach","cb","attrName","createIsChanged","current","subscribe","unsubscribe","isFound","unsubscribeAll","replaceWithScreenState","baseEle","screenState","eleType","message","querySelectorAll","ele","textContent","classList","replaceElementMessage","errorText","screenInputs","name","Array","from","inputEle","replaceElementInputs","inputs","provisionUrl","replaceProvisionURL","totp","inEle","text","_","match","getByPath","obj","reduce","prev","applyTemplates","replaceElementTemplates","isConditionalLoginSupported","timeout","callback","PublicKeyCredential","isConditionalMediationAvailable","isUserVerifyingPlatformAuthenticatorAvailable","console","warn","isSupported","all","arr","CHROMIUM_VERSION_THAT_SUPPORTS_PASSKEYS","race","timer","clearTimeout","error","catch","err","conditions","ctx","loginId","empty","idpInitiated","r","atob","bind","String","o","a","c","charAt","fromCharCode","header","JSON","parse","decodeURIComponent","charCodeAt","FUNC_ERROR_TEXT","HASH_UNDEFINED","INFINITY","funcTag","genTag","symbolTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","freeGlobal","global","freeSelf","self","root","Function","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","exec","keys","IE_PROTO","funcToString","objectToString","reIsNative","RegExp","Symbol","splice","Map","getNative","nativeCreate","symbolProto","symbolToString","Hash","clear","entry","ListCache","MapCache","assocIndexOf","array","key","other","baseGet","object","path","isArray","type","isSymbol","test","isKey","stringToPath","toKey","baseIsNative","isObject","func","pattern","tag","isFunction","isHostObject","toSource","getMapData","map","data","__data__","getValue","pop","push","hash","string","memoize","baseToString","number","quote","resolver","memoized","Cache","isObjectLike","lodash_get","defaultValue","email","phone","u","d","start","finish","l","g","h","v","Headers","stringify","Body","Url","method","Method","title","Title","status","Status","build","flatMap","m","post","put","I","b","k","Authorization","y","baseUrl","baseConfig","logger","hooks","cookiePolicy","async","log","clone","json","statusText","beforeRequest","queryParams","baseHeaders","credentials","afterRequest","O","TOO_MANY_REQUESTS","w","j","tenants","U","exp","Date","getTime","R","q","response","retryAfter","parseInt","E","$","validate","S","M","T","A","L","z","J","N","C","D","Z","B","exchange","F","K","Q","Y","sms","whatsapp","waiting","running","completed","failed","signUp","signIn","verify","G","V","W","X","ee","te","URI","loginOptions","signUpOrIn","user","waitForSession","pollingIntervalMs","timeoutMs","Math","max","min","setInterval","pendingRef","clearInterval","errorDescription","errorCode","ne","se","oe","flowId","options","conditionInteractionId","interactionId","input","ie","ae","re","ue","de","le","ce","facebook","github","google","microsoft","gitlab","apple","discord","linkedin","pe","ge","redirect","provider","redirectURL","he","updatePhone","ve","fe","me","Ie","be","ke","ye","Oe","we","tenant","je","Ue","Re","xe","Pe","qe","Ee","$e","Se","Me","Te","Ae","Le","ze","origin","transactionId","He","Ne","Ce","concat","accessKey","otp","magicLink","enchantedLink","oauth","saml","webauthn","flow","refresh","logout","logoutAll","isJwtExpired","getJwtPermissions","getJwtRoles","httpClient","allSettled","reason","_e","shift","Ze","DeliveryMethods","to","pack","ar","slice","postpone","exclude","random","pow","startedAt","finishedAt","attempts","scriptUrlPattern","apiKey","encodeURIComponent","load","ldi","document","blockedURI","protocol","addEventListener","removeEventListener","createElement","parentNode","removeChild","head","getElementsByTagName","onload","onerror","src","appendChild","getOwnPropertyDescriptor","configurable","writable","target","source","api","converter","defaultAttributes","attributes","expires","now","toUTCString","escape","stringifiedAttributes","attributeName","cookie","write","create","cookies","jar","parts","foundKey","read","remove","withAttributes","withConverter","authInfo","setItem","removeItem","vsid","vrid","expiry","fpData","lastAuth","pub","sub","refreshJwt","sessionJwt","cookiePath","cookieDomain","cookieExpiration","domain","sameSite","secure","publicKey","challenge","id","excludeCredentials","rawId","attestationObject","clientDataJSON","signal","mediation","allowCredentials","authenticatorData","signature","userHandle","Uint8Array","buffer","btoa","helpers","conditional","redirectUrl","deviceInfo","webAuthnSupport","H","fpKey","fpLoad","substring","endpoint","requestId","linkedId","FB_DEBUG","clearAllTimers","setTimer","onSessionTokenChange","onUserChange","loginIds","getLastUserLoginId","getLastUserDisplayName","persistTokens","sessionTokenViaCookie","getRefreshToken","getSessionToken","initTemplate","innerHTML","BaseDescopeWc","HTMLElement","updateExecState","super","_BaseDescopeWc_init","_BaseDescopeWc_flowState","_BaseDescopeWc_debugState","nextRequestStatus","isLoading","_BaseDescopeWc_debuggerEle","_BaseDescopeWc_eventsCbRefs","popstate","_BaseDescopeWc_instances","_BaseDescopeWc_syncStateIdFromUrl","_BaseDescopeWc_updateExecState","_BaseDescopeWc_getConfig","configUrl","projectConfig","executionContext","geo","description","info","_BaseDescopeWc_initShadowDom","observedAttributes","getAttribute","debug","theme","matchMedia","matches","telemetryKey","autoFocus","getExecutionContext","getFlowConfig","flows","connectedCallback","shadowRoot","isConnected","_BaseDescopeWc_shouldMountInFormEle","_BaseDescopeWc_handleOuterForm","_BaseDescopeWc_validateAttrs","_BaseDescopeWc_handleTheme","_BaseDescopeWc_loadFonts","_BaseDescopeWc_handleKeyPress","_BaseDescopeWc_onFlowChange","_BaseDescopeWc_handleDebugMode","isDebug","disconnectedCallback","_BaseDescopeWc_disableDebugger","attributeChangedCallback","oldValue","newValue","includes","isInitialRun","newStepId","newExecutionId","attachShadow","mode","content","cloneNode","rootElement","querySelector","isChrome","userAgent","vendor","host","closest","wc","form","parentElement","optionalAttributes","attr","_BaseDescopeWc_createSdk","sdk","createSdk","sdkConfigOverrides","origFn","currentState","_prevState","isChanged","_d","_c","cssTemplate","typography","fontFamilies","font","rel","loadFont","_BaseDescopeWc_loadTheme","_BaseDescopeWc_applyTheme","styleEle","themeUrl","innerText","setAttribute","import","style","position","top","right","height","width","pointerEvents","zIndex","_BaseDescopeWc_updateDebuggerMessages","updateData","onkeydown","preventDefault","buttons","click","genericButtons","filter","button","DescopeWc","flowState","stepState","_DescopeWc_currentInterval","_DescopeWc_conditionalUiAbortController","_DescopeWc_resetCurrentInterval","_DescopeWc_handleSdkResponse","sdkResp","_DescopeWc_instances","_DescopeWc_dispatch","defaultMessage","defaultDescription","errorMessage","_h","_g","_f","screen","_j","authMethod","setLastAuth","action","redirectTo","screenId","webauthnTransactionId","webauthnOptions","_DescopeWc_getWebauthnConditionalUiStartParams","startResp","config","onFlowChange","onStepChange","_super","startScreenId","flowConfig","condition","checkFunc","operator","conditionResult","met","unmet","calculateCondition","exchangeCode","cancelWebauthn","abort","stepStateUpdate","direction","htmlUrl","getLastAuth","stepTemplate","scriptFns","template","context","script","scriptId","scriptContent","getElementById","previousSibling","generateFnsFromScriptTags","_DescopeWc_handleWebauthnConditionalUi","rootEle","image","setProperty","setTOTPVariable","injectNextPage","replaceChildren","isFirstScreen","firstVisibleInput","focus","handleAutoFocus","_DescopeWc_hydrate","origName","conditionalUiSupportName","fragment","conditionalUiInput","_DescopeWc_handleConditionalUiInput","AbortController","resp","reportValidity","checkValidity","_DescopeWc_getFormData","acc","submitter","unsubscribeNextRequestStatus","add","_DescopeWc_handleSubmit","formNoValidate","_DescopeWc_validateInputs","submitterId","_DescopeWc_handleSubmitButtonLoader","formData","eleDescopeAttrs","descopeAttrName","actionArgs","onclick","_DescopeWc_handleAnimation","once","transitionClass","getElementsByClassName","eventName","detail","dispatchEvent","CustomEvent","customElements","define"],"mappings":"AA+BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAChC,EAEO,SAASQ,EAAOX,EAAGY,GACtB,IAAIb,EAAI,CAAA,EACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBACtB,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAC3DW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,IAF4B,CAItD,OAAOF,CACX,CA8DO,SAASiB,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAQ,CAAG,MAAOb,GAAKW,EAAOX,GAAO,CAC3F,SAASgB,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAU,CAAC,MAAOb,GAAKW,EAAOX,GAAO,CAC9F,SAASc,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBM,KAAKP,EAAWI,EAAY,CAC9GF,GAAMN,EAAYA,EAAUX,MAAMQ,EAASC,GAAc,KAAKS,OACtE,GACA,CA0JO,SAASK,EAAuBC,EAAUC,EAAOC,EAAMC,GAC1D,GAAa,MAATD,IAAiBC,EAAG,MAAM,IAAIC,UAAU,iDAC5C,GAAqB,mBAAVH,EAAuBD,IAAaC,IAAUE,GAAKF,EAAMI,IAAIL,GAAW,MAAM,IAAII,UAAU,4EACvG,MAAgB,MAATF,EAAeC,EAAa,MAATD,EAAeC,EAAE5B,KAAKyB,GAAYG,EAAIA,EAAEX,MAAQS,EAAMK,IAAIN,EACxF,CAEO,SAASO,EAAuBP,EAAUC,EAAOT,EAAOU,EAAMC,GACjE,GAAa,MAATD,EAAc,MAAM,IAAIE,UAAU,kCACtC,GAAa,MAATF,IAAiBC,EAAG,MAAM,IAAIC,UAAU,iDAC5C,GAAqB,mBAAVH,EAAuBD,IAAaC,IAAUE,GAAKF,EAAMI,IAAIL,GAAW,MAAM,IAAII,UAAU,2EACvG,MAAiB,MAATF,EAAeC,EAAE5B,KAAKyB,EAAUR,GAASW,EAAIA,EAAEX,MAAQA,EAAQS,EAAMO,IAAIR,EAAUR,GAASA,CACxG,CC/RA,MACaiB,EAA2C,oBAAjBC,aAC1BC,EACXF,GAAoBC,aAAaE,QAHN,qBAI5B,mCACYC,EAAyB,qBACzBC,EAAuB,IACvBC,EAAsB,OACtBC,EAAqB,MAErBC,EAAkC,qBAClCC,EAAsC,gBAEtCC,EAAyB,YAEzBC,EACF,WADEA,EAEN,OAFMA,EAGI,iBAHJA,EAIC,cAGDC,EAAgB,WAMhBC,EACJ,SADIA,EAEH,UCfV,IAAYC,MCJZ,SAASC,EAAYC,GAGpB,OAFkB,IAAIC,gBAAgBC,OAAOC,SAASC,QAErCvB,IAAImB,EACtB,CAgBA,SAASK,EAAcL,GACtB,GAAIE,OAAOI,QAAQC,cAAgBR,EAAYC,GAAY,CAC1D,MAAMQ,EAAS,IAAIC,IAAIP,OAAOC,SAASO,MACjCN,EAAS,IAAIH,gBAAgBO,EAAOJ,QAC1CA,EAAOO,OAAOX,GACdQ,EAAOJ,OAASA,EAAOQ,WACvBV,OAAOI,QAAQC,aAAa,CAAA,EAAI,GAAIC,EAAOI,WAC3C,CACF,CAEsB,SAAAC,EACrBC,EACAC,4CAKA,MAAMC,QAAYC,MAAMH,EAAK,CAAEI,MAAO,YACtC,IAAKF,EAAIG,GAER,MAAMC,MAAM,sBAAsBN,KAGnC,MAAO,CACNO,WAAYL,EAAID,GAAc,UAC9BO,QAASnF,OAAOoF,YAAYP,EAAIM,QAAQE,cAEzC,ED3CD,SAAY1B,GACXA,EAAA,SAAA,WACAA,EAAA,QAAA,SACA,CAHD,CAAYA,IAAAA,EAGX,CAAA,IC0CD,MAAM2B,EAAW,IAAIC,IAAoBA,EAAMC,KAAK,KAAKC,QAAQ,OAAQ,KAEzD,SAAAC,EAAcC,EAAmBC,GAChD,MAAMjB,EAAM,IAAIL,IAAIvB,GAGpB,OAFA4B,EAAIkB,SAAWP,EAASX,EAAIkB,SAAUF,EAAWlC,EAAemC,GAEzDjB,EAAIF,UACZ,CAEgB,SAAAqB,EAAsBC,EAAoBC,GACzD,IAAIC,OAAOC,MAAMH,KAAeE,OAAOC,MAAMF,GAC7C,OAAID,EAAaC,EAAgBrC,EAAUwC,QACvCJ,EAAaC,EAAgBrC,EAAUyC,cAA3C,CAED,CAEO,MAAMC,EAAmB,KAC/B,MAAOC,EAAc,GAAIC,EAAS,KA3D3B3C,EAAYX,IA2D2C,IAAIuD,MAAM,KAExE,MAAO,CAAEF,cAAaC,SAAQ,WAOfE,IACfvC,EAAcjB,EACf,CA0BO,MAAMyD,EAAavG,GAAcA,EAAEsF,QAAQ,OAAQkB,GAAMA,EAAE,GAAGC,gBA4CxDC,EAAkB,KAC9B,MAAMP,YAAEA,EAAWC,OAAEA,GAAWF,KAC5BC,GAAeC,IAClBE,IAGD,MAAMK,EAzEClD,EAAYV,SAAyB6D,EA0ExCD,GAtEJ5C,EAAchB,GA0Ed,MAAM8D,EAtECpD,EAAYT,SAAwB4D,EAuEvCC,GA/DJ9C,EAAcf,GAmEd,MAAM8D,EAvECrD,EAAYR,SAAuB2D,EA4E1C,OAJIE,GAhEJ/C,EAAcd,GAoEP,CAAEkD,cAAaC,SAAQO,QAAOE,OAAMC,gBAAe,EAgB9CC,EAAoCC,IAChD,IAAIC,EACArC,EACJ,MAAO,IAAIsC,KACV,OAAID,IARgCE,EAQID,GARnBE,EAQSH,GAPxB7G,SAAW+G,EAAO/G,QACzBgH,EAAOC,OAAM,CAAC5F,EAAY6F,IAAkB7F,IAAU0F,EAAOG,QAQ5DL,EAAWC,EACXtC,EAAQoC,KAAME,IAHwCtC,EARlC,IAACwC,EAAeD,CAanB,CACjB,EAwCWI,UAAqBC,EAAmC,UAAjB,OAAjBC,gBAAS,IAATA,eAAS,EAATA,UAAmBC,qBAAe,IAAAC,OAAA,EAAAA,EAAAC,6BAAQC,MAC5E,EAAGC,QAAOC,aAAwB,aAAVD,GAAwBE,WAAWD,iBCvO5D,SAASE,EAAeC,EAA8BC,GACrD,MAAMC,EAAcvI,OAAOwI,oBAAoBH,GACzCI,EAAczI,OAAOwI,oBAAoBF,GAE/C,GAAIC,EAAYhI,SAAWkI,EAAYlI,OACtC,OAAO,EAGR,IAAK,IAAIH,EAAI,EAAGA,EAAImI,EAAYhI,OAAQH,GAAK,EAAG,CAC/C,MAAMsI,EAAWH,EAAYnI,GAEvBuI,EAAON,EAAQK,GACfE,EAAON,EAAQI,GACrB,GAAa,OAATC,GAA0B,OAATC,GACpB,GAAID,IAASC,EACZ,OAAO,OAEF,GAAoB,iBAATD,GAAqC,iBAATC,GAE7C,IAAKR,EAAeO,EAAMC,GACzB,OAAO,OAEF,GAAID,IAASC,EACnB,OAAO,CAER,CAED,OAAO,CACR,CAEA,MAAMC,EASLC,YAAYC,EAAU,CAAO,GAAEC,mBAAEA,GAAqB,GAAS,IAR/DC,EAAUrG,IAAA/B,UAAA,GAEVqI,EAAAtG,IAAA/B,KAA+B,CAAA,GAE/BsI,EAAAvG,IAAA/B,KAAS,GAETuI,EAAAxG,IAAA/B,MAAsB,GAWtBA,KAAAwI,OAAUC,IACT,MAAMC,EAAuC,mBAAbD,EAA0BA,EAASnH,EAAAtB,KAAWoI,EAAA,MAAIK,EAE5EE,iCAAiBrH,EAAAtB,aAAgB0I,GACvC,IAAKpH,EAAAtB,KAAIuI,EAAA,OAAyBhB,EAAejG,EAAAtB,KAAIoI,EAAA,KAASO,GAAY,CACzE,MAAMC,EAAYtH,EAAAtB,YAClB8B,EAAA9B,KAAIoI,EAAUO,EAAS,KACvBxJ,OAAO0J,OAAOvH,EAAAtB,KAAIoI,EAAA,MAElBU,YAAW,KACV3J,OAAO4J,OAAOzH,EAAAtB,KAAIqI,EAAA,MAAeW,SAASC,GACzCA,EAAGN,EAAWC,ED2ClB,EAAgCpH,EAAUoH,IACzCM,GACA1H,EAAM0H,KAAcN,EAAUM,GC7CFC,CAAgBR,EAAWC,KACpD,GACC,EACH,GAtBD9G,EAAA9B,KAAIoI,EAAUF,EAAI,KAClBpG,EAAA9B,KAAIuI,EAAuBJ,EAAkB,IAC7C,CAEGiB,cACH,OAAYjK,OAAAC,OAAA,GAAAkC,EAAAtB,KAAIoI,EAAA,KAChB,CAmBDiB,UAAUJ,GAIT,OAHAnH,EAAe9B,KAAAsI,EAAAhH,EAAAtB,KAAAsI,EAAA,KAAA,OACfhH,EAAAtB,YAAkBsB,EAAAtB,KAAWsI,EAAA,MAAIW,EAE1B3H,EAAAtB,KAAIsI,EAAA,KAAQ1E,UACnB,CAED0F,YAAYrD,GACX,MAAMsD,IAAYjI,EAAAtB,KAAiBqI,EAAA,KAACpC,GAMpC,OAJIsD,UACIjI,EAAAtB,KAAIqI,EAAA,KAAcpC,GAGnBsD,CACP,CAEDC,iBAGC,OAFA1H,EAAA9B,KAAIqI,EAAgB,CAAE,EAAA,MAEf,CACP,0DClGF,MAuEaoB,EAAyB,CAACC,EAA2BC,WAvEpC,EAACD,EAA2BE,EAAiBC,EAAU,MACpEH,EAAQI,iBAAiB,IAAIpH,MAA2BkH,OAChEZ,SAASe,IAEhBA,EAAIC,YAAcH,EAClBE,EAAIE,UAAUJ,EAAU,SAAW,OAAO,OAAO,GAChD,EAkEFK,CAAsBR,EAAS,gBAAiBC,aAAA,EAAAA,EAAaQ,WA1DjC,EAACT,EAA2BU,KACxDjL,OAAOqF,QAAQ4F,GAAgB,CAAE,GAAEpB,SAAQ,EAAEqB,EAAMtJ,MACjCuJ,MAAMC,KACtBb,EAAQI,iBACP,wBAAwBO,YAAe7H,QAGhCwG,SAASwB,IAEjBA,EAASzJ,MAAQA,CAAK,GACrB,GACD,EAgDF0J,CAAqBf,EAASC,aAAW,EAAXA,EAAae,QAhBhB,EAAChB,EAA2BiB,KACvCjB,EAAQI,iBAAiB,IAAIpH,kBACrCsG,SAASe,IAEhBA,EAAIrG,KAAOiH,CAAY,GACtB,EAYFC,CAAoBlB,EAA4B,QAAnBzC,EAAA0C,aAAA,EAAAA,EAAakB,YAAM,IAAA5D,OAAA,EAAAA,EAAA0D,cAzBjB,EAACjB,EAA2BC,KAC3CD,EAAQI,iBAAiB,+BACjCd,SAAS8B,IAEhBA,EAAMd,YAVe,EAACe,EAAcpB,IACrCoB,EAAKnG,QAAQ,cAAc,CAACoG,EAAGC,KAAUC,OAVvBC,EAUiCxB,EAAasB,EAT3DtF,MAAM,KAAKyF,QAAO,CAACC,EAAMpK,KAASoK,aAAI,EAAJA,EAAOpK,KAAS,IAAIkK,GAD1C,IAACA,CAUoD,IASjDG,CAAeR,EAAMd,YAAaL,EAAY,GACjE,EAqBF4B,CAAwB7B,EAASC,EAAY,ECzEjC6B,EAA8BnF,GAAa,IAAW/F,OAAA,OAAA,OAAA,GAAA,oBH8NpCmL,EAAiBC,EG7N/C,IACExI,OAAOyI,sBACDA,oBAAqBC,kCAC3BD,oBAAoBE,8CAIrB,OADAC,QAAQC,KAAK,WAAY,oCAClB,EAER,IACC,MAAMC,EAAcrL,QAAQsL,IAAI,CACE,QAAjChF,EAAM/D,OAAOyI,2BAAoB,IAAA1E,OAAA,EAAAA,EAAE2E,kCACT,QAA1B9E,EAAA5D,OAAOyI,2BAAmB,IAAA7E,OAAA,EAAAA,EAAE+E,kDAC1BxK,MAAM6K,GAAQA,EAAIvF,OAAO5F,KAAYA,MAIlCoL,EAA0C,IAChD,aAAaxL,QAAQyL,KAAK,CACzBJ,GH0M4BP,EGzMb,IH0MjB,IAAI9K,SAAQ,CAACC,EAASC,KACrB,MAAMwL,EAAQvD,YAAW,KACxBjI,EAAO,IAAIuD,MAAM,2BAA2BqH,QAAc,GACxDA,GAEHC,SAAAA,GACE3K,IACAuL,aAAaD,GACbzL,EAAQG,EAAM,IAEdwL,IACAD,aAAaD,GACbxL,EAAO0L,EAAM,GAEd,KGxNoBC,OACnB,IAAM3F,KAAwBsF,KAGhC,CAAC,MAAOM,GAGR,OADAX,QAAQC,KAAK,WAAY,iCAAkCU,IACpD,CACP,CACF,MCjCaC,EAAqC,CACjD,mBAAoB,CACnB,YAAcC,KAAUA,EAAIC,QAC5BC,MAAQF,IAASA,EAAIC,SAEtBE,aAAc,CACb,UAAYH,KAAUA,EAAIxG,KAC1B,WAAawG,IAASA,EAAIxG,OCT5B,SAASjG,EAAEA,GAAGF,KAAK6J,QAAQ3J,CAAC,CAACA,EAAEN,UAAU,IAAIwE,MAAMlE,EAAEN,UAAUyK,KAAK,wBAAwB,IAAI0C,EAAE,oBAAoB7J,QAAQA,OAAO8J,MAAM9J,OAAO8J,KAAKC,KAAK/J,SAAS,SAAS6J,GAAG,IAAI1N,EAAE6N,OAAOH,GAAGnI,QAAQ,MAAM,IAAI,GAAGvF,EAAEK,OAAO,GAAG,EAAE,MAAM,IAAIQ,EAAE,qEAAqE,IAAI,IAAIV,EAAE2N,EAAEC,EAAE,EAAE7N,EAAE,EAAE8N,EAAE,GAAGF,EAAE9N,EAAEiO,OAAO/N,MAAM4N,IAAI3N,EAAE4N,EAAE,EAAE,GAAG5N,EAAE2N,EAAEA,EAAEC,IAAI,GAAGC,GAAGH,OAAOK,aAAa,IAAI/N,KAAK,EAAE4N,EAAE,IAAI,EAAED,EAAE,oEAAoEhN,QAAQgN,GAAG,OAAOE,CAAC,EAAoX,SAAS7N,EAAEU,GAAGF,KAAK6J,QAAQ3J,CAAC,CAAC,SAASiN,EAAEjN,EAAE6M,GAAG,GAAG,iBAAiB7M,EAAE,MAAM,IAAIV,EAAE,2BAA2B,IAAI2N,GAAE,KAAMJ,EAAEA,GAAG,CAAE,GAAES,OAAO,EAAE,EAAE,IAAI,OAAOC,KAAKC,MAA5gB,SAAWxN,GAAG,IAAIb,EAAEa,EAAE0E,QAAQ,KAAK,KAAKA,QAAQ,KAAK,KAAK,OAAOvF,EAAEK,OAAO,GAAG,KAAK,EAAE,MAAM,KAAK,EAAEL,GAAG,KAAK,MAAM,KAAK,EAAEA,GAAG,IAAI,MAAM,QAAQ,KAAK,4BAA4B,IAAI,OAAO,SAASa,GAAG,OAAOyN,mBAAmBZ,EAAE7M,GAAG0E,QAAQ,QAAQ,SAAS1E,EAAE6M,GAAG,IAAI1N,EAAE0N,EAAEa,WAAW,GAAGhK,SAAS,IAAImC,cAAc,OAAO1G,EAAEK,OAAO,IAAIL,EAAE,IAAIA,GAAG,IAAIA,CAAE,IAAG,CAAhK,CAAkKA,EAAE,CAAC,MAAMa,GAAG,OAAO6M,EAAE1N,EAAE,CAAC,CAAiKA,CAAEa,EAAEyF,MAAM,KAAKwH,IAAI,CAAC,MAAMjN,GAAG,MAAM,IAAIV,EAAE,4BAA4BU,EAAE2J,QAAQ,CAAC,CAACrK,EAAEI,UAAU,IAAIwE,MAAM5E,EAAEI,UAAUyK,KAAK,yKCUpoCwD,EAAkB,sBAGlBC,EAAiB,4BAGjBC,EAAW,IAGXC,EAAU,oBACVC,GAAS,6BACTC,GAAY,kBAGZC,GAAe,mDACfC,GAAgB,QAChBC,GAAe,MACfC,GAAa,mGASbC,GAAe,WAGfC,GAAe,8BAGfC,GAA8B,iBAAVC,GAAsBA,GAAUA,EAAOvP,SAAWA,QAAUuP,EAGhFC,GAA0B,iBAARC,MAAoBA,MAAQA,KAAKzP,SAAWA,QAAUyP,KAGxEC,GAAOJ,IAAcE,IAAYG,SAAS,cAATA,GAkCrC,IASMC,GATFC,GAAa1E,MAAM1K,UACnBqP,GAAYH,SAASlP,UACrBsP,GAAc/P,OAAOS,UAGrBuP,GAAaN,GAAK,sBAGlBO,IACEL,GAAM,SAASM,KAAKF,IAAcA,GAAWG,MAAQH,GAAWG,KAAKC,UAAY,KACvE,iBAAmBR,GAAO,GAItCS,GAAeP,GAAUrL,SAGzB/D,GAAiBqP,GAAYrP,eAO7B4P,GAAiBP,GAAYtL,SAG7B8L,GAAaC,OAAO,IACtBH,GAAa1P,KAAKD,IAAgB+E,QA7EjB,sBA6EuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5EgL,GAASf,GAAKe,OACdC,GAASb,GAAWa,OAGpBC,GAAMC,GAAUlB,GAAM,OACtBmB,GAAeD,GAAU5Q,OAAQ,UAGjC8Q,GAAcL,GAASA,GAAOhQ,eAAYsG,EAC1CgK,GAAiBD,GAAcA,GAAYrM,cAAWsC,EAS1D,SAASiK,GAAK3L,GACZ,IAAIoC,GAAS,EACTlH,EAAS8E,EAAUA,EAAQ9E,OAAS,EAGxC,IADAM,KAAKoQ,UACIxJ,EAAQlH,GAAQ,CACvB,IAAI2Q,EAAQ7L,EAAQoC,GACpB5G,KAAK+B,IAAIsO,EAAM,GAAIA,EAAM,GAC1B,CACH,CAyFA,SAASC,GAAU9L,GACjB,IAAIoC,GAAS,EACTlH,EAAS8E,EAAUA,EAAQ9E,OAAS,EAGxC,IADAM,KAAKoQ,UACIxJ,EAAQlH,GAAQ,CACvB,IAAI2Q,EAAQ7L,EAAQoC,GACpB5G,KAAK+B,IAAIsO,EAAM,GAAIA,EAAM,GAC1B,CACH,CAuGA,SAASE,GAAS/L,GAChB,IAAIoC,GAAS,EACTlH,EAAS8E,EAAUA,EAAQ9E,OAAS,EAGxC,IADAM,KAAKoQ,UACIxJ,EAAQlH,GAAQ,CACvB,IAAI2Q,EAAQ7L,EAAQoC,GACpB5G,KAAK+B,IAAIsO,EAAM,GAAIA,EAAM,GAC1B,CACH,CAsFA,SAASG,GAAaC,EAAOC,GAE3B,IADA,IA+SU3P,EAAO4P,EA/SbjR,EAAS+Q,EAAM/Q,OACZA,KACL,IA6SQqB,EA7SD0P,EAAM/Q,GAAQ,OA6SNiR,EA7SUD,IA8SA3P,GAAUA,GAAS4P,GAAUA,EA7SpD,OAAOjR,EAGX,OAAQ,CACV,CAUA,SAASkR,GAAQC,EAAQC,GAuDzB,IAAkB/P,EAtDhB+P,EA8FF,SAAe/P,EAAO8P,GACpB,GAAIE,GAAQhQ,GACV,OAAO,EAET,IAAIiQ,SAAcjQ,EAClB,GAAY,UAARiQ,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAATjQ,GAAiBkQ,GAASlQ,GAC5B,OAAO,EAET,OAAOqN,GAAc8C,KAAKnQ,KAAWoN,GAAa+C,KAAKnQ,IAC1C,MAAV8P,GAAkB9P,KAAS5B,OAAO0R,EACvC,CAzGSM,CAAML,EAAMD,GAAU,CAACC,GAuDvBC,GADShQ,EAtD+B+P,GAuDvB/P,EAAQqQ,GAAarQ,GAlD7C,IAHA,IAAI6F,EAAQ,EACRlH,EAASoR,EAAKpR,OAED,MAAVmR,GAAkBjK,EAAQlH,GAC/BmR,EAASA,EAAOQ,GAAMP,EAAKlK,OAE7B,OAAQA,GAASA,GAASlH,EAAUmR,OAAS3K,CAC/C,CAUA,SAASoL,GAAavQ,GACpB,IAAKwQ,GAASxQ,KA4GEyQ,EA5GiBzQ,EA6GxBqO,IAAeA,MAAcoC,GA5GpC,OAAO,EA2GX,IAAkBA,EAzGZC,EAoTN,SAAoB1Q,GAGlB,IAAI2Q,EAAMH,GAASxQ,GAAS0O,GAAe3P,KAAKiB,GAAS,GACzD,OAAO2Q,GAAO1D,GAAW0D,GAAOzD,EAClC,CAzTiB0D,CAAW5Q,IA3Z5B,SAAsBA,GAGpB,IAAII,GAAS,EACb,GAAa,MAATJ,GAA0C,mBAAlBA,EAAM6C,SAChC,IACEzC,KAAYJ,EAAQ,GAC1B,CAAM,MAAOb,GAAK,CAEhB,OAAOiB,CACT,CAiZsCyQ,CAAa7Q,GAAU2O,GAAalB,GACxE,OAAOiD,EAAQP,KAsJjB,SAAkBM,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOhC,GAAa1P,KAAK0R,EAC/B,CAAM,MAAOtR,GAAK,CACd,IACE,OAAQsR,EAAO,EACrB,CAAM,MAAOtR,GAAK,CACf,CACD,MAAO,EACT,CAhKsB2R,CAAS9Q,GAC/B,CAyCA,SAAS+Q,GAAWC,EAAKrB,GACvB,IA+CiB3P,EACbiQ,EAhDAgB,EAAOD,EAAIE,SACf,OAgDgB,WADZjB,SADajQ,EA9CA2P,KAgDmB,UAARM,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVjQ,EACU,OAAVA,GAjDDiR,EAAmB,iBAAPtB,EAAkB,SAAW,QACzCsB,EAAKD,GACX,CAUA,SAAShC,GAAUc,EAAQH,GACzB,IAAI3P,EAjeN,SAAkB8P,EAAQH,GACxB,OAAiB,MAAVG,OAAiB3K,EAAY2K,EAAOH,EAC7C,CA+dcwB,CAASrB,EAAQH,GAC7B,OAAOY,GAAavQ,GAASA,OAAQmF,CACvC,CAnUAiK,GAAKvQ,UAAUwQ,MAnEf,WACEpQ,KAAKiS,SAAWjC,GAAeA,GAAa,MAAQ,CAAA,CACtD,EAkEAG,GAAKvQ,UAAkB,OAtDvB,SAAoB8Q,GAClB,OAAO1Q,KAAK4B,IAAI8O,WAAe1Q,KAAKiS,SAASvB,EAC/C,EAqDAP,GAAKvQ,UAAUiC,IA1Cf,SAAiB6O,GACf,IAAIsB,EAAOhS,KAAKiS,SAChB,GAAIjC,GAAc,CAChB,IAAI7O,EAAS6Q,EAAKtB,GAClB,OAAOvP,IAAW2M,OAAiB5H,EAAY/E,CAChD,CACD,OAAOtB,GAAeC,KAAKkS,EAAMtB,GAAOsB,EAAKtB,QAAOxK,CACtD,EAoCAiK,GAAKvQ,UAAUgC,IAzBf,SAAiB8O,GACf,IAAIsB,EAAOhS,KAAKiS,SAChB,OAAOjC,QAA6B9J,IAAd8L,EAAKtB,GAAqB7Q,GAAeC,KAAKkS,EAAMtB,EAC5E,EAuBAP,GAAKvQ,UAAUmC,IAXf,SAAiB2O,EAAK3P,GAGpB,OAFWf,KAAKiS,SACXvB,GAAQV,SAA0B9J,IAAVnF,EAAuB+M,EAAiB/M,EAC9Df,IACT,EAmHAsQ,GAAU1Q,UAAUwQ,MAjFpB,WACEpQ,KAAKiS,SAAW,EAClB,EAgFA3B,GAAU1Q,UAAkB,OArE5B,SAAyB8Q,GACvB,IAAIsB,EAAOhS,KAAKiS,SACZrL,EAAQ4J,GAAawB,EAAMtB,GAE/B,QAAI9J,EAAQ,KAIRA,GADYoL,EAAKtS,OAAS,EAE5BsS,EAAKG,MAELtC,GAAO/P,KAAKkS,EAAMpL,EAAO,IAEpB,EACT,EAwDA0J,GAAU1Q,UAAUiC,IA7CpB,SAAsB6O,GACpB,IAAIsB,EAAOhS,KAAKiS,SACZrL,EAAQ4J,GAAawB,EAAMtB,GAE/B,OAAO9J,EAAQ,OAAIV,EAAY8L,EAAKpL,GAAO,EAC7C,EAyCA0J,GAAU1Q,UAAUgC,IA9BpB,SAAsB8O,GACpB,OAAOF,GAAaxQ,KAAKiS,SAAUvB,IAAQ,CAC7C,EA6BAJ,GAAU1Q,UAAUmC,IAjBpB,SAAsB2O,EAAK3P,GACzB,IAAIiR,EAAOhS,KAAKiS,SACZrL,EAAQ4J,GAAawB,EAAMtB,GAO/B,OALI9J,EAAQ,EACVoL,EAAKI,KAAK,CAAC1B,EAAK3P,IAEhBiR,EAAKpL,GAAO,GAAK7F,EAEZf,IACT,EAiGAuQ,GAAS3Q,UAAUwQ,MA/DnB,WACEpQ,KAAKiS,SAAW,CACdI,KAAQ,IAAIlC,GACZ4B,IAAO,IAAKjC,IAAOQ,IACnBgC,OAAU,IAAInC,GAElB,EA0DAI,GAAS3Q,UAAkB,OA/C3B,SAAwB8Q,GACtB,OAAOoB,GAAW9R,KAAM0Q,GAAa,OAAEA,EACzC,EA8CAH,GAAS3Q,UAAUiC,IAnCnB,SAAqB6O,GACnB,OAAOoB,GAAW9R,KAAM0Q,GAAK7O,IAAI6O,EACnC,EAkCAH,GAAS3Q,UAAUgC,IAvBnB,SAAqB8O,GACnB,OAAOoB,GAAW9R,KAAM0Q,GAAK9O,IAAI8O,EACnC,EAsBAH,GAAS3Q,UAAUmC,IAVnB,SAAqB2O,EAAK3P,GAExB,OADA+Q,GAAW9R,KAAM0Q,GAAK3O,IAAI2O,EAAK3P,GACxBf,IACT,EA+KA,IAAIoR,GAAemB,IAAQ,SAASD,GA4SpC,IAAkBvR,EA3ShBuR,EA4SgB,OADAvR,EA3SEuR,GA4SK,GArZzB,SAAsBvR,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIkQ,GAASlQ,GACX,OAAOmP,GAAiBA,GAAepQ,KAAKiB,GAAS,GAEvD,IAAII,EAAUJ,EAAQ,GACtB,MAAkB,KAAVI,GAAkB,EAAIJ,IAAWgN,EAAY,KAAO5M,CAC9D,CA2Y8BqR,CAAazR,GA1SzC,IAAII,EAAS,GAOb,OANIkN,GAAa6C,KAAKoB,IACpBnR,EAAOiR,KAAK,IAEdE,EAAO1N,QAAQ0J,IAAY,SAASrD,EAAOwH,EAAQC,EAAOJ,GACxDnR,EAAOiR,KAAKM,EAAQJ,EAAO1N,QAAQ2J,GAAc,MAASkE,GAAUxH,EACxE,IACS9J,CACT,IASA,SAASkQ,GAAMtQ,GACb,GAAoB,iBAATA,GAAqBkQ,GAASlQ,GACvC,OAAOA,EAET,IAAII,EAAUJ,EAAQ,GACtB,MAAkB,KAAVI,GAAkB,EAAIJ,IAAWgN,EAAY,KAAO5M,CAC9D,CAiEA,SAASoR,GAAQf,EAAMmB,GACrB,GAAmB,mBAARnB,GAAuBmB,GAA+B,mBAAZA,EACnD,MAAM,IAAIhR,UAAUkM,GAEtB,IAAI+E,EAAW,WACb,IAAIpM,EAAO/G,UACPiR,EAAMiC,EAAWA,EAAS5S,MAAMC,KAAMwG,GAAQA,EAAK,GACnDtC,EAAQ0O,EAAS1O,MAErB,GAAIA,EAAMtC,IAAI8O,GACZ,OAAOxM,EAAMrC,IAAI6O,GAEnB,IAAIvP,EAASqQ,EAAKzR,MAAMC,KAAMwG,GAE9B,OADAoM,EAAS1O,MAAQA,EAAMnC,IAAI2O,EAAKvP,GACzBA,CACX,EAEE,OADAyR,EAAS1O,MAAQ,IAAKqO,GAAQM,OAAStC,IAChCqC,CACT,CAGAL,GAAQM,MAAQtC,GA6DhB,IAAIQ,GAAUzG,MAAMyG,QAmDpB,SAASQ,GAASxQ,GAChB,IAAIiQ,SAAcjQ,EAClB,QAASA,IAAkB,UAARiQ,GAA4B,YAARA,EACzC,CA+CA,SAASC,GAASlQ,GAChB,MAAuB,iBAATA,GAtBhB,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,CAC3B,CAqBK+R,CAAa/R,IAAU0O,GAAe3P,KAAKiB,IAAUmN,EAC1D,CAyDA,IAAA6E,GALA,SAAalC,EAAQC,EAAMkC,GACzB,IAAI7R,EAAmB,MAAV0P,OAAiB3K,EAAY0K,GAAQC,EAAQC,GAC1D,YAAkB5K,IAAX/E,EAAuB6R,EAAe7R,CAC/C,ECh6BwD3B,GAAY,8BAA+BF,GAAU,sBAAVA,GAAuC,sBAAvCA,GAAoE,sBAApEA,GAAiG,CAAC2T,MAAM,4BAA4BC,MAAM,6BAA1I5T,GAAkL,yBAA0B6N,GAAU,4BAAVA,GAA6C,4BAA7CA,GAAgF,4BAAhFA,GAAmH,CAAC8F,MAAM,kCAAkCC,MAAM,mCAAlK/F,GAAgN,+BAAgC5N,GAAU,gCAAVA,GAAiD,gCAAjDA,GAAwF,gCAAxFA,GAAgI,yCAAhIA,GAAgL,CAAC0T,MAAM,uCAAvL1T,GAAyO,mCAAoC6N,GAAS,2BAATA,GAA6C,0BAA2BL,GAAS,0BAATA,GAA4C,yBAA0BoG,GAAU,uBAAVA,GAAwC,uBAAxCA,GAAsE,uBAAwBC,GAAU,CAACC,MAAM,iCAAiCC,OAAO,mCAAzDF,GAAmG,CAACC,MAAM,iCAAiCC,OAAO,mCAAlJF,GAAgM,CAACC,MAAM,qCAAvMD,GAAmP,CAACC,MAAM,gCAAgCC,OAAO,mCAAoCC,GAAE,mBAAmBlG,GAAE,kBAAkB1N,GAAE,qBAAqB6T,GAAE,cAAcC,GAAS,iBAATA,GAA+B,gBAAiB,MAAMC,GAAE,KAAK,MAAMxT,EAAE,CAAE,EAAC,MAAM,CAACoE,QAAQjF,GAAG,MAAMG,EAAE,mBAAmBH,EAAEmF,QAAQrF,OAAOoF,YAAYlF,EAAEmF,WAAWnF,EAAE,OAAOa,EAAEyT,QAAQlG,KAAKmG,UAAUpU,GAAGQ,IAAI,EAAEqE,KAAKhF,GAAG,OAAOa,EAAE2T,KAAKxU,EAAEW,IAAI,EAAE8D,IAAIzE,GAAG,OAAOa,EAAE4T,IAAIzU,EAAEuE,WAAW5D,IAAI,EAAE+T,OAAO1U,GAAG,OAAOa,EAAE8T,OAAO3U,EAAEW,IAAI,EAAEiU,MAAM5U,GAAG,OAAOa,EAAEgU,MAAM7U,EAAEW,IAAI,EAAEmU,OAAO9U,GAAG,OAAOa,EAAEkU,OAAO/U,EAAEW,IAAI,EAAEqU,MAAM,IAAIlV,OAAOmQ,KAAKpP,GAAGoU,SAASjV,GAAGa,EAAEb,GAAG,CAAC,GAAG,UAAUA,EAAE,GAAGA,MAAM,KAAKa,EAAEb,MAAM,KAAKsF,KAAK,MAAK,EAA0wB,IAAI4P,IAAG,SAASrU,GAAGA,EAAE2B,IAAI,MAAM3B,EAAEyD,OAAO,SAASzD,EAAEsU,KAAK,OAAOtU,EAAEuU,IAAI,KAAK,CAAnE,CAAqEF,KAAIA,GAAE,CAAA,IAAK,MAAMG,GAAE,IAAIxU,IAAI,IAAIyT,QAAQzT,EAAEkL,QAAQ,CAAClL,EAAEb,KAAK,MAAMG,EAAE,CAACU,GAAGoK,MAAMyG,QAAQ7Q,GAAGA,EAAEA,aAAayT,QAAQrJ,MAAMC,KAAKrK,EAAEsE,WAAWtE,EAAEf,OAAOqF,QAAQtE,GAAG,GAAxF,CAA4Fb,GAAG,OAAOG,EAAE4L,SAAS/L,GAAGG,EAAEF,MAAMY,EAAEV,GAAGF,EAAEY,IAAIA,GAAGA,CAAE,GAAE,KAAKyU,GAAEzU,QAAG,IAASA,OAAE,EAAOuN,KAAKmG,UAAU1T,GAAG0U,GAAE,CAAC1U,EAAEb,EAAE,MAAM,IAAIG,EAAEU,EAAE,OAAOb,IAAIG,EAAEA,EAAE,IAAIH,GAAG,CAACwV,cAAc,UAAUrV,IAAG,EAAGsV,GAAE,EAAEC,QAAQ7U,EAAE4E,UAAUzF,EAAE2V,WAAWxV,EAAEyV,OAAO3V,EAAE4V,MAAM/H,EAAEgI,aAAa5V,EAAE0E,MAAMmJ,MAAM,MAAML,EAAjvC,EAAC7M,EAAEb,KAAK,MAAMG,EAAEH,GAAG4E,MAAM,OAAOzE,GAAG,MAAMU,GAAGA,EAAE6L,KAAK,uIAAuI7L,EAAEkV,SAAS/V,KAAK,IAAIG,EAAE,MAAM4E,MAAM,qHAAqHlE,EAAEmV,IAAI,CAACnV,GAAGwT,KAAIO,MAAM,WAAWnQ,IAAI5D,EAAE,IAAI6T,OAAO7T,EAAE,GAAG6T,QAAQzP,QAAQpE,EAAE,GAAGoE,SAASD,KAAKnE,EAAE,GAAGmE,MAAMgQ,QAA7F,CAAsGhV,IAAI,MAAMC,QAAQE,KAAKH,GAAG,OAAOa,EAAEZ,EAAE6E,GAAG,MAAM,cAAc,OAACiR,IAAU,MAAM/V,QAAQa,EAAEoV,MAAMpV,EAAEoV,QAAQvK,OAAO7K,EAAE6K,QAAQ,OAAO7K,EAAE6K,KAAK,IAAIpK,QAAQC,QAAQvB,GAAGa,EAAEqV,KAAK,IAAI5U,QAAQC,QAAQ6M,KAAKC,MAAMrO,IAAIqU,KAAIO,MAAM,YAAYnQ,IAAI5D,EAAE4D,IAAIF,YAAYuQ,OAAO,GAAGjU,EAAEiU,UAAUjU,EAAEsV,cAAclR,QAAQpE,EAAEoE,SAASD,KAAKhF,GAAGgV,OAAQ,EAAhQ,CAAkQ/U,IAAIA,GAAGE,GAAifkC,CAAEpC,EAAE8N,GAAG+F,EAAEiC,UAAU,MAAMhI,GAAG,MAAMD,OAAE,EAAOA,EAAEsI,eAAetI,EAAEsI,cAAcnW,GAAGA,GAAGwR,KAAKqC,EAAE9O,KAAK+O,EAAE9O,QAAQiP,EAAEmC,YAAYrI,EAAE0G,OAAOpU,EAAEsG,MAAMuN,GAAGpG,EAAEqG,QAAQ1G,EAAE,GAAG+D,KAAK5Q,EAAE6U,QAAQ1V,EAAEqW,YAAYlW,MAAM,MAAMF,EAAE,IAAImE,IAAIvD,EAAEb,GAAG,OAAOG,IAAIF,EAAE8D,OAAO,IAAIH,gBAAgBzD,GAAGoE,YAAYtE,CAAE,EAApH,CAAsH,CAACwR,KAAKqC,EAAE4B,QAAQ7U,EAAEwV,YAAYrI,IAAI,CAAC/I,QAAQoQ,GAAEE,GAAEvV,EAAEmU,GAAG,CAAC,qBAAqB,UAAU,wBAAwB,UAAU,MAAMhU,OAAE,EAAOA,EAAEmW,cAAc,CAAE,EAACpC,GAAGQ,OAAOpU,EAAE0E,KAAKsQ,GAAEvB,GAAGwC,YAAYrW,GAAG,YAAY,OAAO,MAAM4N,OAAE,EAAOA,EAAE0I,qBAAqB1I,EAAE0I,aAAavW,EAAE,MAAMmU,OAAE,EAAOA,EAAE6B,SAAS7B,GAAG,MAAM,CAAC5R,IAAI,CAAC3B,GAAGoE,QAAQjF,EAAEqW,YAAYlW,EAAEyG,MAAM3G,GAAG,CAAA,IAAK6T,EAAE,CAACrC,KAAK5Q,EAAEoE,QAAQjF,EAAEqW,YAAYlW,EAAE6E,UAAK,EAAO0P,OAAOQ,GAAE1S,IAAIoE,MAAM3G,IAAIkV,KAAK,CAACtU,EAAEb,GAAGiF,QAAQ9E,EAAEkW,YAAYpW,EAAE2G,MAAMkH,GAAG,CAAE,IAAGgG,EAAE,CAACrC,KAAK5Q,EAAEoE,QAAQ9E,EAAEkW,YAAYpW,EAAE+E,KAAKhF,EAAE0U,OAAOQ,GAAEC,KAAKvO,MAAMkH,IAAIsH,IAAI,CAACvU,EAAEb,GAAGiF,QAAQ9E,EAAEkW,YAAYpW,EAAE2G,MAAMkH,GAAG,CAAA,IAAKgG,EAAE,CAACrC,KAAK5Q,EAAEoE,QAAQ9E,EAAEkW,YAAYpW,EAAE+E,KAAKhF,EAAE0U,OAAOQ,GAAEE,IAAIxO,MAAMkH,IAAIxJ,OAAO,CAACzD,EAAEb,GAAGiF,QAAQ9E,EAAEkW,YAAYpW,EAAE2G,MAAMkH,GAAG,CAAA,IAAKgG,EAAE,CAACrC,KAAK5Q,EAAEoE,QAAQ9E,EAAEkW,YAAYpW,EAAE+E,KAAKhF,EAAE0U,OAAOQ,GAAE5Q,OAAOsC,MAAMkH,IAAI+H,MAAM/H,EAAC,EAAG,IAAI2I,GAAE,CAACC,kBAAkB,KAAK,SAASC,GAAE9V,EAAEb,EAAEG,GAAG,IAAIF,EAAE,IAAI6N,EAAE8I,GAAE/V,GAAGb,IAAI8N,EAAE,QAAQ7N,EAAE,MAAM6N,OAAE,EAAOA,EAAE+I,eAAU,IAAS5W,OAAE,EAAOA,EAAED,IAAI,MAAME,EAAE,MAAM4N,OAAE,EAAOA,EAAE3N,GAAG,OAAO8K,MAAMyG,QAAQxR,GAAGA,EAAE,EAAE,CAAC,SAAS0W,GAAE5W,GAAG,GAAG,iBAAiBA,IAAIA,EAAE,MAAM,IAAI+E,MAAM,0BAA0B,OAAOlE,EAAEb,EAAE,CAAC,SAAS8W,GAAEjW,GAAG,MAAMkW,IAAI/W,GAAG4W,GAAE/V,GAAG,OAAM,IAAKmW,MAAMC,UAAU,IAAIjX,CAAC,CAAC,SAASkX,GAAErW,EAAEb,GAAG,OAAO2W,GAAE9V,EAAEb,EAAE,cAAc,CAAC,SAASyG,GAAE5F,EAAEb,GAAG,OAAO2W,GAAE9V,EAAEb,EAAE,QAAQ,CAAC,MAAMoB,GAAE,IAAIP,IAAIA,EAAEyE,KAAK,KAAKC,QAAQ,UAAU,KAAKwQ,eAAeoB,GAAEtW,EAAEb,GAAG,IAAIG,EAAE,MAAMF,QAAQY,EAAEiN,EAAE,CAAChH,KAAK7G,EAAE6U,OAAOhQ,GAAG7E,EAAE6E,GAAGsS,SAASnX,GAAGC,QAAQD,EAAEgW,QAAQC,OAAO,OAAOjW,EAAE6E,GAAGgJ,EAAE6E,KAAK3S,EAAEA,EAAEE,GAAGA,GAAG4N,EAAEZ,MAAMhN,EAAED,EAAE6U,SAAS2B,GAAEC,mBAAmB5W,OAAOC,OAAO+N,EAAEZ,MAAM,CAACmK,WAAWtR,OAAOuR,SAAS,QAAQnX,EAAEF,EAAEgF,eAAU,IAAS9E,OAAE,EAAOA,EAAEqC,IAAI,iBAAiB,KAAKsL,CAAC,CAAC,MAAMyJ,GAAE,CAAC1W,EAAEb,IAAI,CAACG,EAAEH,IAAIA,IAAIa,EAAEb,IAAIG,EAAEoF,QAAQ,QAAQvF,GAAGwX,GAAE,IAAI3W,KAAC,CAAK4W,SAASzX,IAAIa,EAAE8I,SAAS9I,IAAI,MAAMV,EAAEU,EAAEb,GAAG,GAAGG,EAAE,MAAM,IAAI4E,MAAM5E,EAAG,KAAG,KAAMuX,GAAE7W,GAAGb,GAAGa,EAAEgR,KAAK7R,GAAG2X,GAAED,GAAE,wEAAwEE,GAAEF,GAAE,2BAA2BG,GAAEN,GAAEI,GAAE,gCAAgCG,GAAEP,GAAEK,GAAE,uCAAuCG,GAAER,IAAK,EAAE1W,GAAGA,EAAER,QAAP,GAAkB,uBAA6B,MAAM2X,GAAET,IAAG1W,GAAG,iBAAiBA,GAAG,yBAAyBoX,GAAE,IAAIpX,IAAIb,GAAG,IAAIG,KAAKU,EAAE8I,UAAU9I,EAAEb,IAAIwX,MAAK3W,GAAG4W,SAAStX,EAAEH,MAAMA,KAAKG,IAAI+X,GAAErX,GAAG,CAACmX,GAAE,IAAInX,uBAAuBkX,GAAE,IAAIlX,yBAAyB8K,GAAE9K,GAAG,CAACmX,GAAE,IAAInX,uBAAuBgX,MAAKM,GAAEtX,GAAG,CAACmX,GAAE,IAAInX,uBAAuBiX,MAAKM,GAAEH,GAAEC,GAAE,cAAcG,GAAExX,KAAKyX,SAASF,IAAGpY,GAAGmX,GAAEtW,EAAEsU,KAAKhV,GAAW,CAAA,EAAG,CAACyG,MAAM5G,SAAS,IAAIuY,GAAEC,GAAEC,GAAEC,IAAG,SAAS7X,GAAGA,EAAE8X,IAAI,MAAM9X,EAAE+X,SAAS,UAAU,CAA7C,CAA+CL,KAAIA,GAAE,KAAK,SAAS1X,GAAGA,EAAE+S,MAAM,QAAQ/S,EAAE8X,IAAI,MAAM9X,EAAE+X,SAAS,UAAU,CAA7D,CAA+DJ,KAAIA,GAAE,KAAK,SAAS3X,GAAGA,EAAEgY,QAAQ,UAAUhY,EAAEiY,QAAQ,UAAUjY,EAAEkY,UAAU,YAAYlY,EAAEmY,OAAO,QAAQ,CAA7F,CAA+FP,KAAIA,GAAE,KAAK,SAAS5X,GAAGA,EAAEoY,OAAO,SAASpY,EAAEqY,OAAO,SAASrY,EAAEsY,OAAO,QAAQ,CAAjE,CAAmET,KAAIA,GAAE,KAAK,MAAMU,GAAElB,GAAE,WAAWmB,GAAEpB,GAAEC,GAAE,UAAUoB,GAAErB,GAAEmB,IAAGG,GAAEtB,GAAEC,GAAE,eAAesB,GAAGvB,GAAEmB,GAAEzN,GAAE,UAAU8N,GAAG5Y,IAAC,CAAIsY,OAAOE,IAAGrZ,GAAGmX,GAAEtW,EAAEsU,KAAKjV,GAAS,CAAC0G,MAAM5G,OAAOkZ,OAAOI,IAAG,CAACtZ,EAAEG,EAAEF,EAAE6N,IAAIqJ,GAAEtW,EAAEsU,KAAK/T,GAAElB,GAASsY,GAAE5E,OAAO,CAACrG,QAAQvN,EAAE0Z,IAAIvZ,EAAEwZ,aAAa1Z,GAAG,CAAC2G,MAAMkH,OAAO8L,WAAWN,IAAC,CAAGtZ,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAK/T,GAAElB,GAAasY,GAAE5E,OAAO,CAACrG,QAAQvN,EAAE0Z,IAAIvZ,OAAO8Y,OAAOK,KAAItZ,EAAEG,EAAEF,IAAIkX,GAAEtW,EAAEsU,KAAK/T,GAAElB,GAASsY,GAAE5E,OAAO,CAACrG,QAAQvN,EAAE0Z,IAAIvZ,EAAE0Z,KAAK5Z,OAAO6Z,eAAeP,IAAG,CAACvZ,EAAEG,IAAI,IAAImB,SAASrB,IAAI,MAAM8Z,kBAAkBjM,EAAEkM,UAAUjM,GAAG,GAAGgM,kBAAkBlZ,EAAE,IAAImZ,UAAUha,EAAE,KAAK,CAAE,KAAA,CAAK+Z,kBAAkBE,KAAKC,IAAIrZ,GAAG,IAAI,KAAKmZ,UAAUC,KAAKE,IAAIna,GAAG,IAAI,OAApH,CAA4HG,GAAG,IAAIuN,EAAE,MAAMoG,EAAEsG,uBAAuB,MAAMja,QAAQU,EAAEsU,KAAKjV,GAAU,CAACma,WAAWra,IAAIG,EAAE2E,KAAKwV,cAAcxG,GAAGpG,GAAGT,aAAaS,GAAGzN,EAAEkX,GAAE7V,QAAQC,QAAQpB,KAAM,GAAE2N,GAAGJ,EAAEjE,YAAU,KAAOxJ,EAAE,CAACiN,MAAM,CAACqN,iBAAiB,qCAAqCxM,MAAMyM,UAAU,KAAK1V,IAAG,IAAKwV,cAAcxG,EAAG,GAAE/F,EAAG,MAAK5E,OAAO,CAACyK,MAAM4F,KAAKxZ,EAAEG,EAAEF,EAAE6N,IAAIqJ,GAAEtW,EAAEsU,KAAKjV,GAAS0T,MAAM,CAACrG,QAAQvN,EAAE4T,MAAMzT,EAAEuZ,IAAIzZ,GAAG,CAAC2G,MAAMkH,UAAU2M,GAAGxC,GAAEC,GAAE,WAAWwC,GAAGzC,GAAEC,GAAE,eAAeA,GAAE,UAAUA,GAAE,kBAAkByC,GAAG9Z,IAAI,CAACmT,MAAMyG,KAAKza,EAAEG,EAAEF,EAAE6N,EAAE5N,IAAIiX,GAAEtW,EAAEsU,KAAKf,GAAQ,CAACwG,OAAO5a,EAAE6a,QAAQ1a,EAAE2a,uBAAuB7a,EAAE8a,cAAcjN,EAAEkN,MAAM9a,OAAO0B,KAAK8Y,KAAK1a,EAAEG,EAAEF,EAAE6N,IAAIqJ,GAAEtW,EAAEsU,KAAKf,GAAO,CAAChO,YAAYpG,EAAEqG,OAAOlG,EAAE4a,cAAc9a,EAAE+a,MAAMlN,SAASmN,GAAG/C,GAAE,WAAWgD,GAAGjD,GAAEC,GAAE,UAAUiD,GAAGlD,GAAEgD,IAAIG,GAAGnD,GAAEgD,GAAG9C,GAAE,UAAUkD,GAAGpD,GAAEgD,GAAGtP,GAAE,UAAU2P,GAAGza,IAAC,CAAIsY,OAAO+B,IAAIlb,GAAGmX,GAAEtW,EAAEsU,KAAKrH,GAAS,CAAClH,MAAM5G,OAAOkZ,OAAOpZ,OAAOmQ,KAAKuI,IAAGzM,QAAQ,CAAC/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAACG,CAACA,GAAGgb,IAAI,CAACnb,EAAEC,EAAEC,EAAE6N,IAAIoJ,GAAEtW,EAAEsU,KAAK/T,GAAE0M,GAAS3N,GAAG,CAACoN,QAAQvN,EAAE0Z,IAAIzZ,EAAE0Z,aAAazZ,GAAG,CAAC0G,MAAMmH,UAAU,CAAA,GAAIkL,OAAOnZ,OAAOmQ,KAAKuI,IAAGzM,QAAM,CAAG/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,GAAGC,GAAG,CAACG,CAACA,GAAGgb,IAAE,CAAGnb,EAAEC,EAAEC,IAAIiX,GAAEtW,EAAEsU,KAAK/T,GAAE0M,GAAS3N,GAAG,CAACoN,QAAQvN,EAAE0Z,IAAIzZ,EAAE4Z,KAAK3Z,UAAU,IAAI0Z,WAAW9Z,OAAOmQ,KAAKuI,IAAGzM,QAAQ,CAAC/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAACG,CAACA,GAAGgb,IAAI,CAACnb,EAAEC,IAAIkX,GAAEtW,EAAEsU,KAAK/T,GAAE0M,GAAa3N,GAAG,CAACoN,QAAQvN,EAAE0Z,IAAIzZ,UAAU,CAAE,GAAEkJ,OAAO,CAACyK,MAAMyH,IAAE,CAAGrb,EAAEG,EAAEF,EAAEC,IAAIiX,GAAEtW,EAAEsU,KAAKrH,GAAS8F,MAAM,CAACrG,QAAQvN,EAAE4T,MAAMzT,EAAEuZ,IAAIzZ,GAAG,CAAC2G,MAAM1G,OAAO2T,MAAM/T,OAAOmQ,KAAKsI,IAAGxM,QAAM,CAAG/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAACG,CAACA,GAAGib,IAAI,CAACpb,EAAEC,EAAEC,EAAE6N,IAAIoJ,GAAEtW,EAAEsU,KAAK/T,GAAE0M,GAAS+F,MAAM1T,GAAG,CAACoN,QAAQvN,EAAE6T,MAAM5T,EAAEyZ,IAAIxZ,GAAG,CAAC0G,MAAMmH,UAAU,OAAO,IAAIwN,IAAI,SAAS1a,GAAGA,EAAE2a,SAAS,WAAW3a,EAAE4a,OAAO,SAAS5a,EAAE6a,OAAO,SAAS7a,EAAE8a,UAAU,YAAY9a,EAAE+a,OAAO,SAAS/a,EAAEgb,MAAM,QAAQhb,EAAEib,QAAQ,UAAUjb,EAAEkb,SAAS,UAAU,CAAzK,CAA2KR,KAAKA,GAAG,KAAK,MAAMS,GAAG/D,GAAEC,GAAE,SAAS+D,GAAGpb,IAAC,CAAImT,MAAMlU,OAAOmQ,KAAKsL,IAAIxP,QAAM,CAAG/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAACG,CAACA,GAAG4V,MAAM/V,GAAGkc,SAASjc,GAAE,GAAI,CAAE,EAAC6N,EAAE5N,KAAK,MAAMwN,QAAQ7M,EAAEsU,KAAKpH,GAAQD,GAAG,CAAE,EAAC,CAACuI,YAAYvW,OAAOC,OAAO,CAACoc,SAAShc,GAAGH,GAAG,CAACoc,YAAYpc,IAAI4G,MAAM1G,IAAI,IAAID,IAAIyN,EAAE5I,GAAG,OAAOqS,GAAE7V,QAAQC,QAAQmM,IAAI,MAAMjJ,IAAIqP,SAASpG,EAAEwI,OAAOrS,OAAOC,SAASO,KAAKyP,CAAA,KAAM,CAAA,GAAIwE,SAAS0D,IAAIhc,GAAGmX,GAAEtW,EAAEsU,KAAKpH,GAAW,CAACjH,KAAK9G,SAAS,IAAIqc,IAAI,SAASxb,GAAGA,EAAEoY,OAAO,SAASpY,EAAEqY,OAAO,SAASrY,EAAEsY,OAAO,SAAStY,EAAEyb,YAAY,aAAa,CAA7F,CAA+FD,KAAKA,GAAG,CAAA,IAAK,MAAME,GAAGrE,GAAE,WAAWsE,GAAGvE,GAAEsE,GAAGrE,GAAE,SAASuE,GAAGxE,GAAEsE,IAAIG,GAAGzE,GAAEsE,GAAGpE,GAAE,UAAUwE,GAAG1E,GAAEsE,GAAG5Q,GAAE,UAAUiR,GAAG/b,KAAKsY,OAAOrZ,OAAOmQ,KAAKuI,IAAGzM,QAAM,CAAG/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,GAAGC,GAAG,CAACG,CAACA,GAAGqc,IAAE,CAAGxc,EAAE8N,IAAIqJ,GAAEtW,EAAEsU,KAAK/T,GAAEnB,GAASE,GAAG,CAAC2G,KAAKgH,EAAEP,QAAQvN,UAAU,CAAA,GAAIkZ,OAAOpZ,OAAOmQ,KAAKuI,IAAGzM,QAAM,CAAG/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,GAAGC,GAAG,CAACG,CAACA,GAAGsc,KAAKzc,EAAE8N,EAAE5N,IAAIiX,GAAEtW,EAAEsU,KAAK/T,GAAEnB,GAASE,GAAG,CAACoN,QAAQvN,EAAE2Z,aAAa7L,GAAG,CAAClH,MAAM1G,UAAU,CAAA,GAAI+Y,OAAOnZ,OAAOmQ,KAAKuI,IAAGzM,SAAS/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAACG,CAACA,GAAGsc,IAAI,CAACzc,EAAE8N,IAAIqJ,GAAEtW,EAAEsU,KAAK/T,GAAEnB,GAASE,GAAG,CAACoN,QAAQvN,EAAE6Z,KAAK/L,UAAU,CAAA,GAAI8L,WAAW9Z,OAAOmQ,KAAKuI,IAAGzM,SAAS/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAA,EAAGC,GAAG,CAACG,CAACA,GAAGsc,IAAIzc,GAAGmX,GAAEtW,EAAEsU,KAAK/T,GAAEnB,GAAaE,GAAG,CAACoN,QAAQvN,UAAU,CAAE,GAAEmJ,OAAO,CAACyK,MAAM+I,KAAK3c,EAAEG,EAAE2N,IAAIqJ,GAAEtW,EAAEsU,KAAKlV,GAAS2T,MAAM,CAACrG,QAAQvN,EAAE4T,MAAMzT,GAAG,CAACyG,MAAMkH,OAAO+F,MAAM/T,OAAOmQ,KAAKsI,IAAGxM,QAAM,CAAG/L,EAAEG,IAAIL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAACG,CAACA,GAAGuc,KAAK1c,EAAE8N,EAAE5N,IAAIiX,GAAEtW,EAAEsU,KAAK/T,GAAEnB,GAAS4T,MAAM1T,GAAG,CAACoN,QAAQvN,EAAE6T,MAAM/F,GAAG,CAAClH,MAAM1G,UAAU,OAAO2c,GAAG5E,GAAEC,GAAE,WAAW4E,GAAG7E,GAAEC,GAAE,SAAS6E,GAAGlc,KAAKmT,MAAM6I,IAAE,MAAQ7c,EAAEG,GAAG+b,SAASjc,GAAE,GAAI,CAAA,EAAG6N,EAAE5N,KAAK,MAAM6N,QAAQlN,EAAEsU,KAAKzH,GAAQI,GAAG,CAAA,EAAG,CAACuI,YAAY,CAAC2G,OAAOhd,EAAEoc,YAAYjc,GAAGyG,MAAM1G,IAAI,IAAID,IAAI8N,EAAEjJ,GAAG,OAAOqS,GAAE7V,QAAQC,QAAQwM,IAAI,MAAMtJ,IAAIqP,SAAS/F,EAAEmI,OAAOrS,OAAOC,SAASO,KAAKyP,CAAE,IAAGwE,SAASwE,IAAI9c,GAAGmX,GAAEtW,EAAEsU,KAAKzH,GAAW,CAAC5G,KAAK9G,SAASid,GAAG/E,GAAE,WAAWgF,GAAGjF,GAAEgF,GAAG/E,GAAE,SAASiF,GAAGlF,GAAEgF,IAAIG,GAAGnF,GAAEgF,IAAII,GAAGxc,IAAC,CAAIoY,OAAOkE,IAAE,CAAGnd,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAKrB,GAAS,CAACvG,QAAQvN,EAAE6Z,KAAK1Z,OAAOgZ,OAAO+D,KAAKld,EAAEG,EAAEF,EAAE6N,IAAIqJ,GAAEtW,EAAEsU,KAAKrB,GAAS,CAACvG,QAAQvN,EAAE8G,KAAK3G,EAAEwZ,aAAa1Z,GAAG,CAAC2G,MAAMkH,OAAO3E,OAAOiU,IAAE,CAAGpd,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAKrB,GAAS,CAACvG,QAAQvN,GAAG,CAAC4G,MAAMzG,SAASmd,GAAG,CAACtF,GAAE,+BAA0CuF,GAAGrF,GAAE,WAAWsF,GAAGtF,GAAE,UAAUuF,GAAGxF,GAAEsF,GAAGC,GAAGtF,GAAE,SAASwF,GAAGzF,GAAEsF,GAAGC,IAAIG,GAAG1F,GAAEqF,GAAGE,IAAII,GAAG3F,GAAEsF,GAAGC,GAAGtF,GAAE,UAAU2F,GAAG5F,GAAEC,GAAE,iBAAiBA,GAAE,aAAa4F,GAAGjd,IAAC,CAAIoY,OAAO,CAACjF,MAAMyJ,KAAKzd,EAAEG,EAAEF,IAAIkX,GAAEtW,EAAEsU,KAAKpB,GAASC,MAAM,CAAC6F,KAAK,CAACtM,QAAQvN,EAAEgL,KAAK/K,GAAG8d,OAAO5d,OAAO8T,OAAO4J,IAAE,CAAG7d,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAKpB,GAASE,OAAO,CAAC+J,cAAche,EAAEoX,SAASjX,QAAQ+Y,OAAO,CAAClF,MAAM2J,IAAE,CAAG3d,EAAEG,EAAEF,EAAE6N,IAAIqJ,GAAEtW,EAAEsU,KAAKpB,GAASC,MAAM,CAACzG,QAAQvN,EAAE+d,OAAO5d,EAAEwZ,aAAa1Z,GAAG,CAAC2G,MAAMkH,OAAOmG,OAAO4J,KAAK7d,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAKpB,GAASE,OAAO,CAAC+J,cAAche,EAAEoX,SAASjX,QAAQyZ,WAAW,CAAC5F,MAAM0J,IAAE,CAAG1d,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAKpB,GAAaC,MAAM,CAACzG,QAAQvN,EAAE+d,OAAO5d,QAAQgJ,OAAO,CAAC6K,MAAM4J,IAAI,CAAC5d,EAAEG,EAAEF,IAAIkX,GAAEtW,EAAEsU,KAAKpB,GAASC,MAAM,CAACzG,QAAQvN,EAAE+d,OAAO5d,GAAG,CAACyG,MAAM3G,OAAOgU,OAAO4J,IAAE,CAAG7d,EAAEG,IAAIgX,GAAEtW,EAAEsU,KAAKpB,GAASE,OAAO,CAAC+J,cAAche,EAAEoX,SAASjX,UAAU8d,GAAGhG,GAAEC,GAAE,UAAU,IAAOgG,GAAOC,GAAGlG,GAAE,EAAK,YAAYiG,GAAGhG,GAAE,aAAaX,GAAE,EAAE1W,EAAEV,IAAIF,GAAGuX,MAAKrX,GAAGsX,SAASzX,GAAEC,EAAEY,IAAhC,CAAhC,YAAwEqd,IAA1C3G,KAArCU,EAA6FjY,IAAI,IAAIG,EAAEF,EAAE,MAAM6N,EAAE,GAAGsQ,QAAQ,QAAQje,EAAEH,EAAE6V,aAAQ,IAAS1V,OAAE,EAAOA,EAAEiW,gBAAgB,IAAIlW,EAAE,GAAGke,QAAQ,QAAQne,EAAED,EAAE6V,aAAQ,IAAS5V,OAAE,EAAOA,EAAEuW,eAAe,IAAI,SAAoV/Q,UAAU5E,EAAE+U,OAAO5V,EAAE0V,QAAQvV,EAAE0V,MAAM5V,EAAE6V,aAAahI,EAAEwI,YAAYpW,EAAE,CAAE,EAAC0E,MAAMmJ,MAAM,OAAOL,EAAE+H,GAAE,CAACC,QAAQvV,GAAG,0BAA0BsF,UAAU5E,EAAE+U,OAAO5V,EAAE6V,MAAM5V,EAAE6V,aAAahI,EAAE6H,WAAW,CAACW,YAAYpW,GAAG0E,MAAMmJ,IAAI,CAACsQ,UAAUhG,GAAE3K,GAAG4Q,IAAI1B,GAAGlP,GAAG6Q,UAAUjD,GAAG5N,GAAG8Q,cAAc/E,GAAG/L,GAAG+Q,MAAMxC,GAAGvO,GAAGgR,KAAK3B,GAAGrP,GAAGlC,KAAK6R,GAAG3P,GAAGiR,SAASb,GAAGpQ,GAAGkR,KAAKjE,GAAGjN,GAAGmR,QAAQhe,GAAGsW,GAAEzJ,EAAEyH,KAAKjB,GAAE,CAAA,EAAG,CAACtN,MAAM/F,KAAKie,OAAOje,GAAGsW,GAAEzJ,EAAEyH,KAAKnH,GAAE,CAAA,EAAG,CAACpH,MAAM/F,KAAKke,UAAUle,GAAGsW,GAAEzJ,EAAEyH,KAAK7U,GAAE,GAAG,CAACsG,MAAM/F,KAAK4b,GAAG5b,GAAGsW,GAAEzJ,EAAElL,IAAI2R,GAAE,CAACvN,MAAM/F,KAAKme,aAAaf,GAAGnH,IAAGmI,kBAAkBhB,GAAG/G,IAAGgI,YAAYjB,GAAGxX,IAAG0Y,WAAWzR,GAAG,IAAIA,CAAE,EAAz3B7M,CAAEf,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACC,GAAG,CAAC6V,MAAM,CAACO,cAAcvV,GAAG,MAAMiN,OAAE,EAAOA,EAAE/B,SAASlL,EAAEb,IAAIA,EAAEa,IAAIA,GAAG2V,aAAaT,MAAMlV,EAAEV,YAAYmB,QAAQ8d,WAAW,MAAMlf,OAAE,EAAOA,EAAEwS,KAAK1S,GAAGA,EAAEa,EAAE,MAAMV,OAAE,EAAOA,EAAE8V,aAAatM,SAAS9I,IAAI,IAAIV,EAAE,MAAM,aAAaU,EAAEiU,SAAS,QAAQ3U,EAAEH,EAAE4V,cAAS,IAASzV,OAAE,EAAOA,EAAE+M,MAAMrM,EAAEwe,QAAS,GAAE,KAAI,IAA4jB,MAACC,GAAG,CAACze,EAAEb,EAAEG,KAAKH,EAAE2J,SAAS3J,IAAI,MAAMC,EAAED,EAAEsG,MAAM,KAAK,IAAIwH,EAAE7N,EAAEsf,QAAQrf,EAAEW,EAAE,KAAKZ,EAAEI,OAAO,GAAG,CAAC,GAAGH,EAAEA,EAAE4N,IAAIA,IAAI5N,EAAE,MAAM6E,MAAM,iBAAiB/E,QAAQ8N,iCAAiCA,EAAE7N,EAAEsf,OAAO,CAAC,GAAG,mBAAmBrf,EAAE4N,GAAG,MAAM/I,MAAM,IAAI/E,wBAAwB,MAAM+N,EAAE7N,EAAE4N,GAAG5N,EAAE4N,GAAG3N,EAAE4N,EAAG,IAAGlN,GAA+O,IAAI2e,GAAG1f,OAAOC,OAAOoe,GAAG,CAACsB,gBAAgBjH,KCO93Y,IAA4JvY,GAAE,iBAAgQoU,GAAE,mBAA6QyC,GAAE,QAAQgB,GAAE,OAAO,SAAS3D,GAAEnU,EAAEG,GAAG,IAAIuN,EAAE,GAAG,OAAO,SAAS1N,EAAEG,GAAG,IAAiQ6N,EAAQ3L,EAAjQyL,GAAOzL,EX8MtjC,SAAuBqd,EAAIxU,EAAMyU,GACpC,GAAIA,GAA6B,IAArBvf,UAAUC,OAAc,IAAK,IAA4Buf,EAAxB1f,EAAI,EAAGgU,EAAIhJ,EAAK7K,OAAYH,EAAIgU,EAAGhU,KACxE0f,GAAQ1f,KAAKgL,IACR0U,IAAIA,EAAK3U,MAAM1K,UAAUsf,MAAMpf,KAAKyK,EAAM,EAAGhL,IAClD0f,EAAG1f,GAAKgL,EAAKhL,IAGrB,OAAOwf,EAAGtB,OAAOwB,GAAM3U,MAAM1K,UAAUsf,MAAMpf,KAAKyK,GACtD,CWtN+jCrK,CAAE,GAANb,GAAW,GAAI,CAAC+J,QAAQ,WAAW,OAAO1H,EAAE,EAAE,EAAEyd,SAAS,WAAW,IAAIjf,EAAEwB,EAAEkd,aAAQ,IAAS1e,GAAGwB,EAAE0Q,KAAKlS,EAAE,EAAEkf,QAAQ,WAAW1d,EAAEkd,OAAO,IAAIrf,GAAK,IAAM,IAAI8N,EAAE,EAAE,WAAW,OAAOiM,KAAK+F,SAAS/F,KAAKE,IAA7C,IAAN,IAA2DF,KAAKgG,IAAI,EAAEjS,KAAK,GAAG8F,EAAEhG,EAAE/D,UAA4B,QAAG,IAAS+J,EAAE,OAAOxS,QAAQE,OAAO,IAAIc,UAAU,6CAA6C,IAAI4R,EAAE,SAASrT,EAAEb,GAAG,OAAOG,EAAEU,GAAGsM,OAAK,SAAWtM,GAAG,GAAGb,EAAE,GAA5Z,EAAia,MAAMa,GAAG,SAASA,GAAG,KAAKA,aAAakE,OAAO,OAAM,EAAG,IAAI/E,EAAEa,EAAE2J,QAAQ,OAAOxK,IAAIC,IAAGD,IAAI8X,EAAC,CAAjF,CAAmFjX,GAAGiN,EAAEgS,WAAWhS,EAAEiS,UAAU,IAAI5f,EAAE2T,EAAEhG,EAAE/D,UAAU,QAAG,IAAS+J,EAAE,MAAMjT,EAAE,OAAOV,EAAED,IAAI,IAAIoB,SAAO,SAAWT,GAAG,OAAO4I,WAAW5I,EAAEV,EAAG,KAAI6B,MAAI,WAAa,OAAOkS,EAAEJ,EAAE9T,EAAE,EAAG,GAAG,GAAE,EAAE,OAAOkU,EAAEJ,EAAE,EAAE,CAA7sB,CAA+sB9T,GAAG,SAASa,GAAG,IAAIb,EAAE,IAAIgX,KAAKlJ,EAAE,WAAW,OAAOJ,EAAEqF,KAAK,CAACtO,IAAI5D,EAAEqf,UAAUlgB,EAAEmgB,WAAW,IAAInJ,MAAM,EAAE9W,EAAEC,EAAEU,GAAG,OAAOX,EAAE8B,KAAK8L,EAAEA,GAAG5N,CAAE,IAAG8B,eAAenB,GAAG,MAAM,CAACA,EAAE,CAACuf,SAAS1S,GAAI,GAAE,CAAI,IAACwK,GAAE,sEAA0EM,GAAE,4CAA4C,SAASb,GAAE9W,GAAG,IAAIiN,EAAEjN,EAAEwf,iBAAiB,IAAIngB,EAAEW,EAAE+F,MAAMkN,EAAEjT,EAAEyf,OAAOpJ,OAAE,IAASpD,EAAE5T,EAAE4T,EAAE/F,EAAE/N,EAAEa,EAAE,CAAC,mBAAmB,QAAQ,WAAWmN,EAAE,QAAQF,EAAnmE,SAAWjN,EAAEb,GAAG,OAAO,SAASa,EAAEb,GAAG,OAAOF,OAAOS,UAAUC,eAAeC,KAAKI,EAAEb,EAAE,CAA9D,CAAgEa,EAAEb,GAAGa,EAAEb,QAAG,CAAM,CAA8/D0N,CAAE7M,EAAE,2BAAsB,IAASiN,EAAEA,EAAEoK,GAAE,OAAO5W,QAAQC,UAAUS,MAAM,WAAW,IAAIkV,GAAG,iBAAiBA,EAAE,MAAM,IAAInS,MAAMsP,IAAG,IAAIxT,EAAE,SAASA,EAAEb,GAAG,OAAOiL,MAAMyG,QAAQ7Q,GAAGA,EAAE,CAACA,IAAI6R,KAAG,SAAW7R,GAAG,OAAO,SAASA,EAAEb,GAAG,IAAIG,EAAEogB,mBAAmB,OAAO1f,EAAE0E,QAAQ,aAAa,SAAS1E,GAAG,MAAM,cAAcA,EAAE,IAAI,aAAaA,EAAEV,EAAEH,GAAG,oBAAoBa,EAAEV,EAAE2W,IAAGjW,CAAE,GAAE,CAA9J,CAAgKgN,OAAOhN,GAAGb,EAAG,GAAE,CAApP,CAAsPgO,EAAEkJ,GAAG,OAAO/C,GAAEtT,EAAEwX,IAAGlL,MAAMoI,GAAG,IAAGvT,MAAM,SAASnB,GAAG,IAAIb,EAAEa,EAAE,GAAG6M,EAAE7M,EAAE,GAAG,OAAOb,EAAEwgB,KAAKrgB,EAAEA,EAAE,CAAA,EAAG4N,GAAG,CAAC0S,IAAI/S,IAAK,GAAE,CAAC,SAAS2K,GAAExX,GAAG,OAAO,SAASA,EAAEb,EAAEG,EAAEuN,GAAG,IAAII,EAAE5N,EAAEwgB,SAAS5M,EAAE,0BAA0BoD,EAAE,SAASlX,GAAG,IAAIG,EAAE,IAAIiE,IAAIvD,EAAEiD,SAASO,MAAMqJ,EAAE1N,EAAE2gB,WAAWjT,IAAIvN,EAAEkE,MAAMqJ,IAAIvN,EAAEygB,SAASf,MAAM,GAAG,IAAInS,IAAIvN,EAAE4d,SAASjQ,EAAE9N,EAAE+N,IAAI,EAAE7N,EAAE2gB,iBAAiB/M,EAAEoD,GAAG,IAAInJ,EAAE,WAAW,OAAO7N,EAAE4gB,oBAAoBhN,EAAEoD,EAAE,EAAE,OAA4B5V,QAAQC,UAAUS,KAAKhC,GAAGgC,MAAI,SAAWnB,GAAG,OAAOkN,IAAIlN,CAAE,aAAYA,GAAG,OAAO,IAAIS,SAAO,SAAWT,GAAG,OAAO4I,WAAW5I,EAAG,IAAGmB,MAAM,WAAW,GAAG+L,IAAID,EAAE,OAAwY,WAAc,MAAM,IAAI/I,MAAM9E,GAAG,CAAlaE,GAAK,MAAMU,CAAE,GAAG,GAAE,CAAvd,CAAydA,GAAG,WAAW,OAAO,SAASA,GAAG,OAAO,IAAIS,SAAO,SAAWtB,EAAEG,GAAG,IAAIuN,EAAEgT,SAASK,cAAc,UAAUjT,EAAE,WAAW,IAAIjN,EAAE,OAAO,QAAQA,EAAE6M,EAAEsT,kBAAa,IAASngB,OAAE,EAAOA,EAAEogB,YAAYvT,EAAE,EAAExN,EAAEwgB,SAASQ,MAAMR,SAASS,qBAAqB,QAAQ,GAAGzT,EAAE0T,OAAO,WAAWtT,IAAI9N,GAAG,EAAE0N,EAAE2T,QAAQ,WAAWvT,IAAI3N,EAAE,IAAI4E,MAAMyT,IAAG,EAAE9K,EAAEqI,OAAM,EAAGrI,EAAE4T,IAAIzgB,EAAEX,EAAEqhB,YAAY7T,EAAG,GAAE,CAAnV,CAAqV7M,EAAG,IAAoCmB,KAAKuW,GAAE,CAAC,SAASA,KAAI,IAAI1X,EAAEgD,OAAO7D,EAAE,eAAeG,EAAEU,EAAEb,GAAG,GAAG,SAASa,EAAEb,GAAG,IAAIG,EAAEuN,EAAE,QAAQvN,EAAEL,OAAO0hB,gCAA2B,IAASrhB,OAAE,EAAOA,EAAEM,KAAKX,OAAOe,EAAEb,IAAI,MAAM0N,OAAE,EAAOA,EAAE+T,qBAAqB5gB,EAAEb,GAAG0N,IAAIA,EAAEgU,WAAW7gB,EAAEb,QAAG,EAAO,CAAhL,CAAkLa,EAAEb,GAAG,mBAAmB,MAAMG,OAAE,EAAOA,EAAEqgB,MAAM,MAAM,IAAIzb,MAAM+S,IAAG,OAAO3X,CAAC,CAAC,SAASoV,GAAE1U,GAAG,MAAMA,aAAakE,OAAOlE,EAAE2J,UAAUsN,GAAE,IAAI/S,MAAMyT,IAAG3X,CAAC;6BCLt4H,SAASd,GAAQ4hB,GACf,IAAK,IAAIzhB,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAI0hB,EAASxhB,UAAUF,GACvB,IAAK,IAAImR,KAAOuQ,EACdD,EAAOtQ,GAAOuQ,EAAOvQ,EAExB,CACD,OAAOsQ,CACT,CAwHA,IAAIE,GAlGJ,SAAShZ,EAAMiZ,EAAWC,GACxB,SAASrf,EAAK2O,EAAK3P,EAAOsgB,GACxB,GAAwB,oBAAbtB,SAAX,CAMkC,iBAFlCsB,EAAajiB,GAAO,CAAA,EAAIgiB,EAAmBC,IAErBC,UACpBD,EAAWC,QAAU,IAAIjL,KAAKA,KAAKkL,MAA6B,MAArBF,EAAWC,UAEpDD,EAAWC,UACbD,EAAWC,QAAUD,EAAWC,QAAQE,eAG1C9Q,EAAMkP,mBAAmBlP,GACtB9L,QAAQ,uBAAwB+I,oBAChC/I,QAAQ,QAAS6c,QAEpB,IAAIC,EAAwB,GAC5B,IAAK,IAAIC,KAAiBN,EACnBA,EAAWM,KAIhBD,GAAyB,KAAOC,GAEE,IAA9BN,EAAWM,KAWfD,GAAyB,IAAML,EAAWM,GAAehc,MAAM,KAAK,KAGtE,OAAQoa,SAAS6B,OACflR,EAAM,IAAMyQ,EAAUU,MAAM9gB,EAAO2P,GAAOgR,CAtC3C,CAuCF,CA4BD,OAAOviB,OAAO2iB,OACZ,CACE/f,IAAKA,EACLF,IA7BJ,SAAc6O,GACZ,GAAwB,oBAAbqP,YAA6BtgB,UAAUC,QAAWgR,GAA7D,CAQA,IAFA,IAAIqR,EAAUhC,SAAS6B,OAAS7B,SAAS6B,OAAOjc,MAAM,MAAQ,GAC1Dqc,EAAM,CAAA,EACDziB,EAAI,EAAGA,EAAIwiB,EAAQriB,OAAQH,IAAK,CACvC,IAAI0iB,EAAQF,EAAQxiB,GAAGoG,MAAM,KACzB5E,EAAQkhB,EAAM/C,MAAM,GAAGva,KAAK,KAEhC,IACE,IAAIud,EAAWvU,mBAAmBsU,EAAM,IAGxC,GAFAD,EAAIE,GAAYf,EAAUgB,KAAKphB,EAAOmhB,GAElCxR,IAAQwR,EACV,KAEV,CAAQ,MAAOhiB,GAAK,CACf,CAED,OAAOwQ,EAAMsR,EAAItR,GAAOsR,CApBvB,CAqBF,EAMGI,OAAQ,SAAU1R,EAAK2Q,GACrBtf,EACE2O,EACA,GACAtR,GAAO,CAAE,EAAEiiB,EAAY,CACrBC,SAAU,IAGf,EACDe,eAAgB,SAAUhB,GACxB,OAAOnZ,EAAKlI,KAAKmhB,UAAW/hB,GAAO,CAAA,EAAIY,KAAKqhB,WAAYA,GACzD,EACDiB,cAAe,SAAUnB,GACvB,OAAOjZ,EAAK9I,GAAO,GAAIY,KAAKmhB,UAAWA,GAAYnhB,KAAKqhB,WACzD,GAEH,CACEA,WAAY,CAAEtgB,MAAO5B,OAAO0J,OAAOuY,IACnCD,UAAW,CAAEpgB,MAAO5B,OAAO0J,OAAOsY,KAGxC,CAEUjZ,CApHa,CACrBia,KAAM,SAAUphB,GAId,MAHiB,MAAbA,EAAM,KACRA,EAAQA,EAAMme,MAAM,GAAI,IAEnBne,EAAM6D,QAAQ,mBAAoB+I,mBAC1C,EACDkU,MAAO,SAAU9gB,GACf,OAAO6e,mBAAmB7e,GAAO6D,QAC/B,2CACA+I,mBAEH,GAwG8B,CAAEmD,KAAM,MClI0H,MAAM3D,GAAE,CAAC9N,EAAEa,KAAK,IAAIV,EAAE,MAAM,CAAC,gBAAgB,gBAAgB4L,SAAS5L,EAAE4N,KAAK,IAAI7N,EAAE,OAAOC,EAAE4N,GAAG,GAAGqQ,QAAQ,QAAQle,EAAEF,EAAE6V,aAAQ,IAAS3V,OAAE,EAAOA,EAAE6N,KAAK,IAAIqQ,QAAQ,MAAMvd,OAAE,EAAOA,EAAEkN,KAAK,IAAI5N,CAAE,GAAE,QAAQA,EAAEH,EAAE6V,aAAQ,IAAS1V,EAAEA,EAAEH,EAAE6V,MAAM,IAAI7V,GAAGC,GAAE8V,UAAU,KAAK,MAAM/V,OAAE,EAAOA,EAAE8E,IAAI,MAAM,GAAG,MAAMjE,QAAQ,MAAMb,OAAE,EAAOA,EAAEiW,QAAQC,QAAQ,OAAO,MAAMrV,OAAE,EAAOA,EAAEqiB,WAAWriB,GAAG,CAAA,GAAI6M,GAAEqI,UAAU,MAAMlV,QAAQZ,GAAED,GAAG,OAAO,MAAMa,OAAE,EAAOA,EAAEgZ,SAAS,MAAMhZ,OAAE,EAAOA,EAAEL,eAAe,WAAWK,OAAE,EAAM,EAAGqT,GAAE,oBAAoBtR,aAAaoL,GAAE,CAAChO,EAAEa,IAAIqT,KAAI,OAAOtR,mBAAc,IAASA,kBAAa,EAAOA,aAAaugB,QAAQnjB,EAAEa,IAAIiT,GAAE9T,GAAGkU,KAAI,OAAOtR,mBAAc,IAASA,kBAAa,EAAOA,aAAaE,QAAQ9C,IAAI+T,GAAE/T,GAAGkU,KAAI,OAAOtR,mBAAc,IAASA,kBAAa,EAAOA,aAAawgB,WAAWpjB,IAAImU,GAAE,oBAAoBtQ,OAAOvD,GAAE6T,KAAI,OAAOvR,mBAAc,IAASA,kBAAa,EAAOA,aAAaE,QAAQ,8BAA8B,yBAAyB6T,GAAE,CAAC3W,EAAE,GAAGa,EAAE,OAAOwiB,KAAKrjB,EAAEsjB,KAAKziB,IAAIwB,GAAE,CAACrC,GAAE,KAAM,MAAMa,EAAE+B,aAAaE,QAAQ,MAAM,IAAIjC,EAAE,OAAO,KAAK,MAAMV,EAAEiO,KAAKC,MAAMxN,GAAG,OAAM,IAAKmW,MAAMC,UAAU9W,EAAEojB,SAASvjB,EAAE,KAAKG,EAAEuB,OAAiZ0S,GAAEpU,IAAIA,EAAEgF,OAAOhF,EAAEgF,KAAKwe,OAAOnhB,IAAE,IAAKsU,MAAK3W,GAAGqU,GAAE,IAAIP,GAAE,0BAA0B2B,GAAE,IAAI3B,GAAE,8BAA8B4D,GAAE1X,GAAG+V,SAASlV,KAAK,IAAIV,EAAEU,EAAE,GAAGA,EAAE,IAAI,CAAE,EAAC,MAAO,CAAAkN,EAAE,CAAA,GAAIlN,EAAEX,EAAEmU,KAAIvG,EAAE2H,KAAmG,OAA/FvV,IAAI,QAAQC,EAAE4N,EAAE0V,gBAAW,IAAStjB,IAAI4N,EAAE0V,SAAS,CAAE,GAAE1V,EAAE0V,SAASlW,QAAQrN,EAAE6N,EAAE0V,SAASzY,KAAK8C,SAAgB9N,KAAKa,EAAC,EAAGqU,GAAElV,GAAG+V,SAASlV,KAAK,MAAMV,QAAQH,KAAKa,GAAG,OAAOkT,GAAE,0BAA0BA,GAAE,8BAA8B5T,GAAG,SAASsW,KAAI,MAAMzW,EAAE,GAAG,MAAM,CAAC0jB,IAAI7iB,IAAIb,EAAE2J,SAAS3J,GAAGA,EAAEa,IAAE,EAAI8iB,IAAI9iB,IAAI,MAAMV,EAAEH,EAAE+S,KAAKlS,GAAG,EAAE,MAAM,IAAIb,EAAEwQ,OAAOrQ,EAAE,EAAC,EAAG,CAAC,MAAMkV,GAAE,CAACxU,EAAE,CAAE,EAACV,KAAK,IAAIyjB,WAAW7V,EAAE8V,WAAW/V,GAAGjN,EAAEZ,EAAED,EAAEa,EAAE,CAAC,aAAa,oBAAe,IAASV,IAAIA,GAAE,GAAI4N,GAAGC,GAAE,MAAMD,GAAGD,IAAI3N,EAAE,SAASH,EAAEa,GAAGijB,WAAW3jB,EAAE4jB,aAAahW,EAAEiW,iBAAiBlW,IAAI,GAAGjN,EAAE,CAAC,MAAMZ,EAAE,IAAI+W,KAAK,IAAIlJ,GAAG5N,GAAEwC,IAAI1C,EAAEa,EAAE,CAAC4Q,KAAKtR,EAAE8jB,OAAOlW,EAAEkU,QAAQhiB,EAAEikB,SAAS,SAASC,QAAO,GAAI,CAAC,CAAhK,CAAkK,KAAKrW,EAAE7N,GAAG+N,GAAE,KAAKF,GAAG,EAAE,SAASyH,KAAI,OAAOzB,GAAE,QAAQ,EAAE,CAAC,SAASnI,KAAI,OAAOzL,GAAEsC,IAAI,OAAOsR,GAAE,OAAO,EAAE,CAAC,SAAS8C,KAAI7C,GAAE,OAAOA,GAAE,MAAM7T,GAAE6iB,OAAO,KAAK,CAAC,MAAM5K,GAAEnY,GAAGF,OAAOC,OAAOC,EAAE,CAAC4G,MAAM5G,EAAE4G,OAAO2O,OAAMuB,GAAE9W,GAAG+V,SAASlV,KAAK,MAAMV,QAAQH,KAAKa,GAAG,OAAO+V,KAAIzW,GAAG4V,eAAe8B,GAAE7X,GAAG,MAAMa,EAAE,SAASb,GAAG,IAAIa,EAAE,MAAMV,EAAEiO,KAAKC,MAAMrO,GAAG,OAAOG,EAAEikB,UAAUC,UAAUpM,GAAE9X,EAAEikB,UAAUC,WAAWlkB,EAAEikB,UAAUvK,KAAKyK,GAAGrM,GAAE9X,EAAEikB,UAAUvK,KAAKyK,IAAI,QAAQzjB,EAAEV,EAAEikB,UAAUG,0BAAqB,IAAS1jB,GAAGA,EAAE8I,SAAS3J,IAAIA,EAAEskB,GAAGrM,GAAEjY,EAAEskB,GAAI,IAAGnkB,CAAC,CAAhO,CAAkOH,GAA2C,OAAO+N,QAAvCrG,UAAU6O,YAAYkM,OAAO5hB,GAAcuN,KAAKmG,UAAU,CAAC+P,GAAGvW,EAAEuW,GAAGE,MAAM/d,GAAEsH,EAAEyW,OAAO7S,KAAK5D,EAAE4D,KAAKyF,SAAS,CAACqN,kBAAkBhe,GAAEsH,EAAEqJ,SAASqN,mBAAmBC,eAAeje,GAAEsH,EAAEqJ,SAASsN,mBAAmB,IAAI3W,CAAC,CAACgI,eAAeiC,GAAEhY,GAAG,MAAMa,EAAEqW,GAAElX,GAAG,OAAOkY,SAAQxQ,UAAU6O,YAAY/T,IAAI3B,GAAG,CAACkV,eAAe6B,GAAE5X,EAAEa,GAAG,MAAMV,EAAE+W,GAAElX,GAA+C,OAA5CG,EAAEwkB,OAAO9jB,EAAE8jB,OAAOxkB,EAAEykB,UAAU,cAAqB1M,SAAQxQ,UAAU6O,YAAY/T,IAAIrC,GAAG,CAAC4V,eAAeyC,GAAExY,GAAE,GAAI,IAAImU,GAAE,OAAO7S,QAAQC,SAAQ,GAAI,MAAMV,KAAKyL,qBAAqB5E,UAAU6O,aAAa7O,UAAU6O,YAAYkM,QAAQ/a,UAAU6O,YAAY/T,KAAK,OAAO3B,GAAGb,GAAGsM,oBAAoBE,8CAA8CF,oBAAoBE,gDAAgD3L,CAAC,CAAC,SAASqW,GAAElX,GAAG,IAAIa,EAAE,MAAMV,EAAEiO,KAAKC,MAAMrO,GAAG,OAAOG,EAAEikB,UAAUC,UAAUpM,GAAE9X,EAAEikB,UAAUC,WAAW,QAAQxjB,EAAEV,EAAEikB,UAAUS,wBAAmB,IAAShkB,GAAGA,EAAE8I,SAAS3J,IAAIA,EAAEskB,GAAGrM,GAAEjY,EAAEskB,GAAI,IAAGnkB,CAAC,CAAC,SAAS+X,GAAElY,GAAG,OAAOoO,KAAKmG,UAAU,CAAC+P,GAAGtkB,EAAEskB,GAAGE,MAAM/d,GAAEzG,EAAEwkB,OAAO7S,KAAK3R,EAAE2R,KAAKyF,SAAS,CAAC0N,kBAAkBre,GAAEzG,EAAEoX,SAAS0N,mBAAmBJ,eAAeje,GAAEzG,EAAEoX,SAASsN,gBAAgBK,UAAUte,GAAEzG,EAAEoX,SAAS2N,WAAWC,WAAWhlB,EAAEoX,SAAS4N,WAAWve,GAAEzG,EAAEoX,SAAS4N,iBAAY,IAAS,CAAC,SAAS/M,GAAEjY,GAAG,MAAMa,EAAEb,EAAEuF,QAAQ,KAAK,KAAKA,QAAQ,KAAK,KAAK,OAAO0f,WAAW/Z,KAAKyC,KAAK9M,IAAIb,GAAGA,EAAEuO,WAAW,KAAK2W,MAAM,CAAC,SAASze,GAAEzG,GAAG,OAAOmlB,KAAKtX,OAAOK,aAAaxN,MAAM,KAAK,IAAIukB,WAAWjlB,KAAKuF,QAAQ,MAAM,KAAKA,QAAQ,MAAM,KAAKA,QAAQ,KAAK,GAAG,CAAC,IAAI4R,GAAE/V,IAAG+V,GAAEnX,KAAK+V,aAAalV,EAAEV,GAAG,MAAM4N,QAAQ/N,EAAE2e,SAAS1F,OAAOjF,MAAMnT,EAAEgD,OAAOC,SAASia,OAAO5d,GAAG,IAAI4N,EAAEjJ,GAAG,OAAOiJ,EAAE,MAAM7N,QAAQ2X,GAAE9J,EAAE4E,KAAKkI,SAAS,aAAa7a,EAAE2e,SAAS1F,OAAOhF,OAAOlG,EAAE4E,KAAKqL,cAAc9d,EAAE,EAAE6V,aAAalV,GAAG,MAAMV,QAAQH,EAAE2e,SAASzF,OAAOlF,MAAMnT,EAAEgD,OAAOC,SAASia,QAAQ,IAAI5d,EAAE2E,GAAG,OAAO3E,EAAE,MAAM4N,QAAQiK,GAAE7X,EAAEwS,KAAKkI,SAAS,aAAa7a,EAAE2e,SAASzF,OAAOjF,OAAO9T,EAAEwS,KAAKqL,cAAcjQ,EAAE,EAAEgI,iBAAiBlV,GAAG,IAAIV,EAAE,MAAM4N,QAAQ/N,EAAE2e,SAAS/E,WAAW5F,MAAMnT,EAAEgD,OAAOC,SAASia,QAAQ,IAAIhQ,EAAEjJ,GAAG,OAAOiJ,EAAE,GAAG,QAAQ5N,EAAE4N,EAAE4E,YAAO,IAASxS,OAAE,EAAOA,EAAEsiB,OAAO,CAAC,MAAM5hB,QAAQgX,GAAE9J,EAAE4E,KAAKkI,SAAS,aAAa7a,EAAE2e,SAAS1F,OAAOhF,OAAOlG,EAAE4E,KAAKqL,cAAcnd,EAAE,CAAC,CAAC,MAAMA,QAAQmX,GAAEjK,EAAE4E,KAAKkI,SAAS,aAAa7a,EAAE2e,SAASzF,OAAOjF,OAAOlG,EAAE4E,KAAKqL,cAAcnd,EAAE,CAAC,EAAEkV,aAAalV,EAAEV,GAAG,MAAM4N,QAAQ/N,EAAE2e,SAASxV,OAAO6K,MAAMnT,EAAEgD,OAAOC,SAASia,OAAO5d,GAAG,IAAI4N,EAAEjJ,GAAG,OAAOiJ,EAAE,MAAM7N,QAAQ2X,GAAE9J,EAAE4E,KAAKkI,SAAS,aAAa7a,EAAE2e,SAASxV,OAAO8K,OAAOlG,EAAE4E,KAAKqL,cAAc9d,EAAE,EAAEklB,QAAQ,CAAC3C,OAAO5K,GAAErV,IAAIwV,GAAErL,YAAY6L,GAAE6M,YAAYzN,MAAK,IAAI5X,KAAK,MAAMa,EAAEsW,MAAKnX,GAAG,OAAOF,OAAOC,OAAOc,EAAEoY,OAAOjZ,EAAE,GAAG2e,SAAS1F,QAAQnZ,OAAOC,OAAOc,EAAEqY,OAAOlZ,EAAE,GAAG2e,SAASzF,QAAQpZ,OAAOC,OAAOc,EAAE+Y,WAAW5Z,EAAE,GAAG2e,SAAS/E,YAAY9Z,OAAOC,OAAOc,EAAEsI,OAAOnJ,EAAE,GAAG2e,SAASxV,QAAQtI,IAAI0W,GAAEvX,GAAGF,OAAOC,OAAOD,OAAOC,OAAO,GAAGC,EAAE4e,MAAM,CAAC5K,MAAM+B,SAASlV,KAAK,MAAMV,QAAQqY,KAAIzK,EAAEjO,OAAOC,OAAOD,OAAOC,OAAO,CAACulB,YAAYzhB,OAAOC,SAASO,MAAMxD,EAAE,IAAI,CAAC0kB,WAAW,CAACC,gBAAgBrlB,KAAK,OAAOU,EAAE,GAAGkN,EAAE/N,EAAE4e,KAAK5K,SAASnT,EAAC,IAAK,MAAM4kB,GAAE,YAAYzlB,GAAG,OAAOa,GAAGb,EAAE+L,QAAQ,CAAC/L,EAAEa,IAAIA,EAAEb,IAAIa,EAAE,CAAlD,EAAqDA,GAAGV,IAAI,IAAIulB,MAAM3X,EAAE4X,OAAOzlB,GAAGC,EAAEF,EAAED,EAAEG,EAAE,CAAC,QAAQ,WAAW,OAAO4N,GAAGoG,GAAEjU,GAA9oJ6V,WAAU,IAAI,GAAG1T,KAAI,OAAO,MAAMxB,GAAGmW,KAAKkL,MAAM3d,SAAS,IAAI0V,KAAK+F,SAASzb,SAAS,IAAIqhB,UAAU,GAAG3L,KAAK+F,SAASzb,SAAS,IAAIqhB,UAAU,IAAIA,UAAU,EAAE,IAAIzlB,EAAE4N,GAAE,CAACuS,OAAOtgB,EAAE6lB,SAASvlB,KAAIJ,QAAQC,GAAG2lB,UAAUhY,SAAS5N,EAAEsC,IAAI,CAACujB,SAASllB,IAAI,CAACb,IAAI,MAAMa,EAAE,CAACa,MAAM1B,EAAEujB,QAAO,IAAKvM,MAAMC,UAAU,OAAOrU,aAAaugB,QAAQ,KAAK/U,KAAKmG,UAAU1T,GAAI,EAAtG,CAAwG8V,GAAE9V,EAAEiN,GAAG,CAAC,MAAM9N,GAAGqP,OAAO2W,UAAUvZ,QAAQS,MAAMlN,EAAE,GAA4wIsV,CAAEvH,GAAGZ,OAAO,IAAI,OAAOV,QAAQC,KAAK,6FAA6F7L,EAAEiN,GAAE7N,EAAE,CAACmW,cAAchC,OAAMvT,EAAEf,OAAOC,OAAO,CAAA,EAAGE,GAAE,IAAKY,GAAGkN,IAAI,IAAI7N,EAAEF,EAAE+N,EAAE,CAAC,gBAAgB,MAAMkY,eAAevY,EAAEwY,SAAShS,GAAG,MAAM,MAAMlU,EAAE,GAAG,MAAM,CAACimB,eAAe,KAAK,KAAKjmB,EAAEK,QAAQ4M,aAAajN,EAAE8S,MAAK,EAAGoT,SAAS,CAACrlB,EAAEV,KAAKH,EAAE+S,KAAKtJ,WAAW5I,EAAEV,GAAG,EAAG,EAA7H,GAAiI6N,EAAEnN,EAAEiN,GAAE5N,EAAE,CAACsW,aAAaT,MAAM/V,EAAEa,KAAK,MAAM+iB,WAAWzjB,EAAE0jB,WAAW9V,SAAS9N,GAAEY,GAAG,GAAG,OAAO,MAAMA,OAAE,EAAOA,EAAEiU,QAAQpH,SAAS,GAAGK,EAAE,CAAC,MAAM/N,IAAIE,EAAE,CAACF,IAAI,MAAMa,EAAEb,EAAEsG,MAAM,KAAK,IAAI,GAAG,IAAIzF,EAAER,OAAO,CAAC,MAAML,EAAEoO,KAAKC,MAAMxK,OAAO8J,KAAK9M,EAAE,KAAK,GAAGb,EAAE+W,IAAI,OAAO,IAAIC,KAAK,IAAIhX,EAAE+W,IAAI,CAAC,CAAC,MAAM/W,GAAI,CAAA,OAAO,IAAK,EAAhJ,CAAkJ+N,IAAI7N,EAAE+W,WAAU,IAAKD,MAAMC,UAAU,GAAG,IAAIvJ,IAAIwG,GAAG,IAAIlG,EAAE6Q,QAAQ1e,IAAIH,EAAE,CAAC,IAAIE,CAAC,KAAK,OAAOC,GAAE6N,EAAE,CAAC,SAAS,cAAchO,GAAG+V,SAASlV,KAAK,MAAMV,QAAQH,KAAKa,GAAG,OAAO6M,IAAIvN,IAAI,IAAIH,GAAGa,GAAGb,EAAEF,OAAOC,OAAOD,OAAOC,OAAO,GAAGc,GAAG,CAACyV,YAAYxW,OAAOC,OAAO,CAAC,qBAAqB,SAAS,wBAAwB,SAASc,EAAEyV,kBAAkBtW,GAAGa,IAAI,MAAMkN,EAAE0I,KAAIvW,EAAEuW,KAAIvC,EAAElU,EAAE8N,GAAEjN,EAAE,CAAC2V,aAAaT,MAAM/V,EAAEa,KAAK,GAAG,OAAO,MAAMA,OAAE,EAAOA,EAAEiU,QAAQ/G,EAAE2V,IAAI,MAAMxjB,EAAEwjB,IAAI,UAAU,CAAC,MAAM1jB,QAAQ0N,GAAE7M,GAAGb,GAAGE,EAAEwjB,IAAI1jB,GAAG,MAAM6jB,WAAW1jB,SAASF,GAAEY,GAAGV,GAAG4N,EAAE2V,IAAIvjB,EAAE,MAAM6N,EAAE7N,GAAE+T,EAAE,CAAC,SAAS,cAAclU,GAAG+V,SAASlV,KAAK,MAAMV,QAAQH,KAAKa,GAAG,OAAOkN,EAAE2V,IAAI,MAAMxjB,EAAEwjB,IAAI,MAAMvjB,KAAK,OAAOL,OAAOC,OAAOiO,EAAE,CAACmY,qBAAqBpY,EAAE4V,IAAIyC,aAAalmB,EAAEyjB,KAAI,IAAK3jB,GAAGa,IAAI,MAAMkN,EAAE/N,EAAE8N,GAAEjN,EAAE,CAAC2V,aAAaT,MAAM/V,EAAEa,KAAK,IAAIV,EAAE,MAAM4N,QAAQL,GAAE7M,GAAGX,EAAE,QAAQC,EAAE,MAAM4N,OAAE,EAAOA,EAAEsY,gBAAW,IAASlmB,OAAE,EAAOA,EAAE,GAAG2N,EAAE,MAAMC,OAAE,EAAOA,EAAE/C,KAAK9K,IAAI,CAACF,IAAIgO,GAAE,yBAAyBhO,EAAG,EAAnC,CAAqCE,GAAG,CAACF,IAAIgO,GAAE,6BAA6BhO,EAAG,EAAvC,CAAyC8N,QAAQ,IAAI5N,EAAEC,GAAE4N,EAAE,CAAC,cAAc2J,IAAG,OAAOxX,EAAEC,GAAED,EAAE,CAAC,SAAS,aAAagV,IAAGpV,OAAOC,OAAOG,EAAE,CAAComB,mBAAmBjS,GAAEkS,uBAAuB9Q,IAAE,IAAK5U,GAAGkN,IAAI,IAAIyY,cAActmB,EAAEumB,sBAAsB/Y,GAAGK,EAAEmG,EAAElU,EAAE+N,EAAE,CAAC,gBAAgB,0BAA0B,IAAI7N,IAAIiU,GAAE,OAAOjU,GAAGuM,QAAQC,KAAK,wIAAwI7L,EAAEqT,GAAG,MAAMlG,EAAEnN,EAAEiN,GAAEoG,EAAE,CAACkC,cAAc+B,GAAE3B,aAAaT,MAAM/V,EAAEa,KAAK,OAAO,MAAMA,OAAE,EAAOA,EAAEiU,QAAQ8B,KAAIvB,SAAQpV,GAAEY,GAAG6M,OAAOoG,EAAE3T,GAAE6N,EAAE,CAAC,SAAS,aAAa8I,IAAG,OAAOhX,OAAOC,OAAO+T,EAAE,CAAC4S,gBAAgBnR,GAAEoR,gBAAgBhb,IAAE,GAAr0E,EAAy0E,IAAM3L,KAAK,MAAMG,EAAEU,MAAKb,GAAG,OAAOF,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAACI,GAAG,CAACye,KAAKrH,GAAEpX,GAAGwe,SAASvd,GAAEjB,IAAK,ICAhsQymB,GAAelG,SAASK,cAAc,kIAC5C6F,GAAaC,UAAY,mVC4BzB,MAAMC,WAAsBC,YA2C3Bne,YAAYoe,GACXC,qBArBDC,GAAAxkB,IAAA/B,MAAQ,GAERwmB,GAAazkB,IAAA/B,KAAA,IAAIgI,GAEjBye,GAAc1kB,IAAA/B,KAAA,IAAIgI,GAElBhI,KAAiB0mB,kBAAG,IAAI1e,EAA8B,CAAE2e,WAAW,IAInEC,GAAgG7kB,IAAA/B,UAAA,GAEhG6mB,GAAgB9kB,IAAA/B,KAAA,CACf8mB,SAAUxlB,EAAAtB,KAAI+mB,GAAA,IAAAC,IAAqB/Z,KAAKjN,QAKzCinB,GAAoCllB,IAAA/B,UAAA,GA+JpCknB,GAAanlB,IAAA/B,KAAAqG,GAAa,IAAW/F,EAAAN,UAAA,OAAA,GAAA,YACpC,MAAMmnB,EAAYtiB,EAAc7E,KAAK8E,Ud5MR,ec6M7B,IACC,MAAMT,KAAEA,EAAIC,QAAEA,SAAkBT,EAAasjB,EAAW,QACxD,MAAO,CAAEC,cAAe/iB,EAAMgjB,iBAAkB,CAAEC,IAAKhjB,EAAQ,UAC/D,CAAC,MAAOpE,GACRF,KAAKiV,OAAO1I,MACX,yBACA,qDAED,CAGD,OA+EDvM,KAAAiV,OAAS,CACR1I,MAAO,CAAC1C,EAAiB0d,EAAc,MAEtCzb,QAAQS,MAAM1C,EAAS0d,EAAa,IAAInjB,OACxC9C,EAAAtB,gBAAAF,KAAAE,KAA6B6J,EAAS0d,EAAY,EAEnDC,KAAM,CAAC3d,EAAiB0d,EAAc,MAErCzb,QAAQuJ,IAAIxL,EAAS0d,EAAY,GA/PlCzlB,EAAA9B,KAAIinB,GAAoBZ,EAAe,KAEvC/kB,EAAAtB,KAAI+mB,GAAA,IAAAU,IAAJ3nB,KAAAE,KACA,CA/CU0nB,gCACV,MAAO,CACN,aACA,UACA,WACA,SACA,QACA,QACA,eACA,eACA,aAED,CA6DG5iB,gBACH,OAAO9E,KAAK2nB,aAAa,aACzB,CAEG1N,aACH,OAAOja,KAAK2nB,aAAa,UACzB,CAEG5S,cACH,OAAO/U,KAAK2nB,aAAa,kBAAezhB,CACxC,CAEGmW,aACH,OAAOrc,KAAK2nB,aAAa,gBAAazhB,CACtC,CAEGye,kBACH,OAAO3kB,KAAK2nB,aAAa,sBAAmBzhB,CAC5C,CAEG0hB,YACH,MAAsC,SAA/B5nB,KAAK2nB,aAAa,QACzB,CAEGE,oBACH,MAAMA,EAAQ7nB,KAAK2nB,aAAa,SAEhC,GAAc,OAAVE,EAAgB,CAGnB,OADC3kB,OAAO4kB,aAAmE,QAArDhhB,EAAoB,QAApBG,EAAA/D,OAAO4kB,kBAAa,IAAA7gB,OAAA,EAAAA,EAAAnH,KAAAoD,OAAA,uCAAiC,IAAA4D,OAAA,EAAAA,EAAAihB,SACzD,OAAS,OAC3B,CAED,OAAOF,GAAS,OAChB,CAEGG,mBACH,OAAOhoB,KAAK2nB,aAAa,sBAAmBzhB,CAC5C,CAEG+hB,sBACH,MAAMjkB,EAAyC,QAAnCiD,EAAAjH,KAAK2nB,aAAa,qBAAiB,IAAA1gB,EAAAA,EAAA,OAC/C,MAAY,oBAARjD,EACIA,EAEO,SAARA,CACP,CA8HKkkB,+DACL,MAAMb,iBAAEA,SAA2B/lB,EAAAtB,KAAeknB,GAAA,KAAApnB,KAAfE,MAEnC,OAAOqnB,IACP,CAoCKc,+DACL,MAAMf,cAAEA,SAAwB9lB,EAAAtB,KAAeknB,GAAA,KAAApnB,KAAfE,MAEhC,OAA2B,QAApBiH,EAAAmgB,eAAAA,EAAegB,aAAK,IAAAnhB,OAAA,EAAAA,EAAGjH,KAAKia,UAAW,KAC9C,CAuCKoO,6DACL,GAAIroB,KAAKsoB,WAAWC,YAAa,CAChC,GAAIjnB,EAAAtB,KAAI+mB,GAAA,IAAAyB,IAAJ1oB,KAAAE,MAEH,YADAsB,EAAAtB,KAAI+mB,GAAA,IAAA0B,IAAJ3oB,KAAAE,MAIDsB,EAAAtB,KAAI+mB,GAAA,IAAA2B,IAAJ5oB,KAAAE,MAEAsB,EAAAtB,KAAI+mB,GAAA,IAAA4B,IAAJ7oB,KAAAE,MAEAsB,EAAAtB,KAAI+mB,GAAA,IAAA6B,IAAJ9oB,KAAAE,MAEAsB,EAAAtB,KAAI+mB,GAAA,IAAA8B,IAAJ/oB,KAAAE,MAEA,MAAMyF,YAAEA,EAAWC,OAAEA,EAAMO,MAAEA,EAAKE,KAAEA,EAAIC,cAAEA,GAAkBJ,IAG5D9C,OAAOgd,iBAAiB,WAAY5e,EAAAtB,KAAkB6mB,GAAA,KAACC,UAEvDxlB,EAAAtB,KAAIwmB,GAAA,KAAYnd,UAAU/H,EAAAtB,KAAkB+mB,GAAA,IAAA+B,IAAC7b,KAAKjN,OAClDsB,EAAAtB,KAAIymB,GAAA,KAAapd,UAAU/H,EAAAtB,KAAqB+mB,GAAA,IAAAgC,IAAC9b,KAAKjN,OAEtDsB,EAAAtB,KAAIwmB,GAAA,KAAYhe,OAAO,CACtB1D,UAAW9E,KAAK8E,UAChBmV,OAAQja,KAAKia,OACblF,QAAS/U,KAAK+U,QACdsH,OAAQrc,KAAKqc,OACbsI,YAAa3kB,KAAK2kB,YAClBjf,SACAD,cACAQ,QACAE,OACAC,gBACA4hB,aAAchoB,KAAKgoB,eAGpB1mB,EAAAtB,KAAIymB,GAAA,KAAaje,OAAO,CAAEwgB,QAAShpB,KAAK4nB,QAExC9lB,EAAA9B,KAAIumB,IAAS,EAAI,IACjB,IACD,CAED0C,uBACC3nB,EAAAtB,KAAIwmB,GAAA,KAAYhd,iBAChBlI,EAAAtB,KAAIymB,GAAA,KAAajd,iBACjBlI,EAAAtB,KAAI+mB,GAAA,IAAAmC,IAAJppB,KAAAE,MACAkD,OAAOid,oBAAoB,WAAY7e,EAAAtB,KAAkB6mB,GAAA,KAACC,SAC1D,CAEDqC,yBAAyBjgB,EAAkBkgB,EAAkBC,GAC5D,GAAKrpB,KAAKsoB,WAAWC,aAAgBjnB,EAAAtB,KAAUumB,GAAA,MAE3C6C,IAAaC,GAAYlD,GAAcuB,mBAAmB4B,SAASpgB,GAAW,CACjF5H,EAAAtB,KAAI+mB,GAAA,IAAA2B,IAAJ5oB,KAAAE,MAEA,MAAMupB,EAA4B,OAAbH,EAErB9nB,EAAAtB,KAAIwmB,GAAA,KAAYhe,QAAO,EAAG9C,SAAQD,kBACjC,IAAI+jB,EAAY9jB,EACZ+jB,EAAiBhkB,EASrB,OANK8jB,IACJE,EAAiB,KACjBD,EAAY,KACZ5jB,KAGM,CACN,CAACC,EAAUqD,IAAYmgB,EACvB3jB,OAAQ8jB,EACR/jB,YAAagkB,EACb,IAGFnoB,EAAAtB,KAAIymB,GAAA,KAAaje,OAAO,CAAEwgB,QAAShpB,KAAK4nB,OACxC,CACD,wIApWA5nB,KAAK0pB,aAAa,CAAEC,KAAM,SAC1B3pB,KAAKsoB,WAAW1H,YAAYqF,GAAa2D,QAAQC,WAAU,IAE3D7pB,KAAK8pB,YAAc9pB,KAAKsoB,WAAWyB,cAA8B,WAClE,EAACvB,GAAA,WAGA,MAAMwB,EAAW,SAAS9Y,KAAKnK,UAAUkjB,YAAc,aAAa/Y,KAAKnK,UAAUmjB,QAGnF,OAFWlqB,KAAKsoB,WAAW6B,KAEhBC,QAAQ,SAAWJ,CAC/B,EAACvB,GAAA,WAMA,MAAM4B,EAAKrqB,KAAKsoB,WAAW6B,KACrBG,EAAOvK,SAASK,cAAc,QACpCiK,EAAGE,cAAc3J,YAAY0J,GAC7BA,EAAK1J,YAAYyJ,EAClB,EAAC3B,GAAA,WAmDA,MAAM8B,EAAqB,CAC1B,WACA,SACA,QACA,QACA,eACA,eACA,cAQD,GALArE,GAAcuB,mBAAmB1e,SAASyhB,IACzC,IAAKD,EAAmBlB,SAASmB,KAAUzqB,KAAK6F,EAAU4kB,IACzD,MAAMrmB,MAAM,GAAGqmB,oBAAuB,IAGpCzqB,KAAK6nB,OAAwB,UAAf7nB,KAAK6nB,OAAoC,SAAf7nB,KAAK6nB,MAChD,MAAMzjB,MACL,oFAGH,EAAC4iB,GAAA,WAGA,MAAMthB,OAAEA,EAAMD,YAAEA,GAAgBD,IAChClE,EAAAtB,KAAewmB,GAAA,KAAChe,OAAO,CAAE9C,SAAQD,eAClC,EAEWilB,GAAA,SAAA5lB,EAAmBiQ,EAAiBiT,GAC9C,MAAMjD,EAAQiD,QAAgB9hB,EACxB8e,IAAWD,EACjB/kB,KAAK2qB,IAAMC,GAASzrB,OAAAC,OAAAD,OAAAC,OAAA,CAEnBymB,eAAe,GACZM,GAAc0E,qBACjB/lB,YACAiQ,UACAgQ,QACAC,YAID,CAAC,QAAS,QAAQhc,SAAS0H,IAC1B,MAAMoa,EAAS9qB,KAAK2qB,IAAI1M,KAAKvN,GAE7B1Q,KAAK2qB,IAAI1M,KAAKvN,GAAO,IAAUlK,IAAmClG,EAAAN,UAAA,OAAA,GAAA,YACjEA,KAAK0mB,kBAAkBle,OAAO,CAAEme,WAAW,IAC3C,IAEC,aADmBmE,KAAUtkB,EAE7B,CAAS,QACTxG,KAAK0mB,kBAAkBle,OAAO,CAAEme,WAAW,GAC3C,CACF,GAAC,GAEH,EAGCmC,GAAA,SAAAiC,EACAC,EACAC,4CAEA,MAAMnmB,UAAEA,EAASiQ,QAAEA,EAAOiT,aAAEA,GAAiB+C,EAK7C,GAFCE,EAAU,cAAgBA,EAAU,YAAcA,EAAU,gBAEhC,CAC5B,IAAKnmB,EAAW,OAEhBxD,EAAAtB,KAAe+mB,GAAA,IAAA2D,IAAA5qB,KAAfE,KAAgB8E,EAAWiQ,EAASiT,EACpC,CAGD1mB,EAAAtB,KAAqBinB,GAAA,KAAAnnB,KAArBE,KAAsB+qB,0EAoBtB,MAAM3D,cAAEA,SAAwB9lB,EAAAtB,KAAeknB,GAAA,KAAApnB,KAAfE,MACoC,QAApEkrB,EAAsD,QAAtDC,EAA0C,QAA1CrkB,EAA6B,QAA7BG,EAAAmgB,aAAa,EAAbA,EAAegE,mBAAc,IAAAnkB,OAAA,EAAAA,EAAAjH,KAAK6nB,cAAQ,IAAA/gB,OAAA,EAAAA,EAAAukB,kBAAY,IAAAF,OAAA,EAAAA,EAAAG,oBAAc,IAAAJ,GAAAA,EAAAliB,SAClEuiB,GZjEoB,CAACznB,IACxB,IAAKA,EAAK,OAEV,MAAMynB,EAAOxL,SAASK,cAAc,QACpCmL,EAAK7nB,KAAOI,EACZynB,EAAKC,IAAM,aACXzL,SAASQ,KAAKK,YAAY2K,EAAK,EY2DEE,CAASF,EAAKznB,yBAK9CxC,EAAAtB,KAAI+mB,GAAA,IAAA2E,IAAJ5rB,KAAAE,MACAsB,EAAAtB,KAAI+mB,GAAA,IAAA4E,IAAJ7rB,KAAAE,KACD,EAAC0rB,GAAA,oDAGA,MAAME,EAAW7L,SAASK,cAAc,SAClCyL,EAAWhnB,EAAc7E,KAAK8E,UdzOR,ac0O5B,IACC,MAAMT,KAAEA,SAAeR,EAAagoB,EAAU,QAC9CD,EAASE,UAAYznB,CACrB,CAAC,MAAOnE,GACRF,KAAKiV,OAAO1I,MACX,0BACA,qDAED,CACDvM,KAAKsoB,WAAW1H,YAAYgL,qBAI5B5rB,KAAK8pB,YAAYiC,aAAa,aAAc/rB,KAAK6nB,MAClD,EAACqB,GAAA,iBASmB,QAAnBjiB,EAAA3F,EAAAtB,KAAI4mB,GAAA,YAAe,IAAA3f,GAAAA,EAAAmb,SACnBtgB,EAAA9B,KAAI4mB,GAAgB,KAAI,IACzB,EAACmC,GAAA,UAEsBC,QAAEA,6CACpBA,SAEGgD,OAAO,6BAEblqB,EAAA9B,QAAoB+f,SAASK,cAAc,oBAE1C,KAEDjhB,OAAOC,OAAOkC,EAAAtB,KAAiB4mB,GAAA,KAACqF,MAAO,CACtCC,SAAU,QACVC,IAAK,IACLC,MAAO,IACPC,OAAQ,QACRC,MAAO,QACPC,cAAe,OACfC,OAAQ,QAGTzM,SAAS1b,KAAKuc,YAAYtf,EAAAtB,KAAiB4mB,GAAA,OAE3CtlB,EAAAtB,KAAI+mB,GAAA,IAAAmC,IAAJppB,KAAAE,QAIsB,EAAAysB,GAAA,SAAAxY,EAAesT,SAClCtT,GAASjU,KAAK4nB,QAAwB,QAAjB3gB,EAAA3F,EAAAtB,KAAiB4mB,GAAA,YAAA,IAAA3f,GAAAA,EAAEylB,WAAW,CAAEzY,QAAOsT,gBACjE,EAACsB,GAAA,WAsBA7oB,KAAK8pB,YAAY6C,UAAazsB,IAC7B,GAAc,UAAVA,EAAEwQ,IAAiB,OAEvBxQ,EAAE0sB,iBACF,MAAMC,EAAU7sB,KAAK8pB,YAAYhgB,iBAAiB,UAGlD,GAAuB,IAAnB+iB,EAAQntB,OAEX,YADAmtB,EAAQ,GAAGC,QAIZ,MAAMC,EAAiBziB,MAAMC,KAAKsiB,GAASG,QACzCC,GAAgD,WAArCA,EAAOtF,aAAa,eAIH,IAA1BoF,EAAertB,QAClBqtB,EAAe,GAAGD,OAClB,CAEH,EAvTO3G,GAAA0E,mBAAyC,CAC/ClV,YAAa,CACZ,qBAAsB,gBACtB,wBAAyB,UCd5B,MAAMuX,WAAkB/G,GAavBle,cACC,MAAMklB,EAAY,IAAInlB,EACtBse,MAAM6G,EAAU3kB,OAAOyE,KAAKkgB,iBAR7BntB,KAAAotB,UAAY,IAAIplB,EAAiB,CAAe,EAAE,CAAEG,oBAAoB,IAExEklB,GAAiCtrB,IAAA/B,UAAA,GAEjCstB,GAAAvrB,IAAA/B,KAAgC,MA6MhCutB,GAAAxrB,IAAA/B,MAAwB,KACvB2Z,cAAcrY,EAAAtB,KAAIqtB,GAAA,MAClBvrB,EAAA9B,KAAIqtB,GAAoB,KAAI,IAAA,IAG7BG,GAAqBzrB,IAAA/B,MAACytB,0BACrB,KAAKA,eAAAA,EAAStpB,IAAI,CACjB7C,EAAAtB,KAAIutB,GAAA,KAAJztB,KAAAE,MACAsB,EAAAtB,KAAI0tB,GAAA,IAAAC,IAAJ7tB,KAAAE,KAAe,QAASytB,aAAA,EAAAA,EAASlhB,OACjC,MAAMqhB,EAAoC,QAAnB3mB,EAAAwmB,aAAA,EAAAA,EAAShX,gBAAU,IAAAxP,OAAA,EAAAA,EAAAnD,IACpC+pB,EAAqB,GAAoB,QAAjB/mB,EAAA2mB,aAAO,EAAPA,EAAShX,gBAAQ,IAAA3P,OAAA,EAAAA,EAAEqN,YAA6B,QAAjBgX,EAAAsC,aAAO,EAAPA,EAAShX,gBAAQ,IAAA0U,OAAA,EAAAA,EAAE3V,aAMhF,YAJAxV,KAAKiV,OAAO1I,OACK,QAAhB2e,EAAAuC,aAAO,EAAPA,EAASlhB,aAAO,IAAA2e,OAAA,EAAAA,EAAAtR,mBAAoBgU,GACpB,QAAhBjP,EAAA8O,aAAO,EAAPA,EAASlhB,aAAO,IAAAoS,OAAA,EAAAA,EAAAmP,eAAgBD,EAGjC,CAED,MAAM1jB,EAAuC,QAA3B4jB,EAAoB,QAApBC,EAAY,UAAZP,EAAQzb,YAAI,IAAAic,OAAA,EAAAA,EAAEC,cAAM,IAAAF,OAAA,EAAAA,EAAExsB,aAAK,IAAAusB,OAAA,EAAAA,EAAE5jB,UAC3CA,GACHnK,KAAKiV,OAAO1I,MAAMpC,IAGH,UAAZsjB,EAAQzb,YAAI,IAAAmc,OAAA,EAAAA,EAAE5hB,QACjBvM,KAAKiV,OAAO1I,MACX,IAAIkhB,EAAQzb,KAAKzF,MAAMpG,UAAUsnB,EAAQzb,KAAKzF,MAAMgb,cACpDkG,EAAQzb,KAAKzF,MAAM1C,SAIrB,MAAMsK,OAAEA,EAAMoO,SAAEA,EAAQO,SAAEA,GAAa2K,EAAQzb,KAE/C,GAAe,cAAXmC,EAIH,OC5QG,SAAsB2O,IACtBA,eAAAA,EAAUsL,aAGXpsB,GACHC,aAAaugB,QAAQ/f,EAAqCgL,KAAKmG,UAAUkP,GAE3E,CDkQGuL,CAAYvL,GACZxhB,EAAAtB,KAAIutB,GAAA,KAAJztB,KAAAE,WACAsB,EAAAtB,gBAAAF,KAAAE,KAAe,UAAWuiB,GAI3B,MAAM9c,YAAEA,EAAWC,OAAEA,EAAM4oB,OAAEA,EAAMJ,OAAEA,EAAM3S,SAAEA,EAAQyC,SAAEA,GAAayP,EAAQzb,KAExEsc,IAAW3rB,EAOf3C,KAAKmtB,UAAU3kB,OAAO,CACrB9C,SACAD,cACA6oB,SACAC,WAAYhT,aAAA,EAAAA,EAAUzX,IACtB0qB,SAAUN,aAAA,EAAAA,EAAQvK,GAClBha,YAAaukB,aAAA,EAAAA,EAAQ1sB,MACrBitB,sBAAuBzQ,aAAA,EAAAA,EAAUX,cACjCqR,gBAAiB1Q,aAAA,EAAAA,EAAU9D,UAb3Bla,KAAKmtB,UAAU3kB,OAAO,CACrB8lB,UAaA,IAIHK,GAAuC5sB,IAAA/B,KAAAqG,GAAa,IAAW/F,EAAAN,UAAA,OAAA,GAAA,kBAC9D,IACC,MAAM4uB,QAAkB5uB,KAAK2qB,IAAI3M,SAASzF,OAAOlF,MAAM,GAAInQ,OAAOC,SAASia,QAI3E,OAHKwR,EAAUzqB,IACdnE,KAAKiV,OAAO1I,MAAM,wBAA2C,QAAlBtF,EAAA2nB,eAAAA,EAAWriB,aAAO,IAAAtF,OAAA,EAAAA,EAAA6mB,cAEvDc,EAAU5c,IACjB,CAAC,MAAOvF,GACRzM,KAAKiV,OAAO1I,MAAM,wBAAyBE,EAAI5C,QAC/C,CAGD,OAjRA7J,KAAKmtB,UAAYA,CACjB,CAjBUtC,8BAAmBgE,GAC7B1I,GAAc0E,mBAAqBgE,CACnC,CAiBKxG,uJACDroB,KAAKsoB,WAAWC,cACL,QAAdthB,EAAAjH,KAAKmtB,iBAAS,IAAAlmB,GAAAA,EAAEoC,UAAUrJ,KAAK8uB,aAAa7hB,KAAKjN,OACnC,QAAd8G,EAAA9G,KAAKotB,iBAAS,IAAAtmB,GAAAA,EAAEuC,UAAUrJ,KAAK+uB,aAAa9hB,KAAKjN,cAE5CgvB,EAAM3G,kBAAiBvoB,KAAAE,QAC7B,CAEDipB,uBACC3C,MAAM2C,uBAENjpB,KAAKmtB,UAAU3jB,iBACfxJ,KAAKotB,UAAU5jB,gBACf,CAEKslB,aACL/D,EACAniB,EACAqiB,oDAEA,MAAMnmB,UACLA,EAASmV,OACTA,EAAMoC,OACNA,EAAM3W,OACNA,EAAMD,YACNA,EAAW6oB,OACXA,EAAME,SACNA,EAAQ7kB,YACRA,EAAW4kB,WACXA,EAAU5J,YACVA,EAAW1e,MACXA,EAAKE,KACLA,EAAIC,cACJA,EAAaqoB,sBACbA,EAAqBC,gBACrBA,GACG3D,EAMJ,IAAIkE,EACA9U,EALA7Y,EAAAtB,KAAIqtB,GAAA,MACP/rB,EAAAtB,KAAIutB,GAAA,KAAJztB,KAAAE,MAKD,MAAM4M,EAAU5M,KAAK2qB,IAAIhF,qBAGzB,IAAKlgB,EAAa,CACjB,IAAKwU,EAAQ,OACb,MAAMiV,QAAmBlvB,KAAKmoB,gBAU9B,KARG8G,gBAAgBC,EAAWD,cAAe9U,0BT3Fd,EAACgV,EAA4BxiB,WAC9D,MAAMyiB,EAAsC,QAA1BnoB,EAAAyF,EAAWyiB,aAAS,EAATA,EAAWze,YAAI,IAAAzJ,OAAA,EAAAA,EAAGkoB,EAAUE,UACzD,IAAKD,EACJ,MAAO,GAER,MAAME,EAAkBF,EAAUziB,GAAOwiB,EAAUI,IAAMJ,EAAUK,MACnE,MAAO,CACNP,cAAeK,aAAA,EAAAA,EAAiBd,SAChCrU,uBAAwBmV,aAAA,EAAAA,EAAiBlV,cACzC,ESkFyEqV,CACvEP,EAAWC,UACX,CACCviB,UACAzG,WAIG8oB,EAAe,CACnB,MAAMvkB,EAASvE,EACZ,CACAupB,aAAcvpB,EACd2G,cAAc,QAEd5G,EACGunB,QAAgBztB,KAAK2qB,IAAI1M,KAAK5K,MACnC4G,EAEC9a,OAAAC,OAAA,CAAAid,UACIsI,GAAe,CAAEA,gBAEtBxK,EACA,GACAzP,GAOD,OAJApJ,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwBytB,QACM,eAAb,QAAbxmB,EAAAwmB,aAAO,EAAPA,EAASzb,YAAI,IAAA/K,OAAA,EAAAA,EAAEkN,SAClBnU,KAAKmtB,UAAU3kB,OAAO,CAAErC,UAAMD,IAG/B,CACD,CAID,GACCT,IACEwlB,EAAU,UAAYhlB,GACtBglB,EAAU,SAAW9kB,GACrB8kB,EAAU,kBAAoB7kB,GAC/B,CACD,MAAMqnB,QAAgBztB,KAAK2qB,IAAI1M,KAAKhd,KAAKwE,EAAaC,EAAQ7C,EAA4B,CACzFoD,QACAypB,aAAcvpB,EACdC,kBAID,OAFA9E,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwBytB,QACxBztB,KAAKmtB,UAAU3kB,OAAO,CAAEvC,WAAOC,EAAWC,UAAMD,EAAWE,mBAAeF,GAE1E,CAED,GAAIooB,IAAW3rB,EAKd,OAJK4rB,GACJvuB,KAAKiV,OAAO1I,MAAM,iCAEnBrJ,OAAOC,SAAS/D,OAAOmvB,GAIxB,GAAID,IAAW3rB,GAAmC2rB,IAAW3rB,EAA8B,CAC1F,IAAK8rB,IAA0BC,EAE9B,YADA1uB,KAAKiV,OAAO1I,MAAM,kDAOnB,IAAIkK,EACAkZ,EAJgC,QAApC7oB,EAAAxF,EAAAtB,KAAIstB,GAAA,YAAgC,IAAAxmB,GAAAA,EAAA8oB,QACpC9tB,EAAA9B,KAAIstB,GAAiC,KAAI,KAIzC,IACC7W,EACC6X,IAAW3rB,QACF3C,KAAK2qB,IAAI3M,SAASyG,QAAQ3C,OAAO4M,SACjC1uB,KAAK2qB,IAAI3M,SAASyG,QAAQ5iB,IAAI6sB,EACxC,CAAC,MAAOxuB,GACR,GAAe,oBAAXA,EAAEmK,KAEL,YADArK,KAAKiV,OAAO1I,MAAMrM,EAAE2J,SAIrB8lB,GAAiB,CACjB,CAED,MAAMlC,QAAgBztB,KAAK2qB,IAAI1M,KAAKhd,KAAKwE,EAAaC,EAAQ7C,EAA4B,CACzFwa,cAAeoR,EACfhY,WACAkZ,mBAEDruB,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwBytB,EACxB,CAeD,GAbIa,IAAW3rB,GACdb,EAAA9B,KAAIqtB,GAAoB5T,aAAY,IAAWnZ,EAAAN,UAAA,OAAA,GAAA,YAC9C,MAAMytB,QAAgBztB,KAAK2qB,IAAI1M,KAAKhd,KACnCwE,EACAC,EACA7C,EACA,CAAE,GAEHvB,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwBytB,EACzB,KAAG,WAICe,IAAaS,EAEjB,YADAjvB,KAAKiV,OAAOuS,KAAK,0DAKlB,MAAMqI,EAAsC,CAC3CC,UAAW7qB,GAAuBS,GAASkD,EAAUlD,QACrDiE,YACIxK,OAAAC,OAAAD,OAAAC,OAAA,GAAAuK,GACH,CAAAmZ,SAAU,CACTlW,UACAvC,KAAMrK,KAAK2qB,IAAI/E,0BAA4BhZ,KAG7CmjB,QAASlrB,EAAcC,EAAW,GAAGmqB,GAAiBT,WAGjD1L,EClOF,SAAsBlW,GAC3B,MAAMkW,EAAW,CAAA,EACjB,GAAIlW,EACH,IACCzN,OAAOC,OACN0jB,EACArV,KAAKC,MAAMzL,aAAaE,QAAQM,IAEjC,CAAC,MAAOvC,GAER,CAEF,OAAO4iB,CACR,CDqNmBkN,CAAYpjB,GAEzBqiB,EACHY,EAAgB5uB,KAAO,CAACmZ,EAAe1P,IACtC1K,KAAK2qB,IAAI1M,KAAK5K,MAAM4G,EAAQ,CAAEoC,SAAQyG,YAAY3I,EAAwBC,iCACtE1P,GACCvE,GAAQ,CAAEupB,aAAcvpB,EAAM2G,cAAc,MAGlDme,EAAU,cACVA,EAAU,YACVA,EAAU,gBACVA,EAAU,aAEV4E,EAAgB5uB,KAAO,IAAIuF,IAASxG,KAAK2qB,IAAI1M,KAAKhd,KAAKwE,EAAaC,KAAWc,IAIhFxG,KAAKotB,UAAU5kB,OAAOqnB,KACtB,CAsIKd,aAAahE,EAAyBniB,kDAC3C,MAAMmnB,QAAEA,EAAOD,UAAEA,EAAS7uB,KAAEA,EAAI0I,YAAEA,GAAgBohB,EAE5CkF,EAAelQ,SAASK,cAAc,aACtC/b,KAAEA,SAAeR,EAAaksB,EAAS,QAC7CE,EAAa/J,UAAY7hB,EACzB,MAAMiR,EAAQ2a,EAAarG,QAAQC,WAAU,GAEvCqG,EbvQiC,EACxCC,EACAC,WAEA,MAAMF,EAAY5lB,MAAMC,KAAK4lB,EAASrmB,iBAAiB,oBAAoBiI,KAAKse,UAE/E,MAAMC,EAAWD,EAAO1I,aAAa,WAC/B4I,EAAmD,QAAnCtpB,EAAAkpB,EAASK,eAAeF,UAAW,IAAArpB,OAAA,EAAAA,EAAAif,UAGnD5f,EAAKwI,SAASyhB,GAAetjB,KAAKojB,EAAOI,gBAAiBL,GAGhE,OAFAC,EAAOjO,SAEA9b,CAAE,IAKV,OAFiC,QAAjCW,EAAAkpB,EAASpG,cAAc,kBAAU,IAAA9iB,GAAAA,EAAEmb,SAE5B8N,CAAS,EaqPGQ,CAA0Bpb,QAAatV,KAAKkoB,uBAGzDloB,KAAK2qB,IAAI3M,SAASyG,QAAQzY,oBAGxB1K,EAAAtB,KAAI0tB,GAAA,IAAAiD,IAAJ7wB,KAAAE,KAAkCsV,EAAOrU,GAFxBqU,EXlTQxL,iBAChC,UAAUpH,mBAEKsG,SAASikB,GAAWA,EAAOlB,aAAa,WAAY,UWoTnEtiB,EAAuB6L,EAAO3L,GX9TD,EAACinB,EAAsBC,WACjDA,IACW,QAAd5pB,EAAA2pB,aAAA,EAAAA,EAAS3E,aAAK,IAAAhlB,GAAAA,EAAE6pB,YAAY,eAAgB,6BAA6BD,MACzE,EW8TAE,CAAgBzb,EAAMyU,cAAc,OAA2B,QAAnB9iB,EAAA0C,eAAAA,EAAakB,YAAM,IAAA5D,OAAA,EAAAA,EAAA4pB,OAE/D,MAAMG,EAAiB,IAAW1wB,EAAAN,UAAA,OAAA,GAAA,YACjC,IACCkwB,EAAUlnB,SAAS1C,IAClBA,GAAI,GAEL,CAAC,MAAOpG,GACRF,KAAKiV,OAAO1I,MAAMrM,EAAE2J,QACpB,CAED7J,KAAK8pB,YAAYmH,gBAAgB3b,GAGjC,MAAM4b,GAAiBtoB,EAAUmnB,QbhNL,EAC9BhmB,EACAke,EACAiJ,KAEA,IAAkB,IAAdjJ,GAAqC,oBAAdA,IAAoCiJ,EAAgB,CAE9E,MAAMC,EAAsCpnB,EAAIggB,cAC/C,mCAEDoH,SAAAA,EAAmBC,OACnB,GauMCC,CAAgBrxB,KAAK8pB,YAAa9pB,KAAKioB,UAAWiJ,GAElD5vB,EAAAtB,KAAa0tB,GAAA,IAAA4D,IAAAxxB,KAAbE,KAAciB,GACdK,EAAAtB,gBAAAF,KAAAE,KAAe,eAAgB,CAAA,GAE/B,GADeA,KAAK8pB,YAAYC,cAAc,IAAIrnB,gBACtC,CAEX,MAAM+T,QAAiBxV,EAAK4B,EAA6B,CAAE,GAC3DvB,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwByW,EACxB,CACF,IAGKqZ,EAKLxuB,EAAAtB,gBAAAF,KAAAE,KAAsBgxB,EAAgBlB,GAJrCkB,MAKD,wGAxGyBxmB,GACzB,MACM+mB,EAAW/mB,EAASH,KAE1B,IAHmB,CAAC,SAGJif,SAASiI,GAAW,CACnC,MAAMC,EAA2B,QAAQD,IAGzC/mB,EAASH,KAAOmnB,EAEhBhnB,EAAS0V,iBAAiB,SAAS,KAElC1V,EAASH,KAAOG,EAASzJ,MAAQwwB,EAAWC,CAAwB,GAErE,CACF,EAACb,GAAA,SAEkCc,EAA4BxwB,kDAC1B,QAApCgG,EAAA3F,EAAAtB,KAAIstB,GAAA,YAAgC,IAAArmB,GAAAA,EAAA2oB,QAEpC,MAAM8B,EAAqBD,EAAS1H,cACnC,kCAGD,GAAI2H,UAA6BlmB,KAAgC,CAChE,MAAM0O,QAAEA,EAAOmD,cAAEA,UAAyB/b,EAAAtB,aAAAF,KAAAE,QAAgD,CAAA,EAEtFka,GAAWmD,IACd/b,EAAAtB,KAA8B0tB,GAAA,IAAAiE,IAAA7xB,KAA9BE,KAA+B0xB,GAG/B5vB,EAAA9B,KAAqCstB,GAAA,IAAIsE,qBAGzC5xB,KAAK2qB,IAAI3M,SAASyG,QAChBC,YAAYxK,EAAS5Y,EAAAtB,cACrBqB,MAAYoV,GAAYnW,EAAAN,UAAA,OAAA,GAAA,YACxB,MAAM6xB,QAAa5wB,EAAKywB,EAAmB/N,GAAI,CAAEtG,gBAAe5G,aAChEnV,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwB6xB,EACzB,MACCrlB,OAAOC,IACU,eAAbA,EAAIpC,MACPrK,KAAKiV,OAAO1I,MAAM,2BAA4BE,EAAI5C,QAClD,IAGJ,oBA6DD,OAAOS,MAAMC,KAAKvK,KAAKsoB,WAAWxe,iBAAiB,mBAAmBnD,OACpE0T,IACAA,EAAMyX,iBACCzX,EAAM0X,kBAGhB,EAACC,GAAA,WAGA,OAAO1nB,MAAMC,KACZvK,KAAKsoB,WAAWxe,iBAAiB,gBAAgBtH,QAChD4I,QACD,CAAC6mB,EAAK5X,IACLA,EAAMhQ,KAAOlL,OAAOC,OAAO6yB,EAAK,CAAE,CAAC5X,EAAMhQ,MAAOgQ,EAAMtZ,QAAWkxB,GAClE,CAAE,EAEJ,cAE0BC,GACzB,MAAMC,EAA+BnyB,KAAK0mB,kBAAkBrd,WAAU,EAAGsd,wBACpEA,EACiB,QAApB1f,EAAAirB,aAAS,EAATA,EAAWjoB,iBAAS,IAAAhD,GAAAA,EAAEmrB,IAAI,YAE1BpyB,KAAK0mB,kBAAkBpd,YAAY6oB,GACf,QAApBrrB,EAAAorB,aAAS,EAATA,EAAWjoB,iBAAS,IAAAnD,GAAAA,EAAEsb,OAAO,WAC7B,GAEH,EAACiQ,GAAA,SAEmBH,EAA8BjxB,4CACjD,GAAIixB,EAAUI,gBAAkBhxB,EAAAtB,KAAoB0tB,GAAA,IAAA6E,IAAAzyB,KAApBE,MAAwB,CACvD,MAAMwyB,EAAcN,aAAS,EAATA,EAAWvK,aAAa,MAE5CrmB,EAAAtB,KAA8B0tB,GAAA,IAAA+E,IAAA3yB,KAA9BE,KAA+BkyB,GAE/B,MAAMQ,EAAWpxB,EAAAtB,gBAAAF,KAAAE,MACX2yB,GbxUmC5oB,EawUWmoB,EbvUtD5nB,MAAMC,MAAKR,aAAG,EAAHA,EAAKsX,aAAc,IAAIjW,QAAO,CAAC6mB,EAAKxH,WAC9C,MAAMmI,EAAsF,QAApE3rB,EAAA,IAAI0I,OAAO,yBAAuCN,KAAKob,EAAKpgB,aAAQ,IAAApD,OAAA,EAAAA,EAAA,GAE5F,OAAQ2rB,EAAwBzzB,OAAOC,OAAO6yB,EAAK,CAAEW,CAACA,GAAkBnI,EAAK1pB,QAAnDkxB,CAA2D,GACnF,CAAE,IaqUGY,EAAU1zB,OAAAC,OAAAD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACZuzB,GACAD,GAAQ,CAEXtV,OAAQla,OAAOC,SAASia,SAGnBqQ,QAAgBxsB,EAAKuxB,EAAaK,GAExCvxB,EAAAtB,KAAuBwtB,GAAA,KAAA1tB,KAAvBE,KAAwBytB,EACxB,CbpVwC,IAAC1jB,kBauVlC9I,GAERjB,KAAK8pB,YAAYhgB,iBAAiB,UAAUd,SAASikB,IAEpDA,EAAO6F,QAAU,KAChBxxB,EAAAtB,gBAAAF,KAAAE,KAAmBitB,EAAQhsB,EAAK,CAChC,GAEH,EAAC8xB,GAAA,SAEgB/B,EAA4BlB,GAC5C9vB,KAAK8pB,YAAY5J,iBAChB,iBACA,KACClgB,KAAK8pB,YAAY7f,UAAUmY,OAAO,YAClC4O,GAAgB,GAEjB,CAAEgC,MAAM,IAGT,MAAMC,EAAkBnD,IAAchtB,EAAUwC,QAAU,gBAAkB,iBAE5EgF,MAAMC,KAAKvK,KAAK8pB,YAAYoJ,uBAAuB,oBAAoBlqB,SAAQ,CAACe,EAAKxK,KAEnFwK,EAAoBkiB,MAAM,oBAA6B,GAAJ1sB,EAAH,KACjDwK,EAAIE,UAAUmoB,IAAIa,EAAgB,IAGnCjzB,KAAK8pB,YAAY7f,UAAUmoB,IAAI,WAChC,EAACzE,GAAA,SAESwF,EAAmBC,GAC5BpzB,KAAKqzB,cAAc,IAAIC,YAAYH,EAAW,CAAEC,WACjD,EE1gBDG,eAAeC,OAAO,aAActG"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export{D as default}from"./index-
|
|
1
|
+
export{D as default}from"./index-22283759.js";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|