{"mappings":"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","sources":["","lithtml.js","module.js","node_modules/lit-html/lit-html.js","node_modules/lit-html/src/lit-html.ts","node_modules/lit-html/directives/repeat.js","node_modules/lit-html/src/directives/repeat.ts","node_modules/lit-html/directive.js","node_modules/lit-html/src/directive.ts","node_modules/lit-html/directive-helpers.js","node_modules/lit-html/src/directive-helpers.ts","node_modules/lit-html/directives/async-append.js","node_modules/lit-html/src/directives/async-append.ts","node_modules/lit-html/directives/async-replace.js","node_modules/lit-html/src/directives/async-replace.ts","node_modules/lit-html/async-directive.js","node_modules/lit-html/src/async-directive.ts","node_modules/lit-html/directives/private-async-helpers.js","node_modules/lit-html/src/directives/private-async-helpers.ts","node_modules/lit-html/directives/cache.js","node_modules/lit-html/src/directives/cache.ts","node_modules/lit-html/directives/class-map.js","node_modules/lit-html/src/directives/class-map.ts","node_modules/lit-html/directives/guard.js","node_modules/lit-html/src/directives/guard.ts","node_modules/lit-html/directives/live.js","node_modules/lit-html/src/directives/live.ts","node_modules/lit-html/directives/ref.js","node_modules/lit-html/src/directives/ref.ts","node_modules/lit-html/directives/style-map.js","node_modules/lit-html/src/directives/style-map.ts","node_modules/lit-html/directives/template-content.js","node_modules/lit-html/src/directives/template-content.ts","node_modules/lit-html/directives/unsafe-html.js","node_modules/lit-html/src/directives/unsafe-html.ts","node_modules/lit-html/directives/unsafe-svg.js","node_modules/lit-html/src/directives/unsafe-svg.ts","node_modules/lit-html/directives/until.js","node_modules/lit-html/src/directives/until.ts","node_modules/lit-html/directives/choose.js","node_modules/lit-html/src/directives/choose.ts","node_modules/lit-html/directives/if-defined.js","node_modules/lit-html/src/directives/if-defined.ts","node_modules/lit-html/directives/join.js","node_modules/lit-html/src/directives/join.ts","node_modules/lit-html/directives/keyed.js","node_modules/lit-html/src/directives/keyed.ts","node_modules/lit-html/directives/map.js","node_modules/lit-html/src/directives/map.ts","node_modules/lit-html/directives/range.js","node_modules/lit-html/src/directives/range.ts","node_modules/lit-html/directives/when.js","node_modules/lit-html/src/directives/when.ts","eventify.js","node_modules/@preact/signals-core/dist/signals-core.module.js","node_modules/@preact/signals-core/src/index.ts","lithtmlutils.js"],"sourcesContent":["(function () {\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n/**\r\n * lithtml\r\n */ /**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ var $0585bced692c3b45$var$t;\nconst $0585bced692c3b45$var$i = window, $0585bced692c3b45$var$s = $0585bced692c3b45$var$i.trustedTypes, $0585bced692c3b45$var$e = $0585bced692c3b45$var$s ? $0585bced692c3b45$var$s.createPolicy(\"lit-html\", {\n createHTML: (t)=>t\n}) : void 0, $0585bced692c3b45$var$o = \"$lit$\", $0585bced692c3b45$var$n = `lit$${(Math.random() + \"\").slice(9)}$`, $0585bced692c3b45$var$l = \"?\" + $0585bced692c3b45$var$n, $0585bced692c3b45$var$h = `<${$0585bced692c3b45$var$l}>`, $0585bced692c3b45$var$r = document, $0585bced692c3b45$var$u = ()=>$0585bced692c3b45$var$r.createComment(\"\"), $0585bced692c3b45$var$d = (t)=>null === t || \"object\" != typeof t && \"function\" != typeof t, $0585bced692c3b45$var$c = Array.isArray, $0585bced692c3b45$var$v = (t)=>$0585bced692c3b45$var$c(t) || \"function\" == typeof (null == t ? void 0 : t[Symbol.iterator]), $0585bced692c3b45$var$a = \"[ \t\\n\\f\\r]\", $0585bced692c3b45$var$f = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g, $0585bced692c3b45$var$_ = /-->/g, $0585bced692c3b45$var$m = />/g, $0585bced692c3b45$var$p = RegExp(`>|${$0585bced692c3b45$var$a}(?:([^\\\\s\"'>=/]+)(${$0585bced692c3b45$var$a}*=${$0585bced692c3b45$var$a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`, \"g\"), $0585bced692c3b45$var$g = /'/g, $0585bced692c3b45$var$$ = /\"/g, $0585bced692c3b45$var$y = /^(?:script|style|textarea|title)$/i, $0585bced692c3b45$var$w = (t)=>(i, ...s)=>({\n _$litType$: t,\n strings: i,\n values: s\n }), $0585bced692c3b45$export$c0bb0b647f701bb5 = $0585bced692c3b45$var$w(1), $0585bced692c3b45$export$7ed1367e7fa1ad68 = $0585bced692c3b45$var$w(2), $0585bced692c3b45$export$9c068ae9cc5db4e8 = Symbol.for(\"lit-noChange\"), $0585bced692c3b45$export$45b790e32b2810ee = Symbol.for(\"lit-nothing\"), $0585bced692c3b45$var$E = new WeakMap, $0585bced692c3b45$var$C = $0585bced692c3b45$var$r.createTreeWalker($0585bced692c3b45$var$r, 129, null, !1);\nfunction $0585bced692c3b45$var$P(t, i) {\n if (!Array.isArray(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return void 0 !== $0585bced692c3b45$var$e ? $0585bced692c3b45$var$e.createHTML(i) : i;\n}\nconst $0585bced692c3b45$var$V = (t, i)=>{\n const s = t.length - 1, e = [];\n let l, r = 2 === i ? \"\" : \"\", u = $0585bced692c3b45$var$f;\n for(let i = 0; i < s; i++){\n const s = t[i];\n let d, c, v = -1, a = 0;\n for(; a < s.length && (u.lastIndex = a, c = u.exec(s), null !== c);)a = u.lastIndex, u === $0585bced692c3b45$var$f ? \"!--\" === c[1] ? u = $0585bced692c3b45$var$_ : void 0 !== c[1] ? u = $0585bced692c3b45$var$m : void 0 !== c[2] ? ($0585bced692c3b45$var$y.test(c[2]) && (l = RegExp(\"\" === c[0] ? (u = null != l ? l : $0585bced692c3b45$var$f, v = -1) : void 0 === c[1] ? v = -2 : (v = u.lastIndex - c[2].length, d = c[1], u = void 0 === c[3] ? $0585bced692c3b45$var$p : '\"' === c[3] ? $0585bced692c3b45$var$$ : $0585bced692c3b45$var$g) : u === $0585bced692c3b45$var$$ || u === $0585bced692c3b45$var$g ? u = $0585bced692c3b45$var$p : u === $0585bced692c3b45$var$_ || u === $0585bced692c3b45$var$m ? u = $0585bced692c3b45$var$f : (u = $0585bced692c3b45$var$p, l = void 0);\n const w = u === $0585bced692c3b45$var$p && t[i + 1].startsWith(\"/>\") ? \" \" : \"\";\n r += u === $0585bced692c3b45$var$f ? s + $0585bced692c3b45$var$h : v >= 0 ? (e.push(d), s.slice(0, v) + $0585bced692c3b45$var$o + s.slice(v) + $0585bced692c3b45$var$n + w) : s + $0585bced692c3b45$var$n + (-2 === v ? (e.push(void 0), i) : w);\n }\n return [\n $0585bced692c3b45$var$P(t, r + (t[s] || \"\") + (2 === i ? \"\" : \"\")),\n e\n ];\n};\nclass $0585bced692c3b45$var$N {\n constructor({ strings: t, _$litType$: i }, e){\n let h;\n this.parts = [];\n let r = 0, d = 0;\n const c = t.length - 1, v = this.parts, [a, f] = $0585bced692c3b45$var$V(t, i);\n if (this.el = $0585bced692c3b45$var$N.createElement(a, e), $0585bced692c3b45$var$C.currentNode = this.el.content, 2 === i) {\n const t = this.el.content, i = t.firstChild;\n i.remove(), t.append(...i.childNodes);\n }\n for(; null !== (h = $0585bced692c3b45$var$C.nextNode()) && v.length < c;){\n if (1 === h.nodeType) {\n if (h.hasAttributes()) {\n const t = [];\n for (const i of h.getAttributeNames())if (i.endsWith($0585bced692c3b45$var$o) || i.startsWith($0585bced692c3b45$var$n)) {\n const s = f[d++];\n if (t.push(i), void 0 !== s) {\n const t = h.getAttribute(s.toLowerCase() + $0585bced692c3b45$var$o).split($0585bced692c3b45$var$n), i = /([.?@])?(.*)/.exec(s);\n v.push({\n type: 1,\n index: r,\n name: i[2],\n strings: t,\n ctor: \".\" === i[1] ? $0585bced692c3b45$var$H : \"?\" === i[1] ? $0585bced692c3b45$var$L : \"@\" === i[1] ? $0585bced692c3b45$var$z : $0585bced692c3b45$var$k\n });\n } else v.push({\n type: 6,\n index: r\n });\n }\n for (const i of t)h.removeAttribute(i);\n }\n if ($0585bced692c3b45$var$y.test(h.tagName)) {\n const t = h.textContent.split($0585bced692c3b45$var$n), i = t.length - 1;\n if (i > 0) {\n h.textContent = $0585bced692c3b45$var$s ? $0585bced692c3b45$var$s.emptyScript : \"\";\n for(let s = 0; s < i; s++)h.append(t[s], $0585bced692c3b45$var$u()), $0585bced692c3b45$var$C.nextNode(), v.push({\n type: 2,\n index: ++r\n });\n h.append(t[i], $0585bced692c3b45$var$u());\n }\n }\n } else if (8 === h.nodeType) {\n if (h.data === $0585bced692c3b45$var$l) v.push({\n type: 2,\n index: r\n });\n else {\n let t = -1;\n for(; -1 !== (t = h.data.indexOf($0585bced692c3b45$var$n, t + 1));)v.push({\n type: 7,\n index: r\n }), t += $0585bced692c3b45$var$n.length - 1;\n }\n }\n r++;\n }\n }\n static createElement(t, i) {\n const s = $0585bced692c3b45$var$r.createElement(\"template\");\n return s.innerHTML = t, s;\n }\n}\nfunction $0585bced692c3b45$var$S(t, i, s = t, e) {\n var o, n, l, h;\n if (i === $0585bced692c3b45$export$9c068ae9cc5db4e8) return i;\n let r = void 0 !== e ? null === (o = s._$Co) || void 0 === o ? void 0 : o[e] : s._$Cl;\n const u = $0585bced692c3b45$var$d(i) ? void 0 : i._$litDirective$;\n return (null == r ? void 0 : r.constructor) !== u && (null === (n = null == r ? void 0 : r._$AO) || void 0 === n || n.call(r, !1), void 0 === u ? r = void 0 : (r = new u(t), r._$AT(t, s, e)), void 0 !== e ? (null !== (l = (h = s)._$Co) && void 0 !== l ? l : h._$Co = [])[e] = r : s._$Cl = r), void 0 !== r && (i = $0585bced692c3b45$var$S(t, r._$AS(t, i.values), r, e)), i;\n}\nclass $0585bced692c3b45$var$M {\n constructor(t, i){\n this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = i;\n }\n get parentNode() {\n return this._$AM.parentNode;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n u(t) {\n var i;\n const { el: { content: s }, parts: e } = this._$AD, o = (null !== (i = null == t ? void 0 : t.creationScope) && void 0 !== i ? i : $0585bced692c3b45$var$r).importNode(s, !0);\n $0585bced692c3b45$var$C.currentNode = o;\n let n = $0585bced692c3b45$var$C.nextNode(), l = 0, h = 0, u = e[0];\n for(; void 0 !== u;){\n if (l === u.index) {\n let i;\n 2 === u.type ? i = new $0585bced692c3b45$var$R(n, n.nextSibling, this, t) : 1 === u.type ? i = new u.ctor(n, u.name, u.strings, this, t) : 6 === u.type && (i = new $0585bced692c3b45$var$Z(n, this, t)), this._$AV.push(i), u = e[++h];\n }\n l !== (null == u ? void 0 : u.index) && (n = $0585bced692c3b45$var$C.nextNode(), l++);\n }\n return $0585bced692c3b45$var$C.currentNode = $0585bced692c3b45$var$r, o;\n }\n v(t) {\n let i = 0;\n for (const s of this._$AV)void 0 !== s && (void 0 !== s.strings ? (s._$AI(t, s, i), i += s.strings.length - 2) : s._$AI(t[i])), i++;\n }\n}\nclass $0585bced692c3b45$var$R {\n constructor(t, i, s, e){\n var o;\n this.type = 2, this._$AH = $0585bced692c3b45$export$45b790e32b2810ee, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this._$Cp = null === (o = null == e ? void 0 : e.isConnected) || void 0 === o || o;\n }\n get _$AU() {\n var t, i;\n return null !== (i = null === (t = this._$AM) || void 0 === t ? void 0 : t._$AU) && void 0 !== i ? i : this._$Cp;\n }\n get parentNode() {\n let t = this._$AA.parentNode;\n const i = this._$AM;\n return void 0 !== i && 11 === (null == t ? void 0 : t.nodeType) && (t = i.parentNode), t;\n }\n get startNode() {\n return this._$AA;\n }\n get endNode() {\n return this._$AB;\n }\n _$AI(t, i = this) {\n t = $0585bced692c3b45$var$S(this, t, i), $0585bced692c3b45$var$d(t) ? t === $0585bced692c3b45$export$45b790e32b2810ee || null == t || \"\" === t ? (this._$AH !== $0585bced692c3b45$export$45b790e32b2810ee && this._$AR(), this._$AH = $0585bced692c3b45$export$45b790e32b2810ee) : t !== this._$AH && t !== $0585bced692c3b45$export$9c068ae9cc5db4e8 && this._(t) : void 0 !== t._$litType$ ? this.g(t) : void 0 !== t.nodeType ? this.$(t) : $0585bced692c3b45$var$v(t) ? this.T(t) : this._(t);\n }\n k(t) {\n return this._$AA.parentNode.insertBefore(t, this._$AB);\n }\n $(t) {\n this._$AH !== t && (this._$AR(), this._$AH = this.k(t));\n }\n _(t) {\n this._$AH !== $0585bced692c3b45$export$45b790e32b2810ee && $0585bced692c3b45$var$d(this._$AH) ? this._$AA.nextSibling.data = t : this.$($0585bced692c3b45$var$r.createTextNode(t)), this._$AH = t;\n }\n g(t) {\n var i;\n const { values: s, _$litType$: e } = t, o = \"number\" == typeof e ? this._$AC(t) : (void 0 === e.el && (e.el = $0585bced692c3b45$var$N.createElement($0585bced692c3b45$var$P(e.h, e.h[0]), this.options)), e);\n if ((null === (i = this._$AH) || void 0 === i ? void 0 : i._$AD) === o) this._$AH.v(s);\n else {\n const t = new $0585bced692c3b45$var$M(o, this), i = t.u(this.options);\n t.v(s), this.$(i), this._$AH = t;\n }\n }\n _$AC(t) {\n let i = $0585bced692c3b45$var$E.get(t.strings);\n return void 0 === i && $0585bced692c3b45$var$E.set(t.strings, i = new $0585bced692c3b45$var$N(t)), i;\n }\n T(t) {\n $0585bced692c3b45$var$c(this._$AH) || (this._$AH = [], this._$AR());\n const i = this._$AH;\n let s, e = 0;\n for (const o of t)e === i.length ? i.push(s = new $0585bced692c3b45$var$R(this.k($0585bced692c3b45$var$u()), this.k($0585bced692c3b45$var$u()), this, this.options)) : s = i[e], s._$AI(o), e++;\n e < i.length && (this._$AR(s && s._$AB.nextSibling, e), i.length = e);\n }\n _$AR(t = this._$AA.nextSibling, i) {\n var s;\n for(null === (s = this._$AP) || void 0 === s || s.call(this, !1, !0, i); t && t !== this._$AB;){\n const i = t.nextSibling;\n t.remove(), t = i;\n }\n }\n setConnected(t) {\n var i;\n void 0 === this._$AM && (this._$Cp = t, null === (i = this._$AP) || void 0 === i || i.call(this, t));\n }\n}\nclass $0585bced692c3b45$var$k {\n constructor(t, i, s, e, o){\n this.type = 1, this._$AH = $0585bced692c3b45$export$45b790e32b2810ee, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = o, s.length > 2 || \"\" !== s[0] || \"\" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String), this.strings = s) : this._$AH = $0585bced692c3b45$export$45b790e32b2810ee;\n }\n get tagName() {\n return this.element.tagName;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(t, i = this, s, e) {\n const o = this.strings;\n let n = !1;\n if (void 0 === o) t = $0585bced692c3b45$var$S(this, t, i, 0), n = !$0585bced692c3b45$var$d(t) || t !== this._$AH && t !== $0585bced692c3b45$export$9c068ae9cc5db4e8, n && (this._$AH = t);\n else {\n const e = t;\n let l, h;\n for(t = o[0], l = 0; l < o.length - 1; l++)h = $0585bced692c3b45$var$S(this, e[s + l], i, l), h === $0585bced692c3b45$export$9c068ae9cc5db4e8 && (h = this._$AH[l]), n || (n = !$0585bced692c3b45$var$d(h) || h !== this._$AH[l]), h === $0585bced692c3b45$export$45b790e32b2810ee ? t = $0585bced692c3b45$export$45b790e32b2810ee : t !== $0585bced692c3b45$export$45b790e32b2810ee && (t += (null != h ? h : \"\") + o[l + 1]), this._$AH[l] = h;\n }\n n && !e && this.j(t);\n }\n j(t) {\n t === $0585bced692c3b45$export$45b790e32b2810ee ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t ? t : \"\");\n }\n}\nclass $0585bced692c3b45$var$H extends $0585bced692c3b45$var$k {\n constructor(){\n super(...arguments), this.type = 3;\n }\n j(t) {\n this.element[this.name] = t === $0585bced692c3b45$export$45b790e32b2810ee ? void 0 : t;\n }\n}\nconst $0585bced692c3b45$var$I = $0585bced692c3b45$var$s ? $0585bced692c3b45$var$s.emptyScript : \"\";\nclass $0585bced692c3b45$var$L extends $0585bced692c3b45$var$k {\n constructor(){\n super(...arguments), this.type = 4;\n }\n j(t) {\n t && t !== $0585bced692c3b45$export$45b790e32b2810ee ? this.element.setAttribute(this.name, $0585bced692c3b45$var$I) : this.element.removeAttribute(this.name);\n }\n}\nclass $0585bced692c3b45$var$z extends $0585bced692c3b45$var$k {\n constructor(t, i, s, e, o){\n super(t, i, s, e, o), this.type = 5;\n }\n _$AI(t, i = this) {\n var s;\n if ((t = null !== (s = $0585bced692c3b45$var$S(this, t, i, 0)) && void 0 !== s ? s : $0585bced692c3b45$export$45b790e32b2810ee) === $0585bced692c3b45$export$9c068ae9cc5db4e8) return;\n const e = this._$AH, o = t === $0585bced692c3b45$export$45b790e32b2810ee && e !== $0585bced692c3b45$export$45b790e32b2810ee || t.capture !== e.capture || t.once !== e.once || t.passive !== e.passive, n = t !== $0585bced692c3b45$export$45b790e32b2810ee && (e === $0585bced692c3b45$export$45b790e32b2810ee || o);\n o && this.element.removeEventListener(this.name, this, e), n && this.element.addEventListener(this.name, this, t), this._$AH = t;\n }\n handleEvent(t) {\n var i, s;\n \"function\" == typeof this._$AH ? this._$AH.call(null !== (s = null === (i = this.options) || void 0 === i ? void 0 : i.host) && void 0 !== s ? s : this.element, t) : this._$AH.handleEvent(t);\n }\n}\nclass $0585bced692c3b45$var$Z {\n constructor(t, i, s){\n this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(t) {\n $0585bced692c3b45$var$S(this, t);\n }\n}\nconst $0585bced692c3b45$export$8613d1ca9052b22e = {\n O: $0585bced692c3b45$var$o,\n P: $0585bced692c3b45$var$n,\n A: $0585bced692c3b45$var$l,\n C: 1,\n M: $0585bced692c3b45$var$V,\n L: $0585bced692c3b45$var$M,\n R: $0585bced692c3b45$var$v,\n D: $0585bced692c3b45$var$S,\n I: $0585bced692c3b45$var$R,\n V: $0585bced692c3b45$var$k,\n H: $0585bced692c3b45$var$L,\n N: $0585bced692c3b45$var$z,\n U: $0585bced692c3b45$var$H,\n F: $0585bced692c3b45$var$Z\n}, $0585bced692c3b45$var$B = $0585bced692c3b45$var$i.litHtmlPolyfillSupport;\nnull == $0585bced692c3b45$var$B || $0585bced692c3b45$var$B($0585bced692c3b45$var$N, $0585bced692c3b45$var$R), (null !== ($0585bced692c3b45$var$t = $0585bced692c3b45$var$i.litHtmlVersions) && void 0 !== $0585bced692c3b45$var$t ? $0585bced692c3b45$var$t : $0585bced692c3b45$var$i.litHtmlVersions = []).push(\"2.8.0\");\nconst $0585bced692c3b45$export$b3890eb0ae9dca99 = (t, i, s)=>{\n var e, o;\n const n = null !== (e = null == s ? void 0 : s.renderBefore) && void 0 !== e ? e : i;\n let l = n._$litPart$;\n if (void 0 === l) {\n const t = null !== (o = null == s ? void 0 : s.renderBefore) && void 0 !== o ? o : null;\n n._$litPart$ = l = new $0585bced692c3b45$var$R(i.insertBefore($0585bced692c3b45$var$u(), t), t, void 0, null != s ? s : {});\n }\n return l._$AI(t), l;\n};\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $4da6ecdff868c42e$export$9ba3b3f20a85bfa = {\n ATTRIBUTE: 1,\n CHILD: 2,\n PROPERTY: 3,\n BOOLEAN_ATTRIBUTE: 4,\n EVENT: 5,\n ELEMENT: 6\n}, $4da6ecdff868c42e$export$99b43ad1ed32e735 = (t)=>(...e)=>({\n _$litDirective$: t,\n values: e\n });\nclass $4da6ecdff868c42e$export$befdefbdce210f91 {\n constructor(t){}\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AT(t, e, i) {\n this._$Ct = t, this._$AM = e, this._$Ci = i;\n }\n _$AS(t, e) {\n return this.update(t, e);\n }\n update(t, e) {\n return this.render(...e);\n }\n}\n\n\n\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const { I: $8916f75be6085108$var$l } = (0, $0585bced692c3b45$export$8613d1ca9052b22e), $8916f75be6085108$export$c3825b437cbdea5c = (o)=>null === o || \"object\" != typeof o && \"function\" != typeof o, $8916f75be6085108$export$80c36ae3cab9881d = {\n HTML: 1,\n SVG: 2\n}, $8916f75be6085108$export$6b6d145ec2a44ca9 = (o, l)=>void 0 === l ? void 0 !== (null == o ? void 0 : o._$litType$) : (null == o ? void 0 : o._$litType$) === l, $8916f75be6085108$export$6a0e8de894d2fcca = (o)=>{\n var l;\n return null != (null === (l = null == o ? void 0 : o._$litType$) || void 0 === l ? void 0 : l.h);\n}, $8916f75be6085108$export$2f448fec17d50a3e = (o)=>void 0 !== (null == o ? void 0 : o._$litDirective$), $8916f75be6085108$export$f28e31de6a6eaf32 = (o)=>null == o ? void 0 : o._$litDirective$, $8916f75be6085108$export$7f431ad0fff82fd9 = (o)=>void 0 === o.strings, $8916f75be6085108$var$r = ()=>document.createComment(\"\"), $8916f75be6085108$export$291b2338ad9b0b30 = (o, i, n)=>{\n var t;\n const v = o._$AA.parentNode, d = void 0 === i ? o._$AB : i._$AA;\n if (void 0 === n) {\n const i = v.insertBefore($8916f75be6085108$var$r(), d), t = v.insertBefore($8916f75be6085108$var$r(), d);\n n = new $8916f75be6085108$var$l(i, t, o, o.options);\n } else {\n const l = n._$AB.nextSibling, i = n._$AM, u = i !== o;\n if (u) {\n let l;\n null === (t = n._$AQ) || void 0 === t || t.call(n, o), n._$AM = o, void 0 !== n._$AP && (l = o._$AU) !== i._$AU && n._$AP(l);\n }\n if (l !== d || u) {\n let o = n._$AA;\n for(; o !== l;){\n const l = o.nextSibling;\n v.insertBefore(o, d), o = l;\n }\n }\n }\n return n;\n}, $8916f75be6085108$export$cb8bf9562088e9f4 = (o, l, i = o)=>(o._$AI(l, i), o), $8916f75be6085108$var$s = {}, $8916f75be6085108$export$ea70d9dd5965b1c8 = (o, l = $8916f75be6085108$var$s)=>o._$AH = l, $8916f75be6085108$export$59e9bce518cde500 = (o)=>o._$AH, $8916f75be6085108$export$3133b3144bbba267 = (o)=>{\n var l;\n null === (l = o._$AP) || void 0 === l || l.call(o, !1, !0);\n let i = o._$AA;\n const n = o._$AB.nextSibling;\n for(; i !== n;){\n const o = i.nextSibling;\n i.remove(), i = o;\n }\n}, $8916f75be6085108$export$7f600b8138c094dc = (o)=>{\n o._$AR();\n};\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $2d06e2ab5b695b60$var$u = (e, s, t)=>{\n const r = new Map;\n for(let l = s; l <= t; l++)r.set(e[l], l);\n return r;\n}, $2d06e2ab5b695b60$export$76d90c956114f2c2 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(e){\n if (super(e), e.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).CHILD) throw Error(\"repeat() can only be used in text expressions\");\n }\n ct(e, s, t) {\n let r;\n void 0 === t ? t = s : void 0 !== s && (r = s);\n const l = [], o = [];\n let i = 0;\n for (const s of e)l[i] = r ? r(s, i) : i, o[i] = t(s, i), i++;\n return {\n values: o,\n keys: l\n };\n }\n render(e, s, t) {\n return this.ct(e, s, t).values;\n }\n update(s, [t, r, c]) {\n var d;\n const a = (0, $8916f75be6085108$export$59e9bce518cde500)(s), { values: p, keys: v } = this.ct(t, r, c);\n if (!Array.isArray(a)) return this.ut = v, p;\n const h = null !== (d = this.ut) && void 0 !== d ? d : this.ut = [], m = [];\n let y, x, j = 0, k = a.length - 1, w = 0, A = p.length - 1;\n for(; j <= k && w <= A;)if (null === a[j]) j++;\n else if (null === a[k]) k--;\n else if (h[j] === v[w]) m[w] = (0, $8916f75be6085108$export$cb8bf9562088e9f4)(a[j], p[w]), j++, w++;\n else if (h[k] === v[A]) m[A] = (0, $8916f75be6085108$export$cb8bf9562088e9f4)(a[k], p[A]), k--, A--;\n else if (h[j] === v[A]) m[A] = (0, $8916f75be6085108$export$cb8bf9562088e9f4)(a[j], p[A]), (0, $8916f75be6085108$export$291b2338ad9b0b30)(s, m[A + 1], a[j]), j++, A--;\n else if (h[k] === v[w]) m[w] = (0, $8916f75be6085108$export$cb8bf9562088e9f4)(a[k], p[w]), (0, $8916f75be6085108$export$291b2338ad9b0b30)(s, a[j], a[k]), k--, w++;\n else if (void 0 === y && (y = $2d06e2ab5b695b60$var$u(v, w, A), x = $2d06e2ab5b695b60$var$u(h, j, k)), y.has(h[j])) {\n if (y.has(h[k])) {\n const e = x.get(v[w]), t = void 0 !== e ? a[e] : null;\n if (null === t) {\n const e = (0, $8916f75be6085108$export$291b2338ad9b0b30)(s, a[j]);\n (0, $8916f75be6085108$export$cb8bf9562088e9f4)(e, p[w]), m[w] = e;\n } else m[w] = (0, $8916f75be6085108$export$cb8bf9562088e9f4)(t, p[w]), (0, $8916f75be6085108$export$291b2338ad9b0b30)(s, a[j], t), a[e] = null;\n w++;\n } else (0, $8916f75be6085108$export$3133b3144bbba267)(a[k]), k--;\n } else (0, $8916f75be6085108$export$3133b3144bbba267)(a[j]), j++;\n for(; w <= A;){\n const e = (0, $8916f75be6085108$export$291b2338ad9b0b30)(s, m[A + 1]);\n (0, $8916f75be6085108$export$cb8bf9562088e9f4)(e, p[w]), m[w++] = e;\n }\n for(; j <= k;){\n const e = a[j++];\n null !== e && (0, $8916f75be6085108$export$3133b3144bbba267)(e);\n }\n return this.ut = v, (0, $8916f75be6085108$export$ea70d9dd5965b1c8)(s, m), $0585bced692c3b45$export$9c068ae9cc5db4e8;\n }\n});\n\n\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $aa51d98594d61009$var$s = (i, t)=>{\n var e, o;\n const r = i._$AN;\n if (void 0 === r) return !1;\n for (const i of r)null === (o = (e = i)._$AO) || void 0 === o || o.call(e, t, !1), $aa51d98594d61009$var$s(i, t);\n return !0;\n}, $aa51d98594d61009$var$o = (i)=>{\n let t, e;\n do {\n if (void 0 === (t = i._$AM)) break;\n e = t._$AN, e.delete(i), i = t;\n }while (0 === (null == e ? void 0 : e.size));\n}, $aa51d98594d61009$var$r = (i)=>{\n for(let t; t = i._$AM; i = t){\n let e = t._$AN;\n if (void 0 === e) t._$AN = e = new Set;\n else if (e.has(i)) break;\n e.add(i), $aa51d98594d61009$var$l(t);\n }\n};\nfunction $aa51d98594d61009$var$n(i) {\n void 0 !== this._$AN ? ($aa51d98594d61009$var$o(this), this._$AM = i, $aa51d98594d61009$var$r(this)) : this._$AM = i;\n}\nfunction $aa51d98594d61009$var$h(i, t = !1, e = 0) {\n const r = this._$AH, n = this._$AN;\n if (void 0 !== n && 0 !== n.size) {\n if (t) {\n if (Array.isArray(r)) for(let i = e; i < r.length; i++)$aa51d98594d61009$var$s(r[i], !1), $aa51d98594d61009$var$o(r[i]);\n else null != r && ($aa51d98594d61009$var$s(r, !1), $aa51d98594d61009$var$o(r));\n } else $aa51d98594d61009$var$s(this, i);\n }\n}\nconst $aa51d98594d61009$var$l = (i)=>{\n var t, s, o, r;\n i.type == (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).CHILD && (null !== (t = (o = i)._$AP) && void 0 !== t || (o._$AP = $aa51d98594d61009$var$h), null !== (s = (r = i)._$AQ) && void 0 !== s || (r._$AQ = $aa51d98594d61009$var$n));\n};\nclass $aa51d98594d61009$export$7d025501802325e extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(){\n super(...arguments), this._$AN = void 0;\n }\n _$AT(i, t, e) {\n super._$AT(i, t, e), $aa51d98594d61009$var$r(this), this.isConnected = i._$AU;\n }\n _$AO(i, t = !0) {\n var e, r;\n i !== this.isConnected && (this.isConnected = i, i ? null === (e = this.reconnected) || void 0 === e || e.call(this) : null === (r = this.disconnected) || void 0 === r || r.call(this)), t && ($aa51d98594d61009$var$s(this, i), $aa51d98594d61009$var$o(this));\n }\n setValue(t) {\n if ((0, $8916f75be6085108$export$7f431ad0fff82fd9)(this._$Ct)) this._$Ct._$AI(t, this);\n else {\n const i = [\n ...this._$Ct._$AH\n ];\n i[this._$Ci] = t, this._$Ct._$AI(i, this, 0);\n }\n }\n disconnected() {}\n reconnected() {}\n}\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $7a66d9d32f17f475$export$74673a32c6041f3e = async (t, s)=>{\n for await (const i of t)if (!1 === await s(i)) return;\n};\nclass $7a66d9d32f17f475$export$71341b9b69479007 {\n constructor(t){\n this.G = t;\n }\n disconnect() {\n this.G = void 0;\n }\n reconnect(t) {\n this.G = t;\n }\n deref() {\n return this.G;\n }\n}\nclass $7a66d9d32f17f475$export$193ea5a420bb5c41 {\n constructor(){\n this.Y = void 0, this.Z = void 0;\n }\n get() {\n return this.Y;\n }\n pause() {\n var t;\n null !== (t = this.Y) && void 0 !== t || (this.Y = new Promise((t)=>this.Z = t));\n }\n resume() {\n var t;\n null === (t = this.Z) || void 0 === t || t.call(this), this.Y = this.Z = void 0;\n }\n}\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ class $9a7b48e7039d5564$export$39a433aa22cdf479 extends (0, $aa51d98594d61009$export$7d025501802325e) {\n constructor(){\n super(...arguments), this._$Cq = new (0, $7a66d9d32f17f475$export$71341b9b69479007)(this), this._$CK = new (0, $7a66d9d32f17f475$export$193ea5a420bb5c41);\n }\n render(i, s) {\n return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n }\n update(i, [s, r]) {\n if (this.isConnected || this.disconnected(), s === this._$CX) return;\n this._$CX = s;\n let n = 0;\n const { _$Cq: o, _$CK: h } = this;\n return (0, $7a66d9d32f17f475$export$74673a32c6041f3e)(s, async (t)=>{\n for(; h.get();)await h.get();\n const i = o.deref();\n if (void 0 !== i) {\n if (i._$CX !== s) return !1;\n void 0 !== r && (t = r(t, n)), i.commitValue(t, n), n++;\n }\n return !0;\n }), $0585bced692c3b45$export$9c068ae9cc5db4e8;\n }\n commitValue(t, i) {\n this.setValue(t);\n }\n disconnected() {\n this._$Cq.disconnect(), this._$CK.pause();\n }\n reconnected() {\n this._$Cq.reconnect(this), this._$CK.resume();\n }\n}\nconst $9a7b48e7039d5564$export$662eef59ff6bd56a = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)($9a7b48e7039d5564$export$39a433aa22cdf479);\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $82e12a832c7dc237$export$eaa89ade56b7c0c1 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $9a7b48e7039d5564$export$39a433aa22cdf479) {\n constructor(r){\n if (super(r), r.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).CHILD) throw Error(\"asyncAppend can only be used in child expressions\");\n }\n update(r, e) {\n return this._$CJ = r, super.update(r, e);\n }\n commitValue(r, e) {\n 0 === e && (0, $8916f75be6085108$export$7f600b8138c094dc)(this._$CJ);\n const s = (0, $8916f75be6085108$export$291b2338ad9b0b30)(this._$CJ);\n (0, $8916f75be6085108$export$cb8bf9562088e9f4)(s, r);\n }\n});\n\n\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $77f5167d06bc2fde$var$d = (t)=>(0, $8916f75be6085108$export$6a0e8de894d2fcca)(t) ? t._$litType$.h : t.strings, $77f5167d06bc2fde$export$69a3209f1a06c04d = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(t){\n super(t), this.tt = new WeakMap;\n }\n render(t) {\n return [\n t\n ];\n }\n update(s, [e]) {\n const u = (0, $8916f75be6085108$export$6b6d145ec2a44ca9)(this.et) ? $77f5167d06bc2fde$var$d(this.et) : null, h = (0, $8916f75be6085108$export$6b6d145ec2a44ca9)(e) ? $77f5167d06bc2fde$var$d(e) : null;\n if (null !== u && (null === h || u !== h)) {\n const e = (0, $8916f75be6085108$export$59e9bce518cde500)(s).pop();\n let o = this.tt.get(u);\n if (void 0 === o) {\n const s = document.createDocumentFragment();\n o = (0, $0585bced692c3b45$export$b3890eb0ae9dca99)((0, $0585bced692c3b45$export$45b790e32b2810ee), s), o.setConnected(!1), this.tt.set(u, o);\n }\n (0, $8916f75be6085108$export$ea70d9dd5965b1c8)(o, [\n e\n ]), (0, $8916f75be6085108$export$291b2338ad9b0b30)(o, void 0, e);\n }\n if (null !== h) {\n if (null === u || u !== h) {\n const t = this.tt.get(h);\n if (void 0 !== t) {\n const i = (0, $8916f75be6085108$export$59e9bce518cde500)(t).pop();\n (0, $8916f75be6085108$export$7f600b8138c094dc)(s), (0, $8916f75be6085108$export$291b2338ad9b0b30)(s, void 0, i), (0, $8916f75be6085108$export$ea70d9dd5965b1c8)(s, [\n i\n ]);\n }\n }\n this.et = e;\n } else this.et = void 0;\n return this.render(e);\n }\n});\n\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $e4437dd0216a4379$export$56cc687933817664 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(t){\n var i;\n if (super(t), t.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).ATTRIBUTE || \"class\" !== t.name || (null === (i = t.strings) || void 0 === i ? void 0 : i.length) > 2) throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\");\n }\n render(t) {\n return \" \" + Object.keys(t).filter((i)=>t[i]).join(\" \") + \" \";\n }\n update(i, [s]) {\n var r, o;\n if (void 0 === this.it) {\n this.it = new Set, void 0 !== i.strings && (this.nt = new Set(i.strings.join(\" \").split(/\\s/).filter((t)=>\"\" !== t)));\n for(const t in s)s[t] && !(null === (r = this.nt) || void 0 === r ? void 0 : r.has(t)) && this.it.add(t);\n return this.render(s);\n }\n const e = i.element.classList;\n this.it.forEach((t)=>{\n t in s || (e.remove(t), this.it.delete(t));\n });\n for(const t in s){\n const i = !!s[t];\n i === this.it.has(t) || (null === (o = this.nt) || void 0 === o ? void 0 : o.has(t)) || (i ? (e.add(t), this.it.add(t)) : (e.remove(t), this.it.delete(t)));\n }\n return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n }\n});\n\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $0100bfbf2c1b33f3$var$e = {}, $0100bfbf2c1b33f3$export$864d727b48066337 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(){\n super(...arguments), this.st = $0100bfbf2c1b33f3$var$e;\n }\n render(r, t) {\n return t();\n }\n update(t, [s, e]) {\n if (Array.isArray(s)) {\n if (Array.isArray(this.st) && this.st.length === s.length && s.every((r, t)=>r === this.st[t])) return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n } else if (this.st === s) return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n return this.st = Array.isArray(s) ? Array.from(s) : s, this.render(s, e);\n }\n});\n\n\n\n\n\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $2ed4c26e5fc1311e$export$28cf49ad70f82d12 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(r){\n if (super(r), r.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).PROPERTY && r.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).ATTRIBUTE && r.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).BOOLEAN_ATTRIBUTE) throw Error(\"The `live` directive is not allowed on child or event bindings\");\n if (!(0, $8916f75be6085108$export$7f431ad0fff82fd9)(r)) throw Error(\"`live` bindings can only contain a single expression\");\n }\n render(r) {\n return r;\n }\n update(i, [t]) {\n if (t === (0, $0585bced692c3b45$export$9c068ae9cc5db4e8) || t === (0, $0585bced692c3b45$export$45b790e32b2810ee)) return t;\n const o = i.element, l = i.name;\n if (i.type === (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).PROPERTY) {\n if (t === o[l]) return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n } else if (i.type === (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).BOOLEAN_ATTRIBUTE) {\n if (!!t === o.hasAttribute(l)) return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n } else if (i.type === (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).ATTRIBUTE && o.getAttribute(l) === t + \"\") return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n return (0, $8916f75be6085108$export$ea70d9dd5965b1c8)(i), t;\n }\n});\n\n\n\n\n\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $65d76be7707749f6$export$7d1e3a5e95ceca43 = ()=>new $65d76be7707749f6$var$o;\nclass $65d76be7707749f6$var$o {\n}\nconst $65d76be7707749f6$var$h = new WeakMap, $65d76be7707749f6$export$eff4d24c3ff7876e = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $aa51d98594d61009$export$7d025501802325e) {\n render(t) {\n return 0, $0585bced692c3b45$export$45b790e32b2810ee;\n }\n update(t, [s]) {\n var e;\n const o = s !== this.G;\n return o && void 0 !== this.G && this.ot(void 0), (o || this.rt !== this.lt) && (this.G = s, this.dt = null === (e = t.options) || void 0 === e ? void 0 : e.host, this.ot(this.lt = t.element)), $0585bced692c3b45$export$45b790e32b2810ee;\n }\n ot(i) {\n var t;\n if (\"function\" == typeof this.G) {\n const s = null !== (t = this.dt) && void 0 !== t ? t : globalThis;\n let e = $65d76be7707749f6$var$h.get(s);\n void 0 === e && (e = new WeakMap, $65d76be7707749f6$var$h.set(s, e)), void 0 !== e.get(this.G) && this.G.call(this.dt, void 0), e.set(this.G, i), void 0 !== i && this.G.call(this.dt, i);\n } else this.G.value = i;\n }\n get rt() {\n var i, t, s;\n return \"function\" == typeof this.G ? null === (t = $65d76be7707749f6$var$h.get(null !== (i = this.dt) && void 0 !== i ? i : globalThis)) || void 0 === t ? void 0 : t.get(this.G) : null === (s = this.G) || void 0 === s ? void 0 : s.value;\n }\n disconnected() {\n this.rt === this.lt && this.ot(void 0);\n }\n reconnected() {\n this.ot(this.lt);\n }\n});\n\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $22f699b0009eb85b$var$i = \"important\", $22f699b0009eb85b$var$n = \" !\" + $22f699b0009eb85b$var$i, $22f699b0009eb85b$export$1e5b4ce2fa884e6a = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(t){\n var e;\n if (super(t), t.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).ATTRIBUTE || \"style\" !== t.name || (null === (e = t.strings) || void 0 === e ? void 0 : e.length) > 2) throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\");\n }\n render(t) {\n return Object.keys(t).reduce((e, r)=>{\n const s = t[r];\n return null == s ? e : e + `${r = r.includes(\"-\") ? r : r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, \"-$&\").toLowerCase()}:${s};`;\n }, \"\");\n }\n update(e, [r]) {\n const { style: s } = e.element;\n if (void 0 === this.ht) {\n this.ht = new Set;\n for(const t in r)this.ht.add(t);\n return this.render(r);\n }\n this.ht.forEach((t)=>{\n null == r[t] && (this.ht.delete(t), t.includes(\"-\") ? s.removeProperty(t) : s[t] = \"\");\n });\n for(const t in r){\n const e = r[t];\n if (null != e) {\n this.ht.add(t);\n const r = \"string\" == typeof e && e.endsWith($22f699b0009eb85b$var$n);\n t.includes(\"-\") || r ? s.setProperty(t, r ? e.slice(0, -11) : e, r ? $22f699b0009eb85b$var$i : \"\") : s[t] = e;\n }\n }\n return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n }\n});\n\n\n\n\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $9a609a3f11152775$export$e446d0492332fcd4 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(t){\n if (super(t), t.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).CHILD) throw Error(\"templateContent can only be used in child bindings\");\n }\n render(r) {\n return this.vt === r ? (0, $0585bced692c3b45$export$9c068ae9cc5db4e8) : (this.vt = r, document.importNode(r.content, !0));\n }\n});\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ class $0a9d83bb2173ec99$export$3bebd1f0e3943985 extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(i){\n if (super(i), this.et = (0, $0585bced692c3b45$export$45b790e32b2810ee), i.type !== (0, $4da6ecdff868c42e$export$9ba3b3f20a85bfa).CHILD) throw Error(this.constructor.directiveName + \"() can only be used in child bindings\");\n }\n render(r) {\n if (r === (0, $0585bced692c3b45$export$45b790e32b2810ee) || null == r) return this.ft = void 0, this.et = r;\n if (r === (0, $0585bced692c3b45$export$9c068ae9cc5db4e8)) return r;\n if (\"string\" != typeof r) throw Error(this.constructor.directiveName + \"() called with a non-string value\");\n if (r === this.et) return this.ft;\n this.et = r;\n const s = [\n r\n ];\n return s.raw = s, this.ft = {\n _$litType$: this.constructor.resultType,\n strings: s,\n values: []\n };\n }\n}\n$0a9d83bb2173ec99$export$3bebd1f0e3943985.directiveName = \"unsafeHTML\", $0a9d83bb2173ec99$export$3bebd1f0e3943985.resultType = 1;\nconst $0a9d83bb2173ec99$export$b6e69390c23686fb = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)($0a9d83bb2173ec99$export$3bebd1f0e3943985);\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ class $378ddd6808e465bc$var$t extends (0, $0a9d83bb2173ec99$export$3bebd1f0e3943985) {\n}\n$378ddd6808e465bc$var$t.directiveName = \"unsafeSVG\", $378ddd6808e465bc$var$t.resultType = 2;\nconst $378ddd6808e465bc$export$1cb98903879b8bf5 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)($378ddd6808e465bc$var$t);\n\n\n\n\n\n\n\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $04babc6848c3c9b3$var$n = (t)=>!(0, $8916f75be6085108$export$c3825b437cbdea5c)(t) && \"function\" == typeof t.then, $04babc6848c3c9b3$var$h = 1073741823;\nclass $04babc6848c3c9b3$export$51c6edf8ee19b71a extends (0, $aa51d98594d61009$export$7d025501802325e) {\n constructor(){\n super(...arguments), this._$C_t = $04babc6848c3c9b3$var$h, this._$Cwt = [], this._$Cq = new (0, $7a66d9d32f17f475$export$71341b9b69479007)(this), this._$CK = new (0, $7a66d9d32f17f475$export$193ea5a420bb5c41);\n }\n render(...s) {\n var i;\n return null !== (i = s.find((t)=>!$04babc6848c3c9b3$var$n(t))) && void 0 !== i ? i : (0, $0585bced692c3b45$export$9c068ae9cc5db4e8);\n }\n update(s, i) {\n const r = this._$Cwt;\n let e = r.length;\n this._$Cwt = i;\n const o = this._$Cq, c = this._$CK;\n this.isConnected || this.disconnected();\n for(let t = 0; t < i.length && !(t > this._$C_t); t++){\n const s = i[t];\n if (!$04babc6848c3c9b3$var$n(s)) return this._$C_t = t, s;\n t < e && s === r[t] || (this._$C_t = $04babc6848c3c9b3$var$h, e = 0, Promise.resolve(s).then(async (t)=>{\n for(; c.get();)await c.get();\n const i = o.deref();\n if (void 0 !== i) {\n const r = i._$Cwt.indexOf(s);\n r > -1 && r < i._$C_t && (i._$C_t = r, i.setValue(t));\n }\n }));\n }\n return 0, $0585bced692c3b45$export$9c068ae9cc5db4e8;\n }\n disconnected() {\n this._$Cq.disconnect(), this._$CK.pause();\n }\n reconnected() {\n this._$Cq.reconnect(this), this._$CK.resume();\n }\n}\nconst $04babc6848c3c9b3$export$a40009bd2c363351 = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)($04babc6848c3c9b3$export$51c6edf8ee19b71a);\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $7b7b9a37160c97db$export$7877a478dd30fd3d = (o, r, n)=>{\n for (const n of r)if (n[0] === o) return (0, n[1])();\n return null == n ? void 0 : n();\n};\n\n\n\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $49f9812d6d4b3bb6$export$f68dd208b5df064d = (l)=>null != l ? l : (0, $0585bced692c3b45$export$45b790e32b2810ee);\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function* $0d7955f0662edf92$export$f7e2c8231c57a8bd(o, t) {\n const f = \"function\" == typeof t;\n if (void 0 !== o) {\n let i = -1;\n for (const n of o)i > -1 && (yield f ? t(i) : t), i++, yield n;\n }\n}\n\n\n\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ const $ef64bd03c02e190d$export$8dbf9c790527241e = (0, $4da6ecdff868c42e$export$99b43ad1ed32e735)(class extends (0, $4da6ecdff868c42e$export$befdefbdce210f91) {\n constructor(){\n super(...arguments), this.key = (0, $0585bced692c3b45$export$45b790e32b2810ee);\n }\n render(r, t) {\n return this.key = r, t;\n }\n update(r, [t, e]) {\n return t !== this.key && ((0, $8916f75be6085108$export$ea70d9dd5965b1c8)(r), this.key = t), e;\n }\n});\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function* $efb58c27b85b03fa$export$871de8747c9eaa88(o, f) {\n if (void 0 !== o) {\n let i = 0;\n for (const t of o)yield f(t, i++);\n }\n}\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function* $b0f47510656516d3$export$d02631cccf789723(o, l, n = 1) {\n const t = void 0 === l ? 0 : o;\n null != l || (l = o);\n for(let o = t; n > 0 ? o < l : l < o; o += n)yield o;\n}\n\n\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */ function $d2deeaf9cd169c53$export$a55877ca9db47377(n, o, r) {\n return n ? o() : null == r ? void 0 : r();\n}\n\n\n\n\n\"use strict\";\n/**\r\n * Eventifies an object (built with inspiration from smokesignals)\r\n * @param {object} obj the object to be eventified\r\n * @returns the object\r\n */ let $8e5676bd73916c78$export$52d98889efa7d412 = (obj)=>{\n // Previously eventified?\n if (obj.on && obj.emit) return obj;\n obj._events_handlers = Object.create(null);\n obj.clearEvents = $8e5676bd73916c78$var$clearEvents;\n obj.emitOnce = $8e5676bd73916c78$var$emitOnce;\n obj.emitAsync = $8e5676bd73916c78$var$emitAsync;\n obj.emit = $8e5676bd73916c78$var$emit;\n obj.once = $8e5676bd73916c78$var$once;\n obj.off = $8e5676bd73916c78$var$off;\n obj.deEventify = $8e5676bd73916c78$var$deEventify;\n /**\r\n * Adds a listener for an event\r\n * @param {string} eventName the name of the event\r\n * @param {*} handler\r\n * @returns {object} the object\r\n */ obj.on = function(eventName, handler) {\n if (!handler) return obj;\n let handlerList = obj._events_handlers[eventName];\n if (!handlerList) handlerList = obj._events_handlers[eventName] = [];\n handlerList.push(handler);\n return {\n unsubscribe: ()=>{\n obj.off?.(eventName, handler);\n return obj;\n },\n eventName: eventName,\n on: obj.on.bind(obj)\n };\n };\n return obj;\n};\n/**\r\n * Adds a listener for an event where the callbackhandler is only called once\r\n * @param {string} eventName the name of the event\r\n * @param {*} handler\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$once(eventName, handler) {\n let obj = this;\n let subscription = obj.on(eventName, (eventData)=>{\n subscription.unsubscribe();\n handler.call(obj, eventData);\n subscription = null;\n handler = null;\n });\n return subscription;\n}\n/**\r\n * Removes a listener for an event\r\n * @param {string} eventName the name of the event\r\n * @param {function} handler the callback function to remove\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$off(eventName, handler) {\n let obj = this;\n let handlerList = obj._events_handlers[eventName];\n if (!(handlerList && handler)) return obj;\n // Remove all added events for this handler\n let index = handlerList.length;\n while(--index >= 0)if (handlerList[index] === handler) handlerList.splice(index, 1);\n return obj;\n}\n/**\r\n * Emits an event only once\r\n * @param {string} eventName the name of the event\r\n * @param {*} eventData\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$emitOnce(eventName, eventData) {\n let obj = this;\n let handlerList = obj._events_handlers[eventName];\n if (!handlerList) handlerList = obj._events_handlers[eventName] = [];\n $8e5676bd73916c78$var$emit.call(obj, eventName, eventData);\n handlerList._events_oneTimeEventHasFired = true;\n return obj;\n}\n/**\r\n * Emits an event asynchrounosly\r\n * @param {string} eventName the name of the event\r\n * @param {*} eventData\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$emitAsync(eventName, eventData) {\n let obj = this;\n setTimeout(()=>{\n obj.emit(eventName, eventData);\n }, 0);\n return obj;\n}\n/**\r\n * Emits an event\r\n * @param {string} eventName the name of the event\r\n * @param {*} eventData\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$emit(eventName, eventData) {\n let obj = this;\n let handlerList = obj._events_handlers[eventName];\n if (!handlerList?.length) return obj;\n if (handlerList._events_oneTimeEventHasFired) return obj;\n let data = typeof eventData === \"function\" ? eventData() : eventData;\n // Copy the array to make sure code inside events that might unregister etc.\n // does not prevent all the current attached handlers from beeing called.\n handlerList = handlerList.slice();\n for(let i = 0, length = handlerList.length; i < length; i++)handlerList[i]?.call(obj, data);\n return obj;\n}\n/**\r\n * Removes every trace of events on the object\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$deEventify() {\n let obj = this;\n obj.clearEvents?.();\n obj.on = $8e5676bd73916c78$var$noop;\n obj.set = $8e5676bd73916c78$var$noop;\n obj.get = $8e5676bd73916c78$var$noop;\n obj.off = $8e5676bd73916c78$var$noop;\n obj.once = $8e5676bd73916c78$var$noop;\n obj.emit = $8e5676bd73916c78$var$noop;\n obj.emitAsync = $8e5676bd73916c78$var$noop;\n obj.emitOnce = $8e5676bd73916c78$var$noop;\n obj.clearEvents = $8e5676bd73916c78$var$noop;\n obj._events_handlers = null;\n return obj;\n}\n/**\r\n *\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$noop() {\n return this;\n}\n/**\r\n *\r\n * @returns {object} the object\r\n */ function $8e5676bd73916c78$var$clearEvents() {\n let obj = this;\n obj._events_handlers && Object.keys(obj._events_handlers).forEach((key)=>{\n if (obj._events_handlers[key]) {\n obj._events_handlers[key].length = 0;\n obj._events_handlers[key] = null;\n }\n });\n obj._events_handlers = Object.create(null);\n return obj;\n}\n\n\nfunction $c9361041b5bd802c$var$i() {\n throw new Error(\"Cycle detected\");\n}\nvar $c9361041b5bd802c$var$t = Symbol.for(\"preact-signals\");\nfunction $c9361041b5bd802c$var$r() {\n if (!($c9361041b5bd802c$var$v > 1)) {\n var i, t = !1;\n while(void 0 !== $c9361041b5bd802c$var$f){\n var r = $c9361041b5bd802c$var$f;\n $c9361041b5bd802c$var$f = void 0;\n $c9361041b5bd802c$var$e++;\n while(void 0 !== r){\n var n = r.o;\n r.o = void 0;\n r.f &= -3;\n if (!(8 & r.f) && $c9361041b5bd802c$var$l(r)) try {\n r.c();\n } catch (r) {\n if (!t) {\n i = r;\n t = !0;\n }\n }\n r = n;\n }\n }\n $c9361041b5bd802c$var$e = 0;\n $c9361041b5bd802c$var$v--;\n if (t) throw i;\n } else $c9361041b5bd802c$var$v--;\n}\nfunction $c9361041b5bd802c$export$712ea50be43a7858(i) {\n if ($c9361041b5bd802c$var$v > 0) return i();\n $c9361041b5bd802c$var$v++;\n try {\n return i();\n } finally{\n $c9361041b5bd802c$var$r();\n }\n}\nvar $c9361041b5bd802c$var$o = void 0, $c9361041b5bd802c$var$h = 0;\nfunction $c9361041b5bd802c$export$8c437e4d572e2f99(i) {\n if ($c9361041b5bd802c$var$h > 0) return i();\n var t = $c9361041b5bd802c$var$o;\n $c9361041b5bd802c$var$o = void 0;\n $c9361041b5bd802c$var$h++;\n try {\n return i();\n } finally{\n $c9361041b5bd802c$var$h--;\n $c9361041b5bd802c$var$o = t;\n }\n}\nvar $c9361041b5bd802c$var$f = void 0, $c9361041b5bd802c$var$v = 0, $c9361041b5bd802c$var$e = 0, $c9361041b5bd802c$var$u = 0;\nfunction $c9361041b5bd802c$var$c(i) {\n if (void 0 !== $c9361041b5bd802c$var$o) {\n var t = i.n;\n if (void 0 === t || t.t !== $c9361041b5bd802c$var$o) {\n t = {\n i: 0,\n S: i,\n p: $c9361041b5bd802c$var$o.s,\n n: void 0,\n t: $c9361041b5bd802c$var$o,\n e: void 0,\n x: void 0,\n r: t\n };\n if (void 0 !== $c9361041b5bd802c$var$o.s) $c9361041b5bd802c$var$o.s.n = t;\n $c9361041b5bd802c$var$o.s = t;\n i.n = t;\n if (32 & $c9361041b5bd802c$var$o.f) i.S(t);\n return t;\n } else if (-1 === t.i) {\n t.i = 0;\n if (void 0 !== t.n) {\n t.n.p = t.p;\n if (void 0 !== t.p) t.p.n = t.n;\n t.p = $c9361041b5bd802c$var$o.s;\n t.n = void 0;\n $c9361041b5bd802c$var$o.s.n = t;\n $c9361041b5bd802c$var$o.s = t;\n }\n return t;\n }\n }\n}\nfunction $c9361041b5bd802c$export$8210dfe1863c478(i) {\n this.v = i;\n this.i = 0;\n this.n = void 0;\n this.t = void 0;\n}\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.brand = $c9361041b5bd802c$var$t;\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.h = function() {\n return !0;\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.S = function(i) {\n if (this.t !== i && void 0 === i.e) {\n i.x = this.t;\n if (void 0 !== this.t) this.t.e = i;\n this.t = i;\n }\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.U = function(i) {\n if (void 0 !== this.t) {\n var t = i.e, r = i.x;\n if (void 0 !== t) {\n t.x = r;\n i.e = void 0;\n }\n if (void 0 !== r) {\n r.e = t;\n i.x = void 0;\n }\n if (i === this.t) this.t = r;\n }\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.subscribe = function(i) {\n var t = this;\n return $c9361041b5bd802c$export$dc573d8a6576cdb3(function() {\n var r = t.value, n = 32 & this.f;\n this.f &= -33;\n try {\n i(r);\n } finally{\n this.f |= n;\n }\n });\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.valueOf = function() {\n return this.value;\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.toString = function() {\n return this.value + \"\";\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.toJSON = function() {\n return this.value;\n};\n$c9361041b5bd802c$export$8210dfe1863c478.prototype.peek = function() {\n return this.v;\n};\nObject.defineProperty($c9361041b5bd802c$export$8210dfe1863c478.prototype, \"value\", {\n get: function() {\n var i = $c9361041b5bd802c$var$c(this);\n if (void 0 !== i) i.i = this.i;\n return this.v;\n },\n set: function(t) {\n if ($c9361041b5bd802c$var$o instanceof $c9361041b5bd802c$var$_) !function() {\n throw new Error(\"Computed cannot have side-effects\");\n }();\n if (t !== this.v) {\n if ($c9361041b5bd802c$var$e > 100) $c9361041b5bd802c$var$i();\n this.v = t;\n this.i++;\n $c9361041b5bd802c$var$u++;\n $c9361041b5bd802c$var$v++;\n try {\n for(var n = this.t; void 0 !== n; n = n.x)n.t.N();\n } finally{\n $c9361041b5bd802c$var$r();\n }\n }\n }\n});\nfunction $c9361041b5bd802c$export$e2ef10f86a8d60e8(i) {\n return new $c9361041b5bd802c$export$8210dfe1863c478(i);\n}\nfunction $c9361041b5bd802c$var$l(i) {\n for(var t = i.s; void 0 !== t; t = t.n)if (t.S.i !== t.i || !t.S.h() || t.S.i !== t.i) return !0;\n return !1;\n}\nfunction $c9361041b5bd802c$var$y(i) {\n for(var t = i.s; void 0 !== t; t = t.n){\n var r = t.S.n;\n if (void 0 !== r) t.r = r;\n t.S.n = t;\n t.i = -1;\n if (void 0 === t.n) {\n i.s = t;\n break;\n }\n }\n}\nfunction $c9361041b5bd802c$var$w(i) {\n var t = i.s, r = void 0;\n while(void 0 !== t){\n var n = t.p;\n if (-1 === t.i) {\n t.S.U(t);\n if (void 0 !== n) n.n = t.n;\n if (void 0 !== t.n) t.n.p = n;\n } else r = t;\n t.S.n = t.r;\n if (void 0 !== t.r) t.r = void 0;\n t = n;\n }\n i.s = r;\n}\nfunction $c9361041b5bd802c$var$_(i) {\n $c9361041b5bd802c$export$8210dfe1863c478.call(this, void 0);\n this.x = i;\n this.s = void 0;\n this.g = $c9361041b5bd802c$var$u - 1;\n this.f = 4;\n}\n($c9361041b5bd802c$var$_.prototype = new $c9361041b5bd802c$export$8210dfe1863c478).h = function() {\n this.f &= -3;\n if (1 & this.f) return !1;\n if (32 == (36 & this.f)) return !0;\n this.f &= -5;\n if (this.g === $c9361041b5bd802c$var$u) return !0;\n this.g = $c9361041b5bd802c$var$u;\n this.f |= 1;\n if (this.i > 0 && !$c9361041b5bd802c$var$l(this)) {\n this.f &= -2;\n return !0;\n }\n var i = $c9361041b5bd802c$var$o;\n try {\n $c9361041b5bd802c$var$y(this);\n $c9361041b5bd802c$var$o = this;\n var t = this.x();\n if (16 & this.f || this.v !== t || 0 === this.i) {\n this.v = t;\n this.f &= -17;\n this.i++;\n }\n } catch (i) {\n this.v = i;\n this.f |= 16;\n this.i++;\n }\n $c9361041b5bd802c$var$o = i;\n $c9361041b5bd802c$var$w(this);\n this.f &= -2;\n return !0;\n};\n$c9361041b5bd802c$var$_.prototype.S = function(i) {\n if (void 0 === this.t) {\n this.f |= 36;\n for(var t = this.s; void 0 !== t; t = t.n)t.S.S(t);\n }\n $c9361041b5bd802c$export$8210dfe1863c478.prototype.S.call(this, i);\n};\n$c9361041b5bd802c$var$_.prototype.U = function(i) {\n if (void 0 !== this.t) {\n $c9361041b5bd802c$export$8210dfe1863c478.prototype.U.call(this, i);\n if (void 0 === this.t) {\n this.f &= -33;\n for(var t = this.s; void 0 !== t; t = t.n)t.S.U(t);\n }\n }\n};\n$c9361041b5bd802c$var$_.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for(var i = this.t; void 0 !== i; i = i.x)i.t.N();\n }\n};\n$c9361041b5bd802c$var$_.prototype.peek = function() {\n if (!this.h()) $c9361041b5bd802c$var$i();\n if (16 & this.f) throw this.v;\n return this.v;\n};\nObject.defineProperty($c9361041b5bd802c$var$_.prototype, \"value\", {\n get: function() {\n if (1 & this.f) $c9361041b5bd802c$var$i();\n var t = $c9361041b5bd802c$var$c(this);\n this.h();\n if (void 0 !== t) t.i = this.i;\n if (16 & this.f) throw this.v;\n return this.v;\n }\n});\nfunction $c9361041b5bd802c$export$2983e091f1a1e8e2(i) {\n return new $c9361041b5bd802c$var$_(i);\n}\nfunction $c9361041b5bd802c$var$g(i) {\n var t = i.u;\n i.u = void 0;\n if (\"function\" == typeof t) {\n $c9361041b5bd802c$var$v++;\n var n = $c9361041b5bd802c$var$o;\n $c9361041b5bd802c$var$o = void 0;\n try {\n t();\n } catch (t) {\n i.f &= -2;\n i.f |= 8;\n $c9361041b5bd802c$var$b(i);\n throw t;\n } finally{\n $c9361041b5bd802c$var$o = n;\n $c9361041b5bd802c$var$r();\n }\n }\n}\nfunction $c9361041b5bd802c$var$b(i) {\n for(var t = i.s; void 0 !== t; t = t.n)t.S.U(t);\n i.x = void 0;\n i.s = void 0;\n $c9361041b5bd802c$var$g(i);\n}\nfunction $c9361041b5bd802c$var$x(i) {\n if ($c9361041b5bd802c$var$o !== this) throw new Error(\"Out-of-order effect\");\n $c9361041b5bd802c$var$w(this);\n $c9361041b5bd802c$var$o = i;\n this.f &= -2;\n if (8 & this.f) $c9361041b5bd802c$var$b(this);\n $c9361041b5bd802c$var$r();\n}\nfunction $c9361041b5bd802c$var$E(i) {\n this.x = i;\n this.u = void 0;\n this.s = void 0;\n this.o = void 0;\n this.f = 32;\n}\n$c9361041b5bd802c$var$E.prototype.c = function() {\n var i = this.S();\n try {\n if (8 & this.f) return;\n if (void 0 === this.x) return;\n var t = this.x();\n if (\"function\" == typeof t) this.u = t;\n } finally{\n i();\n }\n};\n$c9361041b5bd802c$var$E.prototype.S = function() {\n if (1 & this.f) $c9361041b5bd802c$var$i();\n this.f |= 1;\n this.f &= -9;\n $c9361041b5bd802c$var$g(this);\n $c9361041b5bd802c$var$y(this);\n $c9361041b5bd802c$var$v++;\n var t = $c9361041b5bd802c$var$o;\n $c9361041b5bd802c$var$o = this;\n return $c9361041b5bd802c$var$x.bind(this, t);\n};\n$c9361041b5bd802c$var$E.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 2;\n this.o = $c9361041b5bd802c$var$f;\n $c9361041b5bd802c$var$f = this;\n }\n};\n$c9361041b5bd802c$var$E.prototype.d = function() {\n this.f |= 8;\n if (!(1 & this.f)) $c9361041b5bd802c$var$b(this);\n};\nfunction $c9361041b5bd802c$export$dc573d8a6576cdb3(i) {\n var t = new $c9361041b5bd802c$var$E(i);\n try {\n t.c();\n } catch (i) {\n t.d();\n throw i;\n }\n return t.d.bind(t);\n}\n\n\nvar $f8f19630d13eb642$exports = {};\n\n$parcel$export($f8f19630d13eb642$exports, \"newId\", function () { return $f8f19630d13eb642$export$9ffd10a3fbdc175b; });\n$parcel$export($f8f19630d13eb642$exports, \"isObject\", function () { return $f8f19630d13eb642$export$a6cdc56e425d0d0a; });\n$parcel$export($f8f19630d13eb642$exports, \"isArray\", function () { return $f8f19630d13eb642$export$43bee75e5e14138e; });\n$parcel$export($f8f19630d13eb642$exports, \"camelize\", function () { return $f8f19630d13eb642$export$161d051f5dd25de7; });\n$parcel$export($f8f19630d13eb642$exports, \"kebabelize\", function () { return $f8f19630d13eb642$export$4909bbd57b1beef8; });\n$parcel$export($f8f19630d13eb642$exports, \"getIsoDateStr\", function () { return $f8f19630d13eb642$export$2c67d5861a969420; });\n$parcel$export($f8f19630d13eb642$exports, \"defineProperty\", function () { return $f8f19630d13eb642$export$fdab3c20aae16ddf; });\n$parcel$export($f8f19630d13eb642$exports, \"defineReadOnlyProperty\", function () { return $f8f19630d13eb642$export$b5c410d4913048d5; });\n$parcel$export($f8f19630d13eb642$exports, \"tryParse\", function () { return $f8f19630d13eb642$export$468ff95b83d315e5; });\n$parcel$export($f8f19630d13eb642$exports, \"clone\", function () { return $f8f19630d13eb642$export$9cd59f9826255e47; });\n\"use strict\";\nlet $f8f19630d13eb642$var$timeouts = [];\nlet $f8f19630d13eb642$var$messageName = \"zero-timeout-message\";\n// INFO: https://dbaron.org/log/20100309-faster-timeouts\n/**\r\n * Calls a function in an async manner in as short a timespan as possible\r\n * @param {function} fn\r\n */ let $f8f19630d13eb642$var$setZeroTimeout = (fn)=>{\n $f8f19630d13eb642$var$timeouts.push(fn);\n window.postMessage($f8f19630d13eb642$var$messageName, \"*\");\n};\n/**\r\n * Handles postMessages sent to the current window\r\n * @param {MessageEvent} event\r\n */ let $f8f19630d13eb642$var$handleZeroTimeoutMessage = (event)=>{\n if (event.source === window && event.data === $f8f19630d13eb642$var$messageName) {\n event.stopPropagation();\n $f8f19630d13eb642$var$timeouts.length && $f8f19630d13eb642$var$timeouts.shift()();\n }\n};\nif (!window.setZeroTimeout) {\n window.setZeroTimeout = $f8f19630d13eb642$var$setZeroTimeout;\n window.addEventListener(\"message\", $f8f19630d13eb642$var$handleZeroTimeoutMessage, true);\n}\nlet $f8f19630d13eb642$var$uniqueCounter = 0;\nlet $f8f19630d13eb642$export$9ffd10a3fbdc175b = (prefix = \"id_\")=>prefix + ++$f8f19630d13eb642$var$uniqueCounter;\nlet $f8f19630d13eb642$export$a6cdc56e425d0d0a = (obj)=>!!(obj && typeof obj === \"object\" && !Array.isArray(obj) && obj.contructor !== Date);\nlet $f8f19630d13eb642$export$43bee75e5e14138e = (obj)=>Array.isArray(obj);\nlet $f8f19630d13eb642$export$161d051f5dd25de7 = (str)=>str.replace(/-./g, (x)=>x[1].toUpperCase());\nlet $f8f19630d13eb642$export$4909bbd57b1beef8 = (str)=>str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\nlet $f8f19630d13eb642$export$2c67d5861a969420 = (date)=>new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString().split(\"T\")[0]; // INFO: https://stackoverflow.com/questions/23593052/format-javascript-date-as-yyyy-mm-dd\nif (!window.queueMicrotask) window.queueMicrotask = (fn)=>Promise.resolve().then(fn);\n/**\r\n * Define a get/set property on an object\r\n * @param {object} obj the object\r\n * @param {string} key the property name\r\n * @param {any} initialValue the intial value of the property\r\n * @param {function} callbackOnUpdatedValue\r\n */ let $f8f19630d13eb642$export$fdab3c20aae16ddf = (obj, key, initialValue, callbackOnUpdatedValue)=>{\n let propName = \"$$prop$$\" + key.toLowerCase();\n obj[propName] = initialValue;\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: true,\n get: ()=>obj[propName],\n set (value) {\n let oldValue = obj[propName];\n if (oldValue !== value) {\n obj[propName] = value;\n callbackOnUpdatedValue?.(key, oldValue, value);\n }\n }\n });\n};\n/**\r\n * Define a get/set property on an object\r\n * @param {object} obj the object\r\n * @param {string} key the property name\r\n * @param {any} value the value of the property\r\n */ let $f8f19630d13eb642$export$b5c410d4913048d5 = (obj, key, value)=>{\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: true,\n get: ()=>value\n });\n};\n// INFO: https://stackoverflow.com/questions/21485545/is-there-a-way-to-tell-if-an-es6-promise-is-fulfilled-rejected-resolved\nlet $f8f19630d13eb642$var$makeQueryablePromise = (promise)=>{\n if (promise.isResolved) return promise;\n let isResolved = false;\n let isRejected = false;\n let result = promise.then((v)=>{\n isResolved = true;\n return v;\n }, (e)=>{\n isRejected = true;\n throw e;\n });\n result.isSettled = ()=>isResolved || isRejected;\n result.isResolved = ()=>isResolved;\n result.isRejected = ()=>isRejected;\n return result;\n};\n/**\r\n * Try parsing a string as a json object\r\n * @param {string} str the string to be parsed\r\n * @returns {Object|Array|String} the parsed object or undefined if unsuccessful\r\n */ let $f8f19630d13eb642$export$468ff95b83d315e5 = (str)=>{\n try {\n return JSON.parse(str);\n } catch (e) {}\n};\nlet $f8f19630d13eb642$export$9cd59f9826255e47 = (src)=>{\n if ($f8f19630d13eb642$export$43bee75e5e14138e(src)) return src.map((item)=>$f8f19630d13eb642$export$43bee75e5e14138e(item) || $f8f19630d13eb642$export$a6cdc56e425d0d0a(item) ? $f8f19630d13eb642$export$9cd59f9826255e47(item) : item);\n else if (!$f8f19630d13eb642$export$a6cdc56e425d0d0a(src)) return src;\n const cloned = Object.assign({}, src);\n Object.keys(cloned).forEach((key)=>{\n const value = cloned[key];\n if (value) {\n if ($f8f19630d13eb642$export$43bee75e5e14138e(value) || $f8f19630d13eb642$export$a6cdc56e425d0d0a(value)) cloned[key] = $f8f19630d13eb642$export$9cd59f9826255e47(value);\n }\n });\n return cloned;\n};\n\n\nlet $b77b30c4d7cb9da3$var$version = \"0.9.2\";\nlet { isArray: $b77b30c4d7cb9da3$var$isArray, isObject: $b77b30c4d7cb9da3$var$isObject, defineProperty: $b77b30c4d7cb9da3$var$defineProperty, defineReadOnlyProperty: $b77b30c4d7cb9da3$var$defineReadOnlyProperty, tryParse: $b77b30c4d7cb9da3$var$tryParse, camelize: $b77b30c4d7cb9da3$var$camelize } = $f8f19630d13eb642$exports;\n// INFO webcomponent rendering etc.\n// https://open-wc.org/blog/some-things-to-know-when-developing-with-lit/\n// https://open-wc.org/blog/lit-element-deepdive-in-batching-updates/\n// https://open-wc.org/blog/doing-a-flip-with-lit-html-2-0/\n// https://open-wc.org/guides/knowledge/events/\n// lit-html templates documentation\n// https://lit.dev/docs/templates/overview/\n/** Support events */ let $b77b30c4d7cb9da3$var$events = (0, $8e5676bd73916c78$export$52d98889efa7d412)(Object.create(null));\ndelete $b77b30c4d7cb9da3$var$events.deEventify;\ndelete $b77b30c4d7cb9da3$var$events.clearEvents;\nlet $b77b30c4d7cb9da3$var$noop = ()=>{};\n// @ts-check\nconst $b77b30c4d7cb9da3$var$emptyAttrib = {};\n/** @type {import('./lithtmltypes').CustomHTMLElementOptions} */ let $b77b30c4d7cb9da3$var$defaultOptions = {\n useShadowRoot: true,\n renderFrequency: \"batched\" // raf? immediate? settimeout?\n};\n/**\r\n * Base class for new Custom Elements\r\n */ class $b77b30c4d7cb9da3$var$CustomHTMLElement extends HTMLElement {\n /**\r\n * @param {typeof import(\"./lithtmltypes\").CustomHTMLElement} derivedClass derived class with potentially observedAttributes and/or observeProperties attached to it\r\n * @param {import(\"./lithtmltypes\").CustomHTMLElementOptions} options optional CustomHTMLElementOptions\r\n */ constructor(derivedClass, options = {}){\n super();\n let self = this;\n self.options = Object.assign({}, $b77b30c4d7cb9da3$var$defaultOptions, options);\n /**\r\n * The name of the custom element\r\n * @type {string}\r\n */ self._tag = derivedClass.tag || \"missing-tag\";\n /**\r\n * List of all observable properties\r\n * @type {string[]}\r\n */ self._obsProps = derivedClass?.observedProperties || [];\n /**\r\n * List of all the observable attributes.\r\n * @type {string[]}\r\n */ self._obsAttrs = derivedClass?.observedAttributes || [];\n // Make sure all observed attributes has a corresponding (observed) property\n self._attrToProps = Object.create(null);\n self._propToAttrs = Object.create(null);\n self._obsAttrs.forEach((attr)=>{\n let propName = $b77b30c4d7cb9da3$var$camelize(attr);\n self._attrToProps[attr] = propName;\n self._propToAttrs[propName] = attr;\n self._obsProps.indexOf(propName) === -1 && self._obsProps.push(propName);\n });\n /** The reason for the current render (mostly interesting for debugging purposes) */ self._renderReason = \"\";\n /** Indicate wheter the first initial render has been run or not */ self._firstRenderDone = false;\n /** Indicate wheter the first connection to the DOM has been run or not */ self._firstConnectedDone = false;\n /** Indicate wheter a requested async render is in progress or not */ self._requestedAsyncRender = false;\n /**\r\n * Property used in attributeChangedCallback to help seperate attributes beeing set by\r\n * calling internal $setAttrib method and beeing set externally by element.setAttribute.\r\n */ self._newAttribValue = $b77b30c4d7cb9da3$var$emptyAttrib;\n /**\r\n * List of currently changed properties/attributes that are batched and triggers an onAttributesChanged event\r\n * @type {import(\"./lithtmltypes\").PropOrAttribChanged[]}\r\n */ self._chPropOrAttrs = [];\n /** Dictionary of all inital attributes on the element (populated in onFirstConnected) */ self.$attribs = Object.create(null);\n /**\r\n * Give the derived class the possibility to do some initalizing before setting up observed properties.\r\n * This can be useful to set the default value of observed properties without them triggering an\r\n * onPropertyChanged event.\r\n */ self.initalize?.();\n // Make sure we know when the observed properties are changed so that we can batch trigger a rerender\n // and trigger an onPropertyChanged event\n self._obsProps.forEach((propName)=>self._addReactiveProperty(propName));\n }\n /**\r\n * Defines a get/set wrapper around a property on the instance\r\n * @param {string} propName the property name\r\n */ _addReactiveProperty(propName) {\n let self = this;\n let changedProp = \"onChanged_\" + propName;\n $b77b30c4d7cb9da3$var$defineProperty(self, propName, self[propName], (propName, oldValue, value)=>{\n self._chPropOrAttrs.push({\n name: propName,\n oldValue: oldValue,\n newValue: value\n });\n self._createRenderTask(\"observedPropChange\");\n self.onPropertyChanged?.(propName, oldValue, value);\n self[changedProp]?.(oldValue, value);\n let attrName = self._propToAttrs[propName];\n if (attrName && !self._attribChangeInProgress) {\n self._propChangeInProgress = true;\n self.$setAttrib(attrName, value);\n self.onAttributeChanged?.(attrName, oldValue, value);\n self._propChangeInProgress = false;\n }\n });\n }\n /**\r\n * Create a task for rendering. The render is batched, meaning that updating the same property multiple\r\n * times or updating multiple different properties or attributes will only result in one render beeing called\r\n * at the end of the code running.\r\n * @param {string} renderReason description of the reason for calling this method\r\n */ _createRenderTask(renderReason) {\n let self = this;\n if (self._renderTask) return self._renderTask;\n this._renderReason = this._renderReason || renderReason;\n // Create a (micro)task for batch calling rendering\n self._renderTask = true;\n queueMicrotask(()=>{\n // Check to see if a _renderTask is still active. If ex. a render has just been done, the _renderTask is null\n // and there is no reason to do another render.\n self._renderTask && self._render();\n });\n return this;\n }\n /**\r\n * Calls the inherited render method and renders the result to DOM. It triggers the\r\n * shouldRender, willRender and onRendered methods, and the render can be stopped by\r\n * returning false from the shouldRender method (unless force is specified).\r\n * @param {boolean} [force] whether the render should be done no matter what\r\n */ _render(force) {\n let self = this;\n if (self._destroyed) return;\n // Do not render anything before the inital connection to the DOM has run. The reason we're preventing\n // this is that the shadowRoot (if in use) is not created before the initial connectedCallback has run.\n if (!self._firstConnectedDone) {\n self._renderTask = null;\n return;\n }\n let changedPropOrAttribs = self._chPropOrAttrs.splice(0);\n // Allow the component to stop the rendering\n let shouldRender = !force && self.shouldRender && self.shouldRender(changedPropOrAttribs);\n if (!force && shouldRender === false) {\n self._renderTask = null;\n return;\n }\n // Give the component a last change to update properties used in the render\n self.willRender?.(changedPropOrAttribs);\n // Trigger the onFirstRender if not already done\n if (!self._firstRenderDone && self.isConnected) {\n self.onFirstRender?.();\n self.$triggerEvent(self._tag + \"-firstrender\");\n }\n self._renderTask = null;\n self._chPropOrAttrs.length = 0;\n (0, $0585bced692c3b45$export$b3890eb0ae9dca99)(self.render(self._renderReason), self.shadowRoot || self, {\n host: self\n });\n // Trigger the onFirstRendered if not already done\n if (!self._firstRenderDone && self.isConnected) {\n self._firstRenderDone = true;\n self.onFirstRendered?.();\n self.$triggerEvent(self._tag + \"-firstrendered\");\n }\n self._renderReason = null;\n // Important that code in onRendered does not trigger a rerender, it's supposed to be\n // used to ex. set focus to an element etc. But in case it happens we try here to convert\n // it to an async render.\n if (self.onRendered) {\n self.onRendered(changedPropOrAttribs);\n if (self._renderTask) {\n self._renderTask = null;\n self.requestAsyncRender(\"renderRequestInOnRendered\");\n }\n }\n }\n /**\r\n * Trigger and/or dispatch an event\r\n * @param {string} eventName the name of the event\r\n * @param {boolean} [dispatch] dispatch an event (default true)\r\n * @param {boolean} [event] trigger an lithtml event (default true)\r\n */ $triggerEvent(eventName, { dispatch: dispatch = true, event: event = true, data: data } = {}) {\n let self = this;\n dispatch && self.dispatchEvent(new CustomEvent(eventName, {\n bubbles: true,\n detail: data\n }));\n event && $b77b30c4d7cb9da3$var$events.emit(eventName, ()=>({\n event: eventName,\n target: self,\n id: self.id,\n data: data\n }));\n return self;\n }\n // TODO: https://stackblitz.com/edit/lit-html-script-tag?file=src%2Fscript.js\n /**\r\n * Force an immediate render, use if a synchronous render is needed.\r\n */ forceRender(renderReason) {\n this._renderReason = renderReason || \"forced\";\n this._render(true);\n return this;\n }\n /**\r\n * Request a microtask-async render, use if some data not in observedAttributes or observedProperties\r\n * is updated and an update of the DOM is needed.\r\n * @param {string} [renderReason] info about the reason for rendering (mostly useful for debugging)\r\n */ requestRender(renderReason) {\n return this._createRenderTask(renderReason || \"requested\");\n }\n /**\r\n * Request an async render, use if a 'real' async is needed, and not a microtask async render.\r\n * @param {string} [renderReason] info about the reason for rendering (mostly useful for debugging)\r\n */ requestAsyncRender(renderReason) {\n let self = this;\n if (self._requestedAsyncRender) return self;\n self._requestedAsyncRender = true;\n setZeroTimeout(()=>{\n self._createRenderTask(renderReason || \"asyncRequested\");\n self._requestedAsyncRender = false;\n });\n return self;\n }\n /** Event called when the CustomElement is removed from the DOM */ disconnectedCallback() {\n let self = this;\n let parent = self;\n // If the element still have a parent here, it's probably because the element is beeing moved\n // around the DOM and we'll try to trigger an onMoved event instead of an onDisconnect event\n while(parent.parentElement)parent = parent.parentElement;\n if (parent === document.documentElement) {\n self._justDisconnected = true;\n queueMicrotask(()=>{\n // If still self._justDisconnected that means that connected has not been run,\n // which again means that the this time the element has not been moved but been\n // disconnected for real\n if (self._justDisconnected) {\n self._justDisconnected = false;\n self.onDisconnected?.();\n self.$triggerEvent(self._tag + \"-disconnected\");\n }\n });\n return;\n }\n self.onDisconnected?.();\n self.$triggerEvent(self._tag + \"-disconnected\");\n }\n /** Event called when the CustomElement is added/attached to the DOM */ connectedCallback() {\n let self = this;\n // If self._justDisconnected is true this means that the element has been moved instead\n // of having a 'real' disconnect, so we make sure that we trigger a moved event instead\n // of connected.\n if (self._justDisconnected) {\n self._justDisconnected = false;\n self.onMoved?.();\n self.$triggerEvent(self._tag + \"-moved\");\n return;\n }\n if (!self._firstConnectedDone) {\n self._firstConnectedDone = true;\n // Populate all initial attributes\n self.getAttributeNames().forEach((attrName)=>{\n let propName = $b77b30c4d7cb9da3$var$camelize(attrName);\n self.$attribs[propName] = self[propName] || self.$getValFromString(self.getAttribute(attrName));\n });\n // Create shadowRoot? The default is true, but it can be overridden by using the attribute use-shadow-root.\n //let useShadowRoot = self.$getAttrib('use-shadow-root');\n //if (useShadowRoot === true || useShadowRoot === false) {\n // self.options.useShadowRoot = useShadowRoot;\n //}\n self.options.useShadowRoot && self.attachShadow({\n mode: \"open\"\n });\n // If the user is has tried to set the shadowStyle before the shadowRoot is created\n // we now make sure it's set\n if (self._css) {\n self.$setShadowStyle(self._css);\n self._css = null;\n }\n self.onFirstConnected?.();\n self.$triggerEvent(self._tag + \"-firstconnected\");\n // Make sure we trigger an initial render. After the render has run once, there is no need\n // to trigger a new one each time the element is reconnected, since any changes demanding a\n // render will happen based on prop/attrib changes or specifically calling for it.\n self._createRenderTask(\"onFirstConnected\");\n }\n self.onConnected?.();\n self.$triggerEvent(self._tag + \"-connected\");\n }\n /** Event called when the CustomElement is adopted (moved from one DOM to another) */ adoptedCallback() {\n let self = this;\n self.$triggerEvent(self._tag + \"-adopted\");\n self.onAdopted?.();\n }\n /**\r\n * Event called when an observed attribute changes value\r\n * @param {string} name the name of the attribute\r\n * @param {string} oldValue the old value of the attribute\r\n * @param {string} newValue the new value of the attribute\r\n */ attributeChangedCallback(name, oldValue, newValue) {\n let self = this;\n if (oldValue === newValue || self._propChangeInProgress) return;\n // We have a backing field for all observed attributes\n let propName = self._attrToProps[name];\n let propFieldName = \"$$prop$$\" + (propName || \"\").toLowerCase();\n // Get the correct old value\n if (propFieldName in self) oldValue = self[propFieldName];\n // Get the 'correct' newValue based on it coming from .setAttribute or $setAttrib\n newValue = self._newAttribValue !== $b77b30c4d7cb9da3$var$emptyAttrib ? self._newAttribValue : self.$getValFromString(newValue);\n if (oldValue === newValue) return;\n self._createRenderTask(\"observedAttribChange\");\n self.onAttributeChanged?.(name, oldValue, newValue);\n // Setting the property here will trigger an onPropertyChanged event which will\n // also make sure the _chPropOrAttrs array gets updated\n self._attribChangeInProgress = true;\n propName && (self[propName] = newValue);\n self._attribChangeInProgress = false;\n }\n /**\r\n * The render method, called each time the custom element needs to be updated/rendered\r\n * @param {string} renderReason the reason for the render beeing called\r\n * @returns {import(\"./types/lit-html\").TemplateResult} the template to be rendered\r\n * */ render(renderReason) {\n return 0, $0585bced692c3b45$export$45b790e32b2810ee;\n }\n /** Destroys the element */ destroy() {\n let self = this;\n if (self._destroyed) return;\n self._destroyed = true;\n self.onDestroy?.();\n self._newAttribValue = null;\n self.options = null;\n self._obsAttrs.length = 0;\n self._obsAttrs = null;\n self._chPropOrAttrs.length = 0;\n self._chPropOrAttrs = null;\n self._obsProps.forEach((prop)=>{\n delete self[\"$$prop$$\" + prop.toLowerCase()];\n delete self[prop];\n });\n self._obsProps.length = 0;\n self._obsProps = null;\n self._attrToProps = null;\n self._propToAttrs = null;\n self._css = null;\n self.$attribs = null;\n self.parentElement?.removeChild(self);\n self.render = ()=>(0, $0585bced692c3b45$export$45b790e32b2810ee);\n self.$triggerEvent(self._tag + \"-destroyed\", {\n dispatch: false\n });\n }\n /**\r\n * Appends an eventlistener (this is a wrapper around addEventListener)\r\n * @param {string} eventName the event to react to\r\n * @param {EventListenerOrEventListenerObject} callback the event handler\r\n * @param {boolean|AddEventListenerOptions|undefined} [options] options\r\n * @returns {CustomHTMLElement}\r\n */ on(eventName, callback, options) {\n this.addEventListener(eventName, callback, options);\n return this;\n }\n /**\r\n * Removes an eventlistener (this is a wrapper around removeEventListener)\r\n * @param {string} eventName\r\n * @param {EventListenerOrEventListenerObject} callback\r\n * @param {boolean|AddEventListenerOptions|undefined} options\r\n * @returns {CustomHTMLElement}\r\n */ off(eventName, callback, options) {\n this.removeEventListener(eventName, callback, options);\n return this;\n }\n /**\r\n * Gets the value of an attribute. The value returned is the string converted value, which can be string, number, boolean, object, array, ...\r\n * @param {string} attr the attribute name\r\n * @returns {any} the attribute value\r\n */ $getAttrib(attr) {\n let self = this;\n // If the attribute is also a property where we use get/set then make sure we return\n // the 'real' value of the attribute, and not just the string representation (attributes are always strings).\n let propName = $b77b30c4d7cb9da3$var$camelize(attr);\n if (self._obsProps.indexOf(propName) !== -1) return self[propName];\n // if (attr in self) {\n //window.console.log('$getAttrib', attr, '- in self')\n // return self[attr];\n // }\n return self.$getValFromString(self.getAttribute(attr));\n }\n /**\r\n * Sets an attribute value\r\n * @param {string} attr the attribute name\r\n * @param {any} val the value of the attribute\r\n */ $setAttrib(attr, val) {\n let self = this;\n let propName = \"$$prop$$\" + (self._attrToProps[attr] || \"\").toLowerCase();\n // If the attribute is also an observed attribute/property then make sure we keep\n // the 'real' value of the attribute, and not just the string representation (attributes are always strings).\n self._newAttribValue = propName in self ? val : $b77b30c4d7cb9da3$var$emptyAttrib;\n // NB! Calling set/remove-Attribute here triggers an attributeChangedCallback for\n // observed attributes, which is the reason we set the _newAttribValue so that the\n // callback can differentiate between internal set attributes and external.\n if (!val && val !== false) self.removeAttribute(attr);\n else $b77b30c4d7cb9da3$var$isObject(val) || $b77b30c4d7cb9da3$var$isArray(val) ? self.setAttribute(attr, JSON.stringify(val)) : self.setAttribute(attr, val);\n self._newAttribValue = $b77b30c4d7cb9da3$var$emptyAttrib;\n return self;\n }\n /**\r\n * Tries to convert a string to it's correct type\r\n * @param {string} val the string to be converted\r\n */ $getValFromString(val) {\n if (!val) return val;\n if (val[0] === \"{\") {\n if (val !== \"{}\" && val.indexOf(\":\") === -1) return val;\n return $b77b30c4d7cb9da3$var$tryParse(val) || val;\n }\n if (val[0] === \"[\") return $b77b30c4d7cb9da3$var$tryParse(val) || val;\n let number = parseFloat(val);\n if (!isNaN(number)) return number;\n return val === \"true\" ? true : val === \"false\" ? false : val === \"null\" ? null : val === \"undefined\" ? undefined : val;\n }\n /**\r\n * Sets the styling of the element\r\n * @param {string} css the css\r\n */ $setShadowStyle(css) {\n let self = this;\n // Need to make sure that the shadowRoot exists, which has happened when firstConnected is called\n if (!self._firstConnectedDone) {\n self._css = css;\n return self;\n }\n if (!self.shadowRoot) throw {\n message: \"Can only use $setShadowStyle on web component using shadowRoot\"\n };\n css = css.replace(\"\", \"\");\n // Use adoptedStyleSheets?\n // INFO:\n // https://github.com/lit/lit/blob/00b8c56422fc2577e265393cec6726a4e71a561f/packages/reactive-element/src/css-tag.ts#L99\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/adoptedStyleSheets\n // https://web.dev/constructable-stylesheets/\n if (\"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype) {\n let sheet = new CSSStyleSheet();\n sheet.replaceSync(css);\n self.shadowRoot.adoptedStyleSheets = [\n sheet\n ];\n } else {\n let style = document.createElement(\"style\");\n style.textContent = css;\n self.shadowRoot.appendChild(style);\n }\n return self;\n }\n}\nclass $b77b30c4d7cb9da3$var$CustomTokenHTMLElement extends $b77b30c4d7cb9da3$var$CustomHTMLElement {\n /**\r\n * Constructor\r\n */ constructor(DerivedClass, options){\n super(DerivedClass, options);\n let self = this;\n self._addReactiveProperty(\"userData\");\n self._checkForUserInfoAndToken = self._checkForUserInfoAndToken.bind(self);\n }\n /**\r\n * Callback called when the custom element has been connected to the DOM for the first time\r\n * NB! Inherited Custom Elements *must* call super.onFirstConencted() if overriding this method\r\n */ onFirstConnected() {\n this._checkForUserInfoAndToken();\n }\n /**\r\n * Called when destroy has been called on the element, so we do some cleanup\r\n * NB! Inherited Custom Elements *must* call super.onDestroy() if overriding this method\r\n */ onDestroy() {\n let self = this;\n self._timeoutTokenId && clearTimeout(self._timeoutTokenId);\n self._timeoutTokenId = null;\n }\n /**\r\n * Make sure that we do not stop asking for userinfo and token until we get them. We do this\r\n * in case the user attaches an eventlistener for the 'needUserInfoAndToken' event after the\r\n * html element is attached to the DOM. The events bubble, so this can easily be avoided by\r\n * ex. attaching the eventlistener on the document (which will then automatically also work\r\n * for dynamically added elements)\r\n */ _checkForUserInfoAndToken() {\n let self = this;\n if (self.userData) return;\n if (self._checkedNoOfTimes > 10) return;\n self._checkedNoOfTimes = self._checkedNoOfTimes || 0;\n self._checkedNoOfTimes++;\n self.$triggerEvent(\"web-component-needUserInfoAndToken\");\n setTimeout(self._checkForUserInfoAndToken, 25);\n }\n /**\r\n * Updated the userinfo and token\r\n */ updateUserInfoAndToken(tokenAndUserInfo) {\n if (!tokenAndUserInfo.accessToken) {\n window[\"console\"].log(\"Missing accesstoken\");\n return;\n }\n let self = this;\n let token = JSON.parse(window.atob(tokenAndUserInfo.accessToken.split(\".\")[1]));\n tokenAndUserInfo.identity = tokenAndUserInfo.userInfo;\n self.userData = tokenAndUserInfo;\n self.onUserData?.(self.userData);\n // Make sure we request a new updated token token when the current one is about to expire\n let now = parseInt(Date.now() / 1000);\n let timeoutInSec = token.exp - now - 10;\n //\n if (timeoutInSec <= 0) timeoutInSec = 20;\n self._timeoutTokenId && clearTimeout(self._timeoutTokenId);\n self._timeoutTokenId = setTimeout(()=>self.$triggerEvent(\"web-component-needUserInfoAndToken\"), timeoutInSec * 1000);\n }\n}\n/**\r\n * Parses a string template and converts it to a TemplateResult calling function, of which the\r\n * result can be used in the render function\r\n * @type {typeof import('./lithtmltypes').CreateTemplateFn}\r\n */ let $b77b30c4d7cb9da3$var$createTemplateFn = (strTemplate, options)=>{\n let { context: context, contextParams: contextParams, thisContext: thisContext } = options || {};\n let templateFn = new Function(\"lithtml\", \"$context\", `\r\n let { ${(contextParams || []).join(\",\")} } = $context;\r\n let { nothing,noChange,html,svg,repeat,cache,choose,classMap,guard,ifDefined,join,keyed,live,map,range,ref,createRef,styleMap,until,when,asyncAppend,asyncReplace,templateContent,unsafeHTML,unsafeSVG,createTemplateFn,utils,virtualize,virtualizerRef } = lithtml;\r\n return html${\"`\" + strTemplate + \"`\"};`);\n if (thisContext) templateFn = templateFn.bind(thisContext);\n return (ctx)=>templateFn($b77b30c4d7cb9da3$var$lithtml, ctx || context || {});\n};\n/**\r\n * Takes a template string and optional context/data and renders the template to a DocumentFragment\r\n * @type {typeof import('./lithtmltypes').renderStrToEl}\r\n */ let $b77b30c4d7cb9da3$var$renderStrToEl = (strTemplate, options)=>{\n let htmlFn = $b77b30c4d7cb9da3$var$createTemplateFn(strTemplate, options);\n let target = new DocumentFragment();\n (0, $0585bced692c3b45$export$b3890eb0ae9dca99)(htmlFn(), target);\n return target;\n};\n/**\r\n * Takes a template string and optional context/data and renders the template to a string\r\n * @type {typeof import('./lithtmltypes').RenderStrToHtmlFn}\r\n */ let $b77b30c4d7cb9da3$var$renderStrToHtml = (strTemplate, options)=>{\n let fragment = $b77b30c4d7cb9da3$var$renderStrToEl(strTemplate, options);\n let tempEl = document.createElement(\"script\");\n tempEl.type = \"text/html\";\n tempEl.appendChild(fragment);\n return tempEl.innerHTML.trim().replaceAll(/\\x3C![^>]*>/gi, \"\");\n};\n/**\r\n * Add translations recursively to the root of the translation object\r\n * @param {string} prefix the prefix added in fron of the translation keys (ex. '', 'Status.', ...)\r\n * @param {object} langObj the object containing the language translations\r\n * @param {object} translationObj the resulting translation object\r\n * @param {number} [index] optional index into the array of translations\r\n */ let $b77b30c4d7cb9da3$var$addLanguageRec = (prefix, langObj, translationObj, index = -1)=>{\n Object.keys(langObj).forEach((key)=>{\n let text = langObj[key];\n if ($b77b30c4d7cb9da3$var$isObject(text)) $b77b30c4d7cb9da3$var$addLanguageRec(prefix + key + \".\", text, translationObj, index);\n else translationObj[prefix + key] = index === -1 ? text : text[index];\n });\n};\n/**\r\n * Initializes a new translations function\r\n * @param tagOrBaseTranslationUrl [string] the tag or the base url for language json files that may be downloaded\r\n * @param version [string=] the tag version\r\n */ let $b77b30c4d7cb9da3$var$translateInit = (tagOrBaseTranslationUrl, version)=>{\n let translations = Object.create(null);\n let currTranslation = defTranslation = translations;\n let translationBaseUrl;\n if (version) translationBaseUrl = `https://cdnpowel.azureedge.net/scripts/webcomponents/${tagOrBaseTranslationUrl}/${version}`;\n else if (tagOrBaseTranslationUrl) translationBaseUrl = tagOrBaseTranslationUrl;\n /** @type{import('./lithtmltypes').TranslateFunc} */ let t = (key)=>currTranslation[key] || defTranslation[key] || key;\n t.add = (lang, data)=>{\n let langName;\n if (typeof lang === \"string\") {\n langName = lang;\n $b77b30c4d7cb9da3$var$addLanguageRec(\"\", data, translations[lang] || (translations[lang] = Object.create(null)));\n } else if ($b77b30c4d7cb9da3$var$isArray(lang)) {\n langName = lang[0];\n lang.forEach((langName, index)=>$b77b30c4d7cb9da3$var$addLanguageRec(\"\", data, translations[langName] || (translations[langName] = Object.create(null)), index));\n } else if ($b77b30c4d7cb9da3$var$isObject(lang)) {\n langName = Object.keys(lang)[0];\n Object.keys(lang).forEach((langName)=>$b77b30c4d7cb9da3$var$addLanguageRec(\"\", lang[langName], translations[langName] = Object.create(null)));\n }\n // Set default language if not already done\n let globalLang = translations[$b77b30c4d7cb9da3$var$lithtml.translation.language];\n if (globalLang) {\n if (currTranslation === translations) currTranslation = globalLang;\n if (defTranslation === translations) defTranslation = globalLang;\n }\n // Make sure we do have a translation in case the global translation is missing\n if (currTranslation === translations) currTranslation = defTranslation = translations[langName];\n return t;\n };\n t.defTranslation = (langName)=>{\n let translationToUse = translations[langName];\n if (translationToUse) defTranslation = translationToUse;\n return t;\n };\n t.useLang = (langName)=>{\n let translationToUse = translations[langName];\n if (translationToUse) {\n currTranslation = translationToUse;\n if (defTranslation === translations) defTranslation = currTranslation;\n }\n return t;\n };\n t.load = (langName)=>{\n if (translations[langName]) {\n t.useLang(langName);\n return Promise.resolve();\n }\n if (!translationBaseUrl) return Promise.resolve();\n return fetch(`${translationBaseUrl}/${langName}.json`).then((response)=>{\n if (response.ok) return response.json();\n }).then((data)=>{\n if (data) t.add(langName, data).useLang(langName);\n return data;\n });\n };\n t.setTranslation = (langObj)=>{\n currTranslation = langObj;\n return t;\n };\n t.destroy = ()=>{\n translations = Object.create(null);\n currTranslation = null;\n defTranslation = null;\n };\n return t;\n};\n/** The global lithtml object */ let $b77b30c4d7cb9da3$var$lithtml = Object.create($b77b30c4d7cb9da3$var$events);\n/** The current language */ let $b77b30c4d7cb9da3$var$currLanguage = (location.href.split(\"lang=\")[1] || \"\").substring(0, 2);\nif (!$b77b30c4d7cb9da3$var$currLanguage) $b77b30c4d7cb9da3$var$currLanguage = window.appContext?.language;\nif (!$b77b30c4d7cb9da3$var$currLanguage) try {\n $b77b30c4d7cb9da3$var$currLanguage = localStorage.getItem(\"lang\");\n} catch (e) {}\nif (!$b77b30c4d7cb9da3$var$currLanguage) $b77b30c4d7cb9da3$var$currLanguage = \"en\";\n$b77b30c4d7cb9da3$var$lithtml.render = (0, $0585bced692c3b45$export$b3890eb0ae9dca99);\n$b77b30c4d7cb9da3$var$lithtml.nothing = (0, $0585bced692c3b45$export$45b790e32b2810ee);\n$b77b30c4d7cb9da3$var$lithtml.noChange = (0, $0585bced692c3b45$export$9c068ae9cc5db4e8);\n$b77b30c4d7cb9da3$var$lithtml.html = (0, $0585bced692c3b45$export$c0bb0b647f701bb5);\n$b77b30c4d7cb9da3$var$lithtml.svg = (0, $0585bced692c3b45$export$7ed1367e7fa1ad68);\n$b77b30c4d7cb9da3$var$lithtml.repeat = (0, $2d06e2ab5b695b60$export$76d90c956114f2c2);\n$b77b30c4d7cb9da3$var$lithtml.cache = (0, $77f5167d06bc2fde$export$69a3209f1a06c04d);\n$b77b30c4d7cb9da3$var$lithtml.choose = (0, $7b7b9a37160c97db$export$7877a478dd30fd3d);\n$b77b30c4d7cb9da3$var$lithtml.classMap = (0, $e4437dd0216a4379$export$56cc687933817664);\n$b77b30c4d7cb9da3$var$lithtml.guard = (0, $0100bfbf2c1b33f3$export$864d727b48066337);\n$b77b30c4d7cb9da3$var$lithtml.ifDefined = (0, $49f9812d6d4b3bb6$export$f68dd208b5df064d);\n$b77b30c4d7cb9da3$var$lithtml.join = (0, $0d7955f0662edf92$export$f7e2c8231c57a8bd);\n$b77b30c4d7cb9da3$var$lithtml.keyed = (0, $ef64bd03c02e190d$export$8dbf9c790527241e);\n$b77b30c4d7cb9da3$var$lithtml.live = (0, $2ed4c26e5fc1311e$export$28cf49ad70f82d12);\n$b77b30c4d7cb9da3$var$lithtml.map = (0, $efb58c27b85b03fa$export$871de8747c9eaa88);\n$b77b30c4d7cb9da3$var$lithtml.range = (0, $b0f47510656516d3$export$d02631cccf789723);\n$b77b30c4d7cb9da3$var$lithtml.ref = (0, $65d76be7707749f6$export$eff4d24c3ff7876e);\n$b77b30c4d7cb9da3$var$lithtml.createRef = (0, $65d76be7707749f6$export$7d1e3a5e95ceca43);\n$b77b30c4d7cb9da3$var$lithtml.styleMap = (0, $22f699b0009eb85b$export$1e5b4ce2fa884e6a);\n$b77b30c4d7cb9da3$var$lithtml.until = (0, $04babc6848c3c9b3$export$a40009bd2c363351);\n$b77b30c4d7cb9da3$var$lithtml.when = (0, $d2deeaf9cd169c53$export$a55877ca9db47377);\n$b77b30c4d7cb9da3$var$lithtml.asyncAppend = (0, $82e12a832c7dc237$export$eaa89ade56b7c0c1);\n$b77b30c4d7cb9da3$var$lithtml.asyncReplace = (0, $9a7b48e7039d5564$export$662eef59ff6bd56a);\n$b77b30c4d7cb9da3$var$lithtml.templateContent = (0, $9a609a3f11152775$export$e446d0492332fcd4);\n$b77b30c4d7cb9da3$var$lithtml.unsafeHTML = (0, $0a9d83bb2173ec99$export$b6e69390c23686fb);\n$b77b30c4d7cb9da3$var$lithtml.unsafeSVG = (0, $378ddd6808e465bc$export$1cb98903879b8bf5);\n//lithtml.virtualize = virtualize ;\n//lithtml.virtualizerRef = virtualizerRef ;\n$b77b30c4d7cb9da3$var$lithtml.CustomHTMLElement = $b77b30c4d7cb9da3$var$CustomHTMLElement;\n$b77b30c4d7cb9da3$var$lithtml.CustomTokenHTMLElement = $b77b30c4d7cb9da3$var$CustomTokenHTMLElement;\n$b77b30c4d7cb9da3$var$lithtml.utils = $f8f19630d13eb642$exports;\n/**\r\n * preact signals\r\n * @type {import('./lithtmltypes').Signals}\r\n */ $b77b30c4d7cb9da3$var$lithtml.signals = {\n signal: $c9361041b5bd802c$export$e2ef10f86a8d60e8,\n batch: $c9361041b5bd802c$export$712ea50be43a7858,\n computed: $c9361041b5bd802c$export$2983e091f1a1e8e2,\n effect: $c9361041b5bd802c$export$dc573d8a6576cdb3,\n subscribe: (signalOrSignals, cb, { runOnSubscribe: runOnSubscribe, batchCallback: batchCallback } = {})=>{\n let signals = $b77b30c4d7cb9da3$var$isArray(signalOrSignals) ? signalOrSignals : [\n signalOrSignals\n ];\n let firstRun = true;\n let batching = false;\n return (0, $c9361041b5bd802c$export$dc573d8a6576cdb3)(()=>{\n signals.forEach((signal)=>signal.value);\n // Callback immediately after calling subscribe?\n if (firstRun) {\n firstRun = false;\n if (!runOnSubscribe) return;\n }\n // If no batching, run callback immediately on every signal change\n if (!batchCallback) {\n cb(signals);\n return;\n }\n if (batching) return;\n // TODO: call dispose here? and subscribe again in the resolved promise? maybe a problem with code that keeps track of the dispose function... --> could be solved with returning an object with dispose in? no need for 'batching' variable.\n batching = true;\n queueMicrotask(()=>{\n cb(signals);\n batching = false;\n });\n });\n }\n};\n/**\r\n * @type {import('./lithtmltypes').Translation}\r\n */ $b77b30c4d7cb9da3$var$lithtml.translation = {\n get language () {\n return $b77b30c4d7cb9da3$var$currLanguage;\n },\n init: $b77b30c4d7cb9da3$var$translateInit,\n useLang: (langName)=>{\n if (langName && $b77b30c4d7cb9da3$var$currLanguage !== langName) {\n $b77b30c4d7cb9da3$var$currLanguage = langName;\n $b77b30c4d7cb9da3$var$lithtml.emit(\"language-changed\", {\n lang: $b77b30c4d7cb9da3$var$currLanguage\n });\n }\n }\n};\nlet $b77b30c4d7cb9da3$var$stateObj = (0, $8e5676bd73916c78$export$52d98889efa7d412)(Object.create(null));\ndelete $b77b30c4d7cb9da3$var$stateObj.deEventify;\ndelete $b77b30c4d7cb9da3$var$stateObj.clearEvents;\n$b77b30c4d7cb9da3$var$defineReadOnlyProperty($b77b30c4d7cb9da3$var$lithtml, \"state\", Object.create($b77b30c4d7cb9da3$var$stateObj));\n$b77b30c4d7cb9da3$var$lithtml.createTemplateFn = $b77b30c4d7cb9da3$var$createTemplateFn;\n$b77b30c4d7cb9da3$var$lithtml.renderStrToHtml = $b77b30c4d7cb9da3$var$renderStrToHtml;\n$b77b30c4d7cb9da3$var$lithtml.renderStrToEl = $b77b30c4d7cb9da3$var$renderStrToEl;\n$b77b30c4d7cb9da3$var$lithtml.eventify = (0, $8e5676bd73916c78$export$52d98889efa7d412);\n$b77b30c4d7cb9da3$var$lithtml.version = $b77b30c4d7cb9da3$var$version;\nif (!window.lithtml || window.lithtml.version < $b77b30c4d7cb9da3$var$lithtml.version) window.lithtml = $b77b30c4d7cb9da3$var$lithtml;\n // Copy this for module min build\n //export const { render, nothing, noChange, html, svg, repeat, cache, choose, classMap, guard, ifDefined, join, keyed, live, map, range, ref, createRef, styleMap, until, when, asyncAppend, asyncReplace, templateContent, unsafeHTML, unsafeSVG, CustomHTMLElement, createTemplateFn, eventify, version, emitOnce, emitAsync, emit, once, off, on } = lithtml;\n // Use this for buildtest\n //export { render, nothing, noChange, html, svg, repeat, cache, choose, classMap, guard, ifDefined, join, keyed, live, map, range, ref, createRef, styleMap, until, when, asyncAppend, asyncReplace, templateContent, unsafeHTML, unsafeSVG, CustomHTMLElement };\n /*\r\n Example of generating dynamic html with lithtml\r\n\r\n let a = document.createElement('div');\r\n let b = lithtml.createTemplateFn('test ${this.location.href}', { thisContext: window });\r\n lithtml.render(b(), a);\r\n a.innerHTML;\r\n\r\n\r\n lithtml.render(lithtml.html`testcccccc`, document.body)\r\n\r\n\r\n\r\n*/ \n\n})();\n//# sourceMappingURL=lithtml.js.map\n","import { render, nothing, noChange, html, svg, repeat, cache, choose, classMap, guard, ifDefined, join, keyed, live, map, range, ref, createRef, styleMap, until, when, asyncAppend, asyncReplace, templateContent, unsafeHTML, unsafeSVG } from './module.js';\r\nimport { eventify } from './eventify.js'\r\nimport { signal, batch, computed, effect } from '@preact/signals-core'\r\nimport * as utils from './lithtmlutils.js'\r\n\r\nlet version = '0.9.2';\r\nlet { isArray, isObject, defineProperty, defineReadOnlyProperty, tryParse, camelize } = utils;\r\n\r\n// INFO webcomponent rendering etc.\r\n// https://open-wc.org/blog/some-things-to-know-when-developing-with-lit/\r\n// https://open-wc.org/blog/lit-element-deepdive-in-batching-updates/\r\n// https://open-wc.org/blog/doing-a-flip-with-lit-html-2-0/\r\n// https://open-wc.org/guides/knowledge/events/\r\n\r\n// lit-html templates documentation\r\n// https://lit.dev/docs/templates/overview/\r\n\r\n/** Support events */\r\nlet events = eventify(Object.create(null));\r\ndelete events.deEventify;\r\ndelete events.clearEvents;\r\n\r\nlet noop = () => {}\r\n\r\n// @ts-check\r\nconst emptyAttrib = {};\r\n\r\n/** @type {import('./lithtmltypes').CustomHTMLElementOptions} */\r\nlet defaultOptions = {\r\n useShadowRoot: true,\r\n renderFrequency: 'batched' // raf? immediate? settimeout?\r\n}\r\n\r\n/**\r\n * Base class for new Custom Elements\r\n */\r\nclass CustomHTMLElement extends HTMLElement {\r\n /**\r\n * @param {typeof import(\"./lithtmltypes\").CustomHTMLElement} derivedClass derived class with potentially observedAttributes and/or observeProperties attached to it\r\n * @param {import(\"./lithtmltypes\").CustomHTMLElementOptions} options optional CustomHTMLElementOptions\r\n */\r\n constructor(derivedClass, options = {}) {\r\n super();\r\n\r\n let self = this;\r\n\r\n self.options = Object.assign({}, defaultOptions, options);\r\n\r\n /**\r\n * The name of the custom element\r\n * @type {string}\r\n */\r\n self._tag = derivedClass.tag || 'missing-tag';\r\n\r\n /**\r\n * List of all observable properties\r\n * @type {string[]}\r\n */\r\n self._obsProps = derivedClass?.observedProperties || [];\r\n\r\n /**\r\n * List of all the observable attributes.\r\n * @type {string[]}\r\n */\r\n self._obsAttrs = derivedClass?.observedAttributes || [];\r\n\r\n // Make sure all observed attributes has a corresponding (observed) property\r\n self._attrToProps = Object.create(null);\r\n self._propToAttrs = Object.create(null);\r\n self._obsAttrs.forEach(attr => {\r\n let propName = camelize(attr);\r\n\r\n self._attrToProps[attr] = propName;\r\n self._propToAttrs[propName] = attr;\r\n self._obsProps.indexOf(propName) === -1 && self._obsProps.push(propName);\r\n });\r\n\r\n /** The reason for the current render (mostly interesting for debugging purposes) */\r\n self._renderReason = '';\r\n\r\n /** Indicate wheter the first initial render has been run or not */\r\n self._firstRenderDone = false;\r\n\r\n /** Indicate wheter the first connection to the DOM has been run or not */\r\n self._firstConnectedDone = false;\r\n\r\n /** Indicate wheter a requested async render is in progress or not */\r\n self._requestedAsyncRender = false;\r\n\r\n /**\r\n * Property used in attributeChangedCallback to help seperate attributes beeing set by\r\n * calling internal $setAttrib method and beeing set externally by element.setAttribute.\r\n */\r\n self._newAttribValue = emptyAttrib;\r\n\r\n /**\r\n * List of currently changed properties/attributes that are batched and triggers an onAttributesChanged event\r\n * @type {import(\"./lithtmltypes\").PropOrAttribChanged[]}\r\n */\r\n self._chPropOrAttrs = [];\r\n\r\n /** Dictionary of all inital attributes on the element (populated in onFirstConnected) */\r\n self.$attribs = Object.create(null);\r\n\r\n /**\r\n * Give the derived class the possibility to do some initalizing before setting up observed properties.\r\n * This can be useful to set the default value of observed properties without them triggering an\r\n * onPropertyChanged event.\r\n */\r\n self.initalize?.();\r\n\r\n // Make sure we know when the observed properties are changed so that we can batch trigger a rerender\r\n // and trigger an onPropertyChanged event\r\n self._obsProps.forEach(propName => self._addReactiveProperty(propName));\r\n }\r\n\r\n /**\r\n * Defines a get/set wrapper around a property on the instance\r\n * @param {string} propName the property name\r\n */\r\n _addReactiveProperty(propName) {\r\n let self = this;\r\n let changedProp = 'onChanged_' + propName;\r\n\r\n defineProperty(self, propName, self[propName], (propName, oldValue, value) => {\r\n self._chPropOrAttrs.push({ name: propName, oldValue: oldValue, newValue: value });\r\n self._createRenderTask('observedPropChange');\r\n self.onPropertyChanged?.(propName, oldValue, value);\r\n self[changedProp]?.(oldValue, value);\r\n\r\n let attrName = self._propToAttrs[propName];\r\n\r\n if (attrName && !self._attribChangeInProgress) {\r\n self._propChangeInProgress = true;\r\n self.$setAttrib(attrName, value);\r\n self.onAttributeChanged?.(attrName, oldValue, value);\r\n self._propChangeInProgress = false;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Create a task for rendering. The render is batched, meaning that updating the same property multiple\r\n * times or updating multiple different properties or attributes will only result in one render beeing called\r\n * at the end of the code running.\r\n * @param {string} renderReason description of the reason for calling this method\r\n */\r\n _createRenderTask (renderReason) {\r\n let self = this;\r\n\r\n if (self._renderTask) {\r\n return self._renderTask;\r\n }\r\n\r\n this._renderReason = this._renderReason || renderReason;\r\n\r\n // Create a (micro)task for batch calling rendering\r\n self._renderTask = true;\r\n queueMicrotask(() => {\r\n // Check to see if a _renderTask is still active. If ex. a render has just been done, the _renderTask is null\r\n // and there is no reason to do another render.\r\n self._renderTask && self._render();\r\n });\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Calls the inherited render method and renders the result to DOM. It triggers the\r\n * shouldRender, willRender and onRendered methods, and the render can be stopped by\r\n * returning false from the shouldRender method (unless force is specified).\r\n * @param {boolean} [force] whether the render should be done no matter what\r\n */\r\n _render(force) {\r\n let self = this;\r\n\r\n if (self._destroyed) {\r\n return;\r\n }\r\n\r\n // Do not render anything before the inital connection to the DOM has run. The reason we're preventing\r\n // this is that the shadowRoot (if in use) is not created before the initial connectedCallback has run.\r\n if (!self._firstConnectedDone) {\r\n self._renderTask = null;\r\n return;\r\n }\r\n\r\n let changedPropOrAttribs = self._chPropOrAttrs.splice(0);\r\n\r\n // Allow the component to stop the rendering\r\n let shouldRender = !force && self.shouldRender && self.shouldRender(changedPropOrAttribs);\r\n\r\n if (!force && shouldRender === false) {\r\n self._renderTask = null;\r\n return;\r\n }\r\n\r\n // Give the component a last change to update properties used in the render\r\n self.willRender?.(changedPropOrAttribs);\r\n\r\n // Trigger the onFirstRender if not already done\r\n if (!self._firstRenderDone && self.isConnected) {\r\n self.onFirstRender?.();\r\n self.$triggerEvent(self._tag + '-firstrender');\r\n }\r\n\r\n self._renderTask = null;\r\n self._chPropOrAttrs.length = 0;\r\n\r\n render(self.render(self._renderReason), self.shadowRoot || self, { host: self });\r\n\r\n // Trigger the onFirstRendered if not already done\r\n if (!self._firstRenderDone && self.isConnected) {\r\n self._firstRenderDone = true;\r\n self.onFirstRendered?.();\r\n self.$triggerEvent(self._tag + '-firstrendered');\r\n }\r\n self._renderReason = null;\r\n\r\n // Important that code in onRendered does not trigger a rerender, it's supposed to be\r\n // used to ex. set focus to an element etc. But in case it happens we try here to convert\r\n // it to an async render.\r\n if (self.onRendered) {\r\n self.onRendered(changedPropOrAttribs);\r\n\r\n if (self._renderTask) {\r\n self._renderTask = null;\r\n self.requestAsyncRender('renderRequestInOnRendered')\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Trigger and/or dispatch an event\r\n * @param {string} eventName the name of the event\r\n * @param {boolean} [dispatch] dispatch an event (default true)\r\n * @param {boolean} [event] trigger an lithtml event (default true)\r\n */\r\n $triggerEvent(eventName, { dispatch = true, event = true, data } = {}) {\r\n let self = this;\r\n\r\n dispatch && self.dispatchEvent(new CustomEvent(eventName, { bubbles: true, detail: data }));\r\n event && events.emit(eventName, () => ({ event: eventName, target: self, id: self.id, data }));\r\n\r\n return self;\r\n }\r\n\r\n// TODO: https://stackblitz.com/edit/lit-html-script-tag?file=src%2Fscript.js\r\n\r\n /**\r\n * Force an immediate render, use if a synchronous render is needed.\r\n */\r\n forceRender(renderReason) {\r\n this._renderReason = renderReason || 'forced';\r\n this._render(true);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Request a microtask-async render, use if some data not in observedAttributes or observedProperties\r\n * is updated and an update of the DOM is needed.\r\n * @param {string} [renderReason] info about the reason for rendering (mostly useful for debugging)\r\n */\r\n requestRender(renderReason) {\r\n return this._createRenderTask(renderReason || 'requested');\r\n }\r\n\r\n /**\r\n * Request an async render, use if a 'real' async is needed, and not a microtask async render.\r\n * @param {string} [renderReason] info about the reason for rendering (mostly useful for debugging)\r\n */\r\n requestAsyncRender(renderReason) {\r\n let self = this;\r\n\r\n if (self._requestedAsyncRender) {\r\n return self;\r\n }\r\n\r\n self._requestedAsyncRender = true;\r\n\r\n setZeroTimeout(() => {\r\n self._createRenderTask(renderReason || 'asyncRequested');\r\n self._requestedAsyncRender = false;\r\n });\r\n\r\n return self;\r\n }\r\n\r\n /** Event called when the CustomElement is removed from the DOM */\r\n disconnectedCallback() {\r\n let self = this;\r\n let parent = self;\r\n\r\n // If the element still have a parent here, it's probably because the element is beeing moved\r\n // around the DOM and we'll try to trigger an onMoved event instead of an onDisconnect event\r\n while (parent.parentElement) { parent = parent.parentElement; }\r\n\r\n if (parent === document.documentElement) {\r\n self._justDisconnected = true;\r\n\r\n queueMicrotask(() => {\r\n // If still self._justDisconnected that means that connected has not been run,\r\n // which again means that the this time the element has not been moved but been\r\n // disconnected for real\r\n if (self._justDisconnected) {\r\n self._justDisconnected = false;\r\n self.onDisconnected?.();\r\n self.$triggerEvent(self._tag + '-disconnected');\r\n }\r\n });\r\n\r\n return;\r\n };\r\n\r\n self.onDisconnected?.();\r\n self.$triggerEvent(self._tag + '-disconnected');\r\n }\r\n\r\n /** Event called when the CustomElement is added/attached to the DOM */\r\n connectedCallback() {\r\n let self = this;\r\n\r\n // If self._justDisconnected is true this means that the element has been moved instead\r\n // of having a 'real' disconnect, so we make sure that we trigger a moved event instead\r\n // of connected.\r\n if (self._justDisconnected) {\r\n self._justDisconnected = false;\r\n self.onMoved?.();\r\n self.$triggerEvent(self._tag + '-moved');\r\n return;\r\n }\r\n\r\n if (!self._firstConnectedDone) {\r\n self._firstConnectedDone = true;\r\n\r\n // Populate all initial attributes\r\n self.getAttributeNames().forEach(attrName => {\r\n let propName = camelize(attrName);\r\n\r\n self.$attribs[propName] = self[propName] || self.$getValFromString(self.getAttribute(attrName));\r\n })\r\n\r\n // Create shadowRoot? The default is true, but it can be overridden by using the attribute use-shadow-root.\r\n //let useShadowRoot = self.$getAttrib('use-shadow-root');\r\n //if (useShadowRoot === true || useShadowRoot === false) {\r\n // self.options.useShadowRoot = useShadowRoot;\r\n //}\r\n\r\n self.options.useShadowRoot && self.attachShadow({ mode: 'open' });\r\n\r\n // If the user is has tried to set the shadowStyle before the shadowRoot is created\r\n // we now make sure it's set\r\n if (self._css) {\r\n self.$setShadowStyle(self._css);\r\n self._css = null;\r\n }\r\n\r\n self.onFirstConnected?.();\r\n self.$triggerEvent(self._tag + '-firstconnected');\r\n\r\n // Make sure we trigger an initial render. After the render has run once, there is no need\r\n // to trigger a new one each time the element is reconnected, since any changes demanding a\r\n // render will happen based on prop/attrib changes or specifically calling for it.\r\n self._createRenderTask('onFirstConnected');\r\n }\r\n\r\n self.onConnected?.();\r\n self.$triggerEvent(self._tag + '-connected');\r\n }\r\n\r\n /** Event called when the CustomElement is adopted (moved from one DOM to another) */\r\n adoptedCallback() {\r\n let self = this;\r\n\r\n self.$triggerEvent(self._tag + '-adopted');\r\n self.onAdopted?.();\r\n }\r\n\r\n /**\r\n * Event called when an observed attribute changes value\r\n * @param {string} name the name of the attribute\r\n * @param {string} oldValue the old value of the attribute\r\n * @param {string} newValue the new value of the attribute\r\n */\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n let self = this;\r\n\r\n if ((oldValue === newValue) || self._propChangeInProgress) {\r\n return;\r\n }\r\n // We have a backing field for all observed attributes\r\n let propName = self._attrToProps[name];\r\n let propFieldName = '$$prop$$' + (propName || '').toLowerCase();\r\n\r\n // Get the correct old value\r\n if (propFieldName in self) {\r\n oldValue = self[propFieldName];\r\n }\r\n\r\n // Get the 'correct' newValue based on it coming from .setAttribute or $setAttrib\r\n newValue = self._newAttribValue !== emptyAttrib ? self._newAttribValue : self.$getValFromString(newValue);\r\n\r\n if (oldValue === newValue) {\r\n return;\r\n }\r\n\r\n self._createRenderTask('observedAttribChange');\r\n self.onAttributeChanged?.(name, oldValue, newValue);\r\n\r\n // Setting the property here will trigger an onPropertyChanged event which will\r\n // also make sure the _chPropOrAttrs array gets updated\r\n self._attribChangeInProgress = true\r\n\r\n propName && (self[propName] = newValue);\r\n self._attribChangeInProgress = false\r\n }\r\n\r\n /**\r\n * The render method, called each time the custom element needs to be updated/rendered\r\n * @param {string} renderReason the reason for the render beeing called\r\n * @returns {import(\"./types/lit-html\").TemplateResult} the template to be rendered\r\n * */\r\n render(renderReason) {\r\n return nothing;\r\n }\r\n\r\n /** Destroys the element */\r\n destroy() {\r\n let self = this;\r\n\r\n if (self._destroyed) {\r\n return;\r\n }\r\n\r\n self._destroyed = true;\r\n\r\n self.onDestroy?.();\r\n\r\n self._newAttribValue = null;\r\n self.options = null;\r\n\r\n self._obsAttrs.length = 0;\r\n self._obsAttrs = null;\r\n\r\n self._chPropOrAttrs.length = 0;\r\n self._chPropOrAttrs = null;\r\n\r\n self._obsProps.forEach(prop => {\r\n delete self['$$prop$$' + prop.toLowerCase()];\r\n delete self[prop];\r\n });\r\n self._obsProps.length = 0;\r\n self._obsProps = null;\r\n\r\n self._attrToProps = null;\r\n self._propToAttrs = null;\r\n self._css = null;\r\n self.$attribs = null;\r\n\r\n self.parentElement?.removeChild(self);\r\n\r\n self.render = () => nothing;\r\n\r\n self.$triggerEvent(self._tag + '-destroyed', { dispatch: false });\r\n }\r\n\r\n /**\r\n * Appends an eventlistener (this is a wrapper around addEventListener)\r\n * @param {string} eventName the event to react to\r\n * @param {EventListenerOrEventListenerObject} callback the event handler\r\n * @param {boolean|AddEventListenerOptions|undefined} [options] options\r\n * @returns {CustomHTMLElement}\r\n */\r\n on(eventName, callback, options) {\r\n this.addEventListener(eventName, callback, options);\r\n return this;\r\n }\r\n\r\n /**\r\n * Removes an eventlistener (this is a wrapper around removeEventListener)\r\n * @param {string} eventName\r\n * @param {EventListenerOrEventListenerObject} callback\r\n * @param {boolean|AddEventListenerOptions|undefined} options\r\n * @returns {CustomHTMLElement}\r\n */\r\n off(eventName, callback, options) {\r\n this.removeEventListener(eventName, callback, options);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the value of an attribute. The value returned is the string converted value, which can be string, number, boolean, object, array, ...\r\n * @param {string} attr the attribute name\r\n * @returns {any} the attribute value\r\n */\r\n $getAttrib(attr) {\r\n let self = this;\r\n\r\n // If the attribute is also a property where we use get/set then make sure we return\r\n // the 'real' value of the attribute, and not just the string representation (attributes are always strings).\r\n let propName = camelize(attr);\r\n\r\n if (self._obsProps.indexOf(propName) !== -1){\r\n return self[propName];\r\n }\r\n\r\n// if (attr in self) {\r\n//window.console.log('$getAttrib', attr, '- in self')\r\n// return self[attr];\r\n// }\r\n\r\n return self.$getValFromString(self.getAttribute(attr));\r\n }\r\n\r\n /**\r\n * Sets an attribute value\r\n * @param {string} attr the attribute name\r\n * @param {any} val the value of the attribute\r\n */\r\n $setAttrib(attr, val) {\r\n let self = this;\r\n let propName = '$$prop$$' + (self._attrToProps[attr] || '').toLowerCase();\r\n\r\n // If the attribute is also an observed attribute/property then make sure we keep\r\n // the 'real' value of the attribute, and not just the string representation (attributes are always strings).\r\n self._newAttribValue = propName in self ? val : emptyAttrib;\r\n\r\n // NB! Calling set/remove-Attribute here triggers an attributeChangedCallback for\r\n // observed attributes, which is the reason we set the _newAttribValue so that the\r\n // callback can differentiate between internal set attributes and external.\r\n if (!val && val !== false) {\r\n self.removeAttribute(attr);\r\n }\r\n else {\r\n (isObject(val) || isArray(val))\r\n ? self.setAttribute(attr, JSON.stringify(val))\r\n : self.setAttribute(attr, val);\r\n }\r\n\r\n self._newAttribValue = emptyAttrib;\r\n\r\n return self;\r\n }\r\n\r\n /**\r\n * Tries to convert a string to it's correct type\r\n * @param {string} val the string to be converted\r\n */\r\n $getValFromString(val) {\r\n if (!val) {\r\n return val;\r\n }\r\n\r\n if (val[0] === '{') {\r\n if (val !== '{}' && val.indexOf(':') === -1) {\r\n return val;\r\n }\r\n\r\n return tryParse(val) || val;\r\n }\r\n\r\n if (val[0] === '[') {\r\n return tryParse(val) || val;\r\n }\r\n\r\n let number = parseFloat(val);\r\n\r\n if (!isNaN(number)) {\r\n return number;\r\n }\r\n\r\n return val === 'true'\r\n ? true\r\n : val === 'false'\r\n ? false\r\n : val === 'null'\r\n ? null\r\n : val === 'undefined'\r\n ? undefined\r\n : val;\r\n }\r\n\r\n /**\r\n * Sets the styling of the element\r\n * @param {string} css the css\r\n */\r\n $setShadowStyle(css) {\r\n let self = this;\r\n\r\n // Need to make sure that the shadowRoot exists, which has happened when firstConnected is called\r\n if (!self._firstConnectedDone) {\r\n self._css = css;\r\n return self;\r\n }\r\n\r\n if (!self.shadowRoot) {\r\n throw {\r\n message: 'Can only use $setShadowStyle on web component using shadowRoot'\r\n }\r\n }\r\n\r\n css = css.replace('', '');\r\n\r\n // Use adoptedStyleSheets?\r\n // INFO:\r\n // https://github.com/lit/lit/blob/00b8c56422fc2577e265393cec6726a4e71a561f/packages/reactive-element/src/css-tag.ts#L99\r\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/adoptedStyleSheets\r\n // https://web.dev/constructable-stylesheets/\r\n if ('adoptedStyleSheets' in Document.prototype && 'replace' in CSSStyleSheet.prototype) {\r\n let sheet = new CSSStyleSheet();\r\n\r\n sheet.replaceSync(css);\r\n self.shadowRoot.adoptedStyleSheets = [sheet];\r\n }\r\n else {\r\n let style = document.createElement('style');\r\n\r\n style.textContent = css;\r\n self.shadowRoot.appendChild(style);\r\n }\r\n\r\n return self;\r\n }\r\n}\r\n\r\nclass CustomTokenHTMLElement extends CustomHTMLElement {\r\n /**\r\n * Constructor\r\n */\r\n constructor(DerivedClass, options) {\r\n super(DerivedClass, options);\r\n\r\n let self = this;\r\n\r\n self._addReactiveProperty('userData');\r\n self._checkForUserInfoAndToken = self._checkForUserInfoAndToken.bind(self);\r\n }\r\n\r\n /**\r\n * Callback called when the custom element has been connected to the DOM for the first time\r\n * NB! Inherited Custom Elements *must* call super.onFirstConencted() if overriding this method\r\n */\r\n onFirstConnected() {\r\n this._checkForUserInfoAndToken();\r\n }\r\n\r\n /**\r\n * Called when destroy has been called on the element, so we do some cleanup\r\n * NB! Inherited Custom Elements *must* call super.onDestroy() if overriding this method\r\n */\r\n onDestroy () {\r\n let self = this;\r\n\r\n self._timeoutTokenId && clearTimeout(self._timeoutTokenId);\r\n self._timeoutTokenId = null;\r\n }\r\n\r\n /**\r\n * Make sure that we do not stop asking for userinfo and token until we get them. We do this\r\n * in case the user attaches an eventlistener for the 'needUserInfoAndToken' event after the\r\n * html element is attached to the DOM. The events bubble, so this can easily be avoided by\r\n * ex. attaching the eventlistener on the document (which will then automatically also work\r\n * for dynamically added elements)\r\n */\r\n _checkForUserInfoAndToken() {\r\n let self = this;\r\n\r\n if (self.userData) {\r\n return;\r\n }\r\n\r\n if (self._checkedNoOfTimes > 10) {\r\n return;\r\n }\r\n\r\n\r\n self._checkedNoOfTimes = self._checkedNoOfTimes || 0;\r\n self._checkedNoOfTimes++;\r\n self.$triggerEvent('web-component-needUserInfoAndToken')\r\n\r\n setTimeout(self._checkForUserInfoAndToken, 25);\r\n }\r\n\r\n /**\r\n * Updated the userinfo and token\r\n */\r\n updateUserInfoAndToken(tokenAndUserInfo) {\r\n if (!tokenAndUserInfo.accessToken) {\r\n window['console'].log('Missing accesstoken');\r\n return;\r\n }\r\n\r\n let self = this;\r\n let token = JSON.parse(window.atob(tokenAndUserInfo.accessToken.split('.')[1]));\r\n\r\n tokenAndUserInfo.identity = tokenAndUserInfo.userInfo;\r\n\r\n self.userData = tokenAndUserInfo;\r\n self.onUserData?.(self.userData);\r\n\r\n // Make sure we request a new updated token token when the current one is about to expire\r\n let now = parseInt(Date.now() / 1000);\r\n let timeoutInSec = (token.exp - now - 10);\r\n\r\n //\r\n if (timeoutInSec <= 0) {\r\n timeoutInSec = 20;\r\n }\r\n\r\n self._timeoutTokenId && clearTimeout(self._timeoutTokenId);\r\n self._timeoutTokenId = setTimeout(() => self.$triggerEvent('web-component-needUserInfoAndToken'), timeoutInSec * 1000);\r\n }\r\n}\r\n\r\n\r\n\r\n/**\r\n * Parses a string template and converts it to a TemplateResult calling function, of which the\r\n * result can be used in the render function\r\n * @type {typeof import('./lithtmltypes').CreateTemplateFn}\r\n */\r\nlet createTemplateFn = (strTemplate, options) => {\r\n let { context, contextParams, thisContext } = options || {};\r\n\r\n let templateFn = new Function('lithtml', '$context', `\r\n let { ${ (contextParams || []).join(',') } } = $context;\r\n let { nothing,noChange,html,svg,repeat,cache,choose,classMap,guard,ifDefined,join,keyed,live,map,range,ref,createRef,styleMap,until,when,asyncAppend,asyncReplace,templateContent,unsafeHTML,unsafeSVG,createTemplateFn,utils,virtualize,virtualizerRef } = lithtml;\r\n return html${ ('`' + strTemplate + '`') };`);\r\n\r\n if (thisContext) {\r\n templateFn = templateFn.bind(thisContext);\r\n }\r\n\r\n return (ctx) => templateFn(lithtml, ctx || context || {});\r\n}\r\n\r\n/**\r\n * Takes a template string and optional context/data and renders the template to a DocumentFragment\r\n * @type {typeof import('./lithtmltypes').renderStrToEl}\r\n */\r\nlet renderStrToEl = (strTemplate, options) => {\r\n let htmlFn = createTemplateFn(strTemplate, options);\r\n let target = new DocumentFragment();\r\n\r\n render(htmlFn(), target);\r\n\r\n return target;\r\n}\r\n\r\n/**\r\n * Takes a template string and optional context/data and renders the template to a string\r\n * @type {typeof import('./lithtmltypes').RenderStrToHtmlFn}\r\n */\r\nlet renderStrToHtml = (strTemplate, options) => {\r\n let fragment = renderStrToEl(strTemplate, options);\r\n let tempEl = document.createElement('script');\r\n\r\n tempEl.type='text/html';\r\n tempEl.appendChild(fragment)\r\n\r\n return tempEl.innerHTML.trim().replaceAll(/\\x3C![^>]*>/gi, '');\r\n}\r\n\r\n/**\r\n * Add translations recursively to the root of the translation object\r\n * @param {string} prefix the prefix added in fron of the translation keys (ex. '', 'Status.', ...)\r\n * @param {object} langObj the object containing the language translations\r\n * @param {object} translationObj the resulting translation object\r\n * @param {number} [index] optional index into the array of translations\r\n */\r\nlet addLanguageRec = (prefix, langObj, translationObj, index = -1) => {\r\n Object.keys(langObj).forEach(key => {\r\n let text = langObj[key];\r\n\r\n if (isObject(text)) {\r\n addLanguageRec(prefix + key + '.', text, translationObj, index);\r\n }\r\n else {\r\n translationObj[prefix + key] = index === -1 ? text : text[index];\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Initializes a new translations function\r\n * @param tagOrBaseTranslationUrl [string] the tag or the base url for language json files that may be downloaded\r\n * @param version [string=] the tag version\r\n */\r\nlet translateInit = (tagOrBaseTranslationUrl, version) => {\r\n let translations = Object.create(null)\r\n let currTranslation = defTranslation = translations\r\n let translationBaseUrl\r\n\r\n if (version) {\r\n translationBaseUrl = `https://cdnpowel.azureedge.net/scripts/webcomponents/${tagOrBaseTranslationUrl}/${version}`;\r\n }\r\n else if (tagOrBaseTranslationUrl) {\r\n translationBaseUrl = tagOrBaseTranslationUrl\r\n }\r\n\r\n /** @type{import('./lithtmltypes').TranslateFunc} */\r\n let t = (key) => currTranslation[key] || defTranslation[key] || key;\r\n\r\n t.add = (lang, data) => {\r\n let langName;\r\n\r\n if (typeof(lang) === 'string') {\r\n langName = lang;\r\n addLanguageRec('', data, translations[lang] || (translations[lang] = Object.create(null)));\r\n }\r\n else if (isArray(lang)) {\r\n langName = lang[0];\r\n lang.forEach((langName, index) => addLanguageRec('', data, translations[langName] || (translations[langName] = Object.create(null)), index));\r\n }\r\n else if (isObject(lang)) {\r\n langName = Object.keys(lang)[0];\r\n Object.keys(lang).forEach(langName => addLanguageRec('', lang[langName], (translations[langName] = Object.create(null))))\r\n }\r\n\r\n // Set default language if not already done\r\n let globalLang = translations[lithtml.translation.language];\r\n\r\n if (globalLang) {\r\n if (currTranslation === translations) {\r\n currTranslation = globalLang;\r\n }\r\n\r\n if (defTranslation === translations) {\r\n defTranslation = globalLang;\r\n }\r\n }\r\n\r\n // Make sure we do have a translation in case the global translation is missing\r\n if (currTranslation === translations) {\r\n currTranslation = defTranslation = translations[langName];\r\n }\r\n\r\n return t;\r\n }\r\n\r\n t.defTranslation = (langName) => {\r\n let translationToUse = translations[langName];\r\n\r\n if (translationToUse) {\r\n defTranslation = translationToUse;\r\n }\r\n\r\n return t;\r\n }\r\n\r\n t.useLang = (langName) => {\r\n let translationToUse = translations[langName];\r\n\r\n if (translationToUse) {\r\n currTranslation = translationToUse;\r\n\r\n if (defTranslation === translations) {\r\n defTranslation = currTranslation;\r\n }\r\n }\r\n\r\n return t;\r\n }\r\n\r\n t.load = (langName) => {\r\n if (translations[langName]) {\r\n t.useLang(langName);\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n if (!translationBaseUrl) {\r\n return Promise.resolve();\r\n }\r\n\r\n return fetch(`${translationBaseUrl}/${langName}.json`)\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n }\r\n })\r\n .then(data => {\r\n if (data) {\r\n t.add(langName, data).useLang(langName);\r\n// TODO: When done, call t.onLangLoaded()\r\n }\r\n\r\n return data;\r\n });\r\n }\r\n\r\n t.setTranslation = (langObj) => {\r\n currTranslation = langObj;\r\n\r\n return t;\r\n }\r\n\r\n t.destroy = () => {\r\n translations = Object.create(null);\r\n currTranslation = null;\r\n defTranslation = null;\r\n }\r\n\r\n return t;\r\n}\r\n\r\n/** The global lithtml object */\r\nlet lithtml = Object.create(events);\r\n\r\n/** The current language */\r\nlet currLanguage = (location.href.split('lang=')[1] || '').substring(0,2);\r\n\r\nif (!currLanguage) {\r\n currLanguage = window.appContext?.language;\r\n}\r\n\r\nif (!currLanguage) {\r\n try {\r\n currLanguage = localStorage.getItem('lang');\r\n }\r\n catch(e){}\r\n}\r\n\r\nif (!currLanguage) {\r\n currLanguage = 'en';\r\n}\r\n\r\nlithtml.render = render ;\r\nlithtml.nothing = nothing ;\r\nlithtml.noChange = noChange;\r\nlithtml.html = html ;\r\nlithtml.svg = svg ;\r\n\r\nlithtml.repeat = repeat ;\r\nlithtml.cache = cache ;\r\nlithtml.choose = choose ;\r\nlithtml.classMap = classMap ;\r\nlithtml.guard = guard ;\r\nlithtml.ifDefined = ifDefined ;\r\nlithtml.join = join ;\r\nlithtml.keyed = keyed ;\r\nlithtml.live = live ;\r\nlithtml.map = map ;\r\nlithtml.range = range ;\r\nlithtml.ref = ref ;\r\nlithtml.createRef = createRef ;\r\nlithtml.styleMap = styleMap ;\r\nlithtml.until = until ;\r\nlithtml.when = when ;\r\nlithtml.asyncAppend = asyncAppend ;\r\nlithtml.asyncReplace = asyncReplace ;\r\nlithtml.templateContent = templateContent;\r\nlithtml.unsafeHTML = unsafeHTML ;\r\nlithtml.unsafeSVG = unsafeSVG ;\r\n//lithtml.virtualize = virtualize ;\r\n//lithtml.virtualizerRef = virtualizerRef ;\r\n\r\nlithtml.CustomHTMLElement = CustomHTMLElement;\r\nlithtml.CustomTokenHTMLElement = CustomTokenHTMLElement;\r\n\r\nlithtml.utils = utils;\r\n\r\n/**\r\n * preact signals\r\n * @type {import('./lithtmltypes').Signals}\r\n */\r\nlithtml.signals = {\r\n signal,\r\n batch,\r\n computed,\r\n effect,\r\n subscribe: (signalOrSignals, cb, { runOnSubscribe, batchCallback } = {}) => {\r\n let signals = isArray(signalOrSignals) ? signalOrSignals : [signalOrSignals];\r\n let firstRun = true;\r\n let batching = false;\r\n\r\n return effect(() => {\r\n signals.forEach(signal => signal.value);\r\n\r\n // Callback immediately after calling subscribe?\r\n if (firstRun) {\r\n firstRun = false;\r\n\r\n if (!runOnSubscribe) {\r\n return;\r\n }\r\n }\r\n\r\n // If no batching, run callback immediately on every signal change\r\n if (!batchCallback) {\r\n cb(signals);\r\n return;\r\n }\r\n\r\n if (batching) {\r\n return;\r\n }\r\n// TODO: call dispose here? and subscribe again in the resolved promise? maybe a problem with code that keeps track of the dispose function... --> could be solved with returning an object with dispose in? no need for 'batching' variable.\r\n batching = true;\r\n\r\n queueMicrotask(() => {\r\n cb(signals);\r\n batching = false;\r\n });\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * @type {import('./lithtmltypes').Translation}\r\n */\r\nlithtml.translation = {\r\n get language () { return currLanguage; },\r\n init : translateInit,\r\n useLang: (langName) => {\r\n if (langName && (currLanguage !== langName)) {\r\n currLanguage = langName;\r\n\r\n lithtml.emit('language-changed', { lang: currLanguage });\r\n }\r\n }\r\n};\r\n\r\nlet stateObj = eventify(Object.create(null));\r\n\r\ndelete stateObj.deEventify;\r\ndelete stateObj.clearEvents;\r\n\r\ndefineReadOnlyProperty(lithtml, 'state', Object.create(stateObj));\r\n\r\nlithtml.createTemplateFn = createTemplateFn;\r\nlithtml.renderStrToHtml = renderStrToHtml ;\r\nlithtml.renderStrToEl = renderStrToEl ;\r\nlithtml.eventify = eventify ;\r\nlithtml.version = version ;\r\n\r\nif (!window.lithtml || (window.lithtml.version < lithtml.version)) {\r\n window.lithtml = lithtml;\r\n}\r\n\r\n// Copy this for module min build\r\n//export const { render, nothing, noChange, html, svg, repeat, cache, choose, classMap, guard, ifDefined, join, keyed, live, map, range, ref, createRef, styleMap, until, when, asyncAppend, asyncReplace, templateContent, unsafeHTML, unsafeSVG, CustomHTMLElement, createTemplateFn, eventify, version, emitOnce, emitAsync, emit, once, off, on } = lithtml;\r\n\r\n// Use this for buildtest\r\n//export { render, nothing, noChange, html, svg, repeat, cache, choose, classMap, guard, ifDefined, join, keyed, live, map, range, ref, createRef, styleMap, until, when, asyncAppend, asyncReplace, templateContent, unsafeHTML, unsafeSVG, CustomHTMLElement };\r\n\r\n/*\r\n Example of generating dynamic html with lithtml\r\n\r\n let a = document.createElement('div');\r\n let b = lithtml.createTemplateFn('test ${this.location.href}', { thisContext: window });\r\n lithtml.render(b(), a);\r\n a.innerHTML;\r\n\r\n\r\n lithtml.render(lithtml.html`testcccccc`, document.body)\r\n\r\n\r\n\r\n*/","/**\r\n * lithtml\r\n */\r\nimport {\r\n render ,\r\n nothing ,\r\n noChange,\r\n html ,\r\n svg ,\r\n} from 'lit-html';\r\n\r\nimport { repeat , RepeatDirective } from 'lit-html/directives/repeat'\r\nimport { asyncAppend , AsyncAppendDirective } from 'lit-html/directives/async-append'\r\nimport { asyncReplace , AsyncReplaceDirective } from 'lit-html/directives/async-replace'\r\nimport { cache , CacheDirective } from 'lit-html/directives/cache'\r\nimport { classMap , ClassMapDirective } from 'lit-html/directives/class-map'\r\nimport { guard , GuardDirective } from 'lit-html/directives/guard'\r\nimport { live , LiveDirective } from 'lit-html/directives/live'\r\nimport { ref, createRef , RefDirective } from 'lit-html/directives/ref'\r\nimport { styleMap , StyleMapDirective } from 'lit-html/directives/style-map'\r\nimport { templateContent, TemplateContentDirective } from 'lit-html/directives/template-content'\r\nimport { unsafeHTML , UnsafeHTMLDirective } from 'lit-html/directives/unsafe-html'\r\nimport { unsafeSVG , UnsafeSVGDirective } from 'lit-html/directives/unsafe-svg'\r\nimport { until , UntilDirective } from 'lit-html/directives/until'\r\nimport { choose } from 'lit-html/directives/choose'\r\nimport { ifDefined } from 'lit-html/directives/if-defined'\r\nimport { join } from 'lit-html/directives/join'\r\nimport { keyed } from 'lit-html/directives/keyed'\r\nimport { map } from 'lit-html/directives/map'\r\nimport { range } from 'lit-html/directives/range'\r\nimport { when } from 'lit-html/directives/when'\r\n\r\n//import { virtualize, virtualizerRef } from '@lit-labs/virtualizer/virtualize'\r\n//import { flow } from '@lit-labs/virtualizer/layouts/flow';\r\n\r\nexport {\r\n render ,\r\n nothing ,\r\n noChange ,\r\n html ,\r\n svg ,\r\n\r\n repeat ,\r\n asyncAppend ,\r\n asyncReplace ,\r\n cache ,\r\n choose ,\r\n classMap ,\r\n guard ,\r\n ifDefined ,\r\n join ,\r\n keyed ,\r\n live ,\r\n map ,\r\n range ,\r\n ref ,\r\n createRef ,\r\n styleMap ,\r\n templateContent,\r\n unsafeHTML ,\r\n unsafeSVG ,\r\n until ,\r\n when ,\r\n\r\n //virtualize ,\r\n //virtualizerRef ,\r\n\r\n //flow\r\n}","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"\":\"\",u=f;for(let i=0;i\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"\")+(2===i?\"\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// IMPORTANT: these imports must be type-only\nimport type {Directive, DirectiveResult, PartInfo} from './directive.js';\n\nconst DEV_MODE = true;\nconst ENABLE_EXTRA_SECURITY_HOOKS = true;\nconst ENABLE_SHADYDOM_NOPATCH = true;\nconst NODE_MODE = false;\n// Use window for browser builds because IE11 doesn't have globalThis.\nconst global = NODE_MODE ? globalThis : window;\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace LitUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry =\n | TemplatePrep\n | TemplateInstantiated\n | TemplateInstantiatedAndUpdated\n | TemplateUpdating\n | BeginRender\n | EndRender\n | CommitPartEntry\n | SetPartValue;\n export interface TemplatePrep {\n kind: 'template prep';\n template: Template;\n strings: TemplateStringsArray;\n clonableTemplate: HTMLTemplateElement;\n parts: TemplatePart[];\n }\n export interface BeginRender {\n kind: 'begin render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart | undefined;\n }\n export interface EndRender {\n kind: 'end render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart;\n }\n export interface TemplateInstantiated {\n kind: 'template instantiated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array;\n values: unknown[];\n }\n export interface TemplateInstantiatedAndUpdated {\n kind: 'template instantiated and updated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array;\n values: unknown[];\n }\n export interface TemplateUpdating {\n kind: 'template updating';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n parts: Array;\n values: unknown[];\n }\n export interface SetPartValue {\n kind: 'set part';\n part: Part;\n value: unknown;\n valueIndex: number;\n values: unknown[];\n templateInstance: TemplateInstance;\n }\n\n export type CommitPartEntry =\n | CommitNothingToChildEntry\n | CommitText\n | CommitNode\n | CommitAttribute\n | CommitProperty\n | CommitBooleanAttribute\n | CommitEventListener\n | CommitToElementBinding;\n\n export interface CommitNothingToChildEntry {\n kind: 'commit nothing to child';\n start: ChildNode;\n end: ChildNode | null;\n parent: Disconnectable | undefined;\n options: RenderOptions | undefined;\n }\n\n export interface CommitText {\n kind: 'commit text';\n node: Text;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitNode {\n kind: 'commit node';\n start: Node;\n parent: Disconnectable | undefined;\n value: Node;\n options: RenderOptions | undefined;\n }\n\n export interface CommitAttribute {\n kind: 'commit attribute';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitProperty {\n kind: 'commit property';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitBooleanAttribute {\n kind: 'commit boolean attribute';\n element: Element;\n name: string;\n value: boolean;\n options: RenderOptions | undefined;\n }\n\n export interface CommitEventListener {\n kind: 'commit event listener';\n element: Element;\n name: string;\n value: unknown;\n oldListener: unknown;\n options: RenderOptions | undefined;\n // True if we're removing the old event listener (e.g. because settings changed, or value is nothing)\n removeListener: boolean;\n // True if we're adding a new event listener (e.g. because first render, or settings changed)\n addListener: boolean;\n }\n\n export interface CommitToElementBinding {\n kind: 'commit to element binding';\n element: Element;\n value: unknown;\n options: RenderOptions | undefined;\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: LitUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n// Used for connecting beginRender and endRender events when there are nested\n// renders when errors are thrown preventing an endRender event from being\n// called.\nlet debugLogRenderId = 0;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n global.litIssuedWarnings ??= new Set();\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += code\n ? ` See https://lit.dev/msg/${code} for more information.`\n : '';\n if (!global.litIssuedWarnings!.has(warning)) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n}\n\nconst wrap =\n ENABLE_SHADYDOM_NOPATCH &&\n global.ShadyDOM?.inUse &&\n global.ShadyDOM?.noPatch === true\n ? global.ShadyDOM!.wrap\n : (node: Node) => node;\n\nconst trustedTypes = (global as unknown as Partial).trustedTypes;\n\n/**\n * Our TrustedTypePolicy for HTML which is declared using the html template\n * tag function.\n *\n * That HTML is a developer-authored constant, and is parsed with innerHTML\n * before any untrusted expressions have been mixed in. Therefor it is\n * considered safe by construction.\n */\nconst policy = trustedTypes\n ? trustedTypes.createPolicy('lit-html', {\n createHTML: (s) => s,\n })\n : undefined;\n\n/**\n * Used to sanitize any value before it is written into the DOM. This can be\n * used to implement a security policy of allowed and disallowed values in\n * order to prevent XSS attacks.\n *\n * One way of using this callback would be to check attributes and properties\n * against a list of high risk fields, and require that values written to such\n * fields be instances of a class which is safe by construction. Closure's Safe\n * HTML Types is one implementation of this technique (\n * https://github.com/google/safe-html-types/blob/master/doc/safehtml-types.md).\n * The TrustedTypes polyfill in API-only mode could also be used as a basis\n * for this technique (https://github.com/WICG/trusted-types).\n *\n * @param node The HTML node (usually either a #text node or an Element) that\n * is being written to. Note that this is just an exemplar node, the write\n * may take place against another instance of the same class of node.\n * @param name The name of an attribute or property (for example, 'href').\n * @param type Indicates whether the write that's about to be performed will\n * be to a property or a node.\n * @return A function that will sanitize this class of writes.\n */\nexport type SanitizerFactory = (\n node: Node,\n name: string,\n type: 'property' | 'attribute'\n) => ValueSanitizer;\n\n/**\n * A function which can sanitize values that will be written to a specific kind\n * of DOM sink.\n *\n * See SanitizerFactory.\n *\n * @param value The value to sanitize. Will be the actual value passed into\n * the lit-html template literal, so this could be of any type.\n * @return The value to write to the DOM. Usually the same as the input value,\n * unless sanitization is needed.\n */\nexport type ValueSanitizer = (value: unknown) => unknown;\n\nconst identityFunction: ValueSanitizer = (value: unknown) => value;\nconst noopSanitizer: SanitizerFactory = (\n _node: Node,\n _name: string,\n _type: 'property' | 'attribute'\n) => identityFunction;\n\n/** Sets the global sanitizer factory. */\nconst setSanitizer = (newSanitizer: SanitizerFactory) => {\n if (!ENABLE_EXTRA_SECURITY_HOOKS) {\n return;\n }\n if (sanitizerFactoryInternal !== noopSanitizer) {\n throw new Error(\n `Attempted to overwrite existing lit-html security policy.` +\n ` setSanitizeDOMValueFactory should be called at most once.`\n );\n }\n sanitizerFactoryInternal = newSanitizer;\n};\n\n/**\n * Only used in internal tests, not a part of the public API.\n */\nconst _testOnlyClearSanitizerFactoryDoNotCallOrElse = () => {\n sanitizerFactoryInternal = noopSanitizer;\n};\n\nconst createSanitizer: SanitizerFactory = (node, name, type) => {\n return sanitizerFactoryInternal(node, name, type);\n};\n\n// Added to an attribute name to mark the attribute as bound so we can find\n// it easily.\nconst boundAttributeSuffix = '$lit$';\n\n// This marker is used in many syntactic positions in HTML, so it must be\n// a valid element name and attribute name. We don't support dynamic names (yet)\n// but this at least ensures that the parse tree is closer to the template\n// intention.\nconst marker = `lit$${String(Math.random()).slice(9)}$`;\n\n// String used to tell if a comment is a marker comment\nconst markerMatch = '?' + marker;\n\n// Text used to insert a comment marker node. We use processing instruction\n// syntax because it's slightly smaller, but parses as a comment node.\nconst nodeMarker = `<${markerMatch}>`;\n\nconst d =\n NODE_MODE && global.document === undefined\n ? ({\n createTreeWalker() {\n return {};\n },\n } as unknown as Document)\n : document;\n\n// Creates a dynamic marker. We never have to search for these in the DOM.\nconst createMarker = () => d.createComment('');\n\n// https://tc39.github.io/ecma262/#sec-typeof-operator\ntype Primitive = null | undefined | boolean | number | string | symbol | bigint;\nconst isPrimitive = (value: unknown): value is Primitive =>\n value === null || (typeof value != 'object' && typeof value != 'function');\nconst isArray = Array.isArray;\nconst isIterable = (value: unknown): value is Iterable =>\n isArray(value) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (value as any)?.[Symbol.iterator] === 'function';\n\nconst SPACE_CHAR = `[ \\t\\n\\f\\r]`;\nconst ATTR_VALUE_CHAR = `[^ \\t\\n\\f\\r\"'\\`<>=]`;\nconst NAME_CHAR = `[^\\\\s\"'>=/]`;\n\n// These regexes represent the five parsing states that we care about in the\n// Template's HTML scanner. They match the *end* of the state they're named\n// after.\n// Depending on the match, we transition to a new state. If there's no match,\n// we stay in the same state.\n// Note that the regexes are stateful. We utilize lastIndex and sync it\n// across the multiple regexes used. In addition to the five regexes below\n// we also dynamically create a regex to find the matching end tags for raw\n// text elements.\n\n/**\n * End of text is: `<` followed by:\n * (comment start) or (tag) or (dynamic tag binding)\n */\nconst textEndRegex = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nconst COMMENT_START = 1;\nconst TAG_NAME = 2;\nconst DYNAMIC_TAG_NAME = 3;\n\nconst commentEndRegex = /-->/g;\n/**\n * Comments not started with `--my-button-color`\n prop = prop.includes('-')\n ? prop\n : prop\n .replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, '-$&')\n .toLowerCase();\n return style + `${prop}:${value};`;\n }, '');\n }\n\n override update(part: AttributePart, [styleInfo]: DirectiveParameters) {\n const {style} = part.element as HTMLElement;\n\n if (this._previousStyleProperties === undefined) {\n this._previousStyleProperties = new Set();\n for (const name in styleInfo) {\n this._previousStyleProperties.add(name);\n }\n return this.render(styleInfo);\n }\n\n // Remove old properties that no longer exist in styleInfo\n // We use forEach() instead of for-of so that re don't require down-level\n // iteration.\n this._previousStyleProperties!.forEach((name) => {\n // If the name isn't in styleInfo or it's null/undefined\n if (styleInfo[name] == null) {\n this._previousStyleProperties!.delete(name);\n if (name.includes('-')) {\n style.removeProperty(name);\n } else {\n // Note reset using empty string (vs null) as IE11 does not always\n // reset via null (https://developer.mozilla.org/en-US/docs/Web/API/ElementCSSInlineStyle/style#setting_styles)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (style as any)[name] = '';\n }\n }\n });\n\n // Add or update properties\n for (const name in styleInfo) {\n const value = styleInfo[name];\n if (value != null) {\n this._previousStyleProperties.add(name);\n const isImportant =\n typeof value === 'string' && value.endsWith(importantFlag);\n if (name.includes('-') || isImportant) {\n style.setProperty(\n name,\n isImportant\n ? (value as string).slice(0, flagTrim)\n : (value as string),\n isImportant ? important : ''\n );\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (style as any)[name] = value;\n }\n }\n }\n return noChange;\n }\n}\n\n/**\n * A directive that applies CSS properties to an element.\n *\n * `styleMap` can only be used in the `style` attribute and must be the only\n * expression in the attribute. It takes the property names in the\n * {@link StyleInfo styleInfo} object and adds the properties to the inline\n * style of the element.\n *\n * Property names with dashes (`-`) are assumed to be valid CSS\n * property names and set on the element's style object using `setProperty()`.\n * Names without dashes are assumed to be camelCased JavaScript property names\n * and set on the element's style object using property assignment, allowing the\n * style object to translate JavaScript-style names to CSS property names.\n *\n * For example `styleMap({backgroundColor: 'red', 'border-top': '5px', '--size':\n * '0'})` sets the `background-color`, `border-top` and `--size` properties.\n *\n * @param styleInfo\n * @see {@link https://lit.dev/docs/templates/directives/#stylemap styleMap code samples on Lit.dev}\n */\nexport const styleMap = directive(StyleMapDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {StyleMapDirective};\n","import{noChange as t}from\"../lit-html.js\";import{directive as r,Directive as e,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=r(class extends e{constructor(t){if(super(t),t.type!==n.CHILD)throw Error(\"templateContent can only be used in child bindings\")}render(r){return this.vt===r?t:(this.vt=r,document.importNode(r.content,!0))}});export{o as templateContent};\n//# sourceMappingURL=template-content.js.map\n","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {noChange} from '../lit-html.js';\nimport {directive, Directive, PartInfo, PartType} from '../directive.js';\n\nclass TemplateContentDirective extends Directive {\n private _previousTemplate?: HTMLTemplateElement;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.CHILD) {\n throw new Error('templateContent can only be used in child bindings');\n }\n }\n\n render(template: HTMLTemplateElement) {\n if (this._previousTemplate === template) {\n return noChange;\n }\n this._previousTemplate = template;\n return document.importNode(template.content, true);\n }\n}\n\n/**\n * Renders the content of a template element as HTML.\n *\n * Note, the template should be developer controlled and not user controlled.\n * Rendering a user-controlled template with this directive\n * could lead to cross-site-scripting vulnerabilities.\n */\nexport const templateContent = directive(TemplateContentDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {TemplateContentDirective};\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.et=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.et=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.et)return this.ft;this.et=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing, TemplateResult, noChange} from '../lit-html.js';\nimport {directive, Directive, PartInfo, PartType} from '../directive.js';\n\nconst HTML_RESULT = 1;\n\nexport class UnsafeHTMLDirective extends Directive {\n static directiveName = 'unsafeHTML';\n static resultType = HTML_RESULT;\n\n private _value: unknown = nothing;\n private _templateResult?: TemplateResult;\n\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.CHILD) {\n throw new Error(\n `${\n (this.constructor as typeof UnsafeHTMLDirective).directiveName\n }() can only be used in child bindings`\n );\n }\n }\n\n render(value: string | typeof nothing | typeof noChange | undefined | null) {\n if (value === nothing || value == null) {\n this._templateResult = undefined;\n return (this._value = value);\n }\n if (value === noChange) {\n return value;\n }\n if (typeof value != 'string') {\n throw new Error(\n `${\n (this.constructor as typeof UnsafeHTMLDirective).directiveName\n }() called with a non-string value`\n );\n }\n if (value === this._value) {\n return this._templateResult;\n }\n this._value = value;\n const strings = [value] as unknown as TemplateStringsArray;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (strings as any).raw = strings;\n // WARNING: impersonating a TemplateResult like this is extremely\n // dangerous. Third-party directives should not do this.\n return (this._templateResult = {\n // Cast to a known set of integers that satisfy ResultType so that we\n // don't have to export ResultType and possibly encourage this pattern.\n // This property needs to remain unminified.\n ['_$litType$']: (this.constructor as typeof UnsafeHTMLDirective)\n .resultType as 1 | 2,\n strings,\n values: [],\n });\n }\n}\n\n/**\n * Renders the result as HTML, rather than text.\n *\n * The values `undefined`, `null`, and `nothing`, will all result in no content\n * (empty string) being rendered.\n *\n * Note, this is unsafe to use with any user-provided input that hasn't been\n * sanitized or escaped, as it may lead to cross-site-scripting\n * vulnerabilities.\n */\nexport const unsafeHTML = directive(UnsafeHTMLDirective);\n","import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {directive} from '../directive.js';\nimport {UnsafeHTMLDirective} from './unsafe-html.js';\n\nconst SVG_RESULT = 2;\n\nclass UnsafeSVGDirective extends UnsafeHTMLDirective {\n static override directiveName = 'unsafeSVG';\n static override resultType = SVG_RESULT;\n}\n\n/**\n * Renders the result as SVG, rather than text.\n *\n * The values `undefined`, `null`, and `nothing`, will all result in no content\n * (empty string) being rendered.\n *\n * Note, this is unsafe to use with any user-provided input that hasn't been\n * sanitized or escaped, as it may lead to cross-site-scripting\n * vulnerabilities.\n */\nexport const unsafeSVG = directive(UnsafeSVGDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {UnsafeSVGDirective};\n","import{noChange as t}from\"../lit-html.js\";import{isPrimitive as s}from\"../directive-helpers.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{PseudoWeakRef as r,Pauser as e}from\"./private-async-helpers.js\";import{directive as o}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=t=>!s(t)&&\"function\"==typeof t.then,h=1073741823;class c extends i{constructor(){super(...arguments),this._$C_t=h,this._$Cwt=[],this._$Cq=new r(this),this._$CK=new e}render(...s){var i;return null!==(i=s.find((t=>!n(t))))&&void 0!==i?i:t}update(s,i){const r=this._$Cwt;let e=r.length;this._$Cwt=i;const o=this._$Cq,c=this._$CK;this.isConnected||this.disconnected();for(let t=0;tthis._$C_t);t++){const s=i[t];if(!n(s))return this._$C_t=t,s;t{for(;c.get();)await c.get();const i=o.deref();if(void 0!==i){const r=i._$Cwt.indexOf(s);r>-1&&r {\n return !isPrimitive(x) && typeof (x as {then?: unknown}).then === 'function';\n};\n// Effectively infinity, but a SMI.\nconst _infinity = 0x3fffffff;\n\nexport class UntilDirective extends AsyncDirective {\n private __lastRenderedIndex: number = _infinity;\n private __values: unknown[] = [];\n private __weakThis = new PseudoWeakRef(this);\n private __pauser = new Pauser();\n\n render(...args: Array) {\n return args.find((x) => !isPromise(x)) ?? noChange;\n }\n\n override update(_part: Part, args: Array) {\n const previousValues = this.__values;\n let previousLength = previousValues.length;\n this.__values = args;\n\n const weakThis = this.__weakThis;\n const pauser = this.__pauser;\n\n // If our initial render occurs while disconnected, ensure that the pauser\n // and weakThis are in the disconnected state\n if (!this.isConnected) {\n this.disconnected();\n }\n\n for (let i = 0; i < args.length; i++) {\n // If we've rendered a higher-priority value already, stop.\n if (i > this.__lastRenderedIndex) {\n break;\n }\n\n const value = args[i];\n\n // Render non-Promise values immediately\n if (!isPromise(value)) {\n this.__lastRenderedIndex = i;\n // Since a lower-priority value will never overwrite a higher-priority\n // synchronous value, we can stop processing now.\n return value;\n }\n\n // If this is a Promise we've already handled, skip it.\n if (i < previousLength && value === previousValues[i]) {\n continue;\n }\n\n // We have a Promise that we haven't seen before, so priorities may have\n // changed. Forget what we rendered before.\n this.__lastRenderedIndex = _infinity;\n previousLength = 0;\n\n // Note, the callback avoids closing over `this` so that the directive\n // can be gc'ed before the promise resolves; instead `this` is retrieved\n // from `weakThis`, which can break the hard reference in the closure when\n // the directive disconnects\n Promise.resolve(value).then(async (result: unknown) => {\n // If we're disconnected, wait until we're (maybe) reconnected\n // The while loop here handles the case that the connection state\n // thrashes, causing the pauser to resume and then get re-paused\n while (pauser.get()) {\n await pauser.get();\n }\n // If the callback gets here and there is no `this`, it means that the\n // directive has been disconnected and garbage collected and we don't\n // need to do anything else\n const _this = weakThis.deref();\n if (_this !== undefined) {\n const index = _this.__values.indexOf(value);\n // If state.values doesn't contain the value, we've re-rendered without\n // the value, so don't render it. Then, only render if the value is\n // higher-priority than what's already been rendered.\n if (index > -1 && index < _this.__lastRenderedIndex) {\n _this.__lastRenderedIndex = index;\n _this.setValue(result);\n }\n }\n });\n }\n\n return noChange;\n }\n\n override disconnected() {\n this.__weakThis.disconnect();\n this.__pauser.pause();\n }\n\n override reconnected() {\n this.__weakThis.reconnect(this);\n this.__pauser.resume();\n }\n}\n\n/**\n * Renders one of a series of values, including Promises, to a Part.\n *\n * Values are rendered in priority order, with the first argument having the\n * highest priority and the last argument having the lowest priority. If a\n * value is a Promise, low-priority values will be rendered until it resolves.\n *\n * The priority of values can be used to create placeholder content for async\n * data. For example, a Promise with pending content can be the first,\n * highest-priority, argument, and a non_promise loading indicator template can\n * be used as the second, lower-priority, argument. The loading indicator will\n * render immediately, and the primary content will render when the Promise\n * resolves.\n *\n * Example:\n *\n * ```js\n * const content = fetch('./content.txt').then(r => r.text());\n * html`${until(content, html`Loading...`)}`\n * ```\n */\nexport const until = directive(UntilDirective);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\n// export type {UntilDirective};\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst o=(o,r,n)=>{for(const n of r)if(n[0]===o)return(0,n[1])();return null==n?void 0:n()};export{o as choose};\n//# sourceMappingURL=choose.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Chooses and evaluates a template function from a list based on matching\n * the given `value` to a case.\n *\n * Cases are structured as `[caseValue, func]`. `value` is matched to\n * `caseValue` by strict equality. The first match is selected. Case values\n * can be of any type including primitives, objects, and symbols.\n *\n * This is similar to a switch statement, but as an expression and without\n * fallthrough.\n *\n * @example\n *\n * ```ts\n * render() {\n * return html`\n * ${choose(this.section, [\n * ['home', () => html`

Home

`],\n * ['about', () => html`

About

`]\n * ],\n * () => html`

Error

`)}\n * `;\n * }\n * ```\n */\nexport const choose = (\n value: T,\n cases: Array<[T, () => V]>,\n defaultCase?: () => V\n) => {\n for (const c of cases) {\n const caseValue = c[0];\n if (caseValue === value) {\n const fn = c[1];\n return fn();\n }\n }\n return defaultCase?.();\n};\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing} from '../lit-html.js';\n\n/**\n * For AttributeParts, sets the attribute if the value is defined and removes\n * the attribute if the value is undefined.\n *\n * For other part types, this directive is a no-op.\n */\nexport const ifDefined = (value: T) => value ?? nothing;\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction*o(o,t){const f=\"function\"==typeof t;if(void 0!==o){let i=-1;for(const n of o)i>-1&&(yield f?t(i):t),i++,yield n}}export{o as join};\n//# sourceMappingURL=join.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Returns an iterable containing the values in `items` interleaved with the\n * `joiner` value.\n *\n * @example\n *\n * ```ts\n * render() {\n * return html`\n * ${join(items, html`|`)}\n * `;\n * }\n */\nexport function join(\n items: Iterable | undefined,\n joiner: (index: number) => J\n): Iterable;\nexport function join(\n items: Iterable | undefined,\n joiner: J\n): Iterable;\nexport function* join(items: Iterable | undefined, joiner: J) {\n const isFunction = typeof joiner === 'function';\n if (items !== undefined) {\n let i = -1;\n for (const value of items) {\n if (i > -1) {\n yield isFunction ? joiner(i) : joiner;\n }\n i++;\n yield value;\n }\n }\n}\n","import{nothing as r}from\"../lit-html.js\";import{directive as t,Directive as e}from\"../directive.js\";import{setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const i=t(class extends e{constructor(){super(...arguments),this.key=r}render(r,t){return this.key=r,t}update(r,[t,e]){return t!==this.key&&(s(r),this.key=t),e}});export{i as keyed};\n//# sourceMappingURL=keyed.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing} from '../lit-html.js';\nimport {\n directive,\n Directive,\n ChildPart,\n DirectiveParameters,\n} from '../directive.js';\nimport {setCommittedValue} from '../directive-helpers.js';\n\nclass Keyed extends Directive {\n key: unknown = nothing;\n\n render(k: unknown, v: unknown) {\n this.key = k;\n return v;\n }\n\n override update(part: ChildPart, [k, v]: DirectiveParameters) {\n if (k !== this.key) {\n // Clear the part before returning a value. The one-arg form of\n // setCommittedValue sets the value to a sentinel which forces a\n // commit the next render.\n setCommittedValue(part);\n this.key = k;\n }\n return v;\n }\n}\n\n/**\n * Associates a renderable value with a unique key. When the key changes, the\n * previous DOM is removed and disposed before rendering the next value, even\n * if the value - such as a template - is the same.\n *\n * This is useful for forcing re-renders of stateful components, or working\n * with code that expects new data to generate new HTML elements, such as some\n * animation techniques.\n */\nexport const keyed = directive(Keyed);\n\n/**\n * The type of the class that powers this directive. Necessary for naming the\n * directive's return type.\n */\nexport type {Keyed};\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction*o(o,f){if(void 0!==o){let i=0;for(const t of o)yield f(t,i++)}}export{o as map};\n//# sourceMappingURL=map.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Returns an iterable containing the result of calling `f(value)` on each\n * value in `items`.\n *\n * @example\n *\n * ```ts\n * render() {\n * return html`\n *
    \n * ${map(items, (i) => html`
  • ${i}
  • `)}\n *
\n * `;\n * }\n * ```\n */\nexport function* map(\n items: Iterable | undefined,\n f: (value: T, index: number) => unknown\n) {\n if (items !== undefined) {\n let i = 0;\n for (const value of items) {\n yield f(value, i++);\n }\n }\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction*o(o,l,n=1){const t=void 0===l?0:o;null!=l||(l=o);for(let o=t;n>0?o html`
`)}\n * `;\n * }\n * ```\n */\nexport function range(end: number): Iterable;\nexport function range(\n start: number,\n end: number,\n step?: number\n): Iterable;\nexport function* range(startOrEnd: number, end?: number, step = 1) {\n const start = end === undefined ? 0 : startOrEnd;\n end ??= startOrEnd;\n for (let i = start; step > 0 ? i < end : end < i; i += step) {\n yield i;\n }\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n,o,r){return n?o():null==r?void 0:r()}export{n as when};\n//# sourceMappingURL=when.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * When `condition` is true, returns the result of calling `trueCase()`, else\n * returns the result of calling `falseCase()` if `falseCase` is defined.\n *\n * This is a convenience wrapper around a ternary expression that makes it a\n * little nicer to write an inline conditional without an else.\n *\n * @example\n *\n * ```ts\n * render() {\n * return html`\n * ${when(this.user, () => html`User: ${this.user.username}`, () => html`Sign In...`)}\n * `;\n * }\n * ```\n */\nexport function when(\n condition: true,\n trueCase: () => T,\n falseCase?: () => F\n): T;\nexport function when(\n condition: false,\n trueCase: () => T,\n falseCase?: () => F\n): F;\nexport function when(\n condition: unknown,\n trueCase: () => T,\n falseCase?: () => F\n): T | F;\nexport function when(\n condition: unknown,\n trueCase: () => unknown,\n falseCase?: () => unknown\n): unknown {\n return condition ? trueCase() : falseCase?.();\n}\n","'use strict';\r\n\r\n/**\r\n * Eventifies an object (built with inspiration from smokesignals)\r\n * @param {object} obj the object to be eventified\r\n * @returns the object\r\n */\r\nlet eventify = (obj) => {\r\n // Previously eventified?\r\n if (obj.on && obj.emit) {\r\n return obj;\r\n }\r\n\r\n obj._events_handlers = Object.create(null);\r\n\r\n obj.clearEvents = clearEvents;\r\n obj.emitOnce = emitOnce;\r\n obj.emitAsync = emitAsync;\r\n obj.emit = emit;\r\n obj.once = once;\r\n obj.off = off;\r\n\r\n obj.deEventify = deEventify;\r\n\r\n /**\r\n * Adds a listener for an event\r\n * @param {string} eventName the name of the event\r\n * @param {*} handler\r\n * @returns {object} the object\r\n */\r\n obj.on = function (eventName, handler) {\r\n if (!handler) {\r\n return obj;\r\n }\r\n\r\n let handlerList = obj._events_handlers[eventName];\r\n\r\n if (!handlerList) {\r\n handlerList = obj._events_handlers[eventName] = [];\r\n }\r\n\r\n handlerList.push(handler);\r\n\r\n return {\r\n unsubscribe: () => {\r\n obj.off?.(eventName, handler);\r\n return obj;\r\n },\r\n eventName,\r\n on: obj.on.bind(obj)\r\n }\r\n }\r\n\r\n return obj;\r\n}\r\n\r\n/**\r\n * Adds a listener for an event where the callbackhandler is only called once\r\n * @param {string} eventName the name of the event\r\n * @param {*} handler\r\n * @returns {object} the object\r\n */\r\nfunction once (eventName, handler) {\r\n let obj = this;\r\n let subscription = obj.on (eventName, (eventData) => {\r\n subscription.unsubscribe();\r\n handler.call (obj, eventData);\r\n\r\n subscription = null;\r\n handler = null;\r\n });\r\n\r\n return subscription;\r\n}\r\n\r\n/**\r\n * Removes a listener for an event\r\n * @param {string} eventName the name of the event\r\n * @param {function} handler the callback function to remove\r\n * @returns {object} the object\r\n */\r\nfunction off (eventName, handler) {\r\n let obj = this;\r\n let handlerList = obj._events_handlers[eventName];\r\n\r\n if (!(handlerList && handler)) {\r\n return obj;\r\n }\r\n\r\n // Remove all added events for this handler\r\n let index = handlerList.length;\r\n\r\n while (--index >= 0) {\r\n if (handlerList[index] === handler) {\r\n handlerList.splice(index, 1);\r\n }\r\n }\r\n\r\n return obj;\r\n}\r\n\r\n/**\r\n * Emits an event only once\r\n * @param {string} eventName the name of the event\r\n * @param {*} eventData\r\n * @returns {object} the object\r\n */\r\nfunction emitOnce (eventName, eventData) {\r\n let obj = this;\r\n let handlerList = obj._events_handlers[eventName];\r\n\r\n if (!handlerList) {\r\n handlerList = obj._events_handlers[eventName] = [];\r\n }\r\n\r\n emit.call(obj, eventName, eventData);\r\n\r\n handlerList._events_oneTimeEventHasFired = true;\r\n\r\n return obj;\r\n}\r\n\r\n/**\r\n * Emits an event asynchrounosly\r\n * @param {string} eventName the name of the event\r\n * @param {*} eventData\r\n * @returns {object} the object\r\n */\r\nfunction emitAsync(eventName, eventData) {\r\n let obj = this;\r\n\r\n setTimeout(() => {\r\n obj.emit(eventName, eventData);\r\n }, 0);\r\n\r\n return obj;\r\n}\r\n\r\n/**\r\n * Emits an event\r\n * @param {string} eventName the name of the event\r\n * @param {*} eventData\r\n * @returns {object} the object\r\n */\r\nfunction emit (eventName, eventData) {\r\n let obj = this;\r\n let handlerList = obj._events_handlers[eventName];\r\n\r\n if (!(handlerList?.length)) {\r\n return obj;\r\n }\r\n\r\n if (handlerList._events_oneTimeEventHasFired) {\r\n return obj;\r\n }\r\n\r\n let data = typeof eventData === 'function' ? eventData() : eventData;\r\n\r\n // Copy the array to make sure code inside events that might unregister etc.\r\n // does not prevent all the current attached handlers from beeing called.\r\n handlerList = handlerList.slice();\r\n\r\n for (let i=0, length=handlerList.length; i {\r\n if (obj._events_handlers[key]) {\r\n obj._events_handlers[key].length = 0;\r\n obj._events_handlers[key] = null;\r\n }\r\n });\r\n\r\n obj._events_handlers = Object.create(null);\r\n\r\n return obj;\r\n}\r\n\r\nexport { eventify };\r\n","function i(){throw new Error(\"Cycle detected\")}var t=Symbol.for(\"preact-signals\");function r(){if(!(v>1)){var i,t=!1;while(void 0!==f){var r=f;f=void 0;e++;while(void 0!==r){var n=r.o;r.o=void 0;r.f&=-3;if(!(8&r.f)&&l(r))try{r.c()}catch(r){if(!t){i=r;t=!0}}r=n}}e=0;v--;if(t)throw i}else v--}function n(i){if(v>0)return i();v++;try{return i()}finally{r()}}var o=void 0,h=0;function s(i){if(h>0)return i();var t=o;o=void 0;h++;try{return i()}finally{h--;o=t}}var f=void 0,v=0,e=0,u=0;function c(i){if(void 0!==o){var t=i.n;if(void 0===t||t.t!==o){t={i:0,S:i,p:o.s,n:void 0,t:o,e:void 0,x:void 0,r:t};if(void 0!==o.s)o.s.n=t;o.s=t;i.n=t;if(32&o.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=o.s;t.n=void 0;o.s.n=t;o.s=t}return t}}}function d(i){this.v=i;this.i=0;this.n=void 0;this.t=void 0}d.prototype.brand=t;d.prototype.h=function(){return!0};d.prototype.S=function(i){if(this.t!==i&&void 0===i.e){i.x=this.t;if(void 0!==this.t)this.t.e=i;this.t=i}};d.prototype.U=function(i){if(void 0!==this.t){var t=i.e,r=i.x;if(void 0!==t){t.x=r;i.e=void 0}if(void 0!==r){r.e=t;i.x=void 0}if(i===this.t)this.t=r}};d.prototype.subscribe=function(i){var t=this;return O(function(){var r=t.value,n=32&this.f;this.f&=-33;try{i(r)}finally{this.f|=n}})};d.prototype.valueOf=function(){return this.value};d.prototype.toString=function(){return this.value+\"\"};d.prototype.toJSON=function(){return this.value};d.prototype.peek=function(){return this.v};Object.defineProperty(d.prototype,\"value\",{get:function(){var i=c(this);if(void 0!==i)i.i=this.i;return this.v},set:function(t){if(o instanceof _)!function(){throw new Error(\"Computed cannot have side-effects\")}();if(t!==this.v){if(e>100)i();this.v=t;this.i++;u++;v++;try{for(var n=this.t;void 0!==n;n=n.x)n.t.N()}finally{r()}}}});function a(i){return new d(i)}function l(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function y(i){for(var t=i.s;void 0!==t;t=t.n){var r=t.S.n;if(void 0!==r)t.r=r;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function w(i){var t=i.s,r=void 0;while(void 0!==t){var n=t.p;if(-1===t.i){t.S.U(t);if(void 0!==n)n.n=t.n;if(void 0!==t.n)t.n.p=n}else r=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=n}i.s=r}function _(i){d.call(this,void 0);this.x=i;this.s=void 0;this.g=u-1;this.f=4}(_.prototype=new d).h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===u)return!0;this.g=u;this.f|=1;if(this.i>0&&!l(this)){this.f&=-2;return!0}var i=o;try{y(this);o=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}o=i;w(this);this.f&=-2;return!0};_.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}d.prototype.S.call(this,i)};_.prototype.U=function(i){if(void 0!==this.t){d.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};_.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};_.prototype.peek=function(){if(!this.h())i();if(16&this.f)throw this.v;return this.v};Object.defineProperty(_.prototype,\"value\",{get:function(){if(1&this.f)i();var t=c(this);this.h();if(void 0!==t)t.i=this.i;if(16&this.f)throw this.v;return this.v}});function p(i){return new _(i)}function g(i){var t=i.u;i.u=void 0;if(\"function\"==typeof t){v++;var n=o;o=void 0;try{t()}catch(t){i.f&=-2;i.f|=8;b(i);throw t}finally{o=n;r()}}}function b(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;g(i)}function x(i){if(o!==this)throw new Error(\"Out-of-order effect\");w(this);o=i;this.f&=-2;if(8&this.f)b(this);r()}function E(i){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32}E.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if(\"function\"==typeof t)this.u=t}finally{i()}};E.prototype.S=function(){if(1&this.f)i();this.f|=1;this.f&=-9;g(this);y(this);v++;var t=o;o=this;return x.bind(this,t)};E.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=f;f=this}};E.prototype.d=function(){this.f|=8;if(!(1&this.f))b(this)};function O(i){var t=new E(i);try{t.c()}catch(i){t.d();throw i}return t.d.bind(t)}export{d as Signal,n as batch,p as computed,O as effect,a as signal,s as untracked};//# sourceMappingURL=signals-core.module.js.map\n","function cycleDetected(): never {\n\tthrow new Error(\"Cycle detected\");\n}\nfunction mutationDetected(): never {\n\tthrow new Error(\"Computed cannot have side-effects\");\n}\n\nconst identifier = Symbol.for('preact-signals')\n\n// Flags for Computed and Effect.\nconst RUNNING = 1 << 0;\nconst NOTIFIED = 1 << 1;\nconst OUTDATED = 1 << 2;\nconst DISPOSED = 1 << 3;\nconst HAS_ERROR = 1 << 4;\nconst TRACKING = 1 << 5;\n\n// A linked list node used to track dependencies (sources) and dependents (targets).\n// Also used to remember the source's last version number that the target saw.\ntype Node = {\n\t// A source whose value the target depends on.\n\t_source: Signal;\n\t_prevSource?: Node;\n\t_nextSource?: Node;\n\n\t// A target that depends on the source and should be notified when the source changes.\n\t_target: Computed | Effect;\n\t_prevTarget?: Node;\n\t_nextTarget?: Node;\n\n\t// The version number of the source that target has last seen. We use version numbers\n\t// instead of storing the source value, because source values can take arbitrary amount\n\t// of memory, and computeds could hang on to them forever because they're lazily evaluated.\n\t// Use the special value -1 to mark potentially unused but recyclable nodes.\n\t_version: number;\n\n\t// Used to remember & roll back the source's previous `._node` value when entering &\n\t// exiting a new evaluation context.\n\t_rollbackNode?: Node;\n};\n\nfunction startBatch() {\n\tbatchDepth++;\n}\n\nfunction endBatch() {\n\tif (batchDepth > 1) {\n\t\tbatchDepth--;\n\t\treturn;\n\t}\n\n\tlet error: unknown;\n\tlet hasError = false;\n\n\twhile (batchedEffect !== undefined) {\n\t\tlet effect: Effect | undefined = batchedEffect;\n\t\tbatchedEffect = undefined;\n\n\t\tbatchIteration++;\n\n\t\twhile (effect !== undefined) {\n\t\t\tconst next: Effect | undefined = effect._nextBatchedEffect;\n\t\t\teffect._nextBatchedEffect = undefined;\n\t\t\teffect._flags &= ~NOTIFIED;\n\n\t\t\tif (!(effect._flags & DISPOSED) && needsToRecompute(effect)) {\n\t\t\t\ttry {\n\t\t\t\t\teffect._callback();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (!hasError) {\n\t\t\t\t\t\terror = err;\n\t\t\t\t\t\thasError = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\teffect = next;\n\t\t}\n\t}\n\tbatchIteration = 0;\n\tbatchDepth--;\n\n\tif (hasError) {\n\t\tthrow error;\n\t}\n}\n\nfunction batch(callback: () => T): T {\n\tif (batchDepth > 0) {\n\t\treturn callback();\n\t}\n\t/*@__INLINE__**/ startBatch();\n\ttry {\n\t\treturn callback();\n\t} finally {\n\t\tendBatch();\n\t}\n}\n\n// Currently evaluated computed or effect.\nlet evalContext: Computed | Effect | undefined = undefined;\n\nlet untrackedDepth = 0;\n\nfunction untracked(callback: () => T): T {\n\tif (untrackedDepth > 0) {\n\t\treturn callback();\n\t}\n\tconst prevContext = evalContext;\n\tevalContext = undefined;\n\tuntrackedDepth++;\n\ttry {\n\t\treturn callback();\n\t} finally {\n\t\tuntrackedDepth--;\n\t\tevalContext = prevContext;\n\t}\n}\n\n// Effects collected into a batch.\nlet batchedEffect: Effect | undefined = undefined;\nlet batchDepth = 0;\nlet batchIteration = 0;\n\n// A global version number for signals, used for fast-pathing repeated\n// computed.peek()/computed.value calls when nothing has changed globally.\nlet globalVersion = 0;\n\nfunction addDependency(signal: Signal): Node | undefined {\n\tif (evalContext === undefined) {\n\t\treturn undefined;\n\t}\n\n\tlet node = signal._node;\n\tif (node === undefined || node._target !== evalContext) {\n\t\t/**\n\t\t * `signal` is a new dependency. Create a new dependency node, and set it\n\t\t * as the tail of the current context's dependency list. e.g:\n\t\t *\n\t\t * { A <-> B }\n\t\t * ↑ ↑\n\t\t * tail node (new)\n\t\t * ↓\n\t\t * { A <-> B <-> C }\n\t\t * ↑\n\t\t * tail (evalContext._sources)\n\t\t */\n\t\tnode = {\n\t\t\t_version: 0,\n\t\t\t_source: signal,\n\t\t\t_prevSource: evalContext._sources,\n\t\t\t_nextSource: undefined,\n\t\t\t_target: evalContext,\n\t\t\t_prevTarget: undefined,\n\t\t\t_nextTarget: undefined,\n\t\t\t_rollbackNode: node,\n\t\t};\n\n\t\tif (evalContext._sources !== undefined) {\n\t\t\tevalContext._sources._nextSource = node;\n\t\t}\n\t\tevalContext._sources = node;\n\t\tsignal._node = node;\n\n\t\t// Subscribe to change notifications from this dependency if we're in an effect\n\t\t// OR evaluating a computed signal that in turn has subscribers.\n\t\tif (evalContext._flags & TRACKING) {\n\t\t\tsignal._subscribe(node);\n\t\t}\n\t\treturn node;\n\t} else if (node._version === -1) {\n\t\t// `signal` is an existing dependency from a previous evaluation. Reuse it.\n\t\tnode._version = 0;\n\n\t\t/**\n\t\t * If `node` is not already the current tail of the dependency list (i.e.\n\t\t * there is a next node in the list), then make the `node` the new tail. e.g:\n\t\t *\n\t\t * { A <-> B <-> C <-> D }\n\t\t * ↑ ↑\n\t\t * node ┌─── tail (evalContext._sources)\n\t\t * └─────│─────┐\n\t\t * ↓ ↓\n\t\t * { A <-> C <-> D <-> B }\n\t\t * ↑\n\t\t * tail (evalContext._sources)\n\t\t */\n\t\tif (node._nextSource !== undefined) {\n\t\t\tnode._nextSource._prevSource = node._prevSource;\n\n\t\t\tif (node._prevSource !== undefined) {\n\t\t\t\tnode._prevSource._nextSource = node._nextSource;\n\t\t\t}\n\n\t\t\tnode._prevSource = evalContext._sources;\n\t\t\tnode._nextSource = undefined;\n\n\t\t\tevalContext._sources!._nextSource = node;\n\t\t\tevalContext._sources = node;\n\t\t}\n\n\t\t// We can assume that the currently evaluated effect / computed signal is already\n\t\t// subscribed to change notifications from `signal` if needed.\n\t\treturn node;\n\t}\n\treturn undefined;\n}\n\n// @ts-ignore internal Signal is viewed as a function\ndeclare class Signal {\n\t/** @internal */\n\t_value: unknown;\n\n\t/**\n\t * @internal\n\t * Version numbers should always be >= 0, because the special value -1 is used\n\t * by Nodes to signify potentially unused but recyclable nodes.\n\t */\n\t_version: number;\n\n\t/** @internal */\n\t_node?: Node;\n\n\t/** @internal */\n\t_targets?: Node;\n\n\tconstructor(value?: T);\n\n\t/** @internal */\n\t_refresh(): boolean;\n\n\t/** @internal */\n\t_subscribe(node: Node): void;\n\n\t/** @internal */\n\t_unsubscribe(node: Node): void;\n\n\tsubscribe(fn: (value: T) => void): () => void;\n\n\tvalueOf(): T;\n\n\ttoString(): string;\n\n\ttoJSON(): T;\n\n\tpeek(): T;\n\n\tbrand: typeof identifier;\n\n\tget value(): T;\n\tset value(value: T);\n}\n\n/** @internal */\n// @ts-ignore internal Signal is viewed as function\nfunction Signal(this: Signal, value?: unknown) {\n\tthis._value = value;\n\tthis._version = 0;\n\tthis._node = undefined;\n\tthis._targets = undefined;\n}\n\nSignal.prototype.brand = identifier\n\nSignal.prototype._refresh = function () {\n\treturn true;\n};\n\nSignal.prototype._subscribe = function (node) {\n\tif (this._targets !== node && node._prevTarget === undefined) {\n\t\tnode._nextTarget = this._targets;\n\t\tif (this._targets !== undefined) {\n\t\t\tthis._targets._prevTarget = node;\n\t\t}\n\t\tthis._targets = node;\n\t}\n};\n\nSignal.prototype._unsubscribe = function (node) {\n\t// Only run the unsubscribe step if the signal has any subscribers to begin with.\n\tif (this._targets !== undefined) {\n\t\tconst prev = node._prevTarget;\n\t\tconst next = node._nextTarget;\n\t\tif (prev !== undefined) {\n\t\t\tprev._nextTarget = next;\n\t\t\tnode._prevTarget = undefined;\n\t\t}\n\t\tif (next !== undefined) {\n\t\t\tnext._prevTarget = prev;\n\t\t\tnode._nextTarget = undefined;\n\t\t}\n\t\tif (node === this._targets) {\n\t\t\tthis._targets = next;\n\t\t}\n\t}\n};\n\nSignal.prototype.subscribe = function (fn) {\n\tconst signal = this;\n\treturn effect(function (this: Effect) {\n\t\tconst value = signal.value;\n\t\tconst flag = this._flags & TRACKING;\n\t\tthis._flags &= ~TRACKING;\n\t\ttry {\n\t\t\tfn(value);\n\t\t} finally {\n\t\t\tthis._flags |= flag;\n\t\t}\n\t});\n};\n\nSignal.prototype.valueOf = function () {\n\treturn this.value;\n};\n\nSignal.prototype.toString = function () {\n\treturn this.value + \"\";\n};\n\nSignal.prototype.toJSON = function () {\n\treturn this.value;\n};\n\nSignal.prototype.peek = function () {\n\treturn this._value;\n};\n\nObject.defineProperty(Signal.prototype, \"value\", {\n\tget() {\n\t\tconst node = addDependency(this);\n\t\tif (node !== undefined) {\n\t\t\tnode._version = this._version;\n\t\t}\n\t\treturn this._value;\n\t},\n\tset(this: Signal, value) {\n\t\tif (evalContext instanceof Computed) {\n\t\t\tmutationDetected();\n\t\t}\n\n\t\tif (value !== this._value) {\n\t\t\tif (batchIteration > 100) {\n\t\t\t\tcycleDetected();\n\t\t\t}\n\n\t\t\tthis._value = value;\n\t\t\tthis._version++;\n\t\t\tglobalVersion++;\n\n\t\t\t/**@__INLINE__*/ startBatch();\n\t\t\ttry {\n\t\t\t\tfor (\n\t\t\t\t\tlet node = this._targets;\n\t\t\t\t\tnode !== undefined;\n\t\t\t\t\tnode = node._nextTarget\n\t\t\t\t) {\n\t\t\t\t\tnode._target._notify();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tendBatch();\n\t\t\t}\n\t\t}\n\t},\n});\n\nfunction signal(value: T): Signal {\n\treturn new Signal(value);\n}\n\nfunction needsToRecompute(target: Computed | Effect): boolean {\n\t// Check the dependencies for changed values. The dependency list is already\n\t// in order of use. Therefore if multiple dependencies have changed values, only\n\t// the first used dependency is re-evaluated at this point.\n\tfor (\n\t\tlet node = target._sources;\n\t\tnode !== undefined;\n\t\tnode = node._nextSource\n\t) {\n\t\t// If there's a new version of the dependency before or after refreshing,\n\t\t// or the dependency has something blocking it from refreshing at all (e.g. a\n\t\t// dependency cycle), then we need to recompute.\n\t\tif (\n\t\t\tnode._source._version !== node._version ||\n\t\t\t!node._source._refresh() ||\n\t\t\tnode._source._version !== node._version\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// If none of the dependencies have changed values since last recompute then\n\t// there's no need to recompute.\n\treturn false;\n}\n\nfunction prepareSources(target: Computed | Effect) {\n\t/**\n\t * 1. Mark all current sources as re-usable nodes (version: -1)\n\t * 2. Set a rollback node if the current node is being used in a different context\n\t * 3. Point 'target._sources' to the tail of the doubly-linked list, e.g:\n\t *\n\t * { undefined <- A <-> B <-> C -> undefined }\n\t * ↑ ↑\n\t * │ └──────┐\n\t * target._sources = A; (node is head) │\n\t * ↓ │\n\t * target._sources = C; (node is tail) ─┘\n\t */\n\tfor (\n\t\tlet node = target._sources;\n\t\tnode !== undefined;\n\t\tnode = node._nextSource\n\t) {\n\t\tconst rollbackNode = node._source._node;\n\t\tif (rollbackNode !== undefined) {\n\t\t\tnode._rollbackNode = rollbackNode;\n\t\t}\n\t\tnode._source._node = node;\n\t\tnode._version = -1;\n\n\t\tif (node._nextSource === undefined) {\n\t\t\ttarget._sources = node;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction cleanupSources(target: Computed | Effect) {\n\tlet node = target._sources;\n\tlet head = undefined;\n\n\t/**\n\t * At this point 'target._sources' points to the tail of the doubly-linked list.\n\t * It contains all existing sources + new sources in order of use.\n\t * Iterate backwards until we find the head node while dropping old dependencies.\n\t */\n\twhile (node !== undefined) {\n\t\tconst prev = node._prevSource;\n\n\t\t/**\n\t\t * The node was not re-used, unsubscribe from its change notifications and remove itself\n\t\t * from the doubly-linked list. e.g:\n\t\t *\n\t\t * { A <-> B <-> C }\n\t\t * ↓\n\t\t * { A <-> C }\n\t\t */\n\t\tif (node._version === -1) {\n\t\t\tnode._source._unsubscribe(node);\n\n\t\t\tif (prev !== undefined) {\n\t\t\t\tprev._nextSource = node._nextSource;\n\t\t\t}\n\t\t\tif (node._nextSource !== undefined) {\n\t\t\t\tnode._nextSource._prevSource = prev;\n\t\t\t}\n\t\t} else {\n\t\t\t/**\n\t\t\t * The new head is the last node seen which wasn't removed/unsubscribed\n\t\t\t * from the doubly-linked list. e.g:\n\t\t\t *\n\t\t\t * { A <-> B <-> C }\n\t\t\t * ↑ ↑ ↑\n\t\t\t * │ │ └ head = node\n\t\t\t * │ └ head = node\n\t\t\t * └ head = node\n\t\t\t */\n\t\t\thead = node;\n\t\t}\n\n\t\tnode._source._node = node._rollbackNode;\n\t\tif (node._rollbackNode !== undefined) {\n\t\t\tnode._rollbackNode = undefined;\n\t\t}\n\n\t\tnode = prev;\n\t}\n\n\ttarget._sources = head;\n}\n\ndeclare class Computed extends Signal {\n\t_compute: () => T;\n\t_sources?: Node;\n\t_globalVersion: number;\n\t_flags: number;\n\n\tconstructor(compute: () => T);\n\n\t_notify(): void;\n\tget value(): T;\n}\n\nfunction Computed(this: Computed, compute: () => unknown) {\n\tSignal.call(this, undefined);\n\n\tthis._compute = compute;\n\tthis._sources = undefined;\n\tthis._globalVersion = globalVersion - 1;\n\tthis._flags = OUTDATED;\n}\n\nComputed.prototype = new Signal() as Computed;\n\nComputed.prototype._refresh = function () {\n\tthis._flags &= ~NOTIFIED;\n\n\tif (this._flags & RUNNING) {\n\t\treturn false;\n\t}\n\n\t// If this computed signal has subscribed to updates from its dependencies\n\t// (TRACKING flag set) and none of them have notified about changes (OUTDATED\n\t// flag not set), then the computed value can't have changed.\n\tif ((this._flags & (OUTDATED | TRACKING)) === TRACKING) {\n\t\treturn true;\n\t}\n\tthis._flags &= ~OUTDATED;\n\n\tif (this._globalVersion === globalVersion) {\n\t\treturn true;\n\t}\n\tthis._globalVersion = globalVersion;\n\n\t// Mark this computed signal running before checking the dependencies for value\n\t// changes, so that the RUNNING flag can be used to notice cyclical dependencies.\n\tthis._flags |= RUNNING;\n\tif (this._version > 0 && !needsToRecompute(this)) {\n\t\tthis._flags &= ~RUNNING;\n\t\treturn true;\n\t}\n\n\tconst prevContext = evalContext;\n\ttry {\n\t\tprepareSources(this);\n\t\tevalContext = this;\n\t\tconst value = this._compute();\n\t\tif (\n\t\t\tthis._flags & HAS_ERROR ||\n\t\t\tthis._value !== value ||\n\t\t\tthis._version === 0\n\t\t) {\n\t\t\tthis._value = value;\n\t\t\tthis._flags &= ~HAS_ERROR;\n\t\t\tthis._version++;\n\t\t}\n\t} catch (err) {\n\t\tthis._value = err;\n\t\tthis._flags |= HAS_ERROR;\n\t\tthis._version++;\n\t}\n\tevalContext = prevContext;\n\tcleanupSources(this);\n\tthis._flags &= ~RUNNING;\n\treturn true;\n};\n\nComputed.prototype._subscribe = function (node) {\n\tif (this._targets === undefined) {\n\t\tthis._flags |= OUTDATED | TRACKING;\n\n\t\t// A computed signal subscribes lazily to its dependencies when the it\n\t\t// gets its first subscriber.\n\t\tfor (\n\t\t\tlet node = this._sources;\n\t\t\tnode !== undefined;\n\t\t\tnode = node._nextSource\n\t\t) {\n\t\t\tnode._source._subscribe(node);\n\t\t}\n\t}\n\tSignal.prototype._subscribe.call(this, node);\n};\n\nComputed.prototype._unsubscribe = function (node) {\n\t// Only run the unsubscribe step if the computed signal has any subscribers.\n\tif (this._targets !== undefined) {\n\t\tSignal.prototype._unsubscribe.call(this, node);\n\n\t\t// Computed signal unsubscribes from its dependencies when it loses its last subscriber.\n\t\t// This makes it possible for unreferences subgraphs of computed signals to get garbage collected.\n\t\tif (this._targets === undefined) {\n\t\t\tthis._flags &= ~TRACKING;\n\n\t\t\tfor (\n\t\t\t\tlet node = this._sources;\n\t\t\t\tnode !== undefined;\n\t\t\t\tnode = node._nextSource\n\t\t\t) {\n\t\t\t\tnode._source._unsubscribe(node);\n\t\t\t}\n\t\t}\n\t}\n};\n\nComputed.prototype._notify = function () {\n\tif (!(this._flags & NOTIFIED)) {\n\t\tthis._flags |= OUTDATED | NOTIFIED;\n\n\t\tfor (\n\t\t\tlet node = this._targets;\n\t\t\tnode !== undefined;\n\t\t\tnode = node._nextTarget\n\t\t) {\n\t\t\tnode._target._notify();\n\t\t}\n\t}\n};\n\nComputed.prototype.peek = function () {\n\tif (!this._refresh()) {\n\t\tcycleDetected();\n\t}\n\tif (this._flags & HAS_ERROR) {\n\t\tthrow this._value;\n\t}\n\treturn this._value;\n};\n\nObject.defineProperty(Computed.prototype, \"value\", {\n\tget() {\n\t\tif (this._flags & RUNNING) {\n\t\t\tcycleDetected();\n\t\t}\n\t\tconst node = addDependency(this);\n\t\tthis._refresh();\n\t\tif (node !== undefined) {\n\t\t\tnode._version = this._version;\n\t\t}\n\t\tif (this._flags & HAS_ERROR) {\n\t\t\tthrow this._value;\n\t\t}\n\t\treturn this._value;\n\t},\n});\n\ninterface ReadonlySignal extends Signal {\n\treadonly value: T;\n}\n\nfunction computed(compute: () => T): ReadonlySignal {\n\treturn new Computed(compute);\n}\n\nfunction cleanupEffect(effect: Effect) {\n\tconst cleanup = effect._cleanup;\n\teffect._cleanup = undefined;\n\n\tif (typeof cleanup === \"function\") {\n\t\t/*@__INLINE__**/ startBatch();\n\n\t\t// Run cleanup functions always outside of any context.\n\t\tconst prevContext = evalContext;\n\t\tevalContext = undefined;\n\t\ttry {\n\t\t\tcleanup();\n\t\t} catch (err) {\n\t\t\teffect._flags &= ~RUNNING;\n\t\t\teffect._flags |= DISPOSED;\n\t\t\tdisposeEffect(effect);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tevalContext = prevContext;\n\t\t\tendBatch();\n\t\t}\n\t}\n}\n\nfunction disposeEffect(effect: Effect) {\n\tfor (\n\t\tlet node = effect._sources;\n\t\tnode !== undefined;\n\t\tnode = node._nextSource\n\t) {\n\t\tnode._source._unsubscribe(node);\n\t}\n\teffect._compute = undefined;\n\teffect._sources = undefined;\n\n\tcleanupEffect(effect);\n}\n\nfunction endEffect(this: Effect, prevContext?: Computed | Effect) {\n\tif (evalContext !== this) {\n\t\tthrow new Error(\"Out-of-order effect\");\n\t}\n\tcleanupSources(this);\n\tevalContext = prevContext;\n\n\tthis._flags &= ~RUNNING;\n\tif (this._flags & DISPOSED) {\n\t\tdisposeEffect(this);\n\t}\n\tendBatch();\n}\n\ntype EffectCleanup = () => unknown;\ndeclare class Effect {\n\t_compute?: () => unknown | EffectCleanup;\n\t_cleanup?: () => unknown;\n\t_sources?: Node;\n\t_nextBatchedEffect?: Effect;\n\t_flags: number;\n\n\tconstructor(compute: () => unknown | EffectCleanup);\n\n\t_callback(): void;\n\t_start(): () => void;\n\t_notify(): void;\n\t_dispose(): void;\n}\n\nfunction Effect(this: Effect, compute: () => unknown | EffectCleanup) {\n\tthis._compute = compute;\n\tthis._cleanup = undefined;\n\tthis._sources = undefined;\n\tthis._nextBatchedEffect = undefined;\n\tthis._flags = TRACKING;\n}\n\nEffect.prototype._callback = function () {\n\tconst finish = this._start();\n\ttry {\n\t\tif (this._flags & DISPOSED) return;\n\t\tif (this._compute === undefined) return;\n\n\t\tconst cleanup = this._compute();\n\t\tif (typeof cleanup === \"function\") {\n\t\t\tthis._cleanup = cleanup as EffectCleanup;\n\t\t}\n\t} finally {\n\t\tfinish();\n\t}\n};\n\nEffect.prototype._start = function () {\n\tif (this._flags & RUNNING) {\n\t\tcycleDetected();\n\t}\n\tthis._flags |= RUNNING;\n\tthis._flags &= ~DISPOSED;\n\tcleanupEffect(this);\n\tprepareSources(this);\n\n\t/*@__INLINE__**/ startBatch();\n\tconst prevContext = evalContext;\n\tevalContext = this;\n\treturn endEffect.bind(this, prevContext);\n};\n\nEffect.prototype._notify = function () {\n\tif (!(this._flags & NOTIFIED)) {\n\t\tthis._flags |= NOTIFIED;\n\t\tthis._nextBatchedEffect = batchedEffect;\n\t\tbatchedEffect = this;\n\t}\n};\n\nEffect.prototype._dispose = function () {\n\tthis._flags |= DISPOSED;\n\n\tif (!(this._flags & RUNNING)) {\n\t\tdisposeEffect(this);\n\t}\n};\n\nfunction effect(compute: () => unknown | EffectCleanup): () => void {\n\tconst effect = new Effect(compute);\n\ttry {\n\t\teffect._callback();\n\t} catch (err) {\n\t\teffect._dispose();\n\t\tthrow err;\n\t}\n\t// Return a bound function instead of a wrapper like `() => effect._dispose()`,\n\t// because bound functions seem to be just as fast and take up a lot less memory.\n\treturn effect._dispose.bind(effect);\n}\n\nexport {\n\tsignal,\n\tcomputed,\n\teffect,\n\tbatch,\n\tSignal,\n\ttype ReadonlySignal,\n\tuntracked,\n};\n","'use strict';\r\n\r\nlet timeouts = [];\r\nlet messageName = \"zero-timeout-message\";\r\n\r\n// INFO: https://dbaron.org/log/20100309-faster-timeouts\r\n/**\r\n * Calls a function in an async manner in as short a timespan as possible\r\n * @param {function} fn\r\n */\r\nlet setZeroTimeout = (fn) => {\r\n timeouts.push(fn);\r\n window.postMessage(messageName, \"*\");\r\n}\r\n\r\n/**\r\n * Handles postMessages sent to the current window\r\n * @param {MessageEvent} event\r\n */\r\nlet handleZeroTimeoutMessage = (event) => {\r\n if (event.source === window && event.data === messageName) {\r\n event.stopPropagation();\r\n\r\n timeouts.length && timeouts.shift()();\r\n }\r\n}\r\n\r\nif (!window.setZeroTimeout) {\r\n window.setZeroTimeout = setZeroTimeout;\r\n window.addEventListener(\"message\", handleZeroTimeoutMessage, true);\r\n}\r\n\r\nlet uniqueCounter = 0;\r\nlet newId = (prefix = 'id_') => prefix + ++uniqueCounter;\r\nlet isObject = (obj) => !!(obj && typeof obj === 'object' && !Array.isArray(obj) && obj.contructor !== Date);\r\nlet isArray = (obj) => Array.isArray(obj);\r\nlet camelize = (str) => str.replace(/-./g, x=>x[1].toUpperCase());\r\nlet kebabelize = (str) => str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\r\nlet getIsoDateStr = (date) => new Date(date.getTime() - (date.getTimezoneOffset()*60*1000)).toISOString().split('T')[0]; // INFO: https://stackoverflow.com/questions/23593052/format-javascript-date-as-yyyy-mm-dd\r\n\r\nif (!window.queueMicrotask) {\r\n window.queueMicrotask = (fn) => Promise.resolve().then(fn);\r\n}\r\n\r\n/**\r\n * Define a get/set property on an object\r\n * @param {object} obj the object\r\n * @param {string} key the property name\r\n * @param {any} initialValue the intial value of the property\r\n * @param {function} callbackOnUpdatedValue\r\n */\r\n let defineProperty = (obj, key, initialValue, callbackOnUpdatedValue) => {\r\n let propName = '$$prop$$' + key.toLowerCase();\r\n\r\n obj[propName] = initialValue;\r\n\r\n Object.defineProperty(obj, key, {\r\n configurable: true, // Allow delete of property\r\n enumerable : true,\r\n get : () => obj[propName],\r\n set(value) {\r\n let oldValue = obj[propName];\r\n\r\n if (oldValue !== value) {\r\n obj[propName] = value;\r\n callbackOnUpdatedValue?.(key, oldValue, value);\r\n }\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Define a get/set property on an object\r\n * @param {object} obj the object\r\n * @param {string} key the property name\r\n * @param {any} value the value of the property\r\n */\r\n let defineReadOnlyProperty = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable : true,\r\n get : () => value\r\n });\r\n}\r\n\r\n// INFO: https://stackoverflow.com/questions/21485545/is-there-a-way-to-tell-if-an-es6-promise-is-fulfilled-rejected-resolved\r\nlet makeQueryablePromise = (promise) => {\r\n if (promise.isResolved) {\r\n return promise;\r\n }\r\n\r\n let isResolved = false;\r\n let isRejected = false;\r\n\r\n let result = promise.then(v => { isResolved = true; return v; }, e => { isRejected = true; throw e; });\r\n\r\n result.isSettled = () => isResolved || isRejected;\r\n result.isResolved = () => isResolved;\r\n result.isRejected = () => isRejected;\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Try parsing a string as a json object\r\n * @param {string} str the string to be parsed\r\n * @returns {Object|Array|String} the parsed object or undefined if unsuccessful\r\n */\r\n let tryParse = (str) => {\r\n try {\r\n return JSON.parse(str);\r\n } catch (e) {}\r\n}\r\n\r\nlet clone = (src) => {\r\n if (isArray(src)) {\r\n return src.map((item) => isArray(item) || isObject(item) ? clone(item) : item);\r\n }\r\n else if (!isObject (src)) {\r\n return src;\r\n }\r\n\r\n const cloned = Object.assign({}, src);\r\n\r\n Object.keys(cloned).forEach(key => {\r\n const value = cloned[key];\r\n\r\n if (value) {\r\n if (isArray(value) || isObject(value)) {\r\n cloned[key] = clone(value);\r\n }\r\n }\r\n });\r\n\r\n return cloned;\r\n}\r\n\r\nexport { isArray, isObject, defineProperty, defineReadOnlyProperty, tryParse, camelize, kebabelize, newId, getIsoDateStr, clone };"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$0585bced692c3b45$var$i","window","$0585bced692c3b45$var$s","trustedTypes","$0585bced692c3b45$var$e","createPolicy","createHTML","t","$0585bced692c3b45$var$o","$0585bced692c3b45$var$n","Math","random","slice","$0585bced692c3b45$var$l","$0585bced692c3b45$var$h","$0585bced692c3b45$var$r","document","$0585bced692c3b45$var$u","createComment","$0585bced692c3b45$var$d","$0585bced692c3b45$var$c","Array","isArray","$0585bced692c3b45$var$v","Symbol","iterator","$0585bced692c3b45$var$a","$0585bced692c3b45$var$f","$0585bced692c3b45$var$_","$0585bced692c3b45$var$m","$0585bced692c3b45$var$p","RegExp","$0585bced692c3b45$var$g","$0585bced692c3b45$var$$","$0585bced692c3b45$var$y","$0585bced692c3b45$var$w","i","_$litType$","strings","values","$0585bced692c3b45$export$c0bb0b647f701bb5","$0585bced692c3b45$export$7ed1367e7fa1ad68","$0585bced692c3b45$export$9c068ae9cc5db4e8","for","$0585bced692c3b45$export$45b790e32b2810ee","$0585bced692c3b45$var$E","WeakMap","$0585bced692c3b45$var$C","createTreeWalker","$0585bced692c3b45$var$P","hasOwnProperty","Error","$0585bced692c3b45$var$V","length","l","r","u","d","c","a","lastIndex","exec","test","w","startsWith","push","$0585bced692c3b45$var$N","constructor","h","parts","f","el","createElement","currentNode","content","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","toLowerCase","split","type","index","name","ctor","$0585bced692c3b45$var$H","$0585bced692c3b45$var$L","$0585bced692c3b45$var$z","$0585bced692c3b45$var$k","removeAttribute","tagName","textContent","emptyScript","data","indexOf","innerHTML","$0585bced692c3b45$var$S","o","_$Co","_$Cl","_$litDirective$","_$AO","call","_$AT","_$AS","$0585bced692c3b45$var$M","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","$0585bced692c3b45$var$R","nextSibling","$0585bced692c3b45$var$Z","_$AI","_$AH","_$AA","_$AB","options","_$Cp","isConnected","startNode","endNode","_$AR","_","g","$","T","k","insertBefore","createTextNode","_$AC","_$AP","setConnected","element","fill","String","j","setAttribute","arguments","$0585bced692c3b45$var$I","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","$0585bced692c3b45$var$B","litHtmlPolyfillSupport","$0585bced692c3b45$var$t","litHtmlVersions","$0585bced692c3b45$export$b3890eb0ae9dca99","renderBefore","_$litPart$","$4da6ecdff868c42e$export$9ba3b3f20a85bfa","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","$4da6ecdff868c42e$export$99b43ad1ed32e735","$4da6ecdff868c42e$export$befdefbdce210f91","_$Ct","_$Ci","update","render","I","$8916f75be6085108$var$l","O","P","A","C","M","L","R","D","V","H","N","U","F","$8916f75be6085108$export$c3825b437cbdea5c","$8916f75be6085108$export$6b6d145ec2a44ca9","$8916f75be6085108$export$6a0e8de894d2fcca","$8916f75be6085108$export$7f431ad0fff82fd9","$8916f75be6085108$var$r","$8916f75be6085108$export$291b2338ad9b0b30","_$AQ","$8916f75be6085108$export$cb8bf9562088e9f4","$8916f75be6085108$var$s","$8916f75be6085108$export$ea70d9dd5965b1c8","$8916f75be6085108$export$59e9bce518cde500","$8916f75be6085108$export$3133b3144bbba267","$8916f75be6085108$export$7f600b8138c094dc","$2d06e2ab5b695b60$var$u","Map","$2d06e2ab5b695b60$export$76d90c956114f2c2","ct","keys","p","ut","m","y","x","has","$aa51d98594d61009$var$s","$aa51d98594d61009$var$o","delete","size","$aa51d98594d61009$var$r","Set","add","$aa51d98594d61009$var$l","$aa51d98594d61009$var$n","$aa51d98594d61009$var$h","$aa51d98594d61009$export$7d025501802325e","reconnected","disconnected","setValue","$7a66d9d32f17f475$export$74673a32c6041f3e","$7a66d9d32f17f475$export$71341b9b69479007","G","disconnect","reconnect","deref","$7a66d9d32f17f475$export$193ea5a420bb5c41","Y","Z","pause","Promise","resume","$9a7b48e7039d5564$export$39a433aa22cdf479","_$Cq","_$CK","_$CX","commitValue","$9a7b48e7039d5564$export$662eef59ff6bd56a","$82e12a832c7dc237$export$eaa89ade56b7c0c1","_$CJ","$77f5167d06bc2fde$var$d","$77f5167d06bc2fde$export$69a3209f1a06c04d","tt","et","pop","createDocumentFragment","$e4437dd0216a4379$export$56cc687933817664","filter","join","it","nt","classList","forEach","$0100bfbf2c1b33f3$var$e","$0100bfbf2c1b33f3$export$864d727b48066337","st","every","from","$2ed4c26e5fc1311e$export$28cf49ad70f82d12","hasAttribute","$65d76be7707749f6$var$o","$65d76be7707749f6$var$h","$65d76be7707749f6$export$eff4d24c3ff7876e","ot","rt","lt","dt","globalThis","value","$22f699b0009eb85b$var$i","$22f699b0009eb85b$var$n","$22f699b0009eb85b$export$1e5b4ce2fa884e6a","reduce","includes","replace","style","ht","removeProperty","setProperty","$9a609a3f11152775$export$e446d0492332fcd4","vt","$0a9d83bb2173ec99$export$3bebd1f0e3943985","directiveName","ft","raw","resultType","$0a9d83bb2173ec99$export$b6e69390c23686fb","$378ddd6808e465bc$var$t","$378ddd6808e465bc$export$1cb98903879b8bf5","$04babc6848c3c9b3$var$n","then","$04babc6848c3c9b3$export$a40009bd2c363351","_$C_t","_$Cwt","find","resolve","$ef64bd03c02e190d$export$8dbf9c790527241e","key","$8e5676bd73916c78$export$52d98889efa7d412","obj","on","emit","_events_handlers","create","clearEvents","$8e5676bd73916c78$var$clearEvents","emitOnce","$8e5676bd73916c78$var$emitOnce","emitAsync","$8e5676bd73916c78$var$emitAsync","$8e5676bd73916c78$var$emit","$8e5676bd73916c78$var$once","off","$8e5676bd73916c78$var$off","deEventify","$8e5676bd73916c78$var$deEventify","eventName","handler","handlerList","unsubscribe","bind","subscription","eventData","splice","_events_oneTimeEventHasFired","setTimeout","$8e5676bd73916c78$var$noop","$c9361041b5bd802c$var$i","$c9361041b5bd802c$var$t","$c9361041b5bd802c$var$r","$c9361041b5bd802c$var$v","$c9361041b5bd802c$var$f","$c9361041b5bd802c$var$e","$c9361041b5bd802c$var$l","$c9361041b5bd802c$var$o","$c9361041b5bd802c$var$u","$c9361041b5bd802c$var$c","S","$c9361041b5bd802c$export$8210dfe1863c478","$c9361041b5bd802c$var$y","$c9361041b5bd802c$var$w","$c9361041b5bd802c$var$_","$c9361041b5bd802c$var$g","$c9361041b5bd802c$var$b","$c9361041b5bd802c$var$x","$c9361041b5bd802c$var$E","$c9361041b5bd802c$export$dc573d8a6576cdb3","prototype","brand","subscribe","valueOf","toString","toJSON","peek","$f8f19630d13eb642$exports","$f8f19630d13eb642$export$9ffd10a3fbdc175b","$f8f19630d13eb642$export$a6cdc56e425d0d0a","$f8f19630d13eb642$export$43bee75e5e14138e","$f8f19630d13eb642$export$161d051f5dd25de7","$f8f19630d13eb642$export$4909bbd57b1beef8","$f8f19630d13eb642$export$2c67d5861a969420","$f8f19630d13eb642$export$fdab3c20aae16ddf","$f8f19630d13eb642$export$b5c410d4913048d5","$f8f19630d13eb642$export$468ff95b83d315e5","$f8f19630d13eb642$export$9cd59f9826255e47","$f8f19630d13eb642$var$timeouts","$f8f19630d13eb642$var$messageName","setZeroTimeout","fn","postMessage","event","source","stopPropagation","shift","$f8f19630d13eb642$var$uniqueCounter","prefix","contructor","Date","str","toUpperCase","date","getTime","getTimezoneOffset","toISOString","queueMicrotask","initialValue","callbackOnUpdatedValue","propName","oldValue","JSON","parse","src","map","item","cloned","assign","$b77b30c4d7cb9da3$var$isArray","isObject","$b77b30c4d7cb9da3$var$isObject","$b77b30c4d7cb9da3$var$defineProperty","defineReadOnlyProperty","$b77b30c4d7cb9da3$var$defineReadOnlyProperty","tryParse","$b77b30c4d7cb9da3$var$tryParse","camelize","$b77b30c4d7cb9da3$var$camelize","$b77b30c4d7cb9da3$var$events","$b77b30c4d7cb9da3$var$emptyAttrib","$b77b30c4d7cb9da3$var$defaultOptions","useShadowRoot","renderFrequency","$b77b30c4d7cb9da3$var$CustomHTMLElement","HTMLElement","derivedClass","self","_tag","tag","_obsProps","observedProperties","_obsAttrs","observedAttributes","_attrToProps","_propToAttrs","attr","_renderReason","_firstRenderDone","_firstConnectedDone","_requestedAsyncRender","_newAttribValue","_chPropOrAttrs","$attribs","initalize","_addReactiveProperty","changedProp","newValue","_createRenderTask","onPropertyChanged","attrName","_attribChangeInProgress","_propChangeInProgress","$setAttrib","onAttributeChanged","renderReason","_renderTask","_render","force","_destroyed","changedPropOrAttribs","shouldRender","willRender","onFirstRender","$triggerEvent","shadowRoot","onFirstRendered","onRendered","requestAsyncRender","dispatch","dispatchEvent","CustomEvent","bubbles","detail","target","id","forceRender","requestRender","disconnectedCallback","parent","parentElement","documentElement","_justDisconnected","onDisconnected","connectedCallback","onMoved","$getValFromString","attachShadow","mode","_css","$setShadowStyle","onFirstConnected","onConnected","adoptedCallback","onAdopted","attributeChangedCallback","propFieldName","destroy","onDestroy","prop","removeChild","callback","$getAttrib","val","stringify","number","parseFloat","isNaN","undefined","css","message","Document","CSSStyleSheet","sheet","replaceSync","adoptedStyleSheets","appendChild","$b77b30c4d7cb9da3$var$createTemplateFn","strTemplate","context","contextParams","thisContext","templateFn","Function","ctx","$b77b30c4d7cb9da3$var$lithtml","$b77b30c4d7cb9da3$var$renderStrToEl","htmlFn","DocumentFragment","$b77b30c4d7cb9da3$var$addLanguageRec","langObj","translationObj","text","$b77b30c4d7cb9da3$var$currLanguage","location","href","substring","appContext","language","localStorage","getItem","nothing","noChange","html","svg","repeat","cache","choose","classMap","guard","ifDefined","keyed","live","range","ref","createRef","styleMap","until","when","asyncAppend","asyncReplace","templateContent","unsafeHTML","unsafeSVG","CustomHTMLElement","CustomTokenHTMLElement","DerivedClass","_checkForUserInfoAndToken","_timeoutTokenId","clearTimeout","userData","_checkedNoOfTimes","updateUserInfoAndToken","tokenAndUserInfo","accessToken","log","token","atob","identity","userInfo","onUserData","now","parseInt","timeoutInSec","exp","utils","signals","signal","batch","computed","effect","signalOrSignals","cb","runOnSubscribe","batchCallback","firstRun","batching","translation","init","tagOrBaseTranslationUrl","version","translationBaseUrl","translations","currTranslation","defTranslation","lang","langName","globalLang","translationToUse","useLang","load","fetch","response","ok","json","setTranslation","$b77b30c4d7cb9da3$var$stateObj","createTemplateFn","renderStrToHtml","fragment","tempEl","trim","replaceAll","renderStrToEl","eventify","lithtml","global","policy","boundAttributeSuffix","marker","markerMatch","nodeMarker","createMarker","isPrimitive","isIterable","SPACE_CHAR","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","templateCache","walker","trustFromTemplateString","tsa","stringFromTSA","getTemplateHtml","attrNames","rawTextEndRegex","regex","match","attrNameEndIndex","end","Template","node","this","nodeIndex","attrNameIndex","partCount","svgElement","attrsToRemove","realName","statics","PropertyPart","BooleanAttributePart","EventPart","AttributePart","static","_options","resolveDirective","part","attributeIndex","currentDirective","_a","__directives","__directive","nextDirectiveConstructor","_b","_$initialize","_c","_d","_$resolve","TemplateInstance","template","_$parts","_$disconnectableChildren","_$template","_$parent","_$isConnected","_clone","partIndex","templatePart","ChildPart","ElementPart","_update","_$setValue","_$committedValue","_$startNode","_$endNode","__isConnected","directiveParent","_$clear","_commitText","_commitTemplateResult","_commitNode","_commitIterable","_insert","result","_$getTemplate","instance","itemParts","itemPart","start","_$notifyConnectionChanged","valueIndex","noCommit","change","_commitValue","emptyStringForBooleanAttribute","super","newListener","oldListener","shouldRemoveListener","shouldAddListener","_$LH","_boundAttributeSuffix","_marker","_markerMatch","_HTML_RESULT","_getTemplateHtml","_TemplateInstance","_isIterable","_resolveDirective","_ChildPart","_AttributePart","_BooleanAttributePart","_EventPart","_PropertyPart","_ElementPart","polyfillSupport","container","partOwnerNode","generateMap","list","directive","Directive","partInfo","PartType","_getValuesAndKeys","items","keyFnOrTemplate","keyFn","containerPart","oldParts","getCommittedValue","newValues","newKeys","_itemKeys","oldKeys","newParts","newKeyToIndexMap","oldKeyToIndexMap","oldHead","oldTail","newHead","newTail","setChildPartValue","insertPart","oldIndex","oldPart","newPart","removePart","setCommittedValue","_partInfo","__part","__attributeIndex","props","_part","TemplateResultType","HTML","SVG","isTemplateResult","isCompiledTemplateResult","isDirectiveResult","getDirectiveClass","isSingleExpression","refPart","refNode","oldParent","parentChanged","newConnectionState","_$reparentDisconnectables","RESET_VALUE","clearPart","AsyncReplaceDirective","params","__childPart","AsyncDirective","__weakThis","PseudoWeakRef","__pauser","Pauser","_mapper","mapper","__value","weakThis","pauser","forAwaitOf","async","_this","_index","notifyChildrenConnectedChanged","children","removeDisconnectableFromParent","addDisconnectableToParent","installDisconnectAPI","reparentDisconnectables","newParent","notifyChildPartConnectedChanged","isClearingValue","fromPartIndex","isClearingDirective","iterable","_ref","_promise","_resolve","getStringsFromTemplateResult","_templateCache","_valueKey","_value","vKey","childPart","cachedContainerPart","cachedPart","classInfo","_previousClasses","_staticClasses","_previousValue","Ref","lastElementForContextAndCallback","refChanged","_updateRefValue","_lastElementForRef","_element","_context","lastElementForCallback","important","importantFlag","styleInfo","_previousStyleProperties","isImportant","_previousTemplate","UnsafeHTMLDirective","_templateResult","UnsafeSVGDirective","isPromise","_infinity","UntilDirective","__lastRenderedIndex","__values","args","previousValues","previousLength","cases","defaultCase","joiner","isFunction","startOrEnd","step","condition","trueCase","falseCase","cycleDetected","identifier","endBatch","batchDepth","error","hasError","batchedEffect","batchIteration","next","_nextBatchedEffect","_flags","needsToRecompute","_callback","err","evalContext","untrackedDepth","untracked","prevContext","globalVersion","addDependency","_node","_target","_version","_source","_prevSource","_sources","_nextSource","_prevTarget","_nextTarget","_rollbackNode","_subscribe","Signal","_targets","_refresh","_unsubscribe","prev","flag","Computed","mutationDetected","_notify","prepareSources","rollbackNode","cleanupSources","head","compute","_compute","_globalVersion","OUTDATED","cleanupEffect","cleanup","_cleanup","disposeEffect","endEffect","Effect","finish","_start","_dispose"],"version":3,"file":"lithtml.js.map"}