@casbal/my-local-git 1.0.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 +20 -0
- package/bin/mlg.js +3 -0
- package/dist/assets/index-CfME_-RH.js +117 -0
- package/dist/assets/index-CoHFqG7G.css +1 -0
- package/dist/index.html +14 -0
- package/dist-server/server.js +130 -0
- package/package.json +53 -0
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
# Run and deploy your AI Studio app
|
|
6
|
+
|
|
7
|
+
This contains everything you need to run your app locally.
|
|
8
|
+
|
|
9
|
+
View your app in AI Studio: https://ai.studio/apps/e993bcad-258d-4d02-a793-e862ba1d24c9
|
|
10
|
+
|
|
11
|
+
## Run Locally
|
|
12
|
+
|
|
13
|
+
**Prerequisites:** Node.js
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
1. Install dependencies:
|
|
17
|
+
`npm install`
|
|
18
|
+
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
|
|
19
|
+
3. Run the app:
|
|
20
|
+
`npm run dev`
|
package/bin/mlg.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();/**
|
|
2
|
+
* @vue/shared v3.5.30
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/function Ks(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const K={},ft=[],Ie=()=>{},Zn=()=>!1,cs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Us=e=>e.startsWith("onUpdate:"),ee=Object.assign,Bs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ir=Object.prototype.hasOwnProperty,L=(e,t)=>ir.call(e,t),R=Array.isArray,ut=e=>Ht(e)==="[object Map]",Xn=e=>Ht(e)==="[object Set]",mn=e=>Ht(e)==="[object Date]",j=e=>typeof e=="function",X=e=>typeof e=="string",Fe=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",Qn=e=>($(e)||j(e))&&j(e.then)&&j(e.catch),ei=Object.prototype.toString,Ht=e=>ei.call(e),rr=e=>Ht(e).slice(8,-1),ti=e=>Ht(e)==="[object Object]",Ws=e=>X(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Ks(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},or=/-\w/g,be=fs(e=>e.replace(or,t=>t.slice(1).toUpperCase())),lr=/\B([A-Z])/g,Je=fs(e=>e.replace(lr,"-$1").toLowerCase()),si=fs(e=>e.charAt(0).toUpperCase()+e.slice(1)),ys=fs(e=>e?`on${si(e)}`:""),Re=(e,t)=>!Object.is(e,t),Yt=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},ni=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},qs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let _n;const us=()=>_n||(_n=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gs(e){if(R(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=X(n)?ar(n):Gs(n);if(i)for(const r in i)t[r]=i[r]}return t}else if(X(e)||$(e))return e}const cr=/;(?![^(]*\))/g,fr=/:([^]+)/,ur=/\/\*[^]*?\*\//g;function ar(e){const t={};return e.replace(ur,"").split(cr).forEach(s=>{if(s){const n=s.split(fr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function at(e){let t="";if(X(e))t=e;else if(R(e))for(let s=0;s<e.length;s++){const n=at(e[s]);n&&(t+=n+" ")}else if($(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const dr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",hr=Ks(dr);function ii(e){return!!e||e===""}function pr(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=Js(e[n],t[n]);return s}function Js(e,t){if(e===t)return!0;let s=mn(e),n=mn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Fe(e),n=Fe(t),s||n)return e===t;if(s=R(e),n=R(t),s||n)return s&&n?pr(e,t):!1;if(s=$(e),n=$(t),s||n){if(!s||!n)return!1;const i=Object.keys(e).length,r=Object.keys(t).length;if(i!==r)return!1;for(const o in e){const l=e.hasOwnProperty(o),f=t.hasOwnProperty(o);if(l&&!f||!l&&f||!Js(e[o],t[o]))return!1}}return String(e)===String(t)}const ri=e=>!!(e&&e.__v_isRef===!0),fe=e=>X(e)?e:e==null?"":R(e)||$(e)&&(e.toString===ei||!j(e.toString))?ri(e)?fe(e.value):JSON.stringify(e,oi,2):String(e),oi=(e,t)=>ri(t)?oi(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],r)=>(s[xs(n,r)+" =>"]=i,s),{})}:Xn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>xs(s))}:Fe(t)?xs(t):$(t)&&!R(t)&&!ti(t)?String(t):t,xs=(e,t="")=>{var s;return Fe(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.30
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let ae;class gr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ae,!t&&ae&&(this.index=(ae.scopes||(ae.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=ae;try{return ae=this,t()}finally{ae=s}}}on(){++this._on===1&&(this.prevScope=ae,ae=this)}off(){this._on>0&&--this._on===0&&(ae=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function mr(){return ae}let q;const vs=new WeakSet;class li{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,ae&&ae.active&&ae.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,vs.has(this)&&(vs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||fi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,bn(this),ui(this);const t=q,s=ye;q=this,ye=!0;try{return this.fn()}finally{ai(this),q=t,ye=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Xs(t);this.deps=this.depsTail=void 0,bn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?vs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Rs(this)&&this.run()}get dirty(){return Rs(this)}}let ci=0,Et,Ot;function fi(e,t=!1){if(e.flags|=8,t){e.next=Ot,Ot=e;return}e.next=Et,Et=e}function Ys(){ci++}function Zs(){if(--ci>0)return;if(Ot){let t=Ot;for(Ot=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Et;){let t=Et;for(Et=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function ui(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ai(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),Xs(n),_r(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function Rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(di(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function di(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ft)||(e.globalVersion=Ft,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Rs(e))))return;e.flags|=2;const t=e.dep,s=q,n=ye;q=e,ye=!0;try{ui(e);const i=e.fn(e._value);(t.version===0||Re(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{q=s,ye=n,ai(e),e.flags&=-3}}function Xs(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)Xs(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function _r(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let ye=!0;const hi=[];function Ne(){hi.push(ye),ye=!1}function $e(){const e=hi.pop();ye=e===void 0?!0:e}function bn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=q;q=void 0;try{t()}finally{q=s}}}let Ft=0;class br{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Qs{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 s=this.activeLink;if(s===void 0||s.sub!==q)s=this.activeLink=new br(q,this),q.deps?(s.prevDep=q.depsTail,q.depsTail.nextDep=s,q.depsTail=s):q.deps=q.depsTail=s,pi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=q.depsTail,s.nextDep=void 0,q.depsTail.nextDep=s,q.depsTail=s,q.deps===s&&(q.deps=n)}return s}trigger(t){this.version++,Ft++,this.notify(t)}notify(t){Ys();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Zs()}}}function pi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)pi(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Is=new WeakMap,st=Symbol(""),Fs=Symbol(""),jt=Symbol("");function te(e,t,s){if(ye&&q){let n=Is.get(e);n||Is.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new Qs),i.map=n,i.key=s),i.track()}}function He(e,t,s,n,i,r){const o=Is.get(e);if(!o){Ft++;return}const l=f=>{f&&f.trigger()};if(Ys(),t==="clear")o.forEach(l);else{const f=R(e),d=f&&Ws(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,A)=>{(A==="length"||A===jt||!Fe(A)&&A>=a)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(jt)),t){case"add":f?d&&l(o.get("length")):(l(o.get(st)),ut(e)&&l(o.get(Fs)));break;case"delete":f||(l(o.get(st)),ut(e)&&l(o.get(Fs)));break;case"set":ut(e)&&l(o.get(st));break}}Zs()}function it(e){const t=H(e);return t===e?t:(te(t,"iterate",jt),me(e)?t:t.map(xe))}function as(e){return te(e=H(e),"iterate",jt),e}function Me(e,t){return Ve(e)?pt(nt(e)?xe(t):t):xe(t)}const yr={__proto__:null,[Symbol.iterator](){return ws(this,Symbol.iterator,e=>Me(this,e))},concat(...e){return it(this).concat(...e.map(t=>R(t)?it(t):t))},entries(){return ws(this,"entries",e=>(e[1]=Me(this,e[1]),e))},every(e,t){return ze(this,"every",e,t,void 0,arguments)},filter(e,t){return ze(this,"filter",e,t,s=>s.map(n=>Me(this,n)),arguments)},find(e,t){return ze(this,"find",e,t,s=>Me(this,s),arguments)},findIndex(e,t){return ze(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ze(this,"findLast",e,t,s=>Me(this,s),arguments)},findLastIndex(e,t){return ze(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ze(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ss(this,"includes",e)},indexOf(...e){return Ss(this,"indexOf",e)},join(e){return it(this).join(e)},lastIndexOf(...e){return Ss(this,"lastIndexOf",e)},map(e,t){return ze(this,"map",e,t,void 0,arguments)},pop(){return xt(this,"pop")},push(...e){return xt(this,"push",e)},reduce(e,...t){return yn(this,"reduce",e,t)},reduceRight(e,...t){return yn(this,"reduceRight",e,t)},shift(){return xt(this,"shift")},some(e,t){return ze(this,"some",e,t,void 0,arguments)},splice(...e){return xt(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 xt(this,"unshift",e)},values(){return ws(this,"values",e=>Me(this,e))}};function ws(e,t,s){const n=as(e),i=n[t]();return n!==e&&!me(e)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.done||(r.value=s(r.value)),r}),i}const xr=Array.prototype;function ze(e,t,s,n,i,r){const o=as(e),l=o!==e&&!me(e),f=o[t];if(f!==xr[t]){const p=f.apply(e,r);return l?xe(p):p}let d=s;o!==e&&(l?d=function(p,A){return s.call(this,Me(e,p),A,e)}:s.length>2&&(d=function(p,A){return s.call(this,p,A,e)}));const a=f.call(o,d,n);return l&&i?i(a):a}function yn(e,t,s,n){const i=as(e),r=i!==e&&!me(e);let o=s,l=!1;i!==e&&(r?(l=n.length===0,o=function(d,a,p){return l&&(l=!1,d=Me(e,d)),s.call(this,d,Me(e,a),p,e)}):s.length>3&&(o=function(d,a,p){return s.call(this,d,a,p,e)}));const f=i[t](o,...n);return l?Me(e,f):f}function Ss(e,t,s){const n=H(e);te(n,"iterate",jt);const i=n[t](...s);return(i===-1||i===!1)&&nn(s[0])?(s[0]=H(s[0]),n[t](...s)):i}function xt(e,t,s=[]){Ne(),Ys();const n=H(e)[t].apply(e,s);return Zs(),$e(),n}const vr=Ks("__proto__,__v_isRef,__isVue"),gi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Fe));function wr(e){Fe(e)||(e=String(e));const t=H(this);return te(t,"has",e),t.hasOwnProperty(e)}class mi{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?Ir:xi:r?yi:bi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=R(t);if(!i){let f;if(o&&(f=yr[s]))return f;if(s==="hasOwnProperty")return wr}const l=Reflect.get(t,s,se(t)?t:n);if((Fe(s)?gi.has(s):vr(s))||(i||te(t,"get",s),r))return l;if(se(l)){const f=o&&Ws(s)?l:l.value;return i&&$(f)?zs(f):f}return $(l)?i?zs(l):tn(l):l}}class _i extends mi{constructor(t=!1){super(!1,t)}set(t,s,n,i){let r=t[s];const o=R(t)&&Ws(s);if(!this._isShallow){const d=Ve(r);if(!me(n)&&!Ve(n)&&(r=H(r),n=H(n)),!o&&se(r)&&!se(n))return d||(r.value=n),!0}const l=o?Number(s)<t.length:L(t,s),f=Reflect.set(t,s,n,se(t)?t:i);return t===H(i)&&(l?Re(n,r)&&He(t,"set",s,n):He(t,"add",s,n)),f}deleteProperty(t,s){const n=L(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&He(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Fe(s)||!gi.has(s))&&te(t,"has",s),n}ownKeys(t){return te(t,"iterate",R(t)?"length":st),Reflect.ownKeys(t)}}class Sr extends mi{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Cr=new _i,Tr=new Sr,Ar=new _i(!0);const js=e=>e,Wt=e=>Reflect.getPrototypeOf(e);function Er(e,t,s){return function(...n){const i=this.__v_raw,r=H(i),o=ut(r),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,d=i[e](...n),a=s?js:t?pt:xe;return!t&&te(r,"iterate",f?Fs:st),ee(Object.create(d),{next(){const{value:p,done:A}=d.next();return A?{value:p,done:A}:{value:l?[a(p[0]),a(p[1])]:a(p),done:A}}})}}function qt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Or(e,t){const s={get(i){const r=this.__v_raw,o=H(r),l=H(i);e||(Re(i,l)&&te(o,"get",i),te(o,"get",l));const{has:f}=Wt(o),d=t?js:e?pt:xe;if(f.call(o,i))return d(r.get(i));if(f.call(o,l))return d(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&te(H(i),"iterate",st),i.size},has(i){const r=this.__v_raw,o=H(r),l=H(i);return e||(Re(i,l)&&te(o,"has",i),te(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,f=H(l),d=t?js:e?pt:xe;return!e&&te(f,"iterate",st),l.forEach((a,p)=>i.call(r,d(a),d(p),o))}};return ee(s,e?{add:qt("add"),set:qt("set"),delete:qt("delete"),clear:qt("clear")}:{add(i){const r=H(this),o=Wt(r),l=H(i),f=!t&&!me(i)&&!Ve(i)?l:i;return o.has.call(r,f)||Re(i,f)&&o.has.call(r,i)||Re(l,f)&&o.has.call(r,l)||(r.add(f),He(r,"add",f,f)),this},set(i,r){!t&&!me(r)&&!Ve(r)&&(r=H(r));const o=H(this),{has:l,get:f}=Wt(o);let d=l.call(o,i);d||(i=H(i),d=l.call(o,i));const a=f.call(o,i);return o.set(i,r),d?Re(r,a)&&He(o,"set",i,r):He(o,"add",i,r),this},delete(i){const r=H(this),{has:o,get:l}=Wt(r);let f=o.call(r,i);f||(i=H(i),f=o.call(r,i)),l&&l.call(r,i);const d=r.delete(i);return f&&He(r,"delete",i,void 0),d},clear(){const i=H(this),r=i.size!==0,o=i.clear();return r&&He(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Er(i,e,t)}),s}function en(e,t){const s=Or(e,t);return(n,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(L(s,i)&&i in n?s:n,i,r)}const Mr={get:en(!1,!1)},Pr={get:en(!1,!0)},Rr={get:en(!0,!1)};const bi=new WeakMap,yi=new WeakMap,xi=new WeakMap,Ir=new WeakMap;function Fr(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jr(e){return e.__v_skip||!Object.isExtensible(e)?0:Fr(rr(e))}function tn(e){return Ve(e)?e:sn(e,!1,Cr,Mr,bi)}function zr(e){return sn(e,!1,Ar,Pr,yi)}function zs(e){return sn(e,!0,Tr,Rr,xi)}function sn(e,t,s,n,i){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=jr(e);if(r===0)return e;const o=i.get(e);if(o)return o;const l=new Proxy(e,r===2?n:s);return i.set(e,l),l}function nt(e){return Ve(e)?nt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ve(e){return!!(e&&e.__v_isReadonly)}function me(e){return!!(e&&e.__v_isShallow)}function nn(e){return e?!!e.__v_raw:!1}function H(e){const t=e&&e.__v_raw;return t?H(t):e}function kr(e){return!L(e,"__v_skip")&&Object.isExtensible(e)&&ni(e,"__v_skip",!0),e}const xe=e=>$(e)?tn(e):e,pt=e=>$(e)?zs(e):e;function se(e){return e?e.__v_isRef===!0:!1}function We(e){return Dr(e,!1)}function Dr(e,t){return se(e)?e:new Hr(e,t)}class Hr{constructor(t,s){this.dep=new Qs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:H(t),this._value=s?t:xe(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||me(t)||Ve(t);t=n?t:H(t),Re(t,s)&&(this._rawValue=t,this._value=n?t:xe(t),this.dep.trigger())}}function Z(e){return se(e)?e.value:e}const Lr={get:(e,t,s)=>t==="__v_raw"?e:Z(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return se(i)&&!se(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function vi(e){return nt(e)?e:new Proxy(e,Lr)}class Nr{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Qs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ft-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return fi(this,!0),!0}get value(){const t=this.dep.track();return di(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function $r(e,t,s=!1){let n,i;return j(e)?n=e:(n=e.get,i=e.set),new Nr(n,i,s)}const Gt={},es=new WeakMap;let tt;function Vr(e,t=!1,s=tt){if(s){let n=es.get(s);n||es.set(s,n=[]),n.push(e)}}function Kr(e,t,s=K){const{immediate:n,deep:i,once:r,scheduler:o,augmentJob:l,call:f}=s,d=I=>i?I:me(I)||i===!1||i===0?Le(I,1):Le(I);let a,p,A,C,y=!1,M=!1;if(se(e)?(p=()=>e.value,y=me(e)):nt(e)?(p=()=>d(e),y=!0):R(e)?(M=!0,y=e.some(I=>nt(I)||me(I)),p=()=>e.map(I=>{if(se(I))return I.value;if(nt(I))return d(I);if(j(I))return f?f(I,2):I()})):j(e)?t?p=f?()=>f(e,2):e:p=()=>{if(A){Ne();try{A()}finally{$e()}}const I=tt;tt=a;try{return f?f(e,3,[C]):e(C)}finally{tt=I}}:p=Ie,t&&i){const I=p,Q=i===!0?1/0:i;p=()=>Le(I(),Q)}const E=mr(),V=()=>{a.stop(),E&&E.active&&Bs(E.effects,a)};if(r&&t){const I=t;t=(...Q)=>{I(...Q),V()}}let z=M?new Array(e.length).fill(Gt):Gt;const U=I=>{if(!(!(a.flags&1)||!a.dirty&&!I))if(t){const Q=a.run();if(i||y||(M?Q.some((Ue,we)=>Re(Ue,z[we])):Re(Q,z))){A&&A();const Ue=tt;tt=a;try{const we=[Q,z===Gt?void 0:M&&z[0]===Gt?[]:z,C];z=Q,f?f(t,3,we):t(...we)}finally{tt=Ue}}}else a.run()};return l&&l(U),a=new li(p),a.scheduler=o?()=>o(U,!1):U,C=I=>Vr(I,!1,a),A=a.onStop=()=>{const I=es.get(a);if(I){if(f)f(I,4);else for(const Q of I)Q();es.delete(a)}},t?n?U(!0):z=a.run():o?o(U.bind(null,!0),!0):a.run(),V.pause=a.pause.bind(a),V.resume=a.resume.bind(a),V.stop=V,V}function Le(e,t=1/0,s){if(t<=0||!$(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,se(e))Le(e.value,t,s);else if(R(e))for(let n=0;n<e.length;n++)Le(e[n],t,s);else if(Xn(e)||ut(e))e.forEach(n=>{Le(n,t,s)});else if(ti(e)){for(const n in e)Le(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Le(e[n],t,s)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.30
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function Lt(e,t,s,n){try{return n?e(...n):e()}catch(i){ds(i,t,s)}}function je(e,t,s,n){if(j(e)){const i=Lt(e,t,s,n);return i&&Qn(i)&&i.catch(r=>{ds(r,t,s)}),i}if(R(e)){const i=[];for(let r=0;r<e.length;r++)i.push(je(e[r],t,s,n));return i}}function ds(e,t,s,n=!0){const i=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||K;if(t){let l=t.parent;const f=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let p=0;p<a.length;p++)if(a[p](e,f,d)===!1)return}l=l.parent}if(r){Ne(),Lt(r,null,10,[e,f,d]),$e();return}}Ur(e,s,i,n,o)}function Ur(e,t,s,n=!0,i=!1){if(i)throw e;console.error(e)}const re=[];let Oe=-1;const dt=[];let qe=null,ot=0;const wi=Promise.resolve();let ts=null;function Br(e){const t=ts||wi;return e?t.then(this?e.bind(this):e):t}function Wr(e){let t=Oe+1,s=re.length;for(;t<s;){const n=t+s>>>1,i=re[n],r=zt(i);r<e||r===e&&i.flags&2?t=n+1:s=n}return t}function rn(e){if(!(e.flags&1)){const t=zt(e),s=re[re.length-1];!s||!(e.flags&2)&&t>=zt(s)?re.push(e):re.splice(Wr(t),0,e),e.flags|=1,Si()}}function Si(){ts||(ts=wi.then(Ti))}function qr(e){R(e)?dt.push(...e):qe&&e.id===-1?qe.splice(ot+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),Si()}function xn(e,t,s=Oe+1){for(;s<re.length;s++){const n=re[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;re.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Ci(e){if(dt.length){const t=[...new Set(dt)].sort((s,n)=>zt(s)-zt(n));if(dt.length=0,qe){qe.push(...t);return}for(qe=t,ot=0;ot<qe.length;ot++){const s=qe[ot];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}qe=null,ot=0}}const zt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Ti(e){try{for(Oe=0;Oe<re.length;Oe++){const t=re[Oe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Lt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Oe<re.length;Oe++){const t=re[Oe];t&&(t.flags&=-2)}Oe=-1,re.length=0,Ci(),ts=null,(re.length||dt.length)&&Ti()}}let ge=null,Ai=null;function ss(e){const t=ge;return ge=e,Ai=e&&e.type.__scopeId||null,t}function Gr(e,t=ge,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&rs(-1);const r=ss(t);let o;try{o=e(...i)}finally{ss(r),n._d&&rs(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Jr(e,t){if(ge===null)return e;const s=ms(ge),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,l,f=K]=t[i];r&&(j(r)&&(r={mounted:r,updated:r}),r.deep&&Le(o),n.push({dir:r,instance:s,value:o,oldValue:void 0,arg:l,modifiers:f}))}return e}function Qe(e,t,s,n){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const l=i[o];r&&(l.oldValue=r[o].value);let f=l.dir[n];f&&(Ne(),je(f,s,8,[e.el,l,e,t]),$e())}}function Yr(e,t){if(oe){let s=oe.provides;const n=oe.parent&&oe.parent.provides;n===s&&(s=oe.provides=Object.create(n)),s[e]=t}}function Zt(e,t,s=!1){const n=Yo();if(n||ht){let i=ht?ht._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return s&&j(t)?t.call(n&&n.proxy):t}}const Zr=Symbol.for("v-scx"),Xr=()=>Zt(Zr);function Cs(e,t,s){return Ei(e,t,s)}function Ei(e,t,s=K){const{immediate:n,deep:i,flush:r,once:o}=s,l=ee({},s),f=t&&n||!t&&r!=="post";let d;if(Dt){if(r==="sync"){const C=Xr();d=C.__watcherHandles||(C.__watcherHandles=[])}else if(!f){const C=()=>{};return C.stop=Ie,C.resume=Ie,C.pause=Ie,C}}const a=oe;l.call=(C,y,M)=>je(C,a,y,M);let p=!1;r==="post"?l.scheduler=C=>{ue(C,a&&a.suspense)}:r!=="sync"&&(p=!0,l.scheduler=(C,y)=>{y?C():rn(C)}),l.augmentJob=C=>{t&&(C.flags|=4),p&&(C.flags|=2,a&&(C.id=a.uid,C.i=a))};const A=Kr(e,t,l);return Dt&&(d?d.push(A):f&&A()),A}function Qr(e,t,s){const n=this.proxy,i=X(e)?e.includes(".")?Oi(n,e):()=>n[e]:e.bind(n,n);let r;j(t)?r=t:(r=t.handler,s=t);const o=Nt(this),l=Ei(i,r.bind(n),s);return o(),l}function Oi(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}const eo=Symbol("_vte"),to=e=>e.__isTeleport,so=Symbol("_leaveCb");function on(e,t){e.shapeFlag&6&&e.component?(e.transition=t,on(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function no(e,t){return j(e)?ee({name:e.name},t,{setup:e}):e}function Mi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function vn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ns=new WeakMap;function Mt(e,t,s,n,i=!1){if(R(e)){e.forEach((M,E)=>Mt(M,t&&(R(t)?t[E]:t),s,n,i));return}if(Pt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Mt(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?ms(n.component):n.el,o=i?null:r,{i:l,r:f}=e,d=t&&t.r,a=l.refs===K?l.refs={}:l.refs,p=l.setupState,A=H(p),C=p===K?Zn:M=>vn(a,M)?!1:L(A,M),y=(M,E)=>!(E&&vn(a,E));if(d!=null&&d!==f){if(wn(t),X(d))a[d]=null,C(d)&&(p[d]=null);else if(se(d)){const M=t;y(d,M.k)&&(d.value=null),M.k&&(a[M.k]=null)}}if(j(f))Lt(f,l,12,[o,a]);else{const M=X(f),E=se(f);if(M||E){const V=()=>{if(e.f){const z=M?C(f)?p[f]:a[f]:y()||!e.k?f.value:a[e.k];if(i)R(z)&&Bs(z,r);else if(R(z))z.includes(r)||z.push(r);else if(M)a[f]=[r],C(f)&&(p[f]=a[f]);else{const U=[r];y(f,e.k)&&(f.value=U),e.k&&(a[e.k]=U)}}else M?(a[f]=o,C(f)&&(p[f]=o)):E&&(y(f,e.k)&&(f.value=o),e.k&&(a[e.k]=o))};if(o){const z=()=>{V(),ns.delete(e)};z.id=-1,ns.set(e,z),ue(z,s)}else wn(e),V()}}}function wn(e){const t=ns.get(e);t&&(t.flags|=8,ns.delete(e))}us().requestIdleCallback;us().cancelIdleCallback;const Pt=e=>!!e.type.__asyncLoader,Pi=e=>e.type.__isKeepAlive;function io(e,t){Ri(e,"a",t)}function ro(e,t){Ri(e,"da",t)}function Ri(e,t,s=oe){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(hs(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Pi(i.parent.vnode)&&oo(n,t,s,i),i=i.parent}}function oo(e,t,s,n){const i=hs(t,e,n,!0);Fi(()=>{Bs(n[t],i)},s)}function hs(e,t,s=oe,n=!1){if(s){const i=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...o)=>{Ne();const l=Nt(s),f=je(t,s,e,o);return l(),$e(),f});return n?i.unshift(r):i.push(r),r}}const Ke=e=>(t,s=oe)=>{(!Dt||e==="sp")&&hs(e,(...n)=>t(...n),s)},lo=Ke("bm"),Ii=Ke("m"),co=Ke("bu"),fo=Ke("u"),uo=Ke("bum"),Fi=Ke("um"),ao=Ke("sp"),ho=Ke("rtg"),po=Ke("rtc");function go(e,t=oe){hs("ec",e,t)}const mo=Symbol.for("v-ndc");function vt(e,t,s,n){let i;const r=s,o=R(e);if(o||X(e)){const l=o&&nt(e);let f=!1,d=!1;l&&(f=!me(e),d=Ve(e),e=as(e)),i=new Array(e.length);for(let a=0,p=e.length;a<p;a++)i[a]=t(f?d?pt(xe(e[a])):xe(e[a]):e[a],a,void 0,r)}else if(typeof e=="number"){i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,r)}else if($(e))if(e[Symbol.iterator])i=Array.from(e,(l,f)=>t(l,f,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let f=0,d=l.length;f<d;f++){const a=l[f];i[f]=t(e[a],a,f,r)}}else i=[];return i}const ks=e=>e?Qi(e)?ms(e):ks(e.parent):null,Rt=ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ks(e.parent),$root:e=>ks(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>zi(e),$forceUpdate:e=>e.f||(e.f=()=>{rn(e.update)}),$nextTick:e=>e.n||(e.n=Br.bind(e.proxy)),$watch:e=>Qr.bind(e)}),Ts=(e,t)=>e!==K&&!e.__isScriptSetup&&L(e,t),_o={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:o,type:l,appContext:f}=e;if(t[0]!=="$"){const A=o[t];if(A!==void 0)switch(A){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return r[t]}else{if(Ts(n,t))return o[t]=1,n[t];if(i!==K&&L(i,t))return o[t]=2,i[t];if(L(r,t))return o[t]=3,r[t];if(s!==K&&L(s,t))return o[t]=4,s[t];Ds&&(o[t]=0)}}const d=Rt[t];let a,p;if(d)return t==="$attrs"&&te(e.attrs,"get",""),d(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==K&&L(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,L(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:r}=e;return Ts(i,t)?(i[t]=s,!0):n!==K&&L(n,t)?(n[t]=s,!0):L(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,props:r,type:o}},l){let f;return!!(s[l]||e!==K&&l[0]!=="$"&&L(e,l)||Ts(t,l)||L(r,l)||L(n,l)||L(Rt,l)||L(i.config.globalProperties,l)||(f=o.__cssModules)&&f[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:L(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Sn(e){return R(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ds=!0;function bo(e){const t=zi(e),s=e.proxy,n=e.ctx;Ds=!1,t.beforeCreate&&Cn(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:f,inject:d,created:a,beforeMount:p,mounted:A,beforeUpdate:C,updated:y,activated:M,deactivated:E,beforeDestroy:V,beforeUnmount:z,destroyed:U,unmounted:I,render:Q,renderTracked:Ue,renderTriggered:we,errorCaptured:Be,serverPrefetch:$t,expose:Ye,inheritAttrs:mt,components:Vt,directives:Kt,filters:_s}=t;if(d&&yo(d,n,null),o)for(const J in o){const B=o[J];j(B)&&(n[J]=B.bind(s))}if(i){const J=i.call(s,s);$(J)&&(e.data=tn(J))}if(Ds=!0,r)for(const J in r){const B=r[J],Ze=j(B)?B.bind(s,s):j(B.get)?B.get.bind(s,s):Ie,Ut=!j(B)&&j(B.set)?B.set.bind(s):Ie,Xe=sl({get:Ze,set:Ut});Object.defineProperty(n,J,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Se=>Xe.value=Se})}if(l)for(const J in l)ji(l[J],n,s,J);if(f){const J=j(f)?f.call(s):f;Reflect.ownKeys(J).forEach(B=>{Yr(B,J[B])})}a&&Cn(a,e,"c");function ne(J,B){R(B)?B.forEach(Ze=>J(Ze.bind(s))):B&&J(B.bind(s))}if(ne(lo,p),ne(Ii,A),ne(co,C),ne(fo,y),ne(io,M),ne(ro,E),ne(go,Be),ne(po,Ue),ne(ho,we),ne(uo,z),ne(Fi,I),ne(ao,$t),R(Ye))if(Ye.length){const J=e.exposed||(e.exposed={});Ye.forEach(B=>{Object.defineProperty(J,B,{get:()=>s[B],set:Ze=>s[B]=Ze,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===Ie&&(e.render=Q),mt!=null&&(e.inheritAttrs=mt),Vt&&(e.components=Vt),Kt&&(e.directives=Kt),$t&&Mi(e)}function yo(e,t,s=Ie){R(e)&&(e=Hs(e));for(const n in e){const i=e[n];let r;$(i)?"default"in i?r=Zt(i.from||n,i.default,!0):r=Zt(i.from||n):r=Zt(i),se(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[n]=r}}function Cn(e,t,s){je(R(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function ji(e,t,s,n){let i=n.includes(".")?Oi(s,n):()=>s[n];if(X(e)){const r=t[e];j(r)&&Cs(i,r)}else if(j(e))Cs(i,e.bind(s));else if($(e))if(R(e))e.forEach(r=>ji(r,t,s,n));else{const r=j(e.handler)?e.handler.bind(s):t[e.handler];j(r)&&Cs(i,r,e)}}function zi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let f;return l?f=l:!i.length&&!s&&!n?f=t:(f={},i.length&&i.forEach(d=>is(f,d,o,!0)),is(f,t,o)),$(t)&&r.set(t,f),f}function is(e,t,s,n=!1){const{mixins:i,extends:r}=t;r&&is(e,r,s,!0),i&&i.forEach(o=>is(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=xo[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const xo={data:Tn,props:An,emits:An,methods:Tt,computed:Tt,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:Tt,directives:Tt,watch:wo,provide:Tn,inject:vo};function Tn(e,t){return t?e?function(){return ee(j(e)?e.call(this,this):e,j(t)?t.call(this,this):t)}:t:e}function vo(e,t){return Tt(Hs(e),Hs(t))}function Hs(e){if(R(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function ie(e,t){return e?[...new Set([].concat(e,t))]:t}function Tt(e,t){return e?ee(Object.create(null),e,t):t}function An(e,t){return e?R(e)&&R(t)?[...new Set([...e,...t])]:ee(Object.create(null),Sn(e),Sn(t??{})):t}function wo(e,t){if(!e)return t;if(!t)return e;const s=ee(Object.create(null),e);for(const n in t)s[n]=ie(e[n],t[n]);return s}function ki(){return{app:null,config:{isNativeTag:Zn,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 So=0;function Co(e,t){return function(n,i=null){j(n)||(n=ee({},n)),i!=null&&!$(i)&&(i=null);const r=ki(),o=new WeakSet,l=[];let f=!1;const d=r.app={_uid:So++,_component:n,_props:i,_container:null,_context:r,_instance:null,version:nl,get config(){return r.config},set config(a){},use(a,...p){return o.has(a)||(a&&j(a.install)?(o.add(a),a.install(d,...p)):j(a)&&(o.add(a),a(d,...p))),d},mixin(a){return r.mixins.includes(a)||r.mixins.push(a),d},component(a,p){return p?(r.components[a]=p,d):r.components[a]},directive(a,p){return p?(r.directives[a]=p,d):r.directives[a]},mount(a,p,A){if(!f){const C=d._ceVNode||Y(n,i);return C.appContext=r,A===!0?A="svg":A===!1&&(A=void 0),e(C,a,A),f=!0,d._container=a,a.__vue_app__=d,ms(C.component)}},onUnmount(a){l.push(a)},unmount(){f&&(je(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(a,p){return r.provides[a]=p,d},runWithContext(a){const p=ht;ht=d;try{return a()}finally{ht=p}}};return d}}let ht=null;const To=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${be(t)}Modifiers`]||e[`${Je(t)}Modifiers`];function Ao(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||K;let i=s;const r=t.startsWith("update:"),o=r&&To(n,t.slice(7));o&&(o.trim&&(i=s.map(a=>X(a)?a.trim():a)),o.number&&(i=s.map(qs)));let l,f=n[l=ys(t)]||n[l=ys(be(t))];!f&&r&&(f=n[l=ys(Je(t))]),f&&je(f,e,6,i);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,je(d,e,6,i)}}const Eo=new WeakMap;function Di(e,t,s=!1){const n=s?Eo:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!j(e)){const f=d=>{const a=Di(d,t,!0);a&&(l=!0,ee(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!r&&!l?($(e)&&n.set(e,null),null):(R(r)?r.forEach(f=>o[f]=null):ee(o,r),$(e)&&n.set(e,o),o)}function ps(e,t){return!e||!cs(t)?!1:(t=t.slice(2).replace(/Once$/,""),L(e,t[0].toLowerCase()+t.slice(1))||L(e,Je(t))||L(e,t))}function En(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:f,render:d,renderCache:a,props:p,data:A,setupState:C,ctx:y,inheritAttrs:M}=e,E=ss(e);let V,z;try{if(s.shapeFlag&4){const I=i||n,Q=I;V=Pe(d.call(Q,I,a,p,C,A,y)),z=l}else{const I=t;V=Pe(I.length>1?I(p,{attrs:l,slots:o,emit:f}):I(p,null)),z=t.props?l:Oo(l)}}catch(I){It.length=0,ds(I,e,1),V=Y(Ge)}let U=V;if(z&&M!==!1){const I=Object.keys(z),{shapeFlag:Q}=U;I.length&&Q&7&&(r&&I.some(Us)&&(z=Mo(z,r)),U=gt(U,z,!1,!0))}return s.dirs&&(U=gt(U,null,!1,!0),U.dirs=U.dirs?U.dirs.concat(s.dirs):s.dirs),s.transition&&on(U,s.transition),V=U,ss(E),V}const Oo=e=>{let t;for(const s in e)(s==="class"||s==="style"||cs(s))&&((t||(t={}))[s]=e[s]);return t},Mo=(e,t)=>{const s={};for(const n in e)(!Us(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Po(e,t,s){const{props:n,children:i,component:r}=e,{props:o,children:l,patchFlag:f}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?On(n,o,d):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;p<a.length;p++){const A=a[p];if(Hi(o,n,A)&&!ps(d,A))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?On(n,o,d):!0:!!o;return!1}function On(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const r=n[i];if(Hi(t,e,r)&&!ps(s,r))return!0}return!1}function Hi(e,t,s){const n=e[s],i=t[s];return s==="style"&&$(n)&&$(i)?!Js(n,i):n!==i}function Ro({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Li={},Ni=()=>Object.create(Li),$i=e=>Object.getPrototypeOf(e)===Li;function Io(e,t,s,n=!1){const i={},r=Ni();e.propsDefaults=Object.create(null),Vi(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);s?e.props=n?i:zr(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Fo(e,t,s,n){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=H(i),[f]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p<a.length;p++){let A=a[p];if(ps(e.emitsOptions,A))continue;const C=t[A];if(f)if(L(r,A))C!==r[A]&&(r[A]=C,d=!0);else{const y=be(A);i[y]=Ls(f,l,y,C,e,!1)}else C!==r[A]&&(r[A]=C,d=!0)}}}else{Vi(e,t,i,r)&&(d=!0);let a;for(const p in l)(!t||!L(t,p)&&((a=Je(p))===p||!L(t,a)))&&(f?s&&(s[p]!==void 0||s[a]!==void 0)&&(i[p]=Ls(f,l,p,void 0,e,!0)):delete i[p]);if(r!==l)for(const p in r)(!t||!L(t,p))&&(delete r[p],d=!0)}d&&He(e.attrs,"set","")}function Vi(e,t,s,n){const[i,r]=e.propsOptions;let o=!1,l;if(t)for(let f in t){if(At(f))continue;const d=t[f];let a;i&&L(i,a=be(f))?!r||!r.includes(a)?s[a]=d:(l||(l={}))[a]=d:ps(e.emitsOptions,f)||(!(f in n)||d!==n[f])&&(n[f]=d,o=!0)}if(r){const f=H(s),d=l||K;for(let a=0;a<r.length;a++){const p=r[a];s[p]=Ls(i,f,p,d[p],e,!L(d,p))}}return o}function Ls(e,t,s,n,i,r){const o=e[s];if(o!=null){const l=L(o,"default");if(l&&n===void 0){const f=o.default;if(o.type!==Function&&!o.skipFactory&&j(f)){const{propsDefaults:d}=i;if(s in d)n=d[s];else{const a=Nt(i);n=d[s]=f.call(null,t),a()}}else n=f;i.ce&&i.ce._setProp(s,n)}o[0]&&(r&&!l?n=!1:o[1]&&(n===""||n===Je(s))&&(n=!0))}return n}const jo=new WeakMap;function Ki(e,t,s=!1){const n=s?jo:t.propsCache,i=n.get(e);if(i)return i;const r=e.props,o={},l=[];let f=!1;if(!j(e)){const a=p=>{f=!0;const[A,C]=Ki(p,t,!0);ee(o,A),C&&l.push(...C)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!r&&!f)return $(e)&&n.set(e,ft),ft;if(R(r))for(let a=0;a<r.length;a++){const p=be(r[a]);Mn(p)&&(o[p]=K)}else if(r)for(const a in r){const p=be(a);if(Mn(p)){const A=r[a],C=o[p]=R(A)||j(A)?{type:A}:ee({},A),y=C.type;let M=!1,E=!0;if(R(y))for(let V=0;V<y.length;++V){const z=y[V],U=j(z)&&z.name;if(U==="Boolean"){M=!0;break}else U==="String"&&(E=!1)}else M=j(y)&&y.name==="Boolean";C[0]=M,C[1]=E,(M||L(C,"default"))&&l.push(p)}}const d=[o,l];return $(e)&&n.set(e,d),d}function Mn(e){return e[0]!=="$"&&!At(e)}const ln=e=>e==="_"||e==="_ctx"||e==="$stable",cn=e=>R(e)?e.map(Pe):[Pe(e)],zo=(e,t,s)=>{if(t._n)return t;const n=Gr((...i)=>cn(t(...i)),s);return n._c=!1,n},Ui=(e,t,s)=>{const n=e._ctx;for(const i in e){if(ln(i))continue;const r=e[i];if(j(r))t[i]=zo(i,r,n);else if(r!=null){const o=cn(r);t[i]=()=>o}}},Bi=(e,t)=>{const s=cn(t);e.slots.default=()=>s},Wi=(e,t,s)=>{for(const n in t)(s||!ln(n))&&(e[n]=t[n])},ko=(e,t,s)=>{const n=e.slots=Ni();if(e.vnode.shapeFlag&32){const i=t._;i?(Wi(n,t,s),s&&ni(n,"_",i,!0)):Ui(t,n)}else t&&Bi(e,t)},Do=(e,t,s)=>{const{vnode:n,slots:i}=e;let r=!0,o=K;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:Wi(i,t,s):(r=!t.$stable,Ui(t,i)),o=t}else t&&(Bi(e,t),o={default:1});if(r)for(const l in i)!ln(l)&&o[l]==null&&delete i[l]},ue=Vo;function Ho(e){return Lo(e)}function Lo(e,t){const s=us();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:l,createComment:f,setText:d,setElementText:a,parentNode:p,nextSibling:A,setScopeId:C=Ie,insertStaticContent:y}=e,M=(c,u,h,b=null,g=null,m=null,w=void 0,v=null,x=!!u.dynamicChildren)=>{if(c===u)return;c&&!wt(c,u)&&(b=Bt(c),Se(c,g,m,!0),c=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:_,ref:P,shapeFlag:S}=u;switch(_){case gs:E(c,u,h,b);break;case Ge:V(c,u,h,b);break;case Es:c==null&&z(u,h,b,w);break;case de:Vt(c,u,h,b,g,m,w,v,x);break;default:S&1?Q(c,u,h,b,g,m,w,v,x):S&6?Kt(c,u,h,b,g,m,w,v,x):(S&64||S&128)&&_.process(c,u,h,b,g,m,w,v,x,bt)}P!=null&&g?Mt(P,c&&c.ref,m,u||c,!u):P==null&&c&&c.ref!=null&&Mt(c.ref,null,m,c,!0)},E=(c,u,h,b)=>{if(c==null)n(u.el=l(u.children),h,b);else{const g=u.el=c.el;u.children!==c.children&&d(g,u.children)}},V=(c,u,h,b)=>{c==null?n(u.el=f(u.children||""),h,b):u.el=c.el},z=(c,u,h,b)=>{[c.el,c.anchor]=y(c.children,u,h,b,c.el,c.anchor)},U=({el:c,anchor:u},h,b)=>{let g;for(;c&&c!==u;)g=A(c),n(c,h,b),c=g;n(u,h,b)},I=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=A(c),i(c),c=h;i(u)},Q=(c,u,h,b,g,m,w,v,x)=>{if(u.type==="svg"?w="svg":u.type==="math"&&(w="mathml"),c==null)Ue(u,h,b,g,m,w,v,x);else{const _=c.el&&c.el._isVueCE?c.el:null;try{_&&_._beginPatch(),$t(c,u,g,m,w,v,x)}finally{_&&_._endPatch()}}},Ue=(c,u,h,b,g,m,w,v)=>{let x,_;const{props:P,shapeFlag:S,transition:O,dirs:F}=c;if(x=c.el=o(c.type,m,P&&P.is,P),S&8?a(x,c.children):S&16&&Be(c.children,x,null,b,g,As(c,m),w,v),F&&Qe(c,null,b,"created"),we(x,c,c.scopeId,w,b),P){for(const W in P)W!=="value"&&!At(W)&&r(x,W,null,P[W],m,b);"value"in P&&r(x,"value",null,P.value,m),(_=P.onVnodeBeforeMount)&&Ee(_,b,c)}F&&Qe(c,null,b,"beforeMount");const D=No(g,O);D&&O.beforeEnter(x),n(x,u,h),((_=P&&P.onVnodeMounted)||D||F)&&ue(()=>{_&&Ee(_,b,c),D&&O.enter(x),F&&Qe(c,null,b,"mounted")},g)},we=(c,u,h,b,g)=>{if(h&&C(c,h),b)for(let m=0;m<b.length;m++)C(c,b[m]);if(g){let m=g.subTree;if(u===m||Yi(m.type)&&(m.ssContent===u||m.ssFallback===u)){const w=g.vnode;we(c,w,w.scopeId,w.slotScopeIds,g.parent)}}},Be=(c,u,h,b,g,m,w,v,x=0)=>{for(let _=x;_<c.length;_++){const P=c[_]=v?De(c[_]):Pe(c[_]);M(null,P,u,h,b,g,m,w,v)}},$t=(c,u,h,b,g,m,w)=>{const v=u.el=c.el;let{patchFlag:x,dynamicChildren:_,dirs:P}=u;x|=c.patchFlag&16;const S=c.props||K,O=u.props||K;let F;if(h&&et(h,!1),(F=O.onVnodeBeforeUpdate)&&Ee(F,h,u,c),P&&Qe(u,c,h,"beforeUpdate"),h&&et(h,!0),(S.innerHTML&&O.innerHTML==null||S.textContent&&O.textContent==null)&&a(v,""),_?Ye(c.dynamicChildren,_,v,h,b,As(u,g),m):w||B(c,u,v,null,h,b,As(u,g),m,!1),x>0){if(x&16)mt(v,S,O,h,g);else if(x&2&&S.class!==O.class&&r(v,"class",null,O.class,g),x&4&&r(v,"style",S.style,O.style,g),x&8){const D=u.dynamicProps;for(let W=0;W<D.length;W++){const N=D[W],le=S[N],ce=O[N];(ce!==le||N==="value")&&r(v,N,le,ce,g,h)}}x&1&&c.children!==u.children&&a(v,u.children)}else!w&&_==null&&mt(v,S,O,h,g);((F=O.onVnodeUpdated)||P)&&ue(()=>{F&&Ee(F,h,u,c),P&&Qe(u,c,h,"updated")},b)},Ye=(c,u,h,b,g,m,w)=>{for(let v=0;v<u.length;v++){const x=c[v],_=u[v],P=x.el&&(x.type===de||!wt(x,_)||x.shapeFlag&198)?p(x.el):h;M(x,_,P,null,b,g,m,w,!0)}},mt=(c,u,h,b,g)=>{if(u!==h){if(u!==K)for(const m in u)!At(m)&&!(m in h)&&r(c,m,u[m],null,g,b);for(const m in h){if(At(m))continue;const w=h[m],v=u[m];w!==v&&m!=="value"&&r(c,m,v,w,g,b)}"value"in h&&r(c,"value",u.value,h.value,g)}},Vt=(c,u,h,b,g,m,w,v,x)=>{const _=u.el=c?c.el:l(""),P=u.anchor=c?c.anchor:l("");let{patchFlag:S,dynamicChildren:O,slotScopeIds:F}=u;F&&(v=v?v.concat(F):F),c==null?(n(_,h,b),n(P,h,b),Be(u.children||[],h,P,g,m,w,v,x)):S>0&&S&64&&O&&c.dynamicChildren&&c.dynamicChildren.length===O.length?(Ye(c.dynamicChildren,O,h,g,m,w,v),(u.key!=null||g&&u===g.subTree)&&qi(c,u,!0)):B(c,u,h,P,g,m,w,v,x)},Kt=(c,u,h,b,g,m,w,v,x)=>{u.slotScopeIds=v,c==null?u.shapeFlag&512?g.ctx.activate(u,h,b,w,x):_s(u,h,b,g,m,w,x):un(c,u,x)},_s=(c,u,h,b,g,m,w)=>{const v=c.component=Jo(c,b,g);if(Pi(c)&&(v.ctx.renderer=bt),Zo(v,!1,w),v.asyncDep){if(g&&g.registerDep(v,ne,w),!c.el){const x=v.subTree=Y(Ge);V(null,x,u,h),c.placeholder=x.el}}else ne(v,c,u,h,g,m,w)},un=(c,u,h)=>{const b=u.component=c.component;if(Po(c,u,h))if(b.asyncDep&&!b.asyncResolved){J(b,u,h);return}else b.next=u,b.update();else u.el=c.el,b.vnode=u},ne=(c,u,h,b,g,m,w)=>{const v=()=>{if(c.isMounted){let{next:S,bu:O,u:F,parent:D,vnode:W}=c;{const Te=Gi(c);if(Te){S&&(S.el=W.el,J(c,S,w)),Te.asyncDep.then(()=>{ue(()=>{c.isUnmounted||_()},g)});return}}let N=S,le;et(c,!1),S?(S.el=W.el,J(c,S,w)):S=W,O&&Yt(O),(le=S.props&&S.props.onVnodeBeforeUpdate)&&Ee(le,D,S,W),et(c,!0);const ce=En(c),Ce=c.subTree;c.subTree=ce,M(Ce,ce,p(Ce.el),Bt(Ce),c,g,m),S.el=ce.el,N===null&&Ro(c,ce.el),F&&ue(F,g),(le=S.props&&S.props.onVnodeUpdated)&&ue(()=>Ee(le,D,S,W),g)}else{let S;const{el:O,props:F}=u,{bm:D,m:W,parent:N,root:le,type:ce}=c,Ce=Pt(u);et(c,!1),D&&Yt(D),!Ce&&(S=F&&F.onVnodeBeforeMount)&&Ee(S,N,u),et(c,!0);{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(ce,c.parent?c.parent.type:void 0);const Te=c.subTree=En(c);M(null,Te,h,b,c,g,m),u.el=Te.el}if(W&&ue(W,g),!Ce&&(S=F&&F.onVnodeMounted)){const Te=u;ue(()=>Ee(S,N,Te),g)}(u.shapeFlag&256||N&&Pt(N.vnode)&&N.vnode.shapeFlag&256)&&c.a&&ue(c.a,g),c.isMounted=!0,u=h=b=null}};c.scope.on();const x=c.effect=new li(v);c.scope.off();const _=c.update=x.run.bind(x),P=c.job=x.runIfDirty.bind(x);P.i=c,P.id=c.uid,x.scheduler=()=>rn(P),et(c,!0),_()},J=(c,u,h)=>{u.component=c;const b=c.vnode.props;c.vnode=u,c.next=null,Fo(c,u.props,b,h),Do(c,u.children,h),Ne(),xn(c),$e()},B=(c,u,h,b,g,m,w,v,x=!1)=>{const _=c&&c.children,P=c?c.shapeFlag:0,S=u.children,{patchFlag:O,shapeFlag:F}=u;if(O>0){if(O&128){Ut(_,S,h,b,g,m,w,v,x);return}else if(O&256){Ze(_,S,h,b,g,m,w,v,x);return}}F&8?(P&16&&_t(_,g,m),S!==_&&a(h,S)):P&16?F&16?Ut(_,S,h,b,g,m,w,v,x):_t(_,g,m,!0):(P&8&&a(h,""),F&16&&Be(S,h,b,g,m,w,v,x))},Ze=(c,u,h,b,g,m,w,v,x)=>{c=c||ft,u=u||ft;const _=c.length,P=u.length,S=Math.min(_,P);let O;for(O=0;O<S;O++){const F=u[O]=x?De(u[O]):Pe(u[O]);M(c[O],F,h,null,g,m,w,v,x)}_>P?_t(c,g,m,!0,!1,S):Be(u,h,b,g,m,w,v,x,S)},Ut=(c,u,h,b,g,m,w,v,x)=>{let _=0;const P=u.length;let S=c.length-1,O=P-1;for(;_<=S&&_<=O;){const F=c[_],D=u[_]=x?De(u[_]):Pe(u[_]);if(wt(F,D))M(F,D,h,null,g,m,w,v,x);else break;_++}for(;_<=S&&_<=O;){const F=c[S],D=u[O]=x?De(u[O]):Pe(u[O]);if(wt(F,D))M(F,D,h,null,g,m,w,v,x);else break;S--,O--}if(_>S){if(_<=O){const F=O+1,D=F<P?u[F].el:b;for(;_<=O;)M(null,u[_]=x?De(u[_]):Pe(u[_]),h,D,g,m,w,v,x),_++}}else if(_>O)for(;_<=S;)Se(c[_],g,m,!0),_++;else{const F=_,D=_,W=new Map;for(_=D;_<=O;_++){const he=u[_]=x?De(u[_]):Pe(u[_]);he.key!=null&&W.set(he.key,_)}let N,le=0;const ce=O-D+1;let Ce=!1,Te=0;const yt=new Array(ce);for(_=0;_<ce;_++)yt[_]=0;for(_=F;_<=S;_++){const he=c[_];if(le>=ce){Se(he,g,m,!0);continue}let Ae;if(he.key!=null)Ae=W.get(he.key);else for(N=D;N<=O;N++)if(yt[N-D]===0&&wt(he,u[N])){Ae=N;break}Ae===void 0?Se(he,g,m,!0):(yt[Ae-D]=_+1,Ae>=Te?Te=Ae:Ce=!0,M(he,u[Ae],h,null,g,m,w,v,x),le++)}const hn=Ce?$o(yt):ft;for(N=hn.length-1,_=ce-1;_>=0;_--){const he=D+_,Ae=u[he],pn=u[he+1],gn=he+1<P?pn.el||Ji(pn):b;yt[_]===0?M(null,Ae,h,gn,g,m,w,v,x):Ce&&(N<0||_!==hn[N]?Xe(Ae,h,gn,2):N--)}}},Xe=(c,u,h,b,g=null)=>{const{el:m,type:w,transition:v,children:x,shapeFlag:_}=c;if(_&6){Xe(c.component.subTree,u,h,b);return}if(_&128){c.suspense.move(u,h,b);return}if(_&64){w.move(c,u,h,bt);return}if(w===de){n(m,u,h);for(let S=0;S<x.length;S++)Xe(x[S],u,h,b);n(c.anchor,u,h);return}if(w===Es){U(c,u,h);return}if(b!==2&&_&1&&v)if(b===0)v.beforeEnter(m),n(m,u,h),ue(()=>v.enter(m),g);else{const{leave:S,delayLeave:O,afterLeave:F}=v,D=()=>{c.ctx.isUnmounted?i(m):n(m,u,h)},W=()=>{m._isLeaving&&m[so](!0),S(m,()=>{D(),F&&F()})};O?O(m,D,W):W()}else n(m,u,h)},Se=(c,u,h,b=!1,g=!1)=>{const{type:m,props:w,ref:v,children:x,dynamicChildren:_,shapeFlag:P,patchFlag:S,dirs:O,cacheIndex:F}=c;if(S===-2&&(g=!1),v!=null&&(Ne(),Mt(v,null,h,c,!0),$e()),F!=null&&(u.renderCache[F]=void 0),P&256){u.ctx.deactivate(c);return}const D=P&1&&O,W=!Pt(c);let N;if(W&&(N=w&&w.onVnodeBeforeUnmount)&&Ee(N,u,c),P&6)nr(c.component,h,b);else{if(P&128){c.suspense.unmount(h,b);return}D&&Qe(c,null,u,"beforeUnmount"),P&64?c.type.remove(c,u,h,bt,b):_&&!_.hasOnce&&(m!==de||S>0&&S&64)?_t(_,u,h,!1,!0):(m===de&&S&384||!g&&P&16)&&_t(x,u,h),b&&an(c)}(W&&(N=w&&w.onVnodeUnmounted)||D)&&ue(()=>{N&&Ee(N,u,c),D&&Qe(c,null,u,"unmounted")},h)},an=c=>{const{type:u,el:h,anchor:b,transition:g}=c;if(u===de){sr(h,b);return}if(u===Es){I(c);return}const m=()=>{i(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:w,delayLeave:v}=g,x=()=>w(h,m);v?v(c.el,m,x):x()}else m()},sr=(c,u)=>{let h;for(;c!==u;)h=A(c),i(c),c=h;i(u)},nr=(c,u,h)=>{const{bum:b,scope:g,job:m,subTree:w,um:v,m:x,a:_}=c;Pn(x),Pn(_),b&&Yt(b),g.stop(),m&&(m.flags|=8,Se(w,c,u,h)),v&&ue(v,u),ue(()=>{c.isUnmounted=!0},u)},_t=(c,u,h,b=!1,g=!1,m=0)=>{for(let w=m;w<c.length;w++)Se(c[w],u,h,b,g)},Bt=c=>{if(c.shapeFlag&6)return Bt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=A(c.anchor||c.el),h=u&&u[eo];return h?A(h):u};let bs=!1;const dn=(c,u,h)=>{let b;c==null?u._vnode&&(Se(u._vnode,null,null,!0),b=u._vnode.component):M(u._vnode||null,c,u,null,null,null,h),u._vnode=c,bs||(bs=!0,xn(b),Ci(),bs=!1)},bt={p:M,um:Se,m:Xe,r:an,mt:_s,mc:Be,pc:B,pbc:Ye,n:Bt,o:e};return{render:dn,hydrate:void 0,createApp:Co(dn)}}function As({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function et({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function No(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qi(e,t,s=!1){const n=e.children,i=t.children;if(R(n)&&R(i))for(let r=0;r<n.length;r++){const o=n[r];let l=i[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[r]=De(i[r]),l.el=o.el),!s&&l.patchFlag!==-2&&qi(o,l)),l.type===gs&&(l.patchFlag===-1&&(l=i[r]=De(l)),l.el=o.el),l.type===Ge&&!l.el&&(l.el=o.el)}}function $o(e){const t=e.slice(),s=[0];let n,i,r,o,l;const f=e.length;for(n=0;n<f;n++){const d=e[n];if(d!==0){if(i=s[s.length-1],e[i]<d){t[n]=i,s.push(n);continue}for(r=0,o=s.length-1;r<o;)l=r+o>>1,e[s[l]]<d?r=l+1:o=l;d<e[s[r]]&&(r>0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=t[o];return s}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function Pn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ji(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Ji(t.subTree):null}const Yi=e=>e.__isSuspense;function Vo(e,t){t&&t.pendingBranch?R(e)?t.effects.push(...e):t.effects.push(e):qr(e)}const de=Symbol.for("v-fgt"),gs=Symbol.for("v-txt"),Ge=Symbol.for("v-cmt"),Es=Symbol.for("v-stc"),It=[];let pe=null;function k(e=!1){It.push(pe=e?null:[])}function Ko(){It.pop(),pe=It[It.length-1]||null}let kt=1;function rs(e,t=!1){kt+=e,e<0&&pe&&t&&(pe.hasOnce=!0)}function Zi(e){return e.dynamicChildren=kt>0?pe||ft:null,Ko(),kt>0&&pe&&pe.push(e),e}function G(e,t,s,n,i,r){return Zi(T(e,t,s,n,i,r,!0))}function _e(e,t,s,n,i){return Zi(Y(e,t,s,n,i,!0))}function os(e){return e?e.__v_isVNode===!0:!1}function wt(e,t){return e.type===t.type&&e.key===t.key}const Xi=({key:e})=>e??null,Xt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?X(e)||se(e)||j(e)?{i:ge,r:e,k:t,f:!!s}:e:null);function T(e,t=null,s=null,n=0,i=null,r=e===de?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Xi(t),ref:t&&Xt(t),scopeId:Ai,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:ge};return l?(fn(f,s),r&128&&e.normalize(f)):s&&(f.shapeFlag|=X(s)?8:16),kt>0&&!o&&pe&&(f.patchFlag>0||r&6)&&f.patchFlag!==32&&pe.push(f),f}const Y=Uo;function Uo(e,t=null,s=null,n=0,i=null,r=!1){if((!e||e===mo)&&(e=Ge),os(e)){const l=gt(e,t,!0);return s&&fn(l,s),kt>0&&!r&&pe&&(l.shapeFlag&6?pe[pe.indexOf(e)]=l:pe.push(l)),l.patchFlag=-2,l}if(tl(e)&&(e=e.__vccOpts),t){t=Bo(t);let{class:l,style:f}=t;l&&!X(l)&&(t.class=at(l)),$(f)&&(nn(f)&&!R(f)&&(f=ee({},f)),t.style=Gs(f))}const o=X(e)?1:Yi(e)?128:to(e)?64:$(e)?4:j(e)?2:0;return T(e,t,s,n,i,o,r,!0)}function Bo(e){return e?nn(e)||$i(e)?ee({},e):e:null}function gt(e,t,s=!1,n=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:f}=e,d=t?Wo(i||{},t):i,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Xi(d),ref:t&&t.ref?s&&r?R(r)?r.concat(Xt(t)):[r,Xt(t)]:Xt(t):r,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!==de?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&>(e.ssContent),ssFallback:e.ssFallback&>(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&on(a,f.clone(a)),a}function lt(e=" ",t=0){return Y(gs,null,e,t)}function St(e="",t=!1){return t?(k(),_e(Ge,null,e)):Y(Ge,null,e)}function Pe(e){return e==null||typeof e=="boolean"?Y(Ge):R(e)?Y(de,null,e.slice()):os(e)?De(e):Y(gs,null,String(e))}function De(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:gt(e)}function fn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(R(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),fn(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!$i(t)?t._ctx=ge:i===3&&ge&&(ge.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else j(t)?(t={default:t,_ctx:ge},s=32):(t=String(t),n&64?(s=16,t=[lt(t)]):s=8);e.children=t,e.shapeFlag|=s}function Wo(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=at([t.class,n.class]));else if(i==="style")t.style=Gs([t.style,n.style]);else if(cs(i)){const r=t[i],o=n[i];o&&r!==o&&!(R(r)&&r.includes(o))&&(t[i]=r?[].concat(r,o):o)}else i!==""&&(t[i]=n[i])}return t}function Ee(e,t,s,n=null){je(e,t,7,[s,n])}const qo=ki();let Go=0;function Jo(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||qo,r={uid:Go++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new gr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ki(n,i),emitsOptions:Di(n,i),emit:null,emitted:null,propsDefaults:K,inheritAttrs:n.inheritAttrs,ctx:K,data:K,props:K,attrs:K,slots:K,refs:K,setupState:K,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Ao.bind(null,r),e.ce&&e.ce(r),r}let oe=null;const Yo=()=>oe||ge;let ls,Ns;{const e=us(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};ls=t("__VUE_INSTANCE_SETTERS__",s=>oe=s),Ns=t("__VUE_SSR_SETTERS__",s=>Dt=s)}const Nt=e=>{const t=oe;return ls(e),e.scope.on(),()=>{e.scope.off(),ls(t)}},Rn=()=>{oe&&oe.scope.off(),ls(null)};function Qi(e){return e.vnode.shapeFlag&4}let Dt=!1;function Zo(e,t=!1,s=!1){t&&Ns(t);const{props:n,children:i}=e.vnode,r=Qi(e);Io(e,n,r,t),ko(e,i,s||t);const o=r?Xo(e,t):void 0;return t&&Ns(!1),o}function Xo(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_o);const{setup:n}=s;if(n){Ne();const i=e.setupContext=n.length>1?el(e):null,r=Nt(e),o=Lt(n,e,0,[e.props,i]),l=Qn(o);if($e(),r(),(l||e.sp)&&!Pt(e)&&Mi(e),l){if(o.then(Rn,Rn),t)return o.then(f=>{In(e,f)}).catch(f=>{ds(f,e,0)});e.asyncDep=o}else In(e,o)}else er(e)}function In(e,t,s){j(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=vi(t)),er(e)}function er(e,t,s){const n=e.type;e.render||(e.render=n.render||Ie);{const i=Nt(e);Ne();try{bo(e)}finally{$e(),i()}}}const Qo={get(e,t){return te(e,"get",""),e[t]}};function el(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Qo),slots:e.slots,emit:e.emit,expose:t}}function ms(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vi(kr(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Rt)return Rt[s](e)},has(t,s){return s in t||s in Rt}})):e.proxy}function tl(e){return j(e)&&"__vccOpts"in e}const sl=(e,t)=>$r(e,t,Dt);function $s(e,t,s){try{rs(-1);const n=arguments.length;return n===2?$(t)&&!R(t)?os(t)?Y(e,null,[t]):Y(e,t):Y(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&os(s)&&(s=[s]),Y(e,t,s))}finally{rs(1)}}const nl="3.5.30";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.30
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let Vs;const Fn=typeof window<"u"&&window.trustedTypes;if(Fn)try{Vs=Fn.createPolicy("vue",{createHTML:e=>e})}catch{}const tr=Vs?e=>Vs.createHTML(e):e=>e,il="http://www.w3.org/2000/svg",rl="http://www.w3.org/1998/Math/MathML",ke=typeof document<"u"?document:null,jn=ke&&ke.createElement("template"),ol={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?ke.createElementNS(il,e):t==="mathml"?ke.createElementNS(rl,e):s?ke.createElement(e,{is:s}):ke.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>ke.createTextNode(e),createComment:e=>ke.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ke.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{jn.innerHTML=tr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=jn.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},ll=Symbol("_vtc");function cl(e,t,s){const n=e[ll];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const zn=Symbol("_vod"),fl=Symbol("_vsh"),ul=Symbol(""),al=/(?:^|;)\s*display\s*:/;function dl(e,t,s){const n=e.style,i=X(s);let r=!1;if(s&&!i){if(t)if(X(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Qt(n,l,"")}else for(const o in t)s[o]==null&&Qt(n,o,"");for(const o in s)o==="display"&&(r=!0),Qt(n,o,s[o])}else if(i){if(t!==s){const o=n[ul];o&&(s+=";"+o),n.cssText=s,r=al.test(s)}}else t&&e.removeAttribute("style");zn in e&&(e[zn]=r?n.display:"",e[fl]&&(n.display="none"))}const kn=/\s*!important$/;function Qt(e,t,s){if(R(s))s.forEach(n=>Qt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=hl(e,t);kn.test(s)?e.setProperty(Je(n),s.replace(kn,""),"important"):e[n]=s}}const Dn=["Webkit","Moz","ms"],Os={};function hl(e,t){const s=Os[t];if(s)return s;let n=be(t);if(n!=="filter"&&n in e)return Os[t]=n;n=si(n);for(let i=0;i<Dn.length;i++){const r=Dn[i]+n;if(r in e)return Os[t]=r}return t}const Hn="http://www.w3.org/1999/xlink";function Ln(e,t,s,n,i,r=hr(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Hn,t.slice(6,t.length)):e.setAttributeNS(Hn,t,s):s==null||r&&!ii(s)?e.removeAttribute(t):e.setAttribute(t,r?"":Fe(s)?String(s):s)}function Nn(e,t,s,n,i){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?tr(s):s);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,f=s==null?e.type==="checkbox"?"on":"":String(s);(l!==f||!("_value"in e))&&(e.value=f),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=ii(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(i||t)}function ct(e,t,s,n){e.addEventListener(t,s,n)}function pl(e,t,s,n){e.removeEventListener(t,s,n)}const $n=Symbol("_vei");function gl(e,t,s,n,i=null){const r=e[$n]||(e[$n]={}),o=r[t];if(n&&o)o.value=n;else{const[l,f]=ml(t);if(n){const d=r[t]=yl(n,i);ct(e,l,d,f)}else o&&(pl(e,l,o,f),r[t]=void 0)}}const Vn=/(?:Once|Passive|Capture)$/;function ml(e){let t;if(Vn.test(e)){t={};let n;for(;n=e.match(Vn);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Je(e.slice(2)),t]}let Ms=0;const _l=Promise.resolve(),bl=()=>Ms||(_l.then(()=>Ms=0),Ms=Date.now());function yl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;je(xl(n,s.value),t,5,[n])};return s.value=e,s.attached=bl(),s}function xl(e,t){if(R(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Kn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,vl=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?cl(e,n,o):t==="style"?dl(e,s,n):cs(t)?Us(t)||gl(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wl(e,t,n,o))?(Nn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ln(e,t,n,o,r,t!=="value")):e._isVueCE&&(Sl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!X(n)))?Nn(e,be(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Ln(e,t,n,o))};function wl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kn(t)&&j(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Kn(t)&&X(s)?!1:t in e}function Sl(e,t){const s=e._def.props;if(!s)return!1;const n=be(t);return Array.isArray(s)?s.some(i=>be(i)===n):Object.keys(s).some(i=>be(i)===n)}const Un=e=>{const t=e.props["onUpdate:modelValue"]||!1;return R(t)?s=>Yt(t,s):t};function Cl(e){e.target.composing=!0}function Bn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ps=Symbol("_assign");function Wn(e,t,s){return t&&(e=e.trim()),s&&(e=qs(e)),e}const Tl={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[Ps]=Un(i);const r=n||i.props&&i.props.type==="number";ct(e,t?"change":"input",o=>{o.target.composing||e[Ps](Wn(e.value,s,r))}),(s||r)&&ct(e,"change",()=>{e.value=Wn(e.value,s,r)}),t||(ct(e,"compositionstart",Cl),ct(e,"compositionend",Bn),ct(e,"change",Bn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:r}},o){if(e[Ps]=Un(o),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?qs(e.value):e.value,f=t??"";l!==f&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===f)||(e.value=f))}},Al={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},El=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=(i=>{if(!("key"in i))return;const r=Je(i.key);if(t.some(o=>o===r||Al[o]===r))return e(i)}))},Ol=ee({patchProp:vl},ol);let qn;function Ml(){return qn||(qn=Ho(Ol))}const Pl=((...e)=>{const t=Ml().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Il(n);if(!i)return;const r=t._component;!j(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Rl(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Rl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Il(e){return X(e)?document.querySelector(e):e}/**
|
|
18
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
19
|
+
*
|
|
20
|
+
* This source code is licensed under the ISC license.
|
|
21
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
+
*/const Fl=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};/**
|
|
23
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
24
|
+
*
|
|
25
|
+
* This source code is licensed under the ISC license.
|
|
26
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
+
*/const Gn=e=>e==="";/**
|
|
28
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
29
|
+
*
|
|
30
|
+
* This source code is licensed under the ISC license.
|
|
31
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
+
*/const jl=(...e)=>e.filter((t,s,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===s).join(" ").trim();/**
|
|
33
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
34
|
+
*
|
|
35
|
+
* This source code is licensed under the ISC license.
|
|
36
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37
|
+
*/const Jn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
|
|
38
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the ISC license.
|
|
41
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
+
*/const zl=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,s,n)=>n?n.toUpperCase():s.toLowerCase());/**
|
|
43
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
44
|
+
*
|
|
45
|
+
* This source code is licensed under the ISC license.
|
|
46
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
47
|
+
*/const kl=e=>{const t=zl(e);return t.charAt(0).toUpperCase()+t.slice(1)};/**
|
|
48
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
49
|
+
*
|
|
50
|
+
* This source code is licensed under the ISC license.
|
|
51
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
52
|
+
*/var Ct={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/**
|
|
53
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
54
|
+
*
|
|
55
|
+
* This source code is licensed under the ISC license.
|
|
56
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
+
*/const Dl=({name:e,iconNode:t,absoluteStrokeWidth:s,"absolute-stroke-width":n,strokeWidth:i,"stroke-width":r,size:o=Ct.width,color:l=Ct.stroke,...f},{slots:d})=>$s("svg",{...Ct,...f,width:o,height:o,stroke:l,"stroke-width":Gn(s)||Gn(n)||s===!0||n===!0?Number(i||r||Ct["stroke-width"])*24/Number(o):i||r||Ct["stroke-width"],class:jl("lucide",f.class,...e?[`lucide-${Jn(kl(e))}-icon`,`lucide-${Jn(e)}`]:["lucide-icon"]),...!d.default&&!Fl(f)&&{"aria-hidden":"true"}},[...t.map(a=>$s(...a)),...d.default?[d.default()]:[]]);/**
|
|
58
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
59
|
+
*
|
|
60
|
+
* This source code is licensed under the ISC license.
|
|
61
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
62
|
+
*/const ve=(e,t)=>(s,{slots:n,attrs:i})=>$s(Dl,{...i,...s,iconNode:t,name:e},n);/**
|
|
63
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
64
|
+
*
|
|
65
|
+
* This source code is licensed under the ISC license.
|
|
66
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
67
|
+
*/const Hl=ve("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
|
|
68
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
69
|
+
*
|
|
70
|
+
* This source code is licensed under the ISC license.
|
|
71
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
72
|
+
*/const Yn=ve("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
|
|
73
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
74
|
+
*
|
|
75
|
+
* This source code is licensed under the ISC license.
|
|
76
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
77
|
+
*/const Ll=ve("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/**
|
|
78
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
79
|
+
*
|
|
80
|
+
* This source code is licensed under the ISC license.
|
|
81
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
82
|
+
*/const Jt=ve("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);/**
|
|
83
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
84
|
+
*
|
|
85
|
+
* This source code is licensed under the ISC license.
|
|
86
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
87
|
+
*/const Nl=ve("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);/**
|
|
88
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
89
|
+
*
|
|
90
|
+
* This source code is licensed under the ISC license.
|
|
91
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
92
|
+
*/const $l=ve("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/**
|
|
93
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
94
|
+
*
|
|
95
|
+
* This source code is licensed under the ISC license.
|
|
96
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
97
|
+
*/const Vl=ve("git-pull-request",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]);/**
|
|
98
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
99
|
+
*
|
|
100
|
+
* This source code is licensed under the ISC license.
|
|
101
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
102
|
+
*/const Kl=ve("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]]);/**
|
|
103
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
104
|
+
*
|
|
105
|
+
* This source code is licensed under the ISC license.
|
|
106
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
107
|
+
*/const rt=ve("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
|
|
108
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
109
|
+
*
|
|
110
|
+
* This source code is licensed under the ISC license.
|
|
111
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
112
|
+
*/const Ul=ve("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);/**
|
|
113
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
114
|
+
*
|
|
115
|
+
* This source code is licensed under the ISC license.
|
|
116
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
117
|
+
*/const Bl=ve("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]),Wl={class:"min-h-screen bg-zinc-50 text-zinc-900 font-sans flex flex-col"},ql={class:"bg-white border-b border-zinc-200 px-6 py-4 flex items-center justify-between sticky top-0 z-10"},Gl={class:"flex items-center gap-3"},Jl={class:"bg-indigo-600 p-2 rounded-lg text-white"},Yl={class:"flex-1 flex overflow-hidden"},Zl={class:"w-80 bg-white border-r border-zinc-200 flex flex-col overflow-hidden"},Xl={class:"p-4 border-b border-zinc-200 bg-zinc-50/50"},Ql={class:"flex gap-2"},ec={class:"relative flex-1"},tc=["disabled"],sc={class:"mt-2 text-xs text-zinc-500 flex gap-2"},nc={class:"flex-1 overflow-y-auto p-2"},ic={key:0,class:"text-center py-10 text-zinc-400"},rc={key:1,class:"text-center py-10 text-zinc-500"},oc={key:2,class:"space-y-1"},lc=["onClick"],cc=["title"],fc={class:"flex-1 overflow-y-auto bg-zinc-50 p-6"},uc={key:0,class:"flex items-center justify-center h-full"},ac={key:1,class:"max-w-4xl mx-auto space-y-6"},dc={class:"bg-white p-6 rounded-xl border border-zinc-200 shadow-sm"},hc={class:"flex justify-between items-start mb-4"},pc={class:"text-2xl font-bold text-zinc-900 flex items-center gap-2"},gc={class:"text-sm text-zinc-500 font-mono mt-1"},mc={class:"flex gap-2"},_c=["disabled"],bc=["disabled"],yc=["disabled"],xc={class:"flex flex-wrap gap-4 mt-6"},vc={class:"flex items-center gap-2 text-sm bg-zinc-50 px-3 py-1.5 rounded-md border border-zinc-200"},wc={class:"font-medium"},Sc={key:0,class:"flex items-center gap-2 text-sm bg-zinc-50 px-3 py-1.5 rounded-md border border-zinc-200"},Cc={class:"font-medium"},Tc={class:"font-medium"},Ac={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Ec={class:"lg:col-span-1 space-y-6"},Oc={class:"bg-white p-5 rounded-xl border border-zinc-200 shadow-sm"},Mc={class:"text-sm font-bold uppercase tracking-wider text-zinc-500 mb-4 flex items-center gap-2"},Pc={key:0,class:"text-sm text-zinc-500 italic"},Rc={key:1,class:"space-y-4"},Ic={key:0},Fc={class:"space-y-1"},jc=["title"],zc={key:1},kc={class:"space-y-1"},Dc=["title"],Hc={key:2},Lc={class:"space-y-1"},Nc=["title"],$c={class:"lg:col-span-2"},Vc={class:"bg-white rounded-xl border border-zinc-200 shadow-sm overflow-hidden"},Kc={class:"p-5 border-b border-zinc-200 bg-zinc-50/50"},Uc={class:"text-sm font-bold uppercase tracking-wider text-zinc-500 flex items-center gap-2"},Bc={class:"divide-y divide-zinc-100"},Wc={class:"flex justify-between items-start mb-1"},qc={class:"text-sm font-medium text-zinc-900"},Gc={class:"text-xs font-mono text-zinc-500 bg-zinc-100 px-2 py-0.5 rounded"},Jc={class:"flex items-center gap-2 text-xs text-zinc-500"},Yc={class:"font-medium"},Zc={key:0,class:"p-8 text-center text-zinc-500 text-sm italic"},Xc={key:2,class:"flex flex-col items-center justify-center h-full text-zinc-400"},Qc=no({__name:"App",setup(e){const t=We(""),s=We(""),n=We(""),i=We(!1),r=We([]),o=We(null),l=We(!1),f=We("");Ii(async()=>{try{const y=await(await fetch("/api/homedir")).json();t.value=y.homedir,s.value=y.cwd,n.value=y.cwd}catch(C){console.error("Failed to fetch homedir",C)}});const d=async()=>{if(n.value){i.value=!0,r.value=[],o.value=null;try{const y=await(await fetch("/api/scan",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:n.value,maxDepth:4})})).json();y.repos&&(r.value=y.repos)}catch(C){console.error("Scan failed",C)}finally{i.value=!1}}},a=async C=>{l.value=!0,o.value=null;try{const M=await(await fetch("/api/repo/info",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoPath:C})})).json();o.value=M}catch(y){console.error("Failed to load repo info",y)}finally{l.value=!1}},p=async C=>{if(o.value){f.value=C;try{const M=await(await fetch("/api/repo/action",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoPath:o.value.path,action:C})})).json();M.success?await a(o.value.path):alert("Action failed: "+M.error)}catch(y){console.error("Action failed",y)}finally{f.value=""}}},A=C=>new Date(C).toLocaleString();return(C,y)=>{var M;return k(),G("div",Wl,[T("header",ql,[T("div",Gl,[T("div",Jl,[Y(Z(Jt),{size:24})]),y[6]||(y[6]=T("div",null,[T("h1",{class:"text-xl font-bold tracking-tight"},"My Local Git"),T("p",{class:"text-xs text-zinc-500 font-medium uppercase tracking-wider"},"Repository Manager")],-1))])]),T("main",Yl,[T("aside",Zl,[T("div",Xl,[y[7]||(y[7]=T("label",{class:"block text-xs font-semibold text-zinc-500 uppercase tracking-wider mb-2"},"Scan Directory",-1)),T("div",Ql,[T("div",ec,[Y(Z(Kl),{class:"absolute left-2.5 top-2.5 text-zinc-400",size:16}),Jr(T("input",{"onUpdate:modelValue":y[0]||(y[0]=E=>n.value=E),type:"text",class:"w-full pl-9 pr-3 py-2 bg-white border border-zinc-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 transition-shadow",placeholder:"/path/to/scan",onKeyup:El(d,["enter"])},null,544),[[Tl,n.value]])]),T("button",{onClick:d,disabled:i.value,class:"bg-indigo-600 hover:bg-indigo-700 text-white p-2 rounded-md transition-colors disabled:opacity-50 flex items-center justify-center",title:"Scan"},[i.value?(k(),_e(Z(rt),{key:1,class:"animate-spin",size:18})):(k(),_e(Z(Ul),{key:0,size:18}))],8,tc)]),T("div",sc,[T("button",{onClick:y[1]||(y[1]=E=>n.value=s.value),class:"hover:text-indigo-600 underline decoration-zinc-300 underline-offset-2"},"CWD"),T("button",{onClick:y[2]||(y[2]=E=>n.value=t.value),class:"hover:text-indigo-600 underline decoration-zinc-300 underline-offset-2"},"Home")])]),T("div",nc,[r.value.length===0&&!i.value?(k(),G("div",ic,[Y(Z(Jt),{class:"mx-auto mb-3 opacity-20",size:48}),y[8]||(y[8]=T("p",{class:"text-sm"},"No repositories found.",-1)),y[9]||(y[9]=T("p",{class:"text-xs mt-1"},"Scan a directory to begin.",-1))])):i.value?(k(),G("div",rc,[Y(Z(rt),{class:"animate-spin mx-auto mb-3",size:24}),y[10]||(y[10]=T("p",{class:"text-sm animate-pulse"},"Scanning directories...",-1))])):(k(),G("ul",oc,[(k(!0),G(de,null,vt(r.value,E=>{var V,z;return k(),G("li",{key:E},[T("button",{onClick:U=>a(E),class:at(["w-full text-left px-3 py-2.5 rounded-md text-sm transition-colors flex items-center gap-3 group",((V=o.value)==null?void 0:V.path)===E?"bg-indigo-50 text-indigo-700 font-medium":"hover:bg-zinc-100 text-zinc-700"])},[Y(Z(Jt),{size:16,class:at(((z=o.value)==null?void 0:z.path)===E?"text-indigo-600":"text-zinc-400 group-hover:text-zinc-600")},null,8,["class"]),T("span",{class:"truncate flex-1",title:E},fe(E.split("/").pop()||E.split("\\").pop()),9,cc)],10,lc)])}),128))]))])]),T("section",fc,[l.value?(k(),G("div",uc,[Y(Z(rt),{class:"animate-spin text-indigo-600",size:32})])):o.value?(k(),G("div",ac,[T("div",dc,[T("div",hc,[T("div",null,[T("h2",pc,fe(o.value.name),1),T("p",gc,fe(o.value.path),1)]),T("div",mc,[T("button",{onClick:y[3]||(y[3]=E=>p("fetch")),disabled:f.value!=="",class:"flex items-center gap-2 px-3 py-1.5 bg-zinc-100 hover:bg-zinc-200 text-zinc-700 rounded-md text-sm font-medium transition-colors disabled:opacity-50"},[f.value==="fetch"?(k(),_e(Z(rt),{key:0,class:"animate-spin",size:16})):(k(),_e(Z(Ll),{key:1,size:16})),y[11]||(y[11]=lt(" Fetch ",-1))],8,_c),T("button",{onClick:y[4]||(y[4]=E=>p("pull")),disabled:f.value!=="",class:"flex items-center gap-2 px-3 py-1.5 bg-zinc-100 hover:bg-zinc-200 text-zinc-700 rounded-md text-sm font-medium transition-colors disabled:opacity-50"},[f.value==="pull"?(k(),_e(Z(rt),{key:0,class:"animate-spin",size:16})):(k(),_e(Z(Vl),{key:1,size:16})),y[12]||(y[12]=lt(" Pull ",-1))],8,bc),T("button",{onClick:y[5]||(y[5]=E=>p("push")),disabled:f.value!=="",class:"flex items-center gap-2 px-3 py-1.5 bg-indigo-600 hover:bg-indigo-700 text-white rounded-md text-sm font-medium transition-colors disabled:opacity-50"},[f.value==="push"?(k(),_e(Z(rt),{key:0,class:"animate-spin",size:16})):(k(),_e(Z(Bl),{key:1,size:16})),y[13]||(y[13]=lt(" Push ",-1))],8,yc)])]),T("div",xc,[T("div",vc,[Y(Z(Nl),{size:16,class:"text-zinc-500"}),T("span",wc,fe(o.value.status.current),1)]),o.value.status.tracking?(k(),G("div",Sc,[y[14]||(y[14]=T("span",{class:"text-zinc-500"},"Tracking:",-1)),T("span",Cc,fe(o.value.status.tracking),1)])):St("",!0),T("div",{class:at(["flex items-center gap-2 text-sm bg-zinc-50 px-3 py-1.5 rounded-md border border-zinc-200",o.value.status.isClean?"text-emerald-700 bg-emerald-50 border-emerald-200":"text-amber-700 bg-amber-50 border-amber-200"])},[o.value.status.isClean?(k(),_e(Z(Hl),{key:0,size:16})):(k(),_e(Z(Yn),{key:1,size:16})),T("span",Tc,fe(o.value.status.isClean?"Working tree clean":"Uncommitted changes"),1)],2)])]),T("div",Ac,[T("div",Ec,[T("div",Oc,[T("h3",Mc,[Y(Z(Yn),{size:16}),y[15]||(y[15]=lt(" Status ",-1))]),o.value.status.isClean?(k(),G("div",Pc," No changes to commit. ")):(k(),G("div",Rc,[o.value.status.modified.length>0?(k(),G("div",Ic,[y[16]||(y[16]=T("h4",{class:"text-xs font-semibold text-zinc-700 mb-2"},"Modified",-1)),T("ul",Fc,[(k(!0),G(de,null,vt(o.value.status.modified,E=>(k(),G("li",{key:E,class:"text-sm text-amber-600 font-mono truncate",title:E}," M "+fe(E),9,jc))),128))])])):St("",!0),o.value.status.not_added.length>0?(k(),G("div",zc,[y[17]||(y[17]=T("h4",{class:"text-xs font-semibold text-zinc-700 mb-2"},"Untracked",-1)),T("ul",kc,[(k(!0),G(de,null,vt(o.value.status.not_added,E=>(k(),G("li",{key:E,class:"text-sm text-red-500 font-mono truncate",title:E}," ? "+fe(E),9,Dc))),128))])])):St("",!0),o.value.status.created.length>0?(k(),G("div",Hc,[y[18]||(y[18]=T("h4",{class:"text-xs font-semibold text-zinc-700 mb-2"},"Added",-1)),T("ul",Lc,[(k(!0),G(de,null,vt(o.value.status.created,E=>(k(),G("li",{key:E,class:"text-sm text-emerald-600 font-mono truncate",title:E}," A "+fe(E),9,Nc))),128))])])):St("",!0)]))])]),T("div",$c,[T("div",Vc,[T("div",Kc,[T("h3",Uc,[Y(Z($l),{size:16}),y[19]||(y[19]=lt(" Recent Commits ",-1))])]),T("div",Bc,[(k(!0),G(de,null,vt(o.value.recentCommits,E=>(k(),G("div",{key:E.hash,class:"p-4 hover:bg-zinc-50 transition-colors"},[T("div",Wc,[T("p",qc,fe(E.message),1),T("span",Gc,fe(E.hash.substring(0,7)),1)]),T("div",Jc,[T("span",Yc,fe(E.author_name),1),y[20]||(y[20]=T("span",null,"•",-1)),T("span",null,fe(A(E.date)),1)])]))),128)),(M=o.value.recentCommits)!=null&&M.length?St("",!0):(k(),G("div",Zc," No commits found. "))])])])])])):(k(),G("div",Xc,[Y(Z(Jt),{size:64,class:"mb-4 opacity-20"}),y[21]||(y[21]=T("h2",{class:"text-xl font-medium text-zinc-600 mb-2"},"Select a Repository",-1)),y[22]||(y[22]=T("p",{class:"text-sm"},"Choose a repository from the sidebar to view its details.",-1))]))])])])}}});Pl(Qc).mount("#root");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-900:oklch(21% .006 285.885);--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.flex-1{flex:1}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-zinc-100>:not(:last-child)){border-color:var(--color-zinc-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-300{border-color:var(--color-zinc-300)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-white{background-color:var(--color-white)}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-50\/50{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-50\/50{background-color:color-mix(in oklab,var(--color-zinc-50) 50%,transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-900{color:var(--color-zinc-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-zinc-300{-webkit-text-decoration-color:var(--color-zinc-300);text-decoration-color:var(--color-zinc-300)}.underline-offset-2{text-underline-offset:2px}.opacity-20{opacity:.2}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:text-zinc-600:is(:where(.group):hover *){color:var(--color-zinc-600)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-zinc-50:hover{background-color:var(--color-zinc-50)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:bg-zinc-200:hover{background-color:var(--color-zinc-200)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
package/dist/index.html
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>My Google AI Studio App</title>
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-CfME_-RH.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CoHFqG7G.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
14
|
+
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// server.ts
|
|
2
|
+
import express from "express";
|
|
3
|
+
import { createServer as createViteServer } from "vite";
|
|
4
|
+
import path, { dirname } from "path";
|
|
5
|
+
import fs from "fs";
|
|
6
|
+
import os from "os";
|
|
7
|
+
import { simpleGit } from "simple-git";
|
|
8
|
+
import cors from "cors";
|
|
9
|
+
import { fileURLToPath } from "url";
|
|
10
|
+
import open from "open";
|
|
11
|
+
var __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
var __dirname = dirname(__filename);
|
|
13
|
+
var app = express();
|
|
14
|
+
var PORT = parseInt(process.env.PORT || "3000", 10);
|
|
15
|
+
app.use(cors());
|
|
16
|
+
app.use(express.json());
|
|
17
|
+
async function findGitRepos(dir, depth = 0, maxDepth = 4) {
|
|
18
|
+
if (depth > maxDepth) return [];
|
|
19
|
+
let repos = [];
|
|
20
|
+
try {
|
|
21
|
+
const entries = await fs.promises.readdir(dir, { withFileTypes: true });
|
|
22
|
+
const isGitRepo = entries.some((entry) => entry.isDirectory() && entry.name === ".git");
|
|
23
|
+
if (isGitRepo) {
|
|
24
|
+
return [dir];
|
|
25
|
+
}
|
|
26
|
+
for (const entry of entries) {
|
|
27
|
+
if (entry.isDirectory()) {
|
|
28
|
+
if (["node_modules", "dist", ".next", ".git", "build", "vendor"].includes(entry.name)) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (entry.name.startsWith(".")) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const fullPath = path.join(dir, entry.name);
|
|
35
|
+
const subRepos = await findGitRepos(fullPath, depth + 1, maxDepth);
|
|
36
|
+
repos = repos.concat(subRepos);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
} catch (err) {
|
|
40
|
+
}
|
|
41
|
+
return repos;
|
|
42
|
+
}
|
|
43
|
+
app.post("/api/scan", async (req, res) => {
|
|
44
|
+
const { directory, maxDepth = 4 } = req.body;
|
|
45
|
+
const targetDir = directory || process.cwd();
|
|
46
|
+
try {
|
|
47
|
+
const repos = await findGitRepos(targetDir, 0, maxDepth);
|
|
48
|
+
res.json({ repos });
|
|
49
|
+
} catch (error) {
|
|
50
|
+
res.status(500).json({ error: String(error) });
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
app.post("/api/repo/info", async (req, res) => {
|
|
54
|
+
const { repoPath } = req.body;
|
|
55
|
+
if (!repoPath) return res.status(400).json({ error: "repoPath is required" });
|
|
56
|
+
try {
|
|
57
|
+
const git = simpleGit(repoPath);
|
|
58
|
+
const status = await git.status();
|
|
59
|
+
const log = await git.log({ maxCount: 5 });
|
|
60
|
+
const remotes = await git.getRemotes(true);
|
|
61
|
+
res.json({
|
|
62
|
+
path: repoPath,
|
|
63
|
+
name: path.basename(repoPath),
|
|
64
|
+
status,
|
|
65
|
+
recentCommits: log.all,
|
|
66
|
+
remotes
|
|
67
|
+
});
|
|
68
|
+
} catch (error) {
|
|
69
|
+
res.status(500).json({ error: String(error) });
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
app.post("/api/repo/action", async (req, res) => {
|
|
73
|
+
const { repoPath, action, payload } = req.body;
|
|
74
|
+
if (!repoPath || !action) return res.status(400).json({ error: "repoPath and action are required" });
|
|
75
|
+
try {
|
|
76
|
+
const git = simpleGit(repoPath);
|
|
77
|
+
let result;
|
|
78
|
+
switch (action) {
|
|
79
|
+
case "fetch":
|
|
80
|
+
result = await git.fetch();
|
|
81
|
+
break;
|
|
82
|
+
case "pull":
|
|
83
|
+
result = await git.pull();
|
|
84
|
+
break;
|
|
85
|
+
case "push":
|
|
86
|
+
result = await git.push();
|
|
87
|
+
break;
|
|
88
|
+
case "commit":
|
|
89
|
+
if (!payload?.message) throw new Error("Commit message required");
|
|
90
|
+
await git.add(".");
|
|
91
|
+
result = await git.commit(payload.message);
|
|
92
|
+
break;
|
|
93
|
+
default:
|
|
94
|
+
throw new Error("Unknown action");
|
|
95
|
+
}
|
|
96
|
+
res.json({ success: true, result });
|
|
97
|
+
} catch (error) {
|
|
98
|
+
res.status(500).json({ error: String(error) });
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
app.get("/api/homedir", (req, res) => {
|
|
102
|
+
res.json({ homedir: os.homedir(), cwd: process.cwd() });
|
|
103
|
+
});
|
|
104
|
+
async function startServer() {
|
|
105
|
+
if (process.env.NODE_ENV !== "production") {
|
|
106
|
+
const vite = await createViteServer({
|
|
107
|
+
server: { middlewareMode: true },
|
|
108
|
+
appType: "spa"
|
|
109
|
+
});
|
|
110
|
+
app.use(vite.middlewares);
|
|
111
|
+
} else {
|
|
112
|
+
const distPath = path.join(__dirname, "../dist");
|
|
113
|
+
app.use(express.static(distPath));
|
|
114
|
+
app.get("*", (req, res) => {
|
|
115
|
+
res.sendFile(path.join(distPath, "index.html"));
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
app.listen(PORT, "0.0.0.0", async () => {
|
|
119
|
+
const url = `http://localhost:${PORT}`;
|
|
120
|
+
console.log(`My Local Git running on ${url}`);
|
|
121
|
+
if (process.env.NODE_ENV === "production") {
|
|
122
|
+
try {
|
|
123
|
+
await open(url);
|
|
124
|
+
} catch (e) {
|
|
125
|
+
console.log(`Please open ${url} in your browser.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
startServer();
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@casbal/my-local-git",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A local Git repository manager",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mlg": "./bin/mlg.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"dist-server",
|
|
12
|
+
"bin"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"dev": "tsx server.ts",
|
|
16
|
+
"start": "node server.ts",
|
|
17
|
+
"build:client": "vite build",
|
|
18
|
+
"build:server": "tsup",
|
|
19
|
+
"build": "npm run build:client && npm run build:server",
|
|
20
|
+
"preview": "vite preview",
|
|
21
|
+
"clean": "rm -rf dist dist-server",
|
|
22
|
+
"lint": "tsc --noEmit"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@google/genai": "^1.29.0",
|
|
26
|
+
"@tailwindcss/vite": "^4.1.14",
|
|
27
|
+
"@vitejs/plugin-react": "^5.0.4",
|
|
28
|
+
"cors": "^2.8.6",
|
|
29
|
+
"dotenv": "^17.2.3",
|
|
30
|
+
"express": "^4.21.2",
|
|
31
|
+
"lucide-react": "^0.546.0",
|
|
32
|
+
"lucide-vue-next": "^0.577.0",
|
|
33
|
+
"motion": "^12.23.24",
|
|
34
|
+
"open": "^11.0.0",
|
|
35
|
+
"react": "^19.0.0",
|
|
36
|
+
"react-dom": "^19.0.0",
|
|
37
|
+
"simple-git": "^3.33.0",
|
|
38
|
+
"vite": "^6.2.0",
|
|
39
|
+
"vue": "^3.5.30"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@types/cors": "^2.8.19",
|
|
43
|
+
"@types/express": "^4.17.21",
|
|
44
|
+
"@types/node": "^22.14.0",
|
|
45
|
+
"@vitejs/plugin-vue": "^6.0.5",
|
|
46
|
+
"autoprefixer": "^10.4.21",
|
|
47
|
+
"tailwindcss": "^4.1.14",
|
|
48
|
+
"tsup": "^8.5.1",
|
|
49
|
+
"tsx": "^4.21.0",
|
|
50
|
+
"typescript": "~5.8.2",
|
|
51
|
+
"vite": "^6.2.0"
|
|
52
|
+
}
|
|
53
|
+
}
|