UNPKG

imba

Version:

Intuitive and powerful language for building webapps that fly

4,485 lines (4,483 loc) 153 kB
var __defProp = Object.defineProperty; var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); var __export = (target, all) => { for (var name in all) __defProp(target, name, {get: all[name], enumerable: true}); }; __markAsModule(exports); __export(exports, { CUSTOM_TYPES: () => ys, Comment: () => zt, Component: () => Nt, CustomEvent: () => P, Document: () => Et, DocumentFragment: () => gh, Easer: () => Br, Element: () => v, ElementRoute: () => Ze, ElementRouteTo: () => bi, Event: () => K, EventHandler: () => Gr, Fragment: () => st, HTMLButtonElement: () => Er, HTMLElement: () => be, HTMLHtmlElement: () => ph, HTMLInputElement: () => Sr, HTMLOptionElement: () => Tr, HTMLScriptElement: () => mh, HTMLSelectElement: () => xr, HTMLTextAreaElement: () => wr, ImbaElement: () => iu, IntersectionEventDefaults: () => ze, KeyboardEvent: () => vr, LazyProxy: () => lr, MouseEvent: () => _r, Node: () => I, PointerEvent: () => br, RenderContext: () => B, Router: () => Je, SVGElement: () => Or, Scheduler: () => ar, ShadowRoot: () => yh, TYPES: () => ve, Text: () => _e, UIEvent: () => dh, Window: () => _h, asset: () => Gl, autorun: () => Va, clearInterval: () => Ri, clearTimeout: () => Ai, colors: () => au, commit: () => k, createAtom: () => Ka, createComment: () => tt, createComponent: () => Os, createDynamic: () => Ch, createElement: () => Sh, createFragment: () => Eh, createIndexedList: () => Wh, createKeyedList: () => Qh, createLiveFragment: () => qh, createRenderContext: () => pr, createSVGElement: () => wh, createSlot: () => Vt, createTextNode: () => xe, customElements: () => bh, defineTag: () => Ph, deserializeData: () => Kl, emit: () => A, events: () => Iu, getDeepPropertyDescriptor: () => It, getRenderContext: () => Zl, getSuperTagType: () => $h, getTagType: () => Ns, get_document: () => Kt, hooks: () => cr, hotkeys: () => wo, hydrate: () => ru, listen: () => R, manifest: () => fr, mount: () => fn, observable: () => Ha, once: () => F, parseTime: () => yt, patchManifest: () => Vl, process: () => Wl, proxy: () => hr, render: () => du, renderContext: () => $, renderer: () => xt, reportChanged: () => Ba, reportObserved: () => Ya, router: () => Ra, run: () => Ua, scheduler: () => C, serializeData: () => zl, setInterval: () => Di, setTimeout: () => Ii, styles: () => hn, toCamelCase: () => Hl, transitions: () => De, unlisten: () => ct, unmount: () => cn, use_dom_bind: () => pu, use_dom_teleport: () => Eu, use_dom_transitions: () => $u, use_events: () => Du, use_events_hotkey: () => _a, use_events_intersect: () => Yu, use_events_keyboard: () => Yr, use_events_mouse: () => Yt, use_events_pointer: () => ju, use_events_resize: () => Zu, use_events_selection: () => ra, use_events_touch: () => Vu, use_hooks: () => Xl, use_router: () => Da, use_slots: () => Ah, use_styles: () => fu, use_window: () => vh, \u03B1action: () => Ja, \u03B1autorun: () => Qa, \u03B1computed: () => Wa, \u03B1lazy: () => Ql, \u03B1observable: () => Ga, \u03B1ref: () => Xa }); var Pl = Object.create, or = Object.defineProperty, kl = Object.getPrototypeOf, Ll = Object.prototype.hasOwnProperty, Ml = Object.getOwnPropertyNames, Fl = Object.getOwnPropertyDescriptor; var Il = (i) => or(i, "__esModule", {value: true}); var Dl = (i, t) => () => (t || (t = {exports: {}}, i(t.exports, t)), t.exports); var Rl = (i, t, e) => { if (t && typeof t == "object" || typeof t == "function") for (let r of Ml(t)) !Ll.call(i, r) && r !== "default" && or(i, r, {get: () => t[r], enumerable: !(e = Fl(t, r)) || e.enumerable}); return i; }, Al = (i) => Rl(Il(or(i != null ? Pl(kl(i)) : {}, "default", i && i.__esModule && "default" in i ? {get: () => i.default, enumerable: true} : {value: i, enumerable: true})), i); var Io = Dl((id, hi) => { "use strict"; var Pt = typeof Reflect == "object" ? Reflect : null, Oo = Pt && typeof Pt.apply == "function" ? Pt.apply : function(t, e, r) { return Function.prototype.apply.call(t, e, r); }, Ve; Pt && typeof Pt.ownKeys == "function" ? Ve = Pt.ownKeys : Object.getOwnPropertySymbols ? Ve = function(t) { return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)); } : Ve = function(t) { return Object.getOwnPropertyNames(t); }; function va(i) { console && console.warn && console.warn(i); } var No = Number.isNaN || function(t) { return t !== t; }; function S() { S.init.call(this); } hi.exports = S; hi.exports.once = xa; S.EventEmitter = S; S.prototype._events = void 0; S.prototype._eventsCount = 0; S.prototype._maxListeners = void 0; var Co = 10; function He(i) { if (typeof i != "function") throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof i); } Object.defineProperty(S, "defaultMaxListeners", {enumerable: true, get: function() { return Co; }, set: function(i) { if (typeof i != "number" || i < 0 || No(i)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + i + "."); Co = i; }}); S.init = function() { (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0; }; S.prototype.setMaxListeners = function(t) { if (typeof t != "number" || t < 0 || No(t)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + t + "."); return this._maxListeners = t, this; }; function $o(i) { return i._maxListeners === void 0 ? S.defaultMaxListeners : i._maxListeners; } S.prototype.getMaxListeners = function() { return $o(this); }; S.prototype.emit = function(t) { for (var e = [], r = 1; r < arguments.length; r++) e.push(arguments[r]); var s = t === "error", n = this._events; if (n !== void 0) s = s && n.error === void 0; else if (!s) return false; if (s) { var o; if (e.length > 0 && (o = e[0]), o instanceof Error) throw o; var l = new Error("Unhandled error." + (o ? " (" + o.message + ")" : "")); throw l.context = o, l; } var h = n[t]; if (h === void 0) return false; if (typeof h == "function") Oo(h, this, e); else for (var a = h.length, c = Po(h, a), r = 0; r < a; ++r) Oo(c[r], this, e); return true; }; function ko(i, t, e, r) { var s, n, o; if (He(e), n = i._events, n === void 0 ? (n = i._events = Object.create(null), i._eventsCount = 0) : (n.newListener !== void 0 && (i.emit("newListener", t, e.listener ? e.listener : e), n = i._events), o = n[t]), o === void 0) o = n[t] = e, ++i._eventsCount; else if (typeof o == "function" ? o = n[t] = r ? [e, o] : [o, e] : r ? o.unshift(e) : o.push(e), s = $o(i), s > 0 && o.length > s && !o.warned) { o.warned = true; var l = new Error("Possible EventEmitter memory leak detected. " + o.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit"); l.name = "MaxListenersExceededWarning", l.emitter = i, l.type = t, l.count = o.length, va(l); } return i; } S.prototype.addListener = function(t, e) { return ko(this, t, e, false); }; S.prototype.on = S.prototype.addListener; S.prototype.prependListener = function(t, e) { return ko(this, t, e, true); }; function Sa() { if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = true, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments); } function Lo(i, t, e) { var r = {fired: false, wrapFn: void 0, target: i, type: t, listener: e}, s = Sa.bind(r); return s.listener = e, r.wrapFn = s, s; } S.prototype.once = function(t, e) { return He(e), this.on(t, Lo(this, t, e)), this; }; S.prototype.prependOnceListener = function(t, e) { return He(e), this.prependListener(t, Lo(this, t, e)), this; }; S.prototype.removeListener = function(t, e) { var r, s, n, o, l; if (He(e), s = this._events, s === void 0) return this; if (r = s[t], r === void 0) return this; if (r === e || r.listener === e) --this._eventsCount == 0 ? this._events = Object.create(null) : (delete s[t], s.removeListener && this.emit("removeListener", t, r.listener || e)); else if (typeof r != "function") { for (n = -1, o = r.length - 1; o >= 0; o--) if (r[o] === e || r[o].listener === e) { l = r[o].listener, n = o; break; } if (n < 0) return this; n === 0 ? r.shift() : wa(r, n), r.length === 1 && (s[t] = r[0]), s.removeListener !== void 0 && this.emit("removeListener", t, l || e); } return this; }; S.prototype.off = S.prototype.removeListener; S.prototype.removeAllListeners = function(t) { var e, r, s; if (r = this._events, r === void 0) return this; if (r.removeListener === void 0) return arguments.length === 0 ? (this._events = Object.create(null), this._eventsCount = 0) : r[t] !== void 0 && (--this._eventsCount == 0 ? this._events = Object.create(null) : delete r[t]), this; if (arguments.length === 0) { var n = Object.keys(r), o; for (s = 0; s < n.length; ++s) o = n[s], o !== "removeListener" && this.removeAllListeners(o); return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this; } if (e = r[t], typeof e == "function") this.removeListener(t, e); else if (e !== void 0) for (s = e.length - 1; s >= 0; s--) this.removeListener(t, e[s]); return this; }; function Mo(i, t, e) { var r = i._events; if (r === void 0) return []; var s = r[t]; return s === void 0 ? [] : typeof s == "function" ? e ? [s.listener || s] : [s] : e ? Ea(s) : Po(s, s.length); } S.prototype.listeners = function(t) { return Mo(this, t, true); }; S.prototype.rawListeners = function(t) { return Mo(this, t, false); }; S.listenerCount = function(i, t) { return typeof i.listenerCount == "function" ? i.listenerCount(t) : Fo.call(i, t); }; S.prototype.listenerCount = Fo; function Fo(i) { var t = this._events; if (t !== void 0) { var e = t[i]; if (typeof e == "function") return 1; if (e !== void 0) return e.length; } return 0; } S.prototype.eventNames = function() { return this._eventsCount > 0 ? Ve(this._events) : []; }; function Po(i, t) { for (var e = new Array(t), r = 0; r < t; ++r) e[r] = i[r]; return e; } function wa(i, t) { for (; t + 1 < i.length; t++) i[t] = i[t + 1]; i.pop(); } function Ea(i) { for (var t = new Array(i.length), e = 0; e < t.length; ++e) t[e] = i[e].listener || i[e]; return t; } function xa(i, t) { return new Promise(function(e, r) { function s() { n !== void 0 && i.removeListener("error", n), e([].slice.call(arguments)); } var n; t !== "error" && (n = function(l) { i.removeListener(t, s), r(l); }, i.once("error", n)), i.once(t, s); }); } }); function ue(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var ef = Symbol.for("#__initor__"), rf = Symbol.for("#__inited__"), jl = Symbol.for("#type"), ae = Symbol.for("#__listeners__"), ql = /-./g, lr = class { static for(t) { return new Proxy({}, new this(t)); } constructor(t) { this.getter = t; } get target() { return this.getter(); } get(t, e) { return this.target[e]; } set(t, e, r) { return this.target[e] = r, true; } }; function hr(i, t = {}) { return new Proxy(t, new lr(i)); } function yt(i) { let t = typeof i; if (t == "number") return i; if (t == "string") { if (/^\d+fps$/.test(i)) return 1e3 / parseFloat(i); if (/^([-+]?[\d\.]+)s$/.test(i)) return parseFloat(i) * 1e3; if (/^([-+]?[\d\.]+)ms$/.test(i)) return parseFloat(i); } return null; } function zl(i) { let t = new Map(), e = [], r = false, s = function(h, a) { if (a && a[jl] && h !== "") { let c = t.get(a); return t.has(a) || (t.set(a, c = "$$" + e.length + "$$"), e.push(a)), h == null ? a : c; } return a; }, n = JSON.stringify(i, s, 2), o = 0; for (r = true; o < e.length; ) e[o] = JSON.stringify(e[o], s, 2), o++; let l = ""; for (let h = 0, a = ue(e), c = a.length; h < c; h++) { let u = a[h]; l += '"$$' + h + '$$":' + u + `, `; } return n = "{" + l + n.slice(1), n; } function Kl(i, t = null) { let e = {}, r = /\$\$\d+\$\$/, s = function(l) { return e[l] || (e[l] = t ? t(l) : {}); }, n = function(l, h) { if (typeof h == "string") { if (h[0] == "$" && r.test(h)) return s(h); } else if (typeof l == "string" && l[0] == "$" && r.test(l)) { let a = s(l); return Object.assign(a, h), a; } return h; }; return JSON.parse(i, n); } function Vl(i, t) { var e, r, s, n; let o = {}, l = {added: [], changed: [], removed: [], all: [], urls: {}}; if (i.assets) for (let h = 0, a = ue(i.assets), c = a.length; h < c; h++) { let u = a[h], d = u.originalPath || u.path; o[d] = u, u.url && ((e = t.urls)[r = u.url] || (e[r] = u)); } for (let h = 0, a = ue(t.assets || []), c = a.length; h < c; h++) { let u = a[h], d = u.originalPath || u.path, b = o[d]; u.url && i.urls && (i.urls[u.url] = u), b ? (b.hash != u.hash && (b.invalidated = Date.now(), b.replacedBy = u, u.replaces = b, l.changed.push(u), l.all.push(u), b == i.main && (l.main = u)), s = o[d], delete o[d]) : (l.added.push(u), l.all.push(u)); } for (let h = 0, a = Object.keys(o), c = a.length, u, d; h < c; h++) u = a[h], d = o[u], d.removed = Date.now(), l.all.push(d); for (let h = 0, a = ue(l.all), c = a.length; h < c; h++) { let u = a[h]; (l[n = u.type] || (l[n] = [])).push(u); } return l.removed = Object.values(o), t.changes = l, t; } function Hl(i) { return i.indexOf("-") >= 0 ? i.replace(ql, function(t) { return t.charAt(1).toUpperCase(); }) : i; } function It(i, t, e) { if (!i) return; let r = Object.getOwnPropertyDescriptor(i, t); return r || i == e ? r || void 0 : It(Reflect.getPrototypeOf(i), t, e); } var Pi = function(i, t, e) { let r, s, n; for (; (r = e) && (e = e.next); ) (s = e.listener) && (e.path && s[e.path] ? n = t ? s[e.path].apply(s, t) : s[e.path]() : n = t ? s.apply(e, t) : s.call(e)), e.times && --e.times <= 0 && (r.next = e.next, e.listener = null); }; function R(i, t, e, r) { var s; let n, o, l; return n = i[ae] || (i[ae] = {}), o = n[t] || (n[t] = {}), l = o.tail || (o.tail = o.next = {}), l.listener = e, l.path = r, o.tail = l.next = {}, l; } function F(i, t, e) { let r = R(i, t, e); return r.times = 1, r; } function ct(i, t, e, r) { let s, n, o = i[ae]; if (!!o && (s = o[t])) { for (; (n = s) && (s = s.next); ) if (s == e || s.listener == e) { n.next = s.next, s.listener = null; break; } } } function A(i, t, e) { let r; (r = i[ae]) && (r[t] && Pi(t, e, r[t]), r.all && Pi(t, [t, e], r.all)); } function Ul(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var ki = Symbol.for("#__init__"), nf = Symbol.for("#__initor__"), of = Symbol.for("#__inited__"), Li = Symbol.for("#schedule"), ur = Symbol.for("#frames"), fe = Symbol.for("#interval"), _t = Symbol.for("#stage"), bt = Symbol.for("#scheduled"), ce = Symbol.for("#version"), Bl = Symbol.for("#fps"), Mi = Symbol.for("#ticker"), Yl = globalThis.requestAnimationFrame || function(i) { return globalThis.setTimeout(i, 1e3 / 60); }; var lf = 1 / 60, Fi = class { constructor(t = null) { this[ki](t); } [ki](t = null) { var e; this.owner = t && (e = t.owner) !== void 0 ? e : null, this.target = t && (e = t.target) !== void 0 ? e : null, this.active = t && (e = t.active) !== void 0 ? e : false, this.value = t && (e = t.value) !== void 0 ? e : void 0, this.skip = t && (e = t.skip) !== void 0 ? e : 0, this.last = t && (e = t.last) !== void 0 ? e : 0; } tick(t, e) { return this.last = this.owner[ur], this.target.tick(this, e), 1; } update(t, e) { let r = this.active, s = t.value; return this.value != s && (this.deactivate(), this.value = s), (this.value || r || e) && this.activate(), this; } queue() { this.owner.add(this); } activate() { return this.value === true ? this.owner.on("commit", this) : this.value === false || typeof this.value == "number" && (this.value / (1e3 / 60) <= 2 ? this.owner.on("raf", this) : this[fe] = globalThis.setInterval(this.queue.bind(this), this.value)), this.active = true, this; } deactivate() { return this.value === true && this.owner.un("commit", this), this.owner.un("raf", this), this[fe] && (globalThis.clearInterval(this[fe]), this[fe] = null), this.active = false, this; } }, ar = class { constructor() { var t = this; this.id = Symbol(), this.queue = [], this.stage = -1, this[_t] = -1, this[ur] = 0, this[bt] = false, this[ce] = 0, this.listeners = {}, this.intervals = {}, t.commit = function() { return t.add("commit"), t; }, this[Bl] = 0, t.$promise = null, t.$resolve = null, this[Mi] = function(e) { return t[bt] = false, t.tick(e); }; } touch() { return this[ce]++; } get version() { return this[ce]; } add(t, e) { return (e || this.queue.indexOf(t) == -1) && this.queue.push(t), this[bt] || this[Li](), this; } get committing\u03A6() { return this.queue.indexOf("commit") >= 0; } get syncing\u03A6() { return this[_t] == 1; } listen(t, e) { let r = this.listeners[t], s = !r; return r || (r = this.listeners[t] = new Set()), r.add(e), t == "raf" && s && this.add("raf"), this; } unlisten(t, e) { var r; let s = this.listeners[t]; return s && s.delete(e), t == "raf" && s && s.size == 0 && (r = this.listeners.raf, delete this.listeners.raf), this; } on(t, e) { return this.listen(t, e); } un(t, e) { return this.unlisten(t, e); } get promise() { var t = this; return t.$promise || (t.$promise = new Promise(function(e) { return t.$resolve = e; })); } tick(t) { var e = this; let r = this.queue, s = this[ur]++; if (this.ts || (this.ts = t), this.dt = t - this.ts, this.ts = t, this.queue = [], this[_t] = 1, this[ce]++, r.length) for (let n = 0, o = Ul(r), l = o.length; n < l; n++) { let h = o[n]; typeof h == "string" && this.listeners[h] ? e.listeners[h].forEach(function(a) { if (a.tick instanceof Function) return a.tick(e, h); if (a instanceof Function) return a(e, h); }) : h instanceof Function ? h(e.dt, e) : h.tick && h.tick(e.dt, e); } return this[_t] = this[bt] ? 0 : -1, e.$promise && (e.$resolve(e), e.$promise = e.$resolve = null), e.listeners.raf && e.add("raf"), e; } [Li]() { return this[bt] || (this[bt] = true, this[_t] == -1 && (this[_t] = 0), Yl(this[Mi])), this; } schedule(t, e) { var r, s; return e || (e = t[r = this.id] || (t[r] = {value: true})), (e[s = this.id] || (e[s] = new Fi({owner: this, target: t}))).update(e, true); } unschedule(t, e = {}) { e || (e = t[this.id]); let r = e && e[this.id]; return r && r.active && r.deactivate(), this; } }, C = new ar(); function k() { return C.add("commit").promise; } function Ii(i, t) { return globalThis.setTimeout(function() { i(), k(); }, t); } function Di(i, t) { return globalThis.setInterval(function() { i(), k(); }, t); } var Ri = globalThis.clearInterval, Ai = globalThis.clearTimeout, Dt = globalThis.imba || (globalThis.imba = {}); Dt.commit = k; Dt.setTimeout = Ii; Dt.setInterval = Di; Dt.clearInterval = Ri; Dt.clearTimeout = Ai; var uf = Symbol.for("#__initor__"), af = Symbol.for("#__inited__"), ji = class { constructor() { this.data = {}; } }, fr = new ji(); var Wl = {}; var pf = Symbol.for("#__initor__"), mf = Symbol.for("#__inited__"), qi = Symbol.for("#__init__"), zi = Symbol.for("#warned"), vt = Symbol.for("#asset"), de = class { static wrap(t) { let e = new de(t); return new Proxy(e, e); } constructor(t) { this.meta = t; } get input() { return fr.inputs[this.meta.input]; } get asset() { return globalThis._MF_ ? this.meta : this.input ? this.input.asset : null; } set(t, e, r) { return true; } get(t, e) { return this.meta.meta && this.meta.meta[e] != null ? this.meta.meta[e] : this.asset ? e == "absPath" && !this.asset.absPath ? this.asset.url : this.asset[e] : ((this.meta[zi] != true ? (this.meta[zi] = true, true) : false) && console.warn("Asset for '" + this.meta.input + "' not found"), e == "valueOf" ? function() { return ""; } : null); } }, Ki = class { constructor(t = null) { this[qi](t); } [qi](t = null) { this.url = t ? t.url : void 0, this.meta = t ? t.meta : void 0; } adoptNode(t) { var e; if ((e = this.meta) == null ? void 0 : e.content) { for (let r = this.meta.attributes, s = 0, n = Object.keys(r), o = n.length, l, h; s < o; s++) l = n[s], h = r[l], t.setAttribute(l, h); t.innerHTML = this.meta.content; } return this; } toString() { return this.url; } toStyleString() { return "url(" + this.url + ")"; } }; function Gl(i) { var t, e; if (i[vt]) return i[vt]; if (i.type == "svg") return i[vt] || (i[vt] = new Ki(i)); if (i.input) { let r = globalThis._MF_ && globalThis._MF_[i.input]; return r && (Object.assign(i, r), i.toString = function() { return this.absPath; }), i[vt] || (i[vt] = de.wrap(i)); } return i; } var cr = {on: function(i, t) { return R(this, i, t); }, inited: function(i) { return A(this, "inited", [i]); }}; function Xl() { return true; } function Ql(i, t, e) { if (e.get) { let r = e.get; e.get = function() { let s = r.call(this); return Object.defineProperty(this, t, {enumerable: false, value: s}), s; }; } return e; } var Vi = Symbol.for("#toStringDeopt"), vf = Symbol.for("#__initor__"), xf = Symbol.for("#__inited__"), Hi = Symbol.for("#symbols"), Ui = Symbol.for("#batches"), Bi = Symbol.for("#extras"), Yi = Symbol.for("#stacks"), Rt = class { constructor(t) { this.dom = t, this.string = ""; } contains(t) { return this.dom.classList.contains(t); } add(t) { return this.contains(t) ? this : (this.string += (this.string ? " " : "") + t, this.dom.classList.add(t), this); } remove(t) { if (!this.contains(t)) return this; let e = new RegExp("(^|\\s)" + t + "(?=\\s|$)", "g"); return this.string = this.string.replace(e, ""), this.dom.classList.remove(t), this; } toggle(t, e) { return e === void 0 && (e = !this.contains(t)), e ? this.add(t) : this.remove(t); } incr(t, e = 0) { var r = this; let s = this.stacks, n = s[t] || 0; return n < 1 && this.add(t), e > 0 && setTimeout(function() { return r.decr(t); }, e), s[t] = Math.max(n, 0) + 1; } decr(t) { let e = this.stacks, r = e[t] || 0; return r == 1 && this.remove(t), e[t] = Math.max(r, 1) - 1; } reconcile(t, e) { let r = this[Hi], s = this[Ui], n = true; if (!r) r = this[Hi] = [t], s = this[Ui] = [e || ""], this.toString = this.valueOf = this[Vi]; else { let o = r.indexOf(t), l = e || ""; o == -1 ? (r.push(t), s.push(l)) : s[o] != l ? s[o] = l : n = false; } n && (this[Bi] = " " + s.join(" "), this.sync()); } valueOf() { return this.string; } toString() { return this.string; } [Vi]() { return this.string + (this[Bi] || ""); } sync() { return this.dom.flagSync$(); } get stacks() { return this[Yi] || (this[Yi] = {}); } }; var pe = Symbol.for("#__init__"), Wi = Symbol.for("#__initor__"), Gi = Symbol.for("#__inited__"), dr = Symbol.for("#getRenderContext"), Jl = Symbol.for("#getDynamicContext"), Xi = Symbol(), $ = {context: null}, Qi = class { constructor(t = null) { this[pe](t); } [pe](t = null) { var e; this.stack = t && (e = t.stack) !== void 0 ? e : []; } push(t) { return this.stack.push(t); } pop(t) { return this.stack.pop(); } }, xt = new Qi(), B = class extends Map { static [pe]() { return this.prototype[Wi] = Xi, this; } constructor(t, e = null) { super(); this._ = t, this.sym = e, this[Wi] === Xi && this[Gi] && this[Gi](); } pop() { return $.context = null; } [dr](t) { let e = this.get(t); return e || this.set(t, e = new B(this._, t)), $.context = e; } [Jl](t, e) { return this[dr](t)[dr](e); } run(t) { return this.value = t, $.context == this && ($.context = null), this.get(t); } cache(t) { return this.set(this.value, t), t; } }; B[pe](); function pr(i, t = Symbol(), e = i) { return $.context = i[t] || (i[t] = new B(e, t)); } function Zl() { let i = $.context, t = i || new B(null); return globalThis.DEBUG_IMBA && !i && xt.stack.length > 0 && console.warn("detected unmemoized nodes in", xt.stack, "see https://imba.io", t), i && ($.context = null), t; } function At(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } function th(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var me = Symbol.for("#parent"), Ji = Symbol.for("#closestNode"), eh = Symbol.for("#parentNode"), rh = Symbol.for("#context"), ge = Symbol.for("#__init__"), Zi = Symbol.for("##inited"), mr = Symbol.for("#getRenderContext"), ih = Symbol.for("#getDynamicContext"), ts = Symbol.for("#insertChild"), jt = Symbol.for("#appendChild"), gr = Symbol.for("#replaceChild"), es = Symbol.for("#removeChild"), Z = Symbol.for("#insertInto"), rs = Symbol.for("#insertIntoDeopt"), qt = Symbol.for("#removeFrom"), is = Symbol.for("#removeFromDeopt"), St = Symbol.for("#replaceWith"), ss = Symbol.for("#replaceWithDeopt"), yr = Symbol.for("#placeholderNode"), sh = Symbol.for("#attachToParent"), nh = Symbol.for("#detachFromParent"), oh = Symbol.for("#placeChild"), lh = Symbol.for("#beforeReconcile"), hh = Symbol.for("#afterReconcile"), uh = Symbol.for("#afterVisit"), ns = Symbol.for("#__initor__"), os = Symbol.for("#__inited__"), ls = Symbol.for("##parent"), ah = Symbol.for("##up"), hs = Symbol.for("##context"), dt = Symbol.for("#domNode"), ye = Symbol.for("##placeholderNode"), us = Symbol.for("#domDeopt"), as = Symbol.for("#isRichElement"), fs = Symbol.for("#src"), wt = Symbol.for("#htmlNodeName"), fh = Symbol.for("#getSlot"), cs = Symbol.for("#ImbaElement"), ds = Symbol.for("#cssns"), ch = Symbol.for("#cssid"), ps = Symbol(), {Event: K, UIEvent: dh, MouseEvent: _r, PointerEvent: br, KeyboardEvent: vr, CustomEvent: P, Node: I, Comment: zt, Text: _e, Element: v, HTMLElement: be, HTMLHtmlElement: ph, HTMLSelectElement: xr, HTMLInputElement: Sr, HTMLTextAreaElement: wr, HTMLButtonElement: Er, HTMLOptionElement: Tr, HTMLScriptElement: mh, SVGElement: Or, DocumentFragment: gh, ShadowRoot: yh, Document: Et, Window: _h, customElements: bh} = globalThis.window, ms = {}; function gs(i, t, e) { if (!i) return e[t] = null; if (e[t] !== void 0) return e[t]; let r = Object.getOwnPropertyDescriptor(i, t); return r !== void 0 || i == Or ? e[t] = r || null : gs(Reflect.getPrototypeOf(i), t, e); } var Nr = {}, Cr = {}, ve = {}, ys = {}; function Kt() { return globalThis.document; } function vh() { return true; } var xh = {get(i, t) { let e = i, r; for (; e && r == null; ) (e = e[me]) && (r = e[t]); return r; }, set(i, t, e) { let r = i, s; for (; r && s == null; ) { if (It(r, t, v)) return r[t] = e, true; r = r[me]; } return true; }}, _s = class { get flags() { return this.documentElement.flags; } }; At(Et.prototype, _s.prototype); var bs = class { get [me]() { return this[ls] || this.parentNode || this[ah]; } get [Ji]() { return this; } get [eh]() { return this[me][Ji]; } get [rh]() { return this[hs] || (this[hs] = new Proxy(this, xh)); } [ge]() { return this; } [Zi]() { return this; } [mr](t) { return pr(this, t); } [ih](t, e) { return this[mr](t)[mr](e); } [ts](t, e) { return t[Z](this, e); } [jt](t) { return t[Z](this, null); } [gr](t, e) { let r = this[ts](t, e); return this[es](e), r; } [es](t) { return t[qt](this); } [Z](t, e = null) { return e ? t.insertBefore(this, e) : t.appendChild(this), this; } [rs](t, e) { return e ? t.insertBefore(this[dt] || this, e) : t.appendChild(this[dt] || this), this; } [qt](t) { return t.removeChild(this); } [is](t) { return t.removeChild(this[dt] || this); } [St](t, e) { return e[gr](t, this); } [ss](t, e) { return e[gr](t, this[dt] || this); } get [yr]() { return this[ye] || (this[ye] = globalThis.document.createComment("placeholder")); } set [yr](t) { let e = this[ye]; this[ye] = t, e && e != t && e.parentNode && e[St](t); } [sh]() { let t = this[dt], e = t && t.parentNode; return t && e && t != this && (this[dt] = null, this[Z](e, t), t[qt](e)), this; } [nh]() { (this[us] != true ? (this[us] = true, true) : false) && (this[St] = this[ss], this[qt] = this[is], this[Z] = this[rs]); let t = this[yr]; return this.parentNode && t != this && (t[Z](this.parentNode, this), this[qt](this.parentNode)), this[dt] = t, this; } [oh](t, e, r) { let s = typeof t; if (s === "undefined" || t === null) { if (r && r instanceof zt) return r; let n = globalThis.document.createComment(""); return r ? r[St](n, this) : n[Z](this, null); } if (t === r) return t; if (s !== "object") { let n, o = t; return e & 128 && e & 256, r ? r instanceof _e ? (r.textContent = o, r) : (n = globalThis.document.createTextNode(o), r[St](n, this), n) : (this.appendChild(n = globalThis.document.createTextNode(o)), n); } else { if (globalThis.DEBUG_IMBA && !t[Z]) throw console.warn("Tried to insert", t, "into", this), new TypeError("Only DOM Nodes can be inserted into DOM"); return r ? r[St](t, this) : t[Z](this, null); } } }; At(I.prototype, bs.prototype); var vs = class { log(...t) { return console.log(...t), this; } emit(t, e, r = {bubbles: true, cancelable: true}) { e != null && (r.detail = e); let s = new P(t, r), n = this.dispatchEvent(s); return s; } text$(t) { return this.textContent = t, this; } [lh]() { return this; } [hh]() { return this; } [uh]() { this.render && this.render(); } get flags() { return this.$flags || (this.$flags = new Rt(this), this.flag$ == v.prototype.flag$ && (this.flags$ext = this.className), this.flagDeopt$()), this.$flags; } flag$(t) { let e = this.flags$ns; this.className = e ? e + (this.flags$ext = t) : this.flags$ext = t; } flagDeopt$() { var t = this; this.flag$ = this.flagExt$, t.flagSelf$ = function(e) { return t.flagSync$(t.flags$own = e); }; } flagExt$(t) { return this.flagSync$(this.flags$ext = t); } flagSelf$(t) { return this.flagDeopt$(), this.flagSelf$(t); } flagSync$() { return this.className = (this.flags$ns || "") + (this.flags$ext || "") + " " + (this.flags$own || "") + " " + (this.$flags || ""); } set$(t, e) { let r = It(this, t, v); !r || !r.set ? this.setAttribute(t, e) : this[t] = e; } get richValue() { return this.value; } set richValue(t) { this.value = t; } }; At(v.prototype, vs.prototype); v.prototype.setns$ = v.prototype.setAttributeNS; v.prototype[as] = true; function Sh(i, t, e, r) { let s = globalThis.document.createElement(i); return e && (s.className = e), r !== null && s.text$(r), t && t[jt] && t[jt](s), s; } var xs = class { set$(t, e) { var r; let s = ms[r = this.nodeName] || (ms[r] = {}), n = gs(this, t, s); !n || !n.set ? this.setAttribute(t, e) : this[t] = e; } flag$(t) { let e = this.flags$ns; this.setAttribute("class", e ? e + (this.flags$ext = t) : this.flags$ext = t); } flagSelf$(t) { var e = this; return e.flag$ = function(r) { return e.flagSync$(e.flags$ext = r); }, e.flagSelf$ = function(r) { return e.flagSync$(e.flags$own = r); }, e.flagSelf$(t); } flagSync$() { return this.setAttribute("class", (this.flags$ns || "") + (this.flags$ext || "") + " " + (this.flags$own || "") + " " + (this.$flags || "")); } }; At(Or.prototype, xs.prototype); var Ss = class { set src(t) { if ((this[fs] != t ? (this[fs] = t, true) : false) && t) { if (t.adoptNode) t.adoptNode(this); else if (t.content) { for (let e = t.attributes, r = 0, s = Object.keys(e), n = s.length, o, l; r < n; r++) o = s[r], l = e[o], this.setAttribute(o, l); this.innerHTML = t.content; } } } }; At(SVGSVGElement.prototype, Ss.prototype); function wh(i, t, e, r, s) { let n = globalThis.document.createElementNS("http://www.w3.org/2000/svg", i); return e && (n.className.baseVal = e), t && t[jt] && t[jt](n), r && (n.textContent = r), n; } function tt(i) { return globalThis.document.createComment(i); } function xe(i) { return globalThis.document.createTextNode(i); } function Eh() { return globalThis.document.createDocumentFragment(); } var Se = globalThis.navigator, Th = Se && Se.vendor || "", ws = Se && Se.userAgent || "", Oh = Th.indexOf("Apple") > -1 || ws.indexOf("CriOS") >= 0 || ws.indexOf("FxiOS") >= 0, we = !Oh, Es = new Map(), Ts = class extends be { connectedCallback() { return we ? this.parentNode.removeChild(this) : this.parentNode.connectedCallback(); } disconnectedCallback() { if (!we) return this.parentNode.disconnectedCallback(); } }; window.customElements.define("i-hook", Ts); function Nh(i, t) { let e = Es.get(t); if (!e) { e = {}; let r = t.prototype, s = [r]; for (; (r = r && Object.getPrototypeOf(r)) && r.constructor != i.constructor; ) s.unshift(r); for (let n = 0, o = th(s), l = o.length; n < l; n++) { let h = o[n], a = Object.getOwnPropertyDescriptors(h); Object.assign(e, a); } Es.set(t, e); } return e; } function Os(i, t, e, r, s) { let n; typeof i != "string" && i && i.nodeName && (i = i.nodeName); let o = Cr[i] || i; if (Nr[i]) { let l = Nr[i], h = l.prototype[wt]; if (h && we) n = globalThis.document.createElement(h, {is: i}); else if (l.create$ && h) { n = globalThis.document.createElement(h), n.setAttribute("is", o); let a = Nh(n, l); Object.defineProperties(n, a), n.__slots = {}, n.appendChild(globalThis.document.createElement("i-hook")); } else l.create$ ? (n = l.create$(n), n.__slots = {}) : console.warn("could not create tag " + i); } else n = globalThis.document.createElement(Cr[i] || i); return n[ls] = t, n[ge](), n[Zi](), r !== null && n[fh]("__").text$(r), (e || n.flags$ns) && n.flag$(e || ""), n; } function Ch(i, t, e, r) { if (i == null || i == null) return tt(""); if (i instanceof I) return i; if (i[as]) return i; if (typeof i == "string" || i && i.prototype instanceof I) return Os(i, t, e, r); } function Ns(i, t) { if (ve[i]) return ve[i]; if (window[t]) return window[t]; if (window[i]) return window[i]; } function $h(i, t, e) { let r = Ns(i, t); if (!(r == e || r.prototype instanceof e || r.prototype[wt])) { let n = r.prototype[cs]; if (!n) { n = class extends r { static [ge]() { return this.prototype[ns] = ps, this; } constructor() { super(...arguments); this.__slots = {}, this.__F = 0, this[ns] === ps && this[os] && this[os](); } }[ge](), r.prototype[cs] = n; let o = Object.getOwnPropertyDescriptors(e.prototype); Object.defineProperties(n.prototype, o), n.prototype[wt] = i; } return n; } return r; } function Ph(i, t, e = {}) { ve[i] = ys[i] = t, t.nodeName = i; let r = i, s = t.prototype; if (i.indexOf("-") == -1 && (r = "" + i + "-tag", Cr[i] = r), e.cssns) { let n = (s._ns_ || s[ds] || "") + " " + (e.cssns || ""); s._ns_ = n.trim() + " ", s[ds] = e.cssns; } if (e.cssid) { let n = (s.flags$ns || "") + " " + e.cssid; s[ch] = e.cssid, s.flags$ns = n.trim() + " "; } return s[wt] && !e.extends && (e.extends = s[wt]), e.extends ? (s[wt] = e.extends, Nr[i] = t, we && window.customElements.define(r, t, {extends: e.extends})) : window.customElements.define(r, t), t; } var kh = globalThis.imba || (globalThis.imba = {}); kh.document = globalThis.document; function $r(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } function Lh(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var Ee = Symbol.for("#parent"), Cs = Symbol.for("#closestNode"), Mh = Symbol.for("#isRichElement"), Fh = Symbol.for("#afterVisit"), $s = Symbol.for("#__initor__"), Ps = Symbol.for("#__inited__"), ks = Symbol.for("#appendChild"), Ls = Symbol.for("#removeChild"), et = Symbol.for("#insertInto"), Te = Symbol.for("#replaceWith"), Ms = Symbol.for("#insertChild"), Oe = Symbol.for("#removeFrom"), Fs = Symbol.for("#placeChild"), Is = Symbol.for("#__init__"), Ih = Symbol.for("#registerFunctionalSlot"), Dh = Symbol.for("#getFunctionalSlot"), Ds = Symbol.for("#getSlot"), Pr = Symbol.for("##parent"), Ne = Symbol.for("##up"), Rs = Symbol.for("##flags"), Rh = Symbol.for("#domFlags"), V = Symbol.for("#end"), As = Symbol.for("#textContent"), Ce = Symbol.for("#textNode"), kr = Symbol.for("#functionalSlots"), js = Symbol(); function Ah() { return true; } var st = class { constructor() { this.childNodes = []; } log(...t) { } hasChildNodes() { return false; } set [Ee](t) { this[Pr] = t; } get [Ee]() { return this[Pr] || this[Ne]; } get [Cs]() { return this[Ee][Cs]; } get [Mh]() { return true; } get flags() { return this[Rs] || (this[Rs] = new Rt(this)); } flagSync$() { return this; } [Fh]() { return this; } }, jh = 0, $e = class extends st { static [Is]() { return this.prototype[$s] = js, this; } constructor(t, e) { super(...arguments); this[Ne] = e, this.parentNode = null, this[Rh] = t, this.childNodes = [], this[V] = tt("slot" + jh++), e && e[ks](this), this[$s] === js && this[Ps] && this[Ps](); } get [Ee]() { return this[Pr] || this.parentNode || this[Ne]; } set textContent(t) { this[As] = t; } get textContent() { return this[As]; } hasChildNodes() { for (let t = 0, e = $r(this.childNodes), r = e.length; t < r; t++) { let s = e[t]; if (s instanceof st && s.hasChildNodes()) return true; if (!(s instanceof zt)) { if (s instanceof I) return true; } } return false; } text$(t) { return this[Ce] ? this[Ce].textContent = t : this[Ce] = this[Fs](t), this[Ce]; } appendChild(t) { return this.parentNode && t[et](this.parentNode, this[V]), this.childNodes.push(t); } [ks](t) { return this.parentNode && t[et](this.parentNode, this[V]), this.childNodes.push(t); } insertBefore(t, e) { this.parentNode && this.parentNode[Ms](t, e); let r = this.childNodes.indexOf(e); return r >= 0 && this.childNodes.splice(r, 0, t), t; } [Ls](t) { this.parentNode && this.parentNode[Ls](t); let e = this.childNodes.indexOf(t); e >= 0 && this.childNodes.splice(e, 1); } [et](t, e) { let r = this.parentNode; if (this.parentNode != t ? (this.parentNode = t, true) : false) { this[V] && (e = this[V][et](t, e)); for (let s = 0, n = $r(this.childNodes), o = n.length; s < o; s++) n[s][et](t, e); } return this; } [Te](t, e) { let r = t[et](e, this[V]); return this[Oe](e), r; } [Ms](t, e) { if (this.parentNode && this.insertBefore(t, e || this[V]), e) { let r = this.childNodes.indexOf(e); r >= 0 && this.childNodes.splice(r, 0, t); } else this.childNodes.push(t); return t; } [Oe](t) { for (let e = 0, r = $r(this.childNodes), s = r.length; e < s; e++) r[e][Oe](t); return this[V] && this[V][Oe](t), this.parentNode = null, this; } [Fs](t, e, r) { let s = this.parentNode, n = typeof t; if (n === "undefined" || t === null) { if (r && r instanceof zt) return r; let o = tt(""); if (r) { let l = this.childNodes.indexOf(r); return this.childNodes.splice(l, 1, o), s && r[Te](o, s), o; } return this.childNodes.push(o), s && o[et](s, this[V]), o; } if (t === r) return t; if (n !== "object") { let o, l = t; if (r) { if (r instanceof _e) return r.textContent = l, r; { o = xe(l); let h = this.childNodes.indexOf(r); return this.childNodes.splice(h, 1, o), s && r[Te](o, s), o; } } else return this.childNodes.push(o = xe(l)), s && o[et](s, this[V]), o; } else if (r) { let o = this.childNodes.indexOf(r); return this.childNodes.splice(o, 1, t), s && r[Te](t, s), t; } else return this.childNodes.push(t), s && t[et](s, this[V]), t; } }; $e[Is](); function qh(i, t) { return new $e(i, t); } function Vt(i, t) { let e = new $e(i, null); return e[Ne] = t, e; } var qs = class { [Ih](t) { let e = this[kr] || (this[kr] = {}); return e[t] || (e[t] = Vt(0, this)); } [Dh](t, e) { let r = this[kr]; return r && r[t] || this[Ds](t, e); } [Ds](t, e) { var r; return t == "__" && !this.render ? this : (r = this.__slots)[t] || (r[t] = Vt(0, this)); } }; Lh(I.prototype, qs.prototype); function zh(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var Kh = Symbol.for("#afterVisit"), Pe = Symbol.for("#insertInto"), zs = Symbol.for("#appendChild"), Vh = Symbol.for("#replaceWith"), Lr = Symbol.for("#removeFrom"), Ks = Symbol.for("#__initor__"), Vs = Symbol.for("#__inited__"), Hs = Symbol.for("#__init__"), Hh = Symbol.for("#domFlags"), Uh = Symbol.for("##parent"), nt = Symbol.for("#end"), Bh = Symbol.for("#removeChild"), Yh = Symbol.for("#insertChild"), Us = Symbol(), Mr = class extends st { static [Hs]() { return this.prototype[Ks] = Us, this; } constructor(t, e) { super(...arguments); this[Hh] = t, this[Uh] = e, t & 256 || (this[nt] = tt("list")), this.$ = this.childNodes, this.length = 0, e && e[zs](this), this[Ks] === Us && this[Vs] && this[Vs](); } hasChildNodes() { return this.length != 0; } [Kh](t) { let e = this.length; if (this.length = t, e == t) return; let r = this.parentNode; if (!r) return; let s = this.childNodes, n = this[nt]; if (e > t) for (; e > t; ) r[Bh](s[--e]); else if (t > e) for (; t > e; ) r[Yh](s[e++], n); this.length = t; } [Pe](t, e) { this.parentNode = t, this[nt] && this[nt][Pe](t, e), e = this[nt]; for (let r = 0, s = zh(this.childNodes), n = s.length; r < n; r++) { let o = s[r]; if (r == this.length) break; o[Pe](t, e); } return this; } [zs](t) { } [Vh](t, e) { let r = t[Pe](e, this[nt]); return this[Lr](e), r; } [Lr](t) { let e = this.length; for (; e > 0; ) this.childNodes[--e][Lr](t); this[nt] && t.removeChild(this[nt]), this.parentNode = null; } }; Mr[Hs](); function Wh(i, t) { return new Mr(i, t); } function Bs(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var Fr = Symbol.for("#appendChild"), ke = Symbol.for("#insertChild"), Gh = Symbol.for("#replaceWith"), Le = Symbol.for("#insertInto"), Ir = Symbol.for("#removeFrom"), Xh = Symbol.for("#afterVisit"), Ys = Symbol.for("#__initor__"), Ws = Symbol.for("#__inited__"), Gs = Symbol.for("#__init__"), Me = Symbol.for("#domFlags"), Xs = Symbol.for("##parent"), ot = Symbol.for("#end"), Qs = Symbol.for("#removeChild"), Js = Symbol(), Dr = class extends st { static [Gs]() { return this.prototype[Ys] = Js, this; } constructor(t, e) { super(...arguments); this[Me] = t, this[Xs] = e, this.changes = new Map(), this.dirty = false, this.array = this.childNodes, this.$ = new B(this, Symbol()), t & 256 || (this[ot] = tt("map")), e && e[Fr](this), this[Ys] === Js && this[Ws] && this[Ws](); } [Fr](t) { if (this.parentNode) return this.parentNode[ke](t, this[ot]); } hasChildNodes() { return this.childNodes.length != 0; } push(t, e) { if (!(this[Me] & 1)) { this.array.push(t), this[Fr](t); return; } let r = this.array[e]; if (r !== t) { this.dirty = true; let s = this.array.indexOf(t), n = this.changes.get(t); s === -1 ? (this.array.splice(e, 0, t), this.insertChild(t, e, s)) : s === e + 1 ? (r && this.changes.set(r, -1), this.array.splice(e, 1)) : (s >= 0 && this.array.splice(s, 1), this.array.splice(e, 0, t), this.moveChild(t, e, s)), n == -1 && this.changes.delete(t); } } insertChild(t, e, r) { let s = this.parentNode; if (!!s) if (e > 0) { let n = this.array[e - 1]; s[ke](t, n.nextSibling); } else s[ke](t, this.childNodes[e + 1] || this[ot]); } moveChild(t, e, r) { return this.insertChild(t, e, r); } removeChild(t, e) { t.parentNode && t[Ir](t.parentNode); } [ke](t, e) { } [Gh](t, e) { let r = t[Le](e, this[ot]); return this[Ir](e), r; } [Le](t, e) { this[Xs] = t; let r = this.parentNode; if (t != r) { this.parentNode = t; for (let s = 0, n = Bs(this.array), o = n.length; s < o; s++) n[s][Le](t, e); this[ot] && this[ot][Le](t, e); } return this; } [Ir](t) { for (let e = 0, r = Bs(this.array), s = r.length; e < s; e++) { let n = r[e]; t[Qs](n); } return this[ot] && t[Qs](this[ot]), this.parentNode = null; } [Xh](t) { var e = this; if (!(this[Me] & 1)) { this[Me] |= 1; return; } if (this.dirty && (e.changes.forEach(function(r, s) { if (r == -1) return e.removeChild(s); }), e.changes.clear(), e.dirty = false), e.array.length > t) for (; e.array.length > t; ) { let r = e.array.pop(); e.removeChild(r); } } }; Dr[Gs](); function Qh(i, t) { return new Dr(i, t); } var Tt = Symbol.for("#__init__"), Zs = Symbol.for("#__initor__"), tn = Symbol.for("#__inited__"), Jh = Symbol.for("##inited"), Zh = Symbol.for("#afterVisit"), tu = Symbol.for("#beforeReconcile"), eu = Symbol.for("#afterReconcile"), en = Symbol.for("#__hooks__"), Ot = Symbol.for("#autorender"), rn = Symbol(), sn = new class { constructor(i = null) { this[Tt](i); } [Tt](i = null) { var t; this.items = i && (t = i.items) !== void 0 ? t : [], this.current = i && (t = i.current) !== void 0 ? t : null, this.lastQueued = i && (t = i.lastQueued) !== void 0 ? t : null, this.tests = i && (t = i.tests) !== void 0 ? t : 0; } flush() { let i = null; for (; i = this.items.shift(); ) { if (!i.parentNode || i.hydrated\u03A6) continue; let t = this.current; this.current = i, i.__F |= 1024, i.connectedCallback(), this.current = t; } } queue(i) { var t = this; let e = this.items.length, r = 0, s = this.lastQueued; this.lastQueued = i; let n = I.DOCUMENT_POSITION_PRECEDING, o = I.DOCUMENT_POSITION_FOLLOWING; if (e) { let l = this.items.indexOf(s), h = l, a = function(u, d) { return t.tests++, u.compareDocumentPosition(d); }; (l == -1 || s.nodeName != i.nodeName) && (h = l = 0); let c = t.items[h]; for (; c && a(c, i) & o; ) c = t.items[++h]; if (h != l) c ? t.items.splice(h, 0, i) : t.items.push(i); else { for (; c && a(c, i) & n; ) c = t.items[--h]; h != l && (c ? t.items.splice(h + 1, 0, i) : t.items.unshift(i)); } } else t.items.push(i), t.current || globalThis.queueMicrotask(t.flush.bind(t)); } }(); function ru() { return sn.flush(); } var Nt = class extends be { static [Tt]() { return this.prototype[Zs] = rn, this; } constructor() { super(); this.flags$ns && (this.flag$ = this.flagExt$), this.setup$(), this.build(), this[Zs] === rn && this[tn] && this[tn](); } setup$() { return this.__slots = {}, this.__F = 0; } [Tt]() { return this.__F |= 1 | 2, this; } [Jh]() { if (this[en]) return this[en].inited(this); } flag$(t) { this.className = this.flags$ext = t; } build() { return this; } awaken() { return this; } mount() { return this; } unmount() { return this; } rendered() { return this; } dehydrate() { return this; } hydrate() { return this.autoschedule = true, this; } tick() { return this.commit(); } visit() { return this.commit(); } commit() { return this.render\u03A6 ? (this.__F |= 256, this.render && this.render(), this.rendered(), this.__F = (this.__F | 512) & ~256 & ~8192) : (this.__F |= 8192, this); } get autoschedule() { return (this.__F & 64) != 0; } set autoschedule(t) { t ? this.__F |= 64 : this.__F &= ~64; } set autorender(t) { let e = this[Ot] || (this[Ot] = {}); e.value = t, this.mounted\u03A6 && C.schedule(this, e); } get render\u03A6() { return !this.suspended\u03A6; } get mounting\u03A6() { return (this.__F & 16) != 0; } get mounted\u03A6() { return (this.__F & 32) != 0; } get awakened\u03A6() { return (this.__F & 8) != 0; } get rendered\u03A6() { return (this.__F & 512) != 0; } get suspended\u03A6() { return (this.__F & 4096) != 0; } get rendering\u03A6() { return (this.__F & 256) != 0; } get scheduled\u03A6() { return (this.__F & 128) != 0; } get hydrated\u03A6() { return (this.__F & 2) != 0; } get ssr\u03A6() { return (this.__F & 1024) != 0; } schedule() { return C.on("commit", this), this.__F |= 128, this; } unschedule() { return C.un("commit", this), this.__F &= ~128, this; } async suspend(t = null) { let e = this.flags.incr("_suspended_"); return this.__F |= 4096, t instanceof Function && (await t(), this.unsuspend()), this; } unsuspend() { return this.flags.decr("_suspended_") == 0 && (this.__F &= ~4096, this.commit()), this; } [Zh]() { return this.visit(); } [tu]() { return this.__F & 1024 && (this.__F = this.__F & ~1024, this.classList.remove("_ssr_"), this.flags$ext && this.flags$ext.indexOf("_ssr_") == 0 && (this.flags$ext = this.flags$ext.slice(5)), this.__F & 512 || (this.innerHTML = "")), globalThis.DEBUG_IMBA && xt.push(this), this; } [eu]() { return globalThis.DEBUG_IMBA && xt.pop(this), this; } connectedCallback() { let t = this.__F, e = t & 1, r = t & 8; if (!e && !(t & 1024)) { sn.queue(this); return; } if (t & (16 | 32)) return; this.__F |= 16, e || this[Tt](), t & 2 || (this.flags$ext = this.className, this.__F |= 2, this.hydrate(), this.commit()), r || (this.awaken(), this.__F |= 8), A(this, "mount"); let s = this.mount(); return s && s.then instanceof Function && s.then(C.commit), t = this.__F = (this.__F | 32) & ~16, t & 64 && this.schedule(), this[Ot] && C.schedule(this, this[Ot]), this; } disconnectedCallback() { if (this.__F = this.__F & (~32 & ~16), this.__F & 128 && this.unschedule(), A(this, "unmount"), this.unmount(), this[Ot]) return C.unschedule(this, this[Ot]); } }; Nt[Tt](); var iu = Nt; function su(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var nn = Symbol.for("#__init__"), Wf = Symbol.for("#__initor__"), Gf = Symbol.for("#__inited__"), nu = {cm: 1, mm: 1, Q: 1, pc: 1, pt: 1, px: 1, em: 1, ex: 1, ch: 1, rem: 1, vw: 1, vh: 1, vmin: 1, vmax: 1, s: 1, ms: 1, fr: 1, "%": 1, in: 1, turn: 1, grad: 1, rad: 1, deg: 1, Hz: 1, kHz: 1}; var on = {prefix: 1, suffix: 1, content: 1}, Rr = {rose: [[356, 100, 97], [356, 100, 95], [353, 96, 90], [353, 96, 82], [351, 95, 71], [350, 89, 60], [347, 77, 50], [345, 83, 41], [343, 80, 35], [342, 75, 30]], pink: [[327, 73, 97], [326, 78, 95], [326, 85, 90], [327, 87, 82], [329, 86, 70], [330, 81, 60], [333, 71, 51], [335, 78, 42], [336, 74, 35], [336, 69, 30]], fuchsia: [[289, 100, 98], [287, 100, 95], [288, 96, 91], [291, 93, 83], [292, 91, 73], [292, 84, 61], [293, 69, 49], [295, 72, 40], [295, 70, 33], [297, 64, 28]], purple: [[270, 100, 98], [269, 100, 95], [269, 100, 92], [269, 97, 85], [270, 95, 75], [271, 91, 65], [271, 81, 56], [272, 72, 47], [273, 67, 39], [274, 66, 32]], violet: [[250, 100, 98], [251, 91, 95], [251, 95, 92], [252, 95, 85], [255, 92, 76], [258, 90, 66], [262, 83, 58], [263, 70, 50], [263, 69, 42], [264, 67, 35]], indigo: [[226, 100, 97], [226, 100, 94], [228, 96, 89], [230, 94, 82], [234, 89, 74], [239, 84, 67], [243, 75, 59], [245, 58, 51], [244, 55, 41], [242, 47, 34]], blue: [[214, 100, 97], [214, 95, 93], [213, 97, 87], [212, 96, 78], [213, 94, 68], [217, 91, 60], [221, 83, 53], [224, 76, 48], [226, 71, 40], [224, 64, 33]], sky: [[204, 100, 97], [204, 94, 94], [201, 94, 86], [199, 95, 74], [198, 93, 60], [199, 89, 48], [200, 98, 39], [201, 96, 32], [201, 90, 27], [202, 80, 24]], cyan: [[183, 100, 96], [185, 96, 90], [186, 94, 82], [187, 92, 69], [188, 86, 53], [189, 94, 43], [192, 91, 36], [193, 82, 31], [194, 70, 27], [196, 64, 24]], teal: [[166, 76, 97], [167, 85, 89], [168, 84, 78], [171, 77, 64], [172, 66, 50], [173, 80, 40], [175, 84, 32], [175, 77, 26], [176, 69, 22], [176, 61, 19]], emerald: [[152, 81, 96], [149, 80, 90], [152, 76, 80], [156, 72, 67], [158, 64, 52], [160, 84, 39], [161, 94, 30], [163, 94, 24], [163, 88, 20], [164, 86, 16]], green: [[138, 76, 97], [141, 84, 93], [141, 79, 85], [142, 77, 73], [142, 69, 58], [142, 71, 45], [142, 76, 36], [142, 72, 29], [143, 64, 24], [144, 61, 20]], lime: [[78, 92, 95], [80, 89, 89], [81, 88, 80], [82, 85, 67], [83, 78, 55], [84, 81, 44], [85, 85, 35], [86, 78, 27], [86, 69, 23], [88, 61, 20]], yellow: [[55, 92, 95], [55, 97, 88], [53, 98, 77], [50, 98, 64], [48, 96, 53], [45, 93, 47], [41, 96, 40], [35, 92, 33], [32, 81, 29], [28, 73, 26]], amber: [[48, 100, 96], [48, 96, 89], [48, 97, 77], [46, 97, 65], [43, 96, 56], [38, 92, 50], [32, 95, 44], [26, 90, 37], [23, 83, 31], [22, 78, 26]], orange: [[33, 100, 96], [34, 100, 92], [32, 98, 83], [31, 97, 72], [27, 96, 61], [25, 95, 53], [21, 90, 48], [17, 88, 40], [15, 79, 34], [15, 75, 28]], red: [[0, 86, 97], [0, 93, 94], [0, 96, 89], [0, 94, 82], [0, 91, 71], [0, 84, 60], [0, 72, 51], [0, 74, 42], [0, 70, 35], [0, 63, 31]], warmer: [[60, 9, 98], [60, 5, 96], [20, 6, 90], [24, 6, 83], [24, 5, 64], [25, 5, 45], [33, 5, 32], [30, 6, 25], [12, 6, 15], [24, 10, 10]], warm: [[0, 0, 98], [0, 0, 96], [0, 0, 90], [0, 0, 83], [0, 0, 64], [0, 0, 45], [0, 0, 32], [0, 0, 25], [0, 0, 15], [0, 0, 9]], gray: [[0, 0, 98], [240, 5, 96], [240, 6, 90], [240, 5, 84], [240, 5, 65], [240, 4, 46], [240, 5, 34], [240, 5, 26], [240, 4, 16], [240, 6, 10]], cool: [[210, 20, 98], [220, 14, 96], [220, 13, 91], [216, 12, 84], [218, 11, 65], [220, 9, 46], [215, 14, 34], [217, 19, 27], [215, 28, 17], [221, 39, 11]], cooler: [[210, 40, 98], [210, 40, 96], [214, 32, 91], [213, 27, 84], [215, 20, 65], [215, 16, 47], [215, 19, 35], [215, 25, 27], [217, 33, 17], [222, 47, 11]]}, ou = new RegExp("^(" + Object.keys(Rr).join("|") + ")(\\d+(?:\\.\\d+)?)$"), lu = /^([xyz])$/, hu = /^([tlbr]|size|[whtlbr]|[mps][tlbrxy]?|[rcxy]?[gs])$/, uu = `*,::before,::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: currentColor; }`, ln = class { constructor(t = null) { this[nn](t); } [nn](t = null) { var e; this.entries = t && (e = t.entries) !== void 0 ? e : {}; } register(t, e) { let r = this.entries[t]; r ? r && (r.css = e, r.node && (r.node.textContent = e)) : (r = this.entries[t] = {sourceId: t, css: e}, this.entries.resets || this.register("resets", uu), r.node = globalThis.document.createElement("style"), r.node.setAttribute("data-id", t), r.node.textContent = r.css, globalThis.document.head.appendChild(r.node)); } toString() { return Object.values(this.entries).map(function(t) { return t.css; }).join(` `); } toValue(t, e, r, s = null) { let n; on[r] && (t = String(t)); let o = typeof t; if (o == "number") { if (e || (lu.test(r) ? e = "px" : hu.test(r) ? e = "u" : r == "rotate" && (e = "turn", t = (t % 1).toFixed(4))), e) return nu[e] ? t + e : e == "u" ? t * 4 + "px" : "calc(var(--u_" + e + ",1px) * " + t + ")"; } else if (o == "string") { if (r && on[r] && t[0] != '"' && t[0] != "'" && (t.indexOf('"') >= 0 ? t.indexOf("'") == -1 && (t = "'" + t + "'") : t = '"' + t + '"'), n = t.match(ou)) { let h = Rr[n[1]][parseInt(n[2])], a = "100%"; if (typeof s == "number" ? a = s + "%" : typeof s == "string" && (a = s), h) return "hsla(" + h[0] + "," + h[1] + "%," + h[2] + "%," + a + ")"; } } else if (t && t.toStyleString instanceof Function) return t.toStyleString(); return t; } parseDimension(t) { if (typeof t == "string") { let [e, r, s] = t.match(/^([-+]?[\d\.]+)(%|\w+)$/); return [parseFloat(r), s]; } else if (typeof t == "number") return [t]; } }, hn = new ln(), au = Object.keys(Rr); function fu() { return true; } var un = class { css$(t, e, r) { return this.style[t] = e; } css$var(t, e, r, s, n = null) { let o = hn.toValue(e, r, s, n); this.style.setProperty(t, o); } }; su(v.prototype, un.prototype); var cu = Symbol.for("#insertInto"), an = Symbol.for("#removeFrom"); function du(i, t = {}) { let e = $.context; $.context = t; let r = i(t); return $.context == t && ($.context = e), r; } function fn(i, t) { let e = t || globalThis.document.body, r = i; if (i instanceof Function) { let s = new B(e, null), n = function() { let o = $.context; $.context = s; let l = i(s); return $.context == s && ($.context = o), l; }; r = n(), C.listen("commit", n); } else r.__F |= 64; return r[cu](e), r; } function cn(i) { return i && i[an] && i[an](i.parentNode), i; } var dn = globalThis.imba || (globalThis.imba = {}); dn.mount = fn; dn.unmount = cn; function Ct(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } function Ht(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var Ut = Symbol.for("#afterVisit"); function pu() { return true; } var mu = {INPUT: true, SELECT: true, TEXTAREA: true, BUTTON: true}, Ar = function(i) { return i instanceof Array || i && i.has instanceof Function; }, jr = function(i, t) { return i == t ? true : i instanceof Array ? i.indexOf(t) >= 0 : i && i.has instanceof Function ? i.has(t) : i && i.contains instanceof Function ? i.contains(t) : false; }, qr = function(i, t) { if (i instanceof Array) return i.push(t); if (i && i.add instanceof Function) return i.add(t); }, zr = function(i, t) { if (i instanceof Array) { let e = i.indexOf(t); if (e >= 0) return i.splice(e, 1); } else if (i && i.delete instanceof Function) return i.delete(t); }; function gu(i) { function t() { return i[0] ? i[0][i[1]] : void 0; } function e(r) { return i[0] ? i[0][i[1]] = r : null; } return {get: t, set: e}; } var pn = class { getRichValue() { return this.value; } setRichValue(t) { return this.value = t; } bind$(t, e) { let r = e || []; return t == "data" && !this.$$bound && mu[this.nodeName] && (this.$$bound = true, this.change$ && this.addEventListener("change", this.change$ = this.change$.bind(this)), this.input$ && this.addEventListener("input", this.input$ = this.input$.bind(this), {capture: true}), this.click$ && this.addEventListener("click", this.click$ = this.click$.bind(this), {capture: true})), Object.defineProperty(this, t, r instanceof Array ? gu(r) : r), r; } }; Ct(v.prototype, pn.prototype); Object.defineProperty(v.prototype, "richValue", {get: function() { return this.getRichValue(); }, set: function(i) { return this.setRichValue(i); }}); var mn = class { change$(t) { let e = this.data, r = this.$$value; this.$$value = void 0; let s = this.getRichValue(); if (this.multiple) { if (r) for (let n = 0, o = Ht(r), l = o.length; n < l; n++) { let h = o[n]; s.indexOf(h) == -1 && zr(e, h); } for (let n = 0, o = Ht(s), l = o.length; n < l; n++) { let h = o[n]; (!r || r.indexOf(h) == -1) && qr(e, h); } } else this.data = s[0]; return k(), this; } getRichValue() { var t; if (this.$$value) return this.$$value; t = []; for (let e = 0, r = Ht(this.selectedOptions), s = r.length; e < s; e++) { let n = r[e]; t.push(n.richValue); } return this.$$value = t; } syncValue() { let t = this.data; if (this.multiple) { let e = []; for (let r = 0, s = Ht(this.options), n = s.length; r < n; r++) { let o = s[r], l = o.richValue, h = jr(t, l); o.selected = h, h && e.push(l); } this.$$value = e; } else for (let e = 0, r = Ht(this.options), s = r.length; e < s; e++) { let o = r[e].richValue; if (o == t) { this.$$value = [o], this.selectedIndex = e; break; } } } [Ut]() { return this.syncValue(); } }; Ct(xr.prototype, mn.prototype); var gn = class { setRichValue(t) { return this.$$value = t, this.value = t; } getRichValue() { return this.$$value !== void 0 ? this.$$value : this.value; } }; Ct(Tr.prototype, gn.prototype); var yn = class { setRichValue(t) { return this.$$value = t, this.value = t; } getRichValue() { return this.$$value !== void 0 ? this.$$value : this.value; } input$(t) { return this.data = this.value, k(); } [Ut]() { let t = this.data; if (t == null && (t = ""), this.$$bound && this.value != t) return this.value = t; } }; Ct(wr.prototype, yn.prototype); var _n = class { input$(t) { let e = this.type; if (!(e == "checkbox" || e == "radio")) return this.$$value = void 0, this.data = this.richValue, k(); } change$(t) { let e = this.data, r = this.richValue; if (this.type == "checkbox" || this.type == "radio") { let s = this.checked; Ar(e) ? s ? qr(e, r) : zr(e, r) : this.data = s ? r : false; } return k(); } setRichValue(t) { this.$$value !== t && (this.$$value = t, this.value !== t && (this.value = t)); } getRichValue() { if (this.$$value !== void 0) return this.$$value; let t = this.value, e = this.type; return e == "range" || e == "number" ? (t = this.valueAsNumber, Number.isNaN(t) && (t = null)) : e == "checkbox" && (t == null || t === "on") && (t = true), t; } [Ut]() { if (this.$$bound) { let t = this.type; if (t == "checkbox" || t == "radio") { let e = this.data; e === true || e === false || e == null ? this.checked = !!e : this.checked = jr(e, this.richValue); } else this.richValue = this.data; } } }; Ct(Sr.prototype, _n.prototype); var bn = class { get checked() { return this.$checked; } set checked(t) { t != this.$checked && (this.$checked = t, this.flags.toggle("checked", !!t)); } setRichValue(t) { return this.$$value = t, this.value = t; } getRichValue() { return this.$$value !== void 0 ? this.$$value : this.value; } click$(t) { let e = this.data, r = this.checked, s = this.richValue; return Ar(e) ? r ? zr(e, s) : qr(e, s) : this.$$value == null ? this.data = !r : this.data = r ? null : s, this[Ut](), k(); } [Ut]() { if (this.$$bound) { let t = this.data, e = this.$$value == null ? true : this.$$value; Ar(t) ? this.checked = jr(t, e) : this.checked = t == e; } } }; Ct(Er.prototype, bn.prototype); function vn(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var yu = Symbol.for("#getSlot"), _u = Symbol.for("#container"), bu = Symbol.for("#afterVisit"), pt = Symbol.for("#__init__"), xn = Symbol.for("#__initor__"), Sn = Symbol.for("#__inited__"), Fe = Symbol.for("#listeners"), W = Symbol.for("#slot"), vu = Symbol.for("#parent"), j = Symbol.for("##container"), Kr = Symbol.for("#domTarget"), wn = Symbol.for("#insertInto"), xu = Symbol.for("#removeFrom"), Su = Symbol.for("#self"), wu = Symbol.for("#target"), En = Symbol(), Ie = class extends Nt { static [pt]() { return this.prototype[xn] = En, this; } constructor() { super(...arguments); super[pt] || this[pt](), this[xn] === En && this[Sn] && this[Sn](); } [pt](t = null) { super[pt] && super[pt](...arguments), this.to = t ? t.to : void 0; } build() { return this[Fe] = [], this.win = globalThis, this.doc = globalThis.document; } setup() { return this.setAttribute("style", "display:none !important;"); } [yu](t, e) { return this[W] || (this[W] = Vt(0, this[vu])), this[W]; } get [_u]() { if (!this[j]) { let t = this.className; this[j] = this.doc.createElement("div"), this[j].className = t, this[j].style.cssText = "display:contents !important;"; } return this[j]; } get domTarget() { return this[Kr] || (this[Kr] = this.to instanceof v ? this.to : this.closest(this.to) || this.doc.querySelector(this.to)); } get eventTarget() { return this.domTarget; } get style() { return this[j] ? this[j].style : super.style; } get classList() { return this[j] ? this[j].classList : super.classList; } get className() { return this[j] ? this[j].className : super.className; } set className(t) { this[j] ? this[j].className = t : super.className = t; } [bu]() { if (this.mounted\u03A6 && this[W] && !this[W].parentNode) return this[W][wn](this.target); } mount() { for (let e = 0, r = vn(this[Fe]), s = r.length; e < s; e++) { let [n, o, l] = r[e]; this.eventTarget.addEventListener(n, o, l); } let t = this.domTarget; return this[W] && this[W][wn](t), this; } unmount() { for (let t = 0, e = vn(this[Fe]), r = e.length; t < r; t++) { let [s, n, o] = e[t]; this.eventTarget.removeEventListener(s, n, o); } return this[W] && this[W][xu](this.domTarget), this[Kr] = null, this; } addEventListener(t, e, r = {}) { var s; if (e[Su] = this, this[Fe].push([t, e, r]), this.mounted\u03A6 && ((s = this.eventTarget) == null ? void 0 : s.addEventListener)) return this.eventTarget.addEventListener(t, e, r); } }; Ie[pt](); var Tn = class extends Ie { get domTarget() { return this.doc.body; } get eventTarget() { return this.win; } addEventListener(t, e, r = {}) { return e[wu] = this.domTarget.parentNode, super.addEventListener(...arguments); } on$resize(t, e, r, s) { return this.addEventListener("resize", r, s), r; } }; globalThis.customElements && (globalThis.customElements.define("i-teleport", Ie), globalThis.customElements.define("i-global", Tn)); function Eu() { return true; } function mt(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } function Tu(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var On = Symbol.for("#__init__"), hc = Symbol.for("#__initor__"), uc = Symbol.for("#__inited__"), Vr = Symbol.for("#insertInto"), Hr = Symbol.for("#removeFrom"), Ou = Symbol.for("#all"), Bt = Symbol.for("#phase"), rt = Symbol.for("#nodes"), Nu = Symbol.for("#sizes"), Nn = Symbol.for("#mode"), Cn = Symbol.for("#enabled"), $n = Symbol.for("#anims"), Ur = Symbol.for("#_easer_"), Pn = class { constructor(t = null) { this[On](t); } [On](t = null) { var e; this.selectors = t && (e = t.selectors) !== void 0 ? e : {}; } addSelectors(t, e) { var r; return ((r = this.selectors)[e] || (r[e] = [])).push(...t), true; } getSelectors(...t) { let e = []; for (let r = 0, s = mt(t), n = s.length; r < n; r++) { let o = s[r]; this.selectors[o] && e.push(...this.selectors[o]); } return e && e.length ? e.join(",") : null; } nodesForBase(t, e = "transition") { let r = [t], s = (this.selectors[e] || []).join(","); if (s == "") return r; let n = t.querySelectorAll(s); for (let o = 0, l = mt(n), h = l.length; o < h; o++) { let a = l[o]; a.closest("._ease_") == t && r.push(a); } return r[Ou] = n, r; } nodesWithSize(t, e = "in") { let r = this.getSelectors("_off_sized", "_" + e + "_sized"); return r ? t.filter(function(s) { return s.matches(r); }) : []; } }, De = new Pn(), Cu = globalThis.imba || (globalThis.imba = {}); Cu.transitions = De; var Br = class { constructor(t) { this.dom = t, this[Bt] = null, this[rt] = [], this[Nu] = new Map(); } log(...t) { } get flags() { return this.dom.flags; } flag(t) { for (let e = 0, r = mt(this[rt]), s = r.length; e < s; e++) r[e].flags.add(t); return this; } unflag(t) { for (let e = 0, r = mt(this[rt]), s = r.length; e < s; e++) r[e].flags.remove(t); return this; } commit() { return this.dom.offsetWidth; } enable(t) { return t && (this[Nn] = t), (this[Cn] != true ? (this[Cn] = true, true) : false) ? (this.dom[Vr] = this[Vr].bind(this), this.dom[Hr] = this[Hr].bind(this), this.flags.add("_ease_")) : this; } disable() { return this.flags.unflag("_ease_"), true; } set phase(t) { var r, s, n, o, l, h, a, c, u, d, b, f; let e = this[Bt]; (this[Bt] != t ? (this[Bt] = t, true) : false) && (e && this.flags.remove("_" + e + "_"), t && this.flags.add("_" + t + "_"), this.flags.toggle("_easing_", !!t), t || (this.unflag("_out_"), this.unflag("_in_"), this.unflag("_off_"), this[rt] = null), t == "enter" && e == "leave" && ((s = (r = this.dom) == null ? void 0 : r.transition\u039Eout\u039Ecancel) == null || s.call(r, this)), t == "leave" && e == "enter" && ((o = (n = this.dom) == null ? void 0 : n.transition\u039Ein\u039Ecancel) == null || o.call(n, this)), t == "enter" && ((h = (l = this.dom) == null ? void 0 : l.transition\u039Ein) == null || h.call(l, this)), t == "leave" && ((c = (a = this.dom) == null ? void 0 : a.transition\u039Eout) == null || c.call(a, this)), e == "leave" && !t && ((d = (u = this.dom) == null ? void 0 : u.transition\u039Eout\u039Eend) == null || d.call(u, this)), e == "enter" && !t && ((f = (b = this.dom) == null ? void 0 : b.transition\u039Ein\u039Eend) == null || f.call(b, this))); } get phase() { return this[Bt]; } get leaving\u03A6() { return this.phase == "leave"; } get entering\u03A6() { return this.phase == "enter"; } get idle\u03A6() { return this.phase == null; } track(t) { var e = this; let r = {before: Kt().getAnimations()}; return this.commit(), t(), this.commit(), r.after = Kt().getAnimations(), r.fresh = r.after.filter(function(s) { return r.before.indexOf(s) == -1; }), r.deep = r.fresh.filter(function(s) { let n; return !!((n = s.effect.target) && n.closest("._ease_") != e.dom); }), r.own = r.fresh.filter(function(s) { return r.deep.indexOf(s) == -1; }), r.finished = Promise.all(r.own.map(function(s) { return s.finished; })), r; } getAnimatedNodes() { return De.nodesForBase(this.dom); } getNodeSizes(t = "in", e = this[rt]) { let r = De.nodesWithSize(e, t), s = new Map(); for (let n = 0, o = mt(r), l = o.length; n < l; n++) { let h = o[n], a = window.getComputedStyle(h); s.set(h, {width: a.width, height: a.height}); } return s; } applyNodeSizes(t) { for (let [e, r] of mt(t)) e.style.width = r.width, e.style.height = r.height; return t; } clearNodeSizes(t) { for (let [e, r] of mt(t)) e.style.removeProperty("width"), e.style.removeProperty("height"); return t; } [Vr](t, e) { var h, a; var r = this; let s; if (this.entering\u03A6) return this.dom; let n = function() { if (s && r.clearNodeSizes(s), r.entering\u03A6) return r.phase = null; }; if (r.leaving\u03A6) return r.track(function() { return r.phase = "enter", r.unflag("_off_"), r.unflag("_out_"); }).finished.then(n, function(u) { return r.log("error cancel leave", u); }), r.dom; let o = Kt().contains(t); return e ? t.insertBefore(r.dom, e) : t.appendChild(r.dom), this[rt] = r.getAnimatedNodes(), r.flag("_instant_"), r.unflag("_out_"), r.commit(), s = this[rt].sized = r.getNodeSizes("in"), (a = (h = r.dom) == null ? void 0 : h.transition\u039Ein\u039Einit) == null || a.call(h, r), r.flag("_off_"), r.flag("_in_"), r.commit(), r.unflag("_instant_"), (this[$n] = r.track(function() { return r.phase = "enter", r.applyNodeSizes(s), r.unflag("_off_"), r.unflag("_in_"); })).finished.then(n, function(c) { return r.clearNodeSizes(s), r.log("cancelled insert into", c); }), r.dom; } [Hr](t) { var e = this; if (this.leaving\u03A6) return; let r, s = function() { if (e.phase == "leave") return t.removeChild(e.dom), e.phase = null; }; if (e.entering\u03A6 && this[Nn] != "forward") { let o = e.track(function() { return e.flag("_off_"), e.flag("_in_"), e.unflag("_out_"), e.phase = "leave", e.clearNodeSizes(e[rt].sized); }); e.log("cancel enter anims own", o.own, o), o.finished.then(s, function(l) { return e.log("error cancel entering", l); }); return; } this[rt] = e.getAnimatedNodes(), r = e.getNodeSizes("out"), e.applyNodeSizes(r); let n = this[$n] = e.track(function() { return e.phase = "leave", e.flag("_off_"), e.flag("_out_"), e.clearNodeSizes(r); }); if (!n.own.length) { s(); return; } n.finished.then(s, function() { return true; }); } }, kn = class { transition\u039Ein\u039Einit(t) { return true; } transition\u039Ein(t) { return true; } transition\u039Ein\u039Eend(t) { return true; } transition\u039Ein\u039Ecancel(t) { return true; } transition\u039Eout(t) { return true; } transition\u039Eout\u039Eend(t) { return true; } transition\u039Eout\u039Ecancel(t) { return true; } get ease() { return this[Ur] || (this[Ur] = new Br(this)); } set ease(t) { var e, r; if (t == false) { (r = (e = this[Ur]) == null ? void 0 : e.disable) == null || r.call(e); return; } this.ease.enable(t); } }; Tu(v.prototype, kn.prototype); function $u() { return true; } function Pu(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } function Yr() { return true; } var Ln = class { \u03B1esc() { return this.keyCode == 27; } \u03B1tab() { return this.keyCode == 9; } \u03B1enter() { return this.keyCode == 13; } \u03B1space() { return this.keyCode == 32; } \u03B1up() { return this.keyCode == 38; } \u03B1down() { return this.keyCode == 40; } \u03B1left() { return this.keyCode == 37; } \u03B1right() { return this.keyCode == 39; } \u03B1del() { return this.keyCode == 8 || this.keyCode == 46; } \u03B1key(t) { if (typeof t == "string") return this.key == t; if (typeof t == "number") return this.keyCode == t; } }; Pu(vr.prototype, Ln.prototype); function ku(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } function Yt() { return true; } var Mn = class { \u03B1left() { return this.button == 0; } \u03B1middle() { return this.button == 1; } \u03B1right() { return this.button == 2; } \u03B1shift() { return !!this.shiftKey; } \u03B1alt() { return !!this.altKey; } \u03B1ctrl() { return !!this.ctrlKey; } \u03B1meta() { return !!this.metaKey; } \u03B1mod() { let t = globalThis.navigator.platform; return /^(Mac|iPhone|iPad|iPod)/.test(t || "") ? !!this.metaKey : !!this.ctrlKey; } }; ku(_r.prototype, Mn.prototype); function Wr(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } function Fn(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var Lu = Symbol.for("#extendType"), Mu = Symbol.for("#modifierState"), Re = Symbol.for("#sharedModifierState"), In = Symbol.for("#onceHandlerEnd"), Sc = Symbol.for("#__initor__"), wc = Symbol.for("#__inited__"), Dn = Symbol.for("#extendDescriptors"), q = Symbol.for("#context"), Rn = Symbol.for("#self"), Fu = Symbol.for("#target"), An = Symbol.for("#stopPropagation"), jn = Symbol.for("#defaultPrevented"); Yr(); Yt(); var qn = class { [Lu](t) { var e, r, s; let n = t[Dn] || (t[Dn] = (r = Object.getOwnPropertyDescriptors(t.prototype), s = r.constructor, delete r.constructor, r)); return Object.defineProperties(this, n); } }; Wr(P.prototype, qn.prototype); var zn = class { get [Mu]() { var t, e; return (t = this[q])[e = this[q].step] || (t[e] = {}); } get [Re]() { var t, e; return (t = this[q].handler)[e = this[q].step] || (t[e] = {}); } [In](t) { return F(this[q], "end", t); } \u03B1sel(t) { return !!this.target.matches(String(t)); } \u03B1closest(t) { return !!this.target.closest(String(t)); } \u03B1log(...t) { return console.info(...t), true; } \u03B1trusted() { return !!this.isTrusted; } \u03B1if(t) { return !!t; } \u03B1wait(t = 250) { return new Promise(function(e) { return setTimeout(e, yt(t)); }); } \u03B1self() { return this.target == this[q].element; } \u03B1cooldown(t = 250) { let e = this[Re]; return e.active ? false : (e.active = true, e.target = this[q].element, e.target.flags.incr("cooldown"), this[In](function() { return setTimeout(function() { return e.target.flags.decr("cooldown"), e.active = false; }, yt(t)); }), true); } \u03B1throttle(t = 250) { let e = this[Re]; return e.active ? (e.next && e.next(false), new Promise(function(r) { return e.next = function(s) { return e.next = null, r(s); }; })) : (e.active = true, e.el || (e.el = this[q].element), e.el.flags.incr("throttled"), F(this[q], "end", function() { let r = yt(t); return e.interval = setInterval(function() { e.next ? e.next(true) : (clearInterval(e.interval), e.el.flags.decr("throttled"), e.active = false); }, r); }), true); } \u03B1debounce(t = 250) { let e = this[Re], r = this; return e.queue || (e.queue = []), e.queue.push(e.last = r), new Promise(function(s) { return setTimeout(function() { return e.last == r ? (r.debounced = e.queue, e.last = null, e.queue = [], s(true)) : s(false); }, yt(t)); }); } \u03B1flag(t, e) { let {element: r, step: s, state: n, id: o, current: l} = this[q], h = e instanceof v ? e : e ? r.closest(e) : r; if (!h) return true; this[q].commit = true, n[s] = o, h.flags.incr(t); let a = Date.now(); return F(l, "end", function() { let c = Date.now() - a, u = Math.max(250 - c, 0); return setTimeout(function() { return h.flags.decr(t); }, u); }), true; } \u03B1busy(t) { return this.\u03B1flag("busy", t); } \u03B1mod(t) { return this.\u03B1flag("mod-" + t, globalThis.document.documentElement); } \u03B1outside() { let {handler: t} = this[q]; if (t && t[Rn]) return !t[Rn].parentNode.contains(this.target); } }; Wr(K.prototype, zn.prototype); var Iu = {}; function Du() { return true; } var Gr = class { constructor(t, e) { this.params = t, this.closure = e; } getHandlerForMethod(t, e) { return t ? t[e] ? t : this.getHandlerForMethod(t.parentNode, e) : null; } emit(t, ...e) { return A(this, t, e); } on(t, ...e) { return R(this, t, ...e); } once(t, ...e) { return F(this, t, ...e); } un(t, ...e) { return ct(this, t, ...e); } get passive\u03A6() { return this.params.passive; } get capture\u03A6() { return this.params.capture; } get silent\u03A6() { return this.params.silent; } get global\u03A6() { return this.params.global; } async handleEvent(t) { let e = this[Fu] || t.currentTarget, r = this.params, s = null, n = r.silence || r.silent; this.count || (this.count = 0), this.state || (this.state = {}); let o = {element: e, event: t, modifiers: r, handler: this, id: ++this.count, step: -1, state: this.state, commit: null, current: null}; if (o.current = o, t.handle$mod && t.handle$mod.apply(o, r.options || []) == false) return; let l = K[this.type + "$handle"] || K[t.type + "$handle"] || t.handle$mod; if (!(l && l.apply(o, r.options || []) == false)) { this.currentEvents || (this.currentEvents = new Set()), this.currentEvents.add(t); for (let h = 0, a = Object.keys(r), c = a.length, u, d; h < c; h++) { if (u = a[h], d = r[u], o.step++, u[0] == "_") continue; u.indexOf("~") > 0 && (u = u.split("~")[0]); let b = null, f = [t, o], p, m = null, g, _ = false, E = typeof u == "string"; if (u[0] == "$" && u[1] == "_" && d[0] instanceof Function) u = d[0], u.passive || (o.commit = true), f = [t, o].concat(d.slice(1)), m = e; else if (d instanceof Array) { f = d.slice(), b = f; for (let y = 0, x = Fn(f), N = x.length; y < N; y++) { let M = x[y]; if (typeof M == "string" && M[0] == "~" && M[1] == "$") { let le = M.slice(2).split("."), he = o[le.shift()] || t; for (let nr = 0, $i = Fn(le), Cl = $i.length; nr < Cl; nr++) { let $l = $i[nr]; he = he ? he[$l] : void 0; } f[y] = he; } } } if (typeof u == "string" && (g = u.match(/^(emit|flag|mod|moved|pin|fit|refit|map|remap|css)-(.+)$/)) && (b || (b = f = []), f.unshift(g[2]), u = g[1]), u == "trap") t[An] = true, t.stopImmediatePropagation(), t[jn] = true, t.preventDefault(); else if (u == "stop") t[An] = true, t.stopImmediatePropagation(); else if (u == "prevent") t[jn] = true, t.preventDefault(); else if (u == "commit") o.commit = true; else if (u == "once") e.removeEventListener(t.type, this); else { if (u == "options" || u == "silence" || u == "silent") continue; if (u == "emit") { let y = f[0], x = f[1], N = new P(y, {bubbles: true, detail: x}); N.originalEvent = t; let M = e.dispatchEvent(N); } else if (typeof u == "string") { u[0] == "!" && (_ = true, u = u.slice(1)); let y = "\u03B1" + u, x = t[y]; x || (x = this.type && K[this.type + "$" + u + "$mod"]), x || (x = t[u + "$mod"] || K[t.type + "$" + u] || K[u + "$mod"]), x instanceof Function ? (u = x, m = o, f = b || [], t[y] && (m = t, t[q] = o)) : u[0] == "_" ? (u = u.slice(1), m = this.closure) : m = this.getHandlerForMethod(e, u); } } try { u instanceof Function ? p = u.apply(m || e, f) : m && (p = m[u].apply(m, f)), p && p.then instanceof Function && p != C.$promise && (o.commit && !n && C.commit(), p = await p); } catch (y) { s = y; break; } if (_ && p === true || !_ && p === false) break; o.value = p; } if (A(o, "end", o), o.commit && !n && C.commit(), this.currentEvents.delete(t), this.currentEvents.size == 0 && this.emit("idle"), s) throw s; } } }, Kn = class { on$(t, e, r) { let s = "on$" + t, n; n = new Gr(e, r); let o = e.capture || false, l = e.passive, h = o; return l && (h = {passive: l, capture: o}), this[s] instanceof Function ? n = this[s](e, r, n, h) : this.addEventListener(t, n, h), n; } }; Wr(v.prototype, Kn.prototype); var Ae = new class { get ios\u03A6() { let i = globalThis.navigator.platform || ""; return !!(i.match(/iPhone|iPod|iPad/) || i == "MacIntel" && globalThis.navigator.maxTouchPoints > 2); } }(); function $t(i, t) { let e = t; return i instanceof Element ? i : typeof i == "string" ? i == "this" || i == "" ? e : i == "up" ? e.parentNode : i == "op" ? e.offsetParent : e.closest(i) || e.querySelector(i) || globalThis.document.querySelector(i) : null; } function lt(i) { if (typeof i == "string") { let [t, e, r] = i.match(/^([-+]?[\d\.]+)(%|\w+)$/); return [parseFloat(e), r]; } else if (typeof i == "number") return [i]; } function je(i, t = 1) { let e = 1 / t; return Math.round(i * e) / e; } function Ru(i, t, e) { return t > e ? Math.max(e, Math.min(t, i)) : Math.min(e, Math.max(t, i)); } function Xr(i, t, e, r, s = 0.1) { let [n, o] = lt(e), [l, h] = lt(r), [a, c] = lt(s); return o == "%" && (n = (t - i) * (n / 100)), h == "%" && (l = (t - i) * (l / 100)), c == "%" && (a = (l - n) * (a / 100)), function(u, d) { let b = (u - i) / (t - i), f = n + (l - n) * b; return s && (f = je(f, a)), d && (f = Ru(f, n, l)), f; }; } function Au(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } Yt(); function ju() { return true; } var Vn = class { \u03B1primary() { return !!this.isPrimary; } \u03B1mouse() { return this.pointerType == "mouse"; } \u03B1pen() { return this.pointerType == "pen"; } \u03B1touch() { return this.pointerType == "touch"; } \u03B1pressure(t = 0.5) { return this.pressure >= t; } \u03B1lock() { return true; } }; Au(br.prototype, Vn.prototype); function qu(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var Hn = Symbol.for("#capture"), G = Symbol.for("#step"), zu = Symbol.for("#cancel"), Qr = Symbol.for("#reframe"), Ic = Symbol.for("#__initor__"), Dc = Symbol.for("#__inited__"), Un = Symbol.for("#mods"), Jr = Symbol.for("#dx"), Zr = Symbol.for("#dy"), ht = Symbol.for("#context"), qe = Symbol.for("#locked"), Bn = Symbol.for("#teardown"), Yn = Symbol.for("#x"), Wn = Symbol.for("#y"), Ku = Symbol.for("#pinTarget"); function Vu() { return true; } var Gn = null, Xn = class { constructor(t, e, r) { this.phase = "init", this.events = [], this.originalEvent = t, this.handler = e, this.target = this.currentTarget = r, this[Un] = {}; } set event(t) { this.events.push(t); } get ctrlKey() { return this.originalEvent.ctrlKey; } get altKey() { return this.originalEvent.altKey; } get shiftKey() { return this.originalEvent.shiftKey; } get metaKey() { return this.originalEvent.metaKey; } get isPrimary() { return this.originalEvent.isPrimary; } get pointerType() { return this.originalEvent.pointerType; } get start() { return this.originalEvent; } get originalTarget() { return this.originalEvent.target; } get event() { return this.events[this.events.length - 1]; } get elapsed() { return this.event.timeStamp - this.events[0].timeStamp; } get type() { return this.event.type; } get pointerId() { return this.originalEvent.pointerId; } get pressure() { return this.event.pressure; } get clientX() { return this.event.clientX; } get clientY() { return this.event.clientY; } get offsetX() { return this.event.offsetX; } get offsetY() { return this.event.offsetY; } get active\u03A6() { return this.phase != "ended"; } get ended\u03A6() { return this.phase == "ended"; } get dx() { return this[Jr] == null ? this.event.x - this.start.x : this[Jr]; } get dy() { return this[Zr] == null ? this.event.y - this.start.y : this[Zr]; } stopImmediatePropagation() { return this.cancelBubble = true, this.event.stopImmediatePropagation(), this; } stopPropagation() { return this.cancelBubble = true, this.event.stopPropagation(), this; } preventDefault() { return this.defaultPrevented = true, this.event.preventDefault(); } emit(t, ...e) { return A(this, t, e); } on(t, ...e) { return R(this, t, ...e); } once(t, ...e) { return F(this, t, ...e); } un(t, ...e) { return ct(this, t, ...e); } \u03B1flag(t, e) { let {element: r} = this[ht], s = Date.now(), n = e instanceof v ? e : e ? r.closest(e) : r; return (this[G].setup != true ? (this[G].setup = true, true) : false) && (n.flags.incr(t), F(this, "end", function() { return n.flags.decr(t); })), true; } \u03B1lock() { return this[Hn](), true; } [Hn]() { if (this[qe] != true ? (this[qe] = true, true) : false) return this[ht].element.setPointerCapture(this.pointerId); } get [G]() { var t, e; return (t = this[Un])[e = this[ht].step] || (t[e] = {}); } [zu]() { return this[Bn](); } \u03B1moved(t, e) { let r = this[G], {element: s, state: n, event: o} = this[ht]; if (!r.setup) { let u = t || 4; typeof t == "string" && t.match(/^(up|down|left|right|x|y)$/) && (r.dir = t, u = e || 4), typeof e == "string" && e.match(/^(up|down|left|right|x|y)$/) && (r.dir = e), r.setup = true; let [d, b] = lt(u); r.threshold = d, r.sy = d, r.x0 = this.x, r.y0 = this.y, r.dir || (r.dir = "dist"), r.x = r.left = r.right = r.y = r.up = r.down = r.dist = 0, b && b != "px" && console.warn("only px threshold allowed in @touch.moved"); } if (r.active) return true; if (r.cancelled) return false; let l = r.threshold, h = this.x - r.x0, a = this.y - r.y0; r.x = Math.max(r.x, Math.abs(h)), r.y = Math.max(r.y, Math.abs(a)), r.left = Math.max(r.left, -h), r.right = Math.max(r.right, h), r.up = Math.max(r.up, -a), r.down = Math.max(r.down, a), r.dist = Math.max(r.dist, Math.sqrt(h * h + a * a)); let c = r[r.dir]; if (c > l && c >= r.x && c >= r.y) { r.active = true; let u = n.pinTarget; return s.flags.incr("_move_"), u && u.flags.incr("_move_"), this.preventDefault(), F(this, "end", function() { return u && u.flags.decr("_move_"), s.flags.decr("_move_"); }), true; } else if (r.x > l || r.y > l) return r.cancelled = true, false; return false; } \u03B1hold(t = 250) { var e = this; let r = this[G], s = this[ht].element; if (r.cancelled) return false; if (r.setup && !r.active) { let n = this.clientX, o = this.clientY, l = n - r.x, h = o - r.y; Math.sqrt(l * l + h * h) > 5 && !r.cancelled && (clearTimeout(r.timeout), r.cancelled = true); } if (r.setup != true ? (r.setup = true, true) : false) { r.active = false, r.x = this.clientX, r.y = this.clientY; let n; return r.timeout = setTimeout(function() { return r.active = true, e.preventDefault(), s.flags.incr("_hold_"), n && n(true), n = null; }, t), F(e, "end", function() { return r.active && s.flags.decr("_hold_"), clearTimeout(r.timeout), n && n(false), n = null; }), new Promise(function(o) { return n = o; }); } return r.active; } \u03B1sync(t, e = "x", r = "y") { let s = this[G]; return (s.setup != true ? (s.setup = true, true) : false) ? (s.x = t[e] || 0, s.y = t[r] || 0, s.tx = this.x, s.ty = this.y) : (e && (t[e] = s.x + (this.x - s.tx)), r && (t[r] = s.y + (this.y - s.ty))), this[ht].commit = true, true; } \u03B1apply(t, e = "x", r = "y") { return e && (t[e] = this.x), r && (t[r] = this.y), this[ht].commit = true, true; } \u03B1css(t = "x", e = "y") { let r = this[G]; if (r.setup != true ? (r.setup = true, true) : false) r.el = this[ht].element, r.x = r.el[Yn] || 0, r.y = r.el[Wn] || 0, r.tx = this.x, r.ty = this.y; else { let s = r.el[Yn] = r.x + (this.x - r.tx), n = r.el[Wn] = r.y + (this.y - r.ty); t && r.el.style.setProperty("--x", s + "px"), e && r.el.style.setProperty("--y", n + "px"); } return true; } \u03B1end() { return this.phase == "ended"; } \u03B1shift() { return !!this.shiftKey; } \u03B1alt() { return !!this.altKey; } \u03B1ctrl() { return !!this.ctrlKey; } \u03B1meta() { return !!this.metaKey; } \u03B1primary() { return !!this.isPrimary; } \u03B1mouse() { return this.pointerType == "mouse"; } \u03B1pen() { return this.pointerType == "pen"; } \u03B1touch() { return this.pointerType == "touch"; } \u03B1pressure(t = 0.5) { return this.pressure >= t; } \u03B1log(...t) { return console.info(...t), true; } \u03B1left() { return this.originalEvent.button == 0; } \u03B1middle() { return this.originalEvent.button == 1; } \u03B1right() { return this.originalEvent.button == 2; } \u03B1round(t = 1, e = t) { return this.x = je(this.x, t), this.y = je(this.y, e), true; } [Qr](...t) { let e = this[G]; if (e.setup != true ? (e.setup = true, true) : false) { let r = this.target, s = t.length, n = t[0], o = 0, l = "100%", h = 0, a = typeof n; a == "number" || a == "string" && /^([-+]?\d[\d\.]*)(%|\w+)$/.test(n) || n instanceof Array ? n = null : a == "string" && (n == "this" || n == "" ? n = r : n == "up" ? n = r.parentNode : n == "op" ? n = r.offsetParent : n = r.closest(n) || r.querySelector(n)), n == null && (s++, t.unshift(n = r)), s == 2 ? h = t[1] : s > 2 && ([o, l, h = 0] = t.slice(1)); let c = n.getBoundingClientRect(); o instanceof Array || (o = [o, o]), l instanceof Array || (l = [l, l]), h instanceof Array || (h = [h, h]), e.rect = c, e.x = Xr(c.left, c.right, o[0], l[0], h[0]), e.y = Xr(c.top, c.bottom, o[1], l[1], h[1]), this.x0 = this.x = e.x(this.x, e.clamp), this.y0 = this.y = e.y(this.y, e.clamp); } else { let r = this.x = e.x(this.x, e.clamp), s = this.y = e.y(this.y, e.clamp); this[Jr] = r - this.x0, this[Zr] = s - this.y0; } return true; } \u03B1fit(...t) { return this[G].clamp = true, this[Qr](...t); } \u03B1reframe(...t) { return this[Qr](...t); } \u03B1pin(...t) { let e = this[G]; if (e.setup != true ? (e.setup = true, true) : false) { let r = $t(t[0], this.target); r instanceof v || t.unshift(r = this.target); let s = t[1] || 0, n = t[2] == null ? t[2] = s : t[2], o = r.getBoundingClientRect(); e.x = this.clientX - (o.left + o.width * s), e.y = this.clientY - (o.top + o.height * n), r && (this[Ku] = r, r.flags.incr("_touch_"), F(this, "end", function() { return r.flags.decr("_touch_"); })); } return this.x -= e.x, this.y -= e.y, true; } }, Qn = class { on$touch(t, e, r, s) { return r.type = "touch", this.addEventListener("pointerdown", r, {passive: false}), Ae.ios\u03A6 && globalThis.parent != globalThis && (Gn != true ? (Gn = true, true) : false) && globalThis.parent.postMessage("setupTouchFix"), r; } }; qu(v.prototype, Qn.prototype); if (globalThis.parent == globalThis && Ae.ios\u03A6) { let i = function(t) { if (t.data == "setupTouchFix") return globalThis.addEventListener("touchmove", function() { return false; }, {passive: false}), globalThis.removeEventListener("message", i); }; globalThis.addEventListener("message", i); } K.touch$handle = function() { let i = this.event, t = this.element, e = this.state.pointerId, r = this.modifiers, s = this.handler, n = Ae.ios\u03A6; if (this.current = this.state, e != null) return e == i.pointerId; if (r.ctrl && !i.ctrlKey || r.alt && !i.altKey || r.meta && !i.metaKey || r.shift && !i.shiftKey || r.if && !r.if[0] || r.self && i.target != t || r.primary && !i.isPrimary || r.pen && i.pointerType != "pen" || r.mouse && i.pointerType != "mouse" || r.touch && i.pointerType != "touch" || r.sel && !i.target.matches(String(r.sel[0]))) return; let o = this.state = s.state = this.current = new Xn(i, s, t); e = o.pointerId; let l = function(f) { return f.preventDefault(), false; }, h = null, a = Symbol(), c = function(f) { let p = o.clientX, m = o.clientY, g = f.clientX, _ = f.clientY; (o[qe] || o.defaultPrevented) && (f.pointerId == o.pointerId || p == g && m == _) && (f.preventDefault(), f.stopPropagation()), c && (globalThis.removeEventListener("click", c, {capture: true}), c = null); }, u = function(f) { if (!(o.type == "touchmove" && f.changedTouches[0].identifier != e) && (o.defaultPrevented || o[qe])) return f.preventDefault(); }, d = function(f) { let p = f.type, m = o.phase; if (f.pointerId && o.pointerId != f.pointerId || f[a]) return; f[a] = true; let g = p == "pointerup" || p == "pointercancel"; if (f.pressure == 0 && f.pointerType == "mouse" && p == "pointermove" && o.originalEvent.pressure > 0) return h(f); p == "pointercancel" ? (o.x = o.clientX, o.y = o.clientY) : (o.x = f.clientX, o.y = f.clientY), o.event = f, g && (o.phase = "ended"); try { s.handleEvent(o); } catch (_) { } if (m == "init" && !g && (o.phase = "active"), g && h) return h(f); }, b = false; return h = function(f) { if (!b && (b = true, t.flags.decr("_touch_"), o.phase != "ended" && (o.phase = "ended", o.x = o.clientX, o.y = o.clientY, s.handleEvent(o)), o.emit("end"), r.passive || --s.prevents == 0 && t.style.removeProperty("touch-action"), s.state = {}, globalThis.removeEventListener("pointermove", d, {passive: !!r.passive}), globalThis.removeEventListener("pointerup", d), globalThis.removeEventListener("pointercancel", d), setTimeout(function() { if (c && (globalThis.removeEventListener("click", c, {capture: true}), c = null), n && u) return globalThis.removeEventListener("touchend", u), globalThis.removeEventListener("touchmove", u, {passive: false}), u = null; }, 100), !r.passive)) return globalThis.document.removeEventListener("selectstart", l, {capture: true}); }, o[Bn] = h, r.passive || (s.prevents || (s.prevents = 0), s.prevents++, t.style.setProperty("touch-action", "none"), t.offsetWidth), t.flags.incr("_touch_"), globalThis.addEventListener("pointermove", d, {passive: !!r.passive}), globalThis.addEventListener("pointerup", d), globalThis.addEventListener("pointercancel", d), globalThis.addEventListener("click", c, {capture: true}), n && !r.passive && (globalThis.addEventListener("touchend", u), globalThis.addEventListener("touchmove", u, {passive: false})), r.passive || globalThis.document.addEventListener("selectstart", l, {capture: true}), d(i), false; }; function Jn(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } function Hu(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var Uu = Symbol.for("#context"), Bu = Symbol.for("#extendType"); function Yu() { return true; } var Zn = new (globalThis.WeakMap || Map)(), ze = {threshold: [0]}, Wu = {}; K.intersect$handle = function() { let i = this.event.detail.observer; return this.modifiers._observer == i; }; var to = class extends P { \u03B1in() { return this.delta >= 0 && this.entry.isIntersecting; } \u03B1out() { return this.delta < 0; } \u03B1css(t = "ratio") { return this.target.style.setProperty("--ratio", this.ratio), true; } \u03B1flag(t, e) { let {state: r, step: s} = this[Uu], n = $t(e || "", this.target); return this.isIntersecting && !r[s] ? (n.flags.incr(t), r[s] = true) : r[s] && !this.isIntersecting && (n.flags.decr(t), r[s] = false), true; } }; function Gu(i, t) { return function(e, r) { let s = r.prevRatios || (r.prevRatios = new WeakMap()); for (let n = 0, o = Jn(e), l = o.length; n < l; n++) { let h = o[n], a = s.get(h.target) || 0, c = h.intersectionRatio, u = {entry: h, ratio: c, from: a, delta: c - a, observer: r}, d = new P(i, {bubbles: false, detail: u}); d[Bu](to), d.entry = h, d.isIntersecting = h.isIntersecting, d.delta = u.delta, d.ratio = u.ratio, s.set(h.target, c), h.target.dispatchEvent(d); } }; } function eo(i = ze) { let t = i.threshold.join("-") + i.rootMargin; !i.root && ze.root && (i.root || (i.root = ze.root)); let e = i.root || Wu, r = Zn.get(e); return r || Zn.set(e, r = {}), r[t] || (r[t] = new IntersectionObserver(Gu("intersect", t), i)); } var ro = class { on$intersect(t, e, r, s) { let n; if (t.options) { let o = [], l = {threshold: o}; for (let h = 0, a = Jn(t.options), c = a.length; h < c; h++) { let u = a[h]; u instanceof v || u instanceof Et ? l.root = u : typeof u == "number" ? o.push(u) : typeof u == "string" ? l.rootMargin = u : typeof u == "object" && Object.assign(l, u); } if (o.length == 1) { let h = o[0]; if (h > 1) for (o[0] = 0; o.length < h; ) o.push(o.length / (h - 1)); } o.length == 0 && o.push(0), n = eo(l); } else n = eo(); return t._observer = n, n.observe(this), this.addEventListener("intersect", r, s), r; } }; Hu(v.prototype, ro.prototype); function Xu(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } function Qu(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var Ju = Symbol.for("#extendType"); function Zu() { return true; } var Ke = null, io = class extends P { \u03B1css(t = "1elw", e = "1elh", r = "") { let s = this.target; if (s.offsetParent) { let n = lt(t), o = lt(e), l = $t(r, s), h = n ? "--u_" + n[1] : "--" + t, a = o ? "--u_" + o[1] : "--" + e, c = n ? this.width / n[0] : this.width, u = o ? this.height / o[0] : this.height; l.style.setProperty(h, c), l.style.setProperty(a, u); } return true; } }; function ta() { return globalThis.ResizeObserver || Ke || (console.warn(":resize not supported in this browser"), Ke = {observe: function() { return true; }}), Ke || (Ke = new ResizeObserver(function(i) { for (let t = 0, e = Xu(i), r = e.length; t < r; t++) { let s = e[t], n = new P("resize", {bubbles: false, detail: s}); n.entry = s, n.rect = s.contentRect, n.width = s.target.offsetWidth, n.height = s.target.offsetHeight, n[Ju](io), s.target.dispatchEvent(n); let o = new P("resized", {bubbles: true, detail: s}); s.target.dispatchEvent(o); } })); } var so = class { on$resize(t, e, r, s) { return ta().observe(this), this.addEventListener("resize", r, s), r; } }; Qu(v.prototype, so.prototype); function ea(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } function ra() { return true; } var ti, no = Symbol(); function ia() { if (!ti) return ti = function(i) { if (i[no]) return; i[no] = true; let t = globalThis.document.activeElement; if (t && t.matches("input,textarea")) { let e = new P("selection", {detail: {start: t.selectionStart, end: t.selectionEnd}}); return t.dispatchEvent(e); } }, globalThis.document.addEventListener("selectionchange", ti); } var oo = class { on$selection(t, e, r, s) { return ia(), this.addEventListener("selection", r, s), r; } }; ea(v.prototype, oo.prototype); var lo = Symbol.for("#string"), ho = Symbol.for("#html"), X = {win: {sep: "+", name: "win", order: ["meta", "ctrl", "mod", "alt", "option", "shift"].reverse(), labels: {option: "alt", mod: "ctrl", meta: "win"}}, mac: {sep: "", name: "mac", order: ["ctrl", "alt", "option", "shift", "mod", "command"].reverse(), labels: {left: "\u2192", up: "\u2191", down: "\u2193", right: "\u2190", plus: "+", tab: "\u21E5", meta: "\u2318", mod: "\u2318", ctrl: "\u2303", option: "\u2325", alt: "\u2325", del: "\u2326", shift: "\u21E7", enter: "\u21A9", esc: "\u238B", backspace: "\u232B"}}}; X.auto = X.win; (globalThis.navigator.platform || "").match(/iPhone|iPod|iPad|Mac/) && (X.auto = X.mac); var ei = {}; function uo(i, t = "auto") { let e = "" + i + ":" + t; if (ei[e]) return ei[e]; let r = X[t] || X.win, s = i.split(" ").map(function(n) { return n.split("+").sort(function(a, c) { return r.order.indexOf(c) - r.order.indexOf(a); }).map(function(a) { let c = r.labels[a] || a; return c = c[0].toUpperCase() + (c.slice(1) || ""); }); }); return ei[e] = s; } function ao(i, t) { var e; let r = uo(i, t), s = X[t] || X.win; return r[lo] || (r[lo] = r.map(function(n) { return n.join(s.sep); }).join(" ")); } function fo(i, t) { var e; let r = uo(i, t), s = X[t] || X.win; return r[ho] || (r[ho] = r.map(function(n) { return "<kbd>" + n.map(function(o) { return "<kbd>" + o + "</kbd>"; }).join("") + "</kbd>"; }).join(" ")); } var ut = {8: "backspace", 9: "tab", 13: "enter", 16: "shift", 17: "ctrl", 18: "alt", 20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home", 37: "left", 38: "up", 39: "right", 40: "down", 45: "ins", 46: "del", 91: "meta", 93: "meta", 224: "meta"}, co = {106: "*", 107: "+", 109: "-", 110: ".", 111: "/", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'"}, po = {"~": "`", "!": "1", "@": "2", "#": "3", $: "4", "%": "5", "^": "6", "&": "7", "*": "8", "(": "9", ")": "0", _: "-", "+": "=", ":": ";", '"': "'", "<": ",", ">": ".", "?": "/", "|": "\\"}, mo = {option: "alt", command: "meta", return: "enter", escape: "esc", plus: "+", mod: /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? "meta" : "ctrl"}, Wt; for (var it = 1; it < 20; ++it) ut[111 + it] = "f" + it; for (it = 0; it <= 9; ++it) ut[it + 96] = it.toString(); function ri(i, t, e) { if (i.addEventListener) { i.addEventListener(t, e, false); return; } i.attachEvent("on" + t, e); } function ii(i, t, e) { if (i.removeEventListener) { i.removeEventListener(t, e, false); return; } i.detachEvent("on" + t, e); } function go(i) { if (i.type == "keypress") { var t = String.fromCharCode(i.which); return i.shiftKey || (t = t.toLowerCase()), t; } return ut[i.which] ? ut[i.which] : co[i.which] ? co[i.which] : String.fromCharCode(i.which).toLowerCase(); } function sa(i, t) { return i.sort().join(",") === t.sort().join(","); } function na(i) { var t = []; return i.shiftKey && t.push("shift"), i.altKey && t.push("alt"), i.ctrlKey && t.push("ctrl"), i.metaKey && t.push("meta"), t; } function oa(i) { if (i.preventDefault) { i.preventDefault(); return; } i.returnValue = false; } function la(i) { if (i.stopPropagation) { i.stopPropagation(); return; } i.cancelBubble = true; } function si(i) { return i == "shift" || i == "ctrl" || i == "alt" || i == "meta"; } function ha() { if (!Wt) { Wt = {}; for (var i in ut) i > 95 && i < 112 || ut.hasOwnProperty(i) && (Wt[ut[i]] = i); } return Wt; } function ua(i, t, e) { return e || (e = ha()[i] ? "keydown" : "keypress"), e == "keypress" && t.length && (e = "keydown"), e; } function aa(i) { return i === "+" ? ["+"] : (i = i.replace(/\+{2}/g, "+plus"), i.split("+")); } function yo(i, t) { var e, r, s, n = []; for (e = aa(i), s = 0; s < e.length; ++s) r = e[s], mo[r] && (r = mo[r]), t && t != "keypress" && po[r] && (r = po[r], n.push("shift")), si(r) && n.push(r); return t = ua(r, n, t), {key: r, modifiers: n, action: t}; } function _o(i, t) { return i === null || i === document ? false : i === t ? true : _o(i.parentNode, t); } function L(i) { var t = this; if (i = i || document, !(t instanceof L)) return new L(i); t.target = i, t._callbacks = {}, t._directMap = {}; var e = {}, r, s = false, n = false, o = false; function l(f) { f = f || {}; var p = false, m; for (m in e) { if (f[m]) { p = true; continue; } e[m] = 0; } p || (o = false); } function h(f, p, m, g, _, E) { var y, x, N = [], M = m.type; if (!t._callbacks[f]) return []; for (M == "keyup" && si(f) && (p = [f]), y = 0; y < t._callbacks[f].length; ++y) if (x = t._callbacks[f][y], !(!g && x.seq && e[x.seq] != x.level) && M == x.action && (M == "keypress" && !m.metaKey && !m.ctrlKey || sa(p, x.modifiers))) { var Ci = !g && x.combo == _, le = g && x.seq == g && x.level == E; (Ci || le) && t._callbacks[f].splice(y, 1), N.push(x); } return N; } function a(f, p, m, g) { t.stopCallback(p, p.target || p.srcElement, m, g) || f(p, m) === false && (oa(p), la(p)); } t._handleKey = function(f, p, m) { var g = h(f, p, m), _, E = {}, y = 0, x = false; for (_ = 0; _ < g.length; ++_) g[_].seq && (y = Math.max(y, g[_].level)); for (_ = 0; _ < g.length; ++_) { if (g[_].seq) { if (g[_].level != y) continue; x = true, E[g[_].seq] = 1, a(g[_].callback, m, g[_].combo, g[_].seq); continue; } x || a(g[_].callback, m, g[_].combo); } var N = m.type == "keypress" && n; m.type == o && !si(f) && !N && l(E), n = x && m.type == "keydown"; }; function c(f) { typeof f.which != "number" && (f.which = f.keyCode); var p = go(f); if (!!p) { if (f.type == "keyup" && s === p) { s = false; return; } t.handleKey(p, na(f), f); } } function u() { clearTimeout(r), r = setTimeout(l, 1e3); } function d(f, p, m, g) { e[f] = 0; function _(M) { return function() { o = M, ++e[f], u(); }; } function E(M) { a(m, M, f), g !== "keyup" && (s = go(M)), setTimeout(l, 10); } for (var y = 0; y < p.length; ++y) { var x = y + 1 === p.length, N = x ? E : _(g || yo(p[y + 1]).action); b(p[y], N, g, f, y); } } function b(f, p, m, g, _) { t._directMap[f + ":" + m] = p, f = f.replace(/\s+/g, " "); var E = f.split(" "), y; if (E.length > 1) { d(f, E, p, m); return; } y = yo(f, m), t._callbacks[y.key] = t._callbacks[y.key] || [], h(y.key, y.modifiers, {type: y.action}, g, f, _), t._callbacks[y.key][g ? "unshift" : "push"]({callback: p, modifiers: y.modifiers, action: y.action, seq: g, level: _, combo: f}); } t._bindMultiple = function(f, p, m) { for (var g = 0; g < f.length; ++g) b(f[g], p, m); }, t.enable = function() { ri(i, "keypress", c), ri(i, "keydown", c), ri(i, "keyup", c); }, t.disable = function() { ii(i, "keypress", c), ii(i, "keydown", c), ii(i, "keyup", c); }, t.enable(); } L.prototype.bind = function(i, t, e) { var r = this; return i = i instanceof Array ? i : [i], r._bindMultiple.call(r, i, t, e), r; }; L.prototype.unbind = function(i, t) { var e = this; return e.bind.call(e, i, function() { }, t); }; L.prototype.trigger = function(i, t) { var e = this; return e._directMap[i + ":" + t] && e._directMap[i + ":" + t]({}, i), e; }; L.prototype.reset = function() { var i = this; return i._callbacks = {}, i._directMap = {}, i; }; L.prototype.stopCallback = function(i, t) { var e = this; return (" " + t.className + " ").indexOf(" mousetrap ") > -1 || _o(t, e.target) ? false : t.tagName == "INPUT" || t.tagName == "SELECT" || t.tagName == "TEXTAREA" || t.isContentEditable; }; L.prototype.handleKey = function() { var i = this; return i._handleKey.apply(i, arguments); }; L.addKeycodes = function(i) { for (var t in i) i.hasOwnProperty(t) && (ut[t] = i[t]); Wt = null; }; L.init = function() { var i = L(document); for (var t in i) t.charAt(0) !== "_" && (L[t] = function(e) { return function() { return i[e].apply(i, arguments); }; }(t)); }; function Gt(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } function fa(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var td = Symbol.for("#__initor__"), ed = Symbol.for("#__inited__"), ni = Symbol.for("#updateHotKeys"), ca = Symbol.for("#inInput"), oi = Symbol.for("#inEditable"), da = Symbol.for("#hotkeyTarget"), bo = Symbol.for("#hotkeyCombos"), pa = Symbol.for("#extendType"), Xt = Symbol.for("#combos"), vo = Symbol.for("#target"), Qt = Symbol.for("#hotkeyHandlers"), ma = Symbol.for("#defaultPrevented"), ga = Symbol.for("#visit"), xo = Symbol.for("#key"), ya; try { ya = (globalThis.navigator.platform || "").match(/iPhone|iPod|iPad|Mac/); } catch (i) { } function _a() { return true; } var li = {esc: true}, So = class extends P { \u03B1focus(t) { let e = this.target, r = e.ownerDocument; return t && (e = e.querySelector(t) || e.closest(t) || r.querySelector(t)), e == r.body ? r.activeElement != r.body && r.activeElement.blur() : e.focus(), true; } \u03B1repeat() { return true; } }, ba = function(i, t, e) { return t.tagName == "INPUT" && (e == "down" || e == "up") ? false : t.tagName == "INPUT" || t.tagName == "SELECT" || t.tagName == "TEXTAREA" ? li[e] ? (i[ca] = true, i[oi] = true, false) : true : t.contentEditable && (t.contentEditable == "true" || t.contentEditable == "plaintext-only") ? li[e] ? (i[oi] = true, false) : true : false; }, wo = new class { constructor() { this.combos = {"*": {}}, this.identifiers = {}, this.labels = {}, this.handler = this.handle.bind(this), this.mousetrap = null, this.hothandler = this.handle.bind(this); } addKeycodes(t) { return L.addKeycodes(t); } trigger(t) { var e, r; return (r = (e = this.mousetrap) == null ? void 0 : e.trigger) == null ? void 0 : r.call(e, t); } register(t, e = {}) { return this.mousetrap || (this.mousetrap = L(globalThis.document), this.mousetrap.stopCallback = ba), this.combos[t] || (this.combos[t] = true, this.mousetrap.bind(t, this.handler)), (e.capture || e.force) && (li[t] = true), this; } comboIdentifier(t) { var e; return (e = this.identifiers)[t] || (e[t] = t.replace(/\+/g, "_").replace(/\ /g, "-").replace(/\*/g, "all").replace(/\|/g, " ")); } humanize(t, e = "auto") { return ao(t, e); } htmlify(t, e = "auto") { return fo(t, e); } matchCombo(t) { return true; } handle(t, e) { var c; let r = t.target && t.target[da] || t.target || globalThis.document.body, s = Array.from(globalThis.document.querySelectorAll("[data-hotkey]")), n = r.ownerDocument, o = r; for (; o && o != n && o.hotkeys !== true; ) o = o.parentNode; if (s = s.reverse().filter(function(u) { let d = u[bo]; if (!(d && (d[e] || d["*"]))) return false; let b = u; for (; b && b != n; ) { if (b.hotkeys === false) return false; b = b.parentNode; } return true; }), !s.length) return; let l = {combo: e, originalEvent: t, targets: s}, h = new P("hotkey", {bubbles: true, detail: l}); h[pa](So), h.originalEvent = t, h.hotkey = e, r.dispatchEvent(h); let a = []; for (let u = 0, d = Gt(s), b = d.length; u < b; u++) { let f = d[u]; for (let p = 0, m = Gt(f[Qt]), g = m.length; p < g; p++) { let _ = m[p]; if ((_[Xt][e] || _[Xt]["*"]) && (!t[oi] || _.capture\u03A6 || _.params.force)) { let E = _[vo]; (o.contains(E) || E.contains(o) || _.global\u03A6) && a.push(_); } } } for (let u = 0, d = Gt(a), b = d.length; u < b; u++) { let f = d[u]; if ((!t.repeat || f.params.repeat) && f.handleEvent(h), (!f.passive\u03A6 || h[ma]) && ((c = t == null ? void 0 : t.preventDefault) == null || c.call(t)), !f.passive\u03A6) break; } return this; } }(), Eo = function(i, t) { let e = t.element; e instanceof v && (e.matches("input,textarea,select,option") ? e.focus() : e.click()); }; Eo.passive = true; var To = class { on$hotkey(t, e, r, s) { var n = this; return this[Qt] || (this[Qt] = []), this[Qt].push(r), r[vo] = this, t.$_ || (t.$_ = [Eo]), t[ga] = function() { return n[ni](); }, this[ni](), r; } [ni]() { let t = {}; for (let e = 0, r = Gt(this[Qt]), s = r.length; e < s; e++) { let n = r[e], o = n.params, l = o.options[0]; if (n[xo] != l ? (n[xo] = l, true) : false) { n[Xt] = {}; for (let h = 0, a = Gt(l.split("|")), c = a.length; h < c; h++) { let u = a[h]; wo.register(u, o), n[Xt][u] = true; } } Object.assign(t, n[Xt]); } return this[bo] = t, this.dataset.hotkey = Object.keys(t).join(" "), this; } }; fa(v.prototype, To.prototype); var Bo = Al(Io()); var ui = Symbol.for("#getQueryParam"), Do = Symbol.for("#setQueryParam"), nd = Symbol.for("#__initor__"), od = Symbol.for("#__inited__"), Ro = Symbol.for("#query"); var Y = class { static parse(t, e) { return t instanceof Y ? t : new Y(t, e); } constructor(t, e) { this.router = e, this.parse(t); } parse(t) { var r; let e; return t instanceof URL || (t = new URL(t, this.router.origin)), (e = (r = this.router) == null ? void 0 : r.aliases[t.pathname]) && (t.pathname = e), this.url = t, this; } get active\u03A6() { return this.router.location == this; } reparse() { return this.parse(this.url); } get searchParams() { return this.url.searchParams; } search() { let t = this.searchParams ? this.searchParams.toString() : ""; return t ? "?" + t : ""; } update(t) { if (t instanceof Object) for (let e = 0, r = Object.keys(t), s = r.length, n, o; e < s; e++) n = r[e], o = t[n], this.searchParams.set(n, o); else typeof t == "string" && this.parse(t); return this; } clone() { return new Y(this.url.href, this.router); } equals(t) { return this.toString() == String(t); } get href() { return this.url.href; } get path() { return this.url.href.slice(this.url.origin.length); } get pathname() { return this.url.pathname; } get query() { return this[Ro] || (this[Ro] = new Proxy({}, {get: this[ui].bind(this), set: this[Do].bind(this)})); } toString() { return this.href; } [ui](t, e) { return this.searchParams.get(e); } [Do](t, e, r) { return this[ui](t, e) != r && (r == null || r == "" ? this.searchParams.delete(e) : this.searchParams.set(e, r), this.active\u03A6 && (this.router.history.replaceState({}, null, this.url.toString()), this.router.touch())), true; } }; var ud = Symbol.for("#__initor__"), ad = Symbol.for("#__inited__"), Ue = class { constructor(t, e, r) { this.router = t, e && (this.location = Y.parse(e), this.original = this.location.clone()), this.referrer = r; } redirect(t) { var e, r; return (r = (e = this.location) == null ? void 0 : e.update) == null || r.call(e, t), this; } get path() { var t; return (t = this.location) == null ? void 0 : t.path; } get url() { var t, e; return (e = (t = this.location) == null ? void 0 : t.toString) == null ? void 0 : e.call(t); } set path(t) { this.location.path = t; } abort(t = false) { return this.aborted = true, t && (this.forceAbort = t), this; } match(t) { return this.location ? this.router.route(t).match(this.path) : null; } }; function Ao(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } var cd = Symbol.for("#__initor__"), dd = Symbol.for("#__inited__"), Be = Symbol.for("#routes"), ai = Symbol.for("#match"), Ta = Symbol.for("#symbol"), jo = Symbol.for("#matches"), fi = new Map(), ci = {}, qo = {}; function Oa(i) { if (!fi.has(i)) { let t = new Map(); return fi.set(i, t), t; } return fi.get(i); } function Na(i, t) { let e = Oa(i); if (!e.has(t)) { let r = Object.create(i); return Object.assign(r, t), e.set(t, r), r; } return e.get(t); } var zo = class { }; function Ca(i) { if (ci[i]) return ci[i]; let t = ci[i] = {url: i}, e = i.indexOf("?"), r = i.indexOf("#"); if (r >= 0 && (t.hash = i.slice(r + 1), i = t.url = i.slice(0, r)), e >= 0) { let s = t.query = i.slice(e + 1); i = i.slice(0, e), t.query = qo[s] || (qo[s] = new URLSearchParams(s)); } return t.path = i, t; } var di = class { constructor(t) { this.router = t, this.fullPath = "", this[Be] = {}, this[ai] = new zo(), this[ai].path = ""; } route(t) { var e; return (e = this[Be])[t] || (e[t] = new Ye(this.router, t, this)); } match() { return this[ai]; } resolve(t) { return "/"; } }, Ye = class { constructor(t, e, r) { this.parent = r || t.rootRoute, this.router = t, this.status = 200, this.path = e, this[Ta] = Symbol(), this[jo] = {}, this[Be] = {}; } route(t) { var e; return (e = this[Be])[t] || (e[t] = new Ye(this.router, t, this)); } get fullPath() { return "" + this.parent.fullPath + "/" + this.$path; } load(t) { return this.router.queue.add(t); } set path(t) { var e = this; if (this.$path == t) return; if (this.raw = t, this.$path = t, this.groups = [], this.cache = {}, this.dynamic = false, t.indexOf("?") >= 0) { let s = t.split("?"); t = s.shift(), this.query = {}; for (let n = 0, o = Ao(s.join("?").split("&")), l = o.length; n < l; n++) { let h = o[n]; if (!h) continue; let [a, c] = h.split("="); a[0] == "!" && (this.dynamic = true, a = a.slice(1), c = false), c === "" && (c = false), c && c[0] == ":" && (this.dynamic = true), this.query[a] = c || c !== false; } } if (t = t.replace(/\:(\w+|\*)(\.)?/g, function(s, n, o) { return e.dynamic = true, n != "*" && e.groups.push(n), o ? "([^/#.?]+)." : "([^/#?]+)"; }), t == "" && e.query) return; t = "^" + t; let r = t[t.length - 1]; r == "$" && (t = t.slice(0, -1) + "(?=/?[#?]|/?$)"), r != "/" && r != "$" && t != "^/" && (t = t + "(?=[/#?]|$)"), e.regex = new RegExp(t); } match(t = this.router.path) { var h, a; var e, r; let s = this.parent.match(t); if (!s) return null; let n = Ca(t), o = n.url, l = ""; if (s.path && n.path.indexOf(s.path) == 0 && (l = s.path + "/", o = o.slice(l.length)), e = this.regex ? o.match(this.regex) : [""]) { let c = l + e[0], u = [this.$path], d = {}; if (this.groups.length) for (let p = 0, m = Ao(e), g = m.length, _; p < g; p++) { let E = m[p]; (_ = this.groups[p - 1]) && (d[_] = E, u.push(E)); } if (this.query) for (let p = this.query, m = 0, g = Object.keys(p), _ = g.length, E, y; m < _; m++) { E = g[m], y = p[E]; let x = E, N = (a = (h = n.query) == null ? void 0 : h.get) == null ? void 0 : a.call(h, E); if (y === false) { if (N) return null; u.push("1"); continue; } if (y[0] == ":" && (x = y.slice(1), y = true), y == true && N || y == N) d[x] = N, u.push(N); else return null; } let b = u.join("*"); d = (r = this[jo])[b] || (r[b] = d); let f = Na(s, d); return f.path = c, f; } return null; } resolve(t = this.router.path) { if (this.raw[0] == "/" && !this.dynamic) return this.raw.replace(/\$/g, ""); let e = this.parent.match(t), r = this.parent.resolve(t), s; if (this.dynamic) { let n = this.match(t); return n ? n.path : null; } return this.raw[0] == "?" ? s = (r || "/") + this.raw : s = r + "/" + this.raw, s.replace(/\$/g, "").replace(/\/\/+/g, "/"); } }; var Ko = Symbol.for("#__initor__"), Vo = Symbol.for("#__inited__"), Ho = Symbol.for("#__init__"), We = Symbol.for("#idler"), Jt = Symbol.for("#resolve"), Uo = Symbol(), Ge = class extends Set { static [Ho]() { return this.prototype[Ko] = Uo, this; } constructor() { super(); this[We] = Promise.resolve(this), this[Ko] === Uo && this[Vo] && this[Vo](); } emit(t, ...e) { return A(this, t, e); } on(t, ...e) { return R(this, t, ...e); } once(t, ...e) { return F(this, t, ...e); } un(t, ...e) { return ct(this, t, ...e); } add(t) { var e = this; if (t instanceof Function && (t = t()), !this.has(t)) { t.then(function() { return e.delete(t); }); let r = e.size == 0; super.add(t), r && (this[We] = this[Jt] = null, e.emit("busy", e)); } return t; } delete(t) { return super.delete(t) ? (this.size == 0 && (this[Jt] && (this[Jt](this), this[Jt] = null), this.emit("idle", this)), true) : false; } get idle() { var t = this; return this[We] || (this[We] = new Promise(function(e) { return t[Jt] = e; })); } }; Ge[Ho](); function pi(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var Yo = Symbol.for("#__initor__"), Wo = Symbol.for("#__inited__"), Go = Symbol.for("#__init__"), mi = Symbol.for("#enter"), gi = Symbol.for("#resolved"), yi = Symbol.for("#leave"), Xo = Symbol.for("#router"), $a = Symbol.for("#routes"), at = Symbol.for("#version"), kt = Symbol.for("#doc"), Qo = Symbol.for("#origin"), _i = Symbol.for("#request"), Zt = Symbol.for("#hash"), H = Symbol.for("#routeTo"), Xe = Symbol.for("#path"), Q = Symbol.for("#match"), te = Symbol.for("#options"), Pa = Symbol.for("#cache"), Jo = Symbol.for("#unmatched"), ee = Symbol.for("#active"), ka = Symbol.for("#resolvedPath"), La = Symbol.for("#dataKey"), Ma = Symbol.for("#activeKey"), re = Symbol.for("#urlKey"), Lt = Symbol.for("#dataMap"), Qe = Symbol.for("#href"), ft = Symbol.for("#route"), Zo = Symbol.for("#context"), tl = Symbol.for("#afterVisit"), el = Symbol.for("#routeHandler"), Fa = Symbol.for("#attachToParent"), Ia = Symbol.for("#detachFromParent"), rl = Symbol(); var il = class { get router() { return this[Xo] || (this[Xo] = new Je(this)); } }; pi(Et.prototype, il.prototype); function Da() { return true; } var Ra = hr(function() { return globalThis.document.router; }), Je = class extends Bo.EventEmitter { static [Go]() { return this.prototype[Yo] = rl, this; } constructor(t, e = {}) { super(); this[$a] = {}, this.aliases = {}, this.redirects = {}, this.rules = {}, this.options = e, this.busy = [], this[at] = 0, this[kt] = t, this.queue = new Ge(), this.web\u03A6 = !!t.defaultView, this.root = new di(this), this.history = globalThis.window.history, this.location = new Y(e.url || t.location.href, this), this.mode = e.mode || "history", this.queue.on("busy", function() { return globalThis.document.flags.incr("_routing_"); }), this.queue.on("idle", function() { return globalThis.document.flags.decr("_routing_"), k(); }), this.setup(), this[Yo] === rl && this[Wo] && this[Wo](); } get origin() { return this[Qo] || (this[Qo] = this[kt].location.origin); } get query() { return this.location.query; } init() { return this.refresh({mode: "replace"}), this; } alias(t, e) { return this.aliases[t] = e, this.location.reparse(), this; } touch() { return this[at]++; } option(t, e) { return e == null ? this.options[t] : (this.options[t] = e, this); } get realpath() { let t = this[kt].location; return t.href.slice(t.origin.length); } get state() { return {}; } get ctx() { return this[_i]; } pushState(t, e, r) { return this.history.pushState(t, e || null, String(r)); } replaceState(t, e, r) { return this.history.replaceState(t, e || null, String(r)); } refresh(t = {}) { var e = this; if (this.refreshing) return; this.refreshing = true; let r = this.location, s = Y.parse(t.location || this.realpath, this), n = t.mode, o = this[_i]; if (!s.equals(r) || !o) { let l = new Ue(this, s, r); l.mode = n, this[_i] = l, this.emit("beforechange", l), l.aborted && (!l.forceAbort && globalThis.window.confirm("Are you sure you want to leave? You might have unsaved changes") ? l.aborted = false : n == "pop" ? this.pushState(this.state, null, String(r)) : n == "replace" && this.replaceState(this.state, null, String(r))), l.aborted || (this.location = l.location, n == "push" ? this.pushState(t.state || this.state, null, String(this.location)) : n == "replace" && this.replaceState(t.state || this.state, null, String(this.location)), this.location.state = globalThis.window.history.state, this.emit("change", l), this.touch(), k()); } return C.add(function() { let l = e[kt].location.hash; if (l != e[Zt]) return e.emit("hashchange", e[Zt] = l); }), e.refreshing = false, e; } onpopstate(t) { return this.refresh({pop: true, mode: "pop"}), this; } onbeforeunload(t) { let e = new Ue(this, null, this.location); if (this.emit("beforechange", e), e.aborted) return true; } onhashchange(t) { return this.emit("hashchange", this[Zt] = this[kt].location.hash), k(); } setup() { this.onclick = this.onclick.bind(this), this.onhashchange = this.onhashchange.bind(this); let t = globalThis.window; return this[Zt] = this[kt].location.hash, this.location = Y.parse(this.realpath, this), this.history.replaceState(this.state, null, String(this.location)), t.onpopstate = this.onpopstate.bind(this), t.onbeforeunload = this.onbeforeunload.bind(this), t.addEventListener("hashchange", this.onhashchange), t.addEventListener("click", this.onclick, {capture: true}), t.document.documentElement.emit("routerinit", this), this.refresh, this; } onclick(t) { if (t.metaKey || t.altKey) return; let e = null, r = null, s = t.target; for (; s && (!e || !r); ) !e && s.nodeName == "A" && (e = s), !r && s[H] && (r = s), s = s.parentNode; if (e && r != e && (!r || r.contains(e))) { let n = e.getAttribute("href"); n && !n.match(/\:\/\//) && (!e.getAttribute("target") || e.getAttribute("target") == "_self") && !e.classList.contains("external") && e.addEventListener("click", this.onclicklink.bind(this), {once: true}); } return true; } onclicklink(t) { let e = t.currentTarget || t.target; e[H] && e[H].resolve(); let r = e.getAttribute("href"), s = new URL(e.href), n = s.href.slice(s.origin.length), o = this.realpath.split("#")[0], l = n.split("#")[0]; return o == l ? globalThis.document.location.hash = s.hash : e[H] ? e[H].go() : this.go(n), t.stopPropagation(), t.preventDefault(); } get url() { return this.location.url; } get path() { let t = this.location.path; return this.aliases[t] || t; } get pathname() { return this.location.pathname; } serializeParams(t) { var e; if (t instanceof Object) { e = []; for (let s = 0, n = Object.keys(t), o = n.length, l, h; s < o; s++) l = n[s], h = t[l], e.push([l, globalThis.encodeURI(h)].join("=")); return e.join("&"); } return t || ""; } get hash() { return this[Zt]; } set hash(t) { this.history.replaceState({}, null, "#" + this.serializeParams(t)); } match(t) { return this.route(t).match(this.path); } route(t) { return this.root.route(t); } go(t, e = {}) { let r = this.location.clone().update(t, e); return this.refresh({push: true, mode: "push", location: r, state: e}), this; } replace(t, e = {}) { let r = this.location.clone().update(t, e); return this.refresh({replace: true, mode: "replace", location: r, state: e}); } }; Je[Go](); var Ze = class { constructor(t, e, r, s = {}) { this.parent = r, this.node = t, this[Xe] = e, this[Q] = null, this[te] = s, this[Pa] = {}, this[Jo] = {}, this[ee] = null, this[ka] = null, this[La] = Symbol(), this[Ma] = Symbol(), this[re] = Symbol(); } get router() { return this.node.ownerDocument.router; } get route() { return (this.parent ? this.parent.route : this.router).route(this[Xe]); } get match() { return this[Q]; } get params() { return this[Q] || this[Jo]; } get state() { let t = this[Lt] || (this[Lt] = new Map()), e = this.params, r = this[Lt].get(e); return r || this[Lt].set(e, r = {}), r; } set state(t) { (this[Lt] || (this[Lt] = new Map())).set(this.params, t); } set path(t) { (this[Xe] != t ? (this[Xe] = t, true) : false) && this.router.touch(); } get isActive() { return !!this[ee]; } resolve() { let t = this.router[at]; if (!(this[at] != t ? (this[at] = t, true) : false)) return; let e = this.route, r = this[te], s = this.router.path, n = e.match(s), o = this[ee], l = this[Q], h = n != l, a = n && n[this[re]]; return n && (this[ee] = true, this[Q] = n, n[this[re]] = s), n && (h || a != s) && this[gi](n, l, a), !o && n && this[mi](), !n && (o || o === null) && (this[ee] = false, this[yi]()), this[Q]; } [mi]() { var t, e; return this.node.flags.remove("not-routed"), this.node.flags.add("routed"), (e = (t = this.node) == null ? void 0 : t.routeDidEnter) == null ? void 0 : e.call(t, this); } [gi](t, e, r = "") { var s, n; return (n = (s = this.node) == null ? void 0 : s.routeDidResolve) == null ? void 0 : n.call(s, this, t, e, r); } [yi]() { var t, e; return this.node.flags.add("not-routed"), this.node.flags.remove("routed"), (e = (t = this.node) == null ? void 0 : t.routeDidLeave) == null ? void 0 : e.call(t, this); } }, bi = class extends Ze { [mi]() { return this; } [gi]() { return this; } [yi]() { return this; } resolve() { let t = this.router[at]; if (!(this[at] != t ? (this[at] = t, true) : false)) return; let e = this[te], r = this.route, s = this.router.path, n = this.route.resolve(s), o = this.route.match(s); o && (this[Q] = o, this[Q][this[re]] = s), e.sticky && this[Q] && (n = this[Q][this[re]]), (this[Qe] != n ? (this[Qe] = n, true) : false) && this.node.nodeName == "A" && this.node.setAttribute("href", n), this.node.flags.toggle("active", !!o); } go() { return this.resolve(), this[te] && this[te].replace ? this.router.replace(this[Qe]) : this.router.go(this[Qe]); } }, sl = class { get router() { return this.ownerDocument.router; } }; pi(I.prototype, sl.prototype); var nl = class { set route(t) { if (this[ft]) { this[ft].path = t; return; } let e = t[0] != "/" ? this[Zo].route : null; this[ft] = new Ze(this, t, e, this.route__), this[tl] = this.end$routed; } get route() { return this[ft]; } set route\u039Eto(t) { var e = this; if (this[H]) { this[H].path = t; return; } let r = t[0] != "/" ? this[Zo].route : null; this[ft] = this[H] = new bi(this, t, r, this.routeTo__), this[tl] = this.end$routeTo, e.onclick = function(s) { if (!s.altKey && !s.metaKey && !s[el]) return s.preventDefault(), s[el] = e[H], e[H].go(); }; } end$routed() { if (!(this[ft] && (this[ft].resolve(), !this[ft].isActive)) && this.visit) return this.visit(); } end$routeTo() { if (this[H] && this[H].resolve(), this.visit) return this.visit(); } routeDidEnter(t) { return this[Fa](); } routeDidLeave(t) { return this[Ia](); } routeDidResolve(t, e, r) { var s = this; this.routed instanceof Function && e != r && s.router.queue.add(async function() { s.suspend(); let n = await s.routed(e, t.state, r); return s.unsuspend(); }); } }; pi(v.prototype, nl.prototype); function J(i) { let t; return i ? (t = i.toIterable) ? t.call(i) : i : []; } function vi(i, t) { let e = Object.getOwnPropertyDescriptors(t); return delete e.constructor, Object.defineProperties(i, e), i; } var Fd = Symbol.for("#__initor__"), Id = Symbol.for("#__inited__"), ie = Symbol.for("##reactive"), gt = Symbol.for("##referenced"), se = Symbol.for("##dereferenced"), tr = Symbol.for("#map"), ol = Symbol.for("#__init__"), ll = Symbol.for("#child"), ne = Symbol.for("#reactions"), O = {TOUCHING: 1 << 1, STALE: 1 << 2, OBJECT: 1 << 3, RUNNING: 1 << 4, INVALIDATING: 1 << 5, POSSIBLY_STALE: 1 << 6, AUTORUN: 1 << 7}, D = 0, hl = false; var Aa = 0, ul = 1, xi = {META: new Map(), VALUE: new Map(), REF: new Map()}, z = Symbol.for("~"), al = Symbol.for("~~"), Si = function(i, t) { return t.has(i) || t.set(i, Symbol()), t.get(i); }, er = function(i) { return typeof i == "symbol" ? Si(i, xi.VALUE) : Symbol.for(i); }, wi = function(i) { return typeof i == "symbol" ? Si(i, xi.META) : Symbol.for("#" + i + "__"); }, Ei = function(i) { return typeof i == "symbol" ? Si(i, xi.REF) : Symbol.for("~" + i); }, T = function(i, t) { return D && w.add(i[z]), t; }, U = function(i, t) { return i[z].invalidated(0), t; }, Mt = function(i, t, e) { let r = i[z]; return r || (r = i[z] = new rr(O.OBJECT), Object.defineProperties(i, e)), t && r.addSubscriber(t), i; }, Ti = function(i, t) { let e = i[z]; return e && e.removeSubscriber(t), i; }, fl = class { constructor(t) { this.changes = new Map(), this.cleanup(), t && this.reset(t); } reset(t = []) { return this.array = t, this.initialLength = t.length; } cleanup() { return this.idx = 0, this.array = null, this.changes.clear(), this.dirty = false; } push(t) { if (this.initialLength == 0) { this.array.indexOf(t) < 0 && (this.changes.set(t, 1), this.array.push(t), this.idx++); return; } let e = this.array[this.idx]; if (e === t) return ++this.idx; { let r = this.array.indexOf(t), s = this.changes.get(t); if (r === -1) this.array.splice(this.idx, 0, t), this.changes.set(t, 1), this.idx++; else if (r === this.idx + 1) e && this.changes.set(e, -1), this.array.splice(this.idx, 1), ++this.idx; else { if (r < this.idx) return; r > this.idx && this.array.splice(r, 1), this.array.splice(this.idx, 0, t); } if (s == -1) return this.changes.delete(t); } } end() { if (this.array.length >= this.idx) for (; this.array.length > this.idx; ) this.changes.set(this.array.pop(), -1); return this.array; } patch() { return this.end(); } }; function Oi(i) { var t, e; let r = Object.getOwnPropertyDescriptors(i.prototype); return t = r.name, delete r.name, e = r.constructor, delete r.constructor, r; } function ja() { if (!!(hl != true ? (hl = true, true) : false)) return cr.on("inited", function(i) { let t = i[al]; if (t) { let e = i instanceof I, r = i[z] || (i[z] = {}); for (let s = 0, n = Object.keys(t), o = n.length, l, h; s < o; s++) { l = n[s], h = t[l]; let a = r[l] = new oe(i[l], i, h); e || a.call(); } e && (R(i, "mount", function() { var s; s = []; for (let n = 0, o = J(Object.values(r)), l = o.length; n < l; n++) { let h = o[n]; s.push(h instanceof oe && h.activate()); } return s; }), R(i, "unmount", function() { var s; s = []; for (let n = 0, o = J(Object.values(r)), l = o.length; n < l; n++) { let h = o[n]; s.push(h instanceof oe && h.deactivate()); } return s; })); } }); } function qa(i, t = al) { return i.hasOwnProperty(t) || (i[t] = Object.assign({}, i[t] || {})), i[t]; } var ir = class { constructor(t, e = 0) { this.depth = e, this.parent = t, this.target = null, this.patcher = new fl(); } get active\u03A6() { return w == this; } get root\u03A6() { return this == Ft; } reset(t) { return this.tracking = true, this.target = t, this.beacon = t.beacon, this.patcher.reset(t.observing || (t.observing = [])), this; } add(t) { if (this.tracking && t) return this.patcher.push(t); } react(t) { return Ft.reactions.add(t); } push(t) { return w = this.child.reset(t); } pop() { let t = null; if (this.beacon) { t = this.patcher.end(); let e = this.patcher.changes; if (e.size) for (let [s, n] of J(e)) n === 1 ? s.addSubscriber(this.beacon) : s.removeSubscriber(this.beacon); } return this.patcher.cleanup(), this.target = this.beacon = null, w = this.parent, w == Ft && Ft.flush(), t; } get child() { return this[ll] || (this[ll] = new ir(this, this.depth + 1)); } get reactions() { return this[ne] || (this[ne] = new Set()); } flush() { if (!this[ne]) return; let t = this[ne]; this[ne] = null; for (let e of J(t)) e.call(); } }, cl = class extends ir { add() { return true; } }, w = new cl(null, 0), Ft = w, za = function() { return w.tracking = false; }, dl = function(i, t, e, r, s) { let n = i[e], o = i[s]; return o || (o = i[s] = new rr(0, r, n, t)), w.add(o, i), n; }, pl = function(i, t, e, r, s, n) { let o = i[e]; if (r != o) { i[e] = r; let l = i[n]; l && l.changed(0, r, o); } }, rr = class { constructor(t, e, r, s) { return this.id = ul++, this.observer = null, this.observers = null, r && r[gt] && r[gt](this), this; } changed(t, e, r) { if (Aa++, r && r[se] && r[se](this, e), e && e[gt] && e[gt](this, r), this.observer && this.observer.invalidated(t + 1, this, e, r), this.observers) for (let s = 0, n = J(this.observers), o = n.length; s < o; s++) n[s].invalidated(t + 1, this, e, r); w == Ft && w.flush(); } invalidated(t, e) { if (this.observer && this.observer.invalidated(t + 1, this), this.observers) for (let r = 0, s = J(this.observers), n = s.length; r < n; r++) s[r].invalidated(t + 1, this); return t == 0 && w == Ft && w.flush(), true; } addSubscriber(t) { this.observer ? (this.observers || (this.observers = []), this.observers.push(t)) : this.observer = t; } removeSubscriber(t) { if (this.observer == t) return this.observer = null; let e = this.observers, r = e.indexOf(t); r >= 0 && e.splice(r, 1); } reportChanged() { return this.changed(0); } reportObserved() { return w.add(this); } }; function Ka(i) { return new rr(null, null, null, i); } var ml = class extends Array { push() { return U(this, super.push(...arguments)); } pop() { return U(this, super.pop(...arguments)); } unshift() { return U(this, super.unshift(...arguments)); } shift() { return U(this, super.shift(...arguments)); } splice() { return U(this, super.splice(...arguments)); } at() { return T(this, super.at(...arguments)); } map() { return T(this, super.map(...arguments)); } flatMap() { return T(this, super.flatMap(...arguments)); } flat() { return T(this, super.flat(...arguments)); } filter() { return T(this, super.filter(...arguments)); } find() { return T(this, super.find(...arguments)); } slice() { return T(this, super.slice(...arguments)); } sort() { return T(this, super.sort(...arguments)); } get len() { return T(this, this.length); } set len(t) { this.length = t, U(this); } toIterable() { return D && w.add(this[z]), this; } [Symbol.iterator]() { return T(this, super[Symbol.iterator](...arguments)); } }, gl = Oi(ml), yl = class { get len() { return this.length; } set len(t) { this.length = t; } get [ie]() { return Mt(this, null, gl); } [gt](t) { return Mt(this, t, gl); } [se](t) { return Ti(this, t); } }; vi(Array.prototype, yl.prototype); var _l = class extends Set { has() { return T(this, super.has(...arguments)); } keys() { return T(this, super.keys(...arguments)); } values() { return T(this, super.values(...arguments)); } entries() { return T(this, super.entries(...arguments)); } add() { return U(this, super.add(...arguments)); } clear() { return U(this, super.clear(...arguments)); } delete() { return U(this, super.delete(...arguments)); } }, bl = Oi(_l), vl = class { get [ie]() { return Mt(this, null, bl); } [gt](t) { return Mt(this, t, bl); } [se](t) { return Ti(this, t); } }; vi(Set.prototype, vl.prototype); var xl = class extends Map { get() { return T(this, super.get(...arguments)); } has() { return T(this, super.has(...arguments)); } keys() { return T(this, super.keys(...arguments)); } values() { return T(this, super.values(...arguments)); } entries() { return T(this, super.entries(...arguments)); } set() { return U(this, super.set(...arguments)); } clear() { return U(this, super.clear(...arguments)); } delete() { return U(this, super.delete(...arguments)); } }, Sl = Oi(xl), wl = class { get [ie]() { return Mt(this, null, Sl); } [gt](t) { return Mt(this, t, Sl); } [se](t) { return Ti(this, t); } }; vi(Map.prototype, wl.prototype); var El = class { constructor(t, e = {}) { var r = this, s; this.name = t, this.options = e; let n = this.key = er(t), o = Ei(t), l = r.descriptor = {enumerable: (s = e.enumerable) != null ? s : true, configurable: false, get: function() { return D ? dl(this, t, n, r, o) : this[n]; }, set: function(a) { return D || !!this[o] ? pl(this, t, n, a, r, o) : this[n] = a; }}, h = r.lazyDescriptor = {enumerable: false, configurable: true, get: function() { return D ? (Object.defineProperty(this, t, l), this[t]) : this[n]; }, set: function(a) { return this[n] = a, this[o] = null, Object.defineProperty(this, t, l); }}; } }, Tl = class { constructor(t = null) { this[ol](t); } [ol](t = null) { var e; this[tr] = t && (e = t[tr]) !== void 0 ? e : new Map(); } for(t) { let e = this[tr].get(t); return e || this[tr].set(t, e = []), e; } get(t) { let e = this.for(t); return e[z] || e[ie], D && T(e), e; } add(t, e) { return this.for(t).push(e); } delete(t, e) { let r = this.for(t), s = r.indexOf(e); r.splice(s, 1); } }, Ol = class { constructor(t, e) { var r = this; this.name = t, this.key = e, this.index = new Tl(); let s = Ei(t), n = r.descriptor = {enumerable: true, configurable: false, get: function() { return D ? dl(this, t, e, r, s) : this[e]; }, set: function(l) { let h = this[e]; if (D || !!this[s] ? pl(this, t, e, l, r, s) : this[e] = l, h != l && (h && r.index.delete(h, this), l)) return r.index.add(l, this); }}, o = r.lazyDescriptor = {set: function(l) { return this[e] = l, l && r.index.add(l, this), Object.defineProperty(this, t, n), this[s] = null; }}; } where(t) { return this.index.get(t); } }, sr = class { constructor(t, e, r) { this.observing = null, this.observers = null, this.flags = 68, this.target = t, this.func = e, this.vkey = r, this.version = 0; } get beacon() { return this; } addSubscriber(t) { this.observer ? (this.observers || (this.observers = []), this.observers.push(t)) : this.observer = t; } removeSubscriber(t) { if (this.observer == t) return this.observer = null; let e = this.observers, r = e.indexOf(this); r >= 0 && e.splice(r, 1); } invalidated(t, e) { if (this.flags |= O.STALE | O.POSSIBLY_STALE, this.observer && this.observer.invalidated(t, this), !!this.observers) { for (let r = 0, s = J(this.observers), n = s.length; r < n; r++) s[r].invalidated(t, this); return this; } } value() { if (D && w.add(this), (this.flags & O.POSSIBLY_STALE) == 0) return this.target[this.vkey]; D++, this.flags |= O.RUNNING, w.push(this); let t = this.func.call(this.target); w.pop(this); let e = this.target[this.vkey]; return this.target[this.vkey] = t, this.flags &= ~(O.STALE | O.POSSIBLY_STALE | O.RUNNING), t !== e && this.version++, D--, t; } }, Nl = class { constructor(t, e) { this.name = t; let r = Ei(t), s = er(t), n = this.descriptor = {enumerable: false, configurable: false, get: function() { return this[r].value(); }}, o = this.lazyDescriptor = {enumerable: false, get: function() { let l = this[r] = new sr(this, e, s); return Object.defineProperty(this, t, n), l.value(); }}; } }, oe = class { get beacon() { return this; } constructor(t, e, r = {}) { this.cb = t, this.context = e, this.options = r, this.flags = 0, this.id = ul++, this.cachedComputedVersions = new WeakMap(), this.checkComputedValues = new Set(), this.observing = [], this.timeout = null; } get running\u03A6() { return this.flags & O.RUNNING; } invalidated(t, e) { return e instanceof sr ? (this.flags |= O.POSSIBLY_STALE, this.checkComputedValues.add(e)) : this.flags |= O.STALE, w.react(this); } activate() { return this.observing = [], this.cachedComputedVersions = new WeakMap(), this.checkComputedValues = new Set(), this.call(), this; } deactivate() { return this.dispose(); } call() { var t = this; if (D && console.warn("should not call reaction inside an autorunning context?"), this.flags & O.POSSIBLY_STALE && (this.flags & O.STALE) == 0) { let e = false; for (let r of J(this.checkComputedValues)) { let s = this.cachedComputedVersions.get(r); r.value(); let n = r.version; if (s != n) { e = true; break; } } if (!e) { this.flags &= ~O.POSSIBLY_STALE, this.checkComputedValues.clear(); return; } } if (this.options.delay) { clearTimeout(this.timeout); let e = this.options.delay; typeof e != "number" && (e = 1e3), t.timeout = setTimeout(function() { return t.run(); }, e); return; } return t.run(); } run() { D++, this.flags |= O.RUNNING; let t = w.push(this), e = this.cb.call(this.context, za), r = w.pop(this); this.observing = r, this.checkComputedValues.clear(); for (let s = 0, n = J(r), o = n.length; s < o; s++) { let l = n[s]; l instanceof sr && this.cachedComputedVersions.set(l, l.version); } return this.flags &= ~(O.RUNNING | O.STALE | O.POSSIBLY_STALE), D--, k(), e; } dispose() { this.timeout && clearTimeout(this.timeout); for (let t = 0, e = J(this.observing), r = e.length; t < r; t++) e[t].removeSubscriber(this); return this.observing = this.context = this.cb = this.checkComputedValues = this.cachedComputedVersions = null, this; } }, Ni = class { constructor(t, e) { this.context = e, this.cb = t; } run(t = this.context, e = []) { w.push(this); let r = this.cb.apply(t, e); return w.pop(this), r; } }; function Va(i, t = {}) { let e = new oe(i, globalThis, t); return e.call(), e; } function Ha(i) { return i[ie]; } function Ua(i) { return new Ni(i, globalThis).run(); } function Ba(i) { return i && i[z] && i[z].invalidated(0), i; } function Ya(i) { return i && i[z] && i[z].reportObserved(), i; } function Wa(i, t, e) { let r = wi(t); return (i[r] = new Nl(t, e.get)).lazyDescriptor; } function Ga(i, t, e) { let r = wi(t), s = er(t), n = this[0] || {}, o = i[r] = new El(t, n); return e ? (Object.defineProperty(i, s, Object.assign({}, e)), o.lazyDescriptor) : (Object.defineProperty(i, t, o.lazyDescriptor), null); } function Xa(i, t, e) { let r = wi(t); return i.constructor[t], (i[r] = new Ol(t, er(t))).lazyDescriptor; } function Qa(i, t, e) { let r = qa(i), s = this[0] || {}; return s.flags = O.AUTORUN, ja(), r[t] = s, e; } function Ja(i, t, e) { if (e.value) { let r = new Ni(e.value, null); e.value = function() { return r.run(this, arguments); }; } return e; }