sova-devtools 0.1.10

In-app DevTools bar for Sova (HTML inject, SSE timeline, request snapshots)
Documentation
1
2
3
4
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();function Dr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const be={},pn=[],wt=()=>{},Cl=()=>!1,Is=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vs=e=>e.startsWith("onUpdate:"),De=Object.assign,Ur=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},fi=Object.prototype.hasOwnProperty,xe=(e,t)=>fi.call(e,t),Y=Array.isArray,hn=e=>as(e)==="[object Map]",kn=e=>as(e)==="[object Set]",go=e=>as(e)==="[object Date]",ne=e=>typeof e=="function",Oe=e=>typeof e=="string",st=e=>typeof e=="symbol",_e=e=>e!==null&&typeof e=="object",El=e=>(_e(e)||ne(e))&&ne(e.then)&&ne(e.catch),$l=Object.prototype.toString,as=e=>$l.call(e),pi=e=>as(e).slice(8,-1),Rl=e=>as(e)==="[object Object]",Ls=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Un=Dr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),js=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},hi=/-\w/g,We=js(e=>e.replace(hi,t=>t.slice(1).toUpperCase())),vi=/\B([A-Z])/g,Dt=js(e=>e.replace(vi,"-$1").toLowerCase()),qs=js(e=>e.charAt(0).toUpperCase()+e.slice(1)),tr=js(e=>e?`on${qs(e)}`:""),He=(e,t)=>!Object.is(e,t),ys=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Ml=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ds=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let bo;const Us=()=>bo||(bo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function St(e){if(Y(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=Oe(s)?yi(s):St(s);if(r)for(const o in r)t[o]=r[o]}return t}else if(Oe(e)||_e(e))return e}const mi=/;(?![^(]*\))/g,gi=/:([^]+)/,bi=/\/\*[^]*?\*\//g;function yi(e){const t={};return e.replace(bi,"").split(mi).forEach(n=>{if(n){const s=n.split(gi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Se(e){let t="";if(Oe(e))t=e;else if(Y(e))for(let n=0;n<e.length;n++){const s=Se(e[n]);s&&(t+=s+" ")}else if(_e(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const xi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",_i=Dr(xi);function Tl(e){return!!e||e===""}function wi(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Sn(e[s],t[s]);return n}function Sn(e,t){if(e===t)return!0;let n=go(e),s=go(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=st(e),s=st(t),n||s)return e===t;if(n=Y(e),s=Y(t),n||s)return n&&s?wi(e,t):!1;if(n=_e(e),s=_e(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const l in e){const a=e.hasOwnProperty(l),i=t.hasOwnProperty(l);if(a&&!i||!a&&i||!Sn(e[l],t[l]))return!1}}return String(e)===String(t)}function Fr(e,t){return e.findIndex(n=>Sn(n,t))}const Ol=e=>!!(e&&e.__v_isRef===!0),V=e=>Oe(e)?e:e==null?"":Y(e)||_e(e)&&(e.toString===$l||!ne(e.toString))?Ol(e)?V(e.value):JSON.stringify(e,Al,2):String(e),Al=(e,t)=>Ol(t)?Al(e,t.value):hn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[nr(s,o)+" =>"]=r,n),{})}:kn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>nr(n))}:st(t)?nr(t):_e(t)&&!Y(t)&&!Rl(t)?String(t):t,nr=(e,t="")=>{var n;return st(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let qe;class Nl{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&&qe&&(qe.active?(this.parent=qe,this.index=(qe.scopes||(qe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=qe;try{return qe=this,t()}finally{qe=n}}}on(){++this._on===1&&(this.prevScope=qe,qe=this)}off(){if(this._on>0&&--this._on===0){if(qe===this)qe=this.prevScope;else{let t=qe;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 n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const r=this.scopes.slice();for(n=0,s=r.length;n<s;n++)r[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Pl(e){return new Nl(e)}function Il(){return qe}function ki(e,t=!1){qe&&qe.cleanups.push(e)}let $e;const sr=new WeakSet;class Vl{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,qe&&(qe.active?qe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,sr.has(this)&&(sr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||jl(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,yo(this),ql(this);const t=$e,n=it;$e=this,it=!0;try{return this.fn()}finally{Dl(this),$e=t,it=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Kr(t);this.deps=this.depsTail=void 0,yo(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?sr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){yr(this)&&this.run()}get dirty(){return yr(this)}}let Ll=0,Fn,Hn;function jl(e,t=!1){if(e.flags|=8,t){e.next=Hn,Hn=e;return}e.next=Fn,Fn=e}function Hr(){Ll++}function Br(){if(--Ll>0)return;if(Hn){let t=Hn;for(Hn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Fn;){let t=Fn;for(Fn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function ql(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Dl(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Kr(s),Si(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function yr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ul(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ul(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Jn)||(e.globalVersion=Jn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!yr(e))))return;e.flags|=2;const t=e.dep,n=$e,s=it;$e=e,it=!0;try{ql(e);const r=e.fn(e._value);(t.version===0||He(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{$e=n,it=s,Dl(e),e.flags&=-3}}function Kr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Kr(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Si(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let it=!0;const Fl=[];function Vt(){Fl.push(it),it=!1}function Lt(){const e=Fl.pop();it=e===void 0?!0:e}function yo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=$e;$e=void 0;try{t()}finally{$e=n}}}let Jn=0;class Ci{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Fs{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(!$e||!it||$e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==$e)n=this.activeLink=new Ci($e,this),$e.deps?(n.prevDep=$e.depsTail,$e.depsTail.nextDep=n,$e.depsTail=n):$e.deps=$e.depsTail=n,Hl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=$e.depsTail,n.nextDep=void 0,$e.depsTail.nextDep=n,$e.depsTail=n,$e.deps===n&&($e.deps=s)}return n}trigger(t){this.version++,Jn++,this.notify(t)}notify(t){Hr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Br()}}}function Hl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Hl(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ss=new WeakMap,nn=Symbol(""),xr=Symbol(""),Qn=Symbol("");function ze(e,t,n){if(it&&$e){let s=Ss.get(e);s||Ss.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Fs),r.map=s,r.key=n),r.track()}}function At(e,t,n,s,r,o){const l=Ss.get(e);if(!l){Jn++;return}const a=i=>{i&&i.trigger()};if(Hr(),t==="clear")l.forEach(a);else{const i=Y(e),u=i&&Ls(n);if(i&&n==="length"){const c=Number(s);l.forEach((d,g)=>{(g==="length"||g===Qn||!st(g)&&g>=c)&&a(d)})}else switch((n!==void 0||l.has(void 0))&&a(l.get(n)),u&&a(l.get(Qn)),t){case"add":i?u&&a(l.get("length")):(a(l.get(nn)),hn(e)&&a(l.get(xr)));break;case"delete":i||(a(l.get(nn)),hn(e)&&a(l.get(xr)));break;case"set":hn(e)&&a(l.get(nn));break}}Br()}function Ei(e,t){const n=Ss.get(e);return n&&n.get(t)}function rn(e){const t=ge(e);return t===e?t:(ze(t,"iterate",Qn),tt(e)?t:t.map(ct))}function Hs(e){return ze(e=ge(e),"iterate",Qn),e}function yt(e,t){return jt(e)?bn(Pt(e)?ct(t):t):ct(t)}const $i={__proto__:null,[Symbol.iterator](){return rr(this,Symbol.iterator,e=>yt(this,e))},concat(...e){return rn(this).concat(...e.map(t=>Y(t)?rn(t):t))},entries(){return rr(this,"entries",e=>(e[1]=yt(this,e[1]),e))},every(e,t){return Rt(this,"every",e,t,void 0,arguments)},filter(e,t){return Rt(this,"filter",e,t,n=>n.map(s=>yt(this,s)),arguments)},find(e,t){return Rt(this,"find",e,t,n=>yt(this,n),arguments)},findIndex(e,t){return Rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Rt(this,"findLast",e,t,n=>yt(this,n),arguments)},findLastIndex(e,t){return Rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return or(this,"includes",e)},indexOf(...e){return or(this,"indexOf",e)},join(e){return rn(this).join(e)},lastIndexOf(...e){return or(this,"lastIndexOf",e)},map(e,t){return Rt(this,"map",e,t,void 0,arguments)},pop(){return Mn(this,"pop")},push(...e){return Mn(this,"push",e)},reduce(e,...t){return xo(this,"reduce",e,t)},reduceRight(e,...t){return xo(this,"reduceRight",e,t)},shift(){return Mn(this,"shift")},some(e,t){return Rt(this,"some",e,t,void 0,arguments)},splice(...e){return Mn(this,"splice",e)},toReversed(){return rn(this).toReversed()},toSorted(e){return rn(this).toSorted(e)},toSpliced(...e){return rn(this).toSpliced(...e)},unshift(...e){return Mn(this,"unshift",e)},values(){return rr(this,"values",e=>yt(this,e))}};function rr(e,t,n){const s=Hs(e),r=s[t]();return s!==e&&!tt(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const Ri=Array.prototype;function Rt(e,t,n,s,r,o){const l=Hs(e),a=l!==e&&!tt(e),i=l[t];if(i!==Ri[t]){const d=i.apply(e,o);return a?ct(d):d}let u=n;l!==e&&(a?u=function(d,g){return n.call(this,yt(e,d),g,e)}:n.length>2&&(u=function(d,g){return n.call(this,d,g,e)}));const c=i.call(l,u,s);return a&&r?r(c):c}function xo(e,t,n,s){const r=Hs(e),o=r!==e&&!tt(e);let l=n,a=!1;r!==e&&(o?(a=s.length===0,l=function(u,c,d){return a&&(a=!1,u=yt(e,u)),n.call(this,u,yt(e,c),d,e)}):n.length>3&&(l=function(u,c,d){return n.call(this,u,c,d,e)}));const i=r[t](l,...s);return a?yt(e,i):i}function or(e,t,n){const s=ge(e);ze(s,"iterate",Qn);const r=s[t](...n);return(r===-1||r===!1)&&Bs(n[0])?(n[0]=ge(n[0]),s[t](...n)):r}function Mn(e,t,n=[]){Vt(),Hr();const s=ge(e)[t].apply(e,n);return Br(),Lt(),s}const Mi=Dr("__proto__,__v_isRef,__isVue"),Bl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(st));function Ti(e){st(e)||(e=String(e));const t=ge(this);return ze(t,"has",e),t.hasOwnProperty(e)}class Kl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Di:Jl:o?Wl:Gl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const l=Y(t);if(!r){let i;if(l&&(i=$i[n]))return i;if(n==="hasOwnProperty")return Ti}const a=Reflect.get(t,n,Ne(t)?t:s);if((st(n)?Bl.has(n):Mi(n))||(r||ze(t,"get",n),o))return a;if(Ne(a)){const i=l&&Ls(n)?a:a.value;return r&&_e(i)?wr(i):i}return _e(a)?r?wr(a):is(a):a}}class zl extends Kl{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const l=Y(t)&&Ls(n);if(!this._isShallow){const u=jt(o);if(!tt(s)&&!jt(s)&&(o=ge(o),s=ge(s)),!l&&Ne(o)&&!Ne(s))return u||(o.value=s),!0}const a=l?Number(n)<t.length:xe(t,n),i=Reflect.set(t,n,s,Ne(t)?t:r);return t===ge(r)&&i&&(a?He(s,o)&&At(t,"set",n,s):At(t,"add",n,s)),i}deleteProperty(t,n){const s=xe(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&At(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!st(n)||!Bl.has(n))&&ze(t,"has",n),s}ownKeys(t){return ze(t,"iterate",Y(t)?"length":nn),Reflect.ownKeys(t)}}class Oi extends Kl{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ai=new zl,Ni=new Oi,Pi=new zl(!0);const _r=e=>e,ps=e=>Reflect.getPrototypeOf(e);function Ii(e,t,n){return function(...s){const r=this.__v_raw,o=ge(r),l=hn(o),a=e==="entries"||e===Symbol.iterator&&l,i=e==="keys"&&l,u=r[e](...s),c=n?_r:t?bn:ct;return!t&&ze(o,"iterate",i?xr:nn),De(Object.create(u),{next(){const{value:d,done:g}=u.next();return g?{value:d,done:g}:{value:a?[c(d[0]),c(d[1])]:c(d),done:g}}})}}function hs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vi(e,t){const n={get(r){const o=this.__v_raw,l=ge(o),a=ge(r);e||(He(r,a)&&ze(l,"get",r),ze(l,"get",a));const{has:i}=ps(l),u=t?_r:e?bn:ct;if(i.call(l,r))return u(o.get(r));if(i.call(l,a))return u(o.get(a));o!==l&&o.get(r)},get size(){const r=this.__v_raw;return!e&&ze(ge(r),"iterate",nn),r.size},has(r){const o=this.__v_raw,l=ge(o),a=ge(r);return e||(He(r,a)&&ze(l,"has",r),ze(l,"has",a)),r===a?o.has(r):o.has(r)||o.has(a)},forEach(r,o){const l=this,a=l.__v_raw,i=ge(a),u=t?_r:e?bn:ct;return!e&&ze(i,"iterate",nn),a.forEach((c,d)=>r.call(o,u(c),u(d),l))}};return De(n,e?{add:hs("add"),set:hs("set"),delete:hs("delete"),clear:hs("clear")}:{add(r){const o=ge(this),l=ps(o),a=ge(r),i=!t&&!tt(r)&&!jt(r)?a:r;return l.has.call(o,i)||He(r,i)&&l.has.call(o,r)||He(a,i)&&l.has.call(o,a)||(o.add(i),At(o,"add",i,i)),this},set(r,o){!t&&!tt(o)&&!jt(o)&&(o=ge(o));const l=ge(this),{has:a,get:i}=ps(l);let u=a.call(l,r);u||(r=ge(r),u=a.call(l,r));const c=i.call(l,r);return l.set(r,o),u?He(o,c)&&At(l,"set",r,o):At(l,"add",r,o),this},delete(r){const o=ge(this),{has:l,get:a}=ps(o);let i=l.call(o,r);i||(r=ge(r),i=l.call(o,r)),a&&a.call(o,r);const u=o.delete(r);return i&&At(o,"delete",r,void 0),u},clear(){const r=ge(this),o=r.size!==0,l=r.clear();return o&&At(r,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ii(r,e,t)}),n}function zr(e,t){const n=Vi(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(xe(n,r)&&r in s?n:s,r,o)}const Li={get:zr(!1,!1)},ji={get:zr(!1,!0)},qi={get:zr(!0,!1)};const Gl=new WeakMap,Wl=new WeakMap,Jl=new WeakMap,Di=new WeakMap;function Ui(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function is(e){return jt(e)?e:Gr(e,!1,Ai,Li,Gl)}function Ql(e){return Gr(e,!1,Pi,ji,Wl)}function wr(e){return Gr(e,!0,Ni,qi,Jl)}function Gr(e,t,n,s,r){if(!_e(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=r.get(e);if(o)return o;const l=Ui(pi(e));if(l===0)return e;const a=new Proxy(e,l===2?s:n);return r.set(e,a),a}function Pt(e){return jt(e)?Pt(e.__v_raw):!!(e&&e.__v_isReactive)}function jt(e){return!!(e&&e.__v_isReadonly)}function tt(e){return!!(e&&e.__v_isShallow)}function Bs(e){return e?!!e.__v_raw:!1}function ge(e){const t=e&&e.__v_raw;return t?ge(t):e}function Wr(e){return!xe(e,"__v_skip")&&Object.isExtensible(e)&&Ml(e,"__v_skip",!0),e}const ct=e=>_e(e)?is(e):e,bn=e=>_e(e)?wr(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function O(e){return Yl(e,!1)}function Fi(e){return Yl(e,!0)}function Yl(e,t){return Ne(e)?e:new Hi(e,t)}class Hi{constructor(t,n){this.dep=new Fs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ge(t),this._value=n?t:ct(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||tt(t)||jt(t);t=s?t:ge(t),He(t,n)&&(this._rawValue=t,this._value=s?t:ct(t),this.dep.trigger())}}function f(e){return Ne(e)?e.value:e}const Bi={get:(e,t,n)=>t==="__v_raw"?e:f(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return Ne(r)&&!Ne(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Xl(e){return Pt(e)?e:new Proxy(e,Bi)}class Ki{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Fs,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function zi(e){return new Ki(e)}function Gi(e){const t=Y(e)?new Array(e.length):{};for(const n in e)t[n]=Ji(e,n);return t}class Wi{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=st(n)?n:String(n),this._raw=ge(t);let r=!0,o=t;if(!Y(t)||st(this._key)||!Ls(this._key))do r=!Bs(o)||tt(o);while(r&&(o=o.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=f(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ne(this._raw[this._key])){const n=this._object[this._key];if(Ne(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ei(this._raw,this._key)}}function Ji(e,t,n){return new Wi(e,t,n)}class Qi{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Fs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Jn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&$e!==this)return jl(this,!0),!0}get value(){const t=this.dep.track();return Ul(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Yi(e,t,n=!1){let s,r;return ne(e)?s=e:(s=e.get,r=e.set),new Qi(s,r,n)}const vs={},Cs=new WeakMap;let Xt;function Xi(e,t=!1,n=Xt){if(n){let s=Cs.get(n);s||Cs.set(n,s=[]),s.push(e)}}function Zi(e,t,n=be){const{immediate:s,deep:r,once:o,scheduler:l,augmentJob:a,call:i}=n,u=T=>r?T:tt(T)||r===!1||r===0?Nt(T,1):Nt(T);let c,d,g,v,x=!1,y=!1;if(Ne(e)?(d=()=>e.value,x=tt(e)):Pt(e)?(d=()=>u(e),x=!0):Y(e)?(y=!0,x=e.some(T=>Pt(T)||tt(T)),d=()=>e.map(T=>{if(Ne(T))return T.value;if(Pt(T))return u(T);if(ne(T))return i?i(T,2):T()})):ne(e)?t?d=i?()=>i(e,2):e:d=()=>{if(g){Vt();try{g()}finally{Lt()}}const T=Xt;Xt=c;try{return i?i(e,3,[v]):e(v)}finally{Xt=T}}:d=wt,t&&r){const T=d,L=r===!0?1/0:r;d=()=>Nt(T(),L)}const C=Il(),P=()=>{c.stop(),C&&C.active&&Ur(C.effects,c)};if(o&&t){const T=t;t=(...L)=>{const z=T(...L);return P(),z}}let E=y?new Array(e.length).fill(vs):vs;const k=T=>{if(!(!(c.flags&1)||!c.dirty&&!T))if(t){const L=c.run();if(T||r||x||(y?L.some((z,G)=>He(z,E[G])):He(L,E))){g&&g();const z=Xt;Xt=c;try{const G=[L,E===vs?void 0:y&&E[0]===vs?[]:E,v];E=L,i?i(t,3,G):t(...G)}finally{Xt=z}}}else c.run()};return a&&a(k),c=new Vl(d),c.scheduler=l?()=>l(k,!1):k,v=T=>Xi(T,!1,c),g=c.onStop=()=>{const T=Cs.get(c);if(T){if(i)i(T,4);else for(const L of T)L();Cs.delete(c)}},t?s?k(!0):E=c.run():l?l(k.bind(null,!0),!0):c.run(),P.pause=c.pause.bind(c),P.resume=c.resume.bind(c),P.stop=P,P}function Nt(e,t=1/0,n){if(t<=0||!_e(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ne(e))Nt(e.value,t,n);else if(Y(e))for(let s=0;s<e.length;s++)Nt(e[s],t,n);else if(kn(e)||hn(e))e.forEach(s=>{Nt(s,t,n)});else if(Rl(e)){for(const s in e)Nt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Nt(e[s],t,n)}return e}function us(e,t,n,s){try{return s?e(...s):e()}catch(r){Ks(r,t,n)}}function dt(e,t,n,s){if(ne(e)){const r=us(e,t,n,s);return r&&El(r)&&r.catch(o=>{Ks(o,t,n)}),r}if(Y(e)){const r=[];for(let o=0;o<e.length;o++)r.push(dt(e[o],t,n,s));return r}}function Ks(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||be;if(t){let a=t.parent;const i=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const c=a.ec;if(c){for(let d=0;d<c.length;d++)if(c[d](e,i,u)===!1)return}a=a.parent}if(o){Vt(),us(o,null,10,[e,i,u]),Lt();return}}eu(e,n,r,s,l)}function eu(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const Ye=[];let bt=-1;const vn=[];let zt=null,an=0;const Zl=Promise.resolve();let Es=null;function zs(e){const t=Es||Zl;return e?t.then(this?e.bind(this):e):t}function tu(e){let t=bt+1,n=Ye.length;for(;t<n;){const s=t+n>>>1,r=Ye[s],o=Yn(r);o<e||o===e&&r.flags&2?t=s+1:n=s}return t}function Jr(e){if(!(e.flags&1)){const t=Yn(e),n=Ye[Ye.length-1];!n||!(e.flags&2)&&t>=Yn(n)?Ye.push(e):Ye.splice(tu(t),0,e),e.flags|=1,ea()}}function ea(){Es||(Es=Zl.then(na))}function nu(e){if(!Y(e))zt&&e.id===-1?zt.splice(an+1,0,e):e.flags&1||(vn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)vn.push(e[t]);ea()}function _o(e,t,n=bt+1){for(;n<Ye.length;n++){const s=Ye[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Ye.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function ta(e){if(vn.length){const t=[...new Set(vn)].sort((n,s)=>Yn(n)-Yn(s));if(vn.length=0,zt){for(let n=0;n<t.length;n++)zt.push(t[n]);return}for(zt=t,an=0;an<zt.length;an++){const n=zt[an];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}zt=null,an=0}}const Yn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function na(e){try{for(bt=0;bt<Ye.length;bt++){const t=Ye[bt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),us(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;bt<Ye.length;bt++){const t=Ye[bt];t&&(t.flags&=-2)}bt=-1,Ye.length=0,ta(),Es=null,(Ye.length||vn.length)&&na()}}let Be=null,sa=null;function $s(e){const t=Be;return Be=e,sa=e&&e.type.__scopeId||null,t}function le(e,t=Be,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Os(-1);const o=$s(t),l=It.length;let a;try{a=e(...r)}finally{for(let i=It.length;i>l;i--)no();$s(o),s._d&&Os(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function te(e,t){if(Be===null)return e;const n=Ys(Be),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[o,l,a,i=be]=t[r];o&&(ne(o)&&(o={mounted:o,updated:o}),o.deep&&Nt(l),s.push({dir:o,instance:n,value:l,oldValue:void 0,arg:a,modifiers:i}))}return e}function Qt(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let l=0;l<r.length;l++){const a=r[l];o&&(a.oldValue=o[l].value);let i=a.dir[s];i&&(Vt(),dt(i,n,8,[e.el,a,e,t]),Lt())}}function xs(e,t){if(Ge){let n=Ge.provides;const s=Ge.parent&&Ge.parent.provides;s===n&&(n=Ge.provides=Object.create(s)),n[e]=t}}function nt(e,t,n=!1){const s=so();if(s||sn){let r=sn?sn._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&ne(t)?t.call(s&&s.proxy):t}}function su(){return!!(so()||sn)}const ru=Symbol.for("v-scx"),ou=()=>nt(ru);function lu(e,t){return Qr(e,null,{flush:"sync"})}function kt(e,t,n){return Qr(e,t,n)}function Qr(e,t,n=be){const{immediate:s,deep:r,flush:o,once:l}=n,a=De({},n),i=t&&s||!t&&o!=="post";let u;if(ts){if(o==="sync"){const v=ou();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=wt,v.resume=wt,v.pause=wt,v}}const c=Ge;a.call=(v,x,y)=>dt(v,c,x,y);let d=!1;o==="post"?a.scheduler=v=>{Xe(v,c&&c.suspense)}:o!=="sync"&&(d=!0,a.scheduler=(v,x)=>{x?v():Jr(v)}),a.augmentJob=v=>{t&&(v.flags|=4),d&&(v.flags|=2,c&&(v.id=c.uid,v.i=c))};const g=Zi(e,t,a);return ts&&(u?u.push(g):i&&g()),g}function au(e,t,n){const s=this.proxy,r=Oe(e)?e.includes(".")?ra(s,e):()=>s[e]:e.bind(s,s);let o;ne(t)?o=t:(o=t.handler,n=t);const l=ds(this),a=Qr(r,o.bind(s),n);return l(),a}function ra(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const iu=Symbol("_vte"),Gs=e=>e.__isTeleport,lr=Symbol("_leaveCb");function uu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function oa(e){if(!Xr(e))return Gs(e.type)&&e.children?uu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Yr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Yr(Gs(n.type)&&oa(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ae(e,t){return ne(e)?De({name:e.name},t,{setup:e}):e}function la(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function wo(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Rs=new WeakMap;function Bn(e,t,n,s,r=!1){if(Y(e)){e.forEach((y,C)=>Bn(y,t&&(Y(t)?t[C]:t),n,s,r));return}if(mn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Bn(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?Ys(s.component):s.el,l=r?null:o,{i:a,r:i}=e,u=t&&t.r,c=a.refs===be?a.refs={}:a.refs,d=a.setupState,g=ge(d),v=d===be?Cl:y=>wo(c,y)?!1:xe(g,y),x=(y,C)=>!(C&&wo(c,C));if(u!=null&&u!==i){if(ko(t),Oe(u))c[u]=null,v(u)&&(d[u]=null);else if(Ne(u)){const y=t;x(u,y.k)&&(u.value=null),y.k&&(c[y.k]=null)}}if(ne(i))us(i,a,12,[l,c]);else{const y=Oe(i),C=Ne(i);if(y||C){const P=()=>{if(e.f){const E=y?v(i)?d[i]:c[i]:x()||!e.k?i.value:c[e.k];if(r)Y(E)&&Ur(E,o);else if(Y(E))E.includes(o)||E.push(o);else if(y)c[i]=[o],v(i)&&(d[i]=c[i]);else{const k=[o];x(i,e.k)&&(i.value=k),e.k&&(c[e.k]=k)}}else y?(c[i]=l,v(i)&&(d[i]=l)):C&&(x(i,e.k)&&(i.value=l),e.k&&(c[e.k]=l))};if(l){const E=()=>{P(),Rs.delete(e)};E.id=-1,Rs.set(e,E),Xe(E,n)}else ko(e),P()}}}function ko(e){const t=Rs.get(e);t&&(t.flags|=8,Rs.delete(e))}Us().requestIdleCallback;Us().cancelIdleCallback;const mn=e=>!!e.type.__asyncLoader,Xr=e=>e.type.__isKeepAlive;function cu(e,t){aa(e,"a",t)}function du(e,t){aa(e,"da",t)}function aa(e,t,n=Ge){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ws(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Xr(r.parent.vnode)&&fu(s,t,n,r),r=r.parent}}function fu(e,t,n,s){const r=Ws(t,e,s,!0);Zr(()=>{Ur(s[t],r)},n)}function Ws(e,t,n=Ge,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...l)=>{Vt();const a=ds(n),i=dt(t,n,e,l);return a(),Lt(),i});return s?r.unshift(o):r.push(o),o}}const Ut=e=>(t,n=Ge)=>{(!ts||e==="sp")&&Ws(e,(...s)=>t(...s),n)},pu=Ut("bm"),cs=Ut("m"),hu=Ut("bu"),vu=Ut("u"),ia=Ut("bum"),Zr=Ut("um"),mu=Ut("sp"),gu=Ut("rtg"),bu=Ut("rtc");function yu(e,t=Ge){Ws("ec",e,t)}const ua="components";function xu(e,t){return fa(ua,e,!0,t)||e}const ca=Symbol.for("v-ndc");function da(e){return Oe(e)?fa(ua,e,!1)||e:e||ca}function fa(e,t,n=!0,s=!1){const r=Be||Ge;if(r){const o=r.type;{const a=oc(o,!1);if(a&&(a===t||a===We(t)||a===qs(We(t))))return o}const l=So(r[e]||o[e],t)||So(r.appContext[e],t);return!l&&s?o:l}}function So(e,t){return e&&(e[t]||e[We(t)]||e[qs(We(t))])}function de(e,t,n,s){let r;const o=n,l=Y(e);if(l||Oe(e)){const a=l&&Pt(e);let i=!1,u=!1;a&&(i=!tt(e),u=jt(e),e=Hs(e)),r=new Array(e.length);for(let c=0,d=e.length;c<d;c++)r[c]=t(i?u?bn(ct(e[c])):ct(e[c]):e[c],c,void 0,o)}else if(typeof e=="number"){r=new Array(e);for(let a=0;a<e;a++)r[a]=t(a+1,a,void 0,o)}else if(_e(e))if(e[Symbol.iterator])r=Array.from(e,(a,i)=>t(a,i,void 0,o));else{const a=Object.keys(e);r=new Array(a.length);for(let i=0,u=a.length;i<u;i++){const c=a[i];r[i]=t(e[c],c,i,o)}}else r=[];return r}function kr(e,t,n,s,r,o){if(n==null&&(n={}),Be.ce||Be.parent&&mn(Be.parent)&&Be.parent.ce){const u=n,c=Object.keys(u).length>0;return t!=="default"&&(u.name=t),h(),U(J,null,[N("slot",u,s&&s())],c?-2:64)}let l=e[t];l&&l._c&&(l._d=!1);const a=It.length;h();let i;try{const u=l&&pa(l(n)),c=n.key||o||u&&u.key;i=U(J,{key:(c&&!st(c)?c:`_${t}`)+(!u&&s?"_fb":"")},u||(s?s():[]),u&&e._===1?64:-2)}catch(u){for(let c=It.length;c>a;c--)no();throw u}finally{l&&l._c&&(l._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function pa(e){return e.some(t=>Zn(t)?!(t.type===Ct||t.type===J&&!pa(t.children)):!0)?e:null}const Sr=e=>e?Pa(e)?Ys(e):Sr(e.parent):null,Kn=De(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=>Sr(e.parent),$root:e=>Sr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>va(e),$forceUpdate:e=>e.f||(e.f=()=>{Jr(e.update)}),$nextTick:e=>e.n||(e.n=zs.bind(e.proxy)),$watch:e=>au.bind(e)}),ar=(e,t)=>e!==be&&!e.__isScriptSetup&&xe(e,t),_u={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:l,type:a,appContext:i}=e;if(t[0]!=="$"){const g=l[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(ar(s,t))return l[t]=1,s[t];if(r!==be&&xe(r,t))return l[t]=2,r[t];if(xe(o,t))return l[t]=3,o[t];if(n!==be&&xe(n,t))return l[t]=4,n[t];Cr&&(l[t]=0)}}const u=Kn[t];let c,d;if(u)return t==="$attrs"&&ze(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==be&&xe(n,t))return l[t]=4,n[t];if(d=i.config.globalProperties,xe(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return ar(r,t)?(r[t]=n,!0):s!==be&&xe(s,t)?(s[t]=n,!0):xe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:l}},a){let i;return!!(n[a]||e!==be&&a[0]!=="$"&&xe(e,a)||ar(t,a)||xe(o,a)||xe(s,a)||xe(Kn,a)||xe(r.config.globalProperties,a)||(i=l.__cssModules)&&i[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:xe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ms(e){return Y(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function wu(e,t){return!e||!t?e||t:Y(e)&&Y(t)?e.concat(t):De({},Ms(e),Ms(t))}let Cr=!0;function ku(e){const t=va(e),n=e.proxy,s=e.ctx;Cr=!1,t.beforeCreate&&Co(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:l,watch:a,provide:i,inject:u,created:c,beforeMount:d,mounted:g,beforeUpdate:v,updated:x,activated:y,deactivated:C,beforeDestroy:P,beforeUnmount:E,destroyed:k,unmounted:T,render:L,renderTracked:z,renderTriggered:G,errorCaptured:re,serverPrefetch:oe,expose:X,inheritAttrs:fe,components:Ue,directives:Ve,filters:Le}=t;if(u&&Su(u,s,null),l)for(const se in l){const me=l[se];ne(me)&&(s[se]=me.bind(n))}if(r){const se=r.call(n,n);_e(se)&&(e.data=is(se))}if(Cr=!0,o)for(const se in o){const me=o[se],ot=ne(me)?me.bind(n,n):ne(me.get)?me.get.bind(n,n):wt,lt=!ne(me)&&ne(me.set)?me.set.bind(n):wt,rt=M({get:ot,set:lt});Object.defineProperty(s,se,{enumerable:!0,configurable:!0,get:()=>rt.value,set:Ke=>rt.value=Ke})}if(a)for(const se in a)ha(a[se],s,n,se);if(i){const se=ne(i)?i.call(n):i;Reflect.ownKeys(se).forEach(me=>{xs(me,se[me])})}c&&Co(c,e,"c");function Ee(se,me){Y(me)?me.forEach(ot=>se(ot.bind(n))):me&&se(me.bind(n))}if(Ee(pu,d),Ee(cs,g),Ee(hu,v),Ee(vu,x),Ee(cu,y),Ee(du,C),Ee(yu,re),Ee(bu,z),Ee(gu,G),Ee(ia,E),Ee(Zr,T),Ee(mu,oe),Y(X))if(X.length){const se=e.exposed||(e.exposed={});X.forEach(me=>{Object.defineProperty(se,me,{get:()=>n[me],set:ot=>n[me]=ot,enumerable:!0})})}else e.exposed||(e.exposed={});L&&e.render===wt&&(e.render=L),fe!=null&&(e.inheritAttrs=fe),Ue&&(e.components=Ue),Ve&&(e.directives=Ve),oe&&la(e)}function Su(e,t,n=wt){Y(e)&&(e=Er(e));for(const s in e){const r=e[s];let o;_e(r)?"default"in r?o=nt(r.from||s,r.default,!0):o=nt(r.from||s):o=nt(r),Ne(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[s]=o}}function Co(e,t,n){dt(Y(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function ha(e,t,n,s){let r=s.includes(".")?ra(n,s):()=>n[s];if(Oe(e)){const o=t[e];ne(o)&&kt(r,o)}else if(ne(e))kt(r,e.bind(n));else if(_e(e))if(Y(e))e.forEach(o=>ha(o,t,n,s));else{const o=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(o)&&kt(r,o,e)}}function va(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:l}}=e.appContext,a=o.get(t);let i;return a?i=a:!r.length&&!n&&!s?i=t:(i={},r.length&&r.forEach(u=>Ts(i,u,l,!0)),Ts(i,t,l)),_e(t)&&o.set(t,i),i}function Ts(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Ts(e,o,n,!0),r&&r.forEach(l=>Ts(e,l,n,!0));for(const l in t)if(!(s&&l==="expose")){const a=Cu[l]||n&&n[l];e[l]=a?a(e[l],t[l]):t[l]}return e}const Cu={data:Eo,props:$o,emits:$o,methods:Nn,computed:Nn,beforeCreate:Je,created:Je,beforeMount:Je,mounted:Je,beforeUpdate:Je,updated:Je,beforeDestroy:Je,beforeUnmount:Je,destroyed:Je,unmounted:Je,activated:Je,deactivated:Je,errorCaptured:Je,serverPrefetch:Je,components:Nn,directives:Nn,watch:$u,provide:Eo,inject:Eu};function Eo(e,t){return t?e?function(){return De(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Eu(e,t){return Nn(Er(e),Er(t))}function Er(e){if(Y(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Je(e,t){return e?[...new Set([].concat(e,t))]:t}function Nn(e,t){return e?De(Object.create(null),e,t):t}function $o(e,t){return e?Y(e)&&Y(t)?[...new Set([...e,...t])]:De(Object.create(null),Ms(e),Ms(t??{})):t}function $u(e,t){if(!e)return t;if(!t)return e;const n=De(Object.create(null),e);for(const s in t)n[s]=Je(e[s],t[s]);return n}function ma(){return{app:null,config:{isNativeTag:Cl,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 Ru=0;function Mu(e,t){return function(s,r=null){ne(s)||(s=De({},s)),r!=null&&!_e(r)&&(r=null);const o=ma(),l=new WeakSet,a=[];let i=!1;const u=o.app={_uid:Ru++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:ac,get config(){return o.config},set config(c){},use(c,...d){return l.has(c)||(c&&ne(c.install)?(l.add(c),c.install(u,...d)):ne(c)&&(l.add(c),c(u,...d))),u},mixin(c){return o.mixins.includes(c)||o.mixins.push(c),u},component(c,d){return d?(o.components[c]=d,u):o.components[c]},directive(c,d){return d?(o.directives[c]=d,u):o.directives[c]},mount(c,d,g){if(!i){const v=u._ceVNode||N(s,r);return v.appContext=o,g===!0?g="svg":g===!1&&(g=void 0),e(v,c,g),i=!0,u._container=c,c.__vue_app__=u,Ys(v.component)}},onUnmount(c){a.push(c)},unmount(){i&&(dt(a,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(c,d){return o.provides[c]=d,u},runWithContext(c){const d=sn;sn=u;try{return c()}finally{sn=d}}};return u}}let sn=null;function Tu(e,t,n=be){const s=so(),r=We(t),o=Dt(t),l=ga(e,r),a=zi((i,u)=>{let c,d=be,g;return lu(()=>{const v=e[r];He(c,v)&&(c=v,u())}),{get(){return i(),n.get?n.get(c):c},set(v){const x=n.set?n.set(v):v;if(!He(x,c)&&!(d!==be&&He(v,d)))return;const y=s.vnode.props,C=!!(y&&(t in y||r in y||o in y)&&(`onUpdate:${t}`in y||`onUpdate:${r}`in y||`onUpdate:${o}`in y));C||(c=v,u()),s.emit(`update:${t}`,x),He(v,d)&&(He(v,x)&&!He(x,g)||C&&d!==be&&!He(x,c))&&u(),d=v,g=x}}});return a[Symbol.iterator]=()=>{let i=0;return{next(){return i<2?{value:i++?l||be:a,done:!1}:{done:!0}}}},a}const ga=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${We(t)}Modifiers`]||e[`${Dt(t)}Modifiers`];function Ou(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||be;let r=n;const o=t.startsWith("update:"),l=o&&ga(s,t.slice(7));l&&(l.trim&&(r=n.map(c=>Oe(c)?c.trim():c)),l.number&&(r=n.map(Ds)));let a,i=s[a=tr(t)]||s[a=tr(We(t))];!i&&o&&(i=s[a=tr(Dt(t))]),i&&dt(i,e,6,r);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,dt(u,e,6,r)}}const Au=new WeakMap;function ba(e,t,n=!1){const s=n?Au:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let l={},a=!1;if(!ne(e)){const i=u=>{const c=ba(u,t,!0);c&&(a=!0,De(l,c))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!o&&!a?(_e(e)&&s.set(e,null),null):(Y(o)?o.forEach(i=>l[i]=null):De(l,o),_e(e)&&s.set(e,l),l)}function Js(e,t){return!e||!Is(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),xe(e,t[0].toLowerCase()+t.slice(1))||xe(e,Dt(t))||xe(e,t))}function Ro(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:l,attrs:a,emit:i,render:u,renderCache:c,props:d,data:g,setupState:v,ctx:x,inheritAttrs:y}=e,C=$s(e);let P,E;try{if(n.shapeFlag&4){const T=r||s,L=T;P=xt(u.call(L,T,c,d,v,g,x)),E=a}else{const T=t;P=xt(T.length>1?T(d,{attrs:a,slots:l,emit:i}):T(d,null)),E=t.props?a:Nu(a)}}catch(T){It.length=0,Ks(T,e,1),P=N(Ct)}let k=P;if(E&&y!==!1){const T=Object.keys(E),{shapeFlag:L}=k;T.length&&L&7&&(o&&T.some(Vs)&&(E=Pu(E,o)),k=yn(k,E,!1,!0))}if(n.dirs&&(k=yn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition){const T=Gs(k.type)&&oa(k)||k;Yr(T,n.transition)}return P=k,$s(C),P}const Nu=e=>{let t;for(const n in e)(n==="class"||n==="style"||Is(n))&&((t||(t={}))[n]=e[n]);return t},Pu=(e,t)=>{const n={};for(const s in e)(!Vs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Iu(e,t,n){const{props:s,children:r,component:o}=e,{props:l,children:a,patchFlag:i}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return s?Mo(s,l,u):!!l;if(i&8){const c=t.dynamicProps;for(let d=0;d<c.length;d++){const g=c[d];if(ya(l,s,g)&&!Js(u,g))return!0}}}else return(r||a)&&(!a||!a.$stable)?!0:s===l?!1:s?l?Mo(s,l,u):!0:!!l;return!1}function Mo(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(ya(t,e,o)&&!Js(n,o))return!0}return!1}function ya(e,t,n){const s=e[n],r=t[n];return n==="style"&&_e(s)&&_e(r)?!Sn(s,r):s!==r}function Vu({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const xa={},_a=()=>Object.create(xa),wa=e=>Object.getPrototypeOf(e)===xa;function Lu(e,t,n,s=!1){const r={},o=_a();e.propsDefaults=Object.create(null),ka(e,t,r,o);for(const l in e.propsOptions[0])l in r||(r[l]=void 0);n?e.props=s?r:Ql(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ju(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:l}}=e,a=ge(r),[i]=e.propsOptions;let u=!1;if((s||l>0)&&!(l&16)){if(l&8){const c=e.vnode.dynamicProps;for(let d=0;d<c.length;d++){let g=c[d];if(Js(e.emitsOptions,g))continue;const v=t[g];if(i)if(xe(o,g))v!==o[g]&&(o[g]=v,u=!0);else{const x=We(g);r[x]=$r(i,a,x,v,e,!1)}else v!==o[g]&&(o[g]=v,u=!0)}}}else{ka(e,t,r,o)&&(u=!0);let c;for(const d in a)(!t||!xe(t,d)&&((c=Dt(d))===d||!xe(t,c)))&&(i?n&&(n[d]!==void 0||n[c]!==void 0)&&(r[d]=$r(i,a,d,void 0,e,!0)):delete r[d]);if(o!==a)for(const d in o)(!t||!xe(t,d))&&(delete o[d],u=!0)}u&&At(e.attrs,"set","")}function ka(e,t,n,s){const[r,o]=e.propsOptions;let l=!1,a;if(t)for(let i in t){if(Un(i))continue;const u=t[i];let c;r&&xe(r,c=We(i))?!o||!o.includes(c)?n[c]=u:(a||(a={}))[c]=u:Js(e.emitsOptions,i)||(!(i in s)||u!==s[i])&&(s[i]=u,l=!0)}if(o){const i=ge(n),u=a||be;for(let c=0;c<o.length;c++){const d=o[c];n[d]=$r(r,i,d,u[d],e,!xe(u,d))}}return l}function $r(e,t,n,s,r,o){const l=e[n];if(l!=null){const a=xe(l,"default");if(a&&s===void 0){const i=l.default;if(l.type!==Function&&!l.skipFactory&&ne(i)){const{propsDefaults:u}=r;if(n in u)s=u[n];else{const c=ds(r);s=u[n]=i.call(null,t),c()}}else s=i;r.ce&&r.ce._setProp(n,s)}l[0]&&(o&&!a?s=!1:l[1]&&(s===""||s===Dt(n))&&(s=!0))}return s}const qu=new WeakMap;function Sa(e,t,n=!1){const s=n?qu:t.propsCache,r=s.get(e);if(r)return r;const o=e.props,l={},a=[];let i=!1;if(!ne(e)){const c=d=>{i=!0;const[g,v]=Sa(d,t,!0);De(l,g),v&&a.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!i)return _e(e)&&s.set(e,pn),pn;if(Y(o))for(let c=0;c<o.length;c++){const d=We(o[c]);To(d)&&(l[d]=be)}else if(o)for(const c in o){const d=We(c);if(To(d)){const g=o[c],v=l[d]=Y(g)||ne(g)?{type:g}:De({},g),x=v.type;let y=!1,C=!0;if(Y(x))for(let P=0;P<x.length;++P){const E=x[P],k=ne(E)&&E.name;if(k==="Boolean"){y=!0;break}else k==="String"&&(C=!1)}else y=ne(x)&&x.name==="Boolean";v[0]=y,v[1]=C,(y||xe(v,"default"))&&a.push(d)}}const u=[l,a];return _e(e)&&s.set(e,u),u}function To(e){return e[0]!=="$"&&!Un(e)}const eo=e=>e==="_"||e==="_ctx"||e==="$stable",to=e=>Y(e)?e.map(xt):[xt(e)],Du=(e,t,n)=>{if(t._n)return t;const s=le((...r)=>to(t(...r)),n);return s._c=!1,s},Ca=(e,t,n)=>{const s=e._ctx;for(const r in e){if(eo(r))continue;const o=e[r];if(ne(o))t[r]=Du(r,o,s);else if(o!=null){const l=to(o);t[r]=()=>l}}},Ea=(e,t)=>{const n=to(t);e.slots.default=()=>n},$a=(e,t,n)=>{for(const s in t)(n||!eo(s))&&(e[s]=t[s])},Uu=(e,t,n)=>{const s=e.slots=_a();if(e.vnode.shapeFlag&32){const r=t._;r?($a(s,t,n),n&&Ml(s,"_",r,!0)):Ca(t,s)}else t&&Ea(e,t)},Fu=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,l=be;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:$a(r,t,n):(o=!t.$stable,Ca(t,r)),l=t}else t&&(Ea(e,t),l={default:1});if(o)for(const a in r)!eo(a)&&l[a]==null&&delete r[a]},Xe=Gu;function Hu(e){return Bu(e)}function Bu(e,t){const n=Us();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:l,createText:a,createComment:i,setText:u,setElementText:c,parentNode:d,nextSibling:g,setScopeId:v=wt,insertStaticContent:x}=e,y=(p,b,S,_=null,R=null,$=null,F=void 0,q=null,D=!!b.dynamicChildren)=>{if(p===b)return;p&&!Tn(p,b)&&(_=A(p),Ke(p,R,$,!0),p=null),b.patchFlag===-2&&(D=!1,b.dynamicChildren=null);const{type:I,ref:Z,shapeFlag:B}=b;switch(I){case Qs:C(p,b,S,_);break;case Ct:P(p,b,S,_);break;case _s:p==null&&E(b,S,_,F);break;case J:Ue(p,b,S,_,R,$,F,q,D);break;default:B&1?L(p,b,S,_,R,$,F,q,D):B&6?Ve(p,b,S,_,R,$,F,q,D):(B&64||B&128)&&I.process(p,b,S,_,R,$,F,q,D,W)}Z!=null&&R?Bn(Z,p&&p.ref,$,b||p,!b):Z==null&&p&&p.ref!=null&&Bn(p.ref,null,$,p,!0)},C=(p,b,S,_)=>{if(p==null)s(b.el=a(b.children),S,_);else{const R=b.el=p.el;b.children!==p.children&&u(R,b.children)}},P=(p,b,S,_)=>{p==null?s(b.el=i(b.children||""),S,_):b.el=p.el},E=(p,b,S,_)=>{[p.el,p.anchor]=x(p.children,b,S,_,p.el,p.anchor)},k=({el:p,anchor:b},S,_)=>{let R;for(;p&&p!==b;)R=g(p),s(p,S,_),p=R;s(b,S,_)},T=({el:p,anchor:b})=>{let S;for(;p&&p!==b;)S=g(p),r(p),p=S;r(b)},L=(p,b,S,_,R,$,F,q,D)=>{if(b.type==="svg"?F="svg":b.type==="math"&&(F="mathml"),p==null)z(b,S,_,R,$,F,q,D);else{const I=p.el&&p.el._isVueCE?p.el:null;try{I&&I._beginPatch(),oe(p,b,R,$,F,q,D)}finally{I&&I._endPatch()}}},z=(p,b,S,_,R,$,F,q)=>{let D,I;const{props:Z,shapeFlag:B,transition:Q,dirs:ee}=p;if(D=p.el=l(p.type,$,Z&&Z.is,Z),B&8?c(D,p.children):B&16&&re(p.children,D,null,_,R,ir(p,$),F,q),ee&&Qt(p,null,_,"created"),G(D,p,p.scopeId,F,_),Z){for(const ke in Z)ke!=="value"&&!Un(ke)&&o(D,ke,null,Z[ke],$,_);"value"in Z&&o(D,"value",null,Z.value,$),(I=Z.onVnodeBeforeMount)&&gt(I,_,p)}ee&&Qt(p,null,_,"beforeMount");const pe=Ku(R,Q);pe&&Q.beforeEnter(D),s(D,b,S),((I=Z&&Z.onVnodeMounted)||pe||ee)&&Xe(()=>{I&&gt(I,_,p),pe&&Q.enter(D),ee&&Qt(p,null,_,"mounted")},R)},G=(p,b,S,_,R)=>{if(S&&v(p,S),_)for(let $=0;$<_.length;$++)v(p,_[$]);if(R){let $=R.subTree;if(b===$||Oa($.type)&&($.ssContent===b||$.ssFallback===b)){const F=R.vnode;G(p,F,F.scopeId,F.slotScopeIds,R.parent)}}},re=(p,b,S,_,R,$,F,q,D=0)=>{for(let I=D;I<p.length;I++){const Z=p[I]=q?Ot(p[I]):xt(p[I]);y(null,Z,b,S,_,R,$,F,q)}},oe=(p,b,S,_,R,$,F)=>{const q=b.el=p.el;let{patchFlag:D,dynamicChildren:I,dirs:Z}=b;D|=p.patchFlag&16;const B=p.props||be,Q=b.props||be;let ee;if(S&&Yt(S,!1),(ee=Q.onVnodeBeforeUpdate)&&gt(ee,S,b,p),Z&&Qt(b,p,S,"beforeUpdate"),S&&Yt(S,!0),I&&(!p.dynamicChildren||p.dynamicChildren.length!==I.length)&&(D=0,F=!1,I=null),(B.innerHTML&&Q.innerHTML==null||B.textContent&&Q.textContent==null)&&c(q,""),I?X(p.dynamicChildren,I,q,S,_,ir(b,R),$):F||me(p,b,q,null,S,_,ir(b,R),$,!1),D>0){if(D&16)fe(q,B,Q,S,R);else if(D&2&&B.class!==Q.class&&o(q,"class",null,Q.class,R),D&4&&o(q,"style",B.style,Q.style,R),D&8){const pe=b.dynamicProps;for(let ke=0;ke<pe.length;ke++){const we=pe[ke],Ie=B[we],Fe=Q[we];(Fe!==Ie||we==="value")&&o(q,we,Ie,Fe,R,S)}}D&1&&p.children!==b.children&&c(q,b.children)}else!F&&I==null&&fe(q,B,Q,S,R);((ee=Q.onVnodeUpdated)||Z)&&Xe(()=>{ee&&gt(ee,S,b,p),Z&&Qt(b,p,S,"updated")},_)},X=(p,b,S,_,R,$,F)=>{for(let q=0;q<b.length;q++){const D=p[q],I=b[q],Z=D.el&&(D.type===J||!Tn(D,I)||D.shapeFlag&198)?d(D.el):S;y(D,I,Z,null,_,R,$,F,!0)}},fe=(p,b,S,_,R)=>{if(b!==S){if(b!==be)for(const $ in b)!Un($)&&!($ in S)&&o(p,$,b[$],null,R,_);for(const $ in S){if(Un($))continue;const F=S[$],q=b[$];F!==q&&$!=="value"&&o(p,$,q,F,R,_)}"value"in S&&o(p,"value",b.value,S.value,R)}},Ue=(p,b,S,_,R,$,F,q,D)=>{const I=b.el=p?p.el:a(""),Z=b.anchor=p?p.anchor:a("");let{patchFlag:B,dynamicChildren:Q,slotScopeIds:ee}=b;ee&&(q=q?q.concat(ee):ee),p==null?(s(I,S,_),s(Z,S,_),re(b.children||[],S,Z,R,$,F,q,D)):B>0&&B&64&&Q&&p.dynamicChildren&&p.dynamicChildren.length===Q.length?(X(p.dynamicChildren,Q,S,R,$,F,q),(b.key!=null||R&&b===R.subTree)&&Ra(p,b,!0)):me(p,b,S,Z,R,$,F,q,D)},Ve=(p,b,S,_,R,$,F,q,D)=>{b.slotScopeIds=q,p==null?b.shapeFlag&512?R.ctx.activate(b,S,_,F,D):Le(b,S,_,R,$,F,D):pt(p,b,D)},Le=(p,b,S,_,R,$,F)=>{const q=p.component=ec(p,_,R);if(Xr(p)&&(q.ctx.renderer=W),tc(q,!1,F),q.asyncDep){if(R&&R.registerDep(q,Ee,F),!p.el){const D=q.subTree=N(Ct);P(null,D,b,S),p.placeholder=D.el}}else Ee(q,p,b,S,R,$,F)},pt=(p,b,S)=>{const _=b.component=p.component;if(Iu(p,b,S))if(_.asyncDep&&!_.asyncResolved){se(_,b,S);return}else _.next=b,_.update();else b.el=p.el,_.vnode=b},Ee=(p,b,S,_,R,$,F)=>{const q=()=>{if(p.isMounted){let{next:B,bu:Q,u:ee,parent:pe,vnode:ke}=p;{const vt=Ma(p);if(vt){B&&(B.el=ke.el,se(p,B,F)),vt.asyncDep.then(()=>{Xe(()=>{p.isUnmounted||I()},R)});return}}let we=B,Ie;Yt(p,!1),B?(B.el=ke.el,se(p,B,F)):B=ke,Q&&ys(Q),(Ie=B.props&&B.props.onVnodeBeforeUpdate)&&gt(Ie,pe,B,ke),Yt(p,!0);const Fe=Ro(p),ht=p.subTree;p.subTree=Fe,y(ht,Fe,d(ht.el),A(ht),p,R,$),B.el=Fe.el,we===null&&Vu(p,Fe.el),ee&&Xe(ee,R),(Ie=B.props&&B.props.onVnodeUpdated)&&Xe(()=>gt(Ie,pe,B,ke),R)}else{let B;const{el:Q,props:ee}=b,{bm:pe,m:ke,parent:we,root:Ie,type:Fe}=p,ht=mn(b);Yt(p,!1),pe&&ys(pe),!ht&&(B=ee&&ee.onVnodeBeforeMount)&&gt(B,we,b),Yt(p,!0);{Ie.ce&&Ie.ce._hasShadowRoot()&&Ie.ce._injectChildStyle(Fe,p.parent?p.parent.type:void 0);const vt=p.subTree=Ro(p);y(null,vt,S,_,p,R,$),b.el=vt.el}if(ke&&Xe(ke,R),!ht&&(B=ee&&ee.onVnodeMounted)){const vt=b;Xe(()=>gt(B,we,vt),R)}(b.shapeFlag&256||we&&mn(we.vnode)&&we.vnode.shapeFlag&256)&&p.a&&Xe(p.a,R),p.isMounted=!0,b=S=_=null}};p.scope.on();const D=p.effect=new Vl(q);p.scope.off();const I=p.update=D.run.bind(D),Z=p.job=D.runIfDirty.bind(D);Z.i=p,Z.id=p.uid,D.scheduler=()=>Jr(Z),Yt(p,!0),I()},se=(p,b,S)=>{b.component=p;const _=p.vnode.props;p.vnode=b,p.next=null,ju(p,b.props,_,S),Fu(p,b.children,S),Vt(),_o(p),Lt()},me=(p,b,S,_,R,$,F,q,D=!1)=>{const I=p&&p.children,Z=p?p.shapeFlag:0,B=b.children,{patchFlag:Q,shapeFlag:ee}=b;if(Q>0){if(Q&128){lt(I,B,S,_,R,$,F,q,D);return}else if(Q&256){ot(I,B,S,_,R,$,F,q,D);return}}ee&8?(Z&16&&Pe(I,R,$),B!==I&&c(S,B)):Z&16?ee&16?lt(I,B,S,_,R,$,F,q,D):Pe(I,R,$,!0):(Z&8&&c(S,""),ee&16&&re(B,S,_,R,$,F,q,D))},ot=(p,b,S,_,R,$,F,q,D)=>{p=p||pn,b=b||pn;const I=p.length,Z=b.length,B=Math.min(I,Z);let Q;for(Q=0;Q<B;Q++){const ee=b[Q]=D?Ot(b[Q]):xt(b[Q]);y(p[Q],ee,S,null,R,$,F,q,D)}I>Z?Pe(p,R,$,!0,!1,B):re(b,S,_,R,$,F,q,D,B)},lt=(p,b,S,_,R,$,F,q,D)=>{let I=0;const Z=b.length;let B=p.length-1,Q=Z-1;for(;I<=B&&I<=Q;){const ee=p[I],pe=b[I]=D?Ot(b[I]):xt(b[I]);if(Tn(ee,pe))y(ee,pe,S,null,R,$,F,q,D);else break;I++}for(;I<=B&&I<=Q;){const ee=p[B],pe=b[Q]=D?Ot(b[Q]):xt(b[Q]);if(Tn(ee,pe))y(ee,pe,S,null,R,$,F,q,D);else break;B--,Q--}if(I>B){if(I<=Q){const ee=Q+1,pe=ee<Z?b[ee].el:_;for(;I<=Q;)y(null,b[I]=D?Ot(b[I]):xt(b[I]),S,pe,R,$,F,q,D),I++}}else if(I>Q)for(;I<=B;)Ke(p[I],R,$,!0),I++;else{const ee=I,pe=I,ke=new Map;for(I=pe;I<=Q;I++){const Ze=b[I]=D?Ot(b[I]):xt(b[I]);Ze.key!=null&&ke.set(Ze.key,I)}let we,Ie=0;const Fe=Q-pe+1;let ht=!1,vt=0;const Rn=new Array(Fe);for(I=0;I<Fe;I++)Rn[I]=0;for(I=ee;I<=B;I++){const Ze=p[I];if(Ie>=Fe){Ke(Ze,R,$,!0);continue}let mt;if(Ze.key!=null)mt=ke.get(Ze.key);else for(we=pe;we<=Q;we++)if(Rn[we-pe]===0&&Tn(Ze,b[we])){mt=we;break}mt===void 0?Ke(Ze,R,$,!0):(Rn[mt-pe]=I+1,mt>=vt?vt=mt:ht=!0,y(Ze,b[mt],S,null,R,$,F,q,D),Ie++)}const ho=ht?zu(Rn):pn;for(we=ho.length-1,I=Fe-1;I>=0;I--){const Ze=pe+I,mt=b[Ze],vo=b[Ze+1],mo=Ze+1<Z?vo.el||Ta(vo):_;Rn[I]===0?y(null,mt,S,mo,R,$,F,q,D):ht&&(we<0||I!==ho[we]?rt(mt,S,mo,2):we--)}}},rt=(p,b,S,_,R=null)=>{const{el:$,type:F,transition:q,children:D,shapeFlag:I}=p;if(I&6){rt(p.component.subTree,b,S,_);return}if(I&128){p.suspense.move(b,S,_);return}if(I&64){F.move(p,b,S,W);return}if(F===J){s($,b,S);for(let B=0;B<D.length;B++)rt(D[B],b,S,_);s(p.anchor,b,S);return}if(F===_s){k(p,b,S);return}if(_!==2&&I&1&&q)if(_===0)q.persisted&&!$[lr]?s($,b,S):(q.beforeEnter($),s($,b,S),Xe(()=>q.enter($),R));else{const{leave:B,delayLeave:Q,afterLeave:ee}=q,pe=()=>{p.ctx.isUnmounted?r($):s($,b,S)},ke=()=>{const we=$._isLeaving||!!$[lr];$._isLeaving&&$[lr](!0),q.persisted&&!we?pe():B($,()=>{pe(),ee&&ee()})};Q?Q($,pe,ke):ke()}else s($,b,S)},Ke=(p,b,S,_=!1,R=!1)=>{const{type:$,props:F,ref:q,children:D,dynamicChildren:I,shapeFlag:Z,patchFlag:B,dirs:Q,cacheIndex:ee,memo:pe}=p;if(B===-2&&(R=!1),q!=null&&(Vt(),Bn(q,null,S,p,!0),Lt()),ee!=null&&(b.renderCache[ee]=void 0),Z&256){b.ctx.deactivate(p);return}const ke=Z&1&&Q,we=!mn(p);let Ie;if(we&&(Ie=F&&F.onVnodeBeforeUnmount)&&gt(Ie,b,p),Z&6)at(p.component,S,_);else{if(Z&128){p.suspense.unmount(S,_);return}ke&&Qt(p,null,b,"beforeUnmount"),Z&64?p.type.remove(p,b,S,W,_):I&&!I.hasOnce&&($!==J||B>0&&B&64)?Pe(I,b,S,!1,!0):($===J&&B&384||!R&&Z&16)&&Pe(D,b,S),_&&Ft(p)}const Fe=pe!=null&&ee==null;(we&&(Ie=F&&F.onVnodeUnmounted)||ke||Fe)&&Xe(()=>{Ie&&gt(Ie,b,p),ke&&Qt(p,null,b,"unmounted"),Fe&&(p.el=null)},S)},Ft=p=>{const{type:b,el:S,anchor:_,transition:R}=p;if(b===J){Ht(S,_);return}if(b===_s){T(p);return}const $=()=>{r(S),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(p.shapeFlag&1&&R&&!R.persisted){const{leave:F,delayLeave:q}=R,D=()=>F(S,$);q?q(p.el,$,D):D()}else $()},Ht=(p,b)=>{let S;for(;p!==b;)S=g(p),r(p),p=S;r(b)},at=(p,b,S)=>{const{bum:_,scope:R,job:$,subTree:F,um:q,m:D,a:I}=p;Oo(D),Oo(I),_&&ys(_),R.stop(),$&&($.flags|=8,Ke(F,p,b,S)),q&&Xe(q,b),Xe(()=>{p.isUnmounted=!0},b)},Pe=(p,b,S,_=!1,R=!1,$=0)=>{for(let F=$;F<p.length;F++)Ke(p[F],b,S,_,R)},A=p=>{if(p.shapeFlag&6)return A(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const b=g(p.anchor||p.el),S=b&&b[iu];return S?g(S):b};let K=!1;const H=(p,b,S)=>{let _;p==null?b._vnode&&(Ke(b._vnode,null,null,!0),_=b._vnode.component):y(b._vnode||null,p,b,null,null,null,S),b._vnode=p,K||(K=!0,_o(_),ta(),K=!1)},W={p:y,um:Ke,m:rt,r:Ft,mt:Le,mc:re,pc:me,pbc:X,n:A,o:e};return{render:H,hydrate:void 0,createApp:Mu(H)}}function ir({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Yt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ku(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ra(e,t,n=!1){const s=e.children,r=t.children;if(Y(s)&&Y(r))for(let o=0;o<s.length;o++){const l=s[o];let a=r[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=r[o]=Ot(r[o]),a.el=l.el),!n&&a.patchFlag!==-2&&Ra(l,a)),a.type===Qs&&(a.patchFlag===-1&&(a=r[o]=Ot(a)),a.el=l.el),a.type===Ct&&!a.el&&(a.el=l.el)}}function zu(e){const t=e.slice(),n=[0];let s,r,o,l,a;const i=e.length;for(s=0;s<i;s++){const u=e[s];if(u!==0){if(r=n[n.length-1],e[r]<u){t[s]=r,n.push(s);continue}for(o=0,l=n.length-1;o<l;)a=o+l>>1,e[n[a]]<u?o=a+1:l=a;u<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,l=n[o-1];o-- >0;)n[o]=l,l=t[l];return n}function Ma(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ma(t)}function Oo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ta(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Ta(t.subTree):null}const Oa=e=>e.__isSuspense;function Gu(e,t){t&&t.pendingBranch?Y(e)?t.effects.push(...e):t.effects.push(e):nu(e)}const J=Symbol.for("v-fgt"),Qs=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),_s=Symbol.for("v-stc"),It=[];let et=null;function h(e=!1){It.push(et=e?null:[])}function no(){It.pop(),et=It[It.length-1]||null}let Xn=1;function Os(e,t=!1){Xn+=e,e<0&&et&&t&&(et.hasOnce=!0)}function Aa(e){return e.dynamicChildren=Xn>0?et||pn:null,no(),Xn>0&&et&&et.push(e),e}function w(e,t,n,s,r,o){return Aa(m(e,t,n,s,r,o,!0))}function U(e,t,n,s,r){return Aa(N(e,t,n,s,r,!0))}function Zn(e){return e?e.__v_isVNode===!0:!1}function Tn(e,t){return e.type===t.type&&e.key===t.key}const Na=({key:e})=>e??null,ws=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||Ne(e)||ne(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function m(e,t=null,n=null,s=0,r=null,o=e===J?0:1,l=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Na(t),ref:t&&ws(t),scopeId:sa,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Be};return a?(As(i,n),o&128&&e.normalize(i)):n&&(i.shapeFlag|=Oe(n)?8:16),Xn>0&&!l&&et&&(i.patchFlag>0||o&6)&&i.patchFlag!==32&&et.push(i),i}const N=Wu;function Wu(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===ca)&&(e=Ct),Zn(e)){const a=yn(e,t,!0);return n&&As(a,n),Xn>0&&!o&&et&&(a.shapeFlag&6?et[et.indexOf(e)]=a:et.push(a)),a.patchFlag=-2,a}if(lc(e)&&(e=e.__vccOpts),t){t=Ju(t);let{class:a,style:i}=t;a&&!Oe(a)&&(t.class=Se(a)),_e(i)&&(Bs(i)&&!Y(i)&&(i=De({},i)),t.style=St(i))}const l=Oe(e)?1:Oa(e)?128:Gs(e)?64:_e(e)?4:ne(e)?2:0;return m(e,t,n,s,r,l,o,!0)}function Ju(e){return e?Bs(e)||wa(e)?De({},e):e:null}function yn(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:l,children:a,transition:i}=e,u=t?Yu(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Na(u),ref:t&&t.ref?n&&o?Y(o)?o.concat(ws(t)):[o,ws(t)]:ws(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&yn(e.ssContent),ssFallback:e.ssFallback&&yn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&s&&Yr(c,i.clone(c)),c}function he(e=" ",t=0){return N(Qs,null,e,t)}function Qu(e,t){const n=N(_s,null,e);return n.staticCount=t,n}function j(e="",t=!1){return t?(h(),U(Ct,null,e)):N(Ct,null,e)}function xt(e){return e==null||typeof e=="boolean"?N(Ct):Y(e)?N(J,null,e.slice()):Zn(e)?Ot(e):N(Qs,null,String(e))}function Ot(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:yn(e)}function As(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Y(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),As(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!wa(t)?t._ctx=Be:r===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ne(t)){if(s&65){As(e,{default:t});return}t={default:t,_ctx:Be},n=32}else t=String(t),s&64?(n=16,t=[he(t)]):n=8;e.children=t,e.shapeFlag|=n}function Yu(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Se([t.class,s.class]));else if(r==="style")t.style=St([t.style,s.style]);else if(Is(r)){const o=t[r],l=s[r];l&&o!==l&&!(Y(o)&&o.includes(l))?t[r]=o?[].concat(o,l):l:l==null&&o==null&&!Vs(r)&&(t[r]=l)}else r!==""&&(t[r]=s[r])}return t}function gt(e,t,n,s=null){dt(e,t,7,[n,s])}const Xu=ma();let Zu=0;function ec(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Xu,o={uid:Zu++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Nl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Sa(s,r),emitsOptions:ba(s,r),emit:null,emitted:null,propsDefaults:be,inheritAttrs:s.inheritAttrs,ctx:be,data:be,props:be,attrs:be,slots:be,refs:be,setupState:be,setupContext:null,suspense:n,suspenseId:n?n.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 o.ctx={_:o},o.root=t?t.root:o,o.emit=Ou.bind(null,o),e.ce&&e.ce(o),o}let Ge=null;const so=()=>Ge||Be;let Ns,es;{const e=Us(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(l=>l(o)):r[0](o)}};Ns=t("__VUE_INSTANCE_SETTERS__",n=>Ge=n),es=t("__VUE_SSR_SETTERS__",n=>ts=n)}const ds=e=>{const t=Ge;return Ns(e),e.scope.on(),()=>{e.scope.off(),Ns(t)}},Ao=()=>{Ge&&Ge.scope.off(),Ns(null)};function Pa(e){return e.vnode.shapeFlag&4}let ts=!1;function tc(e,t=!1,n=!1){t&&es(t);const{props:s,children:r}=e.vnode,o=Pa(e);Lu(e,s,o,t),Uu(e,r,n||t);const l=o?nc(e,t):void 0;return t&&es(!1),l}function nc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_u);const{setup:s}=n;if(s){Vt();const r=e.setupContext=s.length>1?rc(e):null,o=ds(e),l=us(s,e,0,[e.props,r]),a=El(l);if(Lt(),o(),(a||e.sp)&&!mn(e)&&la(e),a){if(l.then(Ao,Ao),t)return l.then(i=>{es(!0);try{No(e,i,t)}finally{es(!1)}}).catch(i=>{Ks(i,e,0)});e.asyncDep=l}else No(e,l)}else Ia(e)}function No(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:_e(t)&&(e.setupState=Xl(t)),Ia(e)}function Ia(e,t,n){const s=e.type;e.render||(e.render=s.render||wt);{const r=ds(e);Vt();try{ku(e)}finally{Lt(),r()}}}const sc={get(e,t){return ze(e,"get",""),e[t]}};function rc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,sc),slots:e.slots,emit:e.emit,expose:t}}function Ys(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xl(Wr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Kn)return Kn[n](e)},has(t,n){return n in t||n in Kn}})):e.proxy}function oc(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function lc(e){return ne(e)&&"__vccOpts"in e}const M=(e,t)=>Yi(e,t,ts);function ns(e,t,n){try{Os(-1);const s=arguments.length;return s===2?_e(t)&&!Y(t)?Zn(t)?N(e,null,[t]):N(e,t):N(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Zn(n)&&(n=[n]),N(e,t,n))}finally{Os(1)}}const ac="3.5.41";let Rr;const Po=typeof window<"u"&&window.trustedTypes;if(Po)try{Rr=Po.createPolicy("vue",{createHTML:e=>e})}catch{}const Va=Rr?e=>Rr.createHTML(e):e=>e,ic="http://www.w3.org/2000/svg",uc="http://www.w3.org/1998/Math/MathML",Tt=typeof document<"u"?document:null,Io=Tt&&Tt.createElement("template"),cc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Tt.createElementNS(ic,e):t==="mathml"?Tt.createElementNS(uc,e):n?Tt.createElement(e,{is:n}):Tt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Tt.createTextNode(e),createComment:e=>Tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const l=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Io.innerHTML=Va(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const a=Io.content;if(s==="svg"||s==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},dc=Symbol("_vtc");function fc(e,t,n){const s=e[dc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ps=Symbol("_vod"),La=Symbol("_vsh"),pc={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ps]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):On(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),On(e,!0),s.enter(e)):s.leave(e,()=>{On(e,!1)}):On(e,t))},beforeUnmount(e,{value:t}){On(e,t)}};function On(e,t){e.style.display=t?e[Ps]:"none",e[La]=!t}const hc=Symbol(""),vc=/(?:^|;)\s*display\s*:/;function mc(e,t,n){const s=e.style,r=Oe(n);let o=!1;if(n&&!r){if(t)if(Oe(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();n[a]==null&&Pn(s,a,"")}else for(const l in t)n[l]==null&&Pn(s,l,"");for(const l in n){l==="display"&&(o=!0);const a=n[l];a!=null?bc(e,l,!Oe(t)&&t?t[l]:void 0,a)||Pn(s,l,a):Pn(s,l,"")}}else if(r){if(t!==n){const l=s[hc];l&&(n+=";"+l),s.cssText=n,o=vc.test(n)}}else t&&e.removeAttribute("style");Ps in e&&(e[Ps]=o?s.display:"",e[La]&&(s.display="none"))}const Vo=/\s*!important$/;function Pn(e,t,n){if(Y(n))n.forEach(s=>Pn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=gc(e,t);Vo.test(n)?e.setProperty(Dt(s),n.replace(Vo,""),"important"):e[s]=n}}const Lo=["Webkit","Moz","ms"],ur={};function gc(e,t){const n=ur[t];if(n)return n;let s=We(t);if(s!=="filter"&&s in e)return ur[t]=s;s=qs(s);for(let r=0;r<Lo.length;r++){const o=Lo[r]+s;if(o in e)return ur[t]=o}return t}function bc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&Oe(s)&&n===s}const jo="http://www.w3.org/1999/xlink";function qo(e,t,n,s,r,o=_i(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(jo,t.slice(6,t.length)):e.setAttributeNS(jo,t,n):n==null||o&&!Tl(n)?e.removeAttribute(t):e.setAttribute(t,o?"":st(n)?String(n):n)}function Do(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Va(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const a=o==="OPTION"?e.getAttribute("value")||"":e.value,i=n==null?e.type==="checkbox"?"on":"":String(n);(a!==i||!("_value"in e))&&(e.value=i),n==null&&e.removeAttribute(t),e._value=n;return}let l=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=Tl(n):n==null&&a==="string"?(n="",l=!0):a==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(r||t)}function Jt(e,t,n,s){e.addEventListener(t,n,s)}function yc(e,t,n,s){e.removeEventListener(t,n,s)}const Uo=Symbol("_vei");function xc(e,t,n,s,r=null){const o=e[Uo]||(e[Uo]={}),l=o[t];if(s&&l)l.value=s;else{const[a,i]=kc(t);if(s){const u=o[t]=Ec(s,r);Jt(e,a,u,i)}else l&&(yc(e,a,l,i),o[t]=void 0)}}const _c=/(Once|Passive|Capture)$/,wc=/^on:?(?:Once|Passive|Capture)$/;function kc(e){let t,n;for(;(n=e.match(_c))&&!wc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Dt(e.slice(2)),t]}let cr=0;const Sc=Promise.resolve(),Cc=()=>cr||(Sc.then(()=>cr=0),cr=Date.now());function Ec(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(Y(r)){const o=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{o.call(s),s._stopped=!0};const l=r.slice(),a=[s];for(let i=0;i<l.length&&!s._stopped;i++){const u=l[i];u&&dt(u,t,5,a)}}else dt(r,t,5,[s])};return n.value=e,n.attached=Cc(),n}const Fo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$c=(e,t,n,s,r,o)=>{const l=r==="svg";t==="class"?fc(e,s,l):t==="style"?mc(e,n,s):Is(t)?Vs(t)||xc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rc(e,t,s,l))?(Do(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&qo(e,t,s,l,o,t!=="value")):e._isVueCE&&(Mc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Oe(s)))?Do(e,We(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),qo(e,t,s,l))};function Rc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Fo(t)&&ne(n));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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Fo(t)&&Oe(n)?!1:t in e}function Mc(e,t){const n=e._def.props;if(!n)return!1;const s=We(t);return Array.isArray(n)?n.some(r=>We(r)===s):Object.keys(n).some(r=>We(r)===s)}const xn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Y(t)?n=>ys(t,n):t};function Tc(e){e.target.composing=!0}function Ho(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const _t=Symbol("_assign"),ms=Symbol("_initialValue");function dr(e,t,n){return t&&(e=e.trim()),n&&(e=Ds(e)),e}const ie={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[ms]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[ms]=e.defaultValue.replace(/\r\n?/g,`
`))),e[_t]=xn(r);const o=s||r.props&&r.props.type==="number";Jt(e,t?"change":"input",l=>{l.target.composing||e[_t](dr(e.value,n,o))}),(n||o)&&Jt(e,"change",()=>{e.value=dr(e.value,n,o)}),t||(Jt(e,"compositionstart",Tc),Jt(e,"compositionend",Ho),Jt(e,"change",Ho))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",o=e[ms];delete e[ms],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[_t](dr(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},l){if(e[_t]=xn(l),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Ds(e.value):e.value,i=t??"";if(a===i)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===i)||(e.value=i)}},Bo={deep:!0,created(e,t,n){e[_t]=xn(n),Jt(e,"change",()=>{const s=e._modelValue,r=ss(e),o=e.checked,l=e[_t];if(Y(s)){const a=Fr(s,r),i=a!==-1;if(o&&!i)l(s.concat(r));else if(!o&&i){const u=[...s];u.splice(a,1),l(u)}}else if(kn(s)){const a=new Set(s);o?a.add(r):a.delete(r),l(a)}else l(ja(e,o))})},mounted:Ko,beforeUpdate(e,t,n){e[_t]=xn(n),Ko(e,t,n)}};function Ko(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(Y(t))r=Fr(t,s.props.value)>-1;else if(kn(t))r=t.has(s.props.value);else{if(t===n)return;r=Sn(t,ja(e,!0))}e.checked!==r&&(e.checked=r)}const zn={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Jt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?Ds(ss(o)):ss(o));e[_t](e.multiple?kn(e._modelValue)?new Set(r):r:r[0]),e._assigning=!0,zs(()=>{e._assigning=!1})}),e[_t]=xn(s)},mounted(e,{value:t}){zo(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[_t]=xn(n)},updated(e,{value:t}){e._assigning||zo(e,t)}};function zo(e,t){const n=e.multiple,s=Y(t);if(!(n&&!s&&!kn(t))){for(let r=0,o=e.options.length;r<o;r++){const l=e.options[r],a=ss(l);if(n)if(s){const i=typeof a;i==="string"||i==="number"?l.selected=t.some(u=>String(u)===String(a)):l.selected=Fr(t,a)>-1}else l.selected=t.has(a);else if(Sn(ss(l),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ss(e){return"_value"in e?e._value:e.value}function ja(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Oc=["ctrl","shift","alt","meta"],Ac={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)=>Oc.some(n=>e[`${n}Key`]&&!t.includes(n))},ro=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...o)=>{for(let l=0;l<t.length;l++){const a=Ac[t[l]];if(a&&a(r,t))return}return e(r,...o)}))},Nc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Go=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(r=>{if(!("key"in r))return;const o=Dt(r.key);if(t.some(l=>l===o||Nc[l]===o))return e(r)}))},Pc=De({patchProp:$c},cc);let Wo;function Ic(){return Wo||(Wo=Hu(Pc))}const Vc=((...e)=>{const t=Ic().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=jc(s);if(!r)return;const o=t._component;!ne(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const l=n(r,!1,Lc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),l},t});function Lc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function jc(e){return Oe(e)?document.querySelector(e):e}let qa;const Xs=e=>qa=e,Da=Symbol();function Mr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Gn||(Gn={}));function qc(){const e=Pl(!0),t=e.run(()=>O({}));let n=[],s=[];const r=Wr({install(o){Xs(r),r._a=o,o.provide(Da,r),o.config.globalProperties.$pinia=r,s.forEach(l=>n.push(l)),s=[]},use(o){return this._a?n.push(o):s.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const Ua=()=>{};function Jo(e,t,n,s=Ua){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&Il()&&ki(r),r}function on(e,...t){e.forEach(n=>{n(...t)})}const Dc=e=>e(),Qo=Symbol(),fr=Symbol();function Tr(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];Mr(r)&&Mr(s)&&e.hasOwnProperty(n)&&!Ne(s)&&!Pt(s)?e[n]=Tr(r,s):e[n]=s}return e}const Uc=Symbol();function Fc(e){return!Mr(e)||!Object.prototype.hasOwnProperty.call(e,Uc)}const{assign:Kt}=Object;function Hc(e){return!!(Ne(e)&&e.effect)}function Bc(e,t,n,s){const{state:r,actions:o,getters:l}=t,a=n.state.value[e];let i;function u(){a||(n.state.value[e]=r?r():{});const c=Gi(n.state.value[e]);return Kt(c,o,Object.keys(l||{}).reduce((d,g)=>(d[g]=Wr(M(()=>{Xs(n);const v=n._s.get(e);return l[g].call(v,v)})),d),{}))}return i=Fa(e,u,t,n,s,!0),i}function Fa(e,t,n={},s,r,o){let l;const a=Kt({actions:{}},n),i={deep:!0};let u,c,d=new Set,g=new Set,v;const x=s.state.value[e];!o&&!x&&(s.state.value[e]={});let y;function C(re){let oe;u=c=!1,typeof re=="function"?(re(s.state.value[e]),oe={type:Gn.patchFunction,storeId:e,events:v}):(Tr(s.state.value[e],re),oe={type:Gn.patchObject,payload:re,storeId:e,events:v});const X=y=Symbol();zs().then(()=>{y===X&&(u=!0)}),c=!0,on(d,oe,s.state.value[e])}const P=o?function(){const{state:oe}=n,X=oe?oe():{};this.$patch(fe=>{Kt(fe,X)})}:Ua;function E(){l.stop(),d.clear(),g.clear(),s._s.delete(e)}const k=(re,oe="")=>{if(Qo in re)return re[fr]=oe,re;const X=function(){Xs(s);const fe=Array.from(arguments),Ue=new Set,Ve=new Set;function Le(se){Ue.add(se)}function pt(se){Ve.add(se)}on(g,{args:fe,name:X[fr],store:L,after:Le,onError:pt});let Ee;try{Ee=re.apply(this&&this.$id===e?this:L,fe)}catch(se){throw on(Ve,se),se}return Ee instanceof Promise?Ee.then(se=>(on(Ue,se),se)).catch(se=>(on(Ve,se),Promise.reject(se))):(on(Ue,Ee),Ee)};return X[Qo]=!0,X[fr]=oe,X},T={_p:s,$id:e,$onAction:Jo.bind(null,g),$patch:C,$reset:P,$subscribe(re,oe={}){const X=Jo(d,re,oe.detached,()=>fe()),fe=l.run(()=>kt(()=>s.state.value[e],Ue=>{(oe.flush==="sync"?c:u)&&re({storeId:e,type:Gn.direct,events:v},Ue)},Kt({},i,oe)));return X},$dispose:E},L=is(T);s._s.set(e,L);const G=(s._a&&s._a.runWithContext||Dc)(()=>s._e.run(()=>(l=Pl()).run(()=>t({action:k}))));for(const re in G){const oe=G[re];if(Ne(oe)&&!Hc(oe)||Pt(oe))o||(x&&Fc(oe)&&(Ne(oe)?oe.value=x[re]:Tr(oe,x[re])),s.state.value[e][re]=oe);else if(typeof oe=="function"){const X=k(oe,re);G[re]=X,a.actions[re]=oe}}return Kt(L,G),Kt(ge(L),G),Object.defineProperty(L,"$state",{get:()=>s.state.value[e],set:re=>{C(oe=>{Kt(oe,re)})}}),s._p.forEach(re=>{Kt(L,l.run(()=>re({store:L,app:s._a,pinia:s,options:a})))}),x&&o&&n.hydrate&&n.hydrate(L.$state,x),u=!0,c=!0,L}function oo(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function o(l,a){const i=su();return l=l||(i?nt(Da,null):null),l&&Xs(l),l=qa,l._s.has(e)||(r?Fa(e,t,s,l):Bc(e,s,l)),l._s.get(e)}return o.$id=e,o}const un=typeof document<"u";function Ha(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Kc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Ha(e.default)}const Re=Object.assign;function pr(e,t){const n={};for(const s in t){const r=t[s];n[s]=ft(r)?r.map(e):e(r)}return n}const Wn=()=>{},ft=Array.isArray;function Yo(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Ba=/#/g,zc=/&/g,Gc=/\//g,Wc=/=/g,Jc=/\?/g,Ka=/\+/g,Qc=/%5B/g,Yc=/%5D/g,za=/%5E/g,Xc=/%60/g,Ga=/%7B/g,Zc=/%7C/g,Wa=/%7D/g,ed=/%20/g;function lo(e){return e==null?"":encodeURI(""+e).replace(Zc,"|").replace(Qc,"[").replace(Yc,"]")}function td(e){return lo(e).replace(Ga,"{").replace(Wa,"}").replace(za,"^")}function Or(e){return lo(e).replace(Ka,"%2B").replace(ed,"+").replace(Ba,"%23").replace(zc,"%26").replace(Xc,"`").replace(Ga,"{").replace(Wa,"}").replace(za,"^")}function nd(e){return Or(e).replace(Wc,"%3D")}function sd(e){return lo(e).replace(Ba,"%23").replace(Jc,"%3F")}function rd(e){return sd(e).replace(Gc,"%2F")}function rs(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const od=/\/$/,ld=e=>e.replace(od,"");function hr(e,t,n="/"){let s,r={},o="",l="";const a=t.indexOf("#");let i=t.indexOf("?");return i=a>=0&&i>a?-1:i,i>=0&&(s=t.slice(0,i),o=t.slice(i,a>0?a:t.length),r=e(o.slice(1))),a>=0&&(s=s||t.slice(0,a),l=t.slice(a,t.length)),s=cd(s??t,n),{fullPath:s+o+l,path:s,query:r,hash:rs(l)}}function ad(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function id(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&_n(t.matched[s],n.matched[r])&&Ja(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _n(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ja(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ud(e[n],t[n]))return!1;return!0}function ud(e,t){return ft(e)?Xo(e,t):ft(t)?Xo(t,e):e?.valueOf()===t?.valueOf()}function Xo(e,t){return ft(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function cd(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,l,a;for(l=0;l<s.length;l++)if(a=s[l],a!==".")if(a==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(l).join("/")}const Bt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ar=(function(e){return e.pop="pop",e.push="push",e})({}),Zo=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});const vr="";function dd(e){if(!e)if(un){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),ld(e)}const fd=/^[^#]+#/;function pd(e,t){return e.replace(fd,"#")+t}function hd(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const vd=()=>({left:window.scrollX,top:window.scrollY});function md(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=hd(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function el(e,t){return(history.state?history.state.position-t:-1)+e}const Nr=new Map;function gd(e,t){Nr.set(e,t)}function bd(e){const t=Nr.get(e);return Nr.delete(e),t}function yd(e){return typeof e=="string"||e&&typeof e=="object"}function Qa(e){return typeof e=="string"||typeof e=="symbol"}let Ae=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Ya=Symbol("");Ae.MATCHER_NOT_FOUND+"",Ae.NAVIGATION_GUARD_REDIRECT+"",Ae.NAVIGATION_ABORTED+"",Ae.NAVIGATION_CANCELLED+"",Ae.NAVIGATION_DUPLICATED+"";function wn(e,t){return Re(new Error,{type:e,[Ya]:!0},t)}function Mt(e,t){return e instanceof Error&&Ya in e&&(t==null||!!(e.type&t))}const xd=["params","query","hash"];function _d(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of xd)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function wd(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(Ka," "),o=r.indexOf("="),l=rs(o<0?r:r.slice(0,o)),a=o<0?null:rs(r.slice(o+1));if(l in t){let i=t[l];ft(i)||(i=t[l]=[i]),i.push(a)}else t[l]=a}return t}function tl(e){let t="";for(let n in e){const s=e[n];if(n=nd(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(ft(s)?s.map(r=>r&&Or(r)):[s&&Or(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function kd(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=ft(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Sd=Symbol(""),nl=Symbol(""),Zs=Symbol(""),ao=Symbol(""),Pr=Symbol("");function An(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Gt(e,t,n,s,r,o=l=>l()){const l=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((a,i)=>{const u=g=>{g===!1?i(wn(Ae.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?i(g):yd(g)?i(wn(Ae.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(l&&s.enterCallbacks[r]===l&&typeof g=="function"&&l.push(g),a())},c=o(()=>e.call(s&&s.instances[r],t,n,u));let d=Promise.resolve(c);e.length<3&&(d=d.then(u)),d.catch(g=>i(g))})}function mr(e,t,n,s,r=o=>o()){const o=[];for(const l of e)for(const a in l.components){let i=l.components[a];if(!(t!=="beforeRouteEnter"&&!l.instances[a]))if(Ha(i)){const u=(i.__vccOpts||i)[t];u&&o.push(Gt(u,n,s,l,a,r))}else{let u=i();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${l.path}"`);const d=Kc(c)?c.default:c;l.mods[a]=c,l.components[a]=d;const g=(d.__vccOpts||d)[t];return g&&Gt(g,n,s,l,a,r)()}))}}return o}function Cd(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let l=0;l<o;l++){const a=t.matched[l];a&&(e.matched.find(u=>_n(u,a))?s.push(a):n.push(a));const i=e.matched[l];i&&(t.matched.find(u=>_n(u,i))||r.push(i))}return[n,s,r]}function Ed(e=""){let t=[],n=[[vr,{}]],s=0;e=dd(e);function r(a,i={}){s++,s!==n.length&&n.splice(s),n.push([a,i])}function o(a,i,{direction:u,delta:c}){const d={direction:u,delta:c,type:Ar.pop};for(const g of t)g(a,i,d)}const l={location:vr,state:{},base:e,createHref:pd.bind(null,e),replace(a,i){n.splice(s--,1),r(a,i)},push(a,i){r(a,i)},listen(a){return t.push(a),()=>{const i=t.indexOf(a);i>-1&&t.splice(i,1)}},destroy(){t=[],n=[[vr,{}]],s=0},go(a,i=!0){const u=this.location,c=a<0?Zo.back:Zo.forward;s=Math.max(0,Math.min(s+a,n.length-1)),i&&o(this.location,u,{direction:c,delta:a})}};return Object.defineProperty(l,"location",{enumerable:!0,get:()=>n[s][0]}),Object.defineProperty(l,"state",{enumerable:!0,get:()=>n[s][1]}),l}let en=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var je=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(je||{});const $d={type:en.Static,value:""},Rd=/[a-zA-Z0-9_]/;function Md(e){if(!e)return[[]];if(e==="/")return[[$d]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${u}": ${v}`)}let n=je.Static,s=n;const r=[];let o;function l(){o&&r.push(o),o=[]}let a=0,i,u="",c="";function d(){u&&(n===je.Static?o.push({type:en.Static,value:u}):n===je.Param||n===je.ParamRegExp||n===je.ParamRegExpEnd?(o.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:en.Param,value:u,regexp:c,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),u="")}function g(){u+=i}for(;a<e.length;){if(i=e[a++],i==="\\"&&n!==je.ParamRegExp){s=n,n=je.EscapeNext;continue}switch(n){case je.Static:i==="/"?(u&&d(),l()):i===":"?(d(),n=je.Param):g();break;case je.EscapeNext:g(),n=s;break;case je.Param:i==="("?n=je.ParamRegExp:Rd.test(i)?g():(d(),n=je.Static,i!=="*"&&i!=="?"&&i!=="+"&&a--);break;case je.ParamRegExp:i===")"?c[c.length-1]=="\\"?c=c.slice(0,-1)+i:n=je.ParamRegExpEnd:c+=i;break;case je.ParamRegExpEnd:d(),n=je.Static,i!=="*"&&i!=="?"&&i!=="+"&&a--,c="";break;default:t("Unknown state");break}}return n===je.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),d(),l(),r}const sl="[^/]+?",Td={sensitive:!1,strict:!1,start:!0,end:!0};var Qe=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(Qe||{});const Od=/[.+*?^${}()[\]/\\]/g;function Ad(e,t){const n=Re({},Td,t),s=[];let r=n.start?"^":"";const o=[];for(const u of e){const c=u.length?[]:[Qe.Root];n.strict&&!u.length&&(r+="/");for(let d=0;d<u.length;d++){const g=u[d];let v=Qe.Segment+(n.sensitive?Qe.BonusCaseSensitive:0);if(g.type===en.Static)d||(r+="/"),r+=g.value.replace(Od,"\\$&"),v+=Qe.Static;else if(g.type===en.Param){const{value:x,repeatable:y,optional:C,regexp:P}=g;o.push({name:x,repeatable:y,optional:C});const E=P||sl;if(E!==sl){v+=Qe.BonusCustomRegExp;try{`${E}`}catch(T){throw new Error(`Invalid custom RegExp for param "${x}" (${E}): `+T.message)}}let k=y?`((?:${E})(?:/(?:${E}))*)`:`(${E})`;d||(k=C&&u.length<2?`(?:/${k})`:"/"+k),C&&(k+="?"),r+=k,v+=Qe.Dynamic,C&&(v+=Qe.BonusOptional),y&&(v+=Qe.BonusRepeatable),E===".*"&&(v+=Qe.BonusWildcard)}c.push(v)}s.push(c)}if(n.strict&&n.end){const u=s.length-1;s[u][s[u].length-1]+=Qe.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const l=new RegExp(r,n.sensitive?"":"i");function a(u){const c=u.match(l),d={};if(!c)return null;for(let g=1;g<c.length;g++){const v=c[g]||"",x=o[g-1];d[x.name]=v&&x.repeatable?v.split("/"):v}return d}function i(u){let c="",d=!1;for(const g of e){(!d||!c.endsWith("/"))&&(c+="/"),d=!1;for(const v of g)if(v.type===en.Static)c+=v.value;else if(v.type===en.Param){const{value:x,repeatable:y,optional:C}=v,P=x in u?u[x]:"";if(ft(P)&&!y)throw new Error(`Provided param "${x}" is an array but it is not repeatable (* or + modifiers)`);const E=ft(P)?P.join("/"):P;if(!E)if(C)g.length<2&&(c.endsWith("/")?c=c.slice(0,-1):d=!0);else throw new Error(`Missing required param "${x}"`);c+=E}}return c||"/"}return{re:l,score:s,keys:o,parse:a,stringify:i}}function Nd(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===Qe.Static+Qe.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Qe.Static+Qe.Segment?1:-1:0}function Xa(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const o=Nd(s[n],r[n]);if(o)return o;n++}if(Math.abs(r.length-s.length)===1){if(rl(s))return 1;if(rl(r))return-1}return r.length-s.length}function rl(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Pd={strict:!1,end:!0,sensitive:!1};function Id(e,t,n){const s=Ad(Md(e.path),n),r=Re(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Vd(e,t){const n=[],s=new Map;t=Yo(Pd,t);function r(d){return s.get(d)}function o(d,g,v){const x=!v,y=ll(d);y.aliasOf=v&&v.record;const C=Yo(t,d),P=[y];if("alias"in d){const T=typeof d.alias=="string"?[d.alias]:d.alias;for(const L of T)P.push(ll(Re({},y,{components:v?v.record.components:y.components,path:L,aliasOf:v?v.record:y})))}let E,k;for(const T of P){const{path:L}=T;if(g&&L[0]!=="/"){const z=g.record.path,G=z[z.length-1]==="/"?"":"/";T.path=g.record.path+(L&&G+L)}if(E=Id(T,g,C),v?v.alias.push(E):(k=k||E,k!==E&&k.alias.push(E),x&&d.name&&!al(E)&&l(d.name)),Za(E)&&i(E),y.children){const z=y.children;for(let G=0;G<z.length;G++)o(z[G],E,v&&v.children[G])}v=v||E}return k?()=>{l(k)}:Wn}function l(d){if(Qa(d)){const g=s.get(d);g&&(s.delete(d),n.splice(n.indexOf(g),1),g.children.forEach(l),g.alias.forEach(l))}else{const g=n.indexOf(d);g>-1&&(n.splice(g,1),d.record.name&&s.delete(d.record.name),d.children.forEach(l),d.alias.forEach(l))}}function a(){return n}function i(d){const g=qd(d,n);n.splice(g,0,d),d.record.name&&!al(d)&&s.set(d.record.name,d)}function u(d,g){let v,x={},y,C;if("name"in d&&d.name){if(v=s.get(d.name),!v)throw wn(Ae.MATCHER_NOT_FOUND,{location:d});C=v.record.name,x=Re(ol(g.params,v.keys.filter(k=>!k.optional).concat(v.parent?v.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),d.params&&ol(d.params,v.keys.map(k=>k.name))),y=v.stringify(x)}else if(d.path!=null)y=d.path,v=n.find(k=>k.re.test(y)),v&&(x=v.parse(y),C=v.record.name);else{if(v=g.name?s.get(g.name):n.find(k=>k.re.test(g.path)),!v)throw wn(Ae.MATCHER_NOT_FOUND,{location:d,currentLocation:g});C=v.record.name,x=Re({},g.params,d.params),y=v.stringify(x)}const P=[];let E=v;for(;E;)P.unshift(E.record),E=E.parent;return{name:C,path:y,params:x,matched:P,meta:jd(P)}}e.forEach(d=>o(d));function c(){n.length=0,s.clear()}return{addRoute:o,resolve:u,removeRoute:l,clearRoutes:c,getRoutes:a,getRecordMatcher:r}}function ol(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function ll(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ld(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ld(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function al(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function jd(e){return e.reduce((t,n)=>Re(t,n.meta),{})}function qd(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Xa(e,t[o])<0?s=o:n=o+1}const r=Dd(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Dd(e){let t=e;for(;t=t.parent;)if(Za(t)&&Xa(e,t)===0)return t}function Za({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function il(e){const t=nt(Zs),n=nt(ao),s=M(()=>{const i=f(e.to);return t.resolve(i)}),r=M(()=>{const{matched:i}=s.value,{length:u}=i,c=i[u-1],d=n.matched;if(!c||!d.length)return-1;const g=d.findIndex(_n.bind(null,c));if(g>-1)return g;const v=ul(i[u-2]);return u>1&&ul(c)===v&&d[d.length-1].path!==v?d.findIndex(_n.bind(null,i[u-2])):g}),o=M(()=>r.value>-1&&Kd(n.params,s.value.params)),l=M(()=>r.value>-1&&r.value===n.matched.length-1&&Ja(n.params,s.value.params));function a(i={}){if(Bd(i)){const u=t[f(e.replace)?"replace":"push"](f(e.to)).catch(Wn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:M(()=>s.value.href),isActive:o,isExactActive:l,navigate:a}}function Ud(e){return e.length===1?e[0]:e}const Fd=ae({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:il,setup(e,{slots:t}){const n=is(il(e)),{options:s}=nt(Zs),r=M(()=>({[cl(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[cl(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ud(t.default(n));return e.custom?o:ns("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Hd=Fd;function Bd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Kd(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!ft(r)||r.length!==s.length||s.some((o,l)=>o.valueOf()!==r[l].valueOf()))return!1}return!0}function ul(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const cl=(e,t,n)=>e??t??n,zd=ae({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=nt(Pr),r=M(()=>e.route||s.value),o=nt(nl,0),l=M(()=>{let u=f(o);const{matched:c}=r.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),a=M(()=>r.value.matched[l.value]);xs(nl,M(()=>l.value+1)),xs(Sd,a),xs(Pr,r);const i=O();return kt(()=>[i.value,a.value,e.name],([u,c,d],[g,v,x])=>{c&&(c.instances[d]=u,v&&v!==c&&u&&u===g&&(c.leaveGuards.size||(c.leaveGuards=v.leaveGuards),c.updateGuards.size||(c.updateGuards=v.updateGuards))),u&&c&&(!v||!_n(c,v)||!g)&&(c.enterCallbacks[d]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=r.value,c=e.name,d=a.value,g=d&&d.components[c];if(!g)return dl(n.default,{Component:g,route:u});const v=d.props[c],x=v?v===!0?u.params:typeof v=="function"?v(u):v:null,C=ns(g,Re({},x,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(d.instances[c]=null)},ref:i}));return dl(n.default,{Component:C,route:u})||C}}});function dl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Gd=zd;function Wd(e){const t=Vd(e.routes,e),n=e.parseQuery||wd,s=e.stringifyQuery||tl,r=e.history,o=An(),l=An(),a=An(),i=Fi(Bt);let u=Bt;un&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=pr.bind(null,A=>""+A),d=pr.bind(null,rd),g=pr.bind(null,rs);function v(A,K){let H,W;return Qa(A)?(H=t.getRecordMatcher(A),W=K):W=A,t.addRoute(W,H)}function x(A){const K=t.getRecordMatcher(A);K&&t.removeRoute(K)}function y(){return t.getRoutes().map(A=>A.record)}function C(A){return!!t.getRecordMatcher(A)}function P(A,K){if(K=Re({},K||i.value),typeof A=="string"){const S=hr(n,A,K.path),_=t.resolve({path:S.path},K),R=r.createHref(S.fullPath);return Re(S,_,{params:g(_.params),hash:rs(S.hash),redirectedFrom:void 0,href:R})}let H;if(A.path!=null)H=Re({},A,{path:hr(n,A.path,K.path).path});else{const S=Re({},A.params);for(const _ in S)S[_]==null&&delete S[_];H=Re({},A,{params:d(S)}),K.params=d(K.params)}const W=t.resolve(H,K),ue=A.hash||"";W.params=c(g(W.params));const p=ad(s,Re({},A,{hash:td(ue),path:W.path})),b=r.createHref(p);return Re({fullPath:p,hash:ue,query:s===tl?kd(A.query):A.query||{}},W,{redirectedFrom:void 0,href:b})}function E(A){return typeof A=="string"?hr(n,A,i.value.path):Re({},A)}function k(A,K){if(u!==A)return wn(Ae.NAVIGATION_CANCELLED,{from:K,to:A})}function T(A){return G(A)}function L(A){return T(Re(E(A),{replace:!0}))}function z(A,K){const H=A.matched[A.matched.length-1];if(H&&H.redirect){const{redirect:W}=H;let ue=typeof W=="function"?W(A,K):W;return typeof ue=="string"&&(ue=ue.includes("?")||ue.includes("#")?ue=E(ue):{path:ue},ue.params={}),Re({query:A.query,hash:A.hash,params:ue.path!=null?{}:A.params},ue)}}function G(A,K){const H=u=P(A),W=i.value,ue=A.state,p=A.force,b=A.replace===!0,S=z(H,W);if(S)return G(Re(E(S),{state:typeof S=="object"?Re({},ue,S.state):ue,force:p,replace:b}),K||H);const _=H;_.redirectedFrom=K;let R;return!p&&id(s,W,H)&&(R=wn(Ae.NAVIGATION_DUPLICATED,{to:_,from:W}),rt(W,W,!0,!1)),(R?Promise.resolve(R):X(_,W)).catch($=>Mt($)?Mt($,Ae.NAVIGATION_GUARD_REDIRECT)?$:lt($):me($,_,W)).then($=>{if($){if(Mt($,Ae.NAVIGATION_GUARD_REDIRECT))return G(Re({replace:b},E($.to),{state:typeof $.to=="object"?Re({},ue,$.to.state):ue,force:p}),K||_)}else $=Ue(_,W,!0,b,ue);return fe(_,W,$),$})}function re(A,K){const H=k(A,K);return H?Promise.reject(H):Promise.resolve()}function oe(A){const K=Ht.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(A):A()}function X(A,K){let H;const[W,ue,p]=Cd(A,K);H=mr(W.reverse(),"beforeRouteLeave",A,K);for(const S of W)S.leaveGuards.forEach(_=>{H.push(Gt(_,A,K))});const b=re.bind(null,A,K);return H.push(b),Pe(H).then(()=>{H=[];for(const S of o.list())H.push(Gt(S,A,K));return H.push(b),Pe(H)}).then(()=>{H=mr(ue,"beforeRouteUpdate",A,K);for(const S of ue)S.updateGuards.forEach(_=>{H.push(Gt(_,A,K))});return H.push(b),Pe(H)}).then(()=>{H=[];for(const S of p)if(S.beforeEnter)if(ft(S.beforeEnter))for(const _ of S.beforeEnter)H.push(Gt(_,A,K));else H.push(Gt(S.beforeEnter,A,K));return H.push(b),Pe(H)}).then(()=>(A.matched.forEach(S=>S.enterCallbacks={}),H=mr(p,"beforeRouteEnter",A,K,oe),H.push(b),Pe(H))).then(()=>{H=[];for(const S of l.list())H.push(Gt(S,A,K));return H.push(b),Pe(H)}).catch(S=>Mt(S,Ae.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function fe(A,K,H){a.list().forEach(W=>oe(()=>W(A,K,H)))}function Ue(A,K,H,W,ue){const p=k(A,K);if(p)return p;const b=K===Bt,S=un?history.state:{};H&&(W||b?r.replace(A.fullPath,Re({scroll:b&&S&&S.scroll},ue)):r.push(A.fullPath,ue)),i.value=A,rt(A,K,H,b),lt()}let Ve;function Le(){Ve||(Ve=r.listen((A,K,H)=>{if(!at.listening)return;const W=P(A),ue=z(W,at.currentRoute.value);if(ue){G(Re(ue,{replace:!0,force:!0}),W).catch(Wn);return}u=W;const p=i.value;un&&gd(el(p.fullPath,H.delta),vd()),X(W,p).catch(b=>Mt(b,Ae.NAVIGATION_ABORTED|Ae.NAVIGATION_CANCELLED)?b:Mt(b,Ae.NAVIGATION_GUARD_REDIRECT)?(G(Re(E(b.to),{force:!0}),W).then(S=>{Mt(S,Ae.NAVIGATION_ABORTED|Ae.NAVIGATION_DUPLICATED)&&!H.delta&&H.type===Ar.pop&&r.go(-1,!1)}).catch(Wn),Promise.reject()):(H.delta&&r.go(-H.delta,!1),me(b,W,p))).then(b=>{b=b||Ue(W,p,!1),b&&(H.delta&&!Mt(b,Ae.NAVIGATION_CANCELLED)?r.go(-H.delta,!1):H.type===Ar.pop&&Mt(b,Ae.NAVIGATION_ABORTED|Ae.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),fe(W,p,b)}).catch(Wn)}))}let pt=An(),Ee=An(),se;function me(A,K,H){lt(A);const W=Ee.list();return W.length?W.forEach(ue=>ue(A,K,H)):console.error(A),Promise.reject(A)}function ot(){return se&&i.value!==Bt?Promise.resolve():new Promise((A,K)=>{pt.add([A,K])})}function lt(A){return se||(se=!A,Le(),pt.list().forEach(([K,H])=>A?H(A):K()),pt.reset()),A}function rt(A,K,H,W){const{scrollBehavior:ue}=e;if(!un||!ue)return Promise.resolve();const p=!H&&bd(el(A.fullPath,0))||(W||!H)&&history.state&&history.state.scroll||null;return zs().then(()=>ue(A,K,p)).then(b=>b&&md(b)).catch(b=>me(b,A,K))}const Ke=A=>r.go(A);let Ft;const Ht=new Set,at={currentRoute:i,listening:!0,addRoute:v,removeRoute:x,clearRoutes:t.clearRoutes,hasRoute:C,getRoutes:y,resolve:P,options:e,push:T,replace:L,go:Ke,back:()=>Ke(-1),forward:()=>Ke(1),beforeEach:o.add,beforeResolve:l.add,afterEach:a.add,onError:Ee.add,isReady:ot,install(A){A.component("RouterLink",Hd),A.component("RouterView",Gd),A.config.globalProperties.$router=at,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>f(i)}),un&&!Ft&&i.value===Bt&&(Ft=!0,T(r.location).catch(W=>{}));const K={};for(const W in Bt)Object.defineProperty(K,W,{get:()=>i.value[W],enumerable:!0});A.provide(Zs,at),A.provide(ao,Ql(K)),A.provide(Pr,i);const H=A.unmount;Ht.add(A),A.unmount=function(){Ht.delete(A),Ht.size<1&&(u=Bt,Ve&&Ve(),Ve=null,i.value=Bt,Ft=!1,se=!1),H()}}};function Pe(A){return A.reduce((K,H)=>K.then(()=>oe(H)),Promise.resolve())}return at}function Jd(){return nt(Zs)}function Qd(e){return nt(ao)}const fl=e=>e==="";const Yd=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim();const pl=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Xd=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,s)=>s?s.toUpperCase():n.toLowerCase());const Zd=e=>{const t=Xd(e);return t.charAt(0).toUpperCase()+t.slice(1)};var ln={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const ef=Symbol("lucide-icons");function tf(){return nt(ef,{})}const nf=({name:e,iconNode:t,"icon-node":n,absoluteStrokeWidth:s,"absolute-stroke-width":r,strokeWidth:o,"stroke-width":l,size:a,color:i,...u},{slots:c})=>{const{size:d,color:g,strokeWidth:v=2,absoluteStrokeWidth:x=!1,class:y=""}=tf(),C=M(()=>{const P=fl(s)||fl(r)||s===!0||r===!0||x===!0,E=o||l||v||ln["stroke-width"];return P?Number(E)*24/Number(a??d??ln.width):E});return ns("svg",{...ln,...u,width:a??d??ln.width,height:a??d??ln.height,stroke:i??g??ln.stroke,"stroke-width":C.value,class:Yd("lucide",y,...e?[`lucide-${pl(Zd(e))}-icon`,`lucide-${pl(e)}`]:["lucide-icon"])},[...(t??n??[]).map(P=>ns(...P)),...c.default?[c.default()]:[]])};const ve=(e,t)=>(n,{slots:s,attrs:r})=>ns(nf,{...r,...n,iconNode:t,name:e},s.default?{default:s.default}:void 0);const sf=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],Ir=ve("activity",sf);const rf=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],In=ve("archive",rf);const of=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],Vn=ve("boxes",of);const lf=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],cn=ve("braces",lf);const af=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],io=ve("check",af);const uf=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],gr=ve("clock",uf);const cf=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],uo=ve("copy",cf);const df=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],Ln=ve("cpu",df);const ff=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],gn=ve("database",ff);const pf=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],hf=ve("external-link",pf);const vf=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],Zt=ve("file-braces",vf);const mf=[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]],jn=ve("hard-drive",mf);const gf=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],tn=ve("inbox",gf);const bf=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],qn=ve("key-round",bf);const yf=[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]],ei=ve("list-tree",yf);const xf=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],Dn=ve("mail",xf);const _f=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],wf=ve("maximize-2",_f);const kf=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Sf=ve("minimize-2",kf);const Cf=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],dn=ve("network",Cf);const Ef=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],$f=ve("pause",Ef);const Rf=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Cn=ve("play",Rf);const Mf=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Vr=ve("plus",Mf);const Tf=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],fn=ve("radio",Tf);const Of=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Af=ve("refresh-cw",Of);const Nf=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Pf=ve("rotate-ccw-clock",Nf);const If=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Vf=ve("rotate-cw",If);const Lf=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],Lr=ve("scroll-text",Lf);const jf=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],ti=ve("search",jf);const qf=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],co=ve("send",qf);const Df=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],Uf=ve("server",Df);const Ff=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Hf=ve("trash-2",Ff);const Bf=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],ni=ve("triangle-alert",Bf);const Kf=[["path",{d:"M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z",key:"1v7up4"}]],ks=ve("zap",Kf),qt=ae({__name:"Icon",props:{icon:{},size:{},stroke:{},class:{}},setup(e){return(t,n)=>(h(),U(da(e.icon),{size:e.size??14,"stroke-width":e.stroke??2,class:Se(["shrink-0",t.$props.class])},null,8,["size","stroke-width","class"]))}}),zf={key:1,class:"text-[10px] uppercase tracking-wider text-[var(--dt-faint)]"},ye=ae({__name:"Chip",props:{label:{},value:{},icon:{},tone:{},active:{type:Boolean},compact:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(h(),w("button",{type:"button",class:Se(["inline-flex min-h-[var(--dt-touch)] items-center gap-1.5 border border-solid px-2.5 text-left transition-colors",[e.compact?"rounded-[4px] py-1":"rounded-[var(--dt-radius)] py-1.5",e.active?"border-[var(--dt-accent)] bg-[var(--dt-accent-dim)]":"border-[var(--dt-border)] bg-[var(--dt-surface)] hover:border-[var(--dt-border-strong)] hover:bg-[var(--dt-surface-2)]"]]),style:St({borderLeftWidth:"3px",borderLeftColor:e.tone==="ok"?"var(--dt-ok)":e.tone==="warn"?"var(--dt-warn)":e.tone==="err"?"var(--dt-err)":e.tone==="info"?"var(--dt-info)":"var(--dt-border-strong)"}),onClick:n[0]||(n[0]=s=>t.$emit("click",s))},[e.icon?(h(),U(qt,{key:0,icon:e.icon,size:13,class:"text-[var(--dt-muted)]"},null,8,["icon"])):j("",!0),e.label?(h(),w("span",zf,V(e.label),1)):j("",!0),m("span",{class:Se(["dt-mono text-[12px] font-medium",{"text-[var(--dt-text)]":!e.tone||e.tone==="default","text-[var(--dt-ok)]":e.tone==="ok","text-[var(--dt-warn)]":e.tone==="warn","text-[var(--dt-err)]":e.tone==="err","text-[var(--dt-info)]":e.tone==="info"}])},V(e.value),3)],6))}}),Gf=["width","height","viewBox"],Wf=["d","stroke"],fo=ae({__name:"Sparkline",props:{values:{},width:{default:96},height:{default:22},stroke:{default:"var(--dt-accent)"}},setup(e){const t=e,n=M(()=>{const s=t.values.length?t.values:[0],r=Math.max(...s,1),o=Math.min(...s,0),l=Math.max(r-o,1e-6),a=s.length,i=t.width,u=t.height,c=2;return s.map((d,g)=>{const v=a===1?i/2:g/(a-1)*(i-c*2)+c,x=u-c-(d-o)/l*(u-c*2);return`${g===0?"M":"L"}${v.toFixed(1)},${x.toFixed(1)}`}).join(" ")});return(s,r)=>(h(),w("svg",{width:e.width,height:e.height,viewBox:`0 0 ${e.width} ${e.height}`,class:"block overflow-visible","aria-hidden":"true"},[m("path",{class:"dt-spark-path",d:n.value,fill:"none",stroke:e.stroke,"stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,8,Wf)],8,Gf))}}),hl="XSRF-TOKEN";function Jf(){if(typeof document>"u")return null;const e=document.cookie.split(";");for(const t of e){const n=t.trim();if(!n.startsWith(`${hl}=`))continue;const s=n.slice(hl.length+1);if(!s)return null;try{return decodeURIComponent(s)}catch{return s}}return null}function vl(){const e=Jf();return e?{"X-XSRF-TOKEN":e,"X-CSRF-Token":e}:{}}async function Qf(e){let t=vl();if(Object.keys(t).length||!e)return t;try{await fetch(`${e}/config`,{credentials:"same-origin"})}catch{}return t=vl(),t}const En={credentials:"same-origin"};async function ml(e,t){if(!t)return null;const n=await fetch(`${e}/requests/${encodeURIComponent(t)}`,En);return n.ok?await n.json():null}async function gl(e){const t=await fetch(`${e}/requests`,En);return t.ok?await t.json():[]}async function bl(e){const t=await fetch(`${e}/config`,En);return t.ok?t.json():{}}async function Yf(e){const t=await fetch(`${e}/logs`,En);return t.ok?await t.json():[]}async function Xf(e){const t=await fetch(`${e}/events/custom`,En);return t.ok?await t.json():[]}async function Zf(e){const t={samples:[],current:null,peak:null,min:null},n=await fetch(`${e}/memory`,En);if(!n.ok)return t;const s=await n.json();if(Array.isArray(s)){const o=s,l=o.map(a=>a.rss_bytes).filter(a=>a!=null);return{samples:o,current:l[0]??null,peak:l.length?Math.max(...l):null,min:l.length?Math.min(...l):null}}const r=s;return{samples:r.samples??[],current:r.current??null,peak:r.peak??null,min:r.min??null}}async function Et(e,t,n){const s=await Qf(e),r=await fetch(`${e}/actions/${t}`,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...s},body:JSON.stringify(n)});if(!r.ok){const o=await r.text();try{return JSON.parse(o)}catch{return{ok:!1,duration_ms:0,error:o||r.statusText}}}return await r.json()}const si="sova.devtools.v2",ri="sova.devtools.spark",oi="sova.devtools.panelH",ep="sova.devtools",tp="sova-dt-panel-h",yl={open:!1,tab:"request"};function li(){try{const e=sessionStorage.getItem(si);if(!e)return{...yl};const t=JSON.parse(e),n=t.tab==="playground"?"http":t.tab||"request";return{open:!!t.open,tab:n}}catch{return{...yl}}}function np(e){try{sessionStorage.setItem(si,JSON.stringify(e))}catch{}}function sp(e){const t={...li(),...e};return np(t),t}function ai(){try{const e=sessionStorage.getItem(ri);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="number").slice(-40):[]}catch{return[]}}function jr(e){const t=[...ai(),e].slice(-40);try{sessionStorage.setItem(ri,JSON.stringify(t))}catch{}return t}function rp(){try{const e=Number(sessionStorage.getItem(oi));if(Number.isFinite(e)&&e>=220&&e<=800)return e}catch{}return 420}function op(e){try{sessionStorage.setItem(oi,String(Math.round(e)))}catch{}}const er=[{id:"request",label:"Request",icon:Ir},{id:"timeline",label:"Timeline",icon:ei},{id:"db",label:"DB",icon:gn,anyFeature:["db"]},{id:"cache",label:"Cache",icon:In,anyFeature:["store","console-store"]},{id:"redis",label:"Redis",icon:Vn,anyFeature:["redis","console-redis"]},{id:"logs",label:"Logs",icon:Lr},{id:"http",label:"HTTP",icon:dn,anyFeature:["http","console"]},{id:"graphql",label:"GraphQL",icon:cn,anyFeature:["graphql","console-graphql"],anyMount:"graphql"},{id:"grpc",label:"gRPC",icon:fn,anyFeature:["grpc","console-grpc"],anyMount:"grpc"},{id:"rabbit",label:"Rabbit",icon:tn,anyFeature:["rabbit","console-rabbit"],anyMount:"rabbit"},{id:"mail",label:"Mail",icon:Dn,anyFeature:["mail"]},{id:"jobs",label:"Jobs",icon:jn,anyFeature:["tasks"]},{id:"auth",label:"Auth",icon:qn,anyFeature:["session","auth","console-session"]},{id:"events",label:"Events",icon:ks},{id:"memory",label:"Memory",icon:Ln},{id:"config",label:"Config",icon:Zt}];function ii(e,t,n){if(n||!e.anyFeature?.length&&!e.anyMount)return!0;const s=t?.features??[],r=t?.mounts??{};return!!(e.anyFeature?.some(o=>s.includes(o))||e.anyMount&&r[e.anyMount]!=null)}function lp(e,t){return er.filter(n=>ii(n,e,t))}function ut(e){return e>=500?"err":e>=400?"warn":"ok"}function Me(e){return e==null||Number.isNaN(e)?"—":`${e.toFixed(1)}ms`}function Wt(e){return e?.length?e.reduce((t,n)=>t+(n.duration_ms??0),0):0}const xl="sova.devtools.fs";function ap(){const t=document.getElementById("sova-devtools")?.dataset??{},n=t.statusClass||"ok",r=new URLSearchParams(location.search).get("embed")==="1"||window!==window.top,o=t.shell==="1"||location.pathname.startsWith("/_devtools/app")||t.playground==="1";return{snap:t.snap||"",status:Number(t.status||0),statusClass:n==="warn"||n==="err"?n:"ok",ms:Number(t.ms||0),sql:Number(t.sql||0),errors:Number(t.errors||0),api:t.api||"/_devtools",events:t.events||"/_devtools/events",shell:o,embed:r}}function ip(e,t,n,s){t.value={...t.value,snap:e.snap,status:e.status,statusClass:e.statusClass,ms:e.ms,sql:e.sql,errors:e.errors},e.snap&&(n.value=e.snap),e.ms>0&&(s.value=jr(e.ms))}const Te=oo("devtools",()=>{const e=li(),t=O(ap()),n=O(document.getElementById("sova-devtools")?.dataset.playground==="1"),s=O(t.value.embed||n.value?!0:e.open||t.value.shell),r=O(e.tab),o=O(t.value.snap),l=O(null),a=O([]),i=O([]),u=O(null),c=O(!1),d=O(null),g=O(ai()),v=O(rp()),x=O((()=>{try{return sessionStorage.getItem(xl)==="1"}catch{return!1}})()),y=M(()=>t.value.api),C=M(()=>t.value.embed),P=M(()=>t.value.shell),E=M(()=>n.value),k=M(()=>u.value),T=M(()=>lp(k.value,E.value)),L=M(()=>Wt(l.value?.queries)),z=M(()=>Wt(l.value?.http)),G=M(()=>Wt(l.value?.graphql)),re=M(()=>Wt(l.value?.grpc)),oe=M(()=>Wt(l.value?.rabbit)),X=M(()=>Wt(l.value?.cache)),fe=M(()=>l.value?.logs.filter(_=>String(_.level).toUpperCase().includes("ERROR")).length??0),Ue=M(()=>{let _=0,R=0,$=0;for(const F of a.value.slice(0,50)){const q=ut(F.status);q==="ok"?_++:q==="warn"?R++:$++}return{ok:_,warn:R,err:$}}),Ve=M(()=>{const _=a.value.slice(0,40).map(R=>R.duration_ms).reverse();return _.length?_:g.value}),Le=M(()=>{const _=l.value;return{request:0,timeline:a.value.length,db:_?.queries.length??0,cache:_?.cache?.filter(R=>R.backend!=="redis").length??0,redis:_?.cache?.filter(R=>R.backend==="redis").length??0,logs:_?.logs.length||i.value.length,http:_?.http.length??0,graphql:_?.graphql?.length??0,grpc:_?.grpc?.length??0,rabbit:_?.rabbit?.length??0,mail:_?.mail.length??0,jobs:_?.jobs.length??0,auth:_?.auth?.session_keys?.length??0,config:0}}),pt=M(()=>x.value?Math.max(320,window.innerHeight-40):v.value);function Ee(){n.value||sp({open:s.value,tab:r.value})}kt([s,r],Ee);function se(_){const R=Math.min(800,Math.max(220,_));if(v.value=R,op(R),C.value&&window.parent!==window)try{window.parent.postMessage({type:tp,height:R},"*")}catch{}}function me(){x.value=!x.value;try{sessionStorage.setItem(xl,x.value?"1":"0")}catch{}}function ot(){C.value||n.value||(s.value=!s.value,s.value&&Pe())}function lt(){C.value||n.value||(s.value=!1)}function rt(_){const R=er.find($=>$.id===_);R&&!ii(R,k.value,E.value)?r.value="request":r.value=_,Pe()}kt([T,r],([_,R])=>{E.value||k.value!=null&&(_.some($=>$.id===R)||(r.value="request"))});function Ke(_){o.value=_,Pe()}function Ft(_){a.value=[_,...a.value].slice(0,100),g.value=jr(_.duration_ms)}function Ht(_){a.value=_.timeline,l.value=_.current,o.value=_.current.id,i.value=_.logs,u.value=_.config,t.value={...t.value,snap:_.current.id,status:_.current.status,statusClass:ut(_.current.status),ms:_.current.duration_ms,sql:_.current.queries.length,errors:_.current.logs.filter(R=>String(R.level).toUpperCase().includes("ERROR")).length},g.value=_.timeline.map(R=>R.duration_ms).reverse(),c.value=!1}async function at(){if(!n.value)try{u.value=await bl(y.value)}catch{}}async function Pe(){if(!n.value&&!(!s.value&&!C.value)){c.value=!0,d.value=null;try{if(u.value==null&&await at(),r.value==="timeline")a.value=await gl(y.value);else if(r.value==="config")u.value=await bl(y.value);else if(r.value==="logs"&&!o.value)i.value=await Yf(y.value);else if(o.value)l.value=await ml(y.value,o.value);else{const _=await gl(y.value);a.value=_,_[0]&&(o.value=_[0].id,l.value=await ml(y.value,_[0].id))}}catch(_){d.value=_ instanceof Error?_.message:String(_)}finally{c.value=!1}}}function A(){if(!n.value)try{new BroadcastChannel(ep).addEventListener("message",R=>{const $=R.data;!$||typeof $!="object"||($.type==="page"?(ip($,t,o,g),(s.value||C.value)&&Pe()):$.type==="ui"&&!C.value&&(s.value=$.open,$.tab&&(r.value=$.tab),s.value&&Pe()))})}catch{}}const K=O(null),H=O(null);let W=null;function ue(){W==null&&(W=setTimeout(()=>{W=null,(s.value||C.value)&&Pe()},250))}function p(){if(!n.value)try{const _=new EventSource(t.value.events);_.addEventListener("request.finished",R=>{try{const $=JSON.parse(R.data);$.meta&&(Ft($.meta),(s.value||C.value)&&r.value==="timeline"&&ue())}catch{}}),_.addEventListener("custom",R=>{try{const $=JSON.parse(R.data);$.event&&K.value?.($.event)}catch{}}),_.addEventListener("memory.sample",R=>{try{const $=JSON.parse(R.data);$.sample&&H.value?.($.sample)}catch{}})}catch{}}function b(_){_.key==="Escape"&&lt()}function S(){t.value.ms>0&&!g.value.length&&(g.value=jr(t.value.ms)),A(),p(),window.addEventListener("keydown",b),n.value||(at(),Pe())}return{mount:t,open:s,tab:r,snapId:o,current:l,timeline:a,globalLogs:i,config:u,loading:c,error:d,spark:g,sparkFromTimeline:Ve,panelH:v,effectivePanelH:pt,fullscreen:x,isEmbed:C,isShell:P,isPlayground:E,api:y,sqlTotalMs:L,httpTotalMs:z,graphqlTotalMs:G,grpcTotalMs:re,rabbitTotalMs:oe,cacheTotalMs:X,logErrorCount:fe,statusBuckets:Ue,tabBadges:Le,visibleTabs:T,devtoolsConfig:k,loadConfig:at,toggle:ot,close:lt,setTab:rt,openSnap:Ke,refresh:Pe,setPanelH:se,toggleFullscreen:me,loadMock:Ht,boot:S,onCustomEvent:K,onMemorySample:H}}),up={class:"fixed inset-x-0 bottom-0 z-[var(--dt-z)] flex h-[var(--dt-bar-h)] select-none items-stretch gap-1.5 border-t border-[var(--dt-border-strong)] bg-[var(--dt-bg)] px-2 py-1 text-[var(--dt-text)]",role:"toolbar","aria-label":"Sova DevTools"},cp={class:"dt-scroll flex min-w-0 flex-1 items-center gap-1.5 overflow-x-auto"},dp={class:"ml-1 hidden items-center sm:flex"},fp=["title"],pp="/_devtools/app",hp=ae({__name:"Toolbar",setup(e){const t=Te(),n=M(()=>{const l=t.mount;return l.status?ut(l.status):l.statusClass});function s(){t.toggle()}function r(l){l.stopPropagation(),window.open(pp,"_blank","noopener,noreferrer")}function o(l){l.stopPropagation(),t.toggleFullscreen()}return(l,a)=>(h(),w("div",up,[m("button",{type:"button",class:"inline-flex min-h-[var(--dt-touch)] shrink-0 cursor-pointer items-center rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] px-2.5 text-[13px] font-bold tracking-wide text-[var(--dt-accent)] hover:border-[var(--dt-border-strong)]",title:"Toggle panel",onClick:s}," Sova "),m("div",cp,[N(ye,{label:"status",value:String(f(t).mount.status||"—"),tone:n.value,compact:"",onClick:s},null,8,["value","tone"]),N(ye,{label:"time",value:f(t).mount.ms.toFixed(1)+"ms",compact:"",onClick:s},null,8,["value"]),N(ye,{label:"sql",value:String(f(t).mount.sql),icon:f(gn),tone:"info",compact:"",onClick:s},null,8,["value","icon"]),N(ye,{label:"err",value:String(f(t).mount.errors),icon:f(ni),tone:f(t).mount.errors?"err":"default",compact:"",onClick:s},null,8,["value","icon","tone"]),m("div",dp,[N(fo,{values:f(t).sparkFromTimeline,width:72,height:16},null,8,["values"])])]),f(t).isShell?j("",!0):(h(),w("button",{key:0,type:"button",class:"hidden min-h-[var(--dt-touch)] cursor-pointer items-center gap-1 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] px-2 text-[11px] text-[var(--dt-muted)] hover:text-[var(--dt-text)] sm:inline-flex",title:"Open in new tab",onClick:r},[N(qt,{icon:f(hf),size:12},null,8,["icon"]),a[0]||(a[0]=he(" Tab ",-1))])),m("button",{type:"button",class:"inline-flex min-h-[var(--dt-touch)] cursor-pointer items-center rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] px-2 text-[var(--dt-muted)] hover:text-[var(--dt-text)]",title:f(t).fullscreen?"Exit fullscreen":"Fullscreen panel",onClick:o},[N(qt,{icon:f(t).fullscreen?f(Sf):f(wf),size:14},null,8,["icon"])],8,fp)]))}}),vp={class:"dt-scroll flex shrink-0 items-stretch gap-0 overflow-x-auto scroll-smooth border-b border-[var(--dt-border)] bg-[var(--dt-surface)] px-1 snap-x",role:"tablist","aria-label":"DevTools tabs"},mp=["aria-selected","onClick"],gp={class:"whitespace-nowrap"},bp=ae({__name:"TabNav",setup(e){const t=Te();function n(s){t.setTab(s)}return(s,r)=>(h(),w("nav",vp,[(h(!0),w(J,null,de(f(t).visibleTabs,o=>(h(),w("button",{key:o.id,type:"button",role:"tab","aria-selected":f(t).tab===o.id,class:Se(["relative inline-flex min-h-[var(--dt-touch)] snap-start cursor-pointer items-center gap-1.5 border-0 border-b-2 bg-transparent px-3 text-[12px] transition-colors",f(t).tab===o.id?"border-[var(--dt-accent)] text-[var(--dt-text)]":"border-transparent text-[var(--dt-muted)] hover:text-[var(--dt-text)]"]),onClick:ro(l=>n(o.id),["stop"])},[N(qt,{icon:o.icon,size:13,class:Se(f(t).tab===o.id?"text-[var(--dt-accent)]":"text-current")},null,8,["icon","class"]),m("span",gp,V(o.label),1),f(t).tabBadges[o.id]?(h(),w("span",{key:0,class:Se(["dt-mono rounded px-1 text-[10px]",f(t).tab===o.id?"bg-[var(--dt-accent-dim)] text-[var(--dt-accent)]":"bg-[var(--dt-surface-2)] text-[var(--dt-faint)]"])},V(f(t).tabBadges[o.id]),3)):j("",!0)],10,mp))),128))]))}}),yp={class:"flex flex-col gap-2 p-1"},xp=ae({__name:"Skeleton",props:{rows:{default:4},cols:{default:1}},setup(e){return(t,n)=>(h(),w("div",yp,[(h(!0),w(J,null,de(e.rows,s=>(h(),w("div",{key:s,class:"grid gap-2",style:St({gridTemplateColumns:`repeat(${e.cols}, minmax(0, 1fr))`})},[(h(!0),w(J,null,de(e.cols,r=>(h(),w("div",{key:r,class:"h-7 animate-pulse rounded-[var(--dt-radius)] bg-[var(--dt-surface-2)]"}))),128))],4))),128))]))}}),_p={class:"flex min-h-[var(--dt-touch)] items-center gap-2 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2.5 focus-within:border-[var(--dt-accent)]"},wp=["placeholder"],$t=ae({__name:"SearchField",props:wu({placeholder:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=Tu(e,"modelValue");return(n,s)=>(h(),w("label",_p,[N(qt,{icon:f(ti),size:14,class:"text-[var(--dt-faint)]"},null,8,["icon"]),te(m("input",{"onUpdate:modelValue":s[0]||(s[0]=r=>t.value=r),type:"search",class:"min-w-0 flex-1 border-0 bg-transparent py-2 text-[12px] text-[var(--dt-text)] outline-none placeholder:text-[var(--dt-faint)]",placeholder:e.placeholder||"Filter…"},null,8,wp),[[ie,t.value]])]))}}),ui="sova.devtools.playground.v1",ci="sova.devtools.playground.history",kp=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"];function os(){return{key:"",value:"",enabled:!0}}function Sp(){try{const e=sessionStorage.getItem(ui);return e?JSON.parse(e):null}catch{return null}}function Cp(){try{const e=sessionStorage.getItem(ci);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.slice(0,10):[]}catch{return[]}}function br(e){return!e||!Object.keys(e).length?[os()]:Object.entries(e).map(([t,n])=>({key:t,value:n,enabled:!0}))}function gs(e){const t={};for(const n of e)!n.enabled||!n.key.trim()||(t[n.key.trim()]=n.value);return t}function Ep(e){const t=e.indexOf("?");if(t<0)return{path:e,query:[os()]};const n=e.slice(0,t),r=e.slice(t+1).split("&").map(o=>{const[l,...a]=o.split("=");return{key:decodeURIComponent(l??""),value:decodeURIComponent(a.join("=")),enabled:!0}});return{path:n||"/",query:r.length?r:[os()]}}function $p(e,t){const n=t.filter(s=>s.enabled&&s.key.trim()).map(s=>`${encodeURIComponent(s.key.trim())}=${encodeURIComponent(s.value)}`);return n.length?`${e}?${n.join("&")}`:e}const po=oo("playground",()=>{const e=Sp(),t=O(e?.target==="external"?"external":"app"),n=O(e?.method||"GET"),s=O(e?.path||"/"),r=O(br(e?.query)),o=O(br(e?.headers)),l=O(e?.bodyMode==="json"||e?.bodyMode==="raw"?e.bodyMode:"none"),a=O(e?.body||""),i=O(!1),u=O(null),c=O(null),d=O(e?.response??null),g=O(Cp()),v=O("body"),x=M(()=>d.value?ut(d.value.status):"ok"),y=M(()=>{if(!d.value?.body)return"";if(l.value==="json"||C(d.value.body))try{return JSON.stringify(JSON.parse(d.value.body),null,2)}catch{}return d.value.body});function C(X){const fe=X.trim();return fe.startsWith("{")||fe.startsWith("[")}function P(){try{sessionStorage.setItem(ui,JSON.stringify({target:t.value,method:n.value,path:s.value,query:gs(r.value),headers:gs(o.value),bodyMode:l.value,body:a.value,response:d.value}))}catch{}}function E(){const X={method:n.value,path:$p(s.value,r.value),target:t.value,at_ms:Date.now()};g.value=[X,...g.value.filter(fe=>fe.method!==X.method||fe.path!==X.path)].slice(0,10);try{sessionStorage.setItem(ci,JSON.stringify(g.value))}catch{}}function k(X){if(X.method&&(n.value=X.method.toUpperCase()),X.path){const fe=Ep(X.path);s.value=fe.path,r.value=fe.query}X.target&&(t.value=X.target),X.headers&&(o.value=br(X.headers)),X.body!=null&&(a.value=X.body,l.value=C(X.body)?"json":"raw"),P()}function T(X){k({method:X.method,path:X.path,target:X.target})}function L(){o.value=[...o.value,os()]}function z(){r.value=[...r.value,os()]}function G(){l.value="json",o.value.some(fe=>fe.enabled&&fe.key.toLowerCase()==="content-type")||(o.value=[...o.value.filter(fe=>fe.key.trim()),{key:"content-type",value:"application/json",enabled:!0}])}function re(){try{a.value=JSON.stringify(JSON.parse(a.value),null,2),u.value=null}catch{u.value="Invalid JSON in body"}}async function oe(X){if(i.value=!0,u.value=null,P(),l.value==="json"&&a.value.trim())try{JSON.parse(a.value)}catch{u.value="Body must be valid JSON",i.value=!1;return}const fe=gs(o.value),Ue=gs(r.value),Ve={target:t.value,method:n.value,path:s.value,headers:fe,query:Ue};l.value!=="none"&&a.value&&(Ve.body=a.value);try{if(c.value=await Et(X,"http",Ve),!c.value.ok){u.value=c.value.error??"request failed",d.value=null;return}const Le=c.value.result;d.value={status:Le.status??0,headers:Le.headers??{},body:Le.body??"",truncated:!!Le.truncated,duration_ms:Le.duration_ms??c.value.duration_ms},E(),P()}catch(Le){u.value=Le instanceof Error?Le.message:String(Le)}finally{i.value=!1}}return{methods:kp,target:t,method:n,path:s,queryParams:r,headers:o,bodyMode:l,body:a,section:v,loading:i,error:u,response:d,responseTone:x,responseBodyPretty:y,history:g,prefill:k,restoreHistory:T,addHeader:L,addQueryParam:z,applyJsonBodyPreset:G,formatJsonBody:re,send:oe,persist:P}}),Rp={class:"flex h-full flex-col"},Mp={class:"shrink-0 border-b border-[var(--dt-border)] p-2"},Tp={class:"dt-scroll flex-1 overflow-auto",role:"listbox","aria-label":"Requests"},Op={key:0,class:"m-0 p-4 text-center text-[11px] text-[var(--dt-faint)]"},Ap=["aria-selected","onClick","onDblclick"],Np={class:"flex items-center gap-2"},Pp={class:"dt-mono text-[10px] text-[var(--dt-accent)]"},Ip={class:"dt-mono ml-auto text-[10px] text-[var(--dt-muted)]"},Vp=["title"],Lp={class:"h-0.5 overflow-hidden rounded-sm bg-[var(--dt-bg)]"},jp=ae({__name:"RequestList",setup(e){const t=Te(),n=po(),s=O(""),r=M(()=>Math.max(...t.timeline.map(l=>l.duration_ms),1)),o=M(()=>{const l=s.value.trim().toLowerCase();return l?t.timeline.filter(a=>a.path.toLowerCase().includes(l)||a.method.toLowerCase().includes(l)||String(a.status).includes(l)||a.id.toLowerCase().includes(l)):t.timeline});return(l,a)=>(h(),w("div",Rp,[m("div",Mp,[N($t,{modelValue:s.value,"onUpdate:modelValue":a[0]||(a[0]=i=>s.value=i),placeholder:"Filter requests…"},null,8,["modelValue"])]),m("div",Tp,[o.value.length?j("",!0):(h(),w("p",Op," No requests ")),(h(!0),w(J,null,de(o.value,i=>(h(),w("button",{key:i.id,type:"button",role:"option","aria-selected":f(t).snapId===i.id,class:Se(["flex w-full min-h-[var(--dt-touch)] cursor-pointer flex-col gap-1 border-0 border-b border-[var(--dt-border)] border-l-[3px] bg-transparent px-2.5 py-2 text-left transition-colors",f(t).snapId===i.id?"border-l-[var(--dt-accent)] bg-[var(--dt-accent-dim)]":"border-l-transparent hover:bg-[var(--dt-surface-2)]"]),onClick:u=>f(t).openSnap(i.id),onDblclick:ro(u=>{f(n).prefill({method:i.method,path:i.path}),f(t).setTab("http")},["prevent"])},[m("div",Np,[m("span",{class:Se(["dt-mono text-[11px] font-semibold",{"text-[var(--dt-ok)]":f(ut)(i.status)==="ok","text-[var(--dt-warn)]":f(ut)(i.status)==="warn","text-[var(--dt-err)]":f(ut)(i.status)==="err"}])},V(i.status),3),m("span",Pp,V(i.method),1),m("span",Ip,V(i.duration_ms.toFixed(0))+"ms",1)]),m("div",{class:"truncate text-[11px] text-[var(--dt-text)]",title:i.path},V(i.path),9,Vp),m("div",Lp,[m("div",{class:"h-full rounded-sm bg-[var(--dt-accent)] opacity-70",style:St({width:Math.min(100,i.duration_ms/r.value*100)+"%"})},null,4)])],42,Ap))),128))])]))}}),qp={class:"m-0 overflow-hidden rounded-[var(--dt-radius)] border border-[var(--dt-border)]"},Dp={class:"border-r border-[var(--dt-border)] bg-[var(--dt-surface-2)] px-3 py-2 text-[11px] text-[var(--dt-faint)]"},Up=["title"],Fp={class:"min-w-0 flex-1 truncate"},Hp=["onClick"],ls=ae({__name:"DefList",props:{items:{}},setup(e){async function t(n){try{await navigator.clipboard.writeText(n)}catch{}}return(n,s)=>(h(),w("dl",qp,[(h(!0),w(J,null,de(e.items,(r,o)=>(h(),w("div",{key:o,class:"grid grid-cols-[7.5rem_1fr] border-b border-[var(--dt-border)] last:border-b-0 sm:grid-cols-[9rem_1fr]"},[m("dt",Dp,V(r.label),1),m("dd",{class:Se(["m-0 flex min-w-0 items-center gap-2 px-3 py-2 text-[12px]",r.mono!==!1?"dt-mono":""]),title:r.value},[m("span",Fp,V(r.value),1),m("button",{type:"button",class:"shrink-0 cursor-pointer rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-1.5 py-0.5 text-[10px] text-[var(--dt-muted)] hover:text-[var(--dt-text)]",title:"Copy",onClick:l=>t(r.value)}," copy ",8,Hp)],10,Up)]))),128))]))}}),Bp={class:"flex flex-col items-center justify-center gap-2 px-4 py-10 text-center"},Kp={class:"flex h-10 w-10 items-center justify-center rounded-full border border-[var(--dt-border)] bg-[var(--dt-surface)] text-[var(--dt-faint)]"},zp={class:"m-0 text-[13px] font-medium text-[var(--dt-muted)]"},Gp={key:0,class:"m-0 max-w-sm text-[11px] text-[var(--dt-faint)]"},Ce=ae({__name:"EmptyState",props:{title:{},hint:{},icon:{}},setup(e){const t=e,n=M(()=>t.icon??tn);return(s,r)=>(h(),w("div",Bp,[m("div",Kp,[N(qt,{icon:n.value,size:18},null,8,["icon"])]),m("p",zp,V(e.title),1),e.hint?(h(),w("p",Gp,V(e.hint),1)):j("",!0)]))}}),Wp={key:0,class:"flex min-h-9 items-center gap-2 border-b border-[var(--dt-border)] bg-[var(--dt-surface-2)] px-3 py-2"},Jp={key:1,class:"m-0 text-[12px] font-semibold tracking-wide"},Qp={key:2,class:"text-[11px] text-[var(--dt-faint)]"},Yp={class:"ml-auto flex items-center gap-2"},Xp={class:"p-3"},ce=ae({__name:"Pane",props:{title:{},icon:{},hint:{},tone:{}},setup(e){return(t,n)=>(h(),w("section",{class:Se(["overflow-hidden rounded-[var(--dt-radius)] border bg-[var(--dt-surface)]",{"border-[var(--dt-border)]":!e.tone||e.tone==="default","border-[var(--dt-warn)]":e.tone==="warn","border-[var(--dt-err)]":e.tone==="err"}])},[e.title||t.$slots.actions?(h(),w("header",Wp,[e.icon?(h(),U(qt,{key:0,icon:e.icon,size:14,class:"text-[var(--dt-accent)]"},null,8,["icon"])):j("",!0),e.title?(h(),w("h3",Jp,V(e.title),1)):j("",!0),e.hint?(h(),w("span",Qp,V(e.hint),1)):j("",!0),m("div",Yp,[kr(t.$slots,"actions")])])):j("",!0),m("div",Xp,[kr(t.$slots,"default")])],2))}}),Zp={class:"flex flex-col gap-2"},eh={class:"flex items-baseline justify-between"},th={class:"dt-mono text-[12px] text-[var(--dt-text)]"},nh={class:"relative h-3 overflow-hidden rounded-sm border border-[var(--dt-border)] bg-[var(--dt-bg)]"},sh=["title"],rh={class:"flex flex-wrap gap-x-4 gap-y-1"},oh={class:"dt-mono text-[var(--dt-text)]"},lh=ae({__name:"Waterfall",props:{totalMs:{},segments:{}},setup(e){const t=e,n=M(()=>{const s=Math.max(t.totalMs,.001);let r=0;return t.segments.map(o=>{const l=Math.max(o.ms,0),a=r/s*100,i=Math.min(l/s*100,100-a);return r+=l,{...o,ms:l,left:a,width:i}})});return(s,r)=>(h(),w("div",Zp,[m("div",eh,[r[0]||(r[0]=m("span",{class:"text-[11px] text-[var(--dt-muted)]"},"Request waterfall",-1)),m("span",th,V(e.totalMs.toFixed(1))+"ms total",1)]),m("div",nh,[(h(!0),w(J,null,de(n.value,(o,l)=>(h(),w("div",{key:l,class:"absolute top-0 h-full",style:St({left:o.left+"%",width:Math.max(o.width,o.ms>0?.4:0)+"%",background:o.color||"var(--dt-accent)"}),title:`${o.label}: ${o.ms.toFixed(1)}ms`},null,12,sh))),128))]),m("div",rh,[(h(!0),w(J,null,de(n.value,(o,l)=>(h(),w("div",{key:"l"+l,class:"flex items-center gap-1.5 text-[11px] text-[var(--dt-muted)]"},[m("span",{class:"inline-block h-2 w-2 rounded-sm",style:St({background:o.color||"var(--dt-accent)"})},null,4),m("span",null,V(o.label),1),m("span",oh,V(o.ms.toFixed(1))+"ms",1)]))),128))])]))}}),ah={key:1,class:"flex flex-col gap-3"},ih={class:"mb-3 flex flex-wrap gap-2"},uh={class:"grid grid-cols-2 gap-2 lg:grid-cols-6"},ch=ae({__name:"RequestView",setup(e){const t=Te(),n=po(),s=M(()=>t.current),r=M(()=>s.value?ut(s.value.status):"ok"),o=M(()=>t.config?.features?.includes("i18n")??!1),l=M(()=>s.value?Math.max(0,s.value.duration_ms-t.sqlTotalMs-t.httpTotalMs-t.graphqlTotalMs-t.grpcTotalMs-t.rabbitTotalMs-t.cacheTotalMs):0),a=M(()=>[{label:"SQL",ms:t.sqlTotalMs,color:"var(--dt-info)"},{label:"GraphQL",ms:t.graphqlTotalMs,color:"var(--dt-accent)"},{label:"gRPC",ms:t.grpcTotalMs,color:"var(--dt-info)"},{label:"Rabbit",ms:t.rabbitTotalMs,color:"var(--dt-warn)"},{label:"HTTP",ms:t.httpTotalMs,color:"var(--dt-warn)"},{label:"Cache",ms:t.cacheTotalMs,color:"var(--dt-ok)"},{label:"App / other",ms:l.value,color:"var(--dt-muted)"}]),i=M(()=>{if(!s.value)return[];const c=s.value.route,d=s.value.rate_limit;return[{label:"request_id",value:s.value.request_id},{label:"snap_id",value:s.value.id},{label:"path",value:s.value.path},{label:"route",value:c?.pattern||c?.path||"—"},...o.value?[{label:"locale",value:s.value.locale||"—"}]:[],{label:"csrf",value:s.value.csrf==null?"—":s.value.csrf?"present":"missing"},{label:"encoding",value:s.value.encoding||"—"},{label:"rate_limit",value:d?`${d.remaining??"?"}/${d.limit??"?"}${d.reset!=null?` reset=${d.reset}`:""}`:"—"},{label:"at_ms",value:String(s.value.at_ms)}]}),u=M(()=>(s.value?.route?.captures??[]).map(([d,g])=>({label:d,value:g})));return(c,d)=>s.value?(h(),w("div",ah,[N(ce,{title:"Overview",icon:f(Ir)},{actions:le(()=>[m("button",{type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-0.5 text-[10px] text-[var(--dt-accent)] hover:bg-[var(--dt-surface-2)]",onClick:d[0]||(d[0]=g=>{f(n).prefill({method:s.value.method,path:s.value.path}),f(t).setTab("http")})}," Replay ")]),default:le(()=>[m("div",ih,[N(ye,{value:s.value.method,tone:"info",label:"method"},null,8,["value"]),N(ye,{value:String(s.value.status),tone:r.value,label:"status"},null,8,["value","tone"]),N(ye,{value:f(Me)(s.value.duration_ms),label:"duration",icon:f(gr)},null,8,["value","icon"])]),N(ls,{items:i.value},null,8,["items"])]),_:1},8,["icon"]),u.value.length?(h(),U(ce,{key:0,title:"Route captures",hint:"MatchedRoute"},{default:le(()=>[N(ls,{items:u.value},null,8,["items"])]),_:1})):j("",!0),m("div",uh,[N(ye,{class:"!flex w-full justify-start",label:"duration",value:f(Me)(s.value.duration_ms),icon:f(gr),tone:s.value.duration_ms>500?"warn":"default"},null,8,["value","icon","tone"]),N(ye,{class:"!flex w-full justify-start",label:"sql",value:`${s.value.queries.length} · ${f(Me)(f(t).sqlTotalMs)}`,icon:f(gn),tone:"info"},null,8,["value","icon"]),N(ye,{class:"!flex w-full justify-start",label:"cache",value:`${(s.value.cache??[]).length} · ${f(Me)(f(t).cacheTotalMs)}`,icon:f(Uf)},null,8,["value","icon"]),N(ye,{class:"!flex w-full justify-start",label:"graphql",value:`${(s.value.graphql??[]).length} · ${f(Me)(f(t).graphqlTotalMs)}`,icon:f(cn),tone:"info"},null,8,["value","icon"]),N(ye,{class:"!flex w-full justify-start",label:"grpc",value:`${(s.value.grpc??[]).length} · ${f(Me)(f(t).grpcTotalMs)}`,icon:f(fn),tone:"info"},null,8,["value","icon"]),N(ye,{class:"!flex w-full justify-start",label:"rabbit",value:`${(s.value.rabbit??[]).length} · ${f(Me)(f(t).rabbitTotalMs)}`,icon:f(tn),tone:"info"},null,8,["value","icon"]),N(ye,{class:"!flex w-full justify-start",label:"http",value:`${s.value.http.length} · ${f(Me)(f(t).httpTotalMs)}`,icon:f(dn)},null,8,["value","icon"]),N(ye,{class:"!flex w-full justify-start",label:"errors",value:String(f(t).logErrorCount),icon:f(ni),tone:f(t).logErrorCount?"err":"ok"},null,8,["value","icon","tone"])]),N(ce,{title:"Timing waterfall",icon:f(gr),hint:"measured spans"},{default:le(()=>[N(lh,{"total-ms":s.value.duration_ms,segments:a.value},null,8,["total-ms","segments"])]),_:1},8,["icon"])])):(h(),U(Ce,{key:0,title:"No request selected",hint:"Pick a request from the list on the left.",icon:f(Ir)},null,8,["icon"]))}}),dh={class:"flex items-center gap-3"},fh=["width","height"],ph=["cx","cy","r"],hh=["cx","cy","r","stroke","stroke-dasharray","stroke-dashoffset"],vh=["x","y"],mh={class:"flex flex-col gap-1 text-[11px] text-[var(--dt-muted)]"},gh={class:"flex items-center gap-1.5"},bh={class:"dt-mono text-[var(--dt-text)]"},yh={class:"flex items-center gap-1.5"},xh={class:"dt-mono text-[var(--dt-text)]"},_h={class:"flex items-center gap-1.5"},wh={class:"dt-mono text-[var(--dt-text)]"},kh=ae({__name:"StatusDonut",props:{ok:{},warn:{},err:{},size:{default:72}},setup(e){const t=e,n=M(()=>Math.max(t.ok+t.warn+t.err,0)),s=M(()=>t.size/2-4),r=M(()=>t.size/2),o=M(()=>2*Math.PI*s.value),l=M(()=>{const a=n.value||1;let i=0;const u=(c,d)=>{const g=c/a*o.value,v=i;return i+=g,{color:d,dash:`${g} ${o.value-g}`,offset:-v}};return[u(t.ok,"var(--dt-ok)"),u(t.warn,"var(--dt-warn)"),u(t.err,"var(--dt-err)")]});return(a,i)=>(h(),w("div",dh,[(h(),w("svg",{width:e.size,height:e.size,class:"shrink-0","aria-hidden":"true"},[m("circle",{cx:r.value,cy:r.value,r:s.value,fill:"none",stroke:"var(--dt-border)","stroke-width":"6"},null,8,ph),(h(!0),w(J,null,de(l.value,(u,c)=>(h(),w("circle",{key:c,cx:r.value,cy:r.value,r:s.value,fill:"none",stroke:u.color,"stroke-width":"6","stroke-linecap":"butt","stroke-dasharray":u.dash,"stroke-dashoffset":u.offset,"transform-origin":"center",style:St({transform:"rotate(-90deg)",transformOrigin:`${r.value}px ${r.value}px`})},null,12,hh))),128)),m("text",{x:r.value,y:r.value,"text-anchor":"middle","dominant-baseline":"central",class:"dt-mono",fill:"var(--dt-text)","font-size":"12","font-weight":"500"},V(n.value),9,vh)],8,fh)),m("div",mh,[m("div",gh,[i[0]||(i[0]=m("span",{class:"h-2 w-2 rounded-sm bg-[var(--dt-ok)]"},null,-1)),i[1]||(i[1]=he(" 2xx ",-1)),m("span",bh,V(e.ok),1)]),m("div",yh,[i[2]||(i[2]=m("span",{class:"h-2 w-2 rounded-sm bg-[var(--dt-warn)]"},null,-1)),i[3]||(i[3]=he(" 4xx ",-1)),m("span",xh,V(e.warn),1)]),m("div",_h,[i[4]||(i[4]=m("span",{class:"h-2 w-2 rounded-sm bg-[var(--dt-err)]"},null,-1)),i[5]||(i[5]=he(" 5xx ",-1)),m("span",wh,V(e.err),1)])])]))}}),Sh={class:"flex flex-col gap-3"},Ch={class:"grid gap-3 sm:grid-cols-2"},Eh={class:"flex items-center gap-3"},$h={class:"text-[11px] text-[var(--dt-faint)]"},Rh=ae({__name:"TimelineView",setup(e){const t=Te();return(n,s)=>(h(),w("div",Sh,[m("div",Ch,[N(ce,{title:"Latency sparkline",icon:f(ei),hint:"recent"},{default:le(()=>[m("div",Eh,[N(fo,{values:f(t).sparkFromTimeline,width:200,height:40},null,8,["values"]),m("span",$h,V(f(t).timeline.length)+" samples",1)])]),_:1},8,["icon"]),N(ce,{title:"Status mix",hint:"last 50"},{default:le(()=>[N(kh,{ok:f(t).statusBuckets.ok,warn:f(t).statusBuckets.warn,err:f(t).statusBuckets.err},null,8,["ok","warn","err"])]),_:1})]),N(ce,{title:"Hint"},{default:le(()=>[...s[0]||(s[0]=[m("p",{class:"m-0 text-[12px] text-[var(--dt-muted)]"}," Use the request list on the left to open a snapshot. Live SSE updates appear there in the running app. ",-1)])]),_:1})]))}}),Mh={class:"overflow-hidden rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)]"},Th={class:"flex items-center gap-2 border-b border-[var(--dt-border)] bg-[var(--dt-surface-2)] px-3 py-1.5"},Oh={class:"text-[10px] uppercase tracking-wider text-[var(--dt-faint)]"},Ah={class:"dt-mono text-[10px] text-[var(--dt-faint)]"},Nh={class:"dt-scroll m-0 max-h-48 overflow-auto p-3 dt-mono text-[11px] leading-relaxed text-[var(--dt-muted)] whitespace-pre-wrap break-all"},$n=ae({__name:"CodeBlock",props:{code:{},title:{default:"code"},language:{default:"text"}},setup(e){const t=e,n=O(!1);async function s(){try{await navigator.clipboard.writeText(t.code),n.value=!0,setTimeout(()=>{n.value=!1},1200)}catch{}}return(r,o)=>(h(),w("div",Mh,[m("div",Th,[m("span",Oh,V(e.title),1),m("span",Ah,V(e.language),1),m("button",{type:"button",class:"ml-auto inline-flex min-h-7 cursor-pointer items-center gap-1 rounded border border-[var(--dt-border)] bg-[var(--dt-surface)] px-2 text-[10px] text-[var(--dt-muted)] hover:text-[var(--dt-text)]",onClick:s},[N(qt,{icon:n.value?f(io):f(uo),size:12},null,8,["icon"]),he(" "+V(n.value?"copied":"copy"),1)])]),m("pre",Nh,V(e.code),1)]))}});function qr(e){const t=e.replace(/\s+/g," ").trim().toLowerCase();let n=0;for(let s=0;s<t.length;s++)n=n*31+t.charCodeAt(s)|0;return String(n)}function Ph(e){const t=new Map;for(const n of e){const s=qr(n);t.set(s,(t.get(s)||0)+1)}return t}const _l=50,Ih={key:2,class:"flex flex-col gap-3"},Vh={class:"flex flex-col gap-3"},Lh={class:"mb-2 flex flex-wrap items-center gap-2"},jh={class:"dt-mono text-[11px] text-[var(--dt-text)]"},qh={key:0,class:"rounded border border-[var(--dt-border)] px-1.5 text-[10px] text-[var(--dt-faint)]"},Dh={key:1,class:"rounded border border-[var(--dt-warn)] px-1.5 text-[10px] text-[var(--dt-warn)]"},Uh={key:2,class:"rounded border border-[var(--dt-err)] px-1.5 text-[10px] text-[var(--dt-err)]"},Fh=ae({__name:"DbView",setup(e){const t=Te(),n=O(""),s=M(()=>t.current?.queries??[]),r=M(()=>Ph(s.value.map(l=>l.sql))),o=M(()=>{const l=n.value.trim().toLowerCase();return l?s.value.filter(a=>a.sql.toLowerCase().includes(l)):s.value});return(l,a)=>f(t).current?s.value.length?(h(),w("div",Ih,[N($t,{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=i=>n.value=i),placeholder:"Filter SQL…"},null,8,["modelValue"]),N(ce,{title:"Queries",icon:f(gn),hint:`${o.value.length} · ${f(Me)(f(t).sqlTotalMs)}`},{default:le(()=>[m("div",Vh,[(h(!0),w(J,null,de(o.value,(i,u)=>(h(),w("div",{key:u,class:Se(["rounded-[var(--dt-radius)] border p-2",(i.duration_ms??0)>=f(_l)?"border-[var(--dt-warn)]":"border-[var(--dt-border)]"])},[m("div",Lh,[m("span",jh,V(f(Me)(i.duration_ms)),1),i.rows!=null?(h(),w("span",qh,V(i.rows)+" rows",1)):j("",!0),(i.duration_ms??0)>=f(_l)?(h(),w("span",Dh,"slow")):j("",!0),(r.value.get(f(qr)(i.sql))||0)>1?(h(),w("span",Uh,"dup ×"+V(r.value.get(f(qr)(i.sql))),1)):j("",!0)]),N($n,{code:i.sql,title:"sql",language:"sql"},null,8,["code"])],2))),128))])]),_:1},8,["icon","hint"])])):(h(),U(Ce,{key:1,title:"No SQL on this request",hint:"Queries appear when the DB plugin reports timings.",icon:f(gn)},null,8,["icon"])):(h(),U(Ce,{key:0,title:"No snapshot",hint:"Select a request first.",icon:f(gn)},null,8,["icon"]))}}),Hh={key:0,class:"m-0 text-[var(--dt-faint)]"},Bh={key:1,class:"overflow-auto rounded-[var(--dt-radius)] border border-[var(--dt-border)]"},Kh={class:"w-full border-collapse text-left"},zh={class:"bg-[var(--dt-surface-2)]"},Gh=["title","onDblclick"],fs=ae({__name:"DataTable",props:{headers:{},rows:{},monoCols:{}},setup(e){async function t(n){try{await navigator.clipboard.writeText(String(n??""))}catch{}}return(n,s)=>e.rows.length?(h(),w("div",Bh,[m("table",Kh,[m("thead",null,[m("tr",zh,[(h(!0),w(J,null,de(e.headers,r=>(h(),w("th",{key:r,class:"sticky top-0 px-2.5 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--dt-faint)]"},V(r),1))),128))])]),m("tbody",null,[(h(!0),w(J,null,de(e.rows,(r,o)=>(h(),w("tr",{key:o,class:Se(["border-t border-[var(--dt-border)] transition-colors hover:bg-[var(--dt-surface)]",o%2===1?"bg-[color-mix(in_srgb,var(--dt-surface)_45%,transparent)]":""])},[(h(!0),w(J,null,de(r,(l,a)=>(h(),w("td",{key:a,class:Se(["max-w-[28rem] truncate px-2.5 py-1.5 align-top text-[12px]",e.monoCols?.includes(a)?"dt-mono text-[11px]":""]),title:String(l??""),onDblclick:i=>t(l)},[kr(n.$slots,"cell",{cell:l,col:a,row:r},()=>[he(V(l),1)])],42,Gh))),128))],2))),128))])])])):(h(),w("p",Hh,"— empty —"))}}),Wh={key:0,class:"flex min-h-0 flex-1 flex-col gap-3 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] p-3"},Jh={class:"flex flex-wrap items-center gap-2"},Qh=["disabled"],Yh={key:0,class:"flex gap-2"},Xh={key:1,class:"text-[12px] text-[var(--dt-err)]"},Zh={key:2,class:"min-h-[80px] flex-1 overflow-auto rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-3 font-mono text-[11px]"},ev=ae({__name:"KvConsole",setup(e){const t=Te(),n=M(()=>t.config?.features?.includes("console-store")??!1),s=O("default"),r=O("get"),o=O(""),l=O(""),a=O(0),i=O(!1),u=O(null),c=O("");async function d(){i.value=!0,u.value=null;const g={namespace:s.value,op:r.value};o.value&&(g.key=o.value),l.value&&(g.value=l.value),a.value>0&&(g.ttl_secs=a.value);try{const v=await Et(t.api,"store",g);v.ok?c.value=JSON.stringify(v.result,null,2):u.value=v.error??"failed"}catch(v){u.value=v instanceof Error?v.message:String(v)}finally{i.value=!1}}return(g,v)=>n.value?(h(),w("div",Wh,[m("div",Jh,[te(m("input",{"onUpdate:modelValue":v[0]||(v[0]=x=>s.value=x),type:"text",placeholder:"namespace",class:"w-28 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,s.value]]),te(m("select",{"onUpdate:modelValue":v[1]||(v[1]=x=>r.value=x),class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[11px]"},[...v[5]||(v[5]=[m("option",{value:"get"},"GET",-1),m("option",{value:"set"},"SET",-1),m("option",{value:"del"},"DEL",-1),m("option",{value:"incr"},"INCR",-1)])],512),[[zn,r.value]]),m("button",{type:"button",class:"ml-auto rounded bg-[var(--dt-accent)] px-4 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:i.value,onClick:d}," Run ",8,Qh)]),te(m("input",{"onUpdate:modelValue":v[2]||(v[2]=x=>o.value=x),type:"text",placeholder:"key",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[12px]"},null,512),[[ie,o.value]]),r.value==="set"||r.value==="incr"?(h(),w("div",Yh,[te(m("input",{"onUpdate:modelValue":v[3]||(v[3]=x=>l.value=x),type:"text",placeholder:"value",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[12px]"},null,512),[[ie,l.value]]),r.value==="set"?te((h(),w("input",{key:0,"onUpdate:modelValue":v[4]||(v[4]=x=>a.value=x),type:"number",min:"0",placeholder:"TTL",class:"w-24 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-2 font-mono text-[11px]"},null,512)),[[ie,a.value,void 0,{number:!0}]]):j("",!0)])):j("",!0),u.value?(h(),w("p",Xh,V(u.value),1)):j("",!0),c.value?(h(),w("pre",Zh,V(c.value),1)):j("",!0)])):j("",!0)}}),tv={class:"flex flex-col gap-3"},nv=ae({__name:"CacheView",setup(e){const t=Te(),n=O(""),s=M(()=>t.config?.features?.includes("console-store")??!1),r=M(()=>t.current?.cache?.filter(u=>u.backend!=="redis")??[]),o=M(()=>{const u=n.value.trim().toLowerCase();return u?r.value.filter(c=>c.op.toLowerCase().includes(u)||c.key.toLowerCase().includes(u)||c.backend.toLowerCase().includes(u)):r.value}),l=M(()=>Wt(r.value)),a=["op","backend","key","hit","bytes","ms","ok"],i=M(()=>o.value.map(u=>[u.op,u.backend,u.key,u.hit==null?"—":u.hit?"hit":"miss",u.bytes==null?"—":String(u.bytes),Me(u.duration_ms),u.ok==null?"—":u.ok?"ok":"err"]));return(u,c)=>(h(),w("div",tv,[s.value?(h(),U(ce,{key:0,title:"KV console",icon:f(In)},{default:le(()=>[N(ev,{class:"min-h-0 flex-1"})]),_:1},8,["icon"])):j("",!0),f(t).current?r.value.length?(h(),w(J,{key:3},[N($t,{modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=d=>n.value=d),placeholder:"Filter op / key / backend…"},null,8,["modelValue"]),N(ce,{title:"Traces",icon:f(In),hint:`${o.value.length} · ${f(Me)(l.value)}`},{default:le(()=>[N(fs,{headers:a,rows:i.value,"mono-cols":[2]},null,8,["rows"])]),_:1},8,["icon","hint"])],64)):(h(),U(Ce,{key:2,title:"No cache / KV ops",hint:"Store and Cache calls appear when plugins emit sova.store traces.",icon:f(In)},null,8,["icon"])):(h(),U(Ce,{key:1,title:"No snapshot",hint:"Select a request to see cache / KV traces.",icon:f(In)},null,8,["icon"]))]))}}),di="sova.devtools.console.redisDb";function sv(){try{const e=Number(sessionStorage.getItem(di));return Number.isFinite(e)&&e>=0&&e<=15?e:0}catch{return 0}}const rv=oo("console",()=>{const e=O(!1),t=O(null),n=O(null),s=O(sv()),r=O("get"),o=O(""),l=O(""),a=O(""),i=O("*"),u=O(0),c=O(0),d=O([]),g=O(!1);let v=null;function x(k){s.value=Math.min(15,Math.max(0,k));try{sessionStorage.setItem(di,String(s.value))}catch{}}function y(k){o.value=k,r.value="get"}async function C(k){e.value=!0,t.value=null;const T={op:r.value,db:s.value};o.value&&(T.key=o.value),l.value&&(T.value=l.value),a.value&&(T.channel=a.value),r.value==="scan"&&(T.pattern=i.value||"*",T.cursor=u.value),r.value==="set"&&c.value>0&&(T.ttl_secs=c.value);try{if(n.value=await Et(k,"redis",T),!n.value.ok)t.value=n.value.error??"redis failed";else if(r.value==="scan"&&n.value.result&&typeof n.value.result=="object"){const L=n.value.result;typeof L.cursor=="number"&&(u.value=L.cursor)}}catch(L){t.value=L instanceof Error?L.message:String(L)}finally{e.value=!1}}function P(){v?.close(),v=null,g.value=!1}function E(k){if(g.value){P();return}if(!a.value.trim()){t.value="channel required";return}P(),d.value=[];const T=`${k}/stream/redis?channel=${encodeURIComponent(a.value)}`;v=new EventSource(T),g.value=!0,v.addEventListener("message",L=>{try{const z=JSON.parse(L.data);d.value=[{channel:z.channel??a.value,payload:z.payload??""},...d.value].slice(0,50)}catch{}}),v.onerror=()=>P()}return{loading:e,error:t,last:n,redisDb:s,redisOp:r,redisKey:o,redisValue:l,redisChannel:a,redisPattern:i,redisCursor:u,redisTtl:c,redisMessages:d,redisListening:g,prefillRedisKey:y,runRedis:C,setRedisDb:x,toggleRedisListen:E,stopRedisListen:P}}),ov={key:0,class:"text-[12px] text-[var(--dt-muted)]"},lv={key:1,class:"flex min-h-0 flex-1 flex-col gap-3 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] p-3"},av={class:"flex flex-wrap items-center gap-2"},iv=["value"],uv=["value"],cv=["disabled"],dv={key:0,class:"flex flex-wrap gap-2"},fv={key:3,class:"flex flex-wrap gap-2"},pv={key:4,class:"flex items-center gap-2 border-t border-[var(--dt-border)] pt-2"},hv={key:5,class:"max-h-32 overflow-auto rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 text-[11px]"},vv={class:"font-mono text-[var(--dt-accent)]"},mv={key:6,class:"text-[12px] text-[var(--dt-err)]"},gv={key:7,class:"min-h-[80px] flex-1 overflow-auto rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-3 font-mono text-[11px] leading-relaxed"},bv=ae({__name:"RedisConsole",setup(e){const t=rv(),n=Te(),s=M(()=>n.config?.features?.includes("console-redis")??!1),r=M(()=>t.redisOp==="set"||t.redisOp==="publish"),o=M(()=>t.last?.result?JSON.stringify(t.last.result,null,2):"");return(l,a)=>s.value?(h(),w("div",lv,[m("div",av,[a[12]||(a[12]=m("label",{class:"text-[10px] uppercase tracking-wide text-[var(--dt-faint)]"},"DB",-1)),m("select",{value:f(t).redisDb,class:"dt-mono rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[11px]",onChange:a[0]||(a[0]=i=>f(t).setRedisDb(Number(i.target.value)))},[(h(),w(J,null,de(16,i=>m("option",{key:i-1,value:i-1},V(i-1),9,uv)),64))],40,iv),te(m("select",{"onUpdate:modelValue":a[1]||(a[1]=i=>f(t).redisOp=i),class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[11px] font-medium"},[...a[11]||(a[11]=[Qu('<option value="get">GET</option><option value="set">SET</option><option value="del">DEL</option><option value="ttl">TTL</option><option value="type">TYPE</option><option value="scan">SCAN</option><option value="publish">PUBLISH</option>',7)])],512),[[zn,f(t).redisOp]]),m("button",{type:"button",class:"ml-auto rounded bg-[var(--dt-accent)] px-4 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:f(t).loading,onClick:a[2]||(a[2]=i=>f(t).runRedis(f(n).api))},V(f(t).loading?"…":"Run"),9,cv)]),f(t).redisOp==="scan"?(h(),w("div",dv,[te(m("input",{"onUpdate:modelValue":a[3]||(a[3]=i=>f(t).redisPattern=i),type:"text",placeholder:"pattern *",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,f(t).redisPattern]]),te(m("input",{"onUpdate:modelValue":a[4]||(a[4]=i=>f(t).redisCursor=i),type:"number",min:"0",placeholder:"cursor",class:"w-24 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,f(t).redisCursor,void 0,{number:!0}]])])):f(t).redisOp!=="publish"?te((h(),w("input",{key:1,"onUpdate:modelValue":a[5]||(a[5]=i=>f(t).redisKey=i),type:"text",placeholder:"key",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[12px]"},null,512)),[[ie,f(t).redisKey]]):te((h(),w("input",{key:2,"onUpdate:modelValue":a[6]||(a[6]=i=>f(t).redisChannel=i),type:"text",placeholder:"channel",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[12px]"},null,512)),[[ie,f(t).redisChannel]]),r.value?(h(),w("div",fv,[te(m("input",{"onUpdate:modelValue":a[7]||(a[7]=i=>f(t).redisValue=i),type:"text",placeholder:"value / message",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[12px]"},null,512),[[ie,f(t).redisValue]]),f(t).redisOp==="set"?te((h(),w("input",{key:0,"onUpdate:modelValue":a[8]||(a[8]=i=>f(t).redisTtl=i),type:"number",min:"0",placeholder:"TTL sec",class:"w-28 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-2 font-mono text-[11px]"},null,512)),[[ie,f(t).redisTtl,void 0,{number:!0}]]):j("",!0)])):j("",!0),f(t).redisOp==="publish"?(h(),w("div",pv,[m("button",{type:"button",class:"rounded border border-[var(--dt-border)] px-3 py-1 text-[11px]",onClick:a[9]||(a[9]=i=>f(t).toggleRedisListen(f(n).api))},V(f(t).redisListening?"Stop listen":"Listen (SSE)"),1)])):j("",!0),f(t).redisMessages.length?(h(),w("ul",hv,[(h(!0),w(J,null,de(f(t).redisMessages,(i,u)=>(h(),w("li",{key:u,class:"border-b border-[var(--dt-border)] py-1 last:border-0"},[m("span",vv,V(i.channel),1),he(": "+V(i.payload),1)]))),128))])):j("",!0),f(t).error?(h(),w("p",mv,V(f(t).error),1)):j("",!0),o.value?(h(),w("pre",gv,V(o.value),1)):j("",!0)])):(h(),w("div",ov,[...a[10]||(a[10]=[he(" Redis console requires ",-1),m("code",{class:"dt-mono"},"devtools-console-redis",-1),he(". ",-1)])]))}}),yv={class:"flex flex-col gap-3"},xv=ae({__name:"RedisView",setup(e){const t=Te(),n=O(""),s=M(()=>t.config?.features?.includes("console-redis")??!1),r=M(()=>t.current?.cache?.filter(u=>u.backend==="redis")??[]),o=M(()=>{const u=n.value.trim().toLowerCase();return u?r.value.filter(c=>c.op.toLowerCase().includes(u)||c.key.toLowerCase().includes(u)):r.value}),l=M(()=>Wt(r.value)),a=["op","key","bytes","ms","ok"],i=M(()=>o.value.map(u=>[u.op,u.key,u.bytes==null?"—":String(u.bytes),Me(u.duration_ms),u.ok==null?"—":u.ok?"ok":"err"]));return(u,c)=>(h(),w("div",yv,[s.value?(h(),U(ce,{key:0,title:"Redis console",icon:f(Vn)},{default:le(()=>[N(bv,{class:"min-h-0 flex-1"})]),_:1},8,["icon"])):j("",!0),f(t).current?r.value.length?(h(),w(J,{key:3},[N($t,{modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=d=>n.value=d),placeholder:"Filter op / key…"},null,8,["modelValue"]),N(ce,{title:"Traces",icon:f(Vn),hint:`${o.value.length} · ${f(Me)(l.value)}`},{default:le(()=>[N(fs,{headers:a,rows:i.value,"mono-cols":[1]},null,8,["rows"])]),_:1},8,["icon","hint"])],64)):(h(),U(Ce,{key:2,title:"No Redis ops on this request",hint:"sova.redis tracing appears when the Redis plugin is installed.",icon:f(Vn)},null,8,["icon"])):(h(),U(Ce,{key:1,title:"No snapshot",hint:"Select a request to see Redis traces.",icon:f(Vn)},null,8,["icon"]))]))}}),_v={class:"flex flex-col gap-3"},wv={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},kv={class:"flex flex-wrap gap-1"},Sv=["onClick"],Cv={class:"flex flex-col gap-2"},Ev={class:"flex flex-wrap items-center gap-2"},$v={class:"dt-mono text-[10px] text-[var(--dt-faint)]"},Rv={key:0,class:"dt-mono ml-auto text-[10px] text-[var(--dt-faint)]"},Mv={class:"m-0 mt-1 text-[12px] text-[var(--dt-text)]"},Tv=ae({__name:"LogsView",setup(e){const t=Te(),n=O(""),s=O("all"),r=M(()=>{const a=t.current?.logs;return a?.length?a:t.globalLogs}),o=M(()=>{let a=r.value;s.value!=="all"&&(a=a.filter(u=>String(u.level).toLowerCase().includes(s.value)));const i=n.value.trim().toLowerCase();return i&&(a=a.filter(u=>u.message.toLowerCase().includes(i)||u.target.toLowerCase().includes(i))),a}),l=[{id:"all",label:"All"},{id:"error",label:"Error"},{id:"warn",label:"Warn"},{id:"info",label:"Info"},{id:"debug",label:"Debug"}];return(a,i)=>(h(),w("div",_v,[m("div",wv,[N($t,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=u=>n.value=u),placeholder:"Filter logs…",class:"flex-1"},null,8,["modelValue"]),m("div",kv,[(h(),w(J,null,de(l,u=>m("button",{key:u.id,type:"button",class:Se(["min-h-8 cursor-pointer rounded border px-2 text-[10px] uppercase",s.value===u.id?"border-[var(--dt-accent)] bg-[var(--dt-accent-dim)] text-[var(--dt-accent)]":"border-[var(--dt-border)] text-[var(--dt-faint)]"]),onClick:c=>s.value=u.id},V(u.label),11,Sv)),64))])]),r.value.length?(h(),U(ce,{key:1,title:"Logs",icon:f(Lr),hint:`${o.value.length} / ${r.value.length}`},{default:le(()=>[m("div",Cv,[(h(!0),w(J,null,de(o.value,(u,c)=>(h(),w("div",{key:c,class:"rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2.5 py-2"},[m("div",Ev,[m("span",{class:Se(["rounded border px-1.5 text-[10px] font-semibold uppercase",{"border-[var(--dt-err)] text-[var(--dt-err)]":String(u.level).toUpperCase().includes("ERROR"),"border-[var(--dt-warn)] text-[var(--dt-warn)]":String(u.level).toUpperCase().includes("WARN"),"border-[var(--dt-info)] text-[var(--dt-info)]":String(u.level).toUpperCase().includes("INFO"),"border-[var(--dt-border)] text-[var(--dt-muted)]":String(u.level).toUpperCase().includes("DEBUG")}])},V(u.level),3),m("span",$v,V(u.target),1),u.at_ms!=null?(h(),w("span",Rv,V(u.at_ms),1)):j("",!0)]),m("p",Mv,V(u.message),1)]))),128))])]),_:1},8,["icon","hint"])):(h(),U(Ce,{key:0,title:"No log lines",hint:"Tracing output appears here.",icon:f(Lr)},null,8,["icon"]))]))}}),Ov={class:"flex flex-col gap-3"},Av={class:"flex min-h-[320px] flex-col gap-3"},Nv={class:"flex flex-wrap items-center gap-2 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] p-2"},Pv=["value"],Iv={id:"dt-path-suggestions"},Vv=["value"],Lv=["disabled"],jv={class:"flex min-h-0 flex-1 flex-col gap-3 lg:flex-row"},qv={class:"flex min-h-0 min-w-0 flex-1 flex-col rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)]"},Dv={class:"flex shrink-0 gap-1 border-b border-[var(--dt-border)] px-2 py-1"},Uv=["onClick"],Fv={class:"dt-scroll min-h-0 flex-1 overflow-auto p-2"},Hv={key:0,class:"flex flex-col gap-2"},Bv=["onUpdate:modelValue"],Kv=["onUpdate:modelValue"],zv={class:"flex items-center gap-1 text-[10px] text-[var(--dt-muted)]"},Gv=["onUpdate:modelValue"],Wv={key:1,class:"flex flex-col gap-2"},Jv=["onUpdate:modelValue"],Qv=["onUpdate:modelValue"],Yv={class:"flex items-center gap-1 text-[10px] text-[var(--dt-muted)]"},Xv=["onUpdate:modelValue"],Zv={key:2,class:"flex h-full min-h-[140px] flex-col gap-2"},em={class:"flex flex-wrap items-center gap-2"},tm={key:1,class:"text-[11px] text-[var(--dt-faint)]"},nm={class:"flex min-h-0 min-w-0 flex-1 flex-col rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)]"},sm={class:"flex shrink-0 flex-wrap items-center gap-2 border-b border-[var(--dt-border)] px-3 py-2"},rm={class:"text-[11px] text-[var(--dt-muted)]"},om={key:0,class:"rounded bg-[var(--dt-warn)]/15 px-1.5 py-0.5 text-[10px] text-[var(--dt-warn)]"},lm={key:1,class:"text-[11px] text-[var(--dt-faint)]"},am={class:"dt-scroll min-h-0 flex-1 overflow-auto p-2"},im={key:0,class:"mb-2 text-[12px] text-[var(--dt-err)]"},um={key:1,class:"mb-2 text-[11px] text-[var(--dt-muted)]"},cm={class:"mt-1 w-full text-left text-[10px]"},dm={class:"py-1 pr-2 font-mono text-[var(--dt-accent)]"},fm={class:"py-1 font-mono"},pm={key:0,class:"shrink-0 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] p-2"},hm={class:"mb-1 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-[var(--dt-faint)]"},vm={class:"flex flex-wrap gap-1"},mm=["onClick"],gm={class:"text-[var(--dt-accent)]"},bm={class:"flex flex-col gap-2"},ym={class:"flex flex-wrap items-center gap-2"},xm={class:"dt-mono rounded border border-[var(--dt-border)] px-1.5 text-[10px] text-[var(--dt-accent)]"},_m={class:"dt-mono ml-auto text-[11px] text-[var(--dt-muted)]"},wm=["onClick"],km=["title"],Sm={key:0,class:"mt-1 rounded border border-[var(--dt-err)] px-2 py-1 text-[11px] text-[var(--dt-err)]"},Cm=ae({__name:"HttpView",setup(e){const t=Te(),n=po(),s=O(""),r=M(()=>t.config?.features??[]),o=M(()=>r.value.includes("console")),l=M(()=>r.value.includes("http")),a=M(()=>t.current?.http??[]),i=M(()=>{const x=s.value.trim().toLowerCase();return x?a.value.filter(y=>y.url.toLowerCase().includes(x)||y.method.toLowerCase().includes(x)||String(y.status??"").includes(x)||(y.error||"").toLowerCase().includes(x)):a.value}),u=M(()=>{const x=t.config?.mounts,y=new Set(["/","/ping","/graphql","/graphiql"]);if(x?.graphql&&typeof x.graphql=="object"){const C=x.graphql;for(const P of Object.values(C))typeof P=="string"&&P.startsWith("/")&&y.add(P)}for(const C of n.history){const P=C.path.split("?")[0];P&&y.add(P)}return[...y]}),c=M(()=>n.response?.headers?Object.entries(n.response.headers):[]),d=O(!1);async function g(){if(n.responseBodyPretty)try{await navigator.clipboard.writeText(n.responseBodyPretty),d.value=!0,setTimeout(()=>{d.value=!1},1200)}catch{}}function v(x){n.prefill({target:"external",method:x.method,path:x.url})}return(x,y)=>(h(),w("div",Ov,[o.value?(h(),U(ce,{key:0,title:"HTTP Client",icon:f(dn)},{default:le(()=>[m("div",Av,[m("div",Nv,[te(m("select",{"onUpdate:modelValue":y[0]||(y[0]=C=>f(n).target=C),class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[11px]",onChange:y[1]||(y[1]=C=>f(n).persist())},[...y[15]||(y[15]=[m("option",{value:"app"},"App",-1),m("option",{value:"external"},"External",-1)])],544),[[zn,f(n).target]]),te(m("select",{"onUpdate:modelValue":y[2]||(y[2]=C=>f(n).method=C),class:"dt-mono w-24 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[12px] font-semibold text-[var(--dt-accent)]",onChange:y[3]||(y[3]=C=>f(n).persist())},[(h(!0),w(J,null,de(f(n).methods,C=>(h(),w("option",{key:C,value:C},V(C),9,Pv))),128))],544),[[zn,f(n).method]]),te(m("input",{"onUpdate:modelValue":y[4]||(y[4]=C=>f(n).path=C),list:"dt-path-suggestions",type:"text",placeholder:"/path",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-1.5 font-mono text-[12px]",onChange:y[5]||(y[5]=C=>f(n).persist())},null,544),[[ie,f(n).path]]),m("datalist",Iv,[(h(!0),w(J,null,de(u.value,C=>(h(),w("option",{key:C,value:C},null,8,Vv))),128))]),m("button",{type:"button",class:"inline-flex items-center gap-1.5 rounded bg-[var(--dt-accent)] px-4 py-1.5 text-[12px] font-semibold text-white disabled:opacity-50",disabled:f(n).loading,onClick:y[6]||(y[6]=C=>f(n).send(f(t).api))},[N(f(Cn),{class:"size-3.5"}),he(" "+V(f(n).loading?"Sending…":"Send"),1)],8,Lv)]),m("div",jv,[m("section",qv,[m("div",Dv,[(h(),w(J,null,de(["query","headers","body"],C=>m("button",{key:C,type:"button",class:Se(["rounded px-2 py-1 text-[11px] capitalize transition-colors",f(n).section===C?"bg-[var(--dt-accent-dim)] text-[var(--dt-accent)]":"text-[var(--dt-muted)] hover:bg-[var(--dt-surface-2)]"]),onClick:P=>f(n).section=C},V(C),11,Uv)),64))]),m("div",Fv,[f(n).section==="query"?(h(),w("div",Hv,[(h(!0),w(J,null,de(f(n).queryParams,(C,P)=>(h(),w("div",{key:P,class:"flex items-center gap-2"},[te(m("input",{"onUpdate:modelValue":E=>C.key=E,type:"text",placeholder:"key",class:"w-28 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]"},null,8,Bv),[[ie,C.key]]),te(m("input",{"onUpdate:modelValue":E=>C.value=E,type:"text",placeholder:"value",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]"},null,8,Kv),[[ie,C.value]]),m("label",zv,[te(m("input",{"onUpdate:modelValue":E=>C.enabled=E,type:"checkbox"},null,8,Gv),[[Bo,C.enabled]])])]))),128)),m("button",{type:"button",class:"inline-flex items-center gap-1 self-start text-[11px] text-[var(--dt-accent)]",onClick:y[7]||(y[7]=C=>f(n).addQueryParam())},[N(f(Vr),{class:"size-3"}),y[16]||(y[16]=he(" Add param ",-1))])])):f(n).section==="headers"?(h(),w("div",Wv,[(h(!0),w(J,null,de(f(n).headers,(C,P)=>(h(),w("div",{key:P,class:"flex items-center gap-2"},[te(m("input",{"onUpdate:modelValue":E=>C.key=E,type:"text",placeholder:"header",class:"w-36 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]"},null,8,Jv),[[ie,C.key]]),te(m("input",{"onUpdate:modelValue":E=>C.value=E,type:"text",placeholder:"value",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]"},null,8,Qv),[[ie,C.value]]),m("label",Yv,[te(m("input",{"onUpdate:modelValue":E=>C.enabled=E,type:"checkbox"},null,8,Xv),[[Bo,C.enabled]])])]))),128)),m("button",{type:"button",class:"inline-flex items-center gap-1 self-start text-[11px] text-[var(--dt-accent)]",onClick:y[8]||(y[8]=C=>f(n).addHeader())},[N(f(Vr),{class:"size-3"}),y[17]||(y[17]=he(" Add header ",-1))])])):(h(),w("div",Zv,[m("div",em,[te(m("select",{"onUpdate:modelValue":y[9]||(y[9]=C=>f(n).bodyMode=C),class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 text-[11px]"},[...y[18]||(y[18]=[m("option",{value:"none"},"No body",-1),m("option",{value:"json"},"JSON",-1),m("option",{value:"raw"},"Raw",-1)])],512),[[zn,f(n).bodyMode]]),f(n).bodyMode==="json"?(h(),w("button",{key:0,type:"button",class:"text-[10px] text-[var(--dt-accent)]",onClick:y[10]||(y[10]=C=>f(n).applyJsonBodyPreset())}," + content-type ")):j("",!0),f(n).bodyMode==="json"?(h(),w("button",{key:1,type:"button",class:"text-[10px] text-[var(--dt-muted)]",onClick:y[11]||(y[11]=C=>f(n).formatJsonBody())}," Format JSON ")):j("",!0)]),f(n).bodyMode!=="none"?te((h(),w("textarea",{key:0,"onUpdate:modelValue":y[12]||(y[12]=C=>f(n).body=C),class:"min-h-[120px] flex-1 resize-y rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 font-mono text-[11px] leading-relaxed",placeholder:'{ "key": "value" }',onChange:y[13]||(y[13]=C=>f(n).persist())},null,544)),[[ie,f(n).body]]):(h(),w("p",tm," No request body. "))]))])]),m("section",nm,[m("div",sm,[f(n).response?(h(),w(J,{key:0},[N(ye,{value:String(f(n).response.status),tone:f(n).responseTone,label:"status"},null,8,["value","tone"]),m("span",rm,V(f(Me)(f(n).response.duration_ms)),1),f(n).response.truncated?(h(),w("span",om,"truncated")):j("",!0)],64)):(h(),w("span",lm,"Response will appear here")),f(n).responseBodyPretty?(h(),w("button",{key:2,type:"button",class:"ml-auto inline-flex items-center gap-1 text-[10px] text-[var(--dt-accent)]",onClick:g},[d.value?(h(),U(f(io),{key:0,class:"size-3"})):(h(),U(f(uo),{key:1,class:"size-3"})),he(" "+V(d.value?"Copied":"Copy"),1)])):j("",!0)]),m("div",am,[f(n).error?(h(),w("p",im,V(f(n).error),1)):j("",!0),c.value.length?(h(),w("details",um,[y[19]||(y[19]=m("summary",{class:"cursor-pointer select-none"}," Response headers ",-1)),m("table",cm,[m("tbody",null,[(h(!0),w(J,null,de(c.value,([C,P])=>(h(),w("tr",{key:C,class:"border-t border-[var(--dt-border)]"},[m("td",dm,V(C),1),m("td",fm,V(P),1)]))),128))])])])):j("",!0),f(n).responseBodyPretty?(h(),U($n,{key:2,code:f(n).responseBodyPretty,title:"body",language:"json"},null,8,["code"])):j("",!0)])])]),f(n).history.length?(h(),w("div",pm,[m("div",hm,[N(f(Pf),{class:"size-3"}),y[20]||(y[20]=he(" Recent ",-1))]),m("div",vm,[(h(!0),w(J,null,de(f(n).history,(C,P)=>(h(),w("button",{key:P,type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-0.5 font-mono text-[10px] hover:bg-[var(--dt-surface-2)]",onClick:E=>f(n).restoreHistory(C)},[m("span",gm,V(C.method),1),he(" "+V(C.path),1)],8,mm))),128))])])):j("",!0)])]),_:1},8,["icon"])):j("",!0),l.value?(h(),w(J,{key:1},[f(t).current?a.value.length?(h(),w(J,{key:2},[N($t,{modelValue:s.value,"onUpdate:modelValue":y[14]||(y[14]=C=>s.value=C),placeholder:"Filter traces…"},null,8,["modelValue"]),N(ce,{title:"Outbound traces",icon:f(dn),hint:`${i.value.length} · ${f(Me)(f(t).httpTotalMs)}`},{default:le(()=>[m("div",bm,[(h(!0),w(J,null,de(i.value,(C,P)=>(h(),w("div",{key:P,class:"rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2.5"},[m("div",ym,[m("span",xm,V(C.method),1),C.status!=null?(h(),w("span",{key:0,class:Se(["dt-mono text-[11px]",{"text-[var(--dt-ok)]":f(ut)(C.status)==="ok","text-[var(--dt-warn)]":f(ut)(C.status)==="warn","text-[var(--dt-err)]":f(ut)(C.status)==="err"}])},V(C.status),3)):j("",!0),m("span",_m,V(f(Me)(C.duration_ms)),1),o.value?(h(),w("button",{key:1,type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-0.5 text-[10px] text-[var(--dt-accent)] hover:bg-[var(--dt-surface-2)]",onClick:E=>v(C)}," Replay ",8,wm)):j("",!0)]),m("div",{class:"mt-1 truncate text-[12px] text-[var(--dt-text)]",title:C.url},V(C.url),9,km),C.error?(h(),w("div",Sm,V(C.error),1)):j("",!0)]))),128))])]),_:1},8,["icon","hint"])],64)):(h(),U(Ce,{key:1,title:"No outbound HTTP",hint:"Client calls for this request appear here.",icon:f(dn)},null,8,["icon"])):(h(),U(Ce,{key:0,title:"No snapshot",hint:"Select a request to see outbound HTTP traces.",icon:f(dn)},null,8,["icon"]))],64)):j("",!0)]))}}),Em={class:"flex flex-col gap-3"},$m={class:"flex flex-col gap-2"},Rm=["disabled"],Mm={key:0,class:"text-[11px] text-[var(--dt-err)]"},Tm={class:"flex flex-col gap-2"},Om={class:"flex flex-wrap items-center gap-2"},Am={class:"dt-mono rounded border border-[var(--dt-border)] px-1.5 text-[10px] uppercase text-[var(--dt-accent)]"},Nm={class:"truncate text-[12px] font-medium text-[var(--dt-text)]"},Pm={class:"dt-mono ml-auto text-[11px] text-[var(--dt-muted)]"},Im={class:"mt-2 flex flex-wrap gap-2"},Vm=ae({__name:"GraphqlView",setup(e){const t=Te(),n=O(""),s=O("query { counter }"),r=O(""),o=O(!1),l=O(null),a=O(""),i=M(()=>t.config?.features?.includes("console-graphql")??!1),u=M(()=>t.current?.graphql??[]),c=M(()=>{const v=n.value.trim().toLowerCase();return v?u.value.filter(x=>x.operation.toLowerCase().includes(v)||x.kind.toLowerCase().includes(v)||String(x.errors).includes(v)):u.value}),d=M(()=>u.value.reduce((v,x)=>v+(x.duration_ms??0),0));async function g(){o.value=!0,l.value=null;let v;if(r.value.trim())try{v=JSON.parse(r.value)}catch{l.value="Variables must be valid JSON",o.value=!1;return}try{const x=await Et(t.api,"graphql",{query:s.value,variables:v});x.ok?a.value=JSON.stringify(x.result,null,2):l.value=x.error??"failed"}catch(x){l.value=x instanceof Error?x.message:String(x)}finally{o.value=!1}}return(v,x)=>(h(),w("div",Em,[i.value?(h(),U(ce,{key:0,title:"GraphQL Playground",icon:f(cn)},{default:le(()=>[m("div",$m,[te(m("textarea",{"onUpdate:modelValue":x[0]||(x[0]=y=>s.value=y),rows:"4",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 font-mono text-[11px]",placeholder:"query { ... }"},null,512),[[ie,s.value]]),te(m("textarea",{"onUpdate:modelValue":x[1]||(x[1]=y=>r.value=y),rows:"2",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 font-mono text-[10px]",placeholder:"Variables JSON (optional)"},null,512),[[ie,r.value]]),m("button",{type:"button",class:"inline-flex items-center gap-1 self-start rounded bg-[var(--dt-accent)] px-3 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:o.value,onClick:g},[N(f(Cn),{class:"size-3.5"}),x[3]||(x[3]=he(" Run ",-1))],8,Rm),l.value?(h(),w("p",Mm,V(l.value),1)):j("",!0),a.value?(h(),U($n,{key:1,code:a.value,title:"response",language:"json"},null,8,["code"])):j("",!0)])]),_:1},8,["icon"])):j("",!0),f(t).current?u.value.length?(h(),w(J,{key:3},[N($t,{modelValue:n.value,"onUpdate:modelValue":x[2]||(x[2]=y=>n.value=y),placeholder:"Filter operations…"},null,8,["modelValue"]),N(ce,{title:"Operations",icon:f(cn),hint:`${c.value.length} · ${f(Me)(d.value)}`},{default:le(()=>[m("div",Tm,[(h(!0),w(J,null,de(c.value,(y,C)=>(h(),w("div",{key:C,class:"rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2.5"},[m("div",Om,[m("span",Am,V(y.kind),1),m("span",Nm,V(y.operation),1),m("span",Pm,V(f(Me)(y.duration_ms)),1)]),m("div",Im,[y.errors>0?(h(),U(ye,{key:0,label:"errors",value:String(y.errors),tone:"err"},null,8,["value"])):j("",!0),y.auth!=null?(h(),U(ye,{key:1,label:"auth",value:y.auth?"header":"none",tone:y.auth?"ok":"default"},null,8,["value","tone"])):j("",!0)])]))),128))])]),_:1},8,["icon","hint"])],64)):(h(),U(Ce,{key:2,title:"No GraphQL operations on this request",hint:"POST /graphql queries appear in traces when the server plugin is installed.",icon:f(cn)},null,8,["icon"])):(h(),U(Ce,{key:1,title:"No snapshot",hint:"Select a request to see traced operations.",icon:f(cn)},null,8,["icon"]))]))}}),Lm={class:"flex h-full min-h-0 flex-col gap-3"},jm={class:"grid min-h-[280px] grid-cols-1 gap-3 lg:grid-cols-2 lg:gap-0 lg:divide-x lg:divide-[var(--dt-border)]"},qm={class:"flex min-h-0 flex-col gap-2 lg:pr-3"},Dm={id:"dt-grpc-methods"},Um=["value"],Fm={class:"flex items-center justify-between gap-2"},Hm=["disabled"],Bm={key:0,class:"text-[11px] text-[var(--dt-err)]"},Km={class:"flex min-h-0 flex-col gap-2 lg:pl-3"},zm={class:"flex flex-wrap items-center gap-2"},Gm={key:0,class:"flex flex-1 items-center justify-center rounded border border-dashed border-[var(--dt-border)] bg-[var(--dt-bg)] p-6 text-center text-[11px] text-[var(--dt-muted)]"},Wm={class:"flex flex-col gap-2"},Jm=["onClick"],Qm={class:"flex flex-wrap items-center gap-2"},Ym={class:"truncate font-mono text-[12px] font-medium text-[var(--dt-text)]"},Xm={class:"dt-mono ml-auto text-[11px] text-[var(--dt-muted)]"},Zm={class:"mt-2 flex flex-wrap gap-2"},eg=ae({__name:"GrpcView",setup(e){const t=Te(),n=O(""),s=O("hello.Greeter/SayHello"),r=O(`{
  "name": "devtools"
}`),o=O(!1),l=O(null),a=O(""),i=O(null),u=O(!1),c=M(()=>t.config?.features?.includes("console-grpc")??!1),d=M(()=>t.config?.mounts?.grpc),g=M(()=>d.value?.client_base??"—"),v=M(()=>{const L=new Set;for(const z of d.value?.methods??[])L.add(z);for(const z of t.current?.grpc??[])L.add(z.method);return s.value&&L.add(s.value),[...L]}),x=M(()=>t.current?.grpc??[]),y=M(()=>{const L=n.value.trim().toLowerCase();return L?x.value.filter(z=>z.method.toLowerCase().includes(L)||z.base.toLowerCase().includes(L)||z.direction.toLowerCase().includes(L)||String(z.error??"").toLowerCase().includes(L)):x.value}),C=M(()=>x.value.reduce((L,z)=>L+(z.duration_ms??0),0));kt(()=>d.value?.methods?.[0],L=>{L&&s.value==="hello.Greeter/SayHello"&&(s.value=L)},{immediate:!0});function P(){try{r.value=JSON.stringify(JSON.parse(r.value),null,2),l.value=null}catch{l.value="Body must be valid JSON"}}async function E(){o.value=!0,l.value=null,a.value="",i.value=null;let L={};if(r.value.trim())try{L=JSON.parse(r.value)}catch{l.value="Body must be valid JSON",o.value=!1;return}try{const z=await Et(t.api,"grpc",{method:s.value,body:L});i.value=z.duration_ms??null,z.ok?a.value=JSON.stringify(z.result,null,2):l.value=z.error??"RPC failed"}catch(z){l.value=z instanceof Error?z.message:String(z)}finally{o.value=!1}}function k(L){s.value=L.method,c.value}async function T(){if(a.value)try{await navigator.clipboard.writeText(a.value),u.value=!0,setTimeout(()=>{u.value=!1},1200)}catch{}}return(L,z)=>(h(),w("div",Lm,[c.value?(h(),U(ce,{key:0,title:"gRPC Playground",icon:f(fn),hint:g.value},{default:le(()=>[m("div",jm,[m("div",qm,[z[5]||(z[5]=m("label",{class:"text-[10px] font-medium uppercase tracking-wide text-[var(--dt-faint)]"},"Method",-1)),te(m("input",{"onUpdate:modelValue":z[0]||(z[0]=G=>s.value=G),list:"dt-grpc-methods",type:"text",placeholder:"package.Service/Method",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[12px] text-[var(--dt-text)]"},null,512),[[ie,s.value]]),m("datalist",Dm,[(h(!0),w(J,null,de(v.value,G=>(h(),w("option",{key:G,value:G},null,8,Um))),128))]),m("div",Fm,[z[4]||(z[4]=m("span",{class:"text-[10px] text-[var(--dt-muted)]"},"JSON request body",-1)),m("button",{type:"button",class:"inline-flex items-center gap-1 rounded border border-[var(--dt-border)] px-2 py-0.5 text-[10px] text-[var(--dt-muted)] hover:text-[var(--dt-text)]",onClick:P},[N(f(Vf),{class:"size-3"}),z[3]||(z[3]=he(" Format ",-1))])]),te(m("textarea",{"onUpdate:modelValue":z[1]||(z[1]=G=>r.value=G),rows:"8",spellcheck:"false",class:"min-h-[140px] flex-1 resize-y rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 font-mono text-[11px] leading-relaxed"},null,512),[[ie,r.value]]),m("button",{type:"button",class:"inline-flex items-center gap-1.5 self-start rounded bg-[var(--dt-accent)] px-4 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:o.value,onClick:E},[N(f(Cn),{class:"size-3.5"}),he(" "+V(o.value?"Calling…":"Invoke"),1)],8,Hm),l.value?(h(),w("p",Bm,V(l.value),1)):j("",!0)]),m("div",Km,[m("div",zm,[z[6]||(z[6]=m("span",{class:"text-[10px] font-medium uppercase tracking-wide text-[var(--dt-faint)]"},"Response",-1)),i.value!=null?(h(),U(ye,{key:0,label:"duration",value:f(Me)(i.value),tone:"info"},null,8,["value"])):j("",!0),a.value?(h(),w("button",{key:1,type:"button",class:"ml-auto inline-flex items-center gap-1 rounded border border-[var(--dt-border)] px-2 py-0.5 text-[10px] text-[var(--dt-muted)] hover:text-[var(--dt-text)]",onClick:T},[u.value?(h(),U(f(io),{key:0,class:"size-3 text-[var(--dt-ok)]"})):(h(),U(f(uo),{key:1,class:"size-3"})),he(" "+V(u.value?"Copied":"Copy"),1)])):j("",!0)]),!a.value&&!o.value?(h(),w("div",Gm," Connect-JSON response appears here ")):a.value?(h(),U($n,{key:1,code:a.value,title:"result",language:"json",class:"min-h-0 flex-1"},null,8,["code"])):j("",!0)])])]),_:1},8,["icon","hint"])):d.value?(h(),U(Ce,{key:1,title:"gRPC client installed",hint:"Enable devtools-console-grpc to invoke RPC from DevTools.",icon:f(fn)},null,8,["icon"])):j("",!0),f(t).current?x.value.length?(h(),w(J,{key:4},[N($t,{modelValue:n.value,"onUpdate:modelValue":z[2]||(z[2]=G=>n.value=G),placeholder:"Filter method / base / direction…"},null,8,["modelValue"]),N(ce,{title:"RPC traces",icon:f(ti),hint:`${y.value.length} · ${f(Me)(C.value)}`},{default:le(()=>[m("div",Wm,[(h(!0),w(J,null,de(y.value,(G,re)=>(h(),w("button",{key:re,type:"button",class:"rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2.5 text-left transition-colors hover:border-[var(--dt-accent)]",onClick:oe=>k(G)},[m("div",Qm,[m("span",{class:Se(["dt-mono rounded border px-1.5 text-[10px] uppercase",G.direction==="server"?"border-[var(--dt-info)] text-[var(--dt-info)]":"border-[var(--dt-accent)] text-[var(--dt-accent)]"])},V(G.direction),3),m("span",Ym,V(G.method),1),m("span",Xm,V(f(Me)(G.duration_ms)),1)]),m("div",Zm,[N(ye,{label:"base",value:G.base,tone:"default"},null,8,["value"]),G.status!=null?(h(),U(ye,{key:0,label:"status",value:String(G.status),tone:G.ok?"ok":"err"},null,8,["value","tone"])):j("",!0),G.bytes_in!=null?(h(),U(ye,{key:1,label:"in",value:`${G.bytes_in} B`,tone:"info"},null,8,["value"])):j("",!0),G.bytes_out!=null?(h(),U(ye,{key:2,label:"out",value:`${G.bytes_out} B`,tone:"info"},null,8,["value"])):j("",!0),G.ok?j("",!0):(h(),U(ye,{key:3,label:"error",value:G.error??"failed",tone:"err"},null,8,["value"]))])],8,Jm))),128))])]),_:1},8,["icon","hint"])],64)):(h(),U(Ce,{key:3,title:"No gRPC calls on this request",hint:"Outbound req.grpc().call() and mounted unary handlers emit sova.grpc traces.",icon:f(fn)},null,8,["icon"])):(h(),U(Ce,{key:2,title:"No snapshot",hint:"Select a request to see traced RPC calls.",icon:f(fn)},null,8,["icon"]))]))}}),tg={class:"flex h-full min-h-0 flex-col gap-3"},ng={class:"inline-flex shrink-0 self-start rounded-[var(--dt-radius)] border border-[var(--dt-border)] p-0.5"},sg={key:0,class:"mt-3 flex flex-col gap-2"},rg={class:"grid grid-cols-1 gap-2 sm:grid-cols-2"},og={key:1,class:"mt-3"},lg=["disabled"],ag={key:2,class:"mt-2 text-[11px] text-[var(--dt-err)]"},ig={class:"flex flex-col gap-2"},ug=["onClick"],cg={class:"flex flex-wrap items-center gap-2"},dg={class:"truncate font-mono text-[12px] text-[var(--dt-text)]"},fg={class:"dt-mono ml-auto text-[11px] text-[var(--dt-muted)]"},pg={key:0,class:"mt-2 flex flex-wrap gap-2"},hg=ae({__name:"RabbitView",setup(e){const t=Te(),n=O(""),s=O("publish"),r=O("amq.direct"),o=O("devtools.ping"),l=O("devtools.queue"),a=O('{"hello":"rabbit"}'),i=O(!1),u=O(null),c=O(""),d=M(()=>t.config?.features?.includes("console-rabbit")??!1),g=M(()=>t.config?.mounts?.rabbit),v=M(()=>t.current?.rabbit??[]),x=M(()=>{const E=n.value.trim().toLowerCase();return E?v.value.filter(k=>k.op.toLowerCase().includes(E)||String(k.exchange??"").toLowerCase().includes(E)||String(k.routing_key??"").toLowerCase().includes(E)||String(k.queue??"").toLowerCase().includes(E)):v.value}),y=M(()=>v.value.reduce((E,k)=>E+(k.duration_ms??0),0));async function C(){i.value=!0,u.value=null,c.value="";const E={op:s.value};s.value==="publish"?(E.exchange=r.value,E.routing_key=o.value,E.body=a.value):E.queue=l.value;try{const k=await Et(t.api,"rabbit",E);k.ok?c.value=JSON.stringify(k.result,null,2):u.value=k.error??"failed"}catch(k){u.value=k instanceof Error?k.message:String(k)}finally{i.value=!1}}function P(E){E.op==="consume"&&E.queue?(s.value="consume",l.value=E.queue):E.op==="publish"&&(s.value="publish",E.exchange&&(r.value=E.exchange),E.routing_key&&(o.value=E.routing_key))}return(E,k)=>(h(),w("div",tg,[d.value?(h(),U(ce,{key:0,title:"RabbitMQ Console",icon:f(tn),hint:g.value?.mode??"broker"},{default:le(()=>[m("div",ng,[m("button",{type:"button",class:Se(["rounded px-3 py-1 text-[11px] font-medium transition-colors",s.value==="publish"?"bg-[var(--dt-accent-dim)] text-[var(--dt-accent)]":"text-[var(--dt-muted)] hover:bg-[var(--dt-surface-2)]"]),onClick:k[0]||(k[0]=T=>s.value="publish")}," Publish ",2),m("button",{type:"button",class:Se(["rounded px-3 py-1 text-[11px] font-medium transition-colors",s.value==="consume"?"bg-[var(--dt-accent-dim)] text-[var(--dt-accent)]":"text-[var(--dt-muted)] hover:bg-[var(--dt-surface-2)]"]),onClick:k[1]||(k[1]=T=>s.value="consume")}," Consume one ",2)]),s.value==="publish"?(h(),w("div",sg,[m("div",rg,[te(m("input",{"onUpdate:modelValue":k[2]||(k[2]=T=>r.value=T),type:"text",placeholder:"exchange",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[11px]"},null,512),[[ie,r.value]]),te(m("input",{"onUpdate:modelValue":k[3]||(k[3]=T=>o.value=T),type:"text",placeholder:"routing key",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[11px]"},null,512),[[ie,o.value]])]),te(m("textarea",{"onUpdate:modelValue":k[4]||(k[4]=T=>a.value=T),rows:"4",spellcheck:"false",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 font-mono text-[11px]",placeholder:"message body"},null,512),[[ie,a.value]])])):(h(),w("div",og,[te(m("input",{"onUpdate:modelValue":k[5]||(k[5]=T=>l.value=T),type:"text",placeholder:"queue name",class:"w-full rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-3 py-2 font-mono text-[11px]"},null,512),[[ie,l.value]])])),m("button",{type:"button",class:"mt-3 inline-flex items-center gap-1.5 self-start rounded bg-[var(--dt-accent)] px-4 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:i.value,onClick:C},[N(f(Cn),{class:"size-3.5"}),he(" "+V(i.value?"Running…":s.value==="publish"?"Publish":"Consume"),1)],8,lg),u.value?(h(),w("p",ag,V(u.value),1)):j("",!0),c.value?(h(),U($n,{key:3,code:c.value,title:"result",language:"json",class:"mt-2"},null,8,["code"])):j("",!0)]),_:1},8,["icon","hint"])):g.value?(h(),U(Ce,{key:1,title:"RabbitMQ installed",hint:"Enable devtools-console-rabbit to publish/consume from DevTools.",icon:f(tn)},null,8,["icon"])):j("",!0),f(t).current?v.value.length?(h(),w(J,{key:4},[N($t,{modelValue:n.value,"onUpdate:modelValue":k[6]||(k[6]=T=>n.value=T),placeholder:"Filter op / exchange / queue…"},null,8,["modelValue"]),N(ce,{title:"AMQP traces",icon:f(tn),hint:`${x.value.length} · ${f(Me)(y.value)}`},{default:le(()=>[m("div",ig,[(h(!0),w(J,null,de(x.value,(T,L)=>(h(),w("button",{key:L,type:"button",class:"rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2.5 text-left transition-colors hover:border-[var(--dt-accent)]",onClick:z=>P(T)},[m("div",cg,[m("span",{class:Se(["dt-mono rounded border px-1.5 text-[10px] uppercase",T.ok?"border-[var(--dt-ok)] text-[var(--dt-ok)]":"border-[var(--dt-err)] text-[var(--dt-err)]"])},V(T.op),3),m("span",dg,V(T.op==="publish"?`${T.exchange??"—"} → ${T.routing_key??"—"}`:T.queue??"—"),1),m("span",fg,V(f(Me)(T.duration_ms)),1)]),T.bytes!=null||T.error?(h(),w("div",pg,[T.bytes!=null?(h(),U(ye,{key:0,label:"bytes",value:String(T.bytes),tone:"info"},null,8,["value"])):j("",!0),T.error?(h(),U(ye,{key:1,label:"error",value:T.error,tone:"err"},null,8,["value"])):j("",!0)])):j("",!0)],8,ug))),128))])]),_:1},8,["icon","hint"])],64)):(h(),U(Ce,{key:3,title:"No RabbitMQ ops on this request",hint:"req.rabbit().publish() / consume_one() emit sova.rabbit traces.",icon:f(co)},null,8,["icon"])):(h(),U(Ce,{key:2,title:"No snapshot",hint:"Select a request to see AMQP traces.",icon:f(tn)},null,8,["icon"]))]))}}),vg={class:"flex flex-col gap-3"},mg={class:"flex flex-col gap-2"},gg=["disabled"],bg={key:0,class:"text-[11px] text-[var(--dt-err)]"},yg={key:3,class:"flex flex-col gap-3"},xg=ae({__name:"MailView",setup(e){const t=Te(),n=O("dev@localhost"),s=O("DevTools test"),r=O("Hello from DevTools"),o=O(!1),l=O(null),a=M(()=>t.config?.features?.includes("console-mail")??!1),i=M(()=>t.current?.mail??[]);async function u(){o.value=!0,l.value=null;try{const c=await Et(t.api,"mail",{op:"send",to:n.value,subject:s.value,body:r.value});c.ok||(l.value=c.error??"send failed")}catch(c){l.value=c instanceof Error?c.message:String(c)}finally{o.value=!1}}return(c,d)=>(h(),w("div",vg,[a.value?(h(),U(ce,{key:0,title:"Compose (fake)",icon:f(Dn)},{default:le(()=>[m("div",mg,[te(m("input",{"onUpdate:modelValue":d[0]||(d[0]=g=>n.value=g),type:"text",placeholder:"to",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[11px]"},null,512),[[ie,n.value]]),te(m("input",{"onUpdate:modelValue":d[1]||(d[1]=g=>s.value=g),type:"text",placeholder:"subject",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 text-[11px]"},null,512),[[ie,s.value]]),te(m("textarea",{"onUpdate:modelValue":d[2]||(d[2]=g=>r.value=g),rows:"3",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] p-2 text-[11px]"},null,512),[[ie,r.value]]),m("button",{type:"button",class:"inline-flex items-center gap-1 self-start rounded bg-[var(--dt-accent)] px-3 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:o.value,onClick:u},[N(f(co),{class:"size-3.5"}),d[3]||(d[3]=he(" Send ",-1))],8,gg),l.value?(h(),w("p",bg,V(l.value),1)):j("",!0)])]),_:1},8,["icon"])):j("",!0),f(t).current?i.value.length?(h(),w("div",yg,[(h(!0),w(J,null,de(i.value,(g,v)=>(h(),U(ce,{key:v,title:g.subject||"(no subject)",icon:f(Dn),hint:g.backend},{default:le(()=>[N(ls,{items:[{label:"to",value:(g.to||[]).join(", ")||"—"},{label:"backend",value:g.backend},{label:"subject",value:g.subject,mono:!1}]},null,8,["items"])]),_:2},1032,["title","icon","hint"]))),128))])):(h(),U(Ce,{key:2,title:"No mail recorded",hint:"Fake/SMTP sends on this request show up here.",icon:f(Dn)},null,8,["icon"])):(h(),U(Ce,{key:1,title:"No snapshot",hint:"Select a request first.",icon:f(Dn)},null,8,["icon"]))]))}}),_g={class:"flex flex-col gap-3"},wg={class:"flex flex-wrap items-end gap-2"},kg=["disabled"],Sg={key:0,class:"mt-2 text-[11px] text-[var(--dt-err)]"},Cg={key:1,class:"mt-1 font-mono text-[11px] text-[var(--dt-ok)]"},Eg=ae({__name:"JobsView",setup(e){const t=Te(),n=O("ping"),s=O("{}"),r=O(!1),o=O(null),l=O(null),a=M(()=>t.config?.features?.includes("console-tasks")??!1),i=M(()=>t.current?.jobs??[]),u=["name","status","detail","ms"],c=M(()=>i.value.map(g=>[g.name,g.status,g.detail||"—",Me(g.duration_ms)]));async function d(){r.value=!0,o.value=null;let g={};try{g=JSON.parse(s.value||"{}")}catch{o.value="Payload must be valid JSON",r.value=!1;return}try{const v=await Et(t.api,"tasks",{name:n.value,payload:g});if(!v.ok)o.value=v.error??"enqueue failed";else{const x=v.result;l.value=x.id??null}}catch(v){o.value=v instanceof Error?v.message:String(v)}finally{r.value=!1}}return(g,v)=>(h(),w("div",_g,[a.value?(h(),U(ce,{key:0,title:"Enqueue job",icon:f(jn)},{default:le(()=>[m("div",wg,[te(m("input",{"onUpdate:modelValue":v[0]||(v[0]=x=>n.value=x),type:"text",placeholder:"job name",class:"w-40 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,n.value]]),te(m("input",{"onUpdate:modelValue":v[1]||(v[1]=x=>s.value=x),type:"text",placeholder:'{"key":"value"}',class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,s.value]]),m("button",{type:"button",class:"inline-flex items-center gap-1 rounded bg-[var(--dt-accent)] px-3 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:r.value,onClick:d},[N(f(Cn),{class:"size-3.5"}),v[2]||(v[2]=he(" Enqueue ",-1))],8,kg)]),o.value?(h(),w("p",Sg,V(o.value),1)):j("",!0),l.value?(h(),w("p",Cg," id: "+V(l.value),1)):j("",!0)]),_:1},8,["icon"])):j("",!0),f(t).current?i.value.length?(h(),U(ce,{key:3,title:"Jobs",icon:f(jn),hint:`${i.value.length}`},{default:le(()=>[N(fs,{headers:u,rows:c.value,"mono-cols":[2]},null,8,["rows"])]),_:1},8,["icon","hint"])):(h(),U(Ce,{key:2,title:"No jobs on this request",hint:"Task enqueue / worker events (sova.tasks) appear here.",icon:f(jn)},null,8,["icon"])):(h(),U(Ce,{key:1,title:"No snapshot",hint:"Select a request first.",icon:f(jn)},null,8,["icon"]))]))}}),$g={key:0,class:"flex flex-col gap-3 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] p-3"},Rg={class:"flex flex-wrap items-center gap-2"},Mg=["title"],Tg=["disabled"],Og={class:"flex flex-wrap items-end gap-2"},Ag={class:"flex min-w-[8rem] flex-1 flex-col gap-1 text-[10px] text-[var(--dt-faint)]"},Ng=["disabled"],Pg=["disabled"],Ig=["disabled"],Vg={class:"flex flex-col gap-2"},Lg=["onUpdate:modelValue"],jg=["onUpdate:modelValue","onKeydown"],qg=["disabled","onClick"],Dg=["disabled","onClick"],Ug={class:"flex items-center gap-2 border-t border-[var(--dt-border)] pt-2"},Fg=["disabled"],Hg={key:0,class:"text-[11px] text-[var(--dt-err)]"},Bg=ae({__name:"SessionConsole",setup(e){const t=Te(),n=M(()=>t.config?.features?.includes("console-session")??!1),s=O(!1),r=O(null),o=O(""),l=O(""),a=O([]),i=O(""),u=O("");function c(P){o.value=P.session_id??"",l.value=P.user_id??"";const E=P.keys??{};a.value=Object.entries(E).map(([k,T])=>({key:k,value:T}))}async function d(P,E={}){s.value=!0,r.value=null;try{const k=await Et(t.api,"session",{op:P,...E});if(!k.ok){r.value=k.error??"session action failed";return}if(P==="destroy"){o.value="",l.value="",a.value=[];return}c(k.result??{})}catch(k){r.value=k instanceof Error?k.message:String(k)}finally{s.value=!1}}async function g(){await d("list")}async function v(P){P.key.trim()&&await d("set",{key:P.key.trim(),value:P.value})}async function x(){i.value.trim()&&(await d("set",{key:i.value.trim(),value:u.value}),i.value="",u.value="")}async function y(P){await d("del",{key:P})}async function C(){l.value.trim()&&await d("bind_user",{user_id:l.value.trim()})}return cs(()=>{n.value&&g()}),(P,E)=>n.value?(h(),w("div",$g,[m("div",Rg,[E[6]||(E[6]=m("span",{class:"text-[10px] uppercase tracking-wide text-[var(--dt-faint)]"},"Live session",-1)),o.value?(h(),w("span",{key:0,class:"dt-mono truncate text-[10px] text-[var(--dt-muted)]",title:o.value},V(o.value),9,Mg)):j("",!0),m("button",{type:"button",class:"ml-auto inline-flex items-center gap-1 rounded border border-[var(--dt-border)] px-2 py-1 text-[10px] text-[var(--dt-accent)] disabled:opacity-50",disabled:s.value,onClick:g},[N(f(Af),{class:"size-3"}),E[5]||(E[5]=he(" Refresh ",-1))],8,Tg)]),m("div",Og,[m("label",Ag,[E[7]||(E[7]=he(" user_id ",-1)),te(m("input",{"onUpdate:modelValue":E[0]||(E[0]=k=>l.value=k),type:"text",placeholder:"user id",class:"rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,l.value]])]),m("button",{type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-1.5 text-[10px] text-[var(--dt-accent)] disabled:opacity-50",disabled:s.value||!l.value.trim(),onClick:C}," Bind user ",8,Ng),m("button",{type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-1.5 text-[10px] text-[var(--dt-warn)] disabled:opacity-50",disabled:s.value,onClick:E[1]||(E[1]=k=>d("regenerate"))}," Regenerate ",8,Pg),m("button",{type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-1.5 text-[10px] text-[var(--dt-err)] disabled:opacity-50",disabled:s.value,onClick:E[2]||(E[2]=k=>d("clear"))}," Clear ",8,Ig)]),m("div",Vg,[(h(!0),w(J,null,de(a.value,(k,T)=>(h(),w("div",{key:`${k.key}-${T}`,class:"flex items-center gap-2"},[te(m("input",{"onUpdate:modelValue":L=>k.key=L,type:"text",readonly:"",class:"w-28 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px] text-[var(--dt-muted)]"},null,8,Lg),[[ie,k.key]]),te(m("input",{"onUpdate:modelValue":L=>k.value=L,type:"text",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]",onKeydown:Go(L=>v(k),["enter"])},null,40,jg),[[ie,k.value]]),m("button",{type:"button",class:"rounded border border-[var(--dt-border)] px-2 py-1 text-[10px] text-[var(--dt-accent)] disabled:opacity-50",disabled:s.value,onClick:L=>v(k)}," Save ",8,qg),m("button",{type:"button",class:"rounded border border-[var(--dt-border)] p-1 text-[var(--dt-err)] disabled:opacity-50",disabled:s.value,title:"Delete key",onClick:L=>y(k.key)},[N(f(Hf),{class:"size-3"})],8,Dg)]))),128)),m("div",Ug,[te(m("input",{"onUpdate:modelValue":E[3]||(E[3]=k=>i.value=k),type:"text",placeholder:"key",class:"w-28 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]"},null,512),[[ie,i.value]]),te(m("input",{"onUpdate:modelValue":E[4]||(E[4]=k=>u.value=k),type:"text",placeholder:"value",class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1 font-mono text-[11px]",onKeydown:Go(x,["enter"])},null,544),[[ie,u.value]]),m("button",{type:"button",class:"inline-flex items-center gap-1 rounded bg-[var(--dt-accent)] px-3 py-1 text-[10px] font-semibold text-white disabled:opacity-50",disabled:s.value||!i.value.trim(),onClick:x},[N(f(Vr),{class:"size-3"}),E[8]||(E[8]=he(" Add ",-1))],8,Fg)])]),r.value?(h(),w("p",Hg,V(r.value),1)):j("",!0),E[9]||(E[9]=m("p",{class:"text-[10px] text-[var(--dt-faint)]"}," Edits apply to your browser session (cookie), not the selected snapshot. ",-1))])):j("",!0)}}),Kg={class:"flex flex-col gap-3"},zg=ae({__name:"AuthView",setup(e){const t=Te(),n=M(()=>t.current?.auth??null),s=M(()=>(n.value?.session_keys??[]).map(([l,a])=>({label:l,value:a}))),r=M(()=>(n.value?.roles??[]).join(", ")||"—"),o=M(()=>t.config?.features?.includes("console-session")??!1);return(l,a)=>(h(),w("div",Kg,[o.value?(h(),U(ce,{key:0,title:"Session console",icon:f(qn)},{default:le(()=>[N(Bg)]),_:1},8,["icon"])):j("",!0),f(t).current?(h(),w(J,{key:2},[N(ce,{title:"Identity (snapshot)",icon:f(qn)},{default:le(()=>[N(ls,{items:[{label:"session",value:n.value?.session_id||"—"},{label:"user",value:n.value?.user_id||"—"},{label:"email",value:n.value?.email||"—"},{label:"roles",value:r.value}]},null,8,["items"])]),_:1},8,["icon"]),s.value.length?(h(),U(ce,{key:1,title:"Session keys (snapshot)",hint:"redacted · read-only"},{default:le(()=>[N(ls,{items:s.value},null,8,["items"])]),_:1})):(h(),U(Ce,{key:0,title:"No session keys in snapshot",hint:"Session bag was empty or not captured for this request.",icon:f(qn)},null,8,["icon"]))],64)):(h(),U(Ce,{key:1,title:"No snapshot",hint:"Select a request to see session/auth state from that request.",icon:f(qn)},null,8,["icon"]))]))}}),Gg={key:1,class:"flex flex-col gap-3"},Wg={class:"mb-3 flex flex-wrap gap-2"},Jg={key:0,class:"text-[12px] text-[var(--dt-faint)]"},Qg={class:"mb-2 flex flex-wrap gap-2"},Yg={class:"m-0 text-[11px] leading-relaxed text-[var(--dt-muted)]"},Xg={class:"dt-mono"},Zg={class:"mb-2 flex flex-wrap gap-2"},eb={class:"mb-2 flex flex-wrap gap-2"},tb=ae({__name:"ConfigView",setup(e){const t=Te(),n=M(()=>t.config),s=M(()=>n.value?.profile??"—"),r=M(()=>n.value?.features??[]),o=M(()=>r.value.includes("i18n")),l=M(()=>n.value?.mounts??{}),a=M(()=>l.value.graphql),i=M(()=>l.value.grpc),u=M(()=>l.value.rabbit),c=M(()=>JSON.stringify(t.config??{},null,2));return(d,g)=>f(t).config==null&&!f(t).isPlayground?(h(),U(Ce,{key:0,title:"No config payload",hint:"Hub config endpoint returned empty.",icon:f(Zt)},null,8,["icon"])):(h(),w("div",Gg,[N(ce,{title:"Runtime",icon:f(Zt),hint:s.value},{default:le(()=>[m("div",Wg,[N(ye,{label:"profile",value:s.value,tone:"info"},null,8,["value"]),(h(!0),w(J,null,de(r.value,v=>(h(),U(ye,{key:v,label:"feature",value:v,tone:"ok"},null,8,["value"]))),128)),r.value.length?j("",!0):(h(),w("span",Jg,"no optional DevTools features compiled in"))]),o.value?(h(),U(ce,{key:0,title:"Internationalization",icon:f(Zt),hint:"sova-i18n middleware"},{default:le(()=>[...g[0]||(g[0]=[m("p",{class:"m-0 text-[11px] leading-relaxed text-[var(--dt-muted)]"},[he(" When "),m("code",{class:"dt-mono"},"devtools-i18n"),he(" is enabled, resolved "),m("code",{class:"dt-mono"},"locale"),he(" is captured on each request snapshot (Request tab → locale). ")],-1)])]),_:1},8,["icon"])):j("",!0),a.value?(h(),U(ce,{key:1,title:"GraphQL server",icon:f(Zt),hint:"Mounted paths from sova-graphql"},{default:le(()=>[m("div",Qg,[(h(!0),w(J,null,de(a.value,(v,x)=>(h(),U(ye,{key:x,label:String(x),value:v==null?"off":String(v),tone:"info"},null,8,["label","value"]))),128))]),m("p",Yg,[g[1]||(g[1]=he(" Open GraphiQL in the browser for ad-hoc queries; operations on POST ",-1)),m("code",Xg,V(a.value.api??"/graphql"),1),g[2]||(g[2]=he(" show up in the GraphQL tab. ",-1))])]),_:1},8,["icon"])):j("",!0),i.value?(h(),U(ce,{key:2,title:"gRPC client",icon:f(Zt),hint:"Connect-JSON from sova-grpc"},{default:le(()=>[m("div",Zg,[(h(!0),w(J,null,de(i.value,(v,x)=>(h(),U(ye,{key:x,label:String(x),value:Array.isArray(v)?v.join(", "):v==null?"off":String(v),tone:"info"},null,8,["label","value"]))),128))])]),_:1},8,["icon"])):j("",!0),u.value?(h(),U(ce,{key:3,title:"RabbitMQ",icon:f(Zt),hint:"sova-rabbit broker"},{default:le(()=>[m("div",eb,[(h(!0),w(J,null,de(u.value,(v,x)=>(h(),U(ye,{key:x,label:String(x),value:v==null?"off":String(v),tone:"info"},null,8,["label","value"]))),128))])]),_:1},8,["icon"])):j("",!0),N($n,{code:c.value,title:"config",language:"json"},null,8,["code"])]),_:1},8,["icon","hint"])]))}}),nb={class:"flex flex-col gap-3"},sb={class:"flex flex-wrap items-end gap-2"},rb=["disabled"],ob={key:0,class:"mt-2 text-[11px] text-[var(--dt-err)]"},lb={key:2,class:"flex flex-col gap-3"},ab=ae({__name:"EventsView",setup(e){const t=Te(),n=O([]),s=O(""),r=O("demo.event"),o=O('{"hello":true}'),l=O(!1),a=O(null),i=M(()=>t.config?.features?.includes("console-events")??!1);async function u(){n.value=await Xf(t.mount.api)}cs(()=>{u(),t.onCustomEvent=x=>{n.value=[x,...n.value].slice(0,100)}});async function c(){l.value=!0,a.value=null;let x={};try{x=JSON.parse(o.value||"{}")}catch{a.value="Payload must be valid JSON",l.value=!1;return}try{const y=await Et(t.api,"events",{kind:r.value,payload:x});y.ok||(a.value=y.error??"emit failed")}catch(y){a.value=y instanceof Error?y.message:String(y)}finally{l.value=!1}}const d=M(()=>{const x=s.value.trim().toLowerCase();return x?n.value.filter(y=>y.kind.toLowerCase().includes(x)||JSON.stringify(y.payload).toLowerCase().includes(x)):n.value}),g=["kind","payload","time"],v=M(()=>d.value.map(x=>[x.kind,JSON.stringify(x.payload),new Date(x.ts_ms).toLocaleTimeString()]));return(x,y)=>(h(),w("div",nb,[i.value?(h(),U(ce,{key:0,title:"Emit event",icon:f(ks)},{default:le(()=>[m("div",sb,[te(m("input",{"onUpdate:modelValue":y[0]||(y[0]=C=>r.value=C),type:"text",placeholder:"kind",class:"w-40 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,r.value]]),te(m("input",{"onUpdate:modelValue":y[1]||(y[1]=C=>o.value=C),type:"text",placeholder:'{"key":"value"}',class:"min-w-0 flex-1 rounded border border-[var(--dt-border)] bg-[var(--dt-bg)] px-2 py-1.5 font-mono text-[11px]"},null,512),[[ie,o.value]]),m("button",{type:"button",class:"inline-flex items-center gap-1 rounded bg-[var(--dt-accent)] px-3 py-1.5 text-[11px] font-semibold text-white disabled:opacity-50",disabled:l.value,onClick:c},[N(f(co),{class:"size-3.5"}),y[3]||(y[3]=he(" Emit ",-1))],8,rb)]),a.value?(h(),w("p",ob,V(a.value),1)):j("",!0)]),_:1},8,["icon"])):j("",!0),n.value.length?(h(),w("div",lb,[N($t,{modelValue:s.value,"onUpdate:modelValue":y[2]||(y[2]=C=>s.value=C),placeholder:"Filter kind / payload…"},null,8,["modelValue"]),N(ce,{title:"Events",icon:f(ks),hint:`${d.value.length}`},{default:le(()=>[N(fs,{headers:g,rows:v.value,"mono-cols":[1]},null,8,["rows"])]),_:1},8,["icon","hint"])])):(h(),U(Ce,{key:1,title:"No custom events",hint:"hub.emit(kind, payload) or auth/mail EventBus forwards appear here.",icon:f(ks)},null,8,["icon"]))]))}}),ib={class:"flex min-w-0 flex-col gap-1 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] px-3 py-2.5"},ub={class:"flex items-center gap-1.5 text-[11px] text-[var(--dt-muted)]"},cb={key:0,class:"truncate text-[10px] text-[var(--dt-faint)]"},bs=ae({__name:"MetricPill",props:{label:{},value:{},hint:{},tone:{},icon:{}},setup(e){return(t,n)=>(h(),w("div",ib,[m("div",ub,[e.icon?(h(),U(qt,{key:0,icon:e.icon,size:12},null,8,["icon"])):j("",!0),m("span",null,V(e.label),1)]),m("div",{class:Se(["dt-mono truncate text-[15px] font-medium tracking-tight",{"text-[var(--dt-text)]":!e.tone||e.tone==="default","text-[var(--dt-ok)]":e.tone==="ok","text-[var(--dt-warn)]":e.tone==="warn","text-[var(--dt-err)]":e.tone==="err","text-[var(--dt-info)]":e.tone==="info"}])},V(e.value),3),e.hint?(h(),w("div",cb,V(e.hint),1)):j("",!0)]))}}),db={key:1,class:"flex flex-col gap-3"},fb={class:"flex flex-wrap items-center gap-2"},pb={key:0,class:"text-[10px] text-[var(--dt-faint)]"},hb={class:"grid grid-cols-2 gap-2 sm:grid-cols-4"},vb=ae({__name:"MemoryView",setup(e){const t=Te(),n=O([]),s=O(null),r=O(null),o=O(null),l=O(!1);function a(k){return k==null?"—":`${(k/1024/1024).toFixed(1)} MiB`}function i(k){n.value=k.samples,s.value=k.current,r.value=k.peak,o.value=k.min}function u(k){l.value||(n.value=[k,...n.value].slice(0,120),k.rss_bytes!=null&&(s.value=k.rss_bytes,r.value=r.value==null?k.rss_bytes:Math.max(r.value,k.rss_bytes),o.value=o.value==null?k.rss_bytes:Math.min(o.value,k.rss_bytes)),k.rss_peak_bytes!=null&&(r.value=r.value==null?k.rss_peak_bytes:Math.max(r.value,k.rss_peak_bytes)))}async function c(){i(await Zf(t.mount.api))}cs(()=>{c(),t.onMemorySample=u}),Zr(()=>{t.onMemorySample===u&&(t.onMemorySample=null)});const d=M(()=>s.value),g=M(()=>r.value),v=M(()=>o.value),x=M(()=>{const k=d.value,T=v.value;return k==null||T==null?null:k-T}),y=M(()=>x.value==null?"—":`${x.value>=0?"+":"-"}${(Math.abs(x.value)/1024/1024).toFixed(1)} MiB`),C=M(()=>n.value.slice().reverse().map(k=>k.rss_bytes).filter(k=>k!=null).map(k=>k/1024/1024)),P=["time","rss","peak"],E=M(()=>n.value.map(k=>[new Date(k.ts_ms).toLocaleTimeString(),a(k.rss_bytes),a(k.rss_peak_bytes??null)]));return(k,T)=>n.value.length?(h(),w("div",db,[m("div",fb,[m("button",{type:"button",class:"inline-flex min-h-[var(--dt-touch)] cursor-pointer items-center gap-1.5 rounded-[var(--dt-radius)] border border-[var(--dt-border)] bg-[var(--dt-surface)] px-2.5 text-[11px] text-[var(--dt-muted)] hover:border-[var(--dt-border-strong)] hover:text-[var(--dt-text)]",onClick:T[0]||(T[0]=L=>l.value=!l.value)},[(h(),U(da(l.value?f(Cn):f($f)),{size:13})),he(" "+V(l.value?"Resume":"Pause"),1)]),l.value?(h(),w("span",pb,"Live updates paused · server sampler still running")):j("",!0)]),m("div",hb,[N(bs,{label:"Current",value:a(d.value),icon:f(Ln),tone:"info"},null,8,["value","icon"]),N(bs,{label:"Peak",value:a(g.value),tone:"warn"},null,8,["value"]),N(bs,{label:"Min",value:a(v.value)},null,8,["value"]),N(bs,{label:"Delta",value:y.value,tone:x.value!=null&&x.value>0?"warn":"ok",hint:"vs min in window"},null,8,["value","tone"])]),C.value.length>=2?(h(),U(ce,{key:0,title:"RSS trend",icon:f(Ln)},{default:le(()=>[N(fo,{values:C.value,width:320,height:48},null,8,["values"])]),_:1},8,["icon"])):j("",!0),N(ce,{title:"Memory",icon:f(Ln),hint:`${n.value.length} samples`},{default:le(()=>[N(fs,{headers:P,rows:E.value},null,8,["rows"])]),_:1},8,["icon","hint"])])):(h(),U(Ce,{key:0,title:"No memory samples yet",hint:"RSS samples arrive every ~2s (Linux / macOS). Pause only freezes the live UI feed.",icon:f(Ln)},null,8,["icon"]))}});er.map(e=>({id:e.id,label:e.label}));const mb=[{path:"/",redirect:"/request"},{path:"/request",name:"request",component:ch},{path:"/timeline",name:"timeline",component:Rh},{path:"/db",name:"db",component:Fh},{path:"/cache",name:"cache",component:nv},{path:"/redis",name:"redis",component:xv},{path:"/logs",name:"logs",component:Tv},{path:"/http",name:"http",component:Cm},{path:"/playground",redirect:"/http"},{path:"/graphql",name:"graphql",component:Vm},{path:"/grpc",name:"grpc",component:eg},{path:"/rabbit",name:"rabbit",component:hg},{path:"/mail",name:"mail",component:xg},{path:"/jobs",name:"jobs",component:Eg},{path:"/auth",name:"auth",component:zg},{path:"/events",name:"events",component:ab},{path:"/memory",name:"memory",component:vb},{path:"/config",name:"config",component:tb}],wl=Wd({history:Ed(),routes:mb});function kl(e){return typeof e=="string"&&er.some(t=>t.id===e)}const gb={class:"flex min-h-0 flex-1 flex-col md:flex-row"},bb={class:"dt-scroll max-h-[40%] shrink-0 overflow-auto border-b border-[var(--dt-border)] md:max-h-none md:w-[min(32%,280px)] md:border-b-0 md:border-r"},yb={class:"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden"},xb={class:"dt-scroll min-h-0 flex-1 overflow-auto p-3"},_b={key:1,class:"rounded-[var(--dt-radius)] border border-[var(--dt-err)] bg-[var(--dt-surface)] p-3 text-[var(--dt-err)]"},wb=ae({__name:"App",setup(e){const t=Te(),n=Qd(),s=Jd(),r=O(!1);let o=0,l=0;const a=O(!1);let i=null;i=s.afterEach(()=>{a.value=!1}),kt(()=>t.tab,x=>{!kl(x)||n.name===x||(a.value=!0,s.replace({name:x}))},{immediate:!0}),kt(()=>n.name,x=>{a.value||kl(x)&&t.tab!==x&&t.setTab(x)});const u=M(()=>t.isEmbed||t.isPlayground?{height:"100%",maxHeight:"100%"}:{height:`${t.effectivePanelH}px`,maxHeight:"90dvh"}),c=M(()=>!t.fullscreen&&!t.isPlayground);function d(x){t.fullscreen||(r.value=!0,o=x.clientY,l=t.panelH,window.addEventListener("pointermove",g),window.addEventListener("pointerup",v))}function g(x){r.value&&t.setPanelH(l+(o-x.clientY))}function v(){r.value=!1,window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",v)}return cs(()=>{t.isEmbed&&t.setPanelH(t.panelH)}),ia(()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",v),i?.()}),(x,y)=>{const C=xu("RouterView");return h(),w(J,null,[f(t).isEmbed?j("",!0):(h(),U(hp,{key:0})),te(m("div",{class:Se(["dt-panel-enter flex flex-col border-t border-[var(--dt-border-strong)] bg-[var(--dt-bg)] text-[var(--dt-text)]",f(t).isEmbed||f(t).isPlayground?"h-full min-h-0":"fixed inset-x-0 bottom-[var(--dt-bar-h)] z-[var(--dt-z)]"]),style:St(u.value)},[c.value?(h(),w("div",{key:0,class:"group flex h-2.5 shrink-0 cursor-ns-resize items-center justify-center",title:"Drag to resize",onPointerdown:ro(d,["prevent"])},[m("span",{class:Se(["h-0.5 w-12 rounded-full bg-[var(--dt-border-strong)] transition-colors group-hover:bg-[var(--dt-accent)]",r.value?"!bg-[var(--dt-accent)]":""])},null,2)],32)):j("",!0),N(bp),m("div",gb,[m("aside",bb,[N(jp)]),m("main",yb,[m("div",xb,[f(t).loading?(h(),U(xp,{key:0,rows:5,cols:2})):f(t).error?(h(),w("div",_b,V(f(t).error),1)):(h(),U(C,{key:2}))])])])],6),[[pc,f(t).open||f(t).isEmbed||f(t).isPlayground]])],64)}}}),Sl=document.getElementById("sova-devtools");if(Sl){const e=Vc(wb);e.use(qc()),e.use(wl),e.mount(Sl);const t=Te();wl.isReady().then(()=>{t.boot()})}