@telia-ace/widget-components-area-flamingo 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-7d59ee3f.js","sources":["../../../packages/runtime/dist/index-8c63c0e1.js","../src/area-component.ts"],"sourcesContent":["var Hn = Object.defineProperty, Vn = Object.defineProperties;\nvar Bn = Object.getOwnPropertyDescriptors;\nvar xe = Object.getOwnPropertySymbols;\nvar Un = Object.prototype.hasOwnProperty, Wn = Object.prototype.propertyIsEnumerable;\nvar $e = (n, t, e) => t in n ? Hn(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e, dt = (n, t) => {\n for (var e in t || (t = {}))\n Un.call(t, e) && $e(n, e, t[e]);\n if (xe)\n for (var e of xe(t))\n Wn.call(t, e) && $e(n, e, t[e]);\n return n;\n}, Pe = (n, t) => Vn(n, Bn(t));\nvar Zt = (n, t, e) => new Promise((r, s) => {\n var i = (c) => {\n try {\n a(e.next(c));\n } catch (h) {\n s(h);\n }\n }, o = (c) => {\n try {\n a(e.throw(c));\n } catch (h) {\n s(h);\n }\n }, a = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(i, o);\n a((e = e.apply(n, t)).next());\n});\nconst Xt = (n, t, e, ...r) => {\n const s = `[${n.get(\"$environment\").name || \"webprovisions\"}] ${e}`;\n switch (t) {\n case \"info\":\n console.info(s, ...r);\n break;\n case \"warning\":\n console.warn(s, ...r);\n break;\n case \"error\":\n console.error(s, ...r);\n break;\n }\n}, zn = (n) => {\n const t = n.container || n;\n return {\n info: (e, ...r) => Xt(t, \"info\", e, ...r),\n warn: (e, ...r) => Xt(t, \"warning\", e, ...r),\n error: (e, ...r) => Xt(t, \"error\", e, ...r)\n };\n};\nvar Tt = /* @__PURE__ */ ((n) => (n.Implementation = \"implementation\", n.Widget = \"widget\", n))(Tt || {}), at = /* @__PURE__ */ ((n) => (n.Pre = \"pre\", n.Post = \"post\", n))(at || {});\nconst Fn = (n, t, e, r) => {\n try {\n const s = new t(e, r);\n return {\n name: n,\n invoke: (i, o) => {\n let a;\n return s[i] && (a = s[i].call(s, o)), Promise.resolve(a);\n },\n getInstance: () => s\n };\n } catch (s) {\n if (s.message && s.message.indexOf(\"is not a constructor\") >= 0)\n return {\n name: n,\n invoke: (i) => {\n let o;\n return i === \"initialize\" && (o = t(e, r)), Promise.resolve(o);\n },\n getInstance: () => t\n };\n throw s;\n }\n};\nfunction Se(n, t) {\n return typeof n == \"undefined\" ? t : n;\n}\nlet Jn = class {\n constructor(t = {}) {\n this.part = t;\n }\n createCommand(t, e, r) {\n let s;\n typeof e == \"function\" ? s = {\n scope: Tt.Widget,\n stage: at.Post,\n defaultArgs: void 0,\n handlerResolver: e\n } : s = {\n scope: Se(e.scope, Tt.Widget),\n stage: Se(e.stage, at.Post),\n defaultArgs: e.defaultArgs,\n handlerResolver: r\n };\n let i = this.part;\n const o = t.split(\".\");\n return o.forEach((a, c) => {\n c === o.length - 1 ? i[a] || (i[a] = () => s) : i = this.part[a] = this.part[a] || {};\n }), this;\n }\n get() {\n return this.part;\n }\n};\nconst fe = (n) => {\n const t = new Jn({});\n return n(t), t.get();\n};\nfe((n) => {\n n.createCommand(\n \"types.register\",\n { scope: Tt.Implementation, stage: at.Pre },\n (t) => (e, r) => {\n t.container.get(\"$types\")[e] = r;\n }\n ).createCommand(\n \"type\",\n { stage: at.Pre },\n (t) => (e) => {\n t.container.register(\"$type\", e);\n }\n ).createCommand(\n \"settings\",\n { stage: at.Pre, defaultArgs: [null] },\n (t) => (e) => {\n t.events.dispatch(\n \"settings:change\",\n e,\n { bubbles: !0 }\n ), t.container.register(\"$settings\", e);\n }\n ).createCommand(\n \"plugin\",\n { stage: at.Pre },\n (t) => (e, r, s) => {\n const { container: i } = t;\n let o = null, a = e, c = r;\n typeof e == \"string\" && (o = e, a = r, c = s);\n const h = (u) => {\n const { transformPluginSettings: l } = t.container.get(\"$environmentOptions\"), d = l ? l(\n c || {},\n o,\n t.container,\n a\n ) : r;\n try {\n const f = Fn(\n o,\n a,\n i,\n d\n );\n i.get(\"$plugins\").push(f), u && f.invoke(\"initialize\", null);\n } catch (f) {\n zn(t).warn(\"Error when initializing plugin\", f);\n }\n };\n t.container.get(\"$instance\") ? h(!0) : t.events.subscribeOnce(\"widget:instance-created\", () => h(!1));\n }\n ).createCommand(\n \"container.register\",\n (t) => (e, r) => {\n t.container.register(e, r);\n }\n ).createCommand(\n \"container.registerAsync\",\n (t) => (e, r) => {\n t.container.registerAsync(e, r);\n }\n ).createCommand(\n \"container.registerFactory\",\n (t) => (e, r) => {\n t.container.registerFactory(e, r);\n }\n ).createCommand(\n \"container.touch\",\n (t) => (e, r) => {\n t.container.touch(e, r);\n }\n ).createCommand(\n \"csp\",\n {},\n (t) => (e) => {\n t.container.register(\"csp\", e);\n }\n );\n});\nvar nn = /* @__PURE__ */ ((n) => (n.Activating = \"activating\", n.Loading = \"loading\", n.Activated = \"activated\", n.Deactivating = \"deactivating\", n.Deactivated = \"deactivated\", n))(nn || {});\nlet Kn = class {\n /**\n * Creates a new `Widget` instance.\n * @param container The `Container` instance to base the widget upon.\n */\n constructor(t) {\n this.container = t, this.widget = t.get(\"$widget\"), this.settings = t.get(\"$settings\"), this.events = this.widget.events, this.widget.events.subscribe(\"settings:change\", (e, r) => {\n this.settings = r;\n });\n }\n};\nvar Ce = Object.getOwnPropertySymbols, qn = Object.prototype.hasOwnProperty, Yn = Object.prototype.propertyIsEnumerable, Gn = (n, t) => {\n var e = {};\n for (var r in n)\n qn.call(n, r) && t.indexOf(r) < 0 && (e[r] = n[r]);\n if (n != null && Ce)\n for (var r of Ce(n))\n t.indexOf(r) < 0 && Yn.call(n, r) && (e[r] = n[r]);\n return e;\n};\nfunction Qn(n = {}) {\n const t = n, {\n phrase: e = \"\",\n category: r,\n guideCategory: s,\n contactCategory: i,\n take: o,\n connectionKey: a,\n accordion: c,\n id: h,\n uriName: u,\n sorting: l,\n tag: d,\n tagId: f,\n tagTitle: g\n } = t, E = Gn(t, [\n \"phrase\",\n \"category\",\n \"guideCategory\",\n \"contactCategory\",\n \"take\",\n \"connectionKey\",\n \"accordion\",\n \"id\",\n \"uriName\",\n \"sorting\",\n \"tag\",\n \"tagId\",\n \"tagTitle\"\n ]), p = {};\n return Object.keys(E).forEach((C) => {\n typeof n[C] == \"string\" && (p[C] = n[C]);\n }), typeof e == \"string\" && e.length && (p.phrase = e), e === null && (p.phrase = e), typeof s == \"string\" && s !== \"0\" && (p.guideCategory = s), typeof s == \"number\" && s !== 0 && (p.guideCategory = s), typeof s == \"object\" && s !== null && (typeof s.id == \"string\" && s.id !== \"0\" && (p.guideCategory = s.id), typeof s.id == \"number\" && s.id !== 0 && (p.guideCategory = s.id)), typeof i == \"string\" && i !== \"0\" && (p.contactCategory = i), typeof i == \"number\" && i !== 0 && (p.contactCategory = i), typeof i == \"object\" && i !== null && (typeof i.id == \"string\" && i.id !== \"0\" && (p.contactCategory = i.id), typeof i.id == \"number\" && i.id !== 0 && (p.contactCategory = i.id)), typeof r == \"string\" && r !== \"0\" && (p.category = r), typeof r == \"number\" && r !== 0 && (p.category = r), typeof r == \"object\" && r !== null && (typeof r.id == \"string\" && r.id !== \"0\" && (p.category = r.id), typeof r.id == \"number\" && r.id !== 0 && (p.category = r.id)), h && (p.id = h), u && (+p.category || +p.guideCategory || +p.guide || +p.contactCategory || +p.contactMethod) && (p.uriName = u), a && (p.connectionKey = a), o && (p.take = o), l && (p.sorting = l), typeof c == \"string\" && c.length > 0 && (p.accordion = c), typeof d == \"string\" && d !== \"0\" && (p.tag = d), typeof d == \"number\" && d !== 0 && (p.tag = d), Array.isArray(d) && d.length && (p.tag = d), (typeof f == \"string\" || typeof f == \"number\") && (p.tagId = f), typeof g == \"string\" && (p.tagTitle = g), typeof p.tag == \"string\" && (p.tag = p.tag.split(\",\")), p;\n}\nconst Ft = (n, t, ...e) => typeof t == \"string\" ? n(`[humany] ${t}`, ...e) : n(t, ...e), bt = class {\n constructor() {\n this.keys = [], this.log = (t, ...e) => this.lookup(t, () => bt.log(...e)), this.warn = (t, ...e) => this.lookup(t, () => bt.warn(...e)), this.error = (t, ...e) => this.lookup(t, () => bt.error(...e)), this.info = (t, ...e) => this.lookup(t, () => bt.info(...e));\n }\n lookup(t, e) {\n this.keys.indexOf(t) === -1 && (this.keys.push(t), e());\n }\n};\nlet R = bt;\nR.log = (...n) => Ft(console.log, ...n);\nR.warn = (...n) => Ft(console.warn, ...n);\nR.error = (...n) => Ft(console.error, ...n);\nR.info = (...n) => Ft(console.info, ...n);\nconst rn = (n) => {\n let t = {}, e, r;\n if (typeof n != \"object\" || n === null)\n return n;\n t = Array.isArray(n) ? [] : {};\n for (r in n)\n e = n[r], t[r] = typeof e == \"object\" && e !== null ? rn(e) : e;\n return t;\n}, Zn = rn;\nfunction ke(n) {\n let t = 0;\n if (n.length === 0)\n return t.toString();\n for (let e = 0; e < n.length; e++) {\n const r = n.charCodeAt(e);\n t = (t << 5) - t + r, t = t & t;\n }\n return t.toString();\n}\nlet Xn = class {\n constructor(t, e) {\n this.lockWarningTime = t, this.lockErrorTime = e, this.tasks = [], this.current = Promise.resolve(), this.next = this.next.bind(this);\n }\n add(t, e, r, s) {\n this.tasks.push({ task: t, resolve: e, reject: r, done: s }), this.next();\n }\n next() {\n this.current = this.current.then(() => {\n const t = this.tasks.shift();\n if (t) {\n let e;\n const r = setTimeout(() => {\n process.env.NODE_ENV !== \"production\" && R.warn(\n `A lock has exceeded ${this.lockWarningTime} ms. Waiting additional ${this.lockErrorTime} ms before rejecting the task.`,\n t\n ), e = setTimeout(() => {\n t.reject(\"lock timeout exceeded\");\n }, this.lockErrorTime);\n }, this.lockWarningTime), s = Promise.resolve(t.task()).then((i) => (clearTimeout(r), clearTimeout(e), i));\n return Promise.resolve(s).then(this.next).then(\n () => s.then((i) => {\n t.done(), t.resolve(i);\n })\n ).catch((i) => (t.done(), t.reject(i), this.next()));\n }\n return Promise.resolve();\n });\n }\n};\nconst St = /* @__PURE__ */ new WeakMap();\nfunction G(n, t = 5e3, e = 1e3) {\n return St.has(n) || St.set(n, new Xn(t, e)), (r) => new Promise((s, i) => {\n const o = St.get(n);\n o.add(r, s, i, () => {\n o.tasks.length || St.delete(n);\n });\n });\n}\nconst tr = (n, t) => {\n const e = () => t.querySelectorAll(\"[data-loading=true]\").length > 0, r = (() => {\n let s = !1;\n return () => {\n s || (n.get(\"$widget\").events.dispatch(\"widget:data-loaded\", {\n element: t\n }), s = !0);\n };\n })();\n if (!e())\n return r();\n new MutationObserver((s, i) => {\n s.find(\n (o) => o.type === \"attributes\" && o.attributeName === \"data-loading\"\n ) && !e() && (i.disconnect(), r());\n }).observe(t, {\n attributes: !0,\n childList: !0,\n subtree: !0\n });\n}, er = (n, t) => {\n n.get(\"$widget\").container.getAsync(\"components\").then((e) => {\n e.events.subscribeOnce(\"components:component-model-initialized\", () => {\n let r = e.nodes.visible.reduce(\n (i, o) => (!o.name || !o.type || o.type === \"view\" || o.type === \"root\" || o.attributes.layout.size === \"none\" || t.querySelector(`[data-name=\"${o.name}\"]`) || i.push(o.name), i),\n []\n ), s = !1;\n new MutationObserver((i, o) => {\n i.forEach((a) => {\n if (a.addedNodes) {\n const c = Array.from(\n a.addedNodes\n ).reduce((h, u) => {\n const l = u.getAttribute && u.getAttribute(\"data-name\");\n return l && r.indexOf(l) > -1 && h.push(l), h;\n }, []);\n r = r.filter((h) => c.indexOf(h) === -1), !s && r.length === 0 && (s = !0, tr(n, t), o.disconnect());\n }\n });\n }).observe(t, {\n attributes: !1,\n characterData: !1,\n childList: !0,\n subtree: !0,\n attributeOldValue: !1,\n characterDataOldValue: !1\n });\n });\n });\n}, nr = er, rr = (n = {}) => (Object.keys(n).forEach((t) => {\n (n[t] === null || typeof n[t] == \"undefined\") && delete n[t];\n}), n), lt = rr, Ae = (n, t) => {\n let e = !0;\n return Object.keys(n).length !== Object.keys(t).length || Object.keys(n).some((r) => !Object.keys(t).some((s) => r === s)) ? !1 : (Object.keys(n).forEach((r) => {\n if (e) {\n const s = typeof n[r] == \"undefined\" ? \"\" : n[r], i = typeof t[r] == \"undefined\" ? \"\" : t[r];\n e = s.toString() === i.toString();\n }\n }), e);\n}, nt = () => Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);\nfunction Pt() {\n return nt() + nt() + \"-\" + nt() + \"-\" + nt() + \"-\" + nt() + \"-\" + nt() + nt() + nt();\n}\nvar sr = Object.defineProperty, ir = Object.defineProperties, or = Object.getOwnPropertyDescriptors, Ne = Object.getOwnPropertySymbols, ar = Object.prototype.hasOwnProperty, cr = Object.prototype.propertyIsEnumerable, Le = (n, t, e) => t in n ? sr(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e, hr = (n, t) => {\n for (var e in t || (t = {}))\n ar.call(t, e) && Le(n, e, t[e]);\n if (Ne)\n for (var e of Ne(t))\n cr.call(t, e) && Le(n, e, t[e]);\n return n;\n}, ur = (n, t) => ir(n, or(t));\nclass lr {\n constructor(t) {\n const { events: e } = t.get(\"$widget\");\n this.events = e.createChild(this);\n }\n action(t, e, r) {\n this.events.dispatch(\"data:action\", { action: e, value: r, target: t }, { bubbles: !0 });\n }\n subscribe(t, e) {\n return this.events.subscribe(\n \"data:action\",\n (r, { action: s, value: i, target: o }) => t === o && e(t, s, i)\n );\n }\n}\nconst sn = (n) => {\n const t = [];\n return [\n (e, r) => {\n t.push(n.subscribe(e, r));\n },\n () => {\n t.forEach((e) => {\n e();\n });\n }\n ];\n};\nlet yt = class {\n constructor(t, e = []) {\n this.platform = t, this.rules = e;\n }\n match(t) {\n return this.rules.every((e) => !(e.id && e.id !== t.id || e.type && e.type !== t.type));\n }\n ofType(t) {\n return this.rules.push({ type: t }), this;\n }\n withId(t) {\n return this.rules.push({ id: t }), this;\n }\n select() {\n return new dr(this.platform, this);\n }\n};\nclass ge {\n constructor(t, e, r) {\n this.platform = t, this.node = e, this.actions = new Jt(\n t,\n new yt(t).withId(e.id),\n r\n );\n const [s, i] = sn(this.platform.events);\n this.subscribe = s, this.unsubscribe = i;\n }\n properties(t) {\n return t && this.node.touchProperties((e) => t(e)), this.node.attributes.properties;\n }\n context(t) {\n return t && this.subscribe(\"components:context-changed\", (e, { node: r }) => {\n r === this.node && t(this.node.attributes.context);\n }), this.node.attributes.context;\n }\n layout(t) {\n return t && this.subscribe(\"components:layout-changed\", (e, { node: r }) => {\n r === this.node && t(this.node.attributes.layout);\n }), this.node.attributes.layout;\n }\n writeProperties(t, e) {\n this.node.writeProperties(t, e);\n }\n writeContext(t, e) {\n this.node.writeProperties(t, e);\n }\n writeLayout(t, e) {\n this.node.writeLayout(t, e);\n }\n dispose() {\n this.unsubscribe(), this.actions.dispose();\n }\n}\nclass dr {\n constructor(t, e, r = !0) {\n this.platform = t, this.target = e, this.clearOnDispose = r, this.removes = [], this.actions = new Jt(this.platform, this.target);\n }\n writeProperties(t, e) {\n this.removes.push(\n this.platform.write({\n options: e,\n attributes: { properties: t },\n target: this.target,\n removable: this.clearOnDispose\n })\n );\n }\n writeContext(t, e) {\n this.removes.push(\n this.platform.write({\n options: e,\n attributes: { context: t },\n target: this.target,\n removable: this.clearOnDispose\n })\n );\n }\n writeLayout(t, e) {\n this.removes.push(\n this.platform.write({\n options: e,\n attributes: { layout: t },\n target: this.target,\n removable: this.clearOnDispose\n })\n );\n }\n dispose() {\n this.removes.forEach((t) => {\n t();\n }), this.actions.dispose();\n }\n}\nconst pr = (n, t, e) => {\n const r = n.concat(), s = (i, o, a) => {\n let c = !0;\n if (r.length) {\n const h = r.shift(), u = (l, d) => (c = !1, s(l, Object.assign({}, o, d), a));\n return Promise.resolve(h(i, u, a)).then((l) => ur(hr({}, l), {\n cancelled: c\n }));\n }\n return Promise.resolve({ data: i, cancelled: !1, options: o });\n };\n return s(t, {}, e);\n};\nlet Jt = class {\n constructor(t, e, r) {\n this.platform = t, this.target = e, this.ns = r, this.subscriptions = [], this.create = this.create.bind(this);\n }\n create(t, e = () => {\n }) {\n const r = {\n key: t,\n fn: e,\n target: this.target,\n ns: this.ns\n };\n this.platform.actionsState.handlers.push(r);\n const s = () => {\n const i = this.platform.actionsState.handlers.indexOf(r);\n i > -1 && this.platform.actionsState.handlers.splice(i, 1);\n };\n return this.subscriptions.push(s), s;\n }\n dispatch(t, e) {\n const r = this.platform.nodes.all.concat(\n this.platform.nodes.detached\n ), s = {}, i = this.platform.actionsState.handlers.filter(\n (o) => o.key === t && (!o.ns || !this.ns || o.ns === this.ns)\n );\n return Promise.all(\n i.map((o) => {\n const a = r.filter(\n (h) => o.target.match(h) && this.target.match(h)\n ), c = this.platform.actionsState.watchers.filter((h) => h.key === t && (!h.ns || !this.ns || h.ns === this.ns) && a.some((u) => h.target.match(u))).map((h) => h.fn);\n return Promise.all(\n a.map((h) => {\n const u = new ge(\n this.platform,\n h,\n this.ns\n );\n return pr(c, e, u).then((l) => {\n const { data: d = {}, options: f, cancelled: g } = l;\n return Promise.resolve(\n g ? {} : o.fn(d, f, u)\n ).then((E) => {\n s[h.id] = E;\n });\n });\n })\n );\n })\n ).then(() => s);\n }\n watch(t, e) {\n let r = t, s = this.ns;\n const i = t.split(\".\");\n i.length > 1 && (s = i[0], r = i.splice(1).join(\".\"));\n const o = {\n fn: e,\n target: this.target,\n key: r,\n ns: s\n };\n this.platform.actionsState.watchers.push(o);\n const a = () => {\n const c = this.platform.actionsState.watchers.indexOf(o);\n c > -1 && this.platform.actionsState.watchers.splice(c, 1);\n };\n return this.subscriptions.push(a), a;\n }\n dispose() {\n this.subscriptions.forEach((t) => t());\n }\n};\nfe((n) => {\n n.createCommand(\"components\", (t) => (e) => {\n t.events.subscribeOnce(\"components:platform-created\", (r, { platform: s }) => {\n e.handlers && e.handlers.forEach(([i, o]) => {\n s.addComponentHandler(i, o);\n });\n });\n });\n});\nlet le = class {\n constructor(t, e) {\n this.events = t, this.tags = [], this.children = {}, this.changesets = [], this.mountCount = 0, this.id = Pt(), this.type = e, this.attributes = {\n context: {},\n properties: {},\n layout: {},\n tags: []\n }, this.writeLayout({ size: \"full\", indent: 0 });\n }\n mount(t, e) {\n let r = t.get(\"mounted-nodes\");\n return r || (r = /* @__PURE__ */ new Map(), t.register(\"mounted-nodes\", r)), r.has(this) ? (process.env.NODE_ENV !== \"production\" && R.error(\"Trying to mount an already mounted component node.\", this), () => {\n }) : (this.events.dispatch(\"components:node-mounted\", { node: this }), this.mountCount === 0 && (this.mountCount = this.mountCount + 1, this.events.dispatch(\"components:node-enter\", { node: this })), () => {\n r.delete(this), this.events.dispatch(\"components:node-unmounted\", { node: this }), this.mountCount = this.mountCount - 1, this.mountCount === 0 && this.events.dispatch(\"components:node-exit\", { node: this });\n });\n }\n appendChild(t, e = \"default\") {\n if (t.parent) {\n if (t.parent === this)\n return;\n t.parent.removeChild(t);\n }\n t.parent = this, this.children[e] || (this.children[e] = []), this.children[e].push(t), this.events.dispatch(\"components:node-appended\", { node: t });\n }\n prependChild(t, e = \"default\") {\n if (t.parent) {\n if (t.parent === this)\n return;\n t.parent.removeChild(t);\n }\n t.parent = this, this.children[e] || (this.children[e] = []), this.children[e].unshift(t), this.events.dispatch(\"components:node-appended\", { node: t });\n }\n touchProperties(t, e = {}, r) {\n const s = [{ properties: t }, e];\n return this.changesets.push(s), this.events.dispatch(\"components:set-properties\", { node: this }), () => {\n if (r) {\n const i = this.changesets.indexOf(s);\n i > -1 && (this.changesets.splice(i, 1), this.events.dispatch(\"components:set-properties\", { node: this }));\n }\n };\n }\n writeProperties(t, e = {}, r) {\n const s = [{ properties: t }, e];\n return this.changesets.push(s), this.events.dispatch(\"components:set-properties\", { node: this }), () => {\n if (r) {\n const i = this.changesets.indexOf(s);\n i > -1 && (this.changesets.splice(i, 1), this.events.dispatch(\"components:set-properties\", { node: this }));\n }\n };\n }\n writeLayout(t, e = {}, r) {\n const s = [{ layout: t }, e];\n return this.changesets.push(s), this.events.dispatch(\"components:set-layout\", { node: this }), () => {\n if (!r)\n return;\n const i = this.changesets.indexOf(s);\n i > -1 && (this.changesets.splice(i, 1), this.events.dispatch(\"components:set-layout\", { node: this }));\n };\n }\n writeContext(t, e = {}, r) {\n const s = [{ context: t }, e];\n return this.changesets.push(s), this.events.dispatch(\"components:set-context\", { node: this }), () => {\n if (!r)\n return;\n const i = this.changesets.indexOf(s);\n i > -1 && (this.changesets.splice(i, 1), this.events.dispatch(\"components:set-context\", { node: this }));\n };\n }\n getChildren(t = \"default\") {\n const e = this.children[t] || [];\n return e.reduce((r, s, i) => {\n const { order: o = i } = s.attributes.layout;\n return r[o] ? r.splice(o, 0, s) : r[o] = s, r;\n }, Array(e.length));\n }\n remove() {\n this.parent && this.parent.removeChild(this);\n }\n removeChild(t) {\n Object.keys(this.children).forEach((e) => {\n const r = this.children[e], s = r.indexOf(t);\n s > -1 && (r.splice(s, 1), this.events.dispatch(\"components:node-removed\", { node: t, parentNode: this }));\n }), delete t.parent;\n }\n};\nconst on = (n, t, e) => {\n for (let r = 0, s = n.length; r < s && e(n[r]) !== !0; r++) {\n const i = t[n[r].id] || \"default\", o = n[r].getChildren(i);\n on(o, t, e);\n }\n}, Kt = (n, t, e) => {\n if (e(n) !== !0) {\n const r = t[n.id] || \"default\", s = n.children[r];\n on(s, t, e);\n }\n}, Mt = (n, t) => {\n const e = [];\n return Kt(n, t, (r) => {\n e.push(r);\n }), e;\n}, an = (n, t, e) => {\n let r;\n return Kt(n, t, (s) => {\n if (e(s))\n return r = s, !0;\n }), r;\n};\nlet fr = class {\n constructor(t, e, r) {\n this.root = t, this.switches = e, this.all = [], this.visible = [], this.detached = [], r.subscribe(\"components:node-appended\", (s, i) => {\n this.all.push(i.node), this.visible = Mt(t, e);\n }), r.subscribe(\"components:node-removed\", (s, i) => {\n let o = this.all.indexOf(i.node);\n o > -1 && this.all.splice(o, 1), o = this.visible.indexOf(i.node), o > -1 && this.visible.splice(o, 1), this.visible = Mt(t, e);\n }), r.subscribe(\"components:node-switched\", (s, i) => {\n this.visible = Mt(t, e);\n });\n }\n query(t = {}) {\n const e = [];\n return Kt(this.root, this.switches, (r) => {\n Object.keys(t).every((s) => t[s] === r[s]) && e.push(r);\n }), e;\n }\n get(t) {\n return an(this.root, this.switches, (e) => e.id === t) || this.detached.find((e) => e.id === t);\n }\n}, gr = class {\n constructor() {\n this.handlers = /* @__PURE__ */ new Map();\n }\n add(t, e) {\n this.handlers.set(t, e);\n }\n get(t) {\n return this.handlers.get(t);\n }\n};\nconst mr = (n) => {\n let t = n, e = 0;\n for (; t.parent; )\n e = e + 1, t = t.parent;\n return e;\n}, yr = (n) => n.map(([t, e]) => [mr(t), t, e]).sort(([t], [e]) => t - e).map(([, t, e]) => [t, e]), te = (n) => n instanceof Date ? !1 : n && typeof n == \"object\" && !Array.isArray(n), Q = (n, ...t) => {\n if (!t.length)\n return n;\n const e = t.shift();\n if (te(n) && te(e))\n for (const r in e)\n te(e[r]) ? (n[r] || Object.assign(n, { [r]: {} }), Q(n[r], e[r])) : Object.assign(n, { [r]: e[r] });\n return Q(n, ...t);\n}, vr = (n, t) => !n || n === \"all\" ? !0 : n.some((e) => t.indexOf(e) > -1), br = (n, t) => {\n let e = [], r = [], s;\n const i = () => {\n process.env.NODE_ENV !== \"production\" && console.time(\"state-processor.flush\");\n const a = /* @__PURE__ */ new Map(), c = yr(e.map((u, l) => [u, r[l]])), h = (u, l) => {\n var d;\n const f = a.get(u) || {}, g = l.context && !f.context, E = l.properties && !f.properties, p = l.layout && !f.layout;\n a.set(u, {\n context: f.context || g,\n properties: f.properties || E,\n layout: f.layout || p\n }), E && (u.attributes.properties = {}), p && (u.attributes.layout = {}), g && (u.attributes.context = Q({}, (d = u.parent) == null ? void 0 : d.attributes.context));\n const C = [], T = [], U = [];\n if (u.changesets.forEach((_) => {\n const [D, H] = _;\n vr(H.breakpoints, n.breakpoints) && (E && (typeof D.properties == \"function\" ? C.push(\n D.properties\n ) : Q(u.attributes.properties, D.properties)), p && (typeof D.layout == \"function\" ? T.push(D.layout) : Q(u.attributes.layout, D.layout)), g && (typeof D.context == \"function\" ? U.push(D.context) : Q(u.attributes.context, D.context)));\n }), C.forEach((_) => {\n Q(u.attributes.properties, _(u.attributes.properties));\n }), T.forEach((_) => {\n Q(u.attributes.layout, _(u.attributes.layout));\n }), U.forEach((_) => {\n Q(u.attributes.context, _(u.attributes.context));\n }), g || l.recursive) {\n const _ = n.getBranch(u), D = l.recursive ? l : {\n context: !!g\n };\n u.getChildren(_).forEach((H) => {\n h(H, D);\n });\n }\n };\n process.env.NODE_ENV !== \"production\" && console.timeEnd(\"state-processor.flush\"), c.forEach(([u, l]) => {\n h(u, l);\n }), e = [], r = [], t(a);\n }, o = () => {\n clearTimeout(s), s = setTimeout(i, 0);\n };\n return (a, c) => {\n const h = e.indexOf(a);\n if (h > -1) {\n const u = r[h];\n return c.context && (u.context = !0), c.properties && (u.properties = !0), c.layout && (u.layout = !0), c.recursive && (u.recursive = !0), o();\n }\n return e.push(a), r.push(c), o();\n };\n};\nlet qt = class {\n constructor(t, e = {}) {\n this.providers = e, this.breakpoints = [], this.actionsState = { handlers: [], watchers: [] }, this.switches = {}, this.changesets = [], this.subscriptions = [], this.customComponentHandler = new gr(), this.events = t.events.createChild(this);\n const r = new le(this.events, \"root\");\n r.name = `root-${t.name}`, this.nodes = new fr(r, this.switches, this.events);\n const s = this.processNode = br(this, (i) => {\n const o = Array.from(i.keys());\n process.env.NODE_ENV !== \"production\" && console.info(`STATE PROCESSOR: ${o.length} node(s) processed:\n${o.map(\n (a) => `${a.name || \"<no name>\"} (${a.id})\n`\n )}`), o.forEach((a) => {\n const c = i.get(a);\n a.parent && a.parent.type === \"root\" && this.events.dispatch(\"components:root-children-changed\", { node: a }), c != null && c.context && this.events.dispatch(\"components:context-changed\", { node: a }), c != null && c.properties && this.events.dispatch(\"components:properties-changed\", { node: a }), c != null && c.layout && this.events.dispatch(\"components:layout-changed\", { node: a });\n }), this.events.dispatch(\"components:component-model-initialized\", {}, { bubbles: !0 });\n });\n Promise.all(\n Object.keys(e).map((i) => e[i].load(this))\n ), this.subscriptions.push(\n this.events.subscribe(\n \"components:node-appended\",\n (i, o) => {\n const { node: a } = o;\n this.changesets.forEach((c) => {\n const { changeset: h, target: u, removes: l } = c, [d, f] = h;\n u.match(o.node) && (d.properties && l.push(a.writeProperties(d.properties, f)), d.context && l.push(a.writeContext(d.context, f)), d.layout && l.push(a.writeLayout(d.layout, f)));\n });\n }\n )\n ), this.subscriptions.push(\n this.events.subscribe(\n \"components:node-appended\",\n (i, o) => {\n s(o.node, { properties: !0, context: !0 });\n }\n )\n ), this.subscriptions.push(\n this.events.subscribe(\n \"components:set-properties\",\n (i, o) => {\n s(o.node, { properties: !0 });\n }\n )\n ), this.subscriptions.push(\n this.events.subscribe(\n \"components:set-context\",\n (i, o) => {\n s(o.node, { properties: !0, context: !0 });\n }\n )\n ), this.subscriptions.push(\n this.events.subscribe(\n \"components:set-indent\",\n (i, o) => {\n s(o.node, { layout: !0 });\n }\n )\n ), this.subscriptions.push(\n this.events.subscribe(\n \"components:set-layout\",\n (i, o) => {\n s(o.node, { layout: !0 });\n }\n )\n ), this.subscriptions.push(\n this.events.subscribe(\"components:node-switched\", (i, { node: o, branch: a }) => {\n s(o, {\n layout: !0,\n recursive: !0,\n properties: !0,\n context: !0\n });\n })\n ), this.subscriptions.push(\n this.events.subscribe(\"components:node-removed\", (i, { parentNode: o }) => {\n s(o, { properties: !0 });\n })\n ), this.events.parent && this.events.parent.dispatch(\"components:platform-created\", { platform: this });\n }\n static getInstance(t) {\n return t.getAsync(\"components\");\n }\n addBreakpoint(t) {\n this.breakpoints.indexOf(t) === -1 && (this.breakpoints.push(t), this.processNode(this.nodes.root, {\n context: !0,\n properties: !0,\n layout: !0,\n recursive: !0\n }));\n }\n removeBreakpoint(t) {\n const e = this.breakpoints.indexOf(t);\n e > -1 && (this.breakpoints.splice(e, 1), this.processNode(this.nodes.root, {\n context: !0,\n properties: !0,\n layout: !0,\n recursive: !0\n }));\n }\n setSwitch(t, e) {\n this.switches[t.id] = e, this.events.dispatch(\"components:node-switched\", { node: t, branch: e });\n }\n getBranch(t) {\n return this.switches[t.id];\n }\n /**\n * Creates a `ComponentNode` of the specified type.\n * @param type Type of node.\n */\n createNode(t, e = {}) {\n const r = new le(this.events, t);\n return e.detached && this.nodes.detached.push(r), r;\n }\n components() {\n return new yt(this);\n }\n actions(t, e) {\n return new Jt(this, t, e);\n }\n write(t) {\n const { provider: e, target: r, attributes: s, options: i = {}, removable: o } = t, a = t.key || Pt(), c = { changeset: [s, i], target: r, removes: [] };\n if (e) {\n const h = this.providers[e];\n h.write(a, r, s, i), c.removes.push(() => {\n h.remove(a);\n });\n }\n return this.changesets.push(c), this.nodes.all.forEach((h) => {\n if (r.match(h)) {\n let u = () => {\n };\n s.properties && (u = h.writeProperties(s.properties, i, o)), s.context && (u = h.writeContext(s.context, i, o)), s.layout && (u = h.writeContext(s.layout, i, o)), c.removes.push(u);\n }\n }), () => {\n if (o) {\n c.removes.forEach((u) => u());\n const h = this.changesets.indexOf(c);\n h > -1 && this.changesets.splice(h, 1);\n }\n };\n }\n addComponentHandler(t, e) {\n this.customComponentHandler.add(t, e);\n }\n getComponentHandler(t) {\n return this.customComponentHandler.get(t);\n }\n dispose() {\n this.subscriptions.forEach((t) => t());\n }\n};\nconst wr = (n) => {\n if (Array.isArray(n)) {\n const [t, ...e] = n;\n return {\n definitionId: t,\n overrides: e\n };\n }\n return {\n definitionId: n,\n overrides: []\n };\n}, Ht = (n, t, e, r, s, i) => {\n e.forEach((o) => {\n const a = wr(o), c = r[a.definitionId];\n if (a.definitionId === \"view\") {\n const h = n.createNode(\"view\");\n h.name = \"view\", Object.keys(s).forEach((u) => {\n const l = s[u];\n Ht(n, h, [l.entry], r, s, u);\n }), t.appendChild(h), a.overrides.forEach((u) => {\n u.properties && h.writeProperties(u.properties, {\n breakpoints: u.breakpoints\n }), u.context && h.writeContext(u.context, { breakpoints: u.breakpoints }), u.layout && h.writeLayout(u.layout, { breakpoints: u.breakpoints });\n });\n } else if (n.getComponentHandler(c.type)) {\n const h = n.getComponentHandler(c.type);\n h && h(a, {\n platform: n,\n node: t,\n references: e,\n definitions: r,\n views: s,\n branch: i\n });\n } else {\n const h = r[a.definitionId];\n if (process.env.NODE_ENV !== \"production\" && !h) {\n R.error(\n `No definition found for component type '${a.definitionId}'.`\n );\n return;\n }\n const u = n.createNode(h.type);\n u.name = a.definitionId, u.tags = h.tags || [], h.properties && u.writeProperties(h.properties), h.context && u.writeContext(h.context), h.layout && u.writeLayout(h.layout), t.appendChild(u, i), a.overrides.forEach((l) => {\n const d = { breakpoints: l.breakpoints };\n l.properties && u.writeProperties(l.properties, d), l.context && u.writeContext(l.context, d), l.layout && u.writeLayout(l.layout, d);\n }), h.children && Ht(n, u, h.children, r, s);\n }\n });\n}, cn = (n, t) => {\n const { entry: e, components: r, breakpoints: s, views: i } = t, o = [];\n return Object.keys(s).forEach((a) => {\n const c = s[a], h = window.matchMedia(c);\n h.matches && n.breakpoints.push(a);\n const u = (l) => {\n l.matches ? n.addBreakpoint(a) : n.removeBreakpoint(a);\n };\n h.addListener(u), o.push(() => h.removeListener(u));\n }), Ht(n, n.nodes.root, [e], r, i), () => o.forEach((a) => {\n a();\n });\n}, Or = (n, t) => ({\n id: n.id,\n type: n.type,\n name: n.name,\n branch: t || \"default\"\n}), hn = (n, t, e, r = Pt(), s = {}) => n.getAsync(\"components\").then((i) => {\n let o;\n if (typeof t == \"string\") {\n const h = new yt(i);\n h.ofType(t), o = h;\n } else\n o = t;\n const a = {}, c = (h) => {\n const u = a[h.id];\n return u ? Promise.resolve(u.controller) : qt.getInstance(n).then((l) => new ge(l, h, r));\n };\n i.events.subscribe(\n \"components:node-enter\",\n (h, { node: u }) => {\n o.match(u) && c(u).then((l) => {\n Promise.resolve(e(l)).then((d) => {\n a[u.id] = {\n dispose: d,\n controller: l\n };\n });\n });\n }\n ), i.events.subscribe(\n \"components:node-exit\",\n (h, { node: u }) => {\n const l = a[u.id];\n l && (l.dispose && l.dispose(), s.reuseController || (l.controller.dispose(), delete a[u.id]));\n }\n );\n});\nclass Er {\n constructor(t) {\n this.aliases = /* @__PURE__ */ new Map(), this.components = /* @__PURE__ */ new Map(), this.logger = new R();\n const { events: e } = t.get(\"$widget\");\n this.events = e;\n }\n getComponent(t) {\n const e = this.aliases.get(t), r = this.components.get(e || t) || null;\n return process.env.NODE_ENV !== \"production\" && (r || this.logger.warn(\n e || t,\n `Unable to resolve component: \"${e || t}\". You most likely forgot to register the required plugin for: ${e || t}.`\n )), r;\n }\n registerComponent(t, e) {\n return this.components.set(t, e), this.events.dispatch(\"component-resolver:resolve\", t), () => {\n this.components.delete(t);\n };\n }\n registerResolver(t, e) {\n return this.events.subscribe(\"component-resolver:resolve\", (r, s) => {\n if (s === t) {\n const i = this.getComponent(t);\n e(i);\n }\n });\n }\n registerAlias(t, e) {\n return this.aliases.set(t, e), this.events.dispatch(\"component-resolver:resolve\", t), () => {\n this.aliases.delete(t);\n };\n }\n}\nvar z = /* @__PURE__ */ ((n) => (n.open = \"open\", n.closed = \"closed\", n.hidden = \"hidden\", n))(z || {});\nconst me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n ActionResolver: lr,\n ActionsController: Jt,\n ComponentNode: le,\n ComponentNodeController: ge,\n ComponentPlatform: qt,\n ComponentQuery: yt,\n ComponentResolver: Er,\n WidgetRenderState: z,\n asDescriptor: Or,\n createChildren: Ht,\n createComponentModel: cn,\n createEventSubscriber: sn,\n extendComponent: hn,\n findComponent: an,\n findVisibleComponents: Mt,\n traverseComponents: Kt\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction un(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar ln = function() {\n};\nprocess.env.NODE_ENV !== \"production\" && (ln = function(n, t, e) {\n var r = arguments.length;\n e = new Array(r > 2 ? r - 2 : 0);\n for (var s = 2; s < r; s++)\n e[s - 2] = arguments[s];\n if (t === void 0)\n throw new Error(\n \"`warning(condition, format, ...args)` requires a warning message argument\"\n );\n if (t.length < 10 || /^[s\\W]*$/.test(t))\n throw new Error(\n \"The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: \" + t\n );\n if (!n) {\n var i = 0, o = \"Warning: \" + t.replace(/%s/g, function() {\n return e[i++];\n });\n typeof console != \"undefined\" && console.error(o);\n try {\n throw new Error(o);\n } catch (a) {\n }\n }\n});\nvar xr = ln;\nconst Z = /* @__PURE__ */ un(xr);\nvar $r = function(n, t, e, r, s, i, o, a) {\n if (process.env.NODE_ENV !== \"production\" && t === void 0)\n throw new Error(\"invariant requires an error message argument\");\n if (!n) {\n var c;\n if (t === void 0)\n c = new Error(\n \"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\"\n );\n else {\n var h = [e, r, s, i, o, a], u = 0;\n c = new Error(\n t.replace(/%s/g, function() {\n return h[u++];\n })\n ), c.name = \"Invariant Violation\";\n }\n throw c.framesToPop = 1, c;\n }\n}, Pr = $r;\nconst Sr = /* @__PURE__ */ un(Pr);\nfunction Ct(n) {\n return n.charAt(0) === \"/\";\n}\nfunction ee(n, t) {\n for (var e = t, r = e + 1, s = n.length; r < s; e += 1, r += 1)\n n[e] = n[r];\n n.pop();\n}\nfunction Cr(n) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\", e = n && n.split(\"/\") || [], r = t && t.split(\"/\") || [], s = n && Ct(n), i = t && Ct(t), o = s || i;\n if (n && Ct(n) ? r = e : e.length && (r.pop(), r = r.concat(e)), !r.length)\n return \"/\";\n var a = void 0;\n if (r.length) {\n var c = r[r.length - 1];\n a = c === \".\" || c === \"..\" || c === \"\";\n } else\n a = !1;\n for (var h = 0, u = r.length; u >= 0; u--) {\n var l = r[u];\n l === \".\" ? ee(r, u) : l === \"..\" ? (ee(r, u), h++) : h && (ee(r, u), h--);\n }\n if (!o)\n for (; h--; h)\n r.unshift(\"..\");\n o && r[0] !== \"\" && (!r[0] || !Ct(r[0])) && r.unshift(\"\");\n var d = r.join(\"/\");\n return a && d.substr(-1) !== \"/\" && (d += \"/\"), d;\n}\nvar kr = function(t) {\n return t.charAt(0) === \"/\" ? t : \"/\" + t;\n}, dn = function(t, e) {\n return new RegExp(\"^\" + e + \"(\\\\/|\\\\?|#|$)\", \"i\").test(t);\n}, Ar = function(t, e) {\n return dn(t, e) ? t.substr(e.length) : t;\n}, Nr = function(t) {\n return t.charAt(t.length - 1) === \"/\" ? t.slice(0, -1) : t;\n}, Lr = function(t) {\n var e = t || \"/\", r = \"\", s = \"\", i = e.indexOf(\"#\");\n i !== -1 && (s = e.substr(i), e = e.substr(0, i));\n var o = e.indexOf(\"?\");\n return o !== -1 && (r = e.substr(o), e = e.substr(0, o)), {\n pathname: e,\n search: r === \"?\" ? \"\" : r,\n hash: s === \"#\" ? \"\" : s\n };\n}, pn = function(t) {\n var e = t.pathname, r = t.search, s = t.hash, i = e || \"/\";\n return r && r !== \"?\" && (i += r.charAt(0) === \"?\" ? r : \"?\" + r), s && s !== \"#\" && (i += s.charAt(0) === \"#\" ? s : \"#\" + s), i;\n}, Mr = Object.assign || function(n) {\n for (var t = 1; t < arguments.length; t++) {\n var e = arguments[t];\n for (var r in e)\n Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);\n }\n return n;\n}, ct = function(t, e, r, s) {\n var i = void 0;\n typeof t == \"string\" ? (i = Lr(t), i.state = e) : (i = Mr({}, t), i.pathname === void 0 && (i.pathname = \"\"), i.search ? i.search.charAt(0) !== \"?\" && (i.search = \"?\" + i.search) : i.search = \"\", i.hash ? i.hash.charAt(0) !== \"#\" && (i.hash = \"#\" + i.hash) : i.hash = \"\", e !== void 0 && i.state === void 0 && (i.state = e));\n try {\n i.pathname = decodeURI(i.pathname);\n } catch (o) {\n throw o instanceof URIError ? new URIError('Pathname \"' + i.pathname + '\" could not be decoded. This is likely caused by an invalid percent-encoding.') : o;\n }\n return r && (i.key = r), s ? i.pathname ? i.pathname.charAt(0) !== \"/\" && (i.pathname = Cr(i.pathname, s.pathname)) : i.pathname = s.pathname : i.pathname || (i.pathname = \"/\"), i;\n}, fn = function() {\n var t = null, e = function(c) {\n return Z(t == null, \"A history supports only one prompt at a time\"), t = c, function() {\n t === c && (t = null);\n };\n }, r = function(c, h, u, l) {\n if (t != null) {\n var d = typeof t == \"function\" ? t(c, h) : t;\n typeof d == \"string\" ? typeof u == \"function\" ? u(d, l) : (Z(!1, \"A history needs a getUserConfirmation function in order to use a prompt message\"), l(!0)) : l(d !== !1);\n } else\n l(!0);\n }, s = [], i = function(c) {\n var h = !0, u = function() {\n h && c.apply(void 0, arguments);\n };\n return s.push(u), function() {\n h = !1, s = s.filter(function(l) {\n return l !== u;\n });\n };\n }, o = function() {\n for (var c = arguments.length, h = Array(c), u = 0; u < c; u++)\n h[u] = arguments[u];\n s.forEach(function(l) {\n return l.apply(void 0, h);\n });\n };\n return {\n setPrompt: e,\n confirmTransitionTo: r,\n appendListener: i,\n notifyListeners: o\n };\n}, Dr = !!(typeof window != \"undefined\" && window.document && window.document.createElement), Me = function(t, e, r) {\n return t.addEventListener ? t.addEventListener(e, r, !1) : t.attachEvent(\"on\" + e, r);\n}, De = function(t, e, r) {\n return t.removeEventListener ? t.removeEventListener(e, r, !1) : t.detachEvent(\"on\" + e, r);\n}, jr = function(t, e) {\n return e(window.confirm(t));\n}, _r = function() {\n var t = window.navigator.userAgent;\n return (t.indexOf(\"Android 2.\") !== -1 || t.indexOf(\"Android 4.0\") !== -1) && t.indexOf(\"Mobile Safari\") !== -1 && t.indexOf(\"Chrome\") === -1 && t.indexOf(\"Windows Phone\") === -1 ? !1 : window.history && \"pushState\" in window.history;\n}, Ir = function() {\n return window.navigator.userAgent.indexOf(\"Trident\") === -1;\n}, Rr = function(t) {\n return t.state === void 0 && navigator.userAgent.indexOf(\"CriOS\") === -1;\n}, je = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(n) {\n return typeof n;\n} : function(n) {\n return n && typeof Symbol == \"function\" && n.constructor === Symbol && n !== Symbol.prototype ? \"symbol\" : typeof n;\n}, Tr = Object.assign || function(n) {\n for (var t = 1; t < arguments.length; t++) {\n var e = arguments[t];\n for (var r in e)\n Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);\n }\n return n;\n}, _e = \"popstate\", Ie = \"hashchange\", Re = function() {\n try {\n return window.history.state || {};\n } catch (t) {\n return {};\n }\n}, Hr = function() {\n var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n Sr(Dr, \"Browser history needs a DOM\");\n var e = window.history, r = _r(), s = !Ir(), i = t.forceRefresh, o = i === void 0 ? !1 : i, a = t.getUserConfirmation, c = a === void 0 ? jr : a, h = t.keyLength, u = h === void 0 ? 6 : h, l = t.basename ? Nr(kr(t.basename)) : \"\", d = function(y) {\n var O = y || {}, L = O.key, M = O.state, F = window.location, J = F.pathname, et = F.search, Y = F.hash, W = J + et + Y;\n return Z(!l || dn(W, l), 'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path \"' + W + '\" to begin with \"' + l + '\".'), l && (W = Ar(W, l)), ct(W, M, L);\n }, f = function() {\n return Math.random().toString(36).substr(2, u);\n }, g = fn(), E = function(y) {\n Tr(P, y), P.length = e.length, g.notifyListeners(P.location, P.action);\n }, p = function(y) {\n Rr(y) || U(d(y.state));\n }, C = function() {\n U(d(Re()));\n }, T = !1, U = function(y) {\n if (T)\n T = !1, E();\n else {\n var O = \"POP\";\n g.confirmTransitionTo(y, O, c, function(L) {\n L ? E({ action: O, location: y }) : _(y);\n });\n }\n }, _ = function(y) {\n var O = P.location, L = H.indexOf(O.key);\n L === -1 && (L = 0);\n var M = H.indexOf(y.key);\n M === -1 && (M = 0);\n var F = L - M;\n F && (T = !0, j(F));\n }, D = d(Re()), H = [D.key], x = function(y) {\n return l + pn(y);\n }, N = function(y, O) {\n Z(!((typeof y == \"undefined\" ? \"undefined\" : je(y)) === \"object\" && y.state !== void 0 && O !== void 0), \"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored\");\n var L = \"PUSH\", M = ct(y, O, f(), P.location);\n g.confirmTransitionTo(M, L, c, function(F) {\n if (F) {\n var J = x(M), et = M.key, Y = M.state;\n if (r)\n if (e.pushState({ key: et, state: Y }, null, J), o)\n window.location.href = J;\n else {\n var W = H.indexOf(P.location.key), Ee = H.slice(0, W === -1 ? 0 : W + 1);\n Ee.push(M.key), H = Ee, E({ action: L, location: M });\n }\n else\n Z(Y === void 0, \"Browser history cannot push state in browsers that do not support HTML5 history\"), window.location.href = J;\n }\n });\n }, A = function(y, O) {\n Z(!((typeof y == \"undefined\" ? \"undefined\" : je(y)) === \"object\" && y.state !== void 0 && O !== void 0), \"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored\");\n var L = \"REPLACE\", M = ct(y, O, f(), P.location);\n g.confirmTransitionTo(M, L, c, function(F) {\n if (F) {\n var J = x(M), et = M.key, Y = M.state;\n if (r)\n if (e.replaceState({ key: et, state: Y }, null, J), o)\n window.location.replace(J);\n else {\n var W = H.indexOf(P.location.key);\n W !== -1 && (H[W] = M.key), E({ action: L, location: M });\n }\n else\n Z(Y === void 0, \"Browser history cannot replace state in browsers that do not support HTML5 history\"), window.location.replace(J);\n }\n });\n }, j = function(y) {\n e.go(y);\n }, B = function() {\n return j(-1);\n }, V = function() {\n return j(1);\n }, I = 0, m = function(y) {\n I += y, I === 1 ? (Me(window, _e, p), s && Me(window, Ie, C)) : I === 0 && (De(window, _e, p), s && De(window, Ie, C));\n }, b = !1, v = function() {\n var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, O = g.setPrompt(y);\n return b || (m(1), b = !0), function() {\n return b && (b = !1, m(-1)), O();\n };\n }, w = function(y) {\n var O = g.appendListener(y);\n return m(1), function() {\n m(-1), O();\n };\n }, P = {\n length: e.length,\n action: \"POP\",\n location: D,\n createHref: x,\n push: N,\n replace: A,\n go: j,\n goBack: B,\n goForward: V,\n block: v,\n listen: w\n };\n return P;\n}, Te = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(n) {\n return typeof n;\n} : function(n) {\n return n && typeof Symbol == \"function\" && n.constructor === Symbol && n !== Symbol.prototype ? \"symbol\" : typeof n;\n}, Vr = Object.assign || function(n) {\n for (var t = 1; t < arguments.length; t++) {\n var e = arguments[t];\n for (var r in e)\n Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);\n }\n return n;\n}, He = function(t, e, r) {\n return Math.min(Math.max(t, e), r);\n}, Br = function() {\n var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, e = t.getUserConfirmation, r = t.initialEntries, s = r === void 0 ? [\"/\"] : r, i = t.initialIndex, o = i === void 0 ? 0 : i, a = t.keyLength, c = a === void 0 ? 6 : a, h = fn(), u = function(A) {\n Vr(x, A), x.length = x.entries.length, h.notifyListeners(x.location, x.action);\n }, l = function() {\n return Math.random().toString(36).substr(2, c);\n }, d = He(o, 0, s.length - 1), f = s.map(function(N) {\n return typeof N == \"string\" ? ct(N, void 0, l()) : ct(N, void 0, N.key || l());\n }), g = pn, E = function(A, j) {\n Z(!((typeof A == \"undefined\" ? \"undefined\" : Te(A)) === \"object\" && A.state !== void 0 && j !== void 0), \"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored\");\n var B = \"PUSH\", V = ct(A, j, l(), x.location);\n h.confirmTransitionTo(V, B, e, function(I) {\n if (I) {\n var m = x.index, b = m + 1, v = x.entries.slice(0);\n v.length > b ? v.splice(b, v.length - b, V) : v.push(V), u({\n action: B,\n location: V,\n index: b,\n entries: v\n });\n }\n });\n }, p = function(A, j) {\n Z(!((typeof A == \"undefined\" ? \"undefined\" : Te(A)) === \"object\" && A.state !== void 0 && j !== void 0), \"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored\");\n var B = \"REPLACE\", V = ct(A, j, l(), x.location);\n h.confirmTransitionTo(V, B, e, function(I) {\n I && (x.entries[x.index] = V, u({ action: B, location: V }));\n });\n }, C = function(A) {\n var j = He(x.index + A, 0, x.entries.length - 1), B = \"POP\", V = x.entries[j];\n h.confirmTransitionTo(V, B, e, function(I) {\n I ? u({\n action: B,\n location: V,\n index: j\n }) : u();\n });\n }, T = function() {\n return C(-1);\n }, U = function() {\n return C(1);\n }, _ = function(A) {\n var j = x.index + A;\n return j >= 0 && j < x.entries.length;\n }, D = function() {\n var A = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;\n return h.setPrompt(A);\n }, H = function(A) {\n return h.appendListener(A);\n }, x = {\n length: f.length,\n action: \"POP\",\n location: f[d],\n index: d,\n entries: f,\n createHref: g,\n push: E,\n replace: p,\n go: C,\n goBack: T,\n goForward: U,\n canGo: _,\n block: D,\n listen: H\n };\n return x;\n}, Ur = Object.defineProperty, Ve = Object.getOwnPropertySymbols, Wr = Object.prototype.hasOwnProperty, zr = Object.prototype.propertyIsEnumerable, Be = (n, t, e) => t in n ? Ur(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e, pt = (n, t) => {\n for (var e in t || (t = {}))\n Wr.call(t, e) && Be(n, e, t[e]);\n if (Ve)\n for (var e of Ve(t))\n zr.call(t, e) && Be(n, e, t[e]);\n return n;\n}, kt = (n, t, e) => new Promise((r, s) => {\n var i = (c) => {\n try {\n a(e.next(c));\n } catch (h) {\n s(h);\n }\n }, o = (c) => {\n try {\n a(e.throw(c));\n } catch (h) {\n s(h);\n }\n }, a = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(i, o);\n a((e = e.apply(n, t)).next());\n}), S = /* @__PURE__ */ ((n) => (n.Cookie = \"cookie\", n.Local = \"local\", n.Session = \"session\", n))(S || {}), vt = /* @__PURE__ */ ((n) => (n.Tenant = \"tenant\", n.Implementation = \"implementation\", n.Widget = \"widget\", n))(vt || {}), k = /* @__PURE__ */ ((n) => (n.Necessary = \"necessary\", n.Functional = \"functional\", n.Analytical = \"analytical\", n.Marketing = \"marketing\", n))(k || {});\nconst X = (n, t, e, r = {}) => Ue(n, e).then((s) => (process.env.NODE_ENV !== \"production\" && s && R.warn(\n `createStorageWriter: Attempted to create storage writer using unallowed category.\n Key: ${t}\n Category: ${JSON.stringify(e)}\n Options: ${JSON.stringify(r)}`\n), (i) => (be(n), Ue(n, e).then((o) => {\n if (o) {\n process.env.NODE_ENV !== \"production\" && R.warn(\n `storageWriter: Attempted to write to storage using unallowed category.\n Key: ${t}\n Category: ${JSON.stringify(e)}\n Value: ${JSON.stringify(i)}\n Options: ${JSON.stringify(r)}`\n );\n return;\n }\n const {\n scope: a = vt.Widget,\n medium: c = S.Session,\n duration: h\n } = r, u = Jr();\n return u[a][t] = ve(i, e, h), c === S.Cookie ? Gr(n, u) : Zr(n, c, u);\n})))), q = (n, t, e = S.Session) => (be(n), typeof t == \"undefined\" ? (process.env.NODE_ENV !== \"production\" && R.warn(\"readStorage: Undefined key passed when reading storage. \", t, e), Promise.resolve(void 0)) : e === S.Cookie ? Yr(n).then((r) => Bt(r, t)) : Qr(n, e).then((r) => Bt(r, t))), mt = (n) => !!Object.entries(n).filter(([t, e]) => typeof e != \"undefined\").length, ne = (n) => Object.entries(n).filter(([t, e]) => typeof e != \"undefined\").forEach(([t, { value: e }]) => {\n typeof e == \"undefined\" && delete n[t];\n}), gn = (n, t) => {\n const e = {\n tenant: pt(pt({}, n.tenant), t.tenant),\n implementation: pt(pt({}, n.implementation), t.implementation),\n widget: pt(pt({}, n.widget), t.widget)\n };\n return ne(e.tenant), ne(e.implementation), ne(e.widget), e;\n}, Fr = (n) => Object.entries(n).reduce((t, e) => {\n const [r, s] = e;\n return Object.entries(s).forEach((i) => {\n const [o, { expiration: a }] = i;\n a && t.push(a);\n }), t;\n}, []).slice().sort((t, e) => new Date(e).valueOf() - new Date(t).valueOf()).shift() || Gt(), Yt = (n) => {\n const {\n name: t,\n implementation: { name: e, tenant: r }\n } = n.get(\"$widget\");\n return [\n `humany_${r}`,\n `humany_${ke(r + e)}`,\n `humany_${ke(r + e + t)}`\n ];\n}, re = (n) => {\n const t = new RegExp(`(?:^|;)\\\\s?${n}=(.*?)(?:;|$)`, \"i\"), e = document.cookie.match(t);\n return e && e[1] && JSON.parse(e[1]) || void 0;\n}, se = (n, t, e) => {\n const r = `${n}=${JSON.stringify(t).trim()}`, s = `expires=${new Date(e).toUTCString()}`, i = \"path=/\", o = \"SameSite=None;Secure\";\n return document.cookie = `${r}; ${s}; ${i}; ${o}`;\n}, ye = (n) => {\n const [t, e, r] = Yt(n), s = re(t) || {}, i = re(e) || {}, o = re(r) || {};\n return {\n tenant: s,\n implementation: i,\n widget: o\n };\n}, mn = (n, t) => {\n const e = ye(n), r = gn(e, t), [s, i, o] = Yt(n), { tenant: a, implementation: c, widget: h } = r, u = Fr(t), l = Gt({ days: -1 });\n se(s, a, mt(a) ? u : l), se(\n i,\n c,\n mt(c) ? u : l\n ), se(o, h, mt(h) ? u : l);\n}, Vt = (n, t) => {\n const [e, r, s] = Yt(n), i = t.getItem(e) || \"{}\", o = t.getItem(r) || \"{}\", a = t.getItem(s) || \"{}\";\n return {\n tenant: JSON.parse(i),\n implementation: JSON.parse(o),\n widget: JSON.parse(a)\n };\n}, de = (n, t, e) => {\n const r = Vt(n, t), s = gn(r, e), [i, o, a] = Yt(n), { tenant: c, implementation: h, widget: u } = s;\n mt(c) ? t.setItem(i, JSON.stringify(c)) : t.removeItem(i), mt(h) ? t.setItem(o, JSON.stringify(h)) : t.removeItem(o), mt(u) ? t.setItem(a, JSON.stringify(u)) : t.removeItem(a);\n}, Jr = () => ({ tenant: {}, implementation: {}, widget: {} }), Kr = (n) => n ? !!n && /* @__PURE__ */ new Date() > new Date(n) : !1, Bt = (n, t) => {\n const e = n.widget[t] || n.implementation[t] || n.tenant[t];\n return e == null ? void 0 : e.value;\n}, ve = (n, t, e) => e ? {\n value: n,\n category: t,\n expiration: typeof e == \"object\" ? Gt(e) : e\n} : {\n value: n,\n category: t\n}, Dt = (n, t) => {\n const e = Zn(n);\n return Object.entries(e).forEach(([r, s]) => {\n Object.entries(s).forEach(([i, o]) => {\n const { expiration: a, category: c } = o;\n (Kr(a) || qr(t, c)) && (s[i] = ve(void 0, c, a));\n });\n }), e;\n}, Ue = (n, t) => q(n, \"storagePolicy\", S.Cookie).then(\n (e = [k.Necessary]) => !!t && e.indexOf(t) === -1\n), qr = (n = [k.Necessary], t) => !!t && n.indexOf(t) === -1, be = (n) => {\n const t = ye(n), e = Vt(n, window.localStorage), r = Vt(n, sessionStorage), s = Bt(t, \"storagePolicy\"), [i, o, a] = [\n t,\n e,\n r\n ].map((c) => Dt(c, s));\n mn(n, i), de(n, window.localStorage, o), de(n, window.sessionStorage, a);\n}, Gt = (n = { days: 30 }) => {\n const { days: t = 0, hours: e = 0, minutes: r = 0, seconds: s = 0 } = n, i = /* @__PURE__ */ new Date();\n return i.setTime(i.getTime() + e * 60 * 60 * 1e3), i.setTime(i.getTime() + t * 24 * 60 * 60 * 1e3), i.setTime(i.getTime() + r * 60 * 1e3), i.setTime(i.getTime() + s * 1e3), i.toISOString();\n}, Yr = (n) => G(document)(() => ye(n)), Gr = (n, t) => G(document)(() => mn(n, t)), Qr = (n, t) => {\n const e = t === S.Local ? window.localStorage : window.sessionStorage;\n return G(e)(() => Vt(n, e));\n}, Zr = (n, t, e) => {\n const r = t === S.Local ? window.localStorage : window.sessionStorage;\n return G(r)(() => de(n, r, e));\n};\nclass jt {\n constructor() {\n this.memory = {\n tenant: {},\n implementation: {},\n widget: {}\n };\n }\n setItem(t, e) {\n return kt(this, arguments, function* (r, s, i = {}) {\n return G(this)(() => {\n const o = Dt(this.memory, [k.Necessary]), { scope: a = vt.Tenant, expiration: c } = i;\n o[a][r] = ve(\n s,\n k.Necessary,\n (c == null ? void 0 : c.toISOString()) || Gt()\n ), this.memory = o, process.env.NODE_ENV !== \"production\" && R.warn(\n `StorageProvider: StorageProvider is deprecated, use createStorageWriter and readStorage instead, value stored temporarily in memory.\n Key: ${r}\n Value: ${JSON.stringify(s)}\n Options: ${JSON.stringify(i)}\n Memory: ${JSON.stringify(o)}`\n );\n });\n });\n }\n getItem(t) {\n return kt(this, null, function* () {\n return G(this)(() => {\n const e = Dt(this.memory, [k.Necessary]);\n process.env.NODE_ENV !== \"production\" && R.warn(\n `StorageProvider: StorageProvider is deprecated, use createStorageWriter and readStorage instead, value fetched from legacy memory storage.\n Key: ${t}\n Memory: ${JSON.stringify(e)}`\n );\n const r = Bt(e, t);\n return this.memory = e, r;\n });\n });\n }\n removeItem(t) {\n return kt(this, null, function* () {\n return G(this)(() => {\n const e = Dt(this.memory, [k.Necessary]);\n delete e.tenant[t], delete e.implementation[t], delete e.widget[t], this.memory = e, process.env.NODE_ENV !== \"production\" && R.warn(\n `StorageProvider: StorageProvider is deprecated, use createStorageWriter and readStorage instead, value removed from memory.\n Key: ${t}\n Memory: ${JSON.stringify(e)}`\n );\n });\n });\n }\n clear() {\n return kt(this, null, function* () {\n return Promise.resolve();\n });\n }\n}\nlet Xr = class {\n constructor() {\n this.cookies = new jt(), this.session = new jt(), this.local = new jt();\n }\n};\nconst ie = (n, t, e, ...r) => {\n const s = `[${n.get(\"$environment\").name || \"webprovisions\"}] ${e}`;\n switch (t) {\n case \"info\":\n console.info(s, ...r);\n break;\n case \"warning\":\n console.warn(s, ...r);\n break;\n case \"error\":\n console.error(s, ...r);\n break;\n }\n}, ts = (n) => {\n const t = n.container || n;\n return {\n info: (e, ...r) => ie(t, \"info\", e, ...r),\n warn: (e, ...r) => ie(t, \"warning\", e, ...r),\n error: (e, ...r) => ie(t, \"error\", e, ...r)\n };\n};\nvar Ut = /* @__PURE__ */ ((n) => (n.Implementation = \"implementation\", n.Widget = \"widget\", n))(Ut || {}), ht = /* @__PURE__ */ ((n) => (n.Pre = \"pre\", n.Post = \"post\", n))(ht || {});\nconst es = (n, t, e, r) => {\n try {\n const s = new t(e, r);\n return {\n name: n,\n invoke: (i, o) => {\n let a;\n return s[i] && (a = s[i].call(s, o)), Promise.resolve(a);\n },\n getInstance: () => s\n };\n } catch (s) {\n if (s.message && s.message.indexOf(\"is not a constructor\") >= 0)\n return {\n name: n,\n invoke: (i) => {\n let o;\n return i === \"initialize\" && (o = t(e, r)), Promise.resolve(o);\n },\n getInstance: () => t\n };\n throw s;\n }\n};\nfunction We(n, t) {\n return typeof n == \"undefined\" ? t : n;\n}\nlet ns = class {\n constructor(t = {}) {\n this.part = t;\n }\n createCommand(t, e, r) {\n let s;\n typeof e == \"function\" ? s = {\n scope: Ut.Widget,\n stage: ht.Post,\n defaultArgs: void 0,\n handlerResolver: e\n } : s = {\n scope: We(e.scope, Ut.Widget),\n stage: We(e.stage, ht.Post),\n defaultArgs: e.defaultArgs,\n handlerResolver: r\n };\n let i = this.part;\n const o = t.split(\".\");\n return o.forEach((a, c) => {\n c === o.length - 1 ? i[a] || (i[a] = () => s) : i = this.part[a] = this.part[a] || {};\n }), this;\n }\n get() {\n return this.part;\n }\n};\nconst yn = (n) => {\n const t = new ns({});\n return n(t), t.get();\n};\nyn((n) => {\n n.createCommand(\n \"types.register\",\n { scope: Ut.Implementation, stage: ht.Pre },\n (t) => (e, r) => {\n t.container.get(\"$types\")[e] = r;\n }\n ).createCommand(\n \"type\",\n { stage: ht.Pre },\n (t) => (e) => {\n t.container.register(\"$type\", e);\n }\n ).createCommand(\n \"settings\",\n { stage: ht.Pre, defaultArgs: [null] },\n (t) => (e) => {\n t.events.dispatch(\n \"settings:change\",\n e,\n { bubbles: !0 }\n ), t.container.register(\"$settings\", e);\n }\n ).createCommand(\n \"plugin\",\n { stage: ht.Pre },\n (t) => (e, r, s) => {\n const { container: i } = t;\n let o = null, a = e, c = r;\n typeof e == \"string\" && (o = e, a = r, c = s);\n const h = (u) => {\n const { transformPluginSettings: l } = t.container.get(\"$environmentOptions\"), d = l ? l(\n c || {},\n o,\n t.container,\n a\n ) : r;\n try {\n const f = es(\n o,\n a,\n i,\n d\n );\n i.get(\"$plugins\").push(f), u && f.invoke(\"initialize\", null);\n } catch (f) {\n ts(t).warn(\"Error when initializing plugin\", f);\n }\n };\n t.container.get(\"$instance\") ? h(!0) : t.events.subscribeOnce(\"widget:instance-created\", () => h(!1));\n }\n ).createCommand(\n \"container.register\",\n (t) => (e, r) => {\n t.container.register(e, r);\n }\n ).createCommand(\n \"container.registerAsync\",\n (t) => (e, r) => {\n t.container.registerAsync(e, r);\n }\n ).createCommand(\n \"container.registerFactory\",\n (t) => (e, r) => {\n t.container.registerFactory(e, r);\n }\n ).createCommand(\n \"container.touch\",\n (t) => (e, r) => {\n t.container.touch(e, r);\n }\n ).createCommand(\n \"csp\",\n {},\n (t) => (e) => {\n t.container.register(\"csp\", e);\n }\n );\n});\nyn((n) => {\n n.createCommand(\"storage\", (t) => (e = {}) => {\n const { consent: r } = e;\n if (typeof r != \"undefined\") {\n if (typeof r != \"number\" && typeof r != \"string\" && !Array.isArray(r)) {\n process.env.NODE_ENV !== \"production\" && R.warn(\n `storagePolicyConfigurationApi: passed consent is not valid. Consent either has to be a number, a string, an array of strings or an array of numbers.\n Passed consent: ${JSON.stringify(r)}`\n );\n return;\n }\n if (Array.isArray(r) && !r.every(\n (i) => typeof i == \"number\" || typeof i == \"string\"\n )) {\n process.env.NODE_ENV !== \"production\" && R.warn(\n `storagePolicyConfigurationApi: passed consent is not valid. Consent either has to be a number, a string, an array of strings or an array of numbers.\n Passed consent: ${JSON.stringify(r)}`\n );\n return;\n }\n const s = [\n k.Necessary,\n k.Functional,\n k.Analytical,\n k.Marketing\n ].filter((i, o, a) => typeof r == \"number\" ? r > o : typeof r == \"string\" ? a.indexOf(r) + 1 > o : Array.isArray(r) ? r.findIndex((c) => c === o + 1 || c === i) > -1 : !0);\n return s.indexOf(k.Necessary) === -1 && (process.env.NODE_ENV !== \"production\" && R.warn(\n `storagePolicyConfigurationApi: passed consent does not include category: '${k.Necessary}'. Consent has to atleast include the '${k.Necessary}' category.\n Passed consent: ${JSON.stringify(r)}`\n ), s.unshift(k.Necessary)), X(\n t.container,\n \"storagePolicy\",\n k.Necessary,\n {\n medium: S.Cookie,\n scope: vt.Tenant,\n duration: { days: 365 }\n }\n ).then((i) => i(s)).then(() => {\n be(t.container), t.events.dispatch(\"storage:policy-changed\", s);\n });\n }\n });\n});\nconst rs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n StorageCategory: k,\n StorageMedium: S,\n StorageProvider: Xr,\n StorageScope: vt,\n StorageService: jt,\n createStorageWriter: X,\n readStorage: q\n}, Symbol.toStringTag, { value: \"Module\" }));\nvar ss = Object.defineProperty, is = Object.defineProperties, os = Object.getOwnPropertyDescriptors, Wt = Object.getOwnPropertySymbols, vn = Object.prototype.hasOwnProperty, bn = Object.prototype.propertyIsEnumerable, ze = (n, t, e) => t in n ? ss(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e, gt = (n, t) => {\n for (var e in t || (t = {}))\n vn.call(t, e) && ze(n, e, t[e]);\n if (Wt)\n for (var e of Wt(t))\n bn.call(t, e) && ze(n, e, t[e]);\n return n;\n}, wn = (n, t) => is(n, os(t)), as = (n, t) => {\n var e = {};\n for (var r in n)\n vn.call(n, r) && t.indexOf(r) < 0 && (e[r] = n[r]);\n if (n != null && Wt)\n for (var r of Wt(n))\n t.indexOf(r) < 0 && bn.call(n, r) && (e[r] = n[r]);\n return e;\n};\nfunction On(n) {\n if (n.__esModule)\n return n;\n var t = n.default;\n if (typeof t == \"function\") {\n var e = function r() {\n if (this instanceof r) {\n var s = [null];\n s.push.apply(s, arguments);\n var i = Function.bind.apply(t, s);\n return new i();\n }\n return t.apply(this, arguments);\n };\n e.prototype = t.prototype;\n } else\n e = {};\n return Object.defineProperty(e, \"__esModule\", { value: !0 }), Object.keys(n).forEach(function(r) {\n var s = Object.getOwnPropertyDescriptor(n, r);\n Object.defineProperty(e, r, s.get ? s : {\n enumerable: !0,\n get: function() {\n return n[r];\n }\n });\n }), e;\n}\nvar En = function() {\n};\nprocess.env.NODE_ENV !== \"production\" && (En = function(n, t, e) {\n var r = arguments.length;\n e = new Array(r > 2 ? r - 2 : 0);\n for (var s = 2; s < r; s++)\n e[s - 2] = arguments[s];\n if (t === void 0)\n throw new Error(\n \"`warning(condition, format, ...args)` requires a warning message argument\"\n );\n if (t.length < 10 || /^[s\\W]*$/.test(t))\n throw new Error(\n \"The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: \" + t\n );\n if (!n) {\n var i = 0, o = \"Warning: \" + t.replace(/%s/g, function() {\n return e[i++];\n });\n typeof console != \"undefined\" && console.error(o);\n try {\n throw new Error(o);\n } catch (a) {\n }\n }\n});\nvar cs = En, hs = cs, Fe = us(hs);\nfunction us(n) {\n return n && n.__esModule ? n : { default: n };\n}\nvar ls = function() {\n var n = null, t = function(o) {\n return (0, Fe.default)(n == null, \"A history supports only one prompt at a time\"), n = o, function() {\n n === o && (n = null);\n };\n }, e = function(o, a, c, h) {\n if (n != null) {\n var u = typeof n == \"function\" ? n(o, a) : n;\n typeof u == \"string\" ? typeof c == \"function\" ? c(u, h) : ((0, Fe.default)(!1, \"A history needs a getUserConfirmation function in order to use a prompt message\"), h(!0)) : h(u !== !1);\n } else\n h(!0);\n }, r = [], s = function(o) {\n var a = !0, c = function() {\n a && o.apply(void 0, arguments);\n };\n return r.push(c), function() {\n a = !1, r = r.filter(function(h) {\n return h !== c;\n });\n };\n }, i = function() {\n for (var o = arguments.length, a = Array(o), c = 0; c < o; c++)\n a[c] = arguments[c];\n r.forEach(function(h) {\n return h.apply(void 0, a);\n });\n };\n return {\n setPrompt: t,\n confirmTransitionTo: e,\n appendListener: s,\n notifyListeners: i\n };\n}, xn = ls, $n;\n$n = function(n, t) {\n return t(window.confirm(n));\n};\nfunction At(n) {\n return n.charAt(0) === \"/\";\n}\nfunction oe(n, t) {\n for (var e = t, r = e + 1, s = n.length; r < s; e += 1, r += 1)\n n[e] = n[r];\n n.pop();\n}\nfunction ds(n) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\", e = n && n.split(\"/\") || [], r = t && t.split(\"/\") || [], s = n && At(n), i = t && At(t), o = s || i;\n if (n && At(n) ? r = e : e.length && (r.pop(), r = r.concat(e)), !r.length)\n return \"/\";\n var a = void 0;\n if (r.length) {\n var c = r[r.length - 1];\n a = c === \".\" || c === \"..\" || c === \"\";\n } else\n a = !1;\n for (var h = 0, u = r.length; u >= 0; u--) {\n var l = r[u];\n l === \".\" ? oe(r, u) : l === \"..\" ? (oe(r, u), h++) : h && (oe(r, u), h--);\n }\n if (!o)\n for (; h--; h)\n r.unshift(\"..\");\n o && r[0] !== \"\" && (!r[0] || !At(r[0])) && r.unshift(\"\");\n var d = r.join(\"/\");\n return a && d.substr(-1) !== \"/\" && (d += \"/\"), d;\n}\nconst ps = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: ds\n}, Symbol.toStringTag, { value: \"Module\" })), fs = /* @__PURE__ */ On(ps);\nvar Je = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(n) {\n return typeof n;\n} : function(n) {\n return n && typeof Symbol == \"function\" && n.constructor === Symbol && n !== Symbol.prototype ? \"symbol\" : typeof n;\n};\nfunction _t(n, t) {\n if (n === t)\n return !0;\n if (n == null || t == null)\n return !1;\n if (Array.isArray(n))\n return Array.isArray(t) && n.length === t.length && n.every(function(c, h) {\n return _t(c, t[h]);\n });\n var e = typeof n == \"undefined\" ? \"undefined\" : Je(n), r = typeof t == \"undefined\" ? \"undefined\" : Je(t);\n if (e !== r)\n return !1;\n if (e === \"object\") {\n var s = n.valueOf(), i = t.valueOf();\n if (s !== n || i !== t)\n return _t(s, i);\n var o = Object.keys(n), a = Object.keys(t);\n return o.length !== a.length ? !1 : o.every(function(c) {\n return _t(n[c], t[c]);\n });\n }\n return !1;\n}\nconst gs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: _t\n}, Symbol.toStringTag, { value: \"Module\" })), ms = /* @__PURE__ */ On(gs);\nvar tt = {}, rt, Pn, pe, xt;\ntt.__esModule = !0;\nxt = tt.addLeadingSlash = function(n) {\n return n.charAt(0) === \"/\" ? n : \"/\" + n;\n};\npe = tt.stripLeadingSlash = function(n) {\n return n.charAt(0) === \"/\" ? n.substr(1) : n;\n};\nvar ys = tt.hasBasename = function(n, t) {\n return new RegExp(\"^\" + t + \"(\\\\/|\\\\?|#|$)\", \"i\").test(n);\n};\ntt.stripBasename = function(n, t) {\n return ys(n, t) ? n.substr(t.length) : n;\n};\nPn = tt.stripTrailingSlash = function(n) {\n return n.charAt(n.length - 1) === \"/\" ? n.slice(0, -1) : n;\n};\ntt.parsePath = function(n) {\n var t = n || \"/\", e = \"\", r = \"\", s = t.indexOf(\"#\");\n s !== -1 && (r = t.substr(s), t = t.substr(0, s));\n var i = t.indexOf(\"?\");\n return i !== -1 && (e = t.substr(i), t = t.substr(0, i)), {\n pathname: t,\n search: e === \"?\" ? \"\" : e,\n hash: r === \"#\" ? \"\" : r\n };\n};\nrt = tt.createPath = function(n) {\n var t = n.pathname, e = n.search, r = n.hash, s = t || \"/\";\n return e && e !== \"?\" && (s += e.charAt(0) === \"?\" ? e : \"?\" + e), r && r !== \"#\" && (s += r.charAt(0) === \"#\" ? r : \"#\" + r), s;\n};\nvar Qt, Sn = Qt = void 0, vs = Object.assign || function(n) {\n for (var t = 1; t < arguments.length; t++) {\n var e = arguments[t];\n for (var r in e)\n Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);\n }\n return n;\n}, bs = fs, ws = Cn(bs), Os = ms, Es = Cn(Os), xs = tt;\nfunction Cn(n) {\n return n && n.__esModule ? n : { default: n };\n}\nQt = function(n, t, e, r) {\n var s = void 0;\n typeof n == \"string\" ? (s = (0, xs.parsePath)(n), s.state = t) : (s = vs({}, n), s.pathname === void 0 && (s.pathname = \"\"), s.search ? s.search.charAt(0) !== \"?\" && (s.search = \"?\" + s.search) : s.search = \"\", s.hash ? s.hash.charAt(0) !== \"#\" && (s.hash = \"#\" + s.hash) : s.hash = \"\", t !== void 0 && s.state === void 0 && (s.state = t));\n try {\n s.pathname = decodeURI(s.pathname);\n } catch (i) {\n throw i instanceof URIError ? new URIError('Pathname \"' + s.pathname + '\" could not be decoded. This is likely caused by an invalid percent-encoding.') : i;\n }\n return e && (s.key = e), r ? s.pathname ? s.pathname.charAt(0) !== \"/\" && (s.pathname = (0, ws.default)(s.pathname, r.pathname)) : s.pathname = r.pathname : s.pathname || (s.pathname = \"/\"), s;\n};\nSn = function(n, t) {\n return n.pathname === t.pathname && n.search === t.search && n.hash === t.hash && n.key === t.key && (0, Es.default)(n.state, t.state);\n};\nconst kn = \"/\", An = \"./\", $s = new RegExp(\n [\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n \"(\\\\\\\\.)\",\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\"]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined]\n \"(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?\"\n ].join(\"|\"),\n \"g\"\n), Nn = (n, t) => {\n const e = [];\n let r = 0, s = 0, i = \"\";\n const o = t && t.delimiter || kn, a = t && t.delimiters || An;\n let c = !1, h;\n for (; (h = $s.exec(n)) !== null; ) {\n const u = h[0], l = h[1], d = h.index;\n if (i += n.slice(s, d), s = d + u.length, l) {\n i += l[1], c = !0;\n continue;\n }\n let f = \"\";\n const g = n[s], E = h[2], p = h[3], C = h[4], T = h[5];\n if (!c && i.length) {\n const N = i.length - 1;\n a.indexOf(i[N]) > -1 && (f = i[N], i = i.slice(0, N));\n }\n i && (e.push(i), i = \"\", c = !1);\n const U = f !== \"\" && g !== void 0 && g !== f, _ = T === \"+\" || T === \"*\", D = T === \"?\" || T === \"*\", H = f || o, x = p || C;\n e.push({\n delimiter: H,\n optional: D,\n repeat: _,\n partial: U,\n name: E || r++,\n // tslint:disable-line:no-increment-decrement\n prefix: f,\n pattern: x ? Cs(x) : \"[^\" + wt(H) + \"]+?\"\n });\n }\n return (i || s < n.length) && e.push(i + n.substr(s)), e;\n}, Ps = (n, t) => Ss(Nn(n, t)), Ss = (n) => {\n const t = new Array(n.length);\n for (let e = 0; e < n.length; e++)\n typeof n[e] == \"object\" && (t[e] = new RegExp(\"^(?:\" + n[e].pattern + \")$\"));\n return function(e, r) {\n let s = \"\";\n const i = r && r.encode || encodeURIComponent;\n for (let o = 0; o < n.length; o++) {\n const a = n[o];\n if (typeof a == \"string\") {\n s += a;\n continue;\n }\n const c = e ? e[a.name] : void 0;\n let h;\n if (Array.isArray(c)) {\n if (!a.repeat)\n throw new TypeError(\n 'Expected \"' + a.name + '\" to not repeat, but got array'\n );\n if (c.length === 0) {\n if (a.optional)\n continue;\n throw new TypeError('Expected \"' + a.name + '\" to not be empty');\n }\n for (let u = 0; u < c.length; u++) {\n if (h = i(c[u], a), !t[o].test(h))\n throw new TypeError(\n 'Expected all \"' + a.name + '\" to match \"' + a.pattern + '\"'\n );\n s += (u === 0 ? a.prefix : a.delimiter) + h;\n }\n continue;\n }\n if (typeof c == \"string\" || typeof c == \"number\" || typeof c == \"boolean\") {\n if (h = i(String(c), a), !t[o].test(h))\n throw new TypeError(\n 'Expected \"' + a.name + '\" to match \"' + a.pattern + '\", but got \"' + h + '\"'\n );\n s += a.prefix + h;\n continue;\n }\n if (a.optional) {\n a.partial && (s += a.prefix);\n continue;\n }\n throw new TypeError(\n 'Expected \"' + a.name + '\" to be ' + (a.repeat ? \"an array\" : \"a string\")\n );\n }\n return s;\n };\n}, wt = (n) => n.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\"), Cs = (n) => n.replace(/([=!:$/()])/g, \"\\\\$1\"), Ln = (n) => n && n.sensitive ? \"\" : \"i\", ks = (n, t) => {\n if (!t)\n return n;\n const e = n.source.match(/\\((?!\\?)/g);\n if (e)\n for (let r = 0; r < e.length; r++)\n t.push({\n name: r,\n prefix: \"\",\n delimiter: \"\",\n optional: !1,\n repeat: !1,\n partial: !1,\n pattern: \"\"\n });\n return n;\n}, As = (n, t, e) => {\n const r = [];\n for (let s = 0; s < n.length; s++)\n r.push(Mn(n[s], t, e).source);\n return new RegExp(\"(?:\" + r.join(\"|\") + \")\", Ln(e));\n}, Ns = (n, t, e) => Ls(Nn(n, e), t, e), Ls = (n, t, e) => {\n e = e || {};\n const r = e.strict, s = e.end !== !1, i = wt(e.delimiter || kn), o = e.delimiters || An, a = [].concat(e.endsWith || []).map(wt).concat(\"$\").join(\"|\");\n let c = \"\", h = !1;\n for (let u = 0; u < n.length; u++) {\n const l = n[u];\n if (typeof l == \"string\")\n c += wt(l), h = u === n.length - 1 && o.indexOf(l[l.length - 1]) > -1;\n else {\n const d = wt(l.prefix), f = l.repeat ? \"(?:\" + l.pattern + \")(?:\" + d + \"(?:\" + l.pattern + \"))*\" : l.pattern;\n t && t.push(l), l.optional ? l.partial ? c += d + \"(\" + f + \")?\" : c += \"(?:\" + d + \"(\" + f + \"))?\" : c += d + \"(\" + f + \")\";\n }\n }\n return s ? (r || (c += \"(?:\" + i + \")?\"), c += a === \"$\" ? \"$\" : \"(?=\" + a + \")\") : (r || (c += \"(?:\" + i + \"(?=\" + a + \"))?\"), h || (c += \"(?=\" + i + \"|\" + a + \")\")), new RegExp(\"^\" + c, Ln(e));\n}, Mn = (n, t, e) => n instanceof RegExp ? ks(n, t || []) : Array.isArray(n) ? As(n, t, e) : Ns(n, t, e), zt = Mn;\nvar K = /* @__PURE__ */ ((n) => (n.scopedHash = \"scopedHash\", n.hash = \"hash\", n.browser = \"browser\", n.memory = \"memory\", n))(K || {}), ot = /* @__PURE__ */ ((n) => (n.storage = \"storage\", n.path = \"path\", n.initialPath = \"initial\", n))(ot || {});\nconst Ot = (n, t) => {\n const e = [], r = zt(t, e).exec(n);\n if (!r)\n return {};\n const [s, ...i] = r;\n return e.reduce((o, a, c) => (o[a.name] = i[c], o), {});\n}, Ms = (n) => Object.keys(n).reduce((t, e) => {\n const r = typeof n[e] == \"string\" ? n[e].replace(\"&\", \"%20\") : n[e];\n let s = `${e}=${r}`;\n return t.length > 1 && (s = \"&\".concat(s)), t.concat(s);\n}, \"?\"), ae = (n, t) => {\n const e = t.find((r) => r.name === n);\n if (!e) {\n process.env.NODE_ENV !== \"production\" && R.warn(`Unable to find route with specified name: ${n}`);\n return;\n }\n return e;\n}, Dn = (n) => n.length ? n.slice(1).split(\"&\").map((t) => t.split(\"=\")).reduce((t, e) => {\n const [r, s] = e.map(encodeURI).map(decodeURIComponent);\n return wn(gt({}, t), { [r]: decodeURIComponent(s).replace(\"%20\", \"&\") });\n}, {}) : {}, Ds = (n, t) => {\n const e = t.map((r) => It(n, r)).reduce(\n (r, s) => {\n if (s === null)\n return r;\n const i = s.split(\"?\")[1];\n let o = 0;\n if (i) {\n const a = Dn(`?${i}`);\n o = Object.keys(a).length;\n }\n return !r.path || r.count && o < r.count ? {\n count: o,\n path: s\n } : r;\n },\n { count: void 0, path: void 0 }\n );\n return e ? e.path : t[0];\n}, It = (n, t) => {\n const e = lt(n);\n if (Array.isArray(t)) {\n const c = Ds(e, t);\n if (!c)\n throw new Error(\"Unable to match path.\");\n return c;\n }\n const r = Ps(t);\n let s = t;\n try {\n s = r(e);\n } catch (c) {\n return null;\n }\n const i = [];\n zt(t, i);\n const o = Object.keys(e).reduce((c, h) => (i.find((u) => u.name === h) || c.push(h), c), []), a = {};\n return o.forEach((c) => a[c] = e[c]), Object.keys(a).forEach((c) => a[c] === null && delete a[c]), Object.keys(a).length > 0 ? `${s}${Ms(a)}` : s;\n}, ft = (n, t) => {\n let e = n;\n return e.indexOf(\"?\") > -1 && (e = e.substring(0, e.indexOf(\"?\"))), e.indexOf(\";\") > -1 && (e = e.substring(0, e.indexOf(\";\"))), e === \"\" && (e = \"/\"), t.reduce((r, s) => {\n if (Array.isArray(s.path))\n return s.path.reduce((o, a) => zt(a, []).exec(e || \"\") && !o ? e : o, void 0) && !r ? s : r;\n if (!s.path)\n return r;\n const i = [];\n return zt(s.path, i).exec(e || \"\") && !r ? s : r;\n }, void 0);\n}, js = (n) => {\n let t = n.get(\"historyTransitionManager\");\n return t || (t = xn(), n.parent && n.parent.register(\"historyTransitionManager\", t)), t;\n}, Et = (n, t = null) => n ? Qt(t ? t(n) : n) : {\n pathname: \"\",\n search: \"\",\n hash: \"\"\n}, _s = (n, t) => {\n if (lt(n), lt(t), Object.keys(n).length !== Object.keys(t).length)\n return !1;\n if (Object.keys(n).length === 0 && Object.keys(t).length === 0)\n return !0;\n let e = !0;\n return Object.keys(t).forEach((r) => {\n t[r] !== n[r] && (e = !1);\n }), e;\n}, Is = (n) => {\n if (typeof n.mode == \"string\") {\n if (n.mode === K.memory)\n return !0;\n } else if (n.mode[1]) {\n const [t, { sticky: e }] = n.mode;\n if (t === K.memory)\n return typeof e == \"undefined\" ? !0 : e;\n }\n return !1;\n}, ce = (n) => {\n const { views: t } = n.get(\"$settings\"), e = Object.keys(t).reduce((r, s) => typeof t[s].path == \"undefined\" ? s : r, void 0);\n return e ? {\n name: e,\n params: {}\n } : null;\n}, Ke = \"hashchange\", Rs = {\n hashbang: {\n encodePath: (n) => n.charAt(0) === \"!\" ? n : \"!/\" + pe(n),\n decodePath: (n) => n.charAt(0) === \"!\" ? n.substr(1) : n\n },\n noslash: {\n encodePath: pe,\n decodePath: xt\n },\n slash: {\n encodePath: xt,\n decodePath: xt\n }\n}, st = () => {\n const n = window.location.href, t = n.indexOf(\"#\");\n return t === -1 ? \"\" : n.substring(t + 1);\n}, qe = (n) => window.location.hash = n, Ye = (n) => {\n const t = window.location.href.indexOf(\"#\");\n window.location.replace(\n window.location.href.slice(0, t >= 0 ? t : 0) + \"#\" + n\n );\n}, Rt = (n = \"\") => {\n const t = n.replace(\";\", \"?\"), e = [\n { from: /\\;+/gi, to: \"&\" },\n { from: /:+/gi, to: \"=\" }\n ];\n let r = t;\n return e.forEach(({ to: s, from: i }) => {\n r = r.replace(i, s);\n }), r;\n}, Ts = (n = {}) => {\n const t = window.history, { getUserConfirmation: e = $n, hashType: r = \"slash\" } = n, s = n.basename ? Pn(xt(n.basename)) : \"\", { encodePath: i } = Rs[r], o = () => {\n const m = st(), b = u(m);\n return Et(b, Rt);\n }, a = n.transitionManager || xn(), c = (m) => {\n Object.assign(I, m), I.length = t.length, a.notifyListeners(I.location, I.action, n.widgetName);\n };\n let h = !1;\n const u = (m) => {\n const b = (w) => {\n function P($, y) {\n const O = {};\n let L;\n for (; L = y.exec($); )\n O[L[1]] = L[2];\n return O;\n }\n return P(w, /([^#?&=]+)=([^&#]*)(?!.*?\\#)/gi) || null;\n }, v = \"humany-\" + n.widgetName;\n return b(m)[v];\n }, l = () => {\n const m = o(), b = I.location;\n !h && Sn(b, m) || d(m);\n }, d = (m) => {\n if (h)\n h = !1, c();\n else {\n const b = \"POP\";\n a.confirmTransitionTo(\n m,\n b,\n e,\n (v) => {\n v ? c({ action: b, location: m }) : f(m);\n }\n );\n }\n }, f = (m) => {\n const b = I.location;\n let v = p.lastIndexOf(rt(b));\n v === -1 && (v = 0);\n let w = p.lastIndexOf(rt(m));\n w === -1 && (w = 0);\n const P = v - w;\n P && (h = !0, x(P));\n }, g = st(), E = i(g);\n g !== E && Ye(E);\n let p = [];\n const C = o();\n C.pathname !== null && p.push(rt(C));\n const T = (m = \"\") => {\n const b = [\n { from: /\\?+/gi, to: \";\" },\n { from: /\\&amp;+/gi, to: \";\" },\n { from: /\\&+/gi, to: \";\" },\n { from: /=+/gi, to: \":\" }\n ];\n let v = m;\n return b.forEach(({ to: w, from: P }) => {\n v = v.replace(P, w);\n }), v;\n }, U = (m, b, v) => {\n let w = \"\", P = !1;\n return m.split(\"&\").forEach(($) => {\n const y = $.split(\"=\"), O = y[0], L = y[1];\n if (O === b) {\n if (P = !0, v === null)\n return;\n w.length > 0 && (w += \"&\"), typeof v != \"undefined\" ? w += O + \"=\" + v : w += O;\n } else\n O && (w.length > 0 && (w += \"&\"), w += O + \"=\" + L);\n }), !P && v !== null && (w.length > 0 && (w += \"&\"), typeof v != \"undefined\" ? w += b + \"=\" + v : w += b), w;\n }, _ = (m) => {\n const b = m.pathname, v = T(m.search), w = b + (v ? `;${v}` : \"\"), P = `humany-${n.widgetName}`, $ = st();\n return `#${U($, P, w).replace(\";;\", \";\")}`;\n }, D = (m, b) => {\n const v = \"PUSH\", w = Et(m, Rt), P = w.pathname, $ = T(w.search), y = P + ($ ? `${$}` : \"\"), O = `humany-${n.widgetName}`, L = st(), M = U(L, O, y);\n a.confirmTransitionTo(w, v, e, (F) => {\n if (!F)\n return;\n const J = rt(w), et = i(M);\n if (st() !== et) {\n qe(et);\n const Y = p.lastIndexOf(rt(I.location)), W = p.slice(0, Y === -1 ? 0 : Y + 1);\n W.push(J), p = W, c({ action: v, location: w });\n } else\n c();\n });\n }, H = (m, b) => {\n const v = \"REPLACE\", w = Et(m, Rt);\n a.confirmTransitionTo(w, v, e, (P) => {\n if (!P)\n return;\n const $ = rt(w), y = i(s + $);\n st() !== y && Ye(y);\n const O = p.indexOf(rt(I.location));\n O !== -1 && (p[O] = $), c({ action: v, location: w });\n });\n }, x = (m) => {\n t.go(m);\n }, N = () => x(-1), A = () => x(1);\n let j = 0;\n const B = (m) => {\n j += m, j === 1 ? window.addEventListener(Ke, l) : j === 0 && window.removeEventListener(Ke, l);\n };\n let V = !1;\n const I = {\n createHref: _,\n createLocation: Et,\n push: D,\n replace: H,\n go: x,\n goBack: N,\n goForward: A,\n block: (m = !1) => {\n const b = a.setPrompt(m);\n return V || (B(1), V = !0), () => (V && (V = !1, B(-1)), b());\n },\n listen: (m) => {\n const b = a.appendListener(m);\n return B(1), () => {\n B(-1), b();\n };\n },\n stop: () => {\n const m = st(), b = U(m, `humany-${n.widgetName}`, null), v = i(b);\n qe(v);\n },\n length: t.length,\n action: \"POP\",\n location: C\n };\n return I;\n}, jn = Ts, Hs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n decodeSearch: Rt,\n default: jn,\n getHashPath: st\n}, Symbol.toStringTag, { value: \"Module\" })), Vs = (n, t) => {\n const e = (s) => {\n function i(o, a) {\n const c = {};\n let h;\n for (; h = a.exec(o); )\n c[h[1]] = h[2];\n return c;\n }\n return i(s, /([^#?&=]+)=([^&#]*)(?!.*?\\#)/gi) || null;\n }, r = `humany-${t}`;\n return e(n)[r];\n}, Bs = () => {\n const n = window.location.href, t = n.indexOf(\"#\");\n return t === -1 ? \"\" : n.substring(t + 1);\n}, Us = (n = \"\") => {\n const t = n.replace(\";\", \"?\"), e = [\n { from: /\\;+/gi, to: \"&\" },\n { from: /:+/gi, to: \"=\" }\n ];\n let r = t;\n return e.forEach(({ to: s, from: i }) => {\n r = r.replace(i, s);\n }), r;\n}, Ws = (n, t = null) => n ? Qt(t ? t(n) : n) : {\n pathname: \"\",\n search: \"\",\n hash: \"\"\n}, _n = (n) => {\n const t = Bs(), e = Vs(t, n);\n return Ws(e, Us);\n}, we = (n) => {\n const { name: t } = n.get(\"$widget\");\n return !!_n(t).pathname;\n};\nfe((n) => {\n n.createCommand(\"routing\", (t) => (e) => {\n const r = {\n mode: e.mode\n };\n e.basePath && (r.basePath = e.basePath), t.container.register(\"routingSettings\", r);\n });\n});\nconst Ge = \"routeData\";\nclass zs {\n constructor(t, e) {\n this.container = t, this.steps = [], this.historyListenSubscription = () => {\n }, this.sticky = !1, this.storageWriter = null, this.widget = t.get(\"$widget\");\n const r = e, { routes: s } = r, i = as(r, [\"routes\"]);\n this.settings = gt(gt({}, i), t.get(\"routingSettings\")), this.sticky = Is(this.settings), this.storageMedium = this.sticky ? S.Local : S.Session, X(t, Ge, k.Necessary, {\n medium: this.storageMedium\n }).then((o) => this.storageWriter = o), this.routes = s;\n }\n initialize() {\n return this.initialized = this.initialized || this.createHistory().then((t) => {\n this.history = t, this.location = t.location, this.historyListenSubscription = t.listen(\n (e, r, s) => this.handleLocationChange(e, s)\n );\n });\n }\n setMatch(t) {\n if (this.match = t, this.location) {\n const e = this.getRouteData(), r = {\n routeData: e,\n location: this.location\n }, s = this.steps[0], i = e.name === (s == null ? void 0 : s.routeData.name), o = Ae(\n e.params,\n (s == null ? void 0 : s.routeData.params) || {}\n );\n (!i || !o) && (this.widget.events.dispatch(\"router:change\", { next: r, previous: s }), this.steps.unshift(r), this.storageWriter && this.storageWriter(r.routeData), this.widget.events.dispatch(\"router:changed\", { previous: s, current: r }));\n }\n }\n onRouteChange(t) {\n return this.widget.events.subscribe(\"router:change\", t);\n }\n isSticky() {\n return this.sticky;\n }\n /**\n * Generate a formatted path from string\n * @param routeName Name of route to generate path for\n * @param params Optional: route params\n */\n generate(t, e = {}) {\n const r = ae(t, this.routes);\n if (!r || !this.history)\n throw `No route found for ${t}`;\n const s = It(e, r.path);\n if (!s)\n throw `Unable to generate path for \"${t}\".`;\n const i = Et(s, this.settings.decodeSearch);\n let o = this.history.createHref(i);\n const { mode: a, basePath: c } = this.settings;\n return a === \"browser\" && c && (o = o.replace(c, \"\")), o.charAt(0) !== \"/\" && (o = `/${o}`), o;\n }\n /**\n * Navigate to path\n * @param routeName Route to navigate to\n * @param params Optional: route params\n */\n navigate(t, e = {}) {\n const r = ae(t, this.routes);\n if (!r || !this.history)\n return;\n const s = It(e, r.path);\n if (!s)\n return;\n const i = this.getRouteData(), o = i && i.name === t && _s(i.params, e);\n if (this.steps[0] && o)\n return;\n const { decodeSearch: a } = this.settings, c = a ? a(s) : s;\n this.widget.events.dispatch(\"router:navigate\", {\n decodedPath: c\n }), c.charAt(0) !== \"/\" ? this.history.push(`/${c}`) : this.history.push(c);\n }\n /**\n * Return true or false depending\n * on whether it is possible to navigate backwards\n */\n hasBack() {\n if (this.steps.length > 1)\n return !0;\n const t = this.getRouteData(this.settings.initialPath), e = this.getRouteData(), r = e.name === t.name, s = Ae(e.params, t.params);\n return !r || !s;\n }\n /**\n * Navigate to previous route\n */\n goBack(t = 1) {\n if (this.steps.length < 2) {\n const e = this.getRouteData(this.settings.initialPath);\n e && e.name && (this.navigate(e.name, e.params), this.steps = []);\n } else {\n const e = t >= this.steps.length ? this.steps.length - 1 : t, { routeData: r } = this.steps[e];\n this.steps = [...this.steps.slice(e + 1)], this.navigate(r.name, Qn(r.params));\n }\n }\n /**\n * Navigate to next route\n */\n goForward() {\n this.history && this.history.goForward();\n }\n /**\n * Get the current location\n */\n current() {\n return this.location;\n }\n /**\n * Get the initial route. If the defined initial route does not exist,\n * return the first defined route\n */\n getInitialRoute() {\n const { name: t } = this.getRouteData(this.settings.initialPath);\n return this.routes.find((r) => r.name === t) || (this.routes.length > 0 ? this.routes[0] : (process.env.NODE_ENV !== \"production\" && R.warn(\"Unable to get initial route as no routes are defined.\"), null));\n }\n getRouteData(t) {\n const e = ce(this.container);\n if (t) {\n const r = ft(t, this.routes);\n return r ? {\n params: lt(Ot(t, r.path)),\n name: r.name\n } : e || {\n name: \"\",\n params: {}\n };\n }\n if (this.location) {\n const { pathname: r, search: s } = this.location;\n if (this.currentRoute = this.currentRoute || ft(r, this.routes), this.currentRoute) {\n const { path: i, name: o } = this.currentRoute;\n this.match || (this.match = {\n params: Ot(r, i),\n isExact: !0,\n path: i,\n url: r\n });\n const a = lt(gt(gt({}, this.match.params), s.length > 0 && Dn(s)));\n return {\n name: o,\n params: a\n };\n }\n }\n return e || {\n name: \"\",\n params: {}\n };\n }\n dispose() {\n return this.historyListenSubscription(), this.stop();\n }\n /**\n * Setup and load the initial route based on router configuration\n */\n setupInitialRoute() {\n return q(this.container, Ge, this.storageMedium).then(\n (t) => {\n if (!this.location || !this.history)\n return;\n const { initialPath: e, mode: r } = this.settings;\n switch ((() => {\n const s = we(this.container);\n return r === K.browser || s ? ot.path : r === K.memory && t ? ot.storage : ot.initialPath;\n })()) {\n case ot.initialPath: {\n const s = this.getRouteData(e);\n return s && s.name ? this.navigate(s.name, s.params) : void 0;\n }\n case ot.path: {\n const { pathname: s } = this.location;\n if (this.currentRoute = ft(s, this.routes), this.currentRoute) {\n const { path: o } = this.currentRoute;\n return this.setMatch({\n params: Ot(s, o),\n isExact: !0,\n path: o,\n url: s\n });\n }\n const i = ce(this.container);\n return i ? this.setMatch({\n params: {},\n isExact: !0,\n path: i.name,\n url: s\n }) : void 0;\n }\n case ot.storage: {\n const { pathname: s } = this.location;\n this.currentRoute = ft(s, this.routes);\n const { name: i = \"\", params: o = {} } = t || {}, a = ae(i, this.routes);\n if (a) {\n const c = It(o, a.path);\n if (c)\n return this.history.push(c), this.location = wn(gt({}, this.location), { pathname: c }), this.currentRoute = ft(c, this.routes), this.setMatch({\n params: o,\n isExact: !0,\n path: a.path,\n url: c\n });\n }\n return;\n }\n }\n }\n );\n }\n start() {\n return this.setupInitialRoute();\n }\n stop() {\n return this.history && (this.settings.mode === K.scopedHash && this.history.stop(), this.steps = [], this.storageWriter) ? this.storageWriter() : Promise.resolve();\n }\n handleLocationChange(t, e) {\n const { pathname: r } = t, { mode: s } = this.settings;\n if (r.indexOf(\"?\") > -1 || r.indexOf(\";\") > -1 || s === K.scopedHash && e !== this.widget.name)\n return;\n this.location = t, this.currentRoute = ft(r, this.routes);\n const i = ce(this.container);\n if (this.currentRoute) {\n const { path: o } = this.currentRoute;\n this.setMatch({\n params: Ot(r, o),\n isExact: !0,\n path: o,\n url: r\n });\n } else\n i && this.setMatch({\n params: {},\n isExact: !0,\n path: i.name,\n url: r\n });\n }\n createHistory() {\n return new Promise((t) => {\n const { mode: e, basePath: r } = this.settings;\n if (e === K.scopedHash) {\n const s = this.widget.name, i = js(this.container);\n return Promise.resolve().then(() => Hs).then((o) => {\n const a = o.default({\n widgetName: s,\n transitionManager: i,\n hashType: \"noslash\"\n });\n return t(a);\n });\n }\n if (e === K.memory)\n return t(Br());\n if (e === K.browser)\n return t(Hr({ basename: r }));\n throw \"RoutingService: History could not be created.\";\n });\n }\n}\nconst Fs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n HistoryMode: K,\n RoutingService: zs,\n createHashHistory: jn,\n getScopedHashDOMLocation: _n,\n matchParams: Ot,\n onWidgetUrl: we\n}, Symbol.toStringTag, { value: \"Module\" })), he = (n, t, e, ...r) => {\n const s = `[${n.get(\"$environment\").name || \"webprovisions\"}] ${e}`;\n switch (t) {\n case \"info\":\n console.info(s, ...r);\n break;\n case \"warning\":\n console.warn(s, ...r);\n break;\n case \"error\":\n console.error(s, ...r);\n break;\n }\n}, Js = (n) => {\n const t = n.container || n;\n return {\n info: (e, ...r) => he(t, \"info\", e, ...r),\n warn: (e, ...r) => he(t, \"warning\", e, ...r),\n error: (e, ...r) => he(t, \"error\", e, ...r)\n };\n};\nvar $t = /* @__PURE__ */ ((n) => (n.Implementation = \"implementation\", n.Widget = \"widget\", n))($t || {}), it = /* @__PURE__ */ ((n) => (n.Pre = \"pre\", n.Post = \"post\", n))(it || {});\nconst Ks = (n, t, e, r) => {\n try {\n const s = new t(e, r);\n return {\n name: n,\n invoke: (i, o) => {\n let a;\n return s[i] && (a = s[i].call(s, o)), Promise.resolve(a);\n },\n getInstance: () => s\n };\n } catch (s) {\n if (s.message && s.message.indexOf(\"is not a constructor\") >= 0)\n return {\n name: n,\n invoke: (i) => {\n let o;\n return i === \"initialize\" && (o = t(e, r)), Promise.resolve(o);\n },\n getInstance: () => t\n };\n throw s;\n }\n};\nfunction Qe(n, t) {\n return typeof n == \"undefined\" ? t : n;\n}\nclass qs {\n constructor(t = {}) {\n this.part = t;\n }\n createCommand(t, e, r) {\n let s;\n typeof e == \"function\" ? s = {\n scope: $t.Widget,\n stage: it.Post,\n defaultArgs: void 0,\n handlerResolver: e\n } : s = {\n scope: Qe(e.scope, $t.Widget),\n stage: Qe(e.stage, it.Post),\n defaultArgs: e.defaultArgs,\n handlerResolver: r\n };\n let i = this.part;\n const o = t.split(\".\");\n return o.forEach((a, c) => {\n c === o.length - 1 ? i[a] || (i[a] = () => s) : i = this.part[a] = this.part[a] || {};\n }), this;\n }\n get() {\n return this.part;\n }\n}\nconst In = (n) => {\n const t = new qs({});\n return n(t), t.get();\n};\nIn((n) => {\n n.createCommand(\n \"types.register\",\n { scope: $t.Implementation, stage: it.Pre },\n (t) => (e, r) => {\n t.container.get(\"$types\")[e] = r;\n }\n ).createCommand(\n \"type\",\n { stage: it.Pre },\n (t) => (e) => {\n t.container.register(\"$type\", e);\n }\n ).createCommand(\n \"settings\",\n { stage: it.Pre, defaultArgs: [null] },\n (t) => (e) => {\n t.events.dispatch(\n \"settings:change\",\n e,\n { bubbles: !0 }\n ), t.container.register(\"$settings\", e);\n }\n ).createCommand(\n \"plugin\",\n { stage: it.Pre },\n (t) => (e, r, s) => {\n const { container: i } = t;\n let o = null, a = e, c = r;\n typeof e == \"string\" && (o = e, a = r, c = s);\n const h = (u) => {\n const { transformPluginSettings: l } = t.container.get(\"$environmentOptions\"), d = l ? l(\n c || {},\n o,\n t.container,\n a\n ) : r;\n try {\n const f = Ks(\n o,\n a,\n i,\n d\n );\n i.get(\"$plugins\").push(f), u && f.invoke(\"initialize\", null);\n } catch (f) {\n Js(t).warn(\"Error when initializing plugin\", f);\n }\n };\n t.container.get(\"$instance\") ? h(!0) : t.events.subscribeOnce(\"widget:instance-created\", () => h(!1));\n }\n ).createCommand(\n \"container.register\",\n (t) => (e, r) => {\n t.container.register(e, r);\n }\n ).createCommand(\n \"container.registerAsync\",\n (t) => (e, r) => {\n t.container.registerAsync(e, r);\n }\n ).createCommand(\n \"container.registerFactory\",\n (t) => (e, r) => {\n t.container.registerFactory(e, r);\n }\n ).createCommand(\n \"container.touch\",\n (t) => (e, r) => {\n t.container.touch(e, r);\n }\n ).createCommand(\n \"csp\",\n {},\n (t) => (e) => {\n t.container.register(\"csp\", e);\n }\n );\n});\nfunction Ys(n) {\n const t = {};\n return [].filter.call(n.attributes, (e) => /^data-/.test(e.name)).map((e) => e.name).forEach((e) => t[e.substr(5)] = n.getAttribute(e)), t;\n}\nconst Ze = (n, t, e) => {\n const r = Ys(n);\n e({\n sourceDOMElement: n,\n eventType: t,\n data: r\n });\n};\nfunction Xe(n, t, e) {\n n.forEach((r) => {\n r.dataset.attached !== \"true\" && (t === \"load\" ? Ze(r, t, e) : r.addEventListener(t, (s) => {\n s.preventDefault(), Ze(r, t, e);\n }), r.dataset.monitored = \"true\");\n });\n}\nfunction Gs(n, t, e) {\n const r = n.container.get(\"bootstrapping.monitor\");\n r && r.events.subscribe(\"bootstrap:trigger-elements-updated\", (i, o) => {\n Xe(\n o.triggerElements,\n t,\n e\n );\n });\n const s = n.container.get(\"triggerElements\");\n s && Xe(\n s,\n t,\n e\n );\n}\nIn((n) => {\n n.createCommand(\n \"ready\",\n { scope: $t.Implementation, stage: it.Pre },\n (t) => (e) => {\n const { container: r } = t, s = r.owner;\n r.get(\"bootstrapping\").ready ? e(s) : s.events.subscribeOnce(\"bootstrap:ready\", () => {\n e(s);\n });\n }\n );\n});\nconst Qs = (n) => {\n if (n) {\n const { type: t, content: e } = n;\n switch (t) {\n case \"FontAwesome\":\n return `<i class=\"humany-icon fa fa-${e}\"></i>`;\n case \"Uri\":\n return `<i class=\"humany-icon humany-custom-icon\" style=\"background: url(${e}) no-repeat center center;background-size: contain;\"></i>`;\n default:\n return \"\";\n }\n }\n}, Zs = (n) => {\n const t = (s, i) => {\n s && (i ? s.classList.add(\"humany-tabbing\") : s.classList.remove(\"humany-tabbing\"));\n }, e = (s) => {\n s.key === \"Tab\" ? t(n, !0) : s.key === \"Enter\" && document.activeElement && document.activeElement.classList.contains(\"humany-trigger\") || t(n, !1);\n }, r = (s) => {\n document.activeElement && document.activeElement.classList.contains(\"humany-trigger\") && document.activeElement.classList.contains(\"humany-tabbing\") || t(n, !1);\n };\n return document.addEventListener(\"keydown\", e), document.addEventListener(\"click\", r), () => {\n document.removeEventListener(\"keydown\", e), document.removeEventListener(\"click\", r);\n };\n};\nfunction Xs(n, t) {\n const {\n symbol: e,\n widgetName: r,\n label: s = \"\",\n ariaLabel: i = \"\",\n tooltip: o = \"\"\n } = t;\n n.classList.add(\"humany-trigger\"), n.classList.add(`humany_${r}`), s.length && n.classList.add(\"humany-has-text\"), i.length && !n.getAttribute(\"aria-label\") && n.setAttribute(\"aria-label\", i), i.length && !n.getAttribute(\"tabindex\") && n.setAttribute(\"tabindex\", \"0\"), o.length && !n.getAttribute(\"title\") && n.setAttribute(\"title\", o);\n const a = Qs(e) || \"\";\n return n.innerHTML = `${a}\n <span class=\"humany-close\">\n <svg width=\"18\" height=\"9\" viewBox=\"0 0 18 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 9C8.81794 9.00045 8.63759 8.96634 8.46939 8.89965C8.3012 8.83295 8.14851 8.735 8.02015 8.61145L0.194523 1.12367C0.068294 0.99862 -0.00155266 0.831133 2.61958e-05 0.657285C0.00160506 0.483436 0.0744832 0.317136 0.202964 0.194202C0.331445 0.0712675 0.505249 0.00153576 0.686941 2.50649e-05C0.868634 -0.00148563 1.04368 0.0653456 1.17437 0.186125L9 7.6739L16.8256 0.186125C16.9563 0.0653456 17.1314 -0.00148563 17.3131 2.50649e-05C17.4948 0.00153576 17.6686 0.0712675 17.797 0.194202C17.9255 0.317136 17.9984 0.483436 18 0.657285C18.0016 0.831133 17.9317 0.99862 17.8055 1.12367L9.97985 8.61145C9.85149 8.735 9.6988 8.83295 9.53061 8.89965C9.36241 8.96634 9.18206 9.00045 9 9Z\" fill=\"white\"/>\n </svg>\n </span>\n <span class=\"humany-loader\">\n <svg viewBox=\"25 25 50 50\">\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke=\"#000\"\n stroke-width=\"2\"\n stroke-miterlimit=\"10\" />\n </svg>\n </span>\n ${s.length ? `<span>${s}</span>` : \"\"}`, setTimeout(\n () => n && n.classList.add(\"humany-rendered\")\n ), Zs(n);\n}\nfunction ti(n, t) {\n n instanceof HTMLElement ? (t && n.setAttribute(\"title\", t), n.classList.remove(\"humany-active\"), n.classList.remove(\"humany-loading\")) : n instanceof Array && n.forEach((e) => {\n t && e.setAttribute(\"title\", t), e.classList.remove(\"humany-active\"), e.classList.remove(\"humany-loading\");\n });\n}\nfunction ei(n) {\n n instanceof HTMLElement ? (n.classList.remove(\"humany-active\"), n.classList.add(\"humany-loading\")) : n instanceof Array && n.forEach((t) => {\n t.classList.remove(\"humany-active\"), t.classList.add(\"humany-loading\");\n });\n}\nfunction Rn(n, t) {\n n instanceof HTMLElement ? (t && n.setAttribute(\"title\", t), n.classList.add(\"humany-active\"), n.classList.remove(\"humany-loading\")) : n instanceof Array && n.forEach((e) => {\n t && e.setAttribute(\"title\", t), e.classList.add(\"humany-active\"), e.classList.remove(\"humany-loading\");\n });\n}\nvar ut = /* @__PURE__ */ ((n) => (n.Inline = \"inline\", n.Link = \"link\", n.Badge = \"badge\", n.Unsupported = \"unsupported\", n))(ut || {});\nconst ni = (n, t) => n && t ? \"both\" : n ? \"widgetDOM\" : t ? \"triggerDOM\" : \"none\", Tn = (n) => n ? typeof n == \"boolean\" && n ? \"link\" : typeof n == \"object\" && !Array.isArray(n) ? \"badge\" : \"unsupported\" : \"inline\", ri = (n, t, e, r, s = !1) => {\n var h, u;\n const i = ni(\n t,\n e\n ), o = Tn(r), a = {\n widgetDOMElement: t ? t.cloneNode(!0) : void 0,\n triggerDOMElement: e ? e.cloneNode(!0) : void 0\n }, c = {\n triggerType: o,\n cachedOriginals: a,\n widgetDOMElement: document.createElement(\"div\")\n };\n switch (i) {\n case \"both\": {\n c.widgetDOMElement = t || document.createElement(\"div\"), o !== \"inline\" && (c.triggerDOMElement = e);\n break;\n }\n case \"widgetDOM\": {\n if (c.widgetDOMElement = t || document.createElement(\"div\"), o !== \"inline\") {\n const l = document.body.appendChild(document.createElement(\"a\"));\n o === \"link\" && (l.innerText = n), c.triggerDOMElement = l;\n }\n break;\n }\n case \"triggerDOM\": {\n const l = document.createElement(\"div\");\n c.widgetDOMElement = l, o === \"inline\" ? (l.id = (e == null ? void 0 : e.id) || \"\", s ? (l.style.display = \"none\", (h = e == null ? void 0 : e.parentNode) == null || h.appendChild(l), c.callback = () => {\n var d;\n (d = e == null ? void 0 : e.parentNode) == null || d.replaceChild(\n l,\n e\n ), l.style.display = (e == null ? void 0 : e.style.display) || \"block\";\n }) : (u = e == null ? void 0 : e.parentNode) == null || u.replaceChild(\n l,\n e\n ), c.cachedOriginals.widgetDOMElement = e, c.cachedOriginals.triggerDOMElement = void 0) : (c.widgetDOMElement = document.body.appendChild(l), c.triggerDOMElement = e);\n break;\n }\n case \"none\": {\n const l = document.body.appendChild(document.createElement(\"div\"));\n if (c.widgetDOMElement = l, o !== \"inline\") {\n const d = document.body.appendChild(document.createElement(\"a\"));\n o === \"link\" && (d.innerText = n), c.triggerDOMElement = d;\n }\n break;\n }\n }\n return c;\n}, si = \"modals\";\nclass ii {\n constructor(t, e) {\n this.options = e, this.unsubscribe = [], this.container = t.createChild(this), this.container.register(\"widgetDOMElement\", this.options.widgetDOMElement), this.container.register(\n \"triggerDOMElement\",\n this.options.triggerDOMElement\n );\n const r = this.container.get(\"$widget\");\n this.options.widgetDOMElement.classList.add(\"humany-widget\"), this.options.widgetDOMElement.classList.add(`humany_${r.name}`);\n const s = t.get(\"widgetDOMElements\") || [];\n t.register(\"widgetDOMElements\", [\n ...s,\n this.options.widgetDOMElement\n ]);\n }\n /**\n * Renders the view outlet to the DOM.\n */\n render() {\n const { widgetDOMElement: t, triggerDOMElement: e } = this.options, r = this.container.get(\"$widget\");\n return t.getAttribute(\"data-rendered\") === \"true\" ? Promise.resolve() : (e && this.options.triggerType === ut.Badge && ei(e), import(\"./render-301f6791.js\").then((s) => s.default(this.container, t)).then(() => {\n if (t.setAttribute(\"data-rendered\", \"true\"), e && this.options.triggerType === ut.Badge) {\n const i = this.options.triggerOptions.openTooltip;\n Rn(e, i);\n }\n nr(this.container, t);\n const s = this.container.get(\"$environment\").widgets.all();\n q(\n this.container,\n si,\n S.Session\n ).then((i) => {\n i && i.forEach((o) => {\n s.find(\n (a) => a.name === o.name && a.state === \"activated\"\n ) && r.events.dispatch(\"widget:modal-opened\", o);\n });\n });\n }));\n }\n renderBadge(t) {\n const { triggerDOMElement: e } = this.options;\n if (!e)\n return;\n e.getAttribute(\"role\") || e.setAttribute(\"role\", \"button\");\n const { name: r } = this.container.get(\"$widget\"), { label: s, symbol: i, ariaLabel: o, closedTooltip: a, openTooltip: c } = t, h = { closedTooltip: a, openTooltip: c };\n this.options.triggerOptions = h;\n const u = Xs(e, {\n label: s,\n symbol: i,\n ariaLabel: o,\n widgetName: r,\n tooltip: a\n });\n this.unsubscribe.push(u);\n }\n dispose() {\n return Zt(this, null, function* () {\n var r, s, i, o;\n const { triggerDOMElement: t, widgetDOMElement: e } = this.options;\n this.options.cachedOriginals.widgetDOMElement && e && ((r = e.parentNode) == null || r.replaceChild(\n this.options.cachedOriginals.widgetDOMElement,\n e\n )), this.options.cachedOriginals.triggerDOMElement && t && ((s = t.parentNode) == null || s.replaceChild(\n this.options.cachedOriginals.triggerDOMElement,\n t\n )), this.unsubscribe.forEach((a) => {\n a();\n }), (i = e.parentNode) == null || i.removeChild(e), (o = t == null ? void 0 : t.parentNode) == null || o.removeChild(t);\n });\n }\n}\nconst Nt = \"changesets\", oi = (n) => {\n const t = { tags: n.tags };\n return n.context && typeof n.context != \"function\" && (t.context = n.context), n.properties && typeof n.properties != \"function\" && (t.properties = n.properties), n.layout && typeof n.layout != \"function\" && (t.layout = n.layout), t;\n};\nclass Oe {\n constructor(t, e) {\n this.container = t, this.storageWriter = e;\n }\n static create(t) {\n return X(\n t,\n Nt,\n k.Necessary,\n {\n medium: S.Local\n }\n ).then(\n (e) => new Oe(t, e)\n );\n }\n write(t, e, r, s) {\n return G(this)(() => q(\n this.container,\n Nt,\n S.Local\n ).then((i = {}) => {\n const { keys: o = [], items: a = {} } = i, c = o.indexOf(t);\n return c > -1 && o.splice(c, 1), o.push(t), a[t] = {\n options: s,\n attributes: oi(r),\n rules: e.rules\n }, this.storageWriter({ keys: o, items: a });\n }));\n }\n remove(t) {\n return G(this)(() => q(\n this.container,\n Nt,\n S.Local\n ).then((e = {}) => {\n const { keys: r = [], items: s = {} } = e, i = r.indexOf(t);\n if (i > -1)\n return r.splice(i, 1), delete s[t], this.storageWriter(e);\n }));\n }\n load(t) {\n return G(this)(() => q(\n this.container,\n Nt,\n S.Local\n ).then((e = {}) => {\n const { keys: r = [], items: s = {} } = e;\n r.forEach((i) => {\n const o = s[i];\n if (o) {\n const { rules: a, attributes: c, options: h } = o;\n t.write({\n attributes: c,\n options: h,\n target: new yt(t, a)\n });\n }\n });\n }));\n }\n}\nconst ai = (n) => {\n const { container: t } = n;\n return Oe.create(t).then(\n (e) => {\n const r = t.get(\"$settings\"), s = { localStorage: e }, i = new qt(n, s), o = cn(i, r);\n return n.events.subscribe(\n \"widget:state-change\",\n (a, c) => {\n c.state === nn.Deactivating && o();\n }\n ), i;\n }\n );\n}, ci = (n) => Promise.resolve().then(() => Fs).then(\n ({ RoutingService: t, HistoryMode: e }) => n.get(\"settings\").then((r) => {\n const {\n routing: {\n initialPath: s = \"/\",\n mode: i = e.scopedHash,\n basePath: o\n },\n views: a\n } = r;\n return new t(n, {\n initialPath: s,\n mode: i,\n routes: Object.keys(a).map((h) => ({\n name: h,\n path: a[h].path\n })),\n basePath: o\n });\n })\n), hi = (n) => Promise.resolve().then(() => rs).then(({ StorageProvider: t }) => new t()), ui = (n) => Promise.resolve().then(() => me).then(({ ActionResolver: t }) => new t(n)), li = (n) => Promise.resolve().then(() => me).then(({ ComponentResolver: t }) => new t(n)), di = (n) => Promise.resolve().then(() => me).then(() => ai(n.get(\"$widget\"))), ue = \"$settings\", Lt = \"open\", tn = \"activeStickyWidget\";\nclass Ai extends Kn {\n constructor(t) {\n super(t), this.outlets = /* @__PURE__ */ new Map(), this.activated = void 0, this.subs = [], this.handleBootstrapping = (e) => {\n const r = {\n triggerDOMElement: e.sourceDOMElement,\n withRenderState: \"storage\"\n /* Storage */\n };\n this.container.get(\"settings\").then((s) => {\n const { activate: i } = s;\n (typeof i == \"undefined\" || i === null || i === !0) && (this.activated = (this.activated || this.widget.activate()).then(\n () => this.attach(r)\n ));\n });\n }, this.container.registerAsync(\n \"storage\",\n () => hi(this.container)\n ), this.container.registerFactory(\"settings\", () => q(\n this.container,\n ue,\n S.Local\n ).then((e = {}) => dt(dt({}, this.container.get(\"$settings\")), e))), Gs(this, \"load\", this.handleBootstrapping), this.container.registerAsync(\n \"componentResolver\",\n () => li(this.container)\n ), this.container.registerAsync(\n \"router\",\n () => ci(this.container)\n ), this.container.registerAsync(\n \"actionResolver\",\n () => ui(this.container)\n ), this.container.register(\"matchMedia\", window.matchMedia), this.container.registerAsync(\n \"components\",\n () => di(this.container)\n );\n }\n initialize() {\n const t = this.container.getManyAsync(\n \"actionResolver\",\n \"router\",\n \"components\"\n ), e = this.container.get(\"csp\");\n return e && (window.webprovisionsEnvironmentVariables || (window.webprovisionsEnvironmentVariables = {}), window.webprovisionsEnvironmentVariables.cspNonce = e.nonce), Promise.all([t, this.container.get(\"settings\")]).then(\n ([{ actionResolver: r, router: s, components: i }, o]) => {\n var h;\n r.subscribe(\n this.widget.name,\n (u, l, d) => this.onAction(l, d)\n );\n const a = (u) => {\n i.nodes.query({ type: \"view\" }).forEach((l) => {\n i.setSwitch(l, u);\n });\n }, c = ((h = s.getInitialRoute()) == null ? void 0 : h.name) || \"index\";\n return a(c), this.events.subscribe(\"widget:data-loaded\", (u, { element: l }) => {\n this.widget.container.get(\"seoConfiguration\") && this.events.dispatch(\"widget:preloaded-replaced\", {\n element: l\n });\n }), this.events.subscribe(\n \"router:change\",\n (u, { previous: l = { routeData: {} }, next: d = { routeData: {} } }) => {\n const { routeData: f } = l, { routeData: g } = d, E = Object.keys(o.views).reduce(\n (p, C) => typeof o.views[C].path == \"undefined\" ? C : p,\n \"\"\n );\n !g.name && E ? a(E) : a(g.name), lt(f && f.params), lt(g && g.params), this.container.getAsync(\"actionResolver\").then((p) => {\n p.action(this.widget.name, \"routeChange\", {\n next: g,\n previous: f\n });\n });\n }\n ), s.initialize();\n }\n );\n }\n attach(t = {}) {\n return this.container.get(\"settings\").then(({ trigger: e }) => {\n var d, f;\n const {\n widgetDOMElement: r,\n key: s = Pt(),\n triggerDOMElement: i,\n withRenderState: o\n } = t, c = Tn(e) === ut.Inline && ((i == null ? void 0 : i.childElementCount) || 0) > 0, h = ri(\n this.widget.name,\n r,\n i,\n e,\n c\n );\n this.outlets.size < 1 && !o && this.setRenderState(\"unset\");\n const u = () => {\n const g = () => E.querySelectorAll(\"[data-loading=true]\").length === 0, [E] = this.widget.container.get(\"widgetDOMElements\"), p = (U, _) => {\n g() && (h.callback && h.callback(), _.disconnect());\n }, C = {\n attributes: !0,\n subtree: !0,\n childList: !0\n };\n g() && h.callback && h.callback(), new MutationObserver(p).observe(E, C);\n };\n c && this.widget.container.getAsync(\"dataClient\").then(({ events: g }) => {\n g.subscribe(\n \"data-client:fetched\",\n (E, p) => {\n p.unresolvedQueries === 0 && u();\n }\n );\n });\n const l = this.getOrCreateViewOutlet(s, h);\n if (this.outlets.set(s, l), this.widget.events.dispatch(\"widget:attached\", {}, { bubbles: !0 }), h.triggerType === ut.Badge && e && ((d = h.triggerDOMElement) == null || d.setAttribute(\n \"aria-expanded\",\n \"false\"\n ), l == null || l.renderBadge(e)), h.triggerType !== ut.Inline && ((f = h.triggerDOMElement) == null || f.addEventListener(\n \"click\",\n (g) => {\n g.preventDefault(), this.container.get(\"settings\").then(({ trigger: E }) => {\n l.render().then(() => this.renderState()).then((p) => E && E.action && E.action === \"hide\" ? p === z.open ? this.hide() : this.open() : p === z.open ? this.close() : this.open());\n });\n }\n )), this.outlets.size > 1)\n return this.renderState().then((g) => {\n this.triggerStateIfApplicable(g);\n });\n if (o)\n return o === \"storage\" ? this.renderState().then((g) => {\n if (h.triggerType === ut.Inline) {\n this.triggerStateIfApplicable(\"open\");\n return;\n }\n this.triggerStateIfApplicable(g);\n }) : this.triggerStateIfApplicable(o);\n });\n }\n detach(t) {\n if (t) {\n if (this.outlets.has(t)) {\n const e = this.outlets.get(t);\n e == null || e.dispose(), this.outlets.delete(t);\n return;\n }\n process.env.NODE_ENV !== \"production\" && console.warn(`detach(): Could not find View Outlet with key ${t}`);\n return;\n }\n this.outlets.forEach((e) => {\n e.dispose();\n }), this.outlets.clear();\n }\n triggerStateIfApplicable(t) {\n return this.container.getAsync(\"router\").then((e) => {\n switch (t) {\n case \"closed\":\n this.close();\n break;\n case \"open\":\n this.open();\n break;\n case \"hidden\":\n this.hide(), e.start();\n break;\n default:\n return;\n }\n });\n }\n getOrCreateViewOutlet(t, e) {\n return this.outlets.has(t) ? this.outlets.get(t) : new ii(this.container, e);\n }\n render(t = {}) {\n if (process.env.NODE_ENV !== \"production\" && console.warn(\n \"widget.render() is deprecated. Use widget.attach() instead.\"\n ), t.open) {\n const e = Pe(dt({}, t), {\n withRenderState: \"open\"\n /* Open */\n });\n return this.attach(e);\n }\n return this.attach(t);\n }\n activate(t) {\n t != null && t.override && this.setSettings(() => t.override), t != null && t.apiNotificationPriorityBy && this.container.register(\n \"apiNotificationPriorityBy\",\n t.apiNotificationPriorityBy\n );\n }\n setSettings(t) {\n return Promise.all([\n this.container.get(\"settings\"),\n X(\n this.container,\n ue,\n k.Necessary,\n {\n medium: S.Local\n }\n )\n ]).then(([e, r]) => Promise.resolve(t(e)).then((s) => r(s).then(() => {\n const i = dt(dt({}, e), s);\n return this.widget.events.dispatch(\"widget:settings-updated\", i), i;\n })));\n }\n clearSettings() {\n return X(\n this.container,\n ue,\n k.Necessary,\n { medium: S.Local }\n ).then((t) => t()).then(() => this.container.get(\"settings\")).then((t) => {\n this.widget.events.dispatch(\"widget:settings-updated\", t);\n });\n }\n action({ action: t, value: e }) {\n return this.container.getAsync(\"actionResolver\").then((r) => {\n r.action(this.widget.name, t, e);\n });\n }\n renderState() {\n if (we(this.container))\n return Promise.resolve(z.open);\n const t = () => q(\n this.container,\n Lt,\n S.Session\n ).then((r = z.closed) => r), e = () => q(\n this.container,\n Lt,\n S.Session\n ).then((r = z.closed) => r);\n return this.container.getAsync(\"router\").then((r) => r.isSticky() ? e().then((s) => s === z.open ? s : t()) : t());\n }\n hide() {\n return this.outlets.size < 1 ? (process.env.NODE_ENV !== \"production\" && console.warn(\n \"hide(): No-op as no view outlets are registered. Invoke the attach() command first.\"\n ), Promise.resolve()) : (this.outlets.forEach((t) => t.render()), this.action({ action: \"hide\" }).then(() => {\n this.setTriggerState(!1);\n }));\n }\n open() {\n return this.outlets.size < 1 ? (process.env.NODE_ENV !== \"production\" && console.warn(\n \"open(): No-op as no view outlets are registered. Invoke the attach() command first.\"\n ), Promise.resolve()) : (this.outlets.forEach((t) => t.render()), this.action({ action: \"open\" }).then(() => (this.widget.events.dispatch(\"tracking:widget-rendered\", {}), this.onOpen())));\n }\n close() {\n return this.outlets.size < 1 ? (process.env.NODE_ENV !== \"production\" && console.warn(\n \"close(): No-op as no view outlets are registered. Invoke the attach() command first.\"\n ), Promise.resolve()) : this.action({ action: \"close\" }).then(() => this.onClose());\n }\n show() {\n return process.env.NODE_ENV !== \"production\" && console.warn(\n \"show(): Command is deprecated and will be removed in the future. Use open() instead.\"\n ), this.open();\n }\n onAction(t, e) {\n switch (t) {\n case \"close\":\n case \"open\":\n case \"hide\":\n const r = t === \"open\" ? z.open : t === \"close\" ? z.closed : z.hidden;\n return this.setRenderState(r).then(() => {\n this.setTriggerState(r === z.open), r !== z.hidden ? r === z.open ? this.onOpen() : this.onClose() : this.outlets.forEach(\n (s) => {\n var i;\n return (i = s.options.triggerDOMElement) == null ? void 0 : i.setAttribute(\n \"aria-expanded\",\n \"false\"\n );\n }\n );\n });\n }\n }\n setRenderState(t) {\n const { invoke: e, events: r } = this.container.get(\"$widget\");\n return Promise.all([\n X(\n this.container,\n Lt,\n k.Necessary,\n {\n medium: S.Session\n }\n ),\n X(\n this.container,\n Lt,\n k.Necessary,\n {\n medium: S.Local,\n duration: { minutes: 5 }\n }\n ),\n this.container.getAsync(\"router\"),\n e(\"renderState\")\n ]).then(\n ([s, i, o, a]) => {\n t === \"unset\" || !t ? (i(), s()) : (o.isSticky() && i(t), s(t)), r.dispatch(\"widget:render-state-changed\", {\n previous: a,\n next: t\n });\n }\n );\n }\n onOpen() {\n return this.container.getAsync(\"router\").then((t) => (this.outlets.forEach(\n (e) => {\n var r;\n return (r = e.options.triggerDOMElement) == null ? void 0 : r.setAttribute(\n \"aria-expanded\",\n \"true\"\n );\n }\n ), t.start()));\n }\n onClose() {\n const t = this.container.getManyAsync(\n \"router\",\n \"components\"\n );\n return (() => this.container.get(\"settings\").then((r) => {\n const { activate: s } = this.container.get(\"$settings\");\n return r.activate !== s ? this.setSettings(() => Promise.resolve({ activate: s })) : Promise.resolve();\n }))().then(() => t).then(\n ({\n router: r,\n components: s\n }) => {\n const i = s.nodes.visible;\n return this.outlets.forEach(\n (o) => {\n var a;\n return (a = o.options.triggerDOMElement) == null ? void 0 : a.setAttribute(\n \"aria-expanded\",\n \"false\"\n );\n }\n ), i.filter(\n (o) => o.attributes.properties.animation && o.attributes.properties.animation !== \"none\"\n ).length ? new Promise((o) => {\n setTimeout(() => {\n o(r);\n }, 200);\n }) : Promise.resolve(r);\n }\n ).then((r) => r.stop());\n }\n setTriggerState(t) {\n this.outlets.forEach((e) => {\n const {\n options: { triggerDOMElement: r, triggerOptions: s }\n } = e, { openTooltip: i, closedTooltip: o } = s || {};\n r && (t ? Rn(r, i) : ti(r, o));\n });\n }\n deactivate() {\n this.subs.forEach((e) => e());\n const t = [];\n return this.outlets.forEach((e) => t.push(e.dispose())), q(\n this.container,\n tn,\n S.Local\n ).then((e) => e === this.widget.name ? X(\n this.container,\n tn,\n k.Necessary,\n {\n medium: S.Local,\n scope: vt.Implementation\n }\n ).then((r) => r()).then(() => Promise.all(t)) : Promise.all(t));\n }\n}\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nlet pi = class extends Event {\n constructor(t, e, r) {\n super(\"context-request\", { bubbles: !0, composed: !0 }), this.context = t, this.callback = e, this.subscribe = r != null && r;\n }\n};\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass en {\n constructor(t, e, r, s) {\n var i;\n if (this.subscribe = !1, this.provided = !1, this.value = void 0, this.t = (o, a) => {\n this.unsubscribe && (this.unsubscribe !== a && (this.provided = !1, this.unsubscribe()), this.subscribe || this.unsubscribe()), this.value = o, this.host.requestUpdate(), this.provided && !this.subscribe || (this.provided = !0, this.callback && this.callback(o, a)), this.unsubscribe = a;\n }, this.host = t, e.context !== void 0) {\n const o = e;\n this.context = o.context, this.callback = o.callback, this.subscribe = (i = o.subscribe) !== null && i !== void 0 && i;\n } else\n this.context = e, this.callback = r, this.subscribe = s != null && s;\n this.host.addController(this);\n }\n hostConnected() {\n this.dispatchRequest();\n }\n hostDisconnected() {\n this.unsubscribe && (this.unsubscribe(), this.unsubscribe = void 0);\n }\n dispatchRequest() {\n this.host.dispatchEvent(new pi(this.context, this.t, this.subscribe));\n }\n}\nconst Li = \"children\", fi = \"descriptor\", gi = \"container\", Mi = \"context\", Di = \"layout\", ji = \"properties\";\nclass _i {\n constructor(t) {\n (this.host = t).addController(this), new en(\n t,\n gi,\n (e) => {\n this._container = e, this.host.requestUpdate();\n },\n !0\n ), new en(\n t,\n fi,\n (e) => {\n this._descriptor = e, this.host.requestUpdate();\n },\n !0\n );\n }\n hostConnected() {\n }\n hostDisconnected() {\n }\n dispatch(t, e) {\n return Zt(this, null, function* () {\n if (!this._container || !this._descriptor)\n return;\n const r = yield qt.getInstance(\n this._container\n ), s = new yt(r).withId(\n this._descriptor.id\n );\n yield r.actions(\n s,\n this._descriptor.type || Pt()\n ).dispatch(t, e);\n });\n }\n}\nconst Ii = (n, t, e, r, s) => n.getAsync(\"componentResolver\").then((i) => (i.registerComponent(t, e), hn(n, t, r || (() => {\n}), t, s)));\nexport {\n _i as A,\n Or as E,\n Ai as W,\n en as a,\n Mi as b,\n Li as c,\n fi as d,\n qt as e,\n gi as f,\n Ii as g,\n Di as l,\n z as m,\n ji as p,\n pi as s\n};\n//# sourceMappingURL=index-8c63c0e1.js.map\n","import { Container } from '@webprovisions/platform';\r\nimport { createWebComponent } from '@telia-ace/widget-runtime-flamingo';\r\n\r\ntype Symbol = {\r\n type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;\r\n content: string;\r\n};\r\n\r\nexport enum AreaMode {\r\n Static = 'static',\r\n Drawer = 'drawer',\r\n Dropdown = 'dropdown',\r\n Modal = 'modal',\r\n}\r\n\r\nexport type AreaComponentProps = {\r\n mode: AreaMode;\r\n animation?: string;\r\n fullScreen?: boolean;\r\n columns?: number;\r\n scrollable?: boolean;\r\n header?: string;\r\n trigger?: {\r\n symbol?: Symbol;\r\n label?: string;\r\n size?: number;\r\n ariaLabel?: string;\r\n };\r\n};\r\n\r\nexport const AreaComponent = (container: Container) => {\r\n return createWebComponent(\r\n container,\r\n 'area',\r\n import('./area'),\r\n (_component) => {}\r\n );\r\n};\r\n\r\nexport default AreaComponent;\r\n"],"names":["Xt","n","t","e","r","s","zn","Tt","at","Fn","i","o","Se","Jn","a","c","fe","h","u","f","Ft","bt","R","rn","Zn","ke","Xn","St","G","nt","Pt","sr","ir","or","Ne","ar","cr","Le","hr","ur","sn","yt","dr","ge","Jt","pr","l","d","g","E","le","on","Kt","Mt","an","fr","gr","mr","yr","te","Q","vr","br","p","C","T","U","_","D","H","qt","hn","Ur","Ve","Wr","zr","Be","pt","S","vt","k","X","Ue","be","Jr","ve","Gr","Zr","q","Yr","Bt","Qr","mt","ne","gn","Fr","Gt","Yt","re","se","ye","mn","Vt","de","Kr","Dt","qr","ie","ts","Ut","ht","es","We","ns","yn","On","En","cs","hs","us","At","oe","ds","ps","fs","Je","_t","gs","ms","bs","Cn","Os","he","Js","$t","it","Ks","Qe","qs","In","Li","ji","Ii","AreaComponent","container","createWebComponent","_component"],"mappings":"AA4BA,MAAMA,IAAK,CAACC,GAAGC,GAAGC,MAAMC,MAAM;AAC5B,QAAMC,IAAI,IAAIJ,EAAE,IAAI,cAAc,EAAE,QAAQ,eAAe,KAAKE,CAAC;AACjE,UAAQD,GAAC;AAAA,IACP,KAAK;AACH,cAAQ,KAAKG,GAAG,GAAGD,CAAC;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,KAAKC,GAAG,GAAGD,CAAC;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,MAAMC,GAAG,GAAGD,CAAC;AACrB;AAAA,EACH;AACH,GAAGE,KAAK,CAACL,MAAM;AACb,QAAMC,IAAID,EAAE,aAAaA;AACzB,SAAO;AAAA,IACL,MAAM,CAACE,MAAMC,MAAMJ,EAAGE,GAAG,QAAQC,GAAG,GAAGC,CAAC;AAAA,IACxC,MAAM,CAACD,MAAMC,MAAMJ,EAAGE,GAAG,WAAWC,GAAG,GAAGC,CAAC;AAAA,IAC3C,OAAO,CAACD,MAAMC,MAAMJ,EAAGE,GAAG,SAASC,GAAG,GAAGC,CAAC;AAAA,EAC9C;AACA;AACA,IAAIG,IAAsB,kBAACN,OAAOA,EAAE,iBAAiB,kBAAkBA,EAAE,SAAS,UAAUA,IAAIM,KAAM,CAAE,CAAA,GAAGC,IAAsB,kBAACP,OAAOA,EAAE,MAAM,OAAOA,EAAE,OAAO,QAAQA,IAAIO,KAAM,CAAE,CAAA;AACrL,MAAMC,KAAK,CAACR,GAAGC,GAAGC,GAAGC,MAAM;AACzB,MAAI;AACF,UAAMC,IAAI,IAAIH,EAAEC,GAAGC,CAAC;AACpB,WAAO;AAAA,MACL,MAAMH;AAAA,MACN,QAAQ,CAACS,GAAGC,MAAM;AAChB,YAAI;AACJ,eAAON,EAAEK,CAAC,MAAM,IAAIL,EAAEK,CAAC,EAAE,KAAKL,GAAGM,CAAC,IAAI,QAAQ,QAAQ,CAAC;AAAA,MACxD;AAAA,MACD,aAAa,MAAMN;AAAA,IACzB;AAAA,EACG,SAAQA,GAAG;AACV,QAAIA,EAAE,WAAWA,EAAE,QAAQ,QAAQ,sBAAsB,KAAK;AAC5D,aAAO;AAAA,QACL,MAAMJ;AAAA,QACN,QAAQ,CAACS,MAAM;AACb,cAAIC;AACJ,iBAAOD,MAAM,iBAAiBC,IAAIT,EAAEC,GAAGC,CAAC,IAAI,QAAQ,QAAQO,CAAC;AAAA,QAC9D;AAAA,QACD,aAAa,MAAMT;AAAA,MAC3B;AACI,UAAMG;AAAA,EACP;AACH;AACA,SAASO,GAAGX,GAAGC,GAAG;AAChB,SAAO,OAAOD,KAAK,cAAcC,IAAID;AACvC;AACA,IAAIY,KAAK,MAAM;AAAA,EACb,YAAY,IAAI,IAAI;AAClB,SAAK,OAAO;AAAA,EACb;AAAA,EACD,cAAc,GAAG,GAAGT,GAAG;AACrB,QAAIC;AACJ,WAAO,KAAK,aAAaA,IAAI;AAAA,MAC3B,OAAOE,EAAG;AAAA,MACV,OAAOC,EAAG;AAAA,MACV,aAAa;AAAA,MACb,iBAAiB;AAAA,IAClB,IAAGH,IAAI;AAAA,MACN,OAAOO,GAAG,EAAE,OAAOL,EAAG,MAAM;AAAA,MAC5B,OAAOK,GAAG,EAAE,OAAOJ,EAAG,IAAI;AAAA,MAC1B,aAAa,EAAE;AAAA,MACf,iBAAiBJ;AAAA,IACvB;AACI,QAAIM,IAAI,KAAK;AACb,UAAM,IAAI,EAAE,MAAM,GAAG;AACrB,WAAO,EAAE,QAAQ,CAACI,GAAGC,MAAM;AACzB,MAAAA,MAAM,EAAE,SAAS,IAAIL,EAAEI,CAAC,MAAMJ,EAAEI,CAAC,IAAI,MAAMT,KAAKK,IAAI,KAAK,KAAKI,CAAC,IAAI,KAAK,KAAKA,CAAC,KAAK;IACpF,CAAA,GAAG;AAAA,EACL;AAAA,EACD,MAAM;AACJ,WAAO,KAAK;AAAA,EACb;AACH;AACA,MAAME,IAAK,CAACf,MAAM;AAChB,QAAMC,IAAI,IAAIW,GAAG,CAAA,CAAE;AACnB,SAAOZ,EAAEC,CAAC,GAAGA,EAAE,IAAG;AACpB;AACAc,EAAG,CAACf,MAAM;AACR,EAAAA,EAAE;AAAA,IACA;AAAA,IACA,EAAE,OAAOM,EAAG,gBAAgB,OAAOC,EAAG,IAAK;AAAA,IAC3C,CAACN,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,IAAI,QAAQ,EAAEC,CAAC,IAAIC;AAAA,IAChC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAOI,EAAG,IAAK;AAAA,IACjB,CAACN,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,UAAU,SAAS,SAASC,CAAC;AAAA,IAChC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAOK,EAAG,KAAK,aAAa,CAAC,IAAI,EAAG;AAAA,IACtC,CAACN,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,OAAO;AAAA,QACP;AAAA,QACAC;AAAA,QACA,EAAE,SAAS,GAAI;AAAA,MAChB,GAAED,EAAE,UAAU,SAAS,aAAaC,CAAC;AAAA,IACvC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAOK,EAAG,IAAK;AAAA,IACjB,CAACN,MAAM,CAACC,GAAGC,GAAGC,MAAM;AAClB,YAAM,EAAE,WAAWK,EAAG,IAAGR;AACzB,UAAIS,IAAI,MAAM,IAAIR,GAAG,IAAIC;AACzB,aAAOD,KAAK,aAAaQ,IAAIR,GAAG,IAAIC,GAAG,IAAIC;AAC3C,YAAMY,IAAI,CAACC,MAAM;AACf,cAAM,EAAE,yBAAyB,EAAG,IAAGhB,EAAE,UAAU,IAAI,qBAAqB,GAAG,IAAI,IAAI;AAAA,UACrF,KAAK,CAAE;AAAA,UACPS;AAAA,UACAT,EAAE;AAAA,UACF;AAAA,QACD,IAAGE;AACJ,YAAI;AACF,gBAAMe,IAAIV;AAAA,YACRE;AAAA,YACA;AAAA,YACAD;AAAA,YACA;AAAA,UACZ;AACU,UAAAA,EAAE,IAAI,UAAU,EAAE,KAAKS,CAAC,GAAGD,KAAKC,EAAE,OAAO,cAAc,IAAI;AAAA,QAC5D,SAAQA,GAAG;AACV,UAAAb,GAAGJ,CAAC,EAAE,KAAK,kCAAkCiB,CAAC;AAAA,QAC/C;AAAA,MACT;AACM,MAAAjB,EAAE,UAAU,IAAI,WAAW,IAAIe,EAAE,EAAE,IAAIf,EAAE,OAAO,cAAc,2BAA2B,MAAMe,EAAE,EAAE,CAAC;AAAA,IACrG;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACf,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,SAASC,GAAGC,CAAC;AAAA,IAC1B;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,cAAcC,GAAGC,CAAC;AAAA,IAC/B;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,gBAAgBC,GAAGC,CAAC;AAAA,IACjC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,MAAMC,GAAGC,CAAC;AAAA,IACvB;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAAE;AAAA,IACF,CAACF,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,UAAU,SAAS,OAAOC,CAAC;AAAA,IAC9B;AAAA,EACL;AACA,CAAC;AAwDD,MAAMiB,IAAK,CAACnB,GAAGC,MAAMC,MAAM,OAAOD,KAAK,WAAWD,EAAE,YAAYC,CAAC,IAAI,GAAGC,CAAC,IAAIF,EAAEC,GAAG,GAAGC,CAAC,GAAGkB,IAAK,MAAM;AAAA,EAClG,cAAc;AACZ,SAAK,OAAO,CAAA,GAAI,KAAK,MAAM,CAAC,MAAM,MAAM,KAAK,OAAO,GAAG,MAAMA,EAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,MAAM,KAAK,OAAO,GAAG,MAAMA,EAAG,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,MAAM,KAAK,OAAO,GAAG,MAAMA,EAAG,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,MAAM,KAAK,OAAO,GAAG,MAAMA,EAAG,KAAK,GAAG,CAAC,CAAC;AAAA,EACtQ;AAAA,EACD,OAAO,GAAG,GAAG;AACX,SAAK,KAAK,QAAQ,CAAC,MAAM,OAAO,KAAK,KAAK,KAAK,CAAC,GAAG,EAAG;AAAA,EACvD;AACH;AACA,IAAIC,IAAID;AACRC,EAAE,MAAM,IAAIrB,MAAMmB,EAAG,QAAQ,KAAK,GAAGnB,CAAC;AACtCqB,EAAE,OAAO,IAAIrB,MAAMmB,EAAG,QAAQ,MAAM,GAAGnB,CAAC;AACxCqB,EAAE,QAAQ,IAAIrB,MAAMmB,EAAG,QAAQ,OAAO,GAAGnB,CAAC;AAC1CqB,EAAE,OAAO,IAAIrB,MAAMmB,EAAG,QAAQ,MAAM,GAAGnB,CAAC;AACxC,MAAMsB,KAAK,CAACtB,MAAM;AAChB,MAAIC,IAAI,CAAA,GAAIC,GAAGC;AACf,MAAI,OAAOH,KAAK,YAAYA,MAAM;AAChC,WAAOA;AACT,EAAAC,IAAI,MAAM,QAAQD,CAAC,IAAI,CAAA,IAAK,CAAA;AAC5B,OAAKG,KAAKH;AACR,IAAAE,IAAIF,EAAEG,CAAC,GAAGF,EAAEE,CAAC,IAAI,OAAOD,KAAK,YAAYA,MAAM,OAAOoB,GAAGpB,CAAC,IAAIA;AAChE,SAAOD;AACT,GAAGsB,KAAKD;AACR,SAASE,GAAGxB,GAAG;AACb,MAAIC,IAAI;AACR,MAAID,EAAE,WAAW;AACf,WAAOC,EAAE;AACX,WAASC,IAAI,GAAGA,IAAIF,EAAE,QAAQE,KAAK;AACjC,UAAMC,IAAIH,EAAE,WAAWE,CAAC;AACxB,IAAAD,KAAKA,KAAK,KAAKA,IAAIE,GAAGF,IAAIA,IAAIA;AAAA,EAC/B;AACD,SAAOA,EAAE;AACX;AACA,IAAIwB,KAAK,MAAM;AAAA,EACb,YAAY,GAAG,GAAG;AAChB,SAAK,kBAAkB,GAAG,KAAK,gBAAgB,GAAG,KAAK,QAAQ,IAAI,KAAK,UAAU,QAAQ,QAAS,GAAE,KAAK,OAAO,KAAK,KAAK,KAAK,IAAI;AAAA,EACrI;AAAA,EACD,IAAI,GAAG,GAAGtB,GAAGC,GAAG;AACd,SAAK,MAAM,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQD,GAAG,MAAMC,EAAG,CAAA,GAAG,KAAK;EACpE;AAAA,EACD,OAAO;AACL,SAAK,UAAU,KAAK,QAAQ,KAAK,MAAM;AACrC,YAAM,IAAI,KAAK,MAAM,MAAK;AAC1B,UAAI,GAAG;AACL,YAAI;AACJ,cAAMD,IAAI,WAAW,MAAM;AACzB,kBAAQ,IAAI,aAAa,gBAAgBkB,EAAE;AAAA,YACzC,uBAAuB,KAAK,eAAe,2BAA2B,KAAK,aAAa;AAAA,YACxF;AAAA,UACZ,GAAa,IAAI,WAAW,MAAM;AACtB,cAAE,OAAO,uBAAuB;AAAA,UAC5C,GAAa,KAAK,aAAa;AAAA,QAC/B,GAAW,KAAK,eAAe,GAAGjB,IAAI,QAAQ,QAAQ,EAAE,MAAM,EAAE,KAAK,CAACK,OAAO,aAAaN,CAAC,GAAG,aAAa,CAAC,GAAGM,EAAE;AACzG,eAAO,QAAQ,QAAQL,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE;AAAA,UACxC,MAAMA,EAAE,KAAK,CAACK,MAAM;AAClB,cAAE,KAAM,GAAE,EAAE,QAAQA,CAAC;AAAA,UACjC,CAAW;AAAA,QACF,EAAC,MAAM,CAACA,OAAO,EAAE,KAAI,GAAI,EAAE,OAAOA,CAAC,GAAG,KAAK,KAAI,EAAG;AAAA,MACpD;AACD,aAAO,QAAQ;IACrB,CAAK;AAAA,EACF;AACH;AACA,MAAMiB,IAAqB,oBAAI;AAC/B,SAASC,EAAE3B,GAAGC,IAAI,KAAKC,IAAI,KAAK;AAC9B,SAAOwB,EAAG,IAAI1B,CAAC,KAAK0B,EAAG,IAAI1B,GAAG,IAAIyB,GAAGxB,GAAGC,CAAC,CAAC,GAAG,CAACC,MAAM,IAAI,QAAQ,CAACC,GAAGK,MAAM;AACxE,UAAMC,IAAIgB,EAAG,IAAI1B,CAAC;AAClB,IAAAU,EAAE,IAAIP,GAAGC,GAAGK,GAAG,MAAM;AACnB,MAAAC,EAAE,MAAM,UAAUgB,EAAG,OAAO1B,CAAC;AAAA,IACnC,CAAK;AAAA,EACL,CAAG;AACH;AACK,MA2DF4B,IAAK,MAAM,KAAK,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,SAAS,EAAE,EAAE,UAAU,CAAC;AAC9E,SAASC,IAAK;AACZ,SAAOD,EAAI,IAAGA,EAAI,IAAG,MAAMA,EAAE,IAAK,MAAMA,EAAE,IAAK,MAAMA,EAAI,IAAG,MAAMA,EAAI,IAAGA,EAAE,IAAKA;AAClF;AACA,IAAIE,KAAK,OAAO,gBAAgBC,KAAK,OAAO,kBAAkBC,KAAK,OAAO,2BAA2BC,KAAK,OAAO,uBAAuBC,KAAK,OAAO,UAAU,gBAAgBC,KAAK,OAAO,UAAU,sBAAsBC,KAAK,CAACpC,GAAGC,GAAGC,MAAMD,KAAKD,IAAI8B,GAAG9B,GAAGC,GAAG,EAAE,YAAY,IAAI,cAAc,IAAI,UAAU,IAAI,OAAOC,EAAG,CAAA,IAAIF,EAAEC,CAAC,IAAIC,GAAGmC,KAAK,CAACrC,GAAGC,MAAM;AACrV,WAASC,KAAKD,MAAMA,IAAI,CAAA;AACtB,IAAAiC,GAAG,KAAKjC,GAAGC,CAAC,KAAKkC,GAAGpC,GAAGE,GAAGD,EAAEC,CAAC,CAAC;AAChC,MAAI+B;AACF,aAAS/B,KAAK+B,GAAGhC,CAAC;AAChB,MAAAkC,GAAG,KAAKlC,GAAGC,CAAC,KAAKkC,GAAGpC,GAAGE,GAAGD,EAAEC,CAAC,CAAC;AAClC,SAAOF;AACT,GAAGsC,KAAK,CAACtC,GAAGC,MAAM8B,GAAG/B,GAAGgC,GAAG/B,CAAC,CAAC;AAgB7B,MAAMsC,KAAK,CAACvC,MAAM;AAChB,QAAMC,IAAI,CAAA;AACV,SAAO;AAAA,IACL,CAACC,GAAGC,MAAM;AACR,MAAAF,EAAE,KAAKD,EAAE,UAAUE,GAAGC,CAAC,CAAC;AAAA,IACzB;AAAA,IACD,MAAM;AACJ,MAAAF,EAAE,QAAQ,CAACC,MAAM;AACf,QAAAA;MACR,CAAO;AAAA,IACF;AAAA,EACL;AACA;AACA,IAAIsC,KAAK,MAAM;AAAA,EACb,YAAY,GAAG,IAAI,IAAI;AACrB,SAAK,WAAW,GAAG,KAAK,QAAQ;AAAA,EACjC;AAAA,EACD,MAAM,GAAG;AACP,WAAO,KAAK,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK;AAAA,EACvF;AAAA,EACD,OAAO,GAAG;AACR,WAAO,KAAK,MAAM,KAAK,EAAE,MAAM,EAAC,CAAE,GAAG;AAAA,EACtC;AAAA,EACD,OAAO,GAAG;AACR,WAAO,KAAK,MAAM,KAAK,EAAE,IAAI,EAAC,CAAE,GAAG;AAAA,EACpC;AAAA,EACD,SAAS;AACP,WAAO,IAAIC,GAAG,KAAK,UAAU,IAAI;AAAA,EAClC;AACH;AACA,MAAMC,GAAG;AAAA,EACP,YAAYzC,GAAGC,GAAGC,GAAG;AACnB,SAAK,WAAWF,GAAG,KAAK,OAAOC,GAAG,KAAK,UAAU,IAAIyC;AAAA,MACnD1C;AAAA,MACA,IAAIuC,GAAGvC,CAAC,EAAE,OAAOC,EAAE,EAAE;AAAA,MACrBC;AAAA,IACN;AACI,UAAM,CAACC,GAAGK,CAAC,IAAI8B,GAAG,KAAK,SAAS,MAAM;AACtC,SAAK,YAAYnC,GAAG,KAAK,cAAcK;AAAA,EACxC;AAAA,EACD,WAAWR,GAAG;AACZ,WAAOA,KAAK,KAAK,KAAK,gBAAgB,CAACC,MAAMD,EAAEC,CAAC,CAAC,GAAG,KAAK,KAAK,WAAW;AAAA,EAC1E;AAAA,EACD,QAAQD,GAAG;AACT,WAAOA,KAAK,KAAK,UAAU,8BAA8B,CAACC,GAAG,EAAE,MAAMC,QAAQ;AAC3E,MAAAA,MAAM,KAAK,QAAQF,EAAE,KAAK,KAAK,WAAW,OAAO;AAAA,IAClD,CAAA,GAAG,KAAK,KAAK,WAAW;AAAA,EAC1B;AAAA,EACD,OAAOA,GAAG;AACR,WAAOA,KAAK,KAAK,UAAU,6BAA6B,CAACC,GAAG,EAAE,MAAMC,QAAQ;AAC1E,MAAAA,MAAM,KAAK,QAAQF,EAAE,KAAK,KAAK,WAAW,MAAM;AAAA,IACjD,CAAA,GAAG,KAAK,KAAK,WAAW;AAAA,EAC1B;AAAA,EACD,gBAAgBA,GAAGC,GAAG;AACpB,SAAK,KAAK,gBAAgBD,GAAGC,CAAC;AAAA,EAC/B;AAAA,EACD,aAAaD,GAAGC,GAAG;AACjB,SAAK,KAAK,gBAAgBD,GAAGC,CAAC;AAAA,EAC/B;AAAA,EACD,YAAYD,GAAGC,GAAG;AAChB,SAAK,KAAK,YAAYD,GAAGC,CAAC;AAAA,EAC3B;AAAA,EACD,UAAU;AACR,SAAK,YAAa,GAAE,KAAK,QAAQ,QAAO;AAAA,EACzC;AACH;AACA,MAAMuC,GAAG;AAAA,EACP,YAAYxC,GAAGC,GAAGC,IAAI,IAAI;AACxB,SAAK,WAAWF,GAAG,KAAK,SAASC,GAAG,KAAK,iBAAiBC,GAAG,KAAK,UAAU,CAAE,GAAE,KAAK,UAAU,IAAIwC,GAAG,KAAK,UAAU,KAAK,MAAM;AAAA,EACjI;AAAA,EACD,gBAAgB1C,GAAGC,GAAG;AACpB,SAAK,QAAQ;AAAA,MACX,KAAK,SAAS,MAAM;AAAA,QAClB,SAASA;AAAA,QACT,YAAY,EAAE,YAAYD,EAAG;AAAA,QAC7B,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,MACxB,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EACD,aAAaA,GAAGC,GAAG;AACjB,SAAK,QAAQ;AAAA,MACX,KAAK,SAAS,MAAM;AAAA,QAClB,SAASA;AAAA,QACT,YAAY,EAAE,SAASD,EAAG;AAAA,QAC1B,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,MACxB,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EACD,YAAYA,GAAGC,GAAG;AAChB,SAAK,QAAQ;AAAA,MACX,KAAK,SAAS,MAAM;AAAA,QAClB,SAASA;AAAA,QACT,YAAY,EAAE,QAAQD,EAAG;AAAA,QACzB,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,MACxB,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EACD,UAAU;AACR,SAAK,QAAQ,QAAQ,CAACA,MAAM;AAC1B,MAAAA;IACD,CAAA,GAAG,KAAK,QAAQ;EAClB;AACH;AACA,MAAM2C,KAAK,CAAC5C,GAAGC,GAAGC,MAAM;AACtB,QAAMC,IAAIH,EAAE,OAAQ,GAAEI,IAAI,CAACK,GAAGC,GAAG,MAAM;AACrC,QAAI,IAAI;AACR,QAAIP,EAAE,QAAQ;AACZ,YAAMa,IAAIb,EAAE,MAAO,GAAEc,IAAI,CAAC,GAAG,OAAO,IAAI,IAAIb,EAAE,GAAG,OAAO,OAAO,CAAA,GAAIM,GAAG,CAAC,GAAG,CAAC;AAC3E,aAAO,QAAQ,QAAQM,EAAEP,GAAGQ,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAMqB,GAAGD,GAAG,CAAE,GAAE,CAAC,GAAG;AAAA,QAC3D,WAAW;AAAA,MACZ,CAAA,CAAC;AAAA,IACH;AACD,WAAO,QAAQ,QAAQ,EAAE,MAAM5B,GAAG,WAAW,IAAI,SAASC,EAAC,CAAE;AAAA,EACjE;AACE,SAAON,EAAEH,GAAG,CAAE,GAAEC,CAAC;AACnB;AACA,IAAIyC,KAAK,MAAM;AAAA,EACb,YAAY,GAAG,GAAGxC,GAAG;AACnB,SAAK,WAAW,GAAG,KAAK,SAAS,GAAG,KAAK,KAAKA,GAAG,KAAK,gBAAgB,CAAA,GAAI,KAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AAAA,EAC9G;AAAA,EACD,OAAO,GAAG,IAAI,MAAM;AAAA,EACtB,GAAK;AACD,UAAMA,IAAI;AAAA,MACR,KAAK;AAAA,MACL,IAAI;AAAA,MACJ,QAAQ,KAAK;AAAA,MACb,IAAI,KAAK;AAAA,IACf;AACI,SAAK,SAAS,aAAa,SAAS,KAAKA,CAAC;AAC1C,UAAMC,IAAI,MAAM;AACd,YAAMK,IAAI,KAAK,SAAS,aAAa,SAAS,QAAQN,CAAC;AACvD,MAAAM,IAAI,MAAM,KAAK,SAAS,aAAa,SAAS,OAAOA,GAAG,CAAC;AAAA,IAC/D;AACI,WAAO,KAAK,cAAc,KAAKL,CAAC,GAAGA;AAAA,EACpC;AAAA,EACD,SAAS,GAAG,GAAG;AACb,UAAMD,IAAI,KAAK,SAAS,MAAM,IAAI;AAAA,MAChC,KAAK,SAAS,MAAM;AAAA,IAC1B,GAAOC,IAAI,CAAA,GAAIK,IAAI,KAAK,SAAS,aAAa,SAAS;AAAA,MACjD,CAAC,MAAM,EAAE,QAAQ,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,OAAO,KAAK;AAAA,IAChE;AACI,WAAO,QAAQ;AAAA,MACbA,EAAE,IAAI,CAAC,MAAM;AACX,cAAMI,IAAIV,EAAE;AAAA,UACV,CAACa,MAAM,EAAE,OAAO,MAAMA,CAAC,KAAK,KAAK,OAAO,MAAMA,CAAC;AAAA,QACzD,GAAWF,IAAI,KAAK,SAAS,aAAa,SAAS,OAAO,CAACE,MAAMA,EAAE,QAAQ,MAAM,CAACA,EAAE,MAAM,CAAC,KAAK,MAAMA,EAAE,OAAO,KAAK,OAAOH,EAAE,KAAK,CAACI,MAAMD,EAAE,OAAO,MAAMC,CAAC,CAAC,CAAC,EAAE,IAAI,CAACD,MAAMA,EAAE,EAAE;AACpK,eAAO,QAAQ;AAAA,UACbH,EAAE,IAAI,CAACG,MAAM;AACX,kBAAMC,IAAI,IAAIyB;AAAA,cACZ,KAAK;AAAA,cACL1B;AAAA,cACA,KAAK;AAAA,YACnB;AACY,mBAAO4B,GAAG9B,GAAG,GAAGG,CAAC,EAAE,KAAK,CAAC4B,MAAM;AAC7B,oBAAM,EAAE,MAAMC,IAAI,IAAI,SAAS5B,GAAG,WAAW6B,EAAG,IAAGF;AACnD,qBAAO,QAAQ;AAAA,gBACbE,IAAI,CAAE,IAAG,EAAE,GAAGD,GAAG5B,GAAGD,CAAC;AAAA,cACrC,EAAgB,KAAK,CAAC+B,MAAM;AACZ,gBAAA5C,EAAEY,EAAE,EAAE,IAAIgC;AAAA,cAC1B,CAAe;AAAA,YACf,CAAa;AAAA,UACb,CAAW;AAAA,QACX;AAAA,MACA,CAAO;AAAA,IACP,EAAM,KAAK,MAAM5C,CAAC;AAAA,EACf;AAAA,EACD,MAAM,GAAG,GAAG;AACV,QAAID,IAAI,GAAGC,IAAI,KAAK;AACpB,UAAMK,IAAI,EAAE,MAAM,GAAG;AACrB,IAAAA,EAAE,SAAS,MAAML,IAAIK,EAAE,CAAC,GAAGN,IAAIM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG;AACnD,UAAM,IAAI;AAAA,MACR,IAAI;AAAA,MACJ,QAAQ,KAAK;AAAA,MACb,KAAKN;AAAA,MACL,IAAIC;AAAA,IACV;AACI,SAAK,SAAS,aAAa,SAAS,KAAK,CAAC;AAC1C,UAAMS,IAAI,MAAM;AACd,YAAMC,IAAI,KAAK,SAAS,aAAa,SAAS,QAAQ,CAAC;AACvD,MAAAA,IAAI,MAAM,KAAK,SAAS,aAAa,SAAS,OAAOA,GAAG,CAAC;AAAA,IAC/D;AACI,WAAO,KAAK,cAAc,KAAKD,CAAC,GAAGA;AAAA,EACpC;AAAA,EACD,UAAU;AACR,SAAK,cAAc,QAAQ,CAAC,MAAM,EAAG,CAAA;AAAA,EACtC;AACH;AACAE,EAAG,CAACf,MAAM;AACR,EAAAA,EAAE,cAAc,cAAc,CAACC,MAAM,CAACC,MAAM;AAC1C,IAAAD,EAAE,OAAO,cAAc,+BAA+B,CAACE,GAAG,EAAE,UAAUC,QAAQ;AAC5E,MAAAF,EAAE,YAAYA,EAAE,SAAS,QAAQ,CAAC,CAACO,GAAGC,CAAC,MAAM;AAC3C,QAAAN,EAAE,oBAAoBK,GAAGC,CAAC;AAAA,MAClC,CAAO;AAAA,IACP,CAAK;AAAA,EACL,CAAG;AACH,CAAC;AACD,IAAIuC,KAAK,MAAM;AAAA,EACb,YAAY,GAAG,GAAG;AAChB,SAAK,SAAS,GAAG,KAAK,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,aAAa,CAAA,GAAI,KAAK,aAAa,GAAG,KAAK,KAAKpB,KAAM,KAAK,OAAO,GAAG,KAAK,aAAa;AAAA,MAC/I,SAAS,CAAE;AAAA,MACX,YAAY,CAAE;AAAA,MACd,QAAQ,CAAE;AAAA,MACV,MAAM,CAAE;AAAA,IACd,GAAO,KAAK,YAAY,EAAE,MAAM,QAAQ,QAAQ,EAAC,CAAE;AAAA,EAChD;AAAA,EACD,MAAM,GAAG,GAAG;AACV,QAAI1B,IAAI,EAAE,IAAI,eAAe;AAC7B,WAAOA,MAAMA,IAAoB,oBAAI,IAAK,GAAE,EAAE,SAAS,iBAAiBA,CAAC,IAAIA,EAAE,IAAI,IAAI,KAAK,QAAQ,IAAI,aAAa,gBAAgBkB,EAAE,MAAM,sDAAsD,IAAI,GAAG,MAAM;AAAA,IAC/M,MAAK,KAAK,OAAO,SAAS,2BAA2B,EAAE,MAAM,KAAI,CAAE,GAAG,KAAK,eAAe,MAAM,KAAK,aAAa,KAAK,aAAa,GAAG,KAAK,OAAO,SAAS,yBAAyB,EAAE,MAAM,KAAM,CAAA,IAAI,MAAM;AAC5M,MAAAlB,EAAE,OAAO,IAAI,GAAG,KAAK,OAAO,SAAS,6BAA6B,EAAE,MAAM,MAAM,GAAG,KAAK,aAAa,KAAK,aAAa,GAAG,KAAK,eAAe,KAAK,KAAK,OAAO,SAAS,wBAAwB,EAAE,MAAM,KAAM,CAAA;AAAA,IACpN;AAAA,EACG;AAAA,EACD,YAAY,GAAG,IAAI,WAAW;AAC5B,QAAI,EAAE,QAAQ;AACZ,UAAI,EAAE,WAAW;AACf;AACF,QAAE,OAAO,YAAY,CAAC;AAAA,IACvB;AACD,MAAE,SAAS,MAAM,KAAK,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAE,IAAG,KAAK,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,OAAO,SAAS,4BAA4B,EAAE,MAAM,EAAG,CAAA;AAAA,EACrJ;AAAA,EACD,aAAa,GAAG,IAAI,WAAW;AAC7B,QAAI,EAAE,QAAQ;AACZ,UAAI,EAAE,WAAW;AACf;AACF,QAAE,OAAO,YAAY,CAAC;AAAA,IACvB;AACD,MAAE,SAAS,MAAM,KAAK,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAE,IAAG,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,OAAO,SAAS,4BAA4B,EAAE,MAAM,EAAG,CAAA;AAAA,EACxJ;AAAA,EACD,gBAAgB,GAAG,IAAI,CAAA,GAAIA,GAAG;AAC5B,UAAMC,IAAI,CAAC,EAAE,YAAY,EAAG,GAAE,CAAC;AAC/B,WAAO,KAAK,WAAW,KAAKA,CAAC,GAAG,KAAK,OAAO,SAAS,6BAA6B,EAAE,MAAM,KAAI,CAAE,GAAG,MAAM;AACvG,UAAID,GAAG;AACL,cAAMM,IAAI,KAAK,WAAW,QAAQL,CAAC;AACnC,QAAAK,IAAI,OAAO,KAAK,WAAW,OAAOA,GAAG,CAAC,GAAG,KAAK,OAAO,SAAS,6BAA6B,EAAE,MAAM,KAAM,CAAA;AAAA,MAC1G;AAAA,IACP;AAAA,EACG;AAAA,EACD,gBAAgB,GAAG,IAAI,CAAA,GAAIN,GAAG;AAC5B,UAAMC,IAAI,CAAC,EAAE,YAAY,EAAG,GAAE,CAAC;AAC/B,WAAO,KAAK,WAAW,KAAKA,CAAC,GAAG,KAAK,OAAO,SAAS,6BAA6B,EAAE,MAAM,KAAI,CAAE,GAAG,MAAM;AACvG,UAAID,GAAG;AACL,cAAMM,IAAI,KAAK,WAAW,QAAQL,CAAC;AACnC,QAAAK,IAAI,OAAO,KAAK,WAAW,OAAOA,GAAG,CAAC,GAAG,KAAK,OAAO,SAAS,6BAA6B,EAAE,MAAM,KAAM,CAAA;AAAA,MAC1G;AAAA,IACP;AAAA,EACG;AAAA,EACD,YAAY,GAAG,IAAI,CAAA,GAAIN,GAAG;AACxB,UAAMC,IAAI,CAAC,EAAE,QAAQ,EAAG,GAAE,CAAC;AAC3B,WAAO,KAAK,WAAW,KAAKA,CAAC,GAAG,KAAK,OAAO,SAAS,yBAAyB,EAAE,MAAM,KAAI,CAAE,GAAG,MAAM;AACnG,UAAI,CAACD;AACH;AACF,YAAMM,IAAI,KAAK,WAAW,QAAQL,CAAC;AACnC,MAAAK,IAAI,OAAO,KAAK,WAAW,OAAOA,GAAG,CAAC,GAAG,KAAK,OAAO,SAAS,yBAAyB,EAAE,MAAM,KAAM,CAAA;AAAA,IAC3G;AAAA,EACG;AAAA,EACD,aAAa,GAAG,IAAI,CAAA,GAAIN,GAAG;AACzB,UAAMC,IAAI,CAAC,EAAE,SAAS,EAAG,GAAE,CAAC;AAC5B,WAAO,KAAK,WAAW,KAAKA,CAAC,GAAG,KAAK,OAAO,SAAS,0BAA0B,EAAE,MAAM,KAAI,CAAE,GAAG,MAAM;AACpG,UAAI,CAACD;AACH;AACF,YAAMM,IAAI,KAAK,WAAW,QAAQL,CAAC;AACnC,MAAAK,IAAI,OAAO,KAAK,WAAW,OAAOA,GAAG,CAAC,GAAG,KAAK,OAAO,SAAS,0BAA0B,EAAE,MAAM,KAAM,CAAA;AAAA,IAC5G;AAAA,EACG;AAAA,EACD,YAAY,IAAI,WAAW;AACzB,UAAM,IAAI,KAAK,SAAS,CAAC,KAAK,CAAA;AAC9B,WAAO,EAAE,OAAO,CAACN,GAAGC,GAAGK,MAAM;AAC3B,YAAM,EAAE,OAAO,IAAIA,EAAG,IAAGL,EAAE,WAAW;AACtC,aAAOD,EAAE,CAAC,IAAIA,EAAE,OAAO,GAAG,GAAGC,CAAC,IAAID,EAAE,CAAC,IAAIC,GAAGD;AAAA,IAC7C,GAAE,MAAM,EAAE,MAAM,CAAC;AAAA,EACnB;AAAA,EACD,SAAS;AACP,SAAK,UAAU,KAAK,OAAO,YAAY,IAAI;AAAA,EAC5C;AAAA,EACD,YAAY,GAAG;AACb,WAAO,KAAK,KAAK,QAAQ,EAAE,QAAQ,CAAC,MAAM;AACxC,YAAMA,IAAI,KAAK,SAAS,CAAC,GAAGC,IAAID,EAAE,QAAQ,CAAC;AAC3C,MAAAC,IAAI,OAAOD,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAK,OAAO,SAAS,2BAA2B,EAAE,MAAM,GAAG,YAAY,KAAM,CAAA;AAAA,IAC9G,CAAK,GAAG,OAAO,EAAE;AAAA,EACd;AACH;AACA,MAAM8C,KAAK,CAAClD,GAAGC,GAAGC,MAAM;AACtB,WAASC,IAAI,GAAGC,IAAIJ,EAAE,QAAQG,IAAIC,KAAKF,EAAEF,EAAEG,CAAC,CAAC,MAAM,IAAIA,KAAK;AAC1D,UAAMM,IAAIR,EAAED,EAAEG,CAAC,EAAE,EAAE,KAAK,WAAWO,IAAIV,EAAEG,CAAC,EAAE,YAAYM,CAAC;AACzD,IAAAyC,GAAGxC,GAAGT,GAAGC,CAAC;AAAA,EACX;AACH,GAAGiD,KAAK,CAACnD,GAAGC,GAAGC,MAAM;AACnB,MAAIA,EAAEF,CAAC,MAAM,IAAI;AACf,UAAMG,IAAIF,EAAED,EAAE,EAAE,KAAK,WAAWI,IAAIJ,EAAE,SAASG,CAAC;AAChD,IAAA+C,GAAG9C,GAAGH,GAAGC,CAAC;AAAA,EACX;AACH,GAAGkD,IAAK,CAACpD,GAAGC,MAAM;AAChB,QAAMC,IAAI,CAAA;AACV,SAAOiD,GAAGnD,GAAGC,GAAG,CAACE,MAAM;AACrB,IAAAD,EAAE,KAAKC,CAAC;AAAA,EACT,CAAA,GAAGD;AACN,GAAGmD,KAAK,CAACrD,GAAGC,GAAGC,MAAM;AACnB,MAAIC;AACJ,SAAOgD,GAAGnD,GAAGC,GAAG,CAACG,MAAM;AACrB,QAAIF,EAAEE,CAAC;AACL,aAAOD,IAAIC,GAAG;AAAA,EACjB,CAAA,GAAGD;AACN;AACA,IAAImD,KAAK,MAAM;AAAA,EACb,YAAY,GAAG,GAAGnD,GAAG;AACnB,SAAK,OAAO,GAAG,KAAK,WAAW,GAAG,KAAK,MAAM,CAAA,GAAI,KAAK,UAAU,IAAI,KAAK,WAAW,IAAIA,EAAE,UAAU,4BAA4B,CAACC,GAAGK,MAAM;AACxI,WAAK,IAAI,KAAKA,EAAE,IAAI,GAAG,KAAK,UAAU2C,EAAG,GAAG,CAAC;AAAA,IACnD,CAAK,GAAGjD,EAAE,UAAU,2BAA2B,CAACC,GAAGK,MAAM;AACnD,UAAI,IAAI,KAAK,IAAI,QAAQA,EAAE,IAAI;AAC/B,UAAI,MAAM,KAAK,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,KAAK,QAAQ,QAAQA,EAAE,IAAI,GAAG,IAAI,MAAM,KAAK,QAAQ,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU2C,EAAG,GAAG,CAAC;AAAA,IACpI,CAAK,GAAGjD,EAAE,UAAU,4BAA4B,CAACC,GAAGK,MAAM;AACpD,WAAK,UAAU2C,EAAG,GAAG,CAAC;AAAA,IAC5B,CAAK;AAAA,EACF;AAAA,EACD,MAAM,IAAI,IAAI;AACZ,UAAM,IAAI,CAAA;AACV,WAAOD,GAAG,KAAK,MAAM,KAAK,UAAU,CAAChD,MAAM;AACzC,aAAO,KAAK,CAAC,EAAE,MAAM,CAACC,MAAM,EAAEA,CAAC,MAAMD,EAAEC,CAAC,CAAC,KAAK,EAAE,KAAKD,CAAC;AAAA,IACvD,CAAA,GAAG;AAAA,EACL;AAAA,EACD,IAAI,GAAG;AACL,WAAOkD,GAAG,KAAK,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,EAC/F;AACH,GAAGE,KAAK,MAAM;AAAA,EACZ,cAAc;AACZ,SAAK,WAA2B,oBAAI;EACrC;AAAA,EACD,IAAI,GAAG,GAAG;AACR,SAAK,SAAS,IAAI,GAAG,CAAC;AAAA,EACvB;AAAA,EACD,IAAI,GAAG;AACL,WAAO,KAAK,SAAS,IAAI,CAAC;AAAA,EAC3B;AACH;AACA,MAAMC,KAAK,CAACxD,MAAM;AAChB,MAAIC,IAAID,GAAGE,IAAI;AACf,SAAOD,EAAE;AACP,IAAAC,IAAIA,IAAI,GAAGD,IAAIA,EAAE;AACnB,SAAOC;AACT,GAAGuD,KAAK,CAACzD,MAAMA,EAAE,IAAI,CAAC,CAACC,GAAGC,CAAC,MAAM,CAACsD,GAAGvD,CAAC,GAAGA,GAAGC,CAAC,CAAC,EAAE,KAAK,CAAC,CAACD,CAAC,GAAG,CAACC,CAAC,MAAMD,IAAIC,CAAC,EAAE,IAAI,CAAC,CAAG,EAAAD,GAAGC,CAAC,MAAM,CAACD,GAAGC,CAAC,CAAC,GAAGwD,IAAK,CAAC1D,MAAMA,aAAa,OAAO,KAAKA,KAAK,OAAOA,KAAK,YAAY,CAAC,MAAM,QAAQA,CAAC,GAAG2D,IAAI,CAAC3D,MAAMC,MAAM;AACzM,MAAI,CAACA,EAAE;AACL,WAAOD;AACT,QAAME,IAAID,EAAE;AACZ,MAAIyD,EAAG1D,CAAC,KAAK0D,EAAGxD,CAAC;AACf,eAAWC,KAAKD;AACd,MAAAwD,EAAGxD,EAAEC,CAAC,CAAC,KAAKH,EAAEG,CAAC,KAAK,OAAO,OAAOH,GAAG,EAAE,CAACG,CAAC,GAAG,CAAA,EAAI,CAAA,GAAGwD,EAAE3D,EAAEG,CAAC,GAAGD,EAAEC,CAAC,CAAC,KAAK,OAAO,OAAOH,GAAG,EAAE,CAACG,CAAC,GAAGD,EAAEC,CAAC,EAAG,CAAA;AACtG,SAAOwD,EAAE3D,GAAG,GAAGC,CAAC;AAClB,GAAG2D,KAAK,CAAC5D,GAAGC,MAAM,CAACD,KAAKA,MAAM,QAAQ,KAAKA,EAAE,KAAK,CAACE,MAAMD,EAAE,QAAQC,CAAC,IAAI,EAAE,GAAG2D,KAAK,CAAC7D,GAAGC,MAAM;AAC1F,MAAIC,IAAI,CAAE,GAAEC,IAAI,CAAA,GAAIC;AACpB,QAAMK,IAAI,MAAM;AACd,YAAQ,IAAI,aAAa,gBAAgB,QAAQ,KAAK,uBAAuB;AAC7E,UAAM,IAAoB,oBAAI,OAAO,IAAIgD,GAAGvD,EAAE,IAAI,CAACe,GAAG,MAAM,CAACA,GAAGd,EAAE,CAAC,CAAC,CAAC,CAAC,GAAGa,IAAI,CAACC,GAAG,MAAM;AACrF,UAAI;AACJ,YAAMC,IAAI,EAAE,IAAID,CAAC,KAAK,IAAI8B,IAAI,EAAE,WAAW,CAAC7B,EAAE,SAAS8B,IAAI,EAAE,cAAc,CAAC9B,EAAE,YAAY4C,IAAI,EAAE,UAAU,CAAC5C,EAAE;AAC7G,QAAE,IAAID,GAAG;AAAA,QACP,SAASC,EAAE,WAAW6B;AAAA,QACtB,YAAY7B,EAAE,cAAc8B;AAAA,QAC5B,QAAQ9B,EAAE,UAAU4C;AAAA,MACrB,CAAA,GAAGd,MAAM/B,EAAE,WAAW,aAAa,CAAE,IAAG6C,MAAM7C,EAAE,WAAW,SAAS,CAAE,IAAG8B,MAAM9B,EAAE,WAAW,UAAU0C,EAAE,CAAE,IAAG,IAAI1C,EAAE,WAAW,OAAO,SAAS,EAAE,WAAW,OAAO;AACnK,YAAM8C,KAAI,CAAA,GAAIC,KAAI,CAAA,GAAIC,KAAI,CAAA;AAC1B,UAAIhD,EAAE,WAAW,QAAQ,CAACiD,MAAM;AAC9B,cAAM,CAACC,GAAGC,CAAC,IAAIF;AACf,QAAAN,GAAGQ,EAAE,aAAapE,EAAE,WAAW,MAAMgD,MAAM,OAAOmB,EAAE,cAAc,aAAaJ,GAAE;AAAA,UAC/EI,EAAE;AAAA,QACZ,IAAYR,EAAE1C,EAAE,WAAW,YAAYkD,EAAE,UAAU,IAAIL,MAAM,OAAOK,EAAE,UAAU,aAAaH,GAAE,KAAKG,EAAE,MAAM,IAAIR,EAAE1C,EAAE,WAAW,QAAQkD,EAAE,MAAM,IAAIpB,MAAM,OAAOoB,EAAE,WAAW,aAAaF,GAAE,KAAKE,EAAE,OAAO,IAAIR,EAAE1C,EAAE,WAAW,SAASkD,EAAE,OAAO;AAAA,MACxO,CAAA,GAAGJ,GAAE,QAAQ,CAACG,MAAM;AACnB,QAAAP,EAAE1C,EAAE,WAAW,YAAYiD,EAAEjD,EAAE,WAAW,UAAU,CAAC;AAAA,MACtD,CAAA,GAAG+C,GAAE,QAAQ,CAACE,MAAM;AACnB,QAAAP,EAAE1C,EAAE,WAAW,QAAQiD,EAAEjD,EAAE,WAAW,MAAM,CAAC;AAAA,MAC9C,CAAA,GAAGgD,GAAE,QAAQ,CAACC,MAAM;AACnB,QAAAP,EAAE1C,EAAE,WAAW,SAASiD,EAAEjD,EAAE,WAAW,OAAO,CAAC;AAAA,MACvD,CAAO,GAAG8B,KAAK,EAAE,WAAW;AACpB,cAAMmB,IAAIlE,EAAE,UAAUiB,CAAC,GAAGkD,IAAI,EAAE,YAAY,IAAI;AAAA,UAC9C,SAAS,CAAC,CAACpB;AAAA,QACrB;AACQ,QAAA9B,EAAE,YAAYiD,CAAC,EAAE,QAAQ,CAACE,MAAM;AAC9B,UAAApD,EAAEoD,GAAGD,CAAC;AAAA,QAChB,CAAS;AAAA,MACF;AAAA,IACP;AACI,YAAQ,IAAI,aAAa,gBAAgB,QAAQ,QAAQ,uBAAuB,GAAG,EAAE,QAAQ,CAAC,CAAClD,GAAG,CAAC,MAAM;AACvG,MAAAD,EAAEC,GAAG,CAAC;AAAA,IACZ,CAAK,GAAGf,IAAI,IAAIC,IAAI,CAAA,GAAIF,EAAE,CAAC;AAAA,EACxB,GAAES,IAAI,MAAM;AACX,iBAAaN,CAAC,GAAGA,IAAI,WAAWK,GAAG,CAAC;AAAA,EACxC;AACE,SAAO,CAAC,GAAG,MAAM;AACf,UAAMO,IAAId,EAAE,QAAQ,CAAC;AACrB,QAAIc,IAAI,IAAI;AACV,YAAMC,IAAId,EAAEa,CAAC;AACb,aAAO,EAAE,YAAYC,EAAE,UAAU,KAAK,EAAE,eAAeA,EAAE,aAAa,KAAK,EAAE,WAAWA,EAAE,SAAS,KAAK,EAAE,cAAcA,EAAE,YAAY,KAAKP,EAAC;AAAA,IAC7I;AACD,WAAOR,EAAE,KAAK,CAAC,GAAGC,EAAE,KAAK,CAAC,GAAGO;EACjC;AACA;AACA,IAAI2D,KAAK,MAAM;AAAA,EACb,YAAY,GAAG,IAAI,IAAI;AACrB,SAAK,YAAY,GAAG,KAAK,cAAc,CAAE,GAAE,KAAK,eAAe,EAAE,UAAU,CAAE,GAAE,UAAU,CAAE,EAAA,GAAI,KAAK,WAAW,CAAE,GAAE,KAAK,aAAa,CAAE,GAAE,KAAK,gBAAgB,CAAE,GAAE,KAAK,yBAAyB,IAAId,GAAE,GAAI,KAAK,SAAS,EAAE,OAAO,YAAY,IAAI;AACjP,UAAMpD,IAAI,IAAI8C,GAAG,KAAK,QAAQ,MAAM;AACpC,IAAA9C,EAAE,OAAO,QAAQ,EAAE,IAAI,IAAI,KAAK,QAAQ,IAAImD,GAAGnD,GAAG,KAAK,UAAU,KAAK,MAAM;AAC5E,UAAMC,IAAI,KAAK,cAAcyD,GAAG,MAAM,CAACpD,MAAM;AAC3C,YAAM,IAAI,MAAM,KAAKA,EAAE,KAAM,CAAA;AAC7B,cAAQ,IAAI,aAAa,gBAAgB,QAAQ,KAAK,oBAAoB,EAAE,MAAM;AAAA,EACtF,EAAE;AAAA,QACI,CAACI,MAAM,GAAGA,EAAE,QAAQ,WAAW,KAAKA,EAAE,EAAE;AAAA;AAAA,MAEzC,CAAA,EAAE,GAAG,EAAE,QAAQ,CAACA,MAAM;AACrB,cAAMC,IAAIL,EAAE,IAAII,CAAC;AACjB,QAAAA,EAAE,UAAUA,EAAE,OAAO,SAAS,UAAU,KAAK,OAAO,SAAS,oCAAoC,EAAE,MAAMA,EAAC,CAAE,GAAGC,KAAK,QAAQA,EAAE,WAAW,KAAK,OAAO,SAAS,8BAA8B,EAAE,MAAMD,GAAG,GAAGC,KAAK,QAAQA,EAAE,cAAc,KAAK,OAAO,SAAS,iCAAiC,EAAE,MAAMD,EAAG,CAAA,GAAGC,KAAK,QAAQA,EAAE,UAAU,KAAK,OAAO,SAAS,6BAA6B,EAAE,MAAMD,EAAG,CAAA;AAAA,MACzY,CAAO,GAAG,KAAK,OAAO,SAAS,0CAA0C,CAAE,GAAE,EAAE,SAAS,GAAE,CAAE;AAAA,IAC5F,CAAK;AACD,YAAQ;AAAA,MACN,OAAO,KAAK,CAAC,EAAE,IAAI,CAACJ,MAAM,EAAEA,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IAC/C,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO;AAAA,QACV;AAAA,QACA,CAACA,GAAG,MAAM;AACR,gBAAM,EAAE,MAAMI,EAAG,IAAG;AACpB,eAAK,WAAW,QAAQ,CAACC,MAAM;AAC7B,kBAAM,EAAE,WAAWE,GAAG,QAAQC,GAAG,SAAS4B,EAAG,IAAG/B,GAAG,CAACgC,GAAG5B,CAAC,IAAIF;AAC5D,YAAAC,EAAE,MAAM,EAAE,IAAI,MAAM6B,EAAE,cAAcD,EAAE,KAAKhC,EAAE,gBAAgBiC,EAAE,YAAY5B,CAAC,CAAC,GAAG4B,EAAE,WAAWD,EAAE,KAAKhC,EAAE,aAAaiC,EAAE,SAAS5B,CAAC,CAAC,GAAG4B,EAAE,UAAUD,EAAE,KAAKhC,EAAE,YAAYiC,EAAE,QAAQ5B,CAAC,CAAC;AAAA,UAC5L,CAAW;AAAA,QACF;AAAA,MACF;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO;AAAA,QACV;AAAA,QACA,CAACT,GAAG,MAAM;AACR,UAAAL,EAAE,EAAE,MAAM,EAAE,YAAY,IAAI,SAAS,GAAE,CAAE;AAAA,QAC1C;AAAA,MACF;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO;AAAA,QACV;AAAA,QACA,CAACK,GAAG,MAAM;AACR,UAAAL,EAAE,EAAE,MAAM,EAAE,YAAY,GAAE,CAAE;AAAA,QAC7B;AAAA,MACF;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO;AAAA,QACV;AAAA,QACA,CAACK,GAAG,MAAM;AACR,UAAAL,EAAE,EAAE,MAAM,EAAE,YAAY,IAAI,SAAS,GAAE,CAAE;AAAA,QAC1C;AAAA,MACF;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO;AAAA,QACV;AAAA,QACA,CAACK,GAAG,MAAM;AACR,UAAAL,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAE;AAAA,QACzB;AAAA,MACF;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO;AAAA,QACV;AAAA,QACA,CAACK,GAAG,MAAM;AACR,UAAAL,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAE;AAAA,QACzB;AAAA,MACF;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO,UAAU,4BAA4B,CAACK,GAAG,EAAE,MAAM,GAAG,QAAQI,QAAQ;AAC/E,QAAAT,EAAE,GAAG;AAAA,UACH,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,SAAS;AAAA,QACnB,CAAS;AAAA,MACT,CAAO;AAAA,IACP,GAAO,KAAK,cAAc;AAAA,MACpB,KAAK,OAAO,UAAU,2BAA2B,CAACK,GAAG,EAAE,YAAY,QAAQ;AACzE,QAAAL,EAAE,GAAG,EAAE,YAAY,GAAI,CAAA;AAAA,MAC/B,CAAO;AAAA,IACF,GAAE,KAAK,OAAO,UAAU,KAAK,OAAO,OAAO,SAAS,+BAA+B,EAAE,UAAU,KAAM,CAAA;AAAA,EACvG;AAAA,EACD,OAAO,YAAY,GAAG;AACpB,WAAO,EAAE,SAAS,YAAY;AAAA,EAC/B;AAAA,EACD,cAAc,GAAG;AACf,SAAK,YAAY,QAAQ,CAAC,MAAM,OAAO,KAAK,YAAY,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,MAAM,MAAM;AAAA,MACjG,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,IACZ,CAAA;AAAA,EACF;AAAA,EACD,iBAAiB,GAAG;AAClB,UAAM,IAAI,KAAK,YAAY,QAAQ,CAAC;AACpC,QAAI,OAAO,KAAK,YAAY,OAAO,GAAG,CAAC,GAAG,KAAK,YAAY,KAAK,MAAM,MAAM;AAAA,MAC1E,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,IACZ,CAAA;AAAA,EACF;AAAA,EACD,UAAU,GAAG,GAAG;AACd,SAAK,SAAS,EAAE,EAAE,IAAI,GAAG,KAAK,OAAO,SAAS,4BAA4B,EAAE,MAAM,GAAG,QAAQ,EAAC,CAAE;AAAA,EACjG;AAAA,EACD,UAAU,GAAG;AACX,WAAO,KAAK,SAAS,EAAE,EAAE;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKD,WAAW,GAAG,IAAI,IAAI;AACpB,UAAMD,IAAI,IAAI8C,GAAG,KAAK,QAAQ,CAAC;AAC/B,WAAO,EAAE,YAAY,KAAK,MAAM,SAAS,KAAK9C,CAAC,GAAGA;AAAA,EACnD;AAAA,EACD,aAAa;AACX,WAAO,IAAIqC,GAAG,IAAI;AAAA,EACnB;AAAA,EACD,QAAQ,GAAG,GAAG;AACZ,WAAO,IAAIG,GAAG,MAAM,GAAG,CAAC;AAAA,EACzB;AAAA,EACD,MAAM,GAAG;AACP,UAAM,EAAE,UAAU,GAAG,QAAQxC,GAAG,YAAYC,GAAG,SAASK,IAAI,CAAA,GAAI,WAAW,EAAG,IAAG,GAAGI,IAAI,EAAE,OAAOgB,EAAI,GAAEf,IAAI,EAAE,WAAW,CAACV,GAAGK,CAAC,GAAG,QAAQN,GAAG,SAAS,CAAE,EAAA;AACtJ,QAAI,GAAG;AACL,YAAMa,IAAI,KAAK,UAAU,CAAC;AAC1B,MAAAA,EAAE,MAAMH,GAAGV,GAAGC,GAAGK,CAAC,GAAGK,EAAE,QAAQ,KAAK,MAAM;AACxC,QAAAE,EAAE,OAAOH,CAAC;AAAA,MAClB,CAAO;AAAA,IACF;AACD,WAAO,KAAK,WAAW,KAAKC,CAAC,GAAG,KAAK,MAAM,IAAI,QAAQ,CAACE,MAAM;AAC5D,UAAIb,EAAE,MAAMa,CAAC,GAAG;AACd,YAAIC,IAAI,MAAM;AAAA,QACtB;AACQ,QAAAb,EAAE,eAAea,IAAID,EAAE,gBAAgBZ,EAAE,YAAYK,GAAG,CAAC,IAAIL,EAAE,YAAYa,IAAID,EAAE,aAAaZ,EAAE,SAASK,GAAG,CAAC,IAAIL,EAAE,WAAWa,IAAID,EAAE,aAAaZ,EAAE,QAAQK,GAAG,CAAC,IAAIK,EAAE,QAAQ,KAAKG,CAAC;AAAA,MACpL;AAAA,IACF,CAAA,GAAG,MAAM;AACR,UAAI,GAAG;AACL,QAAAH,EAAE,QAAQ,QAAQ,CAACG,MAAMA,EAAG,CAAA;AAC5B,cAAMD,IAAI,KAAK,WAAW,QAAQF,CAAC;AACnC,QAAAE,IAAI,MAAM,KAAK,WAAW,OAAOA,GAAG,CAAC;AAAA,MACtC;AAAA,IACP;AAAA,EACG;AAAA,EACD,oBAAoB,GAAG,GAAG;AACxB,SAAK,uBAAuB,IAAI,GAAG,CAAC;AAAA,EACrC;AAAA,EACD,oBAAoB,GAAG;AACrB,WAAO,KAAK,uBAAuB,IAAI,CAAC;AAAA,EACzC;AAAA,EACD,UAAU;AACR,SAAK,cAAc,QAAQ,CAAC,MAAM,EAAG,CAAA;AAAA,EACtC;AACH;AACK,MAmEDsD,KAAK,CAACtE,GAAGC,GAAGC,GAAGC,IAAI0B,EAAI,GAAEzB,IAAI,CAAE,MAAKJ,EAAE,SAAS,YAAY,EAAE,KAAK,CAACS,MAAM;AAC3E,MAAIC;AACJ,MAAI,OAAOT,KAAK,UAAU;AACxB,UAAMe,IAAI,IAAIwB,GAAG/B,CAAC;AAClB,IAAAO,EAAE,OAAOf,CAAC,GAAGS,IAAIM;AAAA,EAClB;AACC,IAAAN,IAAIT;AACN,QAAM,IAAI,CAAA,GAAI,IAAI,CAACe,MAAM;AACvB,UAAMC,IAAI,EAAED,EAAE,EAAE;AAChB,WAAOC,IAAI,QAAQ,QAAQA,EAAE,UAAU,IAAIoD,GAAG,YAAYrE,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI0C,GAAG,GAAG1B,GAAGb,CAAC,CAAC;AAAA,EAC5F;AACE,EAAAM,EAAE,OAAO;AAAA,IACP;AAAA,IACA,CAACO,GAAG,EAAE,MAAMC,QAAQ;AAClB,MAAAP,EAAE,MAAMO,CAAC,KAAK,EAAEA,CAAC,EAAE,KAAK,CAAC,MAAM;AAC7B,gBAAQ,QAAQf,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM;AAChC,YAAEe,EAAE,EAAE,IAAI;AAAA,YACR,SAAS;AAAA,YACT,YAAY;AAAA,UACxB;AAAA,QACA,CAAS;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL,GAAKR,EAAE,OAAO;AAAA,IACV;AAAA,IACA,CAACO,GAAG,EAAE,MAAMC,QAAQ;AAClB,YAAM,IAAI,EAAEA,EAAE,EAAE;AAChB,YAAM,EAAE,WAAW,EAAE,QAAO,GAAIb,EAAE,oBAAoB,EAAE,WAAW,QAAO,GAAI,OAAO,EAAEa,EAAE,EAAE;AAAA,IAC5F;AAAA,EACL;AACA,CAAC;AA0DD,QAAQ,IAAI;AA4ET,IAmRAsD,KAAK,OAAO,gBAAgBC,KAAK,OAAO,uBAAuBC,KAAK,OAAO,UAAU,gBAAgBC,KAAK,OAAO,UAAU,sBAAsBC,KAAK,CAAC3E,GAAGC,GAAGC,MAAMD,KAAKD,IAAIuE,GAAGvE,GAAGC,GAAG,EAAE,YAAY,IAAI,cAAc,IAAI,UAAU,IAAI,OAAOC,EAAC,CAAE,IAAIF,EAAEC,CAAC,IAAIC,GAAG0E,IAAK,CAAC5E,GAAGC,MAAM;AAC/Q,WAASC,KAAKD,MAAMA,IAAI,CAAA;AACtB,IAAAwE,GAAG,KAAKxE,GAAGC,CAAC,KAAKyE,GAAG3E,GAAGE,GAAGD,EAAEC,CAAC,CAAC;AAChC,MAAIsE;AACF,aAAStE,KAAKsE,GAAGvE,CAAC;AAChB,MAAAyE,GAAG,KAAKzE,GAAGC,CAAC,KAAKyE,GAAG3E,GAAGE,GAAGD,EAAEC,CAAC,CAAC;AAClC,SAAOF;AACT,GAeI6E,IAAqB,kBAAC7E,OAAOA,EAAE,SAAS,UAAUA,EAAE,QAAQ,SAASA,EAAE,UAAU,WAAWA,IAAI6E,KAAK,EAAE,GAAGC,KAAsB,kBAAC9E,OAAOA,EAAE,SAAS,UAAUA,EAAE,iBAAiB,kBAAkBA,EAAE,SAAS,UAAUA,IAAI8E,MAAM,CAAA,CAAE,GAAGC,IAAqB,kBAAC/E,OAAOA,EAAE,YAAY,aAAaA,EAAE,aAAa,cAAcA,EAAE,aAAa,cAAcA,EAAE,YAAY,aAAaA,IAAI+E,KAAK,CAAA,CAAE;AAClY,MAAMC,KAAI,CAAChF,GAAGC,GAAGC,GAAGC,IAAI,CAAE,MAAK8E,GAAGjF,GAAGE,CAAC,EAAE,KAAK,CAACE,OAAO,QAAQ,IAAI,aAAa,gBAAgBA,KAAKiB,EAAE;AAAA,EACnG;AAAA,2BACyBpB,CAAC;AAAA,gCACI,KAAK,UAAUC,CAAC,CAAC;AAAA,+BAClB,KAAK,UAAUC,CAAC,CAAC;AAChD,GAAG,CAACM,OAAOyE,GAAGlF,CAAC,GAAGiF,GAAGjF,GAAGE,CAAC,EAAE,KAAK,CAACQ,MAAM;AACrC,MAAIA,GAAG;AACL,YAAQ,IAAI,aAAa,gBAAgBW,EAAE;AAAA,MACzC;AAAA,uCACiCpB,CAAC;AAAA,4CACI,KAAK,UAAUC,CAAC,CAAC;AAAA,yCACpB,KAAK,UAAUO,CAAC,CAAC;AAAA,2CACf,KAAK,UAAUN,CAAC,CAAC;AAAA,IAC5D;AACI;AAAA,EACD;AACD,QAAM;AAAA,IACJ,OAAO,IAAI2E,GAAG;AAAA,IACd,QAAQ,IAAID,EAAE;AAAA,IACd,UAAU7D;AAAA,EACd,IAAMb,GAAGc,IAAIkE;AACX,SAAOlE,EAAE,CAAC,EAAEhB,CAAC,IAAImF,GAAG3E,GAAGP,GAAGc,CAAC,GAAG,MAAM6D,EAAE,SAASQ,GAAGrF,GAAGiB,CAAC,IAAIqE,GAAGtF,GAAG,GAAGiB,CAAC;AACtE,CAAC,GAAG,GAAGsE,KAAI,CAACvF,GAAGC,GAAGC,IAAI2E,EAAE,aAAaK,GAAGlF,CAAC,GAAG,OAAOC,KAAK,eAAe,QAAQ,IAAI,aAAa,gBAAgBoB,EAAE,KAAK,4DAA4DpB,GAAGC,CAAC,GAAG,QAAQ,QAAQ,MAAM,KAAKA,MAAM2E,EAAE,SAASW,GAAGxF,CAAC,EAAE,KAAK,CAACG,MAAMsF,EAAGtF,GAAGF,CAAC,CAAC,IAAIyF,GAAG1F,GAAGE,CAAC,EAAE,KAAK,CAACC,MAAMsF,EAAGtF,GAAGF,CAAC,CAAC,IAAI0F,IAAK,CAAC3F,MAAM,CAAC,CAAC,OAAO,QAAQA,CAAC,EAAE,OAAO,CAAC,CAACC,GAAGC,CAAC,MAAM,OAAOA,KAAK,WAAW,EAAE,QAAQ0F,IAAK,CAAC5F,MAAM,OAAO,QAAQA,CAAC,EAAE,OAAO,CAAC,CAACC,GAAGC,CAAC,MAAM,OAAOA,KAAK,WAAW,EAAE,QAAQ,CAAC,CAACD,GAAG,EAAE,OAAOC,EAAC,CAAE,MAAM;AAChe,SAAOA,KAAK,eAAe,OAAOF,EAAEC,CAAC;AACvC,CAAC,GAAG4F,KAAK,CAAC7F,GAAGC,MAAM;AACjB,QAAMC,IAAI;AAAA,IACR,QAAQ0E,EAAGA,EAAG,CAAE,GAAE5E,EAAE,MAAM,GAAGC,EAAE,MAAM;AAAA,IACrC,gBAAgB2E,EAAGA,EAAG,CAAE,GAAE5E,EAAE,cAAc,GAAGC,EAAE,cAAc;AAAA,IAC7D,QAAQ2E,EAAGA,EAAG,CAAE,GAAE5E,EAAE,MAAM,GAAGC,EAAE,MAAM;AAAA,EACzC;AACE,SAAO2F,EAAG1F,EAAE,MAAM,GAAG0F,EAAG1F,EAAE,cAAc,GAAG0F,EAAG1F,EAAE,MAAM,GAAGA;AAC3D,GAAG4F,KAAK,CAAC9F,MAAM,OAAO,QAAQA,CAAC,EAAE,OAAO,CAACC,GAAGC,MAAM;AAChD,QAAM,CAACC,GAAGC,CAAC,IAAIF;AACf,SAAO,OAAO,QAAQE,CAAC,EAAE,QAAQ,CAACK,MAAM;AACtC,UAAM,CAACC,GAAG,EAAE,YAAY,EAAG,CAAA,IAAID;AAC/B,SAAKR,EAAE,KAAK,CAAC;AAAA,EACd,CAAA,GAAGA;AACN,GAAG,CAAE,CAAA,EAAE,MAAK,EAAG,KAAK,CAACA,GAAGC,MAAM,IAAI,KAAKA,CAAC,EAAE,YAAY,IAAI,KAAKD,CAAC,EAAE,SAAS,EAAE,MAAO,KAAI8F,GAAI,GAAEC,IAAK,CAAChG,MAAM;AACxG,QAAM;AAAA,IACJ,MAAMC;AAAA,IACN,gBAAgB,EAAE,MAAMC,GAAG,QAAQC,EAAG;AAAA,EAC1C,IAAMH,EAAE,IAAI,SAAS;AACnB,SAAO;AAAA,IACL,UAAUG,CAAC;AAAA,IACX,UAAUqB,GAAGrB,IAAID,CAAC,CAAC;AAAA,IACnB,UAAUsB,GAAGrB,IAAID,IAAID,CAAC,CAAC;AAAA,EAC3B;AACA,GAAGgG,IAAK,CAACjG,MAAM;AACb,QAAMC,IAAI,IAAI,OAAO,cAAcD,CAAC,iBAAiB,GAAG,GAAGE,IAAI,SAAS,OAAO,MAAMD,CAAC;AACtF,SAAOC,KAAKA,EAAE,CAAC,KAAK,KAAK,MAAMA,EAAE,CAAC,CAAC,KAAK;AAC1C,GAAGgG,IAAK,CAAClG,GAAGC,GAAGC,MAAM;AACnB,QAAMC,IAAI,GAAGH,CAAC,IAAI,KAAK,UAAUC,CAAC,EAAE,KAAM,CAAA,IAAIG,IAAI,WAAW,IAAI,KAAKF,CAAC,EAAE,YAAW,CAAE,IAAIO,IAAI,UAAUC,IAAI;AAC5G,SAAO,SAAS,SAAS,GAAGP,CAAC,KAAKC,CAAC,KAAKK,CAAC,KAAKC,CAAC;AACjD,GAAGyF,KAAK,CAACnG,MAAM;AACb,QAAM,CAACC,GAAGC,GAAGC,CAAC,IAAI6F,EAAGhG,CAAC,GAAGI,IAAI6F,EAAGhG,CAAC,KAAK,CAAA,GAAIQ,IAAIwF,EAAG/F,CAAC,KAAK,CAAA,GAAIQ,IAAIuF,EAAG9F,CAAC,KAAK;AACxE,SAAO;AAAA,IACL,QAAQC;AAAA,IACR,gBAAgBK;AAAA,IAChB,QAAQC;AAAA,EACZ;AACA,GAAG0F,KAAK,CAACpG,GAAGC,MAAM;AAChB,QAAMC,IAAIiG,GAAGnG,CAAC,GAAGG,IAAI0F,GAAG3F,GAAGD,CAAC,GAAG,CAACG,GAAGK,GAAGC,CAAC,IAAIsF,EAAGhG,CAAC,GAAG,EAAE,QAAQ,GAAG,gBAAgB,GAAG,QAAQgB,EAAG,IAAGb,GAAGc,IAAI6E,GAAG7F,CAAC,GAAG,IAAI8F,GAAG,EAAE,MAAM,GAAE,CAAE;AACjI,EAAAG,EAAG9F,GAAG,GAAGuF,EAAG,CAAC,IAAI1E,IAAI,CAAC,GAAGiF;AAAA,IACvBzF;AAAA,IACA;AAAA,IACAkF,EAAG,CAAC,IAAI1E,IAAI;AAAA,EAChB,GAAKiF,EAAGxF,GAAGM,GAAG2E,EAAG3E,CAAC,IAAIC,IAAI,CAAC;AAC3B,GAAGoF,IAAK,CAACrG,GAAGC,MAAM;AAChB,QAAM,CAACC,GAAGC,GAAGC,CAAC,IAAI4F,EAAGhG,CAAC,GAAGS,IAAIR,EAAE,QAAQC,CAAC,KAAK,MAAMQ,IAAIT,EAAE,QAAQE,CAAC,KAAK,MAAM,IAAIF,EAAE,QAAQG,CAAC,KAAK;AACjG,SAAO;AAAA,IACL,QAAQ,KAAK,MAAMK,CAAC;AAAA,IACpB,gBAAgB,KAAK,MAAMC,CAAC;AAAA,IAC5B,QAAQ,KAAK,MAAM,CAAC;AAAA,EACxB;AACA,GAAG4F,IAAK,CAACtG,GAAGC,GAAGC,MAAM;AACnB,QAAMC,IAAIkG,EAAGrG,GAAGC,CAAC,GAAGG,IAAIyF,GAAG1F,GAAGD,CAAC,GAAG,CAACO,GAAGC,GAAG,CAAC,IAAIsF,EAAGhG,CAAC,GAAG,EAAE,QAAQ,GAAG,gBAAgBgB,GAAG,QAAQC,EAAC,IAAKb;AACnG,EAAAuF,EAAG,CAAC,IAAI1F,EAAE,QAAQQ,GAAG,KAAK,UAAU,CAAC,CAAC,IAAIR,EAAE,WAAWQ,CAAC,GAAGkF,EAAG3E,CAAC,IAAIf,EAAE,QAAQS,GAAG,KAAK,UAAUM,CAAC,CAAC,IAAIf,EAAE,WAAWS,CAAC,GAAGiF,EAAG1E,CAAC,IAAIhB,EAAE,QAAQ,GAAG,KAAK,UAAUgB,CAAC,CAAC,IAAIhB,EAAE,WAAW,CAAC;AAChL,GAAGkF,KAAK,OAAO,EAAE,QAAQ,CAAE,GAAE,gBAAgB,IAAI,QAAQ,CAAE,EAAA,IAAKoB,KAAK,CAACvG,MAAMA,IAAI,CAAC,CAACA,KAAqB,oBAAI,KAAI,IAAK,IAAI,KAAKA,CAAC,IAAI,IAAIyF,IAAK,CAACzF,GAAGC,MAAM;AACnJ,QAAMC,IAAIF,EAAE,OAAOC,CAAC,KAAKD,EAAE,eAAeC,CAAC,KAAKD,EAAE,OAAOC,CAAC;AAC1D,SAAOC,KAAK,OAAO,SAASA,EAAE;AAChC,GAAGkF,KAAK,CAACpF,GAAGC,GAAGC,MAAMA,IAAI;AAAA,EACvB,OAAOF;AAAA,EACP,UAAUC;AAAA,EACV,YAAY,OAAOC,KAAK,WAAW6F,GAAG7F,CAAC,IAAIA;AAC7C,IAAI;AAAA,EACF,OAAOF;AAAA,EACP,UAAUC;AACZ,GAAGuG,KAAK,CAACxG,GAAGC,MAAM;AAChB,QAAMC,IAAIqB,GAAGvB,CAAC;AACd,SAAO,OAAO,QAAQE,CAAC,EAAE,QAAQ,CAAC,CAACC,GAAGC,CAAC,MAAM;AAC3C,WAAO,QAAQA,CAAC,EAAE,QAAQ,CAAC,CAACK,GAAGC,CAAC,MAAM;AACpC,YAAM,EAAE,YAAY,GAAG,UAAU,EAAC,IAAKA;AACvC,OAAC6F,GAAG,CAAC,KAAKE,GAAGxG,GAAG,CAAC,OAAOG,EAAEK,CAAC,IAAI2E,GAAG,QAAQ,GAAG,CAAC;AAAA,IACpD,CAAK;AAAA,EACF,CAAA,GAAGlF;AACN,GAAG+E,KAAK,CAACjF,GAAGC,MAAMsF,GAAEvF,GAAG,iBAAiB6E,EAAE,MAAM,EAAE;AAAA,EAChD,CAAC3E,IAAI,CAAC6E,EAAE,SAAS,MAAM,CAAC,CAAC9E,KAAKC,EAAE,QAAQD,CAAC,MAAM;AACjD,GAAGwG,KAAK,CAACzG,IAAI,CAAC+E,EAAE,SAAS,GAAG9E,MAAM,CAAC,CAACA,KAAKD,EAAE,QAAQC,CAAC,MAAM,IAAIiF,KAAK,CAAClF,MAAM;AACxE,QAAMC,IAAIkG,GAAGnG,CAAC,GAAGE,IAAImG,EAAGrG,GAAG,OAAO,YAAY,GAAGG,IAAIkG,EAAGrG,GAAG,cAAc,GAAGI,IAAIqF,EAAGxF,GAAG,eAAe,GAAG,CAACQ,GAAGC,GAAG,CAAC,IAAI;AAAA,IAClHT;AAAA,IACAC;AAAA,IACAC;AAAA,EACJ,EAAI,IAAI,CAAC,MAAMqG,GAAG,GAAGpG,CAAC,CAAC;AACrB,EAAAgG,GAAGpG,GAAGS,CAAC,GAAG6F,EAAGtG,GAAG,OAAO,cAAcU,CAAC,GAAG4F,EAAGtG,GAAG,OAAO,gBAAgB,CAAC;AACzE,GAAG+F,KAAK,CAAC/F,IAAI,EAAE,MAAM,GAAE,MAAO;AAC5B,QAAM,EAAE,MAAMC,IAAI,GAAG,OAAOC,IAAI,GAAG,SAASC,IAAI,GAAG,SAASC,IAAI,EAAC,IAAKJ,GAAGS,IAAoB,oBAAI;AACjG,SAAOA,EAAE,QAAQA,EAAE,QAAO,IAAKP,IAAI,KAAK,KAAK,GAAG,GAAGO,EAAE,QAAQA,EAAE,QAAS,IAAGR,IAAI,KAAK,KAAK,KAAK,GAAG,GAAGQ,EAAE,QAAQA,EAAE,QAAO,IAAKN,IAAI,KAAK,GAAG,GAAGM,EAAE,QAAQA,EAAE,YAAYL,IAAI,GAAG,GAAGK,EAAE;AACjL,GAAG+E,KAAK,CAACxF,MAAM2B,EAAE,QAAQ,EAAE,MAAMwE,GAAGnG,CAAC,CAAC,GAAGqF,KAAK,CAACrF,GAAGC,MAAM0B,EAAE,QAAQ,EAAE,MAAMyE,GAAGpG,GAAGC,CAAC,CAAC,GAAGyF,KAAK,CAAC1F,GAAGC,MAAM;AAClG,QAAMC,IAAID,MAAM4E,EAAE,QAAQ,OAAO,eAAe,OAAO;AACvD,SAAOlD,EAAEzB,CAAC,EAAE,MAAMmG,EAAGrG,GAAGE,CAAC,CAAC;AAC5B,GAAGoF,KAAK,CAACtF,GAAGC,GAAGC,MAAM;AACnB,QAAMC,IAAIF,MAAM4E,EAAE,QAAQ,OAAO,eAAe,OAAO;AACvD,SAAOlD,EAAExB,CAAC,EAAE,MAAMmG,EAAGtG,GAAGG,GAAGD,CAAC,CAAC;AAC/B,GAgEMwG,IAAK,CAAC1G,GAAGC,GAAGC,MAAMC,MAAM;AAC5B,QAAMC,IAAI,IAAIJ,EAAE,IAAI,cAAc,EAAE,QAAQ,eAAe,KAAKE,CAAC;AACjE,UAAQD,GAAC;AAAA,IACP,KAAK;AACH,cAAQ,KAAKG,GAAG,GAAGD,CAAC;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,KAAKC,GAAG,GAAGD,CAAC;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,MAAMC,GAAG,GAAGD,CAAC;AACrB;AAAA,EACH;AACH,GAAGwG,KAAK,CAAC3G,MAAM;AACb,QAAMC,IAAID,EAAE,aAAaA;AACzB,SAAO;AAAA,IACL,MAAM,CAACE,MAAMC,MAAMuG,EAAGzG,GAAG,QAAQC,GAAG,GAAGC,CAAC;AAAA,IACxC,MAAM,CAACD,MAAMC,MAAMuG,EAAGzG,GAAG,WAAWC,GAAG,GAAGC,CAAC;AAAA,IAC3C,OAAO,CAACD,MAAMC,MAAMuG,EAAGzG,GAAG,SAASC,GAAG,GAAGC,CAAC;AAAA,EAC9C;AACA;AACA,IAAIyG,IAAsB,kBAAC5G,OAAOA,EAAE,iBAAiB,kBAAkBA,EAAE,SAAS,UAAUA,IAAI4G,KAAM,CAAE,CAAA,GAAGC,IAAsB,kBAAC7G,OAAOA,EAAE,MAAM,OAAOA,EAAE,OAAO,QAAQA,IAAI6G,KAAM,CAAE,CAAA;AACrL,MAAMC,KAAK,CAAC9G,GAAGC,GAAGC,GAAGC,MAAM;AACzB,MAAI;AACF,UAAMC,IAAI,IAAIH,EAAEC,GAAGC,CAAC;AACpB,WAAO;AAAA,MACL,MAAMH;AAAA,MACN,QAAQ,CAACS,GAAGC,MAAM;AAChB,YAAI;AACJ,eAAON,EAAEK,CAAC,MAAM,IAAIL,EAAEK,CAAC,EAAE,KAAKL,GAAGM,CAAC,IAAI,QAAQ,QAAQ,CAAC;AAAA,MACxD;AAAA,MACD,aAAa,MAAMN;AAAA,IACzB;AAAA,EACG,SAAQA,GAAG;AACV,QAAIA,EAAE,WAAWA,EAAE,QAAQ,QAAQ,sBAAsB,KAAK;AAC5D,aAAO;AAAA,QACL,MAAMJ;AAAA,QACN,QAAQ,CAACS,MAAM;AACb,cAAIC;AACJ,iBAAOD,MAAM,iBAAiBC,IAAIT,EAAEC,GAAGC,CAAC,IAAI,QAAQ,QAAQO,CAAC;AAAA,QAC9D;AAAA,QACD,aAAa,MAAMT;AAAA,MAC3B;AACI,UAAMG;AAAA,EACP;AACH;AACA,SAAS2G,GAAG/G,GAAGC,GAAG;AAChB,SAAO,OAAOD,KAAK,cAAcC,IAAID;AACvC;AACA,IAAIgH,KAAK,MAAM;AAAA,EACb,YAAY,IAAI,IAAI;AAClB,SAAK,OAAO;AAAA,EACb;AAAA,EACD,cAAc,GAAG,GAAG7G,GAAG;AACrB,QAAIC;AACJ,WAAO,KAAK,aAAaA,IAAI;AAAA,MAC3B,OAAOwG,EAAG;AAAA,MACV,OAAOC,EAAG;AAAA,MACV,aAAa;AAAA,MACb,iBAAiB;AAAA,IAClB,IAAGzG,IAAI;AAAA,MACN,OAAO2G,GAAG,EAAE,OAAOH,EAAG,MAAM;AAAA,MAC5B,OAAOG,GAAG,EAAE,OAAOF,EAAG,IAAI;AAAA,MAC1B,aAAa,EAAE;AAAA,MACf,iBAAiB1G;AAAA,IACvB;AACI,QAAIM,IAAI,KAAK;AACb,UAAM,IAAI,EAAE,MAAM,GAAG;AACrB,WAAO,EAAE,QAAQ,CAACI,GAAGC,MAAM;AACzB,MAAAA,MAAM,EAAE,SAAS,IAAIL,EAAEI,CAAC,MAAMJ,EAAEI,CAAC,IAAI,MAAMT,KAAKK,IAAI,KAAK,KAAKI,CAAC,IAAI,KAAK,KAAKA,CAAC,KAAK;IACpF,CAAA,GAAG;AAAA,EACL;AAAA,EACD,MAAM;AACJ,WAAO,KAAK;AAAA,EACb;AACH;AACA,MAAMoG,KAAK,CAACjH,MAAM;AAChB,QAAMC,IAAI,IAAI+G,GAAG,CAAA,CAAE;AACnB,SAAOhH,EAAEC,CAAC,GAAGA,EAAE,IAAG;AACpB;AACAgH,GAAG,CAACjH,MAAM;AACR,EAAAA,EAAE;AAAA,IACA;AAAA,IACA,EAAE,OAAO4G,EAAG,gBAAgB,OAAOC,EAAG,IAAK;AAAA,IAC3C,CAAC5G,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,IAAI,QAAQ,EAAEC,CAAC,IAAIC;AAAA,IAChC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAO0G,EAAG,IAAK;AAAA,IACjB,CAAC5G,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,UAAU,SAAS,SAASC,CAAC;AAAA,IAChC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAO2G,EAAG,KAAK,aAAa,CAAC,IAAI,EAAG;AAAA,IACtC,CAAC5G,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,OAAO;AAAA,QACP;AAAA,QACAC;AAAA,QACA,EAAE,SAAS,GAAI;AAAA,MAChB,GAAED,EAAE,UAAU,SAAS,aAAaC,CAAC;AAAA,IACvC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAO2G,EAAG,IAAK;AAAA,IACjB,CAAC5G,MAAM,CAACC,GAAGC,GAAGC,MAAM;AAClB,YAAM,EAAE,WAAWK,EAAG,IAAGR;AACzB,UAAIS,IAAI,MAAM,IAAIR,GAAG,IAAIC;AACzB,aAAOD,KAAK,aAAaQ,IAAIR,GAAG,IAAIC,GAAG,IAAIC;AAC3C,YAAMY,IAAI,CAACC,MAAM;AACf,cAAM,EAAE,yBAAyB,EAAG,IAAGhB,EAAE,UAAU,IAAI,qBAAqB,GAAG,IAAI,IAAI;AAAA,UACrF,KAAK,CAAE;AAAA,UACPS;AAAA,UACAT,EAAE;AAAA,UACF;AAAA,QACD,IAAGE;AACJ,YAAI;AACF,gBAAMe,IAAI4F;AAAA,YACRpG;AAAA,YACA;AAAA,YACAD;AAAA,YACA;AAAA,UACZ;AACU,UAAAA,EAAE,IAAI,UAAU,EAAE,KAAKS,CAAC,GAAGD,KAAKC,EAAE,OAAO,cAAc,IAAI;AAAA,QAC5D,SAAQA,GAAG;AACV,UAAAyF,GAAG1G,CAAC,EAAE,KAAK,kCAAkCiB,CAAC;AAAA,QAC/C;AAAA,MACT;AACM,MAAAjB,EAAE,UAAU,IAAI,WAAW,IAAIe,EAAE,EAAE,IAAIf,EAAE,OAAO,cAAc,2BAA2B,MAAMe,EAAE,EAAE,CAAC;AAAA,IACrG;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACf,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,SAASC,GAAGC,CAAC;AAAA,IAC1B;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,cAAcC,GAAGC,CAAC;AAAA,IAC/B;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,gBAAgBC,GAAGC,CAAC;AAAA,IACjC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,MAAMC,GAAGC,CAAC;AAAA,IACvB;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAAE;AAAA,IACF,CAACF,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,UAAU,SAAS,OAAOC,CAAC;AAAA,IAC9B;AAAA,EACL;AACA,CAAC;AACD+G,GAAG,CAACjH,MAAM;AACR,EAAAA,EAAE,cAAc,WAAW,CAACC,MAAM,CAACC,IAAI,OAAO;AAC5C,UAAM,EAAE,SAASC,EAAG,IAAGD;AACvB,QAAI,OAAOC,KAAK,aAAa;AAC3B,UAAI,OAAOA,KAAK,YAAY,OAAOA,KAAK,YAAY,CAAC,MAAM,QAAQA,CAAC,GAAG;AACrE,gBAAQ,IAAI,aAAa,gBAAgBkB,EAAE;AAAA,UACzC;AAAA,0CACgC,KAAK,UAAUlB,CAAC,CAAC;AAAA,QAC3D;AACQ;AAAA,MACD;AACD,UAAI,MAAM,QAAQA,CAAC,KAAK,CAACA,EAAE;AAAA,QACzB,CAACM,MAAM,OAAOA,KAAK,YAAY,OAAOA,KAAK;AAAA,MACnD,GAAS;AACD,gBAAQ,IAAI,aAAa,gBAAgBY,EAAE;AAAA,UACzC;AAAA,0CACgC,KAAK,UAAUlB,CAAC,CAAC;AAAA,QAC3D;AACQ;AAAA,MACD;AACD,YAAMC,IAAI;AAAA,QACR2E,EAAE;AAAA,QACFA,EAAE;AAAA,QACFA,EAAE;AAAA,QACFA,EAAE;AAAA,MACV,EAAQ,OAAO,CAACtE,GAAGC,GAAG,MAAM,OAAOP,KAAK,WAAWA,IAAIO,IAAI,OAAOP,KAAK,WAAW,EAAE,QAAQA,CAAC,IAAI,IAAIO,IAAI,MAAM,QAAQP,CAAC,IAAIA,EAAE,UAAU,CAAC,MAAM,MAAMO,IAAI,KAAK,MAAMD,CAAC,IAAI,KAAK,EAAE;AAC1K,aAAOL,EAAE,QAAQ2E,EAAE,SAAS,MAAM,OAAO,QAAQ,IAAI,aAAa,gBAAgB1D,EAAE;AAAA,QAClF,6EAA6E0D,EAAE,SAAS,0CAA0CA,EAAE,SAAS;AAAA,0CAC3G,KAAK,UAAU5E,CAAC,CAAC;AAAA,MACpD,GAAEC,EAAE,QAAQ2E,EAAE,SAAS,IAAIC;AAAA,QAC1B/E,EAAE;AAAA,QACF;AAAA,QACA8E,EAAE;AAAA,QACF;AAAA,UACE,QAAQF,EAAE;AAAA,UACV,OAAOC,GAAG;AAAA,UACV,UAAU,EAAE,MAAM,IAAK;AAAA,QACxB;AAAA,MACT,EAAQ,KAAK,CAACrE,MAAMA,EAAEL,CAAC,CAAC,EAAE,KAAK,MAAM;AAC7B,QAAA8E,GAAGjF,EAAE,SAAS,GAAGA,EAAE,OAAO,SAAS,0BAA0BG,CAAC;AAAA,MACtE,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH,CAAC;AA2BD,SAAS8G,GAAGlH,GAAG;AACb,MAAIA,EAAE;AACJ,WAAOA;AACT,MAAIC,IAAID,EAAE;AACV,MAAI,OAAOC,KAAK,YAAY;AAC1B,QAAIC,IAAI,SAASC,IAAI;AACnB,UAAI,gBAAgBA,GAAG;AACrB,YAAIC,IAAI,CAAC,IAAI;AACb,QAAAA,EAAE,KAAK,MAAMA,GAAG,SAAS;AACzB,YAAIK,IAAI,SAAS,KAAK,MAAMR,GAAGG,CAAC;AAChC,eAAO,IAAIK,EAAC;AAAA,MACb;AACD,aAAOR,EAAE,MAAM,MAAM,SAAS;AAAA,IACpC;AACI,IAAAC,EAAE,YAAYD,EAAE;AAAA,EACjB;AACC,IAAAC,IAAI,CAAA;AACN,SAAO,OAAO,eAAeA,GAAG,cAAc,EAAE,OAAO,GAAI,CAAA,GAAG,OAAO,KAAKF,CAAC,EAAE,QAAQ,SAASG,GAAG;AAC/F,QAAIC,IAAI,OAAO,yBAAyBJ,GAAGG,CAAC;AAC5C,WAAO,eAAeD,GAAGC,GAAGC,EAAE,MAAMA,IAAI;AAAA,MACtC,YAAY;AAAA,MACZ,KAAK,WAAW;AACd,eAAOJ,EAAEG,CAAC;AAAA,MACX;AAAA,IACP,CAAK;AAAA,EACF,CAAA,GAAGD;AACN;AACA,IAAIiH,KAAK,WAAW;AACpB;AACA,QAAQ,IAAI,aAAa,iBAAiBA,KAAK,SAASnH,GAAGC,GAAGC,GAAG;AAC/D,MAAIC,IAAI,UAAU;AAClB,EAAAD,IAAI,IAAI,MAAMC,IAAI,IAAIA,IAAI,IAAI,CAAC;AAC/B,WAASC,IAAI,GAAGA,IAAID,GAAGC;AACrB,IAAAF,EAAEE,IAAI,CAAC,IAAI,UAAUA,CAAC;AACxB,MAAIH,MAAM;AACR,UAAM,IAAI;AAAA,MACR;AAAA,IACN;AACE,MAAIA,EAAE,SAAS,MAAM,WAAW,KAAKA,CAAC;AACpC,UAAM,IAAI;AAAA,MACR,sHAAsHA;AAAA,IAC5H;AACE,MAAI,CAACD,GAAG;AACN,QAAIS,IAAI,GAAGC,IAAI,cAAcT,EAAE,QAAQ,OAAO,WAAW;AACvD,aAAOC,EAAEO,GAAG;AAAA,IAClB,CAAK;AACD,WAAO,WAAW,eAAe,QAAQ,MAAMC,CAAC;AAChD,QAAI;AACF,YAAM,IAAI,MAAMA,CAAC;AAAA,IAClB,SAAQ,GAAG;AAAA,IACX;AAAA,EACF;AACH;AACG,IAAC0G,KAAKD,IAAIE,KAAKD;AAASE,GAAGD,EAAE;AAChC,SAASC,GAAGtH,GAAG;AACb,SAAOA,KAAKA,EAAE,aAAaA,IAAI,EAAE,SAASA;AAC5C;AAsCA,SAASuH,EAAGvH,GAAG;AACb,SAAOA,EAAE,OAAO,CAAC,MAAM;AACzB;AACA,SAASwH,EAAGxH,GAAGC,GAAG;AAChB,WAASC,IAAID,GAAGE,IAAID,IAAI,GAAGE,IAAIJ,EAAE,QAAQG,IAAIC,GAAGF,KAAK,GAAGC,KAAK;AAC3D,IAAAH,EAAEE,CAAC,IAAIF,EAAEG,CAAC;AACZ,EAAAH,EAAE,IAAG;AACP;AACA,SAASyH,GAAGzH,GAAG;AACb,MAAIC,IAAI,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAS,UAAU,CAAC,IAAI,IAAIC,IAAIF,KAAKA,EAAE,MAAM,GAAG,KAAK,CAAA,GAAIG,IAAIF,KAAKA,EAAE,MAAM,GAAG,KAAK,CAAE,GAAEG,IAAIJ,KAAKuH,EAAGvH,CAAC,GAAGS,IAAIR,KAAKsH,EAAGtH,CAAC,GAAGS,IAAIN,KAAKK;AAChL,MAAIT,KAAKuH,EAAGvH,CAAC,IAAIG,IAAID,IAAIA,EAAE,WAAWC,EAAE,IAAK,GAAEA,IAAIA,EAAE,OAAOD,CAAC,IAAI,CAACC,EAAE;AAClE,WAAO;AACT,MAAI,IAAI;AACR,MAAIA,EAAE,QAAQ;AACZ,QAAI,IAAIA,EAAEA,EAAE,SAAS,CAAC;AACtB,QAAI,MAAM,OAAO,MAAM,QAAQ,MAAM;AAAA,EACtC;AACC,QAAI;AACN,WAASa,IAAI,GAAGC,IAAId,EAAE,QAAQc,KAAK,GAAGA,KAAK;AACzC,QAAI,IAAId,EAAEc,CAAC;AACX,UAAM,MAAMuG,EAAGrH,GAAGc,CAAC,IAAI,MAAM,QAAQuG,EAAGrH,GAAGc,CAAC,GAAGD,OAAOA,MAAMwG,EAAGrH,GAAGc,CAAC,GAAGD;AAAA,EACvE;AACD,MAAI,CAACN;AACH,WAAOM,KAAKA;AACV,MAAAb,EAAE,QAAQ,IAAI;AAClB,EAAAO,KAAKP,EAAE,CAAC,MAAM,OAAO,CAACA,EAAE,CAAC,KAAK,CAACoH,EAAGpH,EAAE,CAAC,CAAC,MAAMA,EAAE,QAAQ,EAAE;AACxD,MAAI,IAAIA,EAAE,KAAK,GAAG;AAClB,SAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,KAAK,MAAM;AAClD;AACA,MAAMuH,KAAqB,uBAAO,OAAuB,uBAAO,eAAe;AAAA,EAC7E,WAAW;AAAA,EACX,SAASD;AACX,GAAG,OAAO,aAAa,EAAE,OAAO,UAAU,CAAC,GAAGE,KAAqB,gBAAAT,GAAGQ,EAAE;AACxE,IAAIE,KAAK,OAAO,UAAU,cAAc,OAAO,OAAO,YAAY,WAAW,SAAS5H,GAAG;AACvF,SAAO,OAAOA;AAChB,IAAI,SAASA,GAAG;AACd,SAAOA,KAAK,OAAO,UAAU,cAAcA,EAAE,gBAAgB,UAAUA,MAAM,OAAO,YAAY,WAAW,OAAOA;AACpH;AACA,SAAS6H,EAAG7H,GAAGC,GAAG;AAChB,MAAID,MAAMC;AACR,WAAO;AACT,MAAID,KAAK,QAAQC,KAAK;AACpB,WAAO;AACT,MAAI,MAAM,QAAQD,CAAC;AACjB,WAAO,MAAM,QAAQC,CAAC,KAAKD,EAAE,WAAWC,EAAE,UAAUD,EAAE,MAAM,SAAS,GAAGgB,GAAG;AACzE,aAAO6G,EAAG,GAAG5H,EAAEe,CAAC,CAAC;AAAA,IACvB,CAAK;AACH,MAAId,IAAI,OAAOF,KAAK,cAAc,cAAc4H,GAAG5H,CAAC,GAAGG,IAAI,OAAOF,KAAK,cAAc,cAAc2H,GAAG3H,CAAC;AACvG,MAAIC,MAAMC;AACR,WAAO;AACT,MAAID,MAAM,UAAU;AAClB,QAAIE,IAAIJ,EAAE,QAAO,GAAIS,IAAIR,EAAE;AAC3B,QAAIG,MAAMJ,KAAKS,MAAMR;AACnB,aAAO4H,EAAGzH,GAAGK,CAAC;AAChB,QAAIC,IAAI,OAAO,KAAKV,CAAC,GAAG,IAAI,OAAO,KAAKC,CAAC;AACzC,WAAOS,EAAE,WAAW,EAAE,SAAS,KAAKA,EAAE,MAAM,SAAS,GAAG;AACtD,aAAOmH,EAAG7H,EAAE,CAAC,GAAGC,EAAE,CAAC,CAAC;AAAA,IAC1B,CAAK;AAAA,EACF;AACD,SAAO;AACT;AACA,MAAM6H,KAAqB,uBAAO,OAAuB,uBAAO,eAAe;AAAA,EAC7E,WAAW;AAAA,EACX,SAASD;AACX,GAAG,OAAO,aAAa,EAAE,OAAO,UAAU,CAAC,GAAGE,KAAqB,gBAAAb,GAAGY,EAAE;AAgCrE,IAOAE,KAAKL;AAASM,GAAGD,EAAE;IAAGE,KAAKH;AAASE,GAAGC,EAAE;AAC5C,SAASD,GAAGjI,GAAG;AACb,SAAOA,KAAKA,EAAE,aAAaA,IAAI,EAAE,SAASA;AAC5C;AAkcAe,EAAG,CAACf,MAAM;AACR,EAAAA,EAAE,cAAc,WAAW,CAACC,MAAM,CAACC,MAAM;AACvC,UAAMC,IAAI;AAAA,MACR,MAAMD,EAAE;AAAA,IACd;AACI,IAAAA,EAAE,aAAaC,EAAE,WAAWD,EAAE,WAAWD,EAAE,UAAU,SAAS,mBAAmBE,CAAC;AAAA,EACtF,CAAG;AACH,CAAC;AAkQI,MAQyCgI,IAAK,CAACnI,GAAGC,GAAGC,MAAMC,MAAM;AACpE,QAAMC,IAAI,IAAIJ,EAAE,IAAI,cAAc,EAAE,QAAQ,eAAe,KAAKE,CAAC;AACjE,UAAQD,GAAC;AAAA,IACP,KAAK;AACH,cAAQ,KAAKG,GAAG,GAAGD,CAAC;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,KAAKC,GAAG,GAAGD,CAAC;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,MAAMC,GAAG,GAAGD,CAAC;AACrB;AAAA,EACH;AACH,GAAGiI,KAAK,CAACpI,MAAM;AACb,QAAMC,IAAID,EAAE,aAAaA;AACzB,SAAO;AAAA,IACL,MAAM,CAACE,MAAMC,MAAMgI,EAAGlI,GAAG,QAAQC,GAAG,GAAGC,CAAC;AAAA,IACxC,MAAM,CAACD,MAAMC,MAAMgI,EAAGlI,GAAG,WAAWC,GAAG,GAAGC,CAAC;AAAA,IAC3C,OAAO,CAACD,MAAMC,MAAMgI,EAAGlI,GAAG,SAASC,GAAG,GAAGC,CAAC;AAAA,EAC9C;AACA;AACA,IAAIkI,IAAsB,kBAACrI,OAAOA,EAAE,iBAAiB,kBAAkBA,EAAE,SAAS,UAAUA,IAAIqI,KAAM,CAAE,CAAA,GAAGC,IAAsB,kBAACtI,OAAOA,EAAE,MAAM,OAAOA,EAAE,OAAO,QAAQA,IAAIsI,KAAM,CAAE,CAAA;AACrL,MAAMC,KAAK,CAACvI,GAAGC,GAAGC,GAAGC,MAAM;AACzB,MAAI;AACF,UAAMC,IAAI,IAAIH,EAAEC,GAAGC,CAAC;AACpB,WAAO;AAAA,MACL,MAAMH;AAAA,MACN,QAAQ,CAACS,GAAGC,MAAM;AAChB,YAAI;AACJ,eAAON,EAAEK,CAAC,MAAM,IAAIL,EAAEK,CAAC,EAAE,KAAKL,GAAGM,CAAC,IAAI,QAAQ,QAAQ,CAAC;AAAA,MACxD;AAAA,MACD,aAAa,MAAMN;AAAA,IACzB;AAAA,EACG,SAAQA,GAAG;AACV,QAAIA,EAAE,WAAWA,EAAE,QAAQ,QAAQ,sBAAsB,KAAK;AAC5D,aAAO;AAAA,QACL,MAAMJ;AAAA,QACN,QAAQ,CAACS,MAAM;AACb,cAAIC;AACJ,iBAAOD,MAAM,iBAAiBC,IAAIT,EAAEC,GAAGC,CAAC,IAAI,QAAQ,QAAQO,CAAC;AAAA,QAC9D;AAAA,QACD,aAAa,MAAMT;AAAA,MAC3B;AACI,UAAMG;AAAA,EACP;AACH;AACA,SAASoI,GAAGxI,GAAGC,GAAG;AAChB,SAAO,OAAOD,KAAK,cAAcC,IAAID;AACvC;AACA,MAAMyI,GAAG;AAAA,EACP,YAAYxI,IAAI,IAAI;AAClB,SAAK,OAAOA;AAAA,EACb;AAAA,EACD,cAAcA,GAAGC,GAAGC,GAAG;AACrB,QAAIC;AACJ,WAAOF,KAAK,aAAaE,IAAI;AAAA,MAC3B,OAAOiI,EAAG;AAAA,MACV,OAAOC,EAAG;AAAA,MACV,aAAa;AAAA,MACb,iBAAiBpI;AAAA,IAClB,IAAGE,IAAI;AAAA,MACN,OAAOoI,GAAGtI,EAAE,OAAOmI,EAAG,MAAM;AAAA,MAC5B,OAAOG,GAAGtI,EAAE,OAAOoI,EAAG,IAAI;AAAA,MAC1B,aAAapI,EAAE;AAAA,MACf,iBAAiBC;AAAA,IACvB;AACI,QAAIM,IAAI,KAAK;AACb,UAAMC,IAAIT,EAAE,MAAM,GAAG;AACrB,WAAOS,EAAE,QAAQ,CAAC,GAAG,MAAM;AACzB,YAAMA,EAAE,SAAS,IAAID,EAAE,CAAC,MAAMA,EAAE,CAAC,IAAI,MAAML,KAAKK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK;IACpF,CAAA,GAAG;AAAA,EACL;AAAA,EACD,MAAM;AACJ,WAAO,KAAK;AAAA,EACb;AACH;AACA,MAAMiI,KAAK,CAAC1I,MAAM;AAChB,QAAMC,IAAI,IAAIwI,GAAG,CAAA,CAAE;AACnB,SAAOzI,EAAEC,CAAC,GAAGA,EAAE,IAAG;AACpB;AACAyI,GAAG,CAAC1I,MAAM;AACR,EAAAA,EAAE;AAAA,IACA;AAAA,IACA,EAAE,OAAOqI,EAAG,gBAAgB,OAAOC,EAAG,IAAK;AAAA,IAC3C,CAACrI,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,IAAI,QAAQ,EAAEC,CAAC,IAAIC;AAAA,IAChC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAOmI,EAAG,IAAK;AAAA,IACjB,CAACrI,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,UAAU,SAAS,SAASC,CAAC;AAAA,IAChC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAOoI,EAAG,KAAK,aAAa,CAAC,IAAI,EAAG;AAAA,IACtC,CAACrI,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,OAAO;AAAA,QACP;AAAA,QACAC;AAAA,QACA,EAAE,SAAS,GAAI;AAAA,MAChB,GAAED,EAAE,UAAU,SAAS,aAAaC,CAAC;AAAA,IACvC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,EAAE,OAAOoI,EAAG,IAAK;AAAA,IACjB,CAACrI,MAAM,CAACC,GAAGC,GAAGC,MAAM;AAClB,YAAM,EAAE,WAAWK,EAAG,IAAGR;AACzB,UAAIS,IAAI,MAAM,IAAIR,GAAG,IAAIC;AACzB,aAAOD,KAAK,aAAaQ,IAAIR,GAAG,IAAIC,GAAG,IAAIC;AAC3C,YAAMY,IAAI,CAACC,MAAM;AACf,cAAM,EAAE,yBAAyB,EAAG,IAAGhB,EAAE,UAAU,IAAI,qBAAqB,GAAG,IAAI,IAAI;AAAA,UACrF,KAAK,CAAE;AAAA,UACPS;AAAA,UACAT,EAAE;AAAA,UACF;AAAA,QACD,IAAGE;AACJ,YAAI;AACF,gBAAMe,IAAIqH;AAAA,YACR7H;AAAA,YACA;AAAA,YACAD;AAAA,YACA;AAAA,UACZ;AACU,UAAAA,EAAE,IAAI,UAAU,EAAE,KAAKS,CAAC,GAAGD,KAAKC,EAAE,OAAO,cAAc,IAAI;AAAA,QAC5D,SAAQA,GAAG;AACV,UAAAkH,GAAGnI,CAAC,EAAE,KAAK,kCAAkCiB,CAAC;AAAA,QAC/C;AAAA,MACT;AACM,MAAAjB,EAAE,UAAU,IAAI,WAAW,IAAIe,EAAE,EAAE,IAAIf,EAAE,OAAO,cAAc,2BAA2B,MAAMe,EAAE,EAAE,CAAC;AAAA,IACrG;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACf,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,SAASC,GAAGC,CAAC;AAAA,IAC1B;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,cAAcC,GAAGC,CAAC;AAAA,IAC/B;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,gBAAgBC,GAAGC,CAAC;AAAA,IACjC;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAACF,MAAM,CAACC,GAAGC,MAAM;AACf,MAAAF,EAAE,UAAU,MAAMC,GAAGC,CAAC;AAAA,IACvB;AAAA,EACL,EAAI;AAAA,IACA;AAAA,IACA,CAAE;AAAA,IACF,CAACF,MAAM,CAACC,MAAM;AACZ,MAAAD,EAAE,UAAU,SAAS,OAAOC,CAAC;AAAA,IAC9B;AAAA,EACL;AACA,CAAC;AAoCDwI,GAAG,CAAC1I,MAAM;AACR,EAAAA,EAAE;AAAA,IACA;AAAA,IACA,EAAE,OAAOqI,EAAG,gBAAgB,OAAOC,EAAG,IAAK;AAAA,IAC3C,CAACrI,MAAM,CAACC,MAAM;AACZ,YAAM,EAAE,WAAWC,EAAG,IAAGF,GAAGG,IAAID,EAAE;AAClC,MAAAA,EAAE,IAAI,eAAe,EAAE,QAAQD,EAAEE,CAAC,IAAIA,EAAE,OAAO,cAAc,mBAAmB,MAAM;AACpF,QAAAF,EAAEE,CAAC;AAAA,MACX,CAAO;AAAA,IACF;AAAA,EACL;AACA,CAAC;AAosBI,MAACuI,KAAK,YAAgFC,KAAK,cAuC1FC,KAAK,CAAC7I,GAAGC,GAAGC,GAAGC,GAAGC,MAAMJ,EAAE,SAAS,mBAAmB,EAAE,KAAK,CAACS,OAAOA,EAAE,kBAAkBR,GAAGC,CAAC,GAAGoE,GAAGtE,GAAGC,GAAGE,MAAM,MAAM;AAC3H,IAAIF,GAAGG,CAAC,EAAE,GCjpHG0I,KAAgB,CAACC,MACrBC;AAAAA,EACLD;AAAA,EACA;AAAA,EACA,OAAO,oBAAQ;AAAA,EACf,CAACE,MAAe;AAAA,EAAC;AAAA;"}