@macrulez/devtoolz 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -170
- package/dist/cli.js +13 -125
- package/dist/cli.js.map +1 -1
- package/dist/commands/image-batch/cli.js +16 -0
- package/dist/commands/image-batch/cli.js.map +1 -1
- package/dist/commands/image-batch/config.d.ts +1 -0
- package/dist/commands/image-batch/config.js +11 -0
- package/dist/commands/image-batch/config.js.map +1 -1
- package/dist/commands/image-batch/run.d.ts +1 -0
- package/dist/commands/image-batch/run.js +2 -0
- package/dist/commands/image-batch/run.js.map +1 -1
- package/dist/commands/ui/cli.js +1 -1
- package/dist/commands/ui/cli.js.map +1 -1
- package/dist/commands/ui/fs-routes.d.ts +0 -4
- package/dist/commands/ui/fs-routes.js +5 -78
- package/dist/commands/ui/fs-routes.js.map +1 -1
- package/dist/commands/ui/modules/cleanup.js +2 -2
- package/dist/commands/ui/modules/cleanup.js.map +1 -1
- package/dist/commands/ui/modules/index.js +1 -8
- package/dist/commands/ui/modules/index.js.map +1 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/ui/assets/ChecksPage-FhzZT8lq.js +1 -0
- package/dist/ui/assets/{ChecksPage-pbC0Txsh.css → ChecksPage-ZoPlxU6J.css} +1 -1
- package/dist/ui/assets/CleanupPage-9PuXSO_G.css +1 -0
- package/dist/ui/assets/{CleanupPage-B2ZTFOpP.js → CleanupPage-LpbZ2AB-.js} +4 -4
- package/dist/ui/assets/highlight-Ba7TPCSA.js +2 -0
- package/dist/ui/assets/highlight-fNCqOka7.css +1 -0
- package/dist/ui/assets/index-DTj3rBik.js +3 -0
- package/dist/ui/index.html +1 -1
- package/dist/utils/atomic-write.d.ts +1 -0
- package/dist/utils/atomic-write.js +15 -0
- package/dist/utils/atomic-write.js.map +1 -0
- package/dist/utils/backup-error.d.ts +2 -0
- package/dist/utils/backup-error.js +3 -0
- package/dist/utils/backup-error.js.map +1 -0
- package/dist/utils/backup.d.ts +19 -0
- package/dist/utils/backup.js +33 -0
- package/dist/utils/backup.js.map +1 -0
- package/dist/utils/restore.d.ts +28 -0
- package/dist/utils/restore.js +88 -0
- package/dist/utils/restore.js.map +1 -0
- package/package.json +1 -6
- package/dist/ui/assets/ChecksPage-MLWSelKP.js +0 -1
- package/dist/ui/assets/CleanupPage-k7sTI4iz.css +0 -1
- package/dist/ui/assets/FolderBrowser-BX3-y8sM.js +0 -1
- package/dist/ui/assets/FolderBrowser-DRh-WZPz.css +0 -1
- package/dist/ui/assets/ImageBatchPage-CvsCvu1q.js +0 -4
- package/dist/ui/assets/ImageBatchPage-DiK8ODUc.css +0 -1
- package/dist/ui/assets/ImageHashPage-Bbhxvjj0.js +0 -1
- package/dist/ui/assets/ImageHashPage-CUXnoJEA.css +0 -1
- package/dist/ui/assets/SourcePicker-C3qFDUoL.css +0 -1
- package/dist/ui/assets/SourcePicker-CVgtCk78.js +0 -1
- package/dist/ui/assets/UiSegmented-Q_ter8VK.css +0 -1
- package/dist/ui/assets/UiSegmented-YV1YATxM.js +0 -1
- package/dist/ui/assets/highlight-CsAszz7F.js +0 -2
- package/dist/ui/assets/index-pDKL0Y31.js +0 -3
- package/dist/ui/assets/useCopy-vCfkPGWW.js +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChecksPage-FhzZT8lq.js","assets/highlight-Ba7TPCSA.js","assets/highlight-fNCqOka7.css","assets/ChecksPage-ZoPlxU6J.css","assets/CleanupPage-LpbZ2AB-.js","assets/CleanupPage-9PuXSO_G.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
(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 i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function Yn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const H={},nt=[],Re=()=>{},cr=()=>!1,an=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),dn=e=>e.startsWith("onUpdate:"),Y=Object.assign,Xn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},bi=Object.prototype.hasOwnProperty,K=(e,t)=>bi.call(e,t),P=Array.isArray,qe=e=>Nt(e)==="[object Map]",at=e=>Nt(e)==="[object Set]",Cs=e=>Nt(e)==="[object Date]",I=e=>typeof e=="function",J=e=>typeof e=="string",ve=e=>typeof e=="symbol",W=e=>e!==null&&typeof e=="object",fr=e=>(W(e)||I(e))&&I(e.then)&&I(e.catch),ur=Object.prototype.toString,Nt=e=>ur.call(e),xi=e=>Nt(e).slice(8,-1),ar=e=>Nt(e)==="[object Object]",Zn=e=>J(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ct=Yn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),hn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},wi=/-\w/g,se=hn(e=>e.replace(wi,t=>t.slice(1).toUpperCase())),Si=/\B([A-Z])/g,Ue=hn(e=>e.replace(Si,"-$1").toLowerCase()),pn=hn(e=>e.charAt(0).toUpperCase()+e.slice(1)),On=hn(e=>e?`on${pn(e)}`:""),Q=(e,t)=>!Object.is(e,t),Gt=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},dr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Qn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Es;const gn=()=>Es||(Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function es(e){if(P(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=J(s)?Oi(s):es(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(J(e)||W(e))return e}const Ci=/;(?![^(]*\))/g,Ei=/:([^]+)/,Ti=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function Oi(e){const t={};return e.replace(Ti,n=>n.startsWith("/*")?"":n).split(Ci).forEach(n=>{if(n){const s=n.split(Ei);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function mn(e){let t="";if(J(e))t=e;else if(P(e))for(let n=0;n<e.length;n++){const s=mn(e[n]);s&&(t+=s+" ")}else if(W(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Mi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Ai=Yn(Mi);function hr(e){return!!e||e===""}function Pi(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let r=0;s&&r<e.length;r++)s=pt(e[r],t[r],n);return s}function Ts(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),r=new Uint8Array(s.length);for(const i of e){let o=-1;for(let l=0;l<s.length;l++)if(!r[l]&&pt(i,s[l],n)){o=l;break}if(o<0)return!1;r[o]=1}return!0}function Ri(e,t,n){let s=qe(e),r=qe(t);if(s||r||(s=at(e),r=at(t),s||r))return s&&r?Ts(e,t,n):!1;const i=Object.keys(e).length,o=Object.keys(t).length;if(i!==o)return!1;for(const l in e){const f=e.hasOwnProperty(l),d=t.hasOwnProperty(l);if(f&&!d||!f&&d||!pt(e[l],t[l],n))return!1}return String(e)===String(t)}function Os(e,t,n,s){n||(n=[new Map,new Map]);const[r,i]=n;if(r.has(e)||i.has(t))return r.get(e)===t&&i.get(t)===e;r.set(e,t),i.set(t,e);const o=s(e,t,n);return r.delete(e),i.delete(t),o}function pt(e,t,n){if(e===t)return!0;let s=Cs(e),r=Cs(t);return s||r?s&&r?e.getTime()===t.getTime():!1:(s=ve(e),r=ve(t),s||r?e===t:(s=P(e),r=P(t),s||r?s&&r?Os(e,t,n,Pi):!1:(s=W(e),r=W(t),s||r?!s||!r?!1:Os(e,t,n,Ri):String(e)===String(t))))}function pr(e,t){return e.findIndex(n=>pt(n,t))}const gr=e=>!!(e&&e.__v_isRef===!0),Yt=e=>J(e)?e:e==null?"":P(e)||W(e)&&(e.toString===ur||!I(e.toString))?gr(e)?Yt(e.value):JSON.stringify(e,mr,2):String(e),mr=(e,t)=>gr(t)?mr(e,t.value):qe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Mn(s,i)+" =>"]=r,n),{})}:at(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Mn(n))}:ve(t)?Mn(t):W(t)&&!P(t)&&!ar(t)?String(t):t,Mn=(e,t="")=>{var n;return ve(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Z;class Ii{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&&Z&&(Z.active?(this.parent=Z,this.index=(Z.scopes||(Z.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=Z;try{return Z=this,t()}finally{Z=n}}}on(){++this._on===1&&(this.prevScope=Z,Z=this)}off(){if(this._on>0&&--this._on===0){if(Z===this)Z=this.prevScope;else{let t=Z;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 Fi(){return Z}let q;const An=new WeakSet;class _r{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,Z&&(Z.active?Z.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,An.has(this)&&(An.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||vr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ms(this),br(this);const t=q,n=ye;q=this,ye=!0;try{return this.fn()}finally{xr(this),q=t,ye=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ss(t);this.deps=this.depsTail=void 0,Ms(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?An.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){$n(this)&&this.run()}get dirty(){return $n(this)}}let yr=0,Et,Tt;function vr(e,t=!1){if(e.flags|=8,t){e.next=Tt,Tt=e;return}e.next=Et,Et=e}function ts(){yr++}function ns(){if(--yr>0)return;if(Tt){let t=Tt;for(Tt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Et;){let t=Et;for(Et=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 br(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xr(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),ss(s),Ni(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function $n(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(wr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function wr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===At)||(e.globalVersion=At,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$n(e))))return;e.flags|=2;const t=e.dep,n=q,s=ye;q=e,ye=!0;try{br(e);const r=e.fn(e._value);(t.version===0||Q(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{q=n,ye=s,xr(e),e.flags&=-3}}function ss(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 i=n.computed.deps;i;i=i.nextDep)ss(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ni(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ye=!0;const Sr=[];function $e(){Sr.push(ye),ye=!1}function Ke(){const e=Sr.pop();ye=e===void 0?!0:e}function Ms(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=q;q=void 0;try{t()}finally{q=n}}}let At=0;class Di{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 _n{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(!q||!ye||q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==q)n=this.activeLink=new Di(q,this),q.deps?(n.prevDep=q.depsTail,q.depsTail.nextDep=n,q.depsTail=n):q.deps=q.depsTail=n,Cr(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=q.depsTail,n.nextDep=void 0,q.depsTail.nextDep=n,q.depsTail=n,q.deps===n&&(q.deps=s)}return n}trigger(t){this.version++,At++,this.notify(t)}notify(t){ts();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ns()}}}function Cr(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)Cr(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Kn=new WeakMap,rt=Symbol(""),Un=Symbol(""),Pt=Symbol("");function ne(e,t,n){if(ye&&q){let s=Kn.get(e);s||Kn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new _n),r.map=s,r.key=n),r.track()}}function Le(e,t,n,s,r,i){const o=Kn.get(e);if(!o){At++;return}const l=f=>{f&&f.trigger()};if(ts(),t==="clear")o.forEach(l);else{const f=P(e),d=f&&Zn(n);if(f&&n==="length"){const u=Number(s);o.forEach((p,v)=>{(v==="length"||v===Pt||!ve(v)&&v>=u)&&l(p)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(Pt)),t){case"add":f?d&&l(o.get("length")):(l(o.get(rt)),qe(e)&&l(o.get(Un)));break;case"delete":f||(l(o.get(rt)),qe(e)&&l(o.get(Un)));break;case"set":qe(e)&&l(o.get(rt));break}}ns()}function it(e){const t=$(e);return t===e||(ne(t,"iterate",Pt),ge(e))?t:Ie(e)?ze(e)?t.map(n=>Je(me(n))):t.map(Je):t.map(me)}function yn(e){return ne(e=$(e),"iterate",Pt),e}function Ae(e,t){return Ie(e)?Je(ze(e)?me(t):t):me(t)}const Vi={__proto__:null,[Symbol.iterator](){return Pn(this,Symbol.iterator,e=>Ae(this,e))},concat(...e){return it(this).concat(...e.map(t=>P(t)?it(t):t))},entries(){return Pn(this,"entries",e=>(e[1]=Ae(this,e[1]),e))},every(e,t){return Ne(this,"every",e,t,void 0,arguments)},filter(e,t){return Ne(this,"filter",e,t,n=>n.map(s=>Ae(this,s)),arguments)},find(e,t){return Ne(this,"find",e,t,n=>Ae(this,n),arguments)},findIndex(e,t){return Ne(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ne(this,"findLast",e,t,n=>Ae(this,n),arguments)},findLastIndex(e,t){return Ne(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ne(this,"forEach",e,t,void 0,arguments)},includes(...e){return Rn(this,"includes",e)},indexOf(...e){return Rn(this,"indexOf",e)},join(e){return it(this).join(e)},lastIndexOf(...e){return Rn(this,"lastIndexOf",e)},map(e,t){return Ne(this,"map",e,t,void 0,arguments)},pop(){return vt(this,"pop")},push(...e){return vt(this,"push",e)},reduce(e,...t){return As(this,"reduce",e,t)},reduceRight(e,...t){return As(this,"reduceRight",e,t)},shift(){return vt(this,"shift")},some(e,t){return Ne(this,"some",e,t,void 0,arguments)},splice(...e){return vt(this,"splice",e)},toReversed(){return it(this).toReversed()},toSorted(e){return it(this).toSorted(e)},toSpliced(...e){return it(this).toSpliced(...e)},unshift(...e){return vt(this,"unshift",e)},values(){return Pn(this,"values",e=>Ae(this,e))}};function Pn(e,t,n){const s=yn(e),r=s[t]();return s!==e&&!ge(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Li=Array.prototype;function Ne(e,t,n,s,r,i){const o=yn(e),l=o!==e&&!ge(e),f=o[t];if(f!==Li[t]){const p=f.apply(e,i);return l?me(p):p}let d=n;o!==e&&(l?d=function(p,v){return n.call(this,Ae(e,p),v,e)}:n.length>2&&(d=function(p,v){return n.call(this,p,v,e)}));const u=f.call(o,d,s);return l&&r?r(u):u}function As(e,t,n,s){const r=yn(e),i=r!==e&&!ge(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(d,u,p){return l&&(l=!1,d=Ae(e,d)),n.call(this,d,Ae(e,u),p,e)}):n.length>3&&(o=function(d,u,p){return n.call(this,d,u,p,e)}));const f=r[t](o,...s);return l?Ae(e,f):f}function Rn(e,t,n){const s=$(e);ne(s,"iterate",Pt);const r=s[t](...n);return(r===-1||r===!1)&&ls(n[0])?(n[0]=$(n[0]),s[t](...n)):r}function vt(e,t,n=[]){$e(),ts();const s=$(e)[t].apply(e,n);return ns(),Ke(),s}const Hi=Yn("__proto__,__v_isRef,__isVue"),Er=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ve));function ji(e){ve(e)||(e=String(e));const t=$(this);return ne(t,"has",e),t.hasOwnProperty(e)}class Tr{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,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Gi:Pr:i?Ar:Mr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=P(t);if(!r){let f;if(o&&(f=Vi[n]))return f;if(n==="hasOwnProperty")return ji}const l=Reflect.get(t,n,re(t)?t:s);if((ve(n)?Er.has(n):Hi(n))||(r||ne(t,"get",n),i))return l;if(re(l)){const f=o&&Zn(n)?l:l.value;return r&&W(f)?Bn(f):f}return W(l)?r?Bn(l):is(l):l}}class Or extends Tr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=P(t)&&Zn(n);if(!this._isShallow){const d=Ie(i);if(!ge(s)&&!Ie(s)&&(i=$(i),s=$(s)),!o&&re(i)&&!re(s))return d||(i.value=s),!0}const l=o?Number(n)<t.length:K(t,n),f=Reflect.set(t,n,s,re(t)?t:r);return t===$(r)&&f&&(l?Q(s,i)&&Le(t,"set",n,s):Le(t,"add",n,s)),f}deleteProperty(t,n){const s=K(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&Le(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!ve(n)||!Er.has(n))&&ne(t,"has",n),s}ownKeys(t){return ne(t,"iterate",P(t)?"length":rt),Reflect.ownKeys(t)}}class $i extends Tr{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ki=new Or,Ui=new $i,Wi=new Or(!0);const Wn=e=>e,Wt=e=>Reflect.getPrototypeOf(e);function Bi(e,t,n){return function(...s){const r=this.__v_raw,i=$(r),o=qe(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,d=r[e](...s),u=n?Wn:t?Je:me;return!t&&ne(i,"iterate",f?Un:rt),Y(Object.create(d),{next(){const{value:p,done:v}=d.next();return v?{value:p,done:v}:{value:l?[u(p[0]),u(p[1])]:u(p),done:v}}})}}function Bt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ki(e,t){const n={get(r){const i=this.__v_raw,o=$(i),l=$(r);e||(Q(r,l)&&ne(o,"get",r),ne(o,"get",l));const{has:f}=Wt(o),d=t?Wn:e?Je:me;if(f.call(o,r))return d(i.get(r));if(f.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ne($(r),"iterate",rt),r.size},has(r){const i=this.__v_raw,o=$(i),l=$(r);return e||(Q(r,l)&&ne(o,"has",r),ne(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,f=$(l),d=t?Wn:e?Je:me;return!e&&ne(f,"iterate",rt),l.forEach((u,p)=>r.call(i,d(u),d(p),o))}};return Y(n,e?{add:Bt("add"),set:Bt("set"),delete:Bt("delete"),clear:Bt("clear")}:{add(r){const i=$(this),o=Wt(i),l=$(r),f=!t&&!ge(r)&&!Ie(r)?l:r;return o.has.call(i,f)||Q(r,f)&&o.has.call(i,r)||Q(l,f)&&o.has.call(i,l)||(i.add(f),Le(i,"add",f,f)),this},set(r,i){!t&&!ge(i)&&!Ie(i)&&(i=$(i));const o=$(this),{has:l,get:f}=Wt(o);let d=l.call(o,r);d||(r=$(r),d=l.call(o,r));const u=f.call(o,r);return o.set(r,i),d?Q(i,u)&&Le(o,"set",r,i):Le(o,"add",r,i),this},delete(r){const i=$(this),{has:o,get:l}=Wt(i);let f=o.call(i,r);f||(r=$(r),f=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return f&&Le(i,"delete",r,void 0),d},clear(){const r=$(this),i=r.size!==0,o=r.clear();return i&&Le(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Bi(r,e,t)}),n}function rs(e,t){const n=ki(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(K(n,r)&&r in s?n:s,r,i)}const qi={get:rs(!1,!1)},zi={get:rs(!1,!0)},Ji={get:rs(!0,!1)};const Mr=new WeakMap,Ar=new WeakMap,Pr=new WeakMap,Gi=new WeakMap;function Yi(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 Ie(e)?e:os(e,!1,Ki,qi,Mr)}function Xi(e){return os(e,!1,Wi,zi,Ar)}function Bn(e){return os(e,!0,Ui,Ji,Pr)}function os(e,t,n,s,r){if(!W(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=Yi(xi(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ze(e){return Ie(e)?ze(e.__v_raw):!!(e&&e.__v_isReactive)}function Ie(e){return!!(e&&e.__v_isReadonly)}function ge(e){return!!(e&&e.__v_isShallow)}function ls(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function Zi(e){return!K(e,"__v_skip")&&Object.isExtensible(e)&&dr(e,"__v_skip",!0),e}const me=e=>W(e)?is(e):e,Je=e=>W(e)?Bn(e):e;function re(e){return e?e.__v_isRef===!0:!1}function lt(e){return Qi(e,!1)}function Qi(e,t){return re(e)?e:new eo(e,t)}class eo{constructor(t,n){this.dep=new _n,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:$(t),this._value=n?t:me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ge(t)||Ie(t);t=s?t:$(t),Q(t,n)&&(this._rawValue=t,this._value=s?t:me(t),this.dep.trigger())}}function Rr(e){return re(e)?e.value:e}const to={get:(e,t,n)=>t==="__v_raw"?e:Rr(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return re(r)&&!re(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ir(e){return ze(e)?e:new Proxy(e,to)}class no{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new _n,{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 so(e){return new no(e)}class ro{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new _n(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=At-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return vr(this,!0),!0}get value(){const t=this.dep.track();return wr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function io(e,t,n=!1){let s,r;return I(e)?s=e:(s=e.get,r=e.set),new ro(s,r,n)}const kt={},en=new WeakMap;let et;function oo(e,t=!1,n=et){if(n){let s=en.get(n);s||en.set(n,s=[]),s.push(e)}}function lo(e,t,n=H){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:f}=n,d=O=>r?O:ge(O)||r===!1||r===0?He(O,1):He(O);let u,p,v,C,T=!1,w=!1;if(re(e)?(p=()=>e.value,T=ge(e)):ze(e)?(p=()=>d(e),T=!0):P(e)?(w=!0,T=e.some(O=>ze(O)||ge(O)),p=()=>e.map(O=>{if(re(O))return O.value;if(ze(O))return d(O);if(I(O))return f?f(O,2):O()})):I(e)?t?p=f?()=>f(e,2):e:p=()=>{if(v){$e();try{v()}finally{Ke()}}const O=et;et=u;try{return f?f(e,3,[C]):e(C)}finally{et=O}}:p=Re,t&&r){const O=p,D=r===!0?1/0:r;p=()=>He(O(),D)}const j=Fi(),V=()=>{u.stop(),j&&j.active&&Xn(j.effects,u)};if(i&&t){const O=t;t=(...D)=>{const pe=O(...D);return V(),pe}}let F=w?new Array(e.length).fill(kt):kt;const N=O=>{if(!(!(u.flags&1)||!u.dirty&&!O))if(t){const D=u.run();if(O||r||T||(w?D.some((pe,xe)=>Q(pe,F[xe])):Q(D,F))){v&&v();const pe=et;et=u;try{const xe=[D,F===kt?void 0:w&&F[0]===kt?[]:F,C];F=D,f?f(t,3,xe):t(...xe)}finally{et=pe}}}else u.run()};return l&&l(N),u=new _r(p),u.scheduler=o?()=>o(N,!1):N,C=O=>oo(O,!1,u),v=u.onStop=()=>{const O=en.get(u);if(O){if(f)f(O,4);else for(const D of O)D();en.delete(u)}},t?s?N(!0):F=u.run():o?o(N.bind(null,!0),!0):u.run(),V.pause=u.pause.bind(u),V.resume=u.resume.bind(u),V.stop=V,V}function He(e,t=1/0,n){if(t<=0||!W(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,re(e))He(e.value,t,n);else if(P(e))for(let s=0;s<e.length;s++)He(e[s],t,n);else if(at(e)||qe(e))e.forEach(s=>{He(s,t,n)});else if(ar(e)){for(const s in e)He(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&He(e[s],t,n)}return e}function Dt(e,t,n,s){try{return s?e(...s):e()}catch(r){Vt(r,t,n)}}function be(e,t,n,s){if(I(e)){const r=Dt(e,t,n,s);return r&&fr(r)&&r.catch(i=>{Vt(i,t,n)}),r}if(P(e)){const r=[];for(let i=0;i<e.length;i++)r.push(be(e[i],t,n,s));return r}}function Vt(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||H;if(t){let l=t.parent;const f=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let p=0;p<u.length;p++)if(u[p](e,f,d)===!1)return}l=l.parent}if(i){$e(),Dt(i,null,10,[e,f,d]),Ke();return}}co(e,n,r,s,o)}function co(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const ce=[];let Te=-1;const ct=[];let ke=null,ot=0;const Fr=Promise.resolve();let tn=null;function fo(e){const t=tn||Fr;return e?t.then(this?e.bind(this):e):t}function uo(e){let t=Te+1,n=ce.length;for(;t<n;){const s=t+n>>>1,r=ce[s],i=Rt(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function cs(e){if(!(e.flags&1)){const t=Rt(e),n=ce[ce.length-1];!n||!(e.flags&2)&&t>=Rt(n)?ce.push(e):ce.splice(uo(t),0,e),e.flags|=1,Nr()}}function Nr(){tn||(tn=Fr.then(Vr))}function ao(e){if(!P(e))ke&&e.id===-1?ke.splice(ot+1,0,e):e.flags&1||(ct.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)ct.push(e[t]);Nr()}function Ps(e,t,n=Te+1){for(;n<ce.length;n++){const s=ce[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;ce.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Dr(e){if(ct.length){const t=[...new Set(ct)].sort((n,s)=>Rt(n)-Rt(s));if(ct.length=0,ke){for(let n=0;n<t.length;n++)ke.push(t[n]);return}for(ke=t,ot=0;ot<ke.length;ot++){const n=ke[ot];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ke=null,ot=0}}const Rt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Vr(e){try{for(Te=0;Te<ce.length;Te++){const t=ce[Te];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Dt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Te<ce.length;Te++){const t=ce[Te];t&&(t.flags&=-2)}Te=-1,ce.length=0,Dr(),tn=null,(ce.length||ct.length)&&Vr()}}let te=null,Lr=null;function nn(e){const t=te;return te=e,Lr=e&&e.type.__scopeId||null,t}function ho(e,t=te,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ws(-1);const i=nn(t),o=je.length;let l;try{l=e(...r)}finally{for(let f=je.length;f>o;f--)ms();nn(i),s._d&&Ws(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Sc(e,t){if(te===null)return e;const n=Cn(te),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,f=H]=t[r];i&&(I(i)&&(i={mounted:i,updated:i}),i.deep&&He(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:f}))}return e}function Ze(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let f=l.dir[s];f&&($e(),be(f,n,8,[e.el,l,e,t]),Ke())}}function po(e,t){if(ee){let n=ee.provides;const s=ee.parent&&ee.parent.provides;s===n&&(n=ee.provides=Object.create(s)),n[e]=t}}function Xt(e,t,n=!1){const s=di();if(s||ut){let r=ut?ut._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&&I(t)?t.call(s&&s.proxy):t}}const go=Symbol.for("v-scx"),mo=()=>Xt(go);function _o(e,t){return fs(e,null,{flush:"sync"})}function In(e,t,n){return fs(e,t,n)}function fs(e,t,n=H){const{immediate:s,deep:r,flush:i,once:o}=n,l=Y({},n),f=t&&s||!t&&i!=="post";let d;if(ht){if(i==="sync"){const C=mo();d=C.__watcherHandles||(C.__watcherHandles=[])}else if(!f){const C=()=>{};return C.stop=Re,C.resume=Re,C.pause=Re,C}}const u=ee;l.call=(C,T,w)=>be(C,u,T,w);let p=!1;i==="post"?l.scheduler=C=>{fe(C,u&&u.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(C,T)=>{T?C():cs(C)}),l.augmentJob=C=>{t&&(C.flags|=4),p&&(C.flags|=2,u&&(C.id=u.uid,C.i=u))};const v=lo(e,t,l);return ht&&(d?d.push(v):f&&v()),v}function yo(e,t,n){const s=this.proxy,r=J(e)?e.includes(".")?Hr(s,e):()=>s[e]:e.bind(s,s);let i;I(t)?i=t:(i=t.handler,n=t);const o=Lt(this),l=fs(r,i.bind(s),n);return o(),l}function Hr(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 vo=Symbol("_vte"),vn=e=>e.__isTeleport,Fn=Symbol("_leaveCb");function bo(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Fe){t=n;break}}return t}function jr(e){if(!bn(e))return vn(e.type)&&e.children?bo(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&&I(n.default))return n.default()}}function us(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;us(vn(n.type)&&jr(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 as(e,t){return I(e)?Y({name:e.name},t,{setup:e}):e}function ds(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Rs(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const sn=new WeakMap;function Ot(e,t,n,s,r=!1){if(P(e)){e.forEach((w,j)=>Ot(w,t&&(P(t)?t[j]:t),n,s,r));return}if(ft(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Ot(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?Cn(s.component):s.el,o=r?null:i,{i:l,r:f}=e,d=t&&t.r,u=l.refs===H?l.refs={}:l.refs,p=l.setupState,v=$(p),C=p===H?cr:w=>Rs(u,w)?!1:K(v,w),T=(w,j)=>!(j&&Rs(u,j));if(d!=null&&d!==f){if(Is(t),J(d))u[d]=null,C(d)&&(p[d]=null);else if(re(d)){const w=t;T(d,w.k)&&(d.value=null),w.k&&(u[w.k]=null)}}if(I(f))Dt(f,l,12,[o,u]);else{const w=J(f),j=re(f);if(w||j){const V=()=>{if(e.f){const F=w?C(f)?p[f]:u[f]:T()||!e.k?f.value:u[e.k];if(r)P(F)&&Xn(F,i);else if(P(F))F.includes(i)||F.push(i);else if(w)u[f]=[i],C(f)&&(p[f]=u[f]);else{const N=[i];T(f,e.k)&&(f.value=N),e.k&&(u[e.k]=N)}}else w?(u[f]=o,C(f)&&(p[f]=o)):j&&(T(f,e.k)&&(f.value=o),e.k&&(u[e.k]=o))};if(o){const F=()=>{V(),sn.delete(e)};F.id=-1,sn.set(e,F),fe(F,n)}else Is(e),V()}}}function Is(e){const t=sn.get(e);t&&(t.flags|=8,sn.delete(e))}const Fs=e=>e.nodeType===8;gn().requestIdleCallback;gn().cancelIdleCallback;function xo(e,t){if(Fs(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(Fs(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const ft=e=>!!e.type.__asyncLoader;function Ns(e){I(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:f}=e;let d=null,u,p=0;const v=()=>(p++,d=null,C()),C=()=>{let T;return d||(T=d=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),f)return new Promise((j,V)=>{f(w,()=>j(v()),()=>V(w),p+1)});throw w}).then(w=>T!==d&&d?d:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),u=w,w)))};return as({name:"AsyncComponentWrapper",__asyncLoader:C,__asyncHydrate(T,w,j){const V=T.isConnected;let F=!1;(w.bu||(w.bu=[])).push(()=>F=!0);const N=()=>{F||!T.parentNode||V&&!T.isConnected||j()},O=i?()=>{const D=i(N,pe=>xo(T,pe));D&&(w.bum||(w.bum=[])).push(D)}:N;u?O():C().then(()=>!w.isUnmounted&&O())},get __asyncResolved(){return u},setup(){const T=ee;if(ds(T),u)return()=>qt(u,T);const w=D=>{d=null,Vt(D,T,13,!s)};if(l&&T.suspense||ht)return C().then(D=>()=>qt(D,T)).catch(D=>(w(D),()=>s?ie(s,{error:D}):null));const j=lt(!1),V=lt(),F=lt(!!r);let N,O;return hs(()=>{N!=null&&clearTimeout(N),O!=null&&clearTimeout(O)}),r&&(O=setTimeout(()=>{T.isUnmounted||(F.value=!1)},r)),o!=null&&(N=setTimeout(()=>{if(!T.isUnmounted&&!j.value&&!V.value){const D=new Error(`Async component timed out after ${o}ms.`);w(D),V.value=D}},o)),C().then(()=>{T.isUnmounted||(j.value=!0,T.parent&&bn(T.parent.vnode)&&T.parent.update())}).catch(D=>{if(T.isUnmounted){d=null;return}w(D),V.value=D}),()=>{if(j.value&&u)return qt(u,T);if(V.value&&s)return ie(s,{error:V.value});if(n&&!F.value)return qt(n,T)}}})}function qt(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=ie(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const bn=e=>e.type.__isKeepAlive;function wo(e,t){$r(e,"a",t)}function So(e,t){$r(e,"da",t)}function $r(e,t,n=ee){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)bn(r.parent.vnode)&&Co(s,t,n,r),r=r.parent}}function Co(e,t,n,s){const r=xn(t,e,s,!0);hs(()=>{Xn(s[t],r)},n)}function xn(e,t,n=ee,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{$e();const l=Lt(n),f=be(t,n,e,o);return l(),Ke(),f});return s?r.unshift(i):r.push(i),i}}const We=e=>(t,n=ee)=>{(!ht||e==="sp")&&xn(e,(...s)=>t(...s),n)},Eo=We("bm"),Kr=We("m"),To=We("bu"),Oo=We("u"),Ur=We("bum"),hs=We("um"),Mo=We("sp"),Ao=We("rtg"),Po=We("rtc");function Ro(e,t=ee){xn("ec",e,t)}const Io="components",Wr=Symbol.for("v-ndc");function Fo(e){return J(e)?No(Io,e,!1)||e:e||Wr}function No(e,t,n=!0,s=!1){const r=te||ee;if(r){const i=r.type;{const l=_l(i,!1);if(l&&(l===t||l===se(t)||l===pn(se(t))))return i}const o=Ds(r[e]||i[e],t)||Ds(r.appContext[e],t);return!o&&s?i:o}}function Ds(e,t){return e&&(e[t]||e[se(t)]||e[pn(se(t))])}function Br(e,t,n,s){let r;const i=n,o=P(e);if(o||J(e)){const l=o&&ze(e);let f=!1,d=!1;l&&(f=!ge(e),d=Ie(e),e=yn(e)),r=new Array(e.length);for(let u=0,p=e.length;u<p;u++)r[u]=t(f?d?Je(me(e[u])):me(e[u]):e[u],u,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(W(e))if(e[Symbol.iterator])r=Array.from(e,(l,f)=>t(l,f,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let f=0,d=l.length;f<d;f++){const u=l[f];r[f]=t(e[u],u,f,i)}}else r=[];return r}function Cc(e,t,n,s,r,i){if(n==null&&(n={}),te.ce||te.parent&&ft(te.parent)&&te.parent.ce){const d=n,u=Object.keys(d).length>0;return t!=="default"&&(d.name=t),ue(),ln(ae,null,[ie("slot",d,s)],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);const l=je.length;ue();let f;try{const d=o&&kr(o(n)),u=n.key||i||d&&d.key;f=ln(ae,{key:(u&&!ve(u)?u:`_${t}`)+(!d&&s?"_fb":"")},d||(s?s():[]),d&&e._===1?64:-2)}catch(d){for(let u=je.length;u>l;u--)ms();throw d}finally{o&&o._c&&(o._d=!0)}return f}function kr(e){return e.some(t=>_s(t)?!(t.type===Fe||t.type===ae&&!kr(t.children)):!0)?e:null}const kn=e=>e?hi(e)?Cn(e):kn(e.parent):null,Mt=Y(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=>kn(e.parent),$root:e=>kn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>zr(e),$forceUpdate:e=>e.f||(e.f=()=>{cs(e.update)}),$nextTick:e=>e.n||(e.n=fo.bind(e.proxy)),$watch:e=>yo.bind(e)}),Nn=(e,t)=>e!==H&&!e.__isScriptSetup&&K(e,t),Do={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:f}=e;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Nn(s,t))return o[t]=1,s[t];if(r!==H&&K(r,t))return o[t]=2,r[t];if(K(i,t))return o[t]=3,i[t];if(n!==H&&K(n,t))return o[t]=4,n[t];qn&&(o[t]=0)}}const d=Mt[t];let u,p;if(d)return t==="$attrs"&&ne(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==H&&K(n,t))return o[t]=4,n[t];if(p=f.config.globalProperties,K(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Nn(r,t)?(r[t]=n,!0):s!==H&&K(s,t)?(s[t]=n,!0):K(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let f;return!!(n[l]||e!==H&&l[0]!=="$"&&K(e,l)||Nn(t,l)||K(i,l)||K(s,l)||K(Mt,l)||K(r.config.globalProperties,l)||(f=o.__cssModules)&&f[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:K(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rn(e){return P(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Ec(e,t){return!e||!t?e||t:P(e)&&P(t)?e.concat(t):Y({},rn(e),rn(t))}let qn=!0;function Vo(e){const t=zr(e),n=e.proxy,s=e.ctx;qn=!1,t.beforeCreate&&Vs(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:d,created:u,beforeMount:p,mounted:v,beforeUpdate:C,updated:T,activated:w,deactivated:j,beforeDestroy:V,beforeUnmount:F,destroyed:N,unmounted:O,render:D,renderTracked:pe,renderTriggered:xe,errorCaptured:Be,serverPrefetch:Ht,expose:Ge,inheritAttrs:gt,components:jt,directives:$t,filters:En}=t;if(d&&Lo(d,s,null),o)for(const z in o){const k=o[z];I(k)&&(s[z]=k.bind(n))}if(r){const z=r.call(n,n);W(z)&&(e.data=is(z))}if(qn=!0,i)for(const z in i){const k=i[z],Ye=I(k)?k.bind(n,n):I(k.get)?k.get.bind(n,n):Re,Kt=!I(k)&&I(k.set)?k.set.bind(n):Re,Xe=wt({get:Ye,set:Kt});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:_e=>Xe.value=_e})}if(l)for(const z in l)qr(l[z],s,n,z);if(f){const z=I(f)?f.call(n):f;Reflect.ownKeys(z).forEach(k=>{po(k,z[k])})}u&&Vs(u,e,"c");function oe(z,k){P(k)?k.forEach(Ye=>z(Ye.bind(n))):k&&z(k.bind(n))}if(oe(Eo,p),oe(Kr,v),oe(To,C),oe(Oo,T),oe(wo,w),oe(So,j),oe(Ro,Be),oe(Po,pe),oe(Ao,xe),oe(Ur,F),oe(hs,O),oe(Mo,Ht),P(Ge))if(Ge.length){const z=e.exposed||(e.exposed={});Ge.forEach(k=>{Object.defineProperty(z,k,{get:()=>n[k],set:Ye=>n[k]=Ye,enumerable:!0})})}else e.exposed||(e.exposed={});D&&e.render===Re&&(e.render=D),gt!=null&&(e.inheritAttrs=gt),jt&&(e.components=jt),$t&&(e.directives=$t),Ht&&ds(e)}function Lo(e,t,n=Re){P(e)&&(e=zn(e));for(const s in e){const r=e[s];let i;W(r)?"default"in r?i=Xt(r.from||s,r.default,!0):i=Xt(r.from||s):i=Xt(r),re(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Vs(e,t,n){be(P(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function qr(e,t,n,s){let r=s.includes(".")?Hr(n,s):()=>n[s];if(J(e)){const i=t[e];I(i)&&In(r,i)}else if(I(e))In(r,e.bind(n));else if(W(e))if(P(e))e.forEach(i=>qr(i,t,n,s));else{const i=I(e.handler)?e.handler.bind(n):t[e.handler];I(i)&&In(r,i,e)}}function zr(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(d=>on(f,d,o,!0)),on(f,t,o)),W(t)&&i.set(t,f),f}function on(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&on(e,i,n,!0),r&&r.forEach(o=>on(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ho[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ho={data:Ls,props:Hs,emits:Hs,methods:xt,computed:xt,beforeCreate:le,created:le,beforeMount:le,mounted:le,beforeUpdate:le,updated:le,beforeDestroy:le,beforeUnmount:le,destroyed:le,unmounted:le,activated:le,deactivated:le,errorCaptured:le,serverPrefetch:le,components:xt,directives:xt,watch:$o,provide:Ls,inject:jo};function Ls(e,t){return t?e?function(){return Y(I(e)?e.call(this,this):e,I(t)?t.call(this,this):t)}:t:e}function jo(e,t){return xt(zn(e),zn(t))}function zn(e){if(P(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function le(e,t){return e?[...new Set([].concat(e,t))]:t}function xt(e,t){return e?Y(Object.create(null),e,t):t}function Hs(e,t){return e?P(e)&&P(t)?[...new Set([...e,...t])]:Y(Object.create(null),rn(e),rn(t??{})):t}function $o(e,t){if(!e)return t;if(!t)return e;const n=Y(Object.create(null),e);for(const s in t)n[s]=le(e[s],t[s]);return n}function Jr(){return{app:null,config:{isNativeTag:cr,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 Ko=0;function Uo(e,t){return function(s,r=null){I(s)||(s=Y({},s)),r!=null&&!W(r)&&(r=null);const i=Jr(),o=new WeakSet,l=[];let f=!1;const d=i.app={_uid:Ko++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:vl,get config(){return i.config},set config(u){},use(u,...p){return o.has(u)||(u&&I(u.install)?(o.add(u),u.install(d,...p)):I(u)&&(o.add(u),u(d,...p))),d},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),d},component(u,p){return p?(i.components[u]=p,d):i.components[u]},directive(u,p){return p?(i.directives[u]=p,d):i.directives[u]},mount(u,p,v){if(!f){const C=d._ceVNode||ie(s,r);return C.appContext=i,v===!0?v="svg":v===!1&&(v=void 0),e(C,u,v),f=!0,d._container=u,u.__vue_app__=d,Cn(C.component)}},onUnmount(u){l.push(u)},unmount(){f&&(be(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(u,p){return i.provides[u]=p,d},runWithContext(u){const p=ut;ut=d;try{return u()}finally{ut=p}}};return d}}let ut=null;function Tc(e,t,n=H){const s=di(),r=se(t),i=Ue(t),o=Gr(e,r),l=so((f,d)=>{let u,p=H,v;return _o(()=>{const C=e[r];Q(u,C)&&(u=C,d())}),{get(){return f(),n.get?n.get(u):u},set(C){const T=n.set?n.set(C):C;if(!Q(T,u)&&!(p!==H&&Q(C,p)))return;const w=s.vnode.props,j=!!(w&&(t in w||r in w||i in w)&&(`onUpdate:${t}`in w||`onUpdate:${r}`in w||`onUpdate:${i}`in w));j||(u=C,d()),s.emit(`update:${t}`,T),Q(C,p)&&(Q(C,T)&&!Q(T,v)||j&&p!==H&&!Q(T,u))&&d(),p=C,v=T}}});return l[Symbol.iterator]=()=>{let f=0;return{next(){return f<2?{value:f++?o||H:l,done:!1}:{done:!0}}}},l}const Gr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${se(t)}Modifiers`]||e[`${Ue(t)}Modifiers`];function Wo(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||H;let r=n;const i=t.startsWith("update:"),o=i&&Gr(s,t.slice(7));o&&(o.trim&&(r=n.map(u=>J(u)?u.trim():u)),o.number&&(r=r.map(Qn)));let l,f=s[l=On(t)]||s[l=On(se(t))];!f&&i&&(f=s[l=On(Ue(t))]),f&&be(f,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(d,e,6,r)}}const Bo=new WeakMap;function Yr(e,t,n=!1){const s=n?Bo:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!I(e)){const f=d=>{const u=Yr(d,t,!0);u&&(l=!0,Y(o,u))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(W(e)&&s.set(e,null),null):(P(i)?i.forEach(f=>o[f]=null):Y(o,i),W(e)&&s.set(e,o),o)}function wn(e,t){return!e||!an(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),K(e,t[0].toLowerCase()+t.slice(1))||K(e,Ue(t))||K(e,t))}function js(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:f,render:d,renderCache:u,props:p,data:v,setupState:C,ctx:T,inheritAttrs:w}=e,j=nn(e);let V,F;try{if(n.shapeFlag&4){const O=r||s,D=O;V=Pe(d.call(D,O,u,p,C,v,T)),F=l}else{const O=t;V=Pe(O.length>1?O(p,{attrs:l,slots:o,emit:f}):O(p,null)),F=t.props?l:ko(l)}}catch(O){je.length=0,Vt(O,e,1),V=ie(Fe)}let N=V;if(F&&w!==!1){const O=Object.keys(F),{shapeFlag:D}=N;O.length&&D&7&&(i&&O.some(dn)&&(F=qo(F,i)),N=dt(N,F,!1,!0))}if(n.dirs&&(N=dt(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const O=vn(N.type)&&jr(N)||N;us(O,n.transition)}return V=N,nn(j),V}const ko=e=>{let t;for(const n in e)(n==="class"||n==="style"||an(n))&&((t||(t={}))[n]=e[n]);return t},qo=(e,t)=>{const n={};for(const s in e)(!dn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function zo(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?$s(s,o,d):!!o;if(f&8){const u=t.dynamicProps;for(let p=0;p<u.length;p++){const v=u[p];if(Xr(o,s,v)&&!wn(d,v))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?$s(s,o,d):!0:!!o;return!1}function $s(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 i=s[r];if(Xr(t,e,i)&&!wn(n,i))return!0}return!1}function Xr(e,t,n){const s=e[n],r=t[n];return n==="style"&&W(s)&&W(r)?!pt(s,r):s!==r}function Jo({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 Zr={},Qr=()=>Object.create(Zr),ei=e=>Object.getPrototypeOf(e)===Zr;function Go(e,t,n,s=!1){const r={},i=Qr();e.propsDefaults=Object.create(null),ti(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Xi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Yo(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=$(r),[f]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let p=0;p<u.length;p++){let v=u[p];if(wn(e.emitsOptions,v))continue;const C=t[v];if(f)if(K(i,v))C!==i[v]&&(i[v]=C,d=!0);else{const T=se(v);r[T]=Jn(f,l,T,C,e,!1)}else C!==i[v]&&(i[v]=C,d=!0)}}}else{ti(e,t,r,i)&&(d=!0);let u;for(const p in l)(!t||!K(t,p)&&((u=Ue(p))===p||!K(t,u)))&&(f?n&&(n[p]!==void 0||n[u]!==void 0)&&(r[p]=Jn(f,l,p,void 0,e,!0)):delete r[p]);if(i!==l)for(const p in i)(!t||!K(t,p))&&(delete i[p],d=!0)}d&&Le(e.attrs,"set","")}function ti(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let f in t){if(Ct(f))continue;const d=t[f];let u;r&&K(r,u=se(f))?!i||!i.includes(u)?n[u]=d:(l||(l={}))[u]=d:wn(e.emitsOptions,f)||(!(f in s)||d!==s[f])&&(s[f]=d,o=!0)}if(i){const f=$(n),d=l||H;for(let u=0;u<i.length;u++){const p=i[u];n[p]=Jn(r,f,p,d[p],e,!K(d,p))}}return o}function Jn(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=K(o,"default");if(l&&s===void 0){const f=o.default;if(o.type!==Function&&!o.skipFactory&&I(f)){const{propsDefaults:d}=r;if(n in d)s=d[n];else{const u=Lt(r);s=d[n]=f.call(null,t),u()}}else s=f;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===Ue(n))&&(s=!0))}return s}const Xo=new WeakMap;function ni(e,t,n=!1){const s=n?Xo:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let f=!1;if(!I(e)){const u=p=>{f=!0;const[v,C]=ni(p,t,!0);Y(o,v),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!f)return W(e)&&s.set(e,nt),nt;if(P(i))for(let u=0;u<i.length;u++){const p=se(i[u]);Ks(p)&&(o[p]=H)}else if(i)for(const u in i){const p=se(u);if(Ks(p)){const v=i[u],C=o[p]=P(v)||I(v)?{type:v}:Y({},v),T=C.type;let w=!1,j=!0;if(P(T))for(let V=0;V<T.length;++V){const F=T[V],N=I(F)&&F.name;if(N==="Boolean"){w=!0;break}else N==="String"&&(j=!1)}else w=I(T)&&T.name==="Boolean";C[0]=w,C[1]=j,(w||K(C,"default"))&&l.push(p)}}const d=[o,l];return W(e)&&s.set(e,d),d}function Ks(e){return e[0]!=="$"&&!Ct(e)}const ps=e=>e==="_"||e==="_ctx"||e==="$stable",gs=e=>P(e)?e.map(Pe):[Pe(e)],Zo=(e,t,n)=>{if(t._n)return t;const s=ho((...r)=>gs(t(...r)),n);return s._c=!1,s},si=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ps(r))continue;const i=e[r];if(I(i))t[r]=Zo(r,i,s);else if(i!=null){const o=gs(i);t[r]=()=>o}}},ri=(e,t)=>{const n=gs(t);e.slots.default=()=>n},ii=(e,t,n)=>{for(const s in t)(n||!ps(s))&&(e[s]=t[s])},Qo=(e,t,n)=>{const s=e.slots=Qr();if(e.vnode.shapeFlag&32){const r=t._;r?(ii(s,t,n),n&&dr(s,"_",r,!0)):si(t,s)}else t&&ri(e,t)},el=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=H;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ii(r,t,n):(i=!t.$stable,si(t,r)),o=t}else t&&(ri(e,t),o={default:1});if(i)for(const l in r)!ps(l)&&o[l]==null&&delete r[l]},fe=il;function tl(e){return nl(e)}function nl(e,t){const n=gn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:d,setElementText:u,parentNode:p,nextSibling:v,setScopeId:C=Re,insertStaticContent:T}=e,w=(c,a,h,y=null,g=null,_=null,S=void 0,x=null,b=!!a.dynamicChildren)=>{if(c===a)return;c&&!bt(c,a)&&(y=Ut(c),_e(c,g,_,!0),c=null),a.patchFlag===-2&&(b=!1,a.dynamicChildren=null),a.dynamicChildren&&c&&c.dynamicChildren&&c.dynamicChildren.hasOnce&&(a.dynamicChildren===nt&&(a.dynamicChildren=[]),a.dynamicChildren.hasOnce=!0);const{type:m,ref:A,shapeFlag:E}=a;switch(m){case Sn:j(c,a,h,y);break;case Fe:V(c,a,h,y);break;case Zt:c==null&&F(a,h,y,S);break;case ae:jt(c,a,h,y,g,_,S,x,b);break;default:E&1?D(c,a,h,y,g,_,S,x,b):E&6?$t(c,a,h,y,g,_,S,x,b):(E&64||E&128)&&m.process(c,a,h,y,g,_,S,x,b,_t)}A!=null&&g?Ot(A,c&&c.ref,_,a||c,!a):A==null&&c&&c.ref!=null&&Ot(c.ref,null,_,c,!0)},j=(c,a,h,y)=>{if(c==null)s(a.el=l(a.children),h,y);else{const g=a.el=c.el;a.children!==c.children&&d(g,a.children)}},V=(c,a,h,y)=>{c==null?s(a.el=f(a.children||""),h,y):a.el=c.el},F=(c,a,h,y)=>{[c.el,c.anchor]=T(c.children,a,h,y,c.el,c.anchor)},N=({el:c,anchor:a},h,y)=>{let g;for(;c&&c!==a;)g=v(c),s(c,h,y),c=g;s(a,h,y)},O=({el:c,anchor:a})=>{let h;for(;c&&c!==a;)h=v(c),r(c),c=h;r(a)},D=(c,a,h,y,g,_,S,x,b)=>{if(a.type==="svg"?S="svg":a.type==="math"&&(S="mathml"),c==null)pe(a,h,y,g,_,S,x,b);else{const m=c.el&&c.el._isVueCE?c.el:null;try{m&&m._beginPatch(),Ht(c,a,g,_,S,x,b)}finally{m&&m._endPatch()}}},pe=(c,a,h,y,g,_,S,x)=>{let b,m;const{props:A,shapeFlag:E,transition:M,dirs:R}=c;if(b=c.el=o(c.type,_,A&&A.is,A),E&8?u(b,c.children):E&16&&Be(c.children,b,null,y,g,Dn(c,_),S,x),R&&Ze(c,null,y,"created"),xe(b,c,c.scopeId,S,y),A){for(const B in A)B!=="value"&&!Ct(B)&&i(b,B,null,A[B],_,y);"value"in A&&i(b,"value",null,A.value,_),(m=A.onVnodeBeforeMount)&&Ee(m,y,c)}R&&Ze(c,null,y,"beforeMount");const L=sl(g,M);L&&M.beforeEnter(b),s(b,a,h),((m=A&&A.onVnodeMounted)||L||R)&&fe(()=>{m&&Ee(m,y,c),L&&M.enter(b),R&&Ze(c,null,y,"mounted")},g)},xe=(c,a,h,y,g)=>{if(h&&C(c,h),y)for(let _=0;_<y.length;_++)C(c,y[_]);if(g){let _=g.subTree;if(a===_||fi(_.type)&&(_.ssContent===a||_.ssFallback===a)){const S=g.vnode;xe(c,S,S.scopeId,S.slotScopeIds,g.parent)}}},Be=(c,a,h,y,g,_,S,x,b=0)=>{for(let m=b;m<c.length;m++){const A=c[m]=x?Ve(c[m]):Pe(c[m]);w(null,A,a,h,y,g,_,S,x)}},Ht=(c,a,h,y,g,_,S)=>{const x=a.el=c.el;let{patchFlag:b,dynamicChildren:m,dirs:A}=a;b|=c.patchFlag&16;const E=c.props||H,M=a.props||H;let R;if(h&&Qe(h,!1),(R=M.onVnodeBeforeUpdate)&&Ee(R,h,a,c),A&&Ze(a,c,h,"beforeUpdate"),h&&Qe(h,!0),m&&(!c.dynamicChildren||c.dynamicChildren.length!==m.length)&&(b=0,S=!1,m=null),(E.innerHTML&&M.innerHTML==null||E.textContent&&M.textContent==null)&&u(x,""),m?Ge(c.dynamicChildren,m,x,h,y,Dn(a,g),_):S||k(c,a,x,null,h,y,Dn(a,g),_,!1),b>0){if(b&16)gt(x,E,M,h,g);else if(b&2&&E.class!==M.class&&i(x,"class",null,M.class,g),b&4&&i(x,"style",E.style,M.style,g),b&8){const L=a.dynamicProps;for(let B=0;B<L.length;B++){const U=L[B],G=E[U],X=M[U];(X!==G||U==="value")&&i(x,U,G,X,g,h)}}b&1&&c.children!==a.children&&u(x,a.children)}else!S&&m==null&>(x,E,M,h,g);((R=M.onVnodeUpdated)||A)&&fe(()=>{R&&Ee(R,h,a,c),A&&Ze(a,c,h,"updated")},y)},Ge=(c,a,h,y,g,_,S)=>{for(let x=0;x<a.length;x++){const b=c[x],m=a[x],A=b.el&&(b.type===ae||!bt(b,m)||b.shapeFlag&198)?p(b.el):h;w(b,m,A,null,y,g,_,S,!0)}},gt=(c,a,h,y,g)=>{if(a!==h){if(a!==H)for(const _ in a)!Ct(_)&&!(_ in h)&&i(c,_,a[_],null,g,y);for(const _ in h){if(Ct(_))continue;const S=h[_],x=a[_];S!==x&&_!=="value"&&i(c,_,x,S,g,y)}"value"in h&&i(c,"value",a.value,h.value,g)}},jt=(c,a,h,y,g,_,S,x,b)=>{const m=a.el=c?c.el:l(""),A=a.anchor=c?c.anchor:l("");let{patchFlag:E,dynamicChildren:M,slotScopeIds:R}=a;R&&(x=x?x.concat(R):R),c==null?(s(m,h,y),s(A,h,y),Be(a.children||[],h,A,g,_,S,x,b)):E>0&&E&64&&M&&c.dynamicChildren&&c.dynamicChildren.length===M.length?(Ge(c.dynamicChildren,M,h,g,_,S,x),(a.key!=null||g&&a===g.subTree)&&oi(c,a,!0)):k(c,a,h,A,g,_,S,x,b)},$t=(c,a,h,y,g,_,S,x,b)=>{a.slotScopeIds=x,c==null?a.shapeFlag&512?g.ctx.activate(a,h,y,S,b):En(a,h,y,g,_,S,b):ys(c,a,b)},En=(c,a,h,y,g,_,S)=>{const x=c.component=dl(c,y,g);if(bn(c)&&(x.ctx.renderer=_t),hl(x,!1,S),x.asyncDep){if(g&&g.registerDep(x,oe,S),!c.el){const b=x.subTree=ie(Fe);V(null,b,a,h),c.placeholder=b.el}}else oe(x,c,a,h,g,_,S)},ys=(c,a,h)=>{const y=a.component=c.component;if(zo(c,a,h))if(y.asyncDep&&!y.asyncResolved){a.el=c.el,z(y,a,h);return}else y.next=a,y.update();else a.el=c.el,y.vnode=a},oe=(c,a,h,y,g,_,S)=>{const x=()=>{if(c.isMounted){let{next:E,bu:M,u:R,parent:L,vnode:B}=c;{const Se=li(c);if(Se){E&&(E.el=B.el,z(c,E,S)),Se.asyncDep.then(()=>{fe(()=>{c.isUnmounted||m()},g)});return}}let U=E,G;Qe(c,!1),E?(E.el=B.el,z(c,E,S)):E=B,M&&Gt(M),(G=E.props&&E.props.onVnodeBeforeUpdate)&&Ee(G,L,E,B),Qe(c,!0);const X=js(c),we=c.subTree;c.subTree=X,w(we,X,p(we.el),Ut(we),c,g,_),E.el=X.el,U===null&&Jo(c,X.el),R&&fe(R,g),(G=E.props&&E.props.onVnodeUpdated)&&fe(()=>Ee(G,L,E,B),g)}else{let E;const{el:M,props:R}=a,{bm:L,m:B,parent:U,root:G,type:X}=c,we=ft(a);Qe(c,!1),L&&Gt(L),!we&&(E=R&&R.onVnodeBeforeMount)&&Ee(E,U,a),Qe(c,!0);{G.ce&&G.ce._hasShadowRoot()&&G.ce._injectChildStyle(X,c.parent?c.parent.type:void 0);const Se=c.subTree=js(c);w(null,Se,h,y,c,g,_),a.el=Se.el}if(B&&fe(B,g),!we&&(E=R&&R.onVnodeMounted)){const Se=a;fe(()=>Ee(E,U,Se),g)}(a.shapeFlag&256||U&&ft(U.vnode)&&U.vnode.shapeFlag&256)&&c.a&&fe(c.a,g),c.isMounted=!0,a=h=y=null}};c.scope.on();const b=c.effect=new _r(x);c.scope.off();const m=c.update=b.run.bind(b),A=c.job=b.runIfDirty.bind(b);A.i=c,A.id=c.uid,b.scheduler=()=>cs(A),Qe(c,!0),m()},z=(c,a,h)=>{a.component=c;const y=c.vnode.props;c.vnode=a,c.next=null,Yo(c,a.props,y,h),el(c,a.children,h),$e(),Ps(c),Ke()},k=(c,a,h,y,g,_,S,x,b=!1)=>{const m=c&&c.children,A=c?c.shapeFlag:0,E=a.children,{patchFlag:M,shapeFlag:R}=a;if(M>0){if(M&128){Kt(m,E,h,y,g,_,S,x,b);return}else if(M&256){Ye(m,E,h,y,g,_,S,x,b);return}}R&8?(A&16&&mt(m,g,_),E!==m&&u(h,E)):A&16?R&16?Kt(m,E,h,y,g,_,S,x,b):mt(m,g,_,!0):(A&8&&u(h,""),R&16&&Be(E,h,y,g,_,S,x,b))},Ye=(c,a,h,y,g,_,S,x,b)=>{c=c||nt,a=a||nt;const m=c.length,A=a.length,E=Math.min(m,A);let M;for(M=0;M<E;M++){const R=a[M]=b?Ve(a[M]):Pe(a[M]);w(c[M],R,h,null,g,_,S,x,b)}m>A?mt(c,g,_,!0,!1,E):Be(a,h,y,g,_,S,x,b,E)},Kt=(c,a,h,y,g,_,S,x,b)=>{let m=0;const A=a.length;let E=c.length-1,M=A-1;for(;m<=E&&m<=M;){const R=c[m],L=a[m]=b?Ve(a[m]):Pe(a[m]);if(bt(R,L))w(R,L,h,null,g,_,S,x,b);else break;m++}for(;m<=E&&m<=M;){const R=c[E],L=a[M]=b?Ve(a[M]):Pe(a[M]);if(bt(R,L))w(R,L,h,null,g,_,S,x,b);else break;E--,M--}if(m>E){if(m<=M){const R=M+1,L=R<A?a[R].el:y;for(;m<=M;)w(null,a[m]=b?Ve(a[m]):Pe(a[m]),h,L,g,_,S,x,b),m++}}else if(m>M)for(;m<=E;)_e(c[m],g,_,!0),m++;else{const R=m,L=m,B=new Map;for(m=L;m<=M;m++){const de=a[m]=b?Ve(a[m]):Pe(a[m]);de.key!=null&&B.set(de.key,m)}let U,G=0;const X=M-L+1;let we=!1,Se=0;const yt=new Array(X);for(m=0;m<X;m++)yt[m]=0;for(m=R;m<=E;m++){const de=c[m];if(G>=X){_e(de,g,_,!0);continue}let Ce;if(de.key!=null)Ce=B.get(de.key);else for(U=L;U<=M;U++)if(yt[U-L]===0&&bt(de,a[U])){Ce=U;break}Ce===void 0?_e(de,g,_,!0):(yt[Ce-L]=m+1,Ce>=Se?Se=Ce:we=!0,w(de,a[Ce],h,null,g,_,S,x,b),G++)}const xs=we?rl(yt):nt;for(U=xs.length-1,m=X-1;m>=0;m--){const de=L+m,Ce=a[de],ws=a[de+1],Ss=de+1<A?ws.el||ci(ws):y;yt[m]===0?w(null,Ce,h,Ss,g,_,S,x,b):we&&(U<0||m!==xs[U]?Xe(Ce,h,Ss,2):U--)}}},Xe=(c,a,h,y,g=null)=>{const{el:_,type:S,transition:x,children:b,shapeFlag:m}=c;if(m&6){Xe(c.component.subTree,a,h,y);return}if(m&128){c.suspense.move(a,h,y);return}if(m&64){S.move(c,a,h,_t);return}if(S===ae){s(_,a,h);for(let E=0;E<b.length;E++)Xe(b[E],a,h,y);s(c.anchor,a,h);return}if(S===Zt){N(c,a,h);return}if(y!==2&&m&1&&x)if(y===0)x.persisted&&!_[Fn]?s(_,a,h):(x.beforeEnter(_),s(_,a,h),fe(()=>x.enter(_),g));else{const{leave:E,delayLeave:M,afterLeave:R}=x,L=()=>{c.ctx.isUnmounted?r(_):s(_,a,h)},B=()=>{const U=_._isLeaving||!!_[Fn];_._isLeaving&&_[Fn](!0),x.persisted&&!U?L():E(_,()=>{L(),R&&R()})};M?M(_,L,B):B()}else s(_,a,h)},_e=(c,a,h,y=!1,g=!1)=>{const{type:_,props:S,ref:x,children:b,dynamicChildren:m,shapeFlag:A,patchFlag:E,dirs:M,cacheIndex:R,memo:L}=c;if((E===-2||m&&m.hasOnce)&&(g=!1),x!=null&&($e(),Ot(x,null,h,c,!0),Ke()),R!=null&&(!c.ctx||c.ctx===a)&&(a.renderCache[R]=void 0),A&256){a.ctx.deactivate(c);return}const B=A&1&&M,U=!ft(c);let G;if(U&&(G=S&&S.onVnodeBeforeUnmount)&&Ee(G,a,c),A&6)vi(c.component,h,y);else{if(A&128){c.suspense.unmount(h,y);return}B&&Ze(c,null,a,"beforeUnmount"),A&64?c.type.remove(c,a,h,_t,y):m&&!m.hasOnce&&(_!==ae||E>0&&E&64)?mt(m,a,h,!1,!0):(_===ae&&E&384||!g&&A&16)&&mt(b,a,h),y&&vs(c)}const X=L!=null&&R==null;(U&&(G=S&&S.onVnodeUnmounted)||B||X)&&fe(()=>{G&&Ee(G,a,c),B&&Ze(c,null,a,"unmounted"),X&&(c.el=null)},h)},vs=c=>{const{type:a,el:h,anchor:y,transition:g}=c;if(a===ae){yi(h,y);return}if(a===Zt){O(c),g&&!g.persisted&&g.afterLeave&&g.afterLeave();return}const _=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:S,delayLeave:x}=g,b=()=>S(h,_);x?x(c.el,_,b):b()}else _()},yi=(c,a)=>{let h;for(;c!==a;)h=v(c),r(c),c=h;r(a)},vi=(c,a,h)=>{const{bum:y,scope:g,job:_,subTree:S,um:x,m:b,a:m}=c;Us(b),Us(m),y&&Gt(y),g.stop(),_?(_.flags|=8,_e(S,c,a,h)):c.vnode.el&&S&&(S.transition=c.vnode.transition,_e(S,c,a,h)),x&&fe(x,a),fe(()=>{c.isUnmounted=!0},a)},mt=(c,a,h,y=!1,g=!1,_=0)=>{for(let S=_;S<c.length;S++)_e(c[S],a,h,y,g)},Ut=c=>{if(c.shapeFlag&6)return Ut(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const a=v(c.anchor||c.el),h=a&&a[vo];return h?v(h):a};let Tn=!1;const bs=(c,a,h)=>{let y;c==null?a._vnode&&(_e(a._vnode,null,null,!0),y=a._vnode.component):w(a._vnode||null,c,a,null,null,null,h),a._vnode=c,Tn||(Tn=!0,Ps(y),Dr(),Tn=!1)},_t={p:w,um:_e,m:Xe,r:vs,mt:En,mc:Be,pc:k,pbc:Ge,n:Ut,o:e};return{render:bs,hydrate:void 0,createApp:Uo(bs)}}function Dn({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 Qe({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function sl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function oi(e,t,n=!1){const s=e.children,r=t.children;if(P(s)&&P(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=Ve(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&oi(o,l)),l.type===Sn&&(l.patchFlag===-1&&(l=r[i]=Ve(l)),l.el=o.el),l.type===Fe&&!l.el&&(l.el=o.el)}}function rl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const f=e.length;for(s=0;s<f;s++){const d=e[s];if(d!==0){if(r=n[n.length-1],e[r]<d){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<d?i=l+1:o=l;d<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function li(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:li(t)}function Us(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ci(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ci(t.subTree):null}const fi=e=>e.__isSuspense;function il(e,t){t&&t.pendingBranch?P(e)?t.effects.push(...e):t.effects.push(e):ao(e)}const ae=Symbol.for("v-fgt"),Sn=Symbol.for("v-txt"),Fe=Symbol.for("v-cmt"),Zt=Symbol.for("v-stc"),je=[];let he=null;function ue(e=!1){je.push(he=e?null:[])}function ms(){je.pop(),he=je[je.length-1]||null}let It=1;function Ws(e,t=!1){It+=e,e<0&&he&&t&&(he.hasOnce=!0)}function ui(e){return e.dynamicChildren=It>0?he||nt:null,ms(),It>0&&he&&he.push(e),e}function Me(e,t,n,s,r,i){return ui(Oe(e,t,n,s,r,i,!0))}function ln(e,t,n,s,r){return ui(ie(e,t,n,s,r,!0))}function _s(e){return e?e.__v_isVNode===!0:!1}function bt(e,t){return e.type===t.type&&e.key===t.key}const ai=({key:e})=>e??null,Qt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?J(e)||re(e)||I(e)?{i:te,r:e,k:t,f:!!n}:e:null);function Oe(e,t=null,n=null,s=0,r=null,i=e===ae?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ai(t),ref:t&&Qt(t),scopeId:Lr,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:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:te};return l?(cn(f,n),i&128&&e.normalize(f)):n&&(f.shapeFlag|=J(n)?8:16),It>0&&!o&&he&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&he.push(f),f}const ie=ol;function ol(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Wr)&&(e=Fe),_s(e)){const l=dt(e,t,!0);return n&&cn(l,n),It>0&&!i&&he&&(l.shapeFlag&6?he[he.indexOf(e)]=l:he.push(l)),l.patchFlag=-2,l}if(yl(e)&&(e=e.__vccOpts),t){t=ll(t);let{class:l,style:f}=t;l&&!J(l)&&(t.class=mn(l)),W(f)&&(ls(f)&&!P(f)&&(f=Y({},f)),t.style=es(f))}const o=J(e)?1:fi(e)?128:vn(e)?64:W(e)?4:I(e)?2:0;return Oe(e,t,n,s,r,o,i,!0)}function ll(e){return e?ls(e)||ei(e)?Y({},e):e:null}function dt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:f}=e,d=t?fl(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ai(d),ref:t&&t.ref?n&&i?P(i)?i.concat(Qt(t)):[i,Qt(t)]:Qt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ae?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dt(e.ssContent),ssFallback:e.ssFallback&&dt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return f&&s&&us(u,f.clone(u)),u}function cl(e=" ",t=0){return ie(Sn,null,e,t)}function Oc(e,t){const n=ie(Zt,null,e);return n.staticCount=t,n}function Vn(e="",t=!1){return t?(ue(),ln(Fe,null,e)):ie(Fe,null,e)}function Pe(e){return e==null||typeof e=="boolean"?ie(Fe):P(e)?ie(ae,null,e.slice()):_s(e)?Ve(e):ie(Sn,null,String(e))}function Ve(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dt(e)}function cn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(P(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),cn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!ei(t)?t._ctx=te:r===3&&te&&(te.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(I(t)){if(s&65){cn(e,{default:t});return}t={default:t,_ctx:te},n=32}else t=String(t),s&64?(n=16,t=[cl(t)]):n=8;e.children=t,e.shapeFlag|=n}function fl(...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=mn([t.class,s.class]));else if(r==="style")t.style=es([t.style,s.style]);else if(an(r)){const i=t[r],o=s[r];o&&i!==o&&!(P(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!dn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ee(e,t,n,s=null){be(e,t,7,[n,s])}const ul=Jr();let al=0;function dl(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ul,i={uid:al++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ii(!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:ni(s,r),emitsOptions:Yr(s,r),emit:null,emitted:null,propsDefaults:H,inheritAttrs:s.inheritAttrs,ctx:H,data:H,props:H,attrs:H,slots:H,refs:H,setupState:H,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=Wo.bind(null,i),e.ce&&e.ce(i),i}let ee=null;const di=()=>ee||te;let fn,Ft;{const e=gn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};fn=t("__VUE_INSTANCE_SETTERS__",n=>ee=n),Ft=t("__VUE_SSR_SETTERS__",n=>ht=n)}const Lt=e=>{const t=ee;return fn(e),e.scope.on(),()=>{e.scope.off(),fn(t)}},Bs=()=>{ee&&ee.scope.off(),fn(null)};function hi(e){return e.vnode.shapeFlag&4}let ht=!1;function hl(e,t=!1,n=!1){t&&Ft(t);const{props:s,children:r}=e.vnode,i=hi(e);Go(e,s,i,t),Qo(e,r,n||t);const o=i?pl(e,t):void 0;return t&&Ft(!1),o}function pl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Do);const{setup:s}=n;if(s){$e();const r=e.setupContext=s.length>1?ml(e):null,i=Lt(e),o=Dt(s,e,0,[e.props,r]),l=fr(o);if(Ke(),i(),(l||e.sp)&&!ft(e)&&ds(e),l){if(o.then(Bs,Bs),t)return o.then(f=>{Ft(!0);try{ks(e,f,t)}finally{Ft(!1)}}).catch(f=>{Vt(f,e,0)});e.asyncDep=o}else ks(e,o)}else pi(e)}function ks(e,t,n){I(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:W(t)&&(e.setupState=Ir(t)),pi(e)}function pi(e,t,n){const s=e.type;e.render||(e.render=s.render||Re);{const r=Lt(e);$e();try{Vo(e)}finally{Ke(),r()}}}const gl={get(e,t){return ne(e,"get",""),e[t]}};function ml(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,gl),slots:e.slots,emit:e.emit,expose:t}}function Cn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ir(Zi(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mt)return Mt[n](e)},has(t,n){return n in t||n in Mt}})):e.proxy}function _l(e,t=!0){return I(e)?e.displayName||e.name:e.name||t&&e.__name}function yl(e){return I(e)&&"__vccOpts"in e}const wt=(e,t)=>io(e,t,ht),vl="3.5.43";let Gn;const qs=typeof window<"u"&&window.trustedTypes;if(qs)try{Gn=qs.createPolicy("vue",{createHTML:e=>e})}catch{}const gi=Gn?e=>Gn.createHTML(e):e=>e,bl="http://www.w3.org/2000/svg",xl="http://www.w3.org/1998/Math/MathML",De=typeof document<"u"?document:null,zs=De&&De.createElement("template"),wl={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"?De.createElementNS(bl,e):t==="mathml"?De.createElementNS(xl,e):n?De.createElement(e,{is:n}):De.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>De.createTextNode(e),createComment:e=>De.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>De.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{zs.innerHTML=gi(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=zs.content;if(s==="svg"||s==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Sl=Symbol("_vtc");function Cl(e,t,n){const s=e[Sl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Js=Symbol("_vod"),El=Symbol("_vsh"),Tl=Symbol(""),Ol=/(?:^|;)\s*display\s*:/;function Ml(e,t,n){const s=e.style,r=J(n);let i=!1;if(n&&!r){if(t)if(J(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&St(s,l,"")}else for(const o in t)n[o]==null&&St(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Pl(e,o,!J(t)&&t?t[o]:void 0,l)||St(s,o,l):St(s,o,"")}}else if(r){if(t!==n){const o=s[Tl];o&&(n+=";"+o),s.cssText=n,i=Ol.test(n)}}else t&&e.removeAttribute("style");Js in e&&(e[Js]=i?s.display:"",e[El]&&(s.display="none"))}const zt=/\s*!important$/;function St(e,t,n){if(P(n))n.forEach(s=>St(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))zt.test(n)?e.setProperty(t,n.replace(zt,""),"important"):e.setProperty(t,n);else{const s=Al(e,t);zt.test(n)?e.setProperty(Ue(s),n.replace(zt,""),"important"):e[s]=n}}const Gs=["Webkit","Moz","ms"],Ln={};function Al(e,t){const n=Ln[t];if(n)return n;let s=se(t);if(s!=="filter"&&s in e)return Ln[t]=s;s=pn(s);for(let r=0;r<Gs.length;r++){const i=Gs[r]+s;if(i in e)return Ln[t]=i}return t}function Pl(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&J(s)&&n===s}const Ys="http://www.w3.org/1999/xlink";function Xs(e,t,n,s,r,i=Ai(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Ys,t.slice(6,t.length)):e.setAttributeNS(Ys,t,n):n==null||i&&!hr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":ve(n)?String(n):n)}function Zs(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?gi(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,f=n==null?e.type==="checkbox"?"on":"":String(n);(l!==f||!("_value"in e))&&(e.value=f),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=hr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function tt(e,t,n,s){e.addEventListener(t,n,s)}function Rl(e,t,n,s){e.removeEventListener(t,n,s)}const Qs=Symbol("_vei");function Il(e,t,n,s,r=null){const i=e[Qs]||(e[Qs]={}),o=i[t];if(s&&o)o.value=s;else{const[l,f]=Dl(t);if(s){const d=i[t]=Hl(s,r);tt(e,l,d,f)}else o&&(Rl(e,l,o,f),i[t]=void 0)}}const Fl=/(Once|Passive|Capture)$/,Nl=/^on:?(?:Once|Passive|Capture)$/;function Dl(e){let t,n;for(;(n=e.match(Fl))&&!Nl.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Ue(e.slice(2)),t]}let Hn=0;const Vl=Promise.resolve(),Ll=()=>Hn||(Vl.then(()=>Hn=0),Hn=Date.now());function Hl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(P(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let f=0;f<o.length&&!s._stopped;f++){const d=o[f];d&&be(d,t,5,l)}}else be(r,t,5,[s])};return n.value=e,n.attached=Ll(),n}const er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,jl=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Cl(e,s,o):t==="style"?Ml(e,n,s):an(t)?dn(t)||Il(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):$l(e,t,s,o))?(Zs(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Xs(e,t,s,o,i,t!=="value")):e._isVueCE&&(Kl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!J(s)))?Zs(e,se(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Xs(e,t,s,o))};function $l(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&er(t)&&I(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 er(t)&&J(n)?!1:t in e}function Kl(e,t){const n=e._def.props;if(!n)return!1;const s=se(t);return Array.isArray(n)?n.some(r=>se(r)===s):Object.keys(n).some(r=>se(r)===s)}const un=e=>{const t=e.props["onUpdate:modelValue"]||!1;return P(t)?n=>Gt(t,n):t};function Ul(e){e.target.composing=!0}function tr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const st=Symbol("_assign"),Jt=Symbol("_initialValue");function jn(e,t,n){return t&&(e=e.trim()),n&&(e=Qn(e)),e}const Mc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[Jt]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Jt]=e.defaultValue.replace(/\r\n?/g,`
|
|
3
|
+
`))),e[st]=un(r);const i=s||r.props&&r.props.type==="number";tt(e,t?"change":"input",o=>{o.target.composing||e[st](jn(e.value,n,i))}),(n||i)&&tt(e,"change",()=>{e.value=jn(e.value,n,i)}),t||(tt(e,"compositionstart",Ul),tt(e,"compositionend",tr),tt(e,"change",tr))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[Jt];delete e[Jt],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[st](jn(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[st]=un(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Qn(e.value):e.value,f=t??"";if(l===f)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===f)||(e.value=f)}},Ac={deep:!0,created(e,t,n){e[st]=un(n),tt(e,"change",()=>{const s=e._modelValue,r=Wl(e),i=e.checked,o=e[st];if(P(s)){const l=pr(s,r),f=l!==-1;if(i&&!f)o(s.concat(r));else if(!i&&f){const d=[...s];d.splice(l,1),o(d)}}else if(at(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(mi(e,i))})},mounted:nr,beforeUpdate(e,t,n){e[st]=un(n),nr(e,t,n)}};function nr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(P(t))r=pr(t,s.props.value)>-1;else if(at(t))r=t.has(s.props.value);else{if(t===n)return;r=pt(t,mi(e,!0))}e.checked!==r&&(e.checked=r)}function Wl(e){return"_value"in e?e._value:e.value}function mi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Bl=["ctrl","shift","alt","meta"],kl={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)=>Bl.some(n=>e[`${n}Key`]&&!t.includes(n))},Pc=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...i)=>{for(let o=0;o<t.length;o++){const l=kl[t[o]];if(l&&l(r,t))return}return e(r,...i)}))},ql={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Rc=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(r=>{if(!("key"in r))return;const i=Ue(r.key);if(t.some(o=>o===i||ql[o]===i))return e(r)}))},zl=Y({patchProp:jl},wl);let sr;function Jl(){return sr||(sr=tl(zl))}const Gl=((...e)=>{const t=Jl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Xl(s);if(!r)return;const i=t._component;!I(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Yl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Yl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xl(e){return J(e)?document.querySelector(e):e}class Zl extends Error{status;body;constructor(t,n,s={}){super(n),this.status=t,this.body=s}}async function rr(e,t,n){const s=await fetch(t,{method:e,headers:n===void 0?{}:{"Content-Type":"application/json"},...n===void 0?{}:{body:JSON.stringify(n)}}),r=await s.text();let i={};try{i=r===""?{}:JSON.parse(r)}catch{i={error:r}}if(!s.ok){const o=typeof i.error=="string"?i.error:`The request failed (${s.status})`;throw new Zl(s.status,o,i)}return i}const Ql={get:e=>rr("GET",e),post:(e,t)=>rr("POST",e,t)};function Ic(e,t){const n=new EventSource(`/api/jobs/${encodeURIComponent(e)}/events`);let s=!1;const r=()=>{s=!0,n.close()};return n.addEventListener("progress",i=>{t.onProgress?.(JSON.parse(i.data))}),n.addEventListener("done",i=>{r(),t.onDone(JSON.parse(i.data))}),n.addEventListener("failed",i=>{r(),t.onFailed(JSON.parse(i.data).message)}),n.onerror=()=>{s||(r(),t.onFailed("The connection to devtoolz ui was lost."))},r}const ec=["width","height"],tc=["d"],ir=as({__name:"Icon",props:{name:{},size:{}},setup(e){const t=e,n={image:["M4 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z","M8.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z","m20 15-4.5-4.5L6 20"],layers:["m12 3 9 5-9 5-9-5z","m3 13 9 5 9-5","m3 17.5 9 5 9-5"],folder:["M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"],up:["m12 19V5","m5 12 7-7 7 7"],trash:["M4 7h16","M9 7V4h6v3","M6 7l1 13h10l1-13","M10 11v6","M14 11v6"],search:["M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14z","m20 20-4-4"],down:["m12 5v14","m5 12 7 7 7-7"],left:["m15 5-7 7 7 7"],right:["m9 5 7 7-7 7"],plus:["M12 5v14","M5 12h14"],close:["M6 6l12 12","M18 6 6 18"],copy:["M9 9h10v10H9z","M5 15V5h10"],save:["M5 4h11l3 3v13H5z","M8 4v5h7V4","M8 20v-6h8v6"],download:["M12 4v11","m7 11 5 5 5-5","M5 20h14"],play:["m7 4 13 8-13 8z"],check:["m5 12 5 5 9-10"],home:["m3 11 9-8 9 8","M5 10v10h14V10"],external:["M14 4h6v6","M20 4 11 13","M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5"]};return(s,r)=>(ue(),Me("svg",{width:t.size??18,height:t.size??18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[(ue(!0),Me(ae,null,Br(n[t.name]??[],i=>(ue(),Me("path",{key:i,d:i},null,8,tc))),128))],8,ec))}}),nc="modulepreload",sc=function(e){return"/"+e},or={},lr=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){let f=function(d){return Promise.all(d.map(u=>Promise.resolve(u).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");r=f(n.map(d=>{if(d=sc(d),d in or)return;or[d]=!0;const u=d.endsWith(".css"),p=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${p}`))return;const v=document.createElement("link");if(v.rel=u?"stylesheet":nc,u||(v.as="script"),v.crossOrigin="",v.href=d,l&&v.setAttribute("nonce",l),document.head.appendChild(v),u)return new Promise((C,T)=>{v.addEventListener("load",C),v.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${d}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},_i={checks:{icon:"search",component:Ns(()=>lr(()=>import("./ChecksPage-FhzZT8lq.js"),__vite__mapDeps([0,1,2,3])))},cleanup:{icon:"trash",component:Ns(()=>lr(()=>import("./CleanupPage-LpbZ2AB-.js"),__vite__mapDeps([4,1,2,5])))}},rc={};function ic(e){return _i[e]?.icon??rc[e]??"layers"}const oc={class:"shell"},lc={class:"sidebar"},cc={class:"brand"},fc={class:"brand__mark"},uc={class:"menu","aria-label":"Modules"},ac=["disabled","aria-current","onClick"],dc={class:"menu__title"},hc={key:0,class:"menu__badge"},pc={class:"sidebar__foot"},gc={key:0},mc={class:"main"},_c={key:0,class:"notice notice--error page-pad"},yc={key:2,class:"muted page-pad"},vc=as({__name:"App",setup(e){const t=lt(),n=lt(""),s=lt(window.location.hash),r=wt(()=>t.value?.modules??[]),i=wt(()=>{const u=s.value.replace(/^#\/?/,""),p=r.value.find(v=>v.id===u);return p?p.id:r.value.find(v=>v.status==="available")?.id??""}),o=wt(()=>r.value.find(u=>u.id===i.value)),l=wt(()=>_i[i.value]);function f(){s.value=window.location.hash}function d(u){u.status==="available"&&(window.location.hash=`#/${u.id}`)}return Kr(async()=>{window.addEventListener("hashchange",f);try{t.value=await Ql.get("/api/status")}catch(u){n.value=u instanceof Error?u.message:String(u)}}),Ur(()=>window.removeEventListener("hashchange",f)),(u,p)=>(ue(),Me("div",oc,[Oe("aside",lc,[Oe("div",cc,[Oe("span",fc,[ie(ir,{name:"layers",size:16})]),p[0]||(p[0]=Oe("span",{class:"brand__name"},"devtoolz",-1))]),Oe("nav",uc,[(ue(!0),Me(ae,null,Br(r.value,v=>(ue(),Me("button",{key:v.id,class:mn(["menu__item",{"menu__item--active":v.id===i.value,"menu__item--planned":v.status!=="available"}]),disabled:v.status!=="available","aria-current":v.id===i.value?"page":void 0,onClick:C=>d(v)},[ie(ir,{name:Rr(ic)(v.id)},null,8,["name"]),Oe("span",dc,Yt(v.title),1),v.status!=="available"?(ue(),Me("span",hc,"soon")):Vn("",!0)],10,ac))),128))]),Oe("div",pc,[t.value?(ue(),Me("span",gc,"v"+Yt(t.value.version),1)):Vn("",!0)])]),Oe("main",mc,[n.value?(ue(),Me("div",_c,Yt(n.value),1)):o.value&&l.value?(ue(),ln(Fo(l.value.component),{key:o.value.id,module:o.value,status:t.value},null,8,["module","status"])):t.value?(ue(),Me("div",yc,"Pick a module on the left.")):Vn("",!0)])]))}}),bc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},xc=bc(vc,[["__scopeId","data-v-c69720fd"]]);Gl(xc).mount("#app");export{fo as A,Tc as B,Ec as C,lr as D,Rc as E,ae as F,Oc as G,Rr as H,bc as _,ue as a,Br as b,Me as c,as as d,Oe as e,es as f,cl as g,Vn as h,Ql as i,Ur as j,ie as k,ir as l,Sc as m,mn as n,Kr as o,ln as p,wt as q,lt as r,Ic as s,Yt as t,Pc as u,Mc as v,In as w,Cc as x,ho as y,Ac as z};
|
package/dist/ui/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
rel="icon"
|
|
9
9
|
href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='8' fill='%23496cff'/%3E%3Cpath d='M9 11l-4 5 4 5M23 11l4 5-4 5M18 8l-4 16' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"
|
|
10
10
|
/>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-DTj3rBik.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-BzfkjuG8.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function writeAtomic(path: string, data: Buffer): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { mkdirSync, renameSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
export function writeAtomic(path, data) {
|
|
4
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
5
|
+
const temporary = `${path}.${process.pid}.${Date.now()}.tmp`;
|
|
6
|
+
try {
|
|
7
|
+
writeFileSync(temporary, data);
|
|
8
|
+
renameSync(temporary, path);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
rmSync(temporary, { force: true });
|
|
12
|
+
throw error;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=atomic-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../src/utils/atomic-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAA;IAC5D,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC9B,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAClC,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup-error.js","sourceRoot":"","sources":["../../src/utils/backup-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const JOURNAL_FILE = "journal.json";
|
|
2
|
+
export interface JournalEntry {
|
|
3
|
+
path: string;
|
|
4
|
+
backup: string;
|
|
5
|
+
bytesBefore: number;
|
|
6
|
+
bytesAfter: number;
|
|
7
|
+
hashBefore: string;
|
|
8
|
+
hashAfter: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Journal {
|
|
11
|
+
version: 1;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
cwd: string;
|
|
14
|
+
entries: JournalEntry[];
|
|
15
|
+
}
|
|
16
|
+
export declare function copyIntoBackup(source: string, backup: string): void;
|
|
17
|
+
export declare function newJournal(cwd: string, now: Date): Journal;
|
|
18
|
+
export declare function saveJournal(backupDir: string, journal: Journal): void;
|
|
19
|
+
export declare function loadJournal(backupDir: string): Journal;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { BackupUsageError } from './backup-error.js';
|
|
4
|
+
export const JOURNAL_FILE = 'journal.json';
|
|
5
|
+
export function copyIntoBackup(source, backup) {
|
|
6
|
+
mkdirSync(dirname(backup), { recursive: true });
|
|
7
|
+
copyFileSync(source, backup);
|
|
8
|
+
}
|
|
9
|
+
export function newJournal(cwd, now) {
|
|
10
|
+
return { version: 1, createdAt: now.toISOString(), cwd, entries: [] };
|
|
11
|
+
}
|
|
12
|
+
export function saveJournal(backupDir, journal) {
|
|
13
|
+
mkdirSync(backupDir, { recursive: true });
|
|
14
|
+
writeFileSync(join(backupDir, JOURNAL_FILE), `${JSON.stringify(journal, null, 2)}\n`);
|
|
15
|
+
}
|
|
16
|
+
export function loadJournal(backupDir) {
|
|
17
|
+
const path = join(backupDir, JOURNAL_FILE);
|
|
18
|
+
if (!existsSync(path)) {
|
|
19
|
+
throw new BackupUsageError(`${backupDir} has no ${JOURNAL_FILE} — pass the dated backup folder`);
|
|
20
|
+
}
|
|
21
|
+
let parsed;
|
|
22
|
+
try {
|
|
23
|
+
parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new BackupUsageError(`${path}: not valid JSON — ${error instanceof Error ? error.message : String(error)}`);
|
|
27
|
+
}
|
|
28
|
+
if (parsed.version !== 1 || !Array.isArray(parsed.entries)) {
|
|
29
|
+
throw new BackupUsageError(`${path}: not a backup journal`);
|
|
30
|
+
}
|
|
31
|
+
return parsed;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/utils/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAkB1C,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAc;IAC3D,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,GAAS;IAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,OAAgB;IAC7D,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CAAC,GAAG,SAAS,WAAW,YAAY,iCAAiC,CAAC,CAAA;IAClG,CAAC;IACD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAA;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAgB,CACxB,GAAG,IAAI,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { VibesOptions } from '../format/vibes.js';
|
|
2
|
+
import { type TerminalIO } from './tty.js';
|
|
3
|
+
export type RestoreStatus = 'restored' | 'would-restore' | 'modified' | 'missing-backup' | 'damaged-backup' | 'error';
|
|
4
|
+
export interface RestoreOptions {
|
|
5
|
+
dir: string;
|
|
6
|
+
cwd: string;
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
force?: boolean;
|
|
9
|
+
assumeYes?: boolean;
|
|
10
|
+
interactive?: boolean;
|
|
11
|
+
io?: TerminalIO;
|
|
12
|
+
style?: VibesOptions;
|
|
13
|
+
}
|
|
14
|
+
export interface RestoreEntryResult {
|
|
15
|
+
path: string;
|
|
16
|
+
status: RestoreStatus;
|
|
17
|
+
bytes?: number;
|
|
18
|
+
message?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface RestoreReport {
|
|
21
|
+
dir: string;
|
|
22
|
+
dryRun: boolean;
|
|
23
|
+
results: RestoreEntryResult[];
|
|
24
|
+
counts: Record<RestoreStatus, number>;
|
|
25
|
+
cancelled: boolean;
|
|
26
|
+
exitCode: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function runRestore(options: RestoreOptions): Promise<RestoreReport>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { createStyle } from '../format/style.js';
|
|
5
|
+
import { writeAtomic } from './atomic-write.js';
|
|
6
|
+
import { loadJournal } from './backup.js';
|
|
7
|
+
import { BackupUsageError } from './backup-error.js';
|
|
8
|
+
import { defaultTerminal, isInteractive, promptChoice } from './tty.js';
|
|
9
|
+
const sha1 = (data) => createHash('sha1').update(data).digest('hex');
|
|
10
|
+
export async function runRestore(options) {
|
|
11
|
+
const dir = resolve(options.cwd, options.dir);
|
|
12
|
+
const journal = loadJournal(dir);
|
|
13
|
+
const io = options.io ?? defaultTerminal();
|
|
14
|
+
const interactive = options.interactive ?? isInteractive(io);
|
|
15
|
+
const report = {
|
|
16
|
+
dir,
|
|
17
|
+
dryRun: Boolean(options.dryRun),
|
|
18
|
+
results: [],
|
|
19
|
+
counts: {
|
|
20
|
+
restored: 0,
|
|
21
|
+
'would-restore': 0,
|
|
22
|
+
modified: 0,
|
|
23
|
+
'missing-backup': 0,
|
|
24
|
+
'damaged-backup': 0,
|
|
25
|
+
error: 0,
|
|
26
|
+
},
|
|
27
|
+
cancelled: false,
|
|
28
|
+
exitCode: 0,
|
|
29
|
+
};
|
|
30
|
+
if (!options.dryRun && !options.assumeYes) {
|
|
31
|
+
if (!interactive) {
|
|
32
|
+
throw new BackupUsageError('restore overwrites the current files with the saved originals — confirm it first (or preview with a dry run)');
|
|
33
|
+
}
|
|
34
|
+
const style = createStyle(options.style ?? {});
|
|
35
|
+
const answer = await promptChoice(io, `${style.warn('Restore')} ${style.value(`${journal.entries.length} files`)} from ${style.path(dir)}?`, [
|
|
36
|
+
{ key: 'y', label: 'restore' },
|
|
37
|
+
{ key: 'n', label: 'cancel' },
|
|
38
|
+
], style, 'n');
|
|
39
|
+
if (answer !== 'y') {
|
|
40
|
+
report.cancelled = true;
|
|
41
|
+
report.exitCode = 1;
|
|
42
|
+
return report;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
for (const entry of journal.entries) {
|
|
46
|
+
const result = {
|
|
47
|
+
path: entry.path,
|
|
48
|
+
status: 'restored',
|
|
49
|
+
bytes: entry.bytesBefore,
|
|
50
|
+
};
|
|
51
|
+
try {
|
|
52
|
+
if (!existsSync(entry.backup)) {
|
|
53
|
+
result.status = 'missing-backup';
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const saved = readFileSync(entry.backup);
|
|
57
|
+
if (sha1(saved) !== entry.hashBefore) {
|
|
58
|
+
result.status = 'damaged-backup';
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const current = existsSync(entry.path) ? sha1(readFileSync(entry.path)) : null;
|
|
62
|
+
if (current !== null && current !== entry.hashAfter && !options.force) {
|
|
63
|
+
result.status = 'modified';
|
|
64
|
+
}
|
|
65
|
+
else if (options.dryRun) {
|
|
66
|
+
result.status = 'would-restore';
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
writeAtomic(entry.path, saved);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
result.status = 'error';
|
|
76
|
+
result.message = error instanceof Error ? error.message : String(error);
|
|
77
|
+
}
|
|
78
|
+
report.counts[result.status] += 1;
|
|
79
|
+
report.results.push(result);
|
|
80
|
+
}
|
|
81
|
+
const failed = report.counts.modified +
|
|
82
|
+
report.counts['missing-backup'] +
|
|
83
|
+
report.counts['damaged-backup'] +
|
|
84
|
+
report.counts.error;
|
|
85
|
+
report.exitCode = failed > 0 ? 1 : 0;
|
|
86
|
+
return report;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/utils/restore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAmB,MAAM,UAAU,CAAA;AAgCxF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE5E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAuB;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,eAAe,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAkB;QAC5B,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,EAAE;QACX,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,KAAK,EAAE,CAAC;SACT;QACD,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,CAAC;KACZ,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CACxB,8GAA8G,CAC/G,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,EAAE,EACF,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACrG;YACE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;YAC9B,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC9B,EACD,KAAK,EACL,GAAG,CACJ,CAAA;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;YACnB,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB;YACjC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW;SACzB,CAAA;QACD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrC,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBAC9E,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACtE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;oBAC5B,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC1B,MAAM,CAAC,MAAM,GAAG,eAAe,CAAA;oBACjC,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,GAAG,OAAO,CAAA;YACvB,MAAM,CAAC,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzE,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,QAAQ;QACtB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;IACrB,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macrulez/devtoolz",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "A small toolbox of CLI commands that automate routine dev chores — strip comments/console.log, find dead exports, catch case-sensitivity import bugs before Linux CI does",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,17 +42,13 @@
|
|
|
42
42
|
"format:fix": "prettier --write ."
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"blurhash": "^2.0.5",
|
|
46
45
|
"commander": "^13.1.0",
|
|
47
46
|
"diff": "^7.0.0",
|
|
48
|
-
"hazehash": "^0.1.1",
|
|
49
47
|
"ignore": "^6.0.2",
|
|
50
|
-
"thumbhash": "^0.1.1",
|
|
51
48
|
"typescript": "^5.7.3"
|
|
52
49
|
},
|
|
53
50
|
"devDependencies": {
|
|
54
51
|
"@eslint/js": "^9.20.0",
|
|
55
|
-
"@macrulez/masonry-kit-vue": "^0.1.4",
|
|
56
52
|
"@types/d3-force": "^3.0.10",
|
|
57
53
|
"@types/diff": "^6.0.0",
|
|
58
54
|
"@types/node": "^20.14.0",
|
|
@@ -63,7 +59,6 @@
|
|
|
63
59
|
"globals": "^17.13.0",
|
|
64
60
|
"prettier": "^3.9.8",
|
|
65
61
|
"sass": "^1.105.1",
|
|
66
|
-
"sharp": "^0.35.5",
|
|
67
62
|
"shiki": "^4.5.0",
|
|
68
63
|
"tsx": "^4.19.2",
|
|
69
64
|
"typescript-eslint": "^8.23.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as oe,o as _,c as x,f as y,t as w,i as B,F,p as O,g as Z,h as ne,j as Ge,v as nt,y as pe,a as Q,n as H,r as L,A as P,b as le,w as me,H as ge,x as ke,C as Ee,P as st,Q as it,q as te,e as Ke,E as Le,k as Me,s as ye,z as ot,B as Pe}from"./index-pDKL0Y31.js";import{U as lt,F as at}from"./FolderBrowser-BX3-y8sM.js";import{U as rt}from"./UiSegmented-YV1YATxM.js";import{u as ut}from"./useCopy-vCfkPGWW.js";import{p as Fe,h as ct}from"./highlight-CsAszz7F.js";const ft={class:"overview"},vt={class:"card block"},dt={class:"head"},ht={key:0,class:"muted"},pt={key:1,class:"muted"},gt=["disabled"],yt={key:0,class:"check"},_t=["disabled"],mt={key:1,class:"progress-wrap",role:"status"},xt={class:"progress"},wt={class:"muted small"},kt={key:2,class:"chips"},$t={key:0,class:"sev sev--error"},bt={key:1,class:"sev sev--warning"},Ct={key:2,class:"sev"},Mt={key:3,class:"sev sev--ok"},Nt={class:"group__title"},St={class:"cards"},It=["onClick"],zt={class:"tile__top"},jt={class:"tile__state"},At={class:"tile__text muted"},Ot={key:0,class:"tile__sev"},Et={key:0,class:"sev sev--error"},Lt={key:1,class:"sev sev--warning"},Pt={key:2,class:"sev"},Ft={key:1,class:"tile__slow muted"},Tt=oe({__name:"ChecksOverview",props:{checks:{},outcomes:{},running:{type:Boolean},progress:{},tookMs:{}},emits:["run-all","open"],setup(e,{emit:n}){const t=e,o=n,s=L(!1),i=[{id:"code",title:"Code"},{id:"dependencies",title:"Dependencies"},{id:"docs",title:"Documentation"}],u=P(()=>t.checks.filter(f=>f.slow).map(f=>f.title)),l=P(()=>i.map(f=>({...f,items:t.checks.filter(r=>r.group===f.id)})).filter(f=>f.items.length>0)),h=P(()=>t.progress.total>0?Math.round(t.progress.done/t.progress.total*100):0),a=P(()=>t.checks.filter(f=>t.outcomes[f.id])),c=P(()=>a.value.filter(f=>{const r=t.outcomes[f.id];return r&&r.findings.length===0&&!r.error}).length),d=P(()=>{const f={error:0,warning:0,info:0};for(const r of a.value)for(const v of t.outcomes[r.id]?.findings??[])f[v.severity]+=1;return f}),m=P(()=>d.value.error+d.value.warning+d.value.info);function g(f){const r={error:0,warning:0,info:0};for(const v of t.outcomes[f]?.findings??[])r[v.severity]+=1;return r}function k(f){const r=t.outcomes[f];return r?r.error?"broken":r.findings.length===0?"clean":"found":"idle"}return(f,r)=>(_(),x("div",ft,[y("section",vt,[y("div",dt,[y("div",null,[r[3]||(r[3]=y("h2",null,"Project health",-1)),a.value.length?(_(),x("p",ht,[y("strong",null,w(c.value)+" of "+w(a.value.length),1),r[2]||(r[2]=B(" checks are clean · ",-1)),y("strong",null,w(m.value),1),B(" finding"+w(m.value===1?"":"s")+" ",1),e.tookMs!==void 0?(_(),x(F,{key:0},[B(" · "+w((e.tookMs/1e3).toFixed(1))+" s",1)],64)):O("",!0)])):(_(),x("p",pt,"Run every check at once to see where the project stands."))]),y("button",{class:"btn btn--primary",disabled:e.running,onClick:r[0]||(r[0]=v=>o("run-all",s.value))},[Z(ne,{name:"play",size:15}),B(" "+w(e.running?"Checking…":a.value.length?"Run all again":"Run all checks"),1)],8,gt)]),u.value.length?(_(),x("label",yt,[Ge(y("input",{"onUpdate:modelValue":r[1]||(r[1]=v=>s.value=v),type:"checkbox",disabled:e.running},null,8,_t),[[nt,s.value]]),y("span",null,[B(" Include the slow check ("+w(u.value.join(", "))+") ",1),r[4]||(r[4]=y("small",{class:"muted"}," — it type-checks the whole project",-1))])])):O("",!0),e.running?(_(),x("div",mt,[y("div",xt,[y("div",{class:"progress__bar",style:pe({width:`${h.value}%`})},null,4)]),y("span",wt,[B(w(e.progress.done)+" of "+w(e.progress.total)+" ",1),e.progress.current?(_(),x(F,{key:0},[B(" · "+w(e.progress.current),1)],64)):O("",!0)])])):O("",!0),a.value.length?(_(),x("div",kt,[d.value.error?(_(),x("span",$t,w(d.value.error)+" error"+w(d.value.error===1?"":"s"),1)):O("",!0),d.value.warning?(_(),x("span",bt,w(d.value.warning)+" warning"+w(d.value.warning===1?"":"s"),1)):O("",!0),d.value.info?(_(),x("span",Ct,w(d.value.info)+" note"+w(d.value.info===1?"":"s"),1)):O("",!0),m.value===0?(_(),x("span",Mt,"Everything is clean")):O("",!0)])):O("",!0)]),(_(!0),x(F,null,Q(l.value,v=>(_(),x("section",{key:v.id,class:"group"},[y("h3",Nt,w(v.title),1),y("div",St,[(_(!0),x(F,null,Q(v.items,p=>(_(),x("button",{key:p.id,class:H(["tile",`tile--${k(p.id)}`]),onClick:z=>o("open",p.id)},[y("span",zt,[y("strong",null,w(p.title),1),y("span",jt,[k(p.id)==="idle"?(_(),x(F,{key:0},[B("not run")],64)):k(p.id)==="clean"?(_(),x(F,{key:1},[B("✓ clean")],64)):k(p.id)==="broken"?(_(),x(F,{key:2},[B("couldn’t run")],64)):(_(),x(F,{key:3},[B(w(e.outcomes[p.id]?.findings.length),1)],64))])]),y("span",At,w(e.outcomes[p.id]?.summary??p.description),1),k(p.id)==="found"?(_(),x("span",Ot,[g(p.id).error?(_(),x("span",Et,w(g(p.id).error)+" error",1)):O("",!0),g(p.id).warning?(_(),x("span",Lt,w(g(p.id).warning)+" warning",1)):O("",!0),g(p.id).info?(_(),x("span",Pt,w(g(p.id).info)+" note",1)):O("",!0)])):O("",!0),p.slow&&k(p.id)==="idle"?(_(),x("span",Ft,"slow")):O("",!0)],10,It))),128))])]))),128))]))}}),Dt=le(Tt,[["__scopeId","data-v-0b1b992d"]]);function Bt(e,n){var t,o=1;e==null&&(e=0),n==null&&(n=0);function s(){var i,u=t.length,l,h=0,a=0;for(i=0;i<u;++i)l=t[i],h+=l.x,a+=l.y;for(h=(h/u-e)*o,a=(a/u-n)*o,i=0;i<u;++i)l=t[i],l.x-=h,l.y-=a}return s.initialize=function(i){t=i},s.x=function(i){return arguments.length?(e=+i,s):e},s.y=function(i){return arguments.length?(n=+i,s):n},s.strength=function(i){return arguments.length?(o=+i,s):o},s}function Rt(e){const n=+this._x.call(null,e),t=+this._y.call(null,e);return We(this.cover(n,t),n,t,e)}function We(e,n,t,o){if(isNaN(n)||isNaN(t))return e;var s,i=e._root,u={data:o},l=e._x0,h=e._y0,a=e._x1,c=e._y1,d,m,g,k,f,r,v,p;if(!i)return e._root=u,e;for(;i.length;)if((f=n>=(d=(l+a)/2))?l=d:a=d,(r=t>=(m=(h+c)/2))?h=m:c=m,s=i,!(i=i[v=r<<1|f]))return s[v]=u,e;if(g=+e._x.call(null,i.data),k=+e._y.call(null,i.data),n===g&&t===k)return u.next=i,s?s[v]=u:e._root=u,e;do s=s?s[v]=new Array(4):e._root=new Array(4),(f=n>=(d=(l+a)/2))?l=d:a=d,(r=t>=(m=(h+c)/2))?h=m:c=m;while((v=r<<1|f)===(p=(k>=m)<<1|g>=d));return s[p]=i,s[v]=u,e}function Ut(e){var n,t,o=e.length,s,i,u=new Array(o),l=new Array(o),h=1/0,a=1/0,c=-1/0,d=-1/0;for(t=0;t<o;++t)isNaN(s=+this._x.call(null,n=e[t]))||isNaN(i=+this._y.call(null,n))||(u[t]=s,l[t]=i,s<h&&(h=s),s>c&&(c=s),i<a&&(a=i),i>d&&(d=i));if(h>c||a>d)return this;for(this.cover(h,a).cover(c,d),t=0;t<o;++t)We(this,u[t],l[t],e[t]);return this}function Vt(e,n){if(isNaN(e=+e)||isNaN(n=+n))return this;var t=this._x0,o=this._y0,s=this._x1,i=this._y1;if(isNaN(t))s=(t=Math.floor(e))+1,i=(o=Math.floor(n))+1;else{for(var u=s-t||1,l=this._root,h,a;t>e||e>=s||o>n||n>=i;)switch(a=(n<o)<<1|e<t,h=new Array(4),h[a]=l,l=h,u*=2,a){case 0:s=t+u,i=o+u;break;case 1:t=s-u,i=o+u;break;case 2:s=t+u,o=i-u;break;case 3:t=s-u,o=i-u;break}this._root&&this._root.length&&(this._root=l)}return this._x0=t,this._y0=o,this._x1=s,this._y1=i,this}function Ht(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function Yt(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function Y(e,n,t,o,s){this.node=e,this.x0=n,this.y0=t,this.x1=o,this.y1=s}function Xt(e,n,t){var o,s=this._x0,i=this._y0,u,l,h,a,c=this._x1,d=this._y1,m=[],g=this._root,k,f;for(g&&m.push(new Y(g,s,i,c,d)),t==null?t=1/0:(s=e-t,i=n-t,c=e+t,d=n+t,t*=t);k=m.pop();)if(!(!(g=k.node)||(u=k.x0)>c||(l=k.y0)>d||(h=k.x1)<s||(a=k.y1)<i))if(g.length){var r=(u+h)/2,v=(l+a)/2;m.push(new Y(g[3],r,v,h,a),new Y(g[2],u,v,r,a),new Y(g[1],r,l,h,v),new Y(g[0],u,l,r,v)),(f=(n>=v)<<1|e>=r)&&(k=m[m.length-1],m[m.length-1]=m[m.length-1-f],m[m.length-1-f]=k)}else{var p=e-+this._x.call(null,g.data),z=n-+this._y.call(null,g.data),C=p*p+z*z;if(C<t){var A=Math.sqrt(t=C);s=e-A,i=n-A,c=e+A,d=n+A,o=g.data}}return o}function Gt(e){if(isNaN(c=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var n,t=this._root,o,s,i,u=this._x0,l=this._y0,h=this._x1,a=this._y1,c,d,m,g,k,f,r,v;if(!t)return this;if(t.length)for(;;){if((k=c>=(m=(u+h)/2))?u=m:h=m,(f=d>=(g=(l+a)/2))?l=g:a=g,n=t,!(t=t[r=f<<1|k]))return this;if(!t.length)break;(n[r+1&3]||n[r+2&3]||n[r+3&3])&&(o=n,v=r)}for(;t.data!==e;)if(s=t,!(t=t.next))return this;return(i=t.next)&&delete t.next,s?(i?s.next=i:delete s.next,this):n?(i?n[r]=i:delete n[r],(t=n[0]||n[1]||n[2]||n[3])&&t===(n[3]||n[2]||n[1]||n[0])&&!t.length&&(o?o[v]=t:this._root=t),this):(this._root=i,this)}function Kt(e){for(var n=0,t=e.length;n<t;++n)this.remove(e[n]);return this}function Wt(){return this._root}function Qt(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function Jt(e){var n=[],t,o=this._root,s,i,u,l,h;for(o&&n.push(new Y(o,this._x0,this._y0,this._x1,this._y1));t=n.pop();)if(!e(o=t.node,i=t.x0,u=t.y0,l=t.x1,h=t.y1)&&o.length){var a=(i+l)/2,c=(u+h)/2;(s=o[3])&&n.push(new Y(s,a,c,l,h)),(s=o[2])&&n.push(new Y(s,i,c,a,h)),(s=o[1])&&n.push(new Y(s,a,u,l,c)),(s=o[0])&&n.push(new Y(s,i,u,a,c))}return this}function Zt(e){var n=[],t=[],o;for(this._root&&n.push(new Y(this._root,this._x0,this._y0,this._x1,this._y1));o=n.pop();){var s=o.node;if(s.length){var i,u=o.x0,l=o.y0,h=o.x1,a=o.y1,c=(u+h)/2,d=(l+a)/2;(i=s[0])&&n.push(new Y(i,u,l,c,d)),(i=s[1])&&n.push(new Y(i,c,l,h,d)),(i=s[2])&&n.push(new Y(i,u,d,c,a)),(i=s[3])&&n.push(new Y(i,c,d,h,a))}t.push(o)}for(;o=t.pop();)e(o.node,o.x0,o.y0,o.x1,o.y1);return this}function qt(e){return e[0]}function en(e){return arguments.length?(this._x=e,this):this._x}function tn(e){return e[1]}function nn(e){return arguments.length?(this._y=e,this):this._y}function Ae(e,n,t){var o=new Oe(n??qt,t??tn,NaN,NaN,NaN,NaN);return e==null?o:o.addAll(e)}function Oe(e,n,t,o,s,i){this._x=e,this._y=n,this._x0=t,this._y0=o,this._x1=s,this._y1=i,this._root=void 0}function Te(e){for(var n={data:e.data},t=n;e=e.next;)t=t.next={data:e.data};return n}var G=Ae.prototype=Oe.prototype;G.copy=function(){var e=new Oe(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,t,o;if(!n)return e;if(!n.length)return e._root=Te(n),e;for(t=[{source:n,target:e._root=new Array(4)}];n=t.pop();)for(var s=0;s<4;++s)(o=n.source[s])&&(o.length?t.push({source:o,target:n.target[s]=new Array(4)}):n.target[s]=Te(o));return e};G.add=Rt;G.addAll=Ut;G.cover=Vt;G.data=Ht;G.extent=Yt;G.find=Xt;G.remove=Gt;G.removeAll=Kt;G.root=Wt;G.size=Qt;G.visit=Jt;G.visitAfter=Zt;G.x=en;G.y=nn;function X(e){return function(){return e}}function se(e){return(e()-.5)*1e-6}function sn(e){return e.x+e.vx}function on(e){return e.y+e.vy}function ln(e){var n,t,o,s=1,i=1;typeof e!="function"&&(e=X(e==null?1:+e));function u(){for(var a,c=n.length,d,m,g,k,f,r,v=0;v<i;++v)for(d=Ae(n,sn,on).visitAfter(l),a=0;a<c;++a)m=n[a],f=t[m.index],r=f*f,g=m.x+m.vx,k=m.y+m.vy,d.visit(p);function p(z,C,A,T,N){var $=z.data,S=z.r,E=f+S;if($){if($.index>m.index){var D=g-$.x-$.vx,R=k-$.y-$.vy,j=D*D+R*R;j<E*E&&(D===0&&(D=se(o),j+=D*D),R===0&&(R=se(o),j+=R*R),j=(E-(j=Math.sqrt(j)))/j*s,m.vx+=(D*=j)*(E=(S*=S)/(r+S)),m.vy+=(R*=j)*E,$.vx-=D*(E=1-E),$.vy-=R*E)}return}return C>g+E||T<g-E||A>k+E||N<k-E}}function l(a){if(a.data)return a.r=t[a.data.index];for(var c=a.r=0;c<4;++c)a[c]&&a[c].r>a.r&&(a.r=a[c].r)}function h(){if(n){var a,c=n.length,d;for(t=new Array(c),a=0;a<c;++a)d=n[a],t[d.index]=+e(d,a,n)}}return u.initialize=function(a,c){n=a,o=c,h()},u.iterations=function(a){return arguments.length?(i=+a,u):i},u.strength=function(a){return arguments.length?(s=+a,u):s},u.radius=function(a){return arguments.length?(e=typeof a=="function"?a:X(+a),h(),u):e},u}function an(e){return e.index}function De(e,n){var t=e.get(n);if(!t)throw new Error("node not found: "+n);return t}function rn(e){var n=an,t=d,o,s=X(30),i,u,l,h,a,c=1;e==null&&(e=[]);function d(r){return 1/Math.min(l[r.source.index],l[r.target.index])}function m(r){for(var v=0,p=e.length;v<c;++v)for(var z=0,C,A,T,N,$,S,E;z<p;++z)C=e[z],A=C.source,T=C.target,N=T.x+T.vx-A.x-A.vx||se(a),$=T.y+T.vy-A.y-A.vy||se(a),S=Math.sqrt(N*N+$*$),S=(S-i[z])/S*r*o[z],N*=S,$*=S,T.vx-=N*(E=h[z]),T.vy-=$*E,A.vx+=N*(E=1-E),A.vy+=$*E}function g(){if(u){var r,v=u.length,p=e.length,z=new Map(u.map((A,T)=>[n(A,T,u),A])),C;for(r=0,l=new Array(v);r<p;++r)C=e[r],C.index=r,typeof C.source!="object"&&(C.source=De(z,C.source)),typeof C.target!="object"&&(C.target=De(z,C.target)),l[C.source.index]=(l[C.source.index]||0)+1,l[C.target.index]=(l[C.target.index]||0)+1;for(r=0,h=new Array(p);r<p;++r)C=e[r],h[r]=l[C.source.index]/(l[C.source.index]+l[C.target.index]);o=new Array(p),k(),i=new Array(p),f()}}function k(){if(u)for(var r=0,v=e.length;r<v;++r)o[r]=+t(e[r],r,e)}function f(){if(u)for(var r=0,v=e.length;r<v;++r)i[r]=+s(e[r],r,e)}return m.initialize=function(r,v){u=r,a=v,g()},m.links=function(r){return arguments.length?(e=r,g(),m):e},m.id=function(r){return arguments.length?(n=r,m):n},m.iterations=function(r){return arguments.length?(c=+r,m):c},m.strength=function(r){return arguments.length?(t=typeof r=="function"?r:X(+r),k(),m):t},m.distance=function(r){return arguments.length?(s=typeof r=="function"?r:X(+r),f(),m):s},m}var un={value:()=>{}};function Qe(){for(var e=0,n=arguments.length,t={},o;e<n;++e){if(!(o=arguments[e]+"")||o in t||/[\s.]/.test(o))throw new Error("illegal type: "+o);t[o]=[]}return new _e(t)}function _e(e){this._=e}function cn(e,n){return e.trim().split(/^|\s+/).map(function(t){var o="",s=t.indexOf(".");if(s>=0&&(o=t.slice(s+1),t=t.slice(0,s)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:o}})}_e.prototype=Qe.prototype={constructor:_e,on:function(e,n){var t=this._,o=cn(e+"",t),s,i=-1,u=o.length;if(arguments.length<2){for(;++i<u;)if((s=(e=o[i]).type)&&(s=fn(t[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++i<u;)if(s=(e=o[i]).type)t[s]=Be(t[s],e.name,n);else if(n==null)for(s in t)t[s]=Be(t[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var t in n)e[t]=n[t].slice();return new _e(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var t=new Array(s),o=0,s,i;o<s;++o)t[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],o=0,s=i.length;o<s;++o)i[o].value.apply(n,t)},apply:function(e,n,t){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,i=o.length;s<i;++s)o[s].value.apply(n,t)}};function fn(e,n){for(var t=0,o=e.length,s;t<o;++t)if((s=e[t]).name===n)return s.value}function Be(e,n,t){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=un,e=e.slice(0,o).concat(e.slice(o+1));break}return t!=null&&e.push({name:n,value:t}),e}var ae=0,ce=0,re=0,Je=1e3,xe,fe,we=0,ie=0,$e=0,ve=typeof performance=="object"&&performance.now?performance:Date,Ze=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function qe(){return ie||(Ze(vn),ie=ve.now()+$e)}function vn(){ie=0}function ze(){this._call=this._time=this._next=null}ze.prototype=et.prototype={constructor:ze,restart:function(e,n,t){if(typeof e!="function")throw new TypeError("callback is not a function");t=(t==null?qe():+t)+(n==null?0:+n),!this._next&&fe!==this&&(fe?fe._next=this:xe=this,fe=this),this._call=e,this._time=t,je()},stop:function(){this._call&&(this._call=null,this._time=1/0,je())}};function et(e,n,t){var o=new ze;return o.restart(e,n,t),o}function dn(){qe(),++ae;for(var e=xe,n;e;)(n=ie-e._time)>=0&&e._call.call(void 0,n),e=e._next;--ae}function Re(){ie=(we=ve.now())+$e,ae=ce=0;try{dn()}finally{ae=0,pn(),ie=0}}function hn(){var e=ve.now(),n=e-we;n>Je&&($e-=n,we=e)}function pn(){for(var e,n=xe,t,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:xe=t);fe=e,je(o)}function je(e){if(!ae){ce&&(ce=clearTimeout(ce));var n=e-ie;n>24?(e<1/0&&(ce=setTimeout(Re,e-ve.now()-$e)),re&&(re=clearInterval(re))):(re||(we=ve.now(),re=setInterval(hn,Je)),ae=1,Ze(Re))}}const gn=1664525,yn=1013904223,Ue=4294967296;function _n(){let e=1;return()=>(e=(gn*e+yn)%Ue)/Ue}function mn(e){return e.x}function xn(e){return e.y}var wn=10,kn=Math.PI*(3-Math.sqrt(5));function $n(e){var n,t=1,o=.001,s=1-Math.pow(o,1/300),i=0,u=.6,l=new Map,h=et(d),a=Qe("tick","end"),c=_n();e==null&&(e=[]);function d(){m(),a.call("tick",n),t<o&&(h.stop(),a.call("end",n))}function m(f){var r,v=e.length,p;f===void 0&&(f=1);for(var z=0;z<f;++z)for(t+=(i-t)*s,l.forEach(function(C){C(t)}),r=0;r<v;++r)p=e[r],p.fx==null?p.x+=p.vx*=u:(p.x=p.fx,p.vx=0),p.fy==null?p.y+=p.vy*=u:(p.y=p.fy,p.vy=0);return n}function g(){for(var f=0,r=e.length,v;f<r;++f){if(v=e[f],v.index=f,v.fx!=null&&(v.x=v.fx),v.fy!=null&&(v.y=v.fy),isNaN(v.x)||isNaN(v.y)){var p=wn*Math.sqrt(.5+f),z=f*kn;v.x=p*Math.cos(z),v.y=p*Math.sin(z)}(isNaN(v.vx)||isNaN(v.vy))&&(v.vx=v.vy=0)}}function k(f){return f.initialize&&f.initialize(e,c),f}return g(),n={tick:m,restart:function(){return h.restart(d),n},stop:function(){return h.stop(),n},nodes:function(f){return arguments.length?(e=f,g(),l.forEach(k),n):e},alpha:function(f){return arguments.length?(t=+f,n):t},alphaMin:function(f){return arguments.length?(o=+f,n):o},alphaDecay:function(f){return arguments.length?(s=+f,n):+s},alphaTarget:function(f){return arguments.length?(i=+f,n):i},velocityDecay:function(f){return arguments.length?(u=1-f,n):1-u},randomSource:function(f){return arguments.length?(c=f,l.forEach(k),n):c},force:function(f,r){return arguments.length>1?(r==null?l.delete(f):l.set(f,k(r)),n):l.get(f)},find:function(f,r,v){var p=0,z=e.length,C,A,T,N,$;for(v==null?v=1/0:v*=v,p=0;p<z;++p)N=e[p],C=f-N.x,A=r-N.y,T=C*C+A*A,T<v&&($=N,v=T);return $},on:function(f,r){return arguments.length>1?(a.on(f,r),n):a.on(f)}}}function bn(){var e,n,t,o,s=X(-30),i,u=1,l=1/0,h=.81;function a(g){var k,f=e.length,r=Ae(e,mn,xn).visitAfter(d);for(o=g,k=0;k<f;++k)n=e[k],r.visit(m)}function c(){if(e){var g,k=e.length,f;for(i=new Array(k),g=0;g<k;++g)f=e[g],i[f.index]=+s(f,g,e)}}function d(g){var k=0,f,r,v=0,p,z,C;if(g.length){for(p=z=C=0;C<4;++C)(f=g[C])&&(r=Math.abs(f.value))&&(k+=f.value,v+=r,p+=r*f.x,z+=r*f.y);g.x=p/v,g.y=z/v}else{f=g,f.x=f.data.x,f.y=f.data.y;do k+=i[f.data.index];while(f=f.next)}g.value=k}function m(g,k,f,r){if(!g.value)return!0;var v=g.x-n.x,p=g.y-n.y,z=r-k,C=v*v+p*p;if(z*z/h<C)return C<l&&(v===0&&(v=se(t),C+=v*v),p===0&&(p=se(t),C+=p*p),C<u&&(C=Math.sqrt(u*C)),n.vx+=v*g.value*o/C,n.vy+=p*g.value*o/C),!0;if(g.length||C>=l)return;(g.data!==n||g.next)&&(v===0&&(v=se(t),C+=v*v),p===0&&(p=se(t),C+=p*p),C<u&&(C=Math.sqrt(u*C)));do g.data!==n&&(z=i[g.data.index]*o/C,n.vx+=v*z,n.vy+=p*z);while(g=g.next)}return a.initialize=function(g,k){e=g,t=k,c()},a.strength=function(g){return arguments.length?(s=typeof g=="function"?g:X(+g),c(),a):s},a.distanceMin=function(g){return arguments.length?(u=g*g,a):Math.sqrt(u)},a.distanceMax=function(g){return arguments.length?(l=g*g,a):Math.sqrt(l)},a.theta=function(g){return arguments.length?(h=g*g,a):Math.sqrt(h)},a}function Cn(e){var n=X(.1),t,o,s;typeof e!="function"&&(e=X(e==null?0:+e));function i(l){for(var h=0,a=t.length,c;h<a;++h)c=t[h],c.vx+=(s[h]-c.x)*o[h]*l}function u(){if(t){var l,h=t.length;for(o=new Array(h),s=new Array(h),l=0;l<h;++l)o[l]=isNaN(s[l]=+e(t[l],l,t))?0:+n(t[l],l,t)}}return i.initialize=function(l){t=l,u()},i.strength=function(l){return arguments.length?(n=typeof l=="function"?l:X(+l),u(),i):n},i.x=function(l){return arguments.length?(e=typeof l=="function"?l:X(+l),u(),i):e},i}function Mn(e){var n=X(.1),t,o,s;typeof e!="function"&&(e=X(e==null?0:+e));function i(l){for(var h=0,a=t.length,c;h<a;++h)c=t[h],c.vy+=(s[h]-c.y)*o[h]*l}function u(){if(t){var l,h=t.length;for(o=new Array(h),s=new Array(h),l=0;l<h;++l)o[l]=isNaN(s[l]=+e(t[l],l,t))?0:+n(t[l],l,t)}}return i.initialize=function(l){t=l,u()},i.strength=function(l){return arguments.length?(n=typeof l=="function"?l:X(+l),u(),i):n},i.y=function(l){return arguments.length?(e=typeof l=="function"?l:X(+l),u(),i):e},i}const Nn={class:"graph"},Sn=["viewBox"],In=["d","marker-end"],zn=["transform","aria-label","onMouseenter","onFocus","onClick","onKeydown"],jn={class:"node__label",y:"-16","text-anchor":"middle"},An={key:0,class:"node__dir",y:"26","text-anchor":"middle"},On={class:"graph__bar"},Ne=900,Se=560,ue=9,En=oe({__name:"CycleGraph",props:{cycles:{},selected:{}},emits:["select-cycle","open-file"],setup(e,{emit:n}){const t=e,o=n,s=L(null),i=L({x:0,y:0,w:Ne,h:Se}),u=L({x:0,y:0,w:Ne,h:Se}),l=L(null),h=L();function a(N){return N.split("/").pop()??N}function c(N){const $=N.split("/");return $.pop(),$.join("/")}const d=P(()=>{const N=new Map,$=new Map;for(const j of t.cycles)j.files.forEach((U,K)=>{const J=N.get(U)??{id:U,label:a(U),dir:c(U),cycles:new Set};J.cycles.add(j.id),N.set(U,J);const q=j.files[(K+1)%j.files.length],V=`${U}>${q}`,ee=$.get(V)??{key:V,from:U,to:q,cycles:new Set,typeOnly:!0};ee.cycles.add(j.id),j.typeOnly||(ee.typeOnly=!1),$.set(V,ee)});const S=[...N.values()];S.forEach((j,U)=>{const K=U/Math.max(S.length,1)*Math.PI*2;j.x=Math.cos(K)*160,j.y=Math.sin(K)*160});const E=[...$.values()].map(j=>({source:j.from,target:j.to})),D=$n(S).force("link",rn(E).id(j=>j.id).distance(120)).force("charge",bn().strength(-300)).force("x",Cn(0).strength(.09)).force("y",Mn(0).strength(.09)).force("center",Bt(0,0)).force("collide",ln(46)).stop(),R=Math.min(400,120+S.length*4);for(let j=0;j<R;j++)D.tick();return{nodes:S,edges:[...$.values()]}}),m=P(()=>new Map(d.value.nodes.map(N=>[N.id,{x:N.x??0,y:N.y??0}])));function g(){const N=[...m.value.values()];if(N.length===0)return;const $=90,S=Math.min(...N.map(V=>V.x))-$,E=Math.max(...N.map(V=>V.x))+$,D=Math.min(...N.map(V=>V.y))-$,R=Math.max(...N.map(V=>V.y))+$;let j=E-S,U=R-D;const K=h.value?.getBoundingClientRect(),J=K&&K.height>0?K.width/K.height:Ne/Se;j/U<J?j=U*J:U=j/J;const q={x:(S+E)/2-j/2,y:(D+R)/2-U/2,w:j,h:U};u.value=q,i.value={...q}}me(d,()=>ge(g)),ke(g);const k=P(()=>t.cycles.find(N=>N.id===t.selected));function f(N){return k.value?N.cycles.has(k.value.id):s.value?N.id===s.value||d.value.edges.some($=>$.from===s.value&&$.to===N.id||$.to===s.value&&$.from===N.id):!0}function r(N){return k.value?N.cycles.has(k.value.id):s.value?N.from===s.value||N.to===s.value:!0}function v(N){const $=m.value.get(N.from),S=m.value.get(N.to);if(!$||!S)return"";const E=S.x-$.x,D=S.y-$.y,R=Math.hypot(E,D)||1,j=E/R,U=D/R,K=$.x+j*(ue+2),J=$.y+U*(ue+2),q=S.x-j*(ue+7),V=S.y-U*(ue+7),ee=Math.min(26,R*.18),be=(K+q)/2-U*ee,Ce=(J+V)/2+j*ee;return`M ${K} ${J} Q ${be} ${Ce} ${q} ${V}`}function p(N){N.preventDefault();const $=h.value?.getBoundingClientRect();if(!$)return;const S=N.deltaY>0?1.15:1/1.15,E=Math.min(Math.max(i.value.w*S,u.value.w/8),u.value.w*4),D=E/(i.value.w/i.value.h),R=(N.clientX-$.left)/$.width,j=(N.clientY-$.top)/$.height;i.value={x:i.value.x+(i.value.w-E)*R,y:i.value.y+(i.value.h-D)*j,w:E,h:D}}function z(N){N.target.closest(".node")||(l.value={x:N.clientX,y:N.clientY},N.currentTarget.setPointerCapture(N.pointerId))}function C(N){const $=l.value,S=h.value?.getBoundingClientRect();!$||!S||(i.value={...i.value,x:i.value.x-(N.clientX-$.x)/S.width*i.value.w,y:i.value.y-(N.clientY-$.y)/S.height*i.value.h},l.value={x:N.clientX,y:N.clientY})}function A(){l.value=null}function T(N){return N.cycles.size>1?"node--hub":"node--single"}return(N,$)=>(_(),x("div",Nn,[(_(),x("svg",{ref_key:"svg",ref:h,class:H(["graph__svg",{"graph__svg--drag":l.value}]),viewBox:`${i.value.x} ${i.value.y} ${i.value.w} ${i.value.h}`,role:"img","aria-label":"Graph of the import cycles",onWheel:p,onPointerdown:z,onPointermove:C,onPointerup:A,onClick:$[2]||($[2]=Ee(S=>o("select-cycle",null),["self"]))},[$[4]||($[4]=y("defs",null,[y("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse"},[y("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow"})]),y("marker",{id:"arrow-on",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse"},[y("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow arrow--on"})])],-1)),(_(!0),x(F,null,Q(d.value.edges,S=>(_(),x("path",{key:S.key,class:H(["edge",{"edge--dim":!r(S),"edge--on":!!k.value&&r(S),"edge--type":S.typeOnly,"edge--strong":S.cycles.size>1}]),d:v(S),"marker-end":k.value&&r(S)?"url(#arrow-on)":"url(#arrow)"},null,10,In))),128)),(_(!0),x(F,null,Q(d.value.nodes,S=>(_(),x("g",{key:S.id,class:H(["node",[T(S),{"node--dim":!f(S)}]]),transform:`translate(${S.x??0}, ${S.y??0})`,tabindex:"0",role:"button","aria-label":`${S.id}, in ${S.cycles.size} cycle${S.cycles.size===1?"":"s"}`,onMouseenter:E=>s.value=S.id,onMouseleave:$[0]||($[0]=E=>s.value=null),onFocus:E=>s.value=S.id,onBlur:$[1]||($[1]=E=>s.value=null),onClick:Ee(E=>o("open-file",S.id),["stop"]),onKeydown:st(E=>o("open-file",S.id),["enter"])},[y("title",null,w(S.id)+" — in "+w(S.cycles.size)+" cycle"+w(S.cycles.size===1?"":"s"),1),y("circle",{r:ue,class:"node__dot"}),y("text",jn,w(S.label),1),S.dir?(_(),x("text",An,w(S.dir),1)):O("",!0)],42,zn))),128))],42,Sn)),y("div",On,[$[5]||($[5]=it('<span class="legend" data-v-2ff3fdf0><i class="legend__dot legend__dot--single" data-v-2ff3fdf0></i> in one cycle</span><span class="legend" data-v-2ff3fdf0><i class="legend__dot legend__dot--hub" data-v-2ff3fdf0></i> in several cycles</span><span class="legend" data-v-2ff3fdf0><i class="legend__line legend__line--type" data-v-2ff3fdf0></i> type-only import</span><span class="spacer" data-v-2ff3fdf0></span>',4)),y("button",{class:"btn btn--small",onClick:$[3]||($[3]=S=>i.value={...u.value})},"Fit to screen")]),$[6]||($[6]=y("p",{class:"muted small"}," Scroll to zoom, drag to move. Click a file to open it, or pick a cycle in the list to light it up. ",-1))]))}}),Ln=le(En,[["__scopeId","data-v-2ff3fdf0"]]),Pn={class:"groups"},Fn=["aria-expanded","onClick"],Tn={class:"group__file"},Dn={class:"group__count"},Bn={key:0,class:"items"},Rn=["onClick"],Un={class:"item__place"},Vn=["title"],Hn={class:"item__text"},Yn={class:"item__message"},Xn={key:0,class:"item__hint muted"},Gn={class:"item__code"},Kn={key:0,class:"more"},Ve=40,Wn=oe({__name:"FindingsList",props:{findings:{}},emits:["open"],setup(e,{emit:n}){const t=e,o=n,s=L(Ve),i=L(new Set),u=P(()=>{const a=new Map;for(const c of t.findings){const d=c.file??"Project",m=a.get(d);m?m.push(c):a.set(d,[c])}return[...a.entries()].map(([c,d])=>({file:c,items:[...d].sort((m,g)=>(m.line??0)-(g.line??0))})).sort((c,d)=>c.file.localeCompare(d.file))});function l(a){const c=new Set(i.value);c.has(a)?c.delete(a):c.add(a),i.value=c}function h(a){return a.line?a.column?`${a.line}:${a.column}`:String(a.line):""}return(a,c)=>(_(),x("div",Pn,[(_(!0),x(F,null,Q(u.value.slice(0,s.value),d=>(_(),x("section",{key:d.file,class:"group"},[y("button",{class:"group__head","aria-expanded":!i.value.has(d.file),onClick:m=>l(d.file)},[y("span",{class:H(["group__caret",{"group__caret--open":!i.value.has(d.file)}])},"▸",2),y("code",Tn,w(d.file),1),y("span",Dn,w(d.items.length),1)],8,Fn),i.value.has(d.file)?O("",!0):(_(),x("ul",Bn,[(_(!0),x(F,null,Q(d.items,(m,g)=>(_(),x("li",{key:g,class:"item"},[y("button",{class:"item__main",onClick:k=>o("open",m)},[y("span",Un,w(h(m)),1),y("span",{class:H(["dot",`dot--${m.severity}`]),title:m.severity},null,10,Vn),y("span",Hn,[y("span",Yn,w(m.message),1),m.hint?(_(),x("span",Xn,w(m.hint),1)):O("",!0)]),y("span",Gn,w(m.code),1)],8,Rn)]))),128))]))]))),128)),s.value<u.value.length?(_(),x("div",Kn,[y("button",{class:"btn",onClick:c[0]||(c[0]=d=>s.value+=Ve)}," Show more files ("+w(u.value.length-s.value)+" left) ",1),y("button",{class:"btn",onClick:c[1]||(c[1]=d=>s.value=u.value.length)},"Show all")])):O("",!0)]))}}),tt=le(Wn,[["__scopeId","data-v-86eeb72c"]]),Qn={class:"cycles"},Jn={key:0,class:"split"},Zn={class:"side","aria-label":"Cycles"},qn={class:"side__title"},es={class:"side__list"},ts=["onClick"],ns={class:"cycle__head"},ss={class:"muted"},is={key:0,class:"cycle__tag"},os={class:"cycle__chain"},ls=oe({__name:"CyclesView",props:{findings:{}},emits:["open-file","open"],setup(e,{emit:n}){const t=e,o=n,s=L("graph"),i=L(null),u=P(()=>t.findings.filter(a=>a.files&&a.files.length>0).map((a,c)=>({id:c,files:a.files,typeOnly:a.code==="type-only"})));function l(a){i.value=i.value===a?null:a}function h(a){return[...a.files.map(c=>c.split("/").pop()??c),a.files[0]?.split("/").pop()].join(" → ")}return(a,c)=>(_(),x("div",Qn,[Z(rt,{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=d=>s.value=d),label:"View",options:[{value:"graph",label:"Graph"},{value:"list",label:"List"}]},null,8,["modelValue"]),s.value==="graph"?(_(),x("div",Jn,[Z(Ln,{cycles:u.value,selected:i.value,onSelectCycle:c[1]||(c[1]=d=>i.value=d),onOpenFile:c[2]||(c[2]=d=>o("open-file",d))},null,8,["cycles","selected"]),y("aside",Zn,[y("h3",qn,w(u.value.length)+" cycle"+w(u.value.length===1?"":"s"),1),y("ul",es,[(_(!0),x(F,null,Q(u.value,d=>(_(),x("li",{key:d.id},[y("button",{class:H(["cycle",{"cycle--on":i.value===d.id}]),onClick:m=>l(d.id)},[y("span",ns,[y("strong",null,"Cycle "+w(d.id+1),1),y("span",ss,w(d.files.length)+" files",1),d.typeOnly?(_(),x("span",is,"types only")):O("",!0)]),y("span",os,w(h(d)),1)],10,ts)]))),128))])])])):(_(),te(tt,{key:1,findings:e.findings,onOpen:c[3]||(c[3]=d=>o("open",d))},null,8,["findings"]))]))}}),as=le(ls,[["__scopeId","data-v-7482ac93"]]),rs={key:0,class:"code__note"},us=["data-focus"],cs={class:"line__text"},fs={key:0},Ie=400,vs=1500,ds=oe({__name:"UiCode",props:{text:{},lang:{},focusLine:{},focusColumn:{}},setup(e){const n=e,t=L(Fe(n.text)),o=L(!1),s=L(),i=P(()=>t.value.length),u=P(()=>!o.value&&i.value>vs),l=P(()=>{if(!u.value)return 0;const g=n.focusLine??1;return Math.max(0,Math.min(g-1-Ie/2,i.value-Ie))}),h=P(()=>u.value?Math.min(i.value,l.value+Ie):i.value),a=P(()=>t.value.slice(l.value,h.value)),c=P(()=>String(i.value).length);async function d(){t.value=Fe(n.text),t.value=await ct(n.text,n.lang),await ge(),m()}function m(){const g=s.value?.querySelector('[data-focus="true"]');if(g instanceof HTMLElement&&s.value){const k=s.value;k.scrollTop=g.offsetTop-k.clientHeight/2+g.clientHeight/2}}return me(()=>[n.text,n.lang],d),me(()=>[n.focusLine,n.focusColumn],async()=>{await ge(),m()}),ke(d),(g,k)=>(_(),x("div",{ref_key:"scroller",ref:s,class:"code",tabindex:"0",role:"region","aria-label":"Source code"},[u.value?(_(),x("p",rs,[B(" Showing lines "+w(l.value+1)+"–"+w(h.value)+" of "+w(i.value)+". ",1),y("button",{class:"code__link",onClick:k[0]||(k[0]=f=>(o.value=!0,ge().then(m)))}," Show the whole file ")])):O("",!0),(_(!0),x(F,null,Q(a.value,(f,r)=>(_(),x("div",{key:l.value+r,class:H(["line",{"line--focus":l.value+r+1===e.focusLine}]),"data-focus":l.value+r+1===e.focusLine},[y("span",{class:"line__no",style:pe({width:`${c.value+1}ch`})},w(l.value+r+1),5),y("span",cs,[(_(!0),x(F,null,Q(f,(v,p)=>(_(),x("span",{key:p,class:H(["tok",{"tok--bold":v.bold,"tok--italic":v.italic}]),style:pe({"--light":v.light||"var(--text)","--dark":v.dark||"var(--text)"})},w(v.text),7))),128)),!f.length||f.length===1&&f[0]?.text===""?(_(),x("span",fs," ")):O("",!0)]),l.value+r+1===e.focusLine&&e.focusColumn?(_(),x("span",{key:0,class:"line__marker",style:pe({left:`calc(${c.value+1}ch + ${Math.max(0,e.focusColumn-1)}ch + 12px)`})},null,4)):O("",!0)],10,us))),128))],512))}}),hs=le(ds,[["__scopeId","data-v-f2eb8c06"]]),ps={class:"muted counter"},gs=["disabled"],ys=["disabled"],_s={class:"body"},ms={class:"finding"},xs={key:0,class:"muted"},ws={key:0,class:"notice notice--error"},ks={key:1,class:"muted"},$s={key:2,class:"muted"},bs={class:"bar"},Cs={class:"path"},Ms=["href"],Ns=oe({__name:"SourceModal",props:{project:{},findings:{},index:{}},emits:["close","update:index"],setup(e,{emit:n}){const t=e,o=n,{copied:s,copy:i}=ut(),u=L(),l=L(""),h=L(!1),a=new Map,c=P(()=>t.findings[t.index]),d=P(()=>t.index>0),m=P(()=>t.index<t.findings.length-1),g=P(()=>{if(!u.value)return"";const v=[u.value.abs.replace(/\\/g,"/")];return c.value.line&&v.push(String(c.value.line)),c.value.line&&c.value.column&&v.push(String(c.value.column)),`vscode://file/${v.join(":")}`});async function k(){const v=c.value.file;if(l.value="",!v){u.value=void 0;return}const p=a.get(v);if(p){u.value=p;return}h.value=!0;try{const z=await ye.get(`/api/source?project=${encodeURIComponent(t.project)}&path=${encodeURIComponent(v)}`);a.set(v,z),u.value=z}catch(z){u.value=void 0,l.value=z instanceof Error?z.message:String(z)}finally{h.value=!1}}function f(v){const p=t.index+v;p>=0&&p<t.findings.length&&o("update:index",p)}function r(v){v.target instanceof HTMLInputElement||(v.key==="ArrowLeft"&&f(-1),v.key==="ArrowRight"&&f(1))}return me(()=>t.index,k,{immediate:!0}),ke(()=>window.addEventListener("keydown",r)),Ke(()=>window.removeEventListener("keydown",r)),(v,p)=>(_(),te(lt,{title:c.value.file??"Project",width:"1100px",onClose:p[3]||(p[3]=z=>o("close"))},{actions:Le(()=>[y("span",ps,w(e.index+1)+" / "+w(e.findings.length),1),y("button",{class:"btn btn--small",disabled:!d.value,"aria-label":"Previous finding",onClick:p[0]||(p[0]=z=>f(-1))},[Z(ne,{name:"left",size:15})],8,gs),y("button",{class:"btn btn--small",disabled:!m.value,"aria-label":"Next finding",onClick:p[1]||(p[1]=z=>f(1))},[Z(ne,{name:"right",size:15})],8,ys)]),default:Le(()=>[y("div",_s,[y("div",ms,[y("span",{class:H(["badge",`badge--${c.value.severity}`])},w(c.value.code),3),y("strong",null,w(c.value.message),1),c.value.hint?(_(),x("p",xs,w(c.value.hint),1)):O("",!0)]),l.value?(_(),x("p",ws,w(l.value),1)):h.value?(_(),x("p",ks,"Loading…")):c.value.file?u.value?(_(),x(F,{key:3},[y("div",bs,[y("code",Cs,[B(w(u.value.path),1),c.value.line?(_(),x(F,{key:0},[B(":"+w(c.value.line),1)],64)):O("",!0)]),y("button",{class:"btn btn--small",onClick:p[2]||(p[2]=z=>Me(i)("path",u.value.abs))},[Z(ne,{name:Me(s)==="path"?"check":"copy",size:14},null,8,["name"]),B(" "+w(Me(s)==="path"?"Copied":"Copy path"),1)]),y("a",{class:"btn btn--small",href:g.value},[Z(ne,{name:"external",size:14}),p[4]||(p[4]=B(" Open in VS Code ",-1))],8,Ms)]),Z(hs,{class:"viewer",text:u.value.text,lang:u.value.lang,"focus-line":c.value.line,"focus-column":c.value.column},null,8,["text","lang","focus-line","focus-column"])],64)):O("",!0):(_(),x("p",$s,"This finding is not tied to a source file."))])]),_:1},8,["title"]))}}),He=le(Ns,[["__scopeId","data-v-07a7a162"]]);function de(e){return Object.fromEntries(e.options.map(n=>[n.key,n.default]))}const Ss={class:"page"},Is={class:"page__head"},zs={class:"muted"},js={class:"project"},As=["title"],Os={key:0,class:"notice notice--error"},Es={key:1,class:"layout"},Ls={class:"menu","aria-label":"Checks"},Ps=["aria-current"],Fs={key:0,class:"menu__title"},Ts=["aria-current","onClick"],Ds={class:"menu__name"},Bs={class:"main"},Rs={key:0,class:"notice notice--error"},Us={class:"card block"},Vs={class:"head"},Hs={class:"muted"},Ys=["disabled"],Xs={key:0,class:"options"},Gs={key:0,class:"check"},Ks=["checked","onChange"],Ws={class:"muted"},Qs={key:1,class:"field"},Js={class:"muted"},Zs=["value","onInput"],qs={key:0,class:"notice notice--error"},ei={key:1,class:"card block",role:"status"},ti={key:2,class:"card block"},ni={class:"head"},si={class:"muted small"},ii={key:0,class:"notice notice--error"},oi={key:1,class:"clean"},li={class:"filters"},ai={class:"chips"},ri=["onClick"],ui={key:0,class:"muted"},ci={key:3,class:"card block empty"},Ye="devtoolz-ui.checks-project",Xe="devtoolz-ui.checks-selected",he="overview",fi=oe({__name:"ChecksPage",props:{module:{},status:{}},setup(e){const n=e,t=L([]),o=L(""),s=L(""),i=L({}),u=L({}),l=L(""),h=L(""),a=L(!1),c=L(""),d=L(""),m=L(null),g=L(null),k=L(!1),f=L(!1),r=L({done:0,total:0,current:""}),v=L();let p;const z=P(()=>o.value===he),C=P(()=>t.value.find(I=>I.id===o.value)),A=P(()=>u.value[o.value]),T=P(()=>{const I=A.value?.findings??[],b=c.value.trim().toLowerCase();return I.filter(M=>(d.value===""||M.code===d.value)&&(b===""||`${M.file??""} ${M.message} ${M.code}`.toLowerCase().includes(b)))}),N=P(()=>{const I=new Map;for(const b of A.value?.findings??[]){const M=I.get(b.code);M?M.count+=1:I.set(b.code,{count:1,severity:b.severity})}return[...I.entries()].map(([b,M])=>({code:b,...M}))}),$=P(()=>[{id:"code",title:"Code",items:t.value.filter(I=>I.group==="code")},{id:"dependencies",title:"Dependencies",items:t.value.filter(I=>I.group==="dependencies")},{id:"docs",title:"Documentation",items:t.value.filter(I=>I.group==="docs")}]);function S(I,b){try{localStorage.setItem(I,b)}catch{return}}function E(I){try{return localStorage.getItem(I)??""}catch{return""}}function D(I){o.value=I,c.value="",d.value="",m.value=null,S(Xe,I)}function R(I){a.value=!1;const b=I[0];!b||b===s.value||(s.value=b,u.value={},v.value=void 0,S(Ye,b))}function j(I){return u.value[I]?.findings.length}async function U(I){if(!(f.value||l.value)){p?.(),f.value=!0,h.value="",r.value={done:0,total:0,current:""};try{const{jobId:b}=await ye.post("/api/checks/all/run",{project:s.value,includeSlow:I});p=Pe(b,{onProgress:M=>{r.value=M},onDone:M=>{u.value={...u.value,...M.outcomes},v.value=M.tookMs,f.value=!1},onFailed:M=>{h.value=M,f.value=!1}})}catch(b){h.value=b instanceof Error?b.message:String(b),f.value=!1}}}async function K(){const I=C.value;if(!(!I||l.value)){p?.(),l.value=I.id,h.value="";try{const{jobId:b}=await ye.post(`/api/checks/${I.id}/run`,{project:s.value,options:i.value[I.id]??de(I)});p=Pe(b,{onDone:M=>{u.value={...u.value,[I.id]:M},l.value="",c.value="",d.value=""},onFailed:M=>{h.value=M,l.value=""}})}catch(b){h.value=b instanceof Error?b.message:String(b),l.value=""}}}function J(I,b){const M=C.value;M&&(i.value={...i.value,[M.id]:{...i.value[M.id]??de(M),[I]:b}})}function q(I,b){const M=C.value;M&&(i.value={...i.value,[M.id]:{...i.value[M.id]??de(M),[I]:b}})}function V(I){const b=C.value;return b?(i.value[b.id]??de(b))[I]??"":""}function ee(I){g.value=[{file:I,severity:"info",code:"file",message:I}]}function be(I){I.file&&ee(I.file)}function Ce(I){const b=T.value.indexOf(I);m.value=b>=0?b:0}return ke(async()=>{s.value=E(Ye)||n.status?.cwd||"";try{t.value=await ye.get("/api/checks");const I=E(Xe);o.value=I===he||t.value.some(b=>b.id===I)?I:he}catch(I){h.value=I instanceof Error?I.message:String(I)}}),Ke(()=>p?.()),(I,b)=>(_(),x("div",Ss,[y("header",Is,[y("h1",null,w(e.module.title),1),y("p",zs,w(e.module.description),1),y("p",js,[Z(ne,{name:"folder",size:15}),b[9]||(b[9]=y("span",{class:"muted"},"Project",-1)),y("code",{title:s.value},w(s.value),9,As),y("button",{class:"btn btn--small",onClick:b[0]||(b[0]=M=>a.value=!0)},"Change…")])]),h.value&&!C.value?(_(),x("p",Os,w(h.value),1)):O("",!0),t.value.length?(_(),x("div",Es,[y("nav",Ls,[y("button",{class:H(["menu__item",{"menu__item--on":z.value}]),"aria-current":z.value?"page":void 0,onClick:b[1]||(b[1]=M=>D(he))},[...b[10]||(b[10]=[y("span",{class:"menu__name"},"Overview",-1)])],10,Ps),(_(!0),x(F,null,Q($.value,M=>(_(),x(F,{key:M.id},[M.items.length?(_(),x("h3",Fs,w(M.title),1)):O("",!0),(_(!0),x(F,null,Q(M.items,W=>(_(),x("button",{key:W.id,class:H(["menu__item",{"menu__item--on":W.id===o.value}]),"aria-current":W.id===o.value?"page":void 0,onClick:vi=>D(W.id)},[y("span",Ds,w(W.title),1),j(W.id)!==void 0?(_(),x("span",{key:0,class:H(["menu__count",{"menu__count--clean":j(W.id)===0}])},w(j(W.id)===0?"✓":j(W.id)),3)):O("",!0)],10,Ts))),128))],64))),128))]),y("main",Bs,[h.value&&z.value?(_(),x("p",Rs,w(h.value),1)):O("",!0),z.value?(_(),te(Dt,{key:1,checks:t.value,outcomes:u.value,running:f.value,progress:r.value,"took-ms":v.value,onRunAll:U,onOpen:D},null,8,["checks","outcomes","running","progress","took-ms"])):C.value?(_(),x(F,{key:2},[y("section",Us,[y("div",Vs,[y("div",null,[y("h2",null,w(C.value.title),1),y("p",Hs,w(C.value.description),1)]),y("button",{class:"btn btn--primary",disabled:l.value!==""||s.value==="",onClick:K},[Z(ne,{name:"play",size:15}),B(" "+w(l.value===C.value.id?"Checking…":A.value?"Run again":"Run check"),1)],8,Ys)]),y("button",{class:"link",onClick:b[2]||(b[2]=M=>k.value=!k.value)},w(k.value?"Hide":"Show")+" options ",1),k.value?(_(),x("div",Xs,[(_(!0),x(F,null,Q(C.value.options,M=>(_(),x(F,{key:M.key},[M.type==="boolean"?(_(),x("label",Gs,[y("input",{type:"checkbox",checked:V(M.key)===!0,onChange:W=>J(M.key,W.target.checked)},null,40,Ks),y("span",null,[B(w(M.label)+" ",1),y("small",Ws," — "+w(M.help),1)])])):(_(),x("label",Qs,[y("span",null,[B(w(M.label)+" ",1),y("small",Js,"— "+w(M.help),1)]),y("textarea",{class:"textarea",rows:"3",spellcheck:"false",value:String(V(M.key)),onInput:W=>q(M.key,W.target.value)},null,40,Zs)]))],64))),128))])):O("",!0)]),h.value?(_(),x("p",qs,w(h.value),1)):O("",!0),l.value===C.value.id?(_(),x("section",ei,[...b[11]||(b[11]=[y("p",{class:"muted"},"Scanning the project…",-1)])])):A.value?(_(),x("section",ti,[y("div",ni,[y("div",null,[y("h2",null,w(A.value.summary),1),y("p",si,[B(w((A.value.tookMs/1e3).toFixed(1))+" s ",1),A.value.filesScanned!==void 0?(_(),x(F,{key:0},[B(" · "+w(A.value.filesScanned)+" files scanned",1)],64)):O("",!0)])])]),(_(!0),x(F,null,Q(A.value.notes??[],M=>(_(),x("p",{key:M,class:"notice notice--warn"},w(M),1))),128)),A.value.error?(_(),x("p",ii,w(A.value.error),1)):O("",!0),A.value.findings.length===0&&!A.value.error?(_(),x("p",oi,[Z(ne,{name:"check",size:18}),b[12]||(b[12]=B(" Nothing to report. This check is clean. ",-1))])):O("",!0),C.value.id==="circular-imports"&&A.value.findings.length?(_(),te(as,{key:2,findings:A.value.findings,onOpenFile:ee,onOpen:be},null,8,["findings"])):A.value.findings.length?(_(),x(F,{key:3},[y("div",li,[Ge(y("input",{"onUpdate:modelValue":b[3]||(b[3]=M=>c.value=M),class:"input search",placeholder:"Filter by file or text","aria-label":"Filter findings"},null,512),[[ot,c.value]]),y("div",ai,[y("button",{class:H(["chip",{"chip--on":d.value===""}]),onClick:b[4]||(b[4]=M=>d.value="")}," all "+w(A.value.findings.length),3),(_(!0),x(F,null,Q(N.value,M=>(_(),x("button",{key:M.code,class:H(["chip",[`chip--${M.severity}`,{"chip--on":d.value===M.code}]]),onClick:W=>d.value=d.value===M.code?"":M.code},w(M.code)+" "+w(M.count),11,ri))),128))])]),T.value.length===0?(_(),x("p",ui,"No findings match the filter.")):(_(),te(tt,{key:1,findings:T.value,onOpen:Ce},null,8,["findings"]))],64)):O("",!0)])):l.value?O("",!0):(_(),x("section",ci,[...b[13]||(b[13]=[y("p",{class:"muted"},"Press “Run check” to scan the project.",-1)])]))],64)):O("",!0)])])):O("",!0),g.value?(_(),te(He,{key:2,index:0,project:s.value,findings:g.value,onClose:b[5]||(b[5]=M=>g.value=null)},null,8,["project","findings"])):O("",!0),m.value!==null&&T.value.length?(_(),te(He,{key:3,index:m.value,"onUpdate:index":b[6]||(b[6]=M=>m.value=M),project:s.value,findings:T.value,onClose:b[7]||(b[7]=M=>m.value=null)},null,8,["index","project","findings"])):O("",!0),a.value?(_(),te(at,{key:4,start:s.value||e.status?.cwd||"",mode:"folder",title:"Choose the project folder",onClose:b[8]||(b[8]=M=>a.value=!1),onConfirm:R},null,8,["start"])):O("",!0)]))}}),_i=le(fi,[["__scopeId","data-v-3c25da8b"]]);export{_i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.diff[data-v-9a9e1464]{overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;max-height:460px}.hunk[data-v-9a9e1464]{min-width:max-content}.hunk__head[data-v-9a9e1464]{padding:2px 12px;background:var(--accent-soft);color:var(--accent);font-size:11px}.row[data-v-9a9e1464]{display:flex}.row--add[data-v-9a9e1464]{background:color-mix(in srgb,var(--ok) 16%,transparent)}.row--del[data-v-9a9e1464]{background:color-mix(in srgb,var(--danger) 16%,transparent)}.row__no[data-v-9a9e1464]{flex:none;width:4ch;padding:0 6px;color:var(--muted);text-align:right;user-select:none}.row__sign[data-v-9a9e1464]{flex:none;width:2ch;color:var(--muted);user-select:none}.row--add .row__sign[data-v-9a9e1464]{color:var(--ok)}.row--del .row__sign[data-v-9a9e1464]{color:var(--danger)}.row__text[data-v-9a9e1464]{white-space:pre;padding-right:16px}.tok[data-v-9a9e1464]{color:var(--light)}@media(prefers-color-scheme:dark){.tok[data-v-9a9e1464]{color:var(--dark)}}.page[data-v-8279376c]{display:flex;flex-direction:column;gap:16px;padding:28px 28px 60px}@media(max-width:760px){.page[data-v-8279376c]{padding:18px 14px 40px}}.page__head p[data-v-8279376c]{margin-top:4px}.project[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px}.project code[data-v-8279376c]{padding:2px 8px;border-radius:6px;background:var(--surface-2);word-break:break-all}.block[data-v-8279376c]{display:flex;flex-direction:column;gap:12px;padding:18px}.head[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.small[data-v-8279376c]{font-size:12px}.link[data-v-8279376c]{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer}.link[data-v-8279376c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.options[data-v-8279376c]{display:flex;flex-direction:column;gap:12px}.textarea[data-v-8279376c]{padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px}.textarea[data-v-8279376c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.search[data-v-8279376c]{width:260px}.spacer[data-v-8279376c]{flex:1}.actions[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center}.skipped[data-v-8279376c]{margin:8px 0 0;padding-left:20px;font-size:12px}.files[data-v-8279376c]{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.file[data-v-8279376c]{display:flex;flex-direction:column;gap:8px;padding:4px 12px 8px;border:1px solid var(--border);border-radius:9px}.file--done[data-v-8279376c]{opacity:.6}.file__row[data-v-8279376c]{display:flex;align-items:center;gap:12px}.file__main[data-v-8279376c]{display:flex;flex:1;align-items:center;gap:8px;min-width:0;padding:8px 0;border:0;background:transparent;text-align:left;cursor:pointer}.file__main[data-v-8279376c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.file__caret[data-v-8279376c]{flex:none;color:var(--muted);transition:transform .15s}.file__caret--open[data-v-8279376c]{transform:rotate(90deg)}.file__name[data-v-8279376c]{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file__count[data-v-8279376c]{flex:none;color:var(--muted);font-size:12px}.file__stat[data-v-8279376c]{flex:none;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:11px}.file__stat--del[data-v-8279376c]{color:var(--danger)}.file__stat--add[data-v-8279376c]{color:var(--ok)}.file__done[data-v-8279376c]{flex:none;color:var(--ok);font-size:12px}.results[data-v-8279376c]{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.result[data-v-8279376c]{display:flex;gap:12px;font-size:12px}.result--changed[data-v-8279376c],.result--error[data-v-8279376c],.result--refused[data-v-8279376c]{color:var(--danger)}.history[data-v-8279376c]{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.history__row[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:9px}
|