@evelan/jexity-widget 0.16.0 → 0.18.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +2519 -2351
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +2736 -2565
- package/dist/react.mjs.map +1 -1
- package/dist/types/features/chat/components/BotMessage.d.ts +3 -1
- package/dist/types/features/chat/components/BotMessage.d.ts.map +1 -1
- package/dist/types/features/chat/components/ChatScreen.d.ts +5 -1
- package/dist/types/features/chat/components/ChatScreen.d.ts.map +1 -1
- package/dist/types/features/chat/components/HumanHandoffAction.d.ts +5 -1
- package/dist/types/features/chat/components/HumanHandoffAction.d.ts.map +1 -1
- package/dist/types/features/chat/components/MessageList.d.ts +7 -1
- package/dist/types/features/chat/components/MessageList.d.ts.map +1 -1
- package/dist/types/features/chat/components/StarterChips.d.ts +16 -0
- package/dist/types/features/chat/components/StarterChips.d.ts.map +1 -0
- package/dist/types/features/chat/composer/components/ChatInput.d.ts.map +1 -1
- package/dist/types/features/chat/composer/components/ComposerRow.d.ts.map +1 -1
- package/dist/types/features/chat/composer/hooks/useSendMessage.d.ts.map +1 -1
- package/dist/types/features/chat/composer/index.d.ts +2 -0
- package/dist/types/features/chat/composer/index.d.ts.map +1 -1
- package/dist/types/features/chat/composer/state/index.d.ts +4 -0
- package/dist/types/features/chat/composer/state/index.d.ts.map +1 -1
- package/dist/types/features/chat/composer/state/privacy.d.ts +24 -0
- package/dist/types/features/chat/composer/state/privacy.d.ts.map +1 -0
- package/dist/types/features/chat/composer/state/sending.d.ts +9 -0
- package/dist/types/features/chat/composer/state/sending.d.ts.map +1 -0
- package/dist/types/features/chat/hooks/useConvexSession.d.ts.map +1 -1
- package/dist/types/features/home/components/HomeScreen.d.ts +3 -3
- package/dist/types/features/home/components/HomeScreen.d.ts.map +1 -1
- package/dist/types/i18n/locales/de.d.ts.map +1 -1
- package/dist/types/i18n/locales/en.d.ts +5 -0
- package/dist/types/i18n/locales/en.d.ts.map +1 -1
- package/dist/types/lib/widget-config.d.ts +9 -0
- package/dist/types/lib/widget-config.d.ts.map +1 -1
- package/dist/types/module/screens/ScreenRouter.d.ts +3 -1
- package/dist/types/module/screens/ScreenRouter.d.ts.map +1 -1
- package/dist/types/module/shell/WidgetShell.d.ts.map +1 -1
- package/dist/types/module/shell/proactive.d.ts +39 -0
- package/dist/types/module/shell/proactive.d.ts.map +1 -0
- package/dist/types/module/visitor/visitor.state.d.ts +4 -0
- package/dist/types/module/visitor/visitor.state.d.ts.map +1 -1
- package/dist/types/shared/ui/HeaderTitle.d.ts +1 -1
- package/dist/types/shared/ui/HeaderTitle.d.ts.map +1 -1
- package/dist/types/shared/ui/ProactiveTeaser.d.ts +13 -0
- package/dist/types/shared/ui/ProactiveTeaser.d.ts.map +1 -0
- package/dist/types/types.d.ts +8 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/widget.js +28 -28
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/react.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.mjs","sources":["../src/entries/react.tsx","index.mjs"],"sourcesContent":["import {\n createContext,\n createElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { ReactNode } from 'react'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\n\ninterface JexityChatContextValue {\n open: () => void\n close: () => void\n toggle: () => void\n isOpen: boolean\n}\n\nconst JexityChatContext = createContext<JexityChatContextValue | null>(null)\n\nexport interface JexityChatProviderProps extends JexityChatOptions {\n children?: ReactNode\n}\n\nexport function JexityChatProvider(props: JexityChatProviderProps) {\n const { children, ...options } = props\n const [isOpen, setIsOpen] = useState(false)\n const instanceRef = useRef<JexityChatInstance | null>(null)\n const unsubRef = useRef<(() => void) | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n\n const embedded = options.mode === 'embedded'\n\n useEffect(() => {\n let cancelled = false\n\n // @ts-expect-error -- resolved at runtime, not in TS source tree\n import('./index.mjs').then(\n (mod: { JexityChat: (opts: JexityChatOptions) => JexityChatInstance }) => {\n if (cancelled) { return }\n\n // In embedded mode, mount into the provider's own container div.\n // In floating mode, let JexityChat create its own div on document.body.\n const mountOptions = embedded && containerRef.current\n ? { ...options, container: containerRef.current }\n : options\n\n const inst = mod.JexityChat(mountOptions)\n instanceRef.current = inst\n unsubRef.current = inst.subscribe((open) => { setIsOpen(open) })\n },\n ).catch((err: unknown) => {\n if (!cancelled) {\n console.error('[jexity] Failed to load widget core:', err)\n }\n })\n\n return () => {\n cancelled = true\n unsubRef.current?.()\n instanceRef.current?.shutdown()\n instanceRef.current = null\n unsubRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.orgSlug, options.projSlug])\n\n const value: JexityChatContextValue = {\n open: () => { instanceRef.current?.open() },\n close: () => { instanceRef.current?.close() },\n toggle: () => { instanceRef.current?.toggle() },\n isOpen,\n }\n\n // In embedded mode, render a host div that the widget mounts into.\n // In floating mode, render children only (widget mounts on document.body).\n return createElement(\n JexityChatContext.Provider,\n { value },\n embedded\n ? createElement('div', {\n ref: containerRef,\n style: { width: '100%', height: '100%' },\n })\n : children,\n )\n}\n\nexport function useJexityChat(): JexityChatContextValue {\n const ctx = useContext(JexityChatContext)\n if (!ctx) {\n throw new Error('useJexityChat must be used within a <JexityChatProvider>')\n }\n return ctx\n}\n","var Qt, k, Fi, Ui, Ge, Lr, Vi, Qi, Hi, dr, Fn, Un, Wi, Ot = {}, Ki = [], Ma = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Ht = Array.isArray;\nfunction Re(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction hr(t) {\n t && t.parentNode && t.parentNode.removeChild(t);\n}\nfunction xe(t, e, n) {\n var r, i, o, a = {};\n for (o in e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : a[o] = e[o];\n if (arguments.length > 2 && (a.children = arguments.length > 3 ? Qt.call(arguments, 2) : n), typeof t == \"function\" && t.defaultProps != null) for (o in t.defaultProps) a[o] === void 0 && (a[o] = t.defaultProps[o]);\n return Pt(t, a, r, i, null);\n}\nfunction Pt(t, e, n, r, i) {\n var o = { type: t, props: e, key: n, ref: r, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: i ?? ++Fi, __i: -1, __u: 0 };\n return i == null && k.vnode != null && k.vnode(o), o;\n}\nfunction La() {\n return { current: null };\n}\nfunction z(t) {\n return t.children;\n}\nfunction we(t, e) {\n this.props = t, this.context = e;\n}\nfunction mt(t, e) {\n if (e == null) return t.__ ? mt(t.__, t.__i + 1) : null;\n for (var n; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) return n.__e;\n return typeof t.type == \"function\" ? mt(t) : null;\n}\nfunction Gi(t) {\n var e, n;\n if ((t = t.__) != null && t.__c != null) {\n for (t.__e = t.__c.base = null, e = 0; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) {\n t.__e = t.__c.base = n.__e;\n break;\n }\n return Gi(t);\n }\n}\nfunction Vn(t) {\n (!t.__d && (t.__d = !0) && Ge.push(t) && !un.__r++ || Lr != k.debounceRendering) && ((Lr = k.debounceRendering) || Vi)(un);\n}\nfunction un() {\n for (var t, e, n, r, i, o, a, l = 1; Ge.length; ) Ge.length > l && Ge.sort(Qi), t = Ge.shift(), l = Ge.length, t.__d && (n = void 0, r = void 0, i = (r = (e = t).__v).__e, o = [], a = [], e.__P && ((n = Re({}, r)).__v = r.__v + 1, k.vnode && k.vnode(n), pr(e.__P, n, r, e.__n, e.__P.namespaceURI, 32 & r.__u ? [i] : null, o, i ?? mt(r), !!(32 & r.__u), a), n.__v = r.__v, n.__.__k[n.__i] = n, Zi(o, n, a), r.__e = r.__ = null, n.__e != i && Gi(n)));\n un.__r = 0;\n}\nfunction Ji(t, e, n, r, i, o, a, l, c, u, d) {\n var h, p, f, m, v, x, g, b = r && r.__k || Ki, P = e.length;\n for (c = Oa(n, e, b, c, P), h = 0; h < P; h++) (f = n.__k[h]) != null && (p = f.__i == -1 ? Ot : b[f.__i] || Ot, f.__i = h, x = pr(t, f, p, i, o, a, l, c, u, d), m = f.__e, f.ref && p.ref != f.ref && (p.ref && fr(p.ref, null, f), d.push(f.ref, f.__c || m, f)), v == null && m != null && (v = m), (g = !!(4 & f.__u)) || p.__k === f.__k ? c = Yi(f, c, t, g) : typeof f.type == \"function\" && x !== void 0 ? c = x : m && (c = m.nextSibling), f.__u &= -7);\n return n.__e = v, c;\n}\nfunction Oa(t, e, n, r, i) {\n var o, a, l, c, u, d = n.length, h = d, p = 0;\n for (t.__k = new Array(i), o = 0; o < i; o++) (a = e[o]) != null && typeof a != \"boolean\" && typeof a != \"function\" ? (c = o + p, (a = t.__k[o] = typeof a == \"string\" || typeof a == \"number\" || typeof a == \"bigint\" || a.constructor == String ? Pt(null, a, null, null, null) : Ht(a) ? Pt(z, { children: a }, null, null, null) : a.constructor == null && a.__b > 0 ? Pt(a.type, a.props, a.key, a.ref ? a.ref : null, a.__v) : a).__ = t, a.__b = t.__b + 1, l = null, (u = a.__i = za(a, n, c, h)) != -1 && (h--, (l = n[u]) && (l.__u |= 2)), l == null || l.__v == null ? (u == -1 && (i > d ? p-- : i < d && p++), typeof a.type != \"function\" && (a.__u |= 4)) : u != c && (u == c - 1 ? p-- : u == c + 1 ? p++ : (u > c ? p-- : p++, a.__u |= 4))) : t.__k[o] = null;\n if (h) for (o = 0; o < d; o++) (l = n[o]) != null && (2 & l.__u) == 0 && (l.__e == r && (r = mt(l)), eo(l, l));\n return r;\n}\nfunction Yi(t, e, n, r) {\n var i, o;\n if (typeof t.type == \"function\") {\n for (i = t.__k, o = 0; i && o < i.length; o++) i[o] && (i[o].__ = t, e = Yi(i[o], e, n, r));\n return e;\n }\n t.__e != e && (r && (e && t.type && !e.parentNode && (e = mt(t)), n.insertBefore(t.__e, e || null)), e = t.__e);\n do\n e = e && e.nextSibling;\n while (e != null && e.nodeType == 8);\n return e;\n}\nfunction Ie(t, e) {\n return e = e || [], t == null || typeof t == \"boolean\" || (Ht(t) ? t.some(function(n) {\n Ie(n, e);\n }) : e.push(t)), e;\n}\nfunction za(t, e, n, r) {\n var i, o, a, l = t.key, c = t.type, u = e[n], d = u != null && (2 & u.__u) == 0;\n if (u === null && t.key == null || d && l == u.key && c == u.type) return n;\n if (r > (d ? 1 : 0)) {\n for (i = n - 1, o = n + 1; i >= 0 || o < e.length; ) if ((u = e[a = i >= 0 ? i-- : o++]) != null && (2 & u.__u) == 0 && l == u.key && c == u.type) return a;\n }\n return -1;\n}\nfunction Or(t, e, n) {\n e[0] == \"-\" ? t.setProperty(e, n ?? \"\") : t[e] = n == null ? \"\" : typeof n != \"number\" || Ma.test(e) ? n : n + \"px\";\n}\nfunction tn(t, e, n, r, i) {\n var o, a;\n e: if (e == \"style\") if (typeof n == \"string\") t.style.cssText = n;\n else {\n if (typeof r == \"string\" && (t.style.cssText = r = \"\"), r) for (e in r) n && e in n || Or(t.style, e, \"\");\n if (n) for (e in n) r && n[e] == r[e] || Or(t.style, e, n[e]);\n }\n else if (e[0] == \"o\" && e[1] == \"n\") o = e != (e = e.replace(Hi, \"$1\")), a = e.toLowerCase(), e = a in t || e == \"onFocusOut\" || e == \"onFocusIn\" ? a.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = n, n ? r ? n.u = r.u : (n.u = dr, t.addEventListener(e, o ? Un : Fn, o)) : t.removeEventListener(e, o ? Un : Fn, o);\n else {\n if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n t[e] = n ?? \"\";\n break e;\n } catch {\n }\n typeof n == \"function\" || (n == null || n === !1 && e[4] != \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && n == 1 ? \"\" : n));\n }\n}\nfunction zr(t) {\n return function(e) {\n if (this.l) {\n var n = this.l[e.type + t];\n if (e.t == null) e.t = dr++;\n else if (e.t < n.u) return;\n return n(k.event ? k.event(e) : e);\n }\n };\n}\nfunction pr(t, e, n, r, i, o, a, l, c, u) {\n var d, h, p, f, m, v, x, g, b, P, N, M, L, J, ne, re, ie, V = e.type;\n if (e.constructor != null) return null;\n 128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (d = k.__b) && d(e);\n e: if (typeof V == \"function\") try {\n if (g = e.props, b = \"prototype\" in V && V.prototype.render, P = (d = V.contextType) && r[d.__c], N = d ? P ? P.props.value : d.__ : r, n.__c ? x = (h = e.__c = n.__c).__ = h.__E : (b ? e.__c = h = new V(g, N) : (e.__c = h = new we(g, N), h.constructor = V, h.render = Da), P && P.sub(h), h.props = g, h.state || (h.state = {}), h.context = N, h.__n = r, p = h.__d = !0, h.__h = [], h._sb = []), b && h.__s == null && (h.__s = h.state), b && V.getDerivedStateFromProps != null && (h.__s == h.state && (h.__s = Re({}, h.__s)), Re(h.__s, V.getDerivedStateFromProps(g, h.__s))), f = h.props, m = h.state, h.__v = e, p) b && V.getDerivedStateFromProps == null && h.componentWillMount != null && h.componentWillMount(), b && h.componentDidMount != null && h.__h.push(h.componentDidMount);\n else {\n if (b && V.getDerivedStateFromProps == null && g !== f && h.componentWillReceiveProps != null && h.componentWillReceiveProps(g, N), !h.__e && h.shouldComponentUpdate != null && h.shouldComponentUpdate(g, h.__s, N) === !1 || e.__v == n.__v) {\n for (e.__v != n.__v && (h.props = g, h.state = h.__s, h.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(Y) {\n Y && (Y.__ = e);\n }), M = 0; M < h._sb.length; M++) h.__h.push(h._sb[M]);\n h._sb = [], h.__h.length && a.push(h);\n break e;\n }\n h.componentWillUpdate != null && h.componentWillUpdate(g, h.__s, N), b && h.componentDidUpdate != null && h.__h.push(function() {\n h.componentDidUpdate(f, m, v);\n });\n }\n if (h.context = N, h.props = g, h.__P = t, h.__e = !1, L = k.__r, J = 0, b) {\n for (h.state = h.__s, h.__d = !1, L && L(e), d = h.render(h.props, h.state, h.context), ne = 0; ne < h._sb.length; ne++) h.__h.push(h._sb[ne]);\n h._sb = [];\n } else do\n h.__d = !1, L && L(e), d = h.render(h.props, h.state, h.context), h.state = h.__s;\n while (h.__d && ++J < 25);\n h.state = h.__s, h.getChildContext != null && (r = Re(Re({}, r), h.getChildContext())), b && !p && h.getSnapshotBeforeUpdate != null && (v = h.getSnapshotBeforeUpdate(f, m)), re = d, d != null && d.type === z && d.key == null && (re = Xi(d.props.children)), l = Ji(t, Ht(re) ? re : [re], e, n, r, i, o, a, l, c, u), h.base = e.__e, e.__u &= -161, h.__h.length && a.push(h), x && (h.__E = h.__ = null);\n } catch (Y) {\n if (e.__v = null, c || o != null) if (Y.then) {\n for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;\n o[o.indexOf(l)] = null, e.__e = l;\n } else {\n for (ie = o.length; ie--; ) hr(o[ie]);\n Qn(e);\n }\n else e.__e = n.__e, e.__k = n.__k, Y.then || Qn(e);\n k.__e(Y, e, n);\n }\n else o == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = Ba(n.__e, e, n, r, i, o, a, c, u);\n return (d = k.diffed) && d(e), 128 & e.__u ? void 0 : l;\n}\nfunction Qn(t) {\n t && t.__c && (t.__c.__e = !0), t && t.__k && t.__k.forEach(Qn);\n}\nfunction Zi(t, e, n) {\n for (var r = 0; r < n.length; r++) fr(n[r], n[++r], n[++r]);\n k.__c && k.__c(e, t), t.some(function(i) {\n try {\n t = i.__h, i.__h = [], t.some(function(o) {\n o.call(i);\n });\n } catch (o) {\n k.__e(o, i.__v);\n }\n });\n}\nfunction Xi(t) {\n return typeof t != \"object\" || t == null || t.__b && t.__b > 0 ? t : Ht(t) ? t.map(Xi) : Re({}, t);\n}\nfunction Ba(t, e, n, r, i, o, a, l, c) {\n var u, d, h, p, f, m, v, x = n.props, g = e.props, b = e.type;\n if (b == \"svg\" ? i = \"http://www.w3.org/2000/svg\" : b == \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), o != null) {\n for (u = 0; u < o.length; u++) if ((f = o[u]) && \"setAttribute\" in f == !!b && (b ? f.localName == b : f.nodeType == 3)) {\n t = f, o[u] = null;\n break;\n }\n }\n if (t == null) {\n if (b == null) return document.createTextNode(g);\n t = document.createElementNS(i, b, g.is && g), l && (k.__m && k.__m(e, o), l = !1), o = null;\n }\n if (b == null) x === g || l && t.data == g || (t.data = g);\n else {\n if (o = o && Qt.call(t.childNodes), x = n.props || Ot, !l && o != null) for (x = {}, u = 0; u < t.attributes.length; u++) x[(f = t.attributes[u]).name] = f.value;\n for (u in x) if (f = x[u], u != \"children\") {\n if (u == \"dangerouslySetInnerHTML\") h = f;\n else if (!(u in g)) {\n if (u == \"value\" && \"defaultValue\" in g || u == \"checked\" && \"defaultChecked\" in g) continue;\n tn(t, u, null, f, i);\n }\n }\n for (u in g) f = g[u], u == \"children\" ? p = f : u == \"dangerouslySetInnerHTML\" ? d = f : u == \"value\" ? m = f : u == \"checked\" ? v = f : l && typeof f != \"function\" || x[u] === f || tn(t, u, f, x[u], i);\n if (d) l || h && (d.__html == h.__html || d.__html == t.innerHTML) || (t.innerHTML = d.__html), e.__k = [];\n else if (h && (t.innerHTML = \"\"), Ji(e.type == \"template\" ? t.content : t, Ht(p) ? p : [p], e, n, r, b == \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, o, a, o ? o[0] : n.__k && mt(n, 0), l, c), o != null) for (u = o.length; u--; ) hr(o[u]);\n l || (u = \"value\", b == \"progress\" && m == null ? t.removeAttribute(\"value\") : m != null && (m !== t[u] || b == \"progress\" && !m || b == \"option\" && m != x[u]) && tn(t, u, m, x[u], i), u = \"checked\", v != null && v != t[u] && tn(t, u, v, x[u], i));\n }\n return t;\n}\nfunction fr(t, e, n) {\n try {\n if (typeof t == \"function\") {\n var r = typeof t.__u == \"function\";\n r && t.__u(), r && e == null || (t.__u = t(e));\n } else t.current = e;\n } catch (i) {\n k.__e(i, n);\n }\n}\nfunction eo(t, e, n) {\n var r, i;\n if (k.unmount && k.unmount(t), (r = t.ref) && (r.current && r.current != t.__e || fr(r, null, e)), (r = t.__c) != null) {\n if (r.componentWillUnmount) try {\n r.componentWillUnmount();\n } catch (o) {\n k.__e(o, e);\n }\n r.base = r.__P = null;\n }\n if (r = t.__k) for (i = 0; i < r.length; i++) r[i] && eo(r[i], e, n || typeof t.type != \"function\");\n n || hr(t.__e), t.__c = t.__ = t.__e = void 0;\n}\nfunction Da(t, e, n) {\n return this.constructor(t, n);\n}\nfunction Xe(t, e, n) {\n var r, i, o, a;\n e == document && (e = document.documentElement), k.__ && k.__(t, e), i = (r = typeof n == \"function\") ? null : n && n.__k || e.__k, o = [], a = [], pr(e, t = (!r && n || e).__k = xe(z, null, [t]), i || Ot, Ot, e.namespaceURI, !r && n ? [n] : i ? null : e.firstChild ? Qt.call(e.childNodes) : null, o, !r && n ? n : i ? i.__e : e.firstChild, r, a), Zi(o, t, a);\n}\nfunction to(t, e) {\n Xe(t, e, to);\n}\nfunction Fa(t, e, n) {\n var r, i, o, a, l = Re({}, t.props);\n for (o in t.type && t.type.defaultProps && (a = t.type.defaultProps), e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : l[o] = e[o] === void 0 && a != null ? a[o] : e[o];\n return arguments.length > 2 && (l.children = arguments.length > 3 ? Qt.call(arguments, 2) : n), Pt(t.type, l, r || t.key, i || t.ref, null);\n}\nfunction Ua(t) {\n function e(n) {\n var r, i;\n return this.getChildContext || (r = /* @__PURE__ */ new Set(), (i = {})[e.__c] = this, this.getChildContext = function() {\n return i;\n }, this.componentWillUnmount = function() {\n r = null;\n }, this.shouldComponentUpdate = function(o) {\n this.props.value != o.value && r.forEach(function(a) {\n a.__e = !0, Vn(a);\n });\n }, this.sub = function(o) {\n r.add(o);\n var a = o.componentWillUnmount;\n o.componentWillUnmount = function() {\n r && r.delete(o), a && a.call(o);\n };\n }), n.children;\n }\n return e.__c = \"__cC\" + Wi++, e.__ = t, e.Provider = e.__l = (e.Consumer = function(n, r) {\n return n.children(r);\n }).contextType = e, e;\n}\nQt = Ki.slice, k = { __e: function(t, e, n, r) {\n for (var i, o, a; e = e.__; ) if ((i = e.__c) && !i.__) try {\n if ((o = i.constructor) && o.getDerivedStateFromError != null && (i.setState(o.getDerivedStateFromError(t)), a = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, r || {}), a = i.__d), a) return i.__E = i;\n } catch (l) {\n t = l;\n }\n throw t;\n} }, Fi = 0, Ui = function(t) {\n return t != null && t.constructor == null;\n}, we.prototype.setState = function(t, e) {\n var n;\n n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Re({}, this.state), typeof t == \"function\" && (t = t(Re({}, n), this.props)), t && Re(n, t), t != null && this.__v && (e && this._sb.push(e), Vn(this));\n}, we.prototype.forceUpdate = function(t) {\n this.__v && (this.__e = !0, t && this.__h.push(t), Vn(this));\n}, we.prototype.render = z, Ge = [], Vi = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, Qi = function(t, e) {\n return t.__v.__b - e.__v.__b;\n}, un.__r = 0, Hi = /(PointerCapture)$|Capture$/i, dr = 0, Fn = zr(!1), Un = zr(!0), Wi = 0;\nvar Va = 0;\nfunction s(t, e, n, r, i, o) {\n e || (e = {});\n var a, l, c = e;\n if (\"ref\" in c) for (l in c = {}, e) l == \"ref\" ? a = e[l] : c[l] = e[l];\n var u = { type: t, props: c, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --Va, __i: -1, __u: 0, __source: i, __self: o };\n if (typeof t == \"function\" && (a = t.defaultProps)) for (l in a) c[l] === void 0 && (c[l] = a[l]);\n return k.vnode && k.vnode(u), u;\n}\nvar Fe, O, In, Br, gt = 0, no = [], D = k, Dr = D.__b, Fr = D.__r, Ur = D.diffed, Vr = D.__c, Qr = D.unmount, Hr = D.__;\nfunction yt(t, e) {\n D.__h && D.__h(O, t, gt || e), gt = 0;\n var n = O.__H || (O.__H = { __: [], __h: [] });\n return t >= n.__.length && n.__.push({}), n.__[t];\n}\nfunction T(t) {\n return gt = 1, he(ao, t);\n}\nfunction he(t, e, n) {\n var r = yt(Fe++, 2);\n if (r.t = t, !r.__c && (r.__ = [n ? n(e) : ao(void 0, e), function(l) {\n var c = r.__N ? r.__N[0] : r.__[0], u = r.t(c, l);\n c !== u && (r.__N = [u, r.__[1]], r.__c.setState({}));\n }], r.__c = O, !O.__f)) {\n var i = function(l, c, u) {\n if (!r.__c.__H) return !0;\n var d = r.__c.__H.__.filter(function(p) {\n return !!p.__c;\n });\n if (d.every(function(p) {\n return !p.__N;\n })) return !o || o.call(this, l, c, u);\n var h = r.__c.props !== l;\n return d.forEach(function(p) {\n if (p.__N) {\n var f = p.__[0];\n p.__ = p.__N, p.__N = void 0, f !== p.__[0] && (h = !0);\n }\n }), o && o.call(this, l, c, u) || h;\n };\n O.__f = !0;\n var o = O.shouldComponentUpdate, a = O.componentWillUpdate;\n O.componentWillUpdate = function(l, c, u) {\n if (this.__e) {\n var d = o;\n o = void 0, i(l, c, u), o = d;\n }\n a && a.call(this, l, c, u);\n }, O.shouldComponentUpdate = i;\n }\n return r.__N || r.__;\n}\nfunction E(t, e) {\n var n = yt(Fe++, 3);\n !D.__s && mr(n.__H, e) && (n.__ = t, n.u = e, O.__H.__h.push(n));\n}\nfunction Wt(t, e) {\n var n = yt(Fe++, 4);\n !D.__s && mr(n.__H, e) && (n.__ = t, n.u = e, O.__h.push(n));\n}\nfunction Ee(t) {\n return gt = 5, K(function() {\n return { current: t };\n }, []);\n}\nfunction ro(t, e, n) {\n gt = 6, Wt(function() {\n if (typeof t == \"function\") {\n var r = t(e());\n return function() {\n t(null), r && typeof r == \"function\" && r();\n };\n }\n if (t) return t.current = e(), function() {\n return t.current = null;\n };\n }, n == null ? n : n.concat(t));\n}\nfunction K(t, e) {\n var n = yt(Fe++, 7);\n return mr(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;\n}\nfunction q(t, e) {\n return gt = 8, K(function() {\n return t;\n }, e);\n}\nfunction Kt(t) {\n var e = O.context[t.__c], n = yt(Fe++, 9);\n return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(O)), e.props.value) : t.__;\n}\nfunction io(t, e) {\n D.useDebugValue && D.useDebugValue(e ? e(t) : t);\n}\nfunction oo() {\n var t = yt(Fe++, 11);\n if (!t.__) {\n for (var e = O.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;\n var n = e.__m || (e.__m = [0, 0]);\n t.__ = \"P\" + n[0] + \"-\" + n[1]++;\n }\n return t.__;\n}\nfunction Qa() {\n for (var t; t = no.shift(); ) if (t.__P && t.__H) try {\n t.__H.__h.forEach(sn), t.__H.__h.forEach(Hn), t.__H.__h = [];\n } catch (e) {\n t.__H.__h = [], D.__e(e, t.__v);\n }\n}\nD.__b = function(t) {\n O = null, Dr && Dr(t);\n}, D.__ = function(t, e) {\n t && e.__k && e.__k.__m && (t.__m = e.__k.__m), Hr && Hr(t, e);\n}, D.__r = function(t) {\n Fr && Fr(t), Fe = 0;\n var e = (O = t.__c).__H;\n e && (In === O ? (e.__h = [], O.__h = [], e.__.forEach(function(n) {\n n.__N && (n.__ = n.__N), n.u = n.__N = void 0;\n })) : (e.__h.forEach(sn), e.__h.forEach(Hn), e.__h = [], Fe = 0)), In = O;\n}, D.diffed = function(t) {\n Ur && Ur(t);\n var e = t.__c;\n e && e.__H && (e.__H.__h.length && (no.push(e) !== 1 && Br === D.requestAnimationFrame || ((Br = D.requestAnimationFrame) || Ha)(Qa)), e.__H.__.forEach(function(n) {\n n.u && (n.__H = n.u), n.u = void 0;\n })), In = O = null;\n}, D.__c = function(t, e) {\n e.some(function(n) {\n try {\n n.__h.forEach(sn), n.__h = n.__h.filter(function(r) {\n return !r.__ || Hn(r);\n });\n } catch (r) {\n e.some(function(i) {\n i.__h && (i.__h = []);\n }), e = [], D.__e(r, n.__v);\n }\n }), Vr && Vr(t, e);\n}, D.unmount = function(t) {\n Qr && Qr(t);\n var e, n = t.__c;\n n && n.__H && (n.__H.__.forEach(function(r) {\n try {\n sn(r);\n } catch (i) {\n e = i;\n }\n }), n.__H = void 0, e && D.__e(e, n.__v));\n};\nvar Wr = typeof requestAnimationFrame == \"function\";\nfunction Ha(t) {\n var e, n = function() {\n clearTimeout(r), Wr && cancelAnimationFrame(e), setTimeout(t);\n }, r = setTimeout(n, 35);\n Wr && (e = requestAnimationFrame(n));\n}\nfunction sn(t) {\n var e = O, n = t.__c;\n typeof n == \"function\" && (t.__c = void 0, n()), O = e;\n}\nfunction Hn(t) {\n var e = O;\n t.__c = t.__(), O = e;\n}\nfunction mr(t, e) {\n return !t || t.length !== e.length || e.some(function(n, r) {\n return n !== t[r];\n });\n}\nfunction ao(t, e) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction so(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction Wn(t, e) {\n for (var n in t) if (n !== \"__source\" && !(n in e)) return !0;\n for (var r in e) if (r !== \"__source\" && t[r] !== e[r]) return !0;\n return !1;\n}\nfunction lo(t, e) {\n var n = e(), r = T({ t: { __: n, u: e } }), i = r[0].t, o = r[1];\n return Wt(function() {\n i.__ = n, i.u = e, En(i) && o({ t: i });\n }, [t, n, e]), E(function() {\n return En(i) && o({ t: i }), t(function() {\n En(i) && o({ t: i });\n });\n }, [t]), n;\n}\nfunction En(t) {\n var e, n, r = t.u, i = t.__;\n try {\n var o = r();\n return !((e = i) === (n = o) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);\n } catch {\n return !0;\n }\n}\nfunction co(t) {\n t();\n}\nfunction uo(t) {\n return t;\n}\nfunction ho() {\n return [!1, co];\n}\nvar po = Wt;\nfunction Kn(t, e) {\n this.props = t, this.context = e;\n}\nfunction Wa(t, e) {\n function n(i) {\n var o = this.props.ref, a = o == i.ref;\n return !a && o && (o.call ? o(null) : o.current = null), e ? !e(this.props, i) || !a : Wn(this.props, i);\n }\n function r(i) {\n return this.shouldComponentUpdate = n, xe(t, i);\n }\n return r.displayName = \"Memo(\" + (t.displayName || t.name) + \")\", r.prototype.isReactComponent = !0, r.__f = !0, r.type = t, r;\n}\n(Kn.prototype = new we()).isPureReactComponent = !0, Kn.prototype.shouldComponentUpdate = function(t, e) {\n return Wn(this.props, t) || Wn(this.state, e);\n};\nvar Kr = k.__b;\nk.__b = function(t) {\n t.type && t.type.__f && t.ref && (t.props.ref = t.ref, t.ref = null), Kr && Kr(t);\n};\nvar Ka = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.forward_ref\") || 3911;\nfunction Ga(t) {\n function e(n) {\n var r = so({}, n);\n return delete r.ref, t(r, n.ref || null);\n }\n return e.$$typeof = Ka, e.render = t, e.prototype.isReactComponent = e.__f = !0, e.displayName = \"ForwardRef(\" + (t.displayName || t.name) + \")\", e;\n}\nvar Gr = function(t, e) {\n return t == null ? null : Ie(Ie(t).map(e));\n}, Ja = { map: Gr, forEach: Gr, count: function(t) {\n return t ? Ie(t).length : 0;\n}, only: function(t) {\n var e = Ie(t);\n if (e.length !== 1) throw \"Children.only\";\n return e[0];\n}, toArray: Ie }, Ya = k.__e;\nk.__e = function(t, e, n, r) {\n if (t.then) {\n for (var i, o = e; o = o.__; ) if ((i = o.__c) && i.__c) return e.__e == null && (e.__e = n.__e, e.__k = n.__k), i.__c(t, e);\n }\n Ya(t, e, n, r);\n};\nvar Jr = k.unmount;\nfunction fo(t, e, n) {\n return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach(function(r) {\n typeof r.__c == \"function\" && r.__c();\n }), t.__c.__H = null), (t = so({}, t)).__c != null && (t.__c.__P === n && (t.__c.__P = e), t.__c.__e = !0, t.__c = null), t.__k = t.__k && t.__k.map(function(r) {\n return fo(r, e, n);\n })), t;\n}\nfunction mo(t, e, n) {\n return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {\n return mo(r, e, n);\n }), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;\n}\nfunction ln() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction go(t) {\n var e = t.__.__c;\n return e && e.__a && e.__a(t);\n}\nfunction Za(t) {\n var e, n, r;\n function i(o) {\n if (e || (e = t()).then(function(a) {\n n = a.default || a;\n }, function(a) {\n r = a;\n }), r) throw r;\n if (!n) throw e;\n return xe(n, o);\n }\n return i.displayName = \"Lazy\", i.__f = !0, i;\n}\nfunction It() {\n this.i = null, this.l = null;\n}\nk.unmount = function(t) {\n var e = t.__c;\n e && e.__R && e.__R(), e && 32 & t.__u && (t.type = null), Jr && Jr(t);\n}, (ln.prototype = new we()).__c = function(t, e) {\n var n = e.__c, r = this;\n r.o == null && (r.o = []), r.o.push(n);\n var i = go(r.__v), o = !1, a = function() {\n o || (o = !0, n.__R = null, i ? i(l) : l());\n };\n n.__R = a;\n var l = function() {\n if (!--r.__u) {\n if (r.state.__a) {\n var c = r.state.__a;\n r.__v.__k[0] = mo(c, c.__c.__P, c.__c.__O);\n }\n var u;\n for (r.setState({ __a: r.__b = null }); u = r.o.pop(); ) u.forceUpdate();\n }\n };\n r.__u++ || 32 & e.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), t.then(a, a);\n}, ln.prototype.componentWillUnmount = function() {\n this.o = [];\n}, ln.prototype.render = function(t, e) {\n if (this.__b) {\n if (this.__v.__k) {\n var n = document.createElement(\"div\"), r = this.__v.__k[0].__c;\n this.__v.__k[0] = fo(this.__b, n, r.__O = r.__P);\n }\n this.__b = null;\n }\n var i = e.__a && xe(z, null, t.fallback);\n return i && (i.__u &= -33), [xe(z, null, e.__a ? null : t.children), i];\n};\nvar Yr = function(t, e, n) {\n if (++n[1] === n[0] && t.l.delete(e), t.props.revealOrder && (t.props.revealOrder[0] !== \"t\" || !t.l.size)) for (n = t.i; n; ) {\n for (; n.length > 3; ) n.pop()();\n if (n[1] < n[0]) break;\n t.i = n = n[2];\n }\n};\nfunction Xa(t) {\n return this.getChildContext = function() {\n return t.context;\n }, t.children;\n}\nfunction es(t) {\n var e = this, n = t.h;\n if (e.componentWillUnmount = function() {\n Xe(null, e.v), e.v = null, e.h = null;\n }, e.h && e.h !== n && e.componentWillUnmount(), !e.v) {\n for (var r = e.__v; r !== null && !r.__m && r.__ !== null; ) r = r.__;\n e.h = n, e.v = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: r.__m }, contains: function() {\n return !0;\n }, insertBefore: function(i, o) {\n this.childNodes.push(i), e.h.insertBefore(i, o);\n }, removeChild: function(i) {\n this.childNodes.splice(this.childNodes.indexOf(i) >>> 1, 1), e.h.removeChild(i);\n } };\n }\n Xe(xe(Xa, { context: e.context }, t.__v), e.v);\n}\nfunction ts(t, e) {\n var n = xe(es, { __v: t, h: e });\n return n.containerInfo = e, n;\n}\n(It.prototype = new we()).__a = function(t) {\n var e = this, n = go(e.__v), r = e.l.get(t);\n return r[0]++, function(i) {\n var o = function() {\n e.props.revealOrder ? (r.push(i), Yr(e, t, r)) : i();\n };\n n ? n(o) : o();\n };\n}, It.prototype.render = function(t) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var e = Ie(t.children);\n t.revealOrder && t.revealOrder[0] === \"b\" && e.reverse();\n for (var n = e.length; n--; ) this.l.set(e[n], this.i = [1, 0, this.i]);\n return t.children;\n}, It.prototype.componentDidUpdate = It.prototype.componentDidMount = function() {\n var t = this;\n this.l.forEach(function(e, n) {\n Yr(t, n, e);\n });\n};\nvar xo = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.element\") || 60103, ns = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, rs = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, is = /[A-Z0-9]/g, os = typeof document < \"u\", as = function(t) {\n return (typeof Symbol < \"u\" && typeof /* @__PURE__ */ Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(t);\n};\nfunction ss(t, e, n) {\n return e.__k == null && (e.textContent = \"\"), Xe(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nfunction ls(t, e, n) {\n return to(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nwe.prototype.isReactComponent = {}, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t) {\n Object.defineProperty(we.prototype, t, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t];\n }, set: function(e) {\n Object.defineProperty(this, t, { configurable: !0, writable: !0, value: e });\n } });\n});\nvar Zr = k.event;\nfunction cs() {\n}\nfunction us() {\n return this.cancelBubble;\n}\nfunction ds() {\n return this.defaultPrevented;\n}\nk.event = function(t) {\n return Zr && (t = Zr(t)), t.persist = cs, t.isPropagationStopped = us, t.isDefaultPrevented = ds, t.nativeEvent = t;\n};\nvar gr, hs = { enumerable: !1, configurable: !0, get: function() {\n return this.class;\n} }, Xr = k.vnode;\nk.vnode = function(t) {\n typeof t.type == \"string\" && (function(e) {\n var n = e.props, r = e.type, i = {}, o = r.indexOf(\"-\") === -1;\n for (var a in n) {\n var l = n[a];\n if (!(a === \"value\" && \"defaultValue\" in n && l == null || os && a === \"children\" && r === \"noscript\" || a === \"class\" || a === \"className\")) {\n var c = a.toLowerCase();\n a === \"defaultValue\" && \"value\" in n && n.value == null ? a = \"value\" : a === \"download\" && l === !0 ? l = \"\" : c === \"translate\" && l === \"no\" ? l = !1 : c[0] === \"o\" && c[1] === \"n\" ? c === \"ondoubleclick\" ? a = \"ondblclick\" : c !== \"onchange\" || r !== \"input\" && r !== \"textarea\" || as(n.type) ? c === \"onfocus\" ? a = \"onfocusin\" : c === \"onblur\" ? a = \"onfocusout\" : rs.test(a) && (a = c) : c = a = \"oninput\" : o && ns.test(a) ? a = a.replace(is, \"-$&\").toLowerCase() : l === null && (l = void 0), c === \"oninput\" && i[a = c] && (a = \"oninputCapture\"), i[a] = l;\n }\n }\n r == \"select\" && i.multiple && Array.isArray(i.value) && (i.value = Ie(n.children).forEach(function(u) {\n u.props.selected = i.value.indexOf(u.props.value) != -1;\n })), r == \"select\" && i.defaultValue != null && (i.value = Ie(n.children).forEach(function(u) {\n u.props.selected = i.multiple ? i.defaultValue.indexOf(u.props.value) != -1 : i.defaultValue == u.props.value;\n })), n.class && !n.className ? (i.class = n.class, Object.defineProperty(i, \"className\", hs)) : (n.className && !n.class || n.class && n.className) && (i.class = i.className = n.className), e.props = i;\n })(t), t.$$typeof = xo, Xr && Xr(t);\n};\nvar ei = k.__r;\nk.__r = function(t) {\n ei && ei(t), gr = t.__c;\n};\nvar ti = k.diffed;\nk.diffed = function(t) {\n ti && ti(t);\n var e = t.props, n = t.__e;\n n != null && t.type === \"textarea\" && \"value\" in e && e.value !== n.value && (n.value = e.value == null ? \"\" : e.value), gr = null;\n};\nvar ps = { ReactCurrentDispatcher: { current: { readContext: function(t) {\n return gr.__n[t.__c].props.value;\n}, useCallback: q, useContext: Kt, useDebugValue: io, useDeferredValue: uo, useEffect: E, useId: oo, useImperativeHandle: ro, useInsertionEffect: po, useLayoutEffect: Wt, useMemo: K, useReducer: he, useRef: Ee, useState: T, useSyncExternalStore: lo, useTransition: ho } } };\nfunction fs(t) {\n return xe.bind(null, t);\n}\nfunction _n(t) {\n return !!t && t.$$typeof === xo;\n}\nfunction ms(t) {\n return _n(t) && t.type === z;\n}\nfunction gs(t) {\n return !!t && !!t.displayName && (typeof t.displayName == \"string\" || t.displayName instanceof String) && t.displayName.startsWith(\"Memo(\");\n}\nfunction xs(t) {\n return _n(t) ? Fa.apply(null, arguments) : t;\n}\nfunction bs(t) {\n return !!t.__k && (Xe(null, t), !0);\n}\nfunction vs(t) {\n return t && (t.base || t.nodeType === 1 && t) || null;\n}\nvar ys = function(t, e) {\n return t(e);\n}, ws = function(t, e) {\n return t(e);\n}, ks = z, _s = _n, xr = { useState: T, useId: oo, useReducer: he, useEffect: E, useLayoutEffect: Wt, useInsertionEffect: po, useTransition: ho, useDeferredValue: uo, useSyncExternalStore: lo, startTransition: co, useRef: Ee, useImperativeHandle: ro, useMemo: K, useCallback: q, useContext: Kt, useDebugValue: io, version: \"18.3.1\", Children: Ja, render: ss, hydrate: ls, unmountComponentAtNode: bs, createPortal: ts, createElement: xe, createContext: Ua, createFactory: fs, cloneElement: xs, createRef: La, Fragment: z, isValidElement: _n, isElement: _s, isFragment: ms, isMemo: gs, findDOMNode: vs, Component: we, PureComponent: Kn, memo: Wa, forwardRef: Ga, flushSync: ws, unstable_batchedUpdates: ys, StrictMode: ks, Suspense: ln, SuspenseList: It, lazy: Za, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ps }, Te = [], me = [], js = Uint8Array, $n = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var ct = 0, Ss = $n.length; ct < Ss; ++ct)\n Te[ct] = $n[ct], me[$n.charCodeAt(ct)] = ct;\nme[45] = 62;\nme[95] = 63;\nfunction Cs(t) {\n var e = t.length;\n if (e % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var n = t.indexOf(\"=\");\n n === -1 && (n = e);\n var r = n === e ? 0 : 4 - n % 4;\n return [n, r];\n}\nfunction Ts(t, e, n) {\n return (e + n) * 3 / 4 - n;\n}\nfunction zt(t) {\n var e, n = Cs(t), r = n[0], i = n[1], o = new js(Ts(t, r, i)), a = 0, l = i > 0 ? r - 4 : r, c;\n for (c = 0; c < l; c += 4)\n e = me[t.charCodeAt(c)] << 18 | me[t.charCodeAt(c + 1)] << 12 | me[t.charCodeAt(c + 2)] << 6 | me[t.charCodeAt(c + 3)], o[a++] = e >> 16 & 255, o[a++] = e >> 8 & 255, o[a++] = e & 255;\n return i === 2 && (e = me[t.charCodeAt(c)] << 2 | me[t.charCodeAt(c + 1)] >> 4, o[a++] = e & 255), i === 1 && (e = me[t.charCodeAt(c)] << 10 | me[t.charCodeAt(c + 1)] << 4 | me[t.charCodeAt(c + 2)] >> 2, o[a++] = e >> 8 & 255, o[a++] = e & 255), o;\n}\nfunction Rs(t) {\n return Te[t >> 18 & 63] + Te[t >> 12 & 63] + Te[t >> 6 & 63] + Te[t & 63];\n}\nfunction As(t, e, n) {\n for (var r, i = [], o = e; o < n; o += 3)\n r = (t[o] << 16 & 16711680) + (t[o + 1] << 8 & 65280) + (t[o + 2] & 255), i.push(Rs(r));\n return i.join(\"\");\n}\nfunction Bt(t) {\n for (var e, n = t.length, r = n % 3, i = [], o = 16383, a = 0, l = n - r; a < l; a += o)\n i.push(\n As(\n t,\n a,\n a + o > l ? l : a + o\n )\n );\n return r === 1 ? (e = t[n - 1], i.push(Te[e >> 2] + Te[e << 4 & 63] + \"==\")) : r === 2 && (e = (t[n - 2] << 8) + t[n - 1], i.push(\n Te[e >> 10] + Te[e >> 4 & 63] + Te[e << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nfunction Le(t) {\n if (t === void 0)\n return {};\n if (!bo(t))\n throw new Error(\n `The arguments to a Convex function must be an object. Received: ${t}`\n );\n return t;\n}\nfunction Is(t) {\n if (typeof t > \"u\")\n throw new Error(\n \"Client created with undefined deployment address. If you used an environment variable, check that it's set.\"\n );\n if (typeof t != \"string\")\n throw new Error(\n `Invalid deployment address: found ${t}\".`\n );\n if (!(t.startsWith(\"http:\") || t.startsWith(\"https:\")))\n throw new Error(\n `Invalid deployment address: Must start with \"https://\" or \"http://\". Found \"${t}\".`\n );\n try {\n new URL(t);\n } catch {\n throw new Error(\n `Invalid deployment address: \"${t}\" is not a valid URL. If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n }\n if (t.endsWith(\".convex.site\"))\n throw new Error(\n `Invalid deployment address: \"${t}\" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n}\nfunction bo(t) {\n const e = typeof t == \"object\", n = Object.getPrototypeOf(t), r = n === null || n === Object.prototype || // Objects generated from other contexts (e.g. across Node.js `vm` modules) will not satisfy the previous\n // conditions but are still simple objects.\n n?.constructor?.name === \"Object\";\n return e && r;\n}\nconst vo = !0, xt = BigInt(\"-9223372036854775808\"), br = BigInt(\"9223372036854775807\"), Gn = BigInt(\"0\"), Es = BigInt(\"8\"), $s = BigInt(\"256\");\nfunction yo(t) {\n return Number.isNaN(t) || !Number.isFinite(t) || Object.is(t, -0);\n}\nfunction Ps(t) {\n t < Gn && (t -= xt + xt);\n let e = t.toString(16);\n e.length % 2 === 1 && (e = \"0\" + e);\n const n = new Uint8Array(new ArrayBuffer(8));\n let r = 0;\n for (const i of e.match(/.{2}/g).reverse())\n n.set([parseInt(i, 16)], r++), t >>= Es;\n return Bt(n);\n}\nfunction qs(t) {\n const e = zt(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n let n = Gn, r = Gn;\n for (const i of e)\n n += BigInt(i) * $s ** r, r++;\n return n > br && (n += xt + xt), n;\n}\nfunction Ns(t) {\n if (t < xt || br < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n const e = new ArrayBuffer(8);\n return new DataView(e).setBigInt64(0, t, !0), Bt(new Uint8Array(e));\n}\nfunction Ms(t) {\n const e = zt(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n return new DataView(e.buffer).getBigInt64(0, !0);\n}\nconst Ls = DataView.prototype.setBigInt64 ? Ns : Ps, Os = DataView.prototype.getBigInt64 ? Ms : qs, ni = 1024;\nfunction wo(t) {\n if (t.length > ni)\n throw new Error(\n `Field name ${t} exceeds maximum field name length ${ni}.`\n );\n if (t.startsWith(\"$\"))\n throw new Error(`Field name ${t} starts with a '$', which is reserved.`);\n for (let e = 0; e < t.length; e += 1) {\n const n = t.charCodeAt(e);\n if (n < 32 || n >= 127)\n throw new Error(\n `Field name ${t} has invalid character '${t[e]}': Field names can only contain non-control ASCII characters`\n );\n }\n}\nfunction bt(t) {\n if (t === null || typeof t == \"boolean\" || typeof t == \"number\" || typeof t == \"string\")\n return t;\n if (Array.isArray(t))\n return t.map((r) => bt(r));\n if (typeof t != \"object\")\n throw new Error(`Unexpected type of ${t}`);\n const e = Object.entries(t);\n if (e.length === 1) {\n const r = e[0][0];\n if (r === \"$bytes\") {\n if (typeof t.$bytes != \"string\")\n throw new Error(`Malformed $bytes field on ${t}`);\n return zt(t.$bytes).buffer;\n }\n if (r === \"$integer\") {\n if (typeof t.$integer != \"string\")\n throw new Error(`Malformed $integer field on ${t}`);\n return Os(t.$integer);\n }\n if (r === \"$float\") {\n if (typeof t.$float != \"string\")\n throw new Error(`Malformed $float field on ${t}`);\n const i = zt(t.$float);\n if (i.byteLength !== 8)\n throw new Error(\n `Received ${i.byteLength} bytes, expected 8 for $float`\n );\n const a = new DataView(i.buffer).getFloat64(0, vo);\n if (!yo(a))\n throw new Error(`Float ${a} should be encoded as a number`);\n return a;\n }\n if (r === \"$set\")\n throw new Error(\n \"Received a Set which is no longer supported as a Convex type.\"\n );\n if (r === \"$map\")\n throw new Error(\n \"Received a Map which is no longer supported as a Convex type.\"\n );\n }\n const n = {};\n for (const [r, i] of Object.entries(t))\n wo(r), n[r] = bt(i);\n return n;\n}\nconst ri = 16384;\nfunction qt(t) {\n const e = JSON.stringify(t, (n, r) => r === void 0 ? \"undefined\" : typeof r == \"bigint\" ? `${r.toString()}n` : r);\n if (e.length > ri) {\n const n = \"[...truncated]\";\n let r = ri - n.length;\n const i = e.codePointAt(r - 1);\n return i !== void 0 && i > 65535 && (r -= 1), e.substring(0, r) + n;\n }\n return e;\n}\nfunction Jn(t, e, n, r) {\n if (t === void 0) {\n const a = n && ` (present at path ${n} in original object ${qt(\n e\n )})`;\n throw new Error(\n `undefined is not a valid Convex value${a}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`\n );\n }\n if (t === null)\n return t;\n if (typeof t == \"bigint\") {\n if (t < xt || br < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n return { $integer: Ls(t) };\n }\n if (typeof t == \"number\")\n if (yo(t)) {\n const a = new ArrayBuffer(8);\n return new DataView(a).setFloat64(0, t, vo), { $float: Bt(new Uint8Array(a)) };\n } else\n return t;\n if (typeof t == \"boolean\" || typeof t == \"string\")\n return t;\n if (t instanceof ArrayBuffer)\n return { $bytes: Bt(new Uint8Array(t)) };\n if (Array.isArray(t))\n return t.map(\n (a, l) => Jn(a, e, n + `[${l}]`)\n );\n if (t instanceof Set)\n throw new Error(\n Pn(n, \"Set\", [...t], e)\n );\n if (t instanceof Map)\n throw new Error(\n Pn(n, \"Map\", [...t], e)\n );\n if (!bo(t)) {\n const a = t?.constructor?.name, l = a ? `${a} ` : \"\";\n throw new Error(\n Pn(n, l, t, e)\n );\n }\n const i = {}, o = Object.entries(t);\n o.sort(([a, l], [c, u]) => a === c ? 0 : a < c ? -1 : 1);\n for (const [a, l] of o)\n l !== void 0 && (wo(a), i[a] = Jn(l, e, n + `.${a}`));\n return i;\n}\nfunction Pn(t, e, n, r) {\n return t ? `${e}${qt(\n n\n )} is not a supported Convex type (present at path ${t} in original object ${qt(\n r\n )}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${qt(\n n\n )} is not a supported Convex type.`;\n}\nfunction $e(t) {\n return Jn(t, t, \"\");\n}\nvar zs = Object.defineProperty, Bs = (t, e, n) => e in t ? zs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, qn = (t, e, n) => Bs(t, typeof e != \"symbol\" ? e + \"\" : e, n), ii, oi;\nconst Ds = /* @__PURE__ */ Symbol.for(\"ConvexError\");\nclass dn extends (oi = Error, ii = Ds, oi) {\n constructor(e) {\n super(typeof e == \"string\" ? e : qt(e)), qn(this, \"name\", \"ConvexError\"), qn(this, \"data\"), qn(this, ii, !0), this.data = e;\n }\n}\nconst ko = () => Array.from({ length: 4 }, () => 0);\nko();\nko();\nconst ai = \"1.41.0\";\nvar Fs = Object.defineProperty, Us = (t, e, n) => e in t ? Fs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, si = (t, e, n) => Us(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Vs = \"color:rgb(0, 145, 255)\";\nfunction _o(t) {\n switch (t) {\n case \"query\":\n return \"Q\";\n case \"mutation\":\n return \"M\";\n case \"action\":\n return \"A\";\n case \"any\":\n return \"?\";\n }\n}\nclass jo {\n constructor(e) {\n si(this, \"_onLogLineFuncs\"), si(this, \"_verbose\"), this._onLogLineFuncs = {}, this._verbose = e.verbose;\n }\n addLogLineListener(e) {\n let n = Math.random().toString(36).substring(2, 15);\n for (let r = 0; r < 10 && this._onLogLineFuncs[n] !== void 0; r++)\n n = Math.random().toString(36).substring(2, 15);\n return this._onLogLineFuncs[n] = e, () => {\n delete this._onLogLineFuncs[n];\n };\n }\n logVerbose(...e) {\n if (this._verbose)\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"debug\", `${(/* @__PURE__ */ new Date()).toISOString()}`, ...e);\n }\n log(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"info\", ...e);\n }\n warn(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"warn\", ...e);\n }\n error(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"error\", ...e);\n }\n}\nfunction So(t) {\n const e = new jo(t);\n return e.addLogLineListener((n, ...r) => {\n switch (n) {\n case \"debug\":\n console.debug(...r);\n break;\n case \"info\":\n console.log(...r);\n break;\n case \"warn\":\n console.warn(...r);\n break;\n case \"error\":\n console.error(...r);\n break;\n default:\n console.log(...r);\n }\n }), e;\n}\nfunction Co(t) {\n return new jo(t);\n}\nfunction hn(t, e, n, r, i) {\n const o = _o(n);\n if (typeof i == \"object\" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === \"info\") {\n const a = i.match(/^\\[.*?\\] /);\n if (a === null) {\n t.error(\n `[CONVEX ${o}(${r})] Could not parse console.log`\n );\n return;\n }\n const l = i.slice(1, a[0].length - 2), c = i.slice(a[0].length);\n t.log(`%c[CONVEX ${o}(${r})] [${l}]`, Vs, c);\n } else\n t.error(`[CONVEX ${o}(${r})] ${i}`);\n}\nfunction Qs(t, e) {\n const n = `[CONVEX FATAL ERROR] ${e}`;\n return t.error(n), new Error(n);\n}\nfunction pt(t, e, n) {\n return `[CONVEX ${_o(t)}(${e})] ${n.errorMessage}\n Called by client`;\n}\nfunction Yn(t, e) {\n return e.data = t.errorData, e;\n}\nfunction et(t) {\n const e = t.split(\":\");\n let n, r;\n return e.length === 1 ? (n = e[0], r = \"default\") : (n = e.slice(0, e.length - 1).join(\":\"), r = e[e.length - 1]), n.endsWith(\".js\") && (n = n.slice(0, -3)), `${n}:${r}`;\n}\nfunction Ye(t, e) {\n return JSON.stringify({\n udfPath: et(t),\n args: $e(e)\n });\n}\nfunction li(t, e, n) {\n const { initialNumItems: r, id: i } = n;\n return JSON.stringify({\n type: \"paginated\",\n udfPath: et(t),\n args: $e(e),\n options: $e({ initialNumItems: r, id: i })\n });\n}\nvar Hs = Object.defineProperty, Ws = (t, e, n) => e in t ? Hs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Se = (t, e, n) => Ws(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ks {\n constructor() {\n Se(this, \"nextQueryId\"), Se(this, \"querySetVersion\"), Se(this, \"querySet\"), Se(this, \"queryIdToToken\"), Se(this, \"identityVersion\"), Se(this, \"auth\"), Se(this, \"outstandingQueriesOlderThanRestart\"), Se(this, \"outstandingAuthOlderThanRestart\"), Se(this, \"paused\"), Se(this, \"pendingQuerySetModifications\"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();\n }\n hasSyncedPastLastReconnect() {\n return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;\n }\n markAuthCompletion() {\n this.outstandingAuthOlderThanRestart = !1;\n }\n subscribe(e, n, r, i) {\n const o = et(e), a = Ye(o, n), l = this.querySet.get(a);\n if (l !== void 0)\n return l.numSubscribers += 1, {\n queryToken: a,\n modification: null,\n unsubscribe: () => this.removeSubscriber(a)\n };\n {\n const c = this.nextQueryId++, u = {\n id: c,\n canonicalizedUdfPath: o,\n args: n,\n numSubscribers: 1,\n journal: r,\n componentPath: i\n };\n this.querySet.set(a, u), this.queryIdToToken.set(c, a);\n const d = this.querySetVersion, h = this.querySetVersion + 1, p = {\n type: \"Add\",\n queryId: c,\n udfPath: o,\n args: [$e(n)],\n journal: r,\n componentPath: i\n };\n return this.paused ? this.pendingQuerySetModifications.set(c, p) : this.querySetVersion = h, {\n queryToken: a,\n modification: {\n type: \"ModifyQuerySet\",\n baseVersion: d,\n newVersion: h,\n modifications: [p]\n },\n unsubscribe: () => this.removeSubscriber(a)\n };\n }\n }\n transition(e) {\n for (const n of e.modifications)\n switch (n.type) {\n case \"QueryUpdated\":\n case \"QueryFailed\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n const r = n.journal;\n if (r !== void 0) {\n const i = this.queryIdToToken.get(n.queryId);\n i !== void 0 && (this.querySet.get(i).journal = r);\n }\n break;\n }\n case \"QueryRemoved\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${n.type}`);\n }\n }\n queryId(e, n) {\n const r = et(e), i = Ye(r, n), o = this.querySet.get(i);\n return o !== void 0 ? o.id : null;\n }\n isCurrentOrNewerAuthVersion(e) {\n return e >= this.identityVersion;\n }\n getAuth() {\n return this.auth;\n }\n setAuth(e) {\n this.auth = {\n tokenType: \"User\",\n value: e\n };\n const n = this.identityVersion;\n return this.paused || (this.identityVersion = n + 1), {\n type: \"Authenticate\",\n baseVersion: n,\n ...this.auth\n };\n }\n setAdminAuth(e, n) {\n const r = {\n tokenType: \"Admin\",\n value: e,\n impersonating: n\n };\n this.auth = r;\n const i = this.identityVersion;\n return this.paused || (this.identityVersion = i + 1), {\n type: \"Authenticate\",\n baseVersion: i,\n ...r\n };\n }\n clearAuth() {\n this.auth = void 0, this.markAuthCompletion();\n const e = this.identityVersion;\n return this.paused || (this.identityVersion = e + 1), {\n type: \"Authenticate\",\n tokenType: \"None\",\n baseVersion: e\n };\n }\n hasAuth() {\n return !!this.auth;\n }\n isNewAuth(e) {\n return this.auth?.value !== e;\n }\n queryPath(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).canonicalizedUdfPath : null;\n }\n queryArgs(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).args : null;\n }\n queryToken(e) {\n return this.queryIdToToken.get(e) ?? null;\n }\n queryJournal(e) {\n return this.querySet.get(e)?.journal;\n }\n restart() {\n this.unpause(), this.outstandingQueriesOlderThanRestart.clear();\n const e = [];\n for (const i of this.querySet.values()) {\n const o = {\n type: \"Add\",\n queryId: i.id,\n udfPath: i.canonicalizedUdfPath,\n args: [$e(i.args)],\n journal: i.journal,\n componentPath: i.componentPath\n };\n e.push(o), this.outstandingQueriesOlderThanRestart.add(i.id);\n }\n this.querySetVersion = 1;\n const n = {\n type: \"ModifyQuerySet\",\n baseVersion: 0,\n newVersion: 1,\n modifications: e\n };\n if (!this.auth)\n return this.identityVersion = 0, [n, void 0];\n this.outstandingAuthOlderThanRestart = !0;\n const r = {\n type: \"Authenticate\",\n baseVersion: 0,\n ...this.auth\n };\n return this.identityVersion = 1, [n, r];\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n const e = this.pendingQuerySetModifications.size > 0 ? {\n type: \"ModifyQuerySet\",\n baseVersion: this.querySetVersion,\n newVersion: ++this.querySetVersion,\n modifications: Array.from(\n this.pendingQuerySetModifications.values()\n )\n } : void 0, n = this.auth !== void 0 ? {\n type: \"Authenticate\",\n baseVersion: this.identityVersion++,\n ...this.auth\n } : void 0;\n return this.unpause(), [e, n];\n }\n unpause() {\n this.paused = !1, this.pendingQuerySetModifications.clear();\n }\n removeSubscriber(e) {\n const n = this.querySet.get(e);\n if (n.numSubscribers > 1)\n return n.numSubscribers -= 1, null;\n {\n this.querySet.delete(e), this.queryIdToToken.delete(n.id), this.outstandingQueriesOlderThanRestart.delete(n.id);\n const r = this.querySetVersion, i = this.querySetVersion + 1, o = {\n type: \"Remove\",\n queryId: n.id\n };\n return this.paused ? this.pendingQuerySetModifications.has(n.id) ? this.pendingQuerySetModifications.delete(n.id) : this.pendingQuerySetModifications.set(n.id, o) : this.querySetVersion = i, {\n type: \"ModifyQuerySet\",\n baseVersion: r,\n newVersion: i,\n modifications: [o]\n };\n }\n }\n}\nvar Gs = Object.defineProperty, Js = (t, e, n) => e in t ? Gs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, nn = (t, e, n) => Js(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ys {\n constructor(e, n) {\n this.logger = e, this.markConnectionStateDirty = n, nn(this, \"inflightRequests\"), nn(this, \"requestsOlderThanRestart\"), nn(this, \"inflightMutationsCount\", 0), nn(this, \"inflightActionsCount\", 0), this.inflightRequests = /* @__PURE__ */ new Map(), this.requestsOlderThanRestart = /* @__PURE__ */ new Set();\n }\n request(e, n) {\n const r = new Promise((i) => {\n const o = n ? \"Requested\" : \"NotSent\";\n this.inflightRequests.set(e.requestId, {\n message: e,\n status: { status: o, requestedAt: /* @__PURE__ */ new Date(), onResult: i }\n }), e.type === \"Mutation\" ? this.inflightMutationsCount++ : e.type === \"Action\" && this.inflightActionsCount++;\n });\n return this.markConnectionStateDirty(), r;\n }\n /**\n * Update the state after receiving a response.\n *\n * @returns A RequestId if the request is complete and its optimistic update\n * can be dropped, null otherwise.\n */\n onResponse(e) {\n const n = this.inflightRequests.get(e.requestId);\n if (n === void 0 || n.status.status === \"Completed\")\n return null;\n const r = n.message.type === \"Mutation\" ? \"mutation\" : \"action\", i = n.message.udfPath;\n for (const c of e.logLines)\n hn(this.logger, \"info\", r, i, c);\n const o = n.status;\n let a, l;\n if (e.success)\n a = {\n success: !0,\n logLines: e.logLines,\n value: bt(e.result)\n }, l = () => o.onResult(a);\n else {\n const c = e.result, { errorData: u } = e;\n hn(this.logger, \"error\", r, i, c), a = {\n success: !1,\n errorMessage: c,\n errorData: u !== void 0 ? bt(u) : void 0,\n logLines: e.logLines\n }, l = () => o.onResult(a);\n }\n return e.type === \"ActionResponse\" || !e.success ? (l(), this.inflightRequests.delete(e.requestId), this.requestsOlderThanRestart.delete(e.requestId), n.message.type === \"Action\" ? this.inflightActionsCount-- : n.message.type === \"Mutation\" && this.inflightMutationsCount--, this.markConnectionStateDirty(), { requestId: e.requestId, result: a }) : (n.status = {\n status: \"Completed\",\n result: a,\n ts: e.ts,\n onResolve: l\n }, null);\n }\n // Remove and returns completed requests.\n removeCompleted(e) {\n const n = /* @__PURE__ */ new Map();\n for (const [r, i] of this.inflightRequests.entries()) {\n const o = i.status;\n o.status === \"Completed\" && o.ts.lessThanOrEqual(e) && (o.onResolve(), n.set(r, o.result), i.message.type === \"Mutation\" ? this.inflightMutationsCount-- : i.message.type === \"Action\" && this.inflightActionsCount--, this.inflightRequests.delete(r), this.requestsOlderThanRestart.delete(r));\n }\n return n.size > 0 && this.markConnectionStateDirty(), n;\n }\n restart() {\n this.requestsOlderThanRestart = new Set(this.inflightRequests.keys());\n const e = [];\n for (const [n, r] of this.inflightRequests) {\n if (r.status.status === \"NotSent\") {\n r.status.status = \"Requested\", e.push(r.message);\n continue;\n }\n if (r.message.type === \"Mutation\")\n e.push(r.message);\n else if (r.message.type === \"Action\") {\n if (this.inflightRequests.delete(n), this.requestsOlderThanRestart.delete(n), this.inflightActionsCount--, r.status.status === \"Completed\")\n throw new Error(\"Action should never be in 'Completed' state\");\n r.status.onResult({\n success: !1,\n errorMessage: \"Connection lost while action was in flight\",\n logLines: []\n });\n }\n }\n return this.markConnectionStateDirty(), e;\n }\n resume() {\n const e = [];\n for (const [, n] of this.inflightRequests)\n if (n.status.status === \"NotSent\") {\n n.status.status = \"Requested\", e.push(n.message);\n continue;\n }\n return e;\n }\n /**\n * @returns true if there are any requests that have been requested but have\n * not be completed yet.\n */\n hasIncompleteRequests() {\n for (const e of this.inflightRequests.values())\n if (e.status.status === \"Requested\")\n return !0;\n return !1;\n }\n /**\n * @returns true if there are any inflight requests, including ones that have\n * completed on the server, but have not been applied.\n */\n hasInflightRequests() {\n return this.inflightRequests.size > 0;\n }\n /**\n * @returns true if there are any inflight requests, that have been hanging around\n * since prior to the most recent restart.\n */\n hasSyncedPastLastReconnect() {\n return this.requestsOlderThanRestart.size === 0;\n }\n timeOfOldestInflightRequest() {\n if (this.inflightRequests.size === 0)\n return null;\n let e = Date.now();\n for (const n of this.inflightRequests.values())\n n.status.status !== \"Completed\" && n.status.requestedAt.getTime() < e && (e = n.status.requestedAt.getTime());\n return new Date(e);\n }\n /**\n * @returns The number of mutations currently in flight.\n */\n inflightMutations() {\n return this.inflightMutationsCount;\n }\n /**\n * @returns The number of actions currently in flight.\n */\n inflightActions() {\n return this.inflightActionsCount;\n }\n}\nconst Dt = /* @__PURE__ */ Symbol.for(\"functionName\"), To = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction Zs(t) {\n return t[To] ?? null;\n}\nfunction Xs(t) {\n return t.startsWith(\"function://\");\n}\nfunction el(t) {\n let e;\n if (typeof t == \"string\")\n Xs(t) ? e = { functionHandle: t } : e = { name: t };\n else if (t[Dt])\n e = { name: t[Dt] };\n else {\n const n = Zs(t);\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n e = { reference: n };\n }\n return e;\n}\nfunction oe(t) {\n const e = el(t);\n if (e.name === void 0)\n throw e.functionHandle !== void 0 ? new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received function handle ${e.functionHandle}`\n ) : e.reference !== void 0 ? new Error(\n `Expected function reference in the current component like \"api.file.func\" or \"internal.file.func\", but received reference ${e.reference}`\n ) : new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received ${JSON.stringify(e)}`\n );\n if (typeof t == \"string\") return t;\n const n = t[Dt];\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n return n;\n}\nfunction vr(t) {\n return { [Dt]: t };\n}\nfunction Ro(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return Ro(i);\n } else if (r === Dt) {\n if (t.length < 2) {\n const a = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${a}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), o = t[t.length - 1];\n return o === \"default\" ? i : i + \":\" + o;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nconst tl = Ro();\nvar nl = Object.defineProperty, rl = (t, e, n) => e in t ? nl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, pn = (t, e, n) => rl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ft {\n constructor(e) {\n pn(this, \"queryResults\"), pn(this, \"modifiedQueries\"), this.queryResults = e, this.modifiedQueries = [];\n }\n getQuery(e, ...n) {\n const r = Le(n[0]), i = oe(e), o = this.queryResults.get(\n Ye(i, r)\n );\n if (o !== void 0)\n return Ft.queryValue(o.result);\n }\n getAllQueries(e) {\n const n = [], r = oe(e);\n for (const i of this.queryResults.values())\n i.udfPath === et(r) && n.push({\n args: i.args,\n value: Ft.queryValue(i.result)\n });\n return n;\n }\n setQuery(e, n, r) {\n const i = Le(n), o = oe(e), a = Ye(o, i);\n let l;\n r === void 0 ? l = void 0 : l = {\n success: !0,\n value: r,\n // It's an optimistic update, so there are no function logs to show.\n logLines: []\n };\n const c = {\n udfPath: o,\n args: i,\n result: l\n };\n this.queryResults.set(a, c), this.modifiedQueries.push(a);\n }\n static queryValue(e) {\n if (e !== void 0)\n return e.success ? e.value : void 0;\n }\n}\nclass il {\n constructor() {\n pn(this, \"queryResults\"), pn(this, \"optimisticUpdates\"), this.queryResults = /* @__PURE__ */ new Map(), this.optimisticUpdates = [];\n }\n /**\n * Apply all optimistic updates on top of server query results\n */\n ingestQueryResultsFromServer(e, n) {\n this.optimisticUpdates = this.optimisticUpdates.filter((a) => !n.has(a.mutationId));\n const r = this.queryResults;\n this.queryResults = new Map(e);\n const i = new Ft(this.queryResults);\n for (const a of this.optimisticUpdates)\n a.update(i);\n const o = [];\n for (const [a, l] of this.queryResults) {\n const c = r.get(a);\n (c === void 0 || c.result !== l.result) && o.push(a);\n }\n return o;\n }\n applyOptimisticUpdate(e, n) {\n this.optimisticUpdates.push({\n update: e,\n mutationId: n\n });\n const r = new Ft(this.queryResults);\n return e(r), r.modifiedQueries;\n }\n /**\n * \"Raw\" with respect to errors vs values, but query results still have\n * optimistic updates applied.\n *\n * @internal\n */\n rawQueryResult(e) {\n const n = this.queryResults.get(e);\n if (n !== void 0)\n return n.result;\n }\n queryResult(e) {\n const n = this.queryResults.get(e);\n if (n === void 0)\n return;\n const r = n.result;\n if (r !== void 0) {\n if (r.success)\n return r.value;\n throw r.errorData !== void 0 ? Yn(\n r,\n new dn(\n pt(\"query\", n.udfPath, r)\n )\n ) : new Error(\n pt(\"query\", n.udfPath, r)\n );\n }\n }\n hasQueryResult(e) {\n return this.queryResults.get(e) !== void 0;\n }\n /**\n * @internal\n */\n queryLogs(e) {\n return this.queryResults.get(e)?.result?.logLines;\n }\n}\nvar ol = Object.defineProperty, al = (t, e, n) => e in t ? ol(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Nn = (t, e, n) => al(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass le {\n constructor(e, n) {\n Nn(this, \"low\"), Nn(this, \"high\"), Nn(this, \"__isUnsignedLong__\"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;\n }\n static isLong(e) {\n return (e && e.__isUnsignedLong__) === !0;\n }\n // prettier-ignore\n static fromBytesLE(e) {\n return new le(\n e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,\n e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24\n );\n }\n // prettier-ignore\n toBytesLE() {\n const e = this.high, n = this.low;\n return [\n n & 255,\n n >>> 8 & 255,\n n >>> 16 & 255,\n n >>> 24,\n e & 255,\n e >>> 8 & 255,\n e >>> 16 & 255,\n e >>> 24\n ];\n }\n static fromNumber(e) {\n return isNaN(e) || e < 0 ? ci : e >= sl ? ll : new le(e % Nt | 0, e / Nt | 0);\n }\n toString() {\n return (BigInt(this.high) * BigInt(Nt) + BigInt(this.low)).toString();\n }\n equals(e) {\n return le.isLong(e) || (e = le.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;\n }\n notEquals(e) {\n return !this.equals(e);\n }\n comp(e) {\n return le.isLong(e) || (e = le.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;\n }\n lessThanOrEqual(e) {\n return this.comp(\n /* validates */\n e\n ) <= 0;\n }\n static fromValue(e) {\n return typeof e == \"number\" ? le.fromNumber(e) : new le(e.low, e.high);\n }\n}\nconst ci = new le(0, 0), ui = 65536, Nt = ui * ui, sl = Nt * Nt, ll = new le(-1, -1);\nvar cl = Object.defineProperty, ul = (t, e, n) => e in t ? cl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, rn = (t, e, n) => ul(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass di {\n constructor(e, n) {\n rn(this, \"version\"), rn(this, \"remoteQuerySet\"), rn(this, \"queryPath\"), rn(this, \"logger\"), this.version = { querySet: 0, ts: le.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;\n }\n transition(e) {\n const n = e.startVersion;\n if (this.version.querySet !== n.querySet || this.version.ts.notEquals(n.ts) || this.version.identity !== n.identity)\n throw new Error(\n `Invalid start version: ${n.ts.toString()}:${n.querySet}:${n.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`\n );\n for (const r of e.modifications)\n switch (r.type) {\n case \"QueryUpdated\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n hn(this.logger, \"info\", \"query\", i, a);\n const o = bt(r.value ?? null);\n this.remoteQuerySet.set(r.queryId, {\n success: !0,\n value: o,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryFailed\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n hn(this.logger, \"info\", \"query\", i, a);\n const { errorData: o } = r;\n this.remoteQuerySet.set(r.queryId, {\n success: !1,\n errorMessage: r.errorMessage,\n errorData: o !== void 0 ? bt(o) : void 0,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryRemoved\": {\n this.remoteQuerySet.delete(r.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${r.type}`);\n }\n this.version = e.endVersion;\n }\n remoteQueryResults() {\n return this.remoteQuerySet;\n }\n timestamp() {\n return this.version.ts;\n }\n}\nfunction Mn(t) {\n const e = zt(t);\n return le.fromBytesLE(Array.from(e));\n}\nfunction dl(t) {\n const e = new Uint8Array(t.toBytesLE());\n return Bt(e);\n}\nfunction hi(t) {\n switch (t.type) {\n case \"FatalError\":\n case \"AuthError\":\n case \"ActionResponse\":\n case \"TransitionChunk\":\n case \"Ping\":\n return { ...t };\n case \"MutationResponse\":\n return t.success ? { ...t, ts: Mn(t.ts) } : { ...t };\n case \"Transition\":\n return {\n ...t,\n startVersion: {\n ...t.startVersion,\n ts: Mn(t.startVersion.ts)\n },\n endVersion: {\n ...t.endVersion,\n ts: Mn(t.endVersion.ts)\n }\n };\n }\n}\nfunction hl(t) {\n switch (t.type) {\n case \"Authenticate\":\n case \"ModifyQuerySet\":\n case \"Mutation\":\n case \"Action\":\n case \"Event\":\n return { ...t };\n case \"Connect\":\n return t.maxObservedTimestamp !== void 0 ? {\n ...t,\n maxObservedTimestamp: dl(t.maxObservedTimestamp)\n } : { ...t, maxObservedTimestamp: void 0 };\n }\n}\nvar pl = Object.defineProperty, fl = (t, e, n) => e in t ? pl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, H = (t, e, n) => fl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst ml = 1e3, gl = 1001, xl = 1005, bl = 4040;\nlet cn;\nfunction dt() {\n return cn === void 0 && (cn = Date.now()), typeof performance > \"u\" || !performance.now ? Date.now() : Math.round(cn + performance.now());\n}\nfunction pi() {\n return `t=${Math.round((dt() - cn) / 100) / 10}s`;\n}\nconst Ao = {\n // A known error, e.g. during a restart or push\n InternalServerError: { timeout: 1e3 },\n // ErrorMetadata::overloaded() messages that we realy should back off\n SubscriptionsWorkerFullError: { timeout: 3e3 },\n TooManyConcurrentRequests: { timeout: 3e3 },\n CommitterFullError: { timeout: 3e3 },\n AwsTooManyRequestsException: { timeout: 3e3 },\n ExecuteFullError: { timeout: 3e3 },\n SystemTimeoutError: { timeout: 3e3 },\n ExpiredInQueue: { timeout: 3e3 },\n // ErrorMetadata::feature_temporarily_unavailable() that typically indicate a deploy just happened\n VectorIndexesUnavailable: { timeout: 1e3 },\n SearchIndexesUnavailable: { timeout: 1e3 },\n TableSummariesUnavailable: { timeout: 1e3 },\n // More ErrorMetadata::overloaded()\n VectorIndexTooLarge: { timeout: 3e3 },\n SearchIndexTooLarge: { timeout: 3e3 },\n TooManyWritesInTimePeriod: { timeout: 3e3 }\n};\nfunction vl(t) {\n if (t === void 0) return \"Unknown\";\n for (const e of Object.keys(\n Ao\n ))\n if (t.startsWith(e))\n return e;\n return \"Unknown\";\n}\nclass yl {\n constructor(e, n, r, i, o, a) {\n this.markConnectionStateDirty = o, this.debug = a, H(this, \"socket\"), H(this, \"connectionCount\"), H(this, \"_hasEverConnected\", !1), H(this, \"lastCloseReason\"), H(this, \"transitionChunkBuffer\", null), H(this, \"defaultInitialBackoff\"), H(this, \"maxBackoff\"), H(this, \"retries\"), H(this, \"serverInactivityThreshold\"), H(this, \"reconnectDueToServerInactivityTimeout\"), H(this, \"scheduledReconnect\", null), H(this, \"networkOnlineHandler\", null), H(this, \"pendingNetworkRecoveryInfo\", null), H(this, \"uri\"), H(this, \"onOpen\"), H(this, \"onResume\"), H(this, \"onMessage\"), H(this, \"webSocketConstructor\"), H(this, \"logger\"), H(this, \"onServerDisconnectError\"), this.webSocketConstructor = r, this.socket = { state: \"disconnected\" }, this.connectionCount = 0, this.lastCloseReason = \"InitialConnect\", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();\n }\n setSocketState(e) {\n this.socket = e, this._logVerbose(\n `socket state changed: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}`\n ), this.markConnectionStateDirty();\n }\n setupNetworkListener() {\n typeof window > \"u\" || typeof window.addEventListener != \"function\" || this.networkOnlineHandler === null && (this.networkOnlineHandler = () => {\n this._logVerbose(\"network online event detected\"), this.tryReconnectImmediately();\n }, window.addEventListener(\"online\", this.networkOnlineHandler), this._logVerbose(\"network online event listener registered\"));\n }\n cleanupNetworkListener() {\n this.networkOnlineHandler && typeof window < \"u\" && typeof window.removeEventListener == \"function\" && (window.removeEventListener(\"online\", this.networkOnlineHandler), this.networkOnlineHandler = null, this._logVerbose(\"network online event listener removed\"));\n }\n assembleTransition(e) {\n if (e.partNumber < 0 || e.partNumber >= e.totalParts || e.totalParts === 0 || this.transitionChunkBuffer && (this.transitionChunkBuffer.totalParts !== e.totalParts || this.transitionChunkBuffer.transitionId !== e.transitionId))\n throw this.transitionChunkBuffer = null, new Error(\"Invalid TransitionChunk\");\n if (this.transitionChunkBuffer === null && (this.transitionChunkBuffer = {\n chunks: [],\n totalParts: e.totalParts,\n transitionId: e.transitionId\n }), e.partNumber !== this.transitionChunkBuffer.chunks.length) {\n const n = this.transitionChunkBuffer.chunks.length;\n throw this.transitionChunkBuffer = null, new Error(\n `TransitionChunk received out of order: expected part ${n}, got ${e.partNumber}`\n );\n }\n if (this.transitionChunkBuffer.chunks.push(e.chunk), this.transitionChunkBuffer.chunks.length === e.totalParts) {\n const n = this.transitionChunkBuffer.chunks.join(\"\");\n this.transitionChunkBuffer = null;\n const r = hi(JSON.parse(n));\n if (r.type !== \"Transition\")\n throw new Error(\n `Expected Transition, got ${r.type} after assembling chunks`\n );\n return r;\n }\n return null;\n }\n connect() {\n if (this.socket.state === \"terminated\")\n return;\n if (this.socket.state !== \"disconnected\" && this.socket.state !== \"stopped\")\n throw new Error(\n \"Didn't start connection from disconnected state: \" + this.socket.state\n );\n const e = new this.webSocketConstructor(this.uri);\n this._logVerbose(\"constructed WebSocket\"), this.setSocketState({\n state: \"connecting\",\n ws: e,\n paused: \"no\"\n }), this.resetServerInactivityTimeout(), e.onopen = () => {\n if (this.logger.logVerbose(\"begin ws.onopen\"), this.socket.state !== \"connecting\")\n throw new Error(\"onopen called with socket not in connecting state\");\n if (this.setSocketState({\n state: \"ready\",\n ws: e,\n paused: this.socket.paused === \"yes\" ? \"uninitialized\" : \"no\"\n }), this.resetServerInactivityTimeout(), this.socket.paused === \"no\" && (this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: dt()\n })), this.lastCloseReason !== \"InitialConnect\" && (this.lastCloseReason ? this.logger.log(\n \"WebSocket reconnected at\",\n pi(),\n \"after disconnect due to\",\n this.lastCloseReason\n ) : this.logger.log(\"WebSocket reconnected at\", pi())), this.connectionCount += 1, this.lastCloseReason = null, this.pendingNetworkRecoveryInfo !== null) {\n const { timeSavedMs: n } = this.pendingNetworkRecoveryInfo;\n this.pendingNetworkRecoveryInfo = null, this.sendMessage({\n type: \"Event\",\n eventType: \"NetworkRecoveryReconnect\",\n event: { timeSavedMs: n }\n }), this.logger.log(\n `Network recovery reconnect saved ~${Math.round(n / 1e3)}s of waiting`\n );\n }\n }, e.onerror = (n) => {\n this.transitionChunkBuffer = null;\n const r = n.message;\n r && this.logger.log(`WebSocket error message: ${r}`);\n }, e.onmessage = (n) => {\n this.resetServerInactivityTimeout();\n const r = n.data.length;\n let i = hi(JSON.parse(n.data));\n if (this._logVerbose(`received ws message with type ${i.type}`), i.type === \"Ping\")\n return;\n if (i.type === \"TransitionChunk\") {\n const a = this.assembleTransition(i);\n if (!a)\n return;\n i = a, this._logVerbose(\n `assembled full ws message of type ${i.type}`\n );\n }\n this.transitionChunkBuffer !== null && (this.transitionChunkBuffer = null, this.logger.log(\n `Received unexpected ${i.type} while buffering TransitionChunks`\n )), i.type === \"Transition\" && this.reportLargeTransition({\n messageLength: r,\n transition: i\n }), this.onMessage(i).hasSyncedPastLastReconnect && (this.retries = 0, this.markConnectionStateDirty());\n }, e.onclose = (n) => {\n if (this._logVerbose(\"begin ws.onclose\"), this.transitionChunkBuffer = null, this.lastCloseReason === null && (this.lastCloseReason = n.reason || `closed with code ${n.code}`), n.code !== ml && n.code !== gl && // This commonly gets fired on mobile apps when the app is backgrounded\n n.code !== xl && n.code !== bl) {\n let i = `WebSocket closed with code ${n.code}`;\n n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);\n }\n const r = vl(n.reason);\n this.scheduleReconnect(r);\n };\n }\n /**\n * @returns The state of the {@link Socket}.\n */\n socketState() {\n return this.socket.state;\n }\n /**\n * @param message - A ClientMessage to send.\n * @returns Whether the message (might have been) sent.\n */\n sendMessage(e) {\n const n = {\n type: e.type,\n ...e.type === \"Authenticate\" && e.tokenType === \"User\" ? {\n value: `...${e.value.slice(-7)}`\n } : {}\n };\n if (this.socket.state === \"ready\" && this.socket.paused === \"no\") {\n const r = hl(e), i = JSON.stringify(r);\n let o = !1;\n try {\n this.socket.ws.send(i), o = !0;\n } catch (a) {\n this.logger.log(\n `Failed to send message on WebSocket, reconnecting: ${a}`\n ), this.closeAndReconnect(\"FailedToSendMessage\");\n }\n return this._logVerbose(\n `${o ? \"sent\" : \"failed to send\"} message with type ${e.type}: ${JSON.stringify(\n n\n )}`\n ), !0;\n }\n return this._logVerbose(\n `message not sent (socket state: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}): ${JSON.stringify(\n n\n )}`\n ), !1;\n }\n resetServerInactivityTimeout() {\n this.socket.state !== \"terminated\" && (this.reconnectDueToServerInactivityTimeout !== null && (clearTimeout(this.reconnectDueToServerInactivityTimeout), this.reconnectDueToServerInactivityTimeout = null), this.reconnectDueToServerInactivityTimeout = setTimeout(() => {\n this.closeAndReconnect(\"InactiveServer\");\n }, this.serverInactivityThreshold));\n }\n scheduleReconnect(e) {\n this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.socket = { state: \"disconnected\" };\n const n = this.nextBackoff(e);\n this.markConnectionStateDirty(), this.logger.log(`Attempting reconnect in ${Math.round(n)}ms`);\n const r = dt(), i = setTimeout(() => {\n this.scheduledReconnect?.timeout === i && (this.scheduledReconnect = null, this.connect());\n }, n);\n this.scheduledReconnect = {\n timeout: i,\n scheduledAt: r,\n backoffMs: n\n };\n }\n /**\n * Close the WebSocket and schedule a reconnect.\n *\n * This should be used when we hit an error and would like to restart the session.\n */\n closeAndReconnect(e) {\n switch (this._logVerbose(`begin closeAndReconnect with reason ${e}`), this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.lastCloseReason = e, this.close(), this.scheduleReconnect(\"client\");\n return;\n }\n default:\n this.socket;\n }\n }\n /**\n * Close the WebSocket, being careful to clear the onclose handler to avoid re-entrant\n * calls. Use this instead of directly calling `ws.close()`\n *\n * It is the callers responsibility to update the state after this method is called so that the\n * closed socket is not accessible or used again after this method is called\n */\n close() {\n switch (this.transitionChunkBuffer = null, this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return Promise.resolve();\n case \"connecting\": {\n const e = this.socket.ws;\n return e.onmessage = (n) => {\n this._logVerbose(\"Ignoring message received after close\");\n }, new Promise((n) => {\n e.onclose = () => {\n this._logVerbose(\"Closed after connecting\"), n();\n }, e.onopen = () => {\n this._logVerbose(\"Opened after connecting\"), e.close();\n };\n });\n }\n case \"ready\": {\n this._logVerbose(\"ws.close called\");\n const e = this.socket.ws;\n e.onmessage = (r) => {\n this._logVerbose(\"Ignoring message received after close\");\n };\n const n = new Promise((r) => {\n e.onclose = () => {\n r();\n };\n });\n return e.close(), n;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Close the WebSocket and do not reconnect.\n * @returns A Promise that resolves when the WebSocket `onClose` callback is called.\n */\n terminate() {\n switch (this.reconnectDueToServerInactivityTimeout && clearTimeout(this.reconnectDueToServerInactivityTimeout), this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.cleanupNetworkListener(), this.socket.state) {\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n case \"connecting\":\n case \"ready\": {\n const e = this.close();\n return this.setSocketState({ state: \"terminated\" }), e;\n }\n default:\n throw this.socket, new Error(\n `Invalid websocket state: ${this.socket.state}`\n );\n }\n }\n stop() {\n switch (this.socket.state) {\n case \"terminated\":\n return Promise.resolve();\n case \"connecting\":\n case \"stopped\":\n case \"disconnected\":\n case \"ready\": {\n this.cleanupNetworkListener();\n const e = this.close();\n return this.socket = { state: \"stopped\" }, e;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Create a new WebSocket after a previous `stop()`, unless `terminate()` was\n * called before.\n */\n tryRestart() {\n switch (this.socket.state) {\n case \"stopped\":\n break;\n case \"terminated\":\n case \"connecting\":\n case \"ready\":\n case \"disconnected\":\n this.logger.logVerbose(\"Restart called without stopping first\");\n return;\n default:\n this.socket;\n }\n this.setupNetworkListener(), this.connect();\n }\n pause() {\n switch (this.socket.state) {\n case \"disconnected\":\n case \"stopped\":\n case \"terminated\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.socket = { ...this.socket, paused: \"yes\" };\n return;\n }\n default: {\n this.socket;\n return;\n }\n }\n }\n /**\n * Try to reconnect immediately, canceling any scheduled reconnect.\n * This is useful when detecting network recovery.\n * Only takes action if we're in disconnected state (waiting to reconnect).\n */\n tryReconnectImmediately() {\n if (this._logVerbose(\"tryReconnectImmediately called\"), this.socket.state !== \"disconnected\") {\n this._logVerbose(\n `tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`\n );\n return;\n }\n let e = null;\n if (this.scheduledReconnect) {\n const n = dt() - this.scheduledReconnect.scheduledAt;\n e = Math.max(0, this.scheduledReconnect.backoffMs - n), this._logVerbose(\n `would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(n)}ms)`\n ), clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null, this._logVerbose(\"canceled scheduled reconnect\");\n }\n this.logger.log(\"Network recovery detected, reconnecting immediately\"), this.pendingNetworkRecoveryInfo = e !== null ? { timeSavedMs: e } : null, this.connect();\n }\n /**\n * Resume the state machine if previously paused.\n */\n resume() {\n switch (this.socket.state) {\n case \"connecting\":\n this.socket = { ...this.socket, paused: \"no\" };\n return;\n case \"ready\":\n this.socket.paused === \"uninitialized\" ? (this.socket = { ...this.socket, paused: \"no\" }, this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: dt()\n })) : this.socket.paused === \"yes\" && (this.socket = { ...this.socket, paused: \"no\" }, this.onResume());\n return;\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n return;\n default:\n this.socket;\n }\n this.connect();\n }\n connectionState() {\n return {\n isConnected: this.socket.state === \"ready\",\n hasEverConnected: this._hasEverConnected,\n connectionCount: this.connectionCount,\n connectionRetries: this.retries\n };\n }\n _logVerbose(e) {\n this.logger.logVerbose(e);\n }\n nextBackoff(e) {\n const r = (e === \"client\" ? 100 : e === \"Unknown\" ? this.defaultInitialBackoff : Ao[e].timeout) * Math.pow(2, this.retries);\n this.retries += 1;\n const i = Math.min(r, this.maxBackoff), o = i * (Math.random() - 0.5);\n return i + o;\n }\n reportLargeTransition({\n transition: e,\n messageLength: n\n }) {\n if (e.clientClockSkew === void 0 || e.serverTs === void 0)\n return;\n const r = dt() - // client time now\n // clientClockSkew = (server time + upstream latency) - client time\n // clientClockSkew is \"how many milliseconds behind (slow) is the client clock\"\n // but the latency of the Connect message inflates this, making it appear further behind\n e.clientClockSkew - e.serverTs / 1e6, i = `${Math.round(r)}ms`, o = `${Math.round(n / 1e4) / 100}MB`, a = n / (r / 1e3), l = `${Math.round(a / 1e4) / 100}MB per second`;\n this._logVerbose(\n `received ${o} transition in ${i} at ${l}`\n ), n > 2e7 ? this.logger.log(\n `received query results totaling more that 20MB (${o}) which will take a long time to download on slower connections`\n ) : r > 2e4 && this.logger.log(\n `received query results totaling ${o} which took more than 20s to arrive (${i})`\n ), this.debug && this.sendMessage({\n type: \"Event\",\n eventType: \"ClientReceivedTransition\",\n event: { transitionTransitTime: r, messageLength: n }\n });\n }\n}\nfunction wl() {\n return kl();\n}\nfunction kl() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (t) => {\n const e = Math.random() * 16 | 0;\n return (t === \"x\" ? e : e & 3 | 8).toString(16);\n });\n}\nclass Et extends Error {\n}\nEt.prototype.name = \"InvalidTokenError\";\nfunction _l(t) {\n return decodeURIComponent(\n atob(t).replace(/(.)/g, (e, n) => {\n let r = n.charCodeAt(0).toString(16).toUpperCase();\n return r.length < 2 && (r = \"0\" + r), \"%\" + r;\n })\n );\n}\nfunction jl(t) {\n let e = t.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (e.length % 4) {\n case 0:\n break;\n case 2:\n e += \"==\";\n break;\n case 3:\n e += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return _l(e);\n } catch {\n return atob(e);\n }\n}\nfunction Io(t, e) {\n if (typeof t != \"string\")\n throw new Et(\"Invalid token specified: must be a string\");\n e || (e = {});\n const n = e.header === !0 ? 0 : 1, r = t.split(\".\")[n];\n if (typeof r != \"string\")\n throw new Et(\n `Invalid token specified: missing part #${n + 1}`\n );\n let i;\n try {\n i = jl(r);\n } catch (o) {\n throw new Et(\n `Invalid token specified: invalid base64 for part #${n + 1} (${o.message})`\n );\n }\n try {\n return JSON.parse(i);\n } catch (o) {\n throw new Et(\n `Invalid token specified: invalid json for part #${n + 1} (${o.message})`\n );\n }\n}\nvar Sl = Object.defineProperty, Cl = (t, e, n) => e in t ? Sl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, de = (t, e, n) => Cl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Tl = 480 * 60 * 60 * 1e3, fi = 2;\nclass Rl {\n constructor(e, n, r) {\n de(this, \"authState\", { state: \"noAuth\" }), de(this, \"configVersion\", 0), de(this, \"syncState\"), de(this, \"authenticate\"), de(this, \"stopSocket\"), de(this, \"tryRestartSocket\"), de(this, \"pauseSocket\"), de(this, \"resumeSocket\"), de(this, \"clearAuth\"), de(this, \"logger\"), de(this, \"refreshTokenLeewaySeconds\"), de(this, \"lastRefreshChange\"), de(this, \"tokenConfirmationAttempts\", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds, this.lastRefreshChange = !1;\n }\n notifyRefreshChange(e) {\n this.authState.state !== \"noAuth\" && this.authState.state !== \"initialRefetch\" && this.authState.config.onRefreshChange && this.lastRefreshChange !== e && (this.lastRefreshChange = e, this.authState.config.onRefreshChange(e));\n }\n async setConfig(e, n, r) {\n this.resetAuthState(), this._logVerbose(\"pausing WS for auth token fetch\"), this.pauseSocket();\n const i = await this.fetchTokenAndGuardAgainstRace(e, {\n forceRefreshToken: !1\n });\n if (i.isFromOutdatedConfig)\n return;\n const o = {\n fetchToken: e,\n onAuthChange: n,\n onRefreshChange: r\n };\n i.value ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfCachedToken\",\n config: o,\n hasRetried: !1\n }), this.authenticate(i.value)) : (this.setAuthState({\n state: \"initialRefetch\",\n config: o\n }), await this.refetchToken()), this._logVerbose(\"resuming WS after auth token fetch\"), this.resumeSocket();\n }\n onTransition(e) {\n if (this.syncState.isCurrentOrNewerAuthVersion(\n e.endVersion.identity\n ) && !(e.endVersion.identity <= e.startVersion.identity)) {\n if (this._logVerbose(\n `auth state is ${this.authState.state} when handling transition`\n ), this.syncState.markAuthCompletion(), this.authState.state === \"waitingForServerConfirmationOfCachedToken\") {\n this._logVerbose(\"server confirmed auth token is valid\"), this.refetchToken(), this.authState.config.onAuthChange(!0);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this._logVerbose(\"server confirmed new auth token is valid\"), this.notifyRefreshChange(!1), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));\n }\n }\n onAuthError(e) {\n if (e.authUpdateAttempted === !1 && (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" || this.authState.state === \"waitingForServerConfirmationOfCachedToken\")) {\n this._logVerbose(\"ignoring non-auth token expired error\");\n return;\n }\n const { baseVersion: n } = e;\n if (!this.syncState.isCurrentOrNewerAuthVersion(n + 1)) {\n this._logVerbose(\"ignoring auth error for previous auth attempt\");\n return;\n }\n this.tryToReauthenticate(e);\n }\n // This is similar to `refetchToken` defined below, in fact we\n // don't represent them as different states, but it is different\n // in that we pause the WebSocket so that mutations\n // don't retry with bad auth.\n async tryToReauthenticate(e) {\n if (this._logVerbose(`attempting to reauthenticate: ${e.error}`), // No way to fetch another token, kaboom\n this.authState.state === \"noAuth\" || // We failed on a fresh token. After a small number of retries, we give up\n // and clear the auth state to avoid infinite retries.\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && this.tokenConfirmationAttempts >= fi) {\n this.logger.error(\n `Failed to authenticate: \"${e.error}\", check your server auth config`\n ), this.syncState.hasAuth() && this.syncState.clearAuth(), this.authState.state !== \"noAuth\" && this.setAndReportAuthFailed(this.authState.config.onAuthChange);\n return;\n }\n if (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this.tokenConfirmationAttempts++, this._logVerbose(\n `retrying reauthentication, ${fi - this.tokenConfirmationAttempts} attempts remaining`\n )), this.notifyRefreshChange(!0), await this.stopSocket(), this.authState.state === \"noAuth\")\n return;\n const n = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n n.isFromOutdatedConfig || (n.value && this.syncState.isNewAuth(n.value) ? (this.authenticate(n.value), this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n config: this.authState.config,\n token: n.value,\n hadAuth: this.authState.state === \"notRefetching\" || this.authState.state === \"waitingForScheduledRefetch\"\n })) : (this._logVerbose(\"reauthentication failed, could not fetch a new token\"), this.syncState.hasAuth() && this.syncState.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this.tryRestartSocket());\n }\n // Force refetch the token and schedule another refetch\n // before the token expires - an active client should never\n // need to reauthenticate.\n async refetchToken() {\n if (this.authState.state === \"noAuth\")\n return;\n this._logVerbose(\"refetching auth token\");\n const e = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n e.isFromOutdatedConfig || (e.value ? this.syncState.isNewAuth(e.value) ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n hadAuth: this.syncState.hasAuth(),\n token: e.value,\n config: this.authState.config\n }), this.authenticate(e.value)) : this.setAuthState({\n state: \"notRefetching\",\n config: this.authState.config\n }) : (this._logVerbose(\"refetching token failed\"), this.syncState.hasAuth() && this.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this._logVerbose(\n \"restarting WS after auth token fetch (if currently stopped)\"\n ), this.tryRestartSocket());\n }\n scheduleTokenRefetch(e) {\n if (this.authState.state === \"noAuth\")\n return;\n const n = this.decodeToken(e);\n if (!n) {\n this.logger.error(\n \"Auth token is not a valid JWT, cannot refetch the token\"\n );\n return;\n }\n const { iat: r, exp: i } = n;\n if (!r || !i) {\n this.logger.error(\n \"Auth token does not have required fields, cannot refetch the token\"\n );\n return;\n }\n const o = i - r;\n if (o <= 2) {\n this.logger.error(\n \"Auth token does not live long enough, cannot refetch the token\"\n );\n return;\n }\n let a = Math.min(\n Tl,\n (o - this.refreshTokenLeewaySeconds) * 1e3\n );\n a <= 0 && (this.logger.warn(\n `Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${o}s`\n ), a = 0);\n const l = setTimeout(() => {\n this._logVerbose(\"running scheduled token refetch\"), this.refetchToken();\n }, a);\n this.setAuthState({\n state: \"waitingForScheduledRefetch\",\n refetchTokenTimeoutId: l,\n config: this.authState.config\n }), this._logVerbose(\n `scheduled preemptive auth token refetching in ${a}ms`\n );\n }\n // Protects against simultaneous calls to `setConfig`\n // while we're fetching a token\n async fetchTokenAndGuardAgainstRace(e, n) {\n const r = ++this.configVersion;\n this._logVerbose(\n `fetching token with config version ${r}`\n );\n const i = await e(n);\n return this.configVersion !== r ? (this._logVerbose(\n `stale config version, expected ${r}, got ${this.configVersion}`\n ), { isFromOutdatedConfig: !0 }) : { isFromOutdatedConfig: !1, value: i };\n }\n stop() {\n this.resetAuthState(), this.configVersion++, this._logVerbose(`config version bumped to ${this.configVersion}`);\n }\n setAndReportAuthFailed(e) {\n e(!1), this.resetAuthState();\n }\n // The sole path to `state === \"noAuth\"`; consumers rely on this firing\n // `notifyRefreshChange(false)` to pair any in-flight `(true)`. May run\n // when refresh state is already false.\n resetAuthState() {\n this.notifyRefreshChange(!1), this.setAuthState({ state: \"noAuth\" });\n }\n setAuthState(e) {\n const n = e.state === \"waitingForServerConfirmationOfFreshToken\" ? {\n hadAuth: e.hadAuth,\n state: e.state,\n token: `...${e.token.slice(-7)}`\n } : { state: e.state };\n switch (this._logVerbose(\n `setting auth state to ${JSON.stringify(n)}`\n ), e.state) {\n case \"waitingForScheduledRefetch\":\n case \"notRefetching\":\n case \"noAuth\":\n this.tokenConfirmationAttempts = 0;\n break;\n }\n this.authState.state === \"waitingForScheduledRefetch\" && clearTimeout(this.authState.refetchTokenTimeoutId), this.authState = e;\n }\n decodeToken(e) {\n try {\n return Io(e);\n } catch (n) {\n return this._logVerbose(\n `Error decoding token: ${n instanceof Error ? n.message : \"Unknown error\"}`\n ), null;\n }\n }\n _logVerbose(e) {\n this.logger.logVerbose(`${e} [v${this.configVersion}]`);\n }\n}\nconst Al = [\n \"convexClientConstructed\",\n \"convexWebSocketOpen\",\n \"convexFirstMessageReceived\"\n];\nfunction Il(t, e) {\n const n = { sessionId: e };\n typeof performance > \"u\" || !performance.mark || performance.mark(t, { detail: n });\n}\nfunction El(t) {\n let e = t.name.slice(6);\n return e = e.charAt(0).toLowerCase() + e.slice(1), {\n name: e,\n startTime: t.startTime\n };\n}\nfunction $l(t) {\n if (typeof performance > \"u\" || !performance.getEntriesByName)\n return [];\n const e = [];\n for (const n of Al) {\n const r = performance.getEntriesByName(n).filter((i) => i.entryType === \"mark\").filter((i) => i.detail.sessionId === t);\n e.push(...r);\n }\n return e.map(El);\n}\nvar Pl = Object.defineProperty, ql = (t, e, n) => e in t ? Pl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, W = (t, e, n) => ql(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Nl {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param onTransition - A callback receiving an array of query tokens\n * corresponding to query results that have changed -- additional handlers\n * can be added via `addOnTransitionHandler`.\n * @param options - See {@link BaseConvexClientOptions} for a full description.\n */\n constructor(e, n, r) {\n if (W(this, \"address\"), W(this, \"state\"), W(this, \"requestManager\"), W(this, \"webSocketManager\"), W(this, \"authenticationManager\"), W(this, \"remoteQuerySet\"), W(this, \"optimisticQueryResults\"), W(this, \"_transitionHandlerCounter\", 0), W(this, \"_nextRequestId\"), W(this, \"_onTransitionFns\", /* @__PURE__ */ new Map()), W(this, \"_sessionId\"), W(this, \"firstMessageReceived\", !1), W(this, \"debug\"), W(this, \"logger\"), W(this, \"maxObservedTimestamp\"), W(this, \"connectionStateSubscribers\", /* @__PURE__ */ new Map()), W(this, \"nextConnectionStateSubscriberId\", 0), W(this, \"_lastPublishedConnectionState\"), W(this, \"markConnectionStateDirty\", () => {\n Promise.resolve().then(() => {\n const f = this.connectionState();\n if (JSON.stringify(f) !== JSON.stringify(this._lastPublishedConnectionState)) {\n this._lastPublishedConnectionState = f;\n for (const m of this.connectionStateSubscribers.values())\n m(f);\n }\n });\n }), W(this, \"mark\", (f) => {\n this.debug && Il(f, this.sessionId);\n }), typeof e == \"object\")\n throw new Error(\n \"Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.\"\n );\n r?.skipConvexDeploymentUrlCheck !== !0 && Is(e), r = { ...r };\n const i = r.authRefreshTokenLeewaySeconds ?? 10;\n let o = r.webSocketConstructor;\n if (!o && typeof WebSocket > \"u\")\n throw new Error(\n \"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient\"\n );\n o = o || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? Co({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : So({ verbose: r.verbose ?? !1 });\n const a = e.search(\"://\");\n if (a === -1)\n throw new Error(\"Provided address was not an absolute URL.\");\n const l = e.substring(a + 3), c = e.substring(0, a);\n let u;\n if (c === \"http\")\n u = \"ws\";\n else if (c === \"https\")\n u = \"wss\";\n else\n throw new Error(`Unknown parent protocol ${c}`);\n const d = `${u}://${l}/api/${ai}/sync`;\n this.state = new Ks(), this.remoteQuerySet = new di(\n (f) => this.state.queryPath(f),\n this.logger\n ), this.requestManager = new Ys(\n this.logger,\n this.markConnectionStateDirty\n );\n const h = () => {\n this.webSocketManager.pause(), this.state.pause();\n };\n this.authenticationManager = new Rl(\n this.state,\n {\n authenticate: (f) => {\n const m = this.state.setAuth(f);\n return this.webSocketManager.sendMessage(m), m.baseVersion;\n },\n stopSocket: () => this.webSocketManager.stop(),\n tryRestartSocket: () => this.webSocketManager.tryRestart(),\n pauseSocket: h,\n resumeSocket: () => this.webSocketManager.resume(),\n clearAuth: () => {\n this.clearAuth();\n }\n },\n {\n logger: this.logger,\n refreshTokenLeewaySeconds: i\n }\n ), this.optimisticQueryResults = new il(), this.addOnTransitionHandler((f) => {\n n(f.queries.map((m) => m.token));\n }), this._nextRequestId = 0, this._sessionId = wl();\n const { unsavedChangesWarning: p } = r;\n if (typeof window > \"u\" || typeof window.addEventListener > \"u\") {\n if (p === !0)\n throw new Error(\n \"unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.\"\n );\n } else p !== !1 && window.addEventListener(\"beforeunload\", (f) => {\n if (this.requestManager.hasIncompleteRequests()) {\n f.preventDefault();\n const m = \"Are you sure you want to leave? Your changes may not be saved.\";\n return (f || window.event).returnValue = m, m;\n }\n });\n this.webSocketManager = new yl(\n d,\n {\n onOpen: (f) => {\n this.mark(\"convexWebSocketOpen\"), this.webSocketManager.sendMessage({\n ...f,\n type: \"Connect\",\n sessionId: this._sessionId,\n maxObservedTimestamp: this.maxObservedTimestamp\n }), this.remoteQuerySet = new di(\n (x) => this.state.queryPath(x),\n this.logger\n );\n const [m, v] = this.state.restart();\n v && this.webSocketManager.sendMessage(v), this.webSocketManager.sendMessage(m);\n for (const x of this.requestManager.restart())\n this.webSocketManager.sendMessage(x);\n },\n onResume: () => {\n const [f, m] = this.state.resume();\n m && this.webSocketManager.sendMessage(m), f && this.webSocketManager.sendMessage(f);\n for (const v of this.requestManager.resume())\n this.webSocketManager.sendMessage(v);\n },\n onMessage: (f) => {\n switch (this.firstMessageReceived || (this.firstMessageReceived = !0, this.mark(\"convexFirstMessageReceived\"), this.reportMarks()), f.type) {\n case \"Transition\": {\n this.observedTimestamp(f.endVersion.ts), this.authenticationManager.onTransition(f), this.remoteQuerySet.transition(f), this.state.transition(f);\n const m = this.requestManager.removeCompleted(\n this.remoteQuerySet.timestamp()\n );\n this.notifyOnQueryResultChanges(m);\n break;\n }\n case \"MutationResponse\": {\n f.success && this.observedTimestamp(f.ts);\n const m = this.requestManager.onResponse(f);\n m !== null && this.notifyOnQueryResultChanges(\n /* @__PURE__ */ new Map([\n [\n m.requestId,\n m.result\n ]\n ])\n );\n break;\n }\n case \"ActionResponse\": {\n this.requestManager.onResponse(f);\n break;\n }\n case \"AuthError\": {\n this.authenticationManager.onAuthError(f);\n break;\n }\n case \"FatalError\": {\n const m = Qs(this.logger, f.error);\n throw this.webSocketManager.terminate(), m;\n }\n }\n return {\n hasSyncedPastLastReconnect: this.hasSyncedPastLastReconnect()\n };\n },\n onServerDisconnectError: r.onServerDisconnectError\n },\n o,\n this.logger,\n this.markConnectionStateDirty,\n this.debug\n ), this.mark(\"convexClientConstructed\"), r.expectAuth && h();\n }\n /**\n * Return true if there is outstanding work from prior to the time of the most recent restart.\n * This indicates that the client has not proven itself to have gotten past the issue that\n * potentially led to the restart. Use this to influence when to reset backoff after a failure.\n */\n hasSyncedPastLastReconnect() {\n return this.requestManager.hasSyncedPastLastReconnect() && this.state.hasSyncedPastLastReconnect();\n }\n observedTimestamp(e) {\n (this.maxObservedTimestamp === void 0 || this.maxObservedTimestamp.lessThanOrEqual(e)) && (this.maxObservedTimestamp = e);\n }\n getMaxObservedTimestamp() {\n return this.maxObservedTimestamp;\n }\n /**\n * Compute the current query results based on the remoteQuerySet and the\n * current optimistic updates and call `onTransition` for all the changed\n * queries.\n *\n * @param completedMutations - A set of mutation IDs whose optimistic updates\n * are no longer needed.\n */\n notifyOnQueryResultChanges(e) {\n const n = this.remoteQuerySet.remoteQueryResults(), r = /* @__PURE__ */ new Map();\n for (const [o, a] of n) {\n const l = this.state.queryToken(o);\n if (l !== null) {\n const c = {\n result: a,\n udfPath: this.state.queryPath(o),\n args: this.state.queryArgs(o)\n };\n r.set(l, c);\n }\n }\n const i = this.optimisticQueryResults.ingestQueryResultsFromServer(\n r,\n new Set(e.keys())\n );\n this.handleTransition({\n queries: i.map((o) => {\n const a = this.optimisticQueryResults.rawQueryResult(o);\n return {\n token: o,\n modification: {\n kind: \"Updated\",\n result: a\n }\n };\n }),\n reflectedMutations: Array.from(e).map(\n ([o, a]) => ({\n requestId: o,\n result: a\n })\n ),\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n handleTransition(e) {\n for (const n of this._onTransitionFns.values())\n n(e);\n }\n /**\n * Add a handler that will be called on a transition.\n *\n * Any external side effects (e.g. setting React state) should be handled here.\n *\n * @param fn\n *\n * @returns\n */\n addOnTransitionHandler(e) {\n const n = this._transitionHandlerCounter++;\n return this._onTransitionFns.set(n, e), () => this._onTransitionFns.delete(n);\n }\n /**\n * Get the current JWT auth token and decoded claims.\n */\n getCurrentAuthClaims() {\n const e = this.state.getAuth();\n let n = {};\n if (e && e.tokenType === \"User\")\n try {\n n = e ? Io(e.value) : {};\n } catch {\n n = {};\n }\n else\n return;\n return { token: e.value, decoded: n };\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n this.authenticationManager.setConfig(\n e,\n n,\n r\n );\n }\n hasAuth() {\n return this.state.hasAuth();\n }\n /** @internal */\n setAdminAuth(e, n) {\n const r = this.state.setAdminAuth(e, n);\n this.webSocketManager.sendMessage(r);\n }\n clearAuth() {\n const e = this.state.clearAuth();\n this.webSocketManager.sendMessage(e);\n }\n /**\n * Subscribe to a query function.\n *\n * Whenever this query's result changes, the `onTransition` callback\n * passed into the constructor will be called.\n *\n * @param name - The name of the query.\n * @param args - An arguments object for the query. If this is omitted, the\n * arguments will be `{}`.\n * @param options - A {@link SubscribeOptions} options object for this query.\n \n * @returns An object containing a {@link QueryToken} corresponding to this\n * query and an `unsubscribe` callback.\n */\n subscribe(e, n, r) {\n const i = Le(n), { modification: o, queryToken: a, unsubscribe: l } = this.state.subscribe(\n e,\n i,\n r?.journal,\n r?.componentPath\n );\n return o !== null && this.webSocketManager.sendMessage(o), {\n queryToken: a,\n unsubscribe: () => {\n const c = l();\n c && this.webSocketManager.sendMessage(c);\n }\n };\n }\n /**\n * A query result based only on the current, local state.\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n */\n localQueryResult(e, n) {\n const r = Le(n), i = Ye(e, r);\n return this.optimisticQueryResults.queryResult(i);\n }\n /**\n * Get query result by query token based on current, local state\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n *\n * @internal\n */\n localQueryResultByToken(e) {\n return this.optimisticQueryResults.queryResult(e);\n }\n /**\n * Whether local query result is available for a token.\n *\n * This method does not throw if the result is an error.\n *\n * @internal\n */\n hasLocalQueryResultByToken(e) {\n return this.optimisticQueryResults.hasQueryResult(e);\n }\n /**\n * @internal\n */\n localQueryLogs(e, n) {\n const r = Le(n), i = Ye(e, r);\n return this.optimisticQueryResults.queryLogs(i);\n }\n /**\n * Retrieve the current {@link QueryJournal} for this query function.\n *\n * If we have not yet received a result for this query, this will be `undefined`.\n *\n * @param name - The name of the query.\n * @param args - The arguments object for this query.\n * @returns The query's {@link QueryJournal} or `undefined`.\n */\n queryJournal(e, n) {\n const r = Le(n), i = Ye(e, r);\n return this.state.queryJournal(i);\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n const e = this.webSocketManager.connectionState();\n return {\n hasInflightRequests: this.requestManager.hasInflightRequests(),\n isWebSocketConnected: e.isConnected,\n hasEverConnected: e.hasEverConnected,\n connectionCount: e.connectionCount,\n connectionRetries: e.connectionRetries,\n timeOfOldestInflightRequest: this.requestManager.timeOfOldestInflightRequest(),\n inflightMutations: this.requestManager.inflightMutations(),\n inflightActions: this.requestManager.inflightActions()\n };\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n const n = this.nextConnectionStateSubscriberId++;\n return this.connectionStateSubscribers.set(n, e), () => {\n this.connectionStateSubscribers.delete(n);\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param name - The name of the mutation.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for this mutation.\n \n * @returns - A promise of the mutation's result.\n */\n async mutation(e, n, r) {\n const i = await this.mutationInternal(e, n, r);\n if (!i.success)\n throw i.errorData !== void 0 ? Yn(\n i,\n new dn(\n pt(\"mutation\", e, i)\n )\n ) : new Error(pt(\"mutation\", e, i));\n return i.value;\n }\n /**\n * @internal\n */\n async mutationInternal(e, n, r, i) {\n const { mutationPromise: o } = this.enqueueMutation(\n e,\n n,\n r,\n i\n );\n return o;\n }\n /**\n * @internal\n */\n enqueueMutation(e, n, r, i) {\n const o = Le(n);\n this.tryReportLongDisconnect();\n const a = this.nextRequestId;\n if (this._nextRequestId++, r !== void 0) {\n const d = r.optimisticUpdate;\n if (d !== void 0) {\n const h = (m) => {\n d(\n m,\n o\n ) instanceof Promise && this.logger.warn(\n \"Optimistic update handler returned a Promise. Optimistic updates should be synchronous.\"\n );\n }, f = this.optimisticQueryResults.applyOptimisticUpdate(\n h,\n a\n ).map((m) => {\n const v = this.localQueryResultByToken(m);\n return {\n token: m,\n modification: {\n kind: \"Updated\",\n result: v === void 0 ? void 0 : {\n success: !0,\n value: v,\n logLines: []\n }\n }\n };\n });\n this.handleTransition({\n queries: f,\n reflectedMutations: [],\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n }\n const l = {\n type: \"Mutation\",\n requestId: a,\n udfPath: e,\n componentPath: i,\n args: [$e(o)]\n }, c = this.webSocketManager.sendMessage(l), u = this.requestManager.request(l, c);\n return {\n requestId: a,\n mutationPromise: u\n };\n }\n /**\n * Execute an action function.\n *\n * @param name - The name of the action.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n async action(e, n) {\n const r = await this.actionInternal(e, n);\n if (!r.success)\n throw r.errorData !== void 0 ? Yn(\n r,\n new dn(pt(\"action\", e, r))\n ) : new Error(pt(\"action\", e, r));\n return r.value;\n }\n /**\n * @internal\n */\n async actionInternal(e, n, r) {\n const i = Le(n), o = this.nextRequestId;\n this._nextRequestId++, this.tryReportLongDisconnect();\n const a = {\n type: \"Action\",\n requestId: o,\n udfPath: e,\n componentPath: r,\n args: [$e(i)]\n }, l = this.webSocketManager.sendMessage(a);\n return this.requestManager.request(a, l);\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with an {@link BaseConvexClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n return this.authenticationManager.stop(), this.webSocketManager.terminate();\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * @internal\n */\n get nextRequestId() {\n return this._nextRequestId;\n }\n /**\n * @internal\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Reports performance marks to the server. This should only be called when\n * we have a functional websocket.\n */\n reportMarks() {\n if (this.debug) {\n const e = $l(this.sessionId);\n this.webSocketManager.sendMessage({\n type: \"Event\",\n eventType: \"ClientConnect\",\n event: e\n });\n }\n }\n tryReportLongDisconnect() {\n if (!this.debug)\n return;\n const e = this.connectionState().timeOfOldestInflightRequest;\n if (e === null || Date.now() - e.getTime() <= 60 * 1e3)\n return;\n const n = `${this.address}/api/debug_event`;\n fetch(n, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Convex-Client\": `npm-${ai}`\n },\n body: JSON.stringify({ event: \"LongWebsocketDisconnect\" })\n }).then((r) => {\n r.ok || this.logger.warn(\n \"Analytics request failed with response:\",\n r.body\n );\n }).catch((r) => {\n this.logger.warn(\"Analytics response failed with error:\", r);\n });\n }\n}\nfunction Ln(t) {\n if (typeof t != \"object\" || t === null || !Array.isArray(t.page) || typeof t.isDone != \"boolean\" || typeof t.continueCursor != \"string\")\n throw new Error(`Not a valid paginated query result: ${t?.toString()}`);\n return t;\n}\nvar Ml = Object.defineProperty, Ll = (t, e, n) => e in t ? Ml(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, mi = (t, e, n) => Ll(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ol {\n constructor(e, n) {\n this.client = e, this.onTransition = n, mi(this, \"paginatedQuerySet\", /* @__PURE__ */ new Map()), mi(this, \"lastTransitionTs\"), this.lastTransitionTs = le.fromNumber(0), this.client.addOnTransitionHandler(\n (r) => this.onBaseTransition(r)\n );\n }\n /**\n * Subscribe to a paginated query.\n *\n * @param name - The name of the paginated query function\n * @param args - Arguments for the query (excluding paginationOpts)\n * @param options - Pagination options including initialNumItems\n * @returns Object with paginatedQueryToken and unsubscribe function\n */\n subscribe(e, n, r) {\n const i = et(e), o = li(\n i,\n n,\n r\n ), a = () => this.removePaginatedQuerySubscriber(o), l = this.paginatedQuerySet.get(o);\n return l ? (l.numSubscribers += 1, {\n paginatedQueryToken: o,\n unsubscribe: a\n }) : (this.paginatedQuerySet.set(o, {\n token: o,\n canonicalizedUdfPath: i,\n args: n,\n numSubscribers: 1,\n options: { initialNumItems: r.initialNumItems },\n nextPageKey: 0,\n pageKeys: [],\n pageKeyToQuery: /* @__PURE__ */ new Map(),\n ongoingSplits: /* @__PURE__ */ new Map(),\n skip: !1,\n id: r.id\n }), this.addPageToPaginatedQuery(o, null, r.initialNumItems), {\n paginatedQueryToken: o,\n unsubscribe: a\n });\n }\n /**\n * Get current results for a paginated query based on local state.\n *\n * Throws an error when one of the pages has errored.\n */\n localQueryResult(e, n, r) {\n const i = et(e), o = li(\n i,\n n,\n r\n );\n return this.localQueryResultByToken(o);\n }\n /**\n * @internal\n */\n localQueryResultByToken(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n return;\n const r = this.activePageQueryTokens(n);\n if (r.length === 0)\n return {\n results: [],\n status: \"LoadingFirstPage\",\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n let i = [], o = !1, a = !1;\n for (const c of r) {\n const u = this.client.localQueryResultByToken(c);\n if (u === void 0) {\n o = !0, a = !1;\n continue;\n }\n const d = Ln(u);\n i = i.concat(d.page), a = !!d.isDone;\n }\n let l;\n return o ? l = i.length === 0 ? \"LoadingFirstPage\" : \"LoadingMore\" : a ? l = \"Exhausted\" : l = \"CanLoadMore\", {\n results: i,\n status: l,\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n }\n onBaseTransition(e) {\n const n = e.queries.map((a) => a.token), r = this.queriesContainingTokens(n);\n let i = [];\n r.length > 0 && (this.processPaginatedQuerySplits(\n r,\n (a) => this.client.localQueryResultByToken(a)\n ), i = r.map((a) => ({\n token: a,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(a)\n }\n })));\n const o = {\n ...e,\n paginatedQueries: i\n };\n this.onTransition(o);\n }\n /**\n * Load more items for a paginated query.\n *\n * This *always* causes a transition, the status of the query\n * has probably changed from \"CanLoadMore\" to \"LoadingMore\".\n * Data might have changed too: maybe a subscription to this page\n * query already exists (unlikely but possible) or this page query\n * has an optimistic update providing some initial data.\n *\n * @internal\n */\n loadMoreOfPaginatedQuery(e, n) {\n this.mustGetPaginatedQuery(e);\n const r = this.queryTokenForLastPageOfPaginatedQuery(e), i = this.client.localQueryResultByToken(r);\n if (!i)\n return !1;\n const o = Ln(i);\n if (o.isDone)\n return !1;\n this.addPageToPaginatedQuery(\n e,\n o.continueCursor,\n n\n );\n const a = {\n timestamp: this.lastTransitionTs,\n reflectedMutations: [],\n queries: [],\n paginatedQueries: [\n {\n token: e,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(e)\n }\n }\n ]\n };\n return this.onTransition(a), !0;\n }\n /**\n * @internal\n */\n queriesContainingTokens(e) {\n if (e.length === 0)\n return [];\n const n = [], r = new Set(e);\n for (const [i, o] of this.paginatedQuerySet)\n for (const a of this.allQueryTokens(o))\n if (r.has(a)) {\n n.push(i);\n break;\n }\n return n;\n }\n /**\n * @internal\n */\n processPaginatedQuerySplits(e, n) {\n for (const r of e) {\n const i = this.mustGetPaginatedQuery(r), { ongoingSplits: o, pageKeyToQuery: a, pageKeys: l } = i;\n for (const [c, [u, d]] of o)\n n(a.get(u).queryToken) !== void 0 && n(a.get(d).queryToken) !== void 0 && this.completePaginatedQuerySplit(\n i,\n c,\n u,\n d\n );\n for (const c of l) {\n if (o.has(c))\n continue;\n const u = a.get(c).queryToken, d = n(u);\n if (!d)\n continue;\n const h = Ln(d);\n h.splitCursor && (h.pageStatus === \"SplitRecommended\" || h.pageStatus === \"SplitRequired\" || // This client-driven page splitting condition will change in the future.\n h.page.length > i.options.initialNumItems * 2) && this.splitPaginatedQueryPage(\n i,\n c,\n h.splitCursor,\n // we just checked\n h.continueCursor\n );\n }\n }\n }\n splitPaginatedQueryPage(e, n, r, i) {\n const o = e.nextPageKey++, a = e.nextPageKey++, l = {\n cursor: i,\n numItems: e.options.initialNumItems,\n id: e.id\n }, c = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: null,\n // Start from beginning for first split\n endCursor: r\n }\n }\n );\n e.pageKeyToQuery.set(o, c);\n const u = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: r,\n endCursor: i\n }\n }\n );\n e.pageKeyToQuery.set(a, u), e.ongoingSplits.set(n, [o, a]);\n }\n /**\n * @internal\n */\n addPageToPaginatedQuery(e, n, r) {\n const i = this.mustGetPaginatedQuery(e), o = i.nextPageKey++, a = {\n cursor: n,\n numItems: r,\n id: i.id\n }, l = {\n ...i.args,\n paginationOpts: a\n }, c = this.client.subscribe(\n i.canonicalizedUdfPath,\n l\n );\n return i.pageKeys.push(o), i.pageKeyToQuery.set(o, c), c;\n }\n removePaginatedQuerySubscriber(e) {\n const n = this.paginatedQuerySet.get(e);\n if (n && (n.numSubscribers -= 1, !(n.numSubscribers > 0))) {\n for (const r of n.pageKeyToQuery.values())\n r.unsubscribe();\n this.paginatedQuerySet.delete(e);\n }\n }\n completePaginatedQuerySplit(e, n, r, i) {\n const o = e.pageKeyToQuery.get(n);\n e.pageKeyToQuery.delete(n);\n const a = e.pageKeys.indexOf(n);\n e.pageKeys.splice(a, 1, r, i), e.ongoingSplits.delete(n), o.unsubscribe();\n }\n /** The query tokens for all active pages, in result order */\n activePageQueryTokens(e) {\n return e.pageKeys.map(\n (n) => e.pageKeyToQuery.get(n).queryToken\n );\n }\n allQueryTokens(e) {\n return Array.from(e.pageKeyToQuery.values()).map(\n (n) => n.queryToken\n );\n }\n queryTokenForLastPageOfPaginatedQuery(e) {\n const n = this.mustGetPaginatedQuery(e), r = n.pageKeys[n.pageKeys.length - 1];\n if (r === void 0)\n throw new Error(`No pages for paginated query ${e}`);\n return n.pageKeyToQuery.get(r).queryToken;\n }\n mustGetPaginatedQuery(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n throw new Error(\"paginated query no longer exists for token \" + e);\n return n;\n }\n}\nfunction zl({\n // (Synchronously) returns the current value of our subscription.\n getCurrentValue: t,\n // This function is passed an event handler to attach to the subscription.\n // It should return an unsubscribe function that removes the handler.\n subscribe: e\n}) {\n const [n, r] = T(() => ({\n getCurrentValue: t,\n subscribe: e,\n value: t()\n }));\n let i = n.value;\n return (n.getCurrentValue !== t || n.subscribe !== e) && (i = t(), r({\n getCurrentValue: t,\n subscribe: e,\n value: i\n })), E(() => {\n let o = !1;\n const a = () => {\n o || r((c) => {\n if (c.getCurrentValue !== t || c.subscribe !== e)\n return c;\n const u = t();\n return c.value === u ? c : { ...c, value: u };\n });\n }, l = e(a);\n return a(), () => {\n o = !0, l();\n };\n }, [t, e]), i;\n}\nvar Bl = Object.defineProperty, Dl = (t, e, n) => e in t ? Bl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Me = (t, e, n) => Dl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Fl = 5e3;\nif (typeof xr > \"u\")\n throw new Error(\"Required dependency 'react' not found\");\nfunction Eo(t, e, n) {\n function r(i) {\n return Wl(i), e.mutation(t, i, {\n optimisticUpdate: n\n });\n }\n return r.withOptimisticUpdate = function(o) {\n if (n !== void 0)\n throw new Error(\n `Already specified optimistic update for mutation ${oe(\n t\n )}`\n );\n return Eo(t, e, o);\n }, r;\n}\nfunction Ul(t, e) {\n return function(n) {\n return e.action(t, n);\n };\n}\nclass Vl {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param options - See {@link ConvexReactClientOptions} for a full description.\n */\n constructor(e, n) {\n if (Me(this, \"address\"), Me(this, \"cachedSync\"), Me(this, \"cachedPaginatedQueryClient\"), Me(this, \"listeners\"), Me(this, \"options\"), Me(this, \"closed\", !1), Me(this, \"_logger\"), Me(this, \"adminAuth\"), Me(this, \"fakeUserIdentity\"), e === void 0)\n throw new Error(\n \"No address provided to ConvexReactClient.\\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.\"\n );\n if (typeof e != \"string\")\n throw new Error(\n `ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`\n );\n if (!e.includes(\"://\"))\n throw new Error(\"Provided address was not an absolute URL.\");\n this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? Co({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : So({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * Lazily instantiate the `BaseConvexClient` so we don't create the WebSocket\n * when server-side rendering.\n *\n * @internal\n */\n get sync() {\n if (this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n return this.cachedSync ? this.cachedSync : (this.cachedSync = new Nl(\n this.address,\n () => {\n },\n // Use the PaginatedQueryClient's transition instead.\n this.options\n ), this.adminAuth && this.cachedSync.setAdminAuth(this.adminAuth, this.fakeUserIdentity), this.cachedPaginatedQueryClient = new Ol(\n this.cachedSync,\n (e) => this.handleTransition(e)\n ), this.cachedSync);\n }\n /**\n * Lazily instantiate the `PaginatedQueryClient` so we don't create it\n * when server-side rendering.\n *\n * @internal\n */\n get paginatedQueryClient() {\n if (this.sync, this.cachedPaginatedQueryClient)\n return this.cachedPaginatedQueryClient;\n throw new Error(\"Should already be instantiated\");\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n if (typeof e == \"string\")\n throw new Error(\n \"Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.\"\n );\n this.sync.setAuth(\n e,\n n ?? (() => {\n }),\n r\n );\n }\n /**\n * Clear the current authentication token if set.\n */\n clearAuth() {\n this.sync.clearAuth();\n }\n /**\n * @internal\n */\n setAdminAuth(e, n) {\n if (this.adminAuth = e, this.fakeUserIdentity = n, this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n this.cachedSync && this.sync.setAdminAuth(e, n);\n }\n /**\n * Construct a new {@link Watch} on a Convex query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link useQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchQueryOptions} options object for this query.\n *\n * @returns The {@link Watch} object.\n */\n watchQuery(e, ...n) {\n const [r, i] = n, o = oe(e);\n return {\n onUpdate: (a) => {\n const { queryToken: l, unsubscribe: c } = this.sync.subscribe(\n o,\n r,\n i\n ), u = this.listeners.get(l);\n return u !== void 0 ? u.add(a) : this.listeners.set(l, /* @__PURE__ */ new Set([a])), () => {\n if (this.closed)\n return;\n const d = this.listeners.get(l);\n d.delete(a), d.size === 0 && this.listeners.delete(l), c();\n };\n },\n localQueryResult: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryResult(o, r);\n },\n localQueryLogs: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryLogs(o, r);\n },\n journal: () => {\n if (this.cachedSync)\n return this.cachedSync.queryJournal(o, r);\n }\n };\n }\n // Let's try out a queryOptions-style API.\n // This method is similar to the React Query API `queryClient.prefetchQuery()`.\n // In the future an ensureQueryData(): Promise<Data> method could exist.\n /**\n * Indicates likely future interest in a query subscription.\n *\n * The implementation currently immediately subscribes to a query. In the future this method\n * may prioritize some queries over others, fetch the query result without subscribing, or\n * do nothing in slow network connections or high load scenarios.\n *\n * To use this in a React component, call useQuery() and ignore the return value.\n *\n * @param queryOptions - A query (function reference from an api object) and its args, plus\n * an optional extendSubscriptionFor for how long to subscribe to the query.\n */\n prewarmQuery(e) {\n const n = e.extendSubscriptionFor ?? Fl, i = this.watchQuery(e.query, e.args || {}).onUpdate(() => {\n });\n setTimeout(i, n);\n }\n /**\n * Construct a new {@link PaginatedWatch} on a Convex paginated query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link usePaginatedQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchPaginatedQueryOptions} options object for this query.\n *\n * @returns The {@link PaginatedWatch} object.\n *\n * @internal\n */\n watchPaginatedQuery(e, n, r) {\n const i = oe(e);\n return {\n onUpdate: (o) => {\n const { paginatedQueryToken: a, unsubscribe: l } = this.paginatedQueryClient.subscribe(i, n || {}, r), c = this.listeners.get(a);\n return c !== void 0 ? c.add(o) : this.listeners.set(a, /* @__PURE__ */ new Set([o])), () => {\n if (this.closed)\n return;\n const u = this.listeners.get(a);\n u.delete(o), u.size === 0 && this.listeners.delete(a), l();\n };\n },\n localQueryResult: () => this.paginatedQueryClient.localQueryResult(i, n, r)\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param mutation - A {@link server.FunctionReference} for the public mutation\n * to run.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for the mutation.\n * @returns A promise of the mutation's result.\n */\n mutation(e, ...n) {\n const [r, i] = n, o = oe(e);\n return this.sync.mutation(o, r, i);\n }\n /**\n * Execute an action function.\n *\n * @param action - A {@link server.FunctionReference} for the public action\n * to run.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n action(e, ...n) {\n const r = oe(e);\n return this.sync.action(r, ...n);\n }\n /**\n * Fetch a query result once.\n *\n * **Most application code should subscribe to queries instead, using\n * the {@link useQuery} hook.**\n *\n * @param query - A {@link server.FunctionReference} for the public query\n * to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the query's result.\n */\n query(e, ...n) {\n const r = this.watchQuery(e, ...n), i = r.localQueryResult();\n return i !== void 0 ? Promise.resolve(i) : new Promise((o, a) => {\n const l = r.onUpdate(() => {\n l();\n try {\n o(r.localQueryResult());\n } catch (c) {\n a(c);\n }\n });\n });\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n return this.sync.connectionState();\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n * ConnectionState may also *lose* properties in future versions as we figure\n * out what information is most useful. As such this API is considered unstable.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n return this.sync.subscribeToConnectionState(e);\n }\n /**\n * Get the logger for this client.\n *\n * @returns The {@link Logger} for this client.\n */\n get logger() {\n return this._logger;\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with a {@link ConvexReactClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n if (this.closed = !0, this.listeners = /* @__PURE__ */ new Map(), this.cachedPaginatedQueryClient && (this.cachedPaginatedQueryClient = void 0), this.cachedSync) {\n const e = this.cachedSync;\n this.cachedSync = void 0, await e.close();\n }\n }\n /**\n * Handle transitions from both base client and paginated client.\n * This ensures all transitions are processed synchronously and in order.\n */\n handleTransition(e) {\n const n = e.queries.map((i) => i.token), r = e.paginatedQueries.map((i) => i.token);\n this.transition([...n, ...r]);\n }\n transition(e) {\n for (const n of e) {\n const r = this.listeners.get(n);\n if (r)\n for (const i of r)\n i();\n }\n }\n}\nconst jn = xr.createContext(\n void 0\n // in the future this will be a mocked client for testing\n);\nfunction Ql() {\n return Kt(jn);\n}\nconst Hl = ({ client: t, children: e }) => xr.createElement(\n jn.Provider,\n { value: t },\n e\n);\nfunction Zn(t, ...e) {\n const n = e[0] === \"skip\", r = e[0] === \"skip\" ? {} : Le(e[0]), i = typeof t == \"string\" ? vr(t) : t, o = oe(i), a = K(\n () => n ? {} : { query: { query: i, args: r } },\n // Stringify args so args that are semantically the same don't trigger a\n // rerender. Saves developers from adding `useMemo` on every args usage.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify($e(r)), o, n]\n ), c = Yl(a).query;\n if (c instanceof Error)\n throw c;\n return c;\n}\nfunction Gt(t) {\n const e = typeof t == \"string\" ? vr(t) : t, n = Kt(jn);\n if (n === void 0)\n throw new Error(\n \"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return K(\n () => Eo(e, n),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [n, oe(e)]\n );\n}\nfunction Jt(t) {\n const e = Kt(jn), n = typeof t == \"string\" ? vr(t) : t;\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return K(\n () => Ul(n, e),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [e, oe(n)]\n );\n}\nfunction Wl(t) {\n if (typeof t == \"object\" && t !== null && \"bubbles\" in t && \"persist\" in t && \"isDefaultPrevented\" in t)\n throw new Error(\n \"Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.\"\n );\n}\nvar Kl = Object.defineProperty, Gl = (t, e, n) => e in t ? Kl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, On = (t, e, n) => Gl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Jl {\n constructor(e) {\n On(this, \"createWatch\"), On(this, \"queries\"), On(this, \"listeners\"), this.createWatch = e, this.queries = {}, this.listeners = /* @__PURE__ */ new Set();\n }\n setQueries(e) {\n for (const n of Object.keys(e)) {\n const { query: r, args: i, paginationOptions: o } = e[n];\n if (oe(r), this.queries[n] === void 0)\n this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n );\n else {\n const a = this.queries[n];\n (oe(r) !== oe(a.query) || JSON.stringify($e(i)) !== JSON.stringify($e(a.args)) || JSON.stringify(o) !== JSON.stringify(a.paginationOptions)) && (this.removeQuery(n), this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n ));\n }\n }\n for (const n of Object.keys(this.queries))\n e[n] === void 0 && this.removeQuery(n);\n }\n subscribe(e) {\n return this.listeners.add(e), () => {\n this.listeners.delete(e);\n };\n }\n getLocalResults(e) {\n const n = {};\n for (const r of Object.keys(e)) {\n const { query: i, args: o } = e[r], a = e[r].paginationOptions;\n oe(i);\n const l = this.createWatch(\n i,\n o,\n a ? { paginationOptions: a } : {}\n );\n let c;\n try {\n c = l.localQueryResult();\n } catch (u) {\n if (u instanceof Error)\n c = u;\n else\n throw u;\n }\n n[r] = c;\n }\n return n;\n }\n setCreateWatch(e) {\n this.createWatch = e;\n for (const n of Object.keys(this.queries)) {\n const { query: r, args: i, watch: o, paginationOptions: a } = this.queries[n], l = \"journal\" in o ? o.journal() : void 0;\n this.removeQuery(n), this.addQuery(n, r, i, {\n ...l ? { journal: l } : [],\n ...a ? { paginationOptions: a } : {}\n });\n }\n }\n destroy() {\n for (const e of Object.keys(this.queries))\n this.removeQuery(e);\n this.listeners = /* @__PURE__ */ new Set();\n }\n addQuery(e, n, r, {\n paginationOptions: i,\n journal: o\n }) {\n if (this.queries[e] !== void 0)\n throw new Error(\n `Tried to add a new query with identifier ${e} when it already exists.`\n );\n const a = this.createWatch(n, r, {\n ...o ? { journal: o } : [],\n ...i ? { paginationOptions: i } : {}\n }), l = a.onUpdate(() => this.notifyListeners());\n this.queries[e] = {\n query: n,\n args: r,\n watch: a,\n unsubscribe: l,\n ...i ? { paginationOptions: i } : {}\n };\n }\n removeQuery(e) {\n const n = this.queries[e];\n if (n === void 0)\n throw new Error(`No query found with identifier ${e}.`);\n n.unsubscribe(), delete this.queries[e];\n }\n notifyListeners() {\n for (const e of this.listeners)\n e();\n }\n}\nfunction Yl(t) {\n const e = Ql();\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n const n = K(() => (r, i, {\n journal: o,\n paginationOptions: a\n }) => a ? e.watchPaginatedQuery(r, i, a) : e.watchQuery(r, i, o ? { journal: o } : {}), [e]);\n return Zl(t, n);\n}\nfunction Zl(t, e) {\n const [n] = T(() => new Jl(e));\n n.createWatch !== e && n.setCreateWatch(e), E(() => () => n.destroy(), [n]);\n const r = K(\n () => ({\n getCurrentValue: () => n.getLocalResults(t),\n subscribe: (i) => (n.setQueries(t), n.subscribe(i))\n }),\n [n, t]\n );\n return zl(r);\n}\nvar Xl = /* @__PURE__ */ Symbol.for(\"preact-signals\");\nfunction Sn() {\n if (Be > 1)\n Be--;\n else {\n for (var t, e = !1; Mt !== void 0; ) {\n var n = Mt;\n for (Mt = void 0, Xn++; n !== void 0; ) {\n var r = n.o;\n if (n.o = void 0, n.f &= -3, !(8 & n.f) && qo(n)) try {\n n.c();\n } catch (i) {\n e || (t = i, e = !0);\n }\n n = r;\n }\n }\n if (Xn = 0, Be--, e) throw t;\n }\n}\nfunction ec(t) {\n if (Be > 0) return t();\n Be++;\n try {\n return t();\n } finally {\n Sn();\n }\n}\nvar I = void 0;\nfunction $o(t) {\n var e = I;\n I = void 0;\n try {\n return t();\n } finally {\n I = e;\n }\n}\nvar Mt = void 0, Be = 0, Xn = 0, fn = 0;\nfunction Po(t) {\n if (I !== void 0) {\n var e = t.n;\n if (e === void 0 || e.t !== I)\n return e = { i: 0, S: t, p: I.s, n: void 0, t: I, e: void 0, x: void 0, r: e }, I.s !== void 0 && (I.s.n = e), I.s = e, t.n = e, 32 & I.f && t.S(e), e;\n if (e.i === -1)\n return e.i = 0, e.n !== void 0 && (e.n.p = e.p, e.p !== void 0 && (e.p.n = e.n), e.p = I.s, e.n = void 0, I.s.n = e, I.s = e), e;\n }\n}\nfunction ee(t, e) {\n this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nee.prototype.brand = Xl;\nee.prototype.h = function() {\n return !0;\n};\nee.prototype.S = function(t) {\n var e = this, n = this.t;\n n !== t && t.e === void 0 && (t.x = n, this.t = t, n !== void 0 ? n.e = t : $o(function() {\n var r;\n (r = e.W) == null || r.call(e);\n }));\n};\nee.prototype.U = function(t) {\n var e = this;\n if (this.t !== void 0) {\n var n = t.e, r = t.x;\n n !== void 0 && (n.x = r, t.e = void 0), r !== void 0 && (r.e = n, t.x = void 0), t === this.t && (this.t = r, r === void 0 && $o(function() {\n var i;\n (i = e.Z) == null || i.call(e);\n }));\n }\n};\nee.prototype.subscribe = function(t) {\n var e = this;\n return Yt(function() {\n var n = e.value, r = I;\n I = void 0;\n try {\n t(n);\n } finally {\n I = r;\n }\n }, { name: \"sub\" });\n};\nee.prototype.valueOf = function() {\n return this.value;\n};\nee.prototype.toString = function() {\n return this.value + \"\";\n};\nee.prototype.toJSON = function() {\n return this.value;\n};\nee.prototype.peek = function() {\n var t = I;\n I = void 0;\n try {\n return this.value;\n } finally {\n I = t;\n }\n};\nObject.defineProperty(ee.prototype, \"value\", { get: function() {\n var t = Po(this);\n return t !== void 0 && (t.i = this.i), this.v;\n}, set: function(t) {\n if (t !== this.v) {\n if (Xn > 100) throw new Error(\"Cycle detected\");\n this.v = t, this.i++, fn++, Be++;\n try {\n for (var e = this.t; e !== void 0; e = e.x) e.t.N();\n } finally {\n Sn();\n }\n }\n} });\nfunction F(t, e) {\n return new ee(t, e);\n}\nfunction qo(t) {\n for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;\n return !1;\n}\nfunction No(t) {\n for (var e = t.s; e !== void 0; e = e.n) {\n var n = e.S.n;\n if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {\n t.s = e;\n break;\n }\n }\n}\nfunction Mo(t) {\n for (var e = t.s, n = void 0; e !== void 0; ) {\n var r = e.p;\n e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;\n }\n t.s = n;\n}\nfunction rt(t, e) {\n ee.call(this, void 0), this.x = t, this.s = void 0, this.g = fn - 1, this.f = 4, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nrt.prototype = new ee();\nrt.prototype.h = function() {\n if (this.f &= -3, 1 & this.f) return !1;\n if ((36 & this.f) == 32 || (this.f &= -5, this.g === fn)) return !0;\n if (this.g = fn, this.f |= 1, this.i > 0 && !qo(this))\n return this.f &= -2, !0;\n var t = I;\n try {\n No(this), I = this;\n var e = this.x();\n (16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);\n } catch (n) {\n this.v = n, this.f |= 16, this.i++;\n }\n return I = t, Mo(this), this.f &= -2, !0;\n};\nrt.prototype.S = function(t) {\n if (this.t === void 0) {\n this.f |= 36;\n for (var e = this.s; e !== void 0; e = e.n) e.S.S(e);\n }\n ee.prototype.S.call(this, t);\n};\nrt.prototype.U = function(t) {\n if (this.t !== void 0 && (ee.prototype.U.call(this, t), this.t === void 0)) {\n this.f &= -33;\n for (var e = this.s; e !== void 0; e = e.n) e.S.U(e);\n }\n};\nrt.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for (var t = this.t; t !== void 0; t = t.x) t.t.N();\n }\n};\nObject.defineProperty(rt.prototype, \"value\", { get: function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n var t = Po(this);\n if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;\n return this.v;\n} });\nfunction er(t, e) {\n return new rt(t, e);\n}\nfunction Lo(t) {\n var e = t.u;\n if (t.u = void 0, typeof e == \"function\") {\n Be++;\n var n = I;\n I = void 0;\n try {\n e();\n } catch (r) {\n throw t.f &= -2, t.f |= 8, yr(t), r;\n } finally {\n I = n, Sn();\n }\n }\n}\nfunction yr(t) {\n for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);\n t.x = void 0, t.s = void 0, Lo(t);\n}\nfunction tc(t) {\n if (I !== this) throw new Error(\"Out-of-order effect\");\n Mo(this), I = t, this.f &= -2, 8 & this.f && yr(this), Sn();\n}\nfunction wt(t, e) {\n this.x = t, this.u = void 0, this.s = void 0, this.o = void 0, this.f = 32, this.name = e?.name;\n}\nwt.prototype.c = function() {\n var t = this.S();\n try {\n if (8 & this.f || this.x === void 0) return;\n var e = this.x();\n typeof e == \"function\" && (this.u = e);\n } finally {\n t();\n }\n};\nwt.prototype.S = function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n this.f |= 1, this.f &= -9, Lo(this), No(this), Be++;\n var t = I;\n return I = this, tc.bind(this, t);\n};\nwt.prototype.N = function() {\n 2 & this.f || (this.f |= 2, this.o = Mt, Mt = this);\n};\nwt.prototype.d = function() {\n this.f |= 8, 1 & this.f || yr(this);\n};\nwt.prototype.dispose = function() {\n this.d();\n};\nfunction Yt(t, e) {\n var n = new wt(t, e);\n try {\n n.c();\n } catch (i) {\n throw n.d(), i;\n }\n var r = n.d.bind(n);\n return r[Symbol.dispose] = r, r;\n}\nvar Oo, on, nc = typeof window < \"u\" && !!window.__PREACT_SIGNALS_DEVTOOLS__, zo = [];\nYt(function() {\n Oo = this.N;\n})();\nfunction kt(t, e) {\n k[t] = e.bind(null, k[t] || function() {\n });\n}\nfunction mn(t) {\n if (on) {\n var e = on;\n on = void 0, e();\n }\n on = t && t.S();\n}\nfunction Bo(t) {\n var e = this, n = t.data, r = ft(n);\n r.value = n;\n var i = K(function() {\n for (var l = e, c = e.__v; c = c.__; ) if (c.__c) {\n c.__c.__$f |= 4;\n break;\n }\n var u = er(function() {\n var f = r.value.value;\n return f === 0 ? 0 : f === !0 ? \"\" : f || \"\";\n }), d = er(function() {\n return !Array.isArray(u.value) && !Ui(u.value);\n }), h = Yt(function() {\n if (this.N = Do, d.value) {\n var f = u.value;\n l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = f);\n }\n }), p = e.__$u.d;\n return e.__$u.d = function() {\n h(), p.call(this);\n }, [d, u];\n }, []), o = i[0], a = i[1];\n return o.value ? a.peek() : a.value;\n}\nBo.displayName = \"ReactiveTextNode\";\nObject.defineProperties(ee.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: Bo }, props: { configurable: !0, get: function() {\n return { data: this };\n} }, __b: { configurable: !0, value: 1 } });\nkt(\"__b\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n, r = e.props;\n for (var i in r) if (i !== \"children\") {\n var o = r[i];\n o instanceof ee && (n || (e.__np = n = {}), n[i] = o, r[i] = o.peek());\n }\n }\n t(e);\n});\nkt(\"__r\", function(t, e) {\n if (t(e), e.type !== z) {\n mn();\n var n, r = e.__c;\n r && (r.__$f &= -2, (n = r.__$u) === void 0 && (r.__$u = n = (function(i, o) {\n var a;\n return Yt(function() {\n a = this;\n }, { name: o }), a.c = i, a;\n })(function() {\n var i;\n nc && ((i = n.y) == null || i.call(n)), r.__$f |= 1, r.setState({});\n }, typeof e.type == \"function\" ? e.type.displayName || e.type.name : \"\"))), mn(n);\n }\n});\nkt(\"__e\", function(t, e, n, r) {\n mn(), t(e, n, r);\n});\nkt(\"diffed\", function(t, e) {\n mn();\n var n;\n if (typeof e.type == \"string\" && (n = e.__e)) {\n var r = e.__np, i = e.props;\n if (r) {\n var o = n.U;\n if (o) for (var a in o) {\n var l = o[a];\n l !== void 0 && !(a in r) && (l.d(), o[a] = void 0);\n }\n else\n o = {}, n.U = o;\n for (var c in r) {\n var u = o[c], d = r[c];\n u === void 0 ? (u = rc(n, c, d, i), o[c] = u) : u.o(d, i);\n }\n }\n }\n t(e);\n});\nfunction rc(t, e, n, r) {\n var i = e in t && t.ownerSVGElement === void 0, o = F(n);\n return { o: function(a, l) {\n o.value = a, r = l;\n }, d: Yt(function() {\n this.N = Do;\n var a = o.value.value;\n r[e] !== a && (r[e] = a, i ? t[e] = a : a != null && (a !== !1 || e[4] === \"-\") ? t.setAttribute(e, a) : t.removeAttribute(e));\n }) };\n}\nkt(\"unmount\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n = e.__e;\n if (n) {\n var r = n.U;\n if (r) {\n n.U = void 0;\n for (var i in r) {\n var o = r[i];\n o && o.d();\n }\n }\n }\n } else {\n var a = e.__c;\n if (a) {\n var l = a.__$u;\n l && (a.__$u = void 0, l.d());\n }\n }\n t(e);\n});\nkt(\"__h\", function(t, e, n, r) {\n (r < 3 || r === 9) && (e.__$f |= 2), t(e, n, r);\n});\nwe.prototype.shouldComponentUpdate = function(t, e) {\n if (this.__R) return !0;\n var n = this.__$u, r = n && n.s !== void 0;\n for (var i in e) return !0;\n if (this.__f || typeof this.u == \"boolean\" && this.u === !0) {\n var o = 2 & this.__$f;\n if (!(r || o || 4 & this.__$f) || 1 & this.__$f) return !0;\n } else if (!(r || 4 & this.__$f) || 3 & this.__$f) return !0;\n for (var a in t) if (a !== \"__source\" && t[a] !== this.props[a]) return !0;\n for (var l in this.props) if (!(l in t)) return !0;\n return !1;\n};\nfunction ft(t, e) {\n return K(function() {\n return F(t, e);\n }, []);\n}\nvar ic = function(t) {\n queueMicrotask(function() {\n queueMicrotask(t);\n });\n};\nfunction oc() {\n ec(function() {\n for (var t; t = zo.shift(); ) Oo.call(t);\n });\n}\nfunction Do() {\n zo.push(this) === 1 && (k.requestAnimationFrame || ic)(oc);\n}\nconst Z = F(!1), gn = F(void 0), Zt = \"https://jexitychat.de/privacy\", Xt = F(Zt), Fo = F(\"chip\"), De = F(void 0), tr = F([]), nr = F([]), Uo = F(null);\nfunction ac(t) {\n return t.replace(/\\.convex\\.site\\b/, \".convex.cloud\");\n}\nfunction Vo(t) {\n return t.replace(/\\.convex\\.cloud\\b/, \".convex.site\");\n}\nfunction sc(t) {\n const e = t?.trim();\n if (e)\n try {\n const n = new URL(e);\n if (n.protocol === \"http:\" || n.protocol === \"https:\")\n return e;\n } catch {\n return;\n }\n}\nfunction lc(t, e) {\n const n = t.title ?? e?.title ?? \"Assistant\", r = t.privacyPolicyMode ?? e?.privacyPolicyMode ?? \"platform\", i = cc(\n t.privacyNoticeStyle ?? e?.privacyNoticeStyle\n );\n return {\n title: n,\n greeting: t.greeting ?? e?.welcomeMessage ?? `Hi! I'm ${n}. How can I help?`,\n locale: t.locale ?? e?.locale,\n position: t.position ?? e?.position,\n colorScheme: t.colorScheme ?? e?.colorScheme,\n hideBranding: t.hideBranding ?? e?.hideBranding ?? !1,\n privacyPolicyMode: r,\n privacyPolicyUrl: r === \"custom\" ? sc(t.privacyPolicyUrl ?? e?.privacyPolicyUrl) : void 0,\n privacyNoticeStyle: i,\n triggerIcon: t.triggerIcon ?? e?.triggerIcon ?? \"chat\",\n triggerRadius: t.triggerRadius ?? e?.triggerRadius ?? \"full\",\n triggerLabel: t.triggerLabel ?? e?.triggerLabel ?? \"Chatte mit uns\",\n mode: t.mode ?? \"floating\",\n primaryColor: t.primaryColor ?? e?.primaryColor,\n accentColor: t.accentColor ?? e?.accentColor,\n fontFamily: t.fontFamily ?? e?.fontFamily,\n fontSize: t.fontSize ?? e?.fontSize,\n borderRadius: t.borderRadius ?? e?.borderRadius,\n windowWidth: t.windowWidth ?? e?.windowWidth,\n windowHeight: t.windowHeight ?? e?.windowHeight\n };\n}\nfunction cc(t) {\n return t === \"explicit\" || t === \"sheet\" ? \"explicit\" : \"chip\";\n}\nasync function uc(t, e, n, r) {\n const i = new URL(`${t}/widget/config`);\n i.searchParams.set(\"orgSlug\", e), r && i.searchParams.set(\"projSlug\", r);\n const o = await fetch(i.toString(), { signal: n });\n return o.ok ? o.json() : null;\n}\nfunction dc(t, e, n) {\n const [r, i] = T(null);\n return E(() => {\n i(null);\n const o = n ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", a = o ? Vo(o) : void 0;\n if (!a || !t)\n return;\n const l = new AbortController();\n async function c(u) {\n try {\n const d = await uc(u, t, l.signal, e);\n d && i(d);\n } catch (d) {\n if (d instanceof Error && d.name === \"AbortError\")\n return;\n }\n }\n return c(a), () => {\n l.abort();\n };\n }, [t, e, n]), r;\n}\nasync function Qo(t, e, n) {\n try {\n const r = await fetch(`${e}/widget/bootstrap`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(n ? { orgSlug: t, projSlug: n } : { orgSlug: t }),\n credentials: \"omit\"\n });\n if (r.ok) {\n const i = await r.json(), o = i.allowedUrls ?? (i.allowedUrl ? [i.allowedUrl] : []);\n return { ok: !0, token: i.token, excludePaths: i.excludePaths, allowedUrls: o };\n }\n return r.status === 403 ? { ok: !1, error: \"unauthorized\" } : r.status === 404 ? { ok: !1, error: \"not_found\" } : r.status === 429 ? { ok: !1, error: \"rate_limited\", retryAfterSec: Number(r.headers.get(\"Retry-After\")) || 60 } : { ok: !1, error: \"network\" };\n } catch {\n return { ok: !1, error: \"network\" };\n }\n}\nfunction hc(t, e) {\n return e.some((n) => n === \"/\" ? t === \"/\" : t === n || t.startsWith(n + \"/\"));\n}\nfunction gi(t, e) {\n try {\n const n = new URL(t), r = new URL(e);\n if (n.origin !== r.origin)\n return !1;\n const i = r.pathname.replace(/\\/$/, \"\");\n if (!i)\n return !0;\n const o = n.pathname.replace(/\\/$/, \"\");\n return o === i || o.startsWith(i + \"/\");\n } catch {\n return !1;\n }\n}\nfunction pc({\n orgSlug: t,\n projSlug: e,\n preToken: n,\n convexUrl: r,\n preAllowedUrls: i,\n preExcludedPaths: o\n}) {\n E(() => {\n const a = r ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", l = a ? Vo(a) : void 0;\n if (!l || !t)\n return;\n if (Uo.value = { orgSlug: t, projSlug: e, siteUrl: l }, n) {\n tr.value = i ?? [], nr.value = o ?? [];\n return;\n }\n let c = !1;\n return (async () => {\n const u = await Qo(t, l, e);\n if (!c)\n if (u.ok)\n De.value = u.token, tr.value = u.allowedUrls, nr.value = u.excludePaths;\n else {\n const d = e ? `project '${t}/${e}'` : `org '${t}'`;\n u.error === \"unauthorized\" ? console.warn(\n `[JexityChat] Domain not authorized for ${d}. Check the widget's domain rules.`\n ) : u.error === \"not_found\" ? console.error(`[JexityChat] No active widget config found for ${d}.`) : u.error === \"rate_limited\" ? console.error(\n `[JexityChat] Bootstrap rate-limited for ${d}. Retry after ${u.retryAfterSec ?? 60}s.`\n ) : console.error(`[JexityChat] Bootstrap failed: ${u.error}`);\n }\n })(), () => {\n c = !0;\n };\n }, [t, e, n, r]);\n}\nconst xn = /* @__PURE__ */ new Set();\nlet xi = !1;\nfunction fc() {\n if (xi)\n return;\n xi = !0;\n const t = history.pushState.bind(history), e = history.replaceState.bind(history);\n history.pushState = function(...n) {\n t(...n), xn.forEach((r) => r());\n }, history.replaceState = function(...n) {\n e(...n), xn.forEach((r) => r());\n };\n}\nfunction mc(t) {\n return xn.add(t), window.addEventListener(\"popstate\", t), fc(), () => {\n xn.delete(t), window.removeEventListener(\"popstate\", t);\n };\n}\nfunction gc() {\n const t = ft(window.location.href);\n E(() => mc(() => {\n t.value = window.location.href;\n }), []);\n const e = tr.value, n = nr.value, r = new URL(t.value).pathname, i = hc(r, n);\n return E(() => {\n i ? console.warn(\n `[JexityChat] Widget hidden — current path is in the exclude list: ${r}`\n ) : e.length > 0 && !e.some((o) => gi(t.value, o)) && console.warn(\n `[JexityChat] Widget hidden — current page does not match path rule. Allowed: ${e.join(\", \")}`\n );\n }, [t.value, e, n]), i ? !1 : e.length === 0 ? !0 : e.some((o) => gi(t.value, o));\n}\nconst wr = {\n title: \"Assistant\",\n statusOnline: \"Online · Responds in seconds\",\n inputPlaceholder: \"Type a message…\",\n aiThinking: \"AI is responding…\",\n sendAriaLabel: \"Send message\",\n attachImagesAriaLabel: \"Attach images\",\n attachComingSoon: \"File attachments — coming soon\",\n removeAttachmentAriaLabel: \"Remove attachment\",\n openChatAriaLabel: \"Open chat\",\n closeChatAriaLabel: \"Close chat\",\n errorNetwork: \"Network error. Please try again.\",\n errorQuota: \"Message limit reached. Please try again later.\",\n errorRateLimited: \"Too many messages. Try again in {seconds}s.\",\n errorSessionNoToken: \"Could not connect to chat. Check your connection and try again.\",\n errorSessionUnauthorized: \"This chat is not authorised on this page. Please reload.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Resuming conversation…\",\n startingConversation: \"Starting conversation…\",\n sessionNotFound: \"Your previous session was not found. Starting a new conversation.\",\n startNewConversation: \"Start new conversation\",\n chatWith: \"Chat with {title}\",\n haveReferenceNumber: \"Have a reference number?\",\n referencePlaceholder: \"e.g. JEX-A3B7C2\",\n resume: \"Resume\",\n howCanWeHelp: \"How can we help?\",\n getInstantHelp: \"Get instant help\",\n submitTicket: \"Submit a ticket\",\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: \"Ticket submitted\",\n yourReferenceNumber: \"Your reference number:\",\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: \"Done\",\n submittingTicket: \"Submitting your ticket…\",\n yourName: \"Your name\",\n yourEmail: \"Your email\",\n submit: \"Submit\",\n back: \"Go back\",\n // Escalation form\n escalationFormTitle: \"Leave your details\",\n escalationSubtitle: \"Our team will get back to you by email so you don’t have to wait here.\",\n escalationNameLabel: \"Your name\",\n escalationEmailLabel: \"Your email\",\n escalationSubmit: \"Send to team\",\n escalationSubmitting: \"Sending…\",\n escalationSubmitted: \"Request submitted\",\n escalationConsent: \"By submitting, you agree to our\",\n escalationPrivacyLinkText: \"Privacy Policy\",\n escalationSkip: \"Skip, I’ll wait here\",\n escalationPromptTitle: \"Talk to our team\",\n escalationPromptSubtitle: \"We can notify you by email when our team replies.\",\n escalationPromptSubmit: \"Leave details\",\n escalationSubmitFailed: \"Failed to submit. Please try again.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Session not found. Would you like to start a new conversation?\",\n sessionLocked: \"For your privacy, this conversation was closed after a period of inactivity. Enter your reference to resume, or start a new conversation.\",\n // Resolved session\n sessionResolved: \"This conversation has been resolved.\",\n tryAgain: \"Try again\",\n goBack: \"Go back\",\n somethingWentWrong: \"Something went wrong\",\n fabLabel: \"Chat with us\",\n chatNoLongerAvailable: \"This chat is no longer available.\",\n // Handoff & resume list\n talkToHuman: \"Talk to human\",\n talkToHumanAria: \"Talk to a human agent\",\n handoffPending: \"Connecting you to a human agent…\",\n handoffFailed: \"Could not request a human agent. Try again.\",\n handoffRateLimited: \"You requested an agent recently. Please wait before trying again.\",\n resumeListLabel: \"Continue conversation\",\n resumeListTimestamp: \"{minutes}m ago\",\n noticeAgentJoined: \"{name} has joined the conversation.\",\n noticeHumanRequested: \"You requested to speak with a human agent.\",\n noticeHumanRequestedForm: \"You requested to speak with a human agent. Please share your contact details below.\",\n noticeEscalationConfirmed: `Thank you {name}! A human agent will be available soon.\nWe will contact you at {email} when an agent is ready.\n\nYour reference: **{ref}**\nUse it to resume this conversation from any device.`,\n noticeMessageReceived: \"Your message has been received. A team member will respond shortly.\",\n noticeAgentHandling: \"Your conversation is with a human agent who will respond shortly.\",\n replyTo: \"Reply to {name}\",\n sourcesCountOne: \"{count} source\",\n sourcesCountOther: \"{count} sources\",\n privacyNoticePre: \"By chatting, you agree to our\",\n privacyPolicyLinkText: \"Privacy Policy\",\n privacyChipText: \"We respect your privacy - read our policy\",\n privacyExplicitTitle: \"Before you send\",\n privacyExplicitBodyPre: \"Messages are processed to assist you. By continuing you agree to our\",\n privacyExplicitButton: \"Got it, continue\",\n // Magicline integration forms\n magiclineTrialTitle: \"Book a trial session\",\n magiclineLeadTitle: \"Request more information\",\n magiclineFirstName: \"First name\",\n magiclineLastName: \"Last name\",\n magiclineEmail: \"Email\",\n magiclinePhone: \"Phone\",\n magiclineBirthDate: \"Date of birth\",\n magiclineInterest: \"What are you interested in? (optional)\",\n magiclineMessage: \"Message (optional)\",\n magiclineSlotLabel: \"Preferred time\",\n magiclineSlotPlaceholder: \"Select a time…\",\n magiclineLoadingSlots: \"Loading available times…\",\n magiclineNoSlots: \"No trial times are available right now. Please check back later or ask us for help.\",\n magiclineSubmit: \"Submit\",\n magiclineSubmitting: \"Submitting…\",\n magiclineSubmitted: \"Request submitted\",\n magiclineSubmittedDetail: \"We’ve received your request and will be in touch shortly.\",\n magiclineFailed: \"Submission failed\",\n magiclineFailedDetail: \"Something went wrong submitting your request. Please try again.\",\n magiclineConsent: \"I agree to the processing of my data in accordance with the\",\n magiclinePrivacyLinkText: \"Privacy Policy\",\n magiclineRequiredError: \"Please fill in all required fields.\",\n magiclineEmailError: \"Please enter a valid email address.\",\n magiclineConsentError: \"Please accept the privacy policy to continue.\",\n // Dynamic per-studio trial form (v2)\n magiclineConfigLoading: \"Loading the booking form…\",\n magiclineConfigUnsupported: \"Online trial booking is not supported for this studio. Please ask us for help.\",\n magiclineConfigInconsistent: \"The booking form is temporarily misconfigured. Please ask us for help.\",\n magiclineConfigUnavailable: \"Trial booking is not available right now. Please try again later or ask us for help.\",\n magiclineGender: \"Gender\",\n magiclineGenderPlaceholder: \"Select gender…\",\n magiclineGenderMale: \"Male\",\n magiclineGenderFemale: \"Female\",\n magiclineGenderUnisex: \"Diverse\",\n magiclineStreet: \"Street\",\n magiclineHouseNumber: \"House number\",\n magiclineZip: \"Postal code\",\n magiclineCity: \"City\",\n magiclineCountry: \"Country\",\n magiclineCountryPlaceholder: \"Select a country…\",\n magiclineNote: \"Note (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"I want a trainer present\",\n magiclineMinAgeError: \"You must be at least {age} years old to book a trial.\",\n magiclineSlotRequiredError: \"Please select an available time.\",\n magiclineSlotUnavailableNotice: \"That time is no longer available. Please pick another time below.\",\n // Step wizard (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Choose a time\",\n magiclineStepPersonal: \"Your details\",\n magiclineStepAddress: \"Your address\",\n magiclineStepConfirm: \"Confirm\",\n magiclineStepCounter: \"Step {n} of {total}\",\n magiclineWizardBack: \"Back\",\n magiclineWizardNext: \"Next\",\n magiclineTrainerWith: \"Trial session with trainer\",\n magiclineTrainerWithout: \"Trial session without trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Time\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Try again\",\n magiclineSlotsError: \"We couldn’t load available times right now. Please try again.\",\n // Membership signup wizard (contract creation)\n magiclineContractTitle: \"Become a member\",\n magiclineStepOffer: \"Choose a membership\",\n magiclineStepUpgrades: \"Add-ons\",\n magiclineStepPayment: \"Payment\",\n magiclineStepReview: \"Review\",\n magiclineOffersLoading: \"Loading memberships…\",\n magiclineOffersError: \"We couldn’t load the memberships right now. Please try again.\",\n magiclineNoOffers: \"No memberships are available to sign up for online right now. Please ask us for help.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"per day\",\n magiclineFreqPerWeek: \"per week\",\n magiclineFreqPerMonth: \"per month\",\n magiclineFreqPerYear: \"per year\",\n magiclineFreqEveryDays: \"every {n} days\",\n magiclineFreqEveryWeeks: \"every {n} weeks\",\n magiclineFreqEveryMonths: \"every {n} months\",\n magiclineFreqEveryYears: \"every {n} years\",\n magiclineModulePerTerm: \"per term\",\n magiclineModuleOneTime: \"one-time\",\n magiclineModuleIncluded: \"included\",\n magiclineRenewalNone: \"No automatic renewal\",\n magiclineRenewalTerm: \"Renewal: {n} {unit}\",\n magiclineCancellationPeriod: \"Cancellation period\",\n magiclineStarterPackage: \"Starter package\",\n magiclineFlatFee: \"One-time fee\",\n magiclineIncludedModules: \"Included\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Required\",\n magiclineUpgradesIntro: \"Add optional upgrades to your membership.\",\n magiclineUpgradesNone: \"No optional upgrades are available for this membership.\",\n magiclineUpgradeAdd: \"Add\",\n magiclineUpgradeAdded: \"Added\",\n magiclineUpgradeOneTime: \"one-time\",\n magiclineUpgradeConsentError: \"Please accept the terms for your selected upgrade to keep it.\",\n magiclineOfferRequiredError: \"Please select a membership.\",\n magiclineCountryStatic: \"Germany\",\n magiclineAccountHolder: \"Account holder\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Please enter a valid IBAN.\",\n magiclineSepaConsent: \"I authorise the studio to collect payments from my account by SEPA direct debit and instruct my bank to honour these debits.\",\n magiclineReviewLoading: \"Calculating your price…\",\n magiclineReviewError: \"We couldn’t calculate your price right now. Please try again.\",\n magiclineReviewOffer: \"Membership\",\n magiclineReviewPriceSummary: \"Price summary\",\n magiclineReviewBasePrice: \"Price per month\",\n magiclineReviewOneTimeFees: \"One-time fees\",\n magiclineReviewPreUseCharge: \"Pre-use charge\",\n magiclineReviewSelectedUpgrades: \"Your selected upgrades\",\n magiclineReviewContractVolume: \"Total contract volume\",\n magiclineReviewStartsOn: \"Starts on\",\n magiclineReviewPayment: \"Payment\",\n magiclineReviewTerms: \"Terms & conditions\",\n magiclineConfirmPrompt: \"Please confirm the following to continue:\",\n magiclineConfirmRequiredError: \"Please confirm all required terms before submitting.\",\n magiclineSummaryAddress: \"Address\",\n magiclineContractSubmitted: \"Your membership is confirmed and the studio will be in touch shortly.\",\n magiclineCustomerNumber: \"Your customer number: {number}\",\n magiclinePriceChangedNotice: \"The price has changed. Please review the new price and confirm again.\",\n magiclineOfferUnavailableNotice: \"That membership is no longer available. Please choose another one.\",\n magiclineConfirmationRequiredNotice: \"Please confirm all required terms before submitting.\",\n magiclineLiveSubmissionDisabled: \"Live submission is disabled for this project — please contact the studio.\",\n magiclineDuplicateNotice: \"A membership for this offer was already created recently.\",\n magiclineUnknownOutcome: \"We couldn’t confirm your signup. The studio will verify it and contact you — please do not submit again.\",\n magiclineFeeStarterPackage: \"Starter package\",\n magiclineFeeTrainerFee: \"Trainer fee\",\n // Voucher code (contract-creation Review step)\n magiclineVoucherLabel: \"Voucher code\",\n magiclineVoucherPlaceholder: \"Enter voucher code…\",\n magiclineVoucherApply: \"Apply\",\n magiclineVoucherAppliedDiscount: \"Discount ({discount})\",\n magiclineVoucherCreditNotice: \"Account credit applied — not deducted from contract total.\",\n magiclineVoucherRemarks: \"Voucher remarks\",\n magiclineVoucherInvalid: 'Voucher \"{code}\" is not valid. Please check the code and try again.',\n magiclineVoucherDisabled: \"Voucher codes are not available for this membership.\",\n magiclineGesamtpreisBeforeDiscount: \"Total contract volume (before voucher discount)\"\n}, Ho = {\n title: \"Assistent\",\n statusOnline: \"Online · Antwortet in Sekunden\",\n inputPlaceholder: \"Nachricht eingeben…\",\n aiThinking: \"KI antwortet…\",\n sendAriaLabel: \"Nachricht senden\",\n attachImagesAriaLabel: \"Bilder anhängen\",\n attachComingSoon: \"Dateianhänge — bald verfügbar\",\n removeAttachmentAriaLabel: \"Anhang entfernen\",\n openChatAriaLabel: \"Chat öffnen\",\n closeChatAriaLabel: \"Chat schließen\",\n errorNetwork: \"Netzwerkfehler. Bitte versuche es erneut.\",\n errorQuota: \"Nachrichtenlimit erreicht. Bitte versuche es später erneut.\",\n errorRateLimited: \"Zu viele Nachrichten. Bitte in {seconds} Sek. erneut versuchen.\",\n errorSessionNoToken: \"Verbindung zum Chat fehlgeschlagen. Bitte Internet prüfen und erneut versuchen.\",\n errorSessionUnauthorized: \"Dieser Chat ist auf dieser Seite nicht autorisiert. Bitte neu laden.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Gespräch wird fortgesetzt…\",\n startingConversation: \"Konversation wird gestartet…\",\n sessionNotFound: \"Ihre vorherige Sitzung wurde nicht gefunden. Ein neues Gespräch wird gestartet.\",\n startNewConversation: \"Neues Gespräch beginnen\",\n chatWith: \"Chatte mit {title}\",\n haveReferenceNumber: \"Hast du eine Referenznummer?\",\n referencePlaceholder: \"z.B. JEX-A3B7C2\",\n resume: \"Fortsetzen\",\n howCanWeHelp: \"Wie können wir helfen?\",\n getInstantHelp: \"Soforthilfe erhalten\",\n submitTicket: \"Ticket einreichen\",\n replyByEmail: \"Wir antworten per E-Mail\",\n ticketSubmitted: \"Ticket eingereicht\",\n yourReferenceNumber: \"Deine Referenznummer:\",\n sentToEmailHint: \"Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer für Rückfragen.\",\n done: \"Fertig\",\n submittingTicket: \"Dein Ticket wird übermittelt…\",\n yourName: \"Dein Name\",\n yourEmail: \"Deine E-Mail\",\n submit: \"Absenden\",\n back: \"Zurück\",\n // Escalation form\n escalationFormTitle: \"Hinterlassen Sie Ihre Daten\",\n escalationSubtitle: \"Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.\",\n escalationNameLabel: \"Ihr Name\",\n escalationEmailLabel: \"Ihre E-Mail\",\n escalationSubmit: \"An Team senden\",\n escalationSubmitting: \"Wird gesendet…\",\n escalationSubmitted: \"Anfrage gesendet\",\n escalationConsent: \"Mit dem Absenden stimmen Sie unserer\",\n escalationPrivacyLinkText: \"Datenschutzerklärung\",\n escalationSkip: \"Überspringen, ich warte hier\",\n escalationPromptTitle: \"Sprechen Sie mit unserem Team\",\n escalationPromptSubtitle: \"Wir benachrichtigen Sie per E-Mail, wenn wir antworten.\",\n escalationPromptSubmit: \"Daten hinterlassen\",\n escalationSubmitFailed: \"Senden fehlgeschlagen. Bitte versuche es erneut.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Sitzung nicht gefunden. Möchten Sie ein neues Gespräch beginnen?\",\n sessionLocked: \"Aus Datenschutzgründen wurde dieses Gespräch nach einer Inaktivitätszeit geschlossen. Geben Sie Ihre Referenz ein, um fortzufahren, oder beginnen Sie ein neues Gespräch.\",\n // Resolved session\n sessionResolved: \"Diese Unterhaltung wurde abgeschlossen.\",\n tryAgain: \"Erneut versuchen\",\n goBack: \"Zurück\",\n somethingWentWrong: \"Etwas ist schiefgelaufen\",\n fabLabel: \"Chatte mit uns\",\n chatNoLongerAvailable: \"Dieser Chat ist nicht mehr verfügbar.\",\n // Handoff & resume list\n talkToHuman: \"Mit Mitarbeiter sprechen\",\n talkToHumanAria: \"Mit einem menschlichen Mitarbeiter sprechen\",\n handoffPending: \"Sie werden mit einem Mitarbeiter verbunden…\",\n handoffFailed: \"Anfrage konnte nicht gesendet werden. Erneut versuchen.\",\n handoffRateLimited: \"Sie haben kürzlich einen Mitarbeiter angefragt. Bitte warten Sie.\",\n resumeListLabel: \"Unterhaltung fortsetzen\",\n resumeListTimestamp: \"vor {minutes} Min.\",\n noticeAgentJoined: \"{name} ist der Unterhaltung beigetreten.\",\n noticeHumanRequested: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen.\",\n noticeHumanRequestedForm: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen. Bitte teilen Sie unten Ihre Kontaktdaten mit.\",\n noticeEscalationConfirmed: `Vielen Dank, {name}! Ein Mitarbeiter wird in Kürze verfügbar sein.\nWir kontaktieren Sie unter {email}, sobald ein Mitarbeiter bereit ist.\n\nIhre Referenz: **{ref}**\nVerwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.`,\n noticeMessageReceived: \"Ihre Nachricht ist eingegangen. Ein Mitarbeiter wird in Kürze antworten.\",\n noticeAgentHandling: \"Ihre Unterhaltung wird von einem menschlichen Mitarbeiter betreut, der in Kürze antwortet.\",\n replyTo: \"Antworten an {name}\",\n sourcesCountOne: \"{count} Quelle\",\n sourcesCountOther: \"{count} Quellen\",\n privacyNoticePre: \"Mit dem Chatten stimmst du unserer\",\n privacyPolicyLinkText: \"Datenschutzerklärung\",\n privacyChipText: \"Wir respektieren Ihre Privatsphäre - Richtlinie lesen\",\n privacyExplicitTitle: \"Vor dem Senden\",\n privacyExplicitBodyPre: \"Nachrichten werden verarbeitet, um Ihnen zu helfen. Durch Fortfahren stimmen Sie unserer\",\n privacyExplicitButton: \"Verstanden, fortfahren\",\n // Magicline integration forms\n magiclineTrialTitle: \"Probetraining buchen\",\n magiclineLeadTitle: \"Weitere Informationen anfordern\",\n magiclineFirstName: \"Vorname\",\n magiclineLastName: \"Nachname\",\n magiclineEmail: \"E-Mail\",\n magiclinePhone: \"Telefon\",\n magiclineBirthDate: \"Geburtsdatum\",\n magiclineInterest: \"Wofür interessieren Sie sich? (optional)\",\n magiclineMessage: \"Nachricht (optional)\",\n magiclineSlotLabel: \"Wunschtermin\",\n magiclineSlotPlaceholder: \"Termin auswählen…\",\n magiclineLoadingSlots: \"Verfügbare Termine werden geladen…\",\n magiclineNoSlots: \"Derzeit sind keine Probetermine verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineSubmit: \"Absenden\",\n magiclineSubmitting: \"Wird gesendet…\",\n magiclineSubmitted: \"Anfrage gesendet\",\n magiclineSubmittedDetail: \"Wir haben Ihre Anfrage erhalten und melden uns in Kürze bei Ihnen.\",\n magiclineFailed: \"Senden fehlgeschlagen\",\n magiclineFailedDetail: \"Beim Senden Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.\",\n magiclineConsent: \"Ich stimme der Verarbeitung meiner Daten gemäß der\",\n magiclinePrivacyLinkText: \"Datenschutzerklärung\",\n magiclineRequiredError: \"Bitte füllen Sie alle Pflichtfelder aus.\",\n magiclineEmailError: \"Bitte geben Sie eine gültige E-Mail-Adresse ein.\",\n magiclineConsentError: \"Bitte akzeptieren Sie die Datenschutzerklärung, um fortzufahren.\",\n // Dynamisches studiospezifisches Probetraining-Formular (v2)\n magiclineConfigLoading: \"Buchungsformular wird geladen…\",\n magiclineConfigUnsupported: \"Die Online-Buchung eines Probetrainings wird für dieses Studio nicht unterstützt. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigInconsistent: \"Das Buchungsformular ist vorübergehend falsch konfiguriert. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigUnavailable: \"Die Buchung eines Probetrainings ist derzeit nicht verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineGender: \"Geschlecht\",\n magiclineGenderPlaceholder: \"Geschlecht auswählen…\",\n magiclineGenderMale: \"Männlich\",\n magiclineGenderFemale: \"Weiblich\",\n magiclineGenderUnisex: \"Divers\",\n magiclineStreet: \"Straße\",\n magiclineHouseNumber: \"Hausnummer\",\n magiclineZip: \"Postleitzahl\",\n magiclineCity: \"Stadt\",\n magiclineCountry: \"Land\",\n magiclineCountryPlaceholder: \"Land auswählen…\",\n magiclineNote: \"Anmerkung (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"Ich wünsche einen Trainer vor Ort\",\n magiclineMinAgeError: \"Sie müssen mindestens {age} Jahre alt sein, um ein Probetraining zu buchen.\",\n magiclineSlotRequiredError: \"Bitte wählen Sie einen verfügbaren Termin aus.\",\n magiclineSlotUnavailableNotice: \"Dieser Termin ist nicht mehr verfügbar. Bitte wählen Sie unten einen anderen Termin aus.\",\n // Schritt-Assistent (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Termin wählen\",\n magiclineStepPersonal: \"Ihre Daten\",\n magiclineStepAddress: \"Ihre Adresse\",\n magiclineStepConfirm: \"Bestätigen\",\n magiclineStepCounter: \"Schritt {n} von {total}\",\n magiclineWizardBack: \"Zurück\",\n magiclineWizardNext: \"Weiter\",\n magiclineTrainerWith: \"Probetraining mit Trainer\",\n magiclineTrainerWithout: \"Probetraining ohne Trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Termin\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Erneut versuchen\",\n magiclineSlotsError: \"Die verfügbaren Termine konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n // Mitgliedschafts-Assistent (Vertragsabschluss)\n magiclineContractTitle: \"Mitglied werden\",\n magiclineStepOffer: \"Mitgliedschaft wählen\",\n magiclineStepUpgrades: \"Zusatzoptionen\",\n magiclineStepPayment: \"Zahlung\",\n magiclineStepReview: \"Überprüfen\",\n magiclineOffersLoading: \"Mitgliedschaften werden geladen…\",\n magiclineOffersError: \"Die Mitgliedschaften konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n magiclineNoOffers: \"Derzeit sind keine Mitgliedschaften für den Online-Abschluss verfügbar. Bitte fragen Sie uns um Hilfe.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"pro Tag\",\n magiclineFreqPerWeek: \"pro Woche\",\n magiclineFreqPerMonth: \"pro Monat\",\n magiclineFreqPerYear: \"pro Jahr\",\n magiclineFreqEveryDays: \"alle {n} Tage\",\n magiclineFreqEveryWeeks: \"alle {n} Wochen\",\n magiclineFreqEveryMonths: \"alle {n} Monate\",\n magiclineFreqEveryYears: \"alle {n} Jahre\",\n magiclineModulePerTerm: \"pro Laufzeit\",\n magiclineModuleOneTime: \"einmalig\",\n magiclineModuleIncluded: \"inklusive\",\n magiclineRenewalNone: \"Keine automatische Verlängerung\",\n magiclineRenewalTerm: \"Verlängerung: {n} {unit}\",\n magiclineCancellationPeriod: \"Kündigungsfrist\",\n magiclineStarterPackage: \"Startpaket\",\n magiclineFlatFee: \"Einmalige Gebühr\",\n magiclineIncludedModules: \"Inklusive\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Erforderlich\",\n magiclineUpgradesIntro: \"Fügen Sie Ihrer Mitgliedschaft optionale Zusatzoptionen hinzu.\",\n magiclineUpgradesNone: \"Für diese Mitgliedschaft sind keine optionalen Zusatzoptionen verfügbar.\",\n magiclineUpgradeAdd: \"Hinzufügen\",\n magiclineUpgradeAdded: \"Hinzugefügt\",\n magiclineUpgradeOneTime: \"einmalig\",\n magiclineUpgradeConsentError: \"Bitte akzeptieren Sie die Bedingungen für Ihre gewählte Zusatzoption, um sie beizubehalten.\",\n magiclineOfferRequiredError: \"Bitte wählen Sie eine Mitgliedschaft aus.\",\n magiclineCountryStatic: \"Deutschland\",\n magiclineAccountHolder: \"Kontoinhaber\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Bitte geben Sie eine gültige IBAN ein.\",\n magiclineSepaConsent: \"Ich ermächtige das Studio, Zahlungen von meinem Konto per SEPA-Lastschrift einzuziehen, und weise mein Kreditinstitut an, diese Lastschriften einzulösen.\",\n magiclineReviewLoading: \"Ihr Preis wird berechnet…\",\n magiclineReviewError: \"Ihr Preis konnte gerade nicht berechnet werden. Bitte versuchen Sie es erneut.\",\n magiclineReviewOffer: \"Mitgliedschaft\",\n magiclineReviewPriceSummary: \"Preisübersicht\",\n magiclineReviewBasePrice: \"Preis pro Monat\",\n magiclineReviewOneTimeFees: \"Einmalige Gebühren\",\n magiclineReviewPreUseCharge: \"Vorab-Nutzungsgebühr\",\n magiclineReviewSelectedUpgrades: \"Deine gewählten Zusatzoptionen\",\n magiclineReviewContractVolume: \"Gesamtes Vertragsvolumen\",\n magiclineReviewStartsOn: \"Beginnt am\",\n magiclineReviewPayment: \"Zahlung\",\n magiclineReviewTerms: \"Vertragsbedingungen\",\n magiclineConfirmPrompt: \"Bitte bestätigen Sie zum Fortfahren das Folgende:\",\n magiclineConfirmRequiredError: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineSummaryAddress: \"Adresse\",\n magiclineContractSubmitted: \"Ihre Mitgliedschaft ist bestätigt. Das Studio meldet sich in Kürze bei Ihnen.\",\n magiclineCustomerNumber: \"Ihre Kundennummer: {number}\",\n magiclinePriceChangedNotice: \"Der Preis hat sich geändert. Bitte prüfen Sie den neuen Preis und bestätigen Sie erneut.\",\n magiclineOfferUnavailableNotice: \"Diese Mitgliedschaft ist nicht mehr verfügbar. Bitte wählen Sie eine andere aus.\",\n magiclineConfirmationRequiredNotice: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineLiveSubmissionDisabled: \"Die Live-Übermittlung ist für dieses Projekt deaktiviert — bitte wenden Sie sich an das Studio.\",\n magiclineDuplicateNotice: \"Für dieses Angebot wurde kürzlich bereits eine Mitgliedschaft erstellt.\",\n magiclineUnknownOutcome: \"Wir konnten Ihre Anmeldung nicht bestätigen. Das Studio prüft sie und meldet sich bei Ihnen — bitte senden Sie das Formular nicht erneut ab.\",\n magiclineFeeStarterPackage: \"Startpaket\",\n magiclineFeeTrainerFee: \"Trainerpauschale\",\n // Gutscheincode (Vertragsabschluss-Schritt: Überprüfen)\n magiclineVoucherLabel: \"Gutscheincode\",\n magiclineVoucherPlaceholder: \"Gutscheincode eingeben…\",\n magiclineVoucherApply: \"Einlösen\",\n magiclineVoucherAppliedDiscount: \"Rabatt ({discount})\",\n magiclineVoucherCreditNotice: \"Guthaben wird angerechnet — nicht vom Vertragsvolumen abgezogen.\",\n magiclineVoucherRemarks: \"Hinweis zum Gutschein\",\n magiclineVoucherInvalid: 'Gutscheincode „{code}\" ist nicht gültig. Bitte überprüfen Sie den Code und versuchen Sie es erneut.',\n magiclineVoucherDisabled: \"Gutscheincodes sind für diese Mitgliedschaft nicht verfügbar.\",\n magiclineGesamtpreisBeforeDiscount: \"Gesamtes Vertragsvolumen (vor Gutscheinrabatt)\"\n}, xc = [\n { value: \"de\", label: \"Deutsch\", flag: \"🇩🇪\" },\n { value: \"en\", label: \"English\", flag: \"🇬🇧\" }\n], bc = \"de\", vc = \"jex-locale\", Pe = F(\"de\"), yc = { en: wr, de: Ho };\nfunction _() {\n return yc[Pe.value] ?? wr;\n}\nfunction zn(t) {\n if (!t)\n return null;\n const e = (t.split(\"-\")[0] ?? \"\").toLowerCase();\n return xc.some((r) => r.value === e) ? e : null;\n}\nfunction Wo(t) {\n const e = zn(t);\n if (e)\n return e;\n try {\n const n = zn(localStorage.getItem(vc));\n if (n)\n return n;\n } catch {\n }\n if (typeof navigator < \"u\") {\n const n = zn(navigator.language);\n if (n)\n return n;\n }\n return bc;\n}\nfunction wc(t) {\n E(() => {\n function e(n) {\n const r = t ?? window.location.origin;\n if (n.origin !== r || n.data?.type !== \"jexity:config\")\n return;\n const { locale: i } = n.data.payload;\n i && (Pe.value = Wo(i));\n }\n return window.addEventListener(\"message\", e), () => {\n window.removeEventListener(\"message\", e);\n };\n }, [t]);\n}\nconst Ko = \"jex-session-history\", Go = Ko, Jo = 3600 * 1e3, ce = F([]), tt = F(null), Yo = er(() => ce.value.length > 0), Lt = F(null);\nfunction kc() {\n return \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n}\nfunction _c(t) {\n try {\n const e = sessionStorage.getItem(Go);\n if (!e)\n return [];\n const n = JSON.parse(e);\n return n.v !== 1 || !Array.isArray(n.entries) ? [] : n.entries.filter((r) => t - r.lastActivityAt <= Jo);\n } catch {\n return [];\n }\n}\nfunction Cn(t) {\n try {\n const e = { v: 1, entries: t };\n sessionStorage.setItem(Go, JSON.stringify(e));\n } catch {\n }\n}\nfunction jc() {\n const t = Date.now(), e = _c(t);\n ce.value = e, Cn(e), tt.value = e[e.length - 1]?.ref ?? null;\n}\nfunction bi() {\n const t = kc(), e = Date.now(), n = [...ce.value, { ref: t, startedAt: e, lastActivityAt: e }];\n return ce.value = n, tt.value = t, Cn(n), t;\n}\nfunction vi(t) {\n const e = Date.now(), n = ce.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n ce.value = n, tt.value = t, Cn(n);\n}\nfunction kr(t) {\n if (!t)\n return;\n const e = Date.now(), n = ce.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n ce.value = n, Cn(n);\n}\nconst ue = F(Zo());\nfunction Zo() {\n return Yo.value ? [{ id: \"home\" }] : [{ id: \"chat\" }];\n}\nfunction Sc() {\n ue.value = Zo();\n}\nconst Cc = F(\"screen\");\nfunction Ze(t) {\n ue.value = [...ue.value, t];\n}\nfunction bn() {\n ue.value.length > 1 && (ue.value = ue.value.slice(0, -1));\n}\nfunction rr(t) {\n ue.value = [...ue.value.slice(0, -1), t];\n}\nconst Tc = 6e4, Ut = F(!1), ir = F(!1), or = /* @__PURE__ */ new Set();\nfunction Rc(t) {\n return or.add(t), () => {\n or.delete(t);\n };\n}\nfunction Ac() {\n const t = tt.value;\n return t ? ce.value.find((n) => n.ref === t)?.lastActivityAt ?? null : null;\n}\nfunction Ic(t) {\n const e = Ac();\n return e === null ? !1 : Date.now() - e > t;\n}\nfunction yi() {\n if (!(Ut.value && ce.value.length === 0)) {\n ce.value = [], tt.value = null;\n try {\n sessionStorage.removeItem(Ko);\n } catch (t) {\n console.warn(\"[JexityChat] Idle-lock storage clear failed:\", t);\n }\n for (const t of or)\n try {\n t();\n } catch (e) {\n console.warn(\"[JexityChat] Lock reset callback threw:\", e);\n }\n ue.value = [{ id: \"home\" }], Ut.value = !0;\n }\n}\nfunction Bn() {\n Ut.value && (Ut.value = !1);\n}\nfunction Ec(t = Jo) {\n let e = null;\n const n = () => {\n if (document.visibilityState === \"hidden\") {\n e = Date.now();\n return;\n }\n e !== null && Date.now() - e > t && yi(), e = null;\n };\n document.addEventListener(\"visibilitychange\", n);\n const r = setInterval(() => {\n ir.value || Ic(t) && yi();\n }, Tc);\n return () => {\n document.removeEventListener(\"visibilitychange\", n), clearInterval(r), e = null;\n };\n}\nfunction $c(t) {\n const e = {}, { primaryColor: n, theme: r } = t;\n if (n && (e[\"--jex-primary\"] = n, e[\"--jex-bg-trigger\"] = n, e[\"--jex-bg-header\"] = n, e[\"--jex-bg-msg-user\"] = n, e[\"--jex-bg-send-btn\"] = n), t.accentColor && (e[\"--jex-accent\"] = t.accentColor), r?.bg) {\n const i = r.bg;\n i.trigger && (e[\"--jex-bg-trigger\"] = i.trigger), i.header && (e[\"--jex-bg-header\"] = i.header), i.msgUser && (e[\"--jex-bg-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-bg-msg-bot\"] = i.msgBot), i.window && (e[\"--jex-bg-window\"] = i.window), i.sendBtn && (e[\"--jex-bg-send-btn\"] = i.sendBtn);\n }\n if (r?.text) {\n const i = r.text;\n i.header && (e[\"--jex-text-header\"] = i.header), i.msgUser && (e[\"--jex-text-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-text-msg-bot\"] = i.msgBot), i.main && (e[\"--jex-text-main\"] = i.main), i.muted && (e[\"--jex-text-muted\"] = i.muted);\n }\n if (r?.border) {\n const i = r.border;\n i.window && (e[\"--jex-border-window\"] = i.window), i.input && (e[\"--jex-border-input\"] = i.input);\n }\n return t.fontFamily && (e[\"--jex-font-family\"] = t.fontFamily), t.fontSize && (e[\"--jex-font-size\"] = `${t.fontSize}px`), t.borderRadius && (e[\"--jex-radius\"] = t.borderRadius), t.windowWidth && (e[\"--jex-window-width\"] = `${t.windowWidth}px`), t.windowHeight && (e[\"--jex-window-height\"] = `${t.windowHeight}px`), Object.keys(e).length > 0 ? e : void 0;\n}\nfunction _r({ size: t = 24 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 8V4H8\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M2 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M20 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M15 13v2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M9 13v2\" })\n ] });\n}\nfunction Pc() {\n const t = _();\n return ue.value.length > 1 ? /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-back\",\n onClick: bn,\n \"aria-label\": t.back || \"Go back\",\n children: /* @__PURE__ */ s(\"svg\", { width: 20, height: 20, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"m15 18-6-6 6-6\" }) })\n }\n ) : /* @__PURE__ */ s(_r, { size: 24 });\n}\nfunction qc({ title: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-header-info\", children: [\n /* @__PURE__ */ s(\"h3\", { children: t }),\n /* @__PURE__ */ s(\"p\", { children: e.statusOnline })\n ] });\n}\nfunction Xo({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] });\n}\nfunction Nc() {\n const t = _();\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-close\",\n type: \"button\",\n onClick: () => {\n Z.value = !1;\n },\n \"aria-label\": t.closeChatAriaLabel,\n title: t.closeChatAriaLabel,\n children: /* @__PURE__ */ s(Xo, { size: 18 })\n }\n );\n}\nfunction Mc({ action: t, showClose: e = !0 }) {\n return !t && !e ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-header-right\", children: [\n t,\n e && /* @__PURE__ */ s(Nc, {})\n ] });\n}\nfunction wi({ title: t, rightAction: e, showClose: n = !0 }) {\n return /* @__PURE__ */ s(\"header\", { class: \"jex-chat-header\", children: [\n /* @__PURE__ */ s(Pc, {}),\n /* @__PURE__ */ s(qc, { title: t }),\n /* @__PURE__ */ s(Mc, { action: e, showClose: n })\n ] });\n}\nfunction Lc({ size: t = 14 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" }) });\n}\nfunction ki() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-widget-footer\", children: /* @__PURE__ */ s(\n \"a\",\n {\n href: \"https://jexitychat.de\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-branding\",\n children: [\n /* @__PURE__ */ s(Lc, { size: 14 }),\n /* @__PURE__ */ s(\"span\", { children: [\n \"Powered by \",\n /* @__PURE__ */ s(\"strong\", { children: \"Jexity\" })\n ] })\n ]\n }\n ) });\n}\nfunction ea({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" }) });\n}\nfunction Oc({ size: t = 24, ...e }) {\n return /* @__PURE__ */ s(\n \"svg\",\n {\n width: t,\n height: t,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n ...e,\n children: /* @__PURE__ */ s(\"path\", { d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" })\n }\n );\n}\nconst zc = {\n chat: /* @__PURE__ */ s(ea, { size: 28 }),\n bot: /* @__PURE__ */ s(_r, { size: 28 }),\n sparkles: /* @__PURE__ */ s(Oc, { size: 28 })\n}, Bc = {\n none: \"0px\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1.25rem\",\n full: \"9999px\"\n};\nfunction Dc({ radius: t = \"full\", iconOption: e = \"chat\", label: n }) {\n const r = _(), i = n ?? r.fabLabel, o = i !== \"\";\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-floating-button ${!Z.value && o ? \"jex-has-label\" : \"\"}`,\n style: { borderRadius: Bc[t] ?? \"9999px\" },\n onClick: () => {\n Z.value = !Z.value;\n },\n \"aria-label\": Z.value ? r.closeChatAriaLabel : r.openChatAriaLabel,\n children: Z.value ? /* @__PURE__ */ s(Xo, { size: 28 }) : /* @__PURE__ */ s(\"div\", { class: \"jex-fab-inner\", children: [\n zc[e],\n o && /* @__PURE__ */ s(\"span\", { class: \"jex-fab-label\", children: i })\n ] })\n }\n );\n}\nfunction Fc({ title: t, onStartFresh: e, onResetSession: n }) {\n const r = _(), [i, o] = T(\"\");\n function a() {\n Bn(), Lt.value = \"fresh\", n(), e(), Ze({ id: \"chat\" });\n }\n function l(u) {\n Bn(), Lt.value = \"resume\", n(), vi(u), Ze({ id: \"chat\" });\n }\n function c(u) {\n u.preventDefault();\n const d = i.trim().toUpperCase();\n d && (Bn(), Lt.value = \"resume\", n(), vi(d), Ze({ id: \"chat\" }));\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-home\", children: [\n Ut.value && /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", role: \"status\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: r.sessionLocked }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-hero\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-avatar\", children: [\n /* @__PURE__ */ s(ea, { size: 24 }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-status-dot\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-hero-text\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-home-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-status\", children: r.statusOnline })\n ] })\n ] }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-home-lookup\", onSubmit: c, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-home-lookup-input\",\n type: \"text\",\n placeholder: r.referencePlaceholder,\n value: i,\n onInput: (u) => {\n o(u.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-lookup-submit\",\n type: \"submit\",\n disabled: !i.trim(),\n children: r.resume\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-actions\", children: [\n ce.value.length > 0 && /* @__PURE__ */ s(\"div\", { class: \"jex-home-history\", children: ce.value.slice().reverse().map((u) => /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-resume-card\",\n onClick: () => {\n l(u.ref);\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-resume-top\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-label\", children: r.resumeListLabel }),\n /* @__PURE__ */ s(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", class: \"jex-home-resume-arrow\", children: /* @__PURE__ */ s(\"path\", { d: \"M6 3l5 5-5 5\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" }) })\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-ref\", children: u.ref }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-meta\", children: r.resumeListTimestamp.replace(\"{minutes}\", String(Math.max(1, Math.round((Date.now() - u.lastActivityAt) / 6e4)))) })\n ]\n },\n u.ref\n )) }),\n /* @__PURE__ */ s(\"button\", { class: \"jex-home-new-btn\", onClick: a, children: ce.value.length > 0 ? r.startNewConversation : r.chatWith.replace(\"{title}\", t) })\n ] })\n ] });\n}\nfunction Uc({ title: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-selection\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-selection-title\", children: e.howCanWeHelp }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-selection-options\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => Ze({ id: \"chat\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"💬\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.chatWith.replace(\"{title}\", t) }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.getInstantHelp })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => Ze({ id: \"form\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"📝\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.submitTicket }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.replyByEmail })\n ]\n }\n )\n ] })\n ] });\n}\nconst Vc = (...t) => t.filter((e, n, r) => !!e && e.trim() !== \"\" && r.indexOf(e) === n).join(\" \").trim();\nconst _i = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst Qc = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, n, r) => r ? r.toUpperCase() : n.toLowerCase()\n);\nconst ji = (t) => {\n const e = Qc(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n};\nvar Hc = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nconst Wc = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n return !1;\n};\nconst Kc = ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: n = 2,\n absoluteStrokeWidth: r,\n children: i,\n iconNode: o,\n class: a = \"\",\n ...l\n}) => xe(\n \"svg\",\n {\n ...Hc,\n width: String(e),\n height: e,\n stroke: t,\n \"stroke-width\": r ? Number(n) * 24 / Number(e) : n,\n class: [\"lucide\", a].join(\" \"),\n ...!i && !Wc(l) && { \"aria-hidden\": \"true\" },\n ...l\n },\n [...o.map(([c, u]) => xe(c, u)), ...Ie(i)]\n);\nconst Gc = (t, e) => {\n const n = ({ class: r = \"\", className: i = \"\", children: o, ...a }) => xe(\n Kc,\n {\n ...a,\n iconNode: e,\n class: Vc(\n `lucide-${_i(ji(t))}`,\n `lucide-${_i(t)}`,\n r,\n i\n )\n },\n o\n );\n return n.displayName = ji(t), n;\n};\nconst Jc = Gc(\"corner-up-left\", [\n [\"path\", { d: \"M20 20v-7a4 4 0 0 0-4-4H4\", key: \"1nkjon\" }],\n [\"path\", { d: \"M9 14 4 9l5-5\", key: \"102s5s\" }]\n]);\nfunction jr() {\n return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };\n}\nvar it = jr();\nfunction ta(t) {\n it = t;\n}\nvar Je = { exec: () => null };\nfunction R(t, e = \"\") {\n let n = typeof t == \"string\" ? t : t.source, r = { replace: (i, o) => {\n let a = typeof o == \"string\" ? o : o.source;\n return a = a.replace(ae.caret, \"$1\"), n = n.replace(i, a), r;\n }, getRegex: () => new RegExp(n, e) };\n return r;\n}\nvar Yc = (() => {\n try {\n return !!new RegExp(\"(?<=1)(?<!1)\");\n } catch {\n return !1;\n }\n})(), ae = { codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm, outputLinkReplace: /\\\\([\\[\\]])/g, indentCodeCompensation: /^(\\s+)(?:```)/, beginningSpace: /^\\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\\n/g, tabCharGlobal: /\\t/g, multipleSpaceGlobal: /\\s+/g, blankLine: /^[ \\t]*$/, doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\\[[ xX]\\] +\\S/, listReplaceTask: /^\\[[ xX]\\] +/, listTaskCheckbox: /\\[[ xX]\\]/, anyLine: /\\n.*\\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\\||\\| *$/g, tableRowBlankLine: /\\n[ \\t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i, endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/, unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u, escapeTest: /[&<>\"']/, escapeReplace: /[&<>\"']/g, escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/, escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g, caret: /(^|[^\\[])\\^/g, percentDecode: /%25/g, findPipe: /\\|/g, splitPipe: / \\|/, slashPipe: /\\\\\\|/g, carriageReturn: /\\r\\n|\\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\\S*/, endingNewline: /\\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`), nextBulletRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`), hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`), fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\\`\\`\\`|~~~)`), headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, \"i\"), blockquoteBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}>`) }, Zc = /^(?:[ \\t]*(?:\\n|$))+/, Xc = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/, eu = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/, en = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/, tu = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/, Sr = / {0,3}(?:[*+-]|\\d{1,9}[.)])/, na = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, ra = R(na).replace(/bull/g, Sr).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex(), nu = R(na).replace(/bull/g, Sr).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(), Cr = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/, ru = /^[^\\n]+/, Tr = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/, iu = R(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", Tr).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(), ou = R(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, Sr).getRegex(), Tn = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\", Rr = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/, au = R(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", Rr).replace(\"tag\", Tn).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(), ia = R(Cr).replace(\"hr\", en).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", Tn).getRegex(), su = R(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", ia).getRegex(), Ar = { blockquote: su, code: Xc, def: iu, fences: eu, heading: tu, hr: en, html: au, lheading: ra, list: ou, newline: Zc, paragraph: ia, table: Je, text: ru }, Si = R(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", en).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", Tn).getRegex(), lu = { ...Ar, lheading: nu, table: Si, paragraph: R(Cr).replace(\"hr\", en).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", Si).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", Tn).getRegex() }, cu = { ...Ar, html: R(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", Rr).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(), def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/, heading: /^(#{1,6})(.*)(?:\\n+|$)/, fences: Je, lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, paragraph: R(Cr).replace(\"hr\", en).replace(\"heading\", ` *#{1,6} *[^\n]`).replace(\"lheading\", ra).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex() }, uu = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/, du = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/, oa = /^( {2,}|\\\\)\\n(?!\\s*$)/, hu = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/, _t = /[\\p{P}\\p{S}]/u, Rn = /[\\s\\p{P}\\p{S}]/u, Ir = /[^\\s\\p{P}\\p{S}]/u, pu = R(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, Rn).getRegex(), aa = /(?!~)[\\p{P}\\p{S}]/u, fu = /(?!~)[\\s\\p{P}\\p{S}]/u, mu = /(?:[^\\s\\p{P}\\p{S}]|~)/u, gu = R(/link|precode-code|html/, \"g\").replace(\"link\", /\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\", Yc ? \"(?<!`)()\" : \"(^^|[^`])\").replace(\"code\", /(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\", /<(?! )[^<>]*?>/).getRegex(), sa = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/, xu = R(sa, \"u\").replace(/punct/g, _t).getRegex(), bu = R(sa, \"u\").replace(/punct/g, aa).getRegex(), la = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\", vu = R(la, \"gu\").replace(/notPunctSpace/g, Ir).replace(/punctSpace/g, Rn).replace(/punct/g, _t).getRegex(), yu = R(la, \"gu\").replace(/notPunctSpace/g, mu).replace(/punctSpace/g, fu).replace(/punct/g, aa).getRegex(), wu = R(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, Ir).replace(/punctSpace/g, Rn).replace(/punct/g, _t).getRegex(), ku = R(/^~~?(?:((?!~)punct)|[^\\s~])/, \"u\").replace(/punct/g, _t).getRegex(), _u = \"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\", ju = R(_u, \"gu\").replace(/notPunctSpace/g, Ir).replace(/punctSpace/g, Rn).replace(/punct/g, _t).getRegex(), Su = R(/\\\\(punct)/, \"gu\").replace(/punct/g, _t).getRegex(), Cu = R(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Tu = R(Rr).replace(\"(?:-->|$)\", \"-->\").getRegex(), Ru = R(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", Tu).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(), vn = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/, Au = R(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\", vn).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(), ca = R(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", vn).replace(\"ref\", Tr).getRegex(), ua = R(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", Tr).getRegex(), Iu = R(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", ca).replace(\"nolink\", ua).getRegex(), Ci = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Er = { _backpedal: Je, anyPunctuation: Su, autolink: Cu, blockSkip: gu, br: oa, code: du, del: Je, delLDelim: Je, delRDelim: Je, emStrongLDelim: xu, emStrongRDelimAst: vu, emStrongRDelimUnd: wu, escape: uu, link: Au, nolink: ua, punctuation: pu, reflink: ca, reflinkSearch: Iu, tag: Ru, text: hu, url: Je }, Eu = { ...Er, link: R(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", vn).getRegex(), reflink: R(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", vn).getRegex() }, ar = { ...Er, emStrongRDelimAst: yu, emStrongLDelim: bu, delLDelim: ku, delRDelim: ju, url: R(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\", Ci).replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/, del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/, text: R(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\", Ci).getRegex() }, $u = { ...ar, br: R(oa).replace(\"{2,}\", \"*\").getRegex(), text: R(ar.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex() }, an = { normal: Ar, gfm: lu, pedantic: cu }, Tt = { normal: Er, gfm: ar, breaks: $u, pedantic: Eu }, Pu = { \"&\": \"&\", \"<\": \"<\", \">\": \">\", '\"': \""\", \"'\": \"'\" }, Ti = (t) => Pu[t];\nfunction Ce(t, e) {\n if (e) {\n if (ae.escapeTest.test(t)) return t.replace(ae.escapeReplace, Ti);\n } else if (ae.escapeTestNoEncode.test(t)) return t.replace(ae.escapeReplaceNoEncode, Ti);\n return t;\n}\nfunction Ri(t) {\n try {\n t = encodeURI(t).replace(ae.percentDecode, \"%\");\n } catch {\n return null;\n }\n return t;\n}\nfunction Ai(t, e) {\n let n = t.replace(ae.findPipe, (o, a, l) => {\n let c = !1, u = a;\n for (; --u >= 0 && l[u] === \"\\\\\"; ) c = !c;\n return c ? \"|\" : \" |\";\n }), r = n.split(ae.splitPipe), i = 0;\n if (r[0].trim() || r.shift(), r.length > 0 && !r.at(-1)?.trim() && r.pop(), e) if (r.length > e) r.splice(e);\n else for (; r.length < e; ) r.push(\"\");\n for (; i < r.length; i++) r[i] = r[i].trim().replace(ae.slashPipe, \"|\");\n return r;\n}\nfunction Rt(t, e, n) {\n let r = t.length;\n if (r === 0) return \"\";\n let i = 0;\n for (; i < r && t.charAt(r - i - 1) === e; )\n i++;\n return t.slice(0, r - i);\n}\nfunction qu(t, e) {\n if (t.indexOf(e[1]) === -1) return -1;\n let n = 0;\n for (let r = 0; r < t.length; r++) if (t[r] === \"\\\\\") r++;\n else if (t[r] === e[0]) n++;\n else if (t[r] === e[1] && (n--, n < 0)) return r;\n return n > 0 ? -2 : -1;\n}\nfunction Nu(t, e = 0) {\n let n = e, r = \"\";\n for (let i of t) if (i === \"\t\") {\n let o = 4 - n % 4;\n r += \" \".repeat(o), n += o;\n } else r += i, n++;\n return r;\n}\nfunction Ii(t, e, n, r, i) {\n let o = e.href, a = e.title || null, l = t[1].replace(i.other.outputLinkReplace, \"$1\");\n r.state.inLink = !0;\n let c = { type: t[0].charAt(0) === \"!\" ? \"image\" : \"link\", raw: n, href: o, title: a, text: l, tokens: r.inlineTokens(l) };\n return r.state.inLink = !1, c;\n}\nfunction Mu(t, e, n) {\n let r = t.match(n.other.indentCodeCompensation);\n if (r === null) return e;\n let i = r[1];\n return e.split(`\n`).map((o) => {\n let a = o.match(n.other.beginningSpace);\n if (a === null) return o;\n let [l] = a;\n return l.length >= i.length ? o.slice(i.length) : o;\n }).join(`\n`);\n}\nvar yn = class {\n options;\n rules;\n lexer;\n constructor(t) {\n this.options = t || it;\n }\n space(t) {\n let e = this.rules.block.newline.exec(t);\n if (e && e[0].length > 0) return { type: \"space\", raw: e[0] };\n }\n code(t) {\n let e = this.rules.block.code.exec(t);\n if (e) {\n let n = e[0].replace(this.rules.other.codeRemoveIndent, \"\");\n return { type: \"code\", raw: e[0], codeBlockStyle: \"indented\", text: this.options.pedantic ? n : Rt(n, `\n`) };\n }\n }\n fences(t) {\n let e = this.rules.block.fences.exec(t);\n if (e) {\n let n = e[0], r = Mu(n, e[3] || \"\", this.rules);\n return { type: \"code\", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : e[2], text: r };\n }\n }\n heading(t) {\n let e = this.rules.block.heading.exec(t);\n if (e) {\n let n = e[2].trim();\n if (this.rules.other.endingHash.test(n)) {\n let r = Rt(n, \"#\");\n (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());\n }\n return { type: \"heading\", raw: e[0], depth: e[1].length, text: n, tokens: this.lexer.inline(n) };\n }\n }\n hr(t) {\n let e = this.rules.block.hr.exec(t);\n if (e) return { type: \"hr\", raw: Rt(e[0], `\n`) };\n }\n blockquote(t) {\n let e = this.rules.block.blockquote.exec(t);\n if (e) {\n let n = Rt(e[0], `\n`).split(`\n`), r = \"\", i = \"\", o = [];\n for (; n.length > 0; ) {\n let a = !1, l = [], c;\n for (c = 0; c < n.length; c++) if (this.rules.other.blockquoteStart.test(n[c])) l.push(n[c]), a = !0;\n else if (!a) l.push(n[c]);\n else break;\n n = n.slice(c);\n let u = l.join(`\n`), d = u.replace(this.rules.other.blockquoteSetextReplace, `\n $1`).replace(this.rules.other.blockquoteSetextReplace2, \"\");\n r = r ? `${r}\n${u}` : u, i = i ? `${i}\n${d}` : d;\n let h = this.lexer.state.top;\n if (this.lexer.state.top = !0, this.lexer.blockTokens(d, o, !0), this.lexer.state.top = h, n.length === 0) break;\n let p = o.at(-1);\n if (p?.type === \"code\") break;\n if (p?.type === \"blockquote\") {\n let f = p, m = f.raw + `\n` + n.join(`\n`), v = this.blockquote(m);\n o[o.length - 1] = v, r = r.substring(0, r.length - f.raw.length) + v.raw, i = i.substring(0, i.length - f.text.length) + v.text;\n break;\n } else if (p?.type === \"list\") {\n let f = p, m = f.raw + `\n` + n.join(`\n`), v = this.list(m);\n o[o.length - 1] = v, r = r.substring(0, r.length - p.raw.length) + v.raw, i = i.substring(0, i.length - f.raw.length) + v.raw, n = m.substring(o.at(-1).raw.length).split(`\n`);\n continue;\n }\n }\n return { type: \"blockquote\", raw: r, tokens: o, text: i };\n }\n }\n list(t) {\n let e = this.rules.block.list.exec(t);\n if (e) {\n let n = e[1].trim(), r = n.length > 1, i = { type: \"list\", raw: \"\", ordered: r, start: r ? +n.slice(0, -1) : \"\", loose: !1, items: [] };\n n = r ? `\\\\d{1,9}\\\\${n.slice(-1)}` : `\\\\${n}`, this.options.pedantic && (n = r ? n : \"[*+-]\");\n let o = this.rules.other.listItemRegex(n), a = !1;\n for (; t; ) {\n let c = !1, u = \"\", d = \"\";\n if (!(e = o.exec(t)) || this.rules.block.hr.test(t)) break;\n u = e[0], t = t.substring(u.length);\n let h = Nu(e[2].split(`\n`, 1)[0], e[1].length), p = t.split(`\n`, 1)[0], f = !h.trim(), m = 0;\n if (this.options.pedantic ? (m = 2, d = h.trimStart()) : f ? m = e[1].length + 1 : (m = h.search(this.rules.other.nonSpaceChar), m = m > 4 ? 1 : m, d = h.slice(m), m += e[1].length), f && this.rules.other.blankLine.test(p) && (u += p + `\n`, t = t.substring(p.length + 1), c = !0), !c) {\n let v = this.rules.other.nextBulletRegex(m), x = this.rules.other.hrRegex(m), g = this.rules.other.fencesBeginRegex(m), b = this.rules.other.headingBeginRegex(m), P = this.rules.other.htmlBeginRegex(m), N = this.rules.other.blockquoteBeginRegex(m);\n for (; t; ) {\n let M = t.split(`\n`, 1)[0], L;\n if (p = M, this.options.pedantic ? (p = p.replace(this.rules.other.listReplaceNesting, \" \"), L = p) : L = p.replace(this.rules.other.tabCharGlobal, \" \"), g.test(p) || b.test(p) || P.test(p) || N.test(p) || v.test(p) || x.test(p)) break;\n if (L.search(this.rules.other.nonSpaceChar) >= m || !p.trim()) d += `\n` + L.slice(m);\n else {\n if (f || h.replace(this.rules.other.tabCharGlobal, \" \").search(this.rules.other.nonSpaceChar) >= 4 || g.test(h) || b.test(h) || x.test(h)) break;\n d += `\n` + p;\n }\n f = !p.trim(), u += M + `\n`, t = t.substring(M.length + 1), h = L.slice(m);\n }\n }\n i.loose || (a ? i.loose = !0 : this.rules.other.doubleBlankLine.test(u) && (a = !0)), i.items.push({ type: \"list_item\", raw: u, task: !!this.options.gfm && this.rules.other.listIsTask.test(d), loose: !1, text: d, tokens: [] }), i.raw += u;\n }\n let l = i.items.at(-1);\n if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();\n else return;\n i.raw = i.raw.trimEnd();\n for (let c of i.items) {\n if (this.lexer.state.top = !1, c.tokens = this.lexer.blockTokens(c.text, []), c.task) {\n if (c.text = c.text.replace(this.rules.other.listReplaceTask, \"\"), c.tokens[0]?.type === \"text\" || c.tokens[0]?.type === \"paragraph\") {\n c.tokens[0].raw = c.tokens[0].raw.replace(this.rules.other.listReplaceTask, \"\"), c.tokens[0].text = c.tokens[0].text.replace(this.rules.other.listReplaceTask, \"\");\n for (let d = this.lexer.inlineQueue.length - 1; d >= 0; d--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[d].src)) {\n this.lexer.inlineQueue[d].src = this.lexer.inlineQueue[d].src.replace(this.rules.other.listReplaceTask, \"\");\n break;\n }\n }\n let u = this.rules.other.listTaskCheckbox.exec(c.raw);\n if (u) {\n let d = { type: \"checkbox\", raw: u[0] + \" \", checked: u[0] !== \"[ ]\" };\n c.checked = d.checked, i.loose ? c.tokens[0] && [\"paragraph\", \"text\"].includes(c.tokens[0].type) && \"tokens\" in c.tokens[0] && c.tokens[0].tokens ? (c.tokens[0].raw = d.raw + c.tokens[0].raw, c.tokens[0].text = d.raw + c.tokens[0].text, c.tokens[0].tokens.unshift(d)) : c.tokens.unshift({ type: \"paragraph\", raw: d.raw, text: d.raw, tokens: [d] }) : c.tokens.unshift(d);\n }\n }\n if (!i.loose) {\n let u = c.tokens.filter((h) => h.type === \"space\"), d = u.length > 0 && u.some((h) => this.rules.other.anyLine.test(h.raw));\n i.loose = d;\n }\n }\n if (i.loose) for (let c of i.items) {\n c.loose = !0;\n for (let u of c.tokens) u.type === \"text\" && (u.type = \"paragraph\");\n }\n return i;\n }\n }\n html(t) {\n let e = this.rules.block.html.exec(t);\n if (e) return { type: \"html\", block: !0, raw: e[0], pre: e[1] === \"pre\" || e[1] === \"script\" || e[1] === \"style\", text: e[0] };\n }\n def(t) {\n let e = this.rules.block.def.exec(t);\n if (e) {\n let n = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \"), r = e[2] ? e[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\", i = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : e[3];\n return { type: \"def\", tag: n, raw: e[0], href: r, title: i };\n }\n }\n table(t) {\n let e = this.rules.block.table.exec(t);\n if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;\n let n = Ai(e[1]), r = e[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\"), i = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, \"\").split(`\n`) : [], o = { type: \"table\", raw: e[0], header: [], align: [], rows: [] };\n if (n.length === r.length) {\n for (let a of r) this.rules.other.tableAlignRight.test(a) ? o.align.push(\"right\") : this.rules.other.tableAlignCenter.test(a) ? o.align.push(\"center\") : this.rules.other.tableAlignLeft.test(a) ? o.align.push(\"left\") : o.align.push(null);\n for (let a = 0; a < n.length; a++) o.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: !0, align: o.align[a] });\n for (let a of i) o.rows.push(Ai(a, o.header.length).map((l, c) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: o.align[c] })));\n return o;\n }\n }\n lheading(t) {\n let e = this.rules.block.lheading.exec(t);\n if (e) {\n let n = e[1].trim();\n return { type: \"heading\", raw: e[0], depth: e[2].charAt(0) === \"=\" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };\n }\n }\n paragraph(t) {\n let e = this.rules.block.paragraph.exec(t);\n if (e) {\n let n = e[1].charAt(e[1].length - 1) === `\n` ? e[1].slice(0, -1) : e[1];\n return { type: \"paragraph\", raw: e[0], text: n, tokens: this.lexer.inline(n) };\n }\n }\n text(t) {\n let e = this.rules.block.text.exec(t);\n if (e) return { type: \"text\", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };\n }\n escape(t) {\n let e = this.rules.inline.escape.exec(t);\n if (e) return { type: \"escape\", raw: e[0], text: e[1] };\n }\n tag(t) {\n let e = this.rules.inline.tag.exec(t);\n if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: \"html\", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };\n }\n link(t) {\n let e = this.rules.inline.link.exec(t);\n if (e) {\n let n = e[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {\n if (!this.rules.other.endAngleBracket.test(n)) return;\n let o = Rt(n.slice(0, -1), \"\\\\\");\n if ((n.length - o.length) % 2 === 0) return;\n } else {\n let o = qu(e[2], \"()\");\n if (o === -2) return;\n if (o > -1) {\n let a = (e[0].indexOf(\"!\") === 0 ? 5 : 4) + e[1].length + o;\n e[2] = e[2].substring(0, o), e[0] = e[0].substring(0, a).trim(), e[3] = \"\";\n }\n }\n let r = e[2], i = \"\";\n if (this.options.pedantic) {\n let o = this.rules.other.pedanticHrefTitle.exec(r);\n o && (r = o[1], i = o[3]);\n } else i = e[3] ? e[3].slice(1, -1) : \"\";\n return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), Ii(e, { href: r && r.replace(this.rules.inline.anyPunctuation, \"$1\"), title: i && i.replace(this.rules.inline.anyPunctuation, \"$1\") }, e[0], this.lexer, this.rules);\n }\n }\n reflink(t, e) {\n let n;\n if ((n = this.rules.inline.reflink.exec(t)) || (n = this.rules.inline.nolink.exec(t))) {\n let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, \" \"), i = e[r.toLowerCase()];\n if (!i) {\n let o = n[0].charAt(0);\n return { type: \"text\", raw: o, text: o };\n }\n return Ii(n, i, n[0], this.lexer, this.rules);\n }\n }\n emStrong(t, e, n = \"\") {\n let r = this.rules.inline.emStrongLDelim.exec(t);\n if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = 0, u = r[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n for (u.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = u.exec(e)) != null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o) continue;\n if (a = [...o].length, r[3] || r[4]) {\n l += a;\n continue;\n } else if ((r[5] || r[6]) && i % 3 && !((i + a) % 3)) {\n c += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l + c);\n let d = [...r[0]][0].length, h = t.slice(0, i + r.index + d + a);\n if (Math.min(i, a) % 2) {\n let f = h.slice(1, -1);\n return { type: \"em\", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };\n }\n let p = h.slice(2, -2);\n return { type: \"strong\", raw: h, text: p, tokens: this.lexer.inlineTokens(p) };\n }\n }\n }\n codespan(t) {\n let e = this.rules.inline.code.exec(t);\n if (e) {\n let n = e[2].replace(this.rules.other.newLineCharGlobal, \" \"), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);\n return r && i && (n = n.substring(1, n.length - 1)), { type: \"codespan\", raw: e[0], text: n };\n }\n }\n br(t) {\n let e = this.rules.inline.br.exec(t);\n if (e) return { type: \"br\", raw: e[0] };\n }\n del(t, e, n = \"\") {\n let r = this.rules.inline.delLDelim.exec(t);\n if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = this.rules.inline.delRDelim;\n for (c.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = c.exec(e)) != null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o || (a = [...o].length, a !== i)) continue;\n if (r[3] || r[4]) {\n l += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l);\n let u = [...r[0]][0].length, d = t.slice(0, i + r.index + u + a), h = d.slice(i, -i);\n return { type: \"del\", raw: d, text: h, tokens: this.lexer.inlineTokens(h) };\n }\n }\n }\n autolink(t) {\n let e = this.rules.inline.autolink.exec(t);\n if (e) {\n let n, r;\n return e[2] === \"@\" ? (n = e[1], r = \"mailto:\" + n) : (n = e[1], r = n), { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n url(t) {\n let e;\n if (e = this.rules.inline.url.exec(t)) {\n let n, r;\n if (e[2] === \"@\") n = e[0], r = \"mailto:\" + n;\n else {\n let i;\n do\n i = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? \"\";\n while (i !== e[0]);\n n = e[0], e[1] === \"www.\" ? r = \"http://\" + e[0] : r = e[0];\n }\n return { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n inlineText(t) {\n let e = this.rules.inline.text.exec(t);\n if (e) {\n let n = this.lexer.state.inRawBlock;\n return { type: \"text\", raw: e[0], text: e[0], escaped: n };\n }\n }\n}, be = class sr {\n tokens;\n options;\n state;\n inlineQueue;\n tokenizer;\n constructor(e) {\n this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || it, this.options.tokenizer = this.options.tokenizer || new yn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };\n let n = { other: ae, block: an.normal, inline: Tt.normal };\n this.options.pedantic ? (n.block = an.pedantic, n.inline = Tt.pedantic) : this.options.gfm && (n.block = an.gfm, this.options.breaks ? n.inline = Tt.breaks : n.inline = Tt.gfm), this.tokenizer.rules = n;\n }\n static get rules() {\n return { block: an, inline: Tt };\n }\n static lex(e, n) {\n return new sr(n).lex(e);\n }\n static lexInline(e, n) {\n return new sr(n).inlineTokens(e);\n }\n lex(e) {\n e = e.replace(ae.carriageReturn, `\n`), this.blockTokens(e, this.tokens);\n for (let n = 0; n < this.inlineQueue.length; n++) {\n let r = this.inlineQueue[n];\n this.inlineTokens(r.src, r.tokens);\n }\n return this.inlineQueue = [], this.tokens;\n }\n blockTokens(e, n = [], r = !1) {\n for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(ae.tabCharGlobal, \" \").replace(ae.spaceLine, \"\")); e; ) {\n let i;\n if (this.options.extensions?.block?.some((a) => (i = a.call({ lexer: this }, e, n)) ? (e = e.substring(i.raw.length), n.push(i), !0) : !1)) continue;\n if (i = this.tokenizer.space(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n i.raw.length === 1 && a !== void 0 ? a.raw += `\n` : n.push(i);\n continue;\n }\n if (i = this.tokenizer.code(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n a?.type === \"paragraph\" || a?.type === \"text\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.text, this.inlineQueue.at(-1).src = a.text) : n.push(i);\n continue;\n }\n if (i = this.tokenizer.fences(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.heading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.hr(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.blockquote(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.list(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.html(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.def(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n a?.type === \"paragraph\" || a?.type === \"text\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.raw, this.inlineQueue.at(-1).src = a.text) : this.tokens.links[i.tag] || (this.tokens.links[i.tag] = { href: i.href, title: i.title }, n.push(i));\n continue;\n }\n if (i = this.tokenizer.table(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.lheading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n let o = e;\n if (this.options.extensions?.startBlock) {\n let a = 1 / 0, l = e.slice(1), c;\n this.options.extensions.startBlock.forEach((u) => {\n c = u.call({ lexer: this }, l), typeof c == \"number\" && c >= 0 && (a = Math.min(a, c));\n }), a < 1 / 0 && a >= 0 && (o = e.substring(0, a + 1));\n }\n if (this.state.top && (i = this.tokenizer.paragraph(o))) {\n let a = n.at(-1);\n r && a?.type === \"paragraph\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = a.text) : n.push(i), r = o.length !== e.length, e = e.substring(i.raw.length);\n continue;\n }\n if (i = this.tokenizer.text(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n a?.type === \"text\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = a.text) : n.push(i);\n continue;\n }\n if (e) {\n let a = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(a);\n break;\n } else throw new Error(a);\n }\n }\n return this.state.top = !0, n;\n }\n inline(e, n = []) {\n return this.inlineQueue.push({ src: e, tokens: n }), n;\n }\n inlineTokens(e, n = []) {\n this.tokenizer.lexer = this;\n let r = e, i = null;\n if (this.tokens.links) {\n let c = Object.keys(this.tokens.links);\n if (c.length > 0) for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(r)) != null; ) c.includes(i[0].slice(i[0].lastIndexOf(\"[\") + 1, -1)) && (r = r.slice(0, i.index) + \"[\" + \"a\".repeat(i[0].length - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));\n }\n for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(r)) != null; ) r = r.slice(0, i.index) + \"++\" + r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n let o;\n for (; (i = this.tokenizer.rules.inline.blockSkip.exec(r)) != null; ) o = i[2] ? i[2].length : 0, r = r.slice(0, i.index + o) + \"[\" + \"a\".repeat(i[0].length - o - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n r = this.options.hooks?.emStrongMask?.call({ lexer: this }, r) ?? r;\n let a = !1, l = \"\";\n for (; e; ) {\n a || (l = \"\"), a = !1;\n let c;\n if (this.options.extensions?.inline?.some((d) => (c = d.call({ lexer: this }, e, n)) ? (e = e.substring(c.raw.length), n.push(c), !0) : !1)) continue;\n if (c = this.tokenizer.escape(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.tag(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.link(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.reflink(e, this.tokens.links)) {\n e = e.substring(c.raw.length);\n let d = n.at(-1);\n c.type === \"text\" && d?.type === \"text\" ? (d.raw += c.raw, d.text += c.text) : n.push(c);\n continue;\n }\n if (c = this.tokenizer.emStrong(e, r, l)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.codespan(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.br(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.del(e, r, l)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.autolink(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (!this.state.inLink && (c = this.tokenizer.url(e))) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n let u = e;\n if (this.options.extensions?.startInline) {\n let d = 1 / 0, h = e.slice(1), p;\n this.options.extensions.startInline.forEach((f) => {\n p = f.call({ lexer: this }, h), typeof p == \"number\" && p >= 0 && (d = Math.min(d, p));\n }), d < 1 / 0 && d >= 0 && (u = e.substring(0, d + 1));\n }\n if (c = this.tokenizer.inlineText(u)) {\n e = e.substring(c.raw.length), c.raw.slice(-1) !== \"_\" && (l = c.raw.slice(-1)), a = !0;\n let d = n.at(-1);\n d?.type === \"text\" ? (d.raw += c.raw, d.text += c.text) : n.push(c);\n continue;\n }\n if (e) {\n let d = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(d);\n break;\n } else throw new Error(d);\n }\n }\n return n;\n }\n}, wn = class {\n options;\n parser;\n constructor(t) {\n this.options = t || it;\n }\n space(t) {\n return \"\";\n }\n code({ text: t, lang: e, escaped: n }) {\n let r = (e || \"\").match(ae.notSpaceStart)?.[0], i = t.replace(ae.endingNewline, \"\") + `\n`;\n return r ? '<pre><code class=\"language-' + Ce(r) + '\">' + (n ? i : Ce(i, !0)) + `</code></pre>\n` : \"<pre><code>\" + (n ? i : Ce(i, !0)) + `</code></pre>\n`;\n }\n blockquote({ tokens: t }) {\n return `<blockquote>\n${this.parser.parse(t)}</blockquote>\n`;\n }\n html({ text: t }) {\n return t;\n }\n def(t) {\n return \"\";\n }\n heading({ tokens: t, depth: e }) {\n return `<h${e}>${this.parser.parseInline(t)}</h${e}>\n`;\n }\n hr(t) {\n return `<hr>\n`;\n }\n list(t) {\n let e = t.ordered, n = t.start, r = \"\";\n for (let a = 0; a < t.items.length; a++) {\n let l = t.items[a];\n r += this.listitem(l);\n }\n let i = e ? \"ol\" : \"ul\", o = e && n !== 1 ? ' start=\"' + n + '\"' : \"\";\n return \"<\" + i + o + `>\n` + r + \"</\" + i + `>\n`;\n }\n listitem(t) {\n return `<li>${this.parser.parse(t.tokens)}</li>\n`;\n }\n checkbox({ checked: t }) {\n return \"<input \" + (t ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\"> ';\n }\n paragraph({ tokens: t }) {\n return `<p>${this.parser.parseInline(t)}</p>\n`;\n }\n table(t) {\n let e = \"\", n = \"\";\n for (let i = 0; i < t.header.length; i++) n += this.tablecell(t.header[i]);\n e += this.tablerow({ text: n });\n let r = \"\";\n for (let i = 0; i < t.rows.length; i++) {\n let o = t.rows[i];\n n = \"\";\n for (let a = 0; a < o.length; a++) n += this.tablecell(o[a]);\n r += this.tablerow({ text: n });\n }\n return r && (r = `<tbody>${r}</tbody>`), `<table>\n<thead>\n` + e + `</thead>\n` + r + `</table>\n`;\n }\n tablerow({ text: t }) {\n return `<tr>\n${t}</tr>\n`;\n }\n tablecell(t) {\n let e = this.parser.parseInline(t.tokens), n = t.header ? \"th\" : \"td\";\n return (t.align ? `<${n} align=\"${t.align}\">` : `<${n}>`) + e + `</${n}>\n`;\n }\n strong({ tokens: t }) {\n return `<strong>${this.parser.parseInline(t)}</strong>`;\n }\n em({ tokens: t }) {\n return `<em>${this.parser.parseInline(t)}</em>`;\n }\n codespan({ text: t }) {\n return `<code>${Ce(t, !0)}</code>`;\n }\n br(t) {\n return \"<br>\";\n }\n del({ tokens: t }) {\n return `<del>${this.parser.parseInline(t)}</del>`;\n }\n link({ href: t, title: e, tokens: n }) {\n let r = this.parser.parseInline(n), i = Ri(t);\n if (i === null) return r;\n t = i;\n let o = '<a href=\"' + t + '\"';\n return e && (o += ' title=\"' + Ce(e) + '\"'), o += \">\" + r + \"</a>\", o;\n }\n image({ href: t, title: e, text: n, tokens: r }) {\n r && (n = this.parser.parseInline(r, this.parser.textRenderer));\n let i = Ri(t);\n if (i === null) return Ce(n);\n t = i;\n let o = `<img src=\"${t}\" alt=\"${Ce(n)}\"`;\n return e && (o += ` title=\"${Ce(e)}\"`), o += \">\", o;\n }\n text(t) {\n return \"tokens\" in t && t.tokens ? this.parser.parseInline(t.tokens) : \"escaped\" in t && t.escaped ? t.text : Ce(t.text);\n }\n}, $r = class {\n strong({ text: t }) {\n return t;\n }\n em({ text: t }) {\n return t;\n }\n codespan({ text: t }) {\n return t;\n }\n del({ text: t }) {\n return t;\n }\n html({ text: t }) {\n return t;\n }\n text({ text: t }) {\n return t;\n }\n link({ text: t }) {\n return \"\" + t;\n }\n image({ text: t }) {\n return \"\" + t;\n }\n br() {\n return \"\";\n }\n checkbox({ raw: t }) {\n return t;\n }\n}, ve = class lr {\n options;\n renderer;\n textRenderer;\n constructor(e) {\n this.options = e || it, this.options.renderer = this.options.renderer || new wn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $r();\n }\n static parse(e, n) {\n return new lr(n).parse(e);\n }\n static parseInline(e, n) {\n return new lr(n).parseInline(e);\n }\n parse(e) {\n this.renderer.parser = this;\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n let i = e[r];\n if (this.options.extensions?.renderers?.[i.type]) {\n let a = i, l = this.options.extensions.renderers[a.type].call({ parser: this }, a);\n if (l !== !1 || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"def\", \"paragraph\", \"text\"].includes(a.type)) {\n n += l || \"\";\n continue;\n }\n }\n let o = i;\n switch (o.type) {\n case \"space\": {\n n += this.renderer.space(o);\n break;\n }\n case \"hr\": {\n n += this.renderer.hr(o);\n break;\n }\n case \"heading\": {\n n += this.renderer.heading(o);\n break;\n }\n case \"code\": {\n n += this.renderer.code(o);\n break;\n }\n case \"table\": {\n n += this.renderer.table(o);\n break;\n }\n case \"blockquote\": {\n n += this.renderer.blockquote(o);\n break;\n }\n case \"list\": {\n n += this.renderer.list(o);\n break;\n }\n case \"checkbox\": {\n n += this.renderer.checkbox(o);\n break;\n }\n case \"html\": {\n n += this.renderer.html(o);\n break;\n }\n case \"def\": {\n n += this.renderer.def(o);\n break;\n }\n case \"paragraph\": {\n n += this.renderer.paragraph(o);\n break;\n }\n case \"text\": {\n n += this.renderer.text(o);\n break;\n }\n default: {\n let a = 'Token with \"' + o.type + '\" type was not found.';\n if (this.options.silent) return console.error(a), \"\";\n throw new Error(a);\n }\n }\n }\n return n;\n }\n parseInline(e, n = this.renderer) {\n this.renderer.parser = this;\n let r = \"\";\n for (let i = 0; i < e.length; i++) {\n let o = e[i];\n if (this.options.extensions?.renderers?.[o.type]) {\n let l = this.options.extensions.renderers[o.type].call({ parser: this }, o);\n if (l !== !1 || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(o.type)) {\n r += l || \"\";\n continue;\n }\n }\n let a = o;\n switch (a.type) {\n case \"escape\": {\n r += n.text(a);\n break;\n }\n case \"html\": {\n r += n.html(a);\n break;\n }\n case \"link\": {\n r += n.link(a);\n break;\n }\n case \"image\": {\n r += n.image(a);\n break;\n }\n case \"checkbox\": {\n r += n.checkbox(a);\n break;\n }\n case \"strong\": {\n r += n.strong(a);\n break;\n }\n case \"em\": {\n r += n.em(a);\n break;\n }\n case \"codespan\": {\n r += n.codespan(a);\n break;\n }\n case \"br\": {\n r += n.br(a);\n break;\n }\n case \"del\": {\n r += n.del(a);\n break;\n }\n case \"text\": {\n r += n.text(a);\n break;\n }\n default: {\n let l = 'Token with \"' + a.type + '\" type was not found.';\n if (this.options.silent) return console.error(l), \"\";\n throw new Error(l);\n }\n }\n }\n return r;\n }\n}, $t = class {\n options;\n block;\n constructor(t) {\n this.options = t || it;\n }\n static passThroughHooks = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\", \"emStrongMask\"]);\n static passThroughHooksRespectAsync = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n preprocess(t) {\n return t;\n }\n postprocess(t) {\n return t;\n }\n processAllTokens(t) {\n return t;\n }\n emStrongMask(t) {\n return t;\n }\n provideLexer() {\n return this.block ? be.lex : be.lexInline;\n }\n provideParser() {\n return this.block ? ve.parse : ve.parseInline;\n }\n}, Lu = class {\n defaults = jr();\n options = this.setOptions;\n parse = this.parseMarkdown(!0);\n parseInline = this.parseMarkdown(!1);\n Parser = ve;\n Renderer = wn;\n TextRenderer = $r;\n Lexer = be;\n Tokenizer = yn;\n Hooks = $t;\n constructor(...t) {\n this.use(...t);\n }\n walkTokens(t, e) {\n let n = [];\n for (let r of t) switch (n = n.concat(e.call(this, r)), r.type) {\n case \"table\": {\n let i = r;\n for (let o of i.header) n = n.concat(this.walkTokens(o.tokens, e));\n for (let o of i.rows) for (let a of o) n = n.concat(this.walkTokens(a.tokens, e));\n break;\n }\n case \"list\": {\n let i = r;\n n = n.concat(this.walkTokens(i.items, e));\n break;\n }\n default: {\n let i = r;\n this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((o) => {\n let a = i[o].flat(1 / 0);\n n = n.concat(this.walkTokens(a, e));\n }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, e)));\n }\n }\n return n;\n }\n use(...t) {\n let e = this.defaults.extensions || { renderers: {}, childTokens: {} };\n return t.forEach((n) => {\n let r = { ...n };\n if (r.async = this.defaults.async || r.async || !1, n.extensions && (n.extensions.forEach((i) => {\n if (!i.name) throw new Error(\"extension name required\");\n if (\"renderer\" in i) {\n let o = e.renderers[i.name];\n o ? e.renderers[i.name] = function(...a) {\n let l = i.renderer.apply(this, a);\n return l === !1 && (l = o.apply(this, a)), l;\n } : e.renderers[i.name] = i.renderer;\n }\n if (\"tokenizer\" in i) {\n if (!i.level || i.level !== \"block\" && i.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n let o = e[i.level];\n o ? o.unshift(i.tokenizer) : e[i.level] = [i.tokenizer], i.start && (i.level === \"block\" ? e.startBlock ? e.startBlock.push(i.start) : e.startBlock = [i.start] : i.level === \"inline\" && (e.startInline ? e.startInline.push(i.start) : e.startInline = [i.start]));\n }\n \"childTokens\" in i && i.childTokens && (e.childTokens[i.name] = i.childTokens);\n }), r.extensions = e), n.renderer) {\n let i = this.defaults.renderer || new wn(this.defaults);\n for (let o in n.renderer) {\n if (!(o in i)) throw new Error(`renderer '${o}' does not exist`);\n if ([\"options\", \"parser\"].includes(o)) continue;\n let a = o, l = n.renderer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d || \"\";\n };\n }\n r.renderer = i;\n }\n if (n.tokenizer) {\n let i = this.defaults.tokenizer || new yn(this.defaults);\n for (let o in n.tokenizer) {\n if (!(o in i)) throw new Error(`tokenizer '${o}' does not exist`);\n if ([\"options\", \"rules\", \"lexer\"].includes(o)) continue;\n let a = o, l = n.tokenizer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.tokenizer = i;\n }\n if (n.hooks) {\n let i = this.defaults.hooks || new $t();\n for (let o in n.hooks) {\n if (!(o in i)) throw new Error(`hook '${o}' does not exist`);\n if ([\"options\", \"block\"].includes(o)) continue;\n let a = o, l = n.hooks[a], c = i[a];\n $t.passThroughHooks.has(o) ? i[a] = (u) => {\n if (this.defaults.async && $t.passThroughHooksRespectAsync.has(o)) return (async () => {\n let h = await l.call(i, u);\n return c.call(i, h);\n })();\n let d = l.call(i, u);\n return c.call(i, d);\n } : i[a] = (...u) => {\n if (this.defaults.async) return (async () => {\n let h = await l.apply(i, u);\n return h === !1 && (h = await c.apply(i, u)), h;\n })();\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.hooks = i;\n }\n if (n.walkTokens) {\n let i = this.defaults.walkTokens, o = n.walkTokens;\n r.walkTokens = function(a) {\n let l = [];\n return l.push(o.call(this, a)), i && (l = l.concat(i.call(this, a))), l;\n };\n }\n this.defaults = { ...this.defaults, ...r };\n }), this;\n }\n setOptions(t) {\n return this.defaults = { ...this.defaults, ...t }, this;\n }\n lexer(t, e) {\n return be.lex(t, e ?? this.defaults);\n }\n parser(t, e) {\n return ve.parse(t, e ?? this.defaults);\n }\n parseMarkdown(t) {\n return (e, n) => {\n let r = { ...n }, i = { ...this.defaults, ...r }, o = this.onError(!!i.silent, !!i.async);\n if (this.defaults.async === !0 && r.async === !1) return o(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n if (typeof e > \"u\" || e === null) return o(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof e != \"string\") return o(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(e) + \", string expected\"));\n if (i.hooks && (i.hooks.options = i, i.hooks.block = t), i.async) return (async () => {\n let a = i.hooks ? await i.hooks.preprocess(e) : e, l = await (i.hooks ? await i.hooks.provideLexer() : t ? be.lex : be.lexInline)(a, i), c = i.hooks ? await i.hooks.processAllTokens(l) : l;\n i.walkTokens && await Promise.all(this.walkTokens(c, i.walkTokens));\n let u = await (i.hooks ? await i.hooks.provideParser() : t ? ve.parse : ve.parseInline)(c, i);\n return i.hooks ? await i.hooks.postprocess(u) : u;\n })().catch(o);\n try {\n i.hooks && (e = i.hooks.preprocess(e));\n let a = (i.hooks ? i.hooks.provideLexer() : t ? be.lex : be.lexInline)(e, i);\n i.hooks && (a = i.hooks.processAllTokens(a)), i.walkTokens && this.walkTokens(a, i.walkTokens);\n let l = (i.hooks ? i.hooks.provideParser() : t ? ve.parse : ve.parseInline)(a, i);\n return i.hooks && (l = i.hooks.postprocess(l)), l;\n } catch (a) {\n return o(a);\n }\n };\n }\n onError(t, e) {\n return (n) => {\n if (n.message += `\nPlease report this to https://github.com/markedjs/marked.`, t) {\n let r = \"<p>An error occurred:</p><pre>\" + Ce(n.message + \"\", !0) + \"</pre>\";\n return e ? Promise.resolve(r) : r;\n }\n if (e) return Promise.reject(n);\n throw n;\n };\n }\n}, nt = new Lu();\nfunction $(t, e) {\n return nt.parse(t, e);\n}\n$.options = $.setOptions = function(t) {\n return nt.setOptions(t), $.defaults = nt.defaults, ta($.defaults), $;\n};\n$.getDefaults = jr;\n$.defaults = it;\n$.use = function(...t) {\n return nt.use(...t), $.defaults = nt.defaults, ta($.defaults), $;\n};\n$.walkTokens = function(t, e) {\n return nt.walkTokens(t, e);\n};\n$.parseInline = nt.parseInline;\n$.Parser = ve;\n$.parser = ve.parse;\n$.Renderer = wn;\n$.TextRenderer = $r;\n$.Lexer = be;\n$.lexer = be.lex;\n$.Tokenizer = yn;\n$.Hooks = $t;\n$.parse = $;\n$.options;\n$.setOptions;\n$.use;\n$.walkTokens;\n$.parseInline;\nve.parse;\nbe.lex;\n$.setOptions({\n breaks: !0,\n gfm: !0\n});\nfunction Ou({ text: t }) {\n const e = K(() => {\n if (!t)\n return \"\";\n const n = $.parse(t);\n return typeof n == \"string\" ? n : \"\";\n }, [t]);\n return /* @__PURE__ */ s(\"div\", { class: \"jex-md\", dangerouslySetInnerHTML: { __html: e } });\n}\nconst vt = F(\"\");\nfunction zu(t) {\n if (!t)\n return;\n const e = t.trim().split(/\\s+/)[0];\n if (!e)\n return;\n const n = `@${e} `, r = vt.value;\n r.includes(n) || r.includes(`@${e}`) || (vt.value = r.trimStart() ? `${n}${r.trimStart()}` : n);\n}\nconst Vt = F(null), Ei = F(Date.now()), Oe = F([]), Bu = 4, Du = 8 * 1024 * 1024;\nfunction Fu() {\n return typeof crypto < \"u\" && typeof crypto.randomUUID == \"function\" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;\n}\nfunction Uu(t) {\n const e = Array.from(t).filter((i) => i.type.startsWith(\"image/\") && i.size <= Du);\n if (e.length === 0)\n return;\n const n = Bu - Oe.value.length;\n if (n <= 0)\n return;\n const r = e.slice(0, n).map((i) => ({\n // Falls back to a non-crypto id when host page is HTTP — see genAttachmentId.\n id: Fu(),\n file: i,\n previewUrl: URL.createObjectURL(i)\n }));\n Oe.value = [...Oe.value, ...r];\n}\nfunction Vu(t) {\n const e = Oe.value.find((n) => n.id === t);\n e && URL.revokeObjectURL(e.previewUrl), Oe.value = Oe.value.filter((n) => n.id !== t);\n}\nfunction Qu() {\n for (const t of Oe.value)\n URL.revokeObjectURL(t.previewUrl);\n Oe.value = [];\n}\nfunction da(t, e) {\n const n = {\n get(r, i) {\n if (typeof i == \"string\") {\n const o = [...e, i];\n return da(t, o);\n } else if (i === To) {\n if (e.length < 1) {\n const o = [t, ...e].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`${t}.childComponent.functionName\\`. Found: \\`${o}\\``\n );\n }\n return \"_reference/childComponent/\" + e.join(\"/\");\n } else\n return;\n }\n };\n return new Proxy({}, n);\n}\nconst Hu = () => da(\"components\", []), pe = tl;\nHu();\nfunction Wu({ sessionId: t, visitorId: e, ensureSession: n }) {\n const r = Gt(pe.functions.chat.public.conversations.send);\n return async function(o) {\n const a = t && e ? { sessionId: t, visitorId: e } : await n();\n if (a) {\n vt.value = \"\", Qu();\n try {\n const l = await r({\n sessionId: a.sessionId,\n visitorId: a.visitorId,\n content: o\n });\n l.ok ? kr(a.visitorId) : l.reason === \"rate_limited\" && (Vt.value = Date.now() + l.retryAfterMs);\n } catch (l) {\n console.error(\"[jexity] Failed to send message:\", l);\n }\n }\n };\n}\nfunction Ku() {\n const t = Vt.value, e = Ei.value;\n E(() => {\n if (t === null)\n return;\n const i = setInterval(() => {\n Ei.value = Date.now();\n }, 1e3), o = setTimeout(() => {\n Vt.value = null;\n }, Math.max(0, t - Date.now()));\n return () => {\n clearInterval(i), clearTimeout(o);\n };\n }, [t]);\n const n = t !== null, r = n ? Math.max(0, Math.ceil((t - e) / 1e3)) : 0;\n return { isActive: n, remainingSeconds: r };\n}\nfunction Gu() {\n const t = _(), { isActive: e, remainingSeconds: n } = Ku();\n return e ? /* @__PURE__ */ s(\"div\", { class: \"jex-rate-limit-notice\", role: \"status\", \"aria-live\": \"polite\", children: t.errorRateLimited.replace(\"{seconds}\", String(n)) }) : null;\n}\nconst ht = F(null);\nfunction Ju() {\n const t = _(), e = ht.value;\n if (e === null)\n return null;\n const n = e === \"no-token\" ? t.errorSessionNoToken : e === \"unauthorized\" ? t.errorSessionUnauthorized : e === \"network\" ? t.errorNetwork : t.somethingWentWrong;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-session-error-notice\", role: \"alert\", \"aria-live\": \"assertive\", children: n });\n}\nfunction Yu({ size: t = 18 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 11 13\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 15 22 11 13 2 9l20-7z\" })\n ] });\n}\nconst $i = 132;\nfunction Zu({ onSend: t }) {\n const e = Ee(null), n = Ee(null);\n E(() => {\n const l = e.current;\n if (!l)\n return;\n l.style.height = \"0\";\n const c = Math.min(l.scrollHeight, $i);\n l.style.height = `${c}px`, l.style.overflowY = l.scrollHeight > $i ? \"auto\" : \"hidden\";\n }, [vt.value]);\n function r(l) {\n l.key === \"Enter\" && !l.shiftKey && (l.preventDefault(), t());\n }\n function i() {\n n.current?.click();\n }\n function o(l) {\n const c = l.currentTarget;\n c.files && c.files.length > 0 && Uu(c.files), c.value = \"\";\n }\n function a(l) {\n const c = l.target;\n (c === l.currentTarget || !c.closest(\"button, textarea, img\")) && e.current?.focus();\n }\n return { textareaRef: e, fileInputRef: n, onKeyDown: r, onAttachClick: i, onFilesPicked: o, onCardClick: a };\n}\nfunction Xu({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus: i }) {\n const o = _(), a = vt, l = Oe, { textareaRef: c, fileInputRef: u, onKeyDown: d, onAttachClick: h, onFilesPicked: p, onCardClick: f } = Zu({ onSend: r }), m = a.value.trim().length > 0, v = l.value.length > 0, x = (m || v) && !e;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-composer-card\", onClick: f, children: [\n v && /* @__PURE__ */ s(\"div\", { class: \"jex-composer-attachments\", role: \"list\", children: l.value.map((g) => /* @__PURE__ */ s(\"div\", { class: \"jex-attachment-chip\", role: \"listitem\", children: [\n /* @__PURE__ */ s(\"img\", { src: g.previewUrl, alt: g.file.name, class: \"jex-attachment-thumb\" }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attachment-remove\",\n \"aria-label\": o.removeAttachmentAriaLabel,\n onClick: () => {\n Vu(g.id);\n },\n children: /* @__PURE__ */ s(\"svg\", { width: \"10\", height: \"10\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2.5\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"line\", { x1: \"18\", y1: \"6\", x2: \"6\", y2: \"18\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"6\", y1: \"6\", x2: \"18\", y2: \"18\" })\n ] })\n }\n )\n ] }, g.id)) }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n ref: c,\n class: \"jex-composer-textarea\",\n \"aria-label\": o.inputPlaceholder,\n placeholder: t ? o.aiThinking : o.inputPlaceholder,\n value: a.value,\n rows: 1,\n onInput: (g) => {\n a.value = g.currentTarget.value;\n },\n onKeyDown: d,\n onFocus: i,\n disabled: n\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions-left\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n ref: u,\n class: \"jex-visually-hidden\",\n type: \"file\",\n accept: \"image/*\",\n multiple: !0,\n onChange: p,\n tabIndex: -1,\n \"aria-hidden\": \"true\"\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attach-btn\",\n \"aria-label\": o.attachComingSoon,\n title: o.attachComingSoon,\n disabled: !0,\n onClick: h,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" }) })\n }\n )\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-send-btn${x ? \" jex-send-btn-active\" : \"\"}`,\n type: \"button\",\n onClick: r,\n \"aria-label\": o.sendAriaLabel,\n disabled: e || !m && !v,\n children: /* @__PURE__ */ s(Yu, { size: 16 })\n }\n )\n ] })\n ] });\n}\nfunction Pi({ variant: t, isOpen: e = !1, onAcknowledge: n }) {\n const r = _(), i = Xt.value;\n return t === \"explicit\" ? e ? /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit\", role: \"dialog\", \"aria-label\": r.privacyExplicitTitle, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-content\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-copy\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-title\", children: r.privacyExplicitTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-explicit-body\", children: [\n r.privacyExplicitBodyPre,\n \" \",\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-notice-link\",\n children: r.privacyPolicyLinkText\n }\n ),\n \".\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-privacy-explicit-button\",\n onClick: n,\n children: r.privacyExplicitButton\n }\n )\n ] }) : null : /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-chip\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-privacy-chip-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"12\", height: \"12\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-chip-link\",\n children: r.privacyChipText\n }\n )\n ] });\n}\nfunction ed({\n sessionId: t,\n visitorId: e,\n isLoading: n,\n isStreaming: r,\n sessionStatus: i,\n ensureSession: o,\n onStartFresh: a\n}) {\n const l = _(), c = vt, u = Fo.value, [d, h] = T({ open: !1, acknowledged: !1 }), p = Wu({ sessionId: t, visitorId: e, ensureSession: o }), f = Vt.value !== null && Vt.value > Date.now(), m = n || r || f, v = u === \"explicit\" && !d.acknowledged, x = u === \"explicit\" && d.open;\n function g() {\n v && h((N) => ({ ...N, open: !0 }));\n }\n function b() {\n h({ open: !1, acknowledged: !0 });\n }\n if (E(() => {\n h({ open: !1, acknowledged: !1 });\n }, [t]), i === \"resolved\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input-resolved\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-resolved-notice\", children: l.sessionResolved }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-resolved-new-btn\",\n type: \"button\",\n onClick: () => {\n a();\n },\n children: l.startNewConversation\n }\n )\n ] });\n async function P() {\n const N = c.value.trim();\n if (!(!N || m)) {\n if (v) {\n h((M) => ({ ...M, open: !0 }));\n return;\n }\n await p(N);\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input\", children: [\n /* @__PURE__ */ s(Gu, {}),\n /* @__PURE__ */ s(Ju, {}),\n u === \"chip\" && /* @__PURE__ */ s(Pi, { variant: \"chip\" }),\n /* @__PURE__ */ s(\"div\", { class: `jex-chat-input-composer-gate${x ? \" jex-chat-input-composer-gate-open\" : \"\"}`, children: [\n /* @__PURE__ */ s(\n Xu,\n {\n isStreaming: r,\n disabled: m,\n inputDisabled: n || r || x,\n onSend: P,\n onFocus: g\n }\n ),\n u === \"explicit\" && /* @__PURE__ */ s(\n Pi,\n {\n variant: \"explicit\",\n isOpen: d.open,\n onAcknowledge: b\n }\n )\n ] })\n ] });\n}\nfunction td(t) {\n const e = t.trim().split(/\\s+/).filter(Boolean);\n return e.length === 0 ? \"?\" : e.map((n) => n[0]).join(\"\").slice(0, 2).toUpperCase();\n}\nfunction ut({ text: t, streaming: e, error: n, authorId: r, authorName: i, authorImage: o, botAvatarUrl: a }) {\n const l = _(), c = !!r, [u, d] = T(!1), h = q(() => d(!0), []), p = l.replyTo.replace(\"{name}\", i ?? \"\"), f = [\n \"jex-message bot\",\n n ? \"jex-message-error\" : \"\"\n ].filter(Boolean).join(\" \");\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: [\n /* @__PURE__ */ s(\"div\", { class: `jex-avatar ${c ? \"jex-avatar-agent\" : \"jex-avatar-bot\"}`, children: c && o && !u ? /* @__PURE__ */ s(\"img\", { src: o, alt: i ?? \"\", class: \"jex-avatar-img\", onError: h }) : c ? /* @__PURE__ */ s(\"span\", { class: \"jex-avatar-initials\", children: td(i ?? \"\") }) : a && !u ? /* @__PURE__ */ s(\"img\", { src: a, alt: \"\", class: \"jex-avatar-img\", onError: h }) : /* @__PURE__ */ s(_r, { size: 14 }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-message-content\", children: [\n /* @__PURE__ */ s(\"div\", { class: f, children: [\n /* @__PURE__ */ s(Ou, { text: t }),\n e && /* @__PURE__ */ s(\"span\", { class: \"jex-streaming-cursor\" })\n ] }),\n c && i && /* @__PURE__ */ s(\"div\", { class: \"jex-message-author-row\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-message-author\", children: i }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-reply-tag-btn\",\n \"aria-label\": p,\n title: p,\n onClick: () => {\n zu(i);\n },\n children: /* @__PURE__ */ s(Jc, { size: 12 })\n }\n )\n ] })\n ] })\n ] });\n}\nfunction nd({ text: t }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message user\", children: t });\n}\nfunction ha() {\n return Gt(pe.functions.chat.public.helpdesk.submitEscalation);\n}\nfunction rd({ message: t, sessionId: e, visitorId: n }) {\n const r = _();\n return t.formData ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.escalationSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: [\n t.formData.visitorName,\n \" · \",\n t.formData.visitorEmail\n ] })\n ] })\n ] }) : /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: /* @__PURE__ */ s(\n id,\n {\n messageId: t._id,\n sessionId: e,\n visitorId: n\n }\n ) });\n}\nfunction id({ messageId: t, sessionId: e, visitorId: n }) {\n const r = _(), [i, o] = T(\"\"), [a, l] = T(\"\"), [c, u] = T(!1), d = Xt.value, h = /^https?:\\/\\//i.test(d) ? d : Zt, p = ha();\n async function f(m) {\n if (m.preventDefault(), !c) {\n u(!0);\n try {\n await p({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: i.trim(),\n visitorEmail: a.trim(),\n locale: Pe.value\n });\n } catch (v) {\n console.error(\"[FormMessage] Submit failed:\", v), u(!1);\n }\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (m) => {\n f(m);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: i,\n required: !0,\n disabled: c,\n onInput: (m) => {\n o(m.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: a,\n required: !0,\n disabled: c,\n onInput: (m) => {\n l(m.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", disabled: c, children: c ? r.escalationSubmitting : r.escalationSubmit })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", children: [\n r.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: h, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r.escalationPrivacyLinkText }),\n \".\"\n ] })\n ] });\n}\nfunction od() {\n return Gt(pe.functions.magicline.public.submitForm);\n}\nfunction ad() {\n return Jt(pe.functions.magicline.actions.getTrialConfig);\n}\nfunction sd() {\n return Jt(pe.functions.magicline.actions.listTrialSlots);\n}\nfunction ld() {\n return Jt(pe.functions.magicline.actions.getRateBundles);\n}\nfunction pa() {\n return Jt(pe.functions.magicline.actions.getContractPreview);\n}\nfunction cd() {\n return Jt(pe.functions.magicline.actions.submitContractCreation);\n}\nconst Pr = { en: wr, de: Ho }, ud = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\nfunction fa(t) {\n return ud.test(t.trim());\n}\nfunction dd(t, e = /* @__PURE__ */ new Date()) {\n const n = t.trim();\n if (n === \"\")\n return null;\n const r = n.split(\"-\");\n if (r.length !== 3)\n return null;\n const i = Number(r[0]), o = Number(r[1]), a = Number(r[2]);\n if (!Number.isInteger(i) || !Number.isInteger(o) || !Number.isInteger(a) || o < 1 || o > 12 || a < 1 || a > 31)\n return null;\n let l = e.getFullYear() - i;\n const c = e.getMonth() + 1 - o;\n return (c < 0 || c === 0 && e.getDate() < a) && (l -= 1), l;\n}\nfunction ma(t = /* @__PURE__ */ new Date()) {\n const e = t.getFullYear(), n = String(t.getMonth() + 1).padStart(2, \"0\"), r = String(t.getDate()).padStart(2, \"0\");\n return `${e}-${n}-${r}`;\n}\nfunction ga() {\n const t = Xt.value;\n return /^https?:\\/\\//i.test(t) ? t : Zt;\n}\nconst hd = {\n DE: 22,\n AT: 20,\n CH: 21,\n GB: 22,\n FR: 27,\n NL: 18,\n BE: 16,\n ES: 24,\n IT: 27,\n PL: 28,\n SE: 24,\n NO: 15,\n DK: 18,\n FI: 18,\n PT: 25\n}, pd = 15, fd = 34;\nfunction xa(t) {\n return t.replace(/\\s+/g, \"\").toUpperCase();\n}\nfunction md(t) {\n const e = xa(t), n = e.slice(0, 2), r = hd[n];\n if (r !== void 0) {\n if (e.length !== r)\n return !1;\n } else if (e.length < pd || e.length > fd)\n return !1;\n const i = e.slice(4) + e.slice(0, 4);\n let o = \"\";\n for (const l of i) {\n const c = l.charCodeAt(0);\n if (c >= 65 && c <= 90)\n o += String(c - 55);\n else if (c >= 48 && c <= 57)\n o += l;\n else\n return !1;\n }\n let a = 0;\n for (let l = 0; l < o.length; l += 9) {\n const c = String(a) + o.slice(l, l + 9);\n a = Number(c) % 97;\n }\n return a === 1;\n}\nfunction gd(t) {\n const e = xa(t);\n if (e.length <= 8)\n return e;\n const n = e.slice(0, 4), r = e.slice(-4);\n return (n + \"•\".repeat(e.length - 8) + r).replace(/(.{4})/g, \"$1 \").trim();\n}\nfunction ye(t, e, n) {\n const r = n === \"de\" ? \"de-DE\" : \"en-GB\";\n try {\n return new Intl.NumberFormat(r, {\n style: \"currency\",\n currency: e\n }).format(t);\n } catch {\n return `${t.toFixed(2)} ${e}`;\n }\n}\nfunction kn(t, e, n) {\n const r = t !== 1, o = {\n DAY: { en: [\"day\", \"days\"], de: [\"Tag\", \"Tage\"] },\n WEEK: { en: [\"week\", \"weeks\"], de: [\"Woche\", \"Wochen\"] },\n MONTH: { en: [\"month\", \"months\"], de: [\"Monat\", \"Monate\"] },\n YEAR: { en: [\"year\", \"years\"], de: [\"Jahr\", \"Jahre\"] }\n }[e.toUpperCase()];\n if (!o)\n return `${t} ${e.toLowerCase()}`;\n const [a, l] = o[n];\n return `${t} ${r ? l : a}`;\n}\nfunction xd(t, e) {\n const n = t.trim();\n if (n === \"\")\n return \"—\";\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = new Date(n);\n return Number.isNaN(i.getTime()) ? t : i.toLocaleDateString(r, { day: \"2-digit\", month: \"long\", year: \"numeric\" });\n}\nfunction qr(t, e, n) {\n const r = Pr[n], i = e.toUpperCase();\n if (t === 1)\n return {\n DAY: r.magiclineFreqPerDay,\n WEEK: r.magiclineFreqPerWeek,\n MONTH: r.magiclineFreqPerMonth,\n YEAR: r.magiclineFreqPerYear\n }[i] ?? e.toLowerCase();\n const a = {\n DAY: r.magiclineFreqEveryDays,\n WEEK: r.magiclineFreqEveryWeeks,\n MONTH: r.magiclineFreqEveryMonths,\n YEAR: r.magiclineFreqEveryYears\n }[i];\n return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace(\"{n}\", String(t));\n}\nfunction bd(t, e, n, r, i) {\n const o = Pr[i], a = ye(t, e, i);\n switch (n) {\n case \"TERM_BASED\":\n return `${a} ${o.magiclineModulePerTerm}`;\n case \"RECURRING\":\n return `${a} ${qr(1, r ?? \"MONTH\", i)}`;\n case \"NON_RECURRING\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"MONTH_DAY\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"FREE\":\n return o.magiclineModuleIncluded;\n default:\n return a;\n }\n}\nfunction vd(t, e, n, r) {\n return e === \"PERCENTAGE\" ? `-${t}%` : `-${ye(t, n, r)}`;\n}\nconst yd = {\n startpaket: \"magiclineFeeStarterPackage\",\n \"starter package\": \"magiclineFeeStarterPackage\",\n trainerpauschale: \"magiclineFeeTrainerFee\"\n};\nfunction ba(t, e) {\n const n = t.trim().toLowerCase(), r = yd[n];\n return r !== void 0 ? e[r] : t;\n}\nfunction wd(t, e, n) {\n const r = Pr[n];\n if (t === \"NONE\")\n return r.magiclineRenewalNone;\n if (t === \"TERM_EXTENSION\" && e !== null) {\n const i = kn(e.value, e.unit, n);\n return r.magiclineRenewalTerm.replace(\"{n} {unit}\", i);\n }\n return \"\";\n}\nconst va = [\"MALE\", \"FEMALE\", \"UNISEX\"], kd = [\n { code: \"DE\", label: \"Germany / Deutschland\" },\n { code: \"AT\", label: \"Austria / Österreich\" },\n { code: \"CH\", label: \"Switzerland / Schweiz\" },\n { code: \"LI\", label: \"Liechtenstein\" },\n { code: \"LU\", label: \"Luxembourg / Luxemburg\" },\n { code: \"NL\", label: \"Netherlands / Niederlande\" },\n { code: \"BE\", label: \"Belgium / Belgien\" },\n { code: \"FR\", label: \"France / Frankreich\" },\n { code: \"IT\", label: \"Italy / Italien\" },\n { code: \"ES\", label: \"Spain / Spanien\" },\n { code: \"PL\", label: \"Poland / Polen\" },\n { code: \"CZ\", label: \"Czechia / Tschechien\" },\n { code: \"DK\", label: \"Denmark / Dänemark\" },\n { code: \"GB\", label: \"United Kingdom\" },\n { code: \"US\", label: \"United States\" }\n];\nfunction _d(t, e) {\n const n = [];\n return e && n.push(\"trainer\"), n.push(\"slot\"), n.push(\"personal\"), (t.address.visible || t.zip.visible) && n.push(\"address\"), n.push(\"confirm\"), n;\n}\nconst jd = {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n phone: \"\",\n birthDate: \"\",\n gender: \"\",\n street: \"\",\n houseNumber: \"\",\n zip: \"\",\n city: \"\",\n country: \"\",\n note: \"\",\n slotId: \"\",\n consent: !1,\n trainerRequired: !0\n};\nfunction Sd(t, e) {\n switch (e.type) {\n case \"set\":\n return { ...t, [e.key]: e.value };\n case \"setTrainer\":\n return { ...t, trainerRequired: e.trainerRequired, slotId: \"\" };\n case \"clearSlotIfAbsent\":\n return t.slotId !== \"\" && !e.available.includes(t.slotId) ? { ...t, slotId: \"\" } : t;\n default:\n return t;\n }\n}\nfunction Cd({\n sessionId: t,\n visitorId: e\n}) {\n const n = ad(), r = sd(), [i, o] = he(Sd, jd), [a, l] = he(\n (g, b) => b,\n { phase: \"loading\" }\n ), [c, u] = he(\n (g, b) => b,\n { phase: \"loading\" }\n ), [d, h] = he((g) => g + 1, 0), p = q((g, b) => {\n o({ type: \"set\", key: g, value: b });\n }, []), f = q((g) => {\n o({ type: \"setTrainer\", trainerRequired: g }), h();\n }, []), m = q(() => {\n h();\n }, []);\n E(() => {\n let g = !1;\n return (async () => {\n try {\n const b = await n({ sessionId: t, visitorId: e });\n if (g)\n return;\n b.status === \"ok\" ? l({\n phase: \"ready\",\n config: {\n plan: b.plan,\n minimumAge: b.minimumAge,\n bookingWithoutTrainerAllowed: b.bookingWithoutTrainerAllowed,\n studioZoneId: b.studioZoneId\n }\n }) : l({\n phase: \"error\",\n code: b.status,\n backendMessage: b.message\n });\n } catch {\n g || l({ phase: \"error\", code: \"unavailable\", backendMessage: \"\" });\n }\n })(), () => {\n g = !0;\n };\n }, [n, t, e]);\n const v = a.phase === \"ready\", { trainerRequired: x } = i;\n return E(() => {\n if (!v)\n return;\n let g = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const b = await r({ sessionId: t, visitorId: e, trainerRequired: x });\n if (g)\n return;\n b.status === \"ok\" ? b.slots.length > 0 ? (u({ phase: \"ready\", slots: b.slots }), o({\n type: \"clearSlotIfAbsent\",\n available: b.slots.map((P) => P.startDateTime)\n })) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n g || u({ phase: \"error\" });\n }\n })(), () => {\n g = !0;\n };\n }, [v, r, t, e, x, d]), {\n fields: i,\n setField: p,\n setTrainerRequired: f,\n configState: a,\n slotsState: c,\n refetchSlots: m\n };\n}\nfunction Td({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r = !1,\n retryPending: i = !1\n}) {\n const o = _(), a = od(), { fields: l, setField: c, setTrainerRequired: u, configState: d, slotsState: h, refetchSlots: p } = Cd({ sessionId: e, visitorId: n });\n return d.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: o.magiclineConfigLoading })\n ] }) : d.phase === \"error\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", children: Nd(d.code, d.backendMessage, o) })\n ] }) : /* @__PURE__ */ s(\n Rd,\n {\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: d.config,\n fields: l,\n setField: c,\n setTrainerRequired: u,\n slotsState: h,\n refetchSlots: p,\n submitForm: a\n }\n );\n}\nfunction Rd({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: o,\n fields: a,\n setField: l,\n setTrainerRequired: c,\n slotsState: u,\n refetchSlots: d,\n submitForm: h\n}) {\n const p = _(), { plan: f, minimumAge: m, bookingWithoutTrainerAllowed: v, studioZoneId: x } = o, g = K(\n () => _d(f, v),\n [f, v]\n ), b = r ? Math.max(g.indexOf(\"slot\"), 0) : 0, [P, N] = T(b), [M, L] = T({}), [J, ne] = T(!1), [re, ie] = T(null), V = K(() => ga(), []), Y = Math.min(P, g.length - 1), y = g[Y], Q = Y === g.length - 1, jt = Y === 0;\n function Ue(U) {\n const S = {};\n if (U === \"slot\")\n return a.slotId === \"\" && (S.slotId = p.magiclineSlotRequiredError), S;\n if (U === \"personal\") {\n if (a.firstName.trim() === \"\" && (S.firstName = p.magiclineRequiredError), a.lastName.trim() === \"\" && (S.lastName = p.magiclineRequiredError), f.email.visible && f.email.required && a.email.trim() === \"\" && (S.email = p.magiclineRequiredError), a.email.trim() !== \"\" && !fa(a.email) && (S.email = p.magiclineEmailError), f.phone.visible && f.phone.required && a.phone.trim() === \"\" && (S.phone = p.magiclineRequiredError), f.gender.visible && f.gender.required && a.gender === \"\" && (S.gender = p.magiclineRequiredError), f.dateOfBirth.visible && (f.dateOfBirth.required && a.birthDate.trim() === \"\" && (S.birthDate = p.magiclineRequiredError), a.birthDate.trim() !== \"\")) {\n const fe = dd(a.birthDate);\n fe !== null && fe < 0 ? S.birthDate = p.magiclineRequiredError : m > 0 && fe !== null && fe < m && (S.birthDate = p.magiclineMinAgeError.replace(\"{age}\", String(m)));\n }\n return S;\n }\n return U === \"address\" ? (f.address.visible && f.address.required && (a.street.trim() === \"\" && (S.street = p.magiclineRequiredError), a.houseNumber.trim() === \"\" && (S.houseNumber = p.magiclineRequiredError), a.city.trim() === \"\" && (S.city = p.magiclineRequiredError), a.country === \"\" && (S.country = p.magiclineRequiredError)), f.zip.visible && f.zip.required && a.zip.trim() === \"\" && (S.zip = p.magiclineRequiredError), S) : (U === \"confirm\" && (a.consent || (S.consent = p.magiclineConsentError)), S);\n }\n function Ve() {\n const U = Ue(y);\n if (Object.keys(U).length > 0) {\n L(U);\n return;\n }\n L({}), N((S) => Math.min(S + 1, g.length - 1));\n }\n function ot() {\n L({}), ie(null), N((U) => Math.max(U - 1, 0));\n }\n async function Qe() {\n if (J)\n return;\n const U = Ue(\"confirm\");\n if (Object.keys(U).length > 0) {\n L(U);\n return;\n }\n L({}), ie(null), ne(!0);\n try {\n const S = Md(f, a);\n await h({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n action: \"trialSessionBooking\",\n fields: S\n });\n } catch (S) {\n console.error(\"[TrialSessionBookingForm] Submit failed:\", S), ie(p.magiclineFailedDetail), ne(!1);\n }\n }\n function St() {\n Q ? Qe() : Ve();\n }\n const at = qd(y, p), ke = `jex-ml-consent-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: p.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: at }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: p.magiclineStepCounter.replace(\"{n}\", String(Y + 1)).replace(\"{total}\", String(g.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: g.map((U, S) => /* @__PURE__ */ s(\n \"span\",\n {\n class: S === Y ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n U\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": at, children: [\n y === \"trainer\" ? /* @__PURE__ */ s(\n Ad,\n {\n formMessageId: t,\n trainerRequired: a.trainerRequired,\n disabled: J,\n onChange: c\n }\n ) : null,\n y === \"slot\" ? /* @__PURE__ */ s(\n Id,\n {\n slotsState: u,\n slotId: a.slotId,\n studioZoneId: x,\n disabled: J,\n retryPending: i,\n slotUnavailable: r,\n error: M.slotId,\n onSelect: (U) => {\n l(\"slotId\", U);\n },\n onRetry: d\n }\n ) : null,\n y === \"personal\" ? /* @__PURE__ */ s(\n Ed,\n {\n plan: f,\n fields: a,\n errors: M,\n disabled: J,\n setField: l\n }\n ) : null,\n y === \"address\" ? /* @__PURE__ */ s(\n $d,\n {\n plan: f,\n fields: a,\n errors: M,\n disabled: J,\n setField: l\n }\n ) : null,\n y === \"confirm\" ? /* @__PURE__ */ s(\n Pd,\n {\n consentId: ke,\n privacyUrl: V,\n studioZoneId: x,\n fields: a,\n disabled: J,\n consentError: M.consent,\n setField: l\n }\n ) : null,\n re !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: re }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n jt ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: J,\n onClick: ot,\n children: p.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: J,\n onClick: St,\n children: Q ? J ? p.magiclineSubmitting : p.magiclineSubmit : p.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction Ad({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {\n const i = _(), o = `jex-ml-trainer-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": i.magiclineStepTrainer, children: [\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: e,\n disabled: n,\n onChange: () => {\n r(!0);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWith })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card\" : \"jex-magicline-radio-card jex-magicline-radio-card-active\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: !e,\n disabled: n,\n onChange: () => {\n r(!1);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWithout })\n ]\n }\n )\n ] });\n}\nfunction Id({\n slotsState: t,\n slotId: e,\n studioZoneId: n,\n disabled: r,\n retryPending: i,\n slotUnavailable: o,\n error: a,\n onSelect: l,\n onRetry: c\n}) {\n const u = _();\n return /* @__PURE__ */ s(z, { children: [\n o ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: u.magiclineSlotUnavailableNotice }) : null,\n i || t.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: u.magiclineLoadingSlots }) : t.phase === \"ready\" ? /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": u.magiclineSlotLabel,\n value: e,\n required: !0,\n disabled: r,\n \"aria-invalid\": a !== void 0,\n onChange: (d) => {\n l(d.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: !0, children: u.magiclineSlotPlaceholder }),\n t.slots.map((d) => /* @__PURE__ */ s(\"option\", { value: d.startDateTime, children: wa(d.startDateTime, Pe.value, n) }, d.startDateTime))\n ]\n }\n ) : t.phase === \"error\" ? (\n // distinct error state with a Retry affordance.\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineSlotsError }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-retry\",\n disabled: r,\n onClick: c,\n children: u.magiclineRetry\n }\n )\n ] })\n ) : (\n // empty → healthy no-availability message (no retry, can't advance).\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineNoSlots })\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction Ed({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = _(), a = K(() => ma(), []);\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n ze,\n {\n label: o.magiclineFirstName,\n value: e.firstName,\n required: !0,\n disabled: r,\n error: n.firstName,\n fieldKey: \"firstName\",\n onInput: (l) => {\n i(\"firstName\", l);\n }\n }\n ),\n /* @__PURE__ */ s(\n ze,\n {\n label: o.magiclineLastName,\n value: e.lastName,\n required: !0,\n disabled: r,\n error: n.lastName,\n fieldKey: \"lastName\",\n onInput: (l) => {\n i(\"lastName\", l);\n }\n }\n )\n ] }),\n t.email.visible ? /* @__PURE__ */ s(\n ze,\n {\n label: ge(o.magiclineEmail, t.email.required, o),\n type: \"email\",\n value: e.email,\n required: t.email.required,\n disabled: r,\n error: n.email,\n fieldKey: \"email\",\n onInput: (l) => {\n i(\"email\", l);\n }\n }\n ) : null,\n t.phone.visible ? /* @__PURE__ */ s(\n ze,\n {\n label: ge(o.magiclinePhone, t.phone.required, o),\n type: \"tel\",\n value: e.phone,\n required: t.phone.required,\n disabled: r,\n error: n.phone,\n fieldKey: \"phone\",\n onInput: (l) => {\n i(\"phone\", l);\n }\n }\n ) : null,\n t.dateOfBirth.visible ? /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: ge(o.magiclineBirthDate, t.dateOfBirth.required, o) }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": ge(o.magiclineBirthDate, t.dateOfBirth.required, o),\n value: e.birthDate,\n max: a,\n required: t.dateOfBirth.required,\n disabled: r,\n \"aria-invalid\": n.birthDate !== void 0,\n onInput: (l) => {\n i(\"birthDate\", l.currentTarget.value);\n }\n }\n ),\n n.birthDate !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: n.birthDate }) : null\n ] }) : null,\n t.gender.visible ? /* @__PURE__ */ s(\n ya,\n {\n label: ge(o.magiclineGender, t.gender.required, o),\n value: e.gender,\n required: t.gender.required,\n disabled: r,\n placeholder: ge(o.magiclineGenderPlaceholder, t.gender.required, o),\n error: n.gender,\n onChange: (l) => {\n i(\"gender\", l);\n },\n options: va.map((l) => ({ value: l, label: Ld(l, o) }))\n }\n ) : null\n ] });\n}\nfunction $d({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = _();\n return /* @__PURE__ */ s(z, { children: [\n t.address.visible ? /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n ze,\n {\n label: ge(o.magiclineStreet, t.address.required, o),\n value: e.street,\n required: t.address.required,\n disabled: r,\n error: n.street,\n fieldKey: \"street\",\n onInput: (a) => {\n i(\"street\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n ze,\n {\n label: ge(o.magiclineHouseNumber, t.address.required, o),\n value: e.houseNumber,\n required: t.address.required,\n disabled: r,\n error: n.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (a) => {\n i(\"houseNumber\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n ze,\n {\n label: ge(o.magiclineCity, t.address.required, o),\n value: e.city,\n required: t.address.required,\n disabled: r,\n error: n.city,\n fieldKey: \"city\",\n onInput: (a) => {\n i(\"city\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n ya,\n {\n label: ge(o.magiclineCountry, t.address.required, o),\n value: e.country,\n required: t.address.required,\n disabled: r,\n placeholder: ge(o.magiclineCountryPlaceholder, t.address.required, o),\n error: n.country,\n onChange: (a) => {\n i(\"country\", a);\n },\n options: kd.map((a) => ({ value: a.code, label: a.label }))\n }\n )\n ] }) : null,\n t.zip.visible ? /* @__PURE__ */ s(\n ze,\n {\n label: ge(o.magiclineZip, t.zip.required, o),\n value: e.zip,\n required: t.zip.required,\n disabled: r,\n error: n.zip,\n fieldKey: \"zip\",\n onInput: (a) => {\n i(\"zip\", a);\n }\n }\n ) : null\n ] });\n}\nfunction Pd({\n consentId: t,\n privacyUrl: e,\n studioZoneId: n,\n fields: r,\n disabled: i,\n consentError: o,\n setField: a\n}) {\n const l = _(), c = r.slotId !== \"\" ? wa(r.slotId, Pe.value, n) : \"—\", u = `${r.firstName} ${r.lastName}`.trim();\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryTrainer }),\n /* @__PURE__ */ s(\"dd\", { children: r.trainerRequired ? l.magiclineTrainerWith : l.magiclineTrainerWithout })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummarySlot }),\n /* @__PURE__ */ s(\"dd\", { children: c })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: u !== \"\" ? u : \"—\" })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n \"aria-label\": l.magiclineNote,\n placeholder: l.magiclineNote,\n value: r.note,\n disabled: i,\n onInput: (d) => {\n a(\"note\", d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: t, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: t,\n type: \"checkbox\",\n checked: r.consent,\n disabled: i,\n \"aria-invalid\": o !== void 0,\n onChange: (d) => {\n a(\"consent\", d.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n l.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: e, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: l.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction ze({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction ya({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction ge(t, e, n) {\n return e ? t : t + n.magiclineOptionalSuffix;\n}\nfunction qd(t, e) {\n switch (t) {\n case \"trainer\":\n return e.magiclineStepTrainer;\n case \"slot\":\n return e.magiclineStepSlot;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"confirm\":\n return e.magiclineStepConfirm;\n default:\n return \"\";\n }\n}\nfunction Nd(t, e, n) {\n return e.trim() !== \"\" ? e : t === \"unsupported\" ? n.magiclineConfigUnsupported : t === \"inconsistent\" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;\n}\nfunction Md(t, e) {\n const n = {\n firstname: e.firstName.trim(),\n lastname: e.lastName.trim(),\n slotId: e.slotId,\n trainerRequired: e.trainerRequired,\n privacyConsent: e.consent\n };\n return t.email.visible && e.email.trim() !== \"\" && (n.email = e.email.trim()), t.phone.visible && e.phone.trim() !== \"\" && (n.phone = e.phone.trim()), t.dateOfBirth.visible && e.birthDate.trim() !== \"\" && (n.dateOfBirth = e.birthDate.trim()), t.gender.visible && e.gender !== \"\" && (n.gender = e.gender), t.address.visible && (e.street.trim() !== \"\" && (n.street = e.street.trim()), e.houseNumber.trim() !== \"\" && (n.houseNumber = e.houseNumber.trim()), e.city.trim() !== \"\" && (n.city = e.city.trim()), e.country !== \"\" && (n.country = e.country)), t.zip.visible && e.zip.trim() !== \"\" && (n.zip = e.zip.trim()), e.note.trim() !== \"\" && (n.note = e.note.trim()), n;\n}\nfunction Ld(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction wa(t, e, n) {\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = t.match(/\\[([^\\]]+)\\]\\s*$/), o = i ? i[1] : n ?? void 0, a = t.replace(/\\[[^\\]]+\\]\\s*$/, \"\"), l = new Date(a);\n if (Number.isNaN(l.getTime()))\n return t;\n try {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n ...o ? { timeZone: o, timeZoneName: \"short\" } : { timeZoneName: \"short\" }\n });\n } catch {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n timeZoneName: \"short\"\n });\n }\n}\nconst Od = {\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {},\n personal: {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n dateOfBirth: \"\",\n gender: \"\",\n phone: \"\"\n },\n address: {\n street: \"\",\n houseNumber: \"\",\n zipCode: \"\",\n city: \"\"\n },\n payment: {\n accountHolder: \"\",\n accountHolderTouched: !1,\n iban: \"\"\n },\n consents: {\n privacy: !1,\n sepa: !1\n }\n};\nfunction zd(t, e) {\n switch (e.type) {\n case \"setTermId\":\n return t.termId === e.termId ? t : {\n ...t,\n termId: e.termId,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"toggleModule\": {\n if (e.selected)\n return t.selectedModuleIds.includes(e.moduleId) ? t : {\n ...t,\n selectedModuleIds: [...t.selectedModuleIds, e.moduleId]\n };\n const n = { ...t.acknowledgedBlocks };\n return e.consentAckKey !== void 0 && delete n[e.consentAckKey], {\n ...t,\n selectedModuleIds: t.selectedModuleIds.filter((r) => r !== e.moduleId),\n acknowledgedBlocks: n\n };\n }\n case \"setBlockAck\":\n return {\n ...t,\n acknowledgedBlocks: { ...t.acknowledgedBlocks, [e.ackKey]: e.value }\n };\n case \"setPersonal\":\n return { ...t, personal: { ...t.personal, [e.key]: e.value } };\n case \"setAddress\":\n return { ...t, address: { ...t.address, [e.key]: e.value } };\n case \"setAccountHolder\":\n return {\n ...t,\n payment: { ...t.payment, accountHolder: e.value, accountHolderTouched: !0 }\n };\n case \"setIban\":\n return { ...t, payment: { ...t.payment, iban: e.value } };\n case \"setConsent\":\n return { ...t, consents: { ...t.consents, [e.key]: e.value } };\n case \"clearIban\":\n return { ...t, payment: { ...t.payment, iban: \"\" } };\n case \"clearTermId\":\n return {\n ...t,\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"prefillAccountHolder\":\n return t.payment.accountHolderTouched || t.payment.accountHolder !== \"\" ? t : { ...t, payment: { ...t.payment, accountHolder: e.value } };\n default:\n return t;\n }\n}\nconst qi = {\n draftVoucherCode: \"\",\n appliedVoucherCode: null,\n appliedVoucher: null,\n voucherStatus: \"idle\",\n voucherRequestId: 0,\n voucherUnavailable: !1\n}, Bd = \"voucher:\";\nfunction Dd(t) {\n const e = {};\n for (const n of Object.keys(t))\n n.startsWith(Bd) || (e[n] = t[n]);\n return e;\n}\nfunction Fd(t, e) {\n switch (e.type) {\n case \"SET_VOUCHER_DRAFT\": {\n const n = t.appliedVoucher !== null || t.voucherStatus === \"applied\";\n return {\n ...t,\n draftVoucherCode: e.value,\n ...n ? {\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n } : {}\n };\n }\n case \"VOUCHER_APPLYING\":\n return {\n ...t,\n voucherStatus: \"applying\",\n voucherRequestId: t.voucherRequestId + 1\n };\n case \"VOUCHER_APPLIED\":\n return e.requestId !== t.voucherRequestId ? t : {\n ...t,\n appliedVoucher: e.voucher,\n appliedVoucherCode: e.appliedCode,\n voucherStatus: \"applied\"\n };\n case \"VOUCHER_INVALID\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"invalid\"\n };\n case \"VOUCHER_DISABLED\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"disabled\",\n voucherUnavailable: !0\n };\n case \"CLEAR_VOUCHER\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n };\n default:\n return t;\n }\n}\nfunction Ud(t, e) {\n switch (e.type) {\n case \"dropVoucherAcks\": {\n const n = Dd(t.acknowledgedBlocks);\n return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };\n }\n case \"seedVoucherAcks\": {\n if (e.ackKeys.length === 0)\n return t;\n const n = { ...t.acknowledgedBlocks };\n for (const r of e.ackKeys)\n r in n || (n[r] = !1);\n return { ...t, acknowledgedBlocks: n };\n }\n default:\n return zd(t, e);\n }\n}\nfunction Vd({\n sessionId: t,\n visitorId: e\n}) {\n const n = ld(), r = pa(), [i, o] = he(Ud, Od), [a, l] = he(Fd, qi), [c, u] = he(\n (w, j) => j,\n { phase: \"loading\" }\n ), d = Ee(null), [h, p] = he(\n (w, j) => j,\n { phase: \"idle\" }\n ), f = q((w) => {\n w.phase === \"ready\" ? d.current = w.pricing : (w.phase === \"idle\" || w.phase === \"error\") && (d.current = null), p(w);\n }, []), [m, v] = he((w) => w + 1, 0), [x, g] = he((w) => w + 1, 0), b = q((w) => {\n o({ type: \"setTermId\", termId: w }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), P = q((w, j) => {\n o({ type: \"setPersonal\", key: w, value: j });\n }, []), N = q((w, j) => {\n o({ type: \"setAddress\", key: w, value: j });\n }, []), M = q((w, j, Ne) => {\n o({ type: \"toggleModule\", moduleId: w, selected: j, consentAckKey: Ne }), o({ type: \"dropVoucherAcks\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), L = q((w, j) => {\n o({ type: \"setBlockAck\", ackKey: w, value: j });\n }, []), J = q((w) => {\n o({ type: \"setAccountHolder\", value: w });\n }, []), ne = q((w) => {\n o({ type: \"setIban\", value: w });\n }, []), re = q((w, j) => {\n o({ type: \"setConsent\", key: w, value: j });\n }, []), ie = q(() => {\n o({ type: \"clearIban\" });\n }, []), V = q(() => {\n o({ type: \"clearTermId\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), Y = q((w) => {\n l({ type: \"SET_VOUCHER_DRAFT\", value: w }), o({ type: \"dropVoucherAcks\" });\n }, []), y = Ee(qi.voucherRequestId), Q = q(() => {\n const w = y.current + 1;\n return y.current = w, l({ type: \"VOUCHER_APPLYING\" }), w;\n }, []), jt = q(\n (w) => {\n w.requestId === y.current && (l({\n type: \"VOUCHER_APPLIED\",\n requestId: w.requestId,\n voucher: w.voucher,\n appliedCode: w.appliedCode,\n voucherAckKeys: w.voucherAckKeys\n }), f({ phase: \"ready\", pricing: w.pricing }), o({ type: \"seedVoucherAcks\", ackKeys: w.voucherAckKeys }));\n },\n []\n ), Ue = q(() => {\n l({ type: \"VOUCHER_INVALID\" }), o({ type: \"dropVoucherAcks\" }), g();\n }, []), Ve = q(() => {\n l({ type: \"VOUCHER_DISABLED\" }), o({ type: \"dropVoucherAcks\" }), g();\n }, []), ot = q(() => {\n l({ type: \"CLEAR_VOUCHER\" }), o({ type: \"dropVoucherAcks\" }), g();\n }, []), Qe = q(() => {\n v();\n }, []), St = q(() => {\n f({ phase: \"idle\" });\n }, []), at = q(() => {\n g();\n }, []), ke = c.phase === \"ready\" && i.termId !== null ? c.terms.find((w) => w.termId === i.termId) ?? null : null, { selectedModuleIds: U, acknowledgedBlocks: S } = i, { appliedVoucher: fe } = a, qe = K(() => {\n if (ke === null)\n return [];\n const w = /* @__PURE__ */ new Set();\n for (const j of ke.textBlocks)\n j.isConfirmationRequired && w.add(j.ackKey);\n for (const j of U) {\n const Ne = ke.optionalModules.find((He) => He.id === j);\n Ne?.consent && w.add(Ne.consent.ackKey);\n }\n if (fe !== null)\n for (const j of fe.textBlocks)\n w.add(j.ackKey);\n return [...w];\n }, [ke, U, fe]), Ct = K(\n () => qe.every((w) => S[w] === !0),\n [qe, S]\n ), { firstName: te, lastName: _e } = i.personal, { accountHolder: se, accountHolderTouched: st } = i.payment;\n return E(() => {\n st || se !== \"\" || te.trim() !== \"\" && _e.trim() !== \"\" && o({\n type: \"prefillAccountHolder\",\n value: `${te.trim()} ${_e.trim()}`\n });\n }, [te, _e, se, st]), E(() => {\n let w = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const j = await n({ sessionId: t, visitorId: e });\n if (w)\n return;\n j.status === \"ok\" ? j.terms.length > 0 ? u({ phase: \"ready\", terms: j.terms, allowVoucherCodes: j.allowVoucherCodes }) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n w || u({ phase: \"error\" });\n }\n })(), () => {\n w = !0;\n };\n }, [n, t, e, m]), E(() => {\n if (x === 0)\n return;\n const w = ke;\n if (!w) {\n f({ phase: \"error\", code: \"offer_unavailable\" });\n return;\n }\n let j = !1;\n const Ne = d.current;\n f(Ne !== null ? { phase: \"reloading\", pricing: Ne } : { phase: \"loading\" });\n const He = w.defaultContractStartDate ?? \"\", An = {\n sessionId: t,\n visitorId: e,\n termId: w.termId,\n startDate: He,\n fields: {\n firstname: i.personal.firstName.trim(),\n lastname: i.personal.lastName.trim(),\n email: i.personal.email.trim(),\n dateOfBirth: i.personal.dateOfBirth.trim(),\n gender: i.personal.gender,\n phone: i.personal.phone.trim(),\n street: i.address.street.trim(),\n houseNumber: i.address.houseNumber.trim(),\n zipCode: i.address.zipCode.trim(),\n city: i.address.city.trim()\n },\n // Only modules still offered by the (re-fetched) term are sent; a vanished\n // module is dropped by the term-change reset before this runs.\n selectedModuleIds: w.optionalModules.filter((B) => i.selectedModuleIds.includes(B.id)).map((B) => B.id),\n privacyConsent: i.consents.privacy,\n sepaConsent: i.consents.sepa\n };\n return (async () => {\n try {\n const B = await r(An);\n if (j)\n return;\n B.status === \"ok\" ? f({\n phase: \"ready\",\n pricing: {\n basePrice: B.basePrice,\n preUseCharge: B.preUseCharge,\n currencyCode: B.currencyCode,\n flatFees: B.flatFees,\n modules: B.modules,\n contractVolume: B.contractVolume,\n startDate: B.startDate,\n paymentFrequency: B.paymentFrequency,\n fingerprint: B.pricingFingerprint\n }\n }) : f({ phase: \"error\", code: B.status });\n } catch {\n j || f({ phase: \"error\", code: \"unavailable\" });\n }\n })(), () => {\n j = !0;\n };\n }, [x, r, t, e]), {\n fields: i,\n offersState: c,\n previewState: h,\n selectedTerm: ke,\n requiredAckKeys: qe,\n allAcknowledged: Ct,\n /**\n * Server-authoritative flag: true only when the server confirmed\n * `allowVoucherCodes` in the getRateBundles ok-result. Defaults to false\n * (fail-closed) while loading or on error.\n */\n serverAllowVoucherCodes: c.phase === \"ready\" ? c.allowVoucherCodes : !1,\n // Voucher state (read)\n voucherStatus: a.voucherStatus,\n draftVoucherCode: a.draftVoucherCode,\n appliedVoucherCode: a.appliedVoucherCode,\n appliedVoucher: a.appliedVoucher,\n voucherUnavailable: a.voucherUnavailable,\n // Field actions\n setTermId: b,\n setPersonal: P,\n setAddress: N,\n toggleModule: M,\n setBlockAck: L,\n setAccountHolder: J,\n setIban: ne,\n setConsent: re,\n clearIban: ie,\n clearTermId: V,\n refetchOffers: Qe,\n fetchPreview: at,\n resetPreview: St,\n // Voucher actions\n setVoucherDraft: Y,\n beginVoucherApply: Q,\n commitVoucherApplied: jt,\n markVoucherInvalid: Ue,\n markVoucherDisabled: Ve,\n clearVoucher: ot\n };\n}\nfunction Qd(t) {\n return t !== null && t.optionalModules.length > 0 ? [\"offer\", \"upgrades\", \"personal\", \"address\", \"payment\", \"review\"] : [\"offer\", \"personal\", \"address\", \"payment\", \"review\"];\n}\nfunction Hd({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n projectId: r,\n formStatus: i\n}) {\n const o = _(), a = Pe.value, l = cd(), c = pa(), u = Vd({ sessionId: e, visitorId: n }), {\n fields: d,\n offersState: h,\n previewState: p,\n selectedTerm: f,\n requiredAckKeys: m,\n allAcknowledged: v,\n serverAllowVoucherCodes: x,\n voucherStatus: g,\n draftVoucherCode: b,\n appliedVoucher: P,\n appliedVoucherCode: N,\n voucherUnavailable: M,\n setTermId: L,\n setPersonal: J,\n setAddress: ne,\n toggleModule: re,\n setBlockAck: ie,\n setAccountHolder: V,\n setIban: Y,\n setConsent: y,\n clearIban: Q,\n clearTermId: jt,\n refetchOffers: Ue,\n fetchPreview: Ve,\n resetPreview: ot,\n setVoucherDraft: Qe,\n beginVoucherApply: St,\n commitVoucherApplied: at,\n markVoucherInvalid: ke,\n markVoucherDisabled: U\n } = u, [S, fe] = T(0), [qe, Ct] = T({}), [te, _e] = T(!1), [se, st] = T(null), [w, j] = T(null), [Ne, He] = T(null), An = K(() => ga(), []);\n if (se !== null && se.status === \"succeeded\")\n return /* @__PURE__ */ s(Ni, { customerNumber: se.customerNumber });\n if (se !== null && se.status === \"failed\" && !se.retryable) {\n const A = se.errorCode === \"duplicate_submission\" ? o.magiclineDuplicateNotice : se.errorCode === \"unknown_outcome\" ? o.magiclineUnknownOutcome : se.errorCode === \"live_submission_disabled\" ? o.magiclineLiveSubmissionDisabled : o.magiclineFailedDetail;\n return /* @__PURE__ */ s(Mi, { message: A });\n }\n if (se === null && !te && i === \"submitted\")\n return /* @__PURE__ */ s(Ni, { customerNumber: null });\n if (se === null && !te && i === \"failed\")\n return /* @__PURE__ */ s(Mi, { message: o.magiclineFailedDetail });\n const B = K(() => Qd(f), [f]), lt = Math.min(S, B.length - 1), je = B[lt], Nr = lt === B.length - 1, _a = lt === 0;\n function ja(A) {\n const C = {};\n if (A === \"offer\")\n return d.termId === null && (C.termId = o.magiclineOfferRequiredError), C;\n if (A === \"upgrades\") {\n if (f !== null)\n for (const G of d.selectedModuleIds) {\n const We = f.optionalModules.find((X) => X.id === G);\n if (We?.consent && d.acknowledgedBlocks[We.consent.ackKey] !== !0) {\n C.upgrades = o.magiclineUpgradeConsentError;\n break;\n }\n }\n return C;\n }\n if (A === \"personal\") {\n const G = d.personal;\n return G.firstName.trim() === \"\" && (C.firstName = o.magiclineRequiredError), G.lastName.trim() === \"\" && (C.lastName = o.magiclineRequiredError), G.email.trim() === \"\" ? C.email = o.magiclineRequiredError : fa(G.email) || (C.email = o.magiclineEmailError), G.dateOfBirth.trim() === \"\" && (C.dateOfBirth = o.magiclineRequiredError), G.gender === \"\" && (C.gender = o.magiclineRequiredError), G.phone.trim() === \"\" && (C.phone = o.magiclineRequiredError), C;\n }\n if (A === \"address\") {\n const G = d.address;\n return G.street.trim() === \"\" && (C.street = o.magiclineRequiredError), G.houseNumber.trim() === \"\" && (C.houseNumber = o.magiclineRequiredError), G.zipCode.trim() === \"\" && (C.zipCode = o.magiclineRequiredError), G.city.trim() === \"\" && (C.city = o.magiclineRequiredError), C;\n }\n return A === \"payment\" && (d.payment.accountHolder.trim() === \"\" && (C.accountHolder = o.magiclineRequiredError), md(d.payment.iban) || (C.iban = o.magiclineIbanInvalidError), d.consents.privacy || (C.privacy = o.magiclineConsentError), d.consents.sepa || (C.sepa = o.magiclineConsentError)), C;\n }\n function Sa() {\n const A = ja(je);\n if (Object.keys(A).length > 0) {\n Ct(A);\n return;\n }\n Ct({}), j(null);\n const C = Math.min(lt + 1, B.length - 1);\n B[C] === \"review\" && Ve(), fe(C);\n }\n function Ca() {\n Ct({}), j(null), je === \"review\" && ot(), fe((A) => Math.max(A - 1, 0));\n }\n function Ta() {\n j(null), Ve();\n }\n async function Ra() {\n if (!te && !(p.phase !== \"ready\" || f === null)) {\n if (!v) {\n j(o.magiclineConfirmRequiredError);\n return;\n }\n _e(!0), j(null);\n try {\n const A = await l({\n sessionId: e,\n visitorId: n,\n projectId: r,\n formMessageId: t,\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n phone: d.personal.phone.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim(),\n rateBundleTermId: f.termId,\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa\n },\n bankAccount: {\n accountHolder: d.payment.accountHolder.trim(),\n iban: d.payment.iban\n },\n // Only modules still offered by the selected term are sent.\n selectedModuleIds: f.optionalModules.filter((C) => d.selectedModuleIds.includes(C.id)).map((C) => C.id),\n // Required text-block + selected-module consent ackKeys (the submit\n // button is gated on all of these being ticked).\n acknowledgedAckKeys: m,\n pricingFingerprint: p.pricing.fingerprint,\n voucherCode: N ?? void 0\n });\n if (A.status === \"succeeded\") {\n st(A);\n return;\n }\n if (A.errorCode === \"price_changed\") {\n j(o.magiclinePriceChangedNotice), Ve(), _e(!1);\n return;\n }\n if (A.errorCode === \"offer_unavailable\") {\n jt(), Ue(), ot(), j(o.magiclineOfferUnavailableNotice), fe(0), _e(!1);\n return;\n }\n if (A.errorCode === \"confirmation_required\") {\n j(o.magiclineConfirmationRequiredNotice), _e(!1);\n return;\n }\n if (A.errorCode === \"live_submission_disabled\") {\n st(A);\n return;\n }\n if (!A.retryable) {\n st(A);\n return;\n }\n Q(), j(A.message !== \"\" ? A.message : o.magiclineFailedDetail), _e(!1);\n } catch (A) {\n console.error(\"[ContractCreationForm] Submit failed:\", A), Q(), j(o.magiclineFailedDetail), _e(!1);\n }\n }\n }\n async function Aa() {\n if (p.phase !== \"ready\" || f === null || b.trim() === \"\")\n return;\n const A = b.trim(), C = St();\n He(null);\n const G = (X) => {\n ke(), Qe(\"\"), He(X);\n }, We = o.magiclineVoucherInvalid.replace(\"{code}\", A);\n try {\n const X = await c({\n sessionId: e,\n visitorId: n,\n termId: f.termId,\n startDate: f.defaultContractStartDate ?? \"\",\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n phone: d.personal.phone.trim(),\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim()\n },\n selectedModuleIds: f.optionalModules.filter((Ke) => d.selectedModuleIds.includes(Ke.id)).map((Ke) => Ke.id),\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa,\n voucherCode: b.trim()\n });\n if (X.status === \"ok\") {\n const Ke = X.voucher;\n if (Ke !== null) {\n const qa = Ke.textBlocks.map((Na) => Na.ackKey);\n at({\n requestId: C,\n voucher: Ke,\n appliedCode: b.trim(),\n voucherAckKeys: qa,\n // Thread the voucher-inclusive pricing from this same response so\n // previewState.pricing.fingerprint is updated atomically. Without\n // this the submitted fingerprint is the base (no-voucher) one and\n // the backend always returns price_changed.\n pricing: {\n basePrice: X.basePrice,\n preUseCharge: X.preUseCharge,\n currencyCode: X.currencyCode,\n flatFees: X.flatFees,\n modules: X.modules,\n contractVolume: X.contractVolume,\n startDate: X.startDate,\n paymentFrequency: X.paymentFrequency,\n fingerprint: X.pricingFingerprint\n }\n });\n } else\n G(We);\n } else X.status === \"voucher_invalid\" ? G(We) : X.status === \"voucher_disabled\" ? (U(), Qe(\"\"), He(o.magiclineVoucherDisabled)) : G(We);\n } catch {\n G(We);\n }\n }\n function Ia() {\n Nr ? Ra() : Sa();\n }\n const Mr = oh(je, o), Ea = g === \"applying\" || b.trim() !== \"\" && b.trim() !== (N ?? \"\"), $a = je === \"review\" && (p.phase !== \"ready\" || !v || Ea), Pa = te || $a;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineContractTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: Mr }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: o.magiclineStepCounter.replace(\"{n}\", String(lt + 1)).replace(\"{total}\", String(B.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: B.map((A, C) => /* @__PURE__ */ s(\n \"span\",\n {\n class: C === lt ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n A\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": Mr, children: [\n je === \"offer\" ? /* @__PURE__ */ s(\n Wd,\n {\n offersState: h,\n selectedTermId: d.termId,\n widgetLocale: a,\n disabled: te,\n error: qe.termId,\n onSelect: L,\n onRetry: Ue\n }\n ) : null,\n je === \"upgrades\" && f !== null ? /* @__PURE__ */ s(\n Jd,\n {\n modules: f.optionalModules,\n selectedModuleIds: d.selectedModuleIds,\n acknowledgedBlocks: d.acknowledgedBlocks,\n widgetLocale: a,\n disabled: te,\n error: qe.upgrades,\n onToggle: re,\n onAck: ie\n }\n ) : null,\n je === \"personal\" ? /* @__PURE__ */ s(\n Zd,\n {\n personal: d.personal,\n errors: qe,\n disabled: te,\n setPersonal: J\n }\n ) : null,\n je === \"address\" ? /* @__PURE__ */ s(\n Xd,\n {\n address: d.address,\n errors: qe,\n disabled: te,\n setAddress: ne\n }\n ) : null,\n je === \"payment\" ? /* @__PURE__ */ s(\n eh,\n {\n formMessageId: t,\n fields: d,\n errors: qe,\n privacyUrl: An,\n disabled: te,\n setAccountHolder: V,\n setIban: Y,\n setConsent: y\n }\n ) : null,\n je === \"review\" ? /* @__PURE__ */ s(\n th,\n {\n fields: d,\n term: f,\n previewState: p,\n widgetLocale: a,\n disabled: te,\n acknowledgedBlocks: d.acknowledgedBlocks,\n onToggleAck: ie,\n onRetry: Ta,\n allowVoucherCodes: x,\n voucherUnavailable: M,\n voucherStatus: g,\n draftVoucherCode: b,\n appliedVoucher: P,\n voucherBanner: Ne,\n onVoucherDraftChange: Qe,\n onApplyVoucher: () => {\n Aa();\n }\n }\n ) : null,\n w !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: w }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n _a ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: te,\n onClick: Ca,\n children: o.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: Pa,\n onClick: Ia,\n children: Nr ? te ? o.magiclineSubmitting : o.magiclineSubmit : o.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction Ni({ customerNumber: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineContractSubmitted }),\n t !== null && t !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineCustomerNumber.replace(\"{number}\", t) }) : null\n ] })\n ] });\n}\nfunction Mi({ message: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: t })\n ] })\n ] });\n}\nfunction Wd({\n offersState: t,\n selectedTermId: e,\n widgetLocale: n,\n disabled: r,\n error: i,\n onSelect: o,\n onRetry: a\n}) {\n const l = _();\n if (t.phase === \"loading\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: l.magiclineOffersLoading });\n if (t.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineOffersError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: r, onClick: a, children: l.magiclineRetry })\n ] });\n if (t.phase === \"empty\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineNoOffers });\n const c = ih(t.terms);\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": l.magiclineStepOffer, children: c.map((u) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-group\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-name\", children: u.bundleName }),\n u.bundleDescription !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-desc\", children: u.bundleDescription }) : null,\n u.terms.map((d) => /* @__PURE__ */ s(\n Kd,\n {\n term: d,\n checked: e === d.termId,\n widgetLocale: n,\n disabled: r,\n onSelect: o\n },\n d.termId\n )),\n /* @__PURE__ */ s(\n Gd,\n {\n subDescription: u.bundleSubDescription,\n footnote: u.footnote\n }\n )\n ] }, u.bundleId)) }),\n i !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: i }) : null\n ] });\n}\nfunction Kd({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {\n const o = _(), a = kn(t.termValue, t.termUnit, n), l = ye(t.price, t.currencyCode, n), c = t.flatFees.find((d) => d.isStarterPackage), u = t.flatFees.filter((d) => !d.isStarterPackage);\n return /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: \"jex-ml-offer\",\n checked: e,\n disabled: r,\n onChange: () => {\n i(t.termId);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-head\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-length\", children: a }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-price\", children: [\n l,\n \" \",\n qr(\n t.paymentFrequency.value,\n t.paymentFrequency.unit,\n n\n )\n ] })\n ] }),\n t.cancellationPeriod !== null ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineCancellationPeriod,\n \":\",\n \" \",\n kn(\n t.cancellationPeriod.value,\n t.cancellationPeriod.unit,\n n\n )\n ] }) : null,\n c !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineStarterPackage,\n \":\",\n \" \",\n ye(c.price, t.currencyCode, n)\n ] }) : null,\n u.map((d) => /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n ba(d.name, o),\n \": \",\n ye(d.price, t.currencyCode, n)\n ] }, d.name)),\n t.includedModuleNames.length > 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineIncludedModules,\n \": \",\n t.includedModuleNames.join(\", \")\n ] }) : null\n ] })\n ]\n }\n );\n}\nfunction Gd({ subDescription: t, footnote: e }) {\n const n = _(), r = rh(t), i = e !== null && e.trim() !== \"\";\n return r.length === 0 && !i ? null : /* @__PURE__ */ s(\"details\", { class: \"jex-magicline-bundle-details\", children: [\n /* @__PURE__ */ s(\"summary\", { class: \"jex-magicline-bundle-details-summary\", children: n.magiclineDetails }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-bundle-details-body\", children: [\n r.length > 0 ? /* @__PURE__ */ s(\"ul\", { class: \"jex-magicline-bundle-details-list\", children: r.map((o, a) => /* @__PURE__ */ s(\"li\", { children: o }, `${a}-${o}`)) }) : null,\n i ? /* @__PURE__ */ s(\"p\", { class: \"jex-magicline-bundle-details-footnote\", children: e }) : null\n ] })\n ] });\n}\nfunction Jd({\n modules: t,\n selectedModuleIds: e,\n acknowledgedBlocks: n,\n widgetLocale: r,\n disabled: i,\n error: o,\n onToggle: a,\n onAck: l\n}) {\n const c = _();\n return t.length === 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesIntro }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrade-group\", children: t.map((u) => /* @__PURE__ */ s(\n Yd,\n {\n module: u,\n selected: e.includes(u.id),\n consentChecked: u.consent !== null && n[u.consent.ackKey] === !0,\n widgetLocale: r,\n disabled: i,\n onToggle: a,\n onAck: l\n },\n u.id\n )) }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Yd({\n module: t,\n selected: e,\n consentChecked: n,\n widgetLocale: r,\n disabled: i,\n onToggle: o,\n onAck: a\n}) {\n const l = _(), c = bd(\n t.price,\n t.currencyCode,\n t.paymentFrequencyType,\n t.recurringUnit,\n r\n ), u = wd(t.extensionType, t.termExtension, r), d = t.termLabel !== null && t.termLabel !== \"\" ? t.termLabel : l.magiclineUpgradeOneTime, h = t.consent;\n return /* @__PURE__ */ s(\"div\", { class: e ? \"jex-magicline-upgrade-card jex-magicline-upgrade-card-active\" : \"jex-magicline-upgrade-card\", children: [\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-upgrade-head\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"checkbox\",\n checked: e,\n disabled: i,\n onChange: (p) => {\n o(t.id, p.currentTarget.checked, h?.ackKey);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-info\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-name\", children: t.name }),\n t.description !== null && t.description !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: t.description }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-price\", children: c }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: d }),\n u !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: u }) : null\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-status\", children: e ? l.magiclineUpgradeAdded : l.magiclineUpgradeAdd })\n ] }),\n e && h !== null ? /* @__PURE__ */ s(\n cr,\n {\n ackKey: h.ackKey,\n title: h.title,\n text: h.text,\n attachmentLabel: h.attachmentLabel,\n attachmentUrl: h.attachmentUrl,\n checked: n,\n disabled: i,\n onToggle: a,\n showRequiredPill: !0\n }\n ) : null\n ] });\n}\nfunction Zd({ personal: t, errors: e, disabled: n, setPersonal: r }) {\n const i = _(), o = K(() => ma(), []);\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineFirstName,\n value: t.firstName,\n required: !0,\n disabled: n,\n error: e.firstName,\n fieldKey: \"firstName\",\n onInput: (a) => {\n r(\"firstName\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineLastName,\n value: t.lastName,\n required: !0,\n disabled: n,\n error: e.lastName,\n fieldKey: \"lastName\",\n onInput: (a) => {\n r(\"lastName\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineEmail,\n type: \"email\",\n value: t.email,\n required: !0,\n disabled: n,\n error: e.email,\n fieldKey: \"email\",\n onInput: (a) => {\n r(\"email\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineBirthDate }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": i.magiclineBirthDate,\n value: t.dateOfBirth,\n max: o,\n required: !0,\n disabled: n,\n \"aria-invalid\": e.dateOfBirth !== void 0,\n onInput: (a) => {\n r(\"dateOfBirth\", a.currentTarget.value);\n }\n }\n ),\n e.dateOfBirth !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: e.dateOfBirth }) : null\n ] }),\n /* @__PURE__ */ s(\n nh,\n {\n label: i.magiclineGender,\n value: t.gender,\n required: !0,\n disabled: n,\n placeholder: i.magiclineGenderPlaceholder,\n error: e.gender,\n onChange: (a) => {\n r(\"gender\", a);\n },\n options: va.map((a) => ({ value: a, label: ah(a, i) }))\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclinePhone,\n type: \"tel\",\n value: t.phone,\n required: !0,\n disabled: n,\n error: e.phone,\n fieldKey: \"phone\",\n onInput: (a) => {\n r(\"phone\", a);\n }\n }\n )\n ] });\n}\nfunction Xd({ address: t, errors: e, disabled: n, setAddress: r }) {\n const i = _();\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineStreet,\n value: t.street,\n required: !0,\n disabled: n,\n error: e.street,\n fieldKey: \"street\",\n onInput: (o) => {\n r(\"street\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineHouseNumber,\n value: t.houseNumber,\n required: !0,\n disabled: n,\n error: e.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (o) => {\n r(\"houseNumber\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineZip,\n value: t.zipCode,\n required: !0,\n disabled: n,\n error: e.zipCode,\n fieldKey: \"zipCode\",\n onInput: (o) => {\n r(\"zipCode\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineCity,\n value: t.city,\n required: !0,\n disabled: n,\n error: e.city,\n fieldKey: \"city\",\n onInput: (o) => {\n r(\"city\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineCountry }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-static-value\", children: i.magiclineCountryStatic })\n ] })\n ] });\n}\nfunction eh({\n formMessageId: t,\n fields: e,\n errors: n,\n privacyUrl: r,\n disabled: i,\n setAccountHolder: o,\n setIban: a,\n setConsent: l\n}) {\n const c = _(), u = `jex-ml-privacy-${t}`, d = `jex-ml-sepa-${t}`;\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: c.magiclineAccountHolder,\n value: e.payment.accountHolder,\n required: !0,\n disabled: i,\n error: n.accountHolder,\n fieldKey: \"accountHolder\",\n onInput: o\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: c.magiclineIban,\n value: e.payment.iban,\n required: !0,\n disabled: i,\n error: n.iban,\n fieldKey: \"iban\",\n onInput: a\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: u, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: u,\n type: \"checkbox\",\n checked: e.consents.privacy,\n disabled: i,\n \"aria-invalid\": n.privacy !== void 0,\n onChange: (h) => {\n l(\"privacy\", h.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n c.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: c.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: e.consents.sepa,\n disabled: i,\n \"aria-invalid\": n.sepa !== void 0,\n onChange: (h) => {\n l(\"sepa\", h.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: c.magiclineSepaConsent })\n ] }),\n n.privacy !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.privacy }) : null,\n n.sepa !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.sepa }) : null\n ] });\n}\nfunction th({\n fields: t,\n term: e,\n previewState: n,\n widgetLocale: r,\n disabled: i,\n acknowledgedBlocks: o,\n onToggleAck: a,\n onRetry: l,\n allowVoucherCodes: c,\n voucherUnavailable: u,\n voucherStatus: d,\n draftVoucherCode: h,\n appliedVoucher: p,\n voucherBanner: f,\n onVoucherDraftChange: m,\n onApplyVoucher: v\n}) {\n const x = _();\n if (n.phase === \"loading\" || n.phase === \"idle\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: x.magiclineReviewLoading });\n if (n.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: n.code === \"offer_unavailable\" ? x.magiclineOfferUnavailableNotice : x.magiclineReviewError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: i, onClick: l, children: x.magiclineRetry })\n ] });\n const g = n.pricing, b = n.phase === \"reloading\", P = g.contractVolume, N = `${t.personal.firstName} ${t.personal.lastName}`.trim(), M = t.address, L = [\n `${M.street} ${M.houseNumber}`.trim(),\n `${M.zipCode} ${M.city}`.trim(),\n x.magiclineCountryStatic\n ].filter((y) => y !== \"\").join(\", \"), J = e !== null ? `${e.bundleName} · ${kn(e.termValue, e.termUnit, r)}` : \"—\", ne = e !== null ? e.textBlocks.filter((y) => y.isConfirmationRequired) : [], re = e !== null ? e.textBlocks.filter((y) => !y.isConfirmationRequired) : [], ie = e !== null ? e.optionalModules.filter((y) => t.selectedModuleIds.includes(y.id) && y.consent !== null).map((y) => ({ module: y, consent: y.consent })) : [], V = p !== null ? p.textBlocks.filter((y) => y.ackKey.startsWith(\"voucher:\")) : [], Y = c && !u;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-wrap\", children: [\n /* @__PURE__ */ s(\n \"div\",\n {\n class: b ? \"jex-magicline-review-body jex-magicline-review-body--reloading\" : \"jex-magicline-review-body\",\n \"aria-busy\": b,\n children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewOffer }),\n /* @__PURE__ */ s(\"dd\", { children: J })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewBasePrice }),\n /* @__PURE__ */ s(\"dd\", { children: [\n p !== null && p.voucherType === \"DISCOUNT\" ? ye(p.discountedBasePrice, g.currencyCode, r) : ye(g.basePrice, g.currencyCode, r),\n \" \",\n qr(\n g.paymentFrequency.value,\n g.paymentFrequency.unit,\n r\n )\n ] })\n ] }),\n p !== null && p.voucherType === \"DISCOUNT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-discount-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineVoucherAppliedDiscount.replace(\n \"{discount}\",\n vd(\n p.discountValue,\n p.discountType,\n g.currencyCode,\n r\n )\n ) }),\n /* @__PURE__ */ s(\"dd\", {})\n ] }) : null,\n p !== null && p.remarks !== null && p.remarks !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-remarks-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineVoucherRemarks }),\n /* @__PURE__ */ s(\"dd\", { children: p.remarks })\n ] }) : null,\n g.flatFees.map((y, Q) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: ba(y.name, x) }),\n /* @__PURE__ */ s(\"dd\", { children: ye(y.price, g.currencyCode, r) })\n ] }, `${y.name}-${Q}`)),\n g.preUseCharge > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewPreUseCharge }),\n /* @__PURE__ */ s(\"dd\", { children: ye(g.preUseCharge, g.currencyCode, r) })\n ] }) : null\n ] }),\n g.modules.length > 0 ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-heading\", children: x.magiclineReviewSelectedUpgrades }),\n g.modules.map((y, Q) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: y.name }),\n /* @__PURE__ */ s(\"dd\", { children: ye(y.amount, y.currencyCode, r) })\n ] }, `${y.moduleId}-${Q}`))\n ] }) : null,\n P !== null && P.total !== null ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section jex-magicline-summary-totals\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-summary-total-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: p !== null && p.voucherType === \"DISCOUNT\" ? x.magiclineGesamtpreisBeforeDiscount : x.magiclineReviewContractVolume }),\n /* @__PURE__ */ s(\"dd\", { children: ye(P.total, g.currencyCode, r) })\n ] }) }) : null,\n p !== null && p.voucherType === \"CREDIT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-credit-notice\", role: \"note\", children: x.magiclineVoucherCreditNotice }) : null,\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewStartsOn }),\n /* @__PURE__ */ s(\"dd\", { children: xd(g.startDate, r) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: N !== \"\" ? N : \"—\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineSummaryAddress }),\n /* @__PURE__ */ s(\"dd\", { children: L })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewPayment }),\n /* @__PURE__ */ s(\"dd\", { children: gd(t.payment.iban) })\n ] })\n ] }),\n Y ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field jex-magicline-voucher-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n \"aria-label\": x.magiclineVoucherLabel,\n placeholder: x.magiclineVoucherPlaceholder,\n value: h,\n disabled: i || d === \"applying\",\n onInput: (y) => {\n m(y.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-voucher-apply\",\n disabled: i || d === \"applying\" || h.trim() === \"\",\n onClick: v,\n children: x.magiclineVoucherApply\n }\n )\n ] }),\n f !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: f }) : null\n ] }) : null,\n ie.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": x.magiclineReviewSelectedUpgrades, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrades-recap-title\", children: x.magiclineReviewSelectedUpgrades }),\n ie.map(({ module: y, consent: Q }) => /* @__PURE__ */ s(\n Li,\n {\n title: Q.title !== \"\" ? Q.title : y.name,\n text: Q.text,\n attachmentLabel: Q.attachmentLabel,\n attachmentUrl: Q.attachmentUrl\n },\n Q.ackKey\n ))\n ] }) : null,\n ne.length > 0 || re.length > 0 || V.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": x.magiclineReviewTerms, children: [\n ne.length > 0 || V.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms-prompt\", children: [\n x.magiclineConfirmPrompt,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: x.magiclineRequired })\n ] }) : null,\n ne.map((y) => /* @__PURE__ */ s(\n cr,\n {\n ackKey: y.ackKey,\n title: y.title,\n text: y.text,\n attachmentLabel: y.attachmentLabel,\n attachmentUrl: y.attachmentUrl,\n checked: o[y.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n y.ackKey\n )),\n V.map((y) => /* @__PURE__ */ s(\n cr,\n {\n ackKey: y.ackKey,\n title: y.title,\n text: y.text,\n attachmentLabel: y.attachmentLabel,\n attachmentUrl: y.attachmentUrl,\n checked: o[y.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n y.ackKey\n )),\n re.map((y, Q) => /* @__PURE__ */ s(\n Li,\n {\n title: y.title,\n text: y.text,\n attachmentLabel: y.attachmentLabel,\n attachmentUrl: y.attachmentUrl\n },\n `${y.title}-${Q}`\n ))\n ] }) : null\n ]\n }\n ),\n b ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-overlay\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-review-spinner\" }) }) : null\n ] });\n}\nfunction cr({\n ackKey: t,\n title: e,\n text: n,\n attachmentLabel: r,\n attachmentUrl: i,\n checked: o,\n disabled: a,\n onToggle: l,\n showRequiredPill: c = !1\n}) {\n const u = _(), d = `jex-ml-ack-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-region\", children: [\n c ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: u.magiclineRequired }) : null,\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: o,\n disabled: a,\n onChange: (h) => {\n l(t, h.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-consent-body\", children: [\n e !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: e }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n n,\n i !== null ? /* @__PURE__ */ s(z, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: i, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r !== null && r !== \"\" ? r : i })\n ] }) : null\n ] })\n ] })\n ] })\n ] });\n}\nfunction Li({ title: t, text: e, attachmentLabel: n, attachmentUrl: r }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-recap\", children: [\n t !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: t }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n e,\n r !== null ? /* @__PURE__ */ s(z, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: n !== null && n !== \"\" ? n : r })\n ] }) : null\n ] })\n ] });\n}\nfunction Ae({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction nh({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction rh(t) {\n return t === null ? [] : t.split(`\n`).map((e) => e.replace(/^\\s*[-•]\\s*/, \"\").trim()).filter((e) => e !== \"\");\n}\nfunction ih(t) {\n const e = [], n = /* @__PURE__ */ new Map();\n for (const r of t) {\n let i = n.get(r.bundleId);\n i || (i = {\n bundleId: r.bundleId,\n bundleName: r.bundleName,\n bundleDescription: r.bundleDescription,\n bundleSubDescription: r.bundleSubDescription,\n footnote: r.footnote,\n terms: []\n }, n.set(r.bundleId, i), e.push(i)), i.terms.push(r);\n }\n return e;\n}\nfunction oh(t, e) {\n switch (t) {\n case \"offer\":\n return e.magiclineStepOffer;\n case \"upgrades\":\n return e.magiclineStepUpgrades;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"payment\":\n return e.magiclineStepPayment;\n case \"review\":\n return e.magiclineStepReview;\n default:\n return \"\";\n }\n}\nfunction ah(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction sh({ message: t, sessionId: e, visitorId: n }) {\n const r = _(), i = t.magiclineForm, o = !!i && i.status === \"open\" && !!i.submissionId, a = Zn(\n pe.functions.magicline.public.getSubmissionStatus,\n o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : \"skip\"\n );\n if (!i)\n return null;\n if (i.action === \"contractCreation\")\n return t.projectId ? /* @__PURE__ */ s(\n Hd,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n projectId: t.projectId,\n formStatus: i.status\n }\n ) : null;\n if (i.status === \"submitted\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineSubmittedDetail })\n ] })\n ] });\n if (i.status === \"failed\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineFailedDetail })\n ] })\n ] });\n if (i.action !== \"trialSessionBooking\")\n return null;\n const l = a != null && a.errorCode === \"slot_unavailable\", c = o && a === void 0;\n return /* @__PURE__ */ s(\n Td,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n slotUnavailable: l,\n retryPending: c\n }\n );\n}\nconst lh = {\n crawl: \"🌐\",\n file: \"📄\",\n snippet: \"💡\",\n qa: \"❓\"\n};\nfunction ch({ sources: t }) {\n const e = _(), [n, r] = T(!1);\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-sources-row\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-sources-toggle\",\n onClick: () => {\n r((i) => !i);\n },\n \"aria-expanded\": n,\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-sources-icon\", children: \"📖\" }),\n /* @__PURE__ */ s(\"span\", { children: (t.length === 1 ? e.sourcesCountOne : e.sourcesCountOther).replace(\n \"{count}\",\n String(t.length)\n ) }),\n /* @__PURE__ */ s(\"span\", { class: `jex-sources-chevron${n ? \" jex-sources-chevron--open\" : \"\"}`, children: \"▾\" })\n ]\n }\n ),\n n ? /* @__PURE__ */ s(\"div\", { class: \"jex-sources-pills\", children: t.map((i, o) => {\n const a = i.sourceType === \"crawl\", l = uh(i), c = a && i.url ? `${i.title}\n${i.url}` : i.title, u = /* @__PURE__ */ s(z, { children: [\n typeof i.id == \"number\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-source-id\", children: i.id }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-type\", children: lh[i.sourceType] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-label\", children: l }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-score\", children: [\n \"· \",\n i.score.toFixed(2)\n ] })\n ] });\n return a && i.url ? /* @__PURE__ */ s(\n \"a\",\n {\n class: \"jex-source-pill\",\n href: i.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n title: c,\n children: u\n },\n o\n ) : /* @__PURE__ */ s(\"span\", { class: \"jex-source-pill\", title: c, children: u }, o);\n }) }) : null\n ] });\n}\nfunction uh(t) {\n if (t.sourceType === \"crawl\" && t.url)\n try {\n const e = new URL(t.url);\n return !e.pathname || e.pathname === \"/\" ? e.hostname : e.pathname;\n } catch {\n }\n return t.title;\n}\nfunction dh() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-typing\", children: [\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {})\n ] });\n}\nconst hh = /\\s?\\[\\d+\\]/g;\nfunction Oi(t) {\n return t.replace(hh, \"\");\n}\nfunction ph({ conversations: t, greeting: e, sessionNotFound: n, resumeFailed: r, onStartFresh: i, sessionId: o, visitorId: a }) {\n const l = _(), c = Ee(null), [u, d] = T(null), h = Ee(null);\n return E(() => {\n if (!a || !t || t.length === 0)\n return;\n const p = t[t.length - 1];\n p.role === \"assistant\" && p.status !== \"streaming\" && p._id !== h.current && (h.current = p._id, kr(a));\n }, [t, a]), E(() => {\n c.current?.scrollIntoView({ behavior: \"smooth\" });\n }, [t?.length, t?.at(-1)?.content]), /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: [\n /* @__PURE__ */ s(ut, { text: e }),\n n && r && i ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: l.sessionNotFoundPrompt }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-session-prompt-btn\",\n type: \"button\",\n onClick: () => {\n i();\n },\n children: l.startNewConversation\n }\n )\n ] }) : n ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: l.sessionNotFound }) : null,\n t?.map((p) => {\n if (p.contentType === \"human-notice\") {\n const m = p.noticeKind === \"agent-joined\" ? l.noticeAgentJoined.replace(\"{name}\", p.noticeData?.agentName ?? \"\") : p.noticeKind === \"human-requested\" ? l.noticeHumanRequested : p.noticeKind === \"human-requested-form\" ? l.noticeHumanRequestedForm : p.noticeKind === \"message-received\" ? l.noticeMessageReceived : p.noticeKind === \"agent-handling\" ? l.noticeAgentHandling : p.content;\n return /* @__PURE__ */ s(ut, { text: m }, p._id);\n }\n if (p.contentType === \"escalation-form\" && o && a)\n return Cc.value === \"screen\" && !p.formData ? u === p._id ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-inline-form-card\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: l.escalationPromptTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-subtitle\", children: l.escalationPromptSubtitle }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"button\",\n onClick: () => {\n Ze({ id: \"escalation-form\", formMessageId: p._id, sessionId: o, visitorId: a });\n },\n children: l.escalationPromptSubmit\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-escalation-skip\",\n type: \"button\",\n onClick: () => {\n d(p._id);\n },\n children: l.escalationSkip\n }\n )\n ] }, p._id) : /* @__PURE__ */ s(rd, { message: p, sessionId: o, visitorId: a }, p._id);\n if (p.contentType === \"magicline-form\" && o && a)\n return /* @__PURE__ */ s(sh, { message: p, sessionId: o, visitorId: a }, p._id);\n if (p.contentType === \"escalation-confirm\") {\n const m = p.noticeKind === \"escalation-confirmed\" ? l.noticeEscalationConfirmed.replace(\"{name}\", p.noticeData?.visitorName ?? \"\").replace(\"{email}\", p.noticeData?.visitorEmail ?? \"\").replace(\"{ref}\", p.noticeData?.visitorId ?? \"\") : p.content;\n return /* @__PURE__ */ s(ut, { text: m }, p._id);\n }\n if (p.role === \"user\")\n return /* @__PURE__ */ s(nd, { text: p.content }, p._id);\n const f = {\n authorId: p.authorId,\n authorName: p.authorName,\n authorImage: p.authorImage\n };\n return p.status === \"streaming\" && p.content === \"\" ? /* @__PURE__ */ s(dh, {}, p._id) : p.status === \"streaming\" ? /* @__PURE__ */ s(ut, { text: Oi(p.content), streaming: !0, ...f }, p._id) : p.status === \"error\" ? /* @__PURE__ */ s(\n ut,\n {\n text: p.errorMessage ?? `${l.somethingWentWrong}. ${l.tryAgain}.`,\n error: !0,\n ...f\n },\n p._id\n ) : /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(ut, { text: Oi(p.content), ...f }),\n p.sources && p.sources.length > 0 ? /* @__PURE__ */ s(ch, { sources: p.sources }) : null\n ] }, p._id);\n }),\n /* @__PURE__ */ s(\"div\", { ref: c })\n ] });\n}\nfunction ur({ message: t }) {\n const [e, n] = T(!1);\n return E(() => {\n const r = setTimeout(() => {\n n(!0);\n }, 80);\n return () => {\n clearTimeout(r);\n };\n }, []), e ? /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-loading\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-loading-spinner\", \"aria-hidden\": \"true\" }),\n t && /* @__PURE__ */ s(\"p\", { class: \"jex-loading-message\", children: t })\n ] }) : null;\n}\nfunction fh({ sessionId: t, visitorId: e }) {\n const n = Zn(\n pe.functions.chat.public.conversations.listBySession,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), r = Zn(\n pe.functions.chat.public.sessions.getSessionStatus,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), i = t !== null && n === void 0, o = n?.some((a) => a.status === \"streaming\") ?? !1;\n return {\n conversations: n,\n sessionStatus: r ?? null,\n isLoading: i,\n isStreaming: o\n };\n}\nfunction mh({ greeting: t, sessionId: e, visitorId: n, isLoading: r, sessionNotFound: i, resumeFailed: o, isOrgDeleted: a, ensureSession: l, startFresh: c }) {\n const u = _(), { conversations: d, sessionStatus: h, isLoading: p, isStreaming: f } = fh({ sessionId: e, visitorId: n }), m = Ee(\n (() => {\n const g = Lt.peek();\n return g !== null ? g : Yo.peek() ? \"resume\" : \"fresh\";\n })()\n ).current;\n if (E(() => {\n Lt.value = null;\n }, []), E(() => {\n l();\n }, [l]), E(() => {\n n && kr(n);\n }, [n]), a)\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: u.chatNoLongerAvailable }) });\n const v = m === \"fresh\" && !e, x = m === \"resume\" && (!e || p);\n return v ? /* @__PURE__ */ s(ur, { message: u.startingConversation }) : x ? /* @__PURE__ */ s(ur, { message: u.resumeConversation }) : /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\n ph,\n {\n conversations: d,\n greeting: t,\n sessionNotFound: i,\n resumeFailed: o,\n onStartFresh: c,\n sessionId: e,\n visitorId: n\n }\n ),\n /* @__PURE__ */ s(\n ed,\n {\n sessionId: e,\n visitorId: n,\n isLoading: r,\n isStreaming: f,\n sessionStatus: h,\n ensureSession: l,\n onStartFresh: c\n }\n )\n ] });\n}\nfunction gh({ formMessageId: t, sessionId: e, visitorId: n }) {\n const r = _(), i = Xt.value, o = /^https?:\\/\\//i.test(i) ? i : Zt, [a, l] = T(\"\"), [c, u] = T(\"\"), d = ha(), [h, p] = T(!1), [f, m] = T(null);\n async function v(x) {\n x.preventDefault(), p(!0), m(null);\n try {\n await d({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: a.trim(),\n visitorEmail: c.trim(),\n locale: Pe.value\n }), bn();\n } catch (g) {\n console.error(\"[EscalationFormScreen] Submit failed:\", g), m(r.escalationSubmitFailed);\n } finally {\n p(!1);\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-escalation-subtitle\", children: r.escalationSubtitle }),\n f && /* @__PURE__ */ s(\"div\", { class: \"jex-form-error\", role: \"alert\", children: f }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (x) => {\n v(x);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: a,\n required: !0,\n onInput: (x) => {\n l(x.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: c,\n required: !0,\n onInput: (x) => {\n u(x.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", disabled: h, children: r.escalationSubmit })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", style: { textAlign: \"center\", margin: \"16px 0 8px 0\" }, children: [\n r.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: o, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r.escalationPrivacyLinkText }),\n \".\"\n ] }),\n /* @__PURE__ */ s(\"button\", { class: \"jex-escalation-skip\", type: \"button\", onClick: () => {\n bn();\n }, children: r.escalationSkip })\n ] });\n}\nfunction xh() {\n return Gt(pe.functions.chat.public.helpdesk.createEscalationRequest);\n}\nfunction zi({ sessionId: t, visitorId: e }) {\n const n = _(), [r, i] = T(!1), [o, a] = T(null), l = xh();\n async function c() {\n if (!t || !e)\n return;\n const u = De.value;\n if (u) {\n i(!0), a(null);\n try {\n const d = await l({\n sessionId: t,\n visitorId: e,\n bootstrapToken: u,\n locale: Pe.value\n });\n if (d.skipForm)\n return;\n Ze({ id: \"escalation-form\", formMessageId: d.formMessageId, sessionId: t, visitorId: e });\n } catch (d) {\n const h = d instanceof Error ? d.message : String(d);\n a(/RATE_LIMITED|Too many/.test(h) ? n.handoffRateLimited : n.handoffFailed);\n } finally {\n i(!1);\n }\n }\n }\n return /* @__PURE__ */ s(z, { children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-handoff\",\n type: \"button\",\n onClick: () => {\n c();\n },\n disabled: r || !t || !e,\n \"aria-label\": n.talkToHumanAria,\n title: n.talkToHuman,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M3 14v-3a9 9 0 0 1 18 0v3\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M3 14a2 2 0 0 0 2 2h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14v3a4 4 0 0 1-4 4h-3\" })\n ] })\n }\n ),\n o && /* @__PURE__ */ s(\"div\", { class: \"jex-handoff-error\", role: \"alert\", children: o })\n ] });\n}\nasync function bh() {\n const t = Uo.value;\n if (!t)\n return console.warn(\"[JexityChat] Bootstrap refresh skipped — inputs missing\"), { ok: !1, reason: \"no-inputs\" };\n const e = await Qo(t.orgSlug, t.siteUrl, t.projSlug);\n if (!e.ok)\n return console.warn(\"[JexityChat] Bootstrap refresh failed:\", e.error), { ok: !1, reason: e.error };\n const n = e.token;\n return De.value = n, { ok: !0, token: n };\n}\nfunction Bi(t) {\n return ka(t) ? \"unauthorized\" : t instanceof Error && /network|fetch|failed to fetch/i.test(t.message) ? \"network\" : \"unknown\";\n}\nfunction ka(t) {\n return t instanceof dn ? t.data?.code === \"UNAUTHORIZED_ORIGIN\" : !1;\n}\nfunction vh(t = 1e4) {\n return De.value ? Promise.resolve(De.value) : new Promise((e) => {\n let n = !1;\n const r = (a) => {\n n || (n = !0, clearTimeout(i), o(), e(a));\n }, i = setTimeout(() => {\n r(null);\n }, t), o = De.subscribe((a) => {\n a && r(a);\n });\n });\n}\nfunction yh(t, e) {\n const n = Ee(null), r = ft(!1), i = ft(!1), o = ft(!1), a = ft(null), l = Gt(pe.functions.chat.public.sessions.createOrResume), c = async (f) => {\n const m = await vh();\n if (!m)\n return console.warn(\"[JexityChat] No bootstrap token after 10s — session creation blocked.\"), ht.value = \"no-token\", null;\n const v = (b) => ({\n orgSlug: t,\n ...e ? { projSlug: e } : {},\n visitorId: f,\n bootstrapToken: b,\n locale: Pe.value,\n ...gn.value ? { source: gn.value } : {}\n });\n ir.value = !0;\n let x;\n try {\n try {\n x = await l(v(m));\n } catch (b) {\n if (!ka(b))\n throw b;\n const P = await bh();\n if (!P.ok)\n return ht.value = P.reason === \"rate_limited\" ? \"network\" : \"unauthorized\", null;\n x = await l(v(P.token));\n }\n } finally {\n ir.value = !1;\n }\n ht.value = null, a.value = x.status;\n const g = { sessionId: x.sessionId, visitorId: f };\n return n.current = g, { session: g, result: x };\n }, u = q(async () => {\n if (n.current)\n return n.current;\n if (o.value)\n return null;\n r.value = !0;\n const f = tt.value !== null, m = tt.value ?? bi();\n try {\n const v = await c(m);\n return v ? (f && v.result.isNew && (i.value = !0, o.value = !0), v.session) : null;\n } catch (v) {\n return console.error(\"[JexityChat] Failed to create session:\", v), ht.value = Bi(v), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, o]), d = q(() => {\n n.current = null, i.value = !1, o.value = !1;\n }, [i, o]);\n E(() => Rc(d), [d]);\n const h = q(async () => {\n n.current = null, o.value = !1, i.value = !1;\n const f = bi();\n r.value = !0;\n try {\n return (await c(f))?.session ?? null;\n } catch (m) {\n return console.error(\"[JexityChat] Failed to create fresh session:\", m), ht.value = Bi(m), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, o, a]), p = n.current;\n return {\n sessionId: p?.sessionId ?? null,\n visitorId: p?.visitorId ?? null,\n isLoading: r.value,\n sessionNotFound: i.value,\n resumeFailed: o.value,\n sessionStatus: a.value,\n isOrgDeleted: a.value === \"org_deleted\",\n ensureSession: u,\n startFresh: h,\n resetSession: d\n };\n}\nfunction wh() {\n const t = _(), [e, n] = T(\"\"), [r, i] = T(\"\"), [o, a] = T(\"\");\n async function l(c) {\n c.preventDefault(), rr({ id: \"loading\", message: t.submittingTicket }), await new Promise((d) => {\n setTimeout(d, 1200);\n });\n const u = \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n rr({ id: \"confirmation\", ref: u });\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: t.submitTicket }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (c) => {\n l(c);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: t.yourName,\n value: e,\n required: !0,\n onInput: (c) => {\n n(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: t.yourEmail,\n value: r,\n required: !0,\n onInput: (c) => {\n i(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n placeholder: t.howCanWeHelp,\n value: o,\n required: !0,\n onInput: (c) => {\n a(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: t.submit })\n ] })\n ] });\n}\nfunction kh({ ticketRef: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-icon\", \"aria-hidden\": \"true\", children: \"✓\" }),\n /* @__PURE__ */ s(\"h2\", { class: \"jex-confirmation-title\", children: e.ticketSubmitted }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-body\", children: e.yourReferenceNumber }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-ref\", children: t }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-hint\", children: e.sentToEmailHint }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-confirmation-done\",\n onClick: () => {\n Z.value = !1;\n },\n children: e.done\n }\n )\n ] });\n}\nfunction _h({ message: t, onRetry: e, onBack: n }) {\n const r = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-error\", children: [\n /* @__PURE__ */ s(\"p\", { class: \"jex-error-message\", children: t }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-error-actions\", children: [\n e && /* @__PURE__ */ s(\"button\", { class: \"jex-error-retry\", onClick: e, children: r.tryAgain }),\n n && /* @__PURE__ */ s(\"button\", { class: \"jex-error-back\", onClick: n, children: r.goBack })\n ] })\n ] });\n}\nfunction Di({ greeting: t, title: e, sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: d }) {\n const h = ue.value, p = h[h.length - 1], f = [...h].reverse().find(\n (m) => m.id === \"confirmation\"\n );\n return /* @__PURE__ */ s(\"div\", { class: \"jex-screen-container\", children: [\n p.id === \"home\" && /* @__PURE__ */ s(Fc, { greeting: t, title: e, onStartFresh: u, onResetSession: d }),\n p.id === \"selection\" && /* @__PURE__ */ s(Uc, { title: e }),\n p.id === \"form\" && /* @__PURE__ */ s(wh, {}),\n p.id === \"escalation-form\" && /* @__PURE__ */ s(\n gh,\n {\n formMessageId: p.formMessageId,\n sessionId: p.sessionId,\n visitorId: p.visitorId\n }\n ),\n p.id === \"confirmation\" && f && /* @__PURE__ */ s(kh, { ticketRef: f.ref }),\n p.id === \"chat\" && /* @__PURE__ */ s(\n mh,\n {\n greeting: t,\n sessionId: n,\n visitorId: r,\n isLoading: i,\n sessionNotFound: o,\n resumeFailed: a,\n isOrgDeleted: l,\n ensureSession: c,\n startFresh: u\n }\n ),\n p.id === \"loading\" && /* @__PURE__ */ s(ur, { message: p.message }),\n p.id === \"error\" && /* @__PURE__ */ s(\n _h,\n {\n message: p.message,\n onRetry: () => rr({ id: \"loading\" }),\n onBack: bn\n }\n )\n ] });\n}\nfunction jh({ options: t }) {\n return pc({\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n preToken: t.bootstrapToken,\n convexUrl: t.convexUrl,\n preAllowedUrls: t.allowedUrls ?? [],\n preExcludedPaths: t.excludePaths\n }), gc() ? /* @__PURE__ */ s(Sh, { options: t }) : null;\n}\nfunction Sh({ options: t }) {\n const e = dc(t.orgSlug, t.projSlug, t.convexUrl);\n wc(t.parentOrigin), E(() => {\n jc(), Sc();\n }, []);\n const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: d } = yh(t.orgSlug, t.projSlug), h = lc(t, e);\n E(() => {\n Pe.value = Wo(h.locale);\n }, [h.locale]), E(() => {\n Xt.value = h.privacyPolicyUrl ?? Zt, Fo.value = h.privacyNoticeStyle;\n }, [h.privacyNoticeStyle, h.privacyPolicyUrl]), E(() => {\n if (!Z.value || h.mode === \"embedded\" || !window.matchMedia(\"(max-width: 480px), (pointer: coarse) and (max-width: 768px)\").matches)\n return;\n const L = document.documentElement.style.overflow;\n return document.documentElement.style.overflow = \"hidden\", () => {\n document.documentElement.style.overflow = L;\n };\n }, [Z.value, h.mode]), E(() => {\n if (h.mode !== \"embedded\")\n try {\n return Ec();\n } catch (M) {\n console.warn(\"[JexityChat] Idle-lock watcher failed to start:\", M);\n return;\n }\n }, [h.mode]);\n const p = h.position === \"bottom-left\", f = h.colorScheme === \"dark\" || h.colorScheme === \"light\" ? h.colorScheme : \"\", m = $c({\n ...t,\n primaryColor: h.primaryColor,\n accentColor: h.accentColor,\n fontFamily: h.fontFamily,\n fontSize: h.fontSize,\n borderRadius: h.borderRadius,\n windowWidth: h.windowWidth,\n windowHeight: h.windowHeight\n }), v = h.mode === \"embedded\", x = ue.value, b = x[x.length - 1]?.id === \"chat\", N = e !== null || v || !!t.parentOrigin ? m : { ...m, visibility: \"hidden\" };\n return /* @__PURE__ */ s(\n \"div\",\n {\n class: `jex-widget ${f}`.trim(),\n style: N,\n children: v ? /* @__PURE__ */ s(\"div\", { class: \"jex-embedded\", children: [\n /* @__PURE__ */ s(\n wi,\n {\n title: h.title,\n rightAction: b ? /* @__PURE__ */ s(zi, { sessionId: n, visitorId: r }) : null,\n showClose: !v\n }\n ),\n /* @__PURE__ */ s(\n Di,\n {\n greeting: h.greeting,\n title: h.title,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n sessionId: n,\n visitorId: r,\n isLoading: i,\n sessionNotFound: o,\n resumeFailed: a,\n isOrgDeleted: l,\n ensureSession: c,\n startFresh: u,\n resetSession: d\n }\n ),\n !h.hideBranding && /* @__PURE__ */ s(ki, {})\n ] }) : /* @__PURE__ */ s(\"div\", { class: `jex-container${p ? \" jex-pos-left\" : \"\"}`, children: [\n Z.value && /* @__PURE__ */ s(\"div\", { class: \"jex-chat-window\", children: [\n /* @__PURE__ */ s(\n wi,\n {\n title: h.title,\n rightAction: b ? /* @__PURE__ */ s(zi, { sessionId: n, visitorId: r }) : null\n }\n ),\n /* @__PURE__ */ s(\n Di,\n {\n greeting: h.greeting,\n title: h.title,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n sessionId: n,\n visitorId: r,\n isLoading: i,\n sessionNotFound: o,\n resumeFailed: a,\n isOrgDeleted: l,\n ensureSession: c,\n startFresh: u,\n resetSession: d\n }\n ),\n !h.hideBranding && /* @__PURE__ */ s(ki, {})\n ] }),\n /* @__PURE__ */ s(\n Dc,\n {\n iconOption: h.triggerIcon,\n radius: h.triggerRadius,\n label: h.triggerLabel\n }\n )\n ] })\n }\n );\n}\nconst Ch = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: \"Inter\", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:20px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;animation:jexFadeIn .4s ease both}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}@keyframes jexPulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:12px;font-weight:500;color:#22c55e;letter-spacing:.02em}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:11px;opacity:.7;margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start}.jex-message-content{flex:1;min-width:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author-row{display:flex;align-items:center;gap:6px;margin-top:2px;padding-left:4px}.jex-message-author{font-size:10px;color:var(--jex-text-muted)}.jex-reply-tag-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.jex-reply-tag-btn:hover{background:#0000000f;color:var(--jex-primary, #115A62)}.jex-reply-tag-btn:focus-visible{outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}.jex-message{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-bottom-left-radius:4px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:\"◊\";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}`;\nfunction Th(t) {\n const e = document.createElement(\"style\");\n e.textContent = Ch, t.appendChild(e);\n}\nconst Rh = \"https://festive-mouse-978.eu-west-1.convex.cloud\";\nlet Dn = null;\nfunction Ah(t) {\n const e = t ?? Rh;\n if (!e)\n throw new Error(\"[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag\");\n return Dn || (Dn = new Vl(ac(e))), Dn;\n}\nfunction Ih(t, e) {\n const n = t.shadowRoot ?? t.attachShadow({ mode: \"open\" });\n for (; n.firstChild; )\n n.removeChild(n.firstChild);\n Th(n), gn.value = e.source, De.value = e.bootstrapToken, ue.value = [{ id: \"home\" }], e.mode === \"embedded\" && (t.classList.add(\"jex-mode-embedded\"), Z.value = !0);\n const r = document.createElement(\"div\");\n return e.mode === \"embedded\" && (r.style.cssText = \"width:100%;height:100%\"), n.appendChild(r), Xe(\n /* @__PURE__ */ s(Hl, { client: Ah(e.convexUrl), children: /* @__PURE__ */ s(jh, { options: e }) }),\n r\n ), function() {\n Xe(null, r), Z.value = !1, gn.value = void 0, De.value = void 0, ue.value = [{ id: \"home\" }];\n };\n}\nfunction Eh(t, e, n) {\n const r = Ih(t, e), i = /* @__PURE__ */ new Set(), o = Z.subscribe((l) => {\n for (const c of i)\n c(l);\n });\n return {\n shutdown() {\n o(), i.clear(), r(), n && n();\n },\n open() {\n Z.value = !0;\n },\n close() {\n Z.value = !1;\n },\n toggle() {\n Z.value = !Z.value;\n },\n get isOpen() {\n return Z.value;\n },\n subscribe(l) {\n return i.add(l), () => {\n i.delete(l);\n };\n }\n };\n}\nlet At = null;\nfunction $h(t) {\n At && At.shutdown();\n let e;\n t.container ? e = typeof t.container == \"string\" ? document.querySelector(t.container) : t.container : (e = document.createElement(\"div\"), e.id = \"jexity-chat-widget\", document.body.appendChild(e));\n const n = Eh(e, t, () => {\n t.container || e.remove(), At === n && (At = null);\n });\n return At = n, n;\n}\nexport {\n $h as JexityChat\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["JexityChatContext","createContext","JexityChatProvider","props","children","options","isOpen","setIsOpen","useState","instanceRef","useRef","unsubRef","containerRef","embedded","useEffect","cancelled","index","mod","mountOptions","inst","open","err","value","createElement","useJexityChat","ctx","useContext","k","Fi","Ui","Lr","Vi","Qi","Hi","dr","Un","Wi","Ot","Ki","Ma","Re","hr","r","i","Pt","La","we","Gi","Vn","pr","Zi","Ji","f","g","P","Oa","fr","Yi","za","eo","Ie","Or","zr","N","M","L","re","ie","Da","Y","Xi","Qn","Ba","to","Fa","Ua","Va","Fe","O","In","Br","gt","no","D","Dr","Fr","Ur","Vr","Qr","Hr","T","ao","E","mr","ro","q","io","oo","Qa","Hn","Ha","Wr","so","Wn","lo","En","co","uo","ho","po","Kn","Wa","Kr","Ka","Ga","Gr","Ja","Ya","Jr","mo","go","Za","It","Yr","Xa","es","ts","xo","ns","rs","is","os","as","ss","ls","Zr","cs","us","ds","gr","hs","Xr","ei","ti","ps","fs","_n","ms","gs","xs","bs","vs","ys","ws","ks","_s","xr","Te","js","$n","Ss","Cs","Ts","zt","Rs","As","Bt","Le","bo","Is","vo","br","Gn","Es","yo","Ps","qs","Ns","Ms","Ls","Os","ni","wo","a","ri","qt","Jn","Pn","$e","zs","Bs","qn","ii","oi","Ds","ko","ai","Fs","Us","si","Vs","_o","jo","So","Co","Qs","Ye","li","Hs","Ws","Ks","Gs","Js","Ys","Dt","To","Zs","Xs","el","vr","Ro","tl","nl","rl","Ft","il","ol","al","Nn","ci","sl","ll","Nt","ui","cl","ul","di","Mn","dl","hi","hl","pl","fl","ml","gl","xl","bl","pi","Ao","vl","yl","o","wl","kl","_l","jl","Io","Sl","Cl","Tl","fi","Rl","Al","Il","El","$l","Pl","ql","Nl","m","v","Ln","Ml","Ll","mi","Ol","zl","Bl","Dl","Me","Fl","Eo","Wl","Ul","Vl","jn","Ql","Hl","Zn","c","Yl","Kl","Gl","Jl","Zl","Xl","Be","Mt","Xn","qo","ec","I","$o","fn","Po","Yt","F","No","Mo","rt","er","Lo","yr","tc","wt","Oo","nc","zo","kt","Bo","ft","Do","rc","ic","oc","Z","gn","Zt","Fo","De","tr","nr","Uo","ac","Vo","sc","lc","cc","uc","dc","Qo","hc","gi","pc","xi","fc","mc","gc","wr","Ho","xc","bc","vc","Pe","yc","_","zn","Wo","wc","Ko","Go","Jo","Yo","Lt","kc","_c","jc","bi","vi","kr","Zo","Sc","Cc","Ze","rr","Tc","Ut","ir","or","Rc","Ac","n","Ic","yi","Ec","$c","_r","Pc","qc","Xo","Nc","Mc","wi","Lc","ki","ea","Oc","zc","Bc","Dc","Fc","Uc","Vc","_i","Qc","ji","Hc","Wc","Kc","Gc","Jc","jr","it","ta","R","Yc","Zc","Xc","eu","tu","Sr","na","ra","nu","Cr","ru","Tr","iu","ou","Tn","Rr","au","ia","su","Ar","Si","lu","cu","uu","du","oa","hu","_t","Rn","Ir","pu","aa","fu","mu","gu","sa","xu","bu","la","vu","yu","wu","ku","_u","ju","Su","Cu","Tu","Ru","Au","ca","ua","Iu","Ci","Er","Eu","ar","$u","Tt","Pu","Ti","Ri","Ai","Rt","qu","Nu","Ii","Mu","sr","wn","$r","lr","$t","Lu","$","Ou","zu","Ei","Oe","Bu","Du","Fu","Uu","Vu","Qu","da","Hu","Wu","l","Ku","Gu","Ju","Yu","$i","Zu","Xu","Pi","ed","td","nd","ha","rd","id","od","ad","sd","ld","pa","cd","Pr","ud","dd","ma","ga","hd","pd","fd","xa","md","gd","kn","xd","qr","bd","vd","yd","ba","wd","va","kd","_d","jd","Sd","Cd","Td","Nd","Rd","jt","Ue","U","S","fe","Md","qd","ke","Ad","Id","Ed","$d","Pd","wa","ze","ge","ya","Ld","Od","zd","qi","Bd","Dd","Fd","Ud","Vd","w","j","Ne","qe","_e","An","B","Qd","Hd","Ni","Mi","je","Nr","_a","ja","C","Sa","Ca","Ta","Ra","Aa","qa","Na","Ia","Mr","oh","Ea","$a","Pa","Wd","Jd","Zd","Xd","eh","th","ih","Kd","Gd","rh","Yd","cr","Ae","nh","ah","Li","sh","lh","ch","uh","dh","hh","Oi","ph","ur","fh","mh","gh","xh","zi","bh","Bi","ka","vh","yh","wh","kh","_h","Di","jh","Sh","b","Ch","Th","Rh","Dn","Ah","Ih","Eh","At","$h"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react.mjs","sources":["../src/entries/react.tsx","index.mjs"],"sourcesContent":["import {\n createContext,\n createElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { ReactNode } from 'react'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\n\ninterface JexityChatContextValue {\n open: () => void\n close: () => void\n toggle: () => void\n isOpen: boolean\n}\n\nconst JexityChatContext = createContext<JexityChatContextValue | null>(null)\n\nexport interface JexityChatProviderProps extends JexityChatOptions {\n children?: ReactNode\n}\n\nexport function JexityChatProvider(props: JexityChatProviderProps) {\n const { children, ...options } = props\n const [isOpen, setIsOpen] = useState(false)\n const instanceRef = useRef<JexityChatInstance | null>(null)\n const unsubRef = useRef<(() => void) | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n\n const embedded = options.mode === 'embedded'\n\n useEffect(() => {\n let cancelled = false\n\n // @ts-expect-error -- resolved at runtime, not in TS source tree\n import('./index.mjs').then(\n (mod: { JexityChat: (opts: JexityChatOptions) => JexityChatInstance }) => {\n if (cancelled) { return }\n\n // In embedded mode, mount into the provider's own container div.\n // In floating mode, let JexityChat create its own div on document.body.\n const mountOptions = embedded && containerRef.current\n ? { ...options, container: containerRef.current }\n : options\n\n const inst = mod.JexityChat(mountOptions)\n instanceRef.current = inst\n unsubRef.current = inst.subscribe((open) => { setIsOpen(open) })\n },\n ).catch((err: unknown) => {\n if (!cancelled) {\n console.error('[jexity] Failed to load widget core:', err)\n }\n })\n\n return () => {\n cancelled = true\n unsubRef.current?.()\n instanceRef.current?.shutdown()\n instanceRef.current = null\n unsubRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.orgSlug, options.projSlug])\n\n const value: JexityChatContextValue = {\n open: () => { instanceRef.current?.open() },\n close: () => { instanceRef.current?.close() },\n toggle: () => { instanceRef.current?.toggle() },\n isOpen,\n }\n\n // In embedded mode, render a host div that the widget mounts into.\n // In floating mode, render children only (widget mounts on document.body).\n return createElement(\n JexityChatContext.Provider,\n { value },\n embedded\n ? createElement('div', {\n ref: containerRef,\n style: { width: '100%', height: '100%' },\n })\n : children,\n )\n}\n\nexport function useJexityChat(): JexityChatContextValue {\n const ctx = useContext(JexityChatContext)\n if (!ctx) {\n throw new Error('useJexityChat must be used within a <JexityChatProvider>')\n }\n return ctx\n}\n","var Ht, k, Yi, Ji, Ye, Ur, Zi, Xi, eo, mr, Wn, Kn, to, Ot = {}, no = [], Ha = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Wt = Array.isArray;\nfunction Re(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction gr(t) {\n t && t.parentNode && t.parentNode.removeChild(t);\n}\nfunction xe(t, e, n) {\n var r, i, o, a = {};\n for (o in e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : a[o] = e[o];\n if (arguments.length > 2 && (a.children = arguments.length > 3 ? Ht.call(arguments, 2) : n), typeof t == \"function\" && t.defaultProps != null) for (o in t.defaultProps) a[o] === void 0 && (a[o] = t.defaultProps[o]);\n return $t(t, a, r, i, null);\n}\nfunction $t(t, e, n, r, i) {\n var o = { type: t, props: e, key: n, ref: r, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: i ?? ++Yi, __i: -1, __u: 0 };\n return i == null && k.vnode != null && k.vnode(o), o;\n}\nfunction Wa() {\n return { current: null };\n}\nfunction O(t) {\n return t.children;\n}\nfunction we(t, e) {\n this.props = t, this.context = e;\n}\nfunction mt(t, e) {\n if (e == null) return t.__ ? mt(t.__, t.__i + 1) : null;\n for (var n; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) return n.__e;\n return typeof t.type == \"function\" ? mt(t) : null;\n}\nfunction ro(t) {\n var e, n;\n if ((t = t.__) != null && t.__c != null) {\n for (t.__e = t.__c.base = null, e = 0; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) {\n t.__e = t.__c.base = n.__e;\n break;\n }\n return ro(t);\n }\n}\nfunction Gn(t) {\n (!t.__d && (t.__d = !0) && Ye.push(t) && !hn.__r++ || Ur != k.debounceRendering) && ((Ur = k.debounceRendering) || Zi)(hn);\n}\nfunction hn() {\n for (var t, e, n, r, i, o, a, l = 1; Ye.length; ) Ye.length > l && Ye.sort(Xi), t = Ye.shift(), l = Ye.length, t.__d && (n = void 0, r = void 0, i = (r = (e = t).__v).__e, o = [], a = [], e.__P && ((n = Re({}, r)).__v = r.__v + 1, k.vnode && k.vnode(n), xr(e.__P, n, r, e.__n, e.__P.namespaceURI, 32 & r.__u ? [i] : null, o, i ?? mt(r), !!(32 & r.__u), a), n.__v = r.__v, n.__.__k[n.__i] = n, ao(o, n, a), r.__e = r.__ = null, n.__e != i && ro(n)));\n hn.__r = 0;\n}\nfunction io(t, e, n, r, i, o, a, l, c, u, d) {\n var h, f, p, g, b, x, m, v = r && r.__k || no, S = e.length;\n for (c = Ka(n, e, v, c, S), h = 0; h < S; h++) (p = n.__k[h]) != null && (f = p.__i == -1 ? Ot : v[p.__i] || Ot, p.__i = h, x = xr(t, p, f, i, o, a, l, c, u, d), g = p.__e, p.ref && f.ref != p.ref && (f.ref && br(f.ref, null, p), d.push(p.ref, p.__c || g, p)), b == null && g != null && (b = g), (m = !!(4 & p.__u)) || f.__k === p.__k ? c = oo(p, c, t, m) : typeof p.type == \"function\" && x !== void 0 ? c = x : g && (c = g.nextSibling), p.__u &= -7);\n return n.__e = b, c;\n}\nfunction Ka(t, e, n, r, i) {\n var o, a, l, c, u, d = n.length, h = d, f = 0;\n for (t.__k = new Array(i), o = 0; o < i; o++) (a = e[o]) != null && typeof a != \"boolean\" && typeof a != \"function\" ? (c = o + f, (a = t.__k[o] = typeof a == \"string\" || typeof a == \"number\" || typeof a == \"bigint\" || a.constructor == String ? $t(null, a, null, null, null) : Wt(a) ? $t(O, { children: a }, null, null, null) : a.constructor == null && a.__b > 0 ? $t(a.type, a.props, a.key, a.ref ? a.ref : null, a.__v) : a).__ = t, a.__b = t.__b + 1, l = null, (u = a.__i = Ga(a, n, c, h)) != -1 && (h--, (l = n[u]) && (l.__u |= 2)), l == null || l.__v == null ? (u == -1 && (i > d ? f-- : i < d && f++), typeof a.type != \"function\" && (a.__u |= 4)) : u != c && (u == c - 1 ? f-- : u == c + 1 ? f++ : (u > c ? f-- : f++, a.__u |= 4))) : t.__k[o] = null;\n if (h) for (o = 0; o < d; o++) (l = n[o]) != null && (2 & l.__u) == 0 && (l.__e == r && (r = mt(l)), lo(l, l));\n return r;\n}\nfunction oo(t, e, n, r) {\n var i, o;\n if (typeof t.type == \"function\") {\n for (i = t.__k, o = 0; i && o < i.length; o++) i[o] && (i[o].__ = t, e = oo(i[o], e, n, r));\n return e;\n }\n t.__e != e && (r && (e && t.type && !e.parentNode && (e = mt(t)), n.insertBefore(t.__e, e || null)), e = t.__e);\n do\n e = e && e.nextSibling;\n while (e != null && e.nodeType == 8);\n return e;\n}\nfunction Ie(t, e) {\n return e = e || [], t == null || typeof t == \"boolean\" || (Wt(t) ? t.some(function(n) {\n Ie(n, e);\n }) : e.push(t)), e;\n}\nfunction Ga(t, e, n, r) {\n var i, o, a, l = t.key, c = t.type, u = e[n], d = u != null && (2 & u.__u) == 0;\n if (u === null && t.key == null || d && l == u.key && c == u.type) return n;\n if (r > (d ? 1 : 0)) {\n for (i = n - 1, o = n + 1; i >= 0 || o < e.length; ) if ((u = e[a = i >= 0 ? i-- : o++]) != null && (2 & u.__u) == 0 && l == u.key && c == u.type) return a;\n }\n return -1;\n}\nfunction Vr(t, e, n) {\n e[0] == \"-\" ? t.setProperty(e, n ?? \"\") : t[e] = n == null ? \"\" : typeof n != \"number\" || Ha.test(e) ? n : n + \"px\";\n}\nfunction nn(t, e, n, r, i) {\n var o, a;\n e: if (e == \"style\") if (typeof n == \"string\") t.style.cssText = n;\n else {\n if (typeof r == \"string\" && (t.style.cssText = r = \"\"), r) for (e in r) n && e in n || Vr(t.style, e, \"\");\n if (n) for (e in n) r && n[e] == r[e] || Vr(t.style, e, n[e]);\n }\n else if (e[0] == \"o\" && e[1] == \"n\") o = e != (e = e.replace(eo, \"$1\")), a = e.toLowerCase(), e = a in t || e == \"onFocusOut\" || e == \"onFocusIn\" ? a.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = n, n ? r ? n.u = r.u : (n.u = mr, t.addEventListener(e, o ? Kn : Wn, o)) : t.removeEventListener(e, o ? Kn : Wn, o);\n else {\n if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n t[e] = n ?? \"\";\n break e;\n } catch {\n }\n typeof n == \"function\" || (n == null || n === !1 && e[4] != \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && n == 1 ? \"\" : n));\n }\n}\nfunction Qr(t) {\n return function(e) {\n if (this.l) {\n var n = this.l[e.type + t];\n if (e.t == null) e.t = mr++;\n else if (e.t < n.u) return;\n return n(k.event ? k.event(e) : e);\n }\n };\n}\nfunction xr(t, e, n, r, i, o, a, l, c, u) {\n var d, h, f, p, g, b, x, m, v, S, B, L, N, D, ne, re, ie, H = e.type;\n if (e.constructor != null) return null;\n 128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (d = k.__b) && d(e);\n e: if (typeof H == \"function\") try {\n if (m = e.props, v = \"prototype\" in H && H.prototype.render, S = (d = H.contextType) && r[d.__c], B = d ? S ? S.props.value : d.__ : r, n.__c ? x = (h = e.__c = n.__c).__ = h.__E : (v ? e.__c = h = new H(m, B) : (e.__c = h = new we(m, B), h.constructor = H, h.render = Ja), S && S.sub(h), h.props = m, h.state || (h.state = {}), h.context = B, h.__n = r, f = h.__d = !0, h.__h = [], h._sb = []), v && h.__s == null && (h.__s = h.state), v && H.getDerivedStateFromProps != null && (h.__s == h.state && (h.__s = Re({}, h.__s)), Re(h.__s, H.getDerivedStateFromProps(m, h.__s))), p = h.props, g = h.state, h.__v = e, f) v && H.getDerivedStateFromProps == null && h.componentWillMount != null && h.componentWillMount(), v && h.componentDidMount != null && h.__h.push(h.componentDidMount);\n else {\n if (v && H.getDerivedStateFromProps == null && m !== p && h.componentWillReceiveProps != null && h.componentWillReceiveProps(m, B), !h.__e && h.shouldComponentUpdate != null && h.shouldComponentUpdate(m, h.__s, B) === !1 || e.__v == n.__v) {\n for (e.__v != n.__v && (h.props = m, h.state = h.__s, h.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(Z) {\n Z && (Z.__ = e);\n }), L = 0; L < h._sb.length; L++) h.__h.push(h._sb[L]);\n h._sb = [], h.__h.length && a.push(h);\n break e;\n }\n h.componentWillUpdate != null && h.componentWillUpdate(m, h.__s, B), v && h.componentDidUpdate != null && h.__h.push(function() {\n h.componentDidUpdate(p, g, b);\n });\n }\n if (h.context = B, h.props = m, h.__P = t, h.__e = !1, N = k.__r, D = 0, v) {\n for (h.state = h.__s, h.__d = !1, N && N(e), d = h.render(h.props, h.state, h.context), ne = 0; ne < h._sb.length; ne++) h.__h.push(h._sb[ne]);\n h._sb = [];\n } else do\n h.__d = !1, N && N(e), d = h.render(h.props, h.state, h.context), h.state = h.__s;\n while (h.__d && ++D < 25);\n h.state = h.__s, h.getChildContext != null && (r = Re(Re({}, r), h.getChildContext())), v && !f && h.getSnapshotBeforeUpdate != null && (b = h.getSnapshotBeforeUpdate(p, g)), re = d, d != null && d.type === O && d.key == null && (re = so(d.props.children)), l = io(t, Wt(re) ? re : [re], e, n, r, i, o, a, l, c, u), h.base = e.__e, e.__u &= -161, h.__h.length && a.push(h), x && (h.__E = h.__ = null);\n } catch (Z) {\n if (e.__v = null, c || o != null) if (Z.then) {\n for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;\n o[o.indexOf(l)] = null, e.__e = l;\n } else {\n for (ie = o.length; ie--; ) gr(o[ie]);\n Yn(e);\n }\n else e.__e = n.__e, e.__k = n.__k, Z.then || Yn(e);\n k.__e(Z, e, n);\n }\n else o == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = Ya(n.__e, e, n, r, i, o, a, c, u);\n return (d = k.diffed) && d(e), 128 & e.__u ? void 0 : l;\n}\nfunction Yn(t) {\n t && t.__c && (t.__c.__e = !0), t && t.__k && t.__k.forEach(Yn);\n}\nfunction ao(t, e, n) {\n for (var r = 0; r < n.length; r++) br(n[r], n[++r], n[++r]);\n k.__c && k.__c(e, t), t.some(function(i) {\n try {\n t = i.__h, i.__h = [], t.some(function(o) {\n o.call(i);\n });\n } catch (o) {\n k.__e(o, i.__v);\n }\n });\n}\nfunction so(t) {\n return typeof t != \"object\" || t == null || t.__b && t.__b > 0 ? t : Wt(t) ? t.map(so) : Re({}, t);\n}\nfunction Ya(t, e, n, r, i, o, a, l, c) {\n var u, d, h, f, p, g, b, x = n.props, m = e.props, v = e.type;\n if (v == \"svg\" ? i = \"http://www.w3.org/2000/svg\" : v == \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), o != null) {\n for (u = 0; u < o.length; u++) if ((p = o[u]) && \"setAttribute\" in p == !!v && (v ? p.localName == v : p.nodeType == 3)) {\n t = p, o[u] = null;\n break;\n }\n }\n if (t == null) {\n if (v == null) return document.createTextNode(m);\n t = document.createElementNS(i, v, m.is && m), l && (k.__m && k.__m(e, o), l = !1), o = null;\n }\n if (v == null) x === m || l && t.data == m || (t.data = m);\n else {\n if (o = o && Ht.call(t.childNodes), x = n.props || Ot, !l && o != null) for (x = {}, u = 0; u < t.attributes.length; u++) x[(p = t.attributes[u]).name] = p.value;\n for (u in x) if (p = x[u], u != \"children\") {\n if (u == \"dangerouslySetInnerHTML\") h = p;\n else if (!(u in m)) {\n if (u == \"value\" && \"defaultValue\" in m || u == \"checked\" && \"defaultChecked\" in m) continue;\n nn(t, u, null, p, i);\n }\n }\n for (u in m) p = m[u], u == \"children\" ? f = p : u == \"dangerouslySetInnerHTML\" ? d = p : u == \"value\" ? g = p : u == \"checked\" ? b = p : l && typeof p != \"function\" || x[u] === p || nn(t, u, p, x[u], i);\n if (d) l || h && (d.__html == h.__html || d.__html == t.innerHTML) || (t.innerHTML = d.__html), e.__k = [];\n else if (h && (t.innerHTML = \"\"), io(e.type == \"template\" ? t.content : t, Wt(f) ? f : [f], e, n, r, v == \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, o, a, o ? o[0] : n.__k && mt(n, 0), l, c), o != null) for (u = o.length; u--; ) gr(o[u]);\n l || (u = \"value\", v == \"progress\" && g == null ? t.removeAttribute(\"value\") : g != null && (g !== t[u] || v == \"progress\" && !g || v == \"option\" && g != x[u]) && nn(t, u, g, x[u], i), u = \"checked\", b != null && b != t[u] && nn(t, u, b, x[u], i));\n }\n return t;\n}\nfunction br(t, e, n) {\n try {\n if (typeof t == \"function\") {\n var r = typeof t.__u == \"function\";\n r && t.__u(), r && e == null || (t.__u = t(e));\n } else t.current = e;\n } catch (i) {\n k.__e(i, n);\n }\n}\nfunction lo(t, e, n) {\n var r, i;\n if (k.unmount && k.unmount(t), (r = t.ref) && (r.current && r.current != t.__e || br(r, null, e)), (r = t.__c) != null) {\n if (r.componentWillUnmount) try {\n r.componentWillUnmount();\n } catch (o) {\n k.__e(o, e);\n }\n r.base = r.__P = null;\n }\n if (r = t.__k) for (i = 0; i < r.length; i++) r[i] && lo(r[i], e, n || typeof t.type != \"function\");\n n || gr(t.__e), t.__c = t.__ = t.__e = void 0;\n}\nfunction Ja(t, e, n) {\n return this.constructor(t, n);\n}\nfunction et(t, e, n) {\n var r, i, o, a;\n e == document && (e = document.documentElement), k.__ && k.__(t, e), i = (r = typeof n == \"function\") ? null : n && n.__k || e.__k, o = [], a = [], xr(e, t = (!r && n || e).__k = xe(O, null, [t]), i || Ot, Ot, e.namespaceURI, !r && n ? [n] : i ? null : e.firstChild ? Ht.call(e.childNodes) : null, o, !r && n ? n : i ? i.__e : e.firstChild, r, a), ao(o, t, a);\n}\nfunction co(t, e) {\n et(t, e, co);\n}\nfunction Za(t, e, n) {\n var r, i, o, a, l = Re({}, t.props);\n for (o in t.type && t.type.defaultProps && (a = t.type.defaultProps), e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : l[o] = e[o] === void 0 && a != null ? a[o] : e[o];\n return arguments.length > 2 && (l.children = arguments.length > 3 ? Ht.call(arguments, 2) : n), $t(t.type, l, r || t.key, i || t.ref, null);\n}\nfunction Xa(t) {\n function e(n) {\n var r, i;\n return this.getChildContext || (r = /* @__PURE__ */ new Set(), (i = {})[e.__c] = this, this.getChildContext = function() {\n return i;\n }, this.componentWillUnmount = function() {\n r = null;\n }, this.shouldComponentUpdate = function(o) {\n this.props.value != o.value && r.forEach(function(a) {\n a.__e = !0, Gn(a);\n });\n }, this.sub = function(o) {\n r.add(o);\n var a = o.componentWillUnmount;\n o.componentWillUnmount = function() {\n r && r.delete(o), a && a.call(o);\n };\n }), n.children;\n }\n return e.__c = \"__cC\" + to++, e.__ = t, e.Provider = e.__l = (e.Consumer = function(n, r) {\n return n.children(r);\n }).contextType = e, e;\n}\nHt = no.slice, k = { __e: function(t, e, n, r) {\n for (var i, o, a; e = e.__; ) if ((i = e.__c) && !i.__) try {\n if ((o = i.constructor) && o.getDerivedStateFromError != null && (i.setState(o.getDerivedStateFromError(t)), a = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, r || {}), a = i.__d), a) return i.__E = i;\n } catch (l) {\n t = l;\n }\n throw t;\n} }, Yi = 0, Ji = function(t) {\n return t != null && t.constructor == null;\n}, we.prototype.setState = function(t, e) {\n var n;\n n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Re({}, this.state), typeof t == \"function\" && (t = t(Re({}, n), this.props)), t && Re(n, t), t != null && this.__v && (e && this._sb.push(e), Gn(this));\n}, we.prototype.forceUpdate = function(t) {\n this.__v && (this.__e = !0, t && this.__h.push(t), Gn(this));\n}, we.prototype.render = O, Ye = [], Zi = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, Xi = function(t, e) {\n return t.__v.__b - e.__v.__b;\n}, hn.__r = 0, eo = /(PointerCapture)$|Capture$/i, mr = 0, Wn = Qr(!1), Kn = Qr(!0), to = 0;\nvar es = 0;\nfunction s(t, e, n, r, i, o) {\n e || (e = {});\n var a, l, c = e;\n if (\"ref\" in c) for (l in c = {}, e) l == \"ref\" ? a = e[l] : c[l] = e[l];\n var u = { type: t, props: c, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --es, __i: -1, __u: 0, __source: i, __self: o };\n if (typeof t == \"function\" && (a = t.defaultProps)) for (l in a) c[l] === void 0 && (c[l] = a[l]);\n return k.vnode && k.vnode(u), u;\n}\nvar Ue, z, Nn, Hr, gt = 0, uo = [], U = k, Wr = U.__b, Kr = U.__r, Gr = U.diffed, Yr = U.__c, Jr = U.unmount, Zr = U.__;\nfunction yt(t, e) {\n U.__h && U.__h(z, t, gt || e), gt = 0;\n var n = z.__H || (z.__H = { __: [], __h: [] });\n return t >= n.__.length && n.__.push({}), n.__[t];\n}\nfunction A(t) {\n return gt = 1, he(mo, t);\n}\nfunction he(t, e, n) {\n var r = yt(Ue++, 2);\n if (r.t = t, !r.__c && (r.__ = [n ? n(e) : mo(void 0, e), function(l) {\n var c = r.__N ? r.__N[0] : r.__[0], u = r.t(c, l);\n c !== u && (r.__N = [u, r.__[1]], r.__c.setState({}));\n }], r.__c = z, !z.__f)) {\n var i = function(l, c, u) {\n if (!r.__c.__H) return !0;\n var d = r.__c.__H.__.filter(function(f) {\n return !!f.__c;\n });\n if (d.every(function(f) {\n return !f.__N;\n })) return !o || o.call(this, l, c, u);\n var h = r.__c.props !== l;\n return d.forEach(function(f) {\n if (f.__N) {\n var p = f.__[0];\n f.__ = f.__N, f.__N = void 0, p !== f.__[0] && (h = !0);\n }\n }), o && o.call(this, l, c, u) || h;\n };\n z.__f = !0;\n var o = z.shouldComponentUpdate, a = z.componentWillUpdate;\n z.componentWillUpdate = function(l, c, u) {\n if (this.__e) {\n var d = o;\n o = void 0, i(l, c, u), o = d;\n }\n a && a.call(this, l, c, u);\n }, z.shouldComponentUpdate = i;\n }\n return r.__N || r.__;\n}\nfunction P(t, e) {\n var n = yt(Ue++, 3);\n !U.__s && vr(n.__H, e) && (n.__ = t, n.u = e, z.__H.__h.push(n));\n}\nfunction Kt(t, e) {\n var n = yt(Ue++, 4);\n !U.__s && vr(n.__H, e) && (n.__ = t, n.u = e, z.__h.push(n));\n}\nfunction Ee(t) {\n return gt = 5, Y(function() {\n return { current: t };\n }, []);\n}\nfunction ho(t, e, n) {\n gt = 6, Kt(function() {\n if (typeof t == \"function\") {\n var r = t(e());\n return function() {\n t(null), r && typeof r == \"function\" && r();\n };\n }\n if (t) return t.current = e(), function() {\n return t.current = null;\n };\n }, n == null ? n : n.concat(t));\n}\nfunction Y(t, e) {\n var n = yt(Ue++, 7);\n return vr(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;\n}\nfunction q(t, e) {\n return gt = 8, Y(function() {\n return t;\n }, e);\n}\nfunction Gt(t) {\n var e = z.context[t.__c], n = yt(Ue++, 9);\n return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(z)), e.props.value) : t.__;\n}\nfunction po(t, e) {\n U.useDebugValue && U.useDebugValue(e ? e(t) : t);\n}\nfunction fo() {\n var t = yt(Ue++, 11);\n if (!t.__) {\n for (var e = z.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;\n var n = e.__m || (e.__m = [0, 0]);\n t.__ = \"P\" + n[0] + \"-\" + n[1]++;\n }\n return t.__;\n}\nfunction ts() {\n for (var t; t = uo.shift(); ) if (t.__P && t.__H) try {\n t.__H.__h.forEach(ln), t.__H.__h.forEach(Jn), t.__H.__h = [];\n } catch (e) {\n t.__H.__h = [], U.__e(e, t.__v);\n }\n}\nU.__b = function(t) {\n z = null, Wr && Wr(t);\n}, U.__ = function(t, e) {\n t && e.__k && e.__k.__m && (t.__m = e.__k.__m), Zr && Zr(t, e);\n}, U.__r = function(t) {\n Kr && Kr(t), Ue = 0;\n var e = (z = t.__c).__H;\n e && (Nn === z ? (e.__h = [], z.__h = [], e.__.forEach(function(n) {\n n.__N && (n.__ = n.__N), n.u = n.__N = void 0;\n })) : (e.__h.forEach(ln), e.__h.forEach(Jn), e.__h = [], Ue = 0)), Nn = z;\n}, U.diffed = function(t) {\n Gr && Gr(t);\n var e = t.__c;\n e && e.__H && (e.__H.__h.length && (uo.push(e) !== 1 && Hr === U.requestAnimationFrame || ((Hr = U.requestAnimationFrame) || ns)(ts)), e.__H.__.forEach(function(n) {\n n.u && (n.__H = n.u), n.u = void 0;\n })), Nn = z = null;\n}, U.__c = function(t, e) {\n e.some(function(n) {\n try {\n n.__h.forEach(ln), n.__h = n.__h.filter(function(r) {\n return !r.__ || Jn(r);\n });\n } catch (r) {\n e.some(function(i) {\n i.__h && (i.__h = []);\n }), e = [], U.__e(r, n.__v);\n }\n }), Yr && Yr(t, e);\n}, U.unmount = function(t) {\n Jr && Jr(t);\n var e, n = t.__c;\n n && n.__H && (n.__H.__.forEach(function(r) {\n try {\n ln(r);\n } catch (i) {\n e = i;\n }\n }), n.__H = void 0, e && U.__e(e, n.__v));\n};\nvar Xr = typeof requestAnimationFrame == \"function\";\nfunction ns(t) {\n var e, n = function() {\n clearTimeout(r), Xr && cancelAnimationFrame(e), setTimeout(t);\n }, r = setTimeout(n, 35);\n Xr && (e = requestAnimationFrame(n));\n}\nfunction ln(t) {\n var e = z, n = t.__c;\n typeof n == \"function\" && (t.__c = void 0, n()), z = e;\n}\nfunction Jn(t) {\n var e = z;\n t.__c = t.__(), z = e;\n}\nfunction vr(t, e) {\n return !t || t.length !== e.length || e.some(function(n, r) {\n return n !== t[r];\n });\n}\nfunction mo(t, e) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction go(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction Zn(t, e) {\n for (var n in t) if (n !== \"__source\" && !(n in e)) return !0;\n for (var r in e) if (r !== \"__source\" && t[r] !== e[r]) return !0;\n return !1;\n}\nfunction xo(t, e) {\n var n = e(), r = A({ t: { __: n, u: e } }), i = r[0].t, o = r[1];\n return Kt(function() {\n i.__ = n, i.u = e, Mn(i) && o({ t: i });\n }, [t, n, e]), P(function() {\n return Mn(i) && o({ t: i }), t(function() {\n Mn(i) && o({ t: i });\n });\n }, [t]), n;\n}\nfunction Mn(t) {\n var e, n, r = t.u, i = t.__;\n try {\n var o = r();\n return !((e = i) === (n = o) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);\n } catch {\n return !0;\n }\n}\nfunction bo(t) {\n t();\n}\nfunction vo(t) {\n return t;\n}\nfunction yo() {\n return [!1, bo];\n}\nvar wo = Kt;\nfunction Xn(t, e) {\n this.props = t, this.context = e;\n}\nfunction rs(t, e) {\n function n(i) {\n var o = this.props.ref, a = o == i.ref;\n return !a && o && (o.call ? o(null) : o.current = null), e ? !e(this.props, i) || !a : Zn(this.props, i);\n }\n function r(i) {\n return this.shouldComponentUpdate = n, xe(t, i);\n }\n return r.displayName = \"Memo(\" + (t.displayName || t.name) + \")\", r.prototype.isReactComponent = !0, r.__f = !0, r.type = t, r;\n}\n(Xn.prototype = new we()).isPureReactComponent = !0, Xn.prototype.shouldComponentUpdate = function(t, e) {\n return Zn(this.props, t) || Zn(this.state, e);\n};\nvar ei = k.__b;\nk.__b = function(t) {\n t.type && t.type.__f && t.ref && (t.props.ref = t.ref, t.ref = null), ei && ei(t);\n};\nvar is = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.forward_ref\") || 3911;\nfunction os(t) {\n function e(n) {\n var r = go({}, n);\n return delete r.ref, t(r, n.ref || null);\n }\n return e.$$typeof = is, e.render = t, e.prototype.isReactComponent = e.__f = !0, e.displayName = \"ForwardRef(\" + (t.displayName || t.name) + \")\", e;\n}\nvar ti = function(t, e) {\n return t == null ? null : Ie(Ie(t).map(e));\n}, as = { map: ti, forEach: ti, count: function(t) {\n return t ? Ie(t).length : 0;\n}, only: function(t) {\n var e = Ie(t);\n if (e.length !== 1) throw \"Children.only\";\n return e[0];\n}, toArray: Ie }, ss = k.__e;\nk.__e = function(t, e, n, r) {\n if (t.then) {\n for (var i, o = e; o = o.__; ) if ((i = o.__c) && i.__c) return e.__e == null && (e.__e = n.__e, e.__k = n.__k), i.__c(t, e);\n }\n ss(t, e, n, r);\n};\nvar ni = k.unmount;\nfunction ko(t, e, n) {\n return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach(function(r) {\n typeof r.__c == \"function\" && r.__c();\n }), t.__c.__H = null), (t = go({}, t)).__c != null && (t.__c.__P === n && (t.__c.__P = e), t.__c.__e = !0, t.__c = null), t.__k = t.__k && t.__k.map(function(r) {\n return ko(r, e, n);\n })), t;\n}\nfunction _o(t, e, n) {\n return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {\n return _o(r, e, n);\n }), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;\n}\nfunction cn() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction jo(t) {\n var e = t.__.__c;\n return e && e.__a && e.__a(t);\n}\nfunction ls(t) {\n var e, n, r;\n function i(o) {\n if (e || (e = t()).then(function(a) {\n n = a.default || a;\n }, function(a) {\n r = a;\n }), r) throw r;\n if (!n) throw e;\n return xe(n, o);\n }\n return i.displayName = \"Lazy\", i.__f = !0, i;\n}\nfunction It() {\n this.i = null, this.l = null;\n}\nk.unmount = function(t) {\n var e = t.__c;\n e && e.__R && e.__R(), e && 32 & t.__u && (t.type = null), ni && ni(t);\n}, (cn.prototype = new we()).__c = function(t, e) {\n var n = e.__c, r = this;\n r.o == null && (r.o = []), r.o.push(n);\n var i = jo(r.__v), o = !1, a = function() {\n o || (o = !0, n.__R = null, i ? i(l) : l());\n };\n n.__R = a;\n var l = function() {\n if (!--r.__u) {\n if (r.state.__a) {\n var c = r.state.__a;\n r.__v.__k[0] = _o(c, c.__c.__P, c.__c.__O);\n }\n var u;\n for (r.setState({ __a: r.__b = null }); u = r.o.pop(); ) u.forceUpdate();\n }\n };\n r.__u++ || 32 & e.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), t.then(a, a);\n}, cn.prototype.componentWillUnmount = function() {\n this.o = [];\n}, cn.prototype.render = function(t, e) {\n if (this.__b) {\n if (this.__v.__k) {\n var n = document.createElement(\"div\"), r = this.__v.__k[0].__c;\n this.__v.__k[0] = ko(this.__b, n, r.__O = r.__P);\n }\n this.__b = null;\n }\n var i = e.__a && xe(O, null, t.fallback);\n return i && (i.__u &= -33), [xe(O, null, e.__a ? null : t.children), i];\n};\nvar ri = function(t, e, n) {\n if (++n[1] === n[0] && t.l.delete(e), t.props.revealOrder && (t.props.revealOrder[0] !== \"t\" || !t.l.size)) for (n = t.i; n; ) {\n for (; n.length > 3; ) n.pop()();\n if (n[1] < n[0]) break;\n t.i = n = n[2];\n }\n};\nfunction cs(t) {\n return this.getChildContext = function() {\n return t.context;\n }, t.children;\n}\nfunction us(t) {\n var e = this, n = t.h;\n if (e.componentWillUnmount = function() {\n et(null, e.v), e.v = null, e.h = null;\n }, e.h && e.h !== n && e.componentWillUnmount(), !e.v) {\n for (var r = e.__v; r !== null && !r.__m && r.__ !== null; ) r = r.__;\n e.h = n, e.v = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: r.__m }, contains: function() {\n return !0;\n }, insertBefore: function(i, o) {\n this.childNodes.push(i), e.h.insertBefore(i, o);\n }, removeChild: function(i) {\n this.childNodes.splice(this.childNodes.indexOf(i) >>> 1, 1), e.h.removeChild(i);\n } };\n }\n et(xe(cs, { context: e.context }, t.__v), e.v);\n}\nfunction ds(t, e) {\n var n = xe(us, { __v: t, h: e });\n return n.containerInfo = e, n;\n}\n(It.prototype = new we()).__a = function(t) {\n var e = this, n = jo(e.__v), r = e.l.get(t);\n return r[0]++, function(i) {\n var o = function() {\n e.props.revealOrder ? (r.push(i), ri(e, t, r)) : i();\n };\n n ? n(o) : o();\n };\n}, It.prototype.render = function(t) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var e = Ie(t.children);\n t.revealOrder && t.revealOrder[0] === \"b\" && e.reverse();\n for (var n = e.length; n--; ) this.l.set(e[n], this.i = [1, 0, this.i]);\n return t.children;\n}, It.prototype.componentDidUpdate = It.prototype.componentDidMount = function() {\n var t = this;\n this.l.forEach(function(e, n) {\n ri(t, n, e);\n });\n};\nvar So = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.element\") || 60103, hs = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, ps = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, fs = /[A-Z0-9]/g, ms = typeof document < \"u\", gs = function(t) {\n return (typeof Symbol < \"u\" && typeof /* @__PURE__ */ Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(t);\n};\nfunction xs(t, e, n) {\n return e.__k == null && (e.textContent = \"\"), et(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nfunction bs(t, e, n) {\n return co(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nwe.prototype.isReactComponent = {}, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t) {\n Object.defineProperty(we.prototype, t, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t];\n }, set: function(e) {\n Object.defineProperty(this, t, { configurable: !0, writable: !0, value: e });\n } });\n});\nvar ii = k.event;\nfunction vs() {\n}\nfunction ys() {\n return this.cancelBubble;\n}\nfunction ws() {\n return this.defaultPrevented;\n}\nk.event = function(t) {\n return ii && (t = ii(t)), t.persist = vs, t.isPropagationStopped = ys, t.isDefaultPrevented = ws, t.nativeEvent = t;\n};\nvar yr, ks = { enumerable: !1, configurable: !0, get: function() {\n return this.class;\n} }, oi = k.vnode;\nk.vnode = function(t) {\n typeof t.type == \"string\" && (function(e) {\n var n = e.props, r = e.type, i = {}, o = r.indexOf(\"-\") === -1;\n for (var a in n) {\n var l = n[a];\n if (!(a === \"value\" && \"defaultValue\" in n && l == null || ms && a === \"children\" && r === \"noscript\" || a === \"class\" || a === \"className\")) {\n var c = a.toLowerCase();\n a === \"defaultValue\" && \"value\" in n && n.value == null ? a = \"value\" : a === \"download\" && l === !0 ? l = \"\" : c === \"translate\" && l === \"no\" ? l = !1 : c[0] === \"o\" && c[1] === \"n\" ? c === \"ondoubleclick\" ? a = \"ondblclick\" : c !== \"onchange\" || r !== \"input\" && r !== \"textarea\" || gs(n.type) ? c === \"onfocus\" ? a = \"onfocusin\" : c === \"onblur\" ? a = \"onfocusout\" : ps.test(a) && (a = c) : c = a = \"oninput\" : o && hs.test(a) ? a = a.replace(fs, \"-$&\").toLowerCase() : l === null && (l = void 0), c === \"oninput\" && i[a = c] && (a = \"oninputCapture\"), i[a] = l;\n }\n }\n r == \"select\" && i.multiple && Array.isArray(i.value) && (i.value = Ie(n.children).forEach(function(u) {\n u.props.selected = i.value.indexOf(u.props.value) != -1;\n })), r == \"select\" && i.defaultValue != null && (i.value = Ie(n.children).forEach(function(u) {\n u.props.selected = i.multiple ? i.defaultValue.indexOf(u.props.value) != -1 : i.defaultValue == u.props.value;\n })), n.class && !n.className ? (i.class = n.class, Object.defineProperty(i, \"className\", ks)) : (n.className && !n.class || n.class && n.className) && (i.class = i.className = n.className), e.props = i;\n })(t), t.$$typeof = So, oi && oi(t);\n};\nvar ai = k.__r;\nk.__r = function(t) {\n ai && ai(t), yr = t.__c;\n};\nvar si = k.diffed;\nk.diffed = function(t) {\n si && si(t);\n var e = t.props, n = t.__e;\n n != null && t.type === \"textarea\" && \"value\" in e && e.value !== n.value && (n.value = e.value == null ? \"\" : e.value), yr = null;\n};\nvar _s = { ReactCurrentDispatcher: { current: { readContext: function(t) {\n return yr.__n[t.__c].props.value;\n}, useCallback: q, useContext: Gt, useDebugValue: po, useDeferredValue: vo, useEffect: P, useId: fo, useImperativeHandle: ho, useInsertionEffect: wo, useLayoutEffect: Kt, useMemo: Y, useReducer: he, useRef: Ee, useState: A, useSyncExternalStore: xo, useTransition: yo } } };\nfunction js(t) {\n return xe.bind(null, t);\n}\nfunction Tn(t) {\n return !!t && t.$$typeof === So;\n}\nfunction Ss(t) {\n return Tn(t) && t.type === O;\n}\nfunction Cs(t) {\n return !!t && !!t.displayName && (typeof t.displayName == \"string\" || t.displayName instanceof String) && t.displayName.startsWith(\"Memo(\");\n}\nfunction Ts(t) {\n return Tn(t) ? Za.apply(null, arguments) : t;\n}\nfunction Rs(t) {\n return !!t.__k && (et(null, t), !0);\n}\nfunction As(t) {\n return t && (t.base || t.nodeType === 1 && t) || null;\n}\nvar Is = function(t, e) {\n return t(e);\n}, Es = function(t, e) {\n return t(e);\n}, Ps = O, $s = Tn, wr = { useState: A, useId: fo, useReducer: he, useEffect: P, useLayoutEffect: Kt, useInsertionEffect: wo, useTransition: yo, useDeferredValue: vo, useSyncExternalStore: xo, startTransition: bo, useRef: Ee, useImperativeHandle: ho, useMemo: Y, useCallback: q, useContext: Gt, useDebugValue: po, version: \"18.3.1\", Children: as, render: xs, hydrate: bs, unmountComponentAtNode: Rs, createPortal: ds, createElement: xe, createContext: Xa, createFactory: js, cloneElement: Ts, createRef: Wa, Fragment: O, isValidElement: Tn, isElement: $s, isFragment: Ss, isMemo: Cs, findDOMNode: As, Component: we, PureComponent: Xn, memo: rs, forwardRef: os, flushSync: Es, unstable_batchedUpdates: Is, StrictMode: Ps, Suspense: cn, SuspenseList: It, lazy: ls, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: _s }, Te = [], me = [], qs = Uint8Array, Ln = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var ct = 0, Ns = Ln.length; ct < Ns; ++ct)\n Te[ct] = Ln[ct], me[Ln.charCodeAt(ct)] = ct;\nme[45] = 62;\nme[95] = 63;\nfunction Ms(t) {\n var e = t.length;\n if (e % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var n = t.indexOf(\"=\");\n n === -1 && (n = e);\n var r = n === e ? 0 : 4 - n % 4;\n return [n, r];\n}\nfunction Ls(t, e, n) {\n return (e + n) * 3 / 4 - n;\n}\nfunction zt(t) {\n var e, n = Ms(t), r = n[0], i = n[1], o = new qs(Ls(t, r, i)), a = 0, l = i > 0 ? r - 4 : r, c;\n for (c = 0; c < l; c += 4)\n e = me[t.charCodeAt(c)] << 18 | me[t.charCodeAt(c + 1)] << 12 | me[t.charCodeAt(c + 2)] << 6 | me[t.charCodeAt(c + 3)], o[a++] = e >> 16 & 255, o[a++] = e >> 8 & 255, o[a++] = e & 255;\n return i === 2 && (e = me[t.charCodeAt(c)] << 2 | me[t.charCodeAt(c + 1)] >> 4, o[a++] = e & 255), i === 1 && (e = me[t.charCodeAt(c)] << 10 | me[t.charCodeAt(c + 1)] << 4 | me[t.charCodeAt(c + 2)] >> 2, o[a++] = e >> 8 & 255, o[a++] = e & 255), o;\n}\nfunction Os(t) {\n return Te[t >> 18 & 63] + Te[t >> 12 & 63] + Te[t >> 6 & 63] + Te[t & 63];\n}\nfunction zs(t, e, n) {\n for (var r, i = [], o = e; o < n; o += 3)\n r = (t[o] << 16 & 16711680) + (t[o + 1] << 8 & 65280) + (t[o + 2] & 255), i.push(Os(r));\n return i.join(\"\");\n}\nfunction Bt(t) {\n for (var e, n = t.length, r = n % 3, i = [], o = 16383, a = 0, l = n - r; a < l; a += o)\n i.push(\n zs(\n t,\n a,\n a + o > l ? l : a + o\n )\n );\n return r === 1 ? (e = t[n - 1], i.push(Te[e >> 2] + Te[e << 4 & 63] + \"==\")) : r === 2 && (e = (t[n - 2] << 8) + t[n - 1], i.push(\n Te[e >> 10] + Te[e >> 4 & 63] + Te[e << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nfunction Oe(t) {\n if (t === void 0)\n return {};\n if (!Co(t))\n throw new Error(\n `The arguments to a Convex function must be an object. Received: ${t}`\n );\n return t;\n}\nfunction Bs(t) {\n if (typeof t > \"u\")\n throw new Error(\n \"Client created with undefined deployment address. If you used an environment variable, check that it's set.\"\n );\n if (typeof t != \"string\")\n throw new Error(\n `Invalid deployment address: found ${t}\".`\n );\n if (!(t.startsWith(\"http:\") || t.startsWith(\"https:\")))\n throw new Error(\n `Invalid deployment address: Must start with \"https://\" or \"http://\". Found \"${t}\".`\n );\n try {\n new URL(t);\n } catch {\n throw new Error(\n `Invalid deployment address: \"${t}\" is not a valid URL. If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n }\n if (t.endsWith(\".convex.site\"))\n throw new Error(\n `Invalid deployment address: \"${t}\" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n}\nfunction Co(t) {\n const e = typeof t == \"object\", n = Object.getPrototypeOf(t), r = n === null || n === Object.prototype || // Objects generated from other contexts (e.g. across Node.js `vm` modules) will not satisfy the previous\n // conditions but are still simple objects.\n n?.constructor?.name === \"Object\";\n return e && r;\n}\nconst To = !0, xt = BigInt(\"-9223372036854775808\"), kr = BigInt(\"9223372036854775807\"), er = BigInt(\"0\"), Ds = BigInt(\"8\"), Fs = BigInt(\"256\");\nfunction Ro(t) {\n return Number.isNaN(t) || !Number.isFinite(t) || Object.is(t, -0);\n}\nfunction Us(t) {\n t < er && (t -= xt + xt);\n let e = t.toString(16);\n e.length % 2 === 1 && (e = \"0\" + e);\n const n = new Uint8Array(new ArrayBuffer(8));\n let r = 0;\n for (const i of e.match(/.{2}/g).reverse())\n n.set([parseInt(i, 16)], r++), t >>= Ds;\n return Bt(n);\n}\nfunction Vs(t) {\n const e = zt(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n let n = er, r = er;\n for (const i of e)\n n += BigInt(i) * Fs ** r, r++;\n return n > kr && (n += xt + xt), n;\n}\nfunction Qs(t) {\n if (t < xt || kr < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n const e = new ArrayBuffer(8);\n return new DataView(e).setBigInt64(0, t, !0), Bt(new Uint8Array(e));\n}\nfunction Hs(t) {\n const e = zt(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n return new DataView(e.buffer).getBigInt64(0, !0);\n}\nconst Ws = DataView.prototype.setBigInt64 ? Qs : Us, Ks = DataView.prototype.getBigInt64 ? Hs : Vs, li = 1024;\nfunction Ao(t) {\n if (t.length > li)\n throw new Error(\n `Field name ${t} exceeds maximum field name length ${li}.`\n );\n if (t.startsWith(\"$\"))\n throw new Error(`Field name ${t} starts with a '$', which is reserved.`);\n for (let e = 0; e < t.length; e += 1) {\n const n = t.charCodeAt(e);\n if (n < 32 || n >= 127)\n throw new Error(\n `Field name ${t} has invalid character '${t[e]}': Field names can only contain non-control ASCII characters`\n );\n }\n}\nfunction bt(t) {\n if (t === null || typeof t == \"boolean\" || typeof t == \"number\" || typeof t == \"string\")\n return t;\n if (Array.isArray(t))\n return t.map((r) => bt(r));\n if (typeof t != \"object\")\n throw new Error(`Unexpected type of ${t}`);\n const e = Object.entries(t);\n if (e.length === 1) {\n const r = e[0][0];\n if (r === \"$bytes\") {\n if (typeof t.$bytes != \"string\")\n throw new Error(`Malformed $bytes field on ${t}`);\n return zt(t.$bytes).buffer;\n }\n if (r === \"$integer\") {\n if (typeof t.$integer != \"string\")\n throw new Error(`Malformed $integer field on ${t}`);\n return Ks(t.$integer);\n }\n if (r === \"$float\") {\n if (typeof t.$float != \"string\")\n throw new Error(`Malformed $float field on ${t}`);\n const i = zt(t.$float);\n if (i.byteLength !== 8)\n throw new Error(\n `Received ${i.byteLength} bytes, expected 8 for $float`\n );\n const a = new DataView(i.buffer).getFloat64(0, To);\n if (!Ro(a))\n throw new Error(`Float ${a} should be encoded as a number`);\n return a;\n }\n if (r === \"$set\")\n throw new Error(\n \"Received a Set which is no longer supported as a Convex type.\"\n );\n if (r === \"$map\")\n throw new Error(\n \"Received a Map which is no longer supported as a Convex type.\"\n );\n }\n const n = {};\n for (const [r, i] of Object.entries(t))\n Ao(r), n[r] = bt(i);\n return n;\n}\nconst ci = 16384;\nfunction qt(t) {\n const e = JSON.stringify(t, (n, r) => r === void 0 ? \"undefined\" : typeof r == \"bigint\" ? `${r.toString()}n` : r);\n if (e.length > ci) {\n const n = \"[...truncated]\";\n let r = ci - n.length;\n const i = e.codePointAt(r - 1);\n return i !== void 0 && i > 65535 && (r -= 1), e.substring(0, r) + n;\n }\n return e;\n}\nfunction tr(t, e, n, r) {\n if (t === void 0) {\n const a = n && ` (present at path ${n} in original object ${qt(\n e\n )})`;\n throw new Error(\n `undefined is not a valid Convex value${a}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`\n );\n }\n if (t === null)\n return t;\n if (typeof t == \"bigint\") {\n if (t < xt || kr < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n return { $integer: Ws(t) };\n }\n if (typeof t == \"number\")\n if (Ro(t)) {\n const a = new ArrayBuffer(8);\n return new DataView(a).setFloat64(0, t, To), { $float: Bt(new Uint8Array(a)) };\n } else\n return t;\n if (typeof t == \"boolean\" || typeof t == \"string\")\n return t;\n if (t instanceof ArrayBuffer)\n return { $bytes: Bt(new Uint8Array(t)) };\n if (Array.isArray(t))\n return t.map(\n (a, l) => tr(a, e, n + `[${l}]`)\n );\n if (t instanceof Set)\n throw new Error(\n On(n, \"Set\", [...t], e)\n );\n if (t instanceof Map)\n throw new Error(\n On(n, \"Map\", [...t], e)\n );\n if (!Co(t)) {\n const a = t?.constructor?.name, l = a ? `${a} ` : \"\";\n throw new Error(\n On(n, l, t, e)\n );\n }\n const i = {}, o = Object.entries(t);\n o.sort(([a, l], [c, u]) => a === c ? 0 : a < c ? -1 : 1);\n for (const [a, l] of o)\n l !== void 0 && (Ao(a), i[a] = tr(l, e, n + `.${a}`));\n return i;\n}\nfunction On(t, e, n, r) {\n return t ? `${e}${qt(\n n\n )} is not a supported Convex type (present at path ${t} in original object ${qt(\n r\n )}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${qt(\n n\n )} is not a supported Convex type.`;\n}\nfunction Pe(t) {\n return tr(t, t, \"\");\n}\nvar Gs = Object.defineProperty, Ys = (t, e, n) => e in t ? Gs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, zn = (t, e, n) => Ys(t, typeof e != \"symbol\" ? e + \"\" : e, n), ui, di;\nconst Js = /* @__PURE__ */ Symbol.for(\"ConvexError\");\nclass pn extends (di = Error, ui = Js, di) {\n constructor(e) {\n super(typeof e == \"string\" ? e : qt(e)), zn(this, \"name\", \"ConvexError\"), zn(this, \"data\"), zn(this, ui, !0), this.data = e;\n }\n}\nconst Io = () => Array.from({ length: 4 }, () => 0);\nIo();\nIo();\nconst hi = \"1.42.0\";\nvar Zs = Object.defineProperty, Xs = (t, e, n) => e in t ? Zs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, pi = (t, e, n) => Xs(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst el = \"color:rgb(0, 145, 255)\";\nfunction Eo(t) {\n switch (t) {\n case \"query\":\n return \"Q\";\n case \"mutation\":\n return \"M\";\n case \"action\":\n return \"A\";\n case \"any\":\n return \"?\";\n }\n}\nclass Po {\n constructor(e) {\n pi(this, \"_onLogLineFuncs\"), pi(this, \"_verbose\"), this._onLogLineFuncs = {}, this._verbose = e.verbose;\n }\n addLogLineListener(e) {\n let n = Math.random().toString(36).substring(2, 15);\n for (let r = 0; r < 10 && this._onLogLineFuncs[n] !== void 0; r++)\n n = Math.random().toString(36).substring(2, 15);\n return this._onLogLineFuncs[n] = e, () => {\n delete this._onLogLineFuncs[n];\n };\n }\n logVerbose(...e) {\n if (this._verbose)\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"debug\", `${(/* @__PURE__ */ new Date()).toISOString()}`, ...e);\n }\n log(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"info\", ...e);\n }\n warn(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"warn\", ...e);\n }\n error(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"error\", ...e);\n }\n}\nfunction $o(t) {\n const e = new Po(t);\n return e.addLogLineListener((n, ...r) => {\n switch (n) {\n case \"debug\":\n console.debug(...r);\n break;\n case \"info\":\n console.log(...r);\n break;\n case \"warn\":\n console.warn(...r);\n break;\n case \"error\":\n console.error(...r);\n break;\n default:\n console.log(...r);\n }\n }), e;\n}\nfunction qo(t) {\n return new Po(t);\n}\nfunction fn(t, e, n, r, i) {\n const o = Eo(n);\n if (typeof i == \"object\" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === \"info\") {\n const a = i.match(/^\\[.*?\\] /);\n if (a === null) {\n t.error(\n `[CONVEX ${o}(${r})] Could not parse console.log`\n );\n return;\n }\n const l = i.slice(1, a[0].length - 2), c = i.slice(a[0].length);\n t.log(`%c[CONVEX ${o}(${r})] [${l}]`, el, c);\n } else\n t.error(`[CONVEX ${o}(${r})] ${i}`);\n}\nfunction tl(t, e) {\n const n = `[CONVEX FATAL ERROR] ${e}`;\n return t.error(n), new Error(n);\n}\nfunction pt(t, e, n) {\n return `[CONVEX ${Eo(t)}(${e})] ${n.errorMessage}\n Called by client`;\n}\nfunction nr(t, e) {\n return e.data = t.errorData, e;\n}\nfunction tt(t) {\n const e = t.split(\":\");\n let n, r;\n return e.length === 1 ? (n = e[0], r = \"default\") : (n = e.slice(0, e.length - 1).join(\":\"), r = e[e.length - 1]), n.endsWith(\".js\") && (n = n.slice(0, -3)), `${n}:${r}`;\n}\nfunction Ze(t, e) {\n return JSON.stringify({\n udfPath: tt(t),\n args: Pe(e)\n });\n}\nfunction fi(t, e, n) {\n const { initialNumItems: r, id: i } = n;\n return JSON.stringify({\n type: \"paginated\",\n udfPath: tt(t),\n args: Pe(e),\n options: Pe({ initialNumItems: r, id: i })\n });\n}\nvar nl = Object.defineProperty, rl = (t, e, n) => e in t ? nl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Se = (t, e, n) => rl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass il {\n constructor() {\n Se(this, \"nextQueryId\"), Se(this, \"querySetVersion\"), Se(this, \"querySet\"), Se(this, \"queryIdToToken\"), Se(this, \"identityVersion\"), Se(this, \"auth\"), Se(this, \"outstandingQueriesOlderThanRestart\"), Se(this, \"outstandingAuthOlderThanRestart\"), Se(this, \"paused\"), Se(this, \"pendingQuerySetModifications\"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();\n }\n hasSyncedPastLastReconnect() {\n return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;\n }\n markAuthCompletion() {\n this.outstandingAuthOlderThanRestart = !1;\n }\n subscribe(e, n, r, i) {\n const o = tt(e), a = Ze(o, n), l = this.querySet.get(a);\n if (l !== void 0)\n return l.numSubscribers += 1, {\n queryToken: a,\n modification: null,\n unsubscribe: () => this.removeSubscriber(a)\n };\n {\n const c = this.nextQueryId++, u = {\n id: c,\n canonicalizedUdfPath: o,\n args: n,\n numSubscribers: 1,\n journal: r,\n componentPath: i\n };\n this.querySet.set(a, u), this.queryIdToToken.set(c, a);\n const d = this.querySetVersion, h = this.querySetVersion + 1, f = {\n type: \"Add\",\n queryId: c,\n udfPath: o,\n args: [Pe(n)],\n journal: r,\n componentPath: i\n };\n return this.paused ? this.pendingQuerySetModifications.set(c, f) : this.querySetVersion = h, {\n queryToken: a,\n modification: {\n type: \"ModifyQuerySet\",\n baseVersion: d,\n newVersion: h,\n modifications: [f]\n },\n unsubscribe: () => this.removeSubscriber(a)\n };\n }\n }\n transition(e) {\n for (const n of e.modifications)\n switch (n.type) {\n case \"QueryUpdated\":\n case \"QueryFailed\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n const r = n.journal;\n if (r !== void 0) {\n const i = this.queryIdToToken.get(n.queryId);\n i !== void 0 && (this.querySet.get(i).journal = r);\n }\n break;\n }\n case \"QueryRemoved\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${n.type}`);\n }\n }\n queryId(e, n) {\n const r = tt(e), i = Ze(r, n), o = this.querySet.get(i);\n return o !== void 0 ? o.id : null;\n }\n isCurrentOrNewerAuthVersion(e) {\n return e >= this.identityVersion;\n }\n getAuth() {\n return this.auth;\n }\n setAuth(e) {\n this.auth = {\n tokenType: \"User\",\n value: e\n };\n const n = this.identityVersion;\n return this.paused || (this.identityVersion = n + 1), {\n type: \"Authenticate\",\n baseVersion: n,\n ...this.auth\n };\n }\n setAdminAuth(e, n) {\n const r = {\n tokenType: \"Admin\",\n value: e,\n impersonating: n\n };\n this.auth = r;\n const i = this.identityVersion;\n return this.paused || (this.identityVersion = i + 1), {\n type: \"Authenticate\",\n baseVersion: i,\n ...r\n };\n }\n clearAuth() {\n this.auth = void 0, this.markAuthCompletion();\n const e = this.identityVersion;\n return this.paused || (this.identityVersion = e + 1), {\n type: \"Authenticate\",\n tokenType: \"None\",\n baseVersion: e\n };\n }\n hasAuth() {\n return !!this.auth;\n }\n isNewAuth(e) {\n return this.auth?.value !== e;\n }\n queryPath(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).canonicalizedUdfPath : null;\n }\n queryArgs(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).args : null;\n }\n queryToken(e) {\n return this.queryIdToToken.get(e) ?? null;\n }\n queryJournal(e) {\n return this.querySet.get(e)?.journal;\n }\n restart() {\n this.unpause(), this.outstandingQueriesOlderThanRestart.clear();\n const e = [];\n for (const i of this.querySet.values()) {\n const o = {\n type: \"Add\",\n queryId: i.id,\n udfPath: i.canonicalizedUdfPath,\n args: [Pe(i.args)],\n journal: i.journal,\n componentPath: i.componentPath\n };\n e.push(o), this.outstandingQueriesOlderThanRestart.add(i.id);\n }\n this.querySetVersion = 1;\n const n = {\n type: \"ModifyQuerySet\",\n baseVersion: 0,\n newVersion: 1,\n modifications: e\n };\n if (!this.auth)\n return this.identityVersion = 0, [n, void 0];\n this.outstandingAuthOlderThanRestart = !0;\n const r = {\n type: \"Authenticate\",\n baseVersion: 0,\n ...this.auth\n };\n return this.identityVersion = 1, [n, r];\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n const e = this.pendingQuerySetModifications.size > 0 ? {\n type: \"ModifyQuerySet\",\n baseVersion: this.querySetVersion,\n newVersion: ++this.querySetVersion,\n modifications: Array.from(\n this.pendingQuerySetModifications.values()\n )\n } : void 0, n = this.auth !== void 0 ? {\n type: \"Authenticate\",\n baseVersion: this.identityVersion++,\n ...this.auth\n } : void 0;\n return this.unpause(), [e, n];\n }\n unpause() {\n this.paused = !1, this.pendingQuerySetModifications.clear();\n }\n removeSubscriber(e) {\n const n = this.querySet.get(e);\n if (n.numSubscribers > 1)\n return n.numSubscribers -= 1, null;\n {\n this.querySet.delete(e), this.queryIdToToken.delete(n.id), this.outstandingQueriesOlderThanRestart.delete(n.id);\n const r = this.querySetVersion, i = this.querySetVersion + 1, o = {\n type: \"Remove\",\n queryId: n.id\n };\n return this.paused ? this.pendingQuerySetModifications.has(n.id) ? this.pendingQuerySetModifications.delete(n.id) : this.pendingQuerySetModifications.set(n.id, o) : this.querySetVersion = i, {\n type: \"ModifyQuerySet\",\n baseVersion: r,\n newVersion: i,\n modifications: [o]\n };\n }\n }\n}\nvar ol = Object.defineProperty, al = (t, e, n) => e in t ? ol(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, rn = (t, e, n) => al(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass sl {\n constructor(e, n) {\n this.logger = e, this.markConnectionStateDirty = n, rn(this, \"inflightRequests\"), rn(this, \"requestsOlderThanRestart\"), rn(this, \"inflightMutationsCount\", 0), rn(this, \"inflightActionsCount\", 0), this.inflightRequests = /* @__PURE__ */ new Map(), this.requestsOlderThanRestart = /* @__PURE__ */ new Set();\n }\n request(e, n) {\n const r = new Promise((i) => {\n const o = n ? \"Requested\" : \"NotSent\";\n this.inflightRequests.set(e.requestId, {\n message: e,\n status: { status: o, requestedAt: /* @__PURE__ */ new Date(), onResult: i }\n }), e.type === \"Mutation\" ? this.inflightMutationsCount++ : e.type === \"Action\" && this.inflightActionsCount++;\n });\n return this.markConnectionStateDirty(), r;\n }\n /**\n * Update the state after receiving a response.\n *\n * @returns A RequestId if the request is complete and its optimistic update\n * can be dropped, null otherwise.\n */\n onResponse(e) {\n const n = this.inflightRequests.get(e.requestId);\n if (n === void 0 || n.status.status === \"Completed\")\n return null;\n const r = n.message.type === \"Mutation\" ? \"mutation\" : \"action\", i = n.message.udfPath;\n for (const c of e.logLines)\n fn(this.logger, \"info\", r, i, c);\n const o = n.status;\n let a, l;\n if (e.success)\n a = {\n success: !0,\n logLines: e.logLines,\n value: bt(e.result)\n }, l = () => o.onResult(a);\n else {\n const c = e.result, { errorData: u } = e;\n fn(this.logger, \"error\", r, i, c), a = {\n success: !1,\n errorMessage: c,\n errorData: u !== void 0 ? bt(u) : void 0,\n logLines: e.logLines\n }, l = () => o.onResult(a);\n }\n return e.type === \"ActionResponse\" || !e.success ? (l(), this.inflightRequests.delete(e.requestId), this.requestsOlderThanRestart.delete(e.requestId), n.message.type === \"Action\" ? this.inflightActionsCount-- : n.message.type === \"Mutation\" && this.inflightMutationsCount--, this.markConnectionStateDirty(), { requestId: e.requestId, result: a }) : (n.status = {\n status: \"Completed\",\n result: a,\n ts: e.ts,\n onResolve: l\n }, null);\n }\n // Remove and returns completed requests.\n removeCompleted(e) {\n const n = /* @__PURE__ */ new Map();\n for (const [r, i] of this.inflightRequests.entries()) {\n const o = i.status;\n o.status === \"Completed\" && o.ts.lessThanOrEqual(e) && (o.onResolve(), n.set(r, o.result), i.message.type === \"Mutation\" ? this.inflightMutationsCount-- : i.message.type === \"Action\" && this.inflightActionsCount--, this.inflightRequests.delete(r), this.requestsOlderThanRestart.delete(r));\n }\n return n.size > 0 && this.markConnectionStateDirty(), n;\n }\n restart() {\n this.requestsOlderThanRestart = new Set(this.inflightRequests.keys());\n const e = [];\n for (const [n, r] of this.inflightRequests) {\n if (r.status.status === \"NotSent\") {\n r.status.status = \"Requested\", e.push(r.message);\n continue;\n }\n if (r.message.type === \"Mutation\")\n e.push(r.message);\n else if (r.message.type === \"Action\") {\n if (this.inflightRequests.delete(n), this.requestsOlderThanRestart.delete(n), this.inflightActionsCount--, r.status.status === \"Completed\")\n throw new Error(\"Action should never be in 'Completed' state\");\n r.status.onResult({\n success: !1,\n errorMessage: \"Connection lost while action was in flight\",\n logLines: []\n });\n }\n }\n return this.markConnectionStateDirty(), e;\n }\n resume() {\n const e = [];\n for (const [, n] of this.inflightRequests)\n if (n.status.status === \"NotSent\") {\n n.status.status = \"Requested\", e.push(n.message);\n continue;\n }\n return e;\n }\n /**\n * @returns true if there are any requests that have been requested but have\n * not be completed yet.\n */\n hasIncompleteRequests() {\n for (const e of this.inflightRequests.values())\n if (e.status.status === \"Requested\")\n return !0;\n return !1;\n }\n /**\n * @returns true if there are any inflight requests, including ones that have\n * completed on the server, but have not been applied.\n */\n hasInflightRequests() {\n return this.inflightRequests.size > 0;\n }\n /**\n * @returns true if there are any inflight requests, that have been hanging around\n * since prior to the most recent restart.\n */\n hasSyncedPastLastReconnect() {\n return this.requestsOlderThanRestart.size === 0;\n }\n timeOfOldestInflightRequest() {\n if (this.inflightRequests.size === 0)\n return null;\n let e = Date.now();\n for (const n of this.inflightRequests.values())\n n.status.status !== \"Completed\" && n.status.requestedAt.getTime() < e && (e = n.status.requestedAt.getTime());\n return new Date(e);\n }\n /**\n * @returns The number of mutations currently in flight.\n */\n inflightMutations() {\n return this.inflightMutationsCount;\n }\n /**\n * @returns The number of actions currently in flight.\n */\n inflightActions() {\n return this.inflightActionsCount;\n }\n}\nconst Dt = /* @__PURE__ */ Symbol.for(\"functionName\"), No = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction ll(t) {\n return t[No] ?? null;\n}\nfunction cl(t) {\n return t.startsWith(\"function://\");\n}\nfunction ul(t) {\n let e;\n if (typeof t == \"string\")\n cl(t) ? e = { functionHandle: t } : e = { name: t };\n else if (t[Dt])\n e = { name: t[Dt] };\n else {\n const n = ll(t);\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n e = { reference: n };\n }\n return e;\n}\nfunction oe(t) {\n const e = ul(t);\n if (e.name === void 0)\n throw e.functionHandle !== void 0 ? new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received function handle ${e.functionHandle}`\n ) : e.reference !== void 0 ? new Error(\n `Expected function reference in the current component like \"api.file.func\" or \"internal.file.func\", but received reference ${e.reference}`\n ) : new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received ${JSON.stringify(e)}`\n );\n if (typeof t == \"string\") return t;\n const n = t[Dt];\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n return n;\n}\nfunction _r(t) {\n return { [Dt]: t };\n}\nfunction Mo(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return Mo(i);\n } else if (r === Dt) {\n if (t.length < 2) {\n const a = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${a}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), o = t[t.length - 1];\n return o === \"default\" ? i : i + \":\" + o;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nconst dl = Mo();\nvar hl = Object.defineProperty, pl = (t, e, n) => e in t ? hl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, mn = (t, e, n) => pl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ft {\n constructor(e) {\n mn(this, \"queryResults\"), mn(this, \"modifiedQueries\"), this.queryResults = e, this.modifiedQueries = [];\n }\n getQuery(e, ...n) {\n const r = Oe(n[0]), i = oe(e), o = this.queryResults.get(\n Ze(i, r)\n );\n if (o !== void 0)\n return Ft.queryValue(o.result);\n }\n getAllQueries(e) {\n const n = [], r = oe(e);\n for (const i of this.queryResults.values())\n i.udfPath === tt(r) && n.push({\n args: i.args,\n value: Ft.queryValue(i.result)\n });\n return n;\n }\n setQuery(e, n, r) {\n const i = Oe(n), o = oe(e), a = Ze(o, i);\n let l;\n r === void 0 ? l = void 0 : l = {\n success: !0,\n value: r,\n // It's an optimistic update, so there are no function logs to show.\n logLines: []\n };\n const c = {\n udfPath: o,\n args: i,\n result: l\n };\n this.queryResults.set(a, c), this.modifiedQueries.push(a);\n }\n static queryValue(e) {\n if (e !== void 0)\n return e.success ? e.value : void 0;\n }\n}\nclass fl {\n constructor() {\n mn(this, \"queryResults\"), mn(this, \"optimisticUpdates\"), this.queryResults = /* @__PURE__ */ new Map(), this.optimisticUpdates = [];\n }\n /**\n * Apply all optimistic updates on top of server query results\n */\n ingestQueryResultsFromServer(e, n) {\n this.optimisticUpdates = this.optimisticUpdates.filter((a) => !n.has(a.mutationId));\n const r = this.queryResults;\n this.queryResults = new Map(e);\n const i = new Ft(this.queryResults);\n for (const a of this.optimisticUpdates)\n a.update(i);\n const o = [];\n for (const [a, l] of this.queryResults) {\n const c = r.get(a);\n (c === void 0 || c.result !== l.result) && o.push(a);\n }\n return o;\n }\n applyOptimisticUpdate(e, n) {\n this.optimisticUpdates.push({\n update: e,\n mutationId: n\n });\n const r = new Ft(this.queryResults);\n return e(r), r.modifiedQueries;\n }\n /**\n * \"Raw\" with respect to errors vs values, but query results still have\n * optimistic updates applied.\n *\n * @internal\n */\n rawQueryResult(e) {\n const n = this.queryResults.get(e);\n if (n !== void 0)\n return n.result;\n }\n queryResult(e) {\n const n = this.queryResults.get(e);\n if (n === void 0)\n return;\n const r = n.result;\n if (r !== void 0) {\n if (r.success)\n return r.value;\n throw r.errorData !== void 0 ? nr(\n r,\n new pn(\n pt(\"query\", n.udfPath, r)\n )\n ) : new Error(\n pt(\"query\", n.udfPath, r)\n );\n }\n }\n hasQueryResult(e) {\n return this.queryResults.get(e) !== void 0;\n }\n /**\n * @internal\n */\n queryLogs(e) {\n return this.queryResults.get(e)?.result?.logLines;\n }\n}\nvar ml = Object.defineProperty, gl = (t, e, n) => e in t ? ml(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Bn = (t, e, n) => gl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass le {\n constructor(e, n) {\n Bn(this, \"low\"), Bn(this, \"high\"), Bn(this, \"__isUnsignedLong__\"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;\n }\n static isLong(e) {\n return (e && e.__isUnsignedLong__) === !0;\n }\n // prettier-ignore\n static fromBytesLE(e) {\n return new le(\n e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,\n e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24\n );\n }\n // prettier-ignore\n toBytesLE() {\n const e = this.high, n = this.low;\n return [\n n & 255,\n n >>> 8 & 255,\n n >>> 16 & 255,\n n >>> 24,\n e & 255,\n e >>> 8 & 255,\n e >>> 16 & 255,\n e >>> 24\n ];\n }\n static fromNumber(e) {\n return isNaN(e) || e < 0 ? mi : e >= xl ? bl : new le(e % Nt | 0, e / Nt | 0);\n }\n toString() {\n return (BigInt(this.high) * BigInt(Nt) + BigInt(this.low)).toString();\n }\n equals(e) {\n return le.isLong(e) || (e = le.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;\n }\n notEquals(e) {\n return !this.equals(e);\n }\n comp(e) {\n return le.isLong(e) || (e = le.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;\n }\n lessThanOrEqual(e) {\n return this.comp(\n /* validates */\n e\n ) <= 0;\n }\n static fromValue(e) {\n return typeof e == \"number\" ? le.fromNumber(e) : new le(e.low, e.high);\n }\n}\nconst mi = new le(0, 0), gi = 65536, Nt = gi * gi, xl = Nt * Nt, bl = new le(-1, -1);\nvar vl = Object.defineProperty, yl = (t, e, n) => e in t ? vl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, on = (t, e, n) => yl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass xi {\n constructor(e, n) {\n on(this, \"version\"), on(this, \"remoteQuerySet\"), on(this, \"queryPath\"), on(this, \"logger\"), this.version = { querySet: 0, ts: le.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;\n }\n transition(e) {\n const n = e.startVersion;\n if (this.version.querySet !== n.querySet || this.version.ts.notEquals(n.ts) || this.version.identity !== n.identity)\n throw new Error(\n `Invalid start version: ${n.ts.toString()}:${n.querySet}:${n.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`\n );\n for (const r of e.modifications)\n switch (r.type) {\n case \"QueryUpdated\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n fn(this.logger, \"info\", \"query\", i, a);\n const o = bt(r.value ?? null);\n this.remoteQuerySet.set(r.queryId, {\n success: !0,\n value: o,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryFailed\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n fn(this.logger, \"info\", \"query\", i, a);\n const { errorData: o } = r;\n this.remoteQuerySet.set(r.queryId, {\n success: !1,\n errorMessage: r.errorMessage,\n errorData: o !== void 0 ? bt(o) : void 0,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryRemoved\": {\n this.remoteQuerySet.delete(r.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${r.type}`);\n }\n this.version = e.endVersion;\n }\n remoteQueryResults() {\n return this.remoteQuerySet;\n }\n timestamp() {\n return this.version.ts;\n }\n}\nfunction Dn(t) {\n const e = zt(t);\n return le.fromBytesLE(Array.from(e));\n}\nfunction wl(t) {\n const e = new Uint8Array(t.toBytesLE());\n return Bt(e);\n}\nfunction bi(t) {\n switch (t.type) {\n case \"FatalError\":\n case \"AuthError\":\n case \"ActionResponse\":\n case \"TransitionChunk\":\n case \"Ping\":\n return { ...t };\n case \"MutationResponse\":\n return t.success ? { ...t, ts: Dn(t.ts) } : { ...t };\n case \"Transition\":\n return {\n ...t,\n startVersion: {\n ...t.startVersion,\n ts: Dn(t.startVersion.ts)\n },\n endVersion: {\n ...t.endVersion,\n ts: Dn(t.endVersion.ts)\n }\n };\n }\n}\nfunction kl(t) {\n switch (t.type) {\n case \"Authenticate\":\n case \"ModifyQuerySet\":\n case \"Mutation\":\n case \"Action\":\n case \"Event\":\n return { ...t };\n case \"Connect\":\n return t.maxObservedTimestamp !== void 0 ? {\n ...t,\n maxObservedTimestamp: wl(t.maxObservedTimestamp)\n } : { ...t, maxObservedTimestamp: void 0 };\n }\n}\nvar _l = Object.defineProperty, jl = (t, e, n) => e in t ? _l(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, K = (t, e, n) => jl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Sl = 1e3, Cl = 1001, Tl = 1005, Rl = 4040;\nlet un;\nfunction dt() {\n return un === void 0 && (un = Date.now()), typeof performance > \"u\" || !performance.now ? Date.now() : Math.round(un + performance.now());\n}\nfunction vi() {\n return `t=${Math.round((dt() - un) / 100) / 10}s`;\n}\nconst Lo = {\n // A known error, e.g. during a restart or push\n InternalServerError: { timeout: 1e3 },\n // ErrorMetadata::overloaded() messages that we realy should back off\n SubscriptionsWorkerFullError: { timeout: 3e3 },\n TooManyConcurrentRequests: { timeout: 3e3 },\n CommitterFullError: { timeout: 3e3 },\n AwsTooManyRequestsException: { timeout: 3e3 },\n ExecuteFullError: { timeout: 3e3 },\n SystemTimeoutError: { timeout: 3e3 },\n ExpiredInQueue: { timeout: 3e3 },\n // ErrorMetadata::feature_temporarily_unavailable() that typically indicate a deploy just happened\n VectorIndexesUnavailable: { timeout: 1e3 },\n SearchIndexesUnavailable: { timeout: 1e3 },\n TableSummariesUnavailable: { timeout: 1e3 },\n // More ErrorMetadata::overloaded()\n VectorIndexTooLarge: { timeout: 3e3 },\n SearchIndexTooLarge: { timeout: 3e3 },\n TooManyWritesInTimePeriod: { timeout: 3e3 }\n};\nfunction Al(t) {\n if (t === void 0) return \"Unknown\";\n for (const e of Object.keys(\n Lo\n ))\n if (t.startsWith(e))\n return e;\n return \"Unknown\";\n}\nclass Il {\n constructor(e, n, r, i, o, a) {\n this.markConnectionStateDirty = o, this.debug = a, K(this, \"socket\"), K(this, \"connectionCount\"), K(this, \"_hasEverConnected\", !1), K(this, \"lastCloseReason\"), K(this, \"transitionChunkBuffer\", null), K(this, \"defaultInitialBackoff\"), K(this, \"maxBackoff\"), K(this, \"retries\"), K(this, \"serverInactivityThreshold\"), K(this, \"reconnectDueToServerInactivityTimeout\"), K(this, \"scheduledReconnect\", null), K(this, \"networkOnlineHandler\", null), K(this, \"pendingNetworkRecoveryInfo\", null), K(this, \"uri\"), K(this, \"onOpen\"), K(this, \"onResume\"), K(this, \"onMessage\"), K(this, \"webSocketConstructor\"), K(this, \"logger\"), K(this, \"onServerDisconnectError\"), this.webSocketConstructor = r, this.socket = { state: \"disconnected\" }, this.connectionCount = 0, this.lastCloseReason = \"InitialConnect\", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();\n }\n setSocketState(e) {\n this.socket = e, this._logVerbose(\n `socket state changed: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}`\n ), this.markConnectionStateDirty();\n }\n setupNetworkListener() {\n typeof window > \"u\" || typeof window.addEventListener != \"function\" || this.networkOnlineHandler === null && (this.networkOnlineHandler = () => {\n this._logVerbose(\"network online event detected\"), this.tryReconnectImmediately();\n }, window.addEventListener(\"online\", this.networkOnlineHandler), this._logVerbose(\"network online event listener registered\"));\n }\n cleanupNetworkListener() {\n this.networkOnlineHandler && typeof window < \"u\" && typeof window.removeEventListener == \"function\" && (window.removeEventListener(\"online\", this.networkOnlineHandler), this.networkOnlineHandler = null, this._logVerbose(\"network online event listener removed\"));\n }\n assembleTransition(e) {\n if (e.partNumber < 0 || e.partNumber >= e.totalParts || e.totalParts === 0 || this.transitionChunkBuffer && (this.transitionChunkBuffer.totalParts !== e.totalParts || this.transitionChunkBuffer.transitionId !== e.transitionId))\n throw this.transitionChunkBuffer = null, new Error(\"Invalid TransitionChunk\");\n if (this.transitionChunkBuffer === null && (this.transitionChunkBuffer = {\n chunks: [],\n totalParts: e.totalParts,\n transitionId: e.transitionId\n }), e.partNumber !== this.transitionChunkBuffer.chunks.length) {\n const n = this.transitionChunkBuffer.chunks.length;\n throw this.transitionChunkBuffer = null, new Error(\n `TransitionChunk received out of order: expected part ${n}, got ${e.partNumber}`\n );\n }\n if (this.transitionChunkBuffer.chunks.push(e.chunk), this.transitionChunkBuffer.chunks.length === e.totalParts) {\n const n = this.transitionChunkBuffer.chunks.join(\"\");\n this.transitionChunkBuffer = null;\n const r = bi(JSON.parse(n));\n if (r.type !== \"Transition\")\n throw new Error(\n `Expected Transition, got ${r.type} after assembling chunks`\n );\n return r;\n }\n return null;\n }\n connect() {\n if (this.socket.state === \"terminated\")\n return;\n if (this.socket.state !== \"disconnected\" && this.socket.state !== \"stopped\")\n throw new Error(\n \"Didn't start connection from disconnected state: \" + this.socket.state\n );\n const e = new this.webSocketConstructor(this.uri);\n this._logVerbose(\"constructed WebSocket\"), this.setSocketState({\n state: \"connecting\",\n ws: e,\n paused: \"no\"\n }), this.resetServerInactivityTimeout(), e.onopen = () => {\n if (this.logger.logVerbose(\"begin ws.onopen\"), this.socket.state !== \"connecting\")\n throw new Error(\"onopen called with socket not in connecting state\");\n if (this.setSocketState({\n state: \"ready\",\n ws: e,\n paused: this.socket.paused === \"yes\" ? \"uninitialized\" : \"no\"\n }), this.resetServerInactivityTimeout(), this.socket.paused === \"no\" && (this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: dt()\n })), this.lastCloseReason !== \"InitialConnect\" && (this.lastCloseReason ? this.logger.log(\n \"WebSocket reconnected at\",\n vi(),\n \"after disconnect due to\",\n this.lastCloseReason\n ) : this.logger.log(\"WebSocket reconnected at\", vi())), this.connectionCount += 1, this.lastCloseReason = null, this.pendingNetworkRecoveryInfo !== null) {\n const { timeSavedMs: n } = this.pendingNetworkRecoveryInfo;\n this.pendingNetworkRecoveryInfo = null, this.sendMessage({\n type: \"Event\",\n eventType: \"NetworkRecoveryReconnect\",\n event: { timeSavedMs: n }\n }), this.logger.log(\n `Network recovery reconnect saved ~${Math.round(n / 1e3)}s of waiting`\n );\n }\n }, e.onerror = (n) => {\n this.transitionChunkBuffer = null;\n const r = n.message;\n r && this.logger.log(`WebSocket error message: ${r}`);\n }, e.onmessage = (n) => {\n this.resetServerInactivityTimeout();\n const r = n.data.length;\n let i = bi(JSON.parse(n.data));\n if (this._logVerbose(`received ws message with type ${i.type}`), i.type === \"Ping\")\n return;\n if (i.type === \"TransitionChunk\") {\n const a = this.assembleTransition(i);\n if (!a)\n return;\n i = a, this._logVerbose(\n `assembled full ws message of type ${i.type}`\n );\n }\n this.transitionChunkBuffer !== null && (this.transitionChunkBuffer = null, this.logger.log(\n `Received unexpected ${i.type} while buffering TransitionChunks`\n )), i.type === \"Transition\" && this.reportLargeTransition({\n messageLength: r,\n transition: i\n }), this.onMessage(i).hasSyncedPastLastReconnect && (this.retries = 0, this.markConnectionStateDirty());\n }, e.onclose = (n) => {\n if (this._logVerbose(\"begin ws.onclose\"), this.transitionChunkBuffer = null, this.lastCloseReason === null && (this.lastCloseReason = n.reason || `closed with code ${n.code}`), n.code !== Sl && n.code !== Cl && // This commonly gets fired on mobile apps when the app is backgrounded\n n.code !== Tl && n.code !== Rl) {\n let i = `WebSocket closed with code ${n.code}`;\n n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);\n }\n const r = Al(n.reason);\n this.scheduleReconnect(r);\n };\n }\n /**\n * @returns The state of the {@link Socket}.\n */\n socketState() {\n return this.socket.state;\n }\n /**\n * @param message - A ClientMessage to send.\n * @returns Whether the message (might have been) sent.\n */\n sendMessage(e) {\n const n = {\n type: e.type,\n ...e.type === \"Authenticate\" && e.tokenType === \"User\" ? {\n value: `...${e.value.slice(-7)}`\n } : {}\n };\n if (this.socket.state === \"ready\" && this.socket.paused === \"no\") {\n const r = kl(e), i = JSON.stringify(r);\n let o = !1;\n try {\n this.socket.ws.send(i), o = !0;\n } catch (a) {\n this.logger.log(\n `Failed to send message on WebSocket, reconnecting: ${a}`\n ), this.closeAndReconnect(\"FailedToSendMessage\");\n }\n return this._logVerbose(\n `${o ? \"sent\" : \"failed to send\"} message with type ${e.type}: ${JSON.stringify(\n n\n )}`\n ), !0;\n }\n return this._logVerbose(\n `message not sent (socket state: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}): ${JSON.stringify(\n n\n )}`\n ), !1;\n }\n resetServerInactivityTimeout() {\n this.socket.state !== \"terminated\" && (this.reconnectDueToServerInactivityTimeout !== null && (clearTimeout(this.reconnectDueToServerInactivityTimeout), this.reconnectDueToServerInactivityTimeout = null), this.reconnectDueToServerInactivityTimeout = setTimeout(() => {\n this.closeAndReconnect(\"InactiveServer\");\n }, this.serverInactivityThreshold));\n }\n scheduleReconnect(e) {\n this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.socket = { state: \"disconnected\" };\n const n = this.nextBackoff(e);\n this.markConnectionStateDirty(), this.logger.log(`Attempting reconnect in ${Math.round(n)}ms`);\n const r = dt(), i = setTimeout(() => {\n this.scheduledReconnect?.timeout === i && (this.scheduledReconnect = null, this.connect());\n }, n);\n this.scheduledReconnect = {\n timeout: i,\n scheduledAt: r,\n backoffMs: n\n };\n }\n /**\n * Close the WebSocket and schedule a reconnect.\n *\n * This should be used when we hit an error and would like to restart the session.\n */\n closeAndReconnect(e) {\n switch (this._logVerbose(`begin closeAndReconnect with reason ${e}`), this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.lastCloseReason = e, this.close(), this.scheduleReconnect(\"client\");\n return;\n }\n default:\n this.socket;\n }\n }\n /**\n * Close the WebSocket, being careful to clear the onclose handler to avoid re-entrant\n * calls. Use this instead of directly calling `ws.close()`\n *\n * It is the callers responsibility to update the state after this method is called so that the\n * closed socket is not accessible or used again after this method is called\n */\n close() {\n switch (this.transitionChunkBuffer = null, this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return Promise.resolve();\n case \"connecting\": {\n const e = this.socket.ws;\n return e.onmessage = (n) => {\n this._logVerbose(\"Ignoring message received after close\");\n }, new Promise((n) => {\n e.onclose = () => {\n this._logVerbose(\"Closed after connecting\"), n();\n }, e.onopen = () => {\n this._logVerbose(\"Opened after connecting\"), e.close();\n };\n });\n }\n case \"ready\": {\n this._logVerbose(\"ws.close called\");\n const e = this.socket.ws;\n e.onmessage = (r) => {\n this._logVerbose(\"Ignoring message received after close\");\n };\n const n = new Promise((r) => {\n e.onclose = () => {\n r();\n };\n });\n return e.close(), n;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Close the WebSocket and do not reconnect.\n * @returns A Promise that resolves when the WebSocket `onClose` callback is called.\n */\n terminate() {\n switch (this.reconnectDueToServerInactivityTimeout && clearTimeout(this.reconnectDueToServerInactivityTimeout), this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.cleanupNetworkListener(), this.socket.state) {\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n case \"connecting\":\n case \"ready\": {\n const e = this.close();\n return this.setSocketState({ state: \"terminated\" }), e;\n }\n default:\n throw this.socket, new Error(\n `Invalid websocket state: ${this.socket.state}`\n );\n }\n }\n stop() {\n switch (this.socket.state) {\n case \"terminated\":\n return Promise.resolve();\n case \"connecting\":\n case \"stopped\":\n case \"disconnected\":\n case \"ready\": {\n this.cleanupNetworkListener();\n const e = this.close();\n return this.socket = { state: \"stopped\" }, e;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Create a new WebSocket after a previous `stop()`, unless `terminate()` was\n * called before.\n */\n tryRestart() {\n switch (this.socket.state) {\n case \"stopped\":\n break;\n case \"terminated\":\n case \"connecting\":\n case \"ready\":\n case \"disconnected\":\n this.logger.logVerbose(\"Restart called without stopping first\");\n return;\n default:\n this.socket;\n }\n this.setupNetworkListener(), this.connect();\n }\n pause() {\n switch (this.socket.state) {\n case \"disconnected\":\n case \"stopped\":\n case \"terminated\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.socket = { ...this.socket, paused: \"yes\" };\n return;\n }\n default: {\n this.socket;\n return;\n }\n }\n }\n /**\n * Try to reconnect immediately, canceling any scheduled reconnect.\n * This is useful when detecting network recovery.\n * Only takes action if we're in disconnected state (waiting to reconnect).\n */\n tryReconnectImmediately() {\n if (this._logVerbose(\"tryReconnectImmediately called\"), this.socket.state !== \"disconnected\") {\n this._logVerbose(\n `tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`\n );\n return;\n }\n let e = null;\n if (this.scheduledReconnect) {\n const n = dt() - this.scheduledReconnect.scheduledAt;\n e = Math.max(0, this.scheduledReconnect.backoffMs - n), this._logVerbose(\n `would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(n)}ms)`\n ), clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null, this._logVerbose(\"canceled scheduled reconnect\");\n }\n this.logger.log(\"Network recovery detected, reconnecting immediately\"), this.pendingNetworkRecoveryInfo = e !== null ? { timeSavedMs: e } : null, this.connect();\n }\n /**\n * Resume the state machine if previously paused.\n */\n resume() {\n switch (this.socket.state) {\n case \"connecting\":\n this.socket = { ...this.socket, paused: \"no\" };\n return;\n case \"ready\":\n this.socket.paused === \"uninitialized\" ? (this.socket = { ...this.socket, paused: \"no\" }, this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: dt()\n })) : this.socket.paused === \"yes\" && (this.socket = { ...this.socket, paused: \"no\" }, this.onResume());\n return;\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n return;\n default:\n this.socket;\n }\n this.connect();\n }\n connectionState() {\n return {\n isConnected: this.socket.state === \"ready\",\n hasEverConnected: this._hasEverConnected,\n connectionCount: this.connectionCount,\n connectionRetries: this.retries\n };\n }\n _logVerbose(e) {\n this.logger.logVerbose(e);\n }\n nextBackoff(e) {\n const r = (e === \"client\" ? 100 : e === \"Unknown\" ? this.defaultInitialBackoff : Lo[e].timeout) * Math.pow(2, this.retries);\n this.retries += 1;\n const i = Math.min(r, this.maxBackoff), o = i * (Math.random() - 0.5);\n return i + o;\n }\n reportLargeTransition({\n transition: e,\n messageLength: n\n }) {\n if (e.clientClockSkew === void 0 || e.serverTs === void 0)\n return;\n const r = dt() - // client time now\n // clientClockSkew = (server time + upstream latency) - client time\n // clientClockSkew is \"how many milliseconds behind (slow) is the client clock\"\n // but the latency of the Connect message inflates this, making it appear further behind\n e.clientClockSkew - e.serverTs / 1e6, i = `${Math.round(r)}ms`, o = `${Math.round(n / 1e4) / 100}MB`, a = n / (r / 1e3), l = `${Math.round(a / 1e4) / 100}MB per second`;\n this._logVerbose(\n `received ${o} transition in ${i} at ${l}`\n ), n > 2e7 ? this.logger.log(\n `received query results totaling more that 20MB (${o}) which will take a long time to download on slower connections`\n ) : r > 2e4 && this.logger.log(\n `received query results totaling ${o} which took more than 20s to arrive (${i})`\n ), this.debug && this.sendMessage({\n type: \"Event\",\n eventType: \"ClientReceivedTransition\",\n event: { transitionTransitTime: r, messageLength: n }\n });\n }\n}\nfunction El() {\n return Pl();\n}\nfunction Pl() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (t) => {\n const e = Math.random() * 16 | 0;\n return (t === \"x\" ? e : e & 3 | 8).toString(16);\n });\n}\nclass Et extends Error {\n}\nEt.prototype.name = \"InvalidTokenError\";\nfunction $l(t) {\n return decodeURIComponent(\n atob(t).replace(/(.)/g, (e, n) => {\n let r = n.charCodeAt(0).toString(16).toUpperCase();\n return r.length < 2 && (r = \"0\" + r), \"%\" + r;\n })\n );\n}\nfunction ql(t) {\n let e = t.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (e.length % 4) {\n case 0:\n break;\n case 2:\n e += \"==\";\n break;\n case 3:\n e += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return $l(e);\n } catch {\n return atob(e);\n }\n}\nfunction Oo(t, e) {\n if (typeof t != \"string\")\n throw new Et(\"Invalid token specified: must be a string\");\n e || (e = {});\n const n = e.header === !0 ? 0 : 1, r = t.split(\".\")[n];\n if (typeof r != \"string\")\n throw new Et(\n `Invalid token specified: missing part #${n + 1}`\n );\n let i;\n try {\n i = ql(r);\n } catch (o) {\n throw new Et(\n `Invalid token specified: invalid base64 for part #${n + 1} (${o.message})`\n );\n }\n try {\n return JSON.parse(i);\n } catch (o) {\n throw new Et(\n `Invalid token specified: invalid json for part #${n + 1} (${o.message})`\n );\n }\n}\nvar Nl = Object.defineProperty, Ml = (t, e, n) => e in t ? Nl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, de = (t, e, n) => Ml(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Ll = 480 * 60 * 60 * 1e3, yi = 2;\nclass Ol {\n constructor(e, n, r) {\n de(this, \"authState\", { state: \"noAuth\" }), de(this, \"configVersion\", 0), de(this, \"syncState\"), de(this, \"authenticate\"), de(this, \"stopSocket\"), de(this, \"tryRestartSocket\"), de(this, \"pauseSocket\"), de(this, \"resumeSocket\"), de(this, \"clearAuth\"), de(this, \"logger\"), de(this, \"refreshTokenLeewaySeconds\"), de(this, \"lastRefreshChange\"), de(this, \"tokenConfirmationAttempts\", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds, this.lastRefreshChange = !1;\n }\n notifyRefreshChange(e) {\n this.authState.state !== \"noAuth\" && this.authState.state !== \"initialRefetch\" && this.authState.config.onRefreshChange && this.lastRefreshChange !== e && (this.lastRefreshChange = e, this.authState.config.onRefreshChange(e));\n }\n async setConfig(e, n, r) {\n this.resetAuthState(), this._logVerbose(\"pausing WS for auth token fetch\"), this.pauseSocket();\n const i = await this.fetchTokenAndGuardAgainstRace(e, {\n forceRefreshToken: !1\n });\n if (i.isFromOutdatedConfig)\n return;\n const o = {\n fetchToken: e,\n onAuthChange: n,\n onRefreshChange: r\n };\n i.value ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfCachedToken\",\n config: o,\n hasRetried: !1\n }), this.authenticate(i.value)) : (this.setAuthState({\n state: \"initialRefetch\",\n config: o\n }), await this.refetchToken()), this._logVerbose(\"resuming WS after auth token fetch\"), this.resumeSocket();\n }\n onTransition(e) {\n if (this.syncState.isCurrentOrNewerAuthVersion(\n e.endVersion.identity\n ) && !(e.endVersion.identity <= e.startVersion.identity)) {\n if (this._logVerbose(\n `auth state is ${this.authState.state} when handling transition`\n ), this.syncState.markAuthCompletion(), this.authState.state === \"waitingForServerConfirmationOfCachedToken\") {\n this._logVerbose(\"server confirmed auth token is valid\"), this.refetchToken(), this.authState.config.onAuthChange(!0);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this._logVerbose(\"server confirmed new auth token is valid\"), this.notifyRefreshChange(!1), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));\n }\n }\n onAuthError(e) {\n if (e.authUpdateAttempted === !1 && (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" || this.authState.state === \"waitingForServerConfirmationOfCachedToken\")) {\n this._logVerbose(\"ignoring non-auth token expired error\");\n return;\n }\n const { baseVersion: n } = e;\n if (!this.syncState.isCurrentOrNewerAuthVersion(n + 1)) {\n this._logVerbose(\"ignoring auth error for previous auth attempt\");\n return;\n }\n this.tryToReauthenticate(e);\n }\n // This is similar to `refetchToken` defined below, in fact we\n // don't represent them as different states, but it is different\n // in that we pause the WebSocket so that mutations\n // don't retry with bad auth.\n async tryToReauthenticate(e) {\n if (this._logVerbose(`attempting to reauthenticate: ${e.error}`), // No way to fetch another token, kaboom\n this.authState.state === \"noAuth\" || // We failed on a fresh token. After a small number of retries, we give up\n // and clear the auth state to avoid infinite retries.\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && this.tokenConfirmationAttempts >= yi) {\n this.logger.error(\n `Failed to authenticate: \"${e.error}\", check your server auth config`\n ), this.syncState.hasAuth() && this.syncState.clearAuth(), this.authState.state !== \"noAuth\" && this.setAndReportAuthFailed(this.authState.config.onAuthChange);\n return;\n }\n if (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this.tokenConfirmationAttempts++, this._logVerbose(\n `retrying reauthentication, ${yi - this.tokenConfirmationAttempts} attempts remaining`\n )), this.notifyRefreshChange(!0), await this.stopSocket(), this.authState.state === \"noAuth\")\n return;\n const n = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n n.isFromOutdatedConfig || (n.value && this.syncState.isNewAuth(n.value) ? (this.authenticate(n.value), this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n config: this.authState.config,\n token: n.value,\n hadAuth: this.authState.state === \"notRefetching\" || this.authState.state === \"waitingForScheduledRefetch\"\n })) : (this._logVerbose(\"reauthentication failed, could not fetch a new token\"), this.syncState.hasAuth() && this.syncState.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this.tryRestartSocket());\n }\n // Force refetch the token and schedule another refetch\n // before the token expires - an active client should never\n // need to reauthenticate.\n async refetchToken() {\n if (this.authState.state === \"noAuth\")\n return;\n this._logVerbose(\"refetching auth token\");\n const e = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n e.isFromOutdatedConfig || (e.value ? this.syncState.isNewAuth(e.value) ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n hadAuth: this.syncState.hasAuth(),\n token: e.value,\n config: this.authState.config\n }), this.authenticate(e.value)) : this.setAuthState({\n state: \"notRefetching\",\n config: this.authState.config\n }) : (this._logVerbose(\"refetching token failed\"), this.syncState.hasAuth() && this.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this._logVerbose(\n \"restarting WS after auth token fetch (if currently stopped)\"\n ), this.tryRestartSocket());\n }\n scheduleTokenRefetch(e) {\n if (this.authState.state === \"noAuth\")\n return;\n const n = this.decodeToken(e);\n if (!n) {\n this.logger.error(\n \"Auth token is not a valid JWT, cannot refetch the token\"\n );\n return;\n }\n const { iat: r, exp: i } = n;\n if (!r || !i) {\n this.logger.error(\n \"Auth token does not have required fields, cannot refetch the token\"\n );\n return;\n }\n const o = i - r;\n if (o <= 2) {\n this.logger.error(\n \"Auth token does not live long enough, cannot refetch the token\"\n );\n return;\n }\n let a = Math.min(\n Ll,\n (o - this.refreshTokenLeewaySeconds) * 1e3\n );\n a <= 0 && (this.logger.warn(\n `Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${o}s`\n ), a = 0);\n const l = setTimeout(() => {\n this._logVerbose(\"running scheduled token refetch\"), this.refetchToken();\n }, a);\n this.setAuthState({\n state: \"waitingForScheduledRefetch\",\n refetchTokenTimeoutId: l,\n config: this.authState.config\n }), this._logVerbose(\n `scheduled preemptive auth token refetching in ${a}ms`\n );\n }\n // Protects against simultaneous calls to `setConfig`\n // while we're fetching a token\n async fetchTokenAndGuardAgainstRace(e, n) {\n const r = ++this.configVersion;\n this._logVerbose(\n `fetching token with config version ${r}`\n );\n const i = await e(n);\n return this.configVersion !== r ? (this._logVerbose(\n `stale config version, expected ${r}, got ${this.configVersion}`\n ), { isFromOutdatedConfig: !0 }) : { isFromOutdatedConfig: !1, value: i };\n }\n stop() {\n this.resetAuthState(), this.configVersion++, this._logVerbose(`config version bumped to ${this.configVersion}`);\n }\n setAndReportAuthFailed(e) {\n e(!1), this.resetAuthState();\n }\n // The sole path to `state === \"noAuth\"`; consumers rely on this firing\n // `notifyRefreshChange(false)` to pair any in-flight `(true)`. May run\n // when refresh state is already false.\n resetAuthState() {\n this.notifyRefreshChange(!1), this.setAuthState({ state: \"noAuth\" });\n }\n setAuthState(e) {\n const n = e.state === \"waitingForServerConfirmationOfFreshToken\" ? {\n hadAuth: e.hadAuth,\n state: e.state,\n token: `...${e.token.slice(-7)}`\n } : { state: e.state };\n switch (this._logVerbose(\n `setting auth state to ${JSON.stringify(n)}`\n ), e.state) {\n case \"waitingForScheduledRefetch\":\n case \"notRefetching\":\n case \"noAuth\":\n this.tokenConfirmationAttempts = 0;\n break;\n }\n this.authState.state === \"waitingForScheduledRefetch\" && clearTimeout(this.authState.refetchTokenTimeoutId), this.authState = e;\n }\n decodeToken(e) {\n try {\n return Oo(e);\n } catch (n) {\n return this._logVerbose(\n `Error decoding token: ${n instanceof Error ? n.message : \"Unknown error\"}`\n ), null;\n }\n }\n _logVerbose(e) {\n this.logger.logVerbose(`${e} [v${this.configVersion}]`);\n }\n}\nconst zl = [\n \"convexClientConstructed\",\n \"convexWebSocketOpen\",\n \"convexFirstMessageReceived\"\n];\nfunction Bl(t, e) {\n const n = { sessionId: e };\n typeof performance > \"u\" || !performance.mark || performance.mark(t, { detail: n });\n}\nfunction Dl(t) {\n let e = t.name.slice(6);\n return e = e.charAt(0).toLowerCase() + e.slice(1), {\n name: e,\n startTime: t.startTime\n };\n}\nfunction Fl(t) {\n if (typeof performance > \"u\" || !performance.getEntriesByName)\n return [];\n const e = [];\n for (const n of zl) {\n const r = performance.getEntriesByName(n).filter((i) => i.entryType === \"mark\").filter((i) => i.detail.sessionId === t);\n e.push(...r);\n }\n return e.map(Dl);\n}\nvar Ul = Object.defineProperty, Vl = (t, e, n) => e in t ? Ul(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, G = (t, e, n) => Vl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ql {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param onTransition - A callback receiving an array of query tokens\n * corresponding to query results that have changed -- additional handlers\n * can be added via `addOnTransitionHandler`.\n * @param options - See {@link BaseConvexClientOptions} for a full description.\n */\n constructor(e, n, r) {\n if (G(this, \"address\"), G(this, \"state\"), G(this, \"requestManager\"), G(this, \"webSocketManager\"), G(this, \"authenticationManager\"), G(this, \"remoteQuerySet\"), G(this, \"optimisticQueryResults\"), G(this, \"_transitionHandlerCounter\", 0), G(this, \"_nextRequestId\"), G(this, \"_onTransitionFns\", /* @__PURE__ */ new Map()), G(this, \"_sessionId\"), G(this, \"firstMessageReceived\", !1), G(this, \"debug\"), G(this, \"logger\"), G(this, \"maxObservedTimestamp\"), G(this, \"connectionStateSubscribers\", /* @__PURE__ */ new Map()), G(this, \"nextConnectionStateSubscriberId\", 0), G(this, \"_lastPublishedConnectionState\"), G(this, \"markConnectionStateDirty\", () => {\n Promise.resolve().then(() => {\n const p = this.connectionState();\n if (JSON.stringify(p) !== JSON.stringify(this._lastPublishedConnectionState)) {\n this._lastPublishedConnectionState = p;\n for (const g of this.connectionStateSubscribers.values())\n g(p);\n }\n });\n }), G(this, \"mark\", (p) => {\n this.debug && Bl(p, this.sessionId);\n }), typeof e == \"object\")\n throw new Error(\n \"Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.\"\n );\n r?.skipConvexDeploymentUrlCheck !== !0 && Bs(e), r = { ...r };\n const i = r.authRefreshTokenLeewaySeconds ?? 10;\n let o = r.webSocketConstructor;\n if (!o && typeof WebSocket > \"u\")\n throw new Error(\n \"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient\"\n );\n o = o || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? qo({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : $o({ verbose: r.verbose ?? !1 });\n const a = e.search(\"://\");\n if (a === -1)\n throw new Error(\"Provided address was not an absolute URL.\");\n const l = e.substring(a + 3), c = e.substring(0, a);\n let u;\n if (c === \"http\")\n u = \"ws\";\n else if (c === \"https\")\n u = \"wss\";\n else\n throw new Error(`Unknown parent protocol ${c}`);\n const d = `${u}://${l}/api/${hi}/sync`;\n this.state = new il(), this.remoteQuerySet = new xi(\n (p) => this.state.queryPath(p),\n this.logger\n ), this.requestManager = new sl(\n this.logger,\n this.markConnectionStateDirty\n );\n const h = () => {\n this.webSocketManager.pause(), this.state.pause();\n };\n this.authenticationManager = new Ol(\n this.state,\n {\n authenticate: (p) => {\n const g = this.state.setAuth(p);\n return this.webSocketManager.sendMessage(g), g.baseVersion;\n },\n stopSocket: () => this.webSocketManager.stop(),\n tryRestartSocket: () => this.webSocketManager.tryRestart(),\n pauseSocket: h,\n resumeSocket: () => this.webSocketManager.resume(),\n clearAuth: () => {\n this.clearAuth();\n }\n },\n {\n logger: this.logger,\n refreshTokenLeewaySeconds: i\n }\n ), this.optimisticQueryResults = new fl(), this.addOnTransitionHandler((p) => {\n n(p.queries.map((g) => g.token));\n }), this._nextRequestId = 0, this._sessionId = El();\n const { unsavedChangesWarning: f } = r;\n if (typeof window > \"u\" || typeof window.addEventListener > \"u\") {\n if (f === !0)\n throw new Error(\n \"unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.\"\n );\n } else f !== !1 && window.addEventListener(\"beforeunload\", (p) => {\n if (this.requestManager.hasIncompleteRequests()) {\n p.preventDefault();\n const g = \"Are you sure you want to leave? Your changes may not be saved.\";\n return (p || window.event).returnValue = g, g;\n }\n });\n this.webSocketManager = new Il(\n d,\n {\n onOpen: (p) => {\n this.mark(\"convexWebSocketOpen\"), this.webSocketManager.sendMessage({\n ...p,\n type: \"Connect\",\n sessionId: this._sessionId,\n maxObservedTimestamp: this.maxObservedTimestamp\n }), this.remoteQuerySet = new xi(\n (x) => this.state.queryPath(x),\n this.logger\n );\n const [g, b] = this.state.restart();\n b && this.webSocketManager.sendMessage(b), this.webSocketManager.sendMessage(g);\n for (const x of this.requestManager.restart())\n this.webSocketManager.sendMessage(x);\n },\n onResume: () => {\n const [p, g] = this.state.resume();\n g && this.webSocketManager.sendMessage(g), p && this.webSocketManager.sendMessage(p);\n for (const b of this.requestManager.resume())\n this.webSocketManager.sendMessage(b);\n },\n onMessage: (p) => {\n switch (this.firstMessageReceived || (this.firstMessageReceived = !0, this.mark(\"convexFirstMessageReceived\"), this.reportMarks()), p.type) {\n case \"Transition\": {\n this.observedTimestamp(p.endVersion.ts), this.authenticationManager.onTransition(p), this.remoteQuerySet.transition(p), this.state.transition(p);\n const g = this.requestManager.removeCompleted(\n this.remoteQuerySet.timestamp()\n );\n this.notifyOnQueryResultChanges(g);\n break;\n }\n case \"MutationResponse\": {\n p.success && this.observedTimestamp(p.ts);\n const g = this.requestManager.onResponse(p);\n g !== null && this.notifyOnQueryResultChanges(\n /* @__PURE__ */ new Map([\n [\n g.requestId,\n g.result\n ]\n ])\n );\n break;\n }\n case \"ActionResponse\": {\n this.requestManager.onResponse(p);\n break;\n }\n case \"AuthError\": {\n this.authenticationManager.onAuthError(p);\n break;\n }\n case \"FatalError\": {\n const g = tl(this.logger, p.error);\n throw this.webSocketManager.terminate(), g;\n }\n }\n return {\n hasSyncedPastLastReconnect: this.hasSyncedPastLastReconnect()\n };\n },\n onServerDisconnectError: r.onServerDisconnectError\n },\n o,\n this.logger,\n this.markConnectionStateDirty,\n this.debug\n ), this.mark(\"convexClientConstructed\"), r.expectAuth && h();\n }\n /**\n * Return true if there is outstanding work from prior to the time of the most recent restart.\n * This indicates that the client has not proven itself to have gotten past the issue that\n * potentially led to the restart. Use this to influence when to reset backoff after a failure.\n */\n hasSyncedPastLastReconnect() {\n return this.requestManager.hasSyncedPastLastReconnect() && this.state.hasSyncedPastLastReconnect();\n }\n observedTimestamp(e) {\n (this.maxObservedTimestamp === void 0 || this.maxObservedTimestamp.lessThanOrEqual(e)) && (this.maxObservedTimestamp = e);\n }\n getMaxObservedTimestamp() {\n return this.maxObservedTimestamp;\n }\n /**\n * Compute the current query results based on the remoteQuerySet and the\n * current optimistic updates and call `onTransition` for all the changed\n * queries.\n *\n * @param completedMutations - A set of mutation IDs whose optimistic updates\n * are no longer needed.\n */\n notifyOnQueryResultChanges(e) {\n const n = this.remoteQuerySet.remoteQueryResults(), r = /* @__PURE__ */ new Map();\n for (const [o, a] of n) {\n const l = this.state.queryToken(o);\n if (l !== null) {\n const c = {\n result: a,\n udfPath: this.state.queryPath(o),\n args: this.state.queryArgs(o)\n };\n r.set(l, c);\n }\n }\n const i = this.optimisticQueryResults.ingestQueryResultsFromServer(\n r,\n new Set(e.keys())\n );\n this.handleTransition({\n queries: i.map((o) => {\n const a = this.optimisticQueryResults.rawQueryResult(o);\n return {\n token: o,\n modification: {\n kind: \"Updated\",\n result: a\n }\n };\n }),\n reflectedMutations: Array.from(e).map(\n ([o, a]) => ({\n requestId: o,\n result: a\n })\n ),\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n handleTransition(e) {\n for (const n of this._onTransitionFns.values())\n n(e);\n }\n /**\n * Add a handler that will be called on a transition.\n *\n * Any external side effects (e.g. setting React state) should be handled here.\n *\n * @param fn\n *\n * @returns\n */\n addOnTransitionHandler(e) {\n const n = this._transitionHandlerCounter++;\n return this._onTransitionFns.set(n, e), () => this._onTransitionFns.delete(n);\n }\n /**\n * Get the current JWT auth token and decoded claims.\n */\n getCurrentAuthClaims() {\n const e = this.state.getAuth();\n let n = {};\n if (e && e.tokenType === \"User\")\n try {\n n = e ? Oo(e.value) : {};\n } catch {\n n = {};\n }\n else\n return;\n return { token: e.value, decoded: n };\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n this.authenticationManager.setConfig(\n e,\n n,\n r\n );\n }\n hasAuth() {\n return this.state.hasAuth();\n }\n /** @internal */\n setAdminAuth(e, n) {\n const r = this.state.setAdminAuth(e, n);\n this.webSocketManager.sendMessage(r);\n }\n clearAuth() {\n const e = this.state.clearAuth();\n this.webSocketManager.sendMessage(e);\n }\n /**\n * Subscribe to a query function.\n *\n * Whenever this query's result changes, the `onTransition` callback\n * passed into the constructor will be called.\n *\n * @param name - The name of the query.\n * @param args - An arguments object for the query. If this is omitted, the\n * arguments will be `{}`.\n * @param options - A {@link SubscribeOptions} options object for this query.\n \n * @returns An object containing a {@link QueryToken} corresponding to this\n * query and an `unsubscribe` callback.\n */\n subscribe(e, n, r) {\n const i = Oe(n), { modification: o, queryToken: a, unsubscribe: l } = this.state.subscribe(\n e,\n i,\n r?.journal,\n r?.componentPath\n );\n return o !== null && this.webSocketManager.sendMessage(o), {\n queryToken: a,\n unsubscribe: () => {\n const c = l();\n c && this.webSocketManager.sendMessage(c);\n }\n };\n }\n /**\n * A query result based only on the current, local state.\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n */\n localQueryResult(e, n) {\n const r = Oe(n), i = Ze(e, r);\n return this.optimisticQueryResults.queryResult(i);\n }\n /**\n * Get query result by query token based on current, local state\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n *\n * @internal\n */\n localQueryResultByToken(e) {\n return this.optimisticQueryResults.queryResult(e);\n }\n /**\n * Whether local query result is available for a token.\n *\n * This method does not throw if the result is an error.\n *\n * @internal\n */\n hasLocalQueryResultByToken(e) {\n return this.optimisticQueryResults.hasQueryResult(e);\n }\n /**\n * @internal\n */\n localQueryLogs(e, n) {\n const r = Oe(n), i = Ze(e, r);\n return this.optimisticQueryResults.queryLogs(i);\n }\n /**\n * Retrieve the current {@link QueryJournal} for this query function.\n *\n * If we have not yet received a result for this query, this will be `undefined`.\n *\n * @param name - The name of the query.\n * @param args - The arguments object for this query.\n * @returns The query's {@link QueryJournal} or `undefined`.\n */\n queryJournal(e, n) {\n const r = Oe(n), i = Ze(e, r);\n return this.state.queryJournal(i);\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n const e = this.webSocketManager.connectionState();\n return {\n hasInflightRequests: this.requestManager.hasInflightRequests(),\n isWebSocketConnected: e.isConnected,\n hasEverConnected: e.hasEverConnected,\n connectionCount: e.connectionCount,\n connectionRetries: e.connectionRetries,\n timeOfOldestInflightRequest: this.requestManager.timeOfOldestInflightRequest(),\n inflightMutations: this.requestManager.inflightMutations(),\n inflightActions: this.requestManager.inflightActions()\n };\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n const n = this.nextConnectionStateSubscriberId++;\n return this.connectionStateSubscribers.set(n, e), () => {\n this.connectionStateSubscribers.delete(n);\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param name - The name of the mutation.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for this mutation.\n \n * @returns - A promise of the mutation's result.\n */\n async mutation(e, n, r) {\n const i = await this.mutationInternal(e, n, r);\n if (!i.success)\n throw i.errorData !== void 0 ? nr(\n i,\n new pn(\n pt(\"mutation\", e, i)\n )\n ) : new Error(pt(\"mutation\", e, i));\n return i.value;\n }\n /**\n * @internal\n */\n async mutationInternal(e, n, r, i) {\n const { mutationPromise: o } = this.enqueueMutation(\n e,\n n,\n r,\n i\n );\n return o;\n }\n /**\n * @internal\n */\n enqueueMutation(e, n, r, i) {\n const o = Oe(n);\n this.tryReportLongDisconnect();\n const a = this.nextRequestId;\n if (this._nextRequestId++, r !== void 0) {\n const d = r.optimisticUpdate;\n if (d !== void 0) {\n const h = (g) => {\n d(\n g,\n o\n ) instanceof Promise && this.logger.warn(\n \"Optimistic update handler returned a Promise. Optimistic updates should be synchronous.\"\n );\n }, p = this.optimisticQueryResults.applyOptimisticUpdate(\n h,\n a\n ).map((g) => {\n const b = this.localQueryResultByToken(g);\n return {\n token: g,\n modification: {\n kind: \"Updated\",\n result: b === void 0 ? void 0 : {\n success: !0,\n value: b,\n logLines: []\n }\n }\n };\n });\n this.handleTransition({\n queries: p,\n reflectedMutations: [],\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n }\n const l = {\n type: \"Mutation\",\n requestId: a,\n udfPath: e,\n componentPath: i,\n args: [Pe(o)]\n }, c = this.webSocketManager.sendMessage(l), u = this.requestManager.request(l, c);\n return {\n requestId: a,\n mutationPromise: u\n };\n }\n /**\n * Execute an action function.\n *\n * @param name - The name of the action.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n async action(e, n) {\n const r = await this.actionInternal(e, n);\n if (!r.success)\n throw r.errorData !== void 0 ? nr(\n r,\n new pn(pt(\"action\", e, r))\n ) : new Error(pt(\"action\", e, r));\n return r.value;\n }\n /**\n * @internal\n */\n async actionInternal(e, n, r) {\n const i = Oe(n), o = this.nextRequestId;\n this._nextRequestId++, this.tryReportLongDisconnect();\n const a = {\n type: \"Action\",\n requestId: o,\n udfPath: e,\n componentPath: r,\n args: [Pe(i)]\n }, l = this.webSocketManager.sendMessage(a);\n return this.requestManager.request(a, l);\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with an {@link BaseConvexClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n return this.authenticationManager.stop(), this.webSocketManager.terminate();\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * @internal\n */\n get nextRequestId() {\n return this._nextRequestId;\n }\n /**\n * @internal\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Reports performance marks to the server. This should only be called when\n * we have a functional websocket.\n */\n reportMarks() {\n if (this.debug) {\n const e = Fl(this.sessionId);\n this.webSocketManager.sendMessage({\n type: \"Event\",\n eventType: \"ClientConnect\",\n event: e\n });\n }\n }\n tryReportLongDisconnect() {\n if (!this.debug)\n return;\n const e = this.connectionState().timeOfOldestInflightRequest;\n if (e === null || Date.now() - e.getTime() <= 60 * 1e3)\n return;\n const n = `${this.address}/api/debug_event`;\n fetch(n, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Convex-Client\": `npm-${hi}`\n },\n body: JSON.stringify({ event: \"LongWebsocketDisconnect\" })\n }).then((r) => {\n r.ok || this.logger.warn(\n \"Analytics request failed with response:\",\n r.body\n );\n }).catch((r) => {\n this.logger.warn(\"Analytics response failed with error:\", r);\n });\n }\n}\nfunction Fn(t) {\n if (typeof t != \"object\" || t === null || !Array.isArray(t.page) || typeof t.isDone != \"boolean\" || typeof t.continueCursor != \"string\")\n throw new Error(`Not a valid paginated query result: ${t?.toString()}`);\n return t;\n}\nvar Hl = Object.defineProperty, Wl = (t, e, n) => e in t ? Hl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, wi = (t, e, n) => Wl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Kl {\n constructor(e, n) {\n this.client = e, this.onTransition = n, wi(this, \"paginatedQuerySet\", /* @__PURE__ */ new Map()), wi(this, \"lastTransitionTs\"), this.lastTransitionTs = le.fromNumber(0), this.client.addOnTransitionHandler(\n (r) => this.onBaseTransition(r)\n );\n }\n /**\n * Subscribe to a paginated query.\n *\n * @param name - The name of the paginated query function\n * @param args - Arguments for the query (excluding paginationOpts)\n * @param options - Pagination options including initialNumItems\n * @returns Object with paginatedQueryToken and unsubscribe function\n */\n subscribe(e, n, r) {\n const i = tt(e), o = fi(\n i,\n n,\n r\n ), a = () => this.removePaginatedQuerySubscriber(o), l = this.paginatedQuerySet.get(o);\n return l ? (l.numSubscribers += 1, {\n paginatedQueryToken: o,\n unsubscribe: a\n }) : (this.paginatedQuerySet.set(o, {\n token: o,\n canonicalizedUdfPath: i,\n args: n,\n numSubscribers: 1,\n options: { initialNumItems: r.initialNumItems },\n nextPageKey: 0,\n pageKeys: [],\n pageKeyToQuery: /* @__PURE__ */ new Map(),\n ongoingSplits: /* @__PURE__ */ new Map(),\n skip: !1,\n id: r.id\n }), this.addPageToPaginatedQuery(o, null, r.initialNumItems), {\n paginatedQueryToken: o,\n unsubscribe: a\n });\n }\n /**\n * Get current results for a paginated query based on local state.\n *\n * Throws an error when one of the pages has errored.\n */\n localQueryResult(e, n, r) {\n const i = tt(e), o = fi(\n i,\n n,\n r\n );\n return this.localQueryResultByToken(o);\n }\n /**\n * @internal\n */\n localQueryResultByToken(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n return;\n const r = this.activePageQueryTokens(n);\n if (r.length === 0)\n return {\n results: [],\n status: \"LoadingFirstPage\",\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n let i = [], o = !1, a = !1;\n for (const c of r) {\n const u = this.client.localQueryResultByToken(c);\n if (u === void 0) {\n o = !0, a = !1;\n continue;\n }\n const d = Fn(u);\n i = i.concat(d.page), a = !!d.isDone;\n }\n let l;\n return o ? l = i.length === 0 ? \"LoadingFirstPage\" : \"LoadingMore\" : a ? l = \"Exhausted\" : l = \"CanLoadMore\", {\n results: i,\n status: l,\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n }\n onBaseTransition(e) {\n const n = e.queries.map((a) => a.token), r = this.queriesContainingTokens(n);\n let i = [];\n r.length > 0 && (this.processPaginatedQuerySplits(\n r,\n (a) => this.client.localQueryResultByToken(a)\n ), i = r.map((a) => ({\n token: a,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(a)\n }\n })));\n const o = {\n ...e,\n paginatedQueries: i\n };\n this.onTransition(o);\n }\n /**\n * Load more items for a paginated query.\n *\n * This *always* causes a transition, the status of the query\n * has probably changed from \"CanLoadMore\" to \"LoadingMore\".\n * Data might have changed too: maybe a subscription to this page\n * query already exists (unlikely but possible) or this page query\n * has an optimistic update providing some initial data.\n *\n * @internal\n */\n loadMoreOfPaginatedQuery(e, n) {\n this.mustGetPaginatedQuery(e);\n const r = this.queryTokenForLastPageOfPaginatedQuery(e), i = this.client.localQueryResultByToken(r);\n if (!i)\n return !1;\n const o = Fn(i);\n if (o.isDone)\n return !1;\n this.addPageToPaginatedQuery(\n e,\n o.continueCursor,\n n\n );\n const a = {\n timestamp: this.lastTransitionTs,\n reflectedMutations: [],\n queries: [],\n paginatedQueries: [\n {\n token: e,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(e)\n }\n }\n ]\n };\n return this.onTransition(a), !0;\n }\n /**\n * @internal\n */\n queriesContainingTokens(e) {\n if (e.length === 0)\n return [];\n const n = [], r = new Set(e);\n for (const [i, o] of this.paginatedQuerySet)\n for (const a of this.allQueryTokens(o))\n if (r.has(a)) {\n n.push(i);\n break;\n }\n return n;\n }\n /**\n * @internal\n */\n processPaginatedQuerySplits(e, n) {\n for (const r of e) {\n const i = this.mustGetPaginatedQuery(r), { ongoingSplits: o, pageKeyToQuery: a, pageKeys: l } = i;\n for (const [c, [u, d]] of o)\n n(a.get(u).queryToken) !== void 0 && n(a.get(d).queryToken) !== void 0 && this.completePaginatedQuerySplit(\n i,\n c,\n u,\n d\n );\n for (const c of l) {\n if (o.has(c))\n continue;\n const u = a.get(c).queryToken, d = n(u);\n if (!d)\n continue;\n const h = Fn(d);\n h.splitCursor && (h.pageStatus === \"SplitRecommended\" || h.pageStatus === \"SplitRequired\" || // This client-driven page splitting condition will change in the future.\n h.page.length > i.options.initialNumItems * 2) && this.splitPaginatedQueryPage(\n i,\n c,\n h.splitCursor,\n // we just checked\n h.continueCursor\n );\n }\n }\n }\n splitPaginatedQueryPage(e, n, r, i) {\n const o = e.nextPageKey++, a = e.nextPageKey++, l = {\n cursor: i,\n numItems: e.options.initialNumItems,\n id: e.id\n }, c = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: null,\n // Start from beginning for first split\n endCursor: r\n }\n }\n );\n e.pageKeyToQuery.set(o, c);\n const u = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: r,\n endCursor: i\n }\n }\n );\n e.pageKeyToQuery.set(a, u), e.ongoingSplits.set(n, [o, a]);\n }\n /**\n * @internal\n */\n addPageToPaginatedQuery(e, n, r) {\n const i = this.mustGetPaginatedQuery(e), o = i.nextPageKey++, a = {\n cursor: n,\n numItems: r,\n id: i.id\n }, l = {\n ...i.args,\n paginationOpts: a\n }, c = this.client.subscribe(\n i.canonicalizedUdfPath,\n l\n );\n return i.pageKeys.push(o), i.pageKeyToQuery.set(o, c), c;\n }\n removePaginatedQuerySubscriber(e) {\n const n = this.paginatedQuerySet.get(e);\n if (n && (n.numSubscribers -= 1, !(n.numSubscribers > 0))) {\n for (const r of n.pageKeyToQuery.values())\n r.unsubscribe();\n this.paginatedQuerySet.delete(e);\n }\n }\n completePaginatedQuerySplit(e, n, r, i) {\n const o = e.pageKeyToQuery.get(n);\n e.pageKeyToQuery.delete(n);\n const a = e.pageKeys.indexOf(n);\n e.pageKeys.splice(a, 1, r, i), e.ongoingSplits.delete(n), o.unsubscribe();\n }\n /** The query tokens for all active pages, in result order */\n activePageQueryTokens(e) {\n return e.pageKeys.map(\n (n) => e.pageKeyToQuery.get(n).queryToken\n );\n }\n allQueryTokens(e) {\n return Array.from(e.pageKeyToQuery.values()).map(\n (n) => n.queryToken\n );\n }\n queryTokenForLastPageOfPaginatedQuery(e) {\n const n = this.mustGetPaginatedQuery(e), r = n.pageKeys[n.pageKeys.length - 1];\n if (r === void 0)\n throw new Error(`No pages for paginated query ${e}`);\n return n.pageKeyToQuery.get(r).queryToken;\n }\n mustGetPaginatedQuery(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n throw new Error(\"paginated query no longer exists for token \" + e);\n return n;\n }\n}\nfunction Gl({\n // (Synchronously) returns the current value of our subscription.\n getCurrentValue: t,\n // This function is passed an event handler to attach to the subscription.\n // It should return an unsubscribe function that removes the handler.\n subscribe: e\n}) {\n const [n, r] = A(() => ({\n getCurrentValue: t,\n subscribe: e,\n value: t()\n }));\n let i = n.value;\n return (n.getCurrentValue !== t || n.subscribe !== e) && (i = t(), r({\n getCurrentValue: t,\n subscribe: e,\n value: i\n })), P(() => {\n let o = !1;\n const a = () => {\n o || r((c) => {\n if (c.getCurrentValue !== t || c.subscribe !== e)\n return c;\n const u = t();\n return c.value === u ? c : { ...c, value: u };\n });\n }, l = e(a);\n return a(), () => {\n o = !0, l();\n };\n }, [t, e]), i;\n}\nvar Yl = Object.defineProperty, Jl = (t, e, n) => e in t ? Yl(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Le = (t, e, n) => Jl(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Zl = 5e3;\nif (typeof wr > \"u\")\n throw new Error(\"Required dependency 'react' not found\");\nfunction zo(t, e, n) {\n function r(i) {\n return rc(i), e.mutation(t, i, {\n optimisticUpdate: n\n });\n }\n return r.withOptimisticUpdate = function(o) {\n if (n !== void 0)\n throw new Error(\n `Already specified optimistic update for mutation ${oe(\n t\n )}`\n );\n return zo(t, e, o);\n }, r;\n}\nfunction Xl(t, e) {\n return function(n) {\n return e.action(t, n);\n };\n}\nclass ec {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param options - See {@link ConvexReactClientOptions} for a full description.\n */\n constructor(e, n) {\n if (Le(this, \"address\"), Le(this, \"cachedSync\"), Le(this, \"cachedPaginatedQueryClient\"), Le(this, \"listeners\"), Le(this, \"options\"), Le(this, \"closed\", !1), Le(this, \"_logger\"), Le(this, \"adminAuth\"), Le(this, \"fakeUserIdentity\"), e === void 0)\n throw new Error(\n \"No address provided to ConvexReactClient.\\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.\"\n );\n if (typeof e != \"string\")\n throw new Error(\n `ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`\n );\n if (!e.includes(\"://\"))\n throw new Error(\"Provided address was not an absolute URL.\");\n this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? qo({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : $o({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * Lazily instantiate the `BaseConvexClient` so we don't create the WebSocket\n * when server-side rendering.\n *\n * @internal\n */\n get sync() {\n if (this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n return this.cachedSync ? this.cachedSync : (this.cachedSync = new Ql(\n this.address,\n () => {\n },\n // Use the PaginatedQueryClient's transition instead.\n this.options\n ), this.adminAuth && this.cachedSync.setAdminAuth(this.adminAuth, this.fakeUserIdentity), this.cachedPaginatedQueryClient = new Kl(\n this.cachedSync,\n (e) => this.handleTransition(e)\n ), this.cachedSync);\n }\n /**\n * Lazily instantiate the `PaginatedQueryClient` so we don't create it\n * when server-side rendering.\n *\n * @internal\n */\n get paginatedQueryClient() {\n if (this.sync, this.cachedPaginatedQueryClient)\n return this.cachedPaginatedQueryClient;\n throw new Error(\"Should already be instantiated\");\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n if (typeof e == \"string\")\n throw new Error(\n \"Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.\"\n );\n this.sync.setAuth(\n e,\n n ?? (() => {\n }),\n r\n );\n }\n /**\n * Clear the current authentication token if set.\n */\n clearAuth() {\n this.sync.clearAuth();\n }\n /**\n * @internal\n */\n setAdminAuth(e, n) {\n if (this.adminAuth = e, this.fakeUserIdentity = n, this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n this.cachedSync && this.sync.setAdminAuth(e, n);\n }\n /**\n * Construct a new {@link Watch} on a Convex query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link useQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchQueryOptions} options object for this query.\n *\n * @returns The {@link Watch} object.\n */\n watchQuery(e, ...n) {\n const [r, i] = n, o = oe(e);\n return {\n onUpdate: (a) => {\n const { queryToken: l, unsubscribe: c } = this.sync.subscribe(\n o,\n r,\n i\n ), u = this.listeners.get(l);\n return u !== void 0 ? u.add(a) : this.listeners.set(l, /* @__PURE__ */ new Set([a])), () => {\n if (this.closed)\n return;\n const d = this.listeners.get(l);\n d.delete(a), d.size === 0 && this.listeners.delete(l), c();\n };\n },\n localQueryResult: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryResult(o, r);\n },\n localQueryLogs: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryLogs(o, r);\n },\n journal: () => {\n if (this.cachedSync)\n return this.cachedSync.queryJournal(o, r);\n }\n };\n }\n // Let's try out a queryOptions-style API.\n // This method is similar to the React Query API `queryClient.prefetchQuery()`.\n // In the future an ensureQueryData(): Promise<Data> method could exist.\n /**\n * Indicates likely future interest in a query subscription.\n *\n * The implementation currently immediately subscribes to a query. In the future this method\n * may prioritize some queries over others, fetch the query result without subscribing, or\n * do nothing in slow network connections or high load scenarios.\n *\n * To use this in a React component, call useQuery() and ignore the return value.\n *\n * @param queryOptions - A query (function reference from an api object) and its args, plus\n * an optional extendSubscriptionFor for how long to subscribe to the query.\n */\n prewarmQuery(e) {\n const n = e.extendSubscriptionFor ?? Zl, i = this.watchQuery(e.query, e.args || {}).onUpdate(() => {\n });\n setTimeout(i, n);\n }\n /**\n * Construct a new {@link PaginatedWatch} on a Convex paginated query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link usePaginatedQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchPaginatedQueryOptions} options object for this query.\n *\n * @returns The {@link PaginatedWatch} object.\n *\n * @internal\n */\n watchPaginatedQuery(e, n, r) {\n const i = oe(e);\n return {\n onUpdate: (o) => {\n const { paginatedQueryToken: a, unsubscribe: l } = this.paginatedQueryClient.subscribe(i, n || {}, r), c = this.listeners.get(a);\n return c !== void 0 ? c.add(o) : this.listeners.set(a, /* @__PURE__ */ new Set([o])), () => {\n if (this.closed)\n return;\n const u = this.listeners.get(a);\n u.delete(o), u.size === 0 && this.listeners.delete(a), l();\n };\n },\n localQueryResult: () => this.paginatedQueryClient.localQueryResult(i, n, r)\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param mutation - A {@link server.FunctionReference} for the public mutation\n * to run.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for the mutation.\n * @returns A promise of the mutation's result.\n */\n mutation(e, ...n) {\n const [r, i] = n, o = oe(e);\n return this.sync.mutation(o, r, i);\n }\n /**\n * Execute an action function.\n *\n * @param action - A {@link server.FunctionReference} for the public action\n * to run.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n action(e, ...n) {\n const r = oe(e);\n return this.sync.action(r, ...n);\n }\n /**\n * Fetch a query result once.\n *\n * **Most application code should subscribe to queries instead, using\n * the {@link useQuery} hook.**\n *\n * @param query - A {@link server.FunctionReference} for the public query\n * to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the query's result.\n */\n query(e, ...n) {\n const r = this.watchQuery(e, ...n), i = r.localQueryResult();\n return i !== void 0 ? Promise.resolve(i) : new Promise((o, a) => {\n const l = r.onUpdate(() => {\n l();\n try {\n o(r.localQueryResult());\n } catch (c) {\n a(c);\n }\n });\n });\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n return this.sync.connectionState();\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n * ConnectionState may also *lose* properties in future versions as we figure\n * out what information is most useful. As such this API is considered unstable.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n return this.sync.subscribeToConnectionState(e);\n }\n /**\n * Get the logger for this client.\n *\n * @returns The {@link Logger} for this client.\n */\n get logger() {\n return this._logger;\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with a {@link ConvexReactClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n if (this.closed = !0, this.listeners = /* @__PURE__ */ new Map(), this.cachedPaginatedQueryClient && (this.cachedPaginatedQueryClient = void 0), this.cachedSync) {\n const e = this.cachedSync;\n this.cachedSync = void 0, await e.close();\n }\n }\n /**\n * Handle transitions from both base client and paginated client.\n * This ensures all transitions are processed synchronously and in order.\n */\n handleTransition(e) {\n const n = e.queries.map((i) => i.token), r = e.paginatedQueries.map((i) => i.token);\n this.transition([...n, ...r]);\n }\n transition(e) {\n for (const n of e) {\n const r = this.listeners.get(n);\n if (r)\n for (const i of r)\n i();\n }\n }\n}\nconst Rn = wr.createContext(\n void 0\n // in the future this will be a mocked client for testing\n);\nfunction tc() {\n return Gt(Rn);\n}\nconst nc = ({ client: t, children: e }) => wr.createElement(\n Rn.Provider,\n { value: t },\n e\n);\nfunction rr(t, ...e) {\n const n = e[0] === \"skip\", r = e[0] === \"skip\" ? {} : Oe(e[0]), i = typeof t == \"string\" ? _r(t) : t, o = oe(i), a = Y(\n () => n ? {} : { query: { query: i, args: r } },\n // Stringify args so args that are semantically the same don't trigger a\n // rerender. Saves developers from adding `useMemo` on every args usage.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(Pe(r)), o, n]\n ), c = sc(a).query;\n if (c instanceof Error)\n throw c;\n return c;\n}\nfunction Yt(t) {\n const e = typeof t == \"string\" ? _r(t) : t, n = Gt(Rn);\n if (n === void 0)\n throw new Error(\n \"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return Y(\n () => zo(e, n),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [n, oe(e)]\n );\n}\nfunction Jt(t) {\n const e = Gt(Rn), n = typeof t == \"string\" ? _r(t) : t;\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return Y(\n () => Xl(n, e),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [e, oe(n)]\n );\n}\nfunction rc(t) {\n if (typeof t == \"object\" && t !== null && \"bubbles\" in t && \"persist\" in t && \"isDefaultPrevented\" in t)\n throw new Error(\n \"Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.\"\n );\n}\nvar ic = Object.defineProperty, oc = (t, e, n) => e in t ? ic(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Un = (t, e, n) => oc(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ac {\n constructor(e) {\n Un(this, \"createWatch\"), Un(this, \"queries\"), Un(this, \"listeners\"), this.createWatch = e, this.queries = {}, this.listeners = /* @__PURE__ */ new Set();\n }\n setQueries(e) {\n for (const n of Object.keys(e)) {\n const { query: r, args: i, paginationOptions: o } = e[n];\n if (oe(r), this.queries[n] === void 0)\n this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n );\n else {\n const a = this.queries[n];\n (oe(r) !== oe(a.query) || JSON.stringify(Pe(i)) !== JSON.stringify(Pe(a.args)) || JSON.stringify(o) !== JSON.stringify(a.paginationOptions)) && (this.removeQuery(n), this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n ));\n }\n }\n for (const n of Object.keys(this.queries))\n e[n] === void 0 && this.removeQuery(n);\n }\n subscribe(e) {\n return this.listeners.add(e), () => {\n this.listeners.delete(e);\n };\n }\n getLocalResults(e) {\n const n = {};\n for (const r of Object.keys(e)) {\n const { query: i, args: o } = e[r], a = e[r].paginationOptions;\n oe(i);\n const l = this.createWatch(\n i,\n o,\n a ? { paginationOptions: a } : {}\n );\n let c;\n try {\n c = l.localQueryResult();\n } catch (u) {\n if (u instanceof Error)\n c = u;\n else\n throw u;\n }\n n[r] = c;\n }\n return n;\n }\n setCreateWatch(e) {\n this.createWatch = e;\n for (const n of Object.keys(this.queries)) {\n const { query: r, args: i, watch: o, paginationOptions: a } = this.queries[n], l = \"journal\" in o ? o.journal() : void 0;\n this.removeQuery(n), this.addQuery(n, r, i, {\n ...l ? { journal: l } : [],\n ...a ? { paginationOptions: a } : {}\n });\n }\n }\n destroy() {\n for (const e of Object.keys(this.queries))\n this.removeQuery(e);\n this.listeners = /* @__PURE__ */ new Set();\n }\n addQuery(e, n, r, {\n paginationOptions: i,\n journal: o\n }) {\n if (this.queries[e] !== void 0)\n throw new Error(\n `Tried to add a new query with identifier ${e} when it already exists.`\n );\n const a = this.createWatch(n, r, {\n ...o ? { journal: o } : [],\n ...i ? { paginationOptions: i } : {}\n }), l = a.onUpdate(() => this.notifyListeners());\n this.queries[e] = {\n query: n,\n args: r,\n watch: a,\n unsubscribe: l,\n ...i ? { paginationOptions: i } : {}\n };\n }\n removeQuery(e) {\n const n = this.queries[e];\n if (n === void 0)\n throw new Error(`No query found with identifier ${e}.`);\n n.unsubscribe(), delete this.queries[e];\n }\n notifyListeners() {\n for (const e of this.listeners)\n e();\n }\n}\nfunction sc(t) {\n const e = tc();\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n const n = Y(() => (r, i, {\n journal: o,\n paginationOptions: a\n }) => a ? e.watchPaginatedQuery(r, i, a) : e.watchQuery(r, i, o ? { journal: o } : {}), [e]);\n return lc(t, n);\n}\nfunction lc(t, e) {\n const [n] = A(() => new ac(e));\n n.createWatch !== e && n.setCreateWatch(e), P(() => () => n.destroy(), [n]);\n const r = Y(\n () => ({\n getCurrentValue: () => n.getLocalResults(t),\n subscribe: (i) => (n.setQueries(t), n.subscribe(i))\n }),\n [n, t]\n );\n return Gl(r);\n}\nvar cc = /* @__PURE__ */ Symbol.for(\"preact-signals\");\nfunction An() {\n if (De > 1)\n De--;\n else {\n for (var t, e = !1; Mt !== void 0; ) {\n var n = Mt;\n for (Mt = void 0, ir++; n !== void 0; ) {\n var r = n.o;\n if (n.o = void 0, n.f &= -3, !(8 & n.f) && Fo(n)) try {\n n.c();\n } catch (i) {\n e || (t = i, e = !0);\n }\n n = r;\n }\n }\n if (ir = 0, De--, e) throw t;\n }\n}\nfunction uc(t) {\n if (De > 0) return t();\n De++;\n try {\n return t();\n } finally {\n An();\n }\n}\nvar E = void 0;\nfunction Bo(t) {\n var e = E;\n E = void 0;\n try {\n return t();\n } finally {\n E = e;\n }\n}\nvar Mt = void 0, De = 0, ir = 0, gn = 0;\nfunction Do(t) {\n if (E !== void 0) {\n var e = t.n;\n if (e === void 0 || e.t !== E)\n return e = { i: 0, S: t, p: E.s, n: void 0, t: E, e: void 0, x: void 0, r: e }, E.s !== void 0 && (E.s.n = e), E.s = e, t.n = e, 32 & E.f && t.S(e), e;\n if (e.i === -1)\n return e.i = 0, e.n !== void 0 && (e.n.p = e.p, e.p !== void 0 && (e.p.n = e.n), e.p = E.s, e.n = void 0, E.s.n = e, E.s = e), e;\n }\n}\nfunction ee(t, e) {\n this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nee.prototype.brand = cc;\nee.prototype.h = function() {\n return !0;\n};\nee.prototype.S = function(t) {\n var e = this, n = this.t;\n n !== t && t.e === void 0 && (t.x = n, this.t = t, n !== void 0 ? n.e = t : Bo(function() {\n var r;\n (r = e.W) == null || r.call(e);\n }));\n};\nee.prototype.U = function(t) {\n var e = this;\n if (this.t !== void 0) {\n var n = t.e, r = t.x;\n n !== void 0 && (n.x = r, t.e = void 0), r !== void 0 && (r.e = n, t.x = void 0), t === this.t && (this.t = r, r === void 0 && Bo(function() {\n var i;\n (i = e.Z) == null || i.call(e);\n }));\n }\n};\nee.prototype.subscribe = function(t) {\n var e = this;\n return Zt(function() {\n var n = e.value, r = E;\n E = void 0;\n try {\n t(n);\n } finally {\n E = r;\n }\n }, { name: \"sub\" });\n};\nee.prototype.valueOf = function() {\n return this.value;\n};\nee.prototype.toString = function() {\n return this.value + \"\";\n};\nee.prototype.toJSON = function() {\n return this.value;\n};\nee.prototype.peek = function() {\n var t = E;\n E = void 0;\n try {\n return this.value;\n } finally {\n E = t;\n }\n};\nObject.defineProperty(ee.prototype, \"value\", { get: function() {\n var t = Do(this);\n return t !== void 0 && (t.i = this.i), this.v;\n}, set: function(t) {\n if (t !== this.v) {\n if (ir > 100) throw new Error(\"Cycle detected\");\n this.v = t, this.i++, gn++, De++;\n try {\n for (var e = this.t; e !== void 0; e = e.x) e.t.N();\n } finally {\n An();\n }\n }\n} });\nfunction M(t, e) {\n return new ee(t, e);\n}\nfunction Fo(t) {\n for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;\n return !1;\n}\nfunction Uo(t) {\n for (var e = t.s; e !== void 0; e = e.n) {\n var n = e.S.n;\n if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {\n t.s = e;\n break;\n }\n }\n}\nfunction Vo(t) {\n for (var e = t.s, n = void 0; e !== void 0; ) {\n var r = e.p;\n e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;\n }\n t.s = n;\n}\nfunction rt(t, e) {\n ee.call(this, void 0), this.x = t, this.s = void 0, this.g = gn - 1, this.f = 4, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nrt.prototype = new ee();\nrt.prototype.h = function() {\n if (this.f &= -3, 1 & this.f) return !1;\n if ((36 & this.f) == 32 || (this.f &= -5, this.g === gn)) return !0;\n if (this.g = gn, this.f |= 1, this.i > 0 && !Fo(this))\n return this.f &= -2, !0;\n var t = E;\n try {\n Uo(this), E = this;\n var e = this.x();\n (16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);\n } catch (n) {\n this.v = n, this.f |= 16, this.i++;\n }\n return E = t, Vo(this), this.f &= -2, !0;\n};\nrt.prototype.S = function(t) {\n if (this.t === void 0) {\n this.f |= 36;\n for (var e = this.s; e !== void 0; e = e.n) e.S.S(e);\n }\n ee.prototype.S.call(this, t);\n};\nrt.prototype.U = function(t) {\n if (this.t !== void 0 && (ee.prototype.U.call(this, t), this.t === void 0)) {\n this.f &= -33;\n for (var e = this.s; e !== void 0; e = e.n) e.S.U(e);\n }\n};\nrt.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for (var t = this.t; t !== void 0; t = t.x) t.t.N();\n }\n};\nObject.defineProperty(rt.prototype, \"value\", { get: function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n var t = Do(this);\n if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;\n return this.v;\n} });\nfunction or(t, e) {\n return new rt(t, e);\n}\nfunction Qo(t) {\n var e = t.u;\n if (t.u = void 0, typeof e == \"function\") {\n De++;\n var n = E;\n E = void 0;\n try {\n e();\n } catch (r) {\n throw t.f &= -2, t.f |= 8, jr(t), r;\n } finally {\n E = n, An();\n }\n }\n}\nfunction jr(t) {\n for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);\n t.x = void 0, t.s = void 0, Qo(t);\n}\nfunction dc(t) {\n if (E !== this) throw new Error(\"Out-of-order effect\");\n Vo(this), E = t, this.f &= -2, 8 & this.f && jr(this), An();\n}\nfunction wt(t, e) {\n this.x = t, this.u = void 0, this.s = void 0, this.o = void 0, this.f = 32, this.name = e?.name;\n}\nwt.prototype.c = function() {\n var t = this.S();\n try {\n if (8 & this.f || this.x === void 0) return;\n var e = this.x();\n typeof e == \"function\" && (this.u = e);\n } finally {\n t();\n }\n};\nwt.prototype.S = function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n this.f |= 1, this.f &= -9, Qo(this), Uo(this), De++;\n var t = E;\n return E = this, dc.bind(this, t);\n};\nwt.prototype.N = function() {\n 2 & this.f || (this.f |= 2, this.o = Mt, Mt = this);\n};\nwt.prototype.d = function() {\n this.f |= 8, 1 & this.f || jr(this);\n};\nwt.prototype.dispose = function() {\n this.d();\n};\nfunction Zt(t, e) {\n var n = new wt(t, e);\n try {\n n.c();\n } catch (i) {\n throw n.d(), i;\n }\n var r = n.d.bind(n);\n return r[Symbol.dispose] = r, r;\n}\nvar Ho, an, hc = typeof window < \"u\" && !!window.__PREACT_SIGNALS_DEVTOOLS__, Wo = [];\nZt(function() {\n Ho = this.N;\n})();\nfunction kt(t, e) {\n k[t] = e.bind(null, k[t] || function() {\n });\n}\nfunction xn(t) {\n if (an) {\n var e = an;\n an = void 0, e();\n }\n an = t && t.S();\n}\nfunction Ko(t) {\n var e = this, n = t.data, r = ft(n);\n r.value = n;\n var i = Y(function() {\n for (var l = e, c = e.__v; c = c.__; ) if (c.__c) {\n c.__c.__$f |= 4;\n break;\n }\n var u = or(function() {\n var p = r.value.value;\n return p === 0 ? 0 : p === !0 ? \"\" : p || \"\";\n }), d = or(function() {\n return !Array.isArray(u.value) && !Ji(u.value);\n }), h = Zt(function() {\n if (this.N = Go, d.value) {\n var p = u.value;\n l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = p);\n }\n }), f = e.__$u.d;\n return e.__$u.d = function() {\n h(), f.call(this);\n }, [d, u];\n }, []), o = i[0], a = i[1];\n return o.value ? a.peek() : a.value;\n}\nKo.displayName = \"ReactiveTextNode\";\nObject.defineProperties(ee.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: Ko }, props: { configurable: !0, get: function() {\n return { data: this };\n} }, __b: { configurable: !0, value: 1 } });\nkt(\"__b\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n, r = e.props;\n for (var i in r) if (i !== \"children\") {\n var o = r[i];\n o instanceof ee && (n || (e.__np = n = {}), n[i] = o, r[i] = o.peek());\n }\n }\n t(e);\n});\nkt(\"__r\", function(t, e) {\n if (t(e), e.type !== O) {\n xn();\n var n, r = e.__c;\n r && (r.__$f &= -2, (n = r.__$u) === void 0 && (r.__$u = n = (function(i, o) {\n var a;\n return Zt(function() {\n a = this;\n }, { name: o }), a.c = i, a;\n })(function() {\n var i;\n hc && ((i = n.y) == null || i.call(n)), r.__$f |= 1, r.setState({});\n }, typeof e.type == \"function\" ? e.type.displayName || e.type.name : \"\"))), xn(n);\n }\n});\nkt(\"__e\", function(t, e, n, r) {\n xn(), t(e, n, r);\n});\nkt(\"diffed\", function(t, e) {\n xn();\n var n;\n if (typeof e.type == \"string\" && (n = e.__e)) {\n var r = e.__np, i = e.props;\n if (r) {\n var o = n.U;\n if (o) for (var a in o) {\n var l = o[a];\n l !== void 0 && !(a in r) && (l.d(), o[a] = void 0);\n }\n else\n o = {}, n.U = o;\n for (var c in r) {\n var u = o[c], d = r[c];\n u === void 0 ? (u = pc(n, c, d, i), o[c] = u) : u.o(d, i);\n }\n }\n }\n t(e);\n});\nfunction pc(t, e, n, r) {\n var i = e in t && t.ownerSVGElement === void 0, o = M(n);\n return { o: function(a, l) {\n o.value = a, r = l;\n }, d: Zt(function() {\n this.N = Go;\n var a = o.value.value;\n r[e] !== a && (r[e] = a, i ? t[e] = a : a != null && (a !== !1 || e[4] === \"-\") ? t.setAttribute(e, a) : t.removeAttribute(e));\n }) };\n}\nkt(\"unmount\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n = e.__e;\n if (n) {\n var r = n.U;\n if (r) {\n n.U = void 0;\n for (var i in r) {\n var o = r[i];\n o && o.d();\n }\n }\n }\n } else {\n var a = e.__c;\n if (a) {\n var l = a.__$u;\n l && (a.__$u = void 0, l.d());\n }\n }\n t(e);\n});\nkt(\"__h\", function(t, e, n, r) {\n (r < 3 || r === 9) && (e.__$f |= 2), t(e, n, r);\n});\nwe.prototype.shouldComponentUpdate = function(t, e) {\n if (this.__R) return !0;\n var n = this.__$u, r = n && n.s !== void 0;\n for (var i in e) return !0;\n if (this.__f || typeof this.u == \"boolean\" && this.u === !0) {\n var o = 2 & this.__$f;\n if (!(r || o || 4 & this.__$f) || 1 & this.__$f) return !0;\n } else if (!(r || 4 & this.__$f) || 3 & this.__$f) return !0;\n for (var a in t) if (a !== \"__source\" && t[a] !== this.props[a]) return !0;\n for (var l in this.props) if (!(l in t)) return !0;\n return !1;\n};\nfunction ft(t, e) {\n return Y(function() {\n return M(t, e);\n }, []);\n}\nvar fc = function(t) {\n queueMicrotask(function() {\n queueMicrotask(t);\n });\n};\nfunction mc() {\n uc(function() {\n for (var t; t = Wo.shift(); ) Ho.call(t);\n });\n}\nfunction Go() {\n Wo.push(this) === 1 && (k.requestAnimationFrame || fc)(mc);\n}\nconst V = M(!1), bn = M(void 0), Xt = \"https://jexitychat.de/privacy\", en = M(Xt), Sr = M(\"chip\"), Fe = M(void 0), ar = M([]), sr = M([]), Yo = M(null);\nfunction gc(t) {\n return t.replace(/\\.convex\\.site\\b/, \".convex.cloud\");\n}\nfunction Jo(t) {\n return t.replace(/\\.convex\\.cloud\\b/, \".convex.site\");\n}\nfunction xc(t) {\n const e = t?.trim();\n if (e)\n try {\n const n = new URL(e);\n if (n.protocol === \"http:\" || n.protocol === \"https:\")\n return e;\n } catch {\n return;\n }\n}\nfunction bc(t, e) {\n const n = t.title ?? e?.title ?? \"Assistant\", r = t.privacyPolicyMode ?? e?.privacyPolicyMode ?? \"platform\", i = vc(\n t.privacyNoticeStyle ?? e?.privacyNoticeStyle\n );\n return {\n title: n,\n // Bot bubble name. Option first (dashboard test panel passes the live form\n // value), then remote (saved config for production embeds); blank/absent on\n // both falls back to the widget title.\n botName: t.botName?.trim() || e?.botName?.trim() || n,\n greeting: t.greeting ?? e?.welcomeMessage ?? `Hi! I'm ${n}. How can I help?`,\n // Option first (dashboard live preview/test passes the form value), then\n // remote (saved config for production embeds). Already sanitized server-side.\n starterQuestions: t.starterQuestions ?? e?.starterQuestions ?? [],\n locale: t.locale ?? e?.locale,\n position: t.position ?? e?.position,\n colorScheme: t.colorScheme ?? e?.colorScheme,\n hideBranding: t.hideBranding ?? e?.hideBranding ?? !1,\n privacyPolicyMode: r,\n privacyPolicyUrl: r === \"custom\" ? xc(t.privacyPolicyUrl ?? e?.privacyPolicyUrl) : void 0,\n privacyNoticeStyle: i,\n triggerIcon: t.triggerIcon ?? e?.triggerIcon ?? \"chat\",\n triggerRadius: t.triggerRadius ?? e?.triggerRadius ?? \"full\",\n triggerLabel: t.triggerLabel ?? e?.triggerLabel ?? \"Chatte mit uns\",\n mode: t.mode ?? \"floating\",\n proactiveMode: e?.proactiveMode ?? \"off\",\n // Clamp 0–15; bad/huge stored values just mean \"never shows\" otherwise.\n proactiveDelaySeconds: Math.min(15, Math.max(0, e?.proactiveDelaySeconds ?? 5)),\n primaryColor: t.primaryColor ?? e?.primaryColor,\n accentColor: t.accentColor ?? e?.accentColor,\n fontFamily: t.fontFamily ?? e?.fontFamily,\n fontSize: t.fontSize ?? e?.fontSize,\n borderRadius: t.borderRadius ?? e?.borderRadius,\n windowWidth: t.windowWidth ?? e?.windowWidth,\n windowHeight: t.windowHeight ?? e?.windowHeight\n };\n}\nfunction vc(t) {\n return t === \"explicit\" || t === \"sheet\" ? \"explicit\" : \"chip\";\n}\nasync function yc(t, e, n, r) {\n const i = new URL(`${t}/widget/config`);\n i.searchParams.set(\"orgSlug\", e), r && i.searchParams.set(\"projSlug\", r);\n const o = await fetch(i.toString(), { signal: n });\n return o.ok ? o.json() : null;\n}\nfunction wc(t, e, n) {\n const [r, i] = A(null);\n return P(() => {\n i(null);\n const o = n ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", a = o ? Jo(o) : void 0;\n if (!a || !t)\n return;\n const l = new AbortController();\n async function c(u) {\n try {\n const d = await yc(u, t, l.signal, e);\n d && i(d);\n } catch (d) {\n if (d instanceof Error && d.name === \"AbortError\")\n return;\n }\n }\n return c(a), () => {\n l.abort();\n };\n }, [t, e, n]), r;\n}\nasync function Zo(t, e, n) {\n try {\n const r = await fetch(`${e}/widget/bootstrap`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(n ? { orgSlug: t, projSlug: n } : { orgSlug: t }),\n credentials: \"omit\"\n });\n if (r.ok) {\n const i = await r.json(), o = i.allowedUrls ?? (i.allowedUrl ? [i.allowedUrl] : []);\n return { ok: !0, token: i.token, excludePaths: i.excludePaths, allowedUrls: o };\n }\n return r.status === 403 ? { ok: !1, error: \"unauthorized\" } : r.status === 404 ? { ok: !1, error: \"not_found\" } : r.status === 429 ? { ok: !1, error: \"rate_limited\", retryAfterSec: Number(r.headers.get(\"Retry-After\")) || 60 } : { ok: !1, error: \"network\" };\n } catch {\n return { ok: !1, error: \"network\" };\n }\n}\nfunction kc(t, e) {\n return e.some((n) => n === \"/\" ? t === \"/\" : t === n || t.startsWith(n + \"/\"));\n}\nfunction ki(t, e) {\n try {\n const n = new URL(t), r = new URL(e);\n if (n.origin !== r.origin)\n return !1;\n const i = r.pathname.replace(/\\/$/, \"\");\n if (!i)\n return !0;\n const o = n.pathname.replace(/\\/$/, \"\");\n return o === i || o.startsWith(i + \"/\");\n } catch {\n return !1;\n }\n}\nfunction _c({\n orgSlug: t,\n projSlug: e,\n preToken: n,\n convexUrl: r,\n preAllowedUrls: i,\n preExcludedPaths: o\n}) {\n P(() => {\n const a = r ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", l = a ? Jo(a) : void 0;\n if (!l || !t)\n return;\n if (Yo.value = { orgSlug: t, projSlug: e, siteUrl: l }, n) {\n ar.value = i ?? [], sr.value = o ?? [];\n return;\n }\n let c = !1;\n return (async () => {\n const u = await Zo(t, l, e);\n if (!c)\n if (u.ok)\n Fe.value = u.token, ar.value = u.allowedUrls, sr.value = u.excludePaths;\n else {\n const d = e ? `project '${t}/${e}'` : `org '${t}'`;\n u.error === \"unauthorized\" ? console.warn(\n `[JexityChat] Domain not authorized for ${d}. Check the widget's domain rules.`\n ) : u.error === \"not_found\" ? console.error(`[JexityChat] No active widget config found for ${d}.`) : u.error === \"rate_limited\" ? console.error(\n `[JexityChat] Bootstrap rate-limited for ${d}. Retry after ${u.retryAfterSec ?? 60}s.`\n ) : console.error(`[JexityChat] Bootstrap failed: ${u.error}`);\n }\n })(), () => {\n c = !0;\n };\n }, [t, e, n, r]);\n}\nconst vn = /* @__PURE__ */ new Set();\nlet _i = !1;\nfunction jc() {\n if (_i)\n return;\n _i = !0;\n const t = history.pushState.bind(history), e = history.replaceState.bind(history);\n history.pushState = function(...n) {\n t(...n), vn.forEach((r) => r());\n }, history.replaceState = function(...n) {\n e(...n), vn.forEach((r) => r());\n };\n}\nfunction Sc(t) {\n return vn.add(t), window.addEventListener(\"popstate\", t), jc(), () => {\n vn.delete(t), window.removeEventListener(\"popstate\", t);\n };\n}\nfunction Cc() {\n const t = ft(window.location.href);\n P(() => Sc(() => {\n t.value = window.location.href;\n }), []);\n const e = ar.value, n = sr.value, r = new URL(t.value).pathname, i = kc(r, n);\n return P(() => {\n i ? console.warn(\n `[JexityChat] Widget hidden — current path is in the exclude list: ${r}`\n ) : e.length > 0 && !e.some((o) => ki(t.value, o)) && console.warn(\n `[JexityChat] Widget hidden — current page does not match path rule. Allowed: ${e.join(\", \")}`\n );\n }, [t.value, e, n]), i ? !1 : e.length === 0 ? !0 : e.some((o) => ki(t.value, o));\n}\nconst Cr = {\n title: \"Assistant\",\n statusOnline: \"Online · Responds in seconds\",\n inputPlaceholder: \"Type a message…\",\n aiThinking: \"AI is responding…\",\n sendAriaLabel: \"Send message\",\n attachImagesAriaLabel: \"Attach images\",\n attachComingSoon: \"File attachments — coming soon\",\n voiceAriaLabel: \"Voice message\",\n voiceComingSoon: \"Voice messages — coming soon\",\n removeAttachmentAriaLabel: \"Remove attachment\",\n openChatAriaLabel: \"Open chat\",\n closeChatAriaLabel: \"Close chat\",\n proactiveDismiss: \"Dismiss\",\n proactiveOpenAria: \"Open chat\",\n errorNetwork: \"Network error. Please try again.\",\n errorQuota: \"Message limit reached. Please try again later.\",\n errorRateLimited: \"Too many messages. Try again in {seconds}s.\",\n errorSessionNoToken: \"Could not connect to chat. Check your connection and try again.\",\n errorSessionUnauthorized: \"This chat is not authorised on this page. Please reload.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Resuming conversation…\",\n startingConversation: \"Starting conversation…\",\n sessionNotFound: \"Your previous session was not found. Starting a new conversation.\",\n startNewConversation: \"Start new conversation\",\n chatWith: \"Chat with {title}\",\n haveReferenceNumber: \"Have a reference number?\",\n referencePlaceholder: \"e.g. JEX-A3B7C2\",\n resume: \"Resume\",\n howCanWeHelp: \"How can we help?\",\n getInstantHelp: \"Get instant help\",\n submitTicket: \"Submit a ticket\",\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: \"Ticket submitted\",\n yourReferenceNumber: \"Your reference number:\",\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: \"Done\",\n submittingTicket: \"Submitting your ticket…\",\n yourName: \"Your name\",\n yourEmail: \"Your email\",\n submit: \"Submit\",\n back: \"Go back\",\n // Escalation form\n escalationFormTitle: \"Leave your details\",\n escalationSubtitle: \"Our team will get back to you by email so you don’t have to wait here.\",\n escalationNameLabel: \"Your name\",\n escalationEmailLabel: \"Your email\",\n escalationSubmit: \"Send to team\",\n escalationSubmitting: \"Sending…\",\n escalationSubmitted: \"Request submitted\",\n escalationConsent: \"By submitting, you agree to our\",\n escalationPrivacyLinkText: \"Privacy Policy\",\n escalationSkip: \"Skip, I’ll wait here\",\n escalationPromptTitle: \"Talk to our team\",\n escalationPromptSubtitle: \"We can notify you by email when our team replies.\",\n escalationPromptSubmit: \"Leave details\",\n escalationSubmitFailed: \"Failed to submit. Please try again.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Session not found. Would you like to start a new conversation?\",\n sessionLocked: \"For your privacy, this conversation was closed after a period of inactivity. Enter your reference to resume, or start a new conversation.\",\n // Resolved session\n sessionResolved: \"This conversation has been resolved.\",\n tryAgain: \"Try again\",\n goBack: \"Go back\",\n somethingWentWrong: \"Something went wrong\",\n fabLabel: \"Chat with us\",\n chatNoLongerAvailable: \"This chat is no longer available.\",\n // Handoff & resume list\n talkToHuman: \"Talk to human\",\n talkToHumanAria: \"Talk to a human agent\",\n handoffPending: \"Connecting you to a human agent…\",\n handoffFailed: \"Could not request a human agent. Try again.\",\n handoffRateLimited: \"You requested an agent recently. Please wait before trying again.\",\n resumeListLabel: \"Continue conversation\",\n resumeListTimestamp: \"{minutes}m ago\",\n pickUpWhereLeftOff: \"Pick up where you left off\",\n noticeAgentJoined: \"{name} has joined the conversation.\",\n noticeHumanRequested: \"You requested to speak with a human agent.\",\n noticeHumanRequestedForm: \"You requested to speak with a human agent. Please share your contact details below.\",\n noticeEscalationConfirmed: `Thank you {name}! A human agent will be available soon.\nWe will contact you at {email} when an agent is ready.\n\nYour reference: **{ref}**\nUse it to resume this conversation from any device.`,\n noticeMessageReceived: \"Your message has been received. A team member will respond shortly.\",\n noticeAgentHandling: \"Your conversation is with a human agent who will respond shortly.\",\n replyTo: \"Reply to {name}\",\n sourcesCountOne: \"{count} source\",\n sourcesCountOther: \"{count} sources\",\n privacyNoticePre: \"By chatting, you agree to our\",\n privacyPolicyLinkText: \"Privacy Policy\",\n privacyChipText: \"We respect your privacy - read our policy\",\n privacyExplicitTitle: \"Before you send\",\n privacyExplicitBodyPre: \"Messages are processed to assist you. By continuing you agree to our\",\n privacyExplicitButton: \"Got it, continue\",\n // Magicline integration forms\n magiclineTrialTitle: \"Book a trial session\",\n magiclineLeadTitle: \"Request more information\",\n magiclineFirstName: \"First name\",\n magiclineLastName: \"Last name\",\n magiclineEmail: \"Email\",\n magiclinePhone: \"Phone\",\n magiclineBirthDate: \"Date of birth\",\n magiclineInterest: \"What are you interested in? (optional)\",\n magiclineMessage: \"Message (optional)\",\n magiclineSlotLabel: \"Preferred time\",\n magiclineSlotPlaceholder: \"Select a time…\",\n magiclineLoadingSlots: \"Loading available times…\",\n magiclineNoSlots: \"No trial times are available right now. Please check back later or ask us for help.\",\n magiclineSubmit: \"Submit\",\n magiclineSubmitting: \"Submitting…\",\n magiclineSubmitted: \"Request submitted\",\n magiclineSubmittedDetail: \"We’ve received your request and will be in touch shortly.\",\n magiclineFailed: \"Submission failed\",\n magiclineFailedDetail: \"Something went wrong submitting your request. Please try again.\",\n magiclineConsent: \"I agree to the processing of my data in accordance with the\",\n magiclinePrivacyLinkText: \"Privacy Policy\",\n magiclineRequiredError: \"Please fill in all required fields.\",\n magiclineEmailError: \"Please enter a valid email address.\",\n magiclineConsentError: \"Please accept the privacy policy to continue.\",\n // Dynamic per-studio trial form (v2)\n magiclineConfigLoading: \"Loading the booking form…\",\n magiclineConfigUnsupported: \"Online trial booking is not supported for this studio. Please ask us for help.\",\n magiclineConfigInconsistent: \"The booking form is temporarily misconfigured. Please ask us for help.\",\n magiclineConfigUnavailable: \"Trial booking is not available right now. Please try again later or ask us for help.\",\n magiclineGender: \"Gender\",\n magiclineGenderPlaceholder: \"Select gender…\",\n magiclineGenderMale: \"Male\",\n magiclineGenderFemale: \"Female\",\n magiclineGenderUnisex: \"Diverse\",\n magiclineStreet: \"Street\",\n magiclineHouseNumber: \"House number\",\n magiclineZip: \"Postal code\",\n magiclineCity: \"City\",\n magiclineCountry: \"Country\",\n magiclineCountryPlaceholder: \"Select a country…\",\n magiclineNote: \"Note (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"I want a trainer present\",\n magiclineMinAgeError: \"You must be at least {age} years old to book a trial.\",\n magiclineSlotRequiredError: \"Please select an available time.\",\n magiclineSlotUnavailableNotice: \"That time is no longer available. Please pick another time below.\",\n // Step wizard (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Choose a time\",\n magiclineStepPersonal: \"Your details\",\n magiclineStepAddress: \"Your address\",\n magiclineStepConfirm: \"Confirm\",\n magiclineStepCounter: \"Step {n} of {total}\",\n magiclineWizardBack: \"Back\",\n magiclineWizardNext: \"Next\",\n magiclineTrainerWith: \"Trial session with trainer\",\n magiclineTrainerWithout: \"Trial session without trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Time\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Try again\",\n magiclineSlotsError: \"We couldn’t load available times right now. Please try again.\",\n // Membership signup wizard (contract creation)\n magiclineContractTitle: \"Become a member\",\n magiclineStepOffer: \"Choose a membership\",\n magiclineStepUpgrades: \"Add-ons\",\n magiclineStepPayment: \"Payment\",\n magiclineStepReview: \"Review\",\n magiclineOffersLoading: \"Loading memberships…\",\n magiclineOffersError: \"We couldn’t load the memberships right now. Please try again.\",\n magiclineNoOffers: \"No memberships are available to sign up for online right now. Please ask us for help.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"per day\",\n magiclineFreqPerWeek: \"per week\",\n magiclineFreqPerMonth: \"per month\",\n magiclineFreqPerYear: \"per year\",\n magiclineFreqEveryDays: \"every {n} days\",\n magiclineFreqEveryWeeks: \"every {n} weeks\",\n magiclineFreqEveryMonths: \"every {n} months\",\n magiclineFreqEveryYears: \"every {n} years\",\n magiclineModulePerTerm: \"per term\",\n magiclineModuleOneTime: \"one-time\",\n magiclineModuleIncluded: \"included\",\n magiclineRenewalNone: \"No automatic renewal\",\n magiclineRenewalTerm: \"Renewal: {n} {unit}\",\n magiclineCancellationPeriod: \"Cancellation period\",\n magiclineStarterPackage: \"Starter package\",\n magiclineFlatFee: \"One-time fee\",\n magiclineIncludedModules: \"Included\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Required\",\n magiclineUpgradesIntro: \"Add optional upgrades to your membership.\",\n magiclineUpgradesNone: \"No optional upgrades are available for this membership.\",\n magiclineUpgradeAdd: \"Add\",\n magiclineUpgradeAdded: \"Added\",\n magiclineUpgradeOneTime: \"one-time\",\n magiclineUpgradeConsentError: \"Please accept the terms for your selected upgrade to keep it.\",\n magiclineOfferRequiredError: \"Please select a membership.\",\n magiclineCountryStatic: \"Germany\",\n magiclineAccountHolder: \"Account holder\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Please enter a valid IBAN.\",\n magiclineSepaConsent: \"I authorise the studio to collect payments from my account by SEPA direct debit and instruct my bank to honour these debits.\",\n magiclineReviewLoading: \"Calculating your price…\",\n magiclineReviewError: \"We couldn’t calculate your price right now. Please try again.\",\n magiclineReviewOffer: \"Membership\",\n magiclineReviewPriceSummary: \"Price summary\",\n magiclineReviewBasePrice: \"Price per month\",\n magiclineReviewOneTimeFees: \"One-time fees\",\n magiclineReviewPreUseCharge: \"Pre-use charge\",\n magiclineReviewSelectedUpgrades: \"Your selected upgrades\",\n magiclineReviewContractVolume: \"Total contract volume\",\n magiclineReviewStartsOn: \"Starts on\",\n magiclineReviewPayment: \"Payment\",\n magiclineReviewTerms: \"Terms & conditions\",\n magiclineConfirmPrompt: \"Please confirm the following to continue:\",\n magiclineConfirmRequiredError: \"Please confirm all required terms before submitting.\",\n magiclineSummaryAddress: \"Address\",\n magiclineContractSubmitted: \"Your membership is confirmed and the studio will be in touch shortly.\",\n magiclineCustomerNumber: \"Your customer number: {number}\",\n magiclinePriceChangedNotice: \"The price has changed. Please review the new price and confirm again.\",\n magiclineOfferUnavailableNotice: \"That membership is no longer available. Please choose another one.\",\n magiclineConfirmationRequiredNotice: \"Please confirm all required terms before submitting.\",\n magiclineLiveSubmissionDisabled: \"Live submission is disabled for this project — please contact the studio.\",\n magiclineDuplicateNotice: \"A membership for this offer was already created recently.\",\n magiclineUnknownOutcome: \"We couldn’t confirm your signup. The studio will verify it and contact you — please do not submit again.\",\n magiclineFeeStarterPackage: \"Starter package\",\n magiclineFeeTrainerFee: \"Trainer fee\",\n // Voucher code (contract-creation Review step)\n magiclineVoucherLabel: \"Voucher code\",\n magiclineVoucherPlaceholder: \"Enter voucher code…\",\n magiclineVoucherApply: \"Apply\",\n magiclineVoucherAppliedDiscount: \"Discount ({discount})\",\n magiclineVoucherCreditNotice: \"Account credit applied — not deducted from contract total.\",\n magiclineVoucherRemarks: \"Voucher remarks\",\n magiclineVoucherInvalid: 'Voucher \"{code}\" is not valid. Please check the code and try again.',\n magiclineVoucherDisabled: \"Voucher codes are not available for this membership.\",\n magiclineGesamtpreisBeforeDiscount: \"Total contract volume (before voucher discount)\"\n}, Xo = {\n title: \"Assistent\",\n statusOnline: \"Online · Antwortet in Sekunden\",\n inputPlaceholder: \"Nachricht eingeben…\",\n aiThinking: \"KI antwortet…\",\n sendAriaLabel: \"Nachricht senden\",\n attachImagesAriaLabel: \"Bilder anhängen\",\n attachComingSoon: \"Dateianhänge — bald verfügbar\",\n voiceAriaLabel: \"Sprachnachricht\",\n voiceComingSoon: \"Sprachnachrichten — bald verfügbar\",\n removeAttachmentAriaLabel: \"Anhang entfernen\",\n openChatAriaLabel: \"Chat öffnen\",\n closeChatAriaLabel: \"Chat schließen\",\n proactiveDismiss: \"Schließen\",\n proactiveOpenAria: \"Chat öffnen\",\n errorNetwork: \"Netzwerkfehler. Bitte versuche es erneut.\",\n errorQuota: \"Nachrichtenlimit erreicht. Bitte versuche es später erneut.\",\n errorRateLimited: \"Zu viele Nachrichten. Bitte in {seconds} Sek. erneut versuchen.\",\n errorSessionNoToken: \"Verbindung zum Chat fehlgeschlagen. Bitte Internet prüfen und erneut versuchen.\",\n errorSessionUnauthorized: \"Dieser Chat ist auf dieser Seite nicht autorisiert. Bitte neu laden.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Gespräch wird fortgesetzt…\",\n startingConversation: \"Konversation wird gestartet…\",\n sessionNotFound: \"Ihre vorherige Sitzung wurde nicht gefunden. Ein neues Gespräch wird gestartet.\",\n startNewConversation: \"Neues Gespräch beginnen\",\n chatWith: \"Chatte mit {title}\",\n haveReferenceNumber: \"Hast du eine Referenznummer?\",\n referencePlaceholder: \"z.B. JEX-A3B7C2\",\n resume: \"Fortsetzen\",\n howCanWeHelp: \"Wie können wir helfen?\",\n getInstantHelp: \"Soforthilfe erhalten\",\n submitTicket: \"Ticket einreichen\",\n replyByEmail: \"Wir antworten per E-Mail\",\n ticketSubmitted: \"Ticket eingereicht\",\n yourReferenceNumber: \"Deine Referenznummer:\",\n sentToEmailHint: \"Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer für Rückfragen.\",\n done: \"Fertig\",\n submittingTicket: \"Dein Ticket wird übermittelt…\",\n yourName: \"Dein Name\",\n yourEmail: \"Deine E-Mail\",\n submit: \"Absenden\",\n back: \"Zurück\",\n // Escalation form\n escalationFormTitle: \"Hinterlassen Sie Ihre Daten\",\n escalationSubtitle: \"Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.\",\n escalationNameLabel: \"Ihr Name\",\n escalationEmailLabel: \"Ihre E-Mail\",\n escalationSubmit: \"An Team senden\",\n escalationSubmitting: \"Wird gesendet…\",\n escalationSubmitted: \"Anfrage gesendet\",\n escalationConsent: \"Mit dem Absenden stimmen Sie unserer\",\n escalationPrivacyLinkText: \"Datenschutzerklärung\",\n escalationSkip: \"Überspringen, ich warte hier\",\n escalationPromptTitle: \"Sprechen Sie mit unserem Team\",\n escalationPromptSubtitle: \"Wir benachrichtigen Sie per E-Mail, wenn wir antworten.\",\n escalationPromptSubmit: \"Daten hinterlassen\",\n escalationSubmitFailed: \"Senden fehlgeschlagen. Bitte versuche es erneut.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Sitzung nicht gefunden. Möchten Sie ein neues Gespräch beginnen?\",\n sessionLocked: \"Aus Datenschutzgründen wurde dieses Gespräch nach einer Inaktivitätszeit geschlossen. Geben Sie Ihre Referenz ein, um fortzufahren, oder beginnen Sie ein neues Gespräch.\",\n // Resolved session\n sessionResolved: \"Diese Unterhaltung wurde abgeschlossen.\",\n tryAgain: \"Erneut versuchen\",\n goBack: \"Zurück\",\n somethingWentWrong: \"Etwas ist schiefgelaufen\",\n fabLabel: \"Chatte mit uns\",\n chatNoLongerAvailable: \"Dieser Chat ist nicht mehr verfügbar.\",\n // Handoff & resume list\n talkToHuman: \"Mit Mitarbeiter sprechen\",\n talkToHumanAria: \"Mit einem menschlichen Mitarbeiter sprechen\",\n handoffPending: \"Sie werden mit einem Mitarbeiter verbunden…\",\n handoffFailed: \"Anfrage konnte nicht gesendet werden. Erneut versuchen.\",\n handoffRateLimited: \"Sie haben kürzlich einen Mitarbeiter angefragt. Bitte warten Sie.\",\n resumeListLabel: \"Unterhaltung fortsetzen\",\n resumeListTimestamp: \"vor {minutes} Min.\",\n pickUpWhereLeftOff: \"Da weitermachen, wo Sie aufgehört haben\",\n noticeAgentJoined: \"{name} ist der Unterhaltung beigetreten.\",\n noticeHumanRequested: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen.\",\n noticeHumanRequestedForm: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen. Bitte teilen Sie unten Ihre Kontaktdaten mit.\",\n noticeEscalationConfirmed: `Vielen Dank, {name}! Ein Mitarbeiter wird in Kürze verfügbar sein.\nWir kontaktieren Sie unter {email}, sobald ein Mitarbeiter bereit ist.\n\nIhre Referenz: **{ref}**\nVerwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.`,\n noticeMessageReceived: \"Ihre Nachricht ist eingegangen. Ein Mitarbeiter wird in Kürze antworten.\",\n noticeAgentHandling: \"Ihre Unterhaltung wird von einem menschlichen Mitarbeiter betreut, der in Kürze antwortet.\",\n replyTo: \"Antworten an {name}\",\n sourcesCountOne: \"{count} Quelle\",\n sourcesCountOther: \"{count} Quellen\",\n privacyNoticePre: \"Mit dem Chatten stimmst du unserer\",\n privacyPolicyLinkText: \"Datenschutzerklärung\",\n privacyChipText: \"Wir respektieren Ihre Privatsphäre - Richtlinie lesen\",\n privacyExplicitTitle: \"Vor dem Senden\",\n privacyExplicitBodyPre: \"Nachrichten werden verarbeitet, um Ihnen zu helfen. Durch Fortfahren stimmen Sie unserer\",\n privacyExplicitButton: \"Verstanden, fortfahren\",\n // Magicline integration forms\n magiclineTrialTitle: \"Probetraining buchen\",\n magiclineLeadTitle: \"Weitere Informationen anfordern\",\n magiclineFirstName: \"Vorname\",\n magiclineLastName: \"Nachname\",\n magiclineEmail: \"E-Mail\",\n magiclinePhone: \"Telefon\",\n magiclineBirthDate: \"Geburtsdatum\",\n magiclineInterest: \"Wofür interessieren Sie sich? (optional)\",\n magiclineMessage: \"Nachricht (optional)\",\n magiclineSlotLabel: \"Wunschtermin\",\n magiclineSlotPlaceholder: \"Termin auswählen…\",\n magiclineLoadingSlots: \"Verfügbare Termine werden geladen…\",\n magiclineNoSlots: \"Derzeit sind keine Probetermine verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineSubmit: \"Absenden\",\n magiclineSubmitting: \"Wird gesendet…\",\n magiclineSubmitted: \"Anfrage gesendet\",\n magiclineSubmittedDetail: \"Wir haben Ihre Anfrage erhalten und melden uns in Kürze bei Ihnen.\",\n magiclineFailed: \"Senden fehlgeschlagen\",\n magiclineFailedDetail: \"Beim Senden Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.\",\n magiclineConsent: \"Ich stimme der Verarbeitung meiner Daten gemäß der\",\n magiclinePrivacyLinkText: \"Datenschutzerklärung\",\n magiclineRequiredError: \"Bitte füllen Sie alle Pflichtfelder aus.\",\n magiclineEmailError: \"Bitte geben Sie eine gültige E-Mail-Adresse ein.\",\n magiclineConsentError: \"Bitte akzeptieren Sie die Datenschutzerklärung, um fortzufahren.\",\n // Dynamisches studiospezifisches Probetraining-Formular (v2)\n magiclineConfigLoading: \"Buchungsformular wird geladen…\",\n magiclineConfigUnsupported: \"Die Online-Buchung eines Probetrainings wird für dieses Studio nicht unterstützt. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigInconsistent: \"Das Buchungsformular ist vorübergehend falsch konfiguriert. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigUnavailable: \"Die Buchung eines Probetrainings ist derzeit nicht verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineGender: \"Geschlecht\",\n magiclineGenderPlaceholder: \"Geschlecht auswählen…\",\n magiclineGenderMale: \"Männlich\",\n magiclineGenderFemale: \"Weiblich\",\n magiclineGenderUnisex: \"Divers\",\n magiclineStreet: \"Straße\",\n magiclineHouseNumber: \"Hausnummer\",\n magiclineZip: \"Postleitzahl\",\n magiclineCity: \"Stadt\",\n magiclineCountry: \"Land\",\n magiclineCountryPlaceholder: \"Land auswählen…\",\n magiclineNote: \"Anmerkung (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"Ich wünsche einen Trainer vor Ort\",\n magiclineMinAgeError: \"Sie müssen mindestens {age} Jahre alt sein, um ein Probetraining zu buchen.\",\n magiclineSlotRequiredError: \"Bitte wählen Sie einen verfügbaren Termin aus.\",\n magiclineSlotUnavailableNotice: \"Dieser Termin ist nicht mehr verfügbar. Bitte wählen Sie unten einen anderen Termin aus.\",\n // Schritt-Assistent (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Termin wählen\",\n magiclineStepPersonal: \"Ihre Daten\",\n magiclineStepAddress: \"Ihre Adresse\",\n magiclineStepConfirm: \"Bestätigen\",\n magiclineStepCounter: \"Schritt {n} von {total}\",\n magiclineWizardBack: \"Zurück\",\n magiclineWizardNext: \"Weiter\",\n magiclineTrainerWith: \"Probetraining mit Trainer\",\n magiclineTrainerWithout: \"Probetraining ohne Trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Termin\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Erneut versuchen\",\n magiclineSlotsError: \"Die verfügbaren Termine konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n // Mitgliedschafts-Assistent (Vertragsabschluss)\n magiclineContractTitle: \"Mitglied werden\",\n magiclineStepOffer: \"Mitgliedschaft wählen\",\n magiclineStepUpgrades: \"Zusatzoptionen\",\n magiclineStepPayment: \"Zahlung\",\n magiclineStepReview: \"Überprüfen\",\n magiclineOffersLoading: \"Mitgliedschaften werden geladen…\",\n magiclineOffersError: \"Die Mitgliedschaften konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n magiclineNoOffers: \"Derzeit sind keine Mitgliedschaften für den Online-Abschluss verfügbar. Bitte fragen Sie uns um Hilfe.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"pro Tag\",\n magiclineFreqPerWeek: \"pro Woche\",\n magiclineFreqPerMonth: \"pro Monat\",\n magiclineFreqPerYear: \"pro Jahr\",\n magiclineFreqEveryDays: \"alle {n} Tage\",\n magiclineFreqEveryWeeks: \"alle {n} Wochen\",\n magiclineFreqEveryMonths: \"alle {n} Monate\",\n magiclineFreqEveryYears: \"alle {n} Jahre\",\n magiclineModulePerTerm: \"pro Laufzeit\",\n magiclineModuleOneTime: \"einmalig\",\n magiclineModuleIncluded: \"inklusive\",\n magiclineRenewalNone: \"Keine automatische Verlängerung\",\n magiclineRenewalTerm: \"Verlängerung: {n} {unit}\",\n magiclineCancellationPeriod: \"Kündigungsfrist\",\n magiclineStarterPackage: \"Startpaket\",\n magiclineFlatFee: \"Einmalige Gebühr\",\n magiclineIncludedModules: \"Inklusive\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Erforderlich\",\n magiclineUpgradesIntro: \"Fügen Sie Ihrer Mitgliedschaft optionale Zusatzoptionen hinzu.\",\n magiclineUpgradesNone: \"Für diese Mitgliedschaft sind keine optionalen Zusatzoptionen verfügbar.\",\n magiclineUpgradeAdd: \"Hinzufügen\",\n magiclineUpgradeAdded: \"Hinzugefügt\",\n magiclineUpgradeOneTime: \"einmalig\",\n magiclineUpgradeConsentError: \"Bitte akzeptieren Sie die Bedingungen für Ihre gewählte Zusatzoption, um sie beizubehalten.\",\n magiclineOfferRequiredError: \"Bitte wählen Sie eine Mitgliedschaft aus.\",\n magiclineCountryStatic: \"Deutschland\",\n magiclineAccountHolder: \"Kontoinhaber\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Bitte geben Sie eine gültige IBAN ein.\",\n magiclineSepaConsent: \"Ich ermächtige das Studio, Zahlungen von meinem Konto per SEPA-Lastschrift einzuziehen, und weise mein Kreditinstitut an, diese Lastschriften einzulösen.\",\n magiclineReviewLoading: \"Ihr Preis wird berechnet…\",\n magiclineReviewError: \"Ihr Preis konnte gerade nicht berechnet werden. Bitte versuchen Sie es erneut.\",\n magiclineReviewOffer: \"Mitgliedschaft\",\n magiclineReviewPriceSummary: \"Preisübersicht\",\n magiclineReviewBasePrice: \"Preis pro Monat\",\n magiclineReviewOneTimeFees: \"Einmalige Gebühren\",\n magiclineReviewPreUseCharge: \"Vorab-Nutzungsgebühr\",\n magiclineReviewSelectedUpgrades: \"Deine gewählten Zusatzoptionen\",\n magiclineReviewContractVolume: \"Gesamtes Vertragsvolumen\",\n magiclineReviewStartsOn: \"Beginnt am\",\n magiclineReviewPayment: \"Zahlung\",\n magiclineReviewTerms: \"Vertragsbedingungen\",\n magiclineConfirmPrompt: \"Bitte bestätigen Sie zum Fortfahren das Folgende:\",\n magiclineConfirmRequiredError: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineSummaryAddress: \"Adresse\",\n magiclineContractSubmitted: \"Ihre Mitgliedschaft ist bestätigt. Das Studio meldet sich in Kürze bei Ihnen.\",\n magiclineCustomerNumber: \"Ihre Kundennummer: {number}\",\n magiclinePriceChangedNotice: \"Der Preis hat sich geändert. Bitte prüfen Sie den neuen Preis und bestätigen Sie erneut.\",\n magiclineOfferUnavailableNotice: \"Diese Mitgliedschaft ist nicht mehr verfügbar. Bitte wählen Sie eine andere aus.\",\n magiclineConfirmationRequiredNotice: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineLiveSubmissionDisabled: \"Die Live-Übermittlung ist für dieses Projekt deaktiviert — bitte wenden Sie sich an das Studio.\",\n magiclineDuplicateNotice: \"Für dieses Angebot wurde kürzlich bereits eine Mitgliedschaft erstellt.\",\n magiclineUnknownOutcome: \"Wir konnten Ihre Anmeldung nicht bestätigen. Das Studio prüft sie und meldet sich bei Ihnen — bitte senden Sie das Formular nicht erneut ab.\",\n magiclineFeeStarterPackage: \"Startpaket\",\n magiclineFeeTrainerFee: \"Trainerpauschale\",\n // Gutscheincode (Vertragsabschluss-Schritt: Überprüfen)\n magiclineVoucherLabel: \"Gutscheincode\",\n magiclineVoucherPlaceholder: \"Gutscheincode eingeben…\",\n magiclineVoucherApply: \"Einlösen\",\n magiclineVoucherAppliedDiscount: \"Rabatt ({discount})\",\n magiclineVoucherCreditNotice: \"Guthaben wird angerechnet — nicht vom Vertragsvolumen abgezogen.\",\n magiclineVoucherRemarks: \"Hinweis zum Gutschein\",\n magiclineVoucherInvalid: 'Gutscheincode „{code}\" ist nicht gültig. Bitte überprüfen Sie den Code und versuchen Sie es erneut.',\n magiclineVoucherDisabled: \"Gutscheincodes sind für diese Mitgliedschaft nicht verfügbar.\",\n magiclineGesamtpreisBeforeDiscount: \"Gesamtes Vertragsvolumen (vor Gutscheinrabatt)\"\n}, Tc = [\n { value: \"de\", label: \"Deutsch\", flag: \"🇩🇪\" },\n { value: \"en\", label: \"English\", flag: \"🇬🇧\" }\n], Rc = \"de\", Ac = \"jex-locale\", qe = M(\"de\"), Ic = { en: Cr, de: Xo };\nfunction _() {\n return Ic[qe.value] ?? Cr;\n}\nfunction Vn(t) {\n if (!t)\n return null;\n const e = (t.split(\"-\")[0] ?? \"\").toLowerCase();\n return Tc.some((r) => r.value === e) ? e : null;\n}\nfunction ea(t) {\n const e = Vn(t);\n if (e)\n return e;\n try {\n const n = Vn(localStorage.getItem(Ac));\n if (n)\n return n;\n } catch {\n }\n if (typeof navigator < \"u\") {\n const n = Vn(navigator.language);\n if (n)\n return n;\n }\n return Rc;\n}\nfunction Ec(t) {\n P(() => {\n function e(n) {\n const r = t ?? window.location.origin;\n if (n.origin !== r || n.data?.type !== \"jexity:config\")\n return;\n const { locale: i } = n.data.payload;\n i && (qe.value = ea(i));\n }\n return window.addEventListener(\"message\", e), () => {\n window.removeEventListener(\"message\", e);\n };\n }, [t]);\n}\nconst ta = \"jex-session-history\", na = ta, ra = 3600 * 1e3, ce = M([]), $e = M(null), Tr = or(() => ce.value.length > 0), Lt = M(null);\nfunction Pc() {\n return \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n}\nfunction $c(t) {\n try {\n const e = sessionStorage.getItem(na);\n if (!e)\n return [];\n const n = JSON.parse(e);\n return n.v !== 1 || !Array.isArray(n.entries) ? [] : n.entries.filter((r) => t - r.lastActivityAt <= ra);\n } catch {\n return [];\n }\n}\nfunction In(t) {\n try {\n const e = { v: 1, entries: t };\n sessionStorage.setItem(na, JSON.stringify(e));\n } catch {\n }\n}\nfunction qc() {\n const t = Date.now(), e = $c(t);\n ce.value = e, In(e), $e.value = e[e.length - 1]?.ref ?? null;\n}\nfunction ji() {\n const t = Pc(), e = Date.now(), n = [...ce.value, { ref: t, startedAt: e, lastActivityAt: e }];\n return ce.value = n, $e.value = t, In(n), t;\n}\nfunction Nc() {\n $e.value = null;\n}\nfunction Si(t) {\n const e = Date.now(), n = ce.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n ce.value = n, $e.value = t, In(n);\n}\nfunction Rr(t) {\n if (!t)\n return;\n const e = Date.now(), n = ce.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n ce.value = n, In(n);\n}\nconst ue = M(ia());\nfunction ia() {\n return Tr.value ? [{ id: \"home\" }] : [{ id: \"chat\" }];\n}\nfunction Mc() {\n ue.value = ia();\n}\nconst Lc = M(\"screen\");\nfunction Xe(t) {\n ue.value = [...ue.value, t];\n}\nfunction yn() {\n ue.value.length > 1 && (ue.value = ue.value.slice(0, -1));\n}\nfunction lr(t) {\n ue.value = [...ue.value.slice(0, -1), t];\n}\nconst Oc = 6e4, Ut = M(!1), cr = M(!1), ur = /* @__PURE__ */ new Set();\nfunction zc(t) {\n return ur.add(t), () => {\n ur.delete(t);\n };\n}\nfunction Bc() {\n const t = $e.value;\n return t ? ce.value.find((n) => n.ref === t)?.lastActivityAt ?? null : null;\n}\nfunction Dc(t) {\n const e = Bc();\n return e === null ? !1 : Date.now() - e > t;\n}\nfunction Ci() {\n if (!(Ut.value && ce.value.length === 0)) {\n ce.value = [], $e.value = null;\n try {\n sessionStorage.removeItem(ta);\n } catch (t) {\n console.warn(\"[JexityChat] Idle-lock storage clear failed:\", t);\n }\n for (const t of ur)\n try {\n t();\n } catch (e) {\n console.warn(\"[JexityChat] Lock reset callback threw:\", e);\n }\n ue.value = [{ id: \"home\" }], Ut.value = !0;\n }\n}\nfunction Qn() {\n Ut.value && (Ut.value = !1);\n}\nfunction Fc(t = ra) {\n let e = null;\n const n = () => {\n if (document.visibilityState === \"hidden\") {\n e = Date.now();\n return;\n }\n e !== null && Date.now() - e > t && Ci(), e = null;\n };\n document.addEventListener(\"visibilitychange\", n);\n const r = setInterval(() => {\n cr.value || Dc(t) && Ci();\n }, Oc);\n return () => {\n document.removeEventListener(\"visibilitychange\", n), clearInterval(r), e = null;\n };\n}\nfunction Uc(t) {\n const e = {}, { primaryColor: n, theme: r } = t;\n if (n && (e[\"--jex-primary\"] = n, e[\"--jex-bg-trigger\"] = n, e[\"--jex-bg-header\"] = n, e[\"--jex-bg-msg-user\"] = n, e[\"--jex-bg-send-btn\"] = n), t.accentColor && (e[\"--jex-accent\"] = t.accentColor), r?.bg) {\n const i = r.bg;\n i.trigger && (e[\"--jex-bg-trigger\"] = i.trigger), i.header && (e[\"--jex-bg-header\"] = i.header), i.msgUser && (e[\"--jex-bg-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-bg-msg-bot\"] = i.msgBot), i.window && (e[\"--jex-bg-window\"] = i.window), i.sendBtn && (e[\"--jex-bg-send-btn\"] = i.sendBtn);\n }\n if (r?.text) {\n const i = r.text;\n i.header && (e[\"--jex-text-header\"] = i.header), i.msgUser && (e[\"--jex-text-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-text-msg-bot\"] = i.msgBot), i.main && (e[\"--jex-text-main\"] = i.main), i.muted && (e[\"--jex-text-muted\"] = i.muted);\n }\n if (r?.border) {\n const i = r.border;\n i.window && (e[\"--jex-border-window\"] = i.window), i.input && (e[\"--jex-border-input\"] = i.input);\n }\n return t.fontFamily && (e[\"--jex-font-family\"] = t.fontFamily), t.fontSize && (e[\"--jex-font-size\"] = `${t.fontSize}px`), t.borderRadius && (e[\"--jex-radius\"] = t.borderRadius), t.windowWidth && (e[\"--jex-window-width\"] = `${t.windowWidth}px`), t.windowHeight && (e[\"--jex-window-height\"] = `${t.windowHeight}px`), Object.keys(e).length > 0 ? e : void 0;\n}\nfunction En({ size: t = 24 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 8V4H8\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M2 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M20 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M15 13v2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M9 13v2\" })\n ] });\n}\nfunction Vc() {\n const t = _();\n return ue.value.length > 1 ? /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-back\",\n onClick: yn,\n \"aria-label\": t.back || \"Go back\",\n children: /* @__PURE__ */ s(\"svg\", { width: 20, height: 20, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"m15 18-6-6 6-6\" }) })\n }\n ) : /* @__PURE__ */ s(En, { size: 24 });\n}\nfunction Qc({ title: t }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-header-info\", children: /* @__PURE__ */ s(\"h3\", { children: t }) });\n}\nfunction oa({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] });\n}\nfunction Hc() {\n const t = _();\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-close\",\n type: \"button\",\n onClick: () => {\n V.value = !1;\n },\n \"aria-label\": t.closeChatAriaLabel,\n title: t.closeChatAriaLabel,\n children: /* @__PURE__ */ s(oa, { size: 18 })\n }\n );\n}\nfunction Wc({ action: t, showClose: e = !0 }) {\n return !t && !e ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-header-right\", children: [\n t,\n e && /* @__PURE__ */ s(Hc, {})\n ] });\n}\nfunction Ti({ title: t, rightAction: e, showClose: n = !0 }) {\n return /* @__PURE__ */ s(\"header\", { class: \"jex-chat-header\", children: [\n /* @__PURE__ */ s(Vc, {}),\n /* @__PURE__ */ s(Qc, { title: t }),\n /* @__PURE__ */ s(Wc, { action: e, showClose: n })\n ] });\n}\nfunction Kc({ size: t = 14 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" }) });\n}\nfunction Ri() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-widget-footer\", children: /* @__PURE__ */ s(\n \"a\",\n {\n href: \"https://jexitychat.de\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-branding\",\n children: [\n /* @__PURE__ */ s(Kc, { size: 14 }),\n /* @__PURE__ */ s(\"span\", { children: [\n \"Powered by \",\n /* @__PURE__ */ s(\"strong\", { children: \"Jexity\" })\n ] })\n ]\n }\n ) });\n}\nfunction aa({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" }) });\n}\nfunction Gc({ size: t = 24, ...e }) {\n return /* @__PURE__ */ s(\n \"svg\",\n {\n width: t,\n height: t,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n ...e,\n children: /* @__PURE__ */ s(\"path\", { d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" })\n }\n );\n}\nconst Yc = {\n chat: /* @__PURE__ */ s(aa, { size: 28 }),\n bot: /* @__PURE__ */ s(En, { size: 28 }),\n sparkles: /* @__PURE__ */ s(Gc, { size: 28 })\n}, Jc = {\n none: \"0px\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1.25rem\",\n full: \"9999px\"\n};\nfunction Zc({ radius: t = \"full\", iconOption: e = \"chat\", label: n }) {\n const r = _(), i = n ?? r.fabLabel, o = i !== \"\";\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-floating-button${V.value ? \"\" : \" jex-fab-pulse\"}${!V.value && o ? \" jex-has-label\" : \"\"}`,\n style: { borderRadius: Jc[t] ?? \"9999px\" },\n onClick: () => {\n V.value = !V.value;\n },\n \"aria-label\": V.value ? r.closeChatAriaLabel : r.openChatAriaLabel,\n children: V.value ? /* @__PURE__ */ s(oa, { size: 28 }) : /* @__PURE__ */ s(\"div\", { class: \"jex-fab-inner\", children: [\n Yc[e],\n o && /* @__PURE__ */ s(\"span\", { class: \"jex-fab-label\", children: i })\n ] })\n }\n );\n}\nconst wn = M(!1);\nfunction Xc(t, e) {\n return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;\n}\nfunction Ai(t) {\n try {\n return sessionStorage.getItem(t) !== null;\n } catch {\n return !1;\n }\n}\nfunction eu(t) {\n try {\n sessionStorage.setItem(t, \"1\");\n } catch {\n }\n}\nfunction tu(t) {\n return t.isOpen || t.mode === \"off\" || t.hasHistory || t.dismissed ? \"skip\" : t.mode === \"teaser\" ? \"teaser\" : \"open\";\n}\nfunction nu({ title: t, message: e, guardKey: n }) {\n const r = _();\n function i() {\n wn.value = !1, V.value = !0;\n }\n function o(a) {\n a.stopPropagation(), eu(n), wn.value = !1;\n }\n return /* @__PURE__ */ s(\n \"div\",\n {\n class: \"jex-proactive-teaser\",\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": r.proactiveOpenAria,\n onClick: i,\n onKeyDown: (a) => {\n (a.key === \"Enter\" || a.key === \" \") && i();\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-proactive-avatar\", children: /* @__PURE__ */ s(En, { size: 20 }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-proactive-body\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-proactive-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-proactive-message\", children: e })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-proactive-dismiss\",\n \"aria-label\": r.proactiveDismiss,\n onClick: o,\n children: /* @__PURE__ */ s(\"svg\", { width: 14, height: 14, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] })\n }\n )\n ]\n }\n );\n}\nfunction ru({ title: t, botName: e, onResetSession: n }) {\n const r = _(), [i, o] = A(\"\");\n function a() {\n Qn(), Lt.value = \"fresh\", n(), Nc(), Xe({ id: \"chat\" });\n }\n function l(u) {\n Qn(), Lt.value = \"resume\", n(), Si(u), Xe({ id: \"chat\" });\n }\n function c(u) {\n u.preventDefault();\n const d = i.trim().toUpperCase();\n d && (Qn(), Lt.value = \"resume\", n(), Si(d), Xe({ id: \"chat\" }));\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-home\", children: [\n Ut.value && /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", role: \"status\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: r.sessionLocked }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-hero\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-avatar\", children: [\n /* @__PURE__ */ s(aa, { size: 24 }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-status-dot\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-hero-text\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-home-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-status\", children: e })\n ] })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-actions\", children: [\n ce.value.length > 0 && /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-section-label\", children: r.pickUpWhereLeftOff }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-history\", children: ce.value.slice().reverse().map((u) => /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-resume-card\",\n onClick: () => {\n l(u.ref);\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-resume-top\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-label\", children: r.resumeListLabel }),\n /* @__PURE__ */ s(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", class: \"jex-home-resume-arrow\", children: /* @__PURE__ */ s(\"path\", { d: \"M6 3l5 5-5 5\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" }) })\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-ref\", children: u.ref }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-meta\", children: r.resumeListTimestamp.replace(\"{minutes}\", String(Math.max(1, Math.round((Date.now() - u.lastActivityAt) / 6e4)))) })\n ]\n },\n u.ref\n )) })\n ] }),\n /* @__PURE__ */ s(\"button\", { class: \"jex-home-new-btn\", onClick: a, children: ce.value.length > 0 ? r.startNewConversation : r.chatWith.replace(\"{title}\", t) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-lookup-section\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-lookup-label\", children: r.haveReferenceNumber }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-home-lookup\", onSubmit: c, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-home-lookup-input\",\n type: \"text\",\n placeholder: r.referencePlaceholder,\n value: i,\n onInput: (u) => {\n o(u.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-lookup-submit\",\n type: \"submit\",\n disabled: !i.trim(),\n children: r.resume\n }\n )\n ] })\n ] })\n ] });\n}\nfunction iu({ title: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-selection\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-selection-title\", children: e.howCanWeHelp }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-selection-options\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => Xe({ id: \"chat\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"💬\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.chatWith.replace(\"{title}\", t) }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.getInstantHelp })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => Xe({ id: \"form\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"📝\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.submitTicket }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.replyByEmail })\n ]\n }\n )\n ] })\n ] });\n}\nconst vt = M(\"\");\nfunction ou(t) {\n if (!t)\n return;\n const e = t.trim().split(/\\s+/)[0];\n if (!e)\n return;\n const n = `@${e} `, r = vt.value;\n r.includes(n) || r.includes(`@${e}`) || (vt.value = r.trimStart() ? `${n}${r.trimStart()}` : n);\n}\nconst Vt = M(null), Ii = M(Date.now()), dn = M(!1), Ar = M(!1), Qt = M(!1), kn = M(null);\nfunction sa() {\n return Sr.value === \"explicit\" && !Ar.value;\n}\nfunction la() {\n sa() && (Qt.value = !0);\n}\nfunction au() {\n Ar.value = !0, Qt.value = !1;\n}\nfunction Ei() {\n Ar.value = !1, Qt.value = !1, kn.value = null;\n}\nconst ze = M([]), su = 4, lu = 8 * 1024 * 1024;\nfunction cu() {\n return typeof crypto < \"u\" && typeof crypto.randomUUID == \"function\" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;\n}\nfunction uu(t) {\n const e = Array.from(t).filter((i) => i.type.startsWith(\"image/\") && i.size <= lu);\n if (e.length === 0)\n return;\n const n = su - ze.value.length;\n if (n <= 0)\n return;\n const r = e.slice(0, n).map((i) => ({\n // Falls back to a non-crypto id when host page is HTTP — see genAttachmentId.\n id: cu(),\n file: i,\n previewUrl: URL.createObjectURL(i)\n }));\n ze.value = [...ze.value, ...r];\n}\nfunction du(t) {\n const e = ze.value.find((n) => n.id === t);\n e && URL.revokeObjectURL(e.previewUrl), ze.value = ze.value.filter((n) => n.id !== t);\n}\nfunction hu() {\n for (const t of ze.value)\n URL.revokeObjectURL(t.previewUrl);\n ze.value = [];\n}\nfunction ca(t, e) {\n const n = {\n get(r, i) {\n if (typeof i == \"string\") {\n const o = [...e, i];\n return ca(t, o);\n } else if (i === No) {\n if (e.length < 1) {\n const o = [t, ...e].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`${t}.childComponent.functionName\\`. Found: \\`${o}\\``\n );\n }\n return \"_reference/childComponent/\" + e.join(\"/\");\n } else\n return;\n }\n };\n return new Proxy({}, n);\n}\nconst pu = () => ca(\"components\", []), pe = dl;\npu();\nfunction ua({ sessionId: t, visitorId: e, ensureSession: n }) {\n const r = Yt(pe.functions.chat.public.conversations.send);\n return async function(o) {\n if (sa()) {\n kn.value = o, la();\n return;\n }\n if (!dn.value) {\n dn.value = !0;\n try {\n const a = t && e ? { sessionId: t, visitorId: e } : await n();\n if (!a)\n return;\n vt.value = \"\", hu();\n try {\n const l = await r({\n sessionId: a.sessionId,\n visitorId: a.visitorId,\n content: o\n });\n l.ok ? Rr(a.visitorId) : l.reason === \"rate_limited\" && (Vt.value = Date.now() + l.retryAfterMs);\n } catch (l) {\n console.error(\"[jexity] Failed to send message:\", l);\n }\n } finally {\n dn.value = !1;\n }\n }\n };\n}\nfunction fu() {\n const t = Vt.value, e = Ii.value;\n P(() => {\n if (t === null)\n return;\n const i = setInterval(() => {\n Ii.value = Date.now();\n }, 1e3), o = setTimeout(() => {\n Vt.value = null;\n }, Math.max(0, t - Date.now()));\n return () => {\n clearInterval(i), clearTimeout(o);\n };\n }, [t]);\n const n = t !== null, r = n ? Math.max(0, Math.ceil((t - e) / 1e3)) : 0;\n return { isActive: n, remainingSeconds: r };\n}\nfunction mu() {\n const t = _(), { isActive: e, remainingSeconds: n } = fu();\n return e ? /* @__PURE__ */ s(\"div\", { class: \"jex-rate-limit-notice\", role: \"status\", \"aria-live\": \"polite\", children: t.errorRateLimited.replace(\"{seconds}\", String(n)) }) : null;\n}\nconst ht = M(null);\nfunction gu() {\n const t = _(), e = ht.value;\n if (e === null)\n return null;\n const n = e === \"no-token\" ? t.errorSessionNoToken : e === \"unauthorized\" ? t.errorSessionUnauthorized : e === \"network\" ? t.errorNetwork : t.somethingWentWrong;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-session-error-notice\", role: \"alert\", \"aria-live\": \"assertive\", children: n });\n}\nfunction xu({ size: t = 18 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 11 13\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 15 22 11 13 2 9l20-7z\" })\n ] });\n}\nconst Pi = 132;\nfunction bu({ onSend: t }) {\n const e = Ee(null), n = Ee(null);\n P(() => {\n const l = e.current;\n if (!l)\n return;\n l.style.height = \"0\";\n const c = Math.min(l.scrollHeight, Pi);\n l.style.height = `${c}px`, l.style.overflowY = l.scrollHeight > Pi ? \"auto\" : \"hidden\";\n }, [vt.value]);\n function r(l) {\n l.key === \"Enter\" && !l.shiftKey && (l.preventDefault(), t());\n }\n function i() {\n n.current?.click();\n }\n function o(l) {\n const c = l.currentTarget;\n c.files && c.files.length > 0 && uu(c.files), c.value = \"\";\n }\n function a(l) {\n const c = l.target;\n (c === l.currentTarget || !c.closest(\"button, textarea, img\")) && e.current?.focus();\n }\n return { textareaRef: e, fileInputRef: n, onKeyDown: r, onAttachClick: i, onFilesPicked: o, onCardClick: a };\n}\nfunction vu({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus: i }) {\n const o = _(), a = vt, l = ze, { textareaRef: c, fileInputRef: u, onKeyDown: d, onAttachClick: h, onFilesPicked: f, onCardClick: p } = bu({ onSend: r }), g = a.value.trim().length > 0, b = l.value.length > 0, x = (g || b) && !e;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-composer-card\", onClick: p, children: [\n b && /* @__PURE__ */ s(\"div\", { class: \"jex-composer-attachments\", role: \"list\", children: l.value.map((m) => /* @__PURE__ */ s(\"div\", { class: \"jex-attachment-chip\", role: \"listitem\", children: [\n /* @__PURE__ */ s(\"img\", { src: m.previewUrl, alt: m.file.name, class: \"jex-attachment-thumb\" }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attachment-remove\",\n \"aria-label\": o.removeAttachmentAriaLabel,\n onClick: () => {\n du(m.id);\n },\n children: /* @__PURE__ */ s(\"svg\", { width: \"10\", height: \"10\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2.5\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"line\", { x1: \"18\", y1: \"6\", x2: \"6\", y2: \"18\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"6\", y1: \"6\", x2: \"18\", y2: \"18\" })\n ] })\n }\n )\n ] }, m.id)) }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n ref: c,\n class: \"jex-composer-textarea\",\n \"aria-label\": o.inputPlaceholder,\n placeholder: t ? o.aiThinking : o.inputPlaceholder,\n value: a.value,\n rows: 1,\n onInput: (m) => {\n a.value = m.currentTarget.value;\n },\n onKeyDown: d,\n onFocus: i,\n disabled: n\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions-left\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n ref: u,\n class: \"jex-visually-hidden\",\n type: \"file\",\n accept: \"image/*\",\n multiple: !0,\n onChange: f,\n tabIndex: -1,\n \"aria-hidden\": \"true\"\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attach-btn\",\n \"aria-label\": o.attachComingSoon,\n title: o.attachComingSoon,\n disabled: !0,\n onClick: h,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" }) })\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attach-btn\",\n \"aria-label\": o.voiceComingSoon,\n title: o.voiceComingSoon,\n disabled: !0,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M19 10v2a7 7 0 0 1-14 0v-2\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"12\", y1: \"19\", x2: \"12\", y2: \"22\" })\n ] })\n }\n )\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-send-btn${x ? \" jex-send-btn-active\" : \"\"}`,\n type: \"button\",\n onClick: r,\n \"aria-label\": o.sendAriaLabel,\n disabled: e || !g && !b,\n children: /* @__PURE__ */ s(xu, { size: 16 })\n }\n )\n ] })\n ] });\n}\nfunction $i({ variant: t, isOpen: e = !1, onAcknowledge: n }) {\n const r = _(), i = en.value;\n return t === \"explicit\" ? e ? /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit\", role: \"dialog\", \"aria-label\": r.privacyExplicitTitle, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-content\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-copy\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-title\", children: r.privacyExplicitTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-explicit-body\", children: [\n r.privacyExplicitBodyPre,\n \" \",\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-notice-link\",\n children: r.privacyPolicyLinkText\n }\n ),\n \".\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-privacy-explicit-button\",\n onClick: n,\n children: r.privacyExplicitButton\n }\n )\n ] }) : null : /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-chip\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-privacy-chip-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"12\", height: \"12\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-chip-link\",\n children: r.privacyChipText\n }\n )\n ] });\n}\nfunction yu({\n sessionId: t,\n visitorId: e,\n isLoading: n,\n isStreaming: r,\n sessionStatus: i,\n ensureSession: o,\n onStartFresh: a\n}) {\n const l = _(), c = vt, u = Sr.value, d = ua({ sessionId: t, visitorId: e, ensureSession: o }), h = Vt.value !== null && Vt.value > Date.now(), f = n || r || h, p = u === \"explicit\" && Qt.value;\n function g() {\n au();\n const x = kn.value;\n kn.value = null, x && d(x);\n }\n if (i === \"resolved\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input-resolved\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-resolved-notice\", children: l.sessionResolved }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-resolved-new-btn\",\n type: \"button\",\n onClick: () => {\n a();\n },\n children: l.startNewConversation\n }\n )\n ] });\n async function b() {\n const x = c.value.trim();\n !x || f || await d(x);\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input\", children: [\n /* @__PURE__ */ s(mu, {}),\n /* @__PURE__ */ s(gu, {}),\n u === \"chip\" && /* @__PURE__ */ s($i, { variant: \"chip\" }),\n /* @__PURE__ */ s(\"div\", { class: `jex-chat-input-composer-gate${p ? \" jex-chat-input-composer-gate-open\" : \"\"}`, children: [\n /* @__PURE__ */ s(\n vu,\n {\n isStreaming: r,\n disabled: f,\n inputDisabled: n || r || p,\n onSend: b,\n onFocus: la\n }\n ),\n u === \"explicit\" && /* @__PURE__ */ s(\n $i,\n {\n variant: \"explicit\",\n isOpen: Qt.value,\n onAcknowledge: g\n }\n )\n ] })\n ] });\n}\nconst wu = (...t) => t.filter((e, n, r) => !!e && e.trim() !== \"\" && r.indexOf(e) === n).join(\" \").trim();\nconst qi = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst ku = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, n, r) => r ? r.toUpperCase() : n.toLowerCase()\n);\nconst Ni = (t) => {\n const e = ku(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n};\nvar _u = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nconst ju = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n return !1;\n};\nconst Su = ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: n = 2,\n absoluteStrokeWidth: r,\n children: i,\n iconNode: o,\n class: a = \"\",\n ...l\n}) => xe(\n \"svg\",\n {\n ..._u,\n width: String(e),\n height: e,\n stroke: t,\n \"stroke-width\": r ? Number(n) * 24 / Number(e) : n,\n class: [\"lucide\", a].join(\" \"),\n ...!i && !ju(l) && { \"aria-hidden\": \"true\" },\n ...l\n },\n [...o.map(([c, u]) => xe(c, u)), ...Ie(i)]\n);\nconst Cu = (t, e) => {\n const n = ({ class: r = \"\", className: i = \"\", children: o, ...a }) => xe(\n Su,\n {\n ...a,\n iconNode: e,\n class: wu(\n `lucide-${qi(Ni(t))}`,\n `lucide-${qi(t)}`,\n r,\n i\n )\n },\n o\n );\n return n.displayName = Ni(t), n;\n};\nconst Tu = Cu(\"corner-up-left\", [\n [\"path\", { d: \"M20 20v-7a4 4 0 0 0-4-4H4\", key: \"1nkjon\" }],\n [\"path\", { d: \"M9 14 4 9l5-5\", key: \"102s5s\" }]\n]);\nfunction Ir() {\n return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };\n}\nvar it = Ir();\nfunction da(t) {\n it = t;\n}\nvar Je = { exec: () => null };\nfunction R(t, e = \"\") {\n let n = typeof t == \"string\" ? t : t.source, r = { replace: (i, o) => {\n let a = typeof o == \"string\" ? o : o.source;\n return a = a.replace(ae.caret, \"$1\"), n = n.replace(i, a), r;\n }, getRegex: () => new RegExp(n, e) };\n return r;\n}\nvar Ru = (() => {\n try {\n return !!new RegExp(\"(?<=1)(?<!1)\");\n } catch {\n return !1;\n }\n})(), ae = { codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm, outputLinkReplace: /\\\\([\\[\\]])/g, indentCodeCompensation: /^(\\s+)(?:```)/, beginningSpace: /^\\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\\n/g, tabCharGlobal: /\\t/g, multipleSpaceGlobal: /\\s+/g, blankLine: /^[ \\t]*$/, doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\\[[ xX]\\] +\\S/, listReplaceTask: /^\\[[ xX]\\] +/, listTaskCheckbox: /\\[[ xX]\\]/, anyLine: /\\n.*\\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\\||\\| *$/g, tableRowBlankLine: /\\n[ \\t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i, endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/, unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u, escapeTest: /[&<>\"']/, escapeReplace: /[&<>\"']/g, escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/, escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g, caret: /(^|[^\\[])\\^/g, percentDecode: /%25/g, findPipe: /\\|/g, splitPipe: / \\|/, slashPipe: /\\\\\\|/g, carriageReturn: /\\r\\n|\\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\\S*/, endingNewline: /\\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`), nextBulletRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`), hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`), fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\\`\\`\\`|~~~)`), headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, \"i\"), blockquoteBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}>`) }, Au = /^(?:[ \\t]*(?:\\n|$))+/, Iu = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/, Eu = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/, tn = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/, Pu = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/, Er = / {0,3}(?:[*+-]|\\d{1,9}[.)])/, ha = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, pa = R(ha).replace(/bull/g, Er).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex(), $u = R(ha).replace(/bull/g, Er).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(), Pr = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/, qu = /^[^\\n]+/, $r = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/, Nu = R(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", $r).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(), Mu = R(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, Er).getRegex(), Pn = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\", qr = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/, Lu = R(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", qr).replace(\"tag\", Pn).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(), fa = R(Pr).replace(\"hr\", tn).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", Pn).getRegex(), Ou = R(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", fa).getRegex(), Nr = { blockquote: Ou, code: Iu, def: Nu, fences: Eu, heading: Pu, hr: tn, html: Lu, lheading: pa, list: Mu, newline: Au, paragraph: fa, table: Je, text: qu }, Mi = R(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", tn).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", Pn).getRegex(), zu = { ...Nr, lheading: $u, table: Mi, paragraph: R(Pr).replace(\"hr\", tn).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", Mi).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", Pn).getRegex() }, Bu = { ...Nr, html: R(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", qr).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(), def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/, heading: /^(#{1,6})(.*)(?:\\n+|$)/, fences: Je, lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, paragraph: R(Pr).replace(\"hr\", tn).replace(\"heading\", ` *#{1,6} *[^\n]`).replace(\"lheading\", pa).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex() }, Du = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/, Fu = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/, ma = /^( {2,}|\\\\)\\n(?!\\s*$)/, Uu = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/, _t = /[\\p{P}\\p{S}]/u, $n = /[\\s\\p{P}\\p{S}]/u, Mr = /[^\\s\\p{P}\\p{S}]/u, Vu = R(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, $n).getRegex(), ga = /(?!~)[\\p{P}\\p{S}]/u, Qu = /(?!~)[\\s\\p{P}\\p{S}]/u, Hu = /(?:[^\\s\\p{P}\\p{S}]|~)/u, Wu = R(/link|precode-code|html/, \"g\").replace(\"link\", /\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\", Ru ? \"(?<!`)()\" : \"(^^|[^`])\").replace(\"code\", /(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\", /<(?! )[^<>]*?>/).getRegex(), xa = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/, Ku = R(xa, \"u\").replace(/punct/g, _t).getRegex(), Gu = R(xa, \"u\").replace(/punct/g, ga).getRegex(), ba = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\", Yu = R(ba, \"gu\").replace(/notPunctSpace/g, Mr).replace(/punctSpace/g, $n).replace(/punct/g, _t).getRegex(), Ju = R(ba, \"gu\").replace(/notPunctSpace/g, Hu).replace(/punctSpace/g, Qu).replace(/punct/g, ga).getRegex(), Zu = R(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, Mr).replace(/punctSpace/g, $n).replace(/punct/g, _t).getRegex(), Xu = R(/^~~?(?:((?!~)punct)|[^\\s~])/, \"u\").replace(/punct/g, _t).getRegex(), ed = \"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\", td = R(ed, \"gu\").replace(/notPunctSpace/g, Mr).replace(/punctSpace/g, $n).replace(/punct/g, _t).getRegex(), nd = R(/\\\\(punct)/, \"gu\").replace(/punct/g, _t).getRegex(), rd = R(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), id = R(qr).replace(\"(?:-->|$)\", \"-->\").getRegex(), od = R(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", id).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(), _n = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/, ad = R(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\", _n).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(), va = R(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", _n).replace(\"ref\", $r).getRegex(), ya = R(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", $r).getRegex(), sd = R(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", va).replace(\"nolink\", ya).getRegex(), Li = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Lr = { _backpedal: Je, anyPunctuation: nd, autolink: rd, blockSkip: Wu, br: ma, code: Fu, del: Je, delLDelim: Je, delRDelim: Je, emStrongLDelim: Ku, emStrongRDelimAst: Yu, emStrongRDelimUnd: Zu, escape: Du, link: ad, nolink: ya, punctuation: Vu, reflink: va, reflinkSearch: sd, tag: od, text: Uu, url: Je }, ld = { ...Lr, link: R(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", _n).getRegex(), reflink: R(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", _n).getRegex() }, dr = { ...Lr, emStrongRDelimAst: Ju, emStrongLDelim: Gu, delLDelim: Xu, delRDelim: td, url: R(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\", Li).replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/, del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/, text: R(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\", Li).getRegex() }, cd = { ...dr, br: R(ma).replace(\"{2,}\", \"*\").getRegex(), text: R(dr.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex() }, sn = { normal: Nr, gfm: zu, pedantic: Bu }, Tt = { normal: Lr, gfm: dr, breaks: cd, pedantic: ld }, ud = { \"&\": \"&\", \"<\": \"<\", \">\": \">\", '\"': \""\", \"'\": \"'\" }, Oi = (t) => ud[t];\nfunction Ce(t, e) {\n if (e) {\n if (ae.escapeTest.test(t)) return t.replace(ae.escapeReplace, Oi);\n } else if (ae.escapeTestNoEncode.test(t)) return t.replace(ae.escapeReplaceNoEncode, Oi);\n return t;\n}\nfunction zi(t) {\n try {\n t = encodeURI(t).replace(ae.percentDecode, \"%\");\n } catch {\n return null;\n }\n return t;\n}\nfunction Bi(t, e) {\n let n = t.replace(ae.findPipe, (o, a, l) => {\n let c = !1, u = a;\n for (; --u >= 0 && l[u] === \"\\\\\"; ) c = !c;\n return c ? \"|\" : \" |\";\n }), r = n.split(ae.splitPipe), i = 0;\n if (r[0].trim() || r.shift(), r.length > 0 && !r.at(-1)?.trim() && r.pop(), e) if (r.length > e) r.splice(e);\n else for (; r.length < e; ) r.push(\"\");\n for (; i < r.length; i++) r[i] = r[i].trim().replace(ae.slashPipe, \"|\");\n return r;\n}\nfunction Rt(t, e, n) {\n let r = t.length;\n if (r === 0) return \"\";\n let i = 0;\n for (; i < r && t.charAt(r - i - 1) === e; )\n i++;\n return t.slice(0, r - i);\n}\nfunction dd(t, e) {\n if (t.indexOf(e[1]) === -1) return -1;\n let n = 0;\n for (let r = 0; r < t.length; r++) if (t[r] === \"\\\\\") r++;\n else if (t[r] === e[0]) n++;\n else if (t[r] === e[1] && (n--, n < 0)) return r;\n return n > 0 ? -2 : -1;\n}\nfunction hd(t, e = 0) {\n let n = e, r = \"\";\n for (let i of t) if (i === \"\t\") {\n let o = 4 - n % 4;\n r += \" \".repeat(o), n += o;\n } else r += i, n++;\n return r;\n}\nfunction Di(t, e, n, r, i) {\n let o = e.href, a = e.title || null, l = t[1].replace(i.other.outputLinkReplace, \"$1\");\n r.state.inLink = !0;\n let c = { type: t[0].charAt(0) === \"!\" ? \"image\" : \"link\", raw: n, href: o, title: a, text: l, tokens: r.inlineTokens(l) };\n return r.state.inLink = !1, c;\n}\nfunction pd(t, e, n) {\n let r = t.match(n.other.indentCodeCompensation);\n if (r === null) return e;\n let i = r[1];\n return e.split(`\n`).map((o) => {\n let a = o.match(n.other.beginningSpace);\n if (a === null) return o;\n let [l] = a;\n return l.length >= i.length ? o.slice(i.length) : o;\n }).join(`\n`);\n}\nvar jn = class {\n options;\n rules;\n lexer;\n constructor(t) {\n this.options = t || it;\n }\n space(t) {\n let e = this.rules.block.newline.exec(t);\n if (e && e[0].length > 0) return { type: \"space\", raw: e[0] };\n }\n code(t) {\n let e = this.rules.block.code.exec(t);\n if (e) {\n let n = e[0].replace(this.rules.other.codeRemoveIndent, \"\");\n return { type: \"code\", raw: e[0], codeBlockStyle: \"indented\", text: this.options.pedantic ? n : Rt(n, `\n`) };\n }\n }\n fences(t) {\n let e = this.rules.block.fences.exec(t);\n if (e) {\n let n = e[0], r = pd(n, e[3] || \"\", this.rules);\n return { type: \"code\", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : e[2], text: r };\n }\n }\n heading(t) {\n let e = this.rules.block.heading.exec(t);\n if (e) {\n let n = e[2].trim();\n if (this.rules.other.endingHash.test(n)) {\n let r = Rt(n, \"#\");\n (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());\n }\n return { type: \"heading\", raw: e[0], depth: e[1].length, text: n, tokens: this.lexer.inline(n) };\n }\n }\n hr(t) {\n let e = this.rules.block.hr.exec(t);\n if (e) return { type: \"hr\", raw: Rt(e[0], `\n`) };\n }\n blockquote(t) {\n let e = this.rules.block.blockquote.exec(t);\n if (e) {\n let n = Rt(e[0], `\n`).split(`\n`), r = \"\", i = \"\", o = [];\n for (; n.length > 0; ) {\n let a = !1, l = [], c;\n for (c = 0; c < n.length; c++) if (this.rules.other.blockquoteStart.test(n[c])) l.push(n[c]), a = !0;\n else if (!a) l.push(n[c]);\n else break;\n n = n.slice(c);\n let u = l.join(`\n`), d = u.replace(this.rules.other.blockquoteSetextReplace, `\n $1`).replace(this.rules.other.blockquoteSetextReplace2, \"\");\n r = r ? `${r}\n${u}` : u, i = i ? `${i}\n${d}` : d;\n let h = this.lexer.state.top;\n if (this.lexer.state.top = !0, this.lexer.blockTokens(d, o, !0), this.lexer.state.top = h, n.length === 0) break;\n let f = o.at(-1);\n if (f?.type === \"code\") break;\n if (f?.type === \"blockquote\") {\n let p = f, g = p.raw + `\n` + n.join(`\n`), b = this.blockquote(g);\n o[o.length - 1] = b, r = r.substring(0, r.length - p.raw.length) + b.raw, i = i.substring(0, i.length - p.text.length) + b.text;\n break;\n } else if (f?.type === \"list\") {\n let p = f, g = p.raw + `\n` + n.join(`\n`), b = this.list(g);\n o[o.length - 1] = b, r = r.substring(0, r.length - f.raw.length) + b.raw, i = i.substring(0, i.length - p.raw.length) + b.raw, n = g.substring(o.at(-1).raw.length).split(`\n`);\n continue;\n }\n }\n return { type: \"blockquote\", raw: r, tokens: o, text: i };\n }\n }\n list(t) {\n let e = this.rules.block.list.exec(t);\n if (e) {\n let n = e[1].trim(), r = n.length > 1, i = { type: \"list\", raw: \"\", ordered: r, start: r ? +n.slice(0, -1) : \"\", loose: !1, items: [] };\n n = r ? `\\\\d{1,9}\\\\${n.slice(-1)}` : `\\\\${n}`, this.options.pedantic && (n = r ? n : \"[*+-]\");\n let o = this.rules.other.listItemRegex(n), a = !1;\n for (; t; ) {\n let c = !1, u = \"\", d = \"\";\n if (!(e = o.exec(t)) || this.rules.block.hr.test(t)) break;\n u = e[0], t = t.substring(u.length);\n let h = hd(e[2].split(`\n`, 1)[0], e[1].length), f = t.split(`\n`, 1)[0], p = !h.trim(), g = 0;\n if (this.options.pedantic ? (g = 2, d = h.trimStart()) : p ? g = e[1].length + 1 : (g = h.search(this.rules.other.nonSpaceChar), g = g > 4 ? 1 : g, d = h.slice(g), g += e[1].length), p && this.rules.other.blankLine.test(f) && (u += f + `\n`, t = t.substring(f.length + 1), c = !0), !c) {\n let b = this.rules.other.nextBulletRegex(g), x = this.rules.other.hrRegex(g), m = this.rules.other.fencesBeginRegex(g), v = this.rules.other.headingBeginRegex(g), S = this.rules.other.htmlBeginRegex(g), B = this.rules.other.blockquoteBeginRegex(g);\n for (; t; ) {\n let L = t.split(`\n`, 1)[0], N;\n if (f = L, this.options.pedantic ? (f = f.replace(this.rules.other.listReplaceNesting, \" \"), N = f) : N = f.replace(this.rules.other.tabCharGlobal, \" \"), m.test(f) || v.test(f) || S.test(f) || B.test(f) || b.test(f) || x.test(f)) break;\n if (N.search(this.rules.other.nonSpaceChar) >= g || !f.trim()) d += `\n` + N.slice(g);\n else {\n if (p || h.replace(this.rules.other.tabCharGlobal, \" \").search(this.rules.other.nonSpaceChar) >= 4 || m.test(h) || v.test(h) || x.test(h)) break;\n d += `\n` + f;\n }\n p = !f.trim(), u += L + `\n`, t = t.substring(L.length + 1), h = N.slice(g);\n }\n }\n i.loose || (a ? i.loose = !0 : this.rules.other.doubleBlankLine.test(u) && (a = !0)), i.items.push({ type: \"list_item\", raw: u, task: !!this.options.gfm && this.rules.other.listIsTask.test(d), loose: !1, text: d, tokens: [] }), i.raw += u;\n }\n let l = i.items.at(-1);\n if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();\n else return;\n i.raw = i.raw.trimEnd();\n for (let c of i.items) {\n if (this.lexer.state.top = !1, c.tokens = this.lexer.blockTokens(c.text, []), c.task) {\n if (c.text = c.text.replace(this.rules.other.listReplaceTask, \"\"), c.tokens[0]?.type === \"text\" || c.tokens[0]?.type === \"paragraph\") {\n c.tokens[0].raw = c.tokens[0].raw.replace(this.rules.other.listReplaceTask, \"\"), c.tokens[0].text = c.tokens[0].text.replace(this.rules.other.listReplaceTask, \"\");\n for (let d = this.lexer.inlineQueue.length - 1; d >= 0; d--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[d].src)) {\n this.lexer.inlineQueue[d].src = this.lexer.inlineQueue[d].src.replace(this.rules.other.listReplaceTask, \"\");\n break;\n }\n }\n let u = this.rules.other.listTaskCheckbox.exec(c.raw);\n if (u) {\n let d = { type: \"checkbox\", raw: u[0] + \" \", checked: u[0] !== \"[ ]\" };\n c.checked = d.checked, i.loose ? c.tokens[0] && [\"paragraph\", \"text\"].includes(c.tokens[0].type) && \"tokens\" in c.tokens[0] && c.tokens[0].tokens ? (c.tokens[0].raw = d.raw + c.tokens[0].raw, c.tokens[0].text = d.raw + c.tokens[0].text, c.tokens[0].tokens.unshift(d)) : c.tokens.unshift({ type: \"paragraph\", raw: d.raw, text: d.raw, tokens: [d] }) : c.tokens.unshift(d);\n }\n }\n if (!i.loose) {\n let u = c.tokens.filter((h) => h.type === \"space\"), d = u.length > 0 && u.some((h) => this.rules.other.anyLine.test(h.raw));\n i.loose = d;\n }\n }\n if (i.loose) for (let c of i.items) {\n c.loose = !0;\n for (let u of c.tokens) u.type === \"text\" && (u.type = \"paragraph\");\n }\n return i;\n }\n }\n html(t) {\n let e = this.rules.block.html.exec(t);\n if (e) return { type: \"html\", block: !0, raw: e[0], pre: e[1] === \"pre\" || e[1] === \"script\" || e[1] === \"style\", text: e[0] };\n }\n def(t) {\n let e = this.rules.block.def.exec(t);\n if (e) {\n let n = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \"), r = e[2] ? e[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\", i = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : e[3];\n return { type: \"def\", tag: n, raw: e[0], href: r, title: i };\n }\n }\n table(t) {\n let e = this.rules.block.table.exec(t);\n if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;\n let n = Bi(e[1]), r = e[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\"), i = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, \"\").split(`\n`) : [], o = { type: \"table\", raw: e[0], header: [], align: [], rows: [] };\n if (n.length === r.length) {\n for (let a of r) this.rules.other.tableAlignRight.test(a) ? o.align.push(\"right\") : this.rules.other.tableAlignCenter.test(a) ? o.align.push(\"center\") : this.rules.other.tableAlignLeft.test(a) ? o.align.push(\"left\") : o.align.push(null);\n for (let a = 0; a < n.length; a++) o.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: !0, align: o.align[a] });\n for (let a of i) o.rows.push(Bi(a, o.header.length).map((l, c) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: o.align[c] })));\n return o;\n }\n }\n lheading(t) {\n let e = this.rules.block.lheading.exec(t);\n if (e) {\n let n = e[1].trim();\n return { type: \"heading\", raw: e[0], depth: e[2].charAt(0) === \"=\" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };\n }\n }\n paragraph(t) {\n let e = this.rules.block.paragraph.exec(t);\n if (e) {\n let n = e[1].charAt(e[1].length - 1) === `\n` ? e[1].slice(0, -1) : e[1];\n return { type: \"paragraph\", raw: e[0], text: n, tokens: this.lexer.inline(n) };\n }\n }\n text(t) {\n let e = this.rules.block.text.exec(t);\n if (e) return { type: \"text\", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };\n }\n escape(t) {\n let e = this.rules.inline.escape.exec(t);\n if (e) return { type: \"escape\", raw: e[0], text: e[1] };\n }\n tag(t) {\n let e = this.rules.inline.tag.exec(t);\n if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: \"html\", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };\n }\n link(t) {\n let e = this.rules.inline.link.exec(t);\n if (e) {\n let n = e[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {\n if (!this.rules.other.endAngleBracket.test(n)) return;\n let o = Rt(n.slice(0, -1), \"\\\\\");\n if ((n.length - o.length) % 2 === 0) return;\n } else {\n let o = dd(e[2], \"()\");\n if (o === -2) return;\n if (o > -1) {\n let a = (e[0].indexOf(\"!\") === 0 ? 5 : 4) + e[1].length + o;\n e[2] = e[2].substring(0, o), e[0] = e[0].substring(0, a).trim(), e[3] = \"\";\n }\n }\n let r = e[2], i = \"\";\n if (this.options.pedantic) {\n let o = this.rules.other.pedanticHrefTitle.exec(r);\n o && (r = o[1], i = o[3]);\n } else i = e[3] ? e[3].slice(1, -1) : \"\";\n return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), Di(e, { href: r && r.replace(this.rules.inline.anyPunctuation, \"$1\"), title: i && i.replace(this.rules.inline.anyPunctuation, \"$1\") }, e[0], this.lexer, this.rules);\n }\n }\n reflink(t, e) {\n let n;\n if ((n = this.rules.inline.reflink.exec(t)) || (n = this.rules.inline.nolink.exec(t))) {\n let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, \" \"), i = e[r.toLowerCase()];\n if (!i) {\n let o = n[0].charAt(0);\n return { type: \"text\", raw: o, text: o };\n }\n return Di(n, i, n[0], this.lexer, this.rules);\n }\n }\n emStrong(t, e, n = \"\") {\n let r = this.rules.inline.emStrongLDelim.exec(t);\n if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = 0, u = r[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n for (u.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = u.exec(e)) != null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o) continue;\n if (a = [...o].length, r[3] || r[4]) {\n l += a;\n continue;\n } else if ((r[5] || r[6]) && i % 3 && !((i + a) % 3)) {\n c += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l + c);\n let d = [...r[0]][0].length, h = t.slice(0, i + r.index + d + a);\n if (Math.min(i, a) % 2) {\n let p = h.slice(1, -1);\n return { type: \"em\", raw: h, text: p, tokens: this.lexer.inlineTokens(p) };\n }\n let f = h.slice(2, -2);\n return { type: \"strong\", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };\n }\n }\n }\n codespan(t) {\n let e = this.rules.inline.code.exec(t);\n if (e) {\n let n = e[2].replace(this.rules.other.newLineCharGlobal, \" \"), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);\n return r && i && (n = n.substring(1, n.length - 1)), { type: \"codespan\", raw: e[0], text: n };\n }\n }\n br(t) {\n let e = this.rules.inline.br.exec(t);\n if (e) return { type: \"br\", raw: e[0] };\n }\n del(t, e, n = \"\") {\n let r = this.rules.inline.delLDelim.exec(t);\n if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = this.rules.inline.delRDelim;\n for (c.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = c.exec(e)) != null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o || (a = [...o].length, a !== i)) continue;\n if (r[3] || r[4]) {\n l += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l);\n let u = [...r[0]][0].length, d = t.slice(0, i + r.index + u + a), h = d.slice(i, -i);\n return { type: \"del\", raw: d, text: h, tokens: this.lexer.inlineTokens(h) };\n }\n }\n }\n autolink(t) {\n let e = this.rules.inline.autolink.exec(t);\n if (e) {\n let n, r;\n return e[2] === \"@\" ? (n = e[1], r = \"mailto:\" + n) : (n = e[1], r = n), { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n url(t) {\n let e;\n if (e = this.rules.inline.url.exec(t)) {\n let n, r;\n if (e[2] === \"@\") n = e[0], r = \"mailto:\" + n;\n else {\n let i;\n do\n i = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? \"\";\n while (i !== e[0]);\n n = e[0], e[1] === \"www.\" ? r = \"http://\" + e[0] : r = e[0];\n }\n return { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n inlineText(t) {\n let e = this.rules.inline.text.exec(t);\n if (e) {\n let n = this.lexer.state.inRawBlock;\n return { type: \"text\", raw: e[0], text: e[0], escaped: n };\n }\n }\n}, be = class hr {\n tokens;\n options;\n state;\n inlineQueue;\n tokenizer;\n constructor(e) {\n this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || it, this.options.tokenizer = this.options.tokenizer || new jn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };\n let n = { other: ae, block: sn.normal, inline: Tt.normal };\n this.options.pedantic ? (n.block = sn.pedantic, n.inline = Tt.pedantic) : this.options.gfm && (n.block = sn.gfm, this.options.breaks ? n.inline = Tt.breaks : n.inline = Tt.gfm), this.tokenizer.rules = n;\n }\n static get rules() {\n return { block: sn, inline: Tt };\n }\n static lex(e, n) {\n return new hr(n).lex(e);\n }\n static lexInline(e, n) {\n return new hr(n).inlineTokens(e);\n }\n lex(e) {\n e = e.replace(ae.carriageReturn, `\n`), this.blockTokens(e, this.tokens);\n for (let n = 0; n < this.inlineQueue.length; n++) {\n let r = this.inlineQueue[n];\n this.inlineTokens(r.src, r.tokens);\n }\n return this.inlineQueue = [], this.tokens;\n }\n blockTokens(e, n = [], r = !1) {\n for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(ae.tabCharGlobal, \" \").replace(ae.spaceLine, \"\")); e; ) {\n let i;\n if (this.options.extensions?.block?.some((a) => (i = a.call({ lexer: this }, e, n)) ? (e = e.substring(i.raw.length), n.push(i), !0) : !1)) continue;\n if (i = this.tokenizer.space(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n i.raw.length === 1 && a !== void 0 ? a.raw += `\n` : n.push(i);\n continue;\n }\n if (i = this.tokenizer.code(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n a?.type === \"paragraph\" || a?.type === \"text\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.text, this.inlineQueue.at(-1).src = a.text) : n.push(i);\n continue;\n }\n if (i = this.tokenizer.fences(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.heading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.hr(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.blockquote(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.list(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.html(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.def(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n a?.type === \"paragraph\" || a?.type === \"text\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.raw, this.inlineQueue.at(-1).src = a.text) : this.tokens.links[i.tag] || (this.tokens.links[i.tag] = { href: i.href, title: i.title }, n.push(i));\n continue;\n }\n if (i = this.tokenizer.table(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.lheading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n let o = e;\n if (this.options.extensions?.startBlock) {\n let a = 1 / 0, l = e.slice(1), c;\n this.options.extensions.startBlock.forEach((u) => {\n c = u.call({ lexer: this }, l), typeof c == \"number\" && c >= 0 && (a = Math.min(a, c));\n }), a < 1 / 0 && a >= 0 && (o = e.substring(0, a + 1));\n }\n if (this.state.top && (i = this.tokenizer.paragraph(o))) {\n let a = n.at(-1);\n r && a?.type === \"paragraph\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = a.text) : n.push(i), r = o.length !== e.length, e = e.substring(i.raw.length);\n continue;\n }\n if (i = this.tokenizer.text(e)) {\n e = e.substring(i.raw.length);\n let a = n.at(-1);\n a?.type === \"text\" ? (a.raw += (a.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, a.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = a.text) : n.push(i);\n continue;\n }\n if (e) {\n let a = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(a);\n break;\n } else throw new Error(a);\n }\n }\n return this.state.top = !0, n;\n }\n inline(e, n = []) {\n return this.inlineQueue.push({ src: e, tokens: n }), n;\n }\n inlineTokens(e, n = []) {\n this.tokenizer.lexer = this;\n let r = e, i = null;\n if (this.tokens.links) {\n let c = Object.keys(this.tokens.links);\n if (c.length > 0) for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(r)) != null; ) c.includes(i[0].slice(i[0].lastIndexOf(\"[\") + 1, -1)) && (r = r.slice(0, i.index) + \"[\" + \"a\".repeat(i[0].length - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));\n }\n for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(r)) != null; ) r = r.slice(0, i.index) + \"++\" + r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n let o;\n for (; (i = this.tokenizer.rules.inline.blockSkip.exec(r)) != null; ) o = i[2] ? i[2].length : 0, r = r.slice(0, i.index + o) + \"[\" + \"a\".repeat(i[0].length - o - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n r = this.options.hooks?.emStrongMask?.call({ lexer: this }, r) ?? r;\n let a = !1, l = \"\";\n for (; e; ) {\n a || (l = \"\"), a = !1;\n let c;\n if (this.options.extensions?.inline?.some((d) => (c = d.call({ lexer: this }, e, n)) ? (e = e.substring(c.raw.length), n.push(c), !0) : !1)) continue;\n if (c = this.tokenizer.escape(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.tag(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.link(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.reflink(e, this.tokens.links)) {\n e = e.substring(c.raw.length);\n let d = n.at(-1);\n c.type === \"text\" && d?.type === \"text\" ? (d.raw += c.raw, d.text += c.text) : n.push(c);\n continue;\n }\n if (c = this.tokenizer.emStrong(e, r, l)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.codespan(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.br(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.del(e, r, l)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (c = this.tokenizer.autolink(e)) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n if (!this.state.inLink && (c = this.tokenizer.url(e))) {\n e = e.substring(c.raw.length), n.push(c);\n continue;\n }\n let u = e;\n if (this.options.extensions?.startInline) {\n let d = 1 / 0, h = e.slice(1), f;\n this.options.extensions.startInline.forEach((p) => {\n f = p.call({ lexer: this }, h), typeof f == \"number\" && f >= 0 && (d = Math.min(d, f));\n }), d < 1 / 0 && d >= 0 && (u = e.substring(0, d + 1));\n }\n if (c = this.tokenizer.inlineText(u)) {\n e = e.substring(c.raw.length), c.raw.slice(-1) !== \"_\" && (l = c.raw.slice(-1)), a = !0;\n let d = n.at(-1);\n d?.type === \"text\" ? (d.raw += c.raw, d.text += c.text) : n.push(c);\n continue;\n }\n if (e) {\n let d = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(d);\n break;\n } else throw new Error(d);\n }\n }\n return n;\n }\n}, Sn = class {\n options;\n parser;\n constructor(t) {\n this.options = t || it;\n }\n space(t) {\n return \"\";\n }\n code({ text: t, lang: e, escaped: n }) {\n let r = (e || \"\").match(ae.notSpaceStart)?.[0], i = t.replace(ae.endingNewline, \"\") + `\n`;\n return r ? '<pre><code class=\"language-' + Ce(r) + '\">' + (n ? i : Ce(i, !0)) + `</code></pre>\n` : \"<pre><code>\" + (n ? i : Ce(i, !0)) + `</code></pre>\n`;\n }\n blockquote({ tokens: t }) {\n return `<blockquote>\n${this.parser.parse(t)}</blockquote>\n`;\n }\n html({ text: t }) {\n return t;\n }\n def(t) {\n return \"\";\n }\n heading({ tokens: t, depth: e }) {\n return `<h${e}>${this.parser.parseInline(t)}</h${e}>\n`;\n }\n hr(t) {\n return `<hr>\n`;\n }\n list(t) {\n let e = t.ordered, n = t.start, r = \"\";\n for (let a = 0; a < t.items.length; a++) {\n let l = t.items[a];\n r += this.listitem(l);\n }\n let i = e ? \"ol\" : \"ul\", o = e && n !== 1 ? ' start=\"' + n + '\"' : \"\";\n return \"<\" + i + o + `>\n` + r + \"</\" + i + `>\n`;\n }\n listitem(t) {\n return `<li>${this.parser.parse(t.tokens)}</li>\n`;\n }\n checkbox({ checked: t }) {\n return \"<input \" + (t ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\"> ';\n }\n paragraph({ tokens: t }) {\n return `<p>${this.parser.parseInline(t)}</p>\n`;\n }\n table(t) {\n let e = \"\", n = \"\";\n for (let i = 0; i < t.header.length; i++) n += this.tablecell(t.header[i]);\n e += this.tablerow({ text: n });\n let r = \"\";\n for (let i = 0; i < t.rows.length; i++) {\n let o = t.rows[i];\n n = \"\";\n for (let a = 0; a < o.length; a++) n += this.tablecell(o[a]);\n r += this.tablerow({ text: n });\n }\n return r && (r = `<tbody>${r}</tbody>`), `<table>\n<thead>\n` + e + `</thead>\n` + r + `</table>\n`;\n }\n tablerow({ text: t }) {\n return `<tr>\n${t}</tr>\n`;\n }\n tablecell(t) {\n let e = this.parser.parseInline(t.tokens), n = t.header ? \"th\" : \"td\";\n return (t.align ? `<${n} align=\"${t.align}\">` : `<${n}>`) + e + `</${n}>\n`;\n }\n strong({ tokens: t }) {\n return `<strong>${this.parser.parseInline(t)}</strong>`;\n }\n em({ tokens: t }) {\n return `<em>${this.parser.parseInline(t)}</em>`;\n }\n codespan({ text: t }) {\n return `<code>${Ce(t, !0)}</code>`;\n }\n br(t) {\n return \"<br>\";\n }\n del({ tokens: t }) {\n return `<del>${this.parser.parseInline(t)}</del>`;\n }\n link({ href: t, title: e, tokens: n }) {\n let r = this.parser.parseInline(n), i = zi(t);\n if (i === null) return r;\n t = i;\n let o = '<a href=\"' + t + '\"';\n return e && (o += ' title=\"' + Ce(e) + '\"'), o += \">\" + r + \"</a>\", o;\n }\n image({ href: t, title: e, text: n, tokens: r }) {\n r && (n = this.parser.parseInline(r, this.parser.textRenderer));\n let i = zi(t);\n if (i === null) return Ce(n);\n t = i;\n let o = `<img src=\"${t}\" alt=\"${Ce(n)}\"`;\n return e && (o += ` title=\"${Ce(e)}\"`), o += \">\", o;\n }\n text(t) {\n return \"tokens\" in t && t.tokens ? this.parser.parseInline(t.tokens) : \"escaped\" in t && t.escaped ? t.text : Ce(t.text);\n }\n}, Or = class {\n strong({ text: t }) {\n return t;\n }\n em({ text: t }) {\n return t;\n }\n codespan({ text: t }) {\n return t;\n }\n del({ text: t }) {\n return t;\n }\n html({ text: t }) {\n return t;\n }\n text({ text: t }) {\n return t;\n }\n link({ text: t }) {\n return \"\" + t;\n }\n image({ text: t }) {\n return \"\" + t;\n }\n br() {\n return \"\";\n }\n checkbox({ raw: t }) {\n return t;\n }\n}, ve = class pr {\n options;\n renderer;\n textRenderer;\n constructor(e) {\n this.options = e || it, this.options.renderer = this.options.renderer || new Sn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Or();\n }\n static parse(e, n) {\n return new pr(n).parse(e);\n }\n static parseInline(e, n) {\n return new pr(n).parseInline(e);\n }\n parse(e) {\n this.renderer.parser = this;\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n let i = e[r];\n if (this.options.extensions?.renderers?.[i.type]) {\n let a = i, l = this.options.extensions.renderers[a.type].call({ parser: this }, a);\n if (l !== !1 || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"def\", \"paragraph\", \"text\"].includes(a.type)) {\n n += l || \"\";\n continue;\n }\n }\n let o = i;\n switch (o.type) {\n case \"space\": {\n n += this.renderer.space(o);\n break;\n }\n case \"hr\": {\n n += this.renderer.hr(o);\n break;\n }\n case \"heading\": {\n n += this.renderer.heading(o);\n break;\n }\n case \"code\": {\n n += this.renderer.code(o);\n break;\n }\n case \"table\": {\n n += this.renderer.table(o);\n break;\n }\n case \"blockquote\": {\n n += this.renderer.blockquote(o);\n break;\n }\n case \"list\": {\n n += this.renderer.list(o);\n break;\n }\n case \"checkbox\": {\n n += this.renderer.checkbox(o);\n break;\n }\n case \"html\": {\n n += this.renderer.html(o);\n break;\n }\n case \"def\": {\n n += this.renderer.def(o);\n break;\n }\n case \"paragraph\": {\n n += this.renderer.paragraph(o);\n break;\n }\n case \"text\": {\n n += this.renderer.text(o);\n break;\n }\n default: {\n let a = 'Token with \"' + o.type + '\" type was not found.';\n if (this.options.silent) return console.error(a), \"\";\n throw new Error(a);\n }\n }\n }\n return n;\n }\n parseInline(e, n = this.renderer) {\n this.renderer.parser = this;\n let r = \"\";\n for (let i = 0; i < e.length; i++) {\n let o = e[i];\n if (this.options.extensions?.renderers?.[o.type]) {\n let l = this.options.extensions.renderers[o.type].call({ parser: this }, o);\n if (l !== !1 || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(o.type)) {\n r += l || \"\";\n continue;\n }\n }\n let a = o;\n switch (a.type) {\n case \"escape\": {\n r += n.text(a);\n break;\n }\n case \"html\": {\n r += n.html(a);\n break;\n }\n case \"link\": {\n r += n.link(a);\n break;\n }\n case \"image\": {\n r += n.image(a);\n break;\n }\n case \"checkbox\": {\n r += n.checkbox(a);\n break;\n }\n case \"strong\": {\n r += n.strong(a);\n break;\n }\n case \"em\": {\n r += n.em(a);\n break;\n }\n case \"codespan\": {\n r += n.codespan(a);\n break;\n }\n case \"br\": {\n r += n.br(a);\n break;\n }\n case \"del\": {\n r += n.del(a);\n break;\n }\n case \"text\": {\n r += n.text(a);\n break;\n }\n default: {\n let l = 'Token with \"' + a.type + '\" type was not found.';\n if (this.options.silent) return console.error(l), \"\";\n throw new Error(l);\n }\n }\n }\n return r;\n }\n}, Pt = class {\n options;\n block;\n constructor(t) {\n this.options = t || it;\n }\n static passThroughHooks = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\", \"emStrongMask\"]);\n static passThroughHooksRespectAsync = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n preprocess(t) {\n return t;\n }\n postprocess(t) {\n return t;\n }\n processAllTokens(t) {\n return t;\n }\n emStrongMask(t) {\n return t;\n }\n provideLexer() {\n return this.block ? be.lex : be.lexInline;\n }\n provideParser() {\n return this.block ? ve.parse : ve.parseInline;\n }\n}, fd = class {\n defaults = Ir();\n options = this.setOptions;\n parse = this.parseMarkdown(!0);\n parseInline = this.parseMarkdown(!1);\n Parser = ve;\n Renderer = Sn;\n TextRenderer = Or;\n Lexer = be;\n Tokenizer = jn;\n Hooks = Pt;\n constructor(...t) {\n this.use(...t);\n }\n walkTokens(t, e) {\n let n = [];\n for (let r of t) switch (n = n.concat(e.call(this, r)), r.type) {\n case \"table\": {\n let i = r;\n for (let o of i.header) n = n.concat(this.walkTokens(o.tokens, e));\n for (let o of i.rows) for (let a of o) n = n.concat(this.walkTokens(a.tokens, e));\n break;\n }\n case \"list\": {\n let i = r;\n n = n.concat(this.walkTokens(i.items, e));\n break;\n }\n default: {\n let i = r;\n this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((o) => {\n let a = i[o].flat(1 / 0);\n n = n.concat(this.walkTokens(a, e));\n }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, e)));\n }\n }\n return n;\n }\n use(...t) {\n let e = this.defaults.extensions || { renderers: {}, childTokens: {} };\n return t.forEach((n) => {\n let r = { ...n };\n if (r.async = this.defaults.async || r.async || !1, n.extensions && (n.extensions.forEach((i) => {\n if (!i.name) throw new Error(\"extension name required\");\n if (\"renderer\" in i) {\n let o = e.renderers[i.name];\n o ? e.renderers[i.name] = function(...a) {\n let l = i.renderer.apply(this, a);\n return l === !1 && (l = o.apply(this, a)), l;\n } : e.renderers[i.name] = i.renderer;\n }\n if (\"tokenizer\" in i) {\n if (!i.level || i.level !== \"block\" && i.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n let o = e[i.level];\n o ? o.unshift(i.tokenizer) : e[i.level] = [i.tokenizer], i.start && (i.level === \"block\" ? e.startBlock ? e.startBlock.push(i.start) : e.startBlock = [i.start] : i.level === \"inline\" && (e.startInline ? e.startInline.push(i.start) : e.startInline = [i.start]));\n }\n \"childTokens\" in i && i.childTokens && (e.childTokens[i.name] = i.childTokens);\n }), r.extensions = e), n.renderer) {\n let i = this.defaults.renderer || new Sn(this.defaults);\n for (let o in n.renderer) {\n if (!(o in i)) throw new Error(`renderer '${o}' does not exist`);\n if ([\"options\", \"parser\"].includes(o)) continue;\n let a = o, l = n.renderer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d || \"\";\n };\n }\n r.renderer = i;\n }\n if (n.tokenizer) {\n let i = this.defaults.tokenizer || new jn(this.defaults);\n for (let o in n.tokenizer) {\n if (!(o in i)) throw new Error(`tokenizer '${o}' does not exist`);\n if ([\"options\", \"rules\", \"lexer\"].includes(o)) continue;\n let a = o, l = n.tokenizer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.tokenizer = i;\n }\n if (n.hooks) {\n let i = this.defaults.hooks || new Pt();\n for (let o in n.hooks) {\n if (!(o in i)) throw new Error(`hook '${o}' does not exist`);\n if ([\"options\", \"block\"].includes(o)) continue;\n let a = o, l = n.hooks[a], c = i[a];\n Pt.passThroughHooks.has(o) ? i[a] = (u) => {\n if (this.defaults.async && Pt.passThroughHooksRespectAsync.has(o)) return (async () => {\n let h = await l.call(i, u);\n return c.call(i, h);\n })();\n let d = l.call(i, u);\n return c.call(i, d);\n } : i[a] = (...u) => {\n if (this.defaults.async) return (async () => {\n let h = await l.apply(i, u);\n return h === !1 && (h = await c.apply(i, u)), h;\n })();\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.hooks = i;\n }\n if (n.walkTokens) {\n let i = this.defaults.walkTokens, o = n.walkTokens;\n r.walkTokens = function(a) {\n let l = [];\n return l.push(o.call(this, a)), i && (l = l.concat(i.call(this, a))), l;\n };\n }\n this.defaults = { ...this.defaults, ...r };\n }), this;\n }\n setOptions(t) {\n return this.defaults = { ...this.defaults, ...t }, this;\n }\n lexer(t, e) {\n return be.lex(t, e ?? this.defaults);\n }\n parser(t, e) {\n return ve.parse(t, e ?? this.defaults);\n }\n parseMarkdown(t) {\n return (e, n) => {\n let r = { ...n }, i = { ...this.defaults, ...r }, o = this.onError(!!i.silent, !!i.async);\n if (this.defaults.async === !0 && r.async === !1) return o(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n if (typeof e > \"u\" || e === null) return o(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof e != \"string\") return o(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(e) + \", string expected\"));\n if (i.hooks && (i.hooks.options = i, i.hooks.block = t), i.async) return (async () => {\n let a = i.hooks ? await i.hooks.preprocess(e) : e, l = await (i.hooks ? await i.hooks.provideLexer() : t ? be.lex : be.lexInline)(a, i), c = i.hooks ? await i.hooks.processAllTokens(l) : l;\n i.walkTokens && await Promise.all(this.walkTokens(c, i.walkTokens));\n let u = await (i.hooks ? await i.hooks.provideParser() : t ? ve.parse : ve.parseInline)(c, i);\n return i.hooks ? await i.hooks.postprocess(u) : u;\n })().catch(o);\n try {\n i.hooks && (e = i.hooks.preprocess(e));\n let a = (i.hooks ? i.hooks.provideLexer() : t ? be.lex : be.lexInline)(e, i);\n i.hooks && (a = i.hooks.processAllTokens(a)), i.walkTokens && this.walkTokens(a, i.walkTokens);\n let l = (i.hooks ? i.hooks.provideParser() : t ? ve.parse : ve.parseInline)(a, i);\n return i.hooks && (l = i.hooks.postprocess(l)), l;\n } catch (a) {\n return o(a);\n }\n };\n }\n onError(t, e) {\n return (n) => {\n if (n.message += `\nPlease report this to https://github.com/markedjs/marked.`, t) {\n let r = \"<p>An error occurred:</p><pre>\" + Ce(n.message + \"\", !0) + \"</pre>\";\n return e ? Promise.resolve(r) : r;\n }\n if (e) return Promise.reject(n);\n throw n;\n };\n }\n}, nt = new fd();\nfunction $(t, e) {\n return nt.parse(t, e);\n}\n$.options = $.setOptions = function(t) {\n return nt.setOptions(t), $.defaults = nt.defaults, da($.defaults), $;\n};\n$.getDefaults = Ir;\n$.defaults = it;\n$.use = function(...t) {\n return nt.use(...t), $.defaults = nt.defaults, da($.defaults), $;\n};\n$.walkTokens = function(t, e) {\n return nt.walkTokens(t, e);\n};\n$.parseInline = nt.parseInline;\n$.Parser = ve;\n$.parser = ve.parse;\n$.Renderer = Sn;\n$.TextRenderer = Or;\n$.Lexer = be;\n$.lexer = be.lex;\n$.Tokenizer = jn;\n$.Hooks = Pt;\n$.parse = $;\n$.options;\n$.setOptions;\n$.use;\n$.walkTokens;\n$.parseInline;\nve.parse;\nbe.lex;\n$.setOptions({\n breaks: !0,\n gfm: !0\n});\nfunction md({ text: t }) {\n const e = Y(() => {\n if (!t)\n return \"\";\n const n = $.parse(t);\n return typeof n == \"string\" ? n : \"\";\n }, [t]);\n return /* @__PURE__ */ s(\"div\", { class: \"jex-md\", dangerouslySetInnerHTML: { __html: e } });\n}\nfunction gd(t) {\n const e = t.trim().split(/\\s+/).filter(Boolean);\n return e.length === 0 ? \"?\" : e.map((n) => n[0]).join(\"\").slice(0, 2).toUpperCase();\n}\nfunction ut({ text: t, streaming: e, error: n, authorId: r, authorName: i, authorImage: o, botAvatarUrl: a, botName: l }) {\n const c = _(), u = !!r, [d, h] = A(!1), f = q(() => h(!0), []), p = c.replyTo.replace(\"{name}\", i ?? \"\"), g = u ? i ?? \"\" : l ?? \"\", b = [\n \"jex-message bot\",\n n ? \"jex-message-error\" : \"\"\n ].filter(Boolean).join(\" \");\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-message-head\", children: [\n /* @__PURE__ */ s(\"div\", { class: `jex-avatar ${u ? \"jex-avatar-agent\" : \"jex-avatar-bot\"}`, children: u && o && !d ? /* @__PURE__ */ s(\"img\", { src: o, alt: i ?? \"\", class: \"jex-avatar-img\", onError: f }) : u ? /* @__PURE__ */ s(\"span\", { class: \"jex-avatar-initials\", children: gd(i ?? \"\") }) : a && !d ? /* @__PURE__ */ s(\"img\", { src: a, alt: \"\", class: \"jex-avatar-img\", onError: f }) : /* @__PURE__ */ s(En, { size: 14 }) }),\n g && /* @__PURE__ */ s(\"span\", { class: \"jex-message-author\", children: g }),\n u && i && /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-reply-tag-btn\",\n \"aria-label\": p,\n title: p,\n onClick: () => {\n ou(i);\n },\n children: /* @__PURE__ */ s(Tu, { size: 12 })\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: b, children: [\n /* @__PURE__ */ s(md, { text: t }),\n e && /* @__PURE__ */ s(\"span\", { class: \"jex-streaming-cursor\" })\n ] })\n ] });\n}\nfunction xd({ questions: t, disabled: e, onPick: n }) {\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-starter-chips\", children: t.map((r) => /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-starter-chip\",\n disabled: e,\n onClick: () => {\n n(r);\n },\n children: r\n },\n r\n )) });\n}\nfunction bd({ text: t }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message user\", children: t });\n}\nfunction wa() {\n return Yt(pe.functions.chat.public.helpdesk.submitEscalation);\n}\nfunction vd({ message: t, sessionId: e, visitorId: n }) {\n const r = _();\n return t.formData ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.escalationSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: [\n t.formData.visitorName,\n \" · \",\n t.formData.visitorEmail\n ] })\n ] })\n ] }) : /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: /* @__PURE__ */ s(\n yd,\n {\n messageId: t._id,\n sessionId: e,\n visitorId: n\n }\n ) });\n}\nfunction yd({ messageId: t, sessionId: e, visitorId: n }) {\n const r = _(), [i, o] = A(\"\"), [a, l] = A(\"\"), [c, u] = A(!1), d = en.value, h = /^https?:\\/\\//i.test(d) ? d : Xt, f = wa();\n async function p(g) {\n if (g.preventDefault(), !c) {\n u(!0);\n try {\n await f({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: i.trim(),\n visitorEmail: a.trim(),\n locale: qe.value\n });\n } catch (b) {\n console.error(\"[FormMessage] Submit failed:\", b), u(!1);\n }\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (g) => {\n p(g);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: i,\n required: !0,\n disabled: c,\n onInput: (g) => {\n o(g.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: a,\n required: !0,\n disabled: c,\n onInput: (g) => {\n l(g.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", disabled: c, children: c ? r.escalationSubmitting : r.escalationSubmit })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", children: [\n r.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: h, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r.escalationPrivacyLinkText }),\n \".\"\n ] })\n ] });\n}\nfunction wd() {\n return Yt(pe.functions.magicline.public.submitForm);\n}\nfunction kd() {\n return Jt(pe.functions.magicline.actions.getTrialConfig);\n}\nfunction _d() {\n return Jt(pe.functions.magicline.actions.listTrialSlots);\n}\nfunction jd() {\n return Jt(pe.functions.magicline.actions.getRateBundles);\n}\nfunction ka() {\n return Jt(pe.functions.magicline.actions.getContractPreview);\n}\nfunction Sd() {\n return Jt(pe.functions.magicline.actions.submitContractCreation);\n}\nconst zr = { en: Cr, de: Xo }, Cd = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\nfunction _a(t) {\n return Cd.test(t.trim());\n}\nfunction Td(t, e = /* @__PURE__ */ new Date()) {\n const n = t.trim();\n if (n === \"\")\n return null;\n const r = n.split(\"-\");\n if (r.length !== 3)\n return null;\n const i = Number(r[0]), o = Number(r[1]), a = Number(r[2]);\n if (!Number.isInteger(i) || !Number.isInteger(o) || !Number.isInteger(a) || o < 1 || o > 12 || a < 1 || a > 31)\n return null;\n let l = e.getFullYear() - i;\n const c = e.getMonth() + 1 - o;\n return (c < 0 || c === 0 && e.getDate() < a) && (l -= 1), l;\n}\nfunction ja(t = /* @__PURE__ */ new Date()) {\n const e = t.getFullYear(), n = String(t.getMonth() + 1).padStart(2, \"0\"), r = String(t.getDate()).padStart(2, \"0\");\n return `${e}-${n}-${r}`;\n}\nfunction Sa() {\n const t = en.value;\n return /^https?:\\/\\//i.test(t) ? t : Xt;\n}\nconst Rd = {\n DE: 22,\n AT: 20,\n CH: 21,\n GB: 22,\n FR: 27,\n NL: 18,\n BE: 16,\n ES: 24,\n IT: 27,\n PL: 28,\n SE: 24,\n NO: 15,\n DK: 18,\n FI: 18,\n PT: 25\n}, Ad = 15, Id = 34;\nfunction Ca(t) {\n return t.replace(/\\s+/g, \"\").toUpperCase();\n}\nfunction Ed(t) {\n const e = Ca(t), n = e.slice(0, 2), r = Rd[n];\n if (r !== void 0) {\n if (e.length !== r)\n return !1;\n } else if (e.length < Ad || e.length > Id)\n return !1;\n const i = e.slice(4) + e.slice(0, 4);\n let o = \"\";\n for (const l of i) {\n const c = l.charCodeAt(0);\n if (c >= 65 && c <= 90)\n o += String(c - 55);\n else if (c >= 48 && c <= 57)\n o += l;\n else\n return !1;\n }\n let a = 0;\n for (let l = 0; l < o.length; l += 9) {\n const c = String(a) + o.slice(l, l + 9);\n a = Number(c) % 97;\n }\n return a === 1;\n}\nfunction Pd(t) {\n const e = Ca(t);\n if (e.length <= 8)\n return e;\n const n = e.slice(0, 4), r = e.slice(-4);\n return (n + \"•\".repeat(e.length - 8) + r).replace(/(.{4})/g, \"$1 \").trim();\n}\nfunction ye(t, e, n) {\n const r = n === \"de\" ? \"de-DE\" : \"en-GB\";\n try {\n return new Intl.NumberFormat(r, {\n style: \"currency\",\n currency: e\n }).format(t);\n } catch {\n return `${t.toFixed(2)} ${e}`;\n }\n}\nfunction Cn(t, e, n) {\n const r = t !== 1, o = {\n DAY: { en: [\"day\", \"days\"], de: [\"Tag\", \"Tage\"] },\n WEEK: { en: [\"week\", \"weeks\"], de: [\"Woche\", \"Wochen\"] },\n MONTH: { en: [\"month\", \"months\"], de: [\"Monat\", \"Monate\"] },\n YEAR: { en: [\"year\", \"years\"], de: [\"Jahr\", \"Jahre\"] }\n }[e.toUpperCase()];\n if (!o)\n return `${t} ${e.toLowerCase()}`;\n const [a, l] = o[n];\n return `${t} ${r ? l : a}`;\n}\nfunction $d(t, e) {\n const n = t.trim();\n if (n === \"\")\n return \"—\";\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = new Date(n);\n return Number.isNaN(i.getTime()) ? t : i.toLocaleDateString(r, { day: \"2-digit\", month: \"long\", year: \"numeric\" });\n}\nfunction Br(t, e, n) {\n const r = zr[n], i = e.toUpperCase();\n if (t === 1)\n return {\n DAY: r.magiclineFreqPerDay,\n WEEK: r.magiclineFreqPerWeek,\n MONTH: r.magiclineFreqPerMonth,\n YEAR: r.magiclineFreqPerYear\n }[i] ?? e.toLowerCase();\n const a = {\n DAY: r.magiclineFreqEveryDays,\n WEEK: r.magiclineFreqEveryWeeks,\n MONTH: r.magiclineFreqEveryMonths,\n YEAR: r.magiclineFreqEveryYears\n }[i];\n return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace(\"{n}\", String(t));\n}\nfunction qd(t, e, n, r, i) {\n const o = zr[i], a = ye(t, e, i);\n switch (n) {\n case \"TERM_BASED\":\n return `${a} ${o.magiclineModulePerTerm}`;\n case \"RECURRING\":\n return `${a} ${Br(1, r ?? \"MONTH\", i)}`;\n case \"NON_RECURRING\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"MONTH_DAY\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"FREE\":\n return o.magiclineModuleIncluded;\n default:\n return a;\n }\n}\nfunction Nd(t, e, n, r) {\n return e === \"PERCENTAGE\" ? `-${t}%` : `-${ye(t, n, r)}`;\n}\nconst Md = {\n startpaket: \"magiclineFeeStarterPackage\",\n \"starter package\": \"magiclineFeeStarterPackage\",\n trainerpauschale: \"magiclineFeeTrainerFee\"\n};\nfunction Ta(t, e) {\n const n = t.trim().toLowerCase(), r = Md[n];\n return r !== void 0 ? e[r] : t;\n}\nfunction Ld(t, e, n) {\n const r = zr[n];\n if (t === \"NONE\")\n return r.magiclineRenewalNone;\n if (t === \"TERM_EXTENSION\" && e !== null) {\n const i = Cn(e.value, e.unit, n);\n return r.magiclineRenewalTerm.replace(\"{n} {unit}\", i);\n }\n return \"\";\n}\nconst Ra = [\"MALE\", \"FEMALE\", \"UNISEX\"], Od = [\n { code: \"DE\", label: \"Germany / Deutschland\" },\n { code: \"AT\", label: \"Austria / Österreich\" },\n { code: \"CH\", label: \"Switzerland / Schweiz\" },\n { code: \"LI\", label: \"Liechtenstein\" },\n { code: \"LU\", label: \"Luxembourg / Luxemburg\" },\n { code: \"NL\", label: \"Netherlands / Niederlande\" },\n { code: \"BE\", label: \"Belgium / Belgien\" },\n { code: \"FR\", label: \"France / Frankreich\" },\n { code: \"IT\", label: \"Italy / Italien\" },\n { code: \"ES\", label: \"Spain / Spanien\" },\n { code: \"PL\", label: \"Poland / Polen\" },\n { code: \"CZ\", label: \"Czechia / Tschechien\" },\n { code: \"DK\", label: \"Denmark / Dänemark\" },\n { code: \"GB\", label: \"United Kingdom\" },\n { code: \"US\", label: \"United States\" }\n];\nfunction zd(t, e) {\n const n = [];\n return e && n.push(\"trainer\"), n.push(\"slot\"), n.push(\"personal\"), (t.address.visible || t.zip.visible) && n.push(\"address\"), n.push(\"confirm\"), n;\n}\nconst Bd = {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n phone: \"\",\n birthDate: \"\",\n gender: \"\",\n street: \"\",\n houseNumber: \"\",\n zip: \"\",\n city: \"\",\n country: \"\",\n note: \"\",\n slotId: \"\",\n consent: !1,\n trainerRequired: !0\n};\nfunction Dd(t, e) {\n switch (e.type) {\n case \"set\":\n return { ...t, [e.key]: e.value };\n case \"setTrainer\":\n return { ...t, trainerRequired: e.trainerRequired, slotId: \"\" };\n case \"clearSlotIfAbsent\":\n return t.slotId !== \"\" && !e.available.includes(t.slotId) ? { ...t, slotId: \"\" } : t;\n default:\n return t;\n }\n}\nfunction Fd({\n sessionId: t,\n visitorId: e\n}) {\n const n = kd(), r = _d(), [i, o] = he(Dd, Bd), [a, l] = he(\n (m, v) => v,\n { phase: \"loading\" }\n ), [c, u] = he(\n (m, v) => v,\n { phase: \"loading\" }\n ), [d, h] = he((m) => m + 1, 0), f = q((m, v) => {\n o({ type: \"set\", key: m, value: v });\n }, []), p = q((m) => {\n o({ type: \"setTrainer\", trainerRequired: m }), h();\n }, []), g = q(() => {\n h();\n }, []);\n P(() => {\n let m = !1;\n return (async () => {\n try {\n const v = await n({ sessionId: t, visitorId: e });\n if (m)\n return;\n v.status === \"ok\" ? l({\n phase: \"ready\",\n config: {\n plan: v.plan,\n minimumAge: v.minimumAge,\n bookingWithoutTrainerAllowed: v.bookingWithoutTrainerAllowed,\n studioZoneId: v.studioZoneId\n }\n }) : l({\n phase: \"error\",\n code: v.status,\n backendMessage: v.message\n });\n } catch {\n m || l({ phase: \"error\", code: \"unavailable\", backendMessage: \"\" });\n }\n })(), () => {\n m = !0;\n };\n }, [n, t, e]);\n const b = a.phase === \"ready\", { trainerRequired: x } = i;\n return P(() => {\n if (!b)\n return;\n let m = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const v = await r({ sessionId: t, visitorId: e, trainerRequired: x });\n if (m)\n return;\n v.status === \"ok\" ? v.slots.length > 0 ? (u({ phase: \"ready\", slots: v.slots }), o({\n type: \"clearSlotIfAbsent\",\n available: v.slots.map((S) => S.startDateTime)\n })) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n m || u({ phase: \"error\" });\n }\n })(), () => {\n m = !0;\n };\n }, [b, r, t, e, x, d]), {\n fields: i,\n setField: f,\n setTrainerRequired: p,\n configState: a,\n slotsState: c,\n refetchSlots: g\n };\n}\nfunction Ud({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r = !1,\n retryPending: i = !1\n}) {\n const o = _(), a = wd(), { fields: l, setField: c, setTrainerRequired: u, configState: d, slotsState: h, refetchSlots: f } = Fd({ sessionId: e, visitorId: n });\n return d.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: o.magiclineConfigLoading })\n ] }) : d.phase === \"error\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", children: Jd(d.code, d.backendMessage, o) })\n ] }) : /* @__PURE__ */ s(\n Vd,\n {\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: d.config,\n fields: l,\n setField: c,\n setTrainerRequired: u,\n slotsState: h,\n refetchSlots: f,\n submitForm: a\n }\n );\n}\nfunction Vd({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: o,\n fields: a,\n setField: l,\n setTrainerRequired: c,\n slotsState: u,\n refetchSlots: d,\n submitForm: h\n}) {\n const f = _(), { plan: p, minimumAge: g, bookingWithoutTrainerAllowed: b, studioZoneId: x } = o, m = Y(\n () => zd(p, b),\n [p, b]\n ), v = r ? Math.max(m.indexOf(\"slot\"), 0) : 0, [S, B] = A(v), [L, N] = A({}), [D, ne] = A(!1), [re, ie] = A(null), H = Y(() => Sa(), []), Z = Math.min(S, m.length - 1), y = m[Z], W = Z === m.length - 1, jt = Z === 0;\n function Ve(Q) {\n const C = {};\n if (Q === \"slot\")\n return a.slotId === \"\" && (C.slotId = f.magiclineSlotRequiredError), C;\n if (Q === \"personal\") {\n if (a.firstName.trim() === \"\" && (C.firstName = f.magiclineRequiredError), a.lastName.trim() === \"\" && (C.lastName = f.magiclineRequiredError), p.email.visible && p.email.required && a.email.trim() === \"\" && (C.email = f.magiclineRequiredError), a.email.trim() !== \"\" && !_a(a.email) && (C.email = f.magiclineEmailError), p.phone.visible && p.phone.required && a.phone.trim() === \"\" && (C.phone = f.magiclineRequiredError), p.gender.visible && p.gender.required && a.gender === \"\" && (C.gender = f.magiclineRequiredError), p.dateOfBirth.visible && (p.dateOfBirth.required && a.birthDate.trim() === \"\" && (C.birthDate = f.magiclineRequiredError), a.birthDate.trim() !== \"\")) {\n const fe = Td(a.birthDate);\n fe !== null && fe < 0 ? C.birthDate = f.magiclineRequiredError : g > 0 && fe !== null && fe < g && (C.birthDate = f.magiclineMinAgeError.replace(\"{age}\", String(g)));\n }\n return C;\n }\n return Q === \"address\" ? (p.address.visible && p.address.required && (a.street.trim() === \"\" && (C.street = f.magiclineRequiredError), a.houseNumber.trim() === \"\" && (C.houseNumber = f.magiclineRequiredError), a.city.trim() === \"\" && (C.city = f.magiclineRequiredError), a.country === \"\" && (C.country = f.magiclineRequiredError)), p.zip.visible && p.zip.required && a.zip.trim() === \"\" && (C.zip = f.magiclineRequiredError), C) : (Q === \"confirm\" && (a.consent || (C.consent = f.magiclineConsentError)), C);\n }\n function Qe() {\n const Q = Ve(y);\n if (Object.keys(Q).length > 0) {\n N(Q);\n return;\n }\n N({}), B((C) => Math.min(C + 1, m.length - 1));\n }\n function ot() {\n N({}), ie(null), B((Q) => Math.max(Q - 1, 0));\n }\n async function He() {\n if (D)\n return;\n const Q = Ve(\"confirm\");\n if (Object.keys(Q).length > 0) {\n N(Q);\n return;\n }\n N({}), ie(null), ne(!0);\n try {\n const C = Zd(p, a);\n await h({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n action: \"trialSessionBooking\",\n fields: C\n });\n } catch (C) {\n console.error(\"[TrialSessionBookingForm] Submit failed:\", C), ie(f.magiclineFailedDetail), ne(!1);\n }\n }\n function St() {\n W ? He() : Qe();\n }\n const at = Yd(y, f), ke = `jex-ml-consent-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: f.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: at }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: f.magiclineStepCounter.replace(\"{n}\", String(Z + 1)).replace(\"{total}\", String(m.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: m.map((Q, C) => /* @__PURE__ */ s(\n \"span\",\n {\n class: C === Z ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n Q\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": at, children: [\n y === \"trainer\" ? /* @__PURE__ */ s(\n Qd,\n {\n formMessageId: t,\n trainerRequired: a.trainerRequired,\n disabled: D,\n onChange: c\n }\n ) : null,\n y === \"slot\" ? /* @__PURE__ */ s(\n Hd,\n {\n slotsState: u,\n slotId: a.slotId,\n studioZoneId: x,\n disabled: D,\n retryPending: i,\n slotUnavailable: r,\n error: L.slotId,\n onSelect: (Q) => {\n l(\"slotId\", Q);\n },\n onRetry: d\n }\n ) : null,\n y === \"personal\" ? /* @__PURE__ */ s(\n Wd,\n {\n plan: p,\n fields: a,\n errors: L,\n disabled: D,\n setField: l\n }\n ) : null,\n y === \"address\" ? /* @__PURE__ */ s(\n Kd,\n {\n plan: p,\n fields: a,\n errors: L,\n disabled: D,\n setField: l\n }\n ) : null,\n y === \"confirm\" ? /* @__PURE__ */ s(\n Gd,\n {\n consentId: ke,\n privacyUrl: H,\n studioZoneId: x,\n fields: a,\n disabled: D,\n consentError: L.consent,\n setField: l\n }\n ) : null,\n re !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: re }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n jt ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: D,\n onClick: ot,\n children: f.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: D,\n onClick: St,\n children: W ? D ? f.magiclineSubmitting : f.magiclineSubmit : f.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction Qd({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {\n const i = _(), o = `jex-ml-trainer-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": i.magiclineStepTrainer, children: [\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: e,\n disabled: n,\n onChange: () => {\n r(!0);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWith })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card\" : \"jex-magicline-radio-card jex-magicline-radio-card-active\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: !e,\n disabled: n,\n onChange: () => {\n r(!1);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWithout })\n ]\n }\n )\n ] });\n}\nfunction Hd({\n slotsState: t,\n slotId: e,\n studioZoneId: n,\n disabled: r,\n retryPending: i,\n slotUnavailable: o,\n error: a,\n onSelect: l,\n onRetry: c\n}) {\n const u = _();\n return /* @__PURE__ */ s(O, { children: [\n o ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: u.magiclineSlotUnavailableNotice }) : null,\n i || t.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: u.magiclineLoadingSlots }) : t.phase === \"ready\" ? /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": u.magiclineSlotLabel,\n value: e,\n required: !0,\n disabled: r,\n \"aria-invalid\": a !== void 0,\n onChange: (d) => {\n l(d.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: !0, children: u.magiclineSlotPlaceholder }),\n t.slots.map((d) => /* @__PURE__ */ s(\"option\", { value: d.startDateTime, children: Ia(d.startDateTime, qe.value, n) }, d.startDateTime))\n ]\n }\n ) : t.phase === \"error\" ? (\n // distinct error state with a Retry affordance.\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineSlotsError }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-retry\",\n disabled: r,\n onClick: c,\n children: u.magiclineRetry\n }\n )\n ] })\n ) : (\n // empty → healthy no-availability message (no retry, can't advance).\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineNoSlots })\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction Wd({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = _(), a = Y(() => ja(), []);\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Be,\n {\n label: o.magiclineFirstName,\n value: e.firstName,\n required: !0,\n disabled: r,\n error: n.firstName,\n fieldKey: \"firstName\",\n onInput: (l) => {\n i(\"firstName\", l);\n }\n }\n ),\n /* @__PURE__ */ s(\n Be,\n {\n label: o.magiclineLastName,\n value: e.lastName,\n required: !0,\n disabled: r,\n error: n.lastName,\n fieldKey: \"lastName\",\n onInput: (l) => {\n i(\"lastName\", l);\n }\n }\n )\n ] }),\n t.email.visible ? /* @__PURE__ */ s(\n Be,\n {\n label: ge(o.magiclineEmail, t.email.required, o),\n type: \"email\",\n value: e.email,\n required: t.email.required,\n disabled: r,\n error: n.email,\n fieldKey: \"email\",\n onInput: (l) => {\n i(\"email\", l);\n }\n }\n ) : null,\n t.phone.visible ? /* @__PURE__ */ s(\n Be,\n {\n label: ge(o.magiclinePhone, t.phone.required, o),\n type: \"tel\",\n value: e.phone,\n required: t.phone.required,\n disabled: r,\n error: n.phone,\n fieldKey: \"phone\",\n onInput: (l) => {\n i(\"phone\", l);\n }\n }\n ) : null,\n t.dateOfBirth.visible ? /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: ge(o.magiclineBirthDate, t.dateOfBirth.required, o) }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": ge(o.magiclineBirthDate, t.dateOfBirth.required, o),\n value: e.birthDate,\n max: a,\n required: t.dateOfBirth.required,\n disabled: r,\n \"aria-invalid\": n.birthDate !== void 0,\n onInput: (l) => {\n i(\"birthDate\", l.currentTarget.value);\n }\n }\n ),\n n.birthDate !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: n.birthDate }) : null\n ] }) : null,\n t.gender.visible ? /* @__PURE__ */ s(\n Aa,\n {\n label: ge(o.magiclineGender, t.gender.required, o),\n value: e.gender,\n required: t.gender.required,\n disabled: r,\n placeholder: ge(o.magiclineGenderPlaceholder, t.gender.required, o),\n error: n.gender,\n onChange: (l) => {\n i(\"gender\", l);\n },\n options: Ra.map((l) => ({ value: l, label: Xd(l, o) }))\n }\n ) : null\n ] });\n}\nfunction Kd({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = _();\n return /* @__PURE__ */ s(O, { children: [\n t.address.visible ? /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Be,\n {\n label: ge(o.magiclineStreet, t.address.required, o),\n value: e.street,\n required: t.address.required,\n disabled: r,\n error: n.street,\n fieldKey: \"street\",\n onInput: (a) => {\n i(\"street\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n Be,\n {\n label: ge(o.magiclineHouseNumber, t.address.required, o),\n value: e.houseNumber,\n required: t.address.required,\n disabled: r,\n error: n.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (a) => {\n i(\"houseNumber\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n Be,\n {\n label: ge(o.magiclineCity, t.address.required, o),\n value: e.city,\n required: t.address.required,\n disabled: r,\n error: n.city,\n fieldKey: \"city\",\n onInput: (a) => {\n i(\"city\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n Aa,\n {\n label: ge(o.magiclineCountry, t.address.required, o),\n value: e.country,\n required: t.address.required,\n disabled: r,\n placeholder: ge(o.magiclineCountryPlaceholder, t.address.required, o),\n error: n.country,\n onChange: (a) => {\n i(\"country\", a);\n },\n options: Od.map((a) => ({ value: a.code, label: a.label }))\n }\n )\n ] }) : null,\n t.zip.visible ? /* @__PURE__ */ s(\n Be,\n {\n label: ge(o.magiclineZip, t.zip.required, o),\n value: e.zip,\n required: t.zip.required,\n disabled: r,\n error: n.zip,\n fieldKey: \"zip\",\n onInput: (a) => {\n i(\"zip\", a);\n }\n }\n ) : null\n ] });\n}\nfunction Gd({\n consentId: t,\n privacyUrl: e,\n studioZoneId: n,\n fields: r,\n disabled: i,\n consentError: o,\n setField: a\n}) {\n const l = _(), c = r.slotId !== \"\" ? Ia(r.slotId, qe.value, n) : \"—\", u = `${r.firstName} ${r.lastName}`.trim();\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryTrainer }),\n /* @__PURE__ */ s(\"dd\", { children: r.trainerRequired ? l.magiclineTrainerWith : l.magiclineTrainerWithout })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummarySlot }),\n /* @__PURE__ */ s(\"dd\", { children: c })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: u !== \"\" ? u : \"—\" })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n \"aria-label\": l.magiclineNote,\n placeholder: l.magiclineNote,\n value: r.note,\n disabled: i,\n onInput: (d) => {\n a(\"note\", d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: t, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: t,\n type: \"checkbox\",\n checked: r.consent,\n disabled: i,\n \"aria-invalid\": o !== void 0,\n onChange: (d) => {\n a(\"consent\", d.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n l.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: e, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: l.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Be({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction Aa({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction ge(t, e, n) {\n return e ? t : t + n.magiclineOptionalSuffix;\n}\nfunction Yd(t, e) {\n switch (t) {\n case \"trainer\":\n return e.magiclineStepTrainer;\n case \"slot\":\n return e.magiclineStepSlot;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"confirm\":\n return e.magiclineStepConfirm;\n default:\n return \"\";\n }\n}\nfunction Jd(t, e, n) {\n return e.trim() !== \"\" ? e : t === \"unsupported\" ? n.magiclineConfigUnsupported : t === \"inconsistent\" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;\n}\nfunction Zd(t, e) {\n const n = {\n firstname: e.firstName.trim(),\n lastname: e.lastName.trim(),\n slotId: e.slotId,\n trainerRequired: e.trainerRequired,\n privacyConsent: e.consent\n };\n return t.email.visible && e.email.trim() !== \"\" && (n.email = e.email.trim()), t.phone.visible && e.phone.trim() !== \"\" && (n.phone = e.phone.trim()), t.dateOfBirth.visible && e.birthDate.trim() !== \"\" && (n.dateOfBirth = e.birthDate.trim()), t.gender.visible && e.gender !== \"\" && (n.gender = e.gender), t.address.visible && (e.street.trim() !== \"\" && (n.street = e.street.trim()), e.houseNumber.trim() !== \"\" && (n.houseNumber = e.houseNumber.trim()), e.city.trim() !== \"\" && (n.city = e.city.trim()), e.country !== \"\" && (n.country = e.country)), t.zip.visible && e.zip.trim() !== \"\" && (n.zip = e.zip.trim()), e.note.trim() !== \"\" && (n.note = e.note.trim()), n;\n}\nfunction Xd(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction Ia(t, e, n) {\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = t.match(/\\[([^\\]]+)\\]\\s*$/), o = i ? i[1] : n ?? void 0, a = t.replace(/\\[[^\\]]+\\]\\s*$/, \"\"), l = new Date(a);\n if (Number.isNaN(l.getTime()))\n return t;\n try {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n ...o ? { timeZone: o, timeZoneName: \"short\" } : { timeZoneName: \"short\" }\n });\n } catch {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n timeZoneName: \"short\"\n });\n }\n}\nconst eh = {\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {},\n personal: {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n dateOfBirth: \"\",\n gender: \"\",\n phone: \"\"\n },\n address: {\n street: \"\",\n houseNumber: \"\",\n zipCode: \"\",\n city: \"\"\n },\n payment: {\n accountHolder: \"\",\n accountHolderTouched: !1,\n iban: \"\"\n },\n consents: {\n privacy: !1,\n sepa: !1\n }\n};\nfunction th(t, e) {\n switch (e.type) {\n case \"setTermId\":\n return t.termId === e.termId ? t : {\n ...t,\n termId: e.termId,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"toggleModule\": {\n if (e.selected)\n return t.selectedModuleIds.includes(e.moduleId) ? t : {\n ...t,\n selectedModuleIds: [...t.selectedModuleIds, e.moduleId]\n };\n const n = { ...t.acknowledgedBlocks };\n return e.consentAckKey !== void 0 && delete n[e.consentAckKey], {\n ...t,\n selectedModuleIds: t.selectedModuleIds.filter((r) => r !== e.moduleId),\n acknowledgedBlocks: n\n };\n }\n case \"setBlockAck\":\n return {\n ...t,\n acknowledgedBlocks: { ...t.acknowledgedBlocks, [e.ackKey]: e.value }\n };\n case \"setPersonal\":\n return { ...t, personal: { ...t.personal, [e.key]: e.value } };\n case \"setAddress\":\n return { ...t, address: { ...t.address, [e.key]: e.value } };\n case \"setAccountHolder\":\n return {\n ...t,\n payment: { ...t.payment, accountHolder: e.value, accountHolderTouched: !0 }\n };\n case \"setIban\":\n return { ...t, payment: { ...t.payment, iban: e.value } };\n case \"setConsent\":\n return { ...t, consents: { ...t.consents, [e.key]: e.value } };\n case \"clearIban\":\n return { ...t, payment: { ...t.payment, iban: \"\" } };\n case \"clearTermId\":\n return {\n ...t,\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"prefillAccountHolder\":\n return t.payment.accountHolderTouched || t.payment.accountHolder !== \"\" ? t : { ...t, payment: { ...t.payment, accountHolder: e.value } };\n default:\n return t;\n }\n}\nconst Fi = {\n draftVoucherCode: \"\",\n appliedVoucherCode: null,\n appliedVoucher: null,\n voucherStatus: \"idle\",\n voucherRequestId: 0,\n voucherUnavailable: !1\n}, nh = \"voucher:\";\nfunction rh(t) {\n const e = {};\n for (const n of Object.keys(t))\n n.startsWith(nh) || (e[n] = t[n]);\n return e;\n}\nfunction ih(t, e) {\n switch (e.type) {\n case \"SET_VOUCHER_DRAFT\": {\n const n = t.appliedVoucher !== null || t.voucherStatus === \"applied\";\n return {\n ...t,\n draftVoucherCode: e.value,\n ...n ? {\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n } : {}\n };\n }\n case \"VOUCHER_APPLYING\":\n return {\n ...t,\n voucherStatus: \"applying\",\n voucherRequestId: t.voucherRequestId + 1\n };\n case \"VOUCHER_APPLIED\":\n return e.requestId !== t.voucherRequestId ? t : {\n ...t,\n appliedVoucher: e.voucher,\n appliedVoucherCode: e.appliedCode,\n voucherStatus: \"applied\"\n };\n case \"VOUCHER_INVALID\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"invalid\"\n };\n case \"VOUCHER_DISABLED\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"disabled\",\n voucherUnavailable: !0\n };\n case \"CLEAR_VOUCHER\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n };\n default:\n return t;\n }\n}\nfunction oh(t, e) {\n switch (e.type) {\n case \"dropVoucherAcks\": {\n const n = rh(t.acknowledgedBlocks);\n return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };\n }\n case \"seedVoucherAcks\": {\n if (e.ackKeys.length === 0)\n return t;\n const n = { ...t.acknowledgedBlocks };\n for (const r of e.ackKeys)\n r in n || (n[r] = !1);\n return { ...t, acknowledgedBlocks: n };\n }\n default:\n return th(t, e);\n }\n}\nfunction ah({\n sessionId: t,\n visitorId: e\n}) {\n const n = jd(), r = ka(), [i, o] = he(oh, eh), [a, l] = he(ih, Fi), [c, u] = he(\n (w, j) => j,\n { phase: \"loading\" }\n ), d = Ee(null), [h, f] = he(\n (w, j) => j,\n { phase: \"idle\" }\n ), p = q((w) => {\n w.phase === \"ready\" ? d.current = w.pricing : (w.phase === \"idle\" || w.phase === \"error\") && (d.current = null), f(w);\n }, []), [g, b] = he((w) => w + 1, 0), [x, m] = he((w) => w + 1, 0), v = q((w) => {\n o({ type: \"setTermId\", termId: w }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), S = q((w, j) => {\n o({ type: \"setPersonal\", key: w, value: j });\n }, []), B = q((w, j) => {\n o({ type: \"setAddress\", key: w, value: j });\n }, []), L = q((w, j, Me) => {\n o({ type: \"toggleModule\", moduleId: w, selected: j, consentAckKey: Me }), o({ type: \"dropVoucherAcks\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), N = q((w, j) => {\n o({ type: \"setBlockAck\", ackKey: w, value: j });\n }, []), D = q((w) => {\n o({ type: \"setAccountHolder\", value: w });\n }, []), ne = q((w) => {\n o({ type: \"setIban\", value: w });\n }, []), re = q((w, j) => {\n o({ type: \"setConsent\", key: w, value: j });\n }, []), ie = q(() => {\n o({ type: \"clearIban\" });\n }, []), H = q(() => {\n o({ type: \"clearTermId\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), Z = q((w) => {\n l({ type: \"SET_VOUCHER_DRAFT\", value: w }), o({ type: \"dropVoucherAcks\" });\n }, []), y = Ee(Fi.voucherRequestId), W = q(() => {\n const w = y.current + 1;\n return y.current = w, l({ type: \"VOUCHER_APPLYING\" }), w;\n }, []), jt = q(\n (w) => {\n w.requestId === y.current && (l({\n type: \"VOUCHER_APPLIED\",\n requestId: w.requestId,\n voucher: w.voucher,\n appliedCode: w.appliedCode,\n voucherAckKeys: w.voucherAckKeys\n }), p({ phase: \"ready\", pricing: w.pricing }), o({ type: \"seedVoucherAcks\", ackKeys: w.voucherAckKeys }));\n },\n []\n ), Ve = q(() => {\n l({ type: \"VOUCHER_INVALID\" }), o({ type: \"dropVoucherAcks\" }), m();\n }, []), Qe = q(() => {\n l({ type: \"VOUCHER_DISABLED\" }), o({ type: \"dropVoucherAcks\" }), m();\n }, []), ot = q(() => {\n l({ type: \"CLEAR_VOUCHER\" }), o({ type: \"dropVoucherAcks\" }), m();\n }, []), He = q(() => {\n b();\n }, []), St = q(() => {\n p({ phase: \"idle\" });\n }, []), at = q(() => {\n m();\n }, []), ke = c.phase === \"ready\" && i.termId !== null ? c.terms.find((w) => w.termId === i.termId) ?? null : null, { selectedModuleIds: Q, acknowledgedBlocks: C } = i, { appliedVoucher: fe } = a, Ne = Y(() => {\n if (ke === null)\n return [];\n const w = /* @__PURE__ */ new Set();\n for (const j of ke.textBlocks)\n j.isConfirmationRequired && w.add(j.ackKey);\n for (const j of Q) {\n const Me = ke.optionalModules.find((We) => We.id === j);\n Me?.consent && w.add(Me.consent.ackKey);\n }\n if (fe !== null)\n for (const j of fe.textBlocks)\n w.add(j.ackKey);\n return [...w];\n }, [ke, Q, fe]), Ct = Y(\n () => Ne.every((w) => C[w] === !0),\n [Ne, C]\n ), { firstName: te, lastName: _e } = i.personal, { accountHolder: se, accountHolderTouched: st } = i.payment;\n return P(() => {\n st || se !== \"\" || te.trim() !== \"\" && _e.trim() !== \"\" && o({\n type: \"prefillAccountHolder\",\n value: `${te.trim()} ${_e.trim()}`\n });\n }, [te, _e, se, st]), P(() => {\n let w = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const j = await n({ sessionId: t, visitorId: e });\n if (w)\n return;\n j.status === \"ok\" ? j.terms.length > 0 ? u({ phase: \"ready\", terms: j.terms, allowVoucherCodes: j.allowVoucherCodes }) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n w || u({ phase: \"error\" });\n }\n })(), () => {\n w = !0;\n };\n }, [n, t, e, g]), P(() => {\n if (x === 0)\n return;\n const w = ke;\n if (!w) {\n p({ phase: \"error\", code: \"offer_unavailable\" });\n return;\n }\n let j = !1;\n const Me = d.current;\n p(Me !== null ? { phase: \"reloading\", pricing: Me } : { phase: \"loading\" });\n const We = w.defaultContractStartDate ?? \"\", qn = {\n sessionId: t,\n visitorId: e,\n termId: w.termId,\n startDate: We,\n fields: {\n firstname: i.personal.firstName.trim(),\n lastname: i.personal.lastName.trim(),\n email: i.personal.email.trim(),\n dateOfBirth: i.personal.dateOfBirth.trim(),\n gender: i.personal.gender,\n phone: i.personal.phone.trim(),\n street: i.address.street.trim(),\n houseNumber: i.address.houseNumber.trim(),\n zipCode: i.address.zipCode.trim(),\n city: i.address.city.trim()\n },\n // Only modules still offered by the (re-fetched) term are sent; a vanished\n // module is dropped by the term-change reset before this runs.\n selectedModuleIds: w.optionalModules.filter((F) => i.selectedModuleIds.includes(F.id)).map((F) => F.id),\n privacyConsent: i.consents.privacy,\n sepaConsent: i.consents.sepa\n };\n return (async () => {\n try {\n const F = await r(qn);\n if (j)\n return;\n F.status === \"ok\" ? p({\n phase: \"ready\",\n pricing: {\n basePrice: F.basePrice,\n preUseCharge: F.preUseCharge,\n currencyCode: F.currencyCode,\n flatFees: F.flatFees,\n modules: F.modules,\n contractVolume: F.contractVolume,\n startDate: F.startDate,\n paymentFrequency: F.paymentFrequency,\n fingerprint: F.pricingFingerprint\n }\n }) : p({ phase: \"error\", code: F.status });\n } catch {\n j || p({ phase: \"error\", code: \"unavailable\" });\n }\n })(), () => {\n j = !0;\n };\n }, [x, r, t, e]), {\n fields: i,\n offersState: c,\n previewState: h,\n selectedTerm: ke,\n requiredAckKeys: Ne,\n allAcknowledged: Ct,\n /**\n * Server-authoritative flag: true only when the server confirmed\n * `allowVoucherCodes` in the getRateBundles ok-result. Defaults to false\n * (fail-closed) while loading or on error.\n */\n serverAllowVoucherCodes: c.phase === \"ready\" ? c.allowVoucherCodes : !1,\n // Voucher state (read)\n voucherStatus: a.voucherStatus,\n draftVoucherCode: a.draftVoucherCode,\n appliedVoucherCode: a.appliedVoucherCode,\n appliedVoucher: a.appliedVoucher,\n voucherUnavailable: a.voucherUnavailable,\n // Field actions\n setTermId: v,\n setPersonal: S,\n setAddress: B,\n toggleModule: L,\n setBlockAck: N,\n setAccountHolder: D,\n setIban: ne,\n setConsent: re,\n clearIban: ie,\n clearTermId: H,\n refetchOffers: He,\n fetchPreview: at,\n resetPreview: St,\n // Voucher actions\n setVoucherDraft: Z,\n beginVoucherApply: W,\n commitVoucherApplied: jt,\n markVoucherInvalid: Ve,\n markVoucherDisabled: Qe,\n clearVoucher: ot\n };\n}\nfunction sh(t) {\n return t !== null && t.optionalModules.length > 0 ? [\"offer\", \"upgrades\", \"personal\", \"address\", \"payment\", \"review\"] : [\"offer\", \"personal\", \"address\", \"payment\", \"review\"];\n}\nfunction lh({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n projectId: r,\n formStatus: i\n}) {\n const o = _(), a = qe.value, l = Sd(), c = ka(), u = ah({ sessionId: e, visitorId: n }), {\n fields: d,\n offersState: h,\n previewState: f,\n selectedTerm: p,\n requiredAckKeys: g,\n allAcknowledged: b,\n serverAllowVoucherCodes: x,\n voucherStatus: m,\n draftVoucherCode: v,\n appliedVoucher: S,\n appliedVoucherCode: B,\n voucherUnavailable: L,\n setTermId: N,\n setPersonal: D,\n setAddress: ne,\n toggleModule: re,\n setBlockAck: ie,\n setAccountHolder: H,\n setIban: Z,\n setConsent: y,\n clearIban: W,\n clearTermId: jt,\n refetchOffers: Ve,\n fetchPreview: Qe,\n resetPreview: ot,\n setVoucherDraft: He,\n beginVoucherApply: St,\n commitVoucherApplied: at,\n markVoucherInvalid: ke,\n markVoucherDisabled: Q\n } = u, [C, fe] = A(0), [Ne, Ct] = A({}), [te, _e] = A(!1), [se, st] = A(null), [w, j] = A(null), [Me, We] = A(null), qn = Y(() => Sa(), []);\n if (se !== null && se.status === \"succeeded\")\n return /* @__PURE__ */ s(Ui, { customerNumber: se.customerNumber });\n if (se !== null && se.status === \"failed\" && !se.retryable) {\n const I = se.errorCode === \"duplicate_submission\" ? o.magiclineDuplicateNotice : se.errorCode === \"unknown_outcome\" ? o.magiclineUnknownOutcome : se.errorCode === \"live_submission_disabled\" ? o.magiclineLiveSubmissionDisabled : o.magiclineFailedDetail;\n return /* @__PURE__ */ s(Vi, { message: I });\n }\n if (se === null && !te && i === \"submitted\")\n return /* @__PURE__ */ s(Ui, { customerNumber: null });\n if (se === null && !te && i === \"failed\")\n return /* @__PURE__ */ s(Vi, { message: o.magiclineFailedDetail });\n const F = Y(() => sh(p), [p]), lt = Math.min(C, F.length - 1), je = F[lt], Dr = lt === F.length - 1, $a = lt === 0;\n function qa(I) {\n const T = {};\n if (I === \"offer\")\n return d.termId === null && (T.termId = o.magiclineOfferRequiredError), T;\n if (I === \"upgrades\") {\n if (p !== null)\n for (const J of d.selectedModuleIds) {\n const Ke = p.optionalModules.find((X) => X.id === J);\n if (Ke?.consent && d.acknowledgedBlocks[Ke.consent.ackKey] !== !0) {\n T.upgrades = o.magiclineUpgradeConsentError;\n break;\n }\n }\n return T;\n }\n if (I === \"personal\") {\n const J = d.personal;\n return J.firstName.trim() === \"\" && (T.firstName = o.magiclineRequiredError), J.lastName.trim() === \"\" && (T.lastName = o.magiclineRequiredError), J.email.trim() === \"\" ? T.email = o.magiclineRequiredError : _a(J.email) || (T.email = o.magiclineEmailError), J.dateOfBirth.trim() === \"\" && (T.dateOfBirth = o.magiclineRequiredError), J.gender === \"\" && (T.gender = o.magiclineRequiredError), J.phone.trim() === \"\" && (T.phone = o.magiclineRequiredError), T;\n }\n if (I === \"address\") {\n const J = d.address;\n return J.street.trim() === \"\" && (T.street = o.magiclineRequiredError), J.houseNumber.trim() === \"\" && (T.houseNumber = o.magiclineRequiredError), J.zipCode.trim() === \"\" && (T.zipCode = o.magiclineRequiredError), J.city.trim() === \"\" && (T.city = o.magiclineRequiredError), T;\n }\n return I === \"payment\" && (d.payment.accountHolder.trim() === \"\" && (T.accountHolder = o.magiclineRequiredError), Ed(d.payment.iban) || (T.iban = o.magiclineIbanInvalidError), d.consents.privacy || (T.privacy = o.magiclineConsentError), d.consents.sepa || (T.sepa = o.magiclineConsentError)), T;\n }\n function Na() {\n const I = qa(je);\n if (Object.keys(I).length > 0) {\n Ct(I);\n return;\n }\n Ct({}), j(null);\n const T = Math.min(lt + 1, F.length - 1);\n F[T] === \"review\" && Qe(), fe(T);\n }\n function Ma() {\n Ct({}), j(null), je === \"review\" && ot(), fe((I) => Math.max(I - 1, 0));\n }\n function La() {\n j(null), Qe();\n }\n async function Oa() {\n if (!te && !(f.phase !== \"ready\" || p === null)) {\n if (!b) {\n j(o.magiclineConfirmRequiredError);\n return;\n }\n _e(!0), j(null);\n try {\n const I = await l({\n sessionId: e,\n visitorId: n,\n projectId: r,\n formMessageId: t,\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n phone: d.personal.phone.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim(),\n rateBundleTermId: p.termId,\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa\n },\n bankAccount: {\n accountHolder: d.payment.accountHolder.trim(),\n iban: d.payment.iban\n },\n // Only modules still offered by the selected term are sent.\n selectedModuleIds: p.optionalModules.filter((T) => d.selectedModuleIds.includes(T.id)).map((T) => T.id),\n // Required text-block + selected-module consent ackKeys (the submit\n // button is gated on all of these being ticked).\n acknowledgedAckKeys: g,\n pricingFingerprint: f.pricing.fingerprint,\n voucherCode: B ?? void 0\n });\n if (I.status === \"succeeded\") {\n st(I);\n return;\n }\n if (I.errorCode === \"price_changed\") {\n j(o.magiclinePriceChangedNotice), Qe(), _e(!1);\n return;\n }\n if (I.errorCode === \"offer_unavailable\") {\n jt(), Ve(), ot(), j(o.magiclineOfferUnavailableNotice), fe(0), _e(!1);\n return;\n }\n if (I.errorCode === \"confirmation_required\") {\n j(o.magiclineConfirmationRequiredNotice), _e(!1);\n return;\n }\n if (I.errorCode === \"live_submission_disabled\") {\n st(I);\n return;\n }\n if (!I.retryable) {\n st(I);\n return;\n }\n W(), j(I.message !== \"\" ? I.message : o.magiclineFailedDetail), _e(!1);\n } catch (I) {\n console.error(\"[ContractCreationForm] Submit failed:\", I), W(), j(o.magiclineFailedDetail), _e(!1);\n }\n }\n }\n async function za() {\n if (f.phase !== \"ready\" || p === null || v.trim() === \"\")\n return;\n const I = v.trim(), T = St();\n We(null);\n const J = (X) => {\n ke(), He(\"\"), We(X);\n }, Ke = o.magiclineVoucherInvalid.replace(\"{code}\", I);\n try {\n const X = await c({\n sessionId: e,\n visitorId: n,\n termId: p.termId,\n startDate: p.defaultContractStartDate ?? \"\",\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n phone: d.personal.phone.trim(),\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim()\n },\n selectedModuleIds: p.optionalModules.filter((Ge) => d.selectedModuleIds.includes(Ge.id)).map((Ge) => Ge.id),\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa,\n voucherCode: v.trim()\n });\n if (X.status === \"ok\") {\n const Ge = X.voucher;\n if (Ge !== null) {\n const Va = Ge.textBlocks.map((Qa) => Qa.ackKey);\n at({\n requestId: T,\n voucher: Ge,\n appliedCode: v.trim(),\n voucherAckKeys: Va,\n // Thread the voucher-inclusive pricing from this same response so\n // previewState.pricing.fingerprint is updated atomically. Without\n // this the submitted fingerprint is the base (no-voucher) one and\n // the backend always returns price_changed.\n pricing: {\n basePrice: X.basePrice,\n preUseCharge: X.preUseCharge,\n currencyCode: X.currencyCode,\n flatFees: X.flatFees,\n modules: X.modules,\n contractVolume: X.contractVolume,\n startDate: X.startDate,\n paymentFrequency: X.paymentFrequency,\n fingerprint: X.pricingFingerprint\n }\n });\n } else\n J(Ke);\n } else X.status === \"voucher_invalid\" ? J(Ke) : X.status === \"voucher_disabled\" ? (Q(), He(\"\"), We(o.magiclineVoucherDisabled)) : J(Ke);\n } catch {\n J(Ke);\n }\n }\n function Ba() {\n Dr ? Oa() : Na();\n }\n const Fr = wh(je, o), Da = m === \"applying\" || v.trim() !== \"\" && v.trim() !== (B ?? \"\"), Fa = je === \"review\" && (f.phase !== \"ready\" || !b || Da), Ua = te || Fa;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineContractTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: Fr }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: o.magiclineStepCounter.replace(\"{n}\", String(lt + 1)).replace(\"{total}\", String(F.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: F.map((I, T) => /* @__PURE__ */ s(\n \"span\",\n {\n class: T === lt ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n I\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": Fr, children: [\n je === \"offer\" ? /* @__PURE__ */ s(\n ch,\n {\n offersState: h,\n selectedTermId: d.termId,\n widgetLocale: a,\n disabled: te,\n error: Ne.termId,\n onSelect: N,\n onRetry: Ve\n }\n ) : null,\n je === \"upgrades\" && p !== null ? /* @__PURE__ */ s(\n hh,\n {\n modules: p.optionalModules,\n selectedModuleIds: d.selectedModuleIds,\n acknowledgedBlocks: d.acknowledgedBlocks,\n widgetLocale: a,\n disabled: te,\n error: Ne.upgrades,\n onToggle: re,\n onAck: ie\n }\n ) : null,\n je === \"personal\" ? /* @__PURE__ */ s(\n fh,\n {\n personal: d.personal,\n errors: Ne,\n disabled: te,\n setPersonal: D\n }\n ) : null,\n je === \"address\" ? /* @__PURE__ */ s(\n mh,\n {\n address: d.address,\n errors: Ne,\n disabled: te,\n setAddress: ne\n }\n ) : null,\n je === \"payment\" ? /* @__PURE__ */ s(\n gh,\n {\n formMessageId: t,\n fields: d,\n errors: Ne,\n privacyUrl: qn,\n disabled: te,\n setAccountHolder: H,\n setIban: Z,\n setConsent: y\n }\n ) : null,\n je === \"review\" ? /* @__PURE__ */ s(\n xh,\n {\n fields: d,\n term: p,\n previewState: f,\n widgetLocale: a,\n disabled: te,\n acknowledgedBlocks: d.acknowledgedBlocks,\n onToggleAck: ie,\n onRetry: La,\n allowVoucherCodes: x,\n voucherUnavailable: L,\n voucherStatus: m,\n draftVoucherCode: v,\n appliedVoucher: S,\n voucherBanner: Me,\n onVoucherDraftChange: He,\n onApplyVoucher: () => {\n za();\n }\n }\n ) : null,\n w !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: w }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n $a ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: te,\n onClick: Ma,\n children: o.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: Ua,\n onClick: Ba,\n children: Dr ? te ? o.magiclineSubmitting : o.magiclineSubmit : o.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction Ui({ customerNumber: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineContractSubmitted }),\n t !== null && t !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineCustomerNumber.replace(\"{number}\", t) }) : null\n ] })\n ] });\n}\nfunction Vi({ message: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: t })\n ] })\n ] });\n}\nfunction ch({\n offersState: t,\n selectedTermId: e,\n widgetLocale: n,\n disabled: r,\n error: i,\n onSelect: o,\n onRetry: a\n}) {\n const l = _();\n if (t.phase === \"loading\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: l.magiclineOffersLoading });\n if (t.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineOffersError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: r, onClick: a, children: l.magiclineRetry })\n ] });\n if (t.phase === \"empty\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineNoOffers });\n const c = yh(t.terms);\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": l.magiclineStepOffer, children: c.map((u) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-group\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-name\", children: u.bundleName }),\n u.bundleDescription !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-desc\", children: u.bundleDescription }) : null,\n u.terms.map((d) => /* @__PURE__ */ s(\n uh,\n {\n term: d,\n checked: e === d.termId,\n widgetLocale: n,\n disabled: r,\n onSelect: o\n },\n d.termId\n )),\n /* @__PURE__ */ s(\n dh,\n {\n subDescription: u.bundleSubDescription,\n footnote: u.footnote\n }\n )\n ] }, u.bundleId)) }),\n i !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: i }) : null\n ] });\n}\nfunction uh({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {\n const o = _(), a = Cn(t.termValue, t.termUnit, n), l = ye(t.price, t.currencyCode, n), c = t.flatFees.find((d) => d.isStarterPackage), u = t.flatFees.filter((d) => !d.isStarterPackage);\n return /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: \"jex-ml-offer\",\n checked: e,\n disabled: r,\n onChange: () => {\n i(t.termId);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-head\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-length\", children: a }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-price\", children: [\n l,\n \" \",\n Br(\n t.paymentFrequency.value,\n t.paymentFrequency.unit,\n n\n )\n ] })\n ] }),\n t.cancellationPeriod !== null ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineCancellationPeriod,\n \":\",\n \" \",\n Cn(\n t.cancellationPeriod.value,\n t.cancellationPeriod.unit,\n n\n )\n ] }) : null,\n c !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineStarterPackage,\n \":\",\n \" \",\n ye(c.price, t.currencyCode, n)\n ] }) : null,\n u.map((d) => /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n Ta(d.name, o),\n \": \",\n ye(d.price, t.currencyCode, n)\n ] }, d.name)),\n t.includedModuleNames.length > 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineIncludedModules,\n \": \",\n t.includedModuleNames.join(\", \")\n ] }) : null\n ] })\n ]\n }\n );\n}\nfunction dh({ subDescription: t, footnote: e }) {\n const n = _(), r = vh(t), i = e !== null && e.trim() !== \"\";\n return r.length === 0 && !i ? null : /* @__PURE__ */ s(\"details\", { class: \"jex-magicline-bundle-details\", children: [\n /* @__PURE__ */ s(\"summary\", { class: \"jex-magicline-bundle-details-summary\", children: n.magiclineDetails }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-bundle-details-body\", children: [\n r.length > 0 ? /* @__PURE__ */ s(\"ul\", { class: \"jex-magicline-bundle-details-list\", children: r.map((o, a) => /* @__PURE__ */ s(\"li\", { children: o }, `${a}-${o}`)) }) : null,\n i ? /* @__PURE__ */ s(\"p\", { class: \"jex-magicline-bundle-details-footnote\", children: e }) : null\n ] })\n ] });\n}\nfunction hh({\n modules: t,\n selectedModuleIds: e,\n acknowledgedBlocks: n,\n widgetLocale: r,\n disabled: i,\n error: o,\n onToggle: a,\n onAck: l\n}) {\n const c = _();\n return t.length === 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesIntro }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrade-group\", children: t.map((u) => /* @__PURE__ */ s(\n ph,\n {\n module: u,\n selected: e.includes(u.id),\n consentChecked: u.consent !== null && n[u.consent.ackKey] === !0,\n widgetLocale: r,\n disabled: i,\n onToggle: a,\n onAck: l\n },\n u.id\n )) }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction ph({\n module: t,\n selected: e,\n consentChecked: n,\n widgetLocale: r,\n disabled: i,\n onToggle: o,\n onAck: a\n}) {\n const l = _(), c = qd(\n t.price,\n t.currencyCode,\n t.paymentFrequencyType,\n t.recurringUnit,\n r\n ), u = Ld(t.extensionType, t.termExtension, r), d = t.termLabel !== null && t.termLabel !== \"\" ? t.termLabel : l.magiclineUpgradeOneTime, h = t.consent;\n return /* @__PURE__ */ s(\"div\", { class: e ? \"jex-magicline-upgrade-card jex-magicline-upgrade-card-active\" : \"jex-magicline-upgrade-card\", children: [\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-upgrade-head\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"checkbox\",\n checked: e,\n disabled: i,\n onChange: (f) => {\n o(t.id, f.currentTarget.checked, h?.ackKey);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-info\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-name\", children: t.name }),\n t.description !== null && t.description !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: t.description }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-price\", children: c }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: d }),\n u !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: u }) : null\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-status\", children: e ? l.magiclineUpgradeAdded : l.magiclineUpgradeAdd })\n ] }),\n e && h !== null ? /* @__PURE__ */ s(\n fr,\n {\n ackKey: h.ackKey,\n title: h.title,\n text: h.text,\n attachmentLabel: h.attachmentLabel,\n attachmentUrl: h.attachmentUrl,\n checked: n,\n disabled: i,\n onToggle: a,\n showRequiredPill: !0\n }\n ) : null\n ] });\n}\nfunction fh({ personal: t, errors: e, disabled: n, setPersonal: r }) {\n const i = _(), o = Y(() => ja(), []);\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineFirstName,\n value: t.firstName,\n required: !0,\n disabled: n,\n error: e.firstName,\n fieldKey: \"firstName\",\n onInput: (a) => {\n r(\"firstName\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineLastName,\n value: t.lastName,\n required: !0,\n disabled: n,\n error: e.lastName,\n fieldKey: \"lastName\",\n onInput: (a) => {\n r(\"lastName\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineEmail,\n type: \"email\",\n value: t.email,\n required: !0,\n disabled: n,\n error: e.email,\n fieldKey: \"email\",\n onInput: (a) => {\n r(\"email\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineBirthDate }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": i.magiclineBirthDate,\n value: t.dateOfBirth,\n max: o,\n required: !0,\n disabled: n,\n \"aria-invalid\": e.dateOfBirth !== void 0,\n onInput: (a) => {\n r(\"dateOfBirth\", a.currentTarget.value);\n }\n }\n ),\n e.dateOfBirth !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: e.dateOfBirth }) : null\n ] }),\n /* @__PURE__ */ s(\n bh,\n {\n label: i.magiclineGender,\n value: t.gender,\n required: !0,\n disabled: n,\n placeholder: i.magiclineGenderPlaceholder,\n error: e.gender,\n onChange: (a) => {\n r(\"gender\", a);\n },\n options: Ra.map((a) => ({ value: a, label: kh(a, i) }))\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclinePhone,\n type: \"tel\",\n value: t.phone,\n required: !0,\n disabled: n,\n error: e.phone,\n fieldKey: \"phone\",\n onInput: (a) => {\n r(\"phone\", a);\n }\n }\n )\n ] });\n}\nfunction mh({ address: t, errors: e, disabled: n, setAddress: r }) {\n const i = _();\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineStreet,\n value: t.street,\n required: !0,\n disabled: n,\n error: e.street,\n fieldKey: \"street\",\n onInput: (o) => {\n r(\"street\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineHouseNumber,\n value: t.houseNumber,\n required: !0,\n disabled: n,\n error: e.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (o) => {\n r(\"houseNumber\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineZip,\n value: t.zipCode,\n required: !0,\n disabled: n,\n error: e.zipCode,\n fieldKey: \"zipCode\",\n onInput: (o) => {\n r(\"zipCode\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: i.magiclineCity,\n value: t.city,\n required: !0,\n disabled: n,\n error: e.city,\n fieldKey: \"city\",\n onInput: (o) => {\n r(\"city\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineCountry }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-static-value\", children: i.magiclineCountryStatic })\n ] })\n ] });\n}\nfunction gh({\n formMessageId: t,\n fields: e,\n errors: n,\n privacyUrl: r,\n disabled: i,\n setAccountHolder: o,\n setIban: a,\n setConsent: l\n}) {\n const c = _(), u = `jex-ml-privacy-${t}`, d = `jex-ml-sepa-${t}`;\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\n Ae,\n {\n label: c.magiclineAccountHolder,\n value: e.payment.accountHolder,\n required: !0,\n disabled: i,\n error: n.accountHolder,\n fieldKey: \"accountHolder\",\n onInput: o\n }\n ),\n /* @__PURE__ */ s(\n Ae,\n {\n label: c.magiclineIban,\n value: e.payment.iban,\n required: !0,\n disabled: i,\n error: n.iban,\n fieldKey: \"iban\",\n onInput: a\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: u, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: u,\n type: \"checkbox\",\n checked: e.consents.privacy,\n disabled: i,\n \"aria-invalid\": n.privacy !== void 0,\n onChange: (h) => {\n l(\"privacy\", h.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n c.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: c.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: e.consents.sepa,\n disabled: i,\n \"aria-invalid\": n.sepa !== void 0,\n onChange: (h) => {\n l(\"sepa\", h.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: c.magiclineSepaConsent })\n ] }),\n n.privacy !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.privacy }) : null,\n n.sepa !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.sepa }) : null\n ] });\n}\nfunction xh({\n fields: t,\n term: e,\n previewState: n,\n widgetLocale: r,\n disabled: i,\n acknowledgedBlocks: o,\n onToggleAck: a,\n onRetry: l,\n allowVoucherCodes: c,\n voucherUnavailable: u,\n voucherStatus: d,\n draftVoucherCode: h,\n appliedVoucher: f,\n voucherBanner: p,\n onVoucherDraftChange: g,\n onApplyVoucher: b\n}) {\n const x = _();\n if (n.phase === \"loading\" || n.phase === \"idle\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: x.magiclineReviewLoading });\n if (n.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: n.code === \"offer_unavailable\" ? x.magiclineOfferUnavailableNotice : x.magiclineReviewError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: i, onClick: l, children: x.magiclineRetry })\n ] });\n const m = n.pricing, v = n.phase === \"reloading\", S = m.contractVolume, B = `${t.personal.firstName} ${t.personal.lastName}`.trim(), L = t.address, N = [\n `${L.street} ${L.houseNumber}`.trim(),\n `${L.zipCode} ${L.city}`.trim(),\n x.magiclineCountryStatic\n ].filter((y) => y !== \"\").join(\", \"), D = e !== null ? `${e.bundleName} · ${Cn(e.termValue, e.termUnit, r)}` : \"—\", ne = e !== null ? e.textBlocks.filter((y) => y.isConfirmationRequired) : [], re = e !== null ? e.textBlocks.filter((y) => !y.isConfirmationRequired) : [], ie = e !== null ? e.optionalModules.filter((y) => t.selectedModuleIds.includes(y.id) && y.consent !== null).map((y) => ({ module: y, consent: y.consent })) : [], H = f !== null ? f.textBlocks.filter((y) => y.ackKey.startsWith(\"voucher:\")) : [], Z = c && !u;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-wrap\", children: [\n /* @__PURE__ */ s(\n \"div\",\n {\n class: v ? \"jex-magicline-review-body jex-magicline-review-body--reloading\" : \"jex-magicline-review-body\",\n \"aria-busy\": v,\n children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewOffer }),\n /* @__PURE__ */ s(\"dd\", { children: D })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewBasePrice }),\n /* @__PURE__ */ s(\"dd\", { children: [\n f !== null && f.voucherType === \"DISCOUNT\" ? ye(f.discountedBasePrice, m.currencyCode, r) : ye(m.basePrice, m.currencyCode, r),\n \" \",\n Br(\n m.paymentFrequency.value,\n m.paymentFrequency.unit,\n r\n )\n ] })\n ] }),\n f !== null && f.voucherType === \"DISCOUNT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-discount-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineVoucherAppliedDiscount.replace(\n \"{discount}\",\n Nd(\n f.discountValue,\n f.discountType,\n m.currencyCode,\n r\n )\n ) }),\n /* @__PURE__ */ s(\"dd\", {})\n ] }) : null,\n f !== null && f.remarks !== null && f.remarks !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-remarks-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineVoucherRemarks }),\n /* @__PURE__ */ s(\"dd\", { children: f.remarks })\n ] }) : null,\n m.flatFees.map((y, W) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: Ta(y.name, x) }),\n /* @__PURE__ */ s(\"dd\", { children: ye(y.price, m.currencyCode, r) })\n ] }, `${y.name}-${W}`)),\n m.preUseCharge > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewPreUseCharge }),\n /* @__PURE__ */ s(\"dd\", { children: ye(m.preUseCharge, m.currencyCode, r) })\n ] }) : null\n ] }),\n m.modules.length > 0 ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-heading\", children: x.magiclineReviewSelectedUpgrades }),\n m.modules.map((y, W) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: y.name }),\n /* @__PURE__ */ s(\"dd\", { children: ye(y.amount, y.currencyCode, r) })\n ] }, `${y.moduleId}-${W}`))\n ] }) : null,\n S !== null && S.total !== null ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section jex-magicline-summary-totals\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-summary-total-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: f !== null && f.voucherType === \"DISCOUNT\" ? x.magiclineGesamtpreisBeforeDiscount : x.magiclineReviewContractVolume }),\n /* @__PURE__ */ s(\"dd\", { children: ye(S.total, m.currencyCode, r) })\n ] }) }) : null,\n f !== null && f.voucherType === \"CREDIT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-credit-notice\", role: \"note\", children: x.magiclineVoucherCreditNotice }) : null,\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewStartsOn }),\n /* @__PURE__ */ s(\"dd\", { children: $d(m.startDate, r) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: B !== \"\" ? B : \"—\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineSummaryAddress }),\n /* @__PURE__ */ s(\"dd\", { children: N })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: x.magiclineReviewPayment }),\n /* @__PURE__ */ s(\"dd\", { children: Pd(t.payment.iban) })\n ] })\n ] }),\n Z ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field jex-magicline-voucher-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n \"aria-label\": x.magiclineVoucherLabel,\n placeholder: x.magiclineVoucherPlaceholder,\n value: h,\n disabled: i || d === \"applying\",\n onInput: (y) => {\n g(y.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-voucher-apply\",\n disabled: i || d === \"applying\" || h.trim() === \"\",\n onClick: b,\n children: x.magiclineVoucherApply\n }\n )\n ] }),\n p !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: p }) : null\n ] }) : null,\n ie.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": x.magiclineReviewSelectedUpgrades, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrades-recap-title\", children: x.magiclineReviewSelectedUpgrades }),\n ie.map(({ module: y, consent: W }) => /* @__PURE__ */ s(\n Qi,\n {\n title: W.title !== \"\" ? W.title : y.name,\n text: W.text,\n attachmentLabel: W.attachmentLabel,\n attachmentUrl: W.attachmentUrl\n },\n W.ackKey\n ))\n ] }) : null,\n ne.length > 0 || re.length > 0 || H.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": x.magiclineReviewTerms, children: [\n ne.length > 0 || H.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms-prompt\", children: [\n x.magiclineConfirmPrompt,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: x.magiclineRequired })\n ] }) : null,\n ne.map((y) => /* @__PURE__ */ s(\n fr,\n {\n ackKey: y.ackKey,\n title: y.title,\n text: y.text,\n attachmentLabel: y.attachmentLabel,\n attachmentUrl: y.attachmentUrl,\n checked: o[y.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n y.ackKey\n )),\n H.map((y) => /* @__PURE__ */ s(\n fr,\n {\n ackKey: y.ackKey,\n title: y.title,\n text: y.text,\n attachmentLabel: y.attachmentLabel,\n attachmentUrl: y.attachmentUrl,\n checked: o[y.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n y.ackKey\n )),\n re.map((y, W) => /* @__PURE__ */ s(\n Qi,\n {\n title: y.title,\n text: y.text,\n attachmentLabel: y.attachmentLabel,\n attachmentUrl: y.attachmentUrl\n },\n `${y.title}-${W}`\n ))\n ] }) : null\n ]\n }\n ),\n v ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-overlay\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-review-spinner\" }) }) : null\n ] });\n}\nfunction fr({\n ackKey: t,\n title: e,\n text: n,\n attachmentLabel: r,\n attachmentUrl: i,\n checked: o,\n disabled: a,\n onToggle: l,\n showRequiredPill: c = !1\n}) {\n const u = _(), d = `jex-ml-ack-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-region\", children: [\n c ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: u.magiclineRequired }) : null,\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: o,\n disabled: a,\n onChange: (h) => {\n l(t, h.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-consent-body\", children: [\n e !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: e }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n n,\n i !== null ? /* @__PURE__ */ s(O, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: i, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r !== null && r !== \"\" ? r : i })\n ] }) : null\n ] })\n ] })\n ] })\n ] });\n}\nfunction Qi({ title: t, text: e, attachmentLabel: n, attachmentUrl: r }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-recap\", children: [\n t !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: t }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n e,\n r !== null ? /* @__PURE__ */ s(O, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: n !== null && n !== \"\" ? n : r })\n ] }) : null\n ] })\n ] });\n}\nfunction Ae({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction bh({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction vh(t) {\n return t === null ? [] : t.split(`\n`).map((e) => e.replace(/^\\s*[-•]\\s*/, \"\").trim()).filter((e) => e !== \"\");\n}\nfunction yh(t) {\n const e = [], n = /* @__PURE__ */ new Map();\n for (const r of t) {\n let i = n.get(r.bundleId);\n i || (i = {\n bundleId: r.bundleId,\n bundleName: r.bundleName,\n bundleDescription: r.bundleDescription,\n bundleSubDescription: r.bundleSubDescription,\n footnote: r.footnote,\n terms: []\n }, n.set(r.bundleId, i), e.push(i)), i.terms.push(r);\n }\n return e;\n}\nfunction wh(t, e) {\n switch (t) {\n case \"offer\":\n return e.magiclineStepOffer;\n case \"upgrades\":\n return e.magiclineStepUpgrades;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"payment\":\n return e.magiclineStepPayment;\n case \"review\":\n return e.magiclineStepReview;\n default:\n return \"\";\n }\n}\nfunction kh(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction _h({ message: t, sessionId: e, visitorId: n }) {\n const r = _(), i = t.magiclineForm, o = !!i && i.status === \"open\" && !!i.submissionId, a = rr(\n pe.functions.magicline.public.getSubmissionStatus,\n o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : \"skip\"\n );\n if (!i)\n return null;\n if (i.action === \"contractCreation\")\n return t.projectId ? /* @__PURE__ */ s(\n lh,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n projectId: t.projectId,\n formStatus: i.status\n }\n ) : null;\n if (i.status === \"submitted\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineSubmittedDetail })\n ] })\n ] });\n if (i.status === \"failed\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineFailedDetail })\n ] })\n ] });\n if (i.action !== \"trialSessionBooking\")\n return null;\n const l = a != null && a.errorCode === \"slot_unavailable\", c = o && a === void 0;\n return /* @__PURE__ */ s(\n Ud,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n slotUnavailable: l,\n retryPending: c\n }\n );\n}\nconst jh = {\n crawl: \"🌐\",\n file: \"📄\",\n snippet: \"💡\",\n qa: \"❓\"\n};\nfunction Sh({ sources: t }) {\n const e = _(), [n, r] = A(!1);\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-sources-row\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-sources-toggle\",\n onClick: () => {\n r((i) => !i);\n },\n \"aria-expanded\": n,\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-sources-icon\", children: \"📖\" }),\n /* @__PURE__ */ s(\"span\", { children: (t.length === 1 ? e.sourcesCountOne : e.sourcesCountOther).replace(\n \"{count}\",\n String(t.length)\n ) }),\n /* @__PURE__ */ s(\"span\", { class: `jex-sources-chevron${n ? \" jex-sources-chevron--open\" : \"\"}`, children: \"▾\" })\n ]\n }\n ),\n n ? /* @__PURE__ */ s(\"div\", { class: \"jex-sources-pills\", children: t.map((i, o) => {\n const a = i.sourceType === \"crawl\", l = Ch(i), c = a && i.url ? `${i.title}\n${i.url}` : i.title, u = /* @__PURE__ */ s(O, { children: [\n typeof i.id == \"number\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-source-id\", children: i.id }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-type\", children: jh[i.sourceType] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-label\", children: l }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-score\", children: [\n \"· \",\n i.score.toFixed(2)\n ] })\n ] });\n return a && i.url ? /* @__PURE__ */ s(\n \"a\",\n {\n class: \"jex-source-pill\",\n href: i.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n title: c,\n children: u\n },\n o\n ) : /* @__PURE__ */ s(\"span\", { class: \"jex-source-pill\", title: c, children: u }, o);\n }) }) : null\n ] });\n}\nfunction Ch(t) {\n if (t.sourceType === \"crawl\" && t.url)\n try {\n const e = new URL(t.url);\n return !e.pathname || e.pathname === \"/\" ? e.hostname : e.pathname;\n } catch {\n }\n return t.title;\n}\nfunction Th() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-typing\", children: [\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {})\n ] });\n}\nconst Rh = /\\s?\\[\\d+\\]/g;\nfunction Hi(t) {\n return t.replace(Rh, \"\");\n}\nfunction Ah({ conversations: t, greeting: e, botName: n, starterQuestions: r, onPickStarter: i, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {\n const d = _(), h = Ee(null), [f, p] = A(null), g = Ee(null);\n P(() => {\n if (!u || !t || t.length === 0)\n return;\n const m = t[t.length - 1];\n m.role === \"assistant\" && m.status !== \"streaming\" && m._id !== g.current && (g.current = m._id, Rr(u));\n }, [t, u]), P(() => {\n h.current?.scrollIntoView({ behavior: \"smooth\" });\n }, [t?.length, t?.at(-1)?.content]);\n const b = c === null || t !== void 0 && t.length === 0, x = r.length > 0 && !o && !a && b;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: [\n /* @__PURE__ */ s(ut, { text: e, botName: n }),\n x ? /* @__PURE__ */ s(\n xd,\n {\n questions: r,\n disabled: dn.value,\n onPick: i\n }\n ) : null,\n o && a && l ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: d.sessionNotFoundPrompt }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-session-prompt-btn\",\n type: \"button\",\n onClick: () => {\n l();\n },\n children: d.startNewConversation\n }\n )\n ] }) : o ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: d.sessionNotFound }) : null,\n t?.map((m) => {\n if (m.contentType === \"human-notice\") {\n const S = m.noticeKind === \"agent-joined\" ? d.noticeAgentJoined.replace(\"{name}\", m.noticeData?.agentName ?? \"\") : m.noticeKind === \"human-requested\" ? d.noticeHumanRequested : m.noticeKind === \"human-requested-form\" ? d.noticeHumanRequestedForm : m.noticeKind === \"message-received\" ? d.noticeMessageReceived : m.noticeKind === \"agent-handling\" ? d.noticeAgentHandling : m.content;\n return /* @__PURE__ */ s(ut, { text: S, botName: n }, m._id);\n }\n if (m.contentType === \"escalation-form\" && c && u)\n return Lc.value === \"screen\" && !m.formData ? f === m._id ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-inline-form-card\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: d.escalationPromptTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-subtitle\", children: d.escalationPromptSubtitle }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"button\",\n onClick: () => {\n Xe({ id: \"escalation-form\", formMessageId: m._id, sessionId: c, visitorId: u });\n },\n children: d.escalationPromptSubmit\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-escalation-skip\",\n type: \"button\",\n onClick: () => {\n p(m._id);\n },\n children: d.escalationSkip\n }\n )\n ] }, m._id) : /* @__PURE__ */ s(vd, { message: m, sessionId: c, visitorId: u }, m._id);\n if (m.contentType === \"magicline-form\" && c && u)\n return /* @__PURE__ */ s(_h, { message: m, sessionId: c, visitorId: u }, m._id);\n if (m.contentType === \"escalation-confirm\") {\n const S = m.noticeKind === \"escalation-confirmed\" ? d.noticeEscalationConfirmed.replace(\"{name}\", m.noticeData?.visitorName ?? \"\").replace(\"{email}\", m.noticeData?.visitorEmail ?? \"\").replace(\"{ref}\", m.noticeData?.visitorId ?? \"\") : m.content;\n return /* @__PURE__ */ s(ut, { text: S, botName: n }, m._id);\n }\n if (m.role === \"user\")\n return /* @__PURE__ */ s(bd, { text: m.content }, m._id);\n const v = {\n authorId: m.authorId,\n authorName: m.authorName,\n authorImage: m.authorImage\n };\n return m.status === \"streaming\" && m.content === \"\" ? /* @__PURE__ */ s(Th, {}, m._id) : m.status === \"streaming\" ? /* @__PURE__ */ s(ut, { text: Hi(m.content), streaming: !0, botName: n, ...v }, m._id) : m.status === \"error\" ? /* @__PURE__ */ s(\n ut,\n {\n text: m.errorMessage ?? `${d.somethingWentWrong}. ${d.tryAgain}.`,\n error: !0,\n botName: n,\n ...v\n },\n m._id\n ) : /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(ut, { text: Hi(m.content), botName: n, ...v }),\n m.sources && m.sources.length > 0 ? /* @__PURE__ */ s(Sh, { sources: m.sources }) : null\n ] }, m._id);\n }),\n /* @__PURE__ */ s(\"div\", { ref: h })\n ] });\n}\nfunction Ea({ message: t }) {\n const [e, n] = A(!1);\n return P(() => {\n const r = setTimeout(() => {\n n(!0);\n }, 80);\n return () => {\n clearTimeout(r);\n };\n }, []), e ? /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-loading\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-loading-spinner\", \"aria-hidden\": \"true\" }),\n t && /* @__PURE__ */ s(\"p\", { class: \"jex-loading-message\", children: t })\n ] }) : null;\n}\nfunction Ih({ sessionId: t, visitorId: e }) {\n const n = rr(\n pe.functions.chat.public.conversations.listBySession,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), r = rr(\n pe.functions.chat.public.sessions.getSessionStatus,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), i = t !== null && n === void 0, o = n?.some((a) => a.status === \"streaming\") ?? !1;\n return {\n conversations: n,\n sessionStatus: r ?? null,\n isLoading: i,\n isStreaming: o\n };\n}\nfunction Eh({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: d }) {\n const h = _(), { conversations: f, sessionStatus: p, isLoading: g, isStreaming: b } = Ih({ sessionId: r, visitorId: i }), x = ua({ sessionId: r, visitorId: i, ensureSession: u }), m = Ee(\n (() => {\n const S = Lt.peek();\n return S !== null ? S : Tr.peek() && $e.peek() !== null ? \"resume\" : \"fresh\";\n })()\n ).current;\n return P(() => {\n Lt.value = null;\n }, []), P(() => {\n $e.peek() !== null && u();\n }, [u]), P(() => {\n i && Rr(i);\n }, [i]), c ? /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: h.chatNoLongerAvailable }) }) : m === \"resume\" && (!r || g) ? /* @__PURE__ */ s(Ea, { message: h.resumeConversation }) : /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\n Ah,\n {\n conversations: f,\n greeting: t,\n botName: e,\n starterQuestions: n,\n onPickStarter: (S) => {\n x(S);\n },\n sessionNotFound: a,\n resumeFailed: l,\n onStartFresh: d,\n sessionId: r,\n visitorId: i\n }\n ),\n /* @__PURE__ */ s(\n yu,\n {\n sessionId: r,\n visitorId: i,\n isLoading: o,\n isStreaming: b,\n sessionStatus: p,\n ensureSession: u,\n onStartFresh: d\n }\n )\n ] });\n}\nfunction Ph({ formMessageId: t, sessionId: e, visitorId: n }) {\n const r = _(), i = en.value, o = /^https?:\\/\\//i.test(i) ? i : Xt, [a, l] = A(\"\"), [c, u] = A(\"\"), d = wa(), [h, f] = A(!1), [p, g] = A(null);\n async function b(x) {\n x.preventDefault(), f(!0), g(null);\n try {\n await d({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: a.trim(),\n visitorEmail: c.trim(),\n locale: qe.value\n }), yn();\n } catch (m) {\n console.error(\"[EscalationFormScreen] Submit failed:\", m), g(r.escalationSubmitFailed);\n } finally {\n f(!1);\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-escalation-subtitle\", children: r.escalationSubtitle }),\n p && /* @__PURE__ */ s(\"div\", { class: \"jex-form-error\", role: \"alert\", children: p }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (x) => {\n b(x);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: a,\n required: !0,\n onInput: (x) => {\n l(x.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: c,\n required: !0,\n onInput: (x) => {\n u(x.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", disabled: h, children: r.escalationSubmit })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", style: { textAlign: \"center\", margin: \"16px 0 8px 0\" }, children: [\n r.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: o, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r.escalationPrivacyLinkText }),\n \".\"\n ] }),\n /* @__PURE__ */ s(\"button\", { class: \"jex-escalation-skip\", type: \"button\", onClick: () => {\n yn();\n }, children: r.escalationSkip })\n ] });\n}\nfunction $h() {\n return Yt(pe.functions.chat.public.helpdesk.createEscalationRequest);\n}\nfunction Wi({ sessionId: t, visitorId: e, ensureSession: n }) {\n const r = _(), [i, o] = A(!1), [a, l] = A(null), c = $h();\n async function u() {\n if (!i) {\n o(!0), l(null);\n try {\n const d = t && e ? { sessionId: t, visitorId: e } : await n();\n if (!d)\n return;\n const h = Fe.value;\n if (!h)\n return;\n const f = await c({\n sessionId: d.sessionId,\n visitorId: d.visitorId,\n bootstrapToken: h,\n locale: qe.value\n });\n if (f.skipForm)\n return;\n Xe({ id: \"escalation-form\", formMessageId: f.formMessageId, sessionId: d.sessionId, visitorId: d.visitorId });\n } catch (d) {\n const h = d instanceof Error ? d.message : String(d);\n l(/RATE_LIMITED|Too many/.test(h) ? r.handoffRateLimited : r.handoffFailed);\n } finally {\n o(!1);\n }\n }\n }\n return /* @__PURE__ */ s(O, { children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-handoff\",\n type: \"button\",\n onClick: () => {\n u();\n },\n disabled: i,\n \"aria-label\": r.talkToHumanAria,\n title: r.talkToHuman,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M3 14v-3a9 9 0 0 1 18 0v3\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M3 14a2 2 0 0 0 2 2h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14v3a4 4 0 0 1-4 4h-3\" })\n ] })\n }\n ),\n a && /* @__PURE__ */ s(\"div\", { class: \"jex-handoff-error\", role: \"alert\", children: a })\n ] });\n}\nasync function qh() {\n const t = Yo.value;\n if (!t)\n return console.warn(\"[JexityChat] Bootstrap refresh skipped — inputs missing\"), { ok: !1, reason: \"no-inputs\" };\n const e = await Zo(t.orgSlug, t.siteUrl, t.projSlug);\n if (!e.ok)\n return console.warn(\"[JexityChat] Bootstrap refresh failed:\", e.error), { ok: !1, reason: e.error };\n const n = e.token;\n return Fe.value = n, { ok: !0, token: n };\n}\nfunction Ki(t) {\n return Pa(t) ? \"unauthorized\" : t instanceof Error && /network|fetch|failed to fetch/i.test(t.message) ? \"network\" : \"unknown\";\n}\nfunction Pa(t) {\n return t instanceof pn ? t.data?.code === \"UNAUTHORIZED_ORIGIN\" : !1;\n}\nfunction Nh(t = 1e4) {\n return Fe.value ? Promise.resolve(Fe.value) : new Promise((e) => {\n let n = !1;\n const r = (a) => {\n n || (n = !0, clearTimeout(i), o(), e(a));\n }, i = setTimeout(() => {\n r(null);\n }, t), o = Fe.subscribe((a) => {\n a && r(a);\n });\n });\n}\nfunction Mh(t, e) {\n const n = Ee(null), r = ft(!1), i = ft(!1), o = ft(!1), a = ft(null), l = Yt(pe.functions.chat.public.sessions.createOrResume), c = async (p) => {\n const g = await Nh();\n if (!g)\n return console.warn(\"[JexityChat] No bootstrap token after 10s — session creation blocked.\"), ht.value = \"no-token\", null;\n const b = (v) => ({\n orgSlug: t,\n ...e ? { projSlug: e } : {},\n visitorId: p,\n bootstrapToken: v,\n locale: qe.value,\n ...bn.value ? { source: bn.value } : {}\n });\n cr.value = !0;\n let x;\n try {\n try {\n x = await l(b(g));\n } catch (v) {\n if (!Pa(v))\n throw v;\n const S = await qh();\n if (!S.ok)\n return ht.value = S.reason === \"rate_limited\" ? \"network\" : \"unauthorized\", null;\n x = await l(b(S.token));\n }\n } finally {\n cr.value = !1;\n }\n ht.value = null, a.value = x.status;\n const m = { sessionId: x.sessionId, visitorId: p };\n return n.current = m, { session: m, result: x };\n }, u = q(async () => {\n if (n.current)\n return n.current;\n if (o.value)\n return null;\n r.value = !0;\n const p = $e.value !== null, g = $e.value ?? ji();\n try {\n const b = await c(g);\n return b ? (p && b.result.isNew && (i.value = !0, o.value = !0), b.session) : null;\n } catch (b) {\n return console.error(\"[JexityChat] Failed to create session:\", b), ht.value = Ki(b), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, o]), d = q(() => {\n n.current = null, i.value = !1, o.value = !1, Ei();\n }, [i, o]);\n P(() => zc(d), [d]);\n const h = q(async () => {\n n.current = null, o.value = !1, i.value = !1, Ei();\n const p = ji();\n r.value = !0;\n try {\n return (await c(p))?.session ?? null;\n } catch (g) {\n return console.error(\"[JexityChat] Failed to create fresh session:\", g), ht.value = Ki(g), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, o, a]), f = n.current;\n return {\n sessionId: f?.sessionId ?? null,\n visitorId: f?.visitorId ?? null,\n isLoading: r.value,\n sessionNotFound: i.value,\n resumeFailed: o.value,\n sessionStatus: a.value,\n isOrgDeleted: a.value === \"org_deleted\",\n ensureSession: u,\n startFresh: h,\n resetSession: d\n };\n}\nfunction Lh() {\n const t = _(), [e, n] = A(\"\"), [r, i] = A(\"\"), [o, a] = A(\"\");\n async function l(c) {\n c.preventDefault(), lr({ id: \"loading\", message: t.submittingTicket }), await new Promise((d) => {\n setTimeout(d, 1200);\n });\n const u = \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n lr({ id: \"confirmation\", ref: u });\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: t.submitTicket }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (c) => {\n l(c);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: t.yourName,\n value: e,\n required: !0,\n onInput: (c) => {\n n(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: t.yourEmail,\n value: r,\n required: !0,\n onInput: (c) => {\n i(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n placeholder: t.howCanWeHelp,\n value: o,\n required: !0,\n onInput: (c) => {\n a(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: t.submit })\n ] })\n ] });\n}\nfunction Oh({ ticketRef: t }) {\n const e = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-icon\", \"aria-hidden\": \"true\", children: \"✓\" }),\n /* @__PURE__ */ s(\"h2\", { class: \"jex-confirmation-title\", children: e.ticketSubmitted }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-body\", children: e.yourReferenceNumber }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-ref\", children: t }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-hint\", children: e.sentToEmailHint }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-confirmation-done\",\n onClick: () => {\n V.value = !1;\n },\n children: e.done\n }\n )\n ] });\n}\nfunction zh({ message: t, onRetry: e, onBack: n }) {\n const r = _();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-error\", children: [\n /* @__PURE__ */ s(\"p\", { class: \"jex-error-message\", children: t }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-error-actions\", children: [\n e && /* @__PURE__ */ s(\"button\", { class: \"jex-error-retry\", onClick: e, children: r.tryAgain }),\n n && /* @__PURE__ */ s(\"button\", { class: \"jex-error-back\", onClick: n, children: r.goBack })\n ] })\n ] });\n}\nfunction Gi({ greeting: t, starterQuestions: e, title: n, botName: r, sessionId: i, visitorId: o, isLoading: a, sessionNotFound: l, resumeFailed: c, isOrgDeleted: u, ensureSession: d, startFresh: h, resetSession: f }) {\n const p = ue.value, g = p[p.length - 1], b = [...p].reverse().find(\n (x) => x.id === \"confirmation\"\n );\n return /* @__PURE__ */ s(\"div\", { class: \"jex-screen-container\", children: [\n g.id === \"home\" && /* @__PURE__ */ s(ru, { greeting: t, title: n, botName: r, onResetSession: f }),\n g.id === \"selection\" && /* @__PURE__ */ s(iu, { title: n }),\n g.id === \"form\" && /* @__PURE__ */ s(Lh, {}),\n g.id === \"escalation-form\" && /* @__PURE__ */ s(\n Ph,\n {\n formMessageId: g.formMessageId,\n sessionId: g.sessionId,\n visitorId: g.visitorId\n }\n ),\n g.id === \"confirmation\" && b && /* @__PURE__ */ s(Oh, { ticketRef: b.ref }),\n g.id === \"chat\" && /* @__PURE__ */ s(\n Eh,\n {\n greeting: t,\n botName: r,\n starterQuestions: e,\n sessionId: i,\n visitorId: o,\n isLoading: a,\n sessionNotFound: l,\n resumeFailed: c,\n isOrgDeleted: u,\n ensureSession: d,\n startFresh: h\n }\n ),\n g.id === \"loading\" && /* @__PURE__ */ s(Ea, { message: g.message }),\n g.id === \"error\" && /* @__PURE__ */ s(\n zh,\n {\n message: g.message,\n onRetry: () => lr({ id: \"loading\" }),\n onBack: yn\n }\n )\n ] });\n}\nfunction Bh({ options: t }) {\n return _c({\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n preToken: t.bootstrapToken,\n convexUrl: t.convexUrl,\n preAllowedUrls: t.allowedUrls ?? [],\n preExcludedPaths: t.excludePaths\n }), Cc() ? /* @__PURE__ */ s(Dh, { options: t }) : null;\n}\nfunction Dh({ options: t }) {\n const e = wc(t.orgSlug, t.projSlug, t.convexUrl);\n Ec(t.parentOrigin), P(() => {\n qc(), Mc();\n }, []);\n const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: d } = Mh(t.orgSlug, t.projSlug), h = bc(t, e);\n P(() => {\n qe.value = ea(h.locale);\n }, [h.locale]), P(() => {\n en.value = h.privacyPolicyUrl ?? Xt, Sr.value = h.privacyNoticeStyle;\n }, [h.privacyNoticeStyle, h.privacyPolicyUrl]), P(() => {\n if (!V.value || h.mode === \"embedded\" || !window.matchMedia(\"(max-width: 480px), (pointer: coarse) and (max-width: 768px)\").matches)\n return;\n const D = document.documentElement.style.overflow;\n return document.documentElement.style.overflow = \"hidden\", () => {\n document.documentElement.style.overflow = D;\n };\n }, [V.value, h.mode]), P(() => {\n if (h.mode !== \"embedded\")\n try {\n return Fc();\n } catch (N) {\n console.warn(\"[JexityChat] Idle-lock watcher failed to start:\", N);\n return;\n }\n }, [h.mode]);\n const f = h.position === \"bottom-left\", p = h.colorScheme === \"dark\" || h.colorScheme === \"light\" ? h.colorScheme : \"\", g = Uc({\n ...t,\n primaryColor: h.primaryColor,\n accentColor: h.accentColor,\n fontFamily: h.fontFamily,\n fontSize: h.fontSize,\n borderRadius: h.borderRadius,\n windowWidth: h.windowWidth,\n windowHeight: h.windowHeight\n }), b = h.mode === \"embedded\", x = ue.value, v = x[x.length - 1]?.id === \"chat\", S = e !== null || b || !!t.parentOrigin, B = S ? g : { ...g, visibility: \"hidden\" }, L = Xc(t.orgSlug, t.projSlug);\n return P(() => {\n if (b || !S || h.proactiveMode === \"off\" || Ai(L))\n return;\n const N = window.setTimeout(() => {\n const D = tu({\n mode: h.proactiveMode,\n isOpen: V.peek(),\n hasHistory: Tr.peek(),\n dismissed: Ai(L)\n });\n D === \"teaser\" ? wn.value = !0 : D === \"open\" && (V.value = !0);\n }, h.proactiveDelaySeconds * 1e3);\n return () => {\n window.clearTimeout(N);\n };\n }, [b, S, h.proactiveMode, h.proactiveDelaySeconds, L]), /* @__PURE__ */ s(\n \"div\",\n {\n class: `jex-widget ${p}`.trim(),\n style: B,\n children: b ? /* @__PURE__ */ s(\"div\", { class: \"jex-embedded\", children: [\n /* @__PURE__ */ s(\n Ti,\n {\n title: h.title,\n rightAction: v ? /* @__PURE__ */ s(Wi, { sessionId: n, visitorId: r, ensureSession: c }) : null,\n showClose: !b\n }\n ),\n /* @__PURE__ */ s(\n Gi,\n {\n greeting: h.greeting,\n starterQuestions: h.starterQuestions,\n title: h.title,\n botName: h.botName,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n sessionId: n,\n visitorId: r,\n isLoading: i,\n sessionNotFound: o,\n resumeFailed: a,\n isOrgDeleted: l,\n ensureSession: c,\n startFresh: u,\n resetSession: d\n }\n ),\n !h.hideBranding && /* @__PURE__ */ s(Ri, {})\n ] }) : /* @__PURE__ */ s(\"div\", { class: `jex-container${f ? \" jex-pos-left\" : \"\"}`, children: [\n V.value && /* @__PURE__ */ s(\"div\", { class: \"jex-chat-window\", children: [\n /* @__PURE__ */ s(\n Ti,\n {\n title: h.title,\n rightAction: v ? /* @__PURE__ */ s(Wi, { sessionId: n, visitorId: r, ensureSession: c }) : null\n }\n ),\n /* @__PURE__ */ s(\n Gi,\n {\n greeting: h.greeting,\n starterQuestions: h.starterQuestions,\n title: h.title,\n botName: h.botName,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n sessionId: n,\n visitorId: r,\n isLoading: i,\n sessionNotFound: o,\n resumeFailed: a,\n isOrgDeleted: l,\n ensureSession: c,\n startFresh: u,\n resetSession: d\n }\n ),\n !h.hideBranding && /* @__PURE__ */ s(Ri, {})\n ] }),\n wn.value && !V.value && /* @__PURE__ */ s(nu, { title: h.title, message: h.greeting, guardKey: L }),\n /* @__PURE__ */ s(\n Zc,\n {\n iconOption: h.triggerIcon,\n radius: h.triggerRadius,\n label: h.triggerLabel\n }\n )\n ] })\n }\n );\n}\nconst Fh = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: \"Inter\", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;animation:jexFadeIn .4s ease both}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}@keyframes jexPulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-reply-tag-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.jex-reply-tag-btn:hover{background:#0000000f;color:var(--jex-primary, #115A62)}.jex-reply-tag-btn:focus-visible{outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}.jex-message{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:\"◊\";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}`;\nfunction Uh(t) {\n const e = document.createElement(\"style\");\n e.textContent = Fh, t.appendChild(e);\n}\nconst Vh = \"https://festive-mouse-978.eu-west-1.convex.cloud\";\nlet Hn = null;\nfunction Qh(t) {\n const e = t ?? Vh;\n if (!e)\n throw new Error(\"[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag\");\n return Hn || (Hn = new ec(gc(e))), Hn;\n}\nfunction Hh(t, e) {\n const n = t.shadowRoot ?? t.attachShadow({ mode: \"open\" });\n for (; n.firstChild; )\n n.removeChild(n.firstChild);\n Uh(n), bn.value = e.source, Fe.value = e.bootstrapToken, ue.value = [{ id: \"home\" }], e.mode === \"embedded\" && (t.classList.add(\"jex-mode-embedded\"), V.value = !0);\n const r = document.createElement(\"div\");\n return e.mode === \"embedded\" && (r.style.cssText = \"width:100%;height:100%\"), n.appendChild(r), et(\n /* @__PURE__ */ s(nc, { client: Qh(e.convexUrl), children: /* @__PURE__ */ s(Bh, { options: e }) }),\n r\n ), function() {\n et(null, r), V.value = !1, bn.value = void 0, Fe.value = void 0, ue.value = [{ id: \"home\" }];\n };\n}\nfunction Wh(t, e, n) {\n const r = Hh(t, e), i = /* @__PURE__ */ new Set(), o = V.subscribe((l) => {\n for (const c of i)\n c(l);\n });\n return {\n shutdown() {\n o(), i.clear(), r(), n && n();\n },\n open() {\n V.value = !0;\n },\n close() {\n V.value = !1;\n },\n toggle() {\n V.value = !V.value;\n },\n get isOpen() {\n return V.value;\n },\n subscribe(l) {\n return i.add(l), () => {\n i.delete(l);\n };\n }\n };\n}\nlet At = null;\nfunction Kh(t) {\n At && At.shutdown();\n let e;\n t.container ? e = typeof t.container == \"string\" ? document.querySelector(t.container) : t.container : (e = document.createElement(\"div\"), e.id = \"jexity-chat-widget\", document.body.appendChild(e));\n const n = Wh(e, t, () => {\n t.container || e.remove(), At === n && (At = null);\n });\n return At = n, n;\n}\nexport {\n Kh as JexityChat\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["JexityChatContext","createContext","JexityChatProvider","props","children","options","isOpen","setIsOpen","useState","instanceRef","useRef","unsubRef","containerRef","embedded","useEffect","cancelled","index","mod","mountOptions","inst","open","err","value","createElement","useJexityChat","ctx","useContext","k","Yi","Ji","Ye","Ur","Zi","Xi","eo","mr","Wn","Kn","to","Ot","no","Ha","Re","gr","r","i","$t","Wa","we","mt","ro","Gn","xr","ao","io","f","g","b","m","v","S","Ka","br","oo","Ga","lo","Ie","Vr","Qr","B","L","N","D","re","ie","H","Ja","Z","so","Yn","Ya","co","Za","Xa","es","Ue","z","Nn","Hr","gt","uo","Wr","Kr","Gr","Yr","Jr","Zr","A","mo","P","vr","Y","ho","q","po","fo","ts","Jn","ns","Xr","go","Zn","xo","Mn","bo","vo","yo","wo","Xn","rs","ei","is","os","ti","as","ss","ni","ko","_o","jo","ls","It","ri","cs","us","ds","So","hs","ps","fs","ms","gs","xs","bs","ii","vs","ys","ws","yr","ks","oi","ai","si","_s","js","Tn","Ss","Cs","Ts","Rs","As","Is","Es","Ps","$s","wr","Te","me","qs","Ln","Ns","Ms","Ls","zt","Os","zs","Bt","Oe","Co","Bs","kr","er","Ds","Fs","Ro","Us","Vs","Qs","Hs","Ws","Ks","li","Ao","a","ci","qt","tr","Pe","Gs","Ys","zn","ui","di","Js","Io","hi","Zs","Xs","pi","el","Eo","Po","$o","qo","fn","tl","nr","Ze","fi","nl","rl","il","ol","al","sl","Dt","No","ll","cl","ul","_r","Mo","dl","hl","pl","mn","Ft","fl","ml","gl","mi","xl","bl","Nt","gi","vl","yl","xi","Dn","wl","bi","kl","_l","jl","K","Sl","Cl","Tl","Rl","vi","Lo","Al","Il","o","El","Pl","$l","ql","Oo","Nl","Ml","Ll","yi","Ol","zl","Bl","Dl","Fl","Ul","Vl","G","Ql","p","Hl","Wl","wi","Kl","Gl","Yl","Jl","Le","Zl","zo","rc","Xl","ec","Rn","tc","nc","rr","c","sc","Yt","Jt","ic","oc","Un","ac","lc","cc","An","De","Mt","ir","Fo","uc","Bo","gn","Do","Zt","M","Uo","Vo","rt","or","Qo","jr","dc","wt","Ho","hc","Wo","kt","Ko","ft","Go","pc","fc","mc","V","Sr","Fe","ar","sr","gc","Jo","xc","bc","vc","yc","wc","Zo","kc","ki","_c","_i","jc","Sc","Cc","Cr","Xo","Tc","Rc","Ac","qe","Ic","_","Vn","ea","Ec","ta","na","ra","$e","Tr","Lt","Pc","$c","In","qc","ji","Nc","Si","Rr","ia","Mc","Lc","lr","Oc","Ut","cr","ur","zc","Bc","n","Dc","Ci","Qn","Fc","Uc","Vc","Qc","oa","Hc","Wc","Ti","Kc","Ri","aa","Gc","Yc","Jc","Zc","wn","Xc","Ai","eu","tu","nu","ru","iu","ou","Ii","Ar","kn","sa","la","au","Ei","ze","su","lu","cu","uu","du","hu","ca","pu","ua","l","fu","mu","gu","xu","Pi","bu","vu","$i","yu","wu","qi","ku","Ni","_u","ju","Su","Cu","Tu","Ir","it","da","Je","R","Ru","Au","Iu","Eu","Pu","Er","ha","pa","$u","Pr","qu","$r","Nu","Mu","Pn","qr","Lu","fa","Ou","Nr","Mi","zu","Bu","Du","Fu","ma","Uu","_t","$n","Mr","Vu","ga","Qu","Hu","Wu","xa","Ku","Gu","ba","Yu","Ju","Zu","Xu","ed","td","nd","rd","id","od","_n","ad","va","ya","sd","Li","Lr","ld","dr","cd","Tt","ud","Oi","zi","Bi","Rt","dd","hd","Di","pd","jn","hr","Or","pr","Pt","fd","$","md","gd","xd","bd","wa","vd","yd","wd","kd","_d","jd","ka","Sd","zr","Cd","_a","Td","ja","Sa","Rd","Ad","Id","Ca","Ed","Pd","$d","Br","qd","Nd","Md","Ld","Ra","Od","zd","Bd","Dd","Fd","Ud","Jd","Vd","W","jt","Q","fe","Zd","Yd","ke","Qd","Hd","Wd","Kd","Gd","Ia","Be","ge","Aa","Xd","eh","th","Fi","nh","rh","ih","oh","ah","w","j","Me","Ne","_e","qn","F","sh","lh","Ui","I","Vi","je","Dr","$a","qa","T","Na","Ma","La","Oa","za","Va","Qa","Ba","Fr","wh","Da","Fa","Ua","ch","hh","fh","mh","gh","xh","yh","uh","dh","vh","ph","fr","Ae","bh","kh","Qi","_h","jh","Sh","Ch","Th","Rh","Hi","Ah","Ea","Ih","Eh","Ph","$h","Wi","qh","Ki","Pa","Nh","Mh","Lh","Oh","zh","Gi","Bh","Dh","Fh","Uh","Vh","Hn","Qh","Hh","Wh","At","Kh"],"mappings":"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"}
|