UNPKG

epps

Version:

Enhances Pinia stores with advanced features such as persistence, encryption, and store extension. Simplifies state management and ensures data security for Vue.js and Nuxt applications.

1,748 lines 65.6 kB
var $e = Object.defineProperty; var Ce = (t, e, s) => e in t ? $e(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s; var h = (t, e, s) => Ce(t, typeof e != "symbol" ? e + "" : e, s); import j from "crypto-js"; import { defineStore as Yt } from "pinia"; class Gt { constructor(e, s) { h(this, "_key"); h(this, "_iv"); this._key = j.enc.Utf8.parse(e), this._iv = j.enc.Utf8.parse(s); } /** * Decrypt string passed in parameter * @param {string} item - encrypted string * @returns {string} decrypted item */ decrypt(e) { let s = j.lib.CipherParams.create({ ciphertext: j.enc.Base64.parse(e) }); return j.AES.decrypt(s, this._key, { iv: this._iv }).toString(j.enc.Utf8); } /** * Encrypt string passed in parameter * @param {string} item * @returns {string} encrypted item */ encrypt(e) { return j.AES.encrypt(e, this._key, { iv: this._iv }).toString(); } } class Me { constructor(e) { h(this, "_storage"); this._storage = e === "localStorage" ? localStorage : sessionStorage; } clear() { this._storage.clear(); } async getItem(e) { return new Promise((s, r) => { const n = this._storage.getItem(e.toString()); s(n ? JSON.parse(n) : void 0); }); } removeItem(e) { this._storage.removeItem(e.toString()); } removeItems(e) { for (let s = 0; s < this._storage.length; s++) { const r = this._storage.key(s); r && (!e || !e.includes(r)) && this._storage.removeItem(r); } } setItem(e, s) { this._storage.setItem(s, JSON.stringify(e)); } } const He = "Epps!", Kt = (t, e = "white") => `background-color: ${t}; color: ${e}; padding: 1px; margin-right: 5px; font-size: 12px`; function xt(t, e, s) { const r = s ? Kt(s.bgColor, s.color) : Kt("#ffec73", "green"); t = ` [${(s == null ? void 0 : s.icon) ?? "🍍⚡"} ${He} plugin] - ${t} `, console.log( "%c%s", r, t, e ); } function $(t, e) { xt(t, e, { bgColor: "#ffa653", color: "white", icon: "🍍⚠️" }); } class Lt { constructor(e, s, r) { h(this, "_db"); h(this, "_localStorageVersionKey", "IDBVersion"); h(this, "_name", "persistStore"); h(this, "_objectStore"); h(this, "_objectStoreOptions"); h(this, "_objectStoreName"); h(this, "_transactionMode", "readwrite"); h(this, "_version"); this._objectStoreName = e, this._version = this.getStoredVersionNumber(), s && (this._objectStoreOptions = s), r && (this._transactionMode = r); } clear() { const e = () => { if (this._objectStore) { const s = this._objectStore.clear(); this.requestEventsHandler(s, { error: () => this.onError(s.error) }); } }; this.open({ success: e }); } createObjectStore() { this._db && !this._db.objectStoreNames.contains(this._objectStoreName) && this._db.createObjectStore(this._objectStoreName, this._objectStoreOptions); } deleteObjectStore() { const e = () => { var s; (s = this._db) == null || s.deleteObjectStore(this._objectStoreName); }; this.open({ success: e }); } async getItem(e) { return new Promise((s) => { const r = () => { if (this._objectStore) { const n = this._objectStore.get(e); this.requestEventsHandler(n, { error: () => this.onError( n.error, () => s(void 0) ), success: () => s(n.result) }); } }; this.open({ success: r }); }); } async getObjectStoreItem(e, s) { return new Promise((r) => { const n = () => { if (this._objectStore) { const o = this._objectStore.index(e).get(s); this.requestEventsHandler(o, { error: () => r(void 0), success: () => r(o.result) }); } }; this.open({ success: n }); }); } getStoredVersionNumber() { if (!localStorage) return 1; const e = localStorage.getItem(this._localStorageVersionKey); return e ? parseInt(e) : 1; } handleDeleteRequest(e, s) { e.onerror = () => $(`IndexedDB - Item "${s}" remove`, e.error); } onError(e, s) { s && s(e); } open(e) { const s = indexedDB.open(this._name, this._version), r = () => { this._db = s.result; }, n = (o) => { try { if (r(), !this._db) return; const c = this._db.transaction(this._objectStoreName, this._transactionMode); c.onerror = () => this.onError(c.error), this._objectStore = c.objectStore(this._objectStoreName), this._objectStore && o(); } catch (c) { $("indexedDB - transaction error", [c]); } }; if (e != null && e.success) { const o = e.success; e.success = () => n(o); } if (e != null && e.upgrade) { const o = e.upgrade.bind(this); e.upgrade = () => { r(), o(); }; } const i = () => { const o = (c) => { if ((c == null ? void 0 : c.name) === "VersionError") { this._version++, this.saveVersion(), this.open(e); return; } e != null && e.error && e.error(c); }; this.onError(s.error, o); }; return e && this.openRequestEventsHandler(s, { ...e, error: i }), s; } openRequestEventsHandler(e, s) { this.requestEventsHandler(e, s), s.upgrade && (e.onupgradeneeded = s.upgrade); } removeItem(e) { const s = () => { if (this._objectStore) { const r = this._objectStore.delete(e); this.handleDeleteRequest(r, e); } }; this.open({ success: s }); } removeItems(e) { const s = () => { if (this._objectStore) { const r = this._objectStore.getAllKeys(), n = () => { r.result.forEach((c) => { if (this._objectStore && (!e || !e.includes(c))) { const a = this._objectStore.delete(c); this.handleDeleteRequest(a, c); } }); }, i = () => $("IndexedDB - removeItems", [r.error]); this.requestEventsHandler(r, { error: i, success: n }); } }; this.open({ success: s }); } requestEventsHandler(e, s) { const { error: r, success: n } = s; r && (e.onerror = r), n && (e.onsuccess = n); } saveVersion() { localStorage && localStorage.setItem(this._localStorageVersionKey, this._version.toString()); } setItem(e, s) { const r = () => { if (this._objectStore) { const i = this._objectStore.add(e); if (s) { const o = () => { s.forEach((a) => { var l; (l = this._objectStore) == null || l.createIndex(a, a, { unique: !0 }), xt(`"${a}" index created`); }); }, c = () => this.onError(i.error); this.requestEventsHandler(i, { error: c, success: o }); } } }, n = this.createObjectStore; this.open({ success: r, upgrade: n }); } updateItem(e) { const s = () => { if (this._objectStore) { const r = this._objectStore.put(e); r.onerror = () => $("update item", [r.error, e]); } }; this.open({ success: s }); } } class It { constructor(e) { h(this, "_db"); h(this, "_db_options"); if (!e) throw new Error("DbOptions is required"); this._db_options = e, this._db = this.defineDb(); } defineDb() { let { keyPath: e, name: s } = this._db_options, r; switch (s) { case "localStorage": case "sessionStorage": r = new Me(s); break; default: e || (e = "storeName"), r = new Lt(s, { keyPath: e }); } return r; } getItem(e) { return new Promise((s, r) => { if (!this._db) return r("No db found"); try { return this._db.getItem(e).then((n) => s(n)); } catch (n) { r(n); } }); } removeItem(e) { this._db.removeItem(e); } setItem(e, s) { if (this._db instanceof Lt) try { this._db.getItem(e).then((r) => { r ? this._db.updateItem(r) : this._db.setItem({ storeName: e, ...s }); }); } catch (r) { $("Persister - setItem Error", r), this._db.setItem({ storename: e, ...s }); } else this._db.setItem(s, e); } } /** * @vue/shared v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ /*! #__NO_SIDE_EFFECTS__ */ // @__NO_SIDE_EFFECTS__ function Fe(t) { const e = /* @__PURE__ */ Object.create(null); for (const s of t.split(",")) e[s] = 1; return (s) => s in e; } const Et = process.env.NODE_ENV !== "production" ? Object.freeze({}) : {}; process.env.NODE_ENV !== "production" && Object.freeze([]); const Qt = () => { }, Ke = (t) => t.charCodeAt(0) === 111 && t.charCodeAt(1) === 110 && // uppercase letter (t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97), H = Object.assign, Le = Object.prototype.hasOwnProperty, vt = (t, e) => Le.call(t, e), g = Array.isArray, Q = (t) => Xt(t) === "[object Map]", T = (t) => typeof t == "function", I = (t) => typeof t == "string", nt = (t) => typeof t == "symbol", E = (t) => t !== null && typeof t == "object", Be = Object.prototype.toString, Xt = (t) => Be.call(t), Zt = (t) => Xt(t).slice(8, -1), Rt = (t) => I(t) && t !== "NaN" && t[0] !== "-" && "" + parseInt(t, 10) === t, qe = (t) => { const e = /* @__PURE__ */ Object.create(null); return (s) => e[s] || (e[s] = t(s)); }, We = qe((t) => t.charAt(0).toUpperCase() + t.slice(1)), q = (t, e) => !Object.is(t, e); let Bt; const _t = () => Bt || (Bt = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {}); function Tt(t) { if (g(t)) { const e = {}; for (let s = 0; s < t.length; s++) { const r = t[s], n = I(r) ? Ye(r) : Tt(r); if (n) for (const i in n) e[i] = n[i]; } return e; } else if (I(t) || E(t)) return t; } const Ue = /;(?![^(]*\))/g, ze = /:([^]+)/, Je = /\/\*[^]*?\*\//g; function Ye(t) { const e = {}; return t.replace(Je, "").split(Ue).forEach((s) => { if (s) { const r = s.split(ze); r.length > 1 && (e[r[0].trim()] = r[1].trim()); } }), e; } function Vt(t) { let e = ""; if (I(t)) e = t; else if (g(t)) for (let s = 0; s < t.length; s++) { const r = Vt(t[s]); r && (e += r + " "); } else if (E(t)) for (const s in t) t[s] && (e += s + " "); return e.trim(); } /** * @vue/reactivity v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ function U(t, ...e) { console.warn(`[Vue warn] ${t}`, ...e); } let _, kt = 0, X, Z; function Ge(t, e = !1) { if (t.flags |= 8, e) { t.next = Z, Z = t; return; } t.next = X, X = t; } function Dt() { kt++; } function At() { if (--kt > 0) return; if (Z) { let e = Z; for (Z = void 0; e; ) { const s = e.next; e.next = void 0, e.flags &= -9, e = s; } } let t; for (; X; ) { let e = X; for (X = void 0; e; ) { const s = e.next; if (e.next = void 0, e.flags &= -9, e.flags & 1) try { e.trigger(); } catch (r) { t || (t = r); } e = s; } } if (t) throw t; } function Qe(t) { for (let e = t.deps; e; e = e.nextDep) e.version = -1, e.prevActiveLink = e.dep.activeLink, e.dep.activeLink = e; } function Xe(t) { let e, s = t.depsTail, r = s; for (; r; ) { const n = r.prevDep; r.version === -1 ? (r === s && (s = n), ee(r), ke(r)) : e = r, r.dep.activeLink = r.prevActiveLink, r.prevActiveLink = void 0, r = n; } t.deps = e, t.depsTail = s; } function Ze(t) { for (let e = t.deps; e; e = e.nextDep) if (e.dep.version !== e.version || e.dep.computed && (te(e.dep.computed) || e.dep.version !== e.version)) return !0; return !!t._dirty; } function te(t) { if (t.flags & 4 && !(t.flags & 16) || (t.flags &= -17, t.globalVersion === tt)) return; t.globalVersion = tt; const e = t.dep; if (t.flags |= 2, e.version > 0 && !t.isSSR && t.deps && !Ze(t)) { t.flags &= -3; return; } const s = _, r = A; _ = t, A = !0; try { Qe(t); const n = t.fn(t._value); (e.version === 0 || q(n, t._value)) && (t._value = n, e.version++); } catch (n) { throw e.version++, n; } finally { _ = s, A = r, Xe(t), t.flags &= -3; } } function ee(t, e = !1) { const { dep: s, prevSub: r, nextSub: n } = t; if (r && (r.nextSub = n, t.prevSub = void 0), n && (n.prevSub = r, t.nextSub = void 0), process.env.NODE_ENV !== "production" && s.subsHead === t && (s.subsHead = n), s.subs === t && (s.subs = r, !r && s.computed)) { s.computed.flags &= -5; for (let i = s.computed.deps; i; i = i.nextDep) ee(i, !0); } !e && !--s.sc && s.map && s.map.delete(s.key); } function ke(t) { const { prevDep: e, nextDep: s } = t; e && (e.nextDep = s, t.prevDep = void 0), s && (s.prevDep = e, t.nextDep = void 0); } let A = !0; const se = []; function jt() { se.push(A), A = !1; } function $t() { const t = se.pop(); A = t === void 0 ? !0 : t; } let tt = 0; class ts { constructor(e, s) { this.sub = e, this.dep = s, this.version = s.version, this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; } } class Ct { constructor(e) { this.computed = e, this.version = 0, this.activeLink = void 0, this.subs = void 0, this.map = void 0, this.key = void 0, this.sc = 0, process.env.NODE_ENV !== "production" && (this.subsHead = void 0); } track(e) { if (!_ || !A || _ === this.computed) return; let s = this.activeLink; if (s === void 0 || s.sub !== _) s = this.activeLink = new ts(_, this), _.deps ? (s.prevDep = _.depsTail, _.depsTail.nextDep = s, _.depsTail = s) : _.deps = _.depsTail = s, re(s); else if (s.version === -1 && (s.version = this.version, s.nextDep)) { const r = s.nextDep; r.prevDep = s.prevDep, s.prevDep && (s.prevDep.nextDep = r), s.prevDep = _.depsTail, s.nextDep = void 0, _.depsTail.nextDep = s, _.depsTail = s, _.deps === s && (_.deps = r); } return process.env.NODE_ENV !== "production" && _.onTrack && _.onTrack( H( { effect: _ }, e ) ), s; } trigger(e) { this.version++, tt++, this.notify(e); } notify(e) { Dt(); try { if (process.env.NODE_ENV !== "production") for (let s = this.subsHead; s; s = s.nextSub) s.sub.onTrigger && !(s.sub.flags & 8) && s.sub.onTrigger( H( { effect: s.sub }, e ) ); for (let s = this.subs; s; s = s.prevSub) s.sub.notify() && s.sub.dep.notify(); } finally { At(); } } } function re(t) { if (t.dep.sc++, t.sub.flags & 4) { const e = t.dep.computed; if (e && !t.dep.subs) { e.flags |= 20; for (let r = e.deps; r; r = r.nextDep) re(r); } const s = t.dep.subs; s !== t && (t.prevSub = s, s && (s.nextSub = t)), process.env.NODE_ENV !== "production" && t.dep.subsHead === void 0 && (t.dep.subsHead = t), t.dep.subs = t; } } const ut = /* @__PURE__ */ new WeakMap(), C = Symbol( process.env.NODE_ENV !== "production" ? "Object iterate" : "" ), wt = Symbol( process.env.NODE_ENV !== "production" ? "Map keys iterate" : "" ), et = Symbol( process.env.NODE_ENV !== "production" ? "Array iterate" : "" ); function S(t, e, s) { if (A && _) { let r = ut.get(t); r || ut.set(t, r = /* @__PURE__ */ new Map()); let n = r.get(s); n || (r.set(s, n = new Ct()), n.map = r, n.key = s), process.env.NODE_ENV !== "production" ? n.track({ target: t, type: e, key: s }) : n.track(); } } function D(t, e, s, r, n, i) { const o = ut.get(t); if (!o) { tt++; return; } const c = (a) => { a && (process.env.NODE_ENV !== "production" ? a.trigger({ target: t, type: e, key: s, newValue: r, oldValue: n, oldTarget: i }) : a.trigger()); }; if (Dt(), e === "clear") o.forEach(c); else { const a = g(t), l = a && Rt(s); if (a && s === "length") { const p = Number(r); o.forEach((u, d) => { (d === "length" || d === et || !nt(d) && d >= p) && c(u); }); } else switch ((s !== void 0 || o.has(void 0)) && c(o.get(s)), l && c(o.get(et)), e) { case "add": a ? l && c(o.get("length")) : (c(o.get(C)), Q(t) && c(o.get(wt))); break; case "delete": a || (c(o.get(C)), Q(t) && c(o.get(wt))); break; case "set": Q(t) && c(o.get(C)); break; } } At(); } function es(t, e) { const s = ut.get(t); return s && s.get(e); } function F(t) { const e = f(t); return e === t ? e : (S(e, "iterate", et), w(t) ? e : e.map(m)); } function Mt(t) { return S(t = f(t), "iterate", et), t; } const ss = { __proto__: null, [Symbol.iterator]() { return gt(this, Symbol.iterator, m); }, concat(...t) { return F(this).concat( ...t.map((e) => g(e) ? F(e) : e) ); }, entries() { return gt(this, "entries", (t) => (t[1] = m(t[1]), t)); }, every(t, e) { return P(this, "every", t, e, void 0, arguments); }, filter(t, e) { return P(this, "filter", t, e, (s) => s.map(m), arguments); }, find(t, e) { return P(this, "find", t, e, m, arguments); }, findIndex(t, e) { return P(this, "findIndex", t, e, void 0, arguments); }, findLast(t, e) { return P(this, "findLast", t, e, m, arguments); }, findLastIndex(t, e) { return P(this, "findLastIndex", t, e, void 0, arguments); }, // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement forEach(t, e) { return P(this, "forEach", t, e, void 0, arguments); }, includes(...t) { return mt(this, "includes", t); }, indexOf(...t) { return mt(this, "indexOf", t); }, join(t) { return F(this).join(t); }, // keys() iterator only reads `length`, no optimisation required lastIndexOf(...t) { return mt(this, "lastIndexOf", t); }, map(t, e) { return P(this, "map", t, e, void 0, arguments); }, pop() { return Y(this, "pop"); }, push(...t) { return Y(this, "push", t); }, reduce(t, ...e) { return qt(this, "reduce", t, e); }, reduceRight(t, ...e) { return qt(this, "reduceRight", t, e); }, shift() { return Y(this, "shift"); }, // slice could use ARRAY_ITERATE but also seems to beg for range tracking some(t, e) { return P(this, "some", t, e, void 0, arguments); }, splice(...t) { return Y(this, "splice", t); }, toReversed() { return F(this).toReversed(); }, toSorted(t) { return F(this).toSorted(t); }, toSpliced(...t) { return F(this).toSpliced(...t); }, unshift(...t) { return Y(this, "unshift", t); }, values() { return gt(this, "values", m); } }; function gt(t, e, s) { const r = Mt(t), n = r[e](); return r !== t && !w(t) && (n._next = n.next, n.next = () => { const i = n._next(); return i.value && (i.value = s(i.value)), i; }), n; } const rs = Array.prototype; function P(t, e, s, r, n, i) { const o = Mt(t), c = o !== t && !w(t), a = o[e]; if (a !== rs[e]) { const u = a.apply(t, i); return c ? m(u) : u; } let l = s; o !== t && (c ? l = function(u, d) { return s.call(this, m(u), d, t); } : s.length > 2 && (l = function(u, d) { return s.call(this, u, d, t); })); const p = a.call(o, l, r); return c && n ? n(p) : p; } function qt(t, e, s, r) { const n = Mt(t); let i = s; return n !== t && (w(t) ? s.length > 3 && (i = function(o, c, a) { return s.call(this, o, c, a, t); }) : i = function(o, c, a) { return s.call(this, o, m(c), a, t); }), n[e](i, ...r); } function mt(t, e, s) { const r = f(t); S(r, "iterate", et); const n = r[e](...s); return (n === -1 || n === !1) && lt(s[0]) ? (s[0] = f(s[0]), r[e](...s)) : n; } function Y(t, e, s = []) { jt(), Dt(); const r = f(t)[e].apply(t, s); return At(), $t(), r; } const ns = /* @__PURE__ */ Fe("__proto__,__v_isRef,__isVue"), ne = new Set( /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((t) => t !== "arguments" && t !== "caller").map((t) => Symbol[t]).filter(nt) ); function is(t) { nt(t) || (t = String(t)); const e = f(this); return S(e, "has", t), e.hasOwnProperty(t); } class ie { constructor(e = !1, s = !1) { this._isReadonly = e, this._isShallow = s; } get(e, s, r) { if (s === "__v_skip") return e.__v_skip; const n = this._isReadonly, i = this._isShallow; if (s === "__v_isReactive") return !n; if (s === "__v_isReadonly") return n; if (s === "__v_isShallow") return i; if (s === "__v_raw") return r === (n ? i ? _s : ae : i ? hs : ce).get(e) || // receiver is not the reactive proxy, but has the same prototype // this means the receiver is a user proxy of the reactive proxy Object.getPrototypeOf(e) === Object.getPrototypeOf(r) ? e : void 0; const o = g(e); if (!n) { let a; if (o && (a = ss[s])) return a; if (s === "hasOwnProperty") return is; } const c = Reflect.get( e, s, // if this is a proxy wrapping a ref, return methods using the raw ref // as receiver so that we don't have to call `toRaw` on the ref in all // its class methods N(e) ? e : r ); return (nt(s) ? ne.has(s) : ns(s)) || (n || S(e, "get", s), i) ? c : N(c) ? o && Rt(s) ? c : c.value : E(c) ? n ? le(c) : ue(c) : c; } } class os extends ie { constructor(e = !1) { super(!1, e); } set(e, s, r, n) { let i = e[s]; if (!this._isShallow) { const a = R(i); if (!w(r) && !R(r) && (i = f(i), r = f(r)), !g(e) && N(i) && !N(r)) return a ? !1 : (i.value = r, !0); } const o = g(e) && Rt(s) ? Number(s) < e.length : vt(e, s), c = Reflect.set( e, s, r, N(e) ? e : n ); return e === f(n) && (o ? q(r, i) && D(e, "set", s, r, i) : D(e, "add", s, r)), c; } deleteProperty(e, s) { const r = vt(e, s), n = e[s], i = Reflect.deleteProperty(e, s); return i && r && D(e, "delete", s, void 0, n), i; } has(e, s) { const r = Reflect.has(e, s); return (!nt(s) || !ne.has(s)) && S(e, "has", s), r; } ownKeys(e) { return S( e, "iterate", g(e) ? "length" : C ), Reflect.ownKeys(e); } } class cs extends ie { constructor(e = !1) { super(!0, e); } set(e, s) { return process.env.NODE_ENV !== "production" && U( `Set operation on key "${String(s)}" failed: target is readonly.`, e ), !0; } deleteProperty(e, s) { return process.env.NODE_ENV !== "production" && U( `Delete operation on key "${String(s)}" failed: target is readonly.`, e ), !0; } } const as = /* @__PURE__ */ new os(), us = /* @__PURE__ */ new cs(), Nt = (t) => t, it = (t) => Reflect.getPrototypeOf(t); function ls(t, e, s) { return function(...r) { const n = this.__v_raw, i = f(n), o = Q(i), c = t === "entries" || t === Symbol.iterator && o, a = t === "keys" && o, l = n[t](...r), p = s ? Nt : e ? Ot : m; return !e && S( i, "iterate", a ? wt : C ), { // iterator protocol next() { const { value: u, done: d } = l.next(); return d ? { value: u, done: d } : { value: c ? [p(u[0]), p(u[1])] : p(u), done: d }; }, // iterable protocol [Symbol.iterator]() { return this; } }; }; } function ot(t) { return function(...e) { if (process.env.NODE_ENV !== "production") { const s = e[0] ? `on key "${e[0]}" ` : ""; U( `${We(t)} operation ${s}failed: target is readonly.`, f(this) ); } return t === "delete" ? !1 : t === "clear" ? void 0 : this; }; } function fs(t, e) { const s = { get(n) { const i = this.__v_raw, o = f(i), c = f(n); t || (q(n, c) && S(o, "get", n), S(o, "get", c)); const { has: a } = it(o), l = e ? Nt : t ? Ot : m; if (a.call(o, n)) return l(i.get(n)); if (a.call(o, c)) return l(i.get(c)); i !== o && i.get(n); }, get size() { const n = this.__v_raw; return !t && S(f(n), "iterate", C), Reflect.get(n, "size", n); }, has(n) { const i = this.__v_raw, o = f(i), c = f(n); return t || (q(n, c) && S(o, "has", n), S(o, "has", c)), n === c ? i.has(n) : i.has(n) || i.has(c); }, forEach(n, i) { const o = this, c = o.__v_raw, a = f(c), l = e ? Nt : t ? Ot : m; return !t && S(a, "iterate", C), c.forEach((p, u) => n.call(i, l(p), l(u), o)); } }; return H( s, t ? { add: ot("add"), set: ot("set"), delete: ot("delete"), clear: ot("clear") } : { add(n) { !e && !w(n) && !R(n) && (n = f(n)); const i = f(this); return it(i).has.call(i, n) || (i.add(n), D(i, "add", n, n)), this; }, set(n, i) { !e && !w(i) && !R(i) && (i = f(i)); const o = f(this), { has: c, get: a } = it(o); let l = c.call(o, n); l ? process.env.NODE_ENV !== "production" && Wt(o, c, n) : (n = f(n), l = c.call(o, n)); const p = a.call(o, n); return o.set(n, i), l ? q(i, p) && D(o, "set", n, i, p) : D(o, "add", n, i), this; }, delete(n) { const i = f(this), { has: o, get: c } = it(i); let a = o.call(i, n); a ? process.env.NODE_ENV !== "production" && Wt(i, o, n) : (n = f(n), a = o.call(i, n)); const l = c ? c.call(i, n) : void 0, p = i.delete(n); return a && D(i, "delete", n, void 0, l), p; }, clear() { const n = f(this), i = n.size !== 0, o = process.env.NODE_ENV !== "production" ? Q(n) ? new Map(n) : new Set(n) : void 0, c = n.clear(); return i && D( n, "clear", void 0, void 0, o ), c; } } ), [ "keys", "values", "entries", Symbol.iterator ].forEach((n) => { s[n] = ls(n, t, e); }), s; } function oe(t, e) { const s = fs(t, e); return (r, n, i) => n === "__v_isReactive" ? !t : n === "__v_isReadonly" ? t : n === "__v_raw" ? r : Reflect.get( vt(s, n) && n in r ? s : r, n, i ); } const ds = { get: /* @__PURE__ */ oe(!1, !1) }, ps = { get: /* @__PURE__ */ oe(!0, !1) }; function Wt(t, e, s) { const r = f(s); if (r !== s && e.call(t, r)) { const n = Zt(t); U( `Reactive ${n} contains both the raw and reactive versions of the same object${n === "Map" ? " as keys" : ""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` ); } } const ce = /* @__PURE__ */ new WeakMap(), hs = /* @__PURE__ */ new WeakMap(), ae = /* @__PURE__ */ new WeakMap(), _s = /* @__PURE__ */ new WeakMap(); function gs(t) { switch (t) { case "Object": case "Array": return 1; case "Map": case "Set": case "WeakMap": case "WeakSet": return 2; default: return 0; } } function ms(t) { return t.__v_skip || !Object.isExtensible(t) ? 0 : gs(Zt(t)); } function ue(t) { return R(t) ? t : fe( t, !1, as, ds, ce ); } function le(t) { return fe( t, !0, us, ps, ae ); } function fe(t, e, s, r, n) { if (!E(t)) return process.env.NODE_ENV !== "production" && U( `value cannot be made ${e ? "readonly" : "reactive"}: ${String( t )}` ), t; if (t.__v_raw && !(e && t.__v_isReactive)) return t; const i = n.get(t); if (i) return i; const o = ms(t); if (o === 0) return t; const c = new Proxy( t, o === 2 ? r : s ); return n.set(t, c), c; } function de(t) { return R(t) ? de(t.__v_raw) : !!(t && t.__v_isReactive); } function R(t) { return !!(t && t.__v_isReadonly); } function w(t) { return !!(t && t.__v_isShallow); } function lt(t) { return t ? !!t.__v_raw : !1; } function f(t) { const e = t && t.__v_raw; return e ? f(e) : t; } const m = (t) => E(t) ? ue(t) : t, Ot = (t) => E(t) ? le(t) : t; function N(t) { return t ? t.__v_isRef === !0 : !1; } function v(t) { return Ss(t, !1); } function Ss(t, e) { return N(t) ? t : new ys(t, e); } class ys { constructor(e, s) { this.dep = new Ct(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = s ? e : f(e), this._value = s ? e : m(e), this.__v_isShallow = s; } get value() { return process.env.NODE_ENV !== "production" ? this.dep.track({ target: this, type: "get", key: "value" }) : this.dep.track(), this._value; } set value(e) { const s = this._rawValue, r = this.__v_isShallow || w(e) || R(e); e = r ? e : f(e), q(e, s) && (this._rawValue = e, this._value = r ? e : m(e), process.env.NODE_ENV !== "production" ? this.dep.trigger({ target: this, type: "set", key: "value", newValue: e, oldValue: s }) : this.dep.trigger()); } } class bs { constructor(e, s, r) { this._object = e, this._key = s, this._defaultValue = r, this.__v_isRef = !0, this._value = void 0; } get value() { const e = this._object[this._key]; return this._value = e === void 0 ? this._defaultValue : e; } set value(e) { this._object[this._key] = e; } get dep() { return es(f(this._object), this._key); } } class Es { constructor(e) { this._getter = e, this.__v_isRef = !0, this.__v_isReadonly = !0, this._value = void 0; } get value() { return this._value = this._getter(); } } function pe(t, e, s) { return N(t) ? t : T(t) ? new Es(t) : E(t) && arguments.length > 1 ? vs(t, e, s) : v(t); } function vs(t, e, s) { const r = t[e]; return N(r) ? r : new bs(t, e, s); } class ws { constructor(e, s, r) { this.fn = e, this.setter = s, this._value = void 0, this.dep = new Ct(this), this.__v_isRef = !0, this.deps = void 0, this.depsTail = void 0, this.flags = 16, this.globalVersion = tt - 1, this.next = void 0, this.effect = this, this.__v_isReadonly = !s, this.isSSR = r; } /** * @internal */ notify() { if (this.flags |= 16, !(this.flags & 8) && // avoid infinite self recursion _ !== this) return Ge(this, !0), !0; process.env.NODE_ENV; } get value() { const e = process.env.NODE_ENV !== "production" ? this.dep.track({ target: this, type: "get", key: "value" }) : this.dep.track(); return te(this), e && (e.version = this.dep.version), this._value; } set value(e) { this.setter ? this.setter(e) : process.env.NODE_ENV !== "production" && U("Write operation failed: computed value is readonly"); } } function Ns(t, e, s = !1) { let r, n; T(t) ? r = t : (r = t.get, n = t.set); const i = new ws(r, n, s); return process.env.NODE_ENV, i; } /** * @vue/runtime-core v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ const M = []; function Os(t) { M.push(t); } function Ps() { M.pop(); } let St = !1; function z(t, ...e) { if (St) return; St = !0, jt(); const s = M.length ? M[M.length - 1].component : null, r = s && s.appContext.config.warnHandler, n = xs(); if (r) Ht( r, s, 11, [ // eslint-disable-next-line no-restricted-syntax t + e.map((i) => { var o, c; return (c = (o = i.toString) == null ? void 0 : o.call(i)) != null ? c : JSON.stringify(i); }).join(""), s && s.proxy, n.map( ({ vnode: i }) => `at <${Te(s, i.type)}>` ).join(` `), n ] ); else { const i = [`[Vue warn]: ${t}`, ...e]; n.length && i.push(` `, ...Is(n)), console.warn(...i); } $t(), St = !1; } function xs() { let t = M[M.length - 1]; if (!t) return []; const e = []; for (; t; ) { const s = e[0]; s && s.vnode === t ? s.recurseCount++ : e.push({ vnode: t, recurseCount: 0 }); const r = t.component && t.component.parent; t = r && r.vnode; } return e; } function Is(t) { const e = []; return t.forEach((s, r) => { e.push(...r === 0 ? [] : [` `], ...Rs(s)); }), e; } function Rs({ vnode: t, recurseCount: e }) { const s = e > 0 ? `... (${e} recursive calls)` : "", r = t.component ? t.component.parent == null : !1, n = ` at <${Te( t.component, t.type, r )}`, i = ">" + s; return t.props ? [n, ...Ts(t.props), i] : [n + i]; } function Ts(t) { const e = [], s = Object.keys(t); return s.slice(0, 3).forEach((r) => { e.push(...he(r, t[r])); }), s.length > 3 && e.push(" ..."), e; } function he(t, e, s) { return I(e) ? (e = JSON.stringify(e), s ? e : [`${t}=${e}`]) : typeof e == "number" || typeof e == "boolean" || e == null ? s ? e : [`${t}=${e}`] : N(e) ? (e = he(t, f(e.value), !0), s ? e : [`${t}=Ref<`, e, ">"]) : T(e) ? [`${t}=fn${e.name ? `<${e.name}>` : ""}`] : (e = f(e), s ? e : [`${t}=`, e]); } const _e = { sp: "serverPrefetch hook", bc: "beforeCreate hook", c: "created hook", bm: "beforeMount hook", m: "mounted hook", bu: "beforeUpdate hook", u: "updated", bum: "beforeUnmount hook", um: "unmounted hook", a: "activated hook", da: "deactivated hook", ec: "errorCaptured hook", rtc: "renderTracked hook", rtg: "renderTriggered hook", 0: "setup function", 1: "render function", 2: "watcher getter", 3: "watcher callback", 4: "watcher cleanup function", 5: "native event handler", 6: "component event handler", 7: "vnode hook", 8: "directive hook", 9: "transition hook", 10: "app errorHandler", 11: "app warnHandler", 12: "ref function", 13: "async component loader", 14: "scheduler flush", 15: "component update", 16: "app unmount cleanup function" }; function Ht(t, e, s, r) { try { return r ? t(...r) : t(); } catch (n) { ge(n, e, s); } } function ge(t, e, s, r = !0) { const n = e ? e.vnode : null, { errorHandler: i, throwUnhandledErrorInProduction: o } = e && e.appContext.config || Et; if (e) { let c = e.parent; const a = e.proxy, l = process.env.NODE_ENV !== "production" ? _e[s] : `https://vuejs.org/error-reference/#runtime-${s}`; for (; c; ) { const p = c.ec; if (p) { for (let u = 0; u < p.length; u++) if (p[u](t, a, l) === !1) return; } c = c.parent; } if (i) { jt(), Ht(i, null, 10, [ t, a, l ]), $t(); return; } } Vs(t, s, n, r, o); } function Vs(t, e, s, r = !0, n = !1) { if (process.env.NODE_ENV !== "production") { const i = _e[e]; if (s && Os(s), z(`Unhandled error${i ? ` during execution of ${i}` : ""}`), s && Ps(), r) throw t; console.error(t); } else { if (n) throw t; console.error(t); } } const b = []; let x = -1; const W = []; let V = null, L = 0; const Ds = /* @__PURE__ */ Promise.resolve(); let Pt = null; const As = 100; function js(t) { let e = x + 1, s = b.length; for (; e < s; ) { const r = e + s >>> 1, n = b[r], i = st(n); i < t || i === t && n.flags & 2 ? e = r + 1 : s = r; } return e; } function $s(t) { if (!(t.flags & 1)) { const e = st(t), s = b[b.length - 1]; !s || // fast path when the job id is larger than the tail !(t.flags & 2) && e >= st(s) ? b.push(t) : b.splice(js(e), 0, t), t.flags |= 1, me(); } } function me() { Pt || (Pt = Ds.then(Se)); } function Cs(t) { g(t) ? W.push(...t) : V && t.id === -1 ? V.splice(L + 1, 0, t) : t.flags & 1 || (W.push(t), t.flags |= 1), me(); } function Ms(t) { if (W.length) { const e = [...new Set(W)].sort( (s, r) => st(s) - st(r) ); if (W.length = 0, V) { V.push(...e); return; } for (V = e, process.env.NODE_ENV !== "production" && (t = t || /* @__PURE__ */ new Map()), L = 0; L < V.length; L++) { const s = V[L]; process.env.NODE_ENV !== "production" && ye(t, s) || (s.flags & 4 && (s.flags &= -2), s.flags & 8 || s(), s.flags &= -2); } V = null, L = 0; } } const st = (t) => t.id == null ? t.flags & 2 ? -1 : 1 / 0 : t.id; function Se(t) { process.env.NODE_ENV !== "production" && (t = t || /* @__PURE__ */ new Map()); const e = process.env.NODE_ENV !== "production" ? (s) => ye(t, s) : Qt; try { for (x = 0; x < b.length; x++) { const s = b[x]; if (s && !(s.flags & 8)) { if (process.env.NODE_ENV !== "production" && e(s)) continue; s.flags & 4 && (s.flags &= -2), Ht( s, s.i, s.i ? 15 : 14 ), s.flags & 4 || (s.flags &= -2); } } } finally { for (; x < b.length; x++) { const s = b[x]; s && (s.flags &= -2); } x = -1, b.length = 0, Ms(t), Pt = null, (b.length || W.length) && Se(t); } } function ye(t, e) { const s = t.get(e) || 0; if (s > As) { const r = e.i, n = r && Re(r.type); return ge( `Maximum recursive updates exceeded${n ? ` in component <${n}>` : ""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, null, 10 ), !0; } return t.set(e, s + 1), !1; } const yt = /* @__PURE__ */ new Map(); process.env.NODE_ENV !== "production" && (_t().__VUE_HMR_RUNTIME__ = { createRecord: bt(Hs), rerender: bt(Fs), reload: bt(Ks) }); const ft = /* @__PURE__ */ new Map(); function Hs(t, e) { return ft.has(t) ? !1 : (ft.set(t, { initialDef: dt(e), instances: /* @__PURE__ */ new Set() }), !0); } function dt(t) { return Ve(t) ? t.__vccOpts : t; } function Fs(t, e) { const s = ft.get(t); s && (s.initialDef.render = e, [...s.instances].forEach((r) => { e && (r.render = e, dt(r.type).render = e), r.renderCache = [], r.update(); })); } function Ks(t, e) { const s = ft.get(t); if (!s) return; e = dt(e), Ut(s.initialDef, e); const r = [...s.instances]; for (let n = 0; n < r.length; n++) { const i = r[n], o = dt(i.type); let c = yt.get(o); c || (o !== s.initialDef && Ut(o, e), yt.set(o, c = /* @__PURE__ */ new Set())), c.add(i), i.appContext.propsCache.delete(i.type), i.appContext.emitsCache.delete(i.type), i.appContext.optionsCache.delete(i.type), i.ceReload ? (c.add(i), i.ceReload(e.styles), c.delete(i)) : i.parent ? $s(() => { i.parent.update(), c.delete(i); }) : i.appContext.reload ? i.appContext.reload() : typeof window < "u" ? window.location.reload() : console.warn( "[HMR] Root or manually mounted instance modified. Full reload required." ), i.root.ce && i !== i.root && i.root.ce._removeChildStyle(o); } Cs(() => { yt.clear(); }); } function Ut(t, e) { H(t, e); for (const s in t) s !== "__file" && !(s in e) && delete t[s]; } function bt(t) { return (e, s) => { try { return t(e, s); } catch (r) { console.error(r), console.warn( "[HMR] Something went wrong during Vue component hot-reload. Full reload required." ); } }; } let B, ct = []; function be(t, e) { var s, r; B = t, B ? (B.enabled = !0, ct.forEach(({ event: n, args: i }) => B.emit(n, ...i)), ct = []) : /* handle late devtools injection - only do this if we are in an actual */ /* browser environment to avoid the timer handle stalling test runner exit */ /* (#4815) */ typeof window < "u" && // some envs mock window but not fully window.HTMLElement && // also exclude jsdom // eslint-disable-next-line no-restricted-syntax !((r = (s = window.navigator) == null ? void 0 : s.userAgent) != null && r.includes("jsdom")) ? ((e.__VUE_DEVTOOLS_HOOK_REPLAY__ = e.__VUE_DEVTOOLS_HOOK_REPLAY__ || []).push((i) => { be(i, e); }), setTimeout(() => { B || (e.__VUE_DEVTOOLS_HOOK_REPLAY__ = null, ct = []); }, 3e3)) : ct = []; } let rt = null, Ls = null; const Bs = (t) => t.__isTeleport; function Ee(t, e) { t.shapeFlag & 6 && t.component ? (t.transition = e, Ee(t.component.subTree, e)) : t.shapeFlag & 128 ? (t.ssContent.transition = e.clone(t.ssContent), t.ssFallback.transition = e.clone(t.ssFallback)) : t.transition = e; } _t().requestIdleCallback; _t().cancelIdleCallback; const qs = Symbol.for("v-ndc"), Ws = {}; process.env.NODE_ENV !== "production" && (Ws.ownKeys = (t) => (z( "Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead." ), Reflect.ownKeys(t))); const Us = {}, ve = (t) => Object.getPrototypeOf(t) === Us, zs = (t) => t.__isSuspense, we = Symbol.for("v-fgt"), Js = Symbol.for("v-txt"), Ys = Symbol.for("v-cmt"); function Gs(t) { return t ? t.__v_isVNode === !0 : !1; } const Qs = (...t) => Oe( ...t ), Ne = ({ key: t }) => t ?? null, at = ({ ref: t, ref_key: e, ref_for: s }) => (typeof t == "number" && (t = "" + t), t != null ? I(t) || N(t) || T(t) ? { i: rt, r: t, k: e, f: !!s } : t : null); function Xs(t, e = null, s = null, r = 0, n = null, i = t === we ? 0 : 1, o = !1, c = !1) { const a = { __v_isVNode: !0, __v_skip: !0, type: t, props: e, key: e && Ne(e), ref: e && at(e), scopeId: Ls, slotScopeIds: null, children: s, component: null, suspense: null, ssContent: null, ssFallback: null, dirs: null, transition: null, el: null, anchor: null, target: null, targetStart: null, targetAnchor: null, staticCount: 0, shapeFlag: i, patchFlag: r, dynamicProps: n, dynamicChildren: null, appContext: null, ctx: rt }; return c ? (Ft(a, s), i & 128 && t.normalize(a)) : s && (a.shapeFlag |= I(s) ? 8 : 16), process.env.NODE_ENV !== "production" && a.key !== a.key && z("VNode created with invalid key (NaN). VNode type:", a.type), a; } const Zs = process.env.NODE_ENV !== "production" ? Qs : Oe; function Oe(t, e = null, s = null, r = 0, n = null, i = !1) { if ((!t || t === qs) && (process.env.NODE_ENV !== "production" && !t && z(`Invalid vnode type when creating vnode: ${t}.`), t = Ys), Gs(t)) { const c = pt( t, e, !0 /* mergeRef: true */ ); return s && Ft(c, s), c.patchFlag = -2, c; } if (Ve(t) && (t = t.__vccOpts), e) { e = ks(e); let { class: c, style: a } = e; c && !I(c) && (e.class = Vt(c)), E(a) && (lt(a) && !g(a) && (a = H({}, a)), e.style = Tt(a)); } const o = I(t) ? 1 : zs(t) ? 128 : Bs(t) ? 64 : E(t) ? 4 : T(t) ? 2 : 0; return process.env.NODE_ENV !== "production" && o & 4 && lt(t) && (t = f(t), z( "Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.", ` Component that was made reactive: `, t )), Xs( t, e, s, r, n, o, i, !0 ); } function ks(t) { return t ? lt(t) || ve(t) ? H({}, t) : t : null; } function pt(t, e, s = !1, r = !1) { const { props: n, ref: i, patchFlag: o, children: c, transition: a } = t, l = e ? er(n || {}, e) : n, p = { __v_isVNode: !0, __v_skip: !0, type: t.type, props: l, key: l && Ne(l), ref: e && e.ref ? ( // #2078 in the case of <component :is="vnode" ref="extra"/> // if the vnode itself already has a ref, cloneVNode will need to merge // the refs so the single vnode can be set on multiple refs s && i ? g(i) ? i.concat(at(e)) : [i, at(e)] : at(e) ) : i, scopeId: t.scopeId, slotScopeIds: t.slotScopeIds, children: process.env.NODE_ENV !== "production" && o === -1 && g(c) ? c.map(Pe) : c, target: t.target, targetStart: t.targetStart, targetAnchor: t.targetAnchor, staticCount: t.staticCount, shapeFlag: t.shapeFlag, // if the vnode is cloned with extra props, we can no longer assume its // existing patch flag to be reliable and need to add the FULL_PROPS flag. // note: preserve flag for fragments since they use the flag for children // fast paths only. patchFlag: e && t.type !== we ? o === -1 ? 16 : o | 16 : o, dynamicProps: t.dynamicProps, dynamicChildren: t.dynamicChildren, appContext: t.appContext, dirs: t.dirs, transition: a, // These should technically only be non-null on mounted VNodes. However, // they *should* be copied for kept-alive vnodes. So we just always copy // them since them being non-null during a mount doesn't affect the logic as // they will simply be overwritten. component: t.component, suspense: t.suspense, ssContent: t.ssContent && pt(t.ssContent), ssFallback: t.ssFallback && pt(t.ssFallback), el: t.el, anchor: t.anchor, ctx: t.ctx, ce: t.ce }; return a && r && Ee( p, a.clone(p) ), p; } function Pe(t) { const e = pt(t); return g(t.children) && (e.children = t.children.map(Pe)), e; } function tr(t = " ", e = 0) { return Zs(Js, null, t, e); } function Ft(t, e) { let s = 0; const { shapeFlag: r } = t; if (e == null) e = null; else if (g(e)) s = 16; else if (typeof e == "object") if (r & 65) { const n = e.default; n && (n._c && (n._d = !1), Ft(t, n()), n._c && (n._d = !0)); return; } else s = 32, !e._ && !ve(e) && (e._ctx = rt); else T(e) ? (e = { default: e, _ctx: rt }, s = 32) : (e = String(e), r & 64 ? (s = 16, e = [tr(e)]) : s = 8); t.children = e, t.shapeFlag |= s; } function er(...t) { const e = {}; for (let s = 0; s < t.length; s++) { const r = t[s]; for (const n in r) if (n === "class") e.class !== r.class && (e.class = Vt([e.class, r.class])); else if (n === "style") e.style = Tt([e.style, r.style]); else if (Ke(n)) { const i = e[n], o = r[n]; o && i !== o && !(g(i) && i.includes(o)) && (e[n] = i ? [].concat(i, o) : o); } else n !== "" && (e[n] = r[n]); } return e; } let xe = null; const sr = () => xe || rt; { const t = _t(), e = (s, r) => { let n; return (n = t[s]) || (n = t[s] = []), n.push(r), (i) => { n.length > 1 ? n.forEach((o) => o(i)) : n[0](i); }; }; e( "__VUE_INSTANCE_SETTERS__", (s) => xe = s ), e( "__VUE_SSR_SETTERS__", (s) => Ie = s ); } let Ie = !1; process.env.NODE_ENV; const rr = /(?:^|[-_])(\w)/g, nr = (t) => t.replace(rr, (e) => e.toUpperCase()).replace(/[-_]/g, ""); function Re(t, e = !0) { return T(t) ? t.displayName || t.name : t.name || e && t.__name; } function Te(t, e, s = !1) { let r = Re(e); if (!r && e.__file) { const n = e.__file.match(/([^/\\]+)\.\w+$/); n && (r = n[1]); } if (!r && t && t.parent) { const n = (i) => { for (const o in i) if (i[o] === e) return o; }; r = n( t.components || t.parent.type.components ) || n(t.appContext.components); } return r ? nr(r) : s ? "App" : "Anonymous"; } function Ve(t) { return T(t) && "__vccOpts" in t; } const ir = (t, e) => { const s = Ns(t, e, Ie); if (process.env.NODE_ENV !== "production") { const r = sr(); r && r.appContext.config.warnRecursiveComputed && (s._warnRecursive = !0); } return s; }; function or() { if (process.env.NODE_ENV === "production" || typeof window > "u") return; const t = { style: "color:#3ba776" }, e = { style: "color:#1677ff" }, s = { style: "color:#f5222d" }, r = { style: "color:#eb2f96" }, n = { __vue_custom_formatter: !0, header(u) { return E(u) ? u.__isVue ? ["div", t, "VueInstance"] : N(u) ? [ "div", {}, ["span", t, p(u)], "<", // avoid debugger accessing value affecting behavior c("_value" in u ? u._value : u), ">" ] : de(u) ? [ "div", {}, ["span", t, w(u) ? "ShallowReactive" : "Reactive"], "<", c(u), `>${R(u) ? " (readonly)" : ""}` ] : R(u) ? [ "div", {}, ["span", t, w(u) ? "ShallowReadonly" : "Readonly"], "<", c(u), ">" ] : null : null; }, hasBody(u) { return u && u.__isVue; }, body(u) { if (u && u.__isVue) return [ "div", {}, ...i(u.$) ]; } }; function i(u) { const d = []; u.type.props && u.props && d.push(o("props", f(u.props))), u.setupState !== Et && d.push(o("setup", u.setupState)), u.data !== Et && d.push(o("data", f(u.data))); const y = a(u, "computed"); y && d.push(o("computed", y)); const O = a(u, "inject"); return O && d.push(o("injected", O)), d.push([ "div", {}, [ "span", { style: r.style + ";opacity:0.66" }, "$ (internal): " ], ["object", { object: u }] ]), d; } function o(u, d) { return d = H({}, d), Object.keys(d).length ? [ "div", { style: "line-height:1.25em;margin-bottom:0.6em" }, [ "div", { style: "color:#476582" }, u ], [ "div", { style: "padding-left:1.25em" }, ...Object.keys(d).map((y) => [ "div", {}, ["span", r, y + ": "], c(d[y], !1) ]) ] ] : ["span", {}]; } function c(u, d = !0) { return typeof u == "number" ? ["span", e, u] : typeof u == "string" ? ["span", s, JSON.stringify(u)] : typeof u == "boolean" ? ["span", r, u] : E(u) ? ["object", { object: d ? f(u) : u }] : ["span", s, String(u)]; } function a(u, d) { const y = u.type; if (T(y)) return; const O = {}; for (const J in u.ctx) l(y, J, d) && (O[J]