import { m as Et, q as j, F as ne, s as z, v as X, x as K, y as p, l as E, i as G, z as W, A as ee, B as be, T as _t, C as xt, D as Lt, E as Tt, G as he, _ as Ze, H as $t, I as Ye, J as kt, K as ze, L as Ee, o as N, g as De, w as se, b as J, M as Ce, a as c, N as Re, O as Ft, P as Ct, c as H, Q as O, R as Ot, d as w, t as S, S as pe, U as Pt, V as At, e as Dt, W as Rt } from "./entry.9bc8680c.js"; const Nt = { wrapper: "relative z-50", inner: "fixed inset-0 overflow-y-auto", container: "flex min-h-full items-end sm:items-center justify-center text-center", padding: "p-4 sm:p-0", margin: "sm:my-8", base: "relative text-left rtl:text-right overflow-hidden flex flex-col", overlay: { base: "fixed inset-0 transition-opacity", background: "bg-gray-200/75 dark:bg-gray-800/75", transition: { enter: "ease-out duration-300", enterFrom: "opacity-0", enterTo: "opacity-100", leave: "ease-in duration-200", leaveFrom: "opacity-100", leaveTo: "opacity-0" } }, background: "bg-white dark:bg-gray-900", ring: "", rounded: "rounded-lg", shadow: "shadow-xl", width: "w-full sm:max-w-lg", height: "", fullscreen: "w-screen h-screen", transition: { enter: "ease-out duration-300", enterFrom: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95", enterTo: "opacity-100 translate-y-0 sm:scale-100", leave: "ease-in duration-200", leaveFrom: "opacity-100 translate-y-0 sm:scale-100", leaveTo: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" } }; function Q(e, t, ...n) { if (e in t) { let o = t[e]; return typeof o == "function" ? o(...n) : o } let l = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(o=>`"${o}"`).join(", ")}.`); throw Error.captureStackTrace && Error.captureStackTrace(l, Q), l } var $e = (e => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))($e || {}), ae = (e => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(ae || {}); function te({ visible: e = !0, features: t = 0, ourProps: n, theirProps: l, ...o }) { var a; let r = tt(l, n), s = Object.assign(o, { props: r }); if (e || t & 2 && r.static) return Oe(s); if (t & 1) { let i = (a = r.unmount) == null || a ? 0 : 1; return Q(i, { 0() { return null }, 1() { return Oe({ ...o, props: { ...r, hidden: !0, style: { display: "none" } } }) } }) } return Oe(s) } function Oe({ props: e, attrs: t, slots: n, slot: l, name: o }) { var a, r; let { as: s, ...i } = nt(e, ["unmount", "static"]), u = (a = n.default) == null ? void 0 : a.call(n, l), d = {}; if (l) { let g = !1, f = []; for (let [b, y] of Object.entries(l)) typeof y == "boolean" && (g = !0), y === !0 && f.push(b); g && (d["data-headlessui-state"] = f.join(" ")) } if (s === "template") { if (u = et(u ?? []), Object.keys(i).length > 0 || Object.keys(t).length > 0) { let [g, ...f] = u ?? []; if (!jt(g) || f.length > 0) throw new Error(['Passing props on "template"!', "", `The current component <${o} /> is rendering a "template".`, "However we need to passthrough the following props:", Object.keys(i).concat(Object.keys(t)).map(m => m.trim()).filter((m, C, I) => I.indexOf(m) === C).sort((m, C) => m.localeCompare(C)).map(m => ` - ${m}`).join(` `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', "Render a single element as the child so that we can forward the props onto that element." ].map(m => ` - ${m}`).join(` `) ].join(` `)); let b = tt((r = g.props) != null ? r : {}, i), y = Et(g, b); for (let m in b) m.startsWith("on") && (y.props || (y.props = {}), y.props[m] = b[m]); return y } return Array.isArray(u) && u.length === 1 ? u[0] : u } return j(s, Object.assign({}, i, d), { default: () => u }) } function et(e) { return e.flatMap(t => t.type === ne ? et(t.children) : [t]) } function tt(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, n = {}; for (let l of e) for (let o in l) o.startsWith("on") && typeof l[o] == "function" ? (n[o] != null || (n[o] = []), n[o].push(l[o])) : t[o] = l[o]; if (t.disabled || t["aria-disabled"]) return Object.assign(t, Object.fromEntries(Object.keys(n).map(l => [l, void 0]))); for (let l in n) Object.assign(t, { [l](o, ...a) { let r = n[l]; for (let s of r) { if (o instanceof Event && o.defaultPrevented) return; s(o, ...a) } } }); return t } function nt(e, t = []) { let n = Object.assign({}, e); for (let l of t) l in n && delete n[l]; return n } function jt(e) { return e == null ? !1 : typeof e.type == "string" || typeof e.type == "object" || typeof e.type == "function" } let Mt = 0; function Ht() { return ++Mt } function Ue() { return Ht() } var lt = (e => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e .Tab = "Tab", e))(lt || {}); function A(e) { var t; return e == null || e.value == null ? null : (t = e.value.$el) != null ? t : e.value } let at = Symbol("Context"); var B = (e => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(B || {}); function Bt() { return Ve() !== null } function Ve() { return z(at, null) } function It(e) { X(at, e) } var Ut = Object.defineProperty, Vt = (e, t, n) => t in e ? Ut(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Ke = (e, t, n) => (Vt(e, typeof t != "symbol" ? t + "" : t, n), n); class Wt { constructor() { Ke(this, "current", this.detect()), Ke(this, "currentId", 0) } set(t) { this.current !== t && (this.currentId = 0, this.current = t) } reset() { this.set(this.detect()) } nextId() { return ++this.currentId } get isServer() { return this.current === "server" } get isClient() { return this.current === "client" } detect() { return typeof window > "u" || typeof document > "u" ? "server" : "client" } } let ye = new Wt; function de(e) { if (ye.isServer) return null; if (e instanceof Node) return e.ownerDocument; if (e != null && e.hasOwnProperty("value")) { let t = A(e); if (t) return t.ownerDocument } return document } let Ne = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])" ].map(e => `${e}:not([tabindex='-1'])`).join(","); var le = (e => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e))(le || {}), ot = (e => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(ot || {}), Gt = (e => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(Gt || {}); function qt(e = document.body) { return e == null ? [] : Array.from(e.querySelectorAll(Ne)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number .MAX_SAFE_INTEGER))) } var rt = (e => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(rt || {}); function Yt(e, t = 0) { var n; return e === ((n = de(e)) == null ? void 0 : n.body) ? !1 : Q(t, { 0() { return e.matches(Ne) }, 1() { let l = e; for (; l !== null;) { if (l.matches(Ne)) return !0; l = l.parentElement } return !1 } }) } var zt = (e => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(zt || {}); typeof window < "u" && typeof document < "u" && (document.addEventListener("keydown", e => { e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "") }, !0), document.addEventListener("click", e => { e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset .headlessuiFocusVisible = "") }, !0)); function ce(e) { e == null || e.focus({ preventScroll: !0 }) } let Kt = ["textarea", "input"].join(","); function Jt(e) { var t, n; return (n = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, Kt)) != null ? n : !1 } function Xt(e, t = n => n) { return e.slice().sort((n, l) => { let o = t(n), a = t(l); if (o === null || a === null) return 0; let r = o.compareDocumentPosition(a); return r & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : r & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0 }) } function Te(e, t, { sorted: n = !0, relativeTo: l = null, skipElements: o = [] } = {}) { var a; let r = (a = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e == null ? void 0 : e.ownerDocument) != null ? a : document, s = Array.isArray(e) ? n ? Xt(e) : e : qt(e); o.length > 0 && s.length > 1 && (s = s.filter(y => !o.includes(y))), l = l ?? r.activeElement; let i = (() => { if (t & 5) return 1; if (t & 10) return -1; throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last") })(), u = (() => { if (t & 1) return 0; if (t & 2) return Math.max(0, s.indexOf(l)) - 1; if (t & 4) return Math.max(0, s.indexOf(l)) + 1; if (t & 8) return s.length - 1; throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last") })(), d = t & 32 ? { preventScroll: !0 } : {}, g = 0, f = s.length, b; do { if (g >= f || g + f <= 0) return 0; let y = u + g; if (t & 16) y = (y + f) % f; else { if (y < 0) return 3; if (y >= f) return 1 } b = s[y], b == null || b.focus(d), g += i } while (b !== r.activeElement); return t & 6 && Jt(b) && b.select(), 2 } function _e(e, t, n) { ye.isServer || K(l => { document.addEventListener(e, t, n), l(() => document.removeEventListener(e, t, n)) }) } function st(e, t, n) { ye.isServer || K(l => { window.addEventListener(e, t, n), l(() => window.removeEventListener(e, t, n)) }) } function Qt(e, t, n = E(() => !0)) { function l(a, r) { if (!n.value || a.defaultPrevented) return; let s = r(a); if (s === null || !s.getRootNode().contains(s)) return; let i = function u(d) { return typeof d == "function" ? u(d()) : Array.isArray(d) || d instanceof Set ? d : [d] }(e); for (let u of i) { if (u === null) continue; let d = u instanceof HTMLElement ? u : A(u); if (d != null && d.contains(s) || a.composed && a.composedPath().includes(d)) return } return !Yt(s, rt.Loose) && s.tabIndex !== -1 && a.preventDefault(), t(a, s) } let o = p(null); _e("pointerdown", a => { var r, s; n.value && (o.value = ((s = (r = a.composedPath) == null ? void 0 : r.call(a)) == null ? void 0 : s[0]) || a.target) }, !0), _e("mousedown", a => { var r, s; n.value && (o.value = ((s = (r = a.composedPath) == null ? void 0 : r.call(a)) == null ? void 0 : s[0]) || a.target) }, !0), _e("click", a => { o.value && (l(a, () => o.value), o.value = null) }, !0), _e("touchend", a => l(a, () => a.target instanceof HTMLElement ? a.target : null), !0), st("blur", a => l(a, () => window.document .activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0) } var ke = (e => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(ke || {}); let je = G({ name: "Hidden", props: { as: { type: [Object, String], default: "div" }, features: { type: Number, default: 1 } }, setup(e, { slots: t, attrs: n }) { return () => { let { features: l, ...o } = e, a = { "aria-hidden": (l & 2) === 2 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(l & 4) === 4 && (l & 2) !== 2 && { display: "none" } } }; return te({ ourProps: a, theirProps: o, slot: {}, attrs: n, slots: t, name: "Hidden" }) } } }); function Zt() { return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0 } function We(e) { typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch(t => setTimeout(() => { throw t })) } function we() { let e = [], t = { addEventListener(n, l, o, a) { return n.addEventListener(l, o, a), t.add(() => n.removeEventListener(l, o, a)) }, requestAnimationFrame(...n) { let l = requestAnimationFrame(...n); t.add(() => cancelAnimationFrame(l)) }, nextFrame(...n) { t.requestAnimationFrame(() => { t.requestAnimationFrame(...n) }) }, setTimeout(...n) { let l = setTimeout(...n); t.add(() => clearTimeout(l)) }, microTask(...n) { let l = { current: !0 }; return We(() => { l.current && n[0]() }), t.add(() => { l.current = !1 }) }, style(n, l, o) { let a = n.style.getPropertyValue(l); return Object.assign(n.style, { [l]: o }), this.add(() => { Object.assign(n.style, { [l]: a }) }) }, group(n) { let l = we(); return n(l), this.add(() => l.dispose()) }, add(n) { return e.push(n), () => { let l = e.indexOf(n); if (l >= 0) for (let o of e.splice(l, 1)) o() } }, dispose() { for (let n of e.splice(0)) n() } }; return t } var ge = (e => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(ge || {}); function en() { let e = p(0); return st("keydown", t => { t.key === "Tab" && (e.value = t.shiftKey ? 1 : 0) }), e } function it(e, t, n, l) { ye.isServer || K(o => { e = e ?? window, e.addEventListener(t, n, l), o(() => e.removeEventListener(t, n, l)) }) } function tn(e) { function t() { document.readyState !== "loading" && (e(), document.removeEventListener("DOMContentLoaded", t)) } typeof window < "u" && typeof document < "u" && (document.addEventListener("DOMContentLoaded", t), t()) } function ut(e) { if (!e) return new Set; if (typeof e == "function") return new Set(e()); let t = new Set; for (let n of e.value) { let l = A(n); l instanceof HTMLElement && t.add(l) } return t } var ct = (e => (e[e.None = 1] = "None", e[e.InitialFocus = 2] = "InitialFocus", e[e.TabLock = 4] = "TabLock", e[e.FocusLock = 8] = "FocusLock", e[e .RestoreFocus = 16] = "RestoreFocus", e[e.All = 30] = "All", e))(ct || {}); let ve = Object.assign(G({ name: "FocusTrap", props: { as: { type: [Object, String], default: "div" }, initialFocus: { type: Object, default: null }, features: { type: Number, default: 30 }, containers: { type: [Object, Function], default: p(new Set) } }, inheritAttrs: !1, setup(e, { attrs: t, slots: n, expose: l }) { let o = p(null); l({ el: o, $el: o }); let a = E(() => de(o)), r = p(!1); W(() => r.value = !0), ee(() => r.value = !1), ln({ ownerDocument: a }, E(() => r.value && !!(e.features & 16))); let s = an({ ownerDocument: a, container: o, initialFocus: E(() => e.initialFocus) }, E(() => r.value && !!(e.features & 2))); on({ ownerDocument: a, container: o, containers: e.containers, previousActiveElement: s }, E(() => r.value && !!(e.features & 8))); let i = en(); function u(b) { let y = A(o); y && (m => m())(() => { Q(i.value, { [ge.Forwards]: () => { Te(y, le.First, { skipElements: [b.relatedTarget] }) }, [ge.Backwards]: () => { Te(y, le.Last, { skipElements: [b.relatedTarget] }) } }) }) } let d = p(!1); function g(b) { b.key === "Tab" && (d.value = !0, requestAnimationFrame(() => { d.value = !1 })) } function f(b) { if (!r.value) return; let y = ut(e.containers); A(o) instanceof HTMLElement && y.add(A(o)); let m = b.relatedTarget; m instanceof HTMLElement && m.dataset.headlessuiFocusGuard !== "true" && (dt(y, m) || (d.value ? Te(A(o), Q(i.value, { [ge.Forwards]: () => le.Next, [ge.Backwards]: () => le.Previous }) | le.WrapAround, { relativeTo: b.target }) : b.target instanceof HTMLElement && ce(b.target))) } return () => { let b = {}, y = { ref: o, onKeydown: g, onFocusout: f }, { features: m, initialFocus: C, containers: I, ...D } = e; return j(ne, [!!(m & 4) && j(je, { as: "button", type: "button", "data-headlessui-focus-guard": !0, onFocus: u, features: ke.Focusable }), te({ ourProps: y, theirProps: { ...t, ...D }, slot: b, attrs: t, slots: n, name: "FocusTrap" }), !!(m & 4) && j(je, { as: "button", type: "button", "data-headlessui-focus-guard": !0, onFocus: u, features: ke.Focusable })]) } } }), { features: ct }), ie = []; tn(() => { function e(t) { t.target instanceof HTMLElement && t.target !== document.body && ie[0] !== t.target && (ie.unshift(t.target), ie = ie.filter(n => n != null && n .isConnected), ie.splice(10)) } window.addEventListener("click", e, { capture: !0 }), window.addEventListener("mousedown", e, { capture: !0 }), window.addEventListener("focus", e, { capture: !0 }), document.body.addEventListener("click", e, { capture: !0 }), document.body.addEventListener("mousedown", e, { capture: !0 }), document.body.addEventListener("focus", e, { capture: !0 }) }); function nn(e) { let t = p(ie.slice()); return be([e], ([n], [l]) => { l === !0 && n === !1 ? We(() => { t.value.splice(0) }) : l === !1 && n === !0 && (t.value = ie.slice()) }, { flush: "post" }), () => { var n; return (n = t.value.find(l => l != null && l.isConnected)) != null ? n : null } } function ln({ ownerDocument: e }, t) { let n = nn(t); W(() => { K(() => { var l, o; t.value || ((l = e.value) == null ? void 0 : l.activeElement) === ((o = e.value) == null ? void 0 : o.body) && ce(n()) }, { flush: "post" }) }), ee(() => { t.value && ce(n()) }) } function an({ ownerDocument: e, container: t, initialFocus: n }, l) { let o = p(null), a = p(!1); return W(() => a.value = !0), ee(() => a.value = !1), W(() => { be([t, n, l], (r, s) => { if (r.every((u, d) => (s == null ? void 0 : s[d]) === u) || !l.value) return; let i = A(t); i && We(() => { var u, d; if (!a.value) return; let g = A(n), f = (u = e.value) == null ? void 0 : u.activeElement; if (g) { if (g === f) { o.value = f; return } } else if (i.contains(f)) { o.value = f; return } g ? ce(g) : Te(i, le.First | le.NoScroll) === ot.Error && console.warn( "There are no focusable elements inside the "), o.value = (d = e.value) == null ? void 0 : d .activeElement }) }, { immediate: !0, flush: "post" }) }), o } function on({ ownerDocument: e, container: t, containers: n, previousActiveElement: l }, o) { var a; it((a = e.value) == null ? void 0 : a.defaultView, "focus", r => { if (!o.value) return; let s = ut(n); A(t) instanceof HTMLElement && s.add(A(t)); let i = l.value; if (!i) return; let u = r.target; u && u instanceof HTMLElement ? dt(s, u) ? (l.value = u, ce(u)) : (r.preventDefault(), r.stopPropagation(), ce(i)) : ce(l.value) }, !0) } function dt(e, t) { for (let n of e) if (n.contains(t)) return !0; return !1 } let Pe = new Map, me = new Map; function Je(e, t = p(!0)) { K(n => { var l; if (!t.value) return; let o = A(e); if (!o) return; n(function() { var r; if (!o) return; let s = (r = me.get(o)) != null ? r : 1; if (s === 1 ? me.delete(o) : me.set(o, s - 1), s !== 1) return; let i = Pe.get(o); i && (i["aria-hidden"] === null ? o.removeAttribute("aria-hidden") : o.setAttribute("aria-hidden", i["aria-hidden"]), o.inert = i .inert, Pe.delete(o)) }); let a = (l = me.get(o)) != null ? l : 0; me.set(o, a + 1), a === 0 && (Pe.set(o, { "aria-hidden": o.getAttribute("aria-hidden"), inert: o.inert }), o.setAttribute("aria-hidden", "true"), o.inert = !0) }) } let ft = Symbol("ForcePortalRootContext"); function rn() { return z(ft, !1) } let Xe = G({ name: "ForcePortalRoot", props: { as: { type: [Object, String], default: "template" }, force: { type: Boolean, default: !1 } }, setup(e, { slots: t, attrs: n }) { return X(ft, e.force), () => { let { force: l, ...o } = e; return te({ theirProps: o, ourProps: {}, slot: {}, slots: t, attrs: n, name: "ForcePortalRoot" }) } } }); function sn(e) { let t = de(e); if (!t) { if (e === null) return null; throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`) } let n = t.getElementById("headlessui-portal-root"); if (n) return n; let l = t.createElement("div"); return l.setAttribute("id", "headlessui-portal-root"), t.body.appendChild(l) } let un = G({ name: "Portal", props: { as: { type: [Object, String], default: "div" } }, setup(e, { slots: t, attrs: n }) { let l = p(null), o = E(() => de(l)), a = rn(), r = z(pt, null), s = p(a === !0 || r == null ? sn(l.value) : r.resolveTarget()); K(() => { a || r != null && (s.value = r.resolveTarget()) }); let i = z(Me, null); return W(() => { let u = A(l); u && i && ee(i.register(u)) }), ee(() => { var u, d; let g = (u = o.value) == null ? void 0 : u.getElementById("headlessui-portal-root"); g && s.value === g && s.value.children.length <= 0 && ((d = s.value.parentElement) == null || d.removeChild(s.value)) }), () => { if (s.value === null) return null; let u = { ref: l, "data-headlessui-portal": "" }; return j(_t, { to: s.value }, te({ ourProps: u, theirProps: e, slot: {}, attrs: n, slots: t, name: "Portal" })) } } }), Me = Symbol("PortalParentContext"); function cn() { let e = z(Me, null), t = p([]); function n(a) { return t.value.push(a), e && e.register(a), () => l(a) } function l(a) { let r = t.value.indexOf(a); r !== -1 && t.value.splice(r, 1), e && e.unregister(a) } let o = { register: n, unregister: l, portals: t }; return [t, G({ name: "PortalWrapper", setup(a, { slots: r }) { return X(Me, o), () => { var s; return (s = r.default) == null ? void 0 : s.call(r) } } })] } let pt = Symbol("PortalGroupContext"), dn = G({ name: "PortalGroup", props: { as: { type: [Object, String], default: "template" }, target: { type: Object, default: null } }, setup(e, { attrs: t, slots: n }) { let l = xt({ resolveTarget() { return e.target } }); return X(pt, l), () => { let { target: o, ...a } = e; return te({ theirProps: a, ourProps: {}, slot: {}, attrs: t, slots: n, name: "PortalGroup" }) } } }), vt = Symbol("StackContext"); var He = (e => (e[e.Add = 0] = "Add", e[e.Remove = 1] = "Remove", e))(He || {}); function fn() { return z(vt, () => {}) } function pn({ type: e, enabled: t, element: n, onUpdate: l }) { let o = fn(); function a(...r) { l == null || l(...r), o(...r) } W(() => { be(t, (r, s) => { r ? a(0, e, n) : s === !0 && a(1, e, n) }, { immediate: !0, flush: "sync" }) }), ee(() => { t.value && a(1, e, n) }), X(vt, a) } let vn = Symbol("DescriptionContext"); function mn({ slot: e = p({}), name: t = "Description", props: n = {} } = {}) { let l = p([]); function o(a) { return l.value.push(a), () => { let r = l.value.indexOf(a); r !== -1 && l.value.splice(r, 1) } } return X(vn, { register: o, slot: e, name: t, props: n }), E(() => l.value.length > 0 ? l.value.join(" ") : void 0) } function hn(e) { let t = Lt(e.getSnapshot()); return ee(e.subscribe(() => { t.value = e.getSnapshot() })), t } function gn(e, t) { let n = e(), l = new Set; return { getSnapshot() { return n }, subscribe(o) { return l.add(o), () => l.delete(o) }, dispatch(o, ...a) { let r = t[o].call(n, ...a); r && (n = r, l.forEach(s => s())) } } } function bn() { let e; return { before({ doc: t }) { var n; let l = t.documentElement; e = ((n = t.defaultView) != null ? n : window).innerWidth - l.clientWidth }, after({ doc: t, d: n }) { let l = t.documentElement, o = l.clientWidth - l.offsetWidth, a = e - o; n.style(l, "paddingRight", `${a}px`) } } } function yn() { if (!Zt()) return {}; let e; return { before() { e = window.pageYOffset }, after({ doc: t, d: n, meta: l }) { function o(r) { return l.containers.flatMap(s => s()).some(s => s.contains(r)) } if (window.getComputedStyle(t.documentElement).scrollBehavior !== "auto") { let r = we(); r.style(t.documentElement, "scroll-behavior", "auto"), n.add(() => n.microTask(() => r.dispose())) } n.style(t.body, "marginTop", `-${e}px`), window.scrollTo(0, 0); let a = null; n.addEventListener(t, "click", r => { if (r.target instanceof HTMLElement) try { let s = r.target.closest("a"); if (!s) return; let { hash: i } = new URL(s.href), u = t.querySelector(i); u && !o(u) && (a = u) } catch {} }, !0), n.addEventListener(t, "touchmove", r => { r.target instanceof HTMLElement && !o(r.target) && r.preventDefault() }, { passive: !1 }), n.add(() => { window.scrollTo(0, window.pageYOffset + e), a && a.isConnected && (a.scrollIntoView({ block: "nearest" }), a = null) }) } } } function wn() { return { before({ doc: e, d: t }) { t.style(e.documentElement, "overflow", "hidden") } } } function Sn(e) { let t = {}; for (let n of e) Object.assign(t, n(t)); return t } let ue = gn(() => new Map, { PUSH(e, t) { var n; let l = (n = this.get(e)) != null ? n : { doc: e, count: 0, d: we(), meta: new Set }; return l.count++, l.meta.add(t), this.set(e, l), this }, POP(e, t) { let n = this.get(e); return n && (n.count--, n.meta.delete(t)), this }, SCROLL_PREVENT({ doc: e, d: t, meta: n }) { let l = { doc: e, d: t, meta: Sn(n) }, o = [yn(), bn(), wn()]; o.forEach(({ before: a }) => a == null ? void 0 : a(l)), o.forEach(({ after: a }) => a == null ? void 0 : a(l)) }, SCROLL_ALLOW({ d: e }) { e.dispose() }, TEARDOWN({ doc: e }) { this.delete(e) } }); ue.subscribe(() => { let e = ue.getSnapshot(), t = new Map; for (let [n] of e) t.set(n, n.documentElement.style.overflow); for (let n of e.values()) { let l = t.get(n.doc) === "hidden", o = n.count !== 0; (o && !l || !o && l) && ue.dispatch(n.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", n), n.count === 0 && ue.dispatch("TEARDOWN", n) } }); function En(e, t, n) { let l = hn(ue), o = E(() => { let a = e.value ? l.value.get(e.value) : void 0; return a ? a.count > 0 : !1 }); return be([e, t], ([a, r], [s], i) => { if (!a || !r) return; ue.dispatch("PUSH", a, n); let u = !1; i(() => { u || (ue.dispatch("POP", s ?? a, n), u = !0) }) }, { immediate: !0 }), o } function _n({ defaultContainers: e = [], portals: t, mainTreeNodeRef: n } = {}) { let l = p(null), o = de(l); function a() { var r; let s = []; for (let i of e) i !== null && (i instanceof HTMLElement ? s.push(i) : "value" in i && i.value instanceof HTMLElement && s.push(i.value)); if (t != null && t.value) for (let i of t.value) s.push(i); for (let i of (r = o == null ? void 0 : o.querySelectorAll("html > *, body > *")) != null ? r : []) i !== document.body && i !== document.head && i instanceof HTMLElement && i.id !== "headlessui-portal-root" && (i.contains(A(l)) || s.some(u => i.contains(u)) || s.push(i)); return s } return { resolveContainers: a, contains(r) { return a().some(s => s.contains(r)) }, mainTreeNodeRef: l, MainTreeNode() { return n != null ? null : j(je, { features: ke.Hidden, ref: l }) } } } var xn = (e => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(xn || {}); let Be = Symbol("DialogContext"); function mt(e) { let t = z(Be, null); if (t === null) { let n = new Error(`<${e} /> is missing a parent component.`); throw Error.captureStackTrace && Error.captureStackTrace(n, mt), n } return t } let xe = "DC8F892D-2EBD-447C-A4C8-A03058436FF4", Ln = G({ name: "Dialog", inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: !1 }, unmount: { type: Boolean, default: !0 }, open: { type: [Boolean, String], default: xe }, initialFocus: { type: Object, default: null }, id: { type: String, default: () => `headlessui-dialog-${Ue()}` } }, emits: { close: e => !0 }, setup(e, { emit: t, attrs: n, slots: l, expose: o }) { var a; let r = p(!1); W(() => { r.value = !0 }); let s = p(0), i = Ve(), u = E(() => e.open === xe && i !== null ? (i.value & B.Open) === B.Open : e.open), d = p(null), g = E(() => de(d)); if (o({ el: d, $el: d }), !(e.open !== xe || i !== null)) throw new Error("You forgot to provide an `open` prop to the `Dialog`."); if (typeof u.value != "boolean") throw new Error( `You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${u.value===xe?void 0:e.open}`); let f = E(() => r.value && u.value ? 0 : 1), b = E(() => f.value === 0), y = E(() => s.value > 1), m = z(Be, null) !== null, [C, I] = cn(), { resolveContainers: D, mainTreeNodeRef: M, MainTreeNode: L } = _n({ portals: C, defaultContainers: [E(() => { var k; return (k = $.panelRef.value) != null ? k : d.value })] }), fe = E(() => y.value ? "parent" : "leaf"), v = E(() => i !== null ? (i.value & B.Closing) === B.Closing : !1), h = E(() => m || v.value ? !1 : b.value), F = E(() => { var k, R, q; return (q = Array.from((R = (k = g.value) == null ? void 0 : k.querySelectorAll("body > *")) != null ? R : []).find(Y => Y.id === "headlessui-portal-root" ? !1 : Y.contains(A(M)) && Y instanceof HTMLElement)) != null ? q : null }); Je(F, h); let _ = E(() => y.value ? !0 : b.value), x = E(() => { var k, R, q; return (q = Array.from((R = (k = g.value) == null ? void 0 : k.querySelectorAll("[data-headlessui-portal]")) != null ? R : []).find( Y => Y.contains(A(M)) && Y instanceof HTMLElement)) != null ? q : null }); Je(x, _), pn({ type: "Dialog", enabled: E(() => f.value === 0), element: d, onUpdate: (k, R) => { if (R === "Dialog") return Q(k, { [He.Add]: () => s.value += 1, [He.Remove]: () => s.value -= 1 }) } }); let T = mn({ name: "DialogDescription", slot: E(() => ({ open: u.value })) }), U = p(null), $ = { titleId: U, panelRef: p(null), dialogState: f, setTitleId(k) { U.value !== k && (U.value = k) }, close() { t("close", !1) } }; X(Be, $); let oe = E(() => !(!b.value || y.value)); Qt(D, (k, R) => { $.close(), Tt(() => R == null ? void 0 : R.focus()) }, oe); let P = E(() => !(y.value || f.value !== 0)); it((a = g.value) == null ? void 0 : a.defaultView, "keydown", k => { P.value && (k.defaultPrevented || k.key === lt.Escape && (k.preventDefault(), k.stopPropagation(), $.close())) }); let V = E(() => !(v.value || f.value !== 0 || m)); return En(g, V, k => { var R; return { containers: [...(R = k.containers) != null ? R : [], D] } }), K(k => { if (f.value !== 0) return; let R = A(d); if (!R) return; let q = new ResizeObserver(Y => { for (let Se of Y) { let Z = Se.target.getBoundingClientRect(); Z.x === 0 && Z.y === 0 && Z.width === 0 && Z.height === 0 && $.close() } }); q.observe(R), k(() => q.disconnect()) }), () => { let { id: k, open: R, initialFocus: q, ...Y } = e, Se = { ...n, ref: d, id: k, role: "dialog", "aria-modal": f.value === 0 ? !0 : void 0, "aria-labelledby": U.value, "aria-describedby": T.value }, Z = { open: f.value === 0 }; return j(Xe, { force: !0 }, () => [j(un, () => j(dn, { target: d.value }, () => j(Xe, { force: !1 }, () => j(ve, { initialFocus: q, containers: D, features: b.value ? Q(fe.value, { parent: ve.features.RestoreFocus, leaf: ve.features.All & ~ve.features.FocusLock }) : ve.features.None }, () => j(I, {}, () => te({ ourProps: Se, theirProps: { ...Y, ...n }, slot: Z, attrs: n, slots: l, visible: f.value === 0, features: $e.RenderStrategy | $e.Static, name: "Dialog" })))))), j(L)]) } } }), Tn = G({ name: "DialogPanel", props: { as: { type: [Object, String], default: "div" }, id: { type: String, default: () => `headlessui-dialog-panel-${Ue()}` } }, setup(e, { attrs: t, slots: n, expose: l }) { let o = mt("DialogPanel"); l({ el: o.panelRef, $el: o.panelRef }); function a(r) { r.stopPropagation() } return () => { let { id: r, ...s } = e, i = { id: r, ref: o.panelRef, onClick: a }; return te({ ourProps: i, theirProps: s, slot: { open: o.dialogState.value === 0 }, attrs: t, slots: n, name: "DialogPanel" }) } } }); function $n(e) { let t = { called: !1 }; return (...n) => { if (!t.called) return t.called = !0, e(...n) } } function Ae(e, ...t) { e && t.length > 0 && e.classList.add(...t) } function Le(e, ...t) { e && t.length > 0 && e.classList.remove(...t) } var Ie = (e => (e.Finished = "finished", e.Cancelled = "cancelled", e))(Ie || {}); function kn(e, t) { let n = we(); if (!e) return n.dispose; let { transitionDuration: l, transitionDelay: o } = getComputedStyle(e), [a, r] = [l, o].map(s => { let [i = 0] = s.split(",").filter(Boolean).map(u => u.includes("ms") ? parseFloat(u) : parseFloat(u) * 1e3).sort((u, d) => d - u); return i }); return a !== 0 ? n.setTimeout(() => t("finished"), a + r) : t("finished"), n.add(() => t("cancelled")), n.dispose } function Qe(e, t, n, l, o, a) { let r = we(), s = a !== void 0 ? $n(a) : () => {}; return Le(e, ...o), Ae(e, ...t, ...n), r.nextFrame(() => { Le(e, ...n), Ae(e, ...l), r.add(kn(e, i => (Le(e, ...l, ...t), Ae(e, ...o), s(i)))) }), r.add(() => Le(e, ...t, ...n, ...l, ...o)), r.add(() => s("cancelled")), r.dispose } function re(e = "") { return e.split(" ").filter(t => t.trim().length > 1) } let Ge = Symbol("TransitionContext"); var Fn = (e => (e.Visible = "visible", e.Hidden = "hidden", e))(Fn || {}); function Cn() { return z(Ge, null) !== null } function On() { let e = z(Ge, null); if (e === null) throw new Error("A is used but it is missing a parent ."); return e } function Pn() { let e = z(qe, null); if (e === null) throw new Error("A is used but it is missing a parent ."); return e } let qe = Symbol("NestingContext"); function Fe(e) { return "children" in e ? Fe(e.children) : e.value.filter(({ state: t }) => t === "visible").length > 0 } function ht(e) { let t = p([]), n = p(!1); W(() => n.value = !0), ee(() => n.value = !1); function l(a, r = ae.Hidden) { let s = t.value.findIndex(({ id: i }) => i === a); s !== -1 && (Q(r, { [ae.Unmount]() { t.value.splice(s, 1) }, [ae.Hidden]() { t.value[s].state = "hidden" } }), !Fe(t) && n.value && (e == null || e())) } function o(a) { let r = t.value.find(({ id: s }) => s === a); return r ? r.state !== "visible" && (r.state = "visible") : t.value.push({ id: a, state: "visible" }), () => l(a, ae.Unmount) } return { children: t, register: o, unregister: l } } let gt = $e.RenderStrategy, bt = G({ props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: n, slots: l, expose: o }) { let a = p(0); function r() { a.value |= B.Opening, t("beforeEnter") } function s() { a.value &= ~B.Opening, t("afterEnter") } function i() { a.value |= B.Closing, t("beforeLeave") } function u() { a.value &= ~B.Closing, t("afterLeave") } if (!Cn() && Bt()) return () => j(yt, { ...e, onBeforeEnter: r, onAfterEnter: s, onBeforeLeave: i, onAfterLeave: u }, l); let d = p(null), g = E(() => e.unmount ? ae.Unmount : ae.Hidden); o({ el: d, $el: d }); let { show: f, appear: b } = On(), { register: y, unregister: m } = Pn(), C = p(f.value ? "visible" : "hidden"), I = { value: !0 }, D = Ue(), M = { value: !1 }, L = ht(() => { !M.value && C.value !== "hidden" && (C.value = "hidden", m(D), u()) }); W(() => { let $ = y(D); ee($) }), K(() => { if (g.value === ae.Hidden && D) { if (f.value && C.value !== "visible") { C.value = "visible"; return } Q(C.value, { hidden: () => m(D), visible: () => y(D) }) } }); let fe = re(e.enter), v = re(e.enterFrom), h = re(e.enterTo), F = re(e.entered), _ = re(e.leave), x = re(e.leaveFrom), T = re(e.leaveTo); W(() => { K(() => { if (C.value === "visible") { let $ = A(d); if ($ instanceof Comment && $.data === "") throw new Error( "Did you forget to passthrough the `ref` to the actual DOM node?") } }) }); function U($) { let oe = I.value && !b.value, P = A(d); !P || !(P instanceof HTMLElement) || oe || (M.value = !0, f.value && r(), f.value || i(), $(f.value ? Qe(P, fe, v, h, F, V => { M.value = !1, V === Ie.Finished && s() }) : Qe(P, _, x, T, F, V => { M.value = !1, V === Ie.Finished && (Fe(L) || (C.value = "hidden", m(D), u())) }))) } return W(() => { be([f], ($, oe, P) => { U(P), I.value = !1 }, { immediate: !0 }) }), X(qe, L), It(E(() => Q(C.value, { visible: B.Open, hidden: B.Closed }) | a.value)), () => { let { appear: $, show: oe, enter: P, enterFrom: V, enterTo: k, entered: R, leave: q, leaveFrom: Y, leaveTo: Se, ...Z } = e, wt = { ref: d }, St = { ...Z, ...b.value && f.value && ye.isServer ? { class: he([n.class, Z.class, ...fe, ...v]) } : {} }; return te({ theirProps: St, ourProps: wt, slot: {}, slots: l, attrs: n, features: gt, visible: C.value === "visible", name: "TransitionChild" }) } } }), An = bt, yt = G({ inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: n, slots: l }) { let o = Ve(), a = E(() => e.show === null && o !== null ? (o.value & B.Open) === B.Open : e.show); K(() => { if (![!0, !1].includes(a.value)) throw new Error('A is used but it is missing a `:show="true | false"` prop.') }); let r = p(a.value ? "visible" : "hidden"), s = ht(() => { r.value = "hidden" }), i = p(!0), u = { show: a, appear: E(() => e.appear || !i.value) }; return W(() => { K(() => { i.value = !1, a.value ? r.value = "visible" : Fe(s) || (r.value = "hidden") }) }), X(qe, s), X(Ge, u), () => { let d = nt(e, ["show", "appear", "unmount", "onBeforeEnter", "onBeforeLeave", "onAfterEnter", "onAfterLeave"]), g = { unmount: e.unmount }; return te({ ourProps: { ...g, as: "template" }, theirProps: {}, slot: {}, slots: { ...l, default: () => [j(An, { onBeforeEnter: () => t("beforeEnter"), onAfterEnter: () => t("afterEnter"), onBeforeLeave: () => t("beforeLeave"), onAfterLeave: () => t("afterLeave"), ...n, ...g, ...d }, l.default)] }, attrs: {}, features: gt, visible: r.value === "visible", name: "Transition" }) } } }); const Dn = $t(Ye.ui.strategy, Ye.ui.modal, Nt), Rn = G({ components: { HDialog: Ln, HDialogPanel: Tn, TransitionRoot: yt, TransitionChild: bt }, inheritAttrs: !1, props: { modelValue: { type: Boolean, default: !1 }, appear: { type: Boolean, default: !1 }, overlay: { type: Boolean, default: !0 }, transition: { type: Boolean, default: !0 }, preventClose: { type: Boolean, default: !1 }, fullscreen: { type: Boolean, default: !1 }, class: { type: [String, Object, Array], default: () => "" }, ui: { type: Object, default: () => ({}) } }, emits: ["update:modelValue", "close"], setup(e, { emit: t }) { const { ui: n, attrs: l } = kt("modal", ze(e, "ui"), Dn, ze(e, "class")), o = E({ get() { return e.modelValue }, set(s) { t("update:modelValue", s) } }), a = E(() => e.transition ? { ...n.value.transition } : {}); function r(s) { o.value = s, t("close") } return { ui: n, attrs: l, isOpen: o, transitionClass: a, close: r } } }); function Nn(e, t, n, l, o, a) { const r = Ee("TransitionChild"), s = Ee("HDialogPanel"), i = Ee("HDialog"), u = Ee("TransitionRoot"); return N(), De(u, { appear: e.appear, show: e.isOpen, as: "template" }, { default: se(() => [J(i, Ce({ class: e.ui.wrapper }, e.attrs, { onClose: t[0] || (t[0] = d => !e.preventClose && e.close(d)) }), { default: se(() => [e.overlay ? (N(), De(r, Ce({ key: 0, as: "template", appear: e.appear }, e.ui.overlay.transition), { default: se(() => [c("div", { class: he([e.ui.overlay.base, e.ui.overlay.background]) }, null, 2)]), _: 1 }, 16, ["appear"])) : Re("", !0), c("div", { class: he(e.ui.inner) }, [c("div", { class: he([e.ui.container, !e.fullscreen && e.ui.padding]) }, [J(r, Ce({ as: "template", appear: e.appear }, e.transitionClass), { default: se(() => [J(s, { class: he([e.ui.base, e.ui.background, e.ui.ring, e.ui.shadow, e .fullscreen ? e.ui.fullscreen : [e.ui.width, e.ui .height, e.ui.rounded, e.ui.margin ] ]) }, { default: se(() => [Ft(e.$slots, "default")]), _: 3 }, 8, ["class"])]), _: 3 }, 16, ["appear"])], 2)], 2)]), _: 3 }, 16, ["class"])]), _: 3 }, 8, ["appear", "show"]) } const jn = Ze(Rn, [ ["render", Nn] ]), Mn = { key: 0, class: "bg-dark-primary h-screen items-center justify-center text-center flex flex-col gap-y-10" }, Hn = { class: "flex flex-col items-center gap-y-4 py-8 text-center" }, Bn = c("span", { class: "text-4xl text-gray-100" }, "Reset save data?", -1), In = c("span", { class: "text-gray-400" }, [w("All game progress will be wiped and the game will reload."), c("br"), w("This can not be undone.")], -1), Un = { class: "flex gap-x-4" }, Vn = { class: "text-4xl text-gray-100" }, Wn = { class: "text-blue-500" }, Gn = { class: "text-blue-500" }, qn = c("img", { draggable: "false", src: "https://cdn.hypefoxstudios.com/data/melon/img/icon.svg", class: "w-64 h-64 cursor-pointer select-none" }, null, -1), Yn = [qn], zn = c("span", { class: "text-4xl text-gray-200" }, "Shop for upgrades", -1), Kn = { class: "grid" }, Jn = { class: "text-indigo-200 text-2xl" }, Xn = { class: "text-blue-500" }, Qn = { class: "flex flex-wrap" }, Zn = { class: "grid mb-2" }, el = { class: "text-indigo-400 text-2xl mt-4" }, tl = { class: "text-blue-500" }, nl = { class: "text-blue-500" }, ll = { class: "text-gray-500" }, al = { class: "text-blue-500" }, ol = { class: "text-gray-400 max-w-xs break-words" }, rl = { class: "text-green-600" }, sl = { class: "text-blue-500" }, il = { class: "text-red-400" }, ul = { class: "text-blue-500" }, cl = { class: "text-red-500" }, dl = { class: "text-blue-500" }, fl = { class: "grid text-white" }, pl = { class: "text-blue-500" }, vl = { class: "text-blue-500" }, ml = { class: "text-blue-500" }, hl = { class: "text-blue-500" }, gl = { class: "text-blue-500" }, bl = { class: "text-blue-500" }, yl = { class: "text-blue-500" }, wl = { class: "text-blue-500" }, Sl = { class: "text-blue-500" }, El = { class: "text-blue-500" }, _l = { class: "text-blue-500" }, xl = { class: "text-blue-500" }, Ll = { class: "text-blue-500" }, Tl = { class: "text-blue-500" }, $l = { class: "text-blue-500" }, kl = { class: "pt-4" }, Fl = { key: 1 }, Cl = { class: "flex items-center justify-center h-screen" }, Ol = { class: "flex flex-col items-center gap-y-2" }, Pl = c("a", { class: "text-red-500 text-4xl font-bold uppercase" }, "Cheating detected!", -1), Al = c("a", { class: "text-red-500 text-xl" }, "Looks like you've been caught red-handed! Remember, in the game of life, cheats never prosper. Better luck next time!", -1), Dl = c("a", { class: "text-red-500 text-xl font-extrabold" }, "Save data has been destroyed.", -1), Rl = G({ __name: "game", setup(e) { const t = Pt(), n = p("11a99af6"), l = t.$settings, o = new Date().getFullYear(), a = p(Array()), r = p("00:00:00"), s = t.$data, i = p(!1), u = p(!1), d = Ct(), g = p(0), f = p(0), b = p(0), y = p(""), m = p(1), C = p(0), I = p(0), D = p(0), M = p({}); class L { static price(v, h) { return (.1 * v * h + v) * l.general.inflationRate } static progress(v = !0) { let h = 0; if (v) return (L.buildings() / L.buildings(!0, !0) * 100).toFixed(2); for (const F of s.buildings.categories) for (const _ of F.members) _.owned >= _.limit && h++; return h } static buildings(v = !0, h = !1) { let F = 0; if (v) for (const _ of s.buildings.categories) for (const x of _.members) h ? F += x.limit : F += x.owned; else for (const _ of s.buildings.categories) for (const x of _.members) F++; return F } static leveling() { return l.leveling.base * m.value ** 2 } static purchase(v, h) { const _ = s.buildings.categories.find(x => x.name === v).members.find(x => x.name === h); if (_.owned >= _.limit) { d.add({ title: "Limit check failed.", description: `You have reached the limit (${_.owned}/${_.limit}) of ${_.name}.`, color: "red", icon: "i-lucide-alert-circle", timeout: 5 * 1e3 }); return } for (const x of _.conditions) switch (x.name) { case "level": if (m.value < x.value) { d.add({ title: "Condition check failed.", description: `You do not meet the required level to purchase this item (need ${x.value.toLocaleString()}, have ${m.value.toLocaleString()}).`, color: "red", icon: "i-lucide-alert-circle", timeout: 5 * 1e3 }); return } break } for (const x of _.cost) switch (x.name) { case "melons": let T = L.price(x.base, _.owned); f.value >= T ? (f.value -= T, I.value += T, _.owned++, d.add({ title: "Transaction successful!", description: `Purchased ${_.name}. You now have ${_.owned} of them. ${T.toLocaleString()} melons was deducted from your balance, and you have ${f.value.toLocaleString()} melons remaining.`, color: "green", icon: "i-lucide-check", timeout: 5 * 1e3 }), T = L.price(x.base, _.owned), M.value[_.name + x.name] = T) : d.add({ title: "Transaction check failed.", description: `You do not have enough melons to purchase this item (need ${T.toLocaleString()}, have ${f.value.toLocaleString()}, missing ${(T-f.value).toLocaleString()}).`, color: "red", icon: "i-lucide-alert-circle", timeout: 5 * 1e3 }); break } } static saveGame() { localStorage.setItem("game", JSON.stringify({ melons: f.value, clicks: g.value, level: m.value, total: C.value, spent: I.value, tracking: M.value, verid: n.value, data: s })) } static tick() { if (u.value) return; b.value++, y.value = b.value === 1 ? "tick" : "ticks", D.value = 0; for (const _ of s.buildings.categories) for (const x of _.members) if (x.owned > 0) for (const T of x.output) switch (T.name) { case "melons": const U = x.owned * T.value * l.general.inflationRate; f.value += U, C.value += U, D.value += U; break } D.value >= L.leveling() && (m.value++, d.add({ title: "Level up!", description: `Good job! You have reached level ${m.value.toLocaleString()}.`, color: "blue", icon: "i-lucide-rocket", timeout: 5 * 1e3 })); let v = parseInt(r.value.split(":")[2]), h = parseInt(r.value.split(":")[1]), F = parseInt(r.value.split(":")[0]); v++, v >= 60 && (v = 0, h++), h >= 60 && (h = 0, F++), r.value = `${F.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}:${v.toString().padStart(2,"0")}`, L.saveGame() } static init() { { const v = localStorage.getItem("game"); if (v) { const h = JSON.parse(v); g.value = h.clicks, f.value = h.melons, m.value = h.level, C.value = h.total, I.value = h.spent, M.value = h.tracking, h .verid !== n.value ? d.add({ title: "Game updated!", description: `The game has been updated to version ${n.value}. Your save data has been migrated, reset if you encounter any issues.`, color: "blue", icon: "i-lucide-rocket", timeout: 5 * 1e3 }) : s.buildings = h.data.buildings } } y.value = b.value === 1 ? "tick" : "ticks"; for (const v of s.buildings.categories) for (const h of v.members) for (const F of h.cost) M.value[h.name + F.name] = F.base * l.general.inflationRate } static title(v) { return v.charAt(0).toUpperCase() + v.slice(1) } static handleClick() { a.value.push(Date.now()), a.value.length > 25 && a.value.shift(), f.value++, g.value++, L.anticheat(), u.value ? localStorage .removeItem("game") : L.saveGame() } static clear() { localStorage.removeItem("game"), location.reload() } static anticheat() { } } return L.init(), setInterval(L.tick, l.tick.interval * 1e3), (fe, v) => { const h = At, F = jn, _ = Dt, x = Rt; return N(), H(ne, null, [O(u) ? Re("", !0) : (N(), H("div", Mn, [J(F, { modelValue: O(i), "onUpdate:modelValue": v[2] || (v[2] = T => Ot(i) ? i.value = T : null) }, { default: se(() => [c("div", Hn, [Bn, In, c("div", Un, [J(h, { onClick: v[0] || (v[0] = T => i.value = !1), label: "Cancel", color: "blue", size: "lg", class: "w-22 h-8 justify-center", "trailing-icon": "i-lucide-x" }), J(h, { onClick: v[1] || (v[1] = T => L.clear()), label: "Reset", color: "red", size: "lg", class: "w-22 h-8 justify-center", "trailing-icon": "i-lucide-trash" })])])]), _: 1 }, 8, ["modelValue"]), c("div", Vn, [w(" Melons: "), c("span", Wn, S(O(f).toLocaleString()), 1), w(" ("), c( "span", Gn, S(O(D).toLocaleString()), 1), w("/sec) ")]), c("button", { onClick: v[3] || (v[3] = (...T) => L.handleClick && L.handleClick(...T)), class: "focus:outline-none" }, Yn), zn, c("div", Kn, [(N(!0), H(ne, null, pe(O(s).buildings.categories, (T, U) => (N(), H("div", { key: U }, [c("span", Jn, [w(S(T.name) + " (", 1), c("span", Xn, S(T.members.length), 1), w( ")")]), c("div", Qn, [(N(!0), H(ne, null, pe(T.members, ($, oe) => (N(), H( "div", { key: oe, class: "mr-4 mb-4" }, [c("div", Zn, [c("span", el, [w(S($.name) + " (", 1), c("span", tl, S($ .owned), 1), w("/"), c( "span", nl, S($.limit), 1), w(" owned) ") ]), c("span", ll, [c("span", al, S(Math .floor($.owned / $ .limit * 100)) + "% ", 1), w("completed")]), c( "span", ol, S($.description), 1), c( "span", rl, [w("Production: "), (N(! 0), H(ne, null, pe($ .output, (P, V) => ( N(), H("span", { key: V, class: "text-gray-400" }, [w(S(L.title(P .name )) + ": ", 1), c("span", sl, S((P.value * O( l) .general .inflationRate ) .toLocaleString() ), 1) ]))), 128))]), c("span", il, [w("Conditions: "), (N(!0), H(ne, null, pe($.conditions, ( P, V) => (N(), H("span", { key: V, class: "text-gray-400" }, [w(S(L.title(P .name )) + ": ", 1), c("span", ul, S(P.value .toLocaleString() ), 1) ]))), 128))]), c("span", cl, [w("Cost: "), (N(!0), H(ne, null, pe($.cost, (P, V) => ( N(), H("span", { key: V, class: "text-gray-400" }, [w(S(L.title(P .name )) + ": ", 1), c("span", dl, S(O(M)[$.name + P .name ] .toLocaleString() ), 1) ]))), 128))])]), J(h, { onClick: P => L.purchase(T.name, $ .name), label: "Purchase", color: "blue", size: "lg", class: "w-full justify-center", "trailing-icon": "i-lucide-shopping-cart" }, null, 8, ["onClick"])]))), 128))])]))), 128))]), c("footer", null, [c("div", fl, [c("div", null, [w( " Level: "), c("span", pl, S(O(m).toLocaleString()), 1), w( " | MPS for next level: "), c("span", vl, S(L.leveling().toLocaleString()), 1), w( " ("), c("span", ml, S((L.leveling() - O(D)).toLocaleString()), 1), w( " left) | Total earned: "), c("span", hl, S((O(C) + O(g)).toLocaleString()), 1), w( " | Total spent: "), c("span", gl, S(O(I).toLocaleString()), 1), w( " | Total buildings: "), c("span", bl, S(L.buildings().toLocaleString()), 1), w( "/"), c("span", yl, S(L.buildings(!0, !0).toLocaleString()), 1), w( " | Earned from buildings: "), c("span", wl, S(O(C).toLocaleString()), 1), w( " | Earned from clicking: "), c("span", Sl, S(O(g).toLocaleString()), 1) ]), c("div", null, [w(" Total game progress: "), c("span", El, S(L.progress()) + "%", 1), w( " | Maxed out: "), c("span", _l, S(L.progress(!1)), 1), w("/"), c("span", xl, S(L .buildings(!1)), 1), w(" | Engine runtime: "), c("span", Ll, S(O(r)), 1), w(" ("), c("span", Tl, S(O(b)), 1), w(" " + S(O(y)) + ") ", 1) ]), c("div", null, [w(" © " + S(O(o)) + " ", 1), J(_, { to: "https://hypefoxstudios.com", class: "text-blue-500" }, { default: se(() => [w("Hypefox Studios Ltd")]), _: 1 }), w(" - All Rights Reserved | Version ID: "), c("span", $l, S(O(n)), 1)]), c("div", kl, [J( h, { onClick: v[4] || (v[4] = T => i.value = !0), label: "Reset", color: "red", size: "lg", class: "w-22 h-8 justify-center", "trailing-icon": "i-lucide-trash" })])])])])), O(u) ? (N(), H("div", Fl, [c("div", Cl, [c("div", Ol, [J(x, { name: "i-lucide-alert-triangle", class: "text-red-500 text-[10rem]" }), Pl, Al, Dl])])])) : Re("", !0)], 64) } } }), Nl = {}; function jl(e, t) { const n = Rl; return N(), De(n) } const Hl = Ze(Nl, [ ["render", jl] ]); export { Hl as default };