/** * @vue/shared v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function In(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ie={},Lt=[],Ze=()=>{},bo=()=>!1,Ps=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Dn=e=>e.startsWith("onUpdate:"),Ee=Object.assign,Nn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},qi=Object.prototype.hasOwnProperty,te=(e,t)=>qi.call(e,t),B=Array.isArray,kt=e=>is(e)==="[object Map]",Nt=e=>is(e)==="[object Set]",ur=e=>is(e)==="[object Date]",W=e=>typeof e=="function",me=e=>typeof e=="string",Qe=e=>typeof e=="symbol",le=e=>e!==null&&typeof e=="object",_o=e=>(le(e)||W(e))&&W(e.then)&&W(e.catch),yo=Object.prototype.toString,is=e=>yo.call(e),Bi=e=>is(e).slice(8,-1),wo=e=>is(e)==="[object Object]",Fn=e=>me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ht=In(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$s=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Hi=/-\w/g,bt=$s(e=>e.replace(Hi,t=>t.slice(1).toUpperCase())),Wi=/\B([A-Z])/g,Rt=$s(e=>e.replace(Wi,"-$1").toLowerCase()),xo=$s(e=>e.charAt(0).toUpperCase()+e.slice(1)),qs=$s(e=>e?`on${xo(e)}`:""),vt=(e,t)=>!Object.is(e,t),ps=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},ys=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let fr;const Ms=()=>fr||(fr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function jn(e){if(B(e)){const t={};for(let s=0;s{if(s){const n=s.split(Gi);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ot(e){let t="";if(me(e))t=e;else if(B(e))for(let s=0;sls(s,t))}const Co=e=>!!(e&&e.__v_isRef===!0),F=e=>me(e)?e:e==null?"":B(e)||le(e)&&(e.toString===yo||!W(e.toString))?Co(e)?F(e.value):JSON.stringify(e,Eo,2):String(e),Eo=(e,t)=>Co(t)?Eo(e,t.value):kt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],o)=>(s[Bs(n,o)+" =>"]=r,s),{})}:Nt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Bs(s))}:Qe(t)?Bs(t):le(t)&&!B(t)&&!wo(t)?String(t):t,Bs=(e,t="")=>{var s;return Qe(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** * @vue/reactivity v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let ze;class Oo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ze,!t&&ze&&(this.index=(ze.scopes||(ze.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(ze=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(Kt){let t=Kt;for(Kt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Wt;){let t=Wt;for(Wt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function ko(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function To(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Hn(n),el(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function xn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ao(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ao(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===es)||(e.globalVersion=es,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!xn(e))))return;e.flags|=2;const t=e.dep,s=ce,n=Ve;ce=e,Ve=!0;try{ko(e);const r=e.fn(e._value);(t.version===0||vt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=s,Ve=n,To(e),e.flags&=-3}}function Hn(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Hn(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function el(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ve=!0;const Io=[];function ct(){Io.push(Ve),Ve=!1}function ut(){const e=Io.pop();Ve=e===void 0?!0:e}function dr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ce;ce=void 0;try{t()}finally{ce=s}}}let es=0;class tl{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Wn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ce||!Ve||ce===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ce)s=this.activeLink=new tl(ce,this),ce.deps?(s.prevDep=ce.depsTail,ce.depsTail.nextDep=s,ce.depsTail=s):ce.deps=ce.depsTail=s,Do(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=ce.depsTail,s.nextDep=void 0,ce.depsTail.nextDep=s,ce.depsTail=s,ce.deps===s&&(ce.deps=n)}return s}trigger(t){this.version++,es++,this.notify(t)}notify(t){qn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Bn()}}}function Do(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Do(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const ws=new WeakMap,Ct=Symbol(""),Sn=Symbol(""),ts=Symbol("");function Ce(e,t,s){if(Ve&&ce){let n=ws.get(e);n||ws.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new Wn),r.map=n,r.key=s),r.track()}}function nt(e,t,s,n,r,o){const i=ws.get(e);if(!i){es++;return}const l=a=>{a&&a.trigger()};if(qn(),t==="clear")i.forEach(l);else{const a=B(e),d=a&&Fn(s);if(a&&s==="length"){const u=Number(n);i.forEach((m,S)=>{(S==="length"||S===ts||!Qe(S)&&S>=u)&&l(m)})}else switch((s!==void 0||i.has(void 0))&&l(i.get(s)),d&&l(i.get(ts)),t){case"add":a?d&&l(i.get("length")):(l(i.get(Ct)),kt(e)&&l(i.get(Sn)));break;case"delete":a||(l(i.get(Ct)),kt(e)&&l(i.get(Sn)));break;case"set":kt(e)&&l(i.get(Ct));break}}Bn()}function sl(e,t){const s=ws.get(e);return s&&s.get(t)}function Pt(e){const t=Q(e);return t===e?t:(Ce(t,"iterate",ts),Ue(e)?t:t.map(ye))}function Ls(e){return Ce(e=Q(e),"iterate",ts),e}const nl={__proto__:null,[Symbol.iterator](){return Ws(this,Symbol.iterator,ye)},concat(...e){return Pt(this).concat(...e.map(t=>B(t)?Pt(t):t))},entries(){return Ws(this,"entries",e=>(e[1]=ye(e[1]),e))},every(e,t){return tt(this,"every",e,t,void 0,arguments)},filter(e,t){return tt(this,"filter",e,t,s=>s.map(ye),arguments)},find(e,t){return tt(this,"find",e,t,ye,arguments)},findIndex(e,t){return tt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return tt(this,"findLast",e,t,ye,arguments)},findLastIndex(e,t){return tt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return tt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ks(this,"includes",e)},indexOf(...e){return Ks(this,"indexOf",e)},join(e){return Pt(this).join(e)},lastIndexOf(...e){return Ks(this,"lastIndexOf",e)},map(e,t){return tt(this,"map",e,t,void 0,arguments)},pop(){return jt(this,"pop")},push(...e){return jt(this,"push",e)},reduce(e,...t){return hr(this,"reduce",e,t)},reduceRight(e,...t){return hr(this,"reduceRight",e,t)},shift(){return jt(this,"shift")},some(e,t){return tt(this,"some",e,t,void 0,arguments)},splice(...e){return jt(this,"splice",e)},toReversed(){return Pt(this).toReversed()},toSorted(e){return Pt(this).toSorted(e)},toSpliced(...e){return Pt(this).toSpliced(...e)},unshift(...e){return jt(this,"unshift",e)},values(){return Ws(this,"values",ye)}};function Ws(e,t,s){const n=Ls(e),r=n[t]();return n!==e&&!Ue(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=s(o.value)),o}),r}const rl=Array.prototype;function tt(e,t,s,n,r,o){const i=Ls(e),l=i!==e&&!Ue(e),a=i[t];if(a!==rl[t]){const m=a.apply(e,o);return l?ye(m):m}let d=s;i!==e&&(l?d=function(m,S){return s.call(this,ye(m),S,e)}:s.length>2&&(d=function(m,S){return s.call(this,m,S,e)}));const u=a.call(i,d,n);return l&&r?r(u):u}function hr(e,t,s,n){const r=Ls(e);let o=s;return r!==e&&(Ue(e)?s.length>3&&(o=function(i,l,a){return s.call(this,i,l,a,e)}):o=function(i,l,a){return s.call(this,i,ye(l),a,e)}),r[t](o,...n)}function Ks(e,t,s){const n=Q(e);Ce(n,"iterate",ts);const r=n[t](...s);return(r===-1||r===!1)&&Kn(s[0])?(s[0]=Q(s[0]),n[t](...s)):r}function jt(e,t,s=[]){ct(),qn();const n=Q(e)[t].apply(e,s);return Bn(),ut(),n}const ol=In("__proto__,__v_isRef,__isVue"),No=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qe));function il(e){Qe(e)||(e=String(e));const t=Q(this);return Ce(t,"has",e),t.hasOwnProperty(e)}class Fo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(r?o?Ho:Bo:o?qo:Vo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=B(t);if(!r){let a;if(i&&(a=nl[s]))return a;if(s==="hasOwnProperty")return il}const l=Reflect.get(t,s,fe(t)?t:n);if((Qe(s)?No.has(s):ol(s))||(r||Ce(t,"get",s),o))return l;if(fe(l)){const a=i&&Fn(s)?l:l.value;return r&&le(a)?Cn(a):a}return le(l)?r?Cn(l):Ts(l):l}}class jo extends Fo{constructor(t=!1){super(!1,t)}set(t,s,n,r){let o=t[s];if(!this._isShallow){const a=_t(o);if(!Ue(n)&&!_t(n)&&(o=Q(o),n=Q(n)),!B(t)&&fe(o)&&!fe(n))return a||(o.value=n),!0}const i=B(t)&&Fn(s)?Number(s)e,fs=e=>Reflect.getPrototypeOf(e);function fl(e,t,s){return function(...n){const r=this.__v_raw,o=Q(r),i=kt(o),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,d=r[e](...n),u=s?zn:t?xs:ye;return!t&&Ce(o,"iterate",a?Sn:Ct),{next(){const{value:m,done:S}=d.next();return S?{value:m,done:S}:{value:l?[u(m[0]),u(m[1])]:u(m),done:S}},[Symbol.iterator](){return this}}}}function ds(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function dl(e,t){const s={get(r){const o=this.__v_raw,i=Q(o),l=Q(r);e||(vt(r,l)&&Ce(i,"get",r),Ce(i,"get",l));const{has:a}=fs(i),d=t?zn:e?xs:ye;if(a.call(i,r))return d(o.get(r));if(a.call(i,l))return d(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&Ce(Q(r),"iterate",Ct),r.size},has(r){const o=this.__v_raw,i=Q(o),l=Q(r);return e||(vt(r,l)&&Ce(i,"has",r),Ce(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,a=Q(l),d=t?zn:e?xs:ye;return!e&&Ce(a,"iterate",Ct),l.forEach((u,m)=>r.call(o,d(u),d(m),i))}};return Ee(s,e?{add:ds("add"),set:ds("set"),delete:ds("delete"),clear:ds("clear")}:{add(r){!t&&!Ue(r)&&!_t(r)&&(r=Q(r));const o=Q(this);return fs(o).has.call(o,r)||(o.add(r),nt(o,"add",r,r)),this},set(r,o){!t&&!Ue(o)&&!_t(o)&&(o=Q(o));const i=Q(this),{has:l,get:a}=fs(i);let d=l.call(i,r);d||(r=Q(r),d=l.call(i,r));const u=a.call(i,r);return i.set(r,o),d?vt(o,u)&&nt(i,"set",r,o):nt(i,"add",r,o),this},delete(r){const o=Q(this),{has:i,get:l}=fs(o);let a=i.call(o,r);a||(r=Q(r),a=i.call(o,r)),l&&l.call(o,r);const d=o.delete(r);return a&&nt(o,"delete",r,void 0),d},clear(){const r=Q(this),o=r.size!==0,i=r.clear();return o&&nt(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=fl(r,e,t)}),s}function ks(e,t){const s=dl(e,t);return(n,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(te(s,r)&&r in n?s:n,r,o)}const hl={get:ks(!1,!1)},pl={get:ks(!1,!0)},gl={get:ks(!0,!1)},ml={get:ks(!0,!0)},Vo=new WeakMap,qo=new WeakMap,Bo=new WeakMap,Ho=new WeakMap;function vl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function bl(e){return e.__v_skip||!Object.isExtensible(e)?0:vl(Bi(e))}function Ts(e){return _t(e)?e:As(e,!1,ll,hl,Vo)}function _l(e){return As(e,!1,cl,pl,qo)}function Cn(e){return As(e,!0,al,gl,Bo)}function yl(e){return As(e,!0,ul,ml,Ho)}function As(e,t,s,n,r){if(!le(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=bl(e);if(o===0)return e;const i=r.get(e);if(i)return i;const l=new Proxy(e,o===2?n:s);return r.set(e,l),l}function it(e){return _t(e)?it(e.__v_raw):!!(e&&e.__v_isReactive)}function _t(e){return!!(e&&e.__v_isReadonly)}function Ue(e){return!!(e&&e.__v_isShallow)}function Kn(e){return e?!!e.__v_raw:!1}function Q(e){const t=e&&e.__v_raw;return t?Q(t):e}function Gn(e){return!te(e,"__v_skip")&&Object.isExtensible(e)&&So(e,"__v_skip",!0),e}const ye=e=>le(e)?Ts(e):e,xs=e=>le(e)?Cn(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function ue(e){return Ko(e,!1)}function Wo(e){return Ko(e,!0)}function Ko(e,t){return fe(e)?e:new wl(e,t)}class wl{constructor(t,s){this.dep=new Wn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:Q(t),this._value=s?t:ye(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Ue(t)||_t(t);t=n?t:Q(t),vt(t,s)&&(this._rawValue=t,this._value=n?t:ye(t),this.dep.trigger())}}function re(e){return fe(e)?e.value:e}function gs(e){return W(e)?e():re(e)}const xl={get:(e,t,s)=>t==="__v_raw"?e:re(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return fe(r)&&!fe(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function Go(e){return it(e)?e:new Proxy(e,xl)}function Sl(e){const t=B(e)?new Array(e.length):{};for(const s in e)t[s]=Jo(e,s);return t}class zl{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return sl(Q(this._object),this._key)}}class Cl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function El(e,t,s){return fe(e)?e:W(e)?new Cl(e):le(e)&&arguments.length>1?Jo(e,t,s):ue(e)}function Jo(e,t,s){const n=e[t];return fe(n)?n:new zl(e,t,s)}class Ol{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Wn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=es-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ce!==this)return Lo(this,!0),!0}get value(){const t=this.dep.track();return Ao(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Rl(e,t,s=!1){let n,r;return W(e)?n=e:(n=e.get,r=e.set),new Ol(n,r,s)}const hs={},Ss=new WeakMap;let St;function Pl(e,t=!1,s=St){if(s){let n=Ss.get(s);n||Ss.set(s,n=[]),n.push(e)}}function $l(e,t,s=ie){const{immediate:n,deep:r,once:o,scheduler:i,augmentJob:l,call:a}=s,d=x=>r?x:Ue(x)||r===!1||r===0?rt(x,1):rt(x);let u,m,S,w,T=!1,k=!1;if(fe(e)?(m=()=>e.value,T=Ue(e)):it(e)?(m=()=>d(e),T=!0):B(e)?(k=!0,T=e.some(x=>it(x)||Ue(x)),m=()=>e.map(x=>{if(fe(x))return x.value;if(it(x))return d(x);if(W(x))return a?a(x,2):x()})):W(e)?t?m=a?()=>a(e,2):e:m=()=>{if(S){ct();try{S()}finally{ut()}}const x=St;St=u;try{return a?a(e,3,[w]):e(w)}finally{St=x}}:m=Ze,t&&r){const x=m,D=r===!0?1/0:r;m=()=>rt(x(),D)}const M=Vn(),p=()=>{u.stop(),M&&M.active&&Nn(M.effects,u)};if(o&&t){const x=t;t=(...D)=>{x(...D),p()}}let g=k?new Array(e.length).fill(hs):hs;const b=x=>{if(!(!(u.flags&1)||!u.dirty&&!x))if(t){const D=u.run();if(r||T||(k?D.some((xe,de)=>vt(xe,g[de])):vt(D,g))){S&&S();const xe=St;St=u;try{const de=[D,g===hs?void 0:k&&g[0]===hs?[]:g,w];g=D,a?a(t,3,de):t(...de)}finally{St=xe}}}else u.run()};return l&&l(b),u=new $o(m),u.scheduler=i?()=>i(b,!1):b,w=x=>Pl(x,!1,u),S=u.onStop=()=>{const x=Ss.get(u);if(x){if(a)a(x,4);else for(const D of x)D();Ss.delete(u)}},t?n?b(!0):g=u.run():i?i(b.bind(null,!0),!0):u.run(),p.pause=u.pause.bind(u),p.resume=u.resume.bind(u),p.stop=p,p}function rt(e,t=1/0,s){if(t<=0||!le(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,fe(e))rt(e.value,t,s);else if(B(e))for(let n=0;n{rt(n,t,s)});else if(wo(e)){for(const n in e)rt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&rt(e[n],t,s)}return e}/** * @vue/runtime-core v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function as(e,t,s,n){try{return n?e(...n):e()}catch(r){Is(r,t,s)}}function Xe(e,t,s,n){if(W(e)){const r=as(e,t,s,n);return r&&_o(r)&&r.catch(o=>{Is(o,t,s)}),r}if(B(e)){const r=[];for(let o=0;o>>1,r=Pe[n],o=ss(r);o=ss(s)?Pe.push(e):Pe.splice(Ll(t),0,e),e.flags|=1,Zo()}}function Zo(){zs||(zs=Yo.then(Xo))}function kl(e){B(e)?Tt.push(...e):pt&&e.id===-1?pt.splice(Mt+1,0,e):e.flags&1||(Tt.push(e),e.flags|=1),Zo()}function pr(e,t,s=Ge+1){for(;sss(s)-ss(n));if(Tt.length=0,pt){pt.push(...t);return}for(pt=t,Mt=0;Mte.id==null?e.flags&2?-1:1/0:e.id;function Xo(e){try{for(Ge=0;Ge{n._d&&zr(-1);const o=Cs(t);let i;try{i=e(...r)}finally{Cs(o),n._d&&zr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function zt(e,t){if(je===null)return e;const s=js(je),n=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Dl=Symbol("_leaveCb");function Yn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Yn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function cs(e,t){return W(e)?Ee({name:e.name},t,{setup:e}):e}function ti(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Es=new WeakMap;function Gt(e,t,s,n,r=!1){if(B(e)){e.forEach((T,k)=>Gt(T,t&&(B(t)?t[k]:t),s,n,r));return}if(Jt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Gt(e,t,s,n.component.subTree);return}const o=n.shapeFlag&4?js(n.component):n.el,i=r?null:o,{i:l,r:a}=e,d=t&&t.r,u=l.refs===ie?l.refs={}:l.refs,m=l.setupState,S=Q(m),w=m===ie?bo:T=>te(S,T);if(d!=null&&d!==a){if(gr(t),me(d))u[d]=null,w(d)&&(m[d]=null);else if(fe(d)){d.value=null;const T=t;T.k&&(u[T.k]=null)}}if(W(a))as(a,l,12,[i,u]);else{const T=me(a),k=fe(a);if(T||k){const M=()=>{if(e.f){const p=T?w(a)?m[a]:u[a]:a.value;if(r)B(p)&&Nn(p,o);else if(B(p))p.includes(o)||p.push(o);else if(T)u[a]=[o],w(a)&&(m[a]=u[a]);else{const g=[o];a.value=g,e.k&&(u[e.k]=g)}}else T?(u[a]=i,w(a)&&(m[a]=i)):k&&(a.value=i,e.k&&(u[e.k]=i))};if(i){const p=()=>{M(),Es.delete(e)};p.id=-1,Es.set(e,p),De(p,s)}else gr(e),M()}}}function gr(e){const t=Es.get(e);t&&(t.flags|=8,Es.delete(e))}Ms().requestIdleCallback;Ms().cancelIdleCallback;const Jt=e=>!!e.type.__asyncLoader,si=e=>e.type.__isKeepAlive;function Nl(e,t){ni(e,"a",t)}function Fl(e,t){ni(e,"da",t)}function ni(e,t,s=$e){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ds(t,n,s),s){let r=s.parent;for(;r&&r.parent;)si(r.parent.vnode)&&jl(n,t,s,r),r=r.parent}}function jl(e,t,s,n){const r=Ds(t,e,n,!0);ri(()=>{Nn(n[t],r)},s)}function Ds(e,t,s=$e,n=!1){if(s){const r=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...i)=>{ct();const l=us(s),a=Xe(t,s,e,i);return l(),ut(),a});return n?r.unshift(o):r.push(o),o}}const ft=e=>(t,s=$e)=>{(!rs||e==="sp")&&Ds(e,(...n)=>t(...n),s)},Ul=ft("bm"),Zn=ft("m"),Vl=ft("bu"),ql=ft("u"),Bl=ft("bum"),ri=ft("um"),Hl=ft("sp"),Wl=ft("rtg"),Kl=ft("rtc");function Gl(e,t=$e){Ds("ec",e,t)}const Jl=Symbol.for("v-ndc");function lt(e,t,s,n){let r;const o=s,i=B(e);if(i||me(e)){const l=i&&it(e);let a=!1,d=!1;l&&(a=!Ue(e),d=_t(e),e=Ls(e)),r=new Array(e.length);for(let u=0,m=e.length;ut(l,a,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,d=l.length;ae?Oi(e)?js(e):En(e.parent):null,Yt=Ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>En(e.parent),$root:e=>En(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ii(e),$forceUpdate:e=>e.f||(e.f=()=>{Jn(e.update)}),$nextTick:e=>e.n||(e.n=At.bind(e.proxy)),$watch:e=>ba.bind(e)}),Gs=(e,t)=>e!==ie&&!e.__isScriptSetup&&te(e,t),Yl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:o,accessCache:i,type:l,appContext:a}=e;let d;if(t[0]!=="$"){const w=i[t];if(w!==void 0)switch(w){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return o[t]}else{if(Gs(n,t))return i[t]=1,n[t];if(r!==ie&&te(r,t))return i[t]=2,r[t];if((d=e.propsOptions[0])&&te(d,t))return i[t]=3,o[t];if(s!==ie&&te(s,t))return i[t]=4,s[t];On&&(i[t]=0)}}const u=Yt[t];let m,S;if(u)return t==="$attrs"&&Ce(e.attrs,"get",""),u(e);if((m=l.__cssModules)&&(m=m[t]))return m;if(s!==ie&&te(s,t))return i[t]=4,s[t];if(S=a.config.globalProperties,te(S,t))return S[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:o}=e;return Gs(r,t)?(r[t]=s,!0):n!==ie&&te(n,t)?(n[t]=s,!0):te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,propsOptions:o,type:i}},l){let a,d;return!!(s[l]||e!==ie&&l[0]!=="$"&&te(e,l)||Gs(t,l)||(a=o[0])&&te(a,l)||te(n,l)||te(Yt,l)||te(r.config.globalProperties,l)||(d=i.__cssModules)&&d[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:te(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function mr(e){return B(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let On=!0;function Zl(e){const t=ii(e),s=e.proxy,n=e.ctx;On=!1,t.beforeCreate&&vr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:a,inject:d,created:u,beforeMount:m,mounted:S,beforeUpdate:w,updated:T,activated:k,deactivated:M,beforeDestroy:p,beforeUnmount:g,destroyed:b,unmounted:x,render:D,renderTracked:xe,renderTriggered:de,errorCaptured:K,serverPrefetch:J,expose:oe,inheritAttrs:ge,components:Oe,directives:Te,filters:et}=t;if(d&&Ql(d,n,null),i)for(const G in i){const Y=i[G];W(Y)&&(n[G]=Y.bind(s))}if(r){const G=r.call(s,s);le(G)&&(e.data=Ts(G))}if(On=!0,o)for(const G in o){const Y=o[G],O=W(Y)?Y.bind(s,s):W(Y.get)?Y.get.bind(s,s):Ze,z=!W(Y)&&W(Y.set)?Y.set.bind(s):Ze,L=Fe({get:O,set:z});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>L.value,set:q=>L.value=q})}if(l)for(const G in l)oi(l[G],n,s,G);if(a){const G=W(a)?a.call(s):a;Reflect.ownKeys(G).forEach(Y=>{ra(Y,G[Y])})}u&&vr(u,e,"c");function ne(G,Y){B(Y)?Y.forEach(O=>G(O.bind(s))):Y&&G(Y.bind(s))}if(ne(Ul,m),ne(Zn,S),ne(Vl,w),ne(ql,T),ne(Nl,k),ne(Fl,M),ne(Gl,K),ne(Kl,xe),ne(Wl,de),ne(Bl,g),ne(ri,x),ne(Hl,J),B(oe))if(oe.length){const G=e.exposed||(e.exposed={});oe.forEach(Y=>{Object.defineProperty(G,Y,{get:()=>s[Y],set:O=>s[Y]=O,enumerable:!0})})}else e.exposed||(e.exposed={});D&&e.render===Ze&&(e.render=D),ge!=null&&(e.inheritAttrs=ge),Oe&&(e.components=Oe),Te&&(e.directives=Te),J&&ti(e)}function Ql(e,t,s=Ze){B(e)&&(e=Rn(e));for(const n in e){const r=e[n];let o;le(r)?"default"in r?o=Zt(r.from||n,r.default,!0):o=Zt(r.from||n):o=Zt(r),fe(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[n]=o}}function vr(e,t,s){Xe(B(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function oi(e,t,s,n){let r=n.includes(".")?_i(s,n):()=>s[n];if(me(e)){const o=t[e];W(o)&&Ot(r,o)}else if(W(e))Ot(r,e.bind(s));else if(le(e))if(B(e))e.forEach(o=>oi(o,t,s,n));else{const o=W(e.handler)?e.handler.bind(s):t[e.handler];W(o)&&Ot(r,o,e)}}function ii(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let a;return l?a=l:!r.length&&!s&&!n?a=t:(a={},r.length&&r.forEach(d=>Os(a,d,i,!0)),Os(a,t,i)),le(t)&&o.set(t,a),a}function Os(e,t,s,n=!1){const{mixins:r,extends:o}=t;o&&Os(e,o,s,!0),r&&r.forEach(i=>Os(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const l=Xl[i]||s&&s[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xl={data:br,props:_r,emits:_r,methods:Bt,computed:Bt,beforeCreate:Re,created:Re,beforeMount:Re,mounted:Re,beforeUpdate:Re,updated:Re,beforeDestroy:Re,beforeUnmount:Re,destroyed:Re,unmounted:Re,activated:Re,deactivated:Re,errorCaptured:Re,serverPrefetch:Re,components:Bt,directives:Bt,watch:ta,provide:br,inject:ea};function br(e,t){return t?e?function(){return Ee(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function ea(e,t){return Bt(Rn(e),Rn(t))}function Rn(e){if(B(e)){const t={};for(let s=0;s1)return s&&W(t)?t.call(n&&n.proxy):t}}function oa(){return!!(Ei()||Et)}const ai={},ci=()=>Object.create(ai),ui=e=>Object.getPrototypeOf(e)===ai;function ia(e,t,s,n=!1){const r={},o=ci();e.propsDefaults=Object.create(null),fi(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);s?e.props=n?r:_l(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function la(e,t,s,n){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Q(r),[a]=e.propsOptions;let d=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let m=0;m{a=!0;const[S,w]=di(m,t,!0);Ee(i,S),w&&l.push(...w)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!a)return le(e)&&n.set(e,Lt),Lt;if(B(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Xn=e=>B(e)?e.map(Je):[Je(e)],ca=(e,t,s)=>{if(t._n)return t;const n=Tl((...r)=>Xn(t(...r)),s);return n._c=!1,n},hi=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Qn(r))continue;const o=e[r];if(W(o))t[r]=ca(r,o,n);else if(o!=null){const i=Xn(o);t[r]=()=>i}}},pi=(e,t)=>{const s=Xn(t);e.slots.default=()=>s},gi=(e,t,s)=>{for(const n in t)(s||!Qn(n))&&(e[n]=t[n])},ua=(e,t,s)=>{const n=e.slots=ci();if(e.vnode.shapeFlag&32){const r=t._;r?(gi(n,t,s),s&&So(n,"_",r,!0)):hi(t,n)}else t&&pi(e,t)},fa=(e,t,s)=>{const{vnode:n,slots:r}=e;let o=!0,i=ie;if(n.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:gi(r,t,s):(o=!t.$stable,hi(t,r)),i=t}else t&&(pi(e,t),i={default:1});if(o)for(const l in r)!Qn(l)&&i[l]==null&&delete r[l]},De=Ea;function da(e){return ha(e)}function ha(e,t){const s=Ms();s.__VUE__=!0;const{insert:n,remove:r,patchProp:o,createElement:i,createText:l,createComment:a,setText:d,setElementText:u,parentNode:m,nextSibling:S,setScopeId:w=Ze,insertStaticContent:T}=e,k=(f,h,y,R=null,v=null,_=null,$=void 0,P=null,E=!!h.dynamicChildren)=>{if(f===h)return;f&&!Ut(f,h)&&(R=ve(f),q(f,v,_,!0),f=null),h.patchFlag===-2&&(E=!1,h.dynamicChildren=null);const{type:C,ref:U,shapeFlag:N}=h;switch(C){case Fs:M(f,h,y,R);break;case yt:p(f,h,y,R);break;case ms:f==null&&g(h,y,R,$);break;case be:Oe(f,h,y,R,v,_,$,P,E);break;default:N&1?D(f,h,y,R,v,_,$,P,E):N&6?Te(f,h,y,R,v,_,$,P,E):(N&64||N&128)&&C.process(f,h,y,R,v,_,$,P,E,Ae)}U!=null&&v?Gt(U,f&&f.ref,_,h||f,!h):U==null&&f&&f.ref!=null&&Gt(f.ref,null,_,f,!0)},M=(f,h,y,R)=>{if(f==null)n(h.el=l(h.children),y,R);else{const v=h.el=f.el;h.children!==f.children&&d(v,h.children)}},p=(f,h,y,R)=>{f==null?n(h.el=a(h.children||""),y,R):h.el=f.el},g=(f,h,y,R)=>{[f.el,f.anchor]=T(f.children,h,y,R,f.el,f.anchor)},b=({el:f,anchor:h},y,R)=>{let v;for(;f&&f!==h;)v=S(f),n(f,y,R),f=v;n(h,y,R)},x=({el:f,anchor:h})=>{let y;for(;f&&f!==h;)y=S(f),r(f),f=y;r(h)},D=(f,h,y,R,v,_,$,P,E)=>{h.type==="svg"?$="svg":h.type==="math"&&($="mathml"),f==null?xe(h,y,R,v,_,$,P,E):J(f,h,v,_,$,P,E)},xe=(f,h,y,R,v,_,$,P)=>{let E,C;const{props:U,shapeFlag:N,transition:V,dirs:H}=f;if(E=f.el=i(f.type,_,U&&U.is,U),N&8?u(E,f.children):N&16&&K(f.children,E,null,R,v,Js(f,_),$,P),H&&wt(f,null,R,"created"),de(E,f,f.scopeId,$,R),U){for(const ae in U)ae!=="value"&&!Ht(ae)&&o(E,ae,null,U[ae],_,R);"value"in U&&o(E,"value",null,U.value,_),(C=U.onVnodeBeforeMount)&&Ke(C,R,f)}H&&wt(f,null,R,"beforeMount");const Z=pa(v,V);Z&&V.beforeEnter(E),n(E,h,y),((C=U&&U.onVnodeMounted)||Z||H)&&De(()=>{C&&Ke(C,R,f),Z&&V.enter(E),H&&wt(f,null,R,"mounted")},v)},de=(f,h,y,R,v)=>{if(y&&w(f,y),R)for(let _=0;_{for(let C=E;C{const P=h.el=f.el;let{patchFlag:E,dynamicChildren:C,dirs:U}=h;E|=f.patchFlag&16;const N=f.props||ie,V=h.props||ie;let H;if(y&&xt(y,!1),(H=V.onVnodeBeforeUpdate)&&Ke(H,y,h,f),U&&wt(h,f,y,"beforeUpdate"),y&&xt(y,!0),(N.innerHTML&&V.innerHTML==null||N.textContent&&V.textContent==null)&&u(P,""),C?oe(f.dynamicChildren,C,P,y,R,Js(h,v),_):$||Y(f,h,P,null,y,R,Js(h,v),_,!1),E>0){if(E&16)ge(P,N,V,y,v);else if(E&2&&N.class!==V.class&&o(P,"class",null,V.class,v),E&4&&o(P,"style",N.style,V.style,v),E&8){const Z=h.dynamicProps;for(let ae=0;ae{H&&Ke(H,y,h,f),U&&wt(h,f,y,"updated")},R)},oe=(f,h,y,R,v,_,$)=>{for(let P=0;P{if(h!==y){if(h!==ie)for(const _ in h)!Ht(_)&&!(_ in y)&&o(f,_,h[_],null,v,R);for(const _ in y){if(Ht(_))continue;const $=y[_],P=h[_];$!==P&&_!=="value"&&o(f,_,P,$,v,R)}"value"in y&&o(f,"value",h.value,y.value,v)}},Oe=(f,h,y,R,v,_,$,P,E)=>{const C=h.el=f?f.el:l(""),U=h.anchor=f?f.anchor:l("");let{patchFlag:N,dynamicChildren:V,slotScopeIds:H}=h;H&&(P=P?P.concat(H):H),f==null?(n(C,y,R),n(U,y,R),K(h.children||[],y,U,v,_,$,P,E)):N>0&&N&64&&V&&f.dynamicChildren?(oe(f.dynamicChildren,V,y,v,_,$,P),(h.key!=null||v&&h===v.subTree)&&mi(f,h,!0)):Y(f,h,y,U,v,_,$,P,E)},Te=(f,h,y,R,v,_,$,P,E)=>{h.slotScopeIds=P,f==null?h.shapeFlag&512?v.ctx.activate(h,y,R,$,E):et(h,y,R,v,_,$,E):Se(f,h,E)},et=(f,h,y,R,v,_,$)=>{const P=f.component=Ta(f,R,v);if(si(f)&&(P.ctx.renderer=Ae),Aa(P,!1,$),P.asyncDep){if(v&&v.registerDep(P,ne,$),!f.el){const E=P.subTree=ke(yt);p(null,E,h,y),f.placeholder=E.el}}else ne(P,f,h,y,v,_,$)},Se=(f,h,y)=>{const R=h.component=f.component;if(za(f,h,y))if(R.asyncDep&&!R.asyncResolved){G(R,h,y);return}else R.next=h,R.update();else h.el=f.el,R.vnode=h},ne=(f,h,y,R,v,_,$)=>{const P=()=>{if(f.isMounted){let{next:N,bu:V,u:H,parent:Z,vnode:ae}=f;{const He=vi(f);if(He){N&&(N.el=ae.el,G(f,N,$)),He.asyncDep.then(()=>{f.isUnmounted||P()});return}}let se=N,Me;xt(f,!1),N?(N.el=ae.el,G(f,N,$)):N=ae,V&&ps(V),(Me=N.props&&N.props.onVnodeBeforeUpdate)&&Ke(Me,Z,N,ae),xt(f,!0);const Le=xr(f),Be=f.subTree;f.subTree=Le,k(Be,Le,m(Be.el),ve(Be),f,v,_),N.el=Le.el,se===null&&Ca(f,Le.el),H&&De(H,v),(Me=N.props&&N.props.onVnodeUpdated)&&De(()=>Ke(Me,Z,N,ae),v)}else{let N;const{el:V,props:H}=h,{bm:Z,m:ae,parent:se,root:Me,type:Le}=f,Be=Jt(h);xt(f,!1),Z&&ps(Z),!Be&&(N=H&&H.onVnodeBeforeMount)&&Ke(N,se,h),xt(f,!0);{Me.ce&&Me.ce._def.shadowRoot!==!1&&Me.ce._injectChildStyle(Le);const He=f.subTree=xr(f);k(null,He,y,R,f,v,_),h.el=He.el}if(ae&&De(ae,v),!Be&&(N=H&&H.onVnodeMounted)){const He=h;De(()=>Ke(N,se,He),v)}(h.shapeFlag&256||se&&Jt(se.vnode)&&se.vnode.shapeFlag&256)&&f.a&&De(f.a,v),f.isMounted=!0,h=y=R=null}};f.scope.on();const E=f.effect=new $o(P);f.scope.off();const C=f.update=E.run.bind(E),U=f.job=E.runIfDirty.bind(E);U.i=f,U.id=f.uid,E.scheduler=()=>Jn(U),xt(f,!0),C()},G=(f,h,y)=>{h.component=f;const R=f.vnode.props;f.vnode=h,f.next=null,la(f,h.props,R,y),fa(f,h.children,y),ct(),pr(f),ut()},Y=(f,h,y,R,v,_,$,P,E=!1)=>{const C=f&&f.children,U=f?f.shapeFlag:0,N=h.children,{patchFlag:V,shapeFlag:H}=h;if(V>0){if(V&128){z(C,N,y,R,v,_,$,P,E);return}else if(V&256){O(C,N,y,R,v,_,$,P,E);return}}H&8?(U&16&&he(C,v,_),N!==C&&u(y,N)):U&16?H&16?z(C,N,y,R,v,_,$,P,E):he(C,v,_,!0):(U&8&&u(y,""),H&16&&K(N,y,R,v,_,$,P,E))},O=(f,h,y,R,v,_,$,P,E)=>{f=f||Lt,h=h||Lt;const C=f.length,U=h.length,N=Math.min(C,U);let V;for(V=0;VU?he(f,v,_,!0,!1,N):K(h,y,R,v,_,$,P,E,N)},z=(f,h,y,R,v,_,$,P,E)=>{let C=0;const U=h.length;let N=f.length-1,V=U-1;for(;C<=N&&C<=V;){const H=f[C],Z=h[C]=E?gt(h[C]):Je(h[C]);if(Ut(H,Z))k(H,Z,y,null,v,_,$,P,E);else break;C++}for(;C<=N&&C<=V;){const H=f[N],Z=h[V]=E?gt(h[V]):Je(h[V]);if(Ut(H,Z))k(H,Z,y,null,v,_,$,P,E);else break;N--,V--}if(C>N){if(C<=V){const H=V+1,Z=HV)for(;C<=N;)q(f[C],v,_,!0),C++;else{const H=C,Z=C,ae=new Map;for(C=Z;C<=V;C++){const Ie=h[C]=E?gt(h[C]):Je(h[C]);Ie.key!=null&&ae.set(Ie.key,C)}let se,Me=0;const Le=V-Z+1;let Be=!1,He=0;const Ft=new Array(Le);for(C=0;C=Le){q(Ie,v,_,!0);continue}let We;if(Ie.key!=null)We=ae.get(Ie.key);else for(se=Z;se<=V;se++)if(Ft[se-Z]===0&&Ut(Ie,h[se])){We=se;break}We===void 0?q(Ie,v,_,!0):(Ft[We-Z]=C+1,We>=He?He=We:Be=!0,k(Ie,h[We],y,null,v,_,$,P,E),Me++)}const lr=Be?ga(Ft):Lt;for(se=lr.length-1,C=Le-1;C>=0;C--){const Ie=Z+C,We=h[Ie],ar=h[Ie+1],cr=Ie+1{const{el:_,type:$,transition:P,children:E,shapeFlag:C}=f;if(C&6){L(f.component.subTree,h,y,R);return}if(C&128){f.suspense.move(h,y,R);return}if(C&64){$.move(f,h,y,Ae);return}if($===be){n(_,h,y);for(let N=0;NP.enter(_),v);else{const{leave:N,delayLeave:V,afterLeave:H}=P,Z=()=>{f.ctx.isUnmounted?r(_):n(_,h,y)},ae=()=>{_._isLeaving&&_[Dl](!0),N(_,()=>{Z(),H&&H()})};V?V(_,Z,ae):ae()}else n(_,h,y)},q=(f,h,y,R=!1,v=!1)=>{const{type:_,props:$,ref:P,children:E,dynamicChildren:C,shapeFlag:U,patchFlag:N,dirs:V,cacheIndex:H}=f;if(N===-2&&(v=!1),P!=null&&(ct(),Gt(P,null,y,f,!0),ut()),H!=null&&(h.renderCache[H]=void 0),U&256){h.ctx.deactivate(f);return}const Z=U&1&&V,ae=!Jt(f);let se;if(ae&&(se=$&&$.onVnodeBeforeUnmount)&&Ke(se,h,f),U&6)_e(f.component,y,R);else{if(U&128){f.suspense.unmount(y,R);return}Z&&wt(f,null,h,"beforeUnmount"),U&64?f.type.remove(f,h,y,Ae,R):C&&!C.hasOnce&&(_!==be||N>0&&N&64)?he(C,h,y,!1,!0):(_===be&&N&384||!v&&U&16)&&he(E,h,y),R&&j(f)}(ae&&(se=$&&$.onVnodeUnmounted)||Z)&&De(()=>{se&&Ke(se,h,f),Z&&wt(f,null,h,"unmounted")},y)},j=f=>{const{type:h,el:y,anchor:R,transition:v}=f;if(h===be){X(y,R);return}if(h===ms){x(f);return}const _=()=>{r(y),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(f.shapeFlag&1&&v&&!v.persisted){const{leave:$,delayLeave:P}=v,E=()=>$(y,_);P?P(f.el,_,E):E()}else _()},X=(f,h)=>{let y;for(;f!==h;)y=S(f),r(f),f=y;r(h)},_e=(f,h,y)=>{const{bum:R,scope:v,job:_,subTree:$,um:P,m:E,a:C}=f;wr(E),wr(C),R&&ps(R),v.stop(),_&&(_.flags|=8,q($,f,h,y)),P&&De(P,h),De(()=>{f.isUnmounted=!0},h)},he=(f,h,y,R=!1,v=!1,_=0)=>{for(let $=_;${if(f.shapeFlag&6)return ve(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const h=S(f.anchor||f.el),y=h&&h[Al];return y?S(y):h};let pe=!1;const dt=(f,h,y)=>{f==null?h._vnode&&q(h._vnode,null,null,!0):k(h._vnode||null,f,h,null,null,null,y),h._vnode=f,pe||(pe=!0,pr(),Qo(),pe=!1)},Ae={p:k,um:q,m:L,r:j,mt:et,mc:K,pc:Y,pbc:oe,n:ve,o:e};return{render:dt,hydrate:void 0,createApp:na(dt)}}function Js({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function xt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pa(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function mi(e,t,s=!1){const n=e.children,r=t.children;if(B(n)&&B(r))for(let o=0;o>1,e[s[l]]0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,i=s[o-1];o-- >0;)s[o]=i,i=t[i];return s}function vi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:vi(t)}function wr(e){if(e)for(let t=0;tZt(ma);function Ot(e,t,s){return bi(e,t,s)}function bi(e,t,s=ie){const{immediate:n,deep:r,flush:o,once:i}=s,l=Ee({},s),a=t&&n||!t&&o!=="post";let d;if(rs){if(o==="sync"){const w=va();d=w.__watcherHandles||(w.__watcherHandles=[])}else if(!a){const w=()=>{};return w.stop=Ze,w.resume=Ze,w.pause=Ze,w}}const u=$e;l.call=(w,T,k)=>Xe(w,u,T,k);let m=!1;o==="post"?l.scheduler=w=>{De(w,u&&u.suspense)}:o!=="sync"&&(m=!0,l.scheduler=(w,T)=>{T?w():Jn(w)}),l.augmentJob=w=>{t&&(w.flags|=4),m&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const S=$l(e,t,l);return rs&&(d?d.push(S):a&&S()),S}function ba(e,t,s){const n=this.proxy,r=me(e)?e.includes(".")?_i(n,e):()=>n[e]:e.bind(n,n);let o;W(t)?o=t:(o=t.handler,s=t);const i=us(this),l=bi(r,o.bind(n),s);return i(),l}function _i(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${bt(t)}Modifiers`]||e[`${Rt(t)}Modifiers`];function ya(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ie;let r=s;const o=t.startsWith("update:"),i=o&&_a(n,t.slice(7));i&&(i.trim&&(r=s.map(u=>me(u)?u.trim():u)),i.number&&(r=s.map(ys)));let l,a=n[l=qs(t)]||n[l=qs(bt(t))];!a&&o&&(a=n[l=qs(Rt(t))]),a&&Xe(a,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Xe(d,e,6,r)}}const wa=new WeakMap;function yi(e,t,s=!1){const n=s?wa:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!W(e)){const a=d=>{const u=yi(d,t,!0);u&&(l=!0,Ee(i,u))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(le(e)&&n.set(e,null),null):(B(o)?o.forEach(a=>i[a]=null):Ee(i,o),le(e)&&n.set(e,i),i)}function Ns(e,t){return!e||!Ps(t)?!1:(t=t.slice(2).replace(/Once$/,""),te(e,t[0].toLowerCase()+t.slice(1))||te(e,Rt(t))||te(e,t))}function xr(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:a,render:d,renderCache:u,props:m,data:S,setupState:w,ctx:T,inheritAttrs:k}=e,M=Cs(e);let p,g;try{if(s.shapeFlag&4){const x=r||n,D=x;p=Je(d.call(D,x,u,m,w,S,T)),g=l}else{const x=t;p=Je(x.length>1?x(m,{attrs:l,slots:i,emit:a}):x(m,null)),g=t.props?l:xa(l)}}catch(x){Qt.length=0,Is(x,e,1),p=ke(yt)}let b=p;if(g&&k!==!1){const x=Object.keys(g),{shapeFlag:D}=b;x.length&&D&7&&(o&&x.some(Dn)&&(g=Sa(g,o)),b=It(b,g,!1,!0))}return s.dirs&&(b=It(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(s.dirs):s.dirs),s.transition&&Yn(b,s.transition),p=b,Cs(M),p}const xa=e=>{let t;for(const s in e)(s==="class"||s==="style"||Ps(s))&&((t||(t={}))[s]=e[s]);return t},Sa=(e,t)=>{const s={};for(const n in e)(!Dn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function za(e,t,s){const{props:n,children:r,component:o}=e,{props:i,children:l,patchFlag:a}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?Sr(n,i,d):!!i;if(a&8){const u=t.dynamicProps;for(let m=0;me.__isSuspense;function Ea(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):kl(e)}const be=Symbol.for("v-fgt"),Fs=Symbol.for("v-txt"),yt=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Qt=[];let Ne=null;function A(e=!1){Qt.push(Ne=e?null:[])}function Oa(){Qt.pop(),Ne=Qt[Qt.length-1]||null}let ns=1;function zr(e,t=!1){ns+=e,e<0&&Ne&&t&&(Ne.hasOnce=!0)}function xi(e){return e.dynamicChildren=ns>0?Ne||Lt:null,Oa(),ns>0&&Ne&&Ne.push(e),e}function I(e,t,s,n,r,o){return xi(c(e,t,s,n,r,o,!0))}function Si(e,t,s,n,r){return xi(ke(e,t,s,n,r,!0))}function zi(e){return e?e.__v_isVNode===!0:!1}function Ut(e,t){return e.type===t.type&&e.key===t.key}const Ci=({key:e})=>e??null,vs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?me(e)||fe(e)||W(e)?{i:je,r:e,k:t,f:!!s}:e:null);function c(e,t=null,s=null,n=0,r=null,o=e===be?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ci(t),ref:t&&vs(t),scopeId:ei,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:o,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:je};return l?(er(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=me(s)?8:16),ns>0&&!i&&Ne&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&Ne.push(a),a}const ke=Ra;function Ra(e,t=null,s=null,n=0,r=null,o=!1){if((!e||e===Jl)&&(e=yt),zi(e)){const l=It(e,t,!0);return s&&er(l,s),ns>0&&!o&&Ne&&(l.shapeFlag&6?Ne[Ne.indexOf(e)]=l:Ne.push(l)),l.patchFlag=-2,l}if(Fa(e)&&(e=e.__vccOpts),t){t=Pa(t);let{class:l,style:a}=t;l&&!me(l)&&(t.class=ot(l)),le(a)&&(Kn(a)&&!B(a)&&(a=Ee({},a)),t.style=jn(a))}const i=me(e)?1:wi(e)?128:Il(e)?64:le(e)?4:W(e)?2:0;return c(e,t,s,n,r,i,o,!0)}function Pa(e){return e?Kn(e)||ui(e)?Ee({},e):e:null}function It(e,t,s=!1,n=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:a}=e,d=t?Ma(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Ci(d),ref:t&&t.ref?s&&o?B(o)?o.concat(vs(t)):[o,vs(t)]:vs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&It(e.ssContent),ssFallback:e.ssFallback&&It(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&Yn(u,a.clone(u)),u}function we(e=" ",t=0){return ke(Fs,null,e,t)}function $a(e,t){const s=ke(ms,null,e);return s.staticCount=t,s}function ee(e="",t=!1){return t?(A(),Si(yt,null,e)):ke(yt,null,e)}function Je(e){return e==null||typeof e=="boolean"?ke(yt):B(e)?ke(be,null,e.slice()):zi(e)?gt(e):ke(Fs,null,String(e))}function gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:It(e)}function er(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(B(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),er(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!ui(t)?t._ctx=je:r===3&&je&&(je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else W(t)?(t={default:t,_ctx:je},s=32):(t=String(t),n&64?(s=16,t=[we(t)]):s=8);e.children=t,e.shapeFlag|=s}function Ma(...e){const t={};for(let s=0;s$e||je;let Rs,$n;{const e=Ms(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};Rs=t("__VUE_INSTANCE_SETTERS__",s=>$e=s),$n=t("__VUE_SSR_SETTERS__",s=>rs=s)}const us=e=>{const t=$e;return Rs(e),e.scope.on(),()=>{e.scope.off(),Rs(t)}},Cr=()=>{$e&&$e.scope.off(),Rs(null)};function Oi(e){return e.vnode.shapeFlag&4}let rs=!1;function Aa(e,t=!1,s=!1){t&&$n(t);const{props:n,children:r}=e.vnode,o=Oi(e);ia(e,n,o,t),ua(e,r,s||t);const i=o?Ia(e,t):void 0;return t&&$n(!1),i}function Ia(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yl);const{setup:n}=s;if(n){ct();const r=e.setupContext=n.length>1?Na(e):null,o=us(e),i=as(n,e,0,[e.props,r]),l=_o(i);if(ut(),o(),(l||e.sp)&&!Jt(e)&&ti(e),l){if(i.then(Cr,Cr),t)return i.then(a=>{Er(e,a)}).catch(a=>{Is(a,e,0)});e.asyncDep=i}else Er(e,i)}else Ri(e)}function Er(e,t,s){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:le(t)&&(e.setupState=Go(t)),Ri(e)}function Ri(e,t,s){const n=e.type;e.render||(e.render=n.render||Ze);{const r=us(e);ct();try{Zl(e)}finally{ut(),r()}}}const Da={get(e,t){return Ce(e,"get",""),e[t]}};function Na(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Da),slots:e.slots,emit:e.emit,expose:t}}function js(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Go(Gn(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Yt)return Yt[s](e)},has(t,s){return s in t||s in Yt}})):e.proxy}function Fa(e){return W(e)&&"__vccOpts"in e}const Fe=(e,t)=>Rl(e,t,rs),ja="3.5.22";/** * @vue/runtime-dom v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let Mn;const Or=typeof window<"u"&&window.trustedTypes;if(Or)try{Mn=Or.createPolicy("vue",{createHTML:e=>e})}catch{}const Pi=Mn?e=>Mn.createHTML(e):e=>e,Ua="http://www.w3.org/2000/svg",Va="http://www.w3.org/1998/Math/MathML",st=typeof document<"u"?document:null,Rr=st&&st.createElement("template"),qa={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?st.createElementNS(Ua,e):t==="mathml"?st.createElementNS(Va,e):s?st.createElement(e,{is:s}):st.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>st.createTextNode(e),createComment:e=>st.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>st.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,o){const i=s?s.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===o||!(r=r.nextSibling)););else{Rr.innerHTML=Pi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=Rr.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ba=Symbol("_vtc");function Ha(e,t,s){const n=e[Ba];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Pr=Symbol("_vod"),Wa=Symbol("_vsh"),Ka=Symbol(""),Ga=/(?:^|;)\s*display\s*:/;function Ja(e,t,s){const n=e.style,r=me(s);let o=!1;if(s&&!r){if(t)if(me(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&bs(n,l,"")}else for(const i in t)s[i]==null&&bs(n,i,"");for(const i in s)i==="display"&&(o=!0),bs(n,i,s[i])}else if(r){if(t!==s){const i=n[Ka];i&&(s+=";"+i),n.cssText=s,o=Ga.test(s)}}else t&&e.removeAttribute("style");Pr in e&&(e[Pr]=o?n.display:"",e[Wa]&&(n.display="none"))}const $r=/\s*!important$/;function bs(e,t,s){if(B(s))s.forEach(n=>bs(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Ya(e,t);$r.test(s)?e.setProperty(Rt(n),s.replace($r,""),"important"):e[n]=s}}const Mr=["Webkit","Moz","ms"],Ys={};function Ya(e,t){const s=Ys[t];if(s)return s;let n=bt(t);if(n!=="filter"&&n in e)return Ys[t]=n;n=xo(n);for(let r=0;rZs||(ec.then(()=>Zs=0),Zs=Date.now());function sc(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Xe(nc(n,s.value),t,5,[n])};return s.value=e,s.attached=tc(),s}function nc(e,t){if(B(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Dr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,rc=(e,t,s,n,r,o)=>{const i=r==="svg";t==="class"?Ha(e,n,i):t==="style"?Ja(e,s,n):Ps(t)?Dn(t)||Qa(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):oc(e,t,n,i))?(Tr(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&kr(e,t,n,i,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!me(n))?Tr(e,bt(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),kr(e,t,n,i))};function oc(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Dr(t)&&W(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Dr(t)&&me(s)?!1:t in e}const Dt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?s=>ps(t,s):t};function ic(e){e.target.composing=!0}function Nr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const at=Symbol("_assign"),_s={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[at]=Dt(r);const o=n||r.props&&r.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;s&&(l=l.trim()),o&&(l=ys(l)),e[at](l)}),s&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",ic),mt(e,"compositionend",Nr),mt(e,"change",Nr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:o}},i){if(e[at]=Dt(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?ys(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===a)||(e.value=a))}},lc={deep:!0,created(e,t,s){e[at]=Dt(s),mt(e,"change",()=>{const n=e._modelValue,r=os(e),o=e.checked,i=e[at];if(B(n)){const l=Un(n,r),a=l!==-1;if(o&&!a)i(n.concat(r));else if(!o&&a){const d=[...n];d.splice(l,1),i(d)}}else if(Nt(n)){const l=new Set(n);o?l.add(r):l.delete(r),i(l)}else i(Mi(e,o))})},mounted:Fr,beforeUpdate(e,t,s){e[at]=Dt(s),Fr(e,t,s)}};function Fr(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(B(t))r=Un(t,n.props.value)>-1;else if(Nt(t))r=t.has(n.props.value);else{if(t===s)return;r=ls(t,Mi(e,!0))}e.checked!==r&&(e.checked=r)}const $i={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=Nt(t);mt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>s?ys(os(i)):os(i));e[at](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,At(()=>{e._assigning=!1})}),e[at]=Dt(n)},mounted(e,{value:t}){jr(e,t)},beforeUpdate(e,t,s){e[at]=Dt(s)},updated(e,{value:t}){e._assigning||jr(e,t)}};function jr(e,t){const s=e.multiple,n=B(t);if(!(s&&!n&&!Nt(t))){for(let r=0,o=e.options.length;rString(d)===String(l)):i.selected=Un(t,l)>-1}else i.selected=t.has(l);else if(ls(os(i),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function os(e){return"_value"in e?e._value:e.value}function Mi(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const ac=["ctrl","shift","alt","meta"],cc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ac.some(s=>e[`${s}Key`]&&!t.includes(s))},Ln=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((r,...o)=>{for(let i=0;i{const t=fc().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=pc(n);if(!r)return;const o=t._component;!W(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=s(r,!1,hc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t});function hc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function pc(e){return me(e)?document.querySelector(e):e}/*! * pinia v3.0.3 * (c) 2025 Eduardo San Martin Morote * @license MIT */let Li;const Us=e=>Li=e,ki=Symbol();function kn(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Xt;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Xt||(Xt={}));function gc(){const e=Ro(!0),t=e.run(()=>ue({}));let s=[],n=[];const r=Gn({install(o){Us(r),r._a=o,o.provide(ki,r),o.config.globalProperties.$pinia=r,n.forEach(i=>s.push(i)),n=[]},use(o){return this._a?s.push(o):n.push(o),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return r}const Ti=()=>{};function Vr(e,t,s,n=Ti){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),n())};return!s&&Vn()&&Po(r),r}function $t(e,...t){e.slice().forEach(s=>{s(...t)})}const mc=e=>e(),qr=Symbol(),Qs=Symbol();function Tn(e,t){e instanceof Map&&t instanceof Map?t.forEach((s,n)=>e.set(n,s)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],r=e[s];kn(r)&&kn(n)&&e.hasOwnProperty(s)&&!fe(n)&&!it(n)?e[s]=Tn(r,n):e[s]=n}return e}const vc=Symbol();function bc(e){return!kn(e)||!Object.prototype.hasOwnProperty.call(e,vc)}const{assign:ht}=Object;function _c(e){return!!(fe(e)&&e.effect)}function yc(e,t,s,n){const{state:r,actions:o,getters:i}=t,l=s.state.value[e];let a;function d(){l||(s.state.value[e]=r?r():{});const u=Sl(s.state.value[e]);return ht(u,o,Object.keys(i||{}).reduce((m,S)=>(m[S]=Gn(Fe(()=>{Us(s);const w=s._s.get(e);return i[S].call(w,w)})),m),{}))}return a=Ai(e,d,t,s,n,!0),a}function Ai(e,t,s={},n,r,o){let i;const l=ht({actions:{}},s),a={deep:!0};let d,u,m=[],S=[],w;const T=n.state.value[e];!o&&!T&&(n.state.value[e]={}),ue({});let k;function M(K){let J;d=u=!1,typeof K=="function"?(K(n.state.value[e]),J={type:Xt.patchFunction,storeId:e,events:w}):(Tn(n.state.value[e],K),J={type:Xt.patchObject,payload:K,storeId:e,events:w});const oe=k=Symbol();At().then(()=>{k===oe&&(d=!0)}),u=!0,$t(m,J,n.state.value[e])}const p=o?function(){const{state:J}=s,oe=J?J():{};this.$patch(ge=>{ht(ge,oe)})}:Ti;function g(){i.stop(),m=[],S=[],n._s.delete(e)}const b=(K,J="")=>{if(qr in K)return K[Qs]=J,K;const oe=function(){Us(n);const ge=Array.from(arguments),Oe=[],Te=[];function et(G){Oe.push(G)}function Se(G){Te.push(G)}$t(S,{args:ge,name:oe[Qs],store:D,after:et,onError:Se});let ne;try{ne=K.apply(this&&this.$id===e?this:D,ge)}catch(G){throw $t(Te,G),G}return ne instanceof Promise?ne.then(G=>($t(Oe,G),G)).catch(G=>($t(Te,G),Promise.reject(G))):($t(Oe,ne),ne)};return oe[qr]=!0,oe[Qs]=J,oe},x={_p:n,$id:e,$onAction:Vr.bind(null,S),$patch:M,$reset:p,$subscribe(K,J={}){const oe=Vr(m,K,J.detached,()=>ge()),ge=i.run(()=>Ot(()=>n.state.value[e],Oe=>{(J.flush==="sync"?u:d)&&K({storeId:e,type:Xt.direct,events:w},Oe)},ht({},a,J)));return oe},$dispose:g},D=Ts(x);n._s.set(e,D);const de=(n._a&&n._a.runWithContext||mc)(()=>n._e.run(()=>(i=Ro()).run(()=>t({action:b}))));for(const K in de){const J=de[K];if(fe(J)&&!_c(J)||it(J))o||(T&&bc(J)&&(fe(J)?J.value=T[K]:Tn(J,T[K])),n.state.value[e][K]=J);else if(typeof J=="function"){const oe=b(J,K);de[K]=oe,l.actions[K]=J}}return ht(D,de),ht(Q(D),de),Object.defineProperty(D,"$state",{get:()=>n.state.value[e],set:K=>{M(J=>{ht(J,K)})}}),n._p.forEach(K=>{ht(D,i.run(()=>K({store:D,app:n._a,pinia:n,options:l})))}),T&&o&&s.hydrate&&s.hydrate(D.$state,T),d=!0,u=!0,D}/*! #__NO_SIDE_EFFECTS__ */function tr(e,t,s){let n;const r=typeof t=="function";n=r?s:t;function o(i,l){const a=oa();return i=i||(a?Zt(ki,null):null),i&&Us(i),i=Li,i._s.has(e)||(r?Ai(e,t,n,i):yc(e,n,i)),i._s.get(e)}return o.$id=e,o}function sr(e){const t=Q(e),s={};for(const n in t){const r=t[n];r.effect?s[n]=Fe({get:()=>e[n],set(o){e[n]=o}}):(fe(r)||it(r))&&(s[n]=El(e,n))}return s}const Br="/api";class wc{async request(t,s={}){try{const n=await fetch(`${Br}${t}`,{headers:{"Content-Type":"application/json",...s.headers},...s}),r=await n.json();return n.ok?{data:r,status:n.status}:{error:r.detail||`HTTP ${n.status}`,status:n.status}}catch(n){return{error:n instanceof Error?n.message:"Network error",status:0}}}async uploadRequest(t,s){try{const n=await fetch(`${Br}${t}`,{method:"POST",body:s}),r=await n.json();return n.ok?{data:r,status:n.status}:{error:r.detail||`HTTP ${n.status}`,status:n.status}}catch(n){return{error:n instanceof Error?n.message:"Network error",status:0}}}async getPuzzles(){return this.request("/submissions/puzzles")}async getSubmissions(t=20,s=0){return this.request(`/submissions/submissions?limit=${t}&offset=${s}`)}async getSubmission(t){return this.request(`/submissions/submissions/${t}`)}async createSubmission(t,s){const n=new FormData;return n.append("data",JSON.stringify(t)),s.forEach(r=>{n.append("files",r)}),this.uploadRequest("/submissions/submissions",n)}async validateResponse(t,s){return this.request(`/submissions/responses/${t}/validate`,{method:"PUT",body:JSON.stringify(s)})}async autoValidateResponses(t){return this.request(`/submissions/responses/${t}/validate/auto`,{method:"PUT"})}async getResponsesNeedingValidation(){return this.request("/submissions/responses/needs-validation")}async validateSubmission(t){return this.request(`/submissions/submissions/${t}/validate`,{method:"POST"})}async deleteSubmission(t){return this.request(`/submissions/submissions/${t}`,{method:"DELETE"})}async getStats(){return this.request("/submissions/stats")}async healthCheck(){return this.request("/health")}async getUserInfo(){return this.request("/user")}}const Ye=new wc,xc={async loadPuzzles(){const e=await Ye.getPuzzles();return e.error?(console.error("Failed to load puzzles:",e.error),[]):e.data||[]},findPuzzleByName(e,t){if(!t)return null;let s=e.find(n=>n.title.toLowerCase()===t.toLowerCase());return s||(s=e.find(n=>n.title.toLowerCase().includes(t.toLowerCase())||t.toLowerCase().includes(n.title.toLowerCase()))),s||null}},Hr={async createFromFiles(e,t,s,n){const r=e.map(i=>{const l=xc.findPuzzleByName(t,i.ocrData?.puzzle||"");if(l)return{puzzle_id:l.id,puzzle_name:i.ocrData?.puzzle||"",cost:i.ocrData?.cost,cycles:i.ocrData?.cycles,area:i.ocrData?.area,needs_manual_validation:(i.ocrData?.confidence.overall??0)<=.8,ocr_confidence_cost:i.ocrData?.confidence?.cost||0,ocr_confidence_cycles:i.ocrData?.confidence?.cycles||0,ocr_confidence_area:i.ocrData?.confidence?.area||0}}).filter(i=>i!==void 0),o=e.map(i=>i.file);return Ye.createSubmission({notes:s,manual_validation_requested:n,responses:r},o)},async loadSubmissions(e=20,t=0){const s=await Ye.getSubmissions(e,t);return s.error?(console.error("Failed to load submissions:",s.error),[]):s.data?.items||[]}},Ii={getErrorMessage(e){return typeof e=="string"?e:e instanceof Error?e.message:typeof e=="object"&&e!==null&&"detail"in e?String(e.detail):"An unknown error occurred"},isNetworkError(e){return typeof e=="string"&&e.includes("Network")},isValidationError(e){return e===400},isAuthError(e){return e===401||e===403}},Vs=tr("puzzles",()=>{const e=ue([]),t=ue(!1),s=ue(""),n=Fe(()=>e.value.map(l=>l.title)),r=Fe(()=>l=>{if(!l)return null;const a=e.value.find(u=>u.title.toLowerCase()===l.toLowerCase());return a||e.value.find(u=>u.title.toLowerCase().includes(l.toLowerCase())||l.toLowerCase().includes(u.title.toLowerCase()))||null}),o=async()=>{if(!(e.value.length>0))try{t.value=!0,s.value="";const l=await Ye.getPuzzles();if(l.error){s.value=l.error,console.error("Failed to load puzzles:",l.error);return}l.data&&(e.value=l.data)}catch(l){s.value="Failed to load puzzles",console.error("Error loading puzzles:",l)}finally{t.value=!1}};return{puzzles:e,isLoading:t,error:s,puzzleNames:n,findPuzzleByName:r,loadPuzzles:o,refreshPuzzles:async()=>{e.value=[],await o()}}}),nr=tr("submissions",()=>{const e=ue([]),t=ue(!1),s=ue(""),n=ue(!1),r=Vs(),{puzzles:o}=sr(r),i=async(S=20,w=0)=>{try{t.value=!0,s.value="";const T=await Hr.loadSubmissions(S,w);w===0?e.value=T:e.value.push(...T)}catch(T){s.value="Failed to load submissions",console.error("Error loading submissions:",T)}finally{t.value=!1}},l=async(S,w,T)=>{try{t.value=!0,s.value="";const k=await Hr.createFromFiles(S,o.value,w,T);if(k.error)throw s.value=k.error,new Error(k.error);return k.data?(e.value.unshift(k.data),k.data):void 0}catch(k){throw s.value=k instanceof Error?k.message:"Failed to create submission",k}finally{t.value=!1}},a=()=>{n.value=!0},d=()=>{n.value=!1};return{submissions:e,isLoading:t,error:s,isSubmissionModalOpen:n,loadSubmissions:i,createSubmission:l,openSubmissionModal:a,closeSubmissionModal:d,refreshSubmissions:async()=>{e.value=[],await i()},handleSubmission:async S=>{try{t.value=!0,s.value="";const w=await l(S.files,S.notes,S.manualValidationRequested);if(w){const T=w.responses.map(k=>k.puzzle_name).join(", ");alert(`Solutions submitted successfully for puzzles: ${T}`)}else alert("Submission created successfully!");d()}catch(w){const T=Ii.getErrorMessage(w);s.value=T,alert(`Submission failed: ${T}`),console.error("Submission error:",w)}finally{t.value=!1}}}}),Sc={class:"card-body"},zc={class:"flex items-start justify-between"},Cc={class:"flex-1"},Ec={class:"card-title text-lg font-bold"},Oc={class:"text-sm text-base-content/70 mb-2"},Rc={class:"flex items-center gap-2 mb-3"},Pc={class:"badge badge-primary badge-sm"},$c={class:"badge badge-ghost badge-sm"},Mc={key:0,class:"text-sm text-base-content/80 mb-4"},Lc={key:1,class:"flex flex-wrap gap-1 mb-4"},kc={key:0,class:"badge badge-outline badge-xs"},Tc={class:"flex flex-col items-end gap-2"},Ac={class:"tooltip","data-tip":"View on Steam Workshop"},Ic=["href"],Dc={key:0,class:"mt-6"},Nc={class:"divider"},Fc={class:"text-sm font-medium"},jc={class:"table table-xs"},Uc={key:0,class:"badge badge-success badge-xs"},Vc={key:1,class:"text-base-content/50"},qc={key:0,class:"badge badge-info badge-xs"},Bc={key:1,class:"text-base-content/50"},Hc={key:0,class:"badge badge-warning badge-xs"},Wc={key:1,class:"text-base-content/50"},Kc={class:"flex items-center gap-1"},Gc={class:"badge badge-ghost badge-xs"},Jc=["data-tip"],Yc={key:1,class:"tooltip","data-tip":"Needs manual validation"},Zc=cs({__name:"PuzzleCard",props:{puzzle:{},responses:{}},setup(e){const{openSubmissionModal:t}=nr();return(s,n)=>(A(),I("div",{class:ot(["card bg-base-100 shadow-lg hover:shadow-2xl transition-shadow duration-300",e.responses?.length==0?"shadow-red-900":"shadow-primary-300"])},[c("div",Sc,[c("div",zc,[c("div",Cc,[c("h3",Ec,F(e.puzzle.title),1),c("p",Oc," by "+F(e.puzzle.author_name),1),c("div",Rc,[c("div",Pc,F(e.puzzle.steam_item_id),1),c("div",$c,"ID: "+F(e.puzzle.id),1)]),e.puzzle.description?(A(),I("p",Mc,F(e.puzzle.description),1)):ee("",!0),e.puzzle.tags&&e.puzzle.tags.length>0?(A(),I("div",Lc,[(A(!0),I(be,null,lt(e.puzzle.tags.slice(0,3),r=>(A(),I("span",{key:r,class:"badge badge-outline badge-xs"},F(r),1))),128)),e.puzzle.tags.length>3?(A(),I("span",kc," +"+F(e.puzzle.tags.length-3)+" more ",1)):ee("",!0)])):ee("",!0)]),c("div",Tc,[c("div",Ac,[c("a",{href:`https://steamcommunity.com/workshop/filedetails/?id=${e.puzzle.steam_item_id}`,target:"_blank",class:"btn btn-ghost btn-sm btn-square"},[...n[1]||(n[1]=[c("i",{class:"mdi mdi-steam text-lg"},null,-1)])],8,Ic)])])]),e.responses&&e.responses.length>0?(A(),I("div",Dc,[c("div",Nc,[c("span",Fc,"Solutions ("+F(e.responses.length)+")",1)]),c("div",null,[c("table",jc,[n[4]||(n[4]=c("thead",null,[c("tr",null,[c("th",null,"Cost"),c("th",null,"Cycles"),c("th",null,"Area"),c("th",null,"Files")])],-1)),c("tbody",null,[(A(!0),I(be,null,lt(e.responses,r=>(A(),I("tr",{key:r.id,class:"hover"},[c("td",null,[r.final_cost||r.cost?(A(),I("span",Uc,F(r.final_cost||r.cost),1)):(A(),I("span",Vc,"-"))]),c("td",null,[r.final_cycles||r.cycles?(A(),I("span",qc,F(r.final_cycles||r.cycles),1)):(A(),I("span",Bc,"-"))]),c("td",null,[r.final_area||r.area?(A(),I("span",Hc,F(r.final_area||r.area),1)):(A(),I("span",Wc,"-"))]),c("td",null,[c("div",Kc,[c("span",Gc,F(r.files?.length||0),1),r.files?.length?(A(),I("div",{key:0,class:"tooltip","data-tip":r.files.map(o=>o.original_filename||o.file?.name).join(", ")},[...n[2]||(n[2]=[c("i",{class:"mdi mdi-information-outline text-xs"},null,-1)])],8,Jc)):ee("",!0),r.needs_manual_validation?(A(),I("div",Yc,[...n[3]||(n[3]=[c("i",{class:"mdi mdi-alert-circle text-xs text-warning"},null,-1)])])):ee("",!0)])])]))),128))])])])])):(A(),I("div",{key:1,class:"mt-6 text-center py-4 border-2 border-dashed border-base-300 rounded-lg hover:border-primary transition-colors duration-300 cursor-pointer",onClick:n[0]||(n[0]=(...r)=>re(t)&&re(t)(...r))},[...n[5]||(n[5]=[c("i",{class:"mdi mdi-upload text-2xl text-base-content/40"},null,-1),c("p",{class:"text-sm text-base-content/60 mt-2"},"No solutions yet",-1),c("p",{class:"text-xs text-base-content/40"}," Upload solutions using the submit button ",-1)])]))])],2))}});var Xs={exports:{}},Wr;function Qc(){return Wr||(Wr=1,(function(e){var t=(function(s){var n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(O,z,L){O[z]=L.value},i,l=typeof Symbol=="function"?Symbol:{},a=l.iterator||"@@iterator",d=l.asyncIterator||"@@asyncIterator",u=l.toStringTag||"@@toStringTag";function m(O,z,L){return Object.defineProperty(O,z,{value:L,enumerable:!0,configurable:!0,writable:!0}),O[z]}try{m({},"")}catch{m=function(z,L,q){return z[L]=q}}function S(O,z,L,q){var j=z&&z.prototype instanceof b?z:b,X=Object.create(j.prototype),_e=new ne(q||[]);return o(X,"_invoke",{value:Oe(O,L,_e)}),X}s.wrap=S;function w(O,z,L){try{return{type:"normal",arg:O.call(z,L)}}catch(q){return{type:"throw",arg:q}}}var T="suspendedStart",k="suspendedYield",M="executing",p="completed",g={};function b(){}function x(){}function D(){}var xe={};m(xe,a,function(){return this});var de=Object.getPrototypeOf,K=de&&de(de(G([])));K&&K!==n&&r.call(K,a)&&(xe=K);var J=D.prototype=b.prototype=Object.create(xe);x.prototype=D,o(J,"constructor",{value:D,configurable:!0}),o(D,"constructor",{value:x,configurable:!0}),x.displayName=m(D,u,"GeneratorFunction");function oe(O){["next","throw","return"].forEach(function(z){m(O,z,function(L){return this._invoke(z,L)})})}s.isGeneratorFunction=function(O){var z=typeof O=="function"&&O.constructor;return z?z===x||(z.displayName||z.name)==="GeneratorFunction":!1},s.mark=function(O){return Object.setPrototypeOf?Object.setPrototypeOf(O,D):(O.__proto__=D,m(O,u,"GeneratorFunction")),O.prototype=Object.create(J),O},s.awrap=function(O){return{__await:O}};function ge(O,z){function L(X,_e,he,ve){var pe=w(O[X],O,_e);if(pe.type==="throw")ve(pe.arg);else{var dt=pe.arg,Ae=dt.value;return Ae&&typeof Ae=="object"&&r.call(Ae,"__await")?z.resolve(Ae.__await).then(function(qe){L("next",qe,he,ve)},function(qe){L("throw",qe,he,ve)}):z.resolve(Ae).then(function(qe){dt.value=qe,he(dt)},function(qe){return L("throw",qe,he,ve)})}}var q;function j(X,_e){function he(){return new z(function(ve,pe){L(X,_e,ve,pe)})}return q=q?q.then(he,he):he()}o(this,"_invoke",{value:j})}oe(ge.prototype),m(ge.prototype,d,function(){return this}),s.AsyncIterator=ge,s.async=function(O,z,L,q,j){j===void 0&&(j=Promise);var X=new ge(S(O,z,L,q),j);return s.isGeneratorFunction(z)?X:X.next().then(function(_e){return _e.done?_e.value:X.next()})};function Oe(O,z,L){var q=T;return function(X,_e){if(q===M)throw new Error("Generator is already running");if(q===p){if(X==="throw")throw _e;return Y()}for(L.method=X,L.arg=_e;;){var he=L.delegate;if(he){var ve=Te(he,L);if(ve){if(ve===g)continue;return ve}}if(L.method==="next")L.sent=L._sent=L.arg;else if(L.method==="throw"){if(q===T)throw q=p,L.arg;L.dispatchException(L.arg)}else L.method==="return"&&L.abrupt("return",L.arg);q=M;var pe=w(O,z,L);if(pe.type==="normal"){if(q=L.done?p:k,pe.arg===g)continue;return{value:pe.arg,done:L.done}}else pe.type==="throw"&&(q=p,L.method="throw",L.arg=pe.arg)}}}function Te(O,z){var L=z.method,q=O.iterator[L];if(q===i)return z.delegate=null,L==="throw"&&O.iterator.return&&(z.method="return",z.arg=i,Te(O,z),z.method==="throw")||L!=="return"&&(z.method="throw",z.arg=new TypeError("The iterator does not provide a '"+L+"' method")),g;var j=w(q,O.iterator,z.arg);if(j.type==="throw")return z.method="throw",z.arg=j.arg,z.delegate=null,g;var X=j.arg;if(!X)return z.method="throw",z.arg=new TypeError("iterator result is not an object"),z.delegate=null,g;if(X.done)z[O.resultName]=X.value,z.next=O.nextLoc,z.method!=="return"&&(z.method="next",z.arg=i);else return X;return z.delegate=null,g}oe(J),m(J,u,"Generator"),m(J,a,function(){return this}),m(J,"toString",function(){return"[object Generator]"});function et(O){var z={tryLoc:O[0]};1 in O&&(z.catchLoc=O[1]),2 in O&&(z.finallyLoc=O[2],z.afterLoc=O[3]),this.tryEntries.push(z)}function Se(O){var z=O.completion||{};z.type="normal",delete z.arg,O.completion=z}function ne(O){this.tryEntries=[{tryLoc:"root"}],O.forEach(et,this),this.reset(!0)}s.keys=function(O){var z=Object(O),L=[];for(var q in z)L.push(q);return L.reverse(),function j(){for(;L.length;){var X=L.pop();if(X in z)return j.value=X,j.done=!1,j}return j.done=!0,j}};function G(O){if(O){var z=O[a];if(z)return z.call(O);if(typeof O.next=="function")return O;if(!isNaN(O.length)){var L=-1,q=function j(){for(;++L=0;--q){var j=this.tryEntries[q],X=j.completion;if(j.tryLoc==="root")return L("end");if(j.tryLoc<=this.prev){var _e=r.call(j,"catchLoc"),he=r.call(j,"finallyLoc");if(_e&&he){if(this.prev=0;--L){var q=this.tryEntries[L];if(q.tryLoc<=this.prev&&r.call(q,"finallyLoc")&&this.prev=0;--z){var L=this.tryEntries[z];if(L.finallyLoc===O)return this.complete(L.completion,L.afterLoc),Se(L),g}},catch:function(O){for(var z=this.tryEntries.length-1;z>=0;--z){var L=this.tryEntries[z];if(L.tryLoc===O){var q=L.completion;if(q.type==="throw"){var j=q.arg;Se(L)}return j}}throw new Error("illegal catch attempt")},delegateYield:function(O,z,L){return this.delegate={iterator:G(O),resultName:z,nextLoc:L},this.method==="next"&&(this.arg=i),g}},s})(e.exports);try{regeneratorRuntime=t}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}})(Xs)),Xs.exports}var en,Kr;function rr(){return Kr||(Kr=1,en=(e,t)=>`${e}-${t}-${Math.random().toString(16).slice(3,8)}`),en}var tn,Gr;function Di(){if(Gr)return tn;Gr=1;const e=rr();let t=0;return tn=({id:s,action:n,payload:r={}})=>{let o=s;return typeof o>"u"&&(o=e("Job",t),t+=1),{id:o,action:n,payload:r}},tn}var Vt={},Jr;function or(){if(Jr)return Vt;Jr=1;let e=!1;return Vt.logging=e,Vt.setLogging=t=>{e=t},Vt.log=(...t)=>e?console.log.apply(this,t):null,Vt}var sn,Yr;function Xc(){if(Yr)return sn;Yr=1;const e=Di(),{log:t}=or(),s=rr();let n=0;return sn=()=>{const r=s("Scheduler",n),o={},i={};let l=[];n+=1;const a=()=>l.length,d=()=>Object.keys(o).length,u=()=>{if(l.length!==0){const k=Object.keys(o);for(let M=0;M"u"){l[0](o[k[M]]);break}}},m=(k,M)=>new Promise((p,g)=>{const b=e({action:k,payload:M});l.push(async x=>{l.shift(),i[x.id]=b;try{p(await x[k].apply(this,[...M,b.id]))}catch(D){g(D)}finally{delete i[x.id],u()}}),t(`[${r}]: Add ${b.id} to JobQueue`),t(`[${r}]: JobQueue length=${l.length}`),u()});return{addWorker:k=>(o[k.id]=k,t(`[${r}]: Add ${k.id}`),t(`[${r}]: Number of workers=${d()}`),u(),k.id),addJob:async(k,...M)=>{if(d()===0)throw Error(`[${r}]: You need to have at least one worker before adding jobs`);return m(k,M)},terminate:async()=>{Object.keys(o).forEach(async k=>{await o[k].terminate()}),l=[]},getQueueLen:a,getNumWorkers:d}},sn}function eu(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var nn,Zr;function tu(){if(Zr)return nn;Zr=1;function e(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}return nn=e,nn}var rn,Qr;function su(){if(Qr)return rn;Qr=1;const e=tu();return rn=t=>{const s={};return typeof WorkerGlobalScope<"u"?s.type="webworker":e()?s.type="electron":typeof document=="object"?s.type="browser":typeof process=="object"&&typeof eu=="function"&&(s.type="node"),typeof t>"u"?s:s[t]},rn}var on,Xr;function nu(){if(Xr)return on;Xr=1;const t=su()("type")==="browser"?s=>new URL(s,window.location.href).href:s=>s;return on=s=>{const n={...s};return["corePath","workerPath","langPath"].forEach(r=>{s[r]&&(n[r]=t(n[r]))}),n},on}var ln,eo;function ru(){return eo||(eo=1,ln=e=>{const t=[],s=[],n=[],r=[],o=[];return e.blocks&&e.blocks.forEach(i=>{i.paragraphs.forEach(l=>{l.lines.forEach(a=>{a.words.forEach(d=>{d.symbols.forEach(u=>{o.push({...u,page:e,block:i,paragraph:l,line:a,word:d})}),r.push({...d,page:e,block:i,paragraph:l,line:a})}),n.push({...a,page:e,block:i,paragraph:l})}),s.push({...l,page:e,block:i})}),t.push({...i,page:e})}),{...e,blocks:t,paragraphs:s,lines:n,words:r,symbols:o}}),ln}var an,to;function Ni(){return to||(to=1,an={TESSERACT_ONLY:0,LSTM_ONLY:1,TESSERACT_LSTM_COMBINED:2,DEFAULT:3}),an}const ou="5.1.1",iu={version:ou};var cn,so;function lu(){return so||(so=1,cn={workerBlobURL:!0,logger:()=>{}}),cn}var un,no;function au(){if(no)return un;no=1;const e=iu.version;return un={...lu(),workerPath:`https://cdn.jsdelivr.net/npm/tesseract.js@v${e}/dist/worker.min.js`},un}var fn,ro;function cu(){return ro||(ro=1,fn=({workerPath:e,workerBlobURL:t})=>{let s;if(Blob&&URL&&t){const n=new Blob([`importScripts("${e}");`],{type:"application/javascript"});s=new Worker(URL.createObjectURL(n))}else s=new Worker(e);return s}),fn}var dn,oo;function uu(){return oo||(oo=1,dn=e=>{e.terminate()}),dn}var hn,io;function fu(){return io||(io=1,hn=(e,t)=>{e.onmessage=({data:s})=>{t(s)}}),hn}var pn,lo;function du(){return lo||(lo=1,pn=async(e,t)=>{e.postMessage(t)}),pn}var gn,ao;function hu(){if(ao)return gn;ao=1;const e=s=>new Promise((n,r)=>{const o=new FileReader;o.onload=()=>{n(o.result)},o.onerror=({target:{error:{code:i}}})=>{r(Error(`File could not be read! Code=${i}`))},o.readAsArrayBuffer(s)}),t=async s=>{let n=s;if(typeof s>"u")return"undefined";if(typeof s=="string")/data:image\/([a-zA-Z]*);base64,([^"]*)/.test(s)?n=atob(s.split(",")[1]).split("").map(r=>r.charCodeAt(0)):n=await(await fetch(s)).arrayBuffer();else if(typeof HTMLElement<"u"&&s instanceof HTMLElement)s.tagName==="IMG"&&(n=await t(s.src)),s.tagName==="VIDEO"&&(n=await t(s.poster)),s.tagName==="CANVAS"&&await new Promise(r=>{s.toBlob(async o=>{n=await e(o),r()})});else if(typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas){const r=await s.convertToBlob();n=await e(r)}else(s instanceof File||s instanceof Blob)&&(n=await e(s));return new Uint8Array(n)};return gn=t,gn}var mn,co;function pu(){if(co)return mn;co=1;const e=au(),t=cu(),s=uu(),n=fu(),r=du(),o=hu();return mn={defaultOptions:e,spawnWorker:t,terminateWorker:s,onMessage:n,send:r,loadImage:o},mn}var vn,uo;function Fi(){if(uo)return vn;uo=1;const e=nu(),t=ru(),s=Di(),{log:n}=or(),r=rr(),o=Ni(),{defaultOptions:i,spawnWorker:l,terminateWorker:a,onMessage:d,loadImage:u,send:m}=pu();let S=0;return vn=async(w="eng",T=o.LSTM_ONLY,k={},M={})=>{const p=r("Worker",S),{logger:g,errorHandler:b,...x}=e({...i,...k}),D={},xe={},de=typeof w=="string"?w.split("+"):w;let K=T,J=M;const oe=[o.DEFAULT,o.LSTM_ONLY].includes(T)&&!x.legacyCore;let ge,Oe;const Te=new Promise((v,_)=>{Oe=v,ge=_}),et=v=>{ge(v.message)};let Se=l(x);Se.onerror=et,S+=1;const ne=(v,_)=>{D[v]=_},G=(v,_)=>{xe[v]=_},Y=({id:v,action:_,payload:$})=>new Promise((P,E)=>{n(`[${p}]: Start ${v}, action=${_}`);const C=`${_}-${v}`;ne(C,P),G(C,E),m(Se,{workerId:p,jobId:v,action:_,payload:$})}),O=()=>console.warn("`load` is depreciated and should be removed from code (workers now come pre-loaded)"),z=v=>Y(s({id:v,action:"load",payload:{options:{lstmOnly:oe,corePath:x.corePath,logging:x.logging}}})),L=(v,_,$)=>Y(s({id:$,action:"FS",payload:{method:"writeFile",args:[v,_]}})),q=(v,_)=>Y(s({id:_,action:"FS",payload:{method:"readFile",args:[v,{encoding:"utf8"}]}})),j=(v,_)=>Y(s({id:_,action:"FS",payload:{method:"unlink",args:[v]}})),X=(v,_,$)=>Y(s({id:$,action:"FS",payload:{method:v,args:_}})),_e=()=>console.warn("`loadLanguage` is depreciated and should be removed from code (workers now come with language pre-loaded)"),he=(v,_)=>Y(s({id:_,action:"loadLanguage",payload:{langs:v,options:{langPath:x.langPath,dataPath:x.dataPath,cachePath:x.cachePath,cacheMethod:x.cacheMethod,gzip:x.gzip,lstmOnly:[o.DEFAULT,o.LSTM_ONLY].includes(K)&&!x.legacyLang}}})),ve=()=>console.warn("`initialize` is depreciated and should be removed from code (workers now come pre-initialized)"),pe=(v,_,$,P)=>Y(s({id:P,action:"initialize",payload:{langs:v,oem:_,config:$}})),dt=(v="eng",_,$,P)=>{if(oe&&[o.TESSERACT_ONLY,o.TESSERACT_LSTM_COMBINED].includes(_))throw Error("Legacy model requested but code missing.");const E=_||K;K=E;const C=$||J;J=C;const N=(typeof v=="string"?v.split("+"):v).filter(V=>!de.includes(V));return de.push(...N),N.length>0?he(N,P).then(()=>pe(v,E,C,P)):pe(v,E,C,P)},Ae=(v={},_)=>Y(s({id:_,action:"setParameters",payload:{params:v}})),qe=async(v,_={},$={blocks:!0,text:!0,hocr:!0,tsv:!0},P)=>Y(s({id:P,action:"recognize",payload:{image:await u(v),options:_,output:$}})),f=(v="Tesseract OCR Result",_=!1,$)=>(console.log("`getPDF` function is depreciated. `recognize` option `savePDF` should be used instead."),Y(s({id:$,action:"getPDF",payload:{title:v,textonly:_}}))),h=async(v,_)=>{if(oe)throw Error("`worker.detect` requires Legacy model, which was not loaded.");return Y(s({id:_,action:"detect",payload:{image:await u(v)}}))},y=async()=>(Se!==null&&(a(Se),Se=null),Promise.resolve());d(Se,({workerId:v,jobId:_,status:$,action:P,data:E})=>{const C=`${P}-${_}`;if($==="resolve"){n(`[${v}]: Complete ${_}`);let U=E;P==="recognize"?U=t(E):P==="getPDF"&&(U=Array.from({...E,length:Object.keys(E).length})),D[C]({jobId:_,data:U})}else if($==="reject")if(xe[C](E),P==="load"&&ge(E),b)b(E);else throw Error(E);else $==="progress"&&g({...E,userJobId:_})});const R={id:p,worker:Se,setResolve:ne,setReject:G,load:O,writeText:L,readText:q,removeFile:j,FS:X,loadLanguage:_e,initialize:ve,reinitialize:dt,setParameters:Ae,recognize:qe,getPDF:f,detect:h,terminate:y};return z().then(()=>he(w)).then(()=>pe(w,T,M)).then(()=>Oe(R)).catch(()=>{}),Te},vn}var bn,fo;function gu(){if(fo)return bn;fo=1;const e=Fi();return bn={recognize:async(n,r,o)=>{const i=await e(r,1,o);return i.recognize(n).finally(async()=>{await i.terminate()})},detect:async(n,r)=>{const o=await e("osd",0,r);return o.detect(n).finally(async()=>{await o.terminate()})}},bn}var _n,ho;function mu(){return ho||(ho=1,_n={AFR:"afr",AMH:"amh",ARA:"ara",ASM:"asm",AZE:"aze",AZE_CYRL:"aze_cyrl",BEL:"bel",BEN:"ben",BOD:"bod",BOS:"bos",BUL:"bul",CAT:"cat",CEB:"ceb",CES:"ces",CHI_SIM:"chi_sim",CHI_TRA:"chi_tra",CHR:"chr",CYM:"cym",DAN:"dan",DEU:"deu",DZO:"dzo",ELL:"ell",ENG:"eng",ENM:"enm",EPO:"epo",EST:"est",EUS:"eus",FAS:"fas",FIN:"fin",FRA:"fra",FRK:"frk",FRM:"frm",GLE:"gle",GLG:"glg",GRC:"grc",GUJ:"guj",HAT:"hat",HEB:"heb",HIN:"hin",HRV:"hrv",HUN:"hun",IKU:"iku",IND:"ind",ISL:"isl",ITA:"ita",ITA_OLD:"ita_old",JAV:"jav",JPN:"jpn",KAN:"kan",KAT:"kat",KAT_OLD:"kat_old",KAZ:"kaz",KHM:"khm",KIR:"kir",KOR:"kor",KUR:"kur",LAO:"lao",LAT:"lat",LAV:"lav",LIT:"lit",MAL:"mal",MAR:"mar",MKD:"mkd",MLT:"mlt",MSA:"msa",MYA:"mya",NEP:"nep",NLD:"nld",NOR:"nor",ORI:"ori",PAN:"pan",POL:"pol",POR:"por",PUS:"pus",RON:"ron",RUS:"rus",SAN:"san",SIN:"sin",SLK:"slk",SLV:"slv",SPA:"spa",SPA_OLD:"spa_old",SQI:"sqi",SRP:"srp",SRP_LATN:"srp_latn",SWA:"swa",SWE:"swe",SYR:"syr",TAM:"tam",TEL:"tel",TGK:"tgk",TGL:"tgl",THA:"tha",TIR:"tir",TUR:"tur",UIG:"uig",UKR:"ukr",URD:"urd",UZB:"uzb",UZB_CYRL:"uzb_cyrl",VIE:"vie",YID:"yid"}),_n}var yn,po;function vu(){return po||(po=1,yn={OSD_ONLY:"0",AUTO_OSD:"1",AUTO_ONLY:"2",AUTO:"3",SINGLE_COLUMN:"4",SINGLE_BLOCK_VERT_TEXT:"5",SINGLE_BLOCK:"6",SINGLE_LINE:"7",SINGLE_WORD:"8",CIRCLE_WORD:"9",SINGLE_CHAR:"10",SPARSE_TEXT:"11",SPARSE_TEXT_OSD:"12",RAW_LINE:"13"}),yn}var wn,go;function bu(){if(go)return wn;go=1,Qc();const e=Xc(),t=Fi(),s=gu(),n=mu(),r=Ni(),o=vu(),{setLogging:i}=or();return wn={languages:n,OEM:r,PSM:o,createScheduler:e,createWorker:t,setLogging:i,...s},wn}var _u=bu();class ir{worker=null;availablePuzzleNames=[];regions={puzzle:{x:15,y:600,width:330,height:28},cost:{x:412,y:603,width:65,height:22},cycles:{x:577,y:603,width:65,height:22},area:{x:739,y:603,width:65,height:22}};async initialize(){this.worker||(this.worker=await _u.createWorker("eng"),await this.worker.setParameters({tessedit_ocr_engine_mode:"3",tessedit_pageseg_mode:7}))}setAvailablePuzzleNames(t){this.availablePuzzleNames=t,console.log("OCR service updated with puzzle names:",t)}async configurePuzzleOCR(){this.worker&&(await this.worker.setParameters({load_system_dawg:"0",load_freq_dawg:"0",load_punc_dawg:"0",load_number_dawg:"0",load_unambig_dawg:"0",load_bigram_dawg:"0",load_fixed_length_dawgs:"0",tessedit_char_whitelist:this.getPuzzleCharacterSet(),tessedit_pageseg_mode:8,segment_penalty_dict_nonword:"2.0",segment_penalty_dict_frequent_word:"0.001",segment_penalty_dict_case_ok:"0.001",segment_penalty_dict_case_bad:"0.1",classify_enable_learning:"0",classify_enable_adaptive_matcher:"1",preserve_interword_spaces:"1"}),console.log("OCR configured for puzzle names with character set:",this.getPuzzleCharacterSet()))}getPuzzleCharacterSet(){if(this.availablePuzzleNames.length===0)return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 -";const t=new Set;return this.availablePuzzleNames.forEach(s=>{for(const n of s)t.add(n)}),Array.from(t).join("")}async extractOpusMagnumData(t){this.worker||await this.initialize();const s=URL.createObjectURL(t),n=new Image;return new Promise((r,o)=>{n.onload=async()=>{try{const i=document.createElement("canvas"),l=i.getContext("2d");i.width=n.width,i.height=n.height,l.drawImage(n,0,0);const a={},d={};for(const[S,w]of Object.entries(this.regions)){const T=document.createElement("canvas"),k=T.getContext("2d");T.width=w.width,T.height=w.height,k.drawImage(i,w.x,w.y,w.width,w.height,0,0,w.width,w.height);const M=k.getImageData(0,0,w.width,w.height);this.preprocessImage(M),k.putImageData(M,0,0),S==="cost"?await this.worker.setParameters({tessedit_char_whitelist:"0123456789G"}):S==="cycles"||S==="area"?await this.worker.setParameters({tessedit_char_whitelist:"0123456789"}):S==="puzzle"?await this.configurePuzzleOCR():await this.worker.setParameters({tessedit_char_whitelist:""});const{data:{text:p,confidence:g}}=await this.worker.recognize(T);let b=p.trim();if(d[S]=g/100,S==="cost"){if(b.endsWith("6")&&b.length>1){const x=b.slice(0,-1);/^\d+$/.test(x)&&(b=x)}b=b.replace(/G+$/g,""),b=b.replace(/[^0-9]/g,"")}else if(S==="cycles"||S==="area")b=b.replace(/[^0-9]/g,"");else if(S==="puzzle"&&(b=this.findBestPuzzleMatch(b),this.availablePuzzleNames.length>0&&!this.availablePuzzleNames.includes(b))){const x=this.findBestPuzzleMatchForced(b);x&&(b=x,console.log(`Forced OCR match: "${p.trim()}" -> "${b}"`))}a[S]=b}URL.revokeObjectURL(s);const u=Object.values(d),m=u.length>0?u.reduce((S,w)=>S+w,0)/u.length:0;r({puzzle:a.puzzle||"",cost:parseInt(a.cost||""),cycles:parseInt(a.cycles||""),area:parseInt(a.area||""),confidence:{puzzle:d.puzzle||0,cost:d.cost||0,cycles:d.cycles||0,area:d.area||0,overall:m}})}catch(i){URL.revokeObjectURL(s),o(i)}},n.onerror=()=>{URL.revokeObjectURL(s),o(new Error("Failed to load image"))},n.src=s})}preprocessImage(t){const s=t.data;for(let n=0;nArray(t.length+1).fill(null));for(let r=0;r<=t.length;r++)n[0][r]=r;for(let r=0;r<=s.length;r++)n[r][0]=r;for(let r=1;r<=s.length;r++)for(let o=1;o<=t.length;o++){const i=t[o-1]===s[r-1]?0:1;n[r][o]=Math.min(n[r][o-1]+1,n[r-1][o]+1,n[r-1][o-1]+i)}return n[s.length][t.length]}findBestPuzzleMatch(t){if(!this.availablePuzzleNames.length)return t.trim();const s=t.trim();if(!s)return"";const n=this.availablePuzzleNames.find(l=>l.toLowerCase()===s.toLowerCase());if(n)return n;const r=this.availablePuzzleNames.find(l=>l.toLowerCase().includes(s.toLowerCase())||s.toLowerCase().includes(l.toLowerCase()));if(r)return r;let o=s,i=0;for(const l of this.availablePuzzleNames){const a=[this.calculateLevenshteinSimilarity(s,l),this.calculateJaroWinklerSimilarity(s,l),this.calculateNGramSimilarity(s,l,2)],d=Math.max(...a);d>i&&d>.4&&(i=d,o=l)}if(i<.6){const l=this.findBestCharacterMatch(s);l&&(o=l)}return o}calculateLevenshteinSimilarity(t,s){const n=this.levenshteinDistance(t.toLowerCase(),s.toLowerCase()),r=Math.max(t.length,s.length);return r===0?1:1-n/r}calculateJaroWinklerSimilarity(t,s){const n=t.toLowerCase(),r=s.toLowerCase();if(n===r)return 1;const o=Math.floor(Math.max(n.length,r.length)/2)-1;if(o<0)return 0;const i=new Array(n.length).fill(!1),l=new Array(r.length).fill(!1);let a=0,d=0;for(let w=0;wl.has(u))),d=new Set([...i,...l]);return a.size/d.size}findBestCharacterMatch(t){let s=null,n=0;for(const r of this.availablePuzzleNames){const o=this.calculateCharacterFrequencyScore(t.toLowerCase(),r.toLowerCase());o>n&&o>.3&&(n=o,s=r)}return s}calculateCharacterFrequencyScore(t,s){const n=new Map,r=new Map;for(const a of t)n.set(a,(n.get(a)||0)+1);for(const a of s)r.set(a,(r.get(a)||0)+1);const o=new Set([...n.keys(),...r.keys()]);let i=0,l=0;for(const a of o){const d=n.get(a)||0,u=r.get(a)||0;i+=Math.min(d,u),l+=Math.max(d,u)}return l===0?0:i/l}findBestPuzzleMatchForced(t){if(!this.availablePuzzleNames.length||!t.trim())return null;const s=t.trim().toLowerCase();let n=this.availablePuzzleNames[0],r=0;for(const o of this.availablePuzzleNames){const i=[this.calculateLevenshteinSimilarity(s,o),this.calculateJaroWinklerSimilarity(s,o),this.calculateNGramSimilarity(s,o,2),this.calculateCharacterFrequencyScore(s,o.toLowerCase()),this.calculateLengthSimilarity(s,o.toLowerCase())],l=i[0]*.25+i[1]*.25+i[2]*.2+i[3]*.2+i[4]*.1;l>r&&(r=l,n=o)}return console.log(`Forced match for "${t}": "${n}" (score: ${r.toFixed(3)})`),n}calculateLengthSimilarity(t,s){const n=t.length,r=s.length,o=Math.max(n,r),i=Math.min(n,r);return o===0?1:i/o}async terminate(){this.worker&&(await this.worker.terminate(),this.worker=null)}static isValidOpusMagnumImage(t){return["image/jpeg","image/jpg","image/png","image/gif"].includes(t.type)}static drawDebugRegions(t){return new Promise((s,n)=>{const r=URL.createObjectURL(t),o=new Image;o.onload=()=>{const i=document.createElement("canvas"),l=i.getContext("2d");i.width=o.width,i.height=o.height,l.drawImage(o,0,0),l.strokeStyle="#00ff00",l.lineWidth=2;const a=new ir;Object.values(a.regions).forEach(d=>{l.strokeRect(d.x,d.y,d.width,d.height)}),URL.revokeObjectURL(r),s(i.toDataURL())},o.onerror=()=>{URL.revokeObjectURL(r),n(new Error("Failed to load image for debug"))},o.src=r})}}const An=new ir,qt=.8,ji=tr("uploads",()=>{const e=ue([]),t=Fe(()=>e.value.some(a=>a.ocrProcessing)),s=Fe(()=>e.value.some(a=>r(a))),n=Fe(()=>e.value.filter(a=>a.needsManualPuzzleSelection)),r=a=>a.ocrData?.confidence?a.ocrData.confidence.cost{for(;t.value;){const u=Math.floor(Math.random()*400)+100;console.log(`OCR is already processing, waiting ${u}ms...`),await new Promise(m=>setTimeout(m,u))}const d=e.value.indexOf(a);e.value[d].ocrProcessing=!0,e.value[d].ocrError=void 0,e.value[d].ocrData=void 0;try{console.log("Starting OCR processing for:",a.file.name),await An.initialize();const u=await An.extractOpusMagnumData(a.file);console.log("OCR completed:",u),await At(),e.value[d].ocrData=u,u.confidence.puzzle{const a=e.value.filter(d=>r(d));for(const d of a)o(d)},clearFiles:()=>{e.value=[]},isProcessingOCR:t,hasLowConfidence:s,CONFIDENCE_VALUE:qt}}),yu={class:"form-control w-full"},wu={key:0,class:"space-y-4"},xu={key:1,class:"space-y-4"},Su={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 gap-4"},zu={class:"aspect-square rounded-lg overflow-hidden bg-base-200"},Cu=["src","alt"],Eu={class:"absolute inset-0 bg-black/80 opacity-0 group-hover:opacity-100 transition-opacity duration-200 rounded-lg flex items-center justify-center"},Ou=["onClick"],Ru={class:"mt-2"},Pu={class:"text-xs font-medium truncate"},$u={class:"text-xs text-base-content/60"},Mu={key:0,class:"mt-1 flex items-center gap-1"},Lu={key:1,class:"mt-1"},ku={class:"text-xs text-error"},Tu={key:2,class:"mt-1 space-y-1"},Au={class:"text-xs flex items-center justify-between"},Iu={class:"flex items-center gap-2"},Du=["title"],Nu=["onClick"],Fu={class:"text-xs space-y-1 bg-base-200 p-2 rounded"},ju={key:0},Uu=["title"],Vu={key:1},qu=["title"],Bu={key:2},Hu=["title"],Wu={key:3},Ku=["title"],Gu={key:3,class:"mt-2"},Ju={class:"mt-2"},Yu=["onUpdate:modelValue","onChange"],Zu=["value"],Qu={key:4,class:"mt-1"},Xu=["onClick"],ef={class:"flex justify-center"},tf={key:0,class:"label"},sf={class:"label-text-alt text-error"},nf=cs({__name:"FileUpload",setup(e){const t=Vs(),{submissionFiles:s,processOCR:n}=ji(),r=ue(),o=ue(!1),i=ue("");Ot(()=>t.puzzles,p=>{p&&p.length>0&&An.setAvailablePuzzleNames(t.puzzleNames)},{immediate:!0});const l=p=>{const g=p.target;g.files&&d(Array.from(g.files))},a=p=>{p.preventDefault(),o.value=!1,p.dataTransfer?.files&&d(Array.from(p.dataTransfer.files))},d=async p=>{i.value="";for(const g of p)if(u(g))try{const b=await m(g),x=g.type.startsWith("image/gif")?"gif":"image",D={file:g,file_url:"",preview:b,type:x,ocrProcessing:!1,ocrError:void 0,ocrData:void 0};s.push(D),T(g)&&At(()=>{n(D)})}catch{i.value=`Failed to process ${g.name}`}},u=p=>p.type.startsWith("image/")?p.size>256*1024*1024?(i.value=`${p.name} is too large (max 256MB)`,!1):!0:(i.value=`${p.name} is not a valid image file`,!1),m=p=>new Promise((g,b)=>{const x=new FileReader;x.onload=D=>g(D.target?.result),x.onerror=b,x.readAsDataURL(p)}),S=p=>{s.splice(p,1)},w=p=>{if(p===0)return"0 Bytes";const g=1024,b=["Bytes","KB","MB","GB"],x=Math.floor(Math.log(p)/Math.log(g));return parseFloat((p/Math.pow(g,x)).toFixed(2))+" "+b[x]},T=p=>p.type.startsWith("image/")&&p.size>5e4,k=p=>p>=.8?"badge-success":p>=.6?"badge-warning":"badge-error",M=p=>{const g=s.findIndex(b=>b.file===p.file);g!==-1&&s[g].manualPuzzleSelection&&(s[g].needsManualPuzzleSelection=!1,console.log(`Manual puzzle selection: ${p.file.name} -> ${s[g].manualPuzzleSelection}`))};return(p,g)=>(A(),I("div",yu,[g[19]||(g[19]=c("label",{class:"label"},[c("span",{class:"label-text font-medium"},"Upload Solution Files"),c("span",{class:"label-text-alt text-xs"},"Images or GIFs only")],-1)),c("div",{class:ot(["border-2 border-dashed border-base-300 rounded-lg p-6 text-center hover:border-primary transition-colors duration-300",{"border-primary bg-primary/5":o.value}]),onDrop:a,onDragover:g[2]||(g[2]=Ln(b=>o.value=!0,["prevent"])),onDragleave:g[3]||(g[3]=b=>o.value=!1),onDragenter:g[4]||(g[4]=Ln(()=>{},["prevent"]))},[c("input",{ref_key:"fileInput",ref:r,type:"file",multiple:"",accept:"image/*,.gif",class:"hidden",onChange:l},null,544),re(s).length===0?(A(),I("div",wu,[g[6]||(g[6]=c("div",{class:"mx-auto w-12 h-12 text-base-content/40 flex items-center justify-center"},[c("i",{class:"mdi mdi-cloud-upload text-5xl"})],-1)),c("div",null,[g[5]||(g[5]=c("p",{class:"text-base-content/70 mb-2"},"Drop your files here or",-1)),c("button",{type:"button",onClick:g[0]||(g[0]=b=>r.value?.click()),class:"btn btn-primary btn-sm"}," Choose Files ")]),g[7]||(g[7]=c("p",{class:"text-xs text-base-content/50"}," Supported formats: JPG, PNG, GIF (max 256MB each) ",-1))])):(A(),I("div",xu,[c("div",Su,[(A(!0),I(be,null,lt(re(s),(b,x)=>(A(),I("div",{key:x,class:"relative group"},[c("div",zu,[c("img",{src:b.preview,alt:b.file.name,class:"w-full h-full object-cover"},null,8,Cu)]),c("div",Eu,[c("button",{onClick:D=>S(x),class:"btn btn-error btn-lg btn-circle"},[...g[8]||(g[8]=[c("i",{class:"mdi mdi-close"},null,-1)])],8,Ou)]),c("div",Ru,[c("p",Pu,F(b.file.name),1),c("p",$u,F(w(b.file.size))+" • "+F(b.type.toUpperCase()),1),b.ocrProcessing?(A(),I("div",Mu,[...g[9]||(g[9]=[c("span",{class:"loading loading-spinner loading-xs"},null,-1),c("span",{class:"text-xs text-info"},"Extracting puzzle data...",-1)])])):b.ocrError?(A(),I("div",Lu,[c("p",ku,F(b.ocrError),1)])):b.ocrData?(A(),I("div",Tu,[c("div",Au,[c("div",Iu,[g[10]||(g[10]=c("span",{class:"font-medium text-success"},"✓ OCR Complete",-1)),b.ocrData.confidence?(A(),I("span",{key:0,class:ot(["badge badge-xs",k(b.ocrData.confidence.overall)]),title:`Overall confidence: ${Math.round(b.ocrData.confidence.overall*100)}%`},F(Math.round(b.ocrData.confidence.overall*100))+"% ",11,Du)):ee("",!0)]),c("button",{onClick:D=>re(n)(b),class:"btn btn-xs btn-ghost",title:"Retry OCR"},[...g[11]||(g[11]=[c("i",{class:"mdi mdi-refresh"},null,-1)])],8,Nu)]),c("div",Fu,[b.ocrData.puzzle?(A(),I("div",ju,[g[12]||(g[12]=c("strong",null,"Puzzle:",-1)),we(" "+F(b.ocrData.puzzle)+" ",1),b.ocrData.confidence?.puzzle?(A(),I("span",{key:0,class:"ml-2 opacity-60",title:`Puzzle confidence: ${Math.round(b.ocrData.confidence.puzzle*100)}%`}," ("+F(Math.round(b.ocrData.confidence.puzzle*100))+"%) ",9,Uu)):ee("",!0)])):ee("",!0),b.ocrData.cost?(A(),I("div",Vu,[g[13]||(g[13]=c("strong",null,"Cost:",-1)),we(" "+F(b.ocrData.cost)+" ",1),b.ocrData.confidence?.cost?(A(),I("span",{key:0,class:"ml-2 opacity-60",title:`Cost confidence: ${Math.round(b.ocrData.confidence.cost*100)}%`}," ("+F(Math.round(b.ocrData.confidence.cost*100))+"%) ",9,qu)):ee("",!0)])):ee("",!0),b.ocrData.cycles?(A(),I("div",Bu,[g[14]||(g[14]=c("strong",null,"Cycles:",-1)),we(" "+F(b.ocrData.cycles)+" ",1),b.ocrData.confidence?.cycles?(A(),I("span",{key:0,class:"ml-2 opacity-60",title:`Cycles confidence: ${Math.round(b.ocrData.confidence.cycles*100)}%`}," ("+F(Math.round(b.ocrData.confidence.cycles*100))+"%) ",9,Hu)):ee("",!0)])):ee("",!0),b.ocrData.area?(A(),I("div",Wu,[g[15]||(g[15]=c("strong",null,"Area:",-1)),we(" "+F(b.ocrData.area)+" ",1),b.ocrData.confidence?.area?(A(),I("span",{key:0,class:"ml-2 opacity-60",title:`Area confidence: ${Math.round(b.ocrData.confidence.area*100)}%`}," ("+F(Math.round(b.ocrData.confidence.area*100))+"%) ",9,Ku)):ee("",!0)])):ee("",!0)])])):ee("",!0),b.needsManualPuzzleSelection?(A(),I("div",Gu,[g[17]||(g[17]=$a('
Low OCR Confidence
Please select the correct puzzle manually
',1)),c("div",Ju,[zt(c("select",{"onUpdate:modelValue":D=>b.manualPuzzleSelection=D,class:"select select-bordered select-sm w-full",onChange:D=>M(b)},[g[16]||(g[16]=c("option",{value:""},"Select puzzle...",-1)),(A(!0),I(be,null,lt(re(t).puzzles,D=>(A(),I("option",{key:D.id,value:D.title},F(D.title),9,Zu))),128))],40,Yu),[[$i,b.manualPuzzleSelection]])])])):!b.ocrProcessing&&!b.ocrError&&!b.ocrData?(A(),I("div",Qu,[c("button",{onClick:D=>re(n)(b),class:"btn btn-xs btn-outline"},[...g[18]||(g[18]=[c("i",{class:"mdi mdi-text-recognition"},null,-1),we(" Extract Puzzle Data ",-1)])],8,Xu)])):ee("",!0)])]))),128))]),c("div",ef,[c("button",{type:"button",onClick:g[1]||(g[1]=b=>r.value?.click()),class:"btn btn-outline btn-sm"}," Add More Files ")])]))],34),i.value?(A(),I("div",tf,[c("span",sf,F(i.value),1)])):ee("",!0)]))}}),rf={class:"card bg-base-100 shadow-xl"},of={class:"card-body"},lf={key:0,class:"alert alert-info"},af={class:"flex-1"},cf={class:"font-bold"},uf={class:"text-sm space-y-1 mt-1"},ff={class:"badge badge-ghost badge-sm ml-2"},df={key:1,class:"alert alert-warning"},hf={class:"flex-1"},pf={class:"text-sm"},gf={class:"form-control"},mf={class:"flex-1"},vf={class:"flex label"},bf={class:"label-text-alt"},_f={class:"form-control"},yf={class:"label cursor-pointer justify-start gap-3"},wf=["disabled"],xf={class:"card-actions justify-end"},Sf=["disabled"],zf={key:0,class:"loading loading-spinner loading-sm"},Cf={key:1},Ef={key:2},Of={key:3},Rf=cs({__name:"SubmissionForm",props:{puzzles:{},findPuzzleByName:{type:Function}},setup(e){const t=e,s=ji(),{submissionFiles:n,hasLowConfidence:r,submissionFilesNeedingManualSelection:o}=sr(s),{clearFiles:i,processLowConfidenceOCRFiles:l}=s,{handleSubmission:a}=nr(),d=ue(""),u=ue(!1),m=ue(!1),S=Fe(()=>d.value.length),w=Fe(()=>{const M=n.value.length>0,p=!n.value.some(g=>g.needsManualPuzzleSelection);return M&&!m.value&&p});Ot(r,M=>{M&&(u.value=!0)});const T=Fe(()=>{const M={};return n.value.forEach(p=>{const g=p.manualPuzzleSelection||p.ocrData?.puzzle;g&&(M[g]||(M[g]={puzzle:t.findPuzzleByName(g),files:[]}),M[g].files.push(p))}),M}),k=async()=>{if(w.value){m.value=!0;try{a({files:n.value,notes:d.value.trim()||void 0,manualValidationRequested:r.value||u.value}),i(),d.value="",u.value=!1}catch(M){console.error("Submission error:",M)}finally{m.value=!1}}};return(M,p)=>(A(),I("div",rf,[c("div",of,[p[9]||(p[9]=c("h2",{class:"card-title text-xl mb-6"},[c("i",{class:"mdi mdi-check-circle text-2xl text-primary"}),we(" Submit Solution ")],-1)),c("form",{onSubmit:Ln(k,["prevent"]),class:"space-y-6"},[Object.keys(T.value).length>0?(A(),I("div",lf,[p[3]||(p[3]=c("i",{class:"mdi mdi-information-outline text-xl"},null,-1)),c("div",af,[c("h4",cf," Detected Puzzles ("+F(Object.keys(T.value).length)+") ",1),c("div",uf,[(A(!0),I(be,null,lt(T.value,(g,b)=>(A(),I("div",{key:b,class:"flex justify-between"},[c("span",null,F(b),1),c("span",ff,F(g.files.length)+" file(s)",1)]))),128))])])])):ee("",!0),ke(nf),re(o).length>0?(A(),I("div",df,[p[6]||(p[6]=c("i",{class:"mdi mdi-alert-circle text-xl"},null,-1)),c("div",hf,[p[5]||(p[5]=c("div",{class:"font-bold"},"Manual Puzzle Selection Required",-1)),c("div",pf,F(re(o).length)+" file(s) have low OCR confidence for puzzle names. Please select the correct puzzle for each file before submitting. ",1),c("button",{class:"btn mt-3 w-full",onClick:p[0]||(p[0]=(...g)=>re(l)&&re(l)(...g))},[...p[4]||(p[4]=[c("span",{class:"mdi mdi-reload text-2xl"},null,-1),we(" Retry OCR on low confidence puzzle ",-1)])])])])):ee("",!0),c("div",gf,[c("div",mf,[c("label",vf,[p[7]||(p[7]=c("span",{class:"label-text font-medium"},"Notes (Optional)",-1)),c("span",bf,F(S.value)+"/500",1)]),zt(c("textarea",{"onUpdate:modelValue":p[1]||(p[1]=g=>d.value=g),class:"flex textarea textarea-bordered h-24 w-full resize-none",placeholder:"Add any notes about your solution, approach, or interesting findings...",maxlength:"500"},null,512),[[_s,d.value]])])]),c("div",_f,[c("label",yf,[zt(c("input",{type:"checkbox","onUpdate:modelValue":p[2]||(p[2]=g=>u.value=g),class:"checkbox checkbox-primary",disabled:re(r)},null,8,wf),[[lc,u.value]]),p[8]||(p[8]=c("div",{class:"flex-1"},[c("span",{class:"label-text font-medium"},"Request manual validation"),c("div",{class:"label-text-alt text-xs opacity-70 mt-1"},[we(" Check this if you want an admin to manually review your submission, even if OCR confidence is high. "),c("br"),c("em",null,"Note: This will be automatically checked if any OCR confidence is below 80%.")])],-1))])]),c("div",xf,[c("button",{type:"submit",class:"btn btn-primary",disabled:!w.value},[m.value?(A(),I("span",zf)):ee("",!0),m.value?(A(),I("span",Cf,"Submitting...")):re(o).length>0?(A(),I("span",Ef," Select Puzzles ("+F(re(o).length)+" remaining) ",1)):(A(),I("span",Of,"Submit Solution"))],8,Sf)])],32)])]))}}),Pf={class:"card bg-base-100 shadow-xl"},$f={class:"card-body"},Mf={class:"stats stats-vertical lg:stats-horizontal shadow mb-6"},Lf={class:"stat"},kf={class:"stat-value text-primary"},Tf={class:"stat"},Af={class:"stat-value text-secondary"},If={class:"stat"},Df={class:"stat-value text-warning"},Nf={class:"stat"},Ff={class:"stat-value text-success"},jf={key:0},Uf={class:"overflow-x-auto"},Vf={class:"table table-zebra"},qf={class:"font-bold"},Bf={class:"text-sm opacity-50"},Hf={class:"text-sm space-y-1"},Wf={class:"flex justify-between items-center"},Kf={class:"flex justify-between items-center"},Gf={class:"flex justify-between items-center"},Jf={class:"badge badge-warning badge-sm"},Yf=["onClick"],Zf=["onClick"],Qf={key:1,class:"text-center py-8"},Xf={key:0,class:"modal modal-open"},ed={class:"modal-box w-11/12 max-w-5xl"},td=["src"],sd={key:0,class:"space-y-4"},nd={class:"alert alert-info"},rd={class:"font-bold"},od={class:"grid grid-cols-4 gap-4"},id={class:"form-control"},ld=["value"],ad={class:"form-control"},cd=["placeholder"],ud={class:"form-control"},fd=["placeholder"],dd={class:"form-control"},hd=["placeholder"],pd={class:"modal-action"},gd=["disabled"],md={key:0,class:"loading loading-spinner loading-sm"},vd={class:"mockup-code w-full"},bd=cs({__name:"AdminPanel",setup(e,{expose:t}){const s=Vs(),n=ue({total_submissions:0,total_responses:0,needs_validation:0,validated_submissions:0,validation_rate:0}),r=ue([]),o=ue(!1),i=ue(!1),l=ue({show:!1,response:null,data:{puzzle:-1,validated_cost:0,validated_cycles:0,validated_area:0}}),a=async()=>{try{o.value=!0;try{const p=await Ye.getStats();p.data&&(n.value=p.data)}catch(p){console.warn("Stats endpoint not available:",p),n.value={total_submissions:0,total_responses:0,needs_validation:0,validated_submissions:0,validation_rate:0}}const M=await Ye.getResponsesNeedingValidation();M.data&&(r.value=M.data)}catch(M){console.error("Failed to load admin data:",M)}finally{o.value=!1}},d=async()=>{for(const M of Array.from(r.value)){if(!M.id)continue;const{data:p,error:g}=await Ye.autoValidateResponses(M.id);if(p&&!p.needs_manual_validation)r.value=r.value.filter(b=>b.id!==M.id),n.value.needs_validation-=1;else if(g)break}},u=M=>{l.value.response=M,l.value.data={puzzle:M.puzzle_id||-1,validated_cost:M.cost||0,validated_cycles:M.cycles||0,validated_area:M.area||0},l.value.show=!0},m=()=>{l.value.show=!1,l.value.response=null,l.value.data={puzzle:-1,validated_cost:0,validated_cycles:0,validated_area:0}},S=async M=>{const{data:p}=await Ye.autoValidateResponses(M);console.log(p),p&&!p.needs_manual_validation&&(r.value=r.value.filter(g=>g.id!==M),console.log(n.value),n.value.needs_validation-=1,console.log(n.value))},w=async()=>{if(l.value.response?.id)try{i.value=!0;const M=await Ye.validateResponse(l.value.response.id,l.value.data);if(M.error){alert(`Validation failed: ${M.error}`);return}r.value=r.value.filter(p=>p.id!==l.value.response?.id),n.value.needs_validation=Math.max(0,n.value.needs_validation-1),m()}catch(M){console.error("Validation error:",M),alert("Validation failed")}finally{i.value=!1}};Zn(()=>{a()});const T=M=>M>=.8?"badge-success":M>=.6?"badge-warning":"badge-error",k=M=>{const p=[M.ocr_confidence_cost,M.ocr_confidence_cycles,M.ocr_confidence_area].filter(b=>b!=null);if(p.length===0)return 0;const g=p.reduce((b,x)=>b+x,0)/p.length;return Math.round(g*100)};return t({refresh:a}),(M,p)=>(A(),I(be,null,[c("div",Pf,[c("div",$f,[p[14]||(p[14]=c("h2",{class:"card-title"},[c("i",{class:"mdi mdi-shield-account text-2xl text-warning"}),we(" Admin Panel ")],-1)),c("div",Mf,[c("div",Lf,[p[4]||(p[4]=c("div",{class:"stat-title"},"Total Submissions",-1)),c("div",kf,F(n.value.total_submissions),1)]),c("div",Tf,[p[5]||(p[5]=c("div",{class:"stat-title"},"Total Responses",-1)),c("div",Af,F(n.value.total_responses),1)]),c("div",If,[p[6]||(p[6]=c("div",{class:"stat-title"},"Need Validation",-1)),c("div",Df,F(n.value.needs_validation),1)]),c("div",Nf,[p[7]||(p[7]=c("div",{class:"stat-title"},"Validation Rate",-1)),c("div",Ff,F(Math.round(n.value.validation_rate*100))+"% ",1)])]),c("button",{class:"btn btn-sm btn-primary",onClick:d},[...p[8]||(p[8]=[c("i",{class:"mdi mdi-check-circle mr-1"},null,-1),we(" Auto validation for all responses ",-1)])]),r.value.length>0?(A(),I("div",jf,[p[12]||(p[12]=c("h3",{class:"text-lg font-bold mb-4"},"Responses Needing Validation",-1)),c("div",Uf,[c("table",Vf,[p[11]||(p[11]=c("thead",null,[c("tr",null,[c("th",null,"Puzzle"),c("th",null,"OCR Data"),c("th",null,"Confidence"),c("th",null,"Actions")])],-1)),c("tbody",null,[(A(!0),I(be,null,lt(r.value,g=>(A(),I("tr",{key:g.id},[c("td",null,[c("div",qf,F(g.puzzle_name),1),c("div",Bf,"ID: "+F(g.id),1)]),c("td",null,[c("div",Hf,[c("div",Wf,[c("span",null,"Cost: "+F(g.cost||"-"),1),g.ocr_confidence_cost?(A(),I("span",{key:0,class:ot(["badge badge-xs",T(g.ocr_confidence_cost)])},F(Math.round(g.ocr_confidence_cost*100))+"% ",3)):ee("",!0)]),c("div",Kf,[c("span",null,"Cycles: "+F(g.cycles||"-"),1),g.ocr_confidence_cycles?(A(),I("span",{key:0,class:ot(["badge badge-xs",T(g.ocr_confidence_cycles)])},F(Math.round(g.ocr_confidence_cycles*100))+"% ",3)):ee("",!0)]),c("div",Gf,[c("span",null,"Area: "+F(g.area||"-"),1),g.ocr_confidence_area?(A(),I("span",{key:0,class:ot(["badge badge-xs",T(g.ocr_confidence_area)])},F(Math.round(g.ocr_confidence_area*100))+"% ",3)):ee("",!0)])])]),c("td",null,[c("div",Jf,F(k(g))+"% ",1)]),c("td",null,[c("button",{onClick:b=>u(g),class:"btn btn-sm btn-primary mr-2"},[...p[9]||(p[9]=[c("i",{class:"mdi mdi-check-circle mr-1"},null,-1),we(" Validate ",-1)])],8,Yf),g.id?(A(),I("button",{key:0,onClick:b=>S(g.id),class:"btn btn-sm btn-warning"},[...p[10]||(p[10]=[c("i",{class:"mdi mdi-check-circle mr-1"},null,-1),we(" Auto Validation ",-1)])],8,Zf)):ee("",!0)])]))),128))])])])])):(A(),I("div",Qf,[...p[13]||(p[13]=[c("i",{class:"mdi mdi-check-all text-6xl text-success opacity-50"},null,-1),c("p",{class:"text-lg font-medium mt-2"},"All responses validated!",-1),c("p",{class:"text-sm opacity-70"}," No responses currently need manual validation. ",-1)])]))])]),l.value.show?(A(),I("div",Xf,[c("div",ed,[p[22]||(p[22]=c("h3",{class:"font-bold text-lg mb-4"},"Validate Response",-1)),(A(!0),I(be,null,lt(l.value.response?.files??[],g=>(A(),I("div",null,[c("img",{src:g.file_url},null,8,td)]))),256)),l.value.response?(A(),I("div",sd,[c("div",nd,[p[16]||(p[16]=c("i",{class:"mdi mdi-information-outline"},null,-1)),c("div",null,[c("div",rd,F(l.value.response.puzzle_name),1),p[15]||(p[15]=c("div",{class:"text-sm"},"Review and correct the OCR data below",-1))])]),c("div",od,[c("div",id,[p[18]||(p[18]=c("label",{class:"label"},[c("span",{class:"label-text"},"Puzzle")],-1)),zt(c("select",{"onUpdate:modelValue":p[0]||(p[0]=g=>l.value.data.puzzle=g),class:"select select-bordered select-sm w-full"},[p[17]||(p[17]=c("option",{value:""},"Select puzzle...",-1)),(A(!0),I(be,null,lt(re(s).puzzles,g=>(A(),I("option",{key:g.id,value:g.id},F(g.title),9,ld))),128))],512),[[$i,l.value.data.puzzle]])]),c("div",ad,[p[19]||(p[19]=c("label",{class:"label"},[c("span",{class:"label-text"},"Cost")],-1)),zt(c("input",{"onUpdate:modelValue":p[1]||(p[1]=g=>l.value.data.validated_cost=g),type:"text",class:"input input-bordered input-sm",placeholder:l.value.response.cost?.toString()||"Enter cost"},null,8,cd),[[_s,l.value.data.validated_cost]])]),c("div",ud,[p[20]||(p[20]=c("label",{class:"label"},[c("span",{class:"label-text"},"Cycles")],-1)),zt(c("input",{"onUpdate:modelValue":p[2]||(p[2]=g=>l.value.data.validated_cycles=g),type:"text",class:"input input-bordered input-sm",placeholder:l.value.response.cycles?.toString()||"Enter cycles"},null,8,fd),[[_s,l.value.data.validated_cycles]])]),c("div",dd,[p[21]||(p[21]=c("label",{class:"label"},[c("span",{class:"label-text"},"Area")],-1)),zt(c("input",{"onUpdate:modelValue":p[3]||(p[3]=g=>l.value.data.validated_area=g),type:"text",class:"input input-bordered input-sm",placeholder:l.value.response.area?.toString()||"Enter area"},null,8,hd),[[_s,l.value.data.validated_area]])])]),c("div",pd,[c("button",{onClick:m,class:"btn btn-ghost"}," Cancel "),c("button",{onClick:w,class:"btn btn-primary",disabled:i.value},[i.value?(A(),I("span",md)):ee("",!0),we(" "+F(i.value?"Validating...":"Validate"),1)],8,gd)]),c("div",vd,[c("pre",null,[c("code",null,F(l.value),1)])])])):ee("",!0)]),c("div",{class:"modal-backdrop",onClick:m})])):ee("",!0)],64))}}),_d=(e,t)=>{const s=e.__vccOpts||e;for(const[n,r]of t)s[n]=r;return s},yd={},wd={class:"mb-8"};function xd(e,t){return A(),I("div",wd,[...t[0]||(t[0]=[c("div",{class:"card bg-base-100 shadow-lg"},[c("div",{class:"card-body"},[c("h2",{class:"card-title text-2xl"},"General Results"),c("div",{class:"flex flex-wrap gap-4 mt-4"},"TODO :)")])],-1)])])}const Sd=_d(yd,[["render",xd]]);function mo(e,t){return Vn()?(Po(e,t),!0):!1}const vo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function zd(e,t=1e3,s={}){const{immediate:n=!0,immediateCallback:r=!1}=s;let o=null;const i=Wo(!1);function l(){o&&(clearInterval(o),o=null)}function a(){i.value=!1,l()}function d(){const u=gs(t);u<=0||(i.value=!0,r&&e(),l(),i.value&&(o=setInterval(e,u)))}return n&&vo&&d(),(fe(t)||typeof t=="function")&&mo(Ot(t,()=>{i.value&&vo&&d()})),mo(a),{isActive:yl(i),pause:a,resume:d}}function Cd(e,t){var s,n;const r=Wo(gs(e)),o=zd(()=>{var u;const m=r.value-1;if(r.value=m<0?0:m,t==null||(u=t.onTick)===null||u===void 0||u.call(t),r.value<=0){var S;o.pause(),t==null||(S=t.onComplete)===null||S===void 0||S.call(t)}},(s=t?.interval)!==null&&s!==void 0?s:1e3,{immediate:(n=t?.immediate)!==null&&n!==void 0?n:!1}),i=u=>{var m;r.value=(m=gs(u))!==null&&m!==void 0?m:gs(e)},l=()=>{o.pause(),i()},a=()=>{o.isActive.value||r.value>0&&o.resume()};return{remaining:r,reset:i,stop:l,start:u=>{i(u),o.resume()},pause:o.pause,resume:a,isActive:o.isActive}}const Ed={class:"min-h-screen bg-base-200"},Od={class:"navbar bg-base-100 shadow-lg"},Rd={class:"container mx-auto"},Pd={class:"flex items-start justify-between"},$d={key:0,class:"flex items-center gap-2"},Md={class:"text-sm"},Ld={class:"font-medium"},kd={key:0,class:"badge badge-warning badge-xs ml-1"},Td={key:1,class:"text-sm text-base-content/70"},Ad={class:"container mx-auto px-4 py-8"},Id={key:0,class:"flex justify-center"},Dd={class:"text-center"},Nd={class:"mb-6 text-base-content/70"},Fd={key:1,class:"flex justify-center items-center min-h-[400px]"},jd={key:2,class:"alert alert-error max-w-2xl mx-auto"},Ud={class:"text-sm"},Vd={key:3,class:"space-y-8"},qd={class:"mb-8"},Bd={class:"card bg-base-100 shadow-lg"},Hd={class:"card-body"},Wd={class:"card-title text-2xl"},Kd={class:"text-base-content/70"},Gd={class:"flex flex-wrap gap-4 mt-4"},Jd={key:0},Yd={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"},Zd={key:1,class:"text-center py-12"},Qd={key:0,class:"modal modal-open"},Xd={class:"modal-box max-w-6xl"},eh={class:"flex justify-between items-center mb-4"},th=cs({__name:"App",props:{collectionTitle:{},collectionUrl:{},collectionDescription:{}},setup(e){const t=e,s=Vs(),n=nr(),{submissions:r,isSubmissionModalOpen:o}=sr(n),{openSubmissionModal:i,loadSubmissions:l,closeSubmissionModal:a}=n,d=ue(null),u=ue(!0),m=ue(""),S=Fe(()=>d.value?.is_superuser||!1),w=Fe(()=>{const b={};return r.value.forEach(x=>{x.responses.forEach(D=>{b[D.puzzle_id]||(b[D.puzzle_id]=[]),b[D.puzzle_id].push(D)})}),b});async function T(){try{u.value=!0,m.value="",console.log("Starting data load..."),console.log("Loading user info...");const b=await Ye.getUserInfo();b.data?(d.value=b.data,console.log("User info loaded:",b.data)):b.error&&console.warn("User info error:",b.error),console.log("Loading puzzles..."),await s.loadPuzzles(),console.log("Puzzles loaded:",s.puzzles.length),console.log("Loading submissions..."),await l(),console.log("Submissions loaded:",r.value.length),console.log("Data load complete!")}catch(b){m.value=Ii.getErrorMessage(b),console.error("Failed to load data:",b)}finally{u.value=!1,console.log("Loading state set to false")}d.value?.is_superuser&&M()}const{remaining:k,start:M}=Cd(60,{onComplete(){T()}});Zn(async()=>{await T()});const p=b=>s.findPuzzleByName(b),g=()=>{window.location.reload()};return(b,x)=>(A(),I("div",Ed,[c("div",Od,[c("div",Rd,[x[5]||(x[5]=c("div",{class:"flex-1"},[c("h1",{class:"text-xl font-bold"},"Opus Magnum Puzzle Submitter")],-1)),c("div",Pd,[d.value?.is_authenticated?(A(),I("div",$d,[c("div",Md,[c("span",Ld,F(d.value.username),1),d.value.is_superuser?(A(),I("span",kd,"Admin")):ee("",!0)])])):(A(),I("div",Td,"Not logged in")),x[3]||(x[3]=c("div",{class:"flex flex-col items-end gap-2"},[c("a",{href:"/api/docs",class:"btn btn-xs"},"API docs")],-1)),x[4]||(x[4]=c("div",{class:"flex flex-col items-end gap-2"},[c("a",{href:"/admin",class:"btn btn-xs btn-warning"},"Admin panel")],-1))])])]),c("div",Ad,[d.value?.is_superuser?(A(),I("div",Id,[c("div",Dd,[c("p",Nd,[x[6]||(x[6]=c("span",{class:"loading loading-spinner loading-lg"},null,-1)),we(" Auto reload page in "+F(re(k))+" seconds ... ",1)])])])):ee("",!0),u.value?(A(),I("div",Fd,[...x[7]||(x[7]=[c("div",{class:"text-center"},[c("span",{class:"loading loading-spinner loading-lg"}),c("p",{class:"mt-4 text-base-content/70"},"Loading puzzles...")],-1)])])):m.value?(A(),I("div",jd,[x[10]||(x[10]=c("i",{class:"mdi mdi-alert-circle text-xl"},null,-1)),c("div",null,[x[8]||(x[8]=c("h3",{class:"font-bold"},"Error Loading Data",-1)),c("div",Ud,F(m.value),1)]),c("button",{onClick:g,class:"btn btn-sm btn-outline"},[...x[9]||(x[9]=[c("i",{class:"mdi mdi-refresh mr-1"},null,-1),we(" Retry ",-1)])])])):(A(),I("div",Vd,[c("div",qd,[c("div",Bd,[c("div",Hd,[c("h2",Wd,F(t.collectionTitle),1),c("p",Kd,F(t.collectionDescription),1),c("div",Gd,[c("button",{onClick:x[0]||(x[0]=(...D)=>re(i)&&re(i)(...D)),class:"btn btn-primary"},[...x[11]||(x[11]=[c("i",{class:"mdi mdi-plus mr-2"},null,-1),we(" Submit Solution ",-1)])])])])])]),ke(Sd),S.value?(A(),I("div",Jd,[ke(bd)])):ee("",!0),c("div",Yd,[(A(!0),I(be,null,lt(re(s).puzzles,D=>(A(),Si(Zc,{key:D.id,puzzle:D,responses:w.value[D.id]||[]},null,8,["puzzle","responses"]))),128))]),re(s).puzzles.length===0?(A(),I("div",Zd,[...x[12]||(x[12]=[c("div",{class:"text-6xl mb-4"},"🧩",-1),c("h3",{class:"text-xl font-bold mb-2"},"No Puzzles Available",-1),c("p",{class:"text-base-content/70"}," Check back later for new puzzle collections! ",-1)])])):ee("",!0)]))]),re(o)?(A(),I("div",Qd,[c("div",Xd,[c("div",eh,[x[14]||(x[14]=c("h3",{class:"font-bold text-lg"},"Submit Solution",-1)),c("button",{onClick:x[1]||(x[1]=(...D)=>re(a)&&re(a)(...D)),class:"btn btn-sm btn-circle btn-ghost"},[...x[13]||(x[13]=[c("i",{class:"mdi mdi-close"},null,-1)])])]),ke(Rf,{puzzles:re(s).puzzles,"find-puzzle-by-name":p},null,8,["puzzles"])]),c("div",{class:"modal-backdrop",onClick:x[2]||(x[2]=(...D)=>re(a)&&re(a)(...D))})])):ee("",!0)]))}}),sh=gc(),Ui="#app",nh=document.querySelector(Ui),Vi=dc(th,{...nh?.dataset});Vi.use(sh);Vi.mount(Ui);