Mirror the PocketBase settings card with a superadmin-only Web App section: it edits the Web App base URL (the address /api/status already probed) and the CORS allowed origins, applying both at runtime and persisting them to .env so they survive a restart. The CORS middleware previously built its allow-list once, when Handler() was constructed, so an edited origin list would not have taken effect until a restart — which would have made the new field quietly lie. Move the lookup into a per-request originAllowed helper reading under the existing lock. Verified behaviour is unchanged: an allowed origin still gets the headers plus Vary: Origin, an unknown origin gets none, and preflight still returns 204. PUT rejects an empty origin list rather than silently keeping the old one, since an empty list would lock out every browser client. The authenticated round trip (loading and saving real settings) is not verified here — it needs a superadmin login. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
18 lines
101 KiB
JavaScript
18 lines
101 KiB
JavaScript
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function n(i){if(i.ep)return;i.ep=!0;const l=s(i);fetch(i.href,l)}})();/**
|
|
* @vue/shared v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/function ln(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const J={},xt=[],He=()=>{},ui=()=>!1,xs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ws=e=>e.startsWith("onUpdate:"),pe=Object.assign,on=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},xl=Object.prototype.hasOwnProperty,W=(e,t)=>xl.call(e,t),U=Array.isArray,wt=e=>Zt(e)==="[object Map]",At=e=>Zt(e)==="[object Set]",Pn=e=>Zt(e)==="[object Date]",V=e=>typeof e=="function",te=e=>typeof e=="string",Be=e=>typeof e=="symbol",z=e=>e!==null&&typeof e=="object",fi=e=>(z(e)||V(e))&&V(e.then)&&V(e.catch),di=Object.prototype.toString,Zt=e=>di.call(e),wl=e=>Zt(e).slice(8,-1),pi=e=>Zt(e)==="[object Object]",rn=e=>te(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Nt=ln(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ss=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Sl=/-\w/g,Ee=Ss(e=>e.replace(Sl,t=>t.slice(1).toUpperCase())),Tl=/\B([A-Z])/g,rt=Ss(e=>e.replace(Tl,"-$1").toLowerCase()),hi=Ss(e=>e.charAt(0).toUpperCase()+e.slice(1)),Is=Ss(e=>e?`on${hi(e)}`:""),Ve=(e,t)=>!Object.is(e,t),us=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},gi=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Ts=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let An;const Cs=()=>An||(An=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function an(e){if(U(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=te(n)?$l(n):an(n);if(i)for(const l in i)t[l]=i[l]}return t}else if(te(e)||z(e))return e}const Cl=/;(?![^(]*\))/g,El=/:([^]+)/,kl=/\/\*[^]*?\*\//g;function $l(e){const t={};return e.replace(kl,"").split(Cl).forEach(s=>{if(s){const n=s.split(El);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function $e(e){let t="";if(te(e))t=e;else if(U(e))for(let s=0;s<e.length;s++){const n=$e(e[s]);n&&(t+=n+" ")}else if(z(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Pl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Al=ln(Pl);function mi(e){return!!e||e===""}function Ol(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=it(e[n],t[n]);return s}function it(e,t){if(e===t)return!0;let s=Pn(e),n=Pn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Be(e),n=Be(t),s||n)return e===t;if(s=U(e),n=U(t),s||n)return s&&n?Ol(e,t):!1;if(s=z(e),n=z(t),s||n){if(!s||!n)return!1;const i=Object.keys(e).length,l=Object.keys(t).length;if(i!==l)return!1;for(const o in e){const r=e.hasOwnProperty(o),a=t.hasOwnProperty(o);if(r&&!a||!r&&a||!it(e[o],t[o]))return!1}}return String(e)===String(t)}function cn(e,t){return e.findIndex(s=>it(s,t))}const bi=e=>!!(e&&e.__v_isRef===!0),I=e=>te(e)?e:e==null?"":U(e)||z(e)&&(e.toString===di||!V(e.toString))?bi(e)?I(e.value):JSON.stringify(e,vi,2):String(e),vi=(e,t)=>bi(t)?vi(e,t.value):wt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],l)=>(s[Ds(n,l)+" =>"]=i,s),{})}:At(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ds(s))}:Be(t)?Ds(t):z(t)&&!U(t)&&!pi(t)?String(t):t,Ds=(e,t="")=>{var s;return Be(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
* @vue/reactivity v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/let re;class Rl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&re&&(re.active?(this.parent=re,this.index=(re.scopes||(re.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!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;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=re;try{return re=this,t()}finally{re=s}}}on(){++this._on===1&&(this.prevScope=re,re=this)}off(){if(this._on>0&&--this._on===0){if(re===this)re=this.prevScope;else{let t=re;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function Ml(){return re}let X;const Fs=new WeakSet;class _i{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,re&&(re.active?re.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Fs.has(this)&&(Fs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||xi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,On(this),wi(this);const t=X,s=ke;X=this,ke=!0;try{return this.fn()}finally{Si(this),X=t,ke=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)dn(t);this.deps=this.depsTail=void 0,On(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Fs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Gs(this)&&this.run()}get dirty(){return Gs(this)}}let yi=0,jt,Vt;function xi(e,t=!1){if(e.flags|=8,t){e.next=Vt,Vt=e;return}e.next=jt,jt=e}function un(){yi++}function fn(){if(--yi>0)return;if(Vt){let t=Vt;for(Vt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;jt;){let t=jt;for(jt=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 wi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Si(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),dn(n),Il(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function Gs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ti(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ti(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Gt)||(e.globalVersion=Gt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Gs(e))))return;e.flags|=2;const t=e.dep,s=X,n=ke;X=e,ke=!0;try{wi(e);const i=e.fn(e._value);(t.version===0||Ve(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{X=s,ke=n,Si(e),e.flags&=-3}}function dn(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let l=s.computed.deps;l;l=l.nextDep)dn(l,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Il(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let ke=!0;const Ci=[];function Ke(){Ci.push(ke),ke=!1}function We(){const e=Ci.pop();ke=e===void 0?!0:e}function On(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=X;X=void 0;try{t()}finally{X=s}}}let Gt=0;class Dl{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 pn{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(!X||!ke||X===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==X)s=this.activeLink=new Dl(X,this),X.deps?(s.prevDep=X.depsTail,X.depsTail.nextDep=s,X.depsTail=s):X.deps=X.depsTail=s,Ei(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=X.depsTail,s.nextDep=void 0,X.depsTail.nextDep=s,X.depsTail=s,X.deps===s&&(X.deps=n)}return s}trigger(t){this.version++,Gt++,this.notify(t)}notify(t){un();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{fn()}}}function Ei(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)Ei(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const zs=new WeakMap,mt=Symbol(""),qs=Symbol(""),zt=Symbol("");function ce(e,t,s){if(ke&&X){let n=zs.get(e);n||zs.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new pn),i.map=n,i.key=s),i.track()}}function Je(e,t,s,n,i,l){const o=zs.get(e);if(!o){Gt++;return}const r=a=>{a&&a.trigger()};if(un(),t==="clear")o.forEach(r);else{const a=U(e),p=a&&rn(s);if(a&&s==="length"){const u=Number(n);o.forEach((h,b)=>{(b==="length"||b===zt||!Be(b)&&b>=u)&&r(h)})}else switch((s!==void 0||o.has(void 0))&&r(o.get(s)),p&&r(o.get(zt)),t){case"add":a?p&&r(o.get("length")):(r(o.get(mt)),wt(e)&&r(o.get(qs)));break;case"delete":a||(r(o.get(mt)),wt(e)&&r(o.get(qs)));break;case"set":wt(e)&&r(o.get(mt));break}}fn()}function _t(e){const t=K(e);return t===e?t:(ce(t,"iterate",zt),we(e)?t:t.map(Pe))}function Es(e){return ce(e=K(e),"iterate",zt),e}function Ne(e,t){return Ze(e)?Et(bt(e)?Pe(t):t):Pe(t)}const Fl={__proto__:null,[Symbol.iterator](){return Ls(this,Symbol.iterator,e=>Ne(this,e))},concat(...e){return _t(this).concat(...e.map(t=>U(t)?_t(t):t))},entries(){return Ls(this,"entries",e=>(e[1]=Ne(this,e[1]),e))},every(e,t){return Ge(this,"every",e,t,void 0,arguments)},filter(e,t){return Ge(this,"filter",e,t,s=>s.map(n=>Ne(this,n)),arguments)},find(e,t){return Ge(this,"find",e,t,s=>Ne(this,s),arguments)},findIndex(e,t){return Ge(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ge(this,"findLast",e,t,s=>Ne(this,s),arguments)},findLastIndex(e,t){return Ge(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ge(this,"forEach",e,t,void 0,arguments)},includes(...e){return Us(this,"includes",e)},indexOf(...e){return Us(this,"indexOf",e)},join(e){return _t(this).join(e)},lastIndexOf(...e){return Us(this,"lastIndexOf",e)},map(e,t){return Ge(this,"map",e,t,void 0,arguments)},pop(){return Dt(this,"pop")},push(...e){return Dt(this,"push",e)},reduce(e,...t){return Rn(this,"reduce",e,t)},reduceRight(e,...t){return Rn(this,"reduceRight",e,t)},shift(){return Dt(this,"shift")},some(e,t){return Ge(this,"some",e,t,void 0,arguments)},splice(...e){return Dt(this,"splice",e)},toReversed(){return _t(this).toReversed()},toSorted(e){return _t(this).toSorted(e)},toSpliced(...e){return _t(this).toSpliced(...e)},unshift(...e){return Dt(this,"unshift",e)},values(){return Ls(this,"values",e=>Ne(this,e))}};function Ls(e,t,s){const n=Es(e),i=n[t]();return n!==e&&!we(e)&&(i._next=i.next,i.next=()=>{const l=i._next();return l.done||(l.value=s(l.value)),l}),i}const Ll=Array.prototype;function Ge(e,t,s,n,i,l){const o=Es(e),r=o!==e&&!we(e),a=o[t];if(a!==Ll[t]){const h=a.apply(e,l);return r?Pe(h):h}let p=s;o!==e&&(r?p=function(h,b){return s.call(this,Ne(e,h),b,e)}:s.length>2&&(p=function(h,b){return s.call(this,h,b,e)}));const u=a.call(o,p,n);return r&&i?i(u):u}function Rn(e,t,s,n){const i=Es(e),l=i!==e&&!we(e);let o=s,r=!1;i!==e&&(l?(r=n.length===0,o=function(p,u,h){return r&&(r=!1,p=Ne(e,p)),s.call(this,p,Ne(e,u),h,e)}):s.length>3&&(o=function(p,u,h){return s.call(this,p,u,h,e)}));const a=i[t](o,...n);return r?Ne(e,a):a}function Us(e,t,s){const n=K(e);ce(n,"iterate",zt);const i=n[t](...s);return(i===-1||i===!1)&&mn(s[0])?(s[0]=K(s[0]),n[t](...s)):i}function Dt(e,t,s=[]){Ke(),un();const n=K(e)[t].apply(e,s);return fn(),We(),n}const Ul=ln("__proto__,__v_isRef,__isVue"),ki=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Be));function Nl(e){Be(e)||(e=String(e));const t=K(this);return ce(t,"has",e),t.hasOwnProperty(e)}class $i{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,l=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return l;if(s==="__v_raw")return n===(i?l?Jl:Ri:l?Oi:Ai).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=U(t);if(!i){let a;if(o&&(a=Fl[s]))return a;if(s==="hasOwnProperty")return Nl}const r=Reflect.get(t,s,fe(t)?t:n);if((Be(s)?ki.has(s):Ul(s))||(i||ce(t,"get",s),l))return r;if(fe(r)){const a=o&&rn(s)?r:r.value;return i&&z(a)?Ys(a):a}return z(r)?i?Ys(r):qt(r):r}}class Pi extends $i{constructor(t=!1){super(!1,t)}set(t,s,n,i){let l=t[s];const o=U(t)&&rn(s);if(!this._isShallow){const p=Ze(l);if(!we(n)&&!Ze(n)&&(l=K(l),n=K(n)),!o&&fe(l)&&!fe(n))return p||(l.value=n),!0}const r=o?Number(s)<t.length:W(t,s),a=Reflect.set(t,s,n,fe(t)?t:i);return t===K(i)&&a&&(r?Ve(n,l)&&Je(t,"set",s,n):Je(t,"add",s,n)),a}deleteProperty(t,s){const n=W(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&Je(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Be(s)||!ki.has(s))&&ce(t,"has",s),n}ownKeys(t){return ce(t,"iterate",U(t)?"length":mt),Reflect.ownKeys(t)}}class jl extends $i{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Vl=new Pi,Hl=new jl,Bl=new Pi(!0);const Js=e=>e,os=e=>Reflect.getPrototypeOf(e);function Kl(e,t,s){return function(...n){const i=this.__v_raw,l=K(i),o=wt(l),r=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,p=i[e](...n),u=s?Js:t?Et:Pe;return!t&&ce(l,"iterate",a?qs:mt),pe(Object.create(p),{next(){const{value:h,done:b}=p.next();return b?{value:h,done:b}:{value:r?[u(h[0]),u(h[1])]:u(h),done:b}}})}}function rs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Wl(e,t){const s={get(i){const l=this.__v_raw,o=K(l),r=K(i);e||(Ve(i,r)&&ce(o,"get",i),ce(o,"get",r));const{has:a}=os(o),p=t?Js:e?Et:Pe;if(a.call(o,i))return p(l.get(i));if(a.call(o,r))return p(l.get(r));l!==o&&l.get(i)},get size(){const i=this.__v_raw;return!e&&ce(K(i),"iterate",mt),i.size},has(i){const l=this.__v_raw,o=K(l),r=K(i);return e||(Ve(i,r)&&ce(o,"has",i),ce(o,"has",r)),i===r?l.has(i):l.has(i)||l.has(r)},forEach(i,l){const o=this,r=o.__v_raw,a=K(r),p=t?Js:e?Et:Pe;return!e&&ce(a,"iterate",mt),r.forEach((u,h)=>i.call(l,p(u),p(h),o))}};return pe(s,e?{add:rs("add"),set:rs("set"),delete:rs("delete"),clear:rs("clear")}:{add(i){const l=K(this),o=os(l),r=K(i),a=!t&&!we(i)&&!Ze(i)?r:i;return o.has.call(l,a)||Ve(i,a)&&o.has.call(l,i)||Ve(r,a)&&o.has.call(l,r)||(l.add(a),Je(l,"add",a,a)),this},set(i,l){!t&&!we(l)&&!Ze(l)&&(l=K(l));const o=K(this),{has:r,get:a}=os(o);let p=r.call(o,i);p||(i=K(i),p=r.call(o,i));const u=a.call(o,i);return o.set(i,l),p?Ve(l,u)&&Je(o,"set",i,l):Je(o,"add",i,l),this},delete(i){const l=K(this),{has:o,get:r}=os(l);let a=o.call(l,i);a||(i=K(i),a=o.call(l,i)),r&&r.call(l,i);const p=l.delete(i);return a&&Je(l,"delete",i,void 0),p},clear(){const i=K(this),l=i.size!==0,o=i.clear();return l&&Je(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Kl(i,e,t)}),s}function hn(e,t){const s=Wl(e,t);return(n,i,l)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(W(s,i)&&i in n?s:n,i,l)}const Gl={get:hn(!1,!1)},zl={get:hn(!1,!0)},ql={get:hn(!0,!1)};const Ai=new WeakMap,Oi=new WeakMap,Ri=new WeakMap,Jl=new WeakMap;function Yl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qt(e){return Ze(e)?e:gn(e,!1,Vl,Gl,Ai)}function Xl(e){return gn(e,!1,Bl,zl,Oi)}function Ys(e){return gn(e,!0,Hl,ql,Ri)}function gn(e,t,s,n,i){if(!z(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=i.get(e);if(l)return l;const o=Yl(wl(e));if(o===0)return e;const r=new Proxy(e,o===2?n:s);return i.set(e,r),r}function bt(e){return Ze(e)?bt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ze(e){return!!(e&&e.__v_isReadonly)}function we(e){return!!(e&&e.__v_isShallow)}function mn(e){return e?!!e.__v_raw:!1}function K(e){const t=e&&e.__v_raw;return t?K(t):e}function Zl(e){return!W(e,"__v_skip")&&Object.isExtensible(e)&&gi(e,"__v_skip",!0),e}const Pe=e=>z(e)?qt(e):e,Et=e=>z(e)?Ys(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function H(e){return Ql(e,!1)}function Ql(e,t){return fe(e)?e:new eo(e,t)}class eo{constructor(t,s){this.dep=new pn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:K(t),this._value=s?t:Pe(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||we(t)||Ze(t);t=n?t:K(t),Ve(t,s)&&(this._rawValue=t,this._value=n?t:Pe(t),this.dep.trigger())}}function ne(e){return fe(e)?e.value:e}const to={get:(e,t,s)=>t==="__v_raw"?e:ne(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return fe(i)&&!fe(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Mi(e){return bt(e)?e:new Proxy(e,to)}class so{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new pn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Gt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&X!==this)return xi(this,!0),!0}get value(){const t=this.dep.track();return Ti(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function no(e,t,s=!1){let n,i;return V(e)?n=e:(n=e.get,i=e.set),new so(n,i,s)}const as={},ps=new WeakMap;let ht;function io(e,t=!1,s=ht){if(s){let n=ps.get(s);n||ps.set(s,n=[]),n.push(e)}}function lo(e,t,s=J){const{immediate:n,deep:i,once:l,scheduler:o,augmentJob:r,call:a}=s,p=M=>i?M:we(M)||i===!1||i===0?Ye(M,1):Ye(M);let u,h,b,x,D=!1,S=!1;if(fe(e)?(h=()=>e.value,D=we(e)):bt(e)?(h=()=>p(e),D=!0):U(e)?(S=!0,D=e.some(M=>bt(M)||we(M)),h=()=>e.map(M=>{if(fe(M))return M.value;if(bt(M))return p(M);if(V(M))return a?a(M,2):M()})):V(e)?t?h=a?()=>a(e,2):e:h=()=>{if(b){Ke();try{b()}finally{We()}}const M=ht;ht=u;try{return a?a(e,3,[x]):e(x)}finally{ht=M}}:h=He,t&&i){const M=h,ie=i===!0?1/0:i;h=()=>Ye(M(),ie)}const C=Ml(),T=()=>{u.stop(),C&&C.active&&on(C.effects,u)};if(l&&t){const M=t;t=(...ie)=>{const Oe=M(...ie);return T(),Oe}}let k=S?new Array(e.length).fill(as):as;const R=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const ie=u.run();if(M||i||D||(S?ie.some((Oe,Re)=>Ve(Oe,k[Re])):Ve(ie,k))){b&&b();const Oe=ht;ht=u;try{const Re=[ie,k===as?void 0:S&&k[0]===as?[]:k,x];k=ie,a?a(t,3,Re):t(...Re)}finally{ht=Oe}}}else u.run()};return r&&r(R),u=new _i(h),u.scheduler=o?()=>o(R,!1):R,x=M=>io(M,!1,u),b=u.onStop=()=>{const M=ps.get(u);if(M){if(a)a(M,4);else for(const ie of M)ie();ps.delete(u)}},t?n?R(!0):k=u.run():o?o(R.bind(null,!0),!0):u.run(),T.pause=u.pause.bind(u),T.resume=u.resume.bind(u),T.stop=T,T}function Ye(e,t=1/0,s){if(t<=0||!z(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,fe(e))Ye(e.value,t,s);else if(U(e))for(let n=0;n<e.length;n++)Ye(e[n],t,s);else if(At(e)||wt(e))e.forEach(n=>{Ye(n,t,s)});else if(pi(e)){for(const n in e)Ye(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ye(e[n],t,s)}return e}/**
|
|
* @vue/runtime-core v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/function Qt(e,t,s,n){try{return n?e(...n):e()}catch(i){ks(i,t,s)}}function Ae(e,t,s,n){if(V(e)){const i=Qt(e,t,s,n);return i&&fi(i)&&i.catch(l=>{ks(l,t,s)}),i}if(U(e)){const i=[];for(let l=0;l<e.length;l++)i.push(Ae(e[l],t,s,n));return i}}function ks(e,t,s,n=!0){const i=t?t.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||J;if(t){let r=t.parent;const a=t.proxy,p=`https://vuejs.org/error-reference/#runtime-${s}`;for(;r;){const u=r.ec;if(u){for(let h=0;h<u.length;h++)if(u[h](e,a,p)===!1)return}r=r.parent}if(l){Ke(),Qt(l,null,10,[e,a,p]),We();return}}oo(e,s,i,n,o)}function oo(e,t,s,n=!0,i=!1){if(i)throw e;console.error(e)}const me=[];let Ue=-1;const St=[];let nt=null,yt=0;const Ii=Promise.resolve();let hs=null;function Di(e){const t=hs||Ii;return e?t.then(this?e.bind(this):e):t}function ro(e){let t=Ue+1,s=me.length;for(;t<s;){const n=t+s>>>1,i=me[n],l=Jt(i);l<e||l===e&&i.flags&2?t=n+1:s=n}return t}function bn(e){if(!(e.flags&1)){const t=Jt(e),s=me[me.length-1];!s||!(e.flags&2)&&t>=Jt(s)?me.push(e):me.splice(ro(t),0,e),e.flags|=1,Fi()}}function Fi(){hs||(hs=Ii.then(Ui))}function ao(e){U(e)?St.push(...e):nt&&e.id===-1?nt.splice(yt+1,0,e):e.flags&1||(St.push(e),e.flags|=1),Fi()}function Mn(e,t,s=Ue+1){for(;s<me.length;s++){const n=me[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;me.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Li(e){if(St.length){const t=[...new Set(St)].sort((s,n)=>Jt(s)-Jt(n));if(St.length=0,nt){nt.push(...t);return}for(nt=t,yt=0;yt<nt.length;yt++){const s=nt[yt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}nt=null,yt=0}}const Jt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Ui(e){try{for(Ue=0;Ue<me.length;Ue++){const t=me[Ue];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Qt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ue<me.length;Ue++){const t=me[Ue];t&&(t.flags&=-2)}Ue=-1,me.length=0,Li(),hs=null,(me.length||St.length)&&Ui()}}let xe=null,Ni=null;function gs(e){const t=xe;return xe=e,Ni=e&&e.type.__scopeId||null,t}function co(e,t=xe,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&Kn(-1);const l=gs(t);let o;try{o=e(...i)}finally{gs(l),n._d&&Kn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function le(e,t){if(xe===null)return e;const s=Os(xe),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[l,o,r,a=J]=t[i];l&&(V(l)&&(l={mounted:l,updated:l}),l.deep&&Ye(o),n.push({dir:l,instance:s,value:o,oldValue:void 0,arg:r,modifiers:a}))}return e}function dt(e,t,s,n){const i=e.dirs,l=t&&t.dirs;for(let o=0;o<i.length;o++){const r=i[o];l&&(r.oldValue=l[o].value);let a=r.dir[n];a&&(Ke(),Ae(a,s,8,[e.el,r,e,t]),We())}}function uo(e,t){if(be){let s=be.provides;const n=be.parent&&be.parent.provides;n===s&&(s=be.provides=Object.create(n)),s[e]=t}}function fs(e,t,s=!1){const n=ar();if(n||Tt){let i=Tt?Tt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return s&&V(t)?t.call(n&&n.proxy):t}}const fo=Symbol.for("v-scx"),po=()=>fs(fo);function Ns(e,t,s){return ji(e,t,s)}function ji(e,t,s=J){const{immediate:n,deep:i,flush:l,once:o}=s,r=pe({},s),a=t&&n||!t&&l!=="post";let p;if(Xt){if(l==="sync"){const x=po();p=x.__watcherHandles||(x.__watcherHandles=[])}else if(!a){const x=()=>{};return x.stop=He,x.resume=He,x.pause=He,x}}const u=be;r.call=(x,D,S)=>Ae(x,u,D,S);let h=!1;l==="post"?r.scheduler=x=>{ve(x,u&&u.suspense)}:l!=="sync"&&(h=!0,r.scheduler=(x,D)=>{D?x():bn(x)}),r.augmentJob=x=>{t&&(x.flags|=4),h&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const b=lo(e,t,r);return Xt&&(p?p.push(b):a&&b()),b}function ho(e,t,s){const n=this.proxy,i=te(e)?e.includes(".")?Vi(n,e):()=>n[e]:e.bind(n,n);let l;V(t)?l=t:(l=t.handler,s=t);const o=es(this),r=ji(i,l.bind(n),s);return o(),r}function Vi(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}const go=Symbol("_vte"),mo=e=>e.__isTeleport,js=Symbol("_leaveCb");function vn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,vn(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 Hi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function In(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ms=new WeakMap;function Ht(e,t,s,n,i=!1){if(U(e)){e.forEach((S,C)=>Ht(S,t&&(U(t)?t[C]:t),s,n,i));return}if(Bt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ht(e,t,s,n.component.subTree);return}const l=n.shapeFlag&4?Os(n.component):n.el,o=i?null:l,{i:r,r:a}=e,p=t&&t.r,u=r.refs===J?r.refs={}:r.refs,h=r.setupState,b=K(h),x=h===J?ui:S=>In(u,S)?!1:W(b,S),D=(S,C)=>!(C&&In(u,C));if(p!=null&&p!==a){if(Dn(t),te(p))u[p]=null,x(p)&&(h[p]=null);else if(fe(p)){const S=t;D(p,S.k)&&(p.value=null),S.k&&(u[S.k]=null)}}if(V(a)){Ke();try{Qt(a,r,12,[o,u])}finally{We()}}else{const S=te(a),C=fe(a);if(S||C){const T=()=>{if(e.f){const k=S?x(a)?h[a]:u[a]:D()||!e.k?a.value:u[e.k];if(i)U(k)&&on(k,l);else if(U(k))k.includes(l)||k.push(l);else if(S)u[a]=[l],x(a)&&(h[a]=u[a]);else{const R=[l];D(a,e.k)&&(a.value=R),e.k&&(u[e.k]=R)}}else S?(u[a]=o,x(a)&&(h[a]=o)):C&&(D(a,e.k)&&(a.value=o),e.k&&(u[e.k]=o))};if(o){const k=()=>{T(),ms.delete(e)};k.id=-1,ms.set(e,k),ve(k,s)}else Dn(e),T()}}}function Dn(e){const t=ms.get(e);t&&(t.flags|=8,ms.delete(e))}Cs().requestIdleCallback;Cs().cancelIdleCallback;const Bt=e=>!!e.type.__asyncLoader,Bi=e=>e.type.__isKeepAlive;function bo(e,t){Ki(e,"a",t)}function vo(e,t){Ki(e,"da",t)}function Ki(e,t,s=be){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if($s(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Bi(i.parent.vnode)&&_o(n,t,s,i),i=i.parent}}function _o(e,t,s,n){const i=$s(t,e,n,!0);_n(()=>{on(n[t],i)},s)}function $s(e,t,s=be,n=!1){if(s){const i=s[e]||(s[e]=[]),l=t.__weh||(t.__weh=(...o)=>{Ke();const r=es(s),a=Ae(t,s,e,o);return r(),We(),a});return n?i.unshift(l):i.push(l),l}}const Qe=e=>(t,s=be)=>{(!Xt||e==="sp")&&$s(e,(...n)=>t(...n),s)},yo=Qe("bm"),at=Qe("m"),xo=Qe("bu"),wo=Qe("u"),So=Qe("bum"),_n=Qe("um"),To=Qe("sp"),Co=Qe("rtg"),Eo=Qe("rtc");function ko(e,t=be){$s("ec",e,t)}const $o=Symbol.for("v-ndc");function Ce(e,t,s,n){let i;const l=s,o=U(e);if(o||te(e)){const r=o&&bt(e);let a=!1,p=!1;r&&(a=!we(e),p=Ze(e),e=Es(e)),i=new Array(e.length);for(let u=0,h=e.length;u<h;u++)i[u]=t(a?p?Et(Pe(e[u])):Pe(e[u]):e[u],u,void 0,l)}else if(typeof e=="number"){i=new Array(e);for(let r=0;r<e;r++)i[r]=t(r+1,r,void 0,l)}else if(z(e))if(e[Symbol.iterator])i=Array.from(e,(r,a)=>t(r,a,void 0,l));else{const r=Object.keys(e);i=new Array(r.length);for(let a=0,p=r.length;a<p;a++){const u=r[a];i[a]=t(e[u],u,a,l)}}else i=[];return i}const Xs=e=>e?fl(e)?Os(e):Xs(e.parent):null,Kt=pe(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=>Xs(e.parent),$root:e=>Xs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gi(e),$forceUpdate:e=>e.f||(e.f=()=>{bn(e.update)}),$nextTick:e=>e.n||(e.n=Di.bind(e.proxy)),$watch:e=>ho.bind(e)}),Vs=(e,t)=>e!==J&&!e.__isScriptSetup&&W(e,t),Po={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:l,accessCache:o,type:r,appContext:a}=e;if(t[0]!=="$"){const b=o[t];if(b!==void 0)switch(b){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return l[t]}else{if(Vs(n,t))return o[t]=1,n[t];if(i!==J&&W(i,t))return o[t]=2,i[t];if(W(l,t))return o[t]=3,l[t];if(s!==J&&W(s,t))return o[t]=4,s[t];Zs&&(o[t]=0)}}const p=Kt[t];let u,h;if(p)return t==="$attrs"&&ce(e.attrs,"get",""),p(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(s!==J&&W(s,t))return o[t]=4,s[t];if(h=a.config.globalProperties,W(h,t))return h[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:l}=e;return Vs(i,t)?(i[t]=s,!0):n!==J&&W(n,t)?(n[t]=s,!0):W(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,props:l,type:o}},r){let a;return!!(s[r]||e!==J&&r[0]!=="$"&&W(e,r)||Vs(t,r)||W(l,r)||W(n,r)||W(Kt,r)||W(i.config.globalProperties,r)||(a=o.__cssModules)&&a[r])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:W(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Fn(e){return U(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Zs=!0;function Ao(e){const t=Gi(e),s=e.proxy,n=e.ctx;Zs=!1,t.beforeCreate&&Ln(t.beforeCreate,e,"bc");const{data:i,computed:l,methods:o,watch:r,provide:a,inject:p,created:u,beforeMount:h,mounted:b,beforeUpdate:x,updated:D,activated:S,deactivated:C,beforeDestroy:T,beforeUnmount:k,destroyed:R,unmounted:M,render:ie,renderTracked:Oe,renderTriggered:Re,errorCaptured:et,serverPrefetch:ts,expose:ct,inheritAttrs:Ot,components:ss,directives:ns,filters:Rs}=t;if(p&&Oo(p,n,null),o)for(const Z in o){const Y=o[Z];V(Y)&&(n[Z]=Y.bind(s))}if(i){const Z=i.call(s,s);z(Z)&&(e.data=qt(Z))}if(Zs=!0,l)for(const Z in l){const Y=l[Z],ut=V(Y)?Y.bind(s,s):V(Y.get)?Y.get.bind(s,s):He,is=!V(Y)&&V(Y.set)?Y.set.bind(s):He,ft=vt({get:ut,set:is});Object.defineProperty(n,Z,{enumerable:!0,configurable:!0,get:()=>ft.value,set:Me=>ft.value=Me})}if(r)for(const Z in r)Wi(r[Z],n,s,Z);if(a){const Z=V(a)?a.call(s):a;Reflect.ownKeys(Z).forEach(Y=>{uo(Y,Z[Y])})}u&&Ln(u,e,"c");function he(Z,Y){U(Y)?Y.forEach(ut=>Z(ut.bind(s))):Y&&Z(Y.bind(s))}if(he(yo,h),he(at,b),he(xo,x),he(wo,D),he(bo,S),he(vo,C),he(ko,et),he(Eo,Oe),he(Co,Re),he(So,k),he(_n,M),he(To,ts),U(ct))if(ct.length){const Z=e.exposed||(e.exposed={});ct.forEach(Y=>{Object.defineProperty(Z,Y,{get:()=>s[Y],set:ut=>s[Y]=ut,enumerable:!0})})}else e.exposed||(e.exposed={});ie&&e.render===He&&(e.render=ie),Ot!=null&&(e.inheritAttrs=Ot),ss&&(e.components=ss),ns&&(e.directives=ns),ts&&Hi(e)}function Oo(e,t,s=He){U(e)&&(e=Qs(e));for(const n in e){const i=e[n];let l;z(i)?"default"in i?l=fs(i.from||n,i.default,!0):l=fs(i.from||n):l=fs(i),fe(l)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>l.value,set:o=>l.value=o}):t[n]=l}}function Ln(e,t,s){Ae(U(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Wi(e,t,s,n){let i=n.includes(".")?Vi(s,n):()=>s[n];if(te(e)){const l=t[e];V(l)&&Ns(i,l)}else if(V(e))Ns(i,e.bind(s));else if(z(e))if(U(e))e.forEach(l=>Wi(l,t,s,n));else{const l=V(e.handler)?e.handler.bind(s):t[e.handler];V(l)&&Ns(i,l,e)}}function Gi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:l,config:{optionMergeStrategies:o}}=e.appContext,r=l.get(t);let a;return r?a=r:!i.length&&!s&&!n?a=t:(a={},i.length&&i.forEach(p=>bs(a,p,o,!0)),bs(a,t,o)),z(t)&&l.set(t,a),a}function bs(e,t,s,n=!1){const{mixins:i,extends:l}=t;l&&bs(e,l,s,!0),i&&i.forEach(o=>bs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const r=Ro[o]||s&&s[o];e[o]=r?r(e[o],t[o]):t[o]}return e}const Ro={data:Un,props:Nn,emits:Nn,methods:Lt,computed:Lt,beforeCreate:ge,created:ge,beforeMount:ge,mounted:ge,beforeUpdate:ge,updated:ge,beforeDestroy:ge,beforeUnmount:ge,destroyed:ge,unmounted:ge,activated:ge,deactivated:ge,errorCaptured:ge,serverPrefetch:ge,components:Lt,directives:Lt,watch:Io,provide:Un,inject:Mo};function Un(e,t){return t?e?function(){return pe(V(e)?e.call(this,this):e,V(t)?t.call(this,this):t)}:t:e}function Mo(e,t){return Lt(Qs(e),Qs(t))}function Qs(e){if(U(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function ge(e,t){return e?[...new Set([].concat(e,t))]:t}function Lt(e,t){return e?pe(Object.create(null),e,t):t}function Nn(e,t){return e?U(e)&&U(t)?[...new Set([...e,...t])]:pe(Object.create(null),Fn(e),Fn(t??{})):t}function Io(e,t){if(!e)return t;if(!t)return e;const s=pe(Object.create(null),e);for(const n in t)s[n]=ge(e[n],t[n]);return s}function zi(){return{app:null,config:{isNativeTag:ui,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Do=0;function Fo(e,t){return function(n,i=null){V(n)||(n=pe({},n)),i!=null&&!z(i)&&(i=null);const l=zi(),o=new WeakSet,r=[];let a=!1;const p=l.app={_uid:Do++,_component:n,_props:i,_container:null,_context:l,_instance:null,version:hr,get config(){return l.config},set config(u){},use(u,...h){return o.has(u)||(u&&V(u.install)?(o.add(u),u.install(p,...h)):V(u)&&(o.add(u),u(p,...h))),p},mixin(u){return l.mixins.includes(u)||l.mixins.push(u),p},component(u,h){return h?(l.components[u]=h,p):l.components[u]},directive(u,h){return h?(l.directives[u]=h,p):l.directives[u]},mount(u,h,b){if(!a){const x=p._ceVNode||ae(n,i);return x.appContext=l,b===!0?b="svg":b===!1&&(b=void 0),e(x,u,b),a=!0,p._container=u,u.__vue_app__=p,Os(x.component)}},onUnmount(u){r.push(u)},unmount(){a&&(Ae(r,p._instance,16),e(null,p._container),delete p._container.__vue_app__)},provide(u,h){return l.provides[u]=h,p},runWithContext(u){const h=Tt;Tt=p;try{return u()}finally{Tt=h}}};return p}}let Tt=null;const Lo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ee(t)}Modifiers`]||e[`${rt(t)}Modifiers`];function Uo(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||J;let i=s;const l=t.startsWith("update:"),o=l&&Lo(n,t.slice(7));o&&(o.trim&&(i=s.map(u=>te(u)?u.trim():u)),o.number&&(i=s.map(Ts)));let r,a=n[r=Is(t)]||n[r=Is(Ee(t))];!a&&l&&(a=n[r=Is(rt(t))]),a&&Ae(a,e,6,i);const p=n[r+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,Ae(p,e,6,i)}}const No=new WeakMap;function qi(e,t,s=!1){const n=s?No:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const l=e.emits;let o={},r=!1;if(!V(e)){const a=p=>{const u=qi(p,t,!0);u&&(r=!0,pe(o,u))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!l&&!r?(z(e)&&n.set(e,null),null):(U(l)?l.forEach(a=>o[a]=null):pe(o,l),z(e)&&n.set(e,o),o)}function Ps(e,t){return!e||!xs(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),W(e,t[0].toLowerCase()+t.slice(1))||W(e,rt(t))||W(e,t))}function jn(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[l],slots:o,attrs:r,emit:a,render:p,renderCache:u,props:h,data:b,setupState:x,ctx:D,inheritAttrs:S}=e,C=gs(e);let T,k;try{if(s.shapeFlag&4){const M=i||n,ie=M;T=je(p.call(ie,M,u,h,x,b,D)),k=r}else{const M=t;T=je(M.length>1?M(h,{attrs:r,slots:o,emit:a}):M(h,null)),k=t.props?r:jo(r)}}catch(M){Wt.length=0,ks(M,e,1),T=ae(lt)}let R=T;if(k&&S!==!1){const M=Object.keys(k),{shapeFlag:ie}=R;M.length&&ie&7&&(l&&M.some(ws)&&(k=Vo(k,l)),R=kt(R,k,!1,!0))}return s.dirs&&(R=kt(R,null,!1,!0),R.dirs=R.dirs?R.dirs.concat(s.dirs):s.dirs),s.transition&&vn(R,s.transition),T=R,gs(C),T}const jo=e=>{let t;for(const s in e)(s==="class"||s==="style"||xs(s))&&((t||(t={}))[s]=e[s]);return t},Vo=(e,t)=>{const s={};for(const n in e)(!ws(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Ho(e,t,s){const{props:n,children:i,component:l}=e,{props:o,children:r,patchFlag:a}=t,p=l.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?Vn(n,o,p):!!o;if(a&8){const u=t.dynamicProps;for(let h=0;h<u.length;h++){const b=u[h];if(Ji(o,n,b)&&!Ps(p,b))return!0}}}else return(i||r)&&(!r||!r.$stable)?!0:n===o?!1:n?o?Vn(n,o,p):!0:!!o;return!1}function Vn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const l=n[i];if(Ji(t,e,l)&&!Ps(s,l))return!0}return!1}function Ji(e,t,s){const n=e[s],i=t[s];return s==="style"&&z(n)&&z(i)?!it(n,i):n!==i}function Bo({vnode:e,parent:t,suspense:s},n){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=n,e=i),i===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const Yi={},Xi=()=>Object.create(Yi),Zi=e=>Object.getPrototypeOf(e)===Yi;function Ko(e,t,s,n=!1){const i={},l=Xi();e.propsDefaults=Object.create(null),Qi(e,t,i,l);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);s?e.props=n?i:Xl(i):e.type.props?e.props=i:e.props=l,e.attrs=l}function Wo(e,t,s,n){const{props:i,attrs:l,vnode:{patchFlag:o}}=e,r=K(i),[a]=e.propsOptions;let p=!1;if((n||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h<u.length;h++){let b=u[h];if(Ps(e.emitsOptions,b))continue;const x=t[b];if(a)if(W(l,b))x!==l[b]&&(l[b]=x,p=!0);else{const D=Ee(b);i[D]=en(a,r,D,x,e,!1)}else x!==l[b]&&(l[b]=x,p=!0)}}}else{Qi(e,t,i,l)&&(p=!0);let u;for(const h in r)(!t||!W(t,h)&&((u=rt(h))===h||!W(t,u)))&&(a?s&&(s[h]!==void 0||s[u]!==void 0)&&(i[h]=en(a,r,h,void 0,e,!0)):delete i[h]);if(l!==r)for(const h in l)(!t||!W(t,h))&&(delete l[h],p=!0)}p&&Je(e.attrs,"set","")}function Qi(e,t,s,n){const[i,l]=e.propsOptions;let o=!1,r;if(t)for(let a in t){if(Nt(a))continue;const p=t[a];let u;i&&W(i,u=Ee(a))?!l||!l.includes(u)?s[u]=p:(r||(r={}))[u]=p:Ps(e.emitsOptions,a)||(!(a in n)||p!==n[a])&&(n[a]=p,o=!0)}if(l){const a=K(s),p=r||J;for(let u=0;u<l.length;u++){const h=l[u];s[h]=en(i,a,h,p[h],e,!W(p,h))}}return o}function en(e,t,s,n,i,l){const o=e[s];if(o!=null){const r=W(o,"default");if(r&&n===void 0){const a=o.default;if(o.type!==Function&&!o.skipFactory&&V(a)){const{propsDefaults:p}=i;if(s in p)n=p[s];else{const u=es(i);n=p[s]=a.call(null,t),u()}}else n=a;i.ce&&i.ce._setProp(s,n)}o[0]&&(l&&!r?n=!1:o[1]&&(n===""||n===rt(s))&&(n=!0))}return n}const Go=new WeakMap;function el(e,t,s=!1){const n=s?Go:t.propsCache,i=n.get(e);if(i)return i;const l=e.props,o={},r=[];let a=!1;if(!V(e)){const u=h=>{a=!0;const[b,x]=el(h,t,!0);pe(o,b),x&&r.push(...x)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!l&&!a)return z(e)&&n.set(e,xt),xt;if(U(l))for(let u=0;u<l.length;u++){const h=Ee(l[u]);Hn(h)&&(o[h]=J)}else if(l)for(const u in l){const h=Ee(u);if(Hn(h)){const b=l[u],x=o[h]=U(b)||V(b)?{type:b}:pe({},b),D=x.type;let S=!1,C=!0;if(U(D))for(let T=0;T<D.length;++T){const k=D[T],R=V(k)&&k.name;if(R==="Boolean"){S=!0;break}else R==="String"&&(C=!1)}else S=V(D)&&D.name==="Boolean";x[0]=S,x[1]=C,(S||W(x,"default"))&&r.push(h)}}const p=[o,r];return z(e)&&n.set(e,p),p}function Hn(e){return e[0]!=="$"&&!Nt(e)}const yn=e=>e==="_"||e==="_ctx"||e==="$stable",xn=e=>U(e)?e.map(je):[je(e)],zo=(e,t,s)=>{if(t._n)return t;const n=co((...i)=>xn(t(...i)),s);return n._c=!1,n},tl=(e,t,s)=>{const n=e._ctx;for(const i in e){if(yn(i))continue;const l=e[i];if(V(l))t[i]=zo(i,l,n);else if(l!=null){const o=xn(l);t[i]=()=>o}}},sl=(e,t)=>{const s=xn(t);e.slots.default=()=>s},nl=(e,t,s)=>{for(const n in t)(s||!yn(n))&&(e[n]=t[n])},qo=(e,t,s)=>{const n=e.slots=Xi();if(e.vnode.shapeFlag&32){const i=t._;i?(nl(n,t,s),s&&gi(n,"_",i,!0)):tl(t,n)}else t&&sl(e,t)},Jo=(e,t,s)=>{const{vnode:n,slots:i}=e;let l=!0,o=J;if(n.shapeFlag&32){const r=t._;r?s&&r===1?l=!1:nl(i,t,s):(l=!t.$stable,tl(t,i)),o=t}else t&&(sl(e,t),o={default:1});if(l)for(const r in i)!yn(r)&&o[r]==null&&delete i[r]},ve=er;function Yo(e){return Xo(e)}function Xo(e,t){const s=Cs();s.__VUE__=!0;const{insert:n,remove:i,patchProp:l,createElement:o,createText:r,createComment:a,setText:p,setElementText:u,parentNode:h,nextSibling:b,setScopeId:x=He,insertStaticContent:D}=e,S=(c,f,g,w=null,_=null,m=null,A=void 0,P=null,$=!!f.dynamicChildren)=>{if(c===f)return;c&&!Ft(c,f)&&(w=ls(c),Me(c,_,m,!0),c=null),f.patchFlag===-2&&($=!1,f.dynamicChildren=null);const{type:v,ref:L,shapeFlag:O}=f;switch(v){case As:C(c,f,g,w);break;case lt:T(c,f,g,w);break;case Bs:c==null&&k(f,g,w,A);break;case Q:ss(c,f,g,w,_,m,A,P,$);break;default:O&1?ie(c,f,g,w,_,m,A,P,$):O&6?ns(c,f,g,w,_,m,A,P,$):(O&64||O&128)&&v.process(c,f,g,w,_,m,A,P,$,Mt)}L!=null&&_?Ht(L,c&&c.ref,m,f||c,!f):L==null&&c&&c.ref!=null&&Ht(c.ref,null,m,c,!0)},C=(c,f,g,w)=>{if(c==null)n(f.el=r(f.children),g,w);else{const _=f.el=c.el;f.children!==c.children&&p(_,f.children)}},T=(c,f,g,w)=>{c==null?n(f.el=a(f.children||""),g,w):f.el=c.el},k=(c,f,g,w)=>{[c.el,c.anchor]=D(c.children,f,g,w,c.el,c.anchor)},R=({el:c,anchor:f},g,w)=>{let _;for(;c&&c!==f;)_=b(c),n(c,g,w),c=_;n(f,g,w)},M=({el:c,anchor:f})=>{let g;for(;c&&c!==f;)g=b(c),i(c),c=g;i(f)},ie=(c,f,g,w,_,m,A,P,$)=>{if(f.type==="svg"?A="svg":f.type==="math"&&(A="mathml"),c==null)Oe(f,g,w,_,m,A,P,$);else{const v=c.el&&c.el._isVueCE?c.el:null;try{v&&v._beginPatch(),ts(c,f,_,m,A,P,$)}finally{v&&v._endPatch()}}},Oe=(c,f,g,w,_,m,A,P)=>{let $,v;const{props:L,shapeFlag:O,transition:F,dirs:N}=c;if($=c.el=o(c.type,m,L&&L.is,L),O&8?u($,c.children):O&16&&et(c.children,$,null,w,_,Hs(c,m),A,P),N&&dt(c,null,w,"created"),Re($,c,c.scopeId,A,w),L){for(const q in L)q!=="value"&&!Nt(q)&&l($,q,null,L[q],m,w);"value"in L&&l($,"value",null,L.value,m),(v=L.onVnodeBeforeMount)&&Le(v,w,c)}N&&dt(c,null,w,"beforeMount");const B=Zo(_,F);B&&F.beforeEnter($),n($,f,g),((v=L&&L.onVnodeMounted)||B||N)&&ve(()=>{try{v&&Le(v,w,c),B&&F.enter($),N&&dt(c,null,w,"mounted")}finally{}},_)},Re=(c,f,g,w,_)=>{if(g&&x(c,g),w)for(let m=0;m<w.length;m++)x(c,w[m]);if(_){let m=_.subTree;if(f===m||rl(m.type)&&(m.ssContent===f||m.ssFallback===f)){const A=_.vnode;Re(c,A,A.scopeId,A.slotScopeIds,_.parent)}}},et=(c,f,g,w,_,m,A,P,$=0)=>{for(let v=$;v<c.length;v++){const L=c[v]=P?qe(c[v]):je(c[v]);S(null,L,f,g,w,_,m,A,P)}},ts=(c,f,g,w,_,m,A)=>{const P=f.el=c.el;let{patchFlag:$,dynamicChildren:v,dirs:L}=f;$|=c.patchFlag&16;const O=c.props||J,F=f.props||J;let N;if(g&&pt(g,!1),(N=F.onVnodeBeforeUpdate)&&Le(N,g,f,c),L&&dt(f,c,g,"beforeUpdate"),g&&pt(g,!0),v&&(!c.dynamicChildren||c.dynamicChildren.length!==v.length)&&($=0,A=!1,v=null),(O.innerHTML&&F.innerHTML==null||O.textContent&&F.textContent==null)&&u(P,""),v?ct(c.dynamicChildren,v,P,g,w,Hs(f,_),m):A||Y(c,f,P,null,g,w,Hs(f,_),m,!1),$>0){if($&16)Ot(P,O,F,g,_);else if($&2&&O.class!==F.class&&l(P,"class",null,F.class,_),$&4&&l(P,"style",O.style,F.style,_),$&8){const B=f.dynamicProps;for(let q=0;q<B.length;q++){const G=B[q],se=O[G],oe=F[G];(oe!==se||G==="value")&&l(P,G,se,oe,_,g)}}$&1&&c.children!==f.children&&u(P,f.children)}else!A&&v==null&&Ot(P,O,F,g,_);((N=F.onVnodeUpdated)||L)&&ve(()=>{N&&Le(N,g,f,c),L&&dt(f,c,g,"updated")},w)},ct=(c,f,g,w,_,m,A)=>{for(let P=0;P<f.length;P++){const $=c[P],v=f[P],L=$.el&&($.type===Q||!Ft($,v)||$.shapeFlag&198)?h($.el):g;S($,v,L,null,w,_,m,A,!0)}},Ot=(c,f,g,w,_)=>{if(f!==g){if(f!==J)for(const m in f)!Nt(m)&&!(m in g)&&l(c,m,f[m],null,_,w);for(const m in g){if(Nt(m))continue;const A=g[m],P=f[m];A!==P&&m!=="value"&&l(c,m,P,A,_,w)}"value"in g&&l(c,"value",f.value,g.value,_)}},ss=(c,f,g,w,_,m,A,P,$)=>{const v=f.el=c?c.el:r(""),L=f.anchor=c?c.anchor:r("");let{patchFlag:O,dynamicChildren:F,slotScopeIds:N}=f;N&&(P=P?P.concat(N):N),c==null?(n(v,g,w),n(L,g,w),et(f.children||[],g,L,_,m,A,P,$)):O>0&&O&64&&F&&c.dynamicChildren&&c.dynamicChildren.length===F.length?(ct(c.dynamicChildren,F,g,_,m,A,P),(f.key!=null||_&&f===_.subTree)&&il(c,f,!0)):Y(c,f,g,L,_,m,A,P,$)},ns=(c,f,g,w,_,m,A,P,$)=>{f.slotScopeIds=P,c==null?f.shapeFlag&512?_.ctx.activate(f,g,w,A,$):Rs(f,g,w,_,m,A,$):Sn(c,f,$)},Rs=(c,f,g,w,_,m,A)=>{const P=c.component=rr(c,w,_);if(Bi(c)&&(P.ctx.renderer=Mt),cr(P,!1,A),P.asyncDep){if(_&&_.registerDep(P,he,A),!c.el){const $=P.subTree=ae(lt);T(null,$,f,g),c.placeholder=$.el}}else he(P,c,f,g,_,m,A)},Sn=(c,f,g)=>{const w=f.component=c.component;if(Ho(c,f,g))if(w.asyncDep&&!w.asyncResolved){Z(w,f,g);return}else w.next=f,w.update();else f.el=c.el,w.vnode=f},he=(c,f,g,w,_,m,A)=>{const P=()=>{if(c.isMounted){let{next:O,bu:F,u:N,parent:B,vnode:q}=c;{const De=ll(c);if(De){O&&(O.el=q.el,Z(c,O,A)),De.asyncDep.then(()=>{ve(()=>{c.isUnmounted||v()},_)});return}}let G=O,se;pt(c,!1),O?(O.el=q.el,Z(c,O,A)):O=q,F&&us(F),(se=O.props&&O.props.onVnodeBeforeUpdate)&&Le(se,B,O,q),pt(c,!0);const oe=jn(c),Ie=c.subTree;c.subTree=oe,S(Ie,oe,h(Ie.el),ls(Ie),c,_,m),O.el=oe.el,G===null&&Bo(c,oe.el),N&&ve(N,_),(se=O.props&&O.props.onVnodeUpdated)&&ve(()=>Le(se,B,O,q),_)}else{let O;const{el:F,props:N}=f,{bm:B,m:q,parent:G,root:se,type:oe}=c,Ie=Bt(f);pt(c,!1),B&&us(B),!Ie&&(O=N&&N.onVnodeBeforeMount)&&Le(O,G,f),pt(c,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(oe,c.parent?c.parent.type:void 0);const De=c.subTree=jn(c);S(null,De,g,w,c,_,m),f.el=De.el}if(q&&ve(q,_),!Ie&&(O=N&&N.onVnodeMounted)){const De=f;ve(()=>Le(O,G,De),_)}(f.shapeFlag&256||G&&Bt(G.vnode)&&G.vnode.shapeFlag&256)&&c.a&&ve(c.a,_),c.isMounted=!0,f=g=w=null}};c.scope.on();const $=c.effect=new _i(P);c.scope.off();const v=c.update=$.run.bind($),L=c.job=$.runIfDirty.bind($);L.i=c,L.id=c.uid,$.scheduler=()=>bn(L),pt(c,!0),v()},Z=(c,f,g)=>{f.component=c;const w=c.vnode.props;c.vnode=f,c.next=null,Wo(c,f.props,w,g),Jo(c,f.children,g),Ke(),Mn(c),We()},Y=(c,f,g,w,_,m,A,P,$=!1)=>{const v=c&&c.children,L=c?c.shapeFlag:0,O=f.children,{patchFlag:F,shapeFlag:N}=f;if(F>0){if(F&128){is(v,O,g,w,_,m,A,P,$);return}else if(F&256){ut(v,O,g,w,_,m,A,P,$);return}}N&8?(L&16&&Rt(v,_,m),O!==v&&u(g,O)):L&16?N&16?is(v,O,g,w,_,m,A,P,$):Rt(v,_,m,!0):(L&8&&u(g,""),N&16&&et(O,g,w,_,m,A,P,$))},ut=(c,f,g,w,_,m,A,P,$)=>{c=c||xt,f=f||xt;const v=c.length,L=f.length,O=Math.min(v,L);let F;for(F=0;F<O;F++){const N=f[F]=$?qe(f[F]):je(f[F]);S(c[F],N,g,null,_,m,A,P,$)}v>L?Rt(c,_,m,!0,!1,O):et(f,g,w,_,m,A,P,$,O)},is=(c,f,g,w,_,m,A,P,$)=>{let v=0;const L=f.length;let O=c.length-1,F=L-1;for(;v<=O&&v<=F;){const N=c[v],B=f[v]=$?qe(f[v]):je(f[v]);if(Ft(N,B))S(N,B,g,null,_,m,A,P,$);else break;v++}for(;v<=O&&v<=F;){const N=c[O],B=f[F]=$?qe(f[F]):je(f[F]);if(Ft(N,B))S(N,B,g,null,_,m,A,P,$);else break;O--,F--}if(v>O){if(v<=F){const N=F+1,B=N<L?f[N].el:w;for(;v<=F;)S(null,f[v]=$?qe(f[v]):je(f[v]),g,B,_,m,A,P,$),v++}}else if(v>F)for(;v<=O;)Me(c[v],_,m,!0),v++;else{const N=v,B=v,q=new Map;for(v=B;v<=F;v++){const _e=f[v]=$?qe(f[v]):je(f[v]);_e.key!=null&&q.set(_e.key,v)}let G,se=0;const oe=F-B+1;let Ie=!1,De=0;const It=new Array(oe);for(v=0;v<oe;v++)It[v]=0;for(v=N;v<=O;v++){const _e=c[v];if(se>=oe){Me(_e,_,m,!0);continue}let Fe;if(_e.key!=null)Fe=q.get(_e.key);else for(G=B;G<=F;G++)if(It[G-B]===0&&Ft(_e,f[G])){Fe=G;break}Fe===void 0?Me(_e,_,m,!0):(It[Fe-B]=v+1,Fe>=De?De=Fe:Ie=!0,S(_e,f[Fe],g,null,_,m,A,P,$),se++)}const En=Ie?Qo(It):xt;for(G=En.length-1,v=oe-1;v>=0;v--){const _e=B+v,Fe=f[_e],kn=f[_e+1],$n=_e+1<L?kn.el||ol(kn):w;It[v]===0?S(null,Fe,g,$n,_,m,A,P,$):Ie&&(G<0||v!==En[G]?ft(Fe,g,$n,2):G--)}}},ft=(c,f,g,w,_=null)=>{const{el:m,type:A,transition:P,children:$,shapeFlag:v}=c;if(v&6){ft(c.component.subTree,f,g,w);return}if(v&128){c.suspense.move(f,g,w);return}if(v&64){A.move(c,f,g,Mt);return}if(A===Q){n(m,f,g);for(let O=0;O<$.length;O++)ft($[O],f,g,w);n(c.anchor,f,g);return}if(A===Bs){R(c,f,g);return}if(w!==2&&v&1&&P)if(w===0)P.persisted&&!m[js]?n(m,f,g):(P.beforeEnter(m),n(m,f,g),ve(()=>P.enter(m),_));else{const{leave:O,delayLeave:F,afterLeave:N}=P,B=()=>{c.ctx.isUnmounted?i(m):n(m,f,g)},q=()=>{const G=m._isLeaving||!!m[js];m._isLeaving&&m[js](!0),P.persisted&&!G?B():O(m,()=>{B(),N&&N()})};F?F(m,B,q):q()}else n(m,f,g)},Me=(c,f,g,w=!1,_=!1)=>{const{type:m,props:A,ref:P,children:$,dynamicChildren:v,shapeFlag:L,patchFlag:O,dirs:F,cacheIndex:N,memo:B}=c;if(O===-2&&(_=!1),P!=null&&(Ke(),Ht(P,null,g,c,!0),We()),N!=null&&(f.renderCache[N]=void 0),L&256){f.ctx.deactivate(c);return}const q=L&1&&F,G=!Bt(c);let se;if(G&&(se=A&&A.onVnodeBeforeUnmount)&&Le(se,f,c),L&6)yl(c.component,g,w);else{if(L&128){c.suspense.unmount(g,w);return}q&&dt(c,null,f,"beforeUnmount"),L&64?c.type.remove(c,f,g,Mt,w):v&&!v.hasOnce&&(m!==Q||O>0&&O&64)?Rt(v,f,g,!1,!0):(m===Q&&O&384||!_&&L&16)&&Rt($,f,g),w&&Tn(c)}const oe=B!=null&&N==null;(G&&(se=A&&A.onVnodeUnmounted)||q||oe)&&ve(()=>{se&&Le(se,f,c),q&&dt(c,null,f,"unmounted"),oe&&(c.el=null)},g)},Tn=c=>{const{type:f,el:g,anchor:w,transition:_}=c;if(f===Q){_l(g,w);return}if(f===Bs){M(c);return}const m=()=>{i(g),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(c.shapeFlag&1&&_&&!_.persisted){const{leave:A,delayLeave:P}=_,$=()=>A(g,m);P?P(c.el,m,$):$()}else m()},_l=(c,f)=>{let g;for(;c!==f;)g=b(c),i(c),c=g;i(f)},yl=(c,f,g)=>{const{bum:w,scope:_,job:m,subTree:A,um:P,m:$,a:v}=c;Bn($),Bn(v),w&&us(w),_.stop(),m&&(m.flags|=8,Me(A,c,f,g)),P&&ve(P,f),ve(()=>{c.isUnmounted=!0},f)},Rt=(c,f,g,w=!1,_=!1,m=0)=>{for(let A=m;A<c.length;A++)Me(c[A],f,g,w,_)},ls=c=>{if(c.shapeFlag&6)return ls(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const f=b(c.anchor||c.el),g=f&&f[go];return g?b(g):f};let Ms=!1;const Cn=(c,f,g)=>{let w;c==null?f._vnode&&(Me(f._vnode,null,null,!0),w=f._vnode.component):S(f._vnode||null,c,f,null,null,null,g),f._vnode=c,Ms||(Ms=!0,Mn(w),Li(),Ms=!1)},Mt={p:S,um:Me,m:ft,r:Tn,mt:Rs,mc:et,pc:Y,pbc:ct,n:ls,o:e};return{render:Cn,hydrate:void 0,createApp:Fo(Cn)}}function Hs({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 pt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Zo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function il(e,t,s=!1){const n=e.children,i=t.children;if(U(n)&&U(i))for(let l=0;l<n.length;l++){const o=n[l];let r=i[l];r.shapeFlag&1&&!r.dynamicChildren&&((r.patchFlag<=0||r.patchFlag===32)&&(r=i[l]=qe(i[l]),r.el=o.el),!s&&r.patchFlag!==-2&&il(o,r)),r.type===As&&(r.patchFlag===-1&&(r=i[l]=qe(r)),r.el=o.el),r.type===lt&&!r.el&&(r.el=o.el)}}function Qo(e){const t=e.slice(),s=[0];let n,i,l,o,r;const a=e.length;for(n=0;n<a;n++){const p=e[n];if(p!==0){if(i=s[s.length-1],e[i]<p){t[n]=i,s.push(n);continue}for(l=0,o=s.length-1;l<o;)r=l+o>>1,e[s[r]]<p?l=r+1:o=r;p<e[s[l]]&&(l>0&&(t[n]=s[l-1]),s[l]=n)}}for(l=s.length,o=s[l-1];l-- >0;)s[l]=o,o=t[o];return s}function ll(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ll(t)}function Bn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ol(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ol(t.subTree):null}const rl=e=>e.__isSuspense;function er(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):ao(e)}const Q=Symbol.for("v-fgt"),As=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),Wt=[];let ye=null;function y(e=!1){Wt.push(ye=e?null:[])}function tr(){Wt.pop(),ye=Wt[Wt.length-1]||null}let Yt=1;function Kn(e,t=!1){Yt+=e,e<0&&ye&&t&&(ye.hasOnce=!0)}function al(e){return e.dynamicChildren=Yt>0?ye||xt:null,tr(),Yt>0&&ye&&ye.push(e),e}function E(e,t,s,n,i,l){return al(d(e,t,s,n,i,l,!0))}function st(e,t,s,n,i){return al(ae(e,t,s,n,i,!0))}function cl(e){return e?e.__v_isVNode===!0:!1}function Ft(e,t){return e.type===t.type&&e.key===t.key}const ul=({key:e})=>e??null,ds=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?te(e)||fe(e)||V(e)?{i:xe,r:e,k:t,f:!!s}:e:null);function d(e,t=null,s=null,n=0,i=null,l=e===Q?0:1,o=!1,r=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ul(t),ref:t&&ds(t),scopeId:Ni,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:l,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:xe};return r?(vs(a,s),l&128&&e.normalize(a)):s&&(a.shapeFlag|=te(s)?8:16),Yt>0&&!o&&ye&&(a.patchFlag>0||l&6)&&a.patchFlag!==32&&ye.push(a),a}const ae=sr;function sr(e,t=null,s=null,n=0,i=null,l=!1){if((!e||e===$o)&&(e=lt),cl(e)){const r=kt(e,t,!0);return s&&vs(r,s),Yt>0&&!l&&ye&&(r.shapeFlag&6?ye[ye.indexOf(e)]=r:ye.push(r)),r.patchFlag=-2,r}if(pr(e)&&(e=e.__vccOpts),t){t=nr(t);let{class:r,style:a}=t;r&&!te(r)&&(t.class=$e(r)),z(a)&&(mn(a)&&!U(a)&&(a=pe({},a)),t.style=an(a))}const o=te(e)?1:rl(e)?128:mo(e)?64:z(e)?4:V(e)?2:0;return d(e,t,s,n,i,o,l,!0)}function nr(e){return e?mn(e)||Zi(e)?pe({},e):e:null}function kt(e,t,s=!1,n=!1){const{props:i,ref:l,patchFlag:o,children:r,transition:a}=e,p=t?ir(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:p,key:p&&ul(p),ref:t&&t.ref?s&&l?U(l)?l.concat(ds(t)):[l,ds(t)]:ds(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Q?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kt(e.ssContent),ssFallback:e.ssFallback&&kt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&vn(u,a.clone(u)),u}function Se(e=" ",t=0){return ae(As,null,e,t)}function j(e="",t=!1){return t?(y(),st(lt,null,e)):ae(lt,null,e)}function je(e){return e==null||typeof e=="boolean"?ae(lt):U(e)?ae(Q,null,e.slice()):cl(e)?qe(e):ae(As,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kt(e)}function vs(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(U(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),vs(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!Zi(t)?t._ctx=xe:i===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(V(t)){if(n&65){vs(e,{default:t});return}t={default:t,_ctx:xe},s=32}else t=String(t),n&64?(s=16,t=[Se(t)]):s=8;e.children=t,e.shapeFlag|=s}function ir(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=$e([t.class,n.class]));else if(i==="style")t.style=an([t.style,n.style]);else if(xs(i)){const l=t[i],o=n[i];o&&l!==o&&!(U(l)&&l.includes(o))?t[i]=l?[].concat(l,o):o:o==null&&l==null&&!ws(i)&&(t[i]=o)}else i!==""&&(t[i]=n[i])}return t}function Le(e,t,s,n=null){Ae(e,t,7,[s,n])}const lr=zi();let or=0;function rr(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||lr,l={uid:or++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Rl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:el(n,i),emitsOptions:qi(n,i),emit:null,emitted:null,propsDefaults:J,inheritAttrs:n.inheritAttrs,ctx:J,data:J,props:J,attrs:J,slots:J,refs:J,setupState:J,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=Uo.bind(null,l),e.ce&&e.ce(l),l}let be=null;const ar=()=>be||xe;let _s,tn;{const e=Cs(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),l=>{i.length>1?i.forEach(o=>o(l)):i[0](l)}};_s=t("__VUE_INSTANCE_SETTERS__",s=>be=s),tn=t("__VUE_SSR_SETTERS__",s=>Xt=s)}const es=e=>{const t=be;return _s(e),e.scope.on(),()=>{e.scope.off(),_s(t)}},Wn=()=>{be&&be.scope.off(),_s(null)};function fl(e){return e.vnode.shapeFlag&4}let Xt=!1;function cr(e,t=!1,s=!1){t&&tn(t);const{props:n,children:i}=e.vnode,l=fl(e);Ko(e,n,l,t),qo(e,i,s||t);const o=l?ur(e,t):void 0;return t&&tn(!1),o}function ur(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Po);const{setup:n}=s;if(n){Ke();const i=e.setupContext=n.length>1?dr(e):null,l=es(e),o=Qt(n,e,0,[e.props,i]),r=fi(o);if(We(),l(),(r||e.sp)&&!Bt(e)&&Hi(e),r){if(o.then(Wn,Wn),t)return o.then(a=>{Gn(e,a)}).catch(a=>{ks(a,e,0)});e.asyncDep=o}else Gn(e,o)}else dl(e)}function Gn(e,t,s){V(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:z(t)&&(e.setupState=Mi(t)),dl(e)}function dl(e,t,s){const n=e.type;e.render||(e.render=n.render||He);{const i=es(e);Ke();try{Ao(e)}finally{We(),i()}}}const fr={get(e,t){return ce(e,"get",""),e[t]}};function dr(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,fr),slots:e.slots,emit:e.emit,expose:t}}function Os(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Mi(Zl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Kt)return Kt[s](e)},has(t,s){return s in t||s in Kt}})):e.proxy}function pr(e){return V(e)&&"__vccOpts"in e}const vt=(e,t)=>no(e,t,Xt),hr="3.5.39";/**
|
|
* @vue/runtime-dom v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/let sn;const zn=typeof window<"u"&&window.trustedTypes;if(zn)try{sn=zn.createPolicy("vue",{createHTML:e=>e})}catch{}const pl=sn?e=>sn.createHTML(e):e=>e,gr="http://www.w3.org/2000/svg",mr="http://www.w3.org/1998/Math/MathML",ze=typeof document<"u"?document:null,qn=ze&&ze.createElement("template"),br={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 i=t==="svg"?ze.createElementNS(gr,e):t==="mathml"?ze.createElementNS(mr,e):s?ze.createElement(e,{is:s}):ze.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>ze.createTextNode(e),createComment:e=>ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,l){const o=s?s.previousSibling:t.lastChild;if(i&&(i===l||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===l||!(i=i.nextSibling)););else{qn.innerHTML=pl(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const r=qn.content;if(n==="svg"||n==="mathml"){const a=r.firstChild;for(;a.firstChild;)r.appendChild(a.firstChild);r.removeChild(a)}t.insertBefore(r,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},vr=Symbol("_vtc");function _r(e,t,s){const n=e[vr];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Jn=Symbol("_vod"),yr=Symbol("_vsh"),xr=Symbol(""),wr=/(?:^|;)\s*display\s*:/;function Sr(e,t,s){const n=e.style,i=te(s);let l=!1;if(s&&!i){if(t)if(te(t))for(const o of t.split(";")){const r=o.slice(0,o.indexOf(":")).trim();s[r]==null&&Ut(n,r,"")}else for(const o in t)s[o]==null&&Ut(n,o,"");for(const o in s){o==="display"&&(l=!0);const r=s[o];r!=null?Cr(e,o,!te(t)&&t?t[o]:void 0,r)||Ut(n,o,r):Ut(n,o,"")}}else if(i){if(t!==s){const o=n[xr];o&&(s+=";"+o),n.cssText=s,l=wr.test(s)}}else t&&e.removeAttribute("style");Jn in e&&(e[Jn]=l?n.display:"",e[yr]&&(n.display="none"))}const Yn=/\s*!important$/;function Ut(e,t,s){if(U(s))s.forEach(n=>Ut(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Tr(e,t);Yn.test(s)?e.setProperty(rt(n),s.replace(Yn,""),"important"):e[n]=s}}const Xn=["Webkit","Moz","ms"],Ks={};function Tr(e,t){const s=Ks[t];if(s)return s;let n=Ee(t);if(n!=="filter"&&n in e)return Ks[t]=n;n=hi(n);for(let i=0;i<Xn.length;i++){const l=Xn[i]+n;if(l in e)return Ks[t]=l}return t}function Cr(e,t,s,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&te(n)&&s===n}const Zn="http://www.w3.org/1999/xlink";function Qn(e,t,s,n,i,l=Al(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Zn,t.slice(6,t.length)):e.setAttributeNS(Zn,t,s):s==null||l&&!mi(s)?e.removeAttribute(t):e.setAttribute(t,l?"":Be(s)?String(s):s)}function ei(e,t,s,n,i){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?pl(s):s);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const r=l==="OPTION"?e.getAttribute("value")||"":e.value,a=s==null?e.type==="checkbox"?"on":"":String(s);(r!==a||!("_value"in e))&&(e.value=a),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const r=typeof e[t];r==="boolean"?s=mi(s):s==null&&r==="string"?(s="",o=!0):r==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(i||t)}function Xe(e,t,s,n){e.addEventListener(t,s,n)}function Er(e,t,s,n){e.removeEventListener(t,s,n)}const ti=Symbol("_vei");function kr(e,t,s,n,i=null){const l=e[ti]||(e[ti]={}),o=l[t];if(n&&o)o.value=n;else{const[r,a]=Ar(t);if(n){const p=l[t]=Mr(n,i);Xe(e,r,p,a)}else o&&(Er(e,r,o,a),l[t]=void 0)}}const $r=/(Once|Passive|Capture)$/,Pr=/^on:?(?:Once|Passive|Capture)$/;function Ar(e){let t,s;for(;(s=e.match($r))&&!Pr.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):rt(e.slice(2)),t]}let Ws=0;const Or=Promise.resolve(),Rr=()=>Ws||(Or.then(()=>Ws=0),Ws=Date.now());function Mr(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;const i=s.value;if(U(i)){const l=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{l.call(n),n._stopped=!0};const o=i.slice(),r=[n];for(let a=0;a<o.length&&!n._stopped;a++){const p=o[a];p&&Ae(p,t,5,r)}}else Ae(i,t,5,[n])};return s.value=e,s.attached=Rr(),s}const si=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ir=(e,t,s,n,i,l)=>{const o=i==="svg";t==="class"?_r(e,n,o):t==="style"?Sr(e,s,n):xs(t)?ws(t)||kr(e,t,s,n,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Dr(e,t,n,o))?(ei(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Qn(e,t,n,o,l,t!=="value")):e._isVueCE&&(Fr(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!te(n)))?ei(e,Ee(t),n,l,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Qn(e,t,n,o))};function Dr(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&si(t)&&V(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return si(t)&&te(s)?!1:t in e}function Fr(e,t){const s=e._def.props;if(!s)return!1;const n=Ee(t);return Array.isArray(s)?s.some(i=>Ee(i)===n):Object.keys(s).some(i=>Ee(i)===n)}const ot=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?s=>us(t,s):t};function Lr(e){e.target.composing=!0}function ni(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Te=Symbol("_assign");function ii(e,t,s){return t&&(e=e.trim()),s&&(e=Ts(e)),e}const de={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[Te]=ot(i);const l=n||i.props&&i.props.type==="number";Xe(e,t?"change":"input",o=>{o.target.composing||e[Te](ii(e.value,s,l))}),(s||l)&&Xe(e,"change",()=>{e.value=ii(e.value,s,l)}),t||(Xe(e,"compositionstart",Lr),Xe(e,"compositionend",ni),Xe(e,"change",ni))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:l}},o){if(e[Te]=ot(o),e.composing)return;const r=(l||e.type==="number")&&!/^0\d/.test(e.value)?Ts(e.value):e.value,a=t??"";if(r===a)return;const p=e.getRootNode();(p instanceof Document||p instanceof ShadowRoot)&&p.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===a)||(e.value=a)}},Ur={deep:!0,created(e,t,s){e[Te]=ot(s),Xe(e,"change",()=>{const n=e._modelValue,i=$t(e),l=e.checked,o=e[Te];if(U(n)){const r=cn(n,i),a=r!==-1;if(l&&!a)o(n.concat(i));else if(!l&&a){const p=[...n];p.splice(r,1),o(p)}}else if(At(n)){const r=new Set(n);l?r.add(i):r.delete(i),o(r)}else o(hl(e,l))})},mounted:li,beforeUpdate(e,t,s){e[Te]=ot(s),li(e,t,s)}};function li(e,{value:t,oldValue:s},n){e._modelValue=t;let i;if(U(t))i=cn(t,n.props.value)>-1;else if(At(t))i=t.has(n.props.value);else{if(t===s)return;i=it(t,hl(e,!0))}e.checked!==i&&(e.checked=i)}const Nr={created(e,{value:t},s){e.checked=it(t,s.props.value),e[Te]=ot(s),Xe(e,"change",()=>{e[Te]($t(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[Te]=ot(n),t!==s&&(e.checked=it(t,n.props.value))}},ys={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=At(t);Xe(e,"change",()=>{const l=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>s?Ts($t(o)):$t(o));e[Te](e.multiple?i?new Set(l):l:l[0]),e._assigning=!0,Di(()=>{e._assigning=!1})}),e[Te]=ot(n)},mounted(e,{value:t}){oi(e,t)},beforeUpdate(e,t,s){e[Te]=ot(s)},updated(e,{value:t}){e._assigning||oi(e,t)}};function oi(e,t){const s=e.multiple,n=U(t);if(!(s&&!n&&!At(t))){for(let i=0,l=e.options.length;i<l;i++){const o=e.options[i],r=$t(o);if(s)if(n){const a=typeof r;a==="string"||a==="number"?o.selected=t.some(p=>String(p)===String(r)):o.selected=cn(t,r)>-1}else o.selected=t.has(r);else if(it($t(o),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $t(e){return"_value"in e?e._value:e.value}function hl(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const jr={created(e,t,s){cs(e,t,s,null,"created")},mounted(e,t,s){cs(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){cs(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){cs(e,t,s,n,"updated")}};function Vr(e,t){switch(e){case"SELECT":return ys;case"TEXTAREA":return de;default:switch(t){case"checkbox":return Ur;case"radio":return Nr;default:return de}}}function cs(e,t,s,n,i){const o=Vr(e.tagName,s.props&&s.props.type)[i];o&&o(e,t,s,n)}const Hr=["ctrl","shift","alt","meta"],Br={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)=>Hr.some(s=>e[`${s}Key`]&&!t.includes(s))},Kr=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((i,...l)=>{for(let o=0;o<t.length;o++){const r=Br[t[o]];if(r&&r(i,t))return}return e(i,...l)}))},Wr={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Gr=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=(i=>{if(!("key"in i))return;const l=rt(i.key);if(t.some(o=>o===l||Wr[o]===l))return e(i)}))},zr=pe({patchProp:Ir},br);let ri;function qr(){return ri||(ri=Yo(zr))}const Jr=((...e)=>{const t=qr().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Xr(n);if(!i)return;const l=t._component;!V(l)&&!l.render&&!l.template&&(l.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Yr(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Yr(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xr(e){return te(e)?document.querySelector(e):e}const gl="dh-panel-theme";function Zr(){var e;try{const t=localStorage.getItem(gl);if(t==="dark"||t==="light")return t}catch{}return(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}const Ct=H(Zr());function ml(e){Ct.value=e,document.documentElement.classList.toggle("dark",e==="dark");try{localStorage.setItem(gl,e)}catch{}}function ai(){ml(Ct.value==="dark"?"light":"dark")}ml(Ct.value);const nn="dh-panel-token";function Qr(){try{return localStorage.getItem(nn)||""}catch{return""}}const Pt=H(Qr()),ue=H(null),gt=vt(()=>{var e;return((e=ue.value)==null?void 0:e.role)==="superadmin"}),ci=vt(()=>{var e,t;return((e=ue.value)==null?void 0:e.role)==="admin"||((t=ue.value)==null?void 0:t.role)==="superadmin"});function bl(e){Pt.value=e;try{e?localStorage.setItem(nn,e):localStorage.removeItem(nn)}catch{}}class ea extends Error{constructor(t,s,n){super(t),this.status=s,this.body=n}}function ta(e,t){if(!e||typeof e!="object")return`HTTP ${t}`;if(e.error)return e.error;const s=Object.entries(e.data||{}).map(([n,i])=>`${n}: ${(i==null?void 0:i.message)||i}`).filter(Boolean);return s.length?s.join("; "):e.message||`HTTP ${t}`}async function ee(e,{method:t="GET",body:s,auth:n=!0}={}){const i={};s!==void 0&&(i["Content-Type"]="application/json"),n&&Pt.value&&(i.Authorization=Pt.value);const l=await fetch(e,{method:t,headers:i,body:s===void 0?void 0:JSON.stringify(s)}),o=await l.text();let r=null;try{r=o?JSON.parse(o):null}catch{r=null}if(!l.ok)throw l.status===401&&n&&wn(),new ea(ta(r,l.status),l.status,r);return r}async function sa(e,t){const s=await ee("/api/auth/login",{method:"POST",body:{email:e,password:t},auth:!1});return bl(s.token),await vl(),ue.value}async function vl(){return ue.value=await ee("/api/identity"),ue.value}function wn(){bl(""),ue.value=null}async function na(){if(!Pt.value)return null;try{return await vl()}catch{return wn(),null}}const ia={class:"mx-auto flex w-full max-w-sm flex-col gap-5 pt-24"},la={class:"dh-card p-6"},oa={key:0,class:"rounded-control bg-danger-soft px-3 py-2 text-xs text-danger"},ra=["disabled"],aa={__name:"LoginView",emits:["authenticated"],setup(e,{emit:t}){const s=t,n=H(""),i=H(""),l=H(""),o=H(!1),r=vt(()=>n.value.trim()!==""&&i.value!==""&&!o.value);async function a(){if(r.value){l.value="",o.value=!0;try{const p=await sa(n.value.trim(),i.value);s("authenticated",p)}catch(p){l.value=p.status===400||p.status===404?"Invalid email or password.":p.message||"Could not sign in.",i.value=""}finally{o.value=!1}}}return(p,u)=>(y(),E("div",ia,[d("div",la,[u[4]||(u[4]=d("h1",{class:"text-lg font-bold tracking-[-0.02em] text-strong"},"Sign in",-1)),u[5]||(u[5]=d("p",{class:"mt-1 mb-5 text-sm text-body"}," Superadmin console for the DriverVault API Server. ",-1)),d("form",{class:"flex flex-col gap-4",onSubmit:Kr(a,["prevent"])},[d("div",null,[u[2]||(u[2]=d("label",{class:"dh-label",for:"login-email"},"Email",-1)),le(d("input",{id:"login-email","onUpdate:modelValue":u[0]||(u[0]=h=>n.value=h),class:"dh-input",type:"email",autocomplete:"username",autofocus:"",placeholder:"you@example.com"},null,512),[[de,n.value]])]),d("div",null,[u[3]||(u[3]=d("label",{class:"dh-label",for:"login-password"},"Password",-1)),le(d("input",{id:"login-password","onUpdate:modelValue":u[1]||(u[1]=h=>i.value=h),class:"dh-input",type:"password",autocomplete:"current-password",placeholder:"••••••••"},null,512),[[de,i.value]])]),l.value?(y(),E("p",oa,I(l.value),1)):j("",!0),d("button",{class:"dh-btn w-full",type:"submit",disabled:!r.value},I(o.value?"Signing in…":"Sign in"),9,ra)],32)]),u[6]||(u[6]=d("p",{class:"eyebrow text-center"}," Authenticates against PocketBase through this server ",-1))]))}},ca={class:"dh-card overflow-hidden"},ua={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},fa={key:0,class:"dh-pill bg-danger-soft text-danger"},da={key:0,class:"px-5 py-4 text-sm text-danger"},pa={key:1,class:"w-full text-left text-sm"},ha={class:"px-5 py-3 font-medium text-strong"},ga={class:"data px-5 py-3 text-xs text-muted"},ma={class:"data px-5 py-3 text-right text-xs text-muted"},ba={class:"px-5 py-3 text-right"},va={key:2,class:"px-5 py-4 text-sm text-muted"},_a={__name:"StatusCard",setup(e){const t=H(null),s=H("");let n=null;async function i(){try{t.value=await ee("/api/status",{auth:!1}),s.value=""}catch(o){t.value=null,s.value=o.message||"unreachable"}}at(()=>{i(),n=setInterval(i,1e4)}),_n(()=>clearInterval(n));const l=o=>o==="ok"?"bg-success-soft text-success":"bg-danger-soft text-danger";return(o,r)=>(y(),E("div",ca,[d("div",ua,[r[1]||(r[1]=d("div",{class:"text-base font-bold tracking-[-0.02em] text-strong"},"Status",-1)),s.value?(y(),E("span",fa,[...r[0]||(r[0]=[d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1),Se("unreachable ",-1)])])):j("",!0)]),s.value?(y(),E("div",da,I(s.value),1)):t.value?(y(),E("table",pa,[d("tbody",null,[(y(!0),E(Q,null,Ce([{key:"apiServer",label:"API Server",h:t.value.apiServer},{key:"pocketBase",label:"PocketBase",h:t.value.pocketBase},{key:"webApp",label:"Web App",h:t.value.webApp}],a=>(y(),E("tr",{key:a.key,class:"border-t border-subtle first:border-t-0"},[d("td",ha,I(a.label),1),d("td",ga,I(a.h.url||"this process"),1),d("td",ma,I(a.h.latencyMs!=null?a.h.latencyMs+"ms":"—"),1),d("td",ba,[d("span",{class:$e(["dh-pill",l(a.h.status)])},[r[2]||(r[2]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Se(I(a.h.status),1)],2)])]))),128))])])):(y(),E("div",va,"Checking…"))]))}},ya={class:"dh-card overflow-hidden"},xa={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},wa={class:"flex flex-col gap-4 px-5 py-4"},Sa={class:"grid gap-4 sm:grid-cols-2"},Ta=["placeholder"],Ca={key:0,class:"data text-xs text-muted"},Ea={key:1,class:"rounded-control bg-info-soft px-3 py-2 text-xs text-info"},ka={key:2,class:"rounded-control bg-danger-soft px-3 py-2 text-xs text-danger"},$a={class:"flex items-center gap-2"},Pa=["disabled"],Aa=["disabled"],Oa={__name:"PocketBaseCard",setup(e){const t=H(null),s=H({url:"",adminEmail:"",adminPassword:""}),n=H(null),i=H(""),l=H(""),o=H(!1);async function r(){try{t.value=await ee("/api/admin/pb-config"),s.value={url:t.value.url,adminEmail:t.value.adminEmail,adminPassword:""},n.value=t.value.probe}catch(u){i.value=u.message}}at(r);async function a(){i.value="",l.value="",o.value=!0;try{n.value=await ee("/api/admin/pb-config/test",{method:"POST",body:s.value}),l.value=n.value.superuser?"Connection OK — superuser authenticated.":n.value.reachable?"PocketBase is reachable, but the service account did not authenticate.":"PocketBase is not reachable at that address."}catch(u){i.value=u.message}finally{o.value=!1}}async function p(){i.value="",l.value="",o.value=!0;try{const u=await ee("/api/admin/pb-config",{method:"PUT",body:s.value});t.value=u.config,n.value=u.config.probe,s.value.adminPassword="",l.value=u.warning||"Saved. The server is now using this PocketBase."}catch(u){i.value=u.message}finally{o.value=!1}}return(u,h)=>{var b,x;return y(),E("div",ya,[d("div",xa,[h[4]||(h[4]=d("div",null,[d("div",{class:"text-base font-bold tracking-[-0.02em] text-strong"},"PocketBase"),d("p",{class:"mt-0.5 text-xs text-muted"},"Database connection used by every endpoint")],-1)),n.value?(y(),E("span",{key:0,class:$e(["dh-pill",n.value.superuser?"bg-success-soft text-success":n.value.reachable?"bg-warning-soft text-warning":"bg-danger-soft text-danger"])},[h[3]||(h[3]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Se(" "+I(n.value.superuser?"connected":n.value.reachable?"no superuser":"unreachable"),1)],2)):j("",!0)]),d("div",wa,[d("div",null,[h[5]||(h[5]=d("label",{class:"dh-label",for:"pb-url"},"Base URL",-1)),le(d("input",{id:"pb-url","onUpdate:modelValue":h[0]||(h[0]=D=>s.value.url=D),class:"dh-input",placeholder:"http://10.2.1.10:8027"},null,512),[[de,s.value.url]])]),d("div",Sa,[d("div",null,[h[6]||(h[6]=d("label",{class:"dh-label",for:"pb-email"},"Superuser email",-1)),le(d("input",{id:"pb-email","onUpdate:modelValue":h[1]||(h[1]=D=>s.value.adminEmail=D),class:"dh-input",autocomplete:"off"},null,512),[[de,s.value.adminEmail]])]),d("div",null,[h[7]||(h[7]=d("label",{class:"dh-label",for:"pb-password"},"Superuser password",-1)),le(d("input",{id:"pb-password","onUpdate:modelValue":h[2]||(h[2]=D=>s.value.adminPassword=D),class:"dh-input",type:"password",autocomplete:"new-password",placeholder:(b=t.value)!=null&&b.adminConfigured?"unchanged":"not set"},null,8,Ta),[[de,s.value.adminPassword]])])]),(x=n.value)!=null&&x.detail?(y(),E("p",Ca,I(n.value.detail),1)):j("",!0),l.value?(y(),E("p",Ea,I(l.value),1)):j("",!0),i.value?(y(),E("p",ka,I(i.value),1)):j("",!0),d("div",$a,[d("button",{class:"dh-btn",disabled:o.value,onClick:p},"Save & apply",8,Pa),d("button",{class:"dh-btn-ghost",disabled:o.value,onClick:a},"Test connection",8,Aa),h[8]||(h[8]=d("span",{class:"flex-1"},null,-1)),h[9]||(h[9]=d("span",{class:"eyebrow"},"persisted to .env",-1))])])])}}},Ra={class:"dh-card overflow-hidden"},Ma={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Ia={class:"flex flex-col gap-4 px-5 py-4"},Da={key:0,class:"data text-xs text-muted"},Fa={key:1,class:"rounded-control bg-info-soft px-3 py-2 text-xs text-info"},La={key:2,class:"rounded-control bg-danger-soft px-3 py-2 text-xs text-danger"},Ua={class:"flex items-center gap-2"},Na=["disabled"],ja=["disabled"],Va={__name:"WebAppCard",setup(e){const t=H(null),s=H({url:"",origins:""}),n=H(null),i=H(""),l=H(""),o=H(!1),r=b=>b.split(",").map(x=>x.trim()).filter(Boolean);function a(b){t.value=b,s.value={url:b.url,origins:(b.allowOrigins||[]).join(", ")},n.value=b.probe}async function p(){try{a(await ee("/api/admin/webapp-config"))}catch(b){i.value=b.message}}at(p);async function u(){i.value="",l.value="",o.value=!0;try{n.value=await ee("/api/admin/webapp-config/test",{method:"POST",body:{url:s.value.url}}),l.value=n.value.status==="ok"?"Web App is reachable.":"Web App did not answer its health check at that address."}catch(b){i.value=b.message}finally{o.value=!1}}async function h(){i.value="",l.value="",o.value=!0;try{const b=await ee("/api/admin/webapp-config",{method:"PUT",body:{url:s.value.url,allowOrigins:r(s.value.origins)}});a(b.config),l.value=b.warning||"Saved. New origins apply to the next request."}catch(b){i.value=b.message}finally{o.value=!1}}return(b,x)=>{var D;return y(),E("div",Ra,[d("div",Ma,[x[3]||(x[3]=d("div",null,[d("div",{class:"text-base font-bold tracking-[-0.02em] text-strong"},"Web App"),d("p",{class:"mt-0.5 text-xs text-muted"},"Address probed by the status check, and who may call this API from a browser")],-1)),n.value?(y(),E("span",{key:0,class:$e(["dh-pill",n.value.status==="ok"?"bg-success-soft text-success":"bg-danger-soft text-danger"])},[x[2]||(x[2]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Se(" "+I(n.value.status==="ok"?"reachable":"unreachable"),1)],2)):j("",!0)]),d("div",Ia,[d("div",null,[x[4]||(x[4]=d("label",{class:"dh-label",for:"web-url"},"Base URL",-1)),le(d("input",{id:"web-url","onUpdate:modelValue":x[0]||(x[0]=S=>s.value.url=S),class:"dh-input",placeholder:"http://localhost:5173"},null,512),[[de,s.value.url]])]),d("div",null,[x[5]||(x[5]=d("label",{class:"dh-label",for:"web-origins"},"Allowed origins",-1)),le(d("input",{id:"web-origins","onUpdate:modelValue":x[1]||(x[1]=S=>s.value.origins=S),class:"dh-input",placeholder:"http://localhost:5173, https://app.example.com"},null,512),[[de,s.value.origins]]),x[6]||(x[6]=d("p",{class:"mt-1 text-xs text-muted"},[Se(" Comma separated, or "),d("span",{class:"data"},"*"),Se(" for any. Native mobile apps are not subject to CORS. ")],-1))]),(D=n.value)!=null&&D.error?(y(),E("p",Da,I(n.value.error),1)):j("",!0),l.value?(y(),E("p",Fa,I(l.value),1)):j("",!0),i.value?(y(),E("p",La,I(i.value),1)):j("",!0),d("div",Ua,[d("button",{class:"dh-btn",disabled:o.value,onClick:h},"Save & apply",8,Na),d("button",{class:"dh-btn-ghost",disabled:o.value,onClick:u},"Test connection",8,ja),x[7]||(x[7]=d("span",{class:"flex-1"},null,-1)),x[8]||(x[8]=d("span",{class:"eyebrow"},"persisted to .env",-1))])])])}}},Ha={class:"dh-card overflow-hidden"},Ba={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Ka={key:0,class:"border-b border-subtle bg-sunken px-5 py-4"},Wa={class:"grid gap-3 sm:grid-cols-3"},Ga=["disabled"],za={key:1,class:"border-b border-subtle px-5 py-3 text-xs text-danger"},qa={key:2,class:"px-5 py-6 text-center text-sm text-muted"},Ja={class:"flex items-center gap-3 px-5 py-3"},Ya=["onClick"],Xa={class:"font-semibold text-strong"},Za={class:"dh-pill bg-sunken text-muted"},Qa={key:0,class:"text-xs text-muted"},ec=["disabled","onClick"],tc=["disabled","onClick"],sc={key:0,class:"bg-sunken px-5 py-4"},nc={key:0,class:"data mb-3 text-xs text-muted"},ic={key:1,class:"grid gap-3 sm:grid-cols-2"},lc={class:"dh-label"},oc={key:0,class:"text-danger"},rc=["onUpdate:modelValue"],ac=["value"],cc=["onUpdate:modelValue","type","placeholder"],uc={key:2,class:"mt-1 text-xs text-muted"},fc={key:2,class:"text-xs text-muted"},dc={key:3,class:"mt-4"},pc={class:"data flex flex-col gap-1 text-xs text-muted"},hc={class:"text-strong"},gc={key:0},mc={key:1},bc={key:4,class:"data mt-3 text-xs text-body"},vc={class:"mt-4 flex items-center gap-2"},_c=["disabled","onClick"],yc=["disabled","onClick"],xc=["disabled","onClick"],wc={key:5,class:"eyebrow mt-2"},Sc={__name:"PluginsCard",setup(e){const t=H([]),s=H(""),n=H(!1),i=H(null),l=qt({}),o=qt({}),r=H(!1),a=H({name:"",baseURL:"",provider:""});async function p(){try{const C=await ee("/api/admin/plugins");t.value=C.plugins||[],s.value=""}catch(C){s.value=C.message}}at(p);function u(C){var k;if(i.value===C.name){i.value=null;return}const T={};for(const R of C.configFields||[])T[R.key]=((k=C.config)==null?void 0:k[R.key])??"";l[C.name]=T,i.value=C.name}async function h(C,T){n.value=!0,o[C.name]="";try{const k=await ee(`/api/admin/plugins/${encodeURIComponent(C.name)}`,{method:"PUT",body:{enabled:T,config:l[C.name]??{}}});o[C.name]=k.warning||"Saved.",await p()}catch(k){o[C.name]=k.message}finally{n.value=!1}}async function b(C){n.value=!0,o[C.name]="Checking…";try{const T=await ee(`/api/admin/plugins/${encodeURIComponent(C.name)}/health`,{method:"POST"});o[C.name]=`${T.health.status}${T.health.detail?" — "+T.health.detail:""}`,await p()}catch(T){o[C.name]=T.message}finally{n.value=!1}}async function x(C){if(confirm(`Remove the external plugin "${C.name}"? Its saved config is deleted.`)){n.value=!0;try{await ee(`/api/admin/plugins/${encodeURIComponent(C.name)}`,{method:"DELETE"}),i.value===C.name&&(i.value=null),await p()}catch(T){o[C.name]=T.message}finally{n.value=!1}}}async function D(){n.value=!0,s.value="";try{await ee("/api/admin/plugins",{method:"POST",body:a.value}),a.value={name:"",baseURL:"",provider:""},r.value=!1,await p()}catch(C){s.value=C.message}finally{n.value=!1}}const S=C=>C==="ok"?"bg-success-soft text-success":C==="degraded"?"bg-warning-soft text-warning":"bg-danger-soft text-danger";return(C,T)=>(y(),E("div",Ha,[d("div",Ba,[T[4]||(T[4]=d("div",null,[d("div",{class:"text-base font-bold tracking-[-0.02em] text-strong"},"Plugins"),d("p",{class:"mt-0.5 text-xs text-muted"},"Third-party service integrations")],-1)),d("button",{class:"dh-btn-ghost",onClick:T[0]||(T[0]=k=>r.value=!r.value)},I(r.value?"Cancel":"Register external"),1)]),r.value?(y(),E("div",Ka,[d("div",Wa,[d("div",null,[T[5]||(T[5]=d("label",{class:"dh-label"},"Name",-1)),le(d("input",{"onUpdate:modelValue":T[1]||(T[1]=k=>a.value.name=k),class:"dh-input",placeholder:"acme-parts"},null,512),[[de,a.value.name]])]),d("div",null,[T[6]||(T[6]=d("label",{class:"dh-label"},"Base URL",-1)),le(d("input",{"onUpdate:modelValue":T[2]||(T[2]=k=>a.value.baseURL=k),class:"dh-input",placeholder:"http://127.0.0.1:9100"},null,512),[[de,a.value.baseURL]])]),d("div",null,[T[7]||(T[7]=d("label",{class:"dh-label"},"Provider",-1)),le(d("input",{"onUpdate:modelValue":T[3]||(T[3]=k=>a.value.provider=k),class:"dh-input",placeholder:"ACME Corp"},null,512),[[de,a.value.provider]])])]),d("button",{class:"dh-btn mt-3",disabled:n.value||!a.value.name||!a.value.baseURL,onClick:D}," Register ",8,Ga)])):j("",!0),s.value?(y(),E("p",za,I(s.value),1)):j("",!0),t.value.length?j("",!0):(y(),E("p",qa," No plugins yet. Register an external one above, or compile a built-in connector. ")),(y(!0),E(Q,null,Ce(t.value,k=>(y(),E("div",{key:k.name,class:"border-t border-subtle first:border-t-0"},[d("div",Ja,[d("button",{class:"flex flex-1 items-center gap-3 text-left",onClick:R=>u(k)},[d("span",Xa,I(k.name),1),d("span",Za,I(k.kind||"builtin"),1),k.provider?(y(),E("span",Qa,I(k.provider),1)):j("",!0),k.health?(y(),E("span",{key:1,class:$e(["dh-pill",S(k.health.status)])},[T[8]||(T[8]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Se(I(k.health.status),1)],2)):j("",!0)],8,Ya),d("span",{class:$e(["dh-pill",k.enabled?"bg-success-soft text-success":"bg-sunken text-muted"])},I(k.enabled?"enabled":"disabled"),3),d("button",{class:"dh-btn-ghost",disabled:n.value,onClick:R=>b(k)},"Health",8,ec),d("button",{class:"dh-btn-ghost",disabled:n.value,onClick:R=>u(k)},I(i.value===k.name?"Close":"Configure"),9,tc)]),i.value===k.name?(y(),E("div",sc,[k.baseURL?(y(),E("div",nc,I(k.baseURL),1)):j("",!0),(k.configFields||[]).length?(y(),E("div",ic,[(y(!0),E(Q,null,Ce(k.configFields,R=>(y(),E("div",{key:R.key},[d("label",lc,[Se(I(R.label||R.key),1),R.required?(y(),E("span",oc," *")):j("",!0)]),R.type==="select"?le((y(),E("select",{key:0,"onUpdate:modelValue":M=>l[k.name][R.key]=M,class:"dh-select"},[(y(!0),E(Q,null,Ce(R.options||[],M=>(y(),E("option",{key:M.value,value:M.value},I(M.label||M.value),9,ac))),128))],8,rc)),[[ys,l[k.name][R.key]]]):le((y(),E("input",{key:1,"onUpdate:modelValue":M=>l[k.name][R.key]=M,class:"dh-input",type:R.type==="password"?"password":R.type==="number"?"number":"text",placeholder:R.default||"",autocomplete:"off"},null,8,cc)),[[jr,l[k.name][R.key]]]),R.help?(y(),E("p",uc,I(R.help),1)):j("",!0)]))),128))])):(y(),E("p",fc,"This plugin takes no configuration.")),(k.capabilities||[]).length?(y(),E("div",dc,[T[9]||(T[9]=d("div",{class:"eyebrow mb-1.5"},"Capabilities",-1)),d("ul",pc,[(y(!0),E(Q,null,Ce(k.capabilities,R=>(y(),E("li",{key:R.id},[d("span",hc,I(R.id),1),R.method||R.endpoint?(y(),E("span",gc," — "+I(R.method)+" "+I(R.endpoint),1)):j("",!0),R.description?(y(),E("span",mc," · "+I(R.description),1)):j("",!0)]))),128))])])):j("",!0),o[k.name]?(y(),E("p",bc,I(o[k.name]),1)):j("",!0),d("div",vc,[d("button",{class:"dh-btn",disabled:n.value,onClick:R=>h(k,!0)},I(k.enabled?"Save":"Save & enable"),9,_c),k.enabled?(y(),E("button",{key:0,class:"dh-btn-ghost",disabled:n.value,onClick:R=>h(k,!1)}," Disable ",8,yc)):j("",!0),T[10]||(T[10]=d("span",{class:"flex-1"},null,-1)),k.kind==="external"?(y(),E("button",{key:1,class:"dh-btn-danger",disabled:n.value,onClick:R=>x(k)}," Remove ",8,xc)):j("",!0)]),k.kind!=="external"?(y(),E("p",wc," Built-in plugins can be disabled but not removed ")):j("",!0)])):j("",!0)]))),128))]))}},Tc={class:"dh-card overflow-hidden"},Cc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Ec={class:"mt-0.5 text-xs text-muted"},kc={key:0,class:"border-b border-subtle px-5 py-3 text-xs text-danger"},$c={key:1,class:"border-b border-subtle bg-sunken px-5 py-4"},Pc={class:"grid gap-3 sm:grid-cols-2"},Ac={class:"dh-label"},Oc=["value"],Rc={key:0},Mc=["value"],Ic={class:"mt-3 flex items-center gap-2"},Dc=["disabled"],Fc=["disabled"],Lc={key:2,class:"px-5 py-6 text-center text-sm text-muted"},Uc={key:3,class:"w-full text-left text-sm"},Nc={class:"data px-5 py-2.5 text-xs text-strong"},jc={key:0,class:"eyebrow ml-1"},Vc={class:"px-5 py-2.5 text-body"},Hc={class:"px-5 py-2.5 text-body"},Bc={class:"px-5 py-2.5"},Kc={class:"px-5 py-2.5 text-right whitespace-nowrap"},Wc=["onClick"],Gc=["disabled","onClick"],zc={__name:"UsersCard",setup(e){const t=H([]),s=H([]),n=H(""),i=H(!1),l=H(null),o=H({}),r=vt(()=>gt.value?["user","admin","superadmin"]:["user","admin"]);async function a(){try{const[S,C]=await Promise.all([ee("/api/users"),ee("/api/orgs")]);t.value=S.users||[],s.value=C.organizations||[],n.value=""}catch(S){n.value=S.message}}at(a);function p(){var S;l.value="new",o.value={email:"",name:"",password:"",role:"user",organization:gt.value?"":((S=ue.value)==null?void 0:S.organization)||""}}function u(S){l.value=S.id,o.value={email:S.email,name:S.name||"",password:"",role:S.role,organization:S.organization||""}}function h(){l.value=null,n.value=""}async function b(){i.value=!0,n.value="";try{if(l.value==="new")await ee("/api/users",{method:"POST",body:o.value});else{const S={...o.value};S.password||delete S.password,await ee(`/api/users/${l.value}`,{method:"PATCH",body:S})}l.value=null,await a()}catch(S){n.value=S.message}finally{i.value=!1}}async function x(S){if(confirm(`Delete ${S.email}? This cannot be undone.`)){i.value=!0,n.value="";try{await ee(`/api/users/${S.id}`,{method:"DELETE"}),await a()}catch(C){n.value=C.message}finally{i.value=!1}}}const D=S=>S==="superadmin"?"bg-info-soft text-info":S==="admin"?"bg-warning-soft text-warning":"bg-sunken text-muted";return(S,C)=>(y(),E("div",Tc,[d("div",Cc,[d("div",null,[C[5]||(C[5]=d("div",{class:"text-base font-bold tracking-[-0.02em] text-strong"},"Users",-1)),d("p",Ec,I(ne(gt)?"All organizations":"Your organization"),1)]),d("button",{class:"dh-btn",onClick:p},"New user")]),n.value?(y(),E("p",kc,I(n.value),1)):j("",!0),l.value?(y(),E("div",$c,[d("div",Pc,[d("div",null,[C[6]||(C[6]=d("label",{class:"dh-label"},"Email",-1)),le(d("input",{"onUpdate:modelValue":C[0]||(C[0]=T=>o.value.email=T),class:"dh-input",type:"email",autocomplete:"off"},null,512),[[de,o.value.email]])]),d("div",null,[C[7]||(C[7]=d("label",{class:"dh-label"},"Name",-1)),le(d("input",{"onUpdate:modelValue":C[1]||(C[1]=T=>o.value.name=T),class:"dh-input",autocomplete:"off"},null,512),[[de,o.value.name]])]),d("div",null,[d("label",Ac," Password"+I(l.value==="new"?"":" (blank = unchanged)"),1),le(d("input",{"onUpdate:modelValue":C[2]||(C[2]=T=>o.value.password=T),class:"dh-input",type:"password",autocomplete:"new-password",placeholder:"min 8 characters"},null,512),[[de,o.value.password]])]),d("div",null,[C[8]||(C[8]=d("label",{class:"dh-label"},"Role",-1)),le(d("select",{"onUpdate:modelValue":C[3]||(C[3]=T=>o.value.role=T),class:"dh-select"},[(y(!0),E(Q,null,Ce(r.value,T=>(y(),E("option",{key:T,value:T},I(T),9,Oc))),128))],512),[[ys,o.value.role]])]),ne(gt)?(y(),E("div",Rc,[C[10]||(C[10]=d("label",{class:"dh-label"},"Organization",-1)),le(d("select",{"onUpdate:modelValue":C[4]||(C[4]=T=>o.value.organization=T),class:"dh-select"},[C[9]||(C[9]=d("option",{value:""},"— none —",-1)),(y(!0),E(Q,null,Ce(s.value,T=>(y(),E("option",{key:T.id,value:T.id},I(T.name),9,Mc))),128))],512),[[ys,o.value.organization]])])):j("",!0)]),d("div",Ic,[d("button",{class:"dh-btn",disabled:i.value,onClick:b},I(l.value==="new"?"Create":"Save"),9,Dc),d("button",{class:"dh-btn-ghost",disabled:i.value,onClick:h},"Cancel",8,Fc)])])):j("",!0),t.value.length?(y(),E("table",Uc,[C[11]||(C[11]=d("thead",null,[d("tr",{class:"[&>th]:eyebrow [&>th]:px-5 [&>th]:py-2.5 [&>th]:font-medium"},[d("th",null,"Email"),d("th",null,"Name"),d("th",null,"Organization"),d("th",null,"Role"),d("th")])],-1)),d("tbody",null,[(y(!0),E(Q,null,Ce(t.value,T=>{var k,R;return y(),E("tr",{key:T.id,class:"border-t border-subtle transition-colors hover:bg-sunken"},[d("td",Nc,[Se(I(T.email)+" ",1),T.id===((k=ne(ue))==null?void 0:k.id)?(y(),E("span",jc,"you")):j("",!0)]),d("td",Vc,I(T.name||"—"),1),d("td",Hc,I(T.organizationName||"—"),1),d("td",Bc,[d("span",{class:$e(["dh-pill",D(T.role)])},I(T.role),3)]),d("td",Kc,[d("button",{class:"dh-btn-ghost",onClick:M=>u(T)},"Edit",8,Wc),T.id!==((R=ne(ue))==null?void 0:R.id)?(y(),E("button",{key:0,class:"dh-btn-danger ml-1.5",disabled:i.value,onClick:M=>x(T)}," Delete ",8,Gc)):j("",!0)])])}),128))])])):(y(),E("p",Lc,"No users."))]))}},qc={class:"dh-card overflow-hidden"},Jc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Yc={key:0,class:"border-b border-subtle px-5 py-3 text-xs text-danger"},Xc={key:1,class:"border-b border-subtle bg-sunken px-5 py-4"},Zc={class:"mt-3 flex items-center gap-2"},Qc=["disabled"],eu=["disabled"],tu={key:2,class:"px-5 py-6 text-center text-sm text-muted"},su={key:3,class:"w-full text-left text-sm"},nu={class:"px-5 py-2.5 font-medium text-strong"},iu={class:"data px-5 py-2.5 text-xs text-muted"},lu={class:"px-5 py-2.5 text-right whitespace-nowrap"},ou=["onClick"],ru=["disabled","onClick"],au={__name:"OrgsCard",setup(e){const t=H([]),s=H(""),n=H(!1),i=H(null),l=H("");async function o(){try{const b=await ee("/api/orgs");t.value=b.organizations||[],s.value=""}catch(b){s.value=b.message}}at(o);function r(){i.value="new",l.value=""}function a(b){i.value=b.id,l.value=b.name}function p(){i.value=null,s.value=""}async function u(){n.value=!0,s.value="";try{i.value==="new"?await ee("/api/orgs",{method:"POST",body:{name:l.value}}):await ee(`/api/orgs/${i.value}`,{method:"PATCH",body:{name:l.value}}),i.value=null,await o()}catch(b){s.value=b.message}finally{n.value=!1}}async function h(b){if(confirm(`Delete the organization "${b.name}"?`)){n.value=!0,s.value="";try{await ee(`/api/orgs/${b.id}`,{method:"DELETE"}),await o()}catch(x){s.value=x.message}finally{n.value=!1}}}return(b,x)=>(y(),E("div",qc,[d("div",Jc,[x[1]||(x[1]=d("div",null,[d("div",{class:"text-base font-bold tracking-[-0.02em] text-strong"},"Organizations"),d("p",{class:"mt-0.5 text-xs text-muted"},"Tenants users belong to")],-1)),ne(gt)?(y(),E("button",{key:0,class:"dh-btn",onClick:r},"New organization")):j("",!0)]),s.value?(y(),E("p",Yc,I(s.value),1)):j("",!0),i.value?(y(),E("div",Xc,[x[2]||(x[2]=d("label",{class:"dh-label"},"Name",-1)),le(d("input",{"onUpdate:modelValue":x[0]||(x[0]=D=>l.value=D),class:"dh-input",placeholder:"Acme Fleet",onKeyup:Gr(u,["enter"])},null,544),[[de,l.value]]),d("div",Zc,[d("button",{class:"dh-btn",disabled:n.value||!l.value.trim(),onClick:u},I(i.value==="new"?"Create":"Save"),9,Qc),d("button",{class:"dh-btn-ghost",disabled:n.value,onClick:p},"Cancel",8,eu)])])):j("",!0),t.value.length?(y(),E("table",su,[x[3]||(x[3]=d("thead",null,[d("tr",{class:"[&>th]:eyebrow [&>th]:px-5 [&>th]:py-2.5 [&>th]:font-medium"},[d("th",null,"Name"),d("th",null,"ID"),d("th")])],-1)),d("tbody",null,[(y(!0),E(Q,null,Ce(t.value,D=>(y(),E("tr",{key:D.id,class:"border-t border-subtle transition-colors hover:bg-sunken"},[d("td",nu,I(D.name),1),d("td",iu,I(D.id),1),d("td",lu,[ne(gt)?(y(),E(Q,{key:0},[d("button",{class:"dh-btn-ghost",onClick:S=>a(D)},"Rename",8,ou),d("button",{class:"dh-btn-danger ml-1.5",disabled:n.value,onClick:S=>h(D)}," Delete ",8,ru)],64)):j("",!0)])]))),128))])])):(y(),E("p",tu," No organizations yet. "))]))}},cu={class:"dh-card overflow-hidden"},uu={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},fu={class:"text-base font-bold tracking-[-0.02em] text-strong"},du={class:"eyebrow"},pu={class:"w-full text-left text-sm"},hu={class:"data border-t border-subtle px-5 py-2.5 text-xs whitespace-nowrap"},gu={class:"text-strong"},mu={class:"border-t border-subtle px-5 py-2.5 text-body"},tt={__name:"EndpointTable",props:{title:String,auth:String,endpoints:Array},setup(e){const t={GET:"text-success",POST:"text-brandtext",PATCH:"text-warning",DELETE:"text-danger"};return(s,n)=>(y(),E("div",cu,[d("div",uu,[d("div",fu,I(e.title),1),d("span",du,I(e.auth),1)]),d("table",pu,[n[0]||(n[0]=d("thead",null,[d("tr",{class:"[&>th]:eyebrow [&>th]:px-5 [&>th]:py-2.5 [&>th]:font-medium"},[d("th",null,"Endpoint"),d("th",null,"Description")])],-1)),d("tbody",null,[(y(!0),E(Q,null,Ce(e.endpoints,i=>(y(),E("tr",{key:i.method+i.path,class:"transition-colors hover:bg-sunken"},[d("td",hu,[d("span",{class:$e(["font-semibold",t[i.method]])},I(i.method),3),d("span",gu,I(i.path),1)]),d("td",mu,I(i.desc),1)]))),128))])])]))}},bu={class:"mx-auto flex max-w-4xl flex-col gap-6 px-6 pt-12 pb-16"},vu={class:"flex items-center gap-3"},_u={class:"inline-flex items-center gap-2.5 select-none"},yu={class:"h-8 w-8 shrink-0",viewBox:"0 0 48 48",fill:"none","aria-hidden":"true"},xu={transform:"translate(7 0) skewX(-13)"},wu=["fill"],Su=["fill"],Tu=["fill"],Cu={key:0,class:"data hidden text-xs text-muted sm:inline"},Eu={key:0},ku={key:1,class:"dh-pill bg-info-soft text-info"},$u=["title"],Pu={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.75",class:"h-4 w-4"},Au={key:1,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.75",class:"h-4 w-4"},Ou={key:0,class:"eyebrow py-16 text-center"},Ru={class:"flex flex-wrap gap-1.5"},Mu=["onClick"],Iu={key:7,class:"eyebrow text-center"},Du={__name:"App",setup(e){const t=H(!0),s=H("overview");at(async()=>{await na(),t.value=!1});const n=vt(()=>{const D=[{id:"overview",label:"Overview"}];return ci.value&&D.push({id:"users",label:"Users"},{id:"orgs",label:"Organizations"}),gt.value&&D.push({id:"pocketbase",label:"PocketBase"},{id:"webapp",label:"Web App"},{id:"plugins",label:"Plugins"}),D.push({id:"api",label:"API"}),D});function i(){wn(),s.value="overview"}const l=vt(()=>Ct.value==="dark"?["#60a5fa","#93c5fd","#ffffff"]:["var(--brand-700)","var(--brand-500)","var(--brand-400)"]),o=[{method:"GET",path:"/api/health",desc:"Liveness probe (no auth)"},{method:"GET",path:"/api/status",desc:"Health of PocketBase + Web App"},{method:"POST",path:"/api/auth/login",desc:"Exchange email + password for a PocketBase token"},{method:"GET",path:"/api/auth/validate",desc:"Check whether a token is still valid"}],r=[{method:"GET",path:"/api/auth/me",desc:"Identity of the bearer token"},{method:"GET",path:"/api/identity",desc:"Identity incl. role + organization"}],a=[{method:"GET",path:"/api/cars",desc:"List owned + shared cars"},{method:"POST",path:"/api/cars",desc:"Create a car"},{method:"GET",path:"/api/cars/{id}",desc:"Fetch one car"},{method:"PATCH",path:"/api/cars/{id}",desc:"Update a car"},{method:"DELETE",path:"/api/cars/{id}",desc:"Delete a car (owner only)"},{method:"GET",path:"/api/cars/{id}/service-records",desc:"A car's service history"},{method:"GET",path:"/api/cars/{id}/parts",desc:"A car's parts catalog"},{method:"GET",path:"/api/cars/{id}/shares",desc:"Who a car is shared with (owner)"},{method:"POST",path:"/api/cars/{id}/shares",desc:"Share a car by email (owner)"},{method:"DELETE",path:"/api/cars/{id}/shares/{userId}",desc:"Revoke a share (owner)"}],p=[{method:"GET",path:"/api/service-records",desc:"List service records"},{method:"POST",path:"/api/service-records",desc:"Log a service record"},{method:"GET",path:"/api/service-records/{id}",desc:"Fetch one record"},{method:"PATCH",path:"/api/service-records/{id}",desc:"Update a record"},{method:"DELETE",path:"/api/service-records/{id}",desc:"Delete a record"}],u=[{method:"GET",path:"/api/parts",desc:"List parts"},{method:"POST",path:"/api/parts",desc:"Add a part"},{method:"GET",path:"/api/parts/{id}",desc:"Fetch one part"},{method:"PATCH",path:"/api/parts/{id}",desc:"Update a part"},{method:"DELETE",path:"/api/parts/{id}",desc:"Delete a part"}],h=[{method:"GET",path:"/api/me",desc:"Current user profile"},{method:"PATCH",path:"/api/me",desc:"Update profile"},{method:"POST",path:"/api/me/password",desc:"Change password"},{method:"POST",path:"/api/me/avatar",desc:"Upload avatar"},{method:"GET",path:"/api/me/avatar",desc:"Fetch avatar"},{method:"DELETE",path:"/api/me/avatar",desc:"Remove avatar"},{method:"POST",path:"/api/me/verify/request",desc:"Request email verification"},{method:"GET",path:"/api/me/export",desc:"Export your data"},{method:"POST",path:"/api/me/import",desc:"Import data"},{method:"POST",path:"/api/me/delete",desc:"Request account deletion"},{method:"POST",path:"/api/me/delete/cancel",desc:"Cancel deletion request"},{method:"DELETE",path:"/api/me",desc:"Finalize account deletion"}],b=[{method:"GET",path:"/api/users",desc:"List users (scoped by role)"},{method:"POST",path:"/api/users",desc:"Create a user"},{method:"PATCH",path:"/api/users/{id}",desc:"Update email / name / role / org / password"},{method:"DELETE",path:"/api/users/{id}",desc:"Delete a user"},{method:"GET",path:"/api/orgs",desc:"List organizations"},{method:"POST",path:"/api/orgs",desc:"Create an organization (superadmin)"},{method:"PATCH",path:"/api/orgs/{id}",desc:"Rename an organization (superadmin)"},{method:"DELETE",path:"/api/orgs/{id}",desc:"Delete an organization (superadmin)"}],x=[{method:"GET",path:"/api/admin/pb-config",desc:"PocketBase connection + live probe"},{method:"POST",path:"/api/admin/pb-config/test",desc:"Probe a candidate connection"},{method:"PUT",path:"/api/admin/pb-config",desc:"Apply + persist a connection"},{method:"GET",path:"/api/admin/webapp-config",desc:"Web App URL + CORS origins, with a live probe"},{method:"POST",path:"/api/admin/webapp-config/test",desc:"Probe a candidate Web App address"},{method:"PUT",path:"/api/admin/webapp-config",desc:"Apply + persist Web App settings"},{method:"GET",path:"/api/admin/plugins",desc:"List plugins (secrets masked)"},{method:"POST",path:"/api/admin/plugins",desc:"Register an external plugin"},{method:"GET",path:"/api/admin/plugins/{name}",desc:"Fetch one plugin"},{method:"PUT",path:"/api/admin/plugins/{name}",desc:"Enable/disable + configure"},{method:"DELETE",path:"/api/admin/plugins/{name}",desc:"Remove an external plugin"},{method:"POST",path:"/api/admin/plugins/{name}/health",desc:"Run a health check now"}];return(D,S)=>(y(),E("div",bu,[d("div",vu,[d("span",_u,[(y(),E("svg",yu,[d("g",xu,[d("rect",{x:"9",y:"16",width:"6",height:"16",rx:"3",fill:l.value[0]},null,8,wu),d("rect",{x:"19",y:"12",width:"6",height:"24",rx:"3",fill:l.value[1]},null,8,Su),d("rect",{x:"29",y:"8",width:"6",height:"32",rx:"3",fill:l.value[2]},null,8,Tu)])])),S[1]||(S[1]=d("span",{class:"text-2xl leading-none font-extrabold tracking-[-0.03em] italic"},[d("span",{class:"text-strong"},"Driver"),d("span",{class:"text-brandtext"},"Vault")],-1))]),S[5]||(S[5]=d("span",{class:"eyebrow mt-1.5"},"API server",-1)),S[6]||(S[6]=d("div",{class:"flex-1"},null,-1)),ne(ue)?(y(),E("span",Cu,[Se(I(ne(ue).email),1),ne(ue).organizationName?(y(),E("span",Eu," · "+I(ne(ue).organizationName),1)):j("",!0)])):j("",!0),ne(ue)?(y(),E("span",ku,I(ne(ue).role),1)):j("",!0),d("button",{class:"dh-btn-ghost",title:ne(Ct)==="dark"?"Switch to light theme":"Switch to dark theme",onClick:S[0]||(S[0]=(...C)=>ne(ai)&&ne(ai)(...C))},[ne(Ct)==="dark"?(y(),E("svg",Pu,[...S[2]||(S[2]=[d("circle",{cx:"12",cy:"12",r:"4"},null,-1),d("path",{"stroke-linecap":"round",d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"},null,-1)])])):(y(),E("svg",Au,[...S[3]||(S[3]=[d("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"},null,-1)])])),S[4]||(S[4]=Se(" Theme ",-1))],8,$u),ne(Pt)?(y(),E("button",{key:2,class:"dh-btn-ghost",onClick:i},"Sign out")):j("",!0)]),t.value?(y(),E("p",Ou,"Loading…")):ne(Pt)?(y(),E(Q,{key:2},[d("nav",Ru,[(y(!0),E(Q,null,Ce(n.value,C=>(y(),E("button",{key:C.id,class:$e(["dh-btn-ghost",s.value===C.id?"border-accent text-brandtext":""]),onClick:T=>s.value=C.id},I(C.label),11,Mu))),128))]),s.value==="overview"?(y(),st(_a,{key:0})):s.value==="users"?(y(),st(zc,{key:1})):s.value==="orgs"?(y(),st(au,{key:2})):s.value==="pocketbase"?(y(),st(Oa,{key:3})):s.value==="webapp"?(y(),st(Va,{key:4})):s.value==="plugins"?(y(),st(Sc,{key:5})):s.value==="api"?(y(),E(Q,{key:6},[ae(tt,{title:"Public",auth:"No auth",endpoints:o}),ae(tt,{title:"Identity",auth:"Bearer token",endpoints:r}),ae(tt,{title:"Cars",auth:"Bearer token",endpoints:a}),ae(tt,{title:"Service records",auth:"Bearer token",endpoints:p}),ae(tt,{title:"Parts",auth:"Bearer token",endpoints:u}),ae(tt,{title:"Account",auth:"Bearer token",endpoints:h}),ae(tt,{title:"Management",auth:"Admin / superadmin",endpoints:b}),ae(tt,{title:"Superadmin",auth:"Superadmin",endpoints:x})],64)):j("",!0),!ne(ci)&&s.value==="overview"?(y(),E("p",Iu," Signed in as a standard user — management sections need an admin role ")):j("",!0)],64)):(y(),st(aa,{key:1})),S[7]||(S[7]=d("p",{class:"eyebrow text-center"},"DriverVault — car maintenance & service tracker.",-1))]))}};Jr(Du).mount("#app");
|