>>w)>>>y),wI){if(!d)try{return e.codec.base32hex.toBits(c)}catch{}throw new e.exception.invalid("this isn't "+O+"!")}C>y?(C-=y,b.push(P^I>>>C),P=I<>>y)>>>26),6>y?(w=c[m]<<6-y,y+=26,m++):(w<<=6,y-=6);for(;p.length&3&&!d;)p+="=";return p},toBits:function(c,d){c=c.replace(/\s|=/g,"");var m=[],p,y=0,b=e.codec.base64.B,w=0,C;for(d&&(b=b.substr(0,62)+"-_"),p=0;pC)throw new e.exception.invalid("this isn't base64!");26>>y),w=C<<32-y):(y+=6,w^=C<<32-y)}return y&56&&m.push(e.bitArray.partial(y&56,w,1)),m}},e.codec.base64url={fromBits:function(c){return e.codec.base64.fromBits(c,1,1)},toBits:function(c){return e.codec.base64.toBits(c,1)}},e.hash.sha256=function(c){this.b[0]||this.O(),c?(this.F=c.F.slice(0),this.A=c.A.slice(0),this.l=c.l):this.reset()},e.hash.sha256.hash=function(c){return new e.hash.sha256().update(c).finalize()},e.hash.sha256.prototype={blockSize:512,reset:function(){return this.F=this.Y.slice(0),this.A=[],this.l=0,this},update:function(c){typeof c=="string"&&(c=e.codec.utf8String.toBits(c));var d,m=this.A=e.bitArray.concat(this.A,c);if(d=this.l,c=this.l=d+e.bitArray.bitLength(c),9007199254740991d;m++){for(y=!0,p=2;p*p<=m;p++)if(m%p===0){y=!1;break}y&&(8>d&&(this.Y[d]=c(Math.pow(m,.5))),this.b[d]=c(Math.pow(m,1/3)),d++)}}};function r(c,d){var m,p,y,b=c.F,w=c.b,C=b[0],_=b[1],P=b[2],I=b[3],O=b[4],N=b[5],L=b[6],F=b[7];for(m=0;64>m;m++)16>m?p=d[m]:(p=d[m+1&15],y=d[m+14&15],p=d[m&15]=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d[m&15]+d[m+9&15]|0),p=p+F+(O>>>6^O>>>11^O>>>25^O<<26^O<<21^O<<7)+(L^O&(N^L))+w[m],F=L,L=N,N=O,O=I+p|0,I=P,P=_,_=C,C=p+(_&P^I&(_^P))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;b[0]=b[0]+C|0,b[1]=b[1]+_|0,b[2]=b[2]+P|0,b[3]=b[3]+I|0,b[4]=b[4]+O|0,b[5]=b[5]+N|0,b[6]=b[6]+L|0,b[7]=b[7]+F|0}e.mode.ccm={name:"ccm",G:[],listenProgress:function(c){e.mode.ccm.G.push(c)},unListenProgress:function(c){c=e.mode.ccm.G.indexOf(c),-1_)throw new e.exception.invalid("ccm: iv must be at least 7 bytes");for(b=2;4>b&&P>>>8*b;b++);return b<15-_&&(b=15-_),m=C.clamp(m,8*(15-b)),d=e.mode.ccm.V(c,d,m,p,y,b),w=e.mode.ccm.C(c,w,m,d,y,b),C.concat(w.data,w.tag)},decrypt:function(c,d,m,p,y){y=y||64,p=p||[];var b=e.bitArray,w=b.bitLength(m)/8,P=b.bitLength(d),C=b.clamp(d,P-y),_=b.bitSlice(d,P-y),P=(P-y)/8;if(7>w)throw new e.exception.invalid("ccm: iv must be at least 7 bytes");for(d=2;4>d&&P>>>8*d;d++);if(d<15-w&&(d=15-w),m=b.clamp(m,8*(15-d)),C=e.mode.ccm.C(c,C,m,_,y,d),c=e.mode.ccm.V(c,C.data,m,p,y,d),!b.equal(C.tag,c))throw new e.exception.corrupt("ccm: tag doesn't match");return C.data},na:function(c,d,m,p,y,b){var w=[],C=e.bitArray,_=C.i;if(p=[C.partial(8,(d.length?64:0)|p-2<<2|b-1)],p=C.concat(p,m),p[3]|=y,p=c.encrypt(p),d.length)for(m=C.bitLength(d)/8,65279>=m?w=[C.partial(16,m)]:4294967295>=m&&(w=C.concat([C.partial(16,65534)],[m])),w=C.concat(w,d),d=0;dy||16I&&(e.mode.ccm.fa(w/_),I+=O),m[3]++,y=c.encrypt(m),d[w]^=y[0],d[w+1]^=y[1],d[w+2]^=y[2],d[w+3]^=y[3];return{tag:p,data:C.clamp(d,P)}}},e.mode.ocb2={name:"ocb2",encrypt:function(c,d,m,p,y,b){if(e.bitArray.bitLength(m)!==128)throw new e.exception.invalid("ocb iv must be 128 bits");var w,C=e.mode.ocb2.S,_=e.bitArray,P=_.i,I=[0,0,0,0];m=C(c.encrypt(m));var O,N=[];for(p=p||[],y=y||64,w=0;w+4y.bitLength(m)&&(C=b(C,p(C)),m=y.concat(m,[-2147483648,0,0,0])),w=b(w,m),c.encrypt(b(p(b(C,p(C))),w))},S:function(c){return[c[0]<<1^c[1]>>>31,c[1]<<1^c[2]>>>31,c[2]<<1^c[3]>>>31,c[3]<<1^135*(c[0]>>>31)]}},e.mode.gcm={name:"gcm",encrypt:function(c,d,m,p,y){var b=d.slice(0);return d=e.bitArray,p=p||[],c=e.mode.gcm.C(!0,c,b,p,m,y||128),d.concat(c.data,c.tag)},decrypt:function(c,d,m,p,y){var b=d.slice(0),w=e.bitArray,C=w.bitLength(b);if(y=y||128,p=p||[],y<=C?(d=w.bitSlice(b,C-y),b=w.bitSlice(b,0,C-y)):(d=b,b=[]),c=e.mode.gcm.C(!1,c,b,p,m,y),!w.equal(c.tag,d))throw new e.exception.corrupt("gcm: tag doesn't match");return c.data},ka:function(c,d){var m,p,y,b,w,C=e.bitArray.i;for(y=[0,0,0,0],b=d.slice(0),m=0;128>m;m++){for((p=(c[Math.floor(m/32)]&1<<31-m%32)!==0)&&(y=C(y,b)),w=(b[3]&1)!==0,p=3;0>>1|(b[p-1]&1)<<31;b[0]>>>=1,w&&(b[0]^=-520093696)}return y},j:function(c,d,m){var p,y=m.length;for(d=d.slice(0),p=0;py&&(c=d.hash(c)),p=0;pp||0>m)throw new e.exception.invalid("invalid params to pbkdf2");typeof c=="string"&&(c=e.codec.utf8String.toBits(c)),typeof d=="string"&&(d=e.codec.utf8String.toBits(d)),y=y||e.misc.hmac,c=new y(c);var b,w,C,_,P=[],I=e.bitArray;for(_=1;32*P.length<(p||1);_++){for(y=b=c.encrypt(I.concat(d,[_])),w=1;ww;w++)y.push(4294967296*Math.random()|0);for(w=0;w=1<this.o&&(this.o=b),this.P++,this.b=e.hash.sha256.hash(this.b.concat(y)),this.L=new e.cipher.aes(this.b),p=0;4>p&&(this.h[p]=this.h[p]+1|0,!this.h[p]);p++);}for(p=0;p>>1;this.c[w].update([p,this.N++,2,d,b,c.length].concat(c))}break;case"string":d===void 0&&(d=c.length),this.c[w].update([p,this.N++,3,d,b,c.length]),this.c[w].update(c);break;default:_=1}if(_)throw new e.exception.bug("random: addEntropy only supports number, array of numbers or string");this.m[w]+=d,this.f+=d,C===this.u&&(this.isReady()!==this.u&&a("seeded",Math.max(this.o,this.f)),a("progress",this.getProgress()))},isReady:function(c){return c=this.T[c!==void 0?c:this.M],this.o&&this.o>=c?this.m[0]>this.ba&&new Date().valueOf()>this.Z?this.J|this.I:this.I:this.f>=c?this.J|this.u:this.u},getProgress:function(c){return c=this.T[c||this.M],this.o>=c||this.f>c?1:this.f/c},startCollectors:function(){if(!this.D){if(this.a={loadTimeCollector:s(this,this.ma),mouseCollector:s(this,this.oa),keyboardCollector:s(this,this.la),accelerometerCollector:s(this,this.ea),touchCollector:s(this,this.qa)},window.addEventListener)window.addEventListener("load",this.a.loadTimeCollector,!1),window.addEventListener("mousemove",this.a.mouseCollector,!1),window.addEventListener("keypress",this.a.keyboardCollector,!1),window.addEventListener("devicemotion",this.a.accelerometerCollector,!1),window.addEventListener("touchmove",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent("onload",this.a.loadTimeCollector),document.attachEvent("onmousemove",this.a.mouseCollector),document.attachEvent("keypress",this.a.keyboardCollector);else throw new e.exception.bug("can't attach event");this.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener("load",this.a.loadTimeCollector,!1),window.removeEventListener("mousemove",this.a.mouseCollector,!1),window.removeEventListener("keypress",this.a.keyboardCollector,!1),window.removeEventListener("devicemotion",this.a.accelerometerCollector,!1),window.removeEventListener("touchmove",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this.a.loadTimeCollector),document.detachEvent("onmousemove",this.a.mouseCollector),document.detachEvent("keypress",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(c,d){this.K[c][this.ga++]=d},removeEventListener:function(c,d){var m,p,y=this.K[c],b=[];for(p in y)y.hasOwnProperty(p)&&y[p]===d&&b.push(p);for(m=0;md&&(c.h[d]=c.h[d]+1|0,!c.h[d]);d++);return c.L.encrypt(c.h)}function s(c,d){return function(){d.apply(c,arguments)}}e.random=new e.prng(6);e:try{var u,f,v,h;if(h=t.exports){var g;try{g=Z5}catch{g=null}h=f=g}if(h&&f.randomBytes)u=f.randomBytes(128),u=new Uint32Array(new Uint8Array(u).buffer),e.random.addEntropy(u,1024,"crypto['randomBytes']");else if(typeof window<"u"&&typeof Uint32Array<"u"){if(v=new Uint32Array(32),window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(v);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(v);else break e;e.random.addEntropy(v,1024,"crypto['getRandomValues']")}}catch(c){typeof window<"u"&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(c))}e.json={defaults:{v:1,iter:1e4,ks:128,ts:64,mode:"ccm",adata:"",cipher:"aes"},ja:function(c,d,m,p){m=m||{},p=p||{};var y=e.json,b=y.g({iv:e.random.randomWords(4,0)},y.defaults),w;if(y.g(b,m),m=b.adata,typeof b.salt=="string"&&(b.salt=e.codec.base64.toBits(b.salt)),typeof b.iv=="string"&&(b.iv=e.codec.base64.toBits(b.iv)),!e.mode[b.mode]||!e.cipher[b.cipher]||typeof c=="string"&&100>=b.iter||b.ts!==64&&b.ts!==96&&b.ts!==128||b.ks!==128&&b.ks!==192&&b.ks!==256||2>b.iv.length||4=d.iter||d.ts!==64&&d.ts!==96&&d.ts!==128||d.ks!==128&&d.ks!==192&&d.ks!==256||!d.iv||2>d.iv.length||4{for(var n in e)tB(t,n,{get:e[n],enumerable:!0})},nB={};Bt(nB,{convertFileSrc:()=>aB,invoke:()=>lu,transformCallback:()=>xa});function rB(){return window.crypto.getRandomValues(new Uint32Array(1))[0]}function xa(t,e=!1){let n=rB(),r=`_${n}`;return Object.defineProperty(window,r,{value:a=>(e&&Reflect.deleteProperty(window,r),t==null?void 0:t(a)),writable:!1,configurable:!0}),n}async function lu(t,e={}){return new Promise((n,r)=>{let a=xa(o=>{n(o),Reflect.deleteProperty(window,`_${i}`)},!0),i=xa(o=>{r(o),Reflect.deleteProperty(window,`_${a}`)},!0);window.__TAURI_IPC__({cmd:t,callback:a,error:i,...e})})}function aB(t,e="asset"){let n=encodeURIComponent(t);return navigator.userAgent.includes("Windows")?`https://${e}.localhost/${n}`:`${e}://localhost/${n}`}async function le(t){return lu("tauri",t)}var iB={};Bt(iB,{TauriEvent:()=>a_,emit:()=>Pv,listen:()=>i_,once:()=>o_});async function t_(t,e){return le({__tauriModule:"Event",message:{cmd:"unlisten",event:t,eventId:e}})}async function n_(t,e,n){await le({__tauriModule:"Event",message:{cmd:"emit",event:t,windowLabel:e,payload:n}})}async function xv(t,e,n){return le({__tauriModule:"Event",message:{cmd:"listen",event:t,windowLabel:e,handler:xa(n)}}).then(r=>async()=>t_(t,r))}async function r_(t,e,n){return xv(t,e,r=>{n(r),t_(t,r.id).catch(()=>{})})}var a_=(t=>(t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_CREATED="tauri://window-created",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WINDOW_FILE_DROP="tauri://file-drop",t.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",t.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled",t.MENU="tauri://menu",t.CHECK_UPDATE="tauri://update",t.UPDATE_AVAILABLE="tauri://update-available",t.INSTALL_UPDATE="tauri://update-install",t.STATUS_UPDATE="tauri://update-status",t.DOWNLOAD_PROGRESS="tauri://update-download-progress",t))(a_||{});async function i_(t,e){return xv(t,null,e)}async function o_(t,e){return r_(t,null,e)}async function Pv(t,e){return n_(t,void 0,e)}var oB={};Bt(oB,{checkUpdate:()=>sB,installUpdate:()=>lB,onUpdaterEvent:()=>Ov});async function Ov(t){return i_("tauri://update-status",e=>{t(e==null?void 0:e.payload)})}async function lB(){let t;function e(){t&&t(),t=void 0}return new Promise((n,r)=>{function a(i){if(i.error){e(),r(i.error);return}i.status==="DONE"&&(e(),n())}Ov(a).then(i=>{t=i}).catch(i=>{throw e(),i}),Pv("tauri://update-install").catch(i=>{throw e(),i})})}async function sB(){let t;function e(){t&&t(),t=void 0}return new Promise((n,r)=>{function a(o){e(),n({manifest:o,shouldUpdate:!0})}function i(o){if(o.error){e(),r(o.error);return}o.status==="UPTODATE"&&(e(),n({shouldUpdate:!1}))}o_("tauri://update-available",o=>{a(o==null?void 0:o.payload)}).catch(o=>{throw e(),o}),Ov(i).then(o=>{t=o}).catch(o=>{throw e(),o}),Pv("tauri://update").catch(o=>{throw e(),o})})}var uB={};Bt(uB,{CloseRequestedEvent:()=>d_,LogicalPosition:()=>s_,LogicalSize:()=>l_,PhysicalPosition:()=>cs,PhysicalSize:()=>us,UserAttentionType:()=>u_,WebviewWindow:()=>di,WebviewWindowHandle:()=>c_,WindowManager:()=>f_,appWindow:()=>gf,availableMonitors:()=>vB,currentMonitor:()=>fB,getAll:()=>mf,getCurrent:()=>cB,primaryMonitor:()=>dB});var l_=class{constructor(e,n){this.type="Logical",this.width=e,this.height=n}},us=class{constructor(e,n){this.type="Physical",this.width=e,this.height=n}toLogical(e){return new l_(this.width/e,this.height/e)}},s_=class{constructor(e,n){this.type="Logical",this.x=e,this.y=n}},cs=class{constructor(e,n){this.type="Physical",this.x=e,this.y=n}toLogical(e){return new s_(this.x/e,this.y/e)}},u_=(t=>(t[t.Critical=1]="Critical",t[t.Informational=2]="Informational",t))(u_||{});function cB(){return new di(window.__TAURI_METADATA__.__currentWindow.label,{skip:!0})}function mf(){return window.__TAURI_METADATA__.__windows.map(t=>new di(t.label,{skip:!0}))}var gy=["tauri://created","tauri://error"],c_=class{constructor(e){this.label=e,this.listeners=Object.create(null)}async listen(e,n){return this._handleTauriEvent(e,n)?Promise.resolve(()=>{let r=this.listeners[e];r.splice(r.indexOf(n),1)}):xv(e,this.label,n)}async once(e,n){return this._handleTauriEvent(e,n)?Promise.resolve(()=>{let r=this.listeners[e];r.splice(r.indexOf(n),1)}):r_(e,this.label,n)}async emit(e,n){if(gy.includes(e)){for(let r of this.listeners[e]||[])r({event:e,id:-1,windowLabel:this.label,payload:n});return Promise.resolve()}return n_(e,this.label,n)}_handleTauriEvent(e,n){return gy.includes(e)?(e in this.listeners?this.listeners[e].push(n):this.listeners[e]=[n],!0):!1}},f_=class extends c_{async scaleFactor(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"scaleFactor"}}}})}async innerPosition(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"innerPosition"}}}}).then(({x:e,y:n})=>new cs(e,n))}async outerPosition(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"outerPosition"}}}}).then(({x:e,y:n})=>new cs(e,n))}async innerSize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"innerSize"}}}}).then(({width:e,height:n})=>new us(e,n))}async outerSize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"outerSize"}}}}).then(({width:e,height:n})=>new us(e,n))}async isFullscreen(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isFullscreen"}}}})}async isMinimized(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMinimized"}}}})}async isMaximized(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMaximized"}}}})}async isFocused(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isFocused"}}}})}async isDecorated(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isDecorated"}}}})}async isResizable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isResizable"}}}})}async isMaximizable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMaximizable"}}}})}async isMinimizable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMinimizable"}}}})}async isClosable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isClosable"}}}})}async isVisible(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isVisible"}}}})}async title(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"title"}}}})}async theme(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"theme"}}}})}async center(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"center"}}}})}async requestUserAttention(e){let n=null;return e&&(e===1?n={type:"Critical"}:n={type:"Informational"}),le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"requestUserAttention",payload:n}}}})}async setResizable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setResizable",payload:e}}}})}async setMaximizable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMaximizable",payload:e}}}})}async setMinimizable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMinimizable",payload:e}}}})}async setClosable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setClosable",payload:e}}}})}async setTitle(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setTitle",payload:e}}}})}async maximize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"maximize"}}}})}async unmaximize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"unmaximize"}}}})}async toggleMaximize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"toggleMaximize"}}}})}async minimize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"minimize"}}}})}async unminimize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"unminimize"}}}})}async show(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"show"}}}})}async hide(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"hide"}}}})}async close(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"close"}}}})}async setDecorations(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setDecorations",payload:e}}}})}async setAlwaysOnTop(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setAlwaysOnTop",payload:e}}}})}async setContentProtected(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setContentProtected",payload:e}}}})}async setSize(e){if(!e||e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setSize",payload:{type:e.type,data:{width:e.width,height:e.height}}}}}})}async setMinSize(e){if(e&&e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMinSize",payload:e?{type:e.type,data:{width:e.width,height:e.height}}:null}}}})}async setMaxSize(e){if(e&&e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMaxSize",payload:e?{type:e.type,data:{width:e.width,height:e.height}}:null}}}})}async setPosition(e){if(!e||e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setPosition",payload:{type:e.type,data:{x:e.x,y:e.y}}}}}})}async setFullscreen(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setFullscreen",payload:e}}}})}async setFocus(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setFocus"}}}})}async setIcon(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setIcon",payload:{icon:typeof e=="string"?e:Array.from(e)}}}}})}async setSkipTaskbar(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setSkipTaskbar",payload:e}}}})}async setCursorGrab(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorGrab",payload:e}}}})}async setCursorVisible(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorVisible",payload:e}}}})}async setCursorIcon(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorIcon",payload:e}}}})}async setCursorPosition(e){if(!e||e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorPosition",payload:{type:e.type,data:{x:e.x,y:e.y}}}}}})}async setIgnoreCursorEvents(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setIgnoreCursorEvents",payload:e}}}})}async startDragging(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"startDragging"}}}})}async onResized(e){return this.listen("tauri://resize",n=>{n.payload=p_(n.payload),e(n)})}async onMoved(e){return this.listen("tauri://move",n=>{n.payload=v_(n.payload),e(n)})}async onCloseRequested(e){return this.listen("tauri://close-requested",n=>{let r=new d_(n);Promise.resolve(e(r)).then(()=>{if(!r.isPreventDefault())return this.close()})})}async onFocusChanged(e){let n=await this.listen("tauri://focus",a=>{e({...a,payload:!0})}),r=await this.listen("tauri://blur",a=>{e({...a,payload:!1})});return()=>{n(),r()}}async onScaleChanged(e){return this.listen("tauri://scale-change",e)}async onMenuClicked(e){return this.listen("tauri://menu",e)}async onFileDropEvent(e){let n=await this.listen("tauri://file-drop",i=>{e({...i,payload:{type:"drop",paths:i.payload}})}),r=await this.listen("tauri://file-drop-hover",i=>{e({...i,payload:{type:"hover",paths:i.payload}})}),a=await this.listen("tauri://file-drop-cancelled",i=>{e({...i,payload:{type:"cancel"}})});return()=>{n(),r(),a()}}async onThemeChanged(e){return this.listen("tauri://theme-changed",e)}},d_=class{constructor(e){this._preventDefault=!1,this.event=e.event,this.windowLabel=e.windowLabel,this.id=e.id}preventDefault(){this._preventDefault=!0}isPreventDefault(){return this._preventDefault}},di=class extends f_{constructor(e,n={}){super(e),n!=null&&n.skip||le({__tauriModule:"Window",message:{cmd:"createWebview",data:{options:{label:e,...n}}}}).then(async()=>this.emit("tauri://created")).catch(async r=>this.emit("tauri://error",r))}static getByLabel(e){return mf().some(n=>n.label===e)?new di(e,{skip:!0}):null}static async getFocusedWindow(){for(let e of mf())if(await e.isFocused())return e;return null}},gf;"__TAURI_METADATA__"in window?gf=new di(window.__TAURI_METADATA__.__currentWindow.label,{skip:!0}):(console.warn(`Could not find "window.__TAURI_METADATA__". The "appWindow" value will reference the "main" window label.
-Note that this is not an issue if running this frontend on a browser instead of a Tauri window.`),gf=new di("main",{skip:!0}));function Ev(t){return t===null?null:{name:t.name,scaleFactor:t.scaleFactor,position:v_(t.position),size:p_(t.size)}}function v_(t){return new cs(t.x,t.y)}function p_(t){return new us(t.width,t.height)}async function fB(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{cmd:{type:"currentMonitor"}}}}).then(Ev)}async function dB(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{cmd:{type:"primaryMonitor"}}}}).then(Ev)}async function vB(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{cmd:{type:"availableMonitors"}}}}).then(t=>t.map(Ev))}var pB={};Bt(pB,{isPermissionGranted:()=>hB,requestPermission:()=>mB,sendNotification:()=>gB});async function hB(){return window.Notification.permission!=="default"?Promise.resolve(window.Notification.permission==="granted"):le({__tauriModule:"Notification",message:{cmd:"isNotificationPermissionGranted"}})}async function mB(){return window.Notification.requestPermission()}function gB(t){typeof t=="string"?new window.Notification(t):new window.Notification(t.title,t)}function Tv(){return navigator.appVersion.includes("Win")}var yB={};Bt(yB,{EOL:()=>bB,arch:()=>SB,locale:()=>PB,platform:()=>wB,tempdir:()=>xB,type:()=>_B,version:()=>CB});var bB=Tv()?`\r
+}`;W5(V5,{});Sv.render=z5;Sv.__scopeId="data-v-8772a08e";Sv.__file="src/SplitView/index.vue";const H5={value:t=>t.value,text:t=>t.text};var U5=fe({components:{ASelect:as},emits:["update:value"],props:{value:Fr(),options:Fr(),conv:Fr(()=>H5),mode:Fr(!1),asNullValues:Fr(()=>[0,""])},setup(t,e){const n=W(""),r=K({get:()=>t.value,set:o=>{e.emit("update:value",o),n.value=""}}),a=o=>{n.value=o},{currOptions:i}=x5(t,n);return{currOptions:i,onSearch:a,selected:r,searchTarget:n}}});const Z1=U5;function K5(t,e,n,r,a,i){const o=wb("a-select");return Xe(),Yt(o,Gf({value:t.asNullValues.includes(t.selected)?null:t.selected,"onUpdate:value":e[1]||(e[1]=l=>t.selected=l),"get-popup-container":l=>l.parentNode,placeholder:"请选择","filter-option":!1,onSearch:t.onSearch,options:t.currOptions,optionLabelProp:"title","show-search":"",mode:t.mode},t.$attrs),null,16,["value","get-popup-container","onSearch","options","mode"])}Z1.render=K5;Z1.__file="src/SearchSelect/index.vue";var G5=fe({components:{APagination:FF},props:{option:Fr()},setup(){return{}}});const e_=G5;function q5(t,e,n,r,a,i){const o=wb("a-pagination");return Xe(),Yt(o,{onChange:t.option.onChange,total:t.option.total,current:t.option.curr,"onUpdate:current":t.option.setCurr,"page-size":t.option.pageSize},null,8,["onChange","total","current","onUpdate:current","page-size"])}e_.render=q5;e_.__file="src/GeneralPagination/index.vue";const ou=(t=0)=>new Promise(e=>setTimeout(e,t));class Y5 extends Error{constructor(e){super(e),this.name="FetchTaskCancel"}}class Io{constructor(e=-1,n=3,r=3e3,a="retry"){this.maxConcurrencyCount=e,this.maxRetryCount=n,this.retryInterval=r,this.errorHandleMethod=a,this.eventEmitter=new Cv,this.queue=[],this.lastIdleState=!0}get currConcurrencyCount(){return this.queue.filter(e=>e.running).length}get tasks(){return hf([...this.queue])}get conf(){const{maxConcurrencyCount:e,maxRetryCount:n,retryInterval:r,errorHandleMethod:a}=this;return hf({maxConcurrencyCount:e,maxRetryCount:n,retryInterval:r,errorHandleMethod:a})}noticeChange(){this.eventEmitter.emit("FETCH_QUEUE_CHANGE",this.queue)}noticeIdleChange(){this.isIdle!==this.lastIdleState&&(this.lastIdleState=this.isIdle,this.eventEmitter.emit("FETCH_QUEUE_IDLE_STATE_CHANGE",this.isIdle))}tryRunNext(){if(this.currConcurrencyCount!n.running).shift();e&&e.run()}}runAction(e,n,r){const{action:a}=e;e.running=!0,this.noticeIdleChange();const i=(o=this.maxRetryCount)=>C5(this,void 0,void 0,function*(){try{const l=yield a(e);n(l)}catch(l){switch(this.errorHandleMethod){case"retry":return o===0?(this.emit("RETRIES_EXHAUESTED",e),r(l)):(yield ou(this.retryInterval),i(o-1));case"throw":return r(l)}}});i()}waitUntilEmpty(){return Promise.all(this.queue.map(e=>e.res))}on(e,n){this.eventEmitter.on(e,n)}static on(e,n){Io.eventEmitter.on(e,n)}emit(e,...n){this.eventEmitter.emit(e,...n),Io.eventEmitter.emit(e,this,...n)}get isIdle(){return this.queue.length===0}pushAction(e,...n){let r,a;const i=new Promise((s,u)=>{r=s,a=u}),o=Y1().eventEmitter,l={running:!1,action:e,res:i,extra:n[0],cancel:()=>{o.emit("cancel"),a(new Y5)},run:()=>this.runAction(l,r,a),events:o};return i.finally(()=>{this.queue.splice(this.queue.indexOf(l),1),l.running=!1,this.noticeChange(),this.noticeIdleChange(),this.tryRunNext()}),this.queue.push(l),this.noticeChange(),this.tryRunNext(),l}}Io.eventEmitter=new Cv;var t_={exports:{}};const X5={},J5=Object.freeze(Object.defineProperty({__proto__:null,default:X5},Symbol.toStringTag,{value:"Module"})),Q5=kT(J5);(function(t){var e={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(c){this.toString=function(){return"CORRUPT: "+this.message},this.message=c},invalid:function(c){this.toString=function(){return"INVALID: "+this.message},this.message=c},bug:function(c){this.toString=function(){return"BUG: "+this.message},this.message=c},notReady:function(c){this.toString=function(){return"NOT READY: "+this.message},this.message=c}}};e.cipher.aes=function(c){this.s[0][0][0]||this.O();var d,m,p,y,b=this.s[0][4],w=this.s[1];d=c.length;var C=1;if(d!==4&&d!==6&&d!==8)throw new e.exception.invalid("invalid aes key size");for(this.b=[p=c.slice(0),y=[]],c=d;c<4*d+28;c++)m=p[c-1],(c%d===0||d===8&&c%d===4)&&(m=b[m>>>24]<<24^b[m>>16&255]<<16^b[m>>8&255]<<8^b[m&255],c%d===0&&(m=m<<8^m>>>24^C<<24,C=C<<1^283*(C>>7))),p[c]=p[c-d]^m;for(d=0;c;d++,c--)m=p[d&3?c:c-4],y[d]=4>=c||4>d?m:w[0][b[m>>>24]]^w[1][b[m>>16&255]]^w[2][b[m>>8&255]]^w[3][b[m&255]]},e.cipher.aes.prototype={encrypt:function(c){return n(this,c,0)},decrypt:function(c){return n(this,c,1)},s:[[[],[],[],[],[]],[[],[],[],[],[]]],O:function(){var c=this.s[0],d=this.s[1],m=c[4],p=d[4],y,b,w,C=[],_=[],P,I,O,N;for(y=0;256>y;y++)_[(C[y]=y<<1^283*(y>>7))^y]=y;for(b=w=0;!m[b];b^=P||1,w=_[w]||1)for(O=w^w<<1^w<<2^w<<3^w<<4,O=O>>8^O&255^99,m[b]=O,p[O]=b,I=C[y=C[P=C[b]]],N=16843009*I^65537*y^257*P^16843008*b,I=257*C[O]^16843008*O,y=0;4>y;y++)c[y][b]=I=I<<24^I>>>8,d[y][O]=N=N<<24^N>>>8;for(y=0;5>y;y++)c[y]=c[y].slice(0),d[y]=d[y].slice(0)}};function n(c,d,m){if(d.length!==4)throw new e.exception.invalid("invalid aes block size");var p=c.b[m],y=d[0]^p[0],b=d[m?3:1]^p[1],w=d[2]^p[2];d=d[m?1:3]^p[3];var C,_,P,I=p.length/4-2,O,N=4,L=[0,0,0,0];C=c.s[m],c=C[0];var F=C[1],j=C[2],z=C[3],$=C[4];for(O=0;O>>24]^F[b>>16&255]^j[w>>8&255]^z[d&255]^p[N],_=c[b>>>24]^F[w>>16&255]^j[d>>8&255]^z[y&255]^p[N+1],P=c[w>>>24]^F[d>>16&255]^j[y>>8&255]^z[b&255]^p[N+2],d=c[d>>>24]^F[y>>16&255]^j[b>>8&255]^z[w&255]^p[N+3],N+=4,y=C,b=_,w=P;for(O=0;4>O;O++)L[m?3&-O:O]=$[y>>>24]<<24^$[b>>16&255]<<16^$[w>>8&255]<<8^$[d&255]^p[N++],C=y,y=b,b=w,w=d,d=C;return L}e.bitArray={bitSlice:function(c,d,m){return c=e.bitArray.$(c.slice(d/32),32-(d&31)).slice(1),m===void 0?c:e.bitArray.clamp(c,m-d)},extract:function(c,d,m){var p=Math.floor(-d-m&31);return((d+m-1^d)&-32?c[d/32|0]<<32-p^c[d/32+1|0]>>>p:c[d/32|0]>>>p)&(1<>d-1,1)),c},partial:function(c,d,m){return c===32?d:(m?d|0:d<<32-c)+1099511627776*c},getPartial:function(c){return Math.round(c/1099511627776)||32},equal:function(c,d){if(e.bitArray.bitLength(c)!==e.bitArray.bitLength(d))return!1;var m=0,p;for(p=0;p>>d),m=c[y]<<32-d;return y=c.length?c[c.length-1]:0,c=e.bitArray.getPartial(y),p.push(e.bitArray.partial(d+c&31,32>>24|m>>>8&65280|(m&65280)<<8|m<<24;return c}},e.codec.utf8String={fromBits:function(c){var d="",m=e.bitArray.bitLength(c),p,y;for(p=0;p>>8>>>8>>>8),y<<=8;return decodeURIComponent(escape(d))},toBits:function(c){c=unescape(encodeURIComponent(c));var d=[],m,p=0;for(m=0;m>>w)>>>y),wI){if(!d)try{return e.codec.base32hex.toBits(c)}catch{}throw new e.exception.invalid("this isn't "+O+"!")}C>y?(C-=y,b.push(P^I>>>C),P=I<>>y)>>>26),6>y?(w=c[m]<<6-y,y+=26,m++):(w<<=6,y-=6);for(;p.length&3&&!d;)p+="=";return p},toBits:function(c,d){c=c.replace(/\s|=/g,"");var m=[],p,y=0,b=e.codec.base64.B,w=0,C;for(d&&(b=b.substr(0,62)+"-_"),p=0;pC)throw new e.exception.invalid("this isn't base64!");26>>y),w=C<<32-y):(y+=6,w^=C<<32-y)}return y&56&&m.push(e.bitArray.partial(y&56,w,1)),m}},e.codec.base64url={fromBits:function(c){return e.codec.base64.fromBits(c,1,1)},toBits:function(c){return e.codec.base64.toBits(c,1)}},e.hash.sha256=function(c){this.b[0]||this.O(),c?(this.F=c.F.slice(0),this.A=c.A.slice(0),this.l=c.l):this.reset()},e.hash.sha256.hash=function(c){return new e.hash.sha256().update(c).finalize()},e.hash.sha256.prototype={blockSize:512,reset:function(){return this.F=this.Y.slice(0),this.A=[],this.l=0,this},update:function(c){typeof c=="string"&&(c=e.codec.utf8String.toBits(c));var d,m=this.A=e.bitArray.concat(this.A,c);if(d=this.l,c=this.l=d+e.bitArray.bitLength(c),9007199254740991d;m++){for(y=!0,p=2;p*p<=m;p++)if(m%p===0){y=!1;break}y&&(8>d&&(this.Y[d]=c(Math.pow(m,.5))),this.b[d]=c(Math.pow(m,1/3)),d++)}}};function r(c,d){var m,p,y,b=c.F,w=c.b,C=b[0],_=b[1],P=b[2],I=b[3],O=b[4],N=b[5],L=b[6],F=b[7];for(m=0;64>m;m++)16>m?p=d[m]:(p=d[m+1&15],y=d[m+14&15],p=d[m&15]=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d[m&15]+d[m+9&15]|0),p=p+F+(O>>>6^O>>>11^O>>>25^O<<26^O<<21^O<<7)+(L^O&(N^L))+w[m],F=L,L=N,N=O,O=I+p|0,I=P,P=_,_=C,C=p+(_&P^I&(_^P))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;b[0]=b[0]+C|0,b[1]=b[1]+_|0,b[2]=b[2]+P|0,b[3]=b[3]+I|0,b[4]=b[4]+O|0,b[5]=b[5]+N|0,b[6]=b[6]+L|0,b[7]=b[7]+F|0}e.mode.ccm={name:"ccm",G:[],listenProgress:function(c){e.mode.ccm.G.push(c)},unListenProgress:function(c){c=e.mode.ccm.G.indexOf(c),-1_)throw new e.exception.invalid("ccm: iv must be at least 7 bytes");for(b=2;4>b&&P>>>8*b;b++);return b<15-_&&(b=15-_),m=C.clamp(m,8*(15-b)),d=e.mode.ccm.V(c,d,m,p,y,b),w=e.mode.ccm.C(c,w,m,d,y,b),C.concat(w.data,w.tag)},decrypt:function(c,d,m,p,y){y=y||64,p=p||[];var b=e.bitArray,w=b.bitLength(m)/8,P=b.bitLength(d),C=b.clamp(d,P-y),_=b.bitSlice(d,P-y),P=(P-y)/8;if(7>w)throw new e.exception.invalid("ccm: iv must be at least 7 bytes");for(d=2;4>d&&P>>>8*d;d++);if(d<15-w&&(d=15-w),m=b.clamp(m,8*(15-d)),C=e.mode.ccm.C(c,C,m,_,y,d),c=e.mode.ccm.V(c,C.data,m,p,y,d),!b.equal(C.tag,c))throw new e.exception.corrupt("ccm: tag doesn't match");return C.data},na:function(c,d,m,p,y,b){var w=[],C=e.bitArray,_=C.i;if(p=[C.partial(8,(d.length?64:0)|p-2<<2|b-1)],p=C.concat(p,m),p[3]|=y,p=c.encrypt(p),d.length)for(m=C.bitLength(d)/8,65279>=m?w=[C.partial(16,m)]:4294967295>=m&&(w=C.concat([C.partial(16,65534)],[m])),w=C.concat(w,d),d=0;dy||16I&&(e.mode.ccm.fa(w/_),I+=O),m[3]++,y=c.encrypt(m),d[w]^=y[0],d[w+1]^=y[1],d[w+2]^=y[2],d[w+3]^=y[3];return{tag:p,data:C.clamp(d,P)}}},e.mode.ocb2={name:"ocb2",encrypt:function(c,d,m,p,y,b){if(e.bitArray.bitLength(m)!==128)throw new e.exception.invalid("ocb iv must be 128 bits");var w,C=e.mode.ocb2.S,_=e.bitArray,P=_.i,I=[0,0,0,0];m=C(c.encrypt(m));var O,N=[];for(p=p||[],y=y||64,w=0;w+4y.bitLength(m)&&(C=b(C,p(C)),m=y.concat(m,[-2147483648,0,0,0])),w=b(w,m),c.encrypt(b(p(b(C,p(C))),w))},S:function(c){return[c[0]<<1^c[1]>>>31,c[1]<<1^c[2]>>>31,c[2]<<1^c[3]>>>31,c[3]<<1^135*(c[0]>>>31)]}},e.mode.gcm={name:"gcm",encrypt:function(c,d,m,p,y){var b=d.slice(0);return d=e.bitArray,p=p||[],c=e.mode.gcm.C(!0,c,b,p,m,y||128),d.concat(c.data,c.tag)},decrypt:function(c,d,m,p,y){var b=d.slice(0),w=e.bitArray,C=w.bitLength(b);if(y=y||128,p=p||[],y<=C?(d=w.bitSlice(b,C-y),b=w.bitSlice(b,0,C-y)):(d=b,b=[]),c=e.mode.gcm.C(!1,c,b,p,m,y),!w.equal(c.tag,d))throw new e.exception.corrupt("gcm: tag doesn't match");return c.data},ka:function(c,d){var m,p,y,b,w,C=e.bitArray.i;for(y=[0,0,0,0],b=d.slice(0),m=0;128>m;m++){for((p=(c[Math.floor(m/32)]&1<<31-m%32)!==0)&&(y=C(y,b)),w=(b[3]&1)!==0,p=3;0>>1|(b[p-1]&1)<<31;b[0]>>>=1,w&&(b[0]^=-520093696)}return y},j:function(c,d,m){var p,y=m.length;for(d=d.slice(0),p=0;py&&(c=d.hash(c)),p=0;pp||0>m)throw new e.exception.invalid("invalid params to pbkdf2");typeof c=="string"&&(c=e.codec.utf8String.toBits(c)),typeof d=="string"&&(d=e.codec.utf8String.toBits(d)),y=y||e.misc.hmac,c=new y(c);var b,w,C,_,P=[],I=e.bitArray;for(_=1;32*P.length<(p||1);_++){for(y=b=c.encrypt(I.concat(d,[_])),w=1;ww;w++)y.push(4294967296*Math.random()|0);for(w=0;w=1<this.o&&(this.o=b),this.P++,this.b=e.hash.sha256.hash(this.b.concat(y)),this.L=new e.cipher.aes(this.b),p=0;4>p&&(this.h[p]=this.h[p]+1|0,!this.h[p]);p++);}for(p=0;p>>1;this.c[w].update([p,this.N++,2,d,b,c.length].concat(c))}break;case"string":d===void 0&&(d=c.length),this.c[w].update([p,this.N++,3,d,b,c.length]),this.c[w].update(c);break;default:_=1}if(_)throw new e.exception.bug("random: addEntropy only supports number, array of numbers or string");this.m[w]+=d,this.f+=d,C===this.u&&(this.isReady()!==this.u&&a("seeded",Math.max(this.o,this.f)),a("progress",this.getProgress()))},isReady:function(c){return c=this.T[c!==void 0?c:this.M],this.o&&this.o>=c?this.m[0]>this.ba&&new Date().valueOf()>this.Z?this.J|this.I:this.I:this.f>=c?this.J|this.u:this.u},getProgress:function(c){return c=this.T[c||this.M],this.o>=c||this.f>c?1:this.f/c},startCollectors:function(){if(!this.D){if(this.a={loadTimeCollector:s(this,this.ma),mouseCollector:s(this,this.oa),keyboardCollector:s(this,this.la),accelerometerCollector:s(this,this.ea),touchCollector:s(this,this.qa)},window.addEventListener)window.addEventListener("load",this.a.loadTimeCollector,!1),window.addEventListener("mousemove",this.a.mouseCollector,!1),window.addEventListener("keypress",this.a.keyboardCollector,!1),window.addEventListener("devicemotion",this.a.accelerometerCollector,!1),window.addEventListener("touchmove",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent("onload",this.a.loadTimeCollector),document.attachEvent("onmousemove",this.a.mouseCollector),document.attachEvent("keypress",this.a.keyboardCollector);else throw new e.exception.bug("can't attach event");this.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener("load",this.a.loadTimeCollector,!1),window.removeEventListener("mousemove",this.a.mouseCollector,!1),window.removeEventListener("keypress",this.a.keyboardCollector,!1),window.removeEventListener("devicemotion",this.a.accelerometerCollector,!1),window.removeEventListener("touchmove",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this.a.loadTimeCollector),document.detachEvent("onmousemove",this.a.mouseCollector),document.detachEvent("keypress",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(c,d){this.K[c][this.ga++]=d},removeEventListener:function(c,d){var m,p,y=this.K[c],b=[];for(p in y)y.hasOwnProperty(p)&&y[p]===d&&b.push(p);for(m=0;md&&(c.h[d]=c.h[d]+1|0,!c.h[d]);d++);return c.L.encrypt(c.h)}function s(c,d){return function(){d.apply(c,arguments)}}e.random=new e.prng(6);e:try{var u,f,v,h;if(h=t.exports){var g;try{g=Q5}catch{g=null}h=f=g}if(h&&f.randomBytes)u=f.randomBytes(128),u=new Uint32Array(new Uint8Array(u).buffer),e.random.addEntropy(u,1024,"crypto['randomBytes']");else if(typeof window<"u"&&typeof Uint32Array<"u"){if(v=new Uint32Array(32),window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(v);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(v);else break e;e.random.addEntropy(v,1024,"crypto['getRandomValues']")}}catch(c){typeof window<"u"&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(c))}e.json={defaults:{v:1,iter:1e4,ks:128,ts:64,mode:"ccm",adata:"",cipher:"aes"},ja:function(c,d,m,p){m=m||{},p=p||{};var y=e.json,b=y.g({iv:e.random.randomWords(4,0)},y.defaults),w;if(y.g(b,m),m=b.adata,typeof b.salt=="string"&&(b.salt=e.codec.base64.toBits(b.salt)),typeof b.iv=="string"&&(b.iv=e.codec.base64.toBits(b.iv)),!e.mode[b.mode]||!e.cipher[b.cipher]||typeof c=="string"&&100>=b.iter||b.ts!==64&&b.ts!==96&&b.ts!==128||b.ks!==128&&b.ks!==192&&b.ks!==256||2>b.iv.length||4=d.iter||d.ts!==64&&d.ts!==96&&d.ts!==128||d.ks!==128&&d.ks!==192&&d.ks!==256||!d.iv||2>d.iv.length||4{for(var n in e)eB(t,n,{get:e[n],enumerable:!0})},tB={};Bt(tB,{convertFileSrc:()=>rB,invoke:()=>lu,transformCallback:()=>xa});function nB(){return window.crypto.getRandomValues(new Uint32Array(1))[0]}function xa(t,e=!1){let n=nB(),r=`_${n}`;return Object.defineProperty(window,r,{value:a=>(e&&Reflect.deleteProperty(window,r),t==null?void 0:t(a)),writable:!1,configurable:!0}),n}async function lu(t,e={}){return new Promise((n,r)=>{let a=xa(o=>{n(o),Reflect.deleteProperty(window,`_${i}`)},!0),i=xa(o=>{r(o),Reflect.deleteProperty(window,`_${a}`)},!0);window.__TAURI_IPC__({cmd:t,callback:a,error:i,...e})})}function rB(t,e="asset"){let n=encodeURIComponent(t);return navigator.userAgent.includes("Windows")?`https://${e}.localhost/${n}`:`${e}://localhost/${n}`}async function le(t){return lu("tauri",t)}var aB={};Bt(aB,{TauriEvent:()=>i_,emit:()=>Pv,listen:()=>o_,once:()=>l_});async function n_(t,e){return le({__tauriModule:"Event",message:{cmd:"unlisten",event:t,eventId:e}})}async function r_(t,e,n){await le({__tauriModule:"Event",message:{cmd:"emit",event:t,windowLabel:e,payload:n}})}async function xv(t,e,n){return le({__tauriModule:"Event",message:{cmd:"listen",event:t,windowLabel:e,handler:xa(n)}}).then(r=>async()=>n_(t,r))}async function a_(t,e,n){return xv(t,e,r=>{n(r),n_(t,r.id).catch(()=>{})})}var i_=(t=>(t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_CREATED="tauri://window-created",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WINDOW_FILE_DROP="tauri://file-drop",t.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",t.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled",t.MENU="tauri://menu",t.CHECK_UPDATE="tauri://update",t.UPDATE_AVAILABLE="tauri://update-available",t.INSTALL_UPDATE="tauri://update-install",t.STATUS_UPDATE="tauri://update-status",t.DOWNLOAD_PROGRESS="tauri://update-download-progress",t))(i_||{});async function o_(t,e){return xv(t,null,e)}async function l_(t,e){return a_(t,null,e)}async function Pv(t,e){return r_(t,void 0,e)}var iB={};Bt(iB,{checkUpdate:()=>lB,installUpdate:()=>oB,onUpdaterEvent:()=>Ov});async function Ov(t){return o_("tauri://update-status",e=>{t(e==null?void 0:e.payload)})}async function oB(){let t;function e(){t&&t(),t=void 0}return new Promise((n,r)=>{function a(i){if(i.error){e(),r(i.error);return}i.status==="DONE"&&(e(),n())}Ov(a).then(i=>{t=i}).catch(i=>{throw e(),i}),Pv("tauri://update-install").catch(i=>{throw e(),i})})}async function lB(){let t;function e(){t&&t(),t=void 0}return new Promise((n,r)=>{function a(o){e(),n({manifest:o,shouldUpdate:!0})}function i(o){if(o.error){e(),r(o.error);return}o.status==="UPTODATE"&&(e(),n({shouldUpdate:!1}))}l_("tauri://update-available",o=>{a(o==null?void 0:o.payload)}).catch(o=>{throw e(),o}),Ov(i).then(o=>{t=o}).catch(o=>{throw e(),o}),Pv("tauri://update").catch(o=>{throw e(),o})})}var sB={};Bt(sB,{CloseRequestedEvent:()=>v_,LogicalPosition:()=>u_,LogicalSize:()=>s_,PhysicalPosition:()=>cs,PhysicalSize:()=>us,UserAttentionType:()=>c_,WebviewWindow:()=>di,WebviewWindowHandle:()=>f_,WindowManager:()=>d_,appWindow:()=>gf,availableMonitors:()=>dB,currentMonitor:()=>cB,getAll:()=>mf,getCurrent:()=>uB,primaryMonitor:()=>fB});var s_=class{constructor(e,n){this.type="Logical",this.width=e,this.height=n}},us=class{constructor(e,n){this.type="Physical",this.width=e,this.height=n}toLogical(e){return new s_(this.width/e,this.height/e)}},u_=class{constructor(e,n){this.type="Logical",this.x=e,this.y=n}},cs=class{constructor(e,n){this.type="Physical",this.x=e,this.y=n}toLogical(e){return new u_(this.x/e,this.y/e)}},c_=(t=>(t[t.Critical=1]="Critical",t[t.Informational=2]="Informational",t))(c_||{});function uB(){return new di(window.__TAURI_METADATA__.__currentWindow.label,{skip:!0})}function mf(){return window.__TAURI_METADATA__.__windows.map(t=>new di(t.label,{skip:!0}))}var gy=["tauri://created","tauri://error"],f_=class{constructor(e){this.label=e,this.listeners=Object.create(null)}async listen(e,n){return this._handleTauriEvent(e,n)?Promise.resolve(()=>{let r=this.listeners[e];r.splice(r.indexOf(n),1)}):xv(e,this.label,n)}async once(e,n){return this._handleTauriEvent(e,n)?Promise.resolve(()=>{let r=this.listeners[e];r.splice(r.indexOf(n),1)}):a_(e,this.label,n)}async emit(e,n){if(gy.includes(e)){for(let r of this.listeners[e]||[])r({event:e,id:-1,windowLabel:this.label,payload:n});return Promise.resolve()}return r_(e,this.label,n)}_handleTauriEvent(e,n){return gy.includes(e)?(e in this.listeners?this.listeners[e].push(n):this.listeners[e]=[n],!0):!1}},d_=class extends f_{async scaleFactor(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"scaleFactor"}}}})}async innerPosition(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"innerPosition"}}}}).then(({x:e,y:n})=>new cs(e,n))}async outerPosition(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"outerPosition"}}}}).then(({x:e,y:n})=>new cs(e,n))}async innerSize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"innerSize"}}}}).then(({width:e,height:n})=>new us(e,n))}async outerSize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"outerSize"}}}}).then(({width:e,height:n})=>new us(e,n))}async isFullscreen(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isFullscreen"}}}})}async isMinimized(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMinimized"}}}})}async isMaximized(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMaximized"}}}})}async isFocused(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isFocused"}}}})}async isDecorated(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isDecorated"}}}})}async isResizable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isResizable"}}}})}async isMaximizable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMaximizable"}}}})}async isMinimizable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isMinimizable"}}}})}async isClosable(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isClosable"}}}})}async isVisible(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"isVisible"}}}})}async title(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"title"}}}})}async theme(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"theme"}}}})}async center(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"center"}}}})}async requestUserAttention(e){let n=null;return e&&(e===1?n={type:"Critical"}:n={type:"Informational"}),le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"requestUserAttention",payload:n}}}})}async setResizable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setResizable",payload:e}}}})}async setMaximizable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMaximizable",payload:e}}}})}async setMinimizable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMinimizable",payload:e}}}})}async setClosable(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setClosable",payload:e}}}})}async setTitle(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setTitle",payload:e}}}})}async maximize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"maximize"}}}})}async unmaximize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"unmaximize"}}}})}async toggleMaximize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"toggleMaximize"}}}})}async minimize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"minimize"}}}})}async unminimize(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"unminimize"}}}})}async show(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"show"}}}})}async hide(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"hide"}}}})}async close(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"close"}}}})}async setDecorations(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setDecorations",payload:e}}}})}async setAlwaysOnTop(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setAlwaysOnTop",payload:e}}}})}async setContentProtected(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setContentProtected",payload:e}}}})}async setSize(e){if(!e||e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setSize",payload:{type:e.type,data:{width:e.width,height:e.height}}}}}})}async setMinSize(e){if(e&&e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMinSize",payload:e?{type:e.type,data:{width:e.width,height:e.height}}:null}}}})}async setMaxSize(e){if(e&&e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setMaxSize",payload:e?{type:e.type,data:{width:e.width,height:e.height}}:null}}}})}async setPosition(e){if(!e||e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setPosition",payload:{type:e.type,data:{x:e.x,y:e.y}}}}}})}async setFullscreen(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setFullscreen",payload:e}}}})}async setFocus(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setFocus"}}}})}async setIcon(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setIcon",payload:{icon:typeof e=="string"?e:Array.from(e)}}}}})}async setSkipTaskbar(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setSkipTaskbar",payload:e}}}})}async setCursorGrab(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorGrab",payload:e}}}})}async setCursorVisible(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorVisible",payload:e}}}})}async setCursorIcon(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorIcon",payload:e}}}})}async setCursorPosition(e){if(!e||e.type!=="Logical"&&e.type!=="Physical")throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setCursorPosition",payload:{type:e.type,data:{x:e.x,y:e.y}}}}}})}async setIgnoreCursorEvents(e){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"setIgnoreCursorEvents",payload:e}}}})}async startDragging(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{label:this.label,cmd:{type:"startDragging"}}}})}async onResized(e){return this.listen("tauri://resize",n=>{n.payload=h_(n.payload),e(n)})}async onMoved(e){return this.listen("tauri://move",n=>{n.payload=p_(n.payload),e(n)})}async onCloseRequested(e){return this.listen("tauri://close-requested",n=>{let r=new v_(n);Promise.resolve(e(r)).then(()=>{if(!r.isPreventDefault())return this.close()})})}async onFocusChanged(e){let n=await this.listen("tauri://focus",a=>{e({...a,payload:!0})}),r=await this.listen("tauri://blur",a=>{e({...a,payload:!1})});return()=>{n(),r()}}async onScaleChanged(e){return this.listen("tauri://scale-change",e)}async onMenuClicked(e){return this.listen("tauri://menu",e)}async onFileDropEvent(e){let n=await this.listen("tauri://file-drop",i=>{e({...i,payload:{type:"drop",paths:i.payload}})}),r=await this.listen("tauri://file-drop-hover",i=>{e({...i,payload:{type:"hover",paths:i.payload}})}),a=await this.listen("tauri://file-drop-cancelled",i=>{e({...i,payload:{type:"cancel"}})});return()=>{n(),r(),a()}}async onThemeChanged(e){return this.listen("tauri://theme-changed",e)}},v_=class{constructor(e){this._preventDefault=!1,this.event=e.event,this.windowLabel=e.windowLabel,this.id=e.id}preventDefault(){this._preventDefault=!0}isPreventDefault(){return this._preventDefault}},di=class extends d_{constructor(e,n={}){super(e),n!=null&&n.skip||le({__tauriModule:"Window",message:{cmd:"createWebview",data:{options:{label:e,...n}}}}).then(async()=>this.emit("tauri://created")).catch(async r=>this.emit("tauri://error",r))}static getByLabel(e){return mf().some(n=>n.label===e)?new di(e,{skip:!0}):null}static async getFocusedWindow(){for(let e of mf())if(await e.isFocused())return e;return null}},gf;"__TAURI_METADATA__"in window?gf=new di(window.__TAURI_METADATA__.__currentWindow.label,{skip:!0}):(console.warn(`Could not find "window.__TAURI_METADATA__". The "appWindow" value will reference the "main" window label.
+Note that this is not an issue if running this frontend on a browser instead of a Tauri window.`),gf=new di("main",{skip:!0}));function Ev(t){return t===null?null:{name:t.name,scaleFactor:t.scaleFactor,position:p_(t.position),size:h_(t.size)}}function p_(t){return new cs(t.x,t.y)}function h_(t){return new us(t.width,t.height)}async function cB(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{cmd:{type:"currentMonitor"}}}}).then(Ev)}async function fB(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{cmd:{type:"primaryMonitor"}}}}).then(Ev)}async function dB(){return le({__tauriModule:"Window",message:{cmd:"manage",data:{cmd:{type:"availableMonitors"}}}}).then(t=>t.map(Ev))}var vB={};Bt(vB,{isPermissionGranted:()=>pB,requestPermission:()=>hB,sendNotification:()=>mB});async function pB(){return window.Notification.permission!=="default"?Promise.resolve(window.Notification.permission==="granted"):le({__tauriModule:"Notification",message:{cmd:"isNotificationPermissionGranted"}})}async function hB(){return window.Notification.requestPermission()}function mB(t){typeof t=="string"?new window.Notification(t):new window.Notification(t.title,t)}function Tv(){return navigator.appVersion.includes("Win")}var gB={};Bt(gB,{EOL:()=>yB,arch:()=>_B,locale:()=>xB,platform:()=>bB,tempdir:()=>SB,type:()=>CB,version:()=>wB});var yB=Tv()?`\r
`:`
-`;async function wB(){return le({__tauriModule:"Os",message:{cmd:"platform"}})}async function CB(){return le({__tauriModule:"Os",message:{cmd:"version"}})}async function _B(){return le({__tauriModule:"Os",message:{cmd:"osType"}})}async function SB(){return le({__tauriModule:"Os",message:{cmd:"arch"}})}async function xB(){return le({__tauriModule:"Os",message:{cmd:"tempdir"}})}async function PB(){return le({__tauriModule:"Os",message:{cmd:"locale"}})}var Ao={};Bt(Ao,{BaseDirectory:()=>fs,Dir:()=>fs,copyFile:()=>NB,createDir:()=>AB,exists:()=>RB,readBinaryFile:()=>EB,readDir:()=>IB,readTextFile:()=>OB,removeDir:()=>MB,removeFile:()=>kB,renameFile:()=>$B,writeBinaryFile:()=>TB,writeFile:()=>yy,writeTextFile:()=>yy});var fs=(t=>(t[t.Audio=1]="Audio",t[t.Cache=2]="Cache",t[t.Config=3]="Config",t[t.Data=4]="Data",t[t.LocalData=5]="LocalData",t[t.Desktop=6]="Desktop",t[t.Document=7]="Document",t[t.Download=8]="Download",t[t.Executable=9]="Executable",t[t.Font=10]="Font",t[t.Home=11]="Home",t[t.Picture=12]="Picture",t[t.Public=13]="Public",t[t.Runtime=14]="Runtime",t[t.Template=15]="Template",t[t.Video=16]="Video",t[t.Resource=17]="Resource",t[t.App=18]="App",t[t.Log=19]="Log",t[t.Temp=20]="Temp",t[t.AppConfig=21]="AppConfig",t[t.AppData=22]="AppData",t[t.AppLocalData=23]="AppLocalData",t[t.AppCache=24]="AppCache",t[t.AppLog=25]="AppLog",t))(fs||{});async function OB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"readTextFile",path:t,options:e}})}async function EB(t,e={}){let n=await le({__tauriModule:"Fs",message:{cmd:"readFile",path:t,options:e}});return Uint8Array.from(n)}async function yy(t,e,n){typeof n=="object"&&Object.freeze(n),typeof t=="object"&&Object.freeze(t);let r={path:"",contents:""},a=n;return typeof t=="string"?r.path=t:(r.path=t.path,r.contents=t.contents),typeof e=="string"?r.contents=e??"":a=e,le({__tauriModule:"Fs",message:{cmd:"writeFile",path:r.path,contents:Array.from(new TextEncoder().encode(r.contents)),options:a}})}async function TB(t,e,n){typeof n=="object"&&Object.freeze(n),typeof t=="object"&&Object.freeze(t);let r={path:"",contents:[]},a=n;return typeof t=="string"?r.path=t:(r.path=t.path,r.contents=t.contents),e&&"dir"in e?a=e:typeof t=="string"&&(r.contents=e??[]),le({__tauriModule:"Fs",message:{cmd:"writeFile",path:r.path,contents:Array.from(r.contents instanceof ArrayBuffer?new Uint8Array(r.contents):r.contents),options:a}})}async function IB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"readDir",path:t,options:e}})}async function AB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"createDir",path:t,options:e}})}async function MB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"removeDir",path:t,options:e}})}async function NB(t,e,n={}){return le({__tauriModule:"Fs",message:{cmd:"copyFile",source:t,destination:e,options:n}})}async function kB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"removeFile",path:t,options:e}})}async function $B(t,e,n={}){return le({__tauriModule:"Fs",message:{cmd:"renameFile",oldPath:t,newPath:e,options:n}})}async function RB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"exists",path:t,options:e}})}var LB={};Bt(LB,{BaseDirectory:()=>fs,appCacheDir:()=>jB,appConfigDir:()=>h_,appDataDir:()=>FB,appDir:()=>DB,appLocalDataDir:()=>BB,appLogDir:()=>m_,audioDir:()=>zB,basename:()=>vj,cacheDir:()=>WB,configDir:()=>VB,dataDir:()=>HB,delimiter:()=>lj,desktopDir:()=>UB,dirname:()=>fj,documentDir:()=>KB,downloadDir:()=>GB,executableDir:()=>qB,extname:()=>dj,fontDir:()=>YB,homeDir:()=>XB,isAbsolute:()=>pj,join:()=>cj,localDataDir:()=>JB,logDir:()=>ij,normalize:()=>uj,pictureDir:()=>QB,publicDir:()=>ZB,resolve:()=>sj,resolveResource:()=>tj,resourceDir:()=>ej,runtimeDir:()=>nj,sep:()=>oj,templateDir:()=>rj,videoDir:()=>aj});async function DB(){return h_()}async function h_(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:21}})}async function FB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:22}})}async function BB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:23}})}async function jB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:24}})}async function zB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:1}})}async function WB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:2}})}async function VB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:3}})}async function HB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:4}})}async function UB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:6}})}async function KB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:7}})}async function GB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:8}})}async function qB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:9}})}async function YB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:10}})}async function XB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:11}})}async function JB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:5}})}async function QB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:12}})}async function ZB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:13}})}async function ej(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:17}})}async function tj(t){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:t,directory:17}})}async function nj(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:14}})}async function rj(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:15}})}async function aj(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:16}})}async function ij(){return m_()}async function m_(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:25}})}var oj=Tv()?"\\":"/",lj=Tv()?";":":";async function sj(...t){return le({__tauriModule:"Path",message:{cmd:"resolve",paths:t}})}async function uj(t){return le({__tauriModule:"Path",message:{cmd:"normalize",path:t}})}async function cj(...t){return le({__tauriModule:"Path",message:{cmd:"join",paths:t}})}async function fj(t){return le({__tauriModule:"Path",message:{cmd:"dirname",path:t}})}async function dj(t){return le({__tauriModule:"Path",message:{cmd:"extname",path:t}})}async function vj(t,e){return le({__tauriModule:"Path",message:{cmd:"basename",path:t,ext:e}})}async function pj(t){return le({__tauriModule:"Path",message:{cmd:"isAbsolute",path:t}})}var hj={};Bt(hj,{exit:()=>mj,relaunch:()=>g_});async function mj(t=0){return le({__tauriModule:"Process",message:{cmd:"exit",exitCode:t}})}async function g_(){return le({__tauriModule:"Process",message:{cmd:"relaunch"}})}var gj={};Bt(gj,{Child:()=>y_,Command:()=>b_,EventEmitter:()=>Dl,open:()=>bj});async function yj(t,e,n=[],r){return typeof n=="object"&&Object.freeze(n),le({__tauriModule:"Shell",message:{cmd:"execute",program:e,args:n,options:r,onEventFn:xa(t)}})}var Dl=class{constructor(){this.eventListeners=Object.create(null)}addListener(e,n){return this.on(e,n)}removeListener(e,n){return this.off(e,n)}on(e,n){return e in this.eventListeners?this.eventListeners[e].push(n):this.eventListeners[e]=[n],this}once(e,n){let r=(...a)=>{this.removeListener(e,r),n(...a)};return this.addListener(e,r)}off(e,n){return e in this.eventListeners&&(this.eventListeners[e]=this.eventListeners[e].filter(r=>r!==n)),this}removeAllListeners(e){return e?delete this.eventListeners[e]:this.eventListeners=Object.create(null),this}emit(e,...n){if(e in this.eventListeners){let r=this.eventListeners[e];for(let a of r)a(...n);return!0}return!1}listenerCount(e){return e in this.eventListeners?this.eventListeners[e].length:0}prependListener(e,n){return e in this.eventListeners?this.eventListeners[e].unshift(n):this.eventListeners[e]=[n],this}prependOnceListener(e,n){let r=(...a)=>{this.removeListener(e,r),n(...a)};return this.prependListener(e,r)}},y_=class{constructor(e){this.pid=e}async write(e){return le({__tauriModule:"Shell",message:{cmd:"stdinWrite",pid:this.pid,buffer:typeof e=="string"?e:Array.from(e)}})}async kill(){return le({__tauriModule:"Shell",message:{cmd:"killChild",pid:this.pid}})}},b_=class extends Dl{constructor(e,n=[],r){super(),this.stdout=new Dl,this.stderr=new Dl,this.program=e,this.args=typeof n=="string"?[n]:n,this.options=r??{}}static sidecar(e,n=[],r){let a=new b_(e,n,r);return a.options.sidecar=!0,a}async spawn(){return yj(e=>{switch(e.event){case"Error":this.emit("error",e.payload);break;case"Terminated":this.emit("close",e.payload);break;case"Stdout":this.stdout.emit("data",e.payload);break;case"Stderr":this.stderr.emit("data",e.payload);break}},this.program,this.args,this.options).then(e=>new y_(e))}async execute(){return new Promise((e,n)=>{this.on("error",n);let r=[],a=[];this.stdout.on("data",i=>{r.push(i)}),this.stderr.on("data",i=>{a.push(i)}),this.on("close",i=>{e({code:i.code,signal:i.signal,stdout:r.join(`
+`;async function bB(){return le({__tauriModule:"Os",message:{cmd:"platform"}})}async function wB(){return le({__tauriModule:"Os",message:{cmd:"version"}})}async function CB(){return le({__tauriModule:"Os",message:{cmd:"osType"}})}async function _B(){return le({__tauriModule:"Os",message:{cmd:"arch"}})}async function SB(){return le({__tauriModule:"Os",message:{cmd:"tempdir"}})}async function xB(){return le({__tauriModule:"Os",message:{cmd:"locale"}})}var Ao={};Bt(Ao,{BaseDirectory:()=>fs,Dir:()=>fs,copyFile:()=>MB,createDir:()=>IB,exists:()=>$B,readBinaryFile:()=>OB,readDir:()=>TB,readTextFile:()=>PB,removeDir:()=>AB,removeFile:()=>NB,renameFile:()=>kB,writeBinaryFile:()=>EB,writeFile:()=>yy,writeTextFile:()=>yy});var fs=(t=>(t[t.Audio=1]="Audio",t[t.Cache=2]="Cache",t[t.Config=3]="Config",t[t.Data=4]="Data",t[t.LocalData=5]="LocalData",t[t.Desktop=6]="Desktop",t[t.Document=7]="Document",t[t.Download=8]="Download",t[t.Executable=9]="Executable",t[t.Font=10]="Font",t[t.Home=11]="Home",t[t.Picture=12]="Picture",t[t.Public=13]="Public",t[t.Runtime=14]="Runtime",t[t.Template=15]="Template",t[t.Video=16]="Video",t[t.Resource=17]="Resource",t[t.App=18]="App",t[t.Log=19]="Log",t[t.Temp=20]="Temp",t[t.AppConfig=21]="AppConfig",t[t.AppData=22]="AppData",t[t.AppLocalData=23]="AppLocalData",t[t.AppCache=24]="AppCache",t[t.AppLog=25]="AppLog",t))(fs||{});async function PB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"readTextFile",path:t,options:e}})}async function OB(t,e={}){let n=await le({__tauriModule:"Fs",message:{cmd:"readFile",path:t,options:e}});return Uint8Array.from(n)}async function yy(t,e,n){typeof n=="object"&&Object.freeze(n),typeof t=="object"&&Object.freeze(t);let r={path:"",contents:""},a=n;return typeof t=="string"?r.path=t:(r.path=t.path,r.contents=t.contents),typeof e=="string"?r.contents=e??"":a=e,le({__tauriModule:"Fs",message:{cmd:"writeFile",path:r.path,contents:Array.from(new TextEncoder().encode(r.contents)),options:a}})}async function EB(t,e,n){typeof n=="object"&&Object.freeze(n),typeof t=="object"&&Object.freeze(t);let r={path:"",contents:[]},a=n;return typeof t=="string"?r.path=t:(r.path=t.path,r.contents=t.contents),e&&"dir"in e?a=e:typeof t=="string"&&(r.contents=e??[]),le({__tauriModule:"Fs",message:{cmd:"writeFile",path:r.path,contents:Array.from(r.contents instanceof ArrayBuffer?new Uint8Array(r.contents):r.contents),options:a}})}async function TB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"readDir",path:t,options:e}})}async function IB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"createDir",path:t,options:e}})}async function AB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"removeDir",path:t,options:e}})}async function MB(t,e,n={}){return le({__tauriModule:"Fs",message:{cmd:"copyFile",source:t,destination:e,options:n}})}async function NB(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"removeFile",path:t,options:e}})}async function kB(t,e,n={}){return le({__tauriModule:"Fs",message:{cmd:"renameFile",oldPath:t,newPath:e,options:n}})}async function $B(t,e={}){return le({__tauriModule:"Fs",message:{cmd:"exists",path:t,options:e}})}var RB={};Bt(RB,{BaseDirectory:()=>fs,appCacheDir:()=>BB,appConfigDir:()=>m_,appDataDir:()=>DB,appDir:()=>LB,appLocalDataDir:()=>FB,appLogDir:()=>g_,audioDir:()=>jB,basename:()=>dj,cacheDir:()=>zB,configDir:()=>WB,dataDir:()=>VB,delimiter:()=>oj,desktopDir:()=>HB,dirname:()=>cj,documentDir:()=>UB,downloadDir:()=>KB,executableDir:()=>GB,extname:()=>fj,fontDir:()=>qB,homeDir:()=>YB,isAbsolute:()=>vj,join:()=>uj,localDataDir:()=>XB,logDir:()=>aj,normalize:()=>sj,pictureDir:()=>JB,publicDir:()=>QB,resolve:()=>lj,resolveResource:()=>ej,resourceDir:()=>ZB,runtimeDir:()=>tj,sep:()=>ij,templateDir:()=>nj,videoDir:()=>rj});async function LB(){return m_()}async function m_(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:21}})}async function DB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:22}})}async function FB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:23}})}async function BB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:24}})}async function jB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:1}})}async function zB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:2}})}async function WB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:3}})}async function VB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:4}})}async function HB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:6}})}async function UB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:7}})}async function KB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:8}})}async function GB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:9}})}async function qB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:10}})}async function YB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:11}})}async function XB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:5}})}async function JB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:12}})}async function QB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:13}})}async function ZB(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:17}})}async function ej(t){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:t,directory:17}})}async function tj(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:14}})}async function nj(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:15}})}async function rj(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:16}})}async function aj(){return g_()}async function g_(){return le({__tauriModule:"Path",message:{cmd:"resolvePath",path:"",directory:25}})}var ij=Tv()?"\\":"/",oj=Tv()?";":":";async function lj(...t){return le({__tauriModule:"Path",message:{cmd:"resolve",paths:t}})}async function sj(t){return le({__tauriModule:"Path",message:{cmd:"normalize",path:t}})}async function uj(...t){return le({__tauriModule:"Path",message:{cmd:"join",paths:t}})}async function cj(t){return le({__tauriModule:"Path",message:{cmd:"dirname",path:t}})}async function fj(t){return le({__tauriModule:"Path",message:{cmd:"extname",path:t}})}async function dj(t,e){return le({__tauriModule:"Path",message:{cmd:"basename",path:t,ext:e}})}async function vj(t){return le({__tauriModule:"Path",message:{cmd:"isAbsolute",path:t}})}var pj={};Bt(pj,{exit:()=>hj,relaunch:()=>y_});async function hj(t=0){return le({__tauriModule:"Process",message:{cmd:"exit",exitCode:t}})}async function y_(){return le({__tauriModule:"Process",message:{cmd:"relaunch"}})}var mj={};Bt(mj,{Child:()=>b_,Command:()=>w_,EventEmitter:()=>Dl,open:()=>yj});async function gj(t,e,n=[],r){return typeof n=="object"&&Object.freeze(n),le({__tauriModule:"Shell",message:{cmd:"execute",program:e,args:n,options:r,onEventFn:xa(t)}})}var Dl=class{constructor(){this.eventListeners=Object.create(null)}addListener(e,n){return this.on(e,n)}removeListener(e,n){return this.off(e,n)}on(e,n){return e in this.eventListeners?this.eventListeners[e].push(n):this.eventListeners[e]=[n],this}once(e,n){let r=(...a)=>{this.removeListener(e,r),n(...a)};return this.addListener(e,r)}off(e,n){return e in this.eventListeners&&(this.eventListeners[e]=this.eventListeners[e].filter(r=>r!==n)),this}removeAllListeners(e){return e?delete this.eventListeners[e]:this.eventListeners=Object.create(null),this}emit(e,...n){if(e in this.eventListeners){let r=this.eventListeners[e];for(let a of r)a(...n);return!0}return!1}listenerCount(e){return e in this.eventListeners?this.eventListeners[e].length:0}prependListener(e,n){return e in this.eventListeners?this.eventListeners[e].unshift(n):this.eventListeners[e]=[n],this}prependOnceListener(e,n){let r=(...a)=>{this.removeListener(e,r),n(...a)};return this.prependListener(e,r)}},b_=class{constructor(e){this.pid=e}async write(e){return le({__tauriModule:"Shell",message:{cmd:"stdinWrite",pid:this.pid,buffer:typeof e=="string"?e:Array.from(e)}})}async kill(){return le({__tauriModule:"Shell",message:{cmd:"killChild",pid:this.pid}})}},w_=class extends Dl{constructor(e,n=[],r){super(),this.stdout=new Dl,this.stderr=new Dl,this.program=e,this.args=typeof n=="string"?[n]:n,this.options=r??{}}static sidecar(e,n=[],r){let a=new w_(e,n,r);return a.options.sidecar=!0,a}async spawn(){return gj(e=>{switch(e.event){case"Error":this.emit("error",e.payload);break;case"Terminated":this.emit("close",e.payload);break;case"Stdout":this.stdout.emit("data",e.payload);break;case"Stderr":this.stderr.emit("data",e.payload);break}},this.program,this.args,this.options).then(e=>new b_(e))}async execute(){return new Promise((e,n)=>{this.on("error",n);let r=[],a=[];this.stdout.on("data",i=>{r.push(i)}),this.stderr.on("data",i=>{a.push(i)}),this.on("close",i=>{e({code:i.code,signal:i.signal,stdout:r.join(`
`),stderr:a.join(`
-`)})}),this.spawn().catch(n)})}};async function bj(t,e){return le({__tauriModule:"Shell",message:{cmd:"open",path:t,with:e}})}var wj={};Bt(wj,{getName:()=>_j,getTauriVersion:()=>Sj,getVersion:()=>Cj,hide:()=>Pj,show:()=>xj});async function Cj(){return le({__tauriModule:"App",message:{cmd:"getAppVersion"}})}async function _j(){return le({__tauriModule:"App",message:{cmd:"getAppName"}})}async function Sj(){return le({__tauriModule:"App",message:{cmd:"getTauriVersion"}})}async function xj(){return le({__tauriModule:"App",message:{cmd:"show"}})}async function Pj(){return le({__tauriModule:"App",message:{cmd:"hide"}})}var Oj={};Bt(Oj,{getMatches:()=>Ej});async function Ej(){return le({__tauriModule:"Cli",message:{cmd:"cliMatches"}})}var Tj={};Bt(Tj,{readText:()=>Aj,writeText:()=>Ij});async function Ij(t){return le({__tauriModule:"Clipboard",message:{cmd:"writeText",data:t}})}async function Aj(){return le({__tauriModule:"Clipboard",message:{cmd:"readText",data:null}})}var Mj={};Bt(Mj,{ask:()=>$j,confirm:()=>Rj,message:()=>kj,open:()=>w_,save:()=>Nj});async function w_(t={}){return typeof t=="object"&&Object.freeze(t),le({__tauriModule:"Dialog",message:{cmd:"openDialog",options:t}})}async function Nj(t={}){return typeof t=="object"&&Object.freeze(t),le({__tauriModule:"Dialog",message:{cmd:"saveDialog",options:t}})}async function kj(t,e){var r,a;let n=typeof e=="string"?{title:e}:e;return le({__tauriModule:"Dialog",message:{cmd:"messageDialog",message:t.toString(),title:(r=n==null?void 0:n.title)==null?void 0:r.toString(),type:n==null?void 0:n.type,buttonLabel:(a=n==null?void 0:n.okLabel)==null?void 0:a.toString()}})}async function $j(t,e){var r,a,i;let n=typeof e=="string"?{title:e}:e;return le({__tauriModule:"Dialog",message:{cmd:"askDialog",message:t.toString(),title:(r=n==null?void 0:n.title)==null?void 0:r.toString(),type:n==null?void 0:n.type,buttonLabels:[((a=n==null?void 0:n.okLabel)==null?void 0:a.toString())??"Yes",((i=n==null?void 0:n.cancelLabel)==null?void 0:i.toString())??"No"]}})}async function Rj(t,e){var r,a,i;let n=typeof e=="string"?{title:e}:e;return le({__tauriModule:"Dialog",message:{cmd:"confirmDialog",message:t.toString(),title:(r=n==null?void 0:n.title)==null?void 0:r.toString(),type:n==null?void 0:n.type,buttonLabels:[((a=n==null?void 0:n.okLabel)==null?void 0:a.toString())??"Ok",((i=n==null?void 0:n.cancelLabel)==null?void 0:i.toString())??"Cancel"]}})}var Lj={};Bt(Lj,{isRegistered:()=>Bj,register:()=>Dj,registerAll:()=>Fj,unregister:()=>jj,unregisterAll:()=>zj});async function Dj(t,e){return le({__tauriModule:"GlobalShortcut",message:{cmd:"register",shortcut:t,handler:xa(e)}})}async function Fj(t,e){return le({__tauriModule:"GlobalShortcut",message:{cmd:"registerAll",shortcuts:t,handler:xa(e)}})}async function Bj(t){return le({__tauriModule:"GlobalShortcut",message:{cmd:"isRegistered",shortcut:t}})}async function jj(t){return le({__tauriModule:"GlobalShortcut",message:{cmd:"unregister",shortcut:t}})}async function zj(){return le({__tauriModule:"GlobalShortcut",message:{cmd:"unregisterAll"}})}var Wj={};Bt(Wj,{Body:()=>Ui,Client:()=>S_,Response:()=>__,ResponseType:()=>C_,fetch:()=>Vj,getClient:()=>x_});var C_=(t=>(t[t.JSON=1]="JSON",t[t.Text=2]="Text",t[t.Binary=3]="Binary",t))(C_||{}),Ui=class{constructor(t,e){this.type=t,this.payload=e}static form(t){let e={},n=(r,a)=>{if(a!==null){let i;typeof a=="string"?i=a:a instanceof Uint8Array||Array.isArray(a)?i=Array.from(a):a instanceof File?i={file:a.name,mime:a.type,fileName:a.name}:typeof a.file=="string"?i={file:a.file,mime:a.mime,fileName:a.fileName}:i={file:Array.from(a.file),mime:a.mime,fileName:a.fileName},e[String(r)]=i}};if(t instanceof FormData)for(let[r,a]of t)n(r,a);else for(let[r,a]of Object.entries(t))n(r,a);return new Ui("Form",e)}static json(t){return new Ui("Json",t)}static text(t){return new Ui("Text",t)}static bytes(t){return new Ui("Bytes",Array.from(t instanceof ArrayBuffer?new Uint8Array(t):t))}},__=class{constructor(t){this.url=t.url,this.status=t.status,this.ok=this.status>=200&&this.status<300,this.headers=t.headers,this.rawHeaders=t.rawHeaders,this.data=t.data}},S_=class{constructor(t){this.id=t}async drop(){return le({__tauriModule:"Http",message:{cmd:"dropClient",client:this.id}})}async request(t){let e=!t.responseType||t.responseType===1;return e&&(t.responseType=2),le({__tauriModule:"Http",message:{cmd:"httpRequest",client:this.id,options:t}}).then(n=>{let r=new __(n);if(e){try{r.data=JSON.parse(r.data)}catch(a){if(r.ok&&r.data==="")r.data={};else if(r.ok)throw Error(`Failed to parse response \`${r.data}\` as JSON: ${a};
- try setting the \`responseType\` option to \`ResponseType.Text\` or \`ResponseType.Binary\` if the API does not return a JSON response.`)}return r}return r})}async get(t,e){return this.request({method:"GET",url:t,...e})}async post(t,e,n){return this.request({method:"POST",url:t,body:e,...n})}async put(t,e,n){return this.request({method:"PUT",url:t,body:e,...n})}async patch(t,e){return this.request({method:"PATCH",url:t,...e})}async delete(t,e){return this.request({method:"DELETE",url:t,...e})}};async function x_(t){return le({__tauriModule:"Http",message:{cmd:"createClient",options:t}}).then(e=>new S_(e))}var nc=null;async function Vj(t,e){return nc===null&&(nc=await x_()),nc.request({url:t,method:(e==null?void 0:e.method)??"GET",...e})}var Hj=lu;const ds=W(),Uj=async()=>{if(console.log({BASE_URL:"/infinite_image_browsing/fe-static",MODE:"production",DEV:!1,PROD:!0,SSR:!1}),!!{}.TAURI_ARCH)try{ds.value=await Hj("get_tauri_conf")}catch(t){console.error(t)}},Iv=K(()=>ds.value?`http://127.0.0.1:${ds.value.port}/infinite_image_browsing`:"/infinite_image_browsing"),Kj=t=>{const e=my.hash.sha256.hash(t);return my.codec.hex.fromBits(e)},Gj=t=>{t.interceptors.response.use(e=>e,async e=>{var n,r,a;if(N6(e)){if(((n=e.response)==null?void 0:n.status)===401){const o=await new Promise(l=>{const s=W("");Xt.confirm({title:Te("serverKeyRequired"),content:()=>wa(At,{value:s.value,"onUpdate:value":u=>s.value=u}),onOk(){l(s.value)}})});if(!o)return;b5.set("IIB_S",Kj(o+"_ciallo")),await ou(100),location.reload()}const i=((a=(r=e.response)==null?void 0:r.data)==null?void 0:a.detail)??Te("errorOccurred");throw ya.error(i),new Error(i)}return e})},Si=K(()=>{const t=P1.create({baseURL:Iv.value});return Gj(t),t}),qj=async()=>(await Si.value.get("/global_setting")).data,Yj=async t=>(await Si.value.post("/check_path_exists",{paths:t})).data,I9=async t=>Si.value.post(`/send_img_path?path=${encodeURIComponent(t)}`),A9=async()=>(await Si.value.get("/gen_info_completed",{timeout:6e4})).data,M9=async t=>(await Si.value.get(`/image_geninfo?path=${encodeURIComponent(t)}`)).data,N9=async t=>{await Si.value.post("/open_folder",{path:t})},Xj=()=>({"date-asc":Te("sortByDateAscending"),"date-desc":Te("sortByDateDescending"),"name-asc":Te("sortByNameAscending"),"name-desc":Te("sortByNameDescending"),"size-asc":Te("sortBySizeAscending"),"size-desc":Te("sortBySizeDescending"),"created-time-asc":Te("sortByCreatedDateAscending"),"created-time-desc":Te("sortByCreatedDateDescending")});var Av=(t=>(t.DATE_ASC="date-asc",t.DATE_DESC="date-desc",t.NAME_ASC="name-asc",t.NAME_DESC="name-desc",t.SIZE_ASC="size-asc",t.SIZE_DESC="size-desc",t.CREATED_TIME_ASC="created-time-asc",t.CREATED_TIME_DESC="created-time-desc",t))(Av||{});const k9=Object.values(Av),$9={value:t=>t,text:t=>Te("sortBy")+" "+Xj()[t].toLocaleLowerCase()},Jj=(t,e)=>{const n=t.type==="dir"?1:0;return(e.type==="dir"?1:0)-n},by=(t,e)=>{const n=Date.parse(t.date),r=Date.parse(e.date);return n-r},wy=(t,e)=>{const n=Date.parse(t.created_time),r=Date.parse(e.created_time);return n-r},Cy=(t,e)=>{const n=t.name.toLowerCase(),r=e.name.toLowerCase();return n.localeCompare(r)},_y=(t,e)=>t.bytes-e.bytes,R9=(t,e)=>{const n=(r,a)=>{switch(e){case"date-asc":return by(r,a);case"date-desc":return by(a,r);case"created-time-asc":return wy(r,a);case"created-time-desc":return wy(a,r);case"name-asc":return Cy(r,a);case"name-desc":return Cy(a,r);case"size-asc":return _y(r,a);case"size-desc":return _y(a,r);default:throw new Error(`Invalid sort method: ${e}`)}};return t.slice().sort((r,a)=>Jj(r,a)||n(r,a))};function P_(t){return!!/^(?:\/|[a-z]:\/)/i.test(xn(t))}function xn(t){if(!t)return"";t=t.replace(/\\/g,"/"),t=t.replace(/\/+/g,"/");const e=t.split("/"),n=[];for(let i=0;i{const n=P_(t)?t:xn(O_(e,t));return xn(n)},D9=t=>{t=xn(t);const e=t.split("/").filter(n=>n);return e[0].endsWith(":")&&(e[0]=e[0]+"/"),e};var Qj=!1;/*!
+`)})}),this.spawn().catch(n)})}};async function yj(t,e){return le({__tauriModule:"Shell",message:{cmd:"open",path:t,with:e}})}var bj={};Bt(bj,{getName:()=>Cj,getTauriVersion:()=>_j,getVersion:()=>wj,hide:()=>xj,show:()=>Sj});async function wj(){return le({__tauriModule:"App",message:{cmd:"getAppVersion"}})}async function Cj(){return le({__tauriModule:"App",message:{cmd:"getAppName"}})}async function _j(){return le({__tauriModule:"App",message:{cmd:"getTauriVersion"}})}async function Sj(){return le({__tauriModule:"App",message:{cmd:"show"}})}async function xj(){return le({__tauriModule:"App",message:{cmd:"hide"}})}var Pj={};Bt(Pj,{getMatches:()=>Oj});async function Oj(){return le({__tauriModule:"Cli",message:{cmd:"cliMatches"}})}var Ej={};Bt(Ej,{readText:()=>Ij,writeText:()=>Tj});async function Tj(t){return le({__tauriModule:"Clipboard",message:{cmd:"writeText",data:t}})}async function Ij(){return le({__tauriModule:"Clipboard",message:{cmd:"readText",data:null}})}var Aj={};Bt(Aj,{ask:()=>kj,confirm:()=>$j,message:()=>Nj,open:()=>C_,save:()=>Mj});async function C_(t={}){return typeof t=="object"&&Object.freeze(t),le({__tauriModule:"Dialog",message:{cmd:"openDialog",options:t}})}async function Mj(t={}){return typeof t=="object"&&Object.freeze(t),le({__tauriModule:"Dialog",message:{cmd:"saveDialog",options:t}})}async function Nj(t,e){var r,a;let n=typeof e=="string"?{title:e}:e;return le({__tauriModule:"Dialog",message:{cmd:"messageDialog",message:t.toString(),title:(r=n==null?void 0:n.title)==null?void 0:r.toString(),type:n==null?void 0:n.type,buttonLabel:(a=n==null?void 0:n.okLabel)==null?void 0:a.toString()}})}async function kj(t,e){var r,a,i;let n=typeof e=="string"?{title:e}:e;return le({__tauriModule:"Dialog",message:{cmd:"askDialog",message:t.toString(),title:(r=n==null?void 0:n.title)==null?void 0:r.toString(),type:n==null?void 0:n.type,buttonLabels:[((a=n==null?void 0:n.okLabel)==null?void 0:a.toString())??"Yes",((i=n==null?void 0:n.cancelLabel)==null?void 0:i.toString())??"No"]}})}async function $j(t,e){var r,a,i;let n=typeof e=="string"?{title:e}:e;return le({__tauriModule:"Dialog",message:{cmd:"confirmDialog",message:t.toString(),title:(r=n==null?void 0:n.title)==null?void 0:r.toString(),type:n==null?void 0:n.type,buttonLabels:[((a=n==null?void 0:n.okLabel)==null?void 0:a.toString())??"Ok",((i=n==null?void 0:n.cancelLabel)==null?void 0:i.toString())??"Cancel"]}})}var Rj={};Bt(Rj,{isRegistered:()=>Fj,register:()=>Lj,registerAll:()=>Dj,unregister:()=>Bj,unregisterAll:()=>jj});async function Lj(t,e){return le({__tauriModule:"GlobalShortcut",message:{cmd:"register",shortcut:t,handler:xa(e)}})}async function Dj(t,e){return le({__tauriModule:"GlobalShortcut",message:{cmd:"registerAll",shortcuts:t,handler:xa(e)}})}async function Fj(t){return le({__tauriModule:"GlobalShortcut",message:{cmd:"isRegistered",shortcut:t}})}async function Bj(t){return le({__tauriModule:"GlobalShortcut",message:{cmd:"unregister",shortcut:t}})}async function jj(){return le({__tauriModule:"GlobalShortcut",message:{cmd:"unregisterAll"}})}var zj={};Bt(zj,{Body:()=>Ui,Client:()=>x_,Response:()=>S_,ResponseType:()=>__,fetch:()=>Wj,getClient:()=>P_});var __=(t=>(t[t.JSON=1]="JSON",t[t.Text=2]="Text",t[t.Binary=3]="Binary",t))(__||{}),Ui=class{constructor(t,e){this.type=t,this.payload=e}static form(t){let e={},n=(r,a)=>{if(a!==null){let i;typeof a=="string"?i=a:a instanceof Uint8Array||Array.isArray(a)?i=Array.from(a):a instanceof File?i={file:a.name,mime:a.type,fileName:a.name}:typeof a.file=="string"?i={file:a.file,mime:a.mime,fileName:a.fileName}:i={file:Array.from(a.file),mime:a.mime,fileName:a.fileName},e[String(r)]=i}};if(t instanceof FormData)for(let[r,a]of t)n(r,a);else for(let[r,a]of Object.entries(t))n(r,a);return new Ui("Form",e)}static json(t){return new Ui("Json",t)}static text(t){return new Ui("Text",t)}static bytes(t){return new Ui("Bytes",Array.from(t instanceof ArrayBuffer?new Uint8Array(t):t))}},S_=class{constructor(t){this.url=t.url,this.status=t.status,this.ok=this.status>=200&&this.status<300,this.headers=t.headers,this.rawHeaders=t.rawHeaders,this.data=t.data}},x_=class{constructor(t){this.id=t}async drop(){return le({__tauriModule:"Http",message:{cmd:"dropClient",client:this.id}})}async request(t){let e=!t.responseType||t.responseType===1;return e&&(t.responseType=2),le({__tauriModule:"Http",message:{cmd:"httpRequest",client:this.id,options:t}}).then(n=>{let r=new S_(n);if(e){try{r.data=JSON.parse(r.data)}catch(a){if(r.ok&&r.data==="")r.data={};else if(r.ok)throw Error(`Failed to parse response \`${r.data}\` as JSON: ${a};
+ try setting the \`responseType\` option to \`ResponseType.Text\` or \`ResponseType.Binary\` if the API does not return a JSON response.`)}return r}return r})}async get(t,e){return this.request({method:"GET",url:t,...e})}async post(t,e,n){return this.request({method:"POST",url:t,body:e,...n})}async put(t,e,n){return this.request({method:"PUT",url:t,body:e,...n})}async patch(t,e){return this.request({method:"PATCH",url:t,...e})}async delete(t,e){return this.request({method:"DELETE",url:t,...e})}};async function P_(t){return le({__tauriModule:"Http",message:{cmd:"createClient",options:t}}).then(e=>new x_(e))}var nc=null;async function Wj(t,e){return nc===null&&(nc=await P_()),nc.request({url:t,method:(e==null?void 0:e.method)??"GET",...e})}var Vj=lu;const ds=W(),Hj=async()=>{if(console.log({BASE_URL:"/infinite_image_browsing/fe-static",MODE:"production",DEV:!1,PROD:!0,SSR:!1}),!!{}.TAURI_ARCH)try{ds.value=await Vj("get_tauri_conf")}catch(t){console.error(t)}},Iv=K(()=>ds.value?`http://127.0.0.1:${ds.value.port}/infinite_image_browsing`:"/infinite_image_browsing"),Uj=t=>{const e=my.hash.sha256.hash(t);return my.codec.hex.fromBits(e)},Kj=t=>{t.interceptors.response.use(e=>e,async e=>{var n,r,a;if(N6(e)){if(((n=e.response)==null?void 0:n.status)===401){const o=await new Promise(l=>{const s=W("");Xt.confirm({title:Te("serverKeyRequired"),content:()=>wa(At,{value:s.value,"onUpdate:value":u=>s.value=u}),onOk(){l(s.value)}})});if(!o)return;b5.set("IIB_S",Uj(o+"_ciallo")),await ou(100),location.reload()}const i=((a=(r=e.response)==null?void 0:r.data)==null?void 0:a.detail)??Te("errorOccurred");throw ya.error(i),new Error(i)}return e})},Si=K(()=>{const t=P1.create({baseURL:Iv.value});return Kj(t),t}),Gj=async()=>(await Si.value.get("/global_setting")).data,qj=async t=>(await Si.value.post("/check_path_exists",{paths:t})).data,A9=async t=>Si.value.post(`/send_img_path?path=${encodeURIComponent(t)}`),M9=async()=>(await Si.value.get("/gen_info_completed",{timeout:6e4})).data,N9=async t=>(await Si.value.get(`/image_geninfo?path=${encodeURIComponent(t)}`)).data,k9=async t=>{await Si.value.post("/open_folder",{path:t})},Yj=()=>({"date-asc":Te("sortByDateAscending"),"date-desc":Te("sortByDateDescending"),"name-asc":Te("sortByNameAscending"),"name-desc":Te("sortByNameDescending"),"size-asc":Te("sortBySizeAscending"),"size-desc":Te("sortBySizeDescending"),"created-time-asc":Te("sortByCreatedDateAscending"),"created-time-desc":Te("sortByCreatedDateDescending")});var Av=(t=>(t.DATE_ASC="date-asc",t.DATE_DESC="date-desc",t.NAME_ASC="name-asc",t.NAME_DESC="name-desc",t.SIZE_ASC="size-asc",t.SIZE_DESC="size-desc",t.CREATED_TIME_ASC="created-time-asc",t.CREATED_TIME_DESC="created-time-desc",t))(Av||{});const $9=Object.values(Av),R9={value:t=>t,text:t=>Te("sortBy")+" "+Yj()[t].toLocaleLowerCase()},Xj=(t,e)=>{const n=t.type==="dir"?1:0;return(e.type==="dir"?1:0)-n},by=(t,e)=>{const n=Date.parse(t.date),r=Date.parse(e.date);return n-r},wy=(t,e)=>{const n=Date.parse(t.created_time),r=Date.parse(e.created_time);return n-r},Cy=(t,e)=>{const n=t.name.toLowerCase(),r=e.name.toLowerCase();return n.localeCompare(r)},_y=(t,e)=>t.bytes-e.bytes,L9=(t,e)=>{const n=(r,a)=>{switch(e){case"date-asc":return by(r,a);case"date-desc":return by(a,r);case"created-time-asc":return wy(r,a);case"created-time-desc":return wy(a,r);case"name-asc":return Cy(r,a);case"name-desc":return Cy(a,r);case"size-asc":return _y(r,a);case"size-desc":return _y(a,r);default:throw new Error(`Invalid sort method: ${e}`)}};return t.slice().sort((r,a)=>Xj(r,a)||n(r,a))};function O_(t){return!!/^(?:\/|[a-z]:\/)/i.test(xn(t))}function xn(t){if(!t)return"";t=t.replace(/\\/g,"/"),t=t.replace(/\/+/g,"/");const e=t.split("/"),n=[];for(let i=0;i{const n=O_(t)?t:xn(E_(e,t));return xn(n)},F9=t=>{t=xn(t);const e=t.split("/").filter(n=>n);return e[0].endsWith(":")&&(e[0]=e[0]+"/"),e};var Jj=!1;/*!
* pinia v2.1.3
* (c) 2023 Eduardo San Martin Morote
* @license MIT
- */let E_;const su=t=>E_=t,T_=Symbol();function yf(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ro;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(ro||(ro={}));function Zj(){const t=Of(!0),e=t.run(()=>W({}));let n=[],r=[];const a=Cs({install(i){su(a),a._a=i,i.provide(T_,a),i.config.globalProperties.$pinia=a,r.forEach(o=>n.push(o)),r=[]},use(i){return!this._a&&!Qj?r.push(i):n.push(i),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return a}const I_=()=>{};function Sy(t,e,n,r=I_){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),r())};return!n&&Ef()&&Uy(a),a}function Da(t,...e){t.slice().forEach(n=>{n(...e)})}const ez=t=>t();function bf(t,e){t instanceof Map&&e instanceof Map&&e.forEach((n,r)=>t.set(r,n)),t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const r=e[n],a=t[n];yf(a)&&yf(r)&&t.hasOwnProperty(n)&&!tt(r)&&!wr(r)?t[n]=bf(a,r):t[n]=r}return t}const tz=Symbol();function nz(t){return!yf(t)||!t.hasOwnProperty(tz)}const{assign:Rr}=Object;function rz(t){return!!(tt(t)&&t.effect)}function az(t,e,n,r){const{state:a,actions:i,getters:o}=e,l=n.state.value[t];let s;function u(){l||(n.state.value[t]=a?a():{});const f=ib(n.state.value[t]);return Rr(f,i,Object.keys(o||{}).reduce((v,h)=>(v[h]=Cs(K(()=>{su(n);const g=n._s.get(t);return o[h].call(g,g)})),v),{}))}return s=A_(t,u,e,n,r,!0),s}function A_(t,e,n={},r,a,i){let o;const l=Rr({actions:{}},n),s={deep:!0};let u,f,v=[],h=[],g;const c=r.state.value[t];!i&&!c&&(r.state.value[t]={}),W({});let d;function m(I){let O;u=f=!1,typeof I=="function"?(I(r.state.value[t]),O={type:ro.patchFunction,storeId:t,events:g}):(bf(r.state.value[t],I),O={type:ro.patchObject,payload:I,storeId:t,events:g});const N=d=Symbol();Ke().then(()=>{d===N&&(u=!0)}),f=!0,Da(v,O,r.state.value[t])}const p=i?function(){const{state:O}=n,N=O?O():{};this.$patch(L=>{Rr(L,N)})}:I_;function y(){o.stop(),v=[],h=[],r._s.delete(t)}function b(I,O){return function(){su(r);const N=Array.from(arguments),L=[],F=[];function j(M){L.push(M)}function z(M){F.push(M)}Da(h,{args:N,name:I,store:C,after:j,onError:z});let $;try{$=O.apply(this&&this.$id===t?this:C,N)}catch(M){throw Da(F,M),M}return $ instanceof Promise?$.then(M=>(Da(L,M),M)).catch(M=>(Da(F,M),Promise.reject(M))):(Da(L,$),$)}}const w={_p:r,$id:t,$onAction:Sy.bind(null,h),$patch:m,$reset:p,$subscribe(I,O={}){const N=Sy(v,I,O.detached,()=>L()),L=o.run(()=>pe(()=>r.state.value[t],F=>{(O.flush==="sync"?f:u)&&I({storeId:t,type:ro.direct,events:g},F)},Rr({},s,O)));return N},$dispose:y},C=ot(w);r._s.set(t,C);const _=r._a&&r._a.runWithContext||ez,P=r._e.run(()=>(o=Of(),_(()=>o.run(e))));for(const I in P){const O=P[I];if(tt(O)&&!rz(O)||wr(O))i||(c&&nz(O)&&(tt(O)?O.value=c[I]:bf(O,c[I])),r.state.value[t][I]=O);else if(typeof O=="function"){const N=b(I,O);P[I]=N,l.actions[I]=O}}return Rr(C,P),Rr(Ne(C),P),Object.defineProperty(C,"$state",{get:()=>r.state.value[t],set:I=>{m(O=>{Rr(O,I)})}}),r._p.forEach(I=>{Rr(C,o.run(()=>I({store:C,app:r._a,pinia:r,options:l})))}),c&&i&&n.hydrate&&n.hydrate(C.$state,c),u=!0,f=!0,C}function M_(t,e,n){let r,a;const i=typeof e=="function";typeof t=="string"?(r=t,a=i?n:e):(a=t,r=t.id);function o(l,s){const u=Ex();return l=l||(u?Ye(T_,null):null),l&&su(l),l=E_,l._s.has(r)||(i?A_(r,e,a,l):az(r,a,l)),l._s.get(r)}return o.$id=r,o}function iz(t){{t=Ne(t);const e={};for(const n in t){const r=t[n];(tt(r)||wr(r))&&(e[n]=Ut(t,n))}return e}}const oz=t=>Yc({...t,name:typeof t.name=="string"?t.name:t.nameFallbackStr??""}),lz=t=>({...t,panes:t.panes.map(oz)}),Wo=M_("useGlobalStore",()=>{const t=W(),e=W([]),n=W(!0),r=W(512),a=W(Av.CREATED_TIME_DESC),i=W(256),o=()=>({type:"empty",name:Te("emptyStartPage"),key:br()}),l=W([]);Re(()=>{const y=o();l.value.push({panes:[y],key:y.key,id:br()})});const s=W(),u=W(new Array),f=Date.now(),v=W(),h=()=>{var b;const y=Ne(l.value).map(lz);((b=v.value)==null?void 0:b[0].time)!==f?v.value=[{tabs:y,time:f},...v.value??[]]:v.value[0].tabs=y,v.value=v.value.slice(0,2)},g=async(y,b,w)=>{let C=l.value.map(P=>P.panes).flat().find(P=>P.type==="tag-search-matched-image-grid"&&P.id===b);if(C){C.selectedTagIds=Yc(w);return}else C={type:"tag-search-matched-image-grid",id:b,selectedTagIds:Yc(w),key:br(),name:Te("searchResults")};const _=l.value[y+1];_?(_.key=C.key,_.panes.push(C)):l.value.push({panes:[C],key:C.key,id:br()})},c=W(G1());pe(c,y=>wv.global.locale.value=y);const d=W(!1),m=W({delete:""}),p=K(()=>{if(!t.value)return{};const{global_setting:y,sd_cwd:b}=t.value,w={[Te("extra")]:y.outdir_extras_samples,[Te("saveButtonSavesTo")]:y.outdir_save,[Te("t2i")]:y.outdir_txt2img_samples,[Te("i2i")]:y.outdir_img2img_samples,[Te("i2i-grid")]:y.outdir_img2img_grids,[Te("t2i-grid")]:y.outdir_txt2img_grids},C=e.value.map(P=>P.dir),_=Object.keys(w).filter(P=>C.includes(w[P])).map(P=>[P,P_(w[P])?xn(w[P]):O_(b,w[P])]);return Object.fromEntries(_)});return{defaultSortingMethod:a,defaultGridCellWidth:i,pathAliasMap:p,createEmptyPane:o,lang:c,tabList:l,conf:t,quickMovePaths:e,enableThumbnail:n,dragingTab:s,saveRecord:h,recent:u,tabListHistoryRecord:v,gridThumbnailResolution:r,longPressOpenContextMenu:d,openTagSearchMatchedImageGridInRight:g,onlyFoldersAndImages:W(!0),fullscreenPreviewInitialUrl:W(""),shortcut:m,dontShowAgain:W(!1),dontShowAgainNewImgOpts:W(!1)}},{persist:{paths:["dontShowAgainNewImgOpts","defaultSortingMethod","defaultGridCellWidth","dontShowAgain","lang","enableThumbnail","tabListHistoryRecord","recent","gridThumbnailResolution","longPressOpenContextMenu","onlyFoldersAndImages","shortcut"]}});function N_(){try{return parent.window.gradioApp()}catch{}const t=parent.document.getElementsByTagName("gradio-app"),e=t.length==0?null:t[0].shadowRoot;return e||document}const sz=()=>{const t=N_().querySelectorAll("#tabs > .tabitem[id^=tab_]");return Array.from(t).findIndex(e=>e.id.includes("infinite-image-browsing"))},uz=()=>{try{N_().querySelector("#tabs").querySelectorAll("button")[sz()].click()}catch(t){console.error(t)}},cz=async(t,e=100,n=1e3)=>new Promise(r=>{const a=(i=0)=>{const o=t();o!=null||i>n/e?r(o):setTimeout(()=>a(++i),e)};a()}),fz=(t,...e)=>e.reduce((n,r)=>(n[r]=t==null?void 0:t[r],n),{});function dz(t){var r;if(typeof t!="string")return!1;const e=[".jpg",".jpeg",".png",".gif",".bmp",".webp"],n=(r=t.split(".").pop())==null?void 0:r.toLowerCase();return n!==void 0&&e.includes(`.${n}`)}const vz=()=>ot(new Io(-1,0,-1,"throw")),F9=async(t,e)=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(t);else{const n=document.createElement("input");n.value=t,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}ya.success(e??Te("copied"))}catch{ya.error("copy failed. maybe it's non-secure environment")}},{useEventListen:pz,eventEmitter:k_}=Y1();function B9(t){let e=null,n=!1;return async function(...r){if(n)return e;n=!0;try{return e=t.apply(this,r),await e}finally{n=!1}}}function hz(t){const e=parent.location.href,n=new URLSearchParams(parent.location.search);t.forEach(a=>{n.delete(a)});const r=`${e.split("?")[0]}${n.size?"?":""}${n.toString()}`;return parent.history.pushState(null,"",r),r}const mz=t=>new Promise((e,n)=>{const r=new Image;r.onload=()=>e(r),r.onerror=a=>n(a),r.src=t}),gz=async({global_setting:t,sd_cwd:e,home:n,extra_paths:r,cwd:a})=>{const i=fz(t,"outdir_grids","outdir_extras_samples","outdir_img2img_grids","outdir_img2img_samples","outdir_grids","outdir_extras_samples","outdir_samples","outdir_txt2img_grids","outdir_txt2img_samples","outdir_save"),o={...i,cwd:e,home:n,desktop:`${n}/Desktop`},l=await Yj(Object.values(o).filter(h=>h)),s={outdir_txt2img_samples:Te("t2i"),outdir_img2img_samples:Te("i2i"),outdir_save:Te("saveButtonSavesTo"),outdir_extras_samples:Te("extra"),outdir_grids:Te("gridImage"),outdir_img2img_grids:Te("i2i-grid"),outdir_samples:Te("image"),outdir_txt2img_grids:Te("t2i-grid"),cwd:Te("workingFolder"),home:"home",desktop:Te("desktop")},u={home:xn(n),[Te("desktop")]:xn(o.desktop),[Te("workingFolder")]:xn(a),[Te("t2i")]:i.outdir_txt2img_samples&&xn(i.outdir_txt2img_samples),[Te("i2i")]:i.outdir_img2img_samples&&xn(i.outdir_img2img_samples)},f=h=>{h=xn(h);const g=[];for(const[c,d]of Object.entries(u))c&&d&&g.push(h.replace(d,"$"+c));return g.sort((c,d)=>c.length-d.length)[0]},v=Object.keys(s).filter(h=>l[o[h]]).map(h=>{const g=h;return{key:g,zh:s[g],dir:o[g],can_delete:!1}}).concat(r.map(h=>({key:h.path,zh:f(h.path),dir:h.path,can_delete:!0})));return S5(v,"key")};const $_={name:"splitpanes",emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce((t,e)=>(t[e.id]=e)&&t,{})}},methods:{updatePaneComponents(){this.panes.forEach(t=>{t.update&&t.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[t.id].size}%`})})},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(t,e){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=e},onMouseMove(t){this.touch.mouseDown&&(t.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(t)),this.$emit("resize",this.panes.map(e=>({min:e.min,max:e.max,size:e.size}))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map(t=>({min:t.min,max:t.max,size:t.size}))),this.touch.mouseDown=!1,setTimeout(()=>{this.touch.dragging=!1,this.unbindEvents()},100)},onSplitterClick(t,e){"ontouchstart"in window&&(t.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===e?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(t,e),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=e,this.splitterTaps.timeoutId=setTimeout(()=>{this.splitterTaps.splitter=null},500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[e])},onSplitterDblClick(t,e){let n=0;this.panes=this.panes.map((r,a)=>(r.size=a===e?r.max:r.min,a!==e&&(n+=r.min),r)),this.panes[e].size-=n,this.$emit("pane-maximize",this.panes[e]),this.$emit("resized",this.panes.map(r=>({min:r.min,max:r.max,size:r.size})))},onPaneClick(t,e){this.$emit("pane-click",this.indexedPanes[e])},getCurrentMouseDrag(t){const e=this.container.getBoundingClientRect(),{clientX:n,clientY:r}="ontouchstart"in window&&t.touches?t.touches[0]:t;return{x:n-e.left,y:r-e.top}},getCurrentDragPercentage(t){t=t[this.horizontal?"y":"x"];const e=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(t=e-t),t*100/e},calculatePanesSize(t){const e=this.touch.activeSplitter;let n={prevPanesSize:this.sumPrevPanesSize(e),nextPanesSize:this.sumNextPanesSize(e),prevReachedMinPanes:0,nextReachedMinPanes:0};const r=0+(this.pushOtherPanes?0:n.prevPanesSize),a=100-(this.pushOtherPanes?0:n.nextPanesSize),i=Math.max(Math.min(this.getCurrentDragPercentage(t),a),r);let o=[e,e+1],l=this.panes[o[0]]||null,s=this.panes[o[1]]||null;const u=l.max<100&&i>=l.max+n.prevPanesSize,f=s.max<100&&i<=100-(s.max+this.sumNextPanesSize(e+1));if(u||f){u?(l.size=l.max,s.size=Math.max(100-l.max-n.prevPanesSize-n.nextPanesSize,0)):(l.size=Math.max(100-s.max-n.prevPanesSize-this.sumNextPanesSize(e+1),0),s.size=s.max);return}if(this.pushOtherPanes){const v=this.doPushOtherPanes(n,i);if(!v)return;({sums:n,panesToResize:o}=v),l=this.panes[o[0]]||null,s=this.panes[o[1]]||null}l!==null&&(l.size=Math.min(Math.max(i-n.prevPanesSize-n.prevReachedMinPanes,l.min),l.max)),s!==null&&(s.size=Math.min(Math.max(100-i-n.nextPanesSize-n.nextReachedMinPanes,s.min),s.max))},doPushOtherPanes(t,e){const n=this.touch.activeSplitter,r=[n,n+1];return e{i>r[0]&&i<=n&&(a.size=a.min,t.prevReachedMinPanes+=a.min)}),t.prevPanesSize=this.sumPrevPanesSize(r[0]),r[0]===void 0)?(t.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((a,i)=>{i>0&&i<=n&&(a.size=a.min,t.prevReachedMinPanes+=a.min)}),this.panes[r[1]].size=100-t.prevReachedMinPanes-this.panes[0].min-t.prevPanesSize-t.nextPanesSize,null):e>100-t.nextPanesSize-this.panes[r[1]].min&&(r[1]=this.findNextExpandedPane(n).index,t.nextReachedMinPanes=0,r[1]>n+1&&this.panes.forEach((a,i)=>{i>n&&i{i=n+1&&(a.size=a.min,t.nextReachedMinPanes+=a.min)}),this.panes[r[0]].size=100-t.prevPanesSize-t.nextReachedMinPanes-this.panes[this.panesCount-1].min-t.nextPanesSize,null):{sums:t,panesToResize:r}},sumPrevPanesSize(t){return this.panes.reduce((e,n,r)=>e+(re+(r>t+1?n.size:0),0)},findPrevExpandedPane(t){return[...this.panes].reverse().find(e=>e.indexe.min)||{}},findNextExpandedPane(t){return this.panes.find(e=>e.index>t+1&&e.size>e.min)||{}},checkSplitpanesNodes(){Array.from(this.container.children).forEach(t=>{const e=t.classList.contains("splitpanes__pane"),n=t.classList.contains("splitpanes__splitter");!e&&!n&&(t.parentNode.removeChild(t),console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed."))})},addSplitter(t,e,n=!1){const r=t-1,a=document.createElement("div");a.classList.add("splitpanes__splitter"),n||(a.onmousedown=i=>this.onMouseDown(i,r),typeof window<"u"&&"ontouchstart"in window&&(a.ontouchstart=i=>this.onMouseDown(i,r)),a.onclick=i=>this.onSplitterClick(i,r+1)),this.dblClickSplitter&&(a.ondblclick=i=>this.onSplitterDblClick(i,r+1)),e.parentNode.insertBefore(a,e)},removeSplitter(t){t.onmousedown=void 0,t.onclick=void 0,t.ondblclick=void 0,t.parentNode.removeChild(t)},redoSplitters(){const t=Array.from(this.container.children);t.forEach(n=>{n.className.includes("splitpanes__splitter")&&this.removeSplitter(n)});let e=0;t.forEach(n=>{n.className.includes("splitpanes__pane")&&(!e&&this.firstSplitter?this.addSplitter(e,n,!0):e&&this.addSplitter(e,n),e++)})},requestUpdate({target:t,...e}){const n=this.indexedPanes[t._.uid];Object.entries(e).forEach(([r,a])=>n[r]=a)},onPaneAdd(t){let e=-1;Array.from(t.$el.parentNode.children).some(a=>(a.className.includes("splitpanes__pane")&&e++,a===t.$el));const n=parseFloat(t.minSize),r=parseFloat(t.maxSize);this.panes.splice(e,0,{id:t._.uid,index:e,min:isNaN(n)?0:n,max:isNaN(r)?100:r,size:t.size===null?null:parseFloat(t.size),givenSize:t.size,update:t.update}),this.panes.forEach((a,i)=>a.index=i),this.ready&&this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[e]}),this.$emit("pane-add",{index:e,panes:this.panes.map(a=>({min:a.min,max:a.max,size:a.size}))})})},onPaneRemove(t){const e=this.panes.findIndex(r=>r.id===t._.uid),n=this.panes.splice(e,1)[0];this.panes.forEach((r,a)=>r.index=a),this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:{...n,index:e}}),this.$emit("pane-remove",{removed:n,panes:this.panes.map(r=>({min:r.min,max:r.max,size:r.size}))})})},resetPaneSizes(t={}){!t.addedPane&&!t.removedPane?this.initialPanesSizing():this.panes.some(e=>e.givenSize!==null||e.min||e.max<100)?this.equalizeAfterAddOrRemove(t):this.equalize(),this.ready&&this.$emit("resized",this.panes.map(e=>({min:e.min,max:e.max,size:e.size})))},equalize(){const t=100/this.panesCount;let e=0;const n=[],r=[];this.panes.forEach(a=>{a.size=Math.max(Math.min(t,a.max),a.min),e-=a.size,a.size>=a.max&&n.push(a.id),a.size<=a.min&&r.push(a.id)}),e>.1&&this.readjustSizes(e,n,r)},initialPanesSizing(){let t=100;const e=[],n=[];let r=0;this.panes.forEach(i=>{t-=i.size,i.size!==null&&r++,i.size>=i.max&&e.push(i.id),i.size<=i.min&&n.push(i.id)});let a=100;t>.1&&(this.panes.forEach(i=>{i.size===null&&(i.size=Math.max(Math.min(t/(this.panesCount-r),i.max),i.min)),a-=i.size}),a>.1&&this.readjustSizes(t,e,n))},equalizeAfterAddOrRemove({addedPane:t,removedPane:e}={}){let n=100/this.panesCount,r=0;const a=[],i=[];t&&t.givenSize!==null&&(n=(100-t.givenSize)/(this.panesCount-1)),this.panes.forEach(o=>{r-=o.size,o.size>=o.max&&a.push(o.id),o.size<=o.min&&i.push(o.id)}),!(Math.abs(r)<.1)&&(this.panes.forEach(o=>{t&&t.givenSize!==null&&t.id===o.id||(o.size=Math.max(Math.min(n,o.max),o.min)),r-=o.size,o.size>=o.max&&a.push(o.id),o.size<=o.min&&i.push(o.id)}),r>.1&&this.readjustSizes(r,a,i))},readjustSizes(t,e,n){let r;t>0?r=t/(this.panesCount-e.length):r=t/(this.panesCount-n.length),this.panes.forEach((a,i)=>{if(t>0&&!e.includes(a.id)){const o=Math.max(Math.min(a.size+r,a.max),a.min),l=o-a.size;t-=l,a.size=o}else if(!n.includes(a.id)){const o=Math.max(Math.min(a.size+r,a.max),a.min),l=o-a.size;t-=l,a.size=o}a.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[a.id].size}%`})}),Math.abs(t)>.1&&this.$nextTick(()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(t){[...this.container.querySelectorAll(".splitpanes__splitter")].forEach((e,n)=>{e.ondblclick=t?r=>this.onSplitterDblClick(r,n):void 0})}},beforeUnmount(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(){return wa("div",{ref:"container",class:["splitpanes",`splitpanes--${this.horizontal?"horizontal":"vertical"}`,{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default())}},yz=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},bz={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeUnmount(){this.onPaneRemove(this)},methods:{update(t){this.style=t}},computed:{sizeNumber(){return this.size||this.size===0?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(t){this.requestUpdate({target:this,size:t})},minSizeNumber(t){this.requestUpdate({target:this,min:t})},maxSizeNumber(t){this.requestUpdate({target:this,max:t})}}};function wz(t,e,n,r,a,i){return Xe(),dn("div",{class:"splitpanes__pane",onClick:e[0]||(e[0]=o=>i.onPaneClick(o,t._.uid)),style:vi(t.style)},[Wl(t.$slots,"default")],4)}const wf=yz(bz,[["render",wz]]);function Mv(t){return Ef()?(Uy(t),!0):!1}function Nv(t){return typeof t=="function"?t():xe(t)}const R_=typeof window<"u",kv=()=>{};function Cz(t,e){function n(...r){return new Promise((a,i)=>{Promise.resolve(t(()=>e.apply(this,r),{fn:e,thisArg:this,args:r})).then(a).catch(i)})}return n}const L_=t=>t();function _z(t=L_){const e=W(!0);function n(){e.value=!1}function r(){e.value=!0}const a=(...i)=>{e.value&&t(...i)};return{isActive:ws(e),pause:n,resume:r,eventFilter:a}}function Sz(...t){if(t.length!==1)return Ut(...t);const e=t[0];return typeof e=="function"?ws(zS(()=>({get:e,set:kv}))):W(e)}function xz(t,e=!0){bt()?Re(t):e?t():Ke(t)}var xy=Object.getOwnPropertySymbols,Pz=Object.prototype.hasOwnProperty,Oz=Object.prototype.propertyIsEnumerable,Ez=(t,e)=>{var n={};for(var r in t)Pz.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&xy)for(var r of xy(t))e.indexOf(r)<0&&Oz.call(t,r)&&(n[r]=t[r]);return n};function Tz(t,e,n={}){const r=n,{eventFilter:a=L_}=r,i=Ez(r,["eventFilter"]);return pe(t,Cz(a,e),i)}var Iz=Object.defineProperty,Az=Object.defineProperties,Mz=Object.getOwnPropertyDescriptors,vs=Object.getOwnPropertySymbols,D_=Object.prototype.hasOwnProperty,F_=Object.prototype.propertyIsEnumerable,Py=(t,e,n)=>e in t?Iz(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Nz=(t,e)=>{for(var n in e||(e={}))D_.call(e,n)&&Py(t,n,e[n]);if(vs)for(var n of vs(e))F_.call(e,n)&&Py(t,n,e[n]);return t},kz=(t,e)=>Az(t,Mz(e)),$z=(t,e)=>{var n={};for(var r in t)D_.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&vs)for(var r of vs(t))e.indexOf(r)<0&&F_.call(t,r)&&(n[r]=t[r]);return n};function Rz(t,e,n={}){const r=n,{eventFilter:a}=r,i=$z(r,["eventFilter"]),{eventFilter:o,pause:l,resume:s,isActive:u}=_z(a);return{stop:Tz(t,e,kz(Nz({},i),{eventFilter:o})),pause:l,resume:s,isActive:u}}function Lz(t,e,n){let r;tt(n)?r={evaluating:n}:r=n||{};const{lazy:a=!1,evaluating:i=void 0,shallow:o=!0,onError:l=kv}=r,s=W(!a),u=o?Rn(e):W(e);let f=0;return st(async v=>{if(!s.value)return;f++;const h=f;let g=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const c=await t(d=>{v(()=>{i&&(i.value=!1),g||d()})});h===f&&(u.value=c)}catch(c){l(c)}finally{i&&h===f&&(i.value=!1),g=!0}}),a?K(()=>(s.value=!0,u.value)):u}function Hr(t){var e;const n=Nv(t);return(e=n==null?void 0:n.$el)!=null?e:n}const Sr=R_?window:void 0,Dz=R_?window.document:void 0;function On(...t){let e,n,r,a;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,a]=t,e=Sr):[e,n,r,a]=t,!e)return kv;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(f=>f()),i.length=0},l=(f,v,h,g)=>(f.addEventListener(v,h,g),()=>f.removeEventListener(v,h,g)),s=pe(()=>[Hr(e),Nv(a)],([f,v])=>{o(),f&&i.push(...n.flatMap(h=>r.map(g=>l(f,h,g,v))))},{immediate:!0,flush:"post"}),u=()=>{s(),o()};return Mv(u),u}const Fz=500;function j9(t,e,n){var r,a;const i=K(()=>Hr(t));let o;function l(){o&&(clearTimeout(o),o=void 0)}function s(f){var v,h,g,c;(v=n==null?void 0:n.modifiers)!=null&&v.self&&f.target!==i.value||(l(),(h=n==null?void 0:n.modifiers)!=null&&h.prevent&&f.preventDefault(),(g=n==null?void 0:n.modifiers)!=null&&g.stop&&f.stopPropagation(),o=setTimeout(()=>e(f),(c=n==null?void 0:n.delay)!=null?c:Fz))}const u={capture:(r=n==null?void 0:n.modifiers)==null?void 0:r.capture,once:(a=n==null?void 0:n.modifiers)==null?void 0:a.once};On(i,"pointerdown",s,u),On(i,"pointerup",l,u),On(i,"pointerleave",l,u)}function Bz(){const t=W(!1);return bt()&&Re(()=>{t.value=!0}),t}function B_(t){const e=Bz();return K(()=>(e.value,!!t()))}function jz(t,e={}){const{window:n=Sr}=e,r=B_(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let a;const i=W(!1),o=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",l):a.removeListener(l))},l=()=>{r.value&&(o(),a=n.matchMedia(Sz(t).value),i.value=!!(a!=null&&a.matches),a&&("addEventListener"in a?a.addEventListener("change",l):a.addListener(l)))};return st(l),Mv(()=>o()),i}const wl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Cl="__vueuse_ssr_handlers__",zz=Wz();function Wz(){return Cl in wl||(wl[Cl]=wl[Cl]||{}),wl[Cl]}function Vz(t,e){return zz[t]||e}function Hz(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"?"object":Number.isNaN(t)?"any":"number"}var Uz=Object.defineProperty,Oy=Object.getOwnPropertySymbols,Kz=Object.prototype.hasOwnProperty,Gz=Object.prototype.propertyIsEnumerable,Ey=(t,e,n)=>e in t?Uz(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ty=(t,e)=>{for(var n in e||(e={}))Kz.call(e,n)&&Ey(t,n,e[n]);if(Oy)for(var n of Oy(e))Gz.call(e,n)&&Ey(t,n,e[n]);return t};const qz={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t))},date:{read:t=>new Date(t),write:t=>t.toISOString()}},Iy="vueuse-storage";function Yz(t,e,n,r={}){var a;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:s=!0,mergeDefaults:u=!1,shallow:f,window:v=Sr,eventFilter:h,onError:g=I=>{console.error(I)}}=r,c=(f?Rn:W)(e);if(!n)try{n=Vz("getDefaultStorage",()=>{var I;return(I=Sr)==null?void 0:I.localStorage})()}catch(I){g(I)}if(!n)return c;const d=Nv(e),m=Hz(d),p=(a=r.serializer)!=null?a:qz[m],{pause:y,resume:b}=Rz(c,()=>w(c.value),{flush:i,deep:o,eventFilter:h});return v&&l&&(On(v,"storage",P),On(v,Iy,_)),P(),c;function w(I){try{if(I==null)n.removeItem(t);else{const O=p.write(I),N=n.getItem(t);N!==O&&(n.setItem(t,O),v&&v.dispatchEvent(new CustomEvent(Iy,{detail:{key:t,oldValue:N,newValue:O,storageArea:n}})))}}catch(O){g(O)}}function C(I){const O=I?I.newValue:n.getItem(t);if(O==null)return s&&d!==null&&n.setItem(t,p.write(d)),d;if(!I&&u){const N=p.read(O);return typeof u=="function"?u(N,d):m==="object"&&!Array.isArray(N)?Ty(Ty({},d),N):N}else return typeof O!="string"?O:p.read(O)}function _(I){P(I.detail)}function P(I){if(!(I&&I.storageArea!==n)){if(I&&I.key==null){c.value=d;return}if(!(I&&I.key!==t)){y();try{c.value=C(I)}catch(O){g(O)}finally{I?Ke(b):b()}}}}}function Xz(t){return jz("(prefers-color-scheme: dark)",t)}function Jz({document:t=Dz}={}){if(!t)return W("visible");const e=W(t.visibilityState);return On(t,"visibilitychange",()=>{e.value=t.visibilityState}),e}var Ay=Object.getOwnPropertySymbols,Qz=Object.prototype.hasOwnProperty,Zz=Object.prototype.propertyIsEnumerable,e7=(t,e)=>{var n={};for(var r in t)Qz.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Ay)for(var r of Ay(t))e.indexOf(r)<0&&Zz.call(t,r)&&(n[r]=t[r]);return n};function t7(t,e,n={}){const r=n,{window:a=Sr}=r,i=e7(r,["window"]);let o;const l=B_(()=>a&&"ResizeObserver"in a),s=()=>{o&&(o.disconnect(),o=void 0)},u=K(()=>Array.isArray(t)?t.map(h=>Hr(h)):[Hr(t)]),f=pe(u,h=>{if(s(),l.value&&a){o=new ResizeObserver(e);for(const g of h)g&&o.observe(g,i)}},{immediate:!0,flush:"post",deep:!0}),v=()=>{s(),f()};return Mv(v),{isSupported:l,stop:v}}function n7(t,e={width:0,height:0},n={}){const{window:r=Sr,box:a="content-box"}=n,i=K(()=>{var s,u;return(u=(s=Hr(t))==null?void 0:s.namespaceURI)==null?void 0:u.includes("svg")}),o=W(e.width),l=W(e.height);return t7(t,([s])=>{const u=a==="border-box"?s.borderBoxSize:a==="content-box"?s.contentBoxSize:s.devicePixelContentBoxSize;if(r&&i.value){const f=Hr(t);if(f){const v=r.getComputedStyle(f);o.value=parseFloat(v.width),l.value=parseFloat(v.height)}}else if(u){const f=Array.isArray(u)?u:[u];o.value=f.reduce((v,{inlineSize:h})=>v+h,0),l.value=f.reduce((v,{blockSize:h})=>v+h,0)}else o.value=s.contentRect.width,l.value=s.contentRect.height},n),pe(()=>Hr(t),s=>{o.value=s?e.width:0,l.value=s?e.height:0}),{width:o,height:l}}function z9(t,e,n={}){const{window:r=Sr}=n;return Yz(t,e,r==null?void 0:r.localStorage,n)}const r7={page:t=>[t.pageX,t.pageY],client:t=>[t.clientX,t.clientY],screen:t=>[t.screenX,t.screenY],movement:t=>t instanceof Touch?null:[t.movementX,t.movementY]};function a7(t={}){const{type:e="page",touch:n=!0,resetOnTouchEnds:r=!1,initialValue:a={x:0,y:0},window:i=Sr,target:o=i,eventFilter:l}=t,s=W(a.x),u=W(a.y),f=W(null),v=typeof e=="function"?e:r7[e],h=p=>{const y=v(p);y&&([s.value,u.value]=y,f.value="mouse")},g=p=>{if(p.touches.length>0){const y=v(p.touches[0]);y&&([s.value,u.value]=y,f.value="touch")}},c=()=>{s.value=a.x,u.value=a.y},d=l?p=>l(()=>h(p),{}):p=>h(p),m=l?p=>l(()=>g(p),{}):p=>g(p);return o&&(On(o,"mousemove",d,{passive:!0}),On(o,"dragover",d,{passive:!0}),n&&e!=="movement"&&(On(o,"touchstart",m,{passive:!0}),On(o,"touchmove",m,{passive:!0}),r&&On(o,"touchend",c,{passive:!0}))),{x:s,y:u,sourceType:f}}function My(t,e={}){const{handleOutside:n=!0,window:r=Sr}=e,{x:a,y:i,sourceType:o}=a7(e),l=W(t??(r==null?void 0:r.document.body)),s=W(0),u=W(0),f=W(0),v=W(0),h=W(0),g=W(0),c=W(!0);let d=()=>{};return r&&(d=pe([l,a,i],()=>{const m=Hr(l);if(!m)return;const{left:p,top:y,width:b,height:w}=m.getBoundingClientRect();f.value=p+r.pageXOffset,v.value=y+r.pageYOffset,h.value=w,g.value=b;const C=a.value-f.value,_=i.value-v.value;c.value=b===0||w===0||C<0||_<0||C>b||_>w,(n||!c.value)&&(s.value=C,u.value=_)},{immediate:!0}),On(document,"mouseleave",()=>{c.value=!0})),{x:a,y:i,sourceType:o,elementX:s,elementY:u,elementPositionX:f,elementPositionY:v,elementHeight:h,elementWidth:g,isOutside:c,stop:d}}const i7={style:{position:"relative"}},o7=fe({__name:"edgeTrigger",props:{tabIdx:{}},setup(t){const e=t,n=Wo(),r=W(),a=W(),{isOutside:i}=My(a),{isOutside:o}=My(r),l=K(()=>!i.value&&!!n.dragingTab),s=K(()=>!o.value&&!!n.dragingTab&&!l.value),u=(f,v)=>{var g,c,d,m;const h=JSON.parse(((g=f.dataTransfer)==null?void 0:g.getData("text"))??"{}");if(console.log("on-drop",v,h),(h==null?void 0:h.from)==="tab-drag"){if(f.stopPropagation(),n.dragingTab=void 0,v==="insert"&&h.tabIdx===e.tabIdx)return;const p=n.tabList,y=p[h.tabIdx].panes[h.paneIdx];p[h.tabIdx].panes.splice(h.paneIdx,1),v==="add-right"?(p[e.tabIdx].key=((c=p[e.tabIdx].panes[h.paneIdx-1])==null?void 0:c.key)??p[e.tabIdx].panes[0].key,p.splice(e.tabIdx+1,0,{panes:[y],key:y.key,id:br()})):(p[h.tabIdx].key=((d=p[h.tabIdx].panes[h.paneIdx-1])==null?void 0:d.key)??((m=p[h.tabIdx].panes[0])==null?void 0:m.key),p[e.tabIdx].panes.push(y),p[e.tabIdx].key=y.key),p[h.tabIdx].panes.length===0&&p.splice(h.tabIdx,1)}};return(f,v)=>(Xe(),dn("div",{class:ba(["wrap",{accept:s.value}]),ref_key:"trigger",ref:r,onDragover:v[2]||(v[2]=Dn(()=>{},["prevent"])),onDrop:v[3]||(v[3]=Dn(h=>u(h,"insert"),["prevent"]))},[Pn("div",{class:ba(["trigger",{accept:l.value}]),ref_key:"edgeTrigger",ref:a,onDragover:v[0]||(v[0]=Dn(()=>{},["prevent"])),onDrop:v[1]||(v[1]=Dn(h=>u(h,"add-right"),["prevent"]))},null,34),Pn("div",i7,[Wl(f.$slots,"default",{},void 0,!0)])],34))}});const uu=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},l7=uu(o7,[["__scopeId","data-v-10c5aba4"]]);const j_=M_("useImgSliStore",()=>{const t=W(!1),e=W(!1),n=W(!1),r=W(),a=W(),i=Wo(),o=K(()=>{var s;const l=i.tabList;for(const u of l)if(((s=u.panes.find(f=>f.key===u.key))==null?void 0:s.type)==="img-sli")return!0;return!1});return{drawerVisible:e,fileDragging:t,left:r,right:a,imgSliActived:o,opened:n}}),ao=encodeURIComponent,ps=(t,e=!1)=>`${Iv.value}/file?path=${ao(t.fullpath)}&t=${ao(t.date)}${e?`&disposition=${ao(t.name)}`:""}`,Ny=(t,e="512x512")=>`${Iv.value}/image-thumbnail?path=${ao(t.fullpath)}&size=${e}&t=${ao(t.date)}`,z_=t=>typeof t=="object"&&t.__id==="FileTransferData",W9=t=>{var n;const e=JSON.parse(((n=t.dataTransfer)==null?void 0:n.getData("text"))??"{}");return z_(e)?e:null},s7=t=>(db("data-v-e631564f"),t=t(),vb(),t),u7={key:0,class:"dragging-port-wrap"},c7={class:"content"},f7={key:0,class:"img-wrap"},d7={key:1},v7=s7(()=>Pn("div",{style:{padding:"16px"}},null,-1)),p7={key:0,class:"img-wrap"},h7={key:1},m7={class:"actions"},g7=fe({__name:"DraggingPort",setup(t){const e=j_(),n=Wo(),{left:r,right:a}=iz(e),i=async(s,u)=>{var v;const f=JSON.parse(((v=s.dataTransfer)==null?void 0:v.getData("text"))??"{}");if(z_(f)){const h=f.nodes[0];if(!dz(h.name))return;e[u]=h}},o=()=>{e.left=void 0,e.right=void 0,e.opened=!1},l=()=>{J1(r.value&&a.value);const s={type:"img-sli",left:r.value,right:a.value,name:`${Te("imgCompare")} ( ${r.value.name} vs ${a.value.name})`,key:br()};n.tabList[0].panes.push(s),n.tabList[0].key=s.key};return(s,u)=>{const f=bF,v=In;return Xe(),Yt(lr,null,{default:_t(()=>[(xe(e).fileDragging||xe(r)||xe(a)||xe(e).opened)&&!xe(e).imgSliActived?(Xe(),dn("div",u7,[Pn("h2",null,gr(s.$t("imgCompare")),1),Pn("div",c7,[Pn("div",{class:"left port",onDragover:u[1]||(u[1]=Dn(()=>{},["prevent"])),onDrop:u[2]||(u[2]=Dn(h=>i(h,"left"),["prevent"]))},[xe(r)?(Xe(),dn("div",f7,[x(f,{src:xe(Ny)(xe(r)),preview:{src:xe(ps)(xe(r))}},null,8,["src","preview"]),x(xe(Jl),{class:"close",onClick:u[0]||(u[0]=h=>r.value=void 0)})])):(Xe(),dn("div",d7,gr(s.$t("dragImageHere")),1))],32),v7,Pn("div",{class:"right port",onDragover:u[4]||(u[4]=Dn(()=>{},["prevent"])),onDrop:u[5]||(u[5]=Dn(h=>i(h,"right"),["prevent"]))},[xe(a)?(Xe(),dn("div",p7,[x(f,{src:xe(Ny)(xe(a)),preview:{src:xe(ps)(xe(a))}},null,8,["src","preview"]),x(xe(Jl),{class:"close",onClick:u[3]||(u[3]=h=>a.value=void 0)})])):(Xe(),dn("div",h7,gr(s.$t("dragImageHere")),1))],32)]),Pn("div",m7,[xe(r)&&xe(a)?(Xe(),Yt(v,{key:0,type:"primary",onClick:u[6]||(u[6]=h=>xe(e).drawerVisible=!0)},{default:_t(()=>[Bn(gr(s.$t("confirm")),1)]),_:1})):qa("",!0),xe(r)&&xe(a)?(Xe(),Yt(v,{key:1,type:"primary",onClick:l},{default:_t(()=>[Bn(gr(s.$t("confirm"))+"("+gr(s.$t("openInNewTab"))+")",1)]),_:1})):qa("",!0),x(v,{style:{"margin-left":"16px"},onClick:o},{default:_t(()=>[Bn(gr(s.$t("close")),1)]),_:1})])])):qa("",!0)]),_:1})}}});const y7=uu(g7,[["__scopeId","data-v-e631564f"]]),b7={class:"container"},w7=["src"],C7=fe({__name:"ImgSliSide",props:{side:{},containerWidth:{},img:{},maxEdge:{},percent:{}},setup(t){const e=t,n=K(()=>{let r="";const i=e.containerWidth;return e.side==="left"?r=`calc(50% - ${(e.percent-50)/100*i}px)`:r=`calc(-50% - ${(e.percent-50)/100*i+4}px)`,`${e.maxEdge==="width"?"width:100%":"height:100%"};transform: translate(${r}, -50%)`});return(r,a)=>(Xe(),dn("div",b7,[Pn("img",{class:ba(["img",[r.side]]),style:vi(n.value),src:xe(ps)(r.img),onDragstart:a[0]||(a[0]=Dn(()=>{},["prevent","stop"]))},null,46,w7)]))}});const ky=uu(C7,[["__scopeId","data-v-9aea5307"]]),_7=fe({__name:"ImgSliComparePane",props:{left:{},right:{}},setup(t,{expose:e}){const n=t,r=W(50),a=([{size:u}])=>{r.value=u},i=W(),{width:o}=n7(i);e({requestFullScreen:()=>{var u;(u=i.value)==null||u.requestFullscreen()}});const s=Lz(async()=>{if(!n.left)return"width";const u=await mz(ps(n.left)),f=u.width/u.height,v=document.body.clientWidth/document.body.clientHeight;return f>v?"width":"height"});return(u,f)=>(Xe(),dn("div",{ref_key:"wrapperEl",ref:i,style:{height:"100%"}},[x(xe($_),{class:"default-theme",onResize:a},{default:_t(()=>[u.left?(Xe(),Yt(xe(wf),{key:0},{default:_t(()=>[x(ky,{side:"left","max-edge":xe(s),"container-width":xe(o),percent:r.value,img:u.left},null,8,["max-edge","container-width","percent","img"])]),_:1})):qa("",!0),u.right?(Xe(),Yt(xe(wf),{key:1},{default:_t(()=>[x(ky,{"max-edge":xe(s),percent:r.value,img:u.right,side:"right","container-width":xe(o)},null,8,["max-edge","percent","img","container-width"])]),_:1})):qa("",!0)]),_:1})],512))}});const S7={class:"actions"},x7=fe({__name:"ImgSliDrawer",setup(t){const e=j_(),n=W();return(r,a)=>{const i=In,o=d4;return Xe(),dn(De,null,[x(o,{width:"100vw",visible:xe(e).drawerVisible,"onUpdate:visible":a[2]||(a[2]=l=>xe(e).drawerVisible=l),"destroy-on-close":"",class:"img-sli","close-icon":null},{footer:_t(()=>[Pn("div",S7,[x(i,{onClick:a[0]||(a[0]=l=>xe(e).drawerVisible=!1)},{default:_t(()=>[Bn(gr(r.$t("close")),1)]),_:1}),x(i,{onClick:a[1]||(a[1]=l=>{var s;return(s=n.value)==null?void 0:s.requestFullScreen()})},{default:_t(()=>[Bn(gr(r.$t("fullscreenview")),1)]),_:1})])]),default:_t(()=>[xe(e).left&&xe(e).right?(Xe(),Yt(_7,{key:0,ref_key:"splitpane",ref:n,left:xe(e).left,right:xe(e).right},null,8,["left","right"])):qa("",!0)]),_:1},8,["visible"]),x(y7)],64)}}});const P7=fe({__name:"SplitViewTab",setup(t){const e=Wo(),n={local:Qr(()=>kr(()=>import("./stackView-dc7bc32f.js"),["assets/stackView-dc7bc32f.js","assets/fullScreenContextMenu-c5f9ce74.js","assets/shortcut-98354a10.js","assets/shortcut-9fed83c2.css","assets/db-52d8ead8.js","assets/fullScreenContextMenu-e0ecf19f.css","assets/numInput-129eb755.js","assets/numInput-a08c6857.css","assets/stackView-132bf7ce.css","assets/index-f4bbe4b8.css","assets/index-d55a76b1.css"])),empty:Qr(()=>kr(()=>import("./emptyStartup-36d269d3.js"),["assets/emptyStartup-36d269d3.js","assets/db-52d8ead8.js","assets/emptyStartup-b6d0892f.css"])),"global-setting":Qr(()=>kr(()=>import("./globalSetting-1f7863af.js"),["assets/globalSetting-1f7863af.js","assets/numInput-129eb755.js","assets/shortcut-98354a10.js","assets/shortcut-9fed83c2.css","assets/numInput-a08c6857.css","assets/globalSetting-272483f3.css","assets/index-f4bbe4b8.css","assets/index-d55a76b1.css"])),"tag-search-matched-image-grid":Qr(()=>kr(()=>import("./MatchedImageGrid-70644324.js"),["assets/MatchedImageGrid-70644324.js","assets/fullScreenContextMenu-c5f9ce74.js","assets/shortcut-98354a10.js","assets/shortcut-9fed83c2.css","assets/db-52d8ead8.js","assets/fullScreenContextMenu-e0ecf19f.css","assets/hook-13bccbae.js","assets/MatchedImageGrid-50706dba.css"])),"tag-search":Qr(()=>kr(()=>import("./TagSearch-4dcb29d9.js"),["assets/TagSearch-4dcb29d9.js","assets/db-52d8ead8.js","assets/TagSearch-ffd782da.css","assets/index-f4bbe4b8.css","assets/index-d55a76b1.css"])),"fuzzy-search":Qr(()=>kr(()=>import("./SubstrSearch-c335be01.js"),["assets/SubstrSearch-c335be01.js","assets/fullScreenContextMenu-c5f9ce74.js","assets/shortcut-98354a10.js","assets/shortcut-9fed83c2.css","assets/db-52d8ead8.js","assets/fullScreenContextMenu-e0ecf19f.css","assets/hook-13bccbae.js","assets/SubstrSearch-eed349e1.css","assets/index-f4bbe4b8.css"])),"img-sli":Qr(()=>kr(()=>import("./ImgSliPagePane-9b783dc5.js"),[]))},r=(o,l,s)=>{var f,v;const u=e.tabList[o];if(s==="add"){const h={type:"empty",key:br(),name:Te("emptyStartPage")};u.panes.push(h),u.key=h.key}else{const h=u.panes.findIndex(g=>g.key===l);if(u.key===l&&(u.key=((f=u.panes[h-1])==null?void 0:f.key)??((v=u.panes[0])==null?void 0:v.key)),u.panes.splice(h,1),u.panes.length===0&&e.tabList.splice(o,1),e.tabList.length===0){const g=e.createEmptyPane();e.tabList.push({panes:[g],key:g.key,id:br()})}}},a=W();pe(()=>e.tabList,async()=>{var o;await Ke(),e.saveRecord(),Array.from(((o=a.value)==null?void 0:o.querySelectorAll(".splitpanes__pane"))??[]).forEach((l,s)=>{Array.from(l.querySelectorAll(".ant-tabs-tab")??[]).forEach((u,f)=>{const v=u;v.setAttribute("draggable","true"),v.setAttribute("tabIdx",s.toString()),v.setAttribute("paneIdx",f.toString()),v.ondragend=()=>{e.dragingTab=void 0},v.ondragstart=h=>{e.dragingTab={tabIdx:s,paneIdx:f},h.dataTransfer.setData("text/plain",JSON.stringify({tabIdx:s,paneIdx:f,from:"tab-drag"}))}})})},{immediate:!0,deep:!0});const i=qc(()=>k_.emit("returnToIIB"),100);return xz(async()=>{const o=window.parent;if(!await cz(()=>o==null?void 0:o.onUiTabChange,200,3e4)){console.log("watch tab change failed");return}o.onUiTabChange(()=>{const l=o.get_uiCurrentTabContent();l!=null&&l.id.includes("infinite-image-browsing")&&i()})}),pe(Jz(),o=>o&&i()),(o,l)=>{const s=ls,u=Qi;return Xe(),dn("div",{ref_key:"container",ref:a},[x(xe($_),{class:"default-theme"},{default:_t(()=>[(Xe(!0),dn(De,null,Xv(xe(e).tabList,(f,v)=>(Xe(),Yt(xe(wf),{key:f.id},{default:_t(()=>[x(l7,{tabIdx:v},{default:_t(()=>[x(u,{type:"editable-card",activeKey:f.key,"onUpdate:activeKey":h=>f.key=h,onEdit:(h,g)=>r(v,h,g)},{default:_t(()=>[(Xe(!0),dn(De,null,Xv(f.panes,(h,g)=>(Xe(),Yt(s,{key:h.key,tab:h.name,class:"pane"},{default:_t(()=>[(Xe(),Yt(gx(n[h.type]),Gf({tabIdx:v,paneIdx:g},h),null,16,["tabIdx","paneIdx"]))]),_:2},1032,["tab"]))),128))]),_:2},1032,["activeKey","onUpdate:activeKey","onEdit"])]),_:2},1032,["tabIdx"])]),_:2},1024))),128))]),_:1}),x(x7)],512)}}});const O7=uu(P7,[["__scopeId","data-v-9e960f18"]]),E7=async t=>{var r;const e=(r=t.conf)==null?void 0:r.global_setting,n=new URLSearchParams(parent.location.search);switch(n.get("action")){case"open":{let a=n.get("path");if(!a||!e)return;const i={extra:e.outdir_extras_samples,save:e.outdir_save,txt2img:e.outdir_txt2img_samples,img2img:e.outdir_img2img_samples};i[a]&&(a=i[a]);const o=t.tabList[0],l={type:"local",path:a,key:br(),name:""};o.panes.unshift(l),o.key=l.key,uz(),hz(["action","path"]);break}}};function $y(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!nr(t)}const W_="app.conf.json",io=W(),V_=()=>Ao.writeFile(W_,JSON.stringify(Ne(io.value),null,4)),T7=fe({setup(){const t=async()=>{const e=await w_({directory:!0});if(typeof e=="string"){if(!await Ao.exists(`${e}/config.json`))return ya.error(Te("tauriLaunchConfMessages.configNotFound"));if(!await Ao.exists(`${e}/extensions/sd-webui-infinite-image-browsing`))return ya.error(Te("tauriLaunchConfMessages.folderNotFound"));io.value.sdwebui_dir=e,ya.info(Te("tauriLaunchConfMessages.configCompletedMessage")),await V_(),await lu("shutdown_api_server_command"),await ou(1500),await g_()}};return()=>{let e,n;return x("div",{style:{padding:"32px 0"}},[x("div",{style:{padding:"16px 0"}},[x("h2",null,[Te("tauriLaunchConf.readSdWebuiConfigTitle")]),x("p",null,[Te("tauriLaunchConf.readSdWebuiConfigDescription")]),x(In,{onClick:t,type:"primary"},$y(e=Te("tauriLaunchConf.selectSdWebuiFolder"))?e:{default:()=>[e]})]),x("div",{style:{padding:"16px 0"}},[x("h2",null,[Te("tauriLaunchConf.skipThisConfigTitle")]),x("p",null,[Te("tauriLaunchConf.skipThisConfigDescription")]),x(In,{type:"primary",onClick:Xt.destroyAll},$y(n=Te("tauriLaunchConf.skipButton"))?n:{default:()=>[n]})])])}}}),I7=async()=>{try{io.value=JSON.parse(await Ao.readTextFile(W_))}catch{}io.value||(io.value={sdwebui_dir:""},await V_(),Xt.info({title:Te("tauriLaunchConfMessages.firstTimeUserTitle"),content:x(T7,null,null),width:"80vw",okText:Te("tauriLaunchConf.skipButton"),okButtonProps:{onClick:Xt.destroyAll}}))},A7=!!{}.TAURI_ARCH,M7=fe({__name:"App",setup(t){const e=Wo(),n=vz();return pz("updateGlobalSetting",async()=>{await Uj(),console.log(ds.value);const r=await qj();e.conf=r;const a=await gz(r);e.quickMovePaths=a.filter(i=>{var o,l;return(l=(o=i==null?void 0:i.dir)==null?void 0:o.trim)==null?void 0:l.call(o)}),E7(e)}),Re(async()=>{A7&&I7(),k_.emit("updateGlobalSetting")}),(r,a)=>{const i=rn;return Xe(),Yt(i,{loading:!xe(n).isIdle},{default:_t(()=>[x(O7)]),_:1},8,["loading"])}}});function N7(t){return typeof t=="object"&&t!==null}function Ry(t,e){return t=N7(t)?t:Object.create(null),new Proxy(t,{get(n,r,a){return r==="key"?Reflect.get(n,r,a):Reflect.get(n,r,a)||Reflect.get(e,r,a)}})}function k7(t,e){return e.reduce((n,r)=>n==null?void 0:n[r],t)}function $7(t,e,n){return e.slice(0,-1).reduce((r,a)=>/^(__proto__)$/.test(a)?{}:r[a]=r[a]||{},t)[e[e.length-1]]=n,t}function R7(t,e){return e.reduce((n,r)=>{const a=r.split(".");return $7(n,a,k7(t,a))},{})}function Ly(t,{storage:e,serializer:n,key:r,debug:a}){try{const i=e==null?void 0:e.getItem(r);i&&t.$patch(n==null?void 0:n.deserialize(i))}catch(i){a&&console.error(i)}}function Dy(t,{storage:e,serializer:n,key:r,paths:a,debug:i}){try{const o=Array.isArray(a)?R7(t,a):t;e.setItem(r,n.serialize(o))}catch(o){i&&console.error(o)}}function L7(t={}){return e=>{const{auto:n=!1}=t,{options:{persist:r=n},store:a}=e;if(!r)return;const i=(Array.isArray(r)?r.map(o=>Ry(o,t)):[Ry(r,t)]).map(({storage:o=localStorage,beforeRestore:l=null,afterRestore:s=null,serializer:u={serialize:JSON.stringify,deserialize:JSON.parse},key:f=a.$id,paths:v=null,debug:h=!1})=>{var g;return{storage:o,beforeRestore:l,afterRestore:s,serializer:u,key:((g=t.key)!=null?g:c=>c)(f),paths:v,debug:h}});a.$persist=()=>{i.forEach(o=>{Dy(a.$state,o)})},a.$hydrate=({runHooks:o=!0}={})=>{i.forEach(l=>{const{beforeRestore:s,afterRestore:u}=l;o&&(s==null||s(e)),Ly(a,l),o&&(u==null||u(e))})},i.forEach(o=>{const{beforeRestore:l,afterRestore:s}=o;l==null||l(e),Ly(a,o),s==null||s(e),a.$subscribe((u,f)=>{Dy(f,o)},{detached:!0})})}}var D7=L7();const H_=Zj();H_.use(D7);AP(M7).use(H_).use(wv).mount("#zanllp_dev_gradio_fe");const F7=Xz(),B7=()=>{try{return parent.location.search.includes("theme=dark")}catch{}return!1};pe([F7,B7],async([t,e])=>{await ou();const n=document.getElementsByTagName("html")[0];if(t||e){document.body.classList.add("dark");const r=document.createElement("style"),{default:a}=await kr(()=>import("./antd.dark-35e9b327.js"),[]);r.innerHTML=a,r.setAttribute("antd-dark",""),n.appendChild(r)}else document.body.classList.remove("dark"),Array.from(n.querySelectorAll("style[antd-dark]")).forEach(r=>r.remove())},{immediate:!0});export{W as $,Xv as A,vi as B,A7 as C,xk as D,qa as E,J7 as F,j7 as G,zx as H,k9 as I,N9 as J,z7 as K,ps as L,Vr as M,ba as N,as as O,J as P,rn as Q,Xt as R,Q1 as S,Gk as T,At as U,In as V,Po as W,uu as X,ko as Y,gi as Z,ut as _,T as a,Rn as a$,ge as a0,Ci as a1,ar as a2,yt as a3,ks as a4,or as a5,Is as a6,lr as a7,yT as a8,_T as a9,t$ as aA,Ce as aB,qc as aC,$9 as aD,Hj as aE,Ao as aF,W_ as aG,g_ as aH,Ye as aI,e9 as aJ,ct as aK,rm as aL,Qe as aM,Q7 as aN,mI as aO,MT as aP,nh as aQ,Ow as aR,KD as aS,Ds as aT,g$ as aU,Zf as aV,_e as aW,ho as aX,F$ as aY,vE as aZ,CP as a_,id as aa,fT as ab,K0 as ac,G0 as ad,Jl as ae,vd as af,lt as ag,j_ as ah,Te as ai,K as aj,XR as ak,br as al,J1 as am,Yc as an,w_ as ao,wa as ap,Yj as aq,ya as ar,k_ as as,db as at,vb as au,Bf as av,Re as aw,Ke as ax,xt as ay,Yl as az,ze as b,i0 as b$,st as b0,cE as b1,X7 as b2,mi as b3,Ne as b4,V$ as b5,Id as b6,_o as b7,gw as b8,_$ as b9,Fa as bA,q7 as bB,Uk as bC,ux as bD,H7 as bE,V7 as bF,Gf as bG,Hc as bH,G7 as bI,o0 as bJ,Qw as bK,Tn as bL,Vn as bM,yC as bN,vz as bO,pz as bP,B9 as bQ,Tk as bR,h4 as bS,K7 as bT,r$ as bU,Jw as bV,Vk as bW,Jk as bX,Bk as bY,Z7 as bZ,hI as b_,C$ as ba,WR as bb,kR as bc,CC as bd,rr as be,Kd as bf,Us as bg,Do as bh,TO as bi,VR as bj,Ks as bk,CL as bl,Nl as bm,ot as bn,kt as bo,BM as bp,Jt as bq,Y7 as br,Yw as bs,Xw as bt,Rw as bu,Le as bv,Kt as bw,Sn as bx,Ew as by,NO as bz,x as c,nr as c0,Wn as c1,Ed as c2,_d as c3,ib as c4,bt as c5,Si as c6,NT as c7,sd as c8,O_ as c9,W7 as cA,Gc as cB,Oo as cC,U7 as cD,Ny as cE,bF as cF,z9 as cG,Tm as cH,_7 as cI,M_ as ca,my as cb,Y1 as cc,ou as cd,P_ as ce,D9 as cf,xn as cg,n7 as ch,My as ci,j9 as cj,dz as ck,R9 as cl,S5 as cm,W9 as cn,M9 as co,L9 as cp,I9 as cq,aI as cr,A9 as cs,QS as ct,Cs as cu,DS as cv,wb as cw,yx as cx,Wl as cy,gx as cz,fe as d,zn as e,pn as f,Wr as g,te as h,He as i,Bd as j,Wo as k,pe as l,Yt as m,_t as n,Xe as o,Pn as p,Dn as q,xe as r,tt as s,F9 as t,Ze as u,gr as v,Ns as w,Bn as x,dn as y,De as z};
+ */let T_;const su=t=>T_=t,I_=Symbol();function yf(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ro;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(ro||(ro={}));function Qj(){const t=Of(!0),e=t.run(()=>W({}));let n=[],r=[];const a=Cs({install(i){su(a),a._a=i,i.provide(I_,a),i.config.globalProperties.$pinia=a,r.forEach(o=>n.push(o)),r=[]},use(i){return!this._a&&!Jj?r.push(i):n.push(i),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return a}const A_=()=>{};function Sy(t,e,n,r=A_){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),r())};return!n&&Ef()&&Uy(a),a}function Da(t,...e){t.slice().forEach(n=>{n(...e)})}const Zj=t=>t();function bf(t,e){t instanceof Map&&e instanceof Map&&e.forEach((n,r)=>t.set(r,n)),t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const r=e[n],a=t[n];yf(a)&&yf(r)&&t.hasOwnProperty(n)&&!tt(r)&&!Cr(r)?t[n]=bf(a,r):t[n]=r}return t}const ez=Symbol();function tz(t){return!yf(t)||!t.hasOwnProperty(ez)}const{assign:Lr}=Object;function nz(t){return!!(tt(t)&&t.effect)}function rz(t,e,n,r){const{state:a,actions:i,getters:o}=e,l=n.state.value[t];let s;function u(){l||(n.state.value[t]=a?a():{});const f=ib(n.state.value[t]);return Lr(f,i,Object.keys(o||{}).reduce((v,h)=>(v[h]=Cs(K(()=>{su(n);const g=n._s.get(t);return o[h].call(g,g)})),v),{}))}return s=M_(t,u,e,n,r,!0),s}function M_(t,e,n={},r,a,i){let o;const l=Lr({actions:{}},n),s={deep:!0};let u,f,v=[],h=[],g;const c=r.state.value[t];!i&&!c&&(r.state.value[t]={}),W({});let d;function m(I){let O;u=f=!1,typeof I=="function"?(I(r.state.value[t]),O={type:ro.patchFunction,storeId:t,events:g}):(bf(r.state.value[t],I),O={type:ro.patchObject,payload:I,storeId:t,events:g});const N=d=Symbol();Ke().then(()=>{d===N&&(u=!0)}),f=!0,Da(v,O,r.state.value[t])}const p=i?function(){const{state:O}=n,N=O?O():{};this.$patch(L=>{Lr(L,N)})}:A_;function y(){o.stop(),v=[],h=[],r._s.delete(t)}function b(I,O){return function(){su(r);const N=Array.from(arguments),L=[],F=[];function j(M){L.push(M)}function z(M){F.push(M)}Da(h,{args:N,name:I,store:C,after:j,onError:z});let $;try{$=O.apply(this&&this.$id===t?this:C,N)}catch(M){throw Da(F,M),M}return $ instanceof Promise?$.then(M=>(Da(L,M),M)).catch(M=>(Da(F,M),Promise.reject(M))):(Da(L,$),$)}}const w={_p:r,$id:t,$onAction:Sy.bind(null,h),$patch:m,$reset:p,$subscribe(I,O={}){const N=Sy(v,I,O.detached,()=>L()),L=o.run(()=>pe(()=>r.state.value[t],F=>{(O.flush==="sync"?f:u)&&I({storeId:t,type:ro.direct,events:g},F)},Lr({},s,O)));return N},$dispose:y},C=ot(w);r._s.set(t,C);const _=r._a&&r._a.runWithContext||Zj,P=r._e.run(()=>(o=Of(),_(()=>o.run(e))));for(const I in P){const O=P[I];if(tt(O)&&!nz(O)||Cr(O))i||(c&&tz(O)&&(tt(O)?O.value=c[I]:bf(O,c[I])),r.state.value[t][I]=O);else if(typeof O=="function"){const N=b(I,O);P[I]=N,l.actions[I]=O}}return Lr(C,P),Lr(Ne(C),P),Object.defineProperty(C,"$state",{get:()=>r.state.value[t],set:I=>{m(O=>{Lr(O,I)})}}),r._p.forEach(I=>{Lr(C,o.run(()=>I({store:C,app:r._a,pinia:r,options:l})))}),c&&i&&n.hydrate&&n.hydrate(C.$state,c),u=!0,f=!0,C}function N_(t,e,n){let r,a;const i=typeof e=="function";typeof t=="string"?(r=t,a=i?n:e):(a=t,r=t.id);function o(l,s){const u=Ex();return l=l||(u?Ye(I_,null):null),l&&su(l),l=T_,l._s.has(r)||(i?M_(r,e,a,l):rz(r,a,l)),l._s.get(r)}return o.$id=r,o}function az(t){{t=Ne(t);const e={};for(const n in t){const r=t[n];(tt(r)||Cr(r))&&(e[n]=Ut(t,n))}return e}}const iz=t=>Yc({...t,name:typeof t.name=="string"?t.name:t.nameFallbackStr??""}),oz=t=>({...t,panes:t.panes.map(iz)}),Wo=N_("useGlobalStore",()=>{const t=W(),e=W([]),n=W(!0),r=W(512),a=W(Av.CREATED_TIME_DESC),i=W(256),o=()=>({type:"empty",name:Te("emptyStartPage"),key:wr()}),l=W([]);Re(()=>{const y=o();l.value.push({panes:[y],key:y.key,id:wr()})});const s=W(),u=W(new Array),f=Date.now(),v=W(),h=()=>{var b;const y=Ne(l.value).map(oz);((b=v.value)==null?void 0:b[0].time)!==f?v.value=[{tabs:y,time:f},...v.value??[]]:v.value[0].tabs=y,v.value=v.value.slice(0,2)},g=async(y,b,w)=>{let C=l.value.map(P=>P.panes).flat().find(P=>P.type==="tag-search-matched-image-grid"&&P.id===b);if(C){C.selectedTagIds=Yc(w);return}else C={type:"tag-search-matched-image-grid",id:b,selectedTagIds:Yc(w),key:wr(),name:Te("searchResults")};const _=l.value[y+1];_?(_.key=C.key,_.panes.push(C)):l.value.push({panes:[C],key:C.key,id:wr()})},c=W(G1());pe(c,y=>wv.global.locale.value=y);const d=W(!1),m=W({delete:""}),p=K(()=>{if(!t.value)return{};const{global_setting:y,sd_cwd:b}=t.value,w={[Te("extra")]:y.outdir_extras_samples,[Te("saveButtonSavesTo")]:y.outdir_save,[Te("t2i")]:y.outdir_txt2img_samples,[Te("i2i")]:y.outdir_img2img_samples,[Te("i2i-grid")]:y.outdir_img2img_grids,[Te("t2i-grid")]:y.outdir_txt2img_grids},C=e.value.map(P=>P.dir),_=Object.keys(w).filter(P=>C.includes(w[P])).map(P=>[P,O_(w[P])?xn(w[P]):E_(b,w[P])]);return Object.fromEntries(_)});return{defaultSortingMethod:a,defaultGridCellWidth:i,pathAliasMap:p,createEmptyPane:o,lang:c,tabList:l,conf:t,quickMovePaths:e,enableThumbnail:n,dragingTab:s,saveRecord:h,recent:u,tabListHistoryRecord:v,gridThumbnailResolution:r,longPressOpenContextMenu:d,openTagSearchMatchedImageGridInRight:g,onlyFoldersAndImages:W(!0),fullscreenPreviewInitialUrl:W(""),shortcut:m,dontShowAgain:W(!1),dontShowAgainNewImgOpts:W(!1)}},{persist:{paths:["dontShowAgainNewImgOpts","defaultSortingMethod","defaultGridCellWidth","dontShowAgain","lang","enableThumbnail","tabListHistoryRecord","recent","gridThumbnailResolution","longPressOpenContextMenu","onlyFoldersAndImages","shortcut"]}}),ao=encodeURIComponent,vs=(t,e=!1)=>`${Iv.value}/file?path=${ao(t.fullpath)}&t=${ao(t.date)}${e?`&disposition=${ao(t.name)}`:""}`,xy=(t,e="512x512")=>`${Iv.value}/image-thumbnail?path=${ao(t.fullpath)}&size=${e}&t=${ao(t.date)}`,lz=t=>typeof t=="object"&&t.__id==="FileTransferData",sz=t=>{var n;const e=JSON.parse(((n=t.dataTransfer)==null?void 0:n.getData("text"))??"{}");return lz(e)?e:null},B9=t=>X1(t,"fullpath");function uz(t){var r;if(typeof t!="string")return!1;const e=[".jpg",".jpeg",".png",".gif",".bmp",".webp"],n=(r=t.split(".").pop())==null?void 0:r.toLowerCase();return n!==void 0&&e.includes(`.${n}`)}function k_(){try{return parent.window.gradioApp()}catch{}const t=parent.document.getElementsByTagName("gradio-app"),e=t.length==0?null:t[0].shadowRoot;return e||document}const cz=()=>{const t=k_().querySelectorAll("#tabs > .tabitem[id^=tab_]");return Array.from(t).findIndex(e=>e.id.includes("infinite-image-browsing"))},fz=()=>{try{k_().querySelector("#tabs").querySelectorAll("button")[cz()].click()}catch(t){console.error(t)}},dz=async(t,e=100,n=1e3)=>new Promise(r=>{const a=(i=0)=>{const o=t();o!=null||i>n/e?r(o):setTimeout(()=>a(++i),e)};a()}),vz=(t,...e)=>e.reduce((n,r)=>(n[r]=t==null?void 0:t[r],n),{}),pz=()=>ot(new Io(-1,0,-1,"throw")),j9=async(t,e)=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(t);else{const n=document.createElement("input");n.value=t,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}ya.success(e??Te("copied"))}catch{ya.error("copy failed. maybe it's non-secure environment")}},{useEventListen:hz,eventEmitter:$_}=Y1();function z9(t){let e=null,n=!1;return async function(...r){if(n)return e;n=!0;try{return e=t.apply(this,r),await e}finally{n=!1}}}function mz(t){const e=parent.location.href,n=new URLSearchParams(parent.location.search);t.forEach(a=>{n.delete(a)});const r=`${e.split("?")[0]}${n.size?"?":""}${n.toString()}`;return parent.history.pushState(null,"",r),r}const gz=t=>new Promise((e,n)=>{const r=new Image;r.onload=()=>e(r),r.onerror=a=>n(a),r.src=t}),yz=async({global_setting:t,sd_cwd:e,home:n,extra_paths:r,cwd:a})=>{const i=vz(t,"outdir_grids","outdir_extras_samples","outdir_img2img_grids","outdir_img2img_samples","outdir_grids","outdir_extras_samples","outdir_samples","outdir_txt2img_grids","outdir_txt2img_samples","outdir_save"),o={...i,cwd:e,home:n,desktop:`${n}/Desktop`},l=await qj(Object.values(o).filter(h=>h)),s={outdir_txt2img_samples:Te("t2i"),outdir_img2img_samples:Te("i2i"),outdir_save:Te("saveButtonSavesTo"),outdir_extras_samples:Te("extra"),outdir_grids:Te("gridImage"),outdir_img2img_grids:Te("i2i-grid"),outdir_samples:Te("image"),outdir_txt2img_grids:Te("t2i-grid"),cwd:Te("workingFolder"),home:"home",desktop:Te("desktop")},u={home:xn(n),[Te("desktop")]:xn(o.desktop),[Te("workingFolder")]:xn(a),[Te("t2i")]:i.outdir_txt2img_samples&&xn(i.outdir_txt2img_samples),[Te("i2i")]:i.outdir_img2img_samples&&xn(i.outdir_img2img_samples)},f=h=>{h=xn(h);const g=[];for(const[c,d]of Object.entries(u))c&&d&&g.push(h.replace(d,"$"+c));return g.sort((c,d)=>c.length-d.length)[0]},v=Object.keys(s).filter(h=>l[o[h]]).map(h=>{const g=h;return{key:g,zh:s[g],dir:o[g],can_delete:!1}}).concat(r.map(h=>({key:h.path,zh:f(h.path),dir:h.path,can_delete:!0})));return X1(v,"key")};const R_={name:"splitpanes",emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce((t,e)=>(t[e.id]=e)&&t,{})}},methods:{updatePaneComponents(){this.panes.forEach(t=>{t.update&&t.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[t.id].size}%`})})},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(t,e){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=e},onMouseMove(t){this.touch.mouseDown&&(t.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(t)),this.$emit("resize",this.panes.map(e=>({min:e.min,max:e.max,size:e.size}))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map(t=>({min:t.min,max:t.max,size:t.size}))),this.touch.mouseDown=!1,setTimeout(()=>{this.touch.dragging=!1,this.unbindEvents()},100)},onSplitterClick(t,e){"ontouchstart"in window&&(t.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===e?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(t,e),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=e,this.splitterTaps.timeoutId=setTimeout(()=>{this.splitterTaps.splitter=null},500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[e])},onSplitterDblClick(t,e){let n=0;this.panes=this.panes.map((r,a)=>(r.size=a===e?r.max:r.min,a!==e&&(n+=r.min),r)),this.panes[e].size-=n,this.$emit("pane-maximize",this.panes[e]),this.$emit("resized",this.panes.map(r=>({min:r.min,max:r.max,size:r.size})))},onPaneClick(t,e){this.$emit("pane-click",this.indexedPanes[e])},getCurrentMouseDrag(t){const e=this.container.getBoundingClientRect(),{clientX:n,clientY:r}="ontouchstart"in window&&t.touches?t.touches[0]:t;return{x:n-e.left,y:r-e.top}},getCurrentDragPercentage(t){t=t[this.horizontal?"y":"x"];const e=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(t=e-t),t*100/e},calculatePanesSize(t){const e=this.touch.activeSplitter;let n={prevPanesSize:this.sumPrevPanesSize(e),nextPanesSize:this.sumNextPanesSize(e),prevReachedMinPanes:0,nextReachedMinPanes:0};const r=0+(this.pushOtherPanes?0:n.prevPanesSize),a=100-(this.pushOtherPanes?0:n.nextPanesSize),i=Math.max(Math.min(this.getCurrentDragPercentage(t),a),r);let o=[e,e+1],l=this.panes[o[0]]||null,s=this.panes[o[1]]||null;const u=l.max<100&&i>=l.max+n.prevPanesSize,f=s.max<100&&i<=100-(s.max+this.sumNextPanesSize(e+1));if(u||f){u?(l.size=l.max,s.size=Math.max(100-l.max-n.prevPanesSize-n.nextPanesSize,0)):(l.size=Math.max(100-s.max-n.prevPanesSize-this.sumNextPanesSize(e+1),0),s.size=s.max);return}if(this.pushOtherPanes){const v=this.doPushOtherPanes(n,i);if(!v)return;({sums:n,panesToResize:o}=v),l=this.panes[o[0]]||null,s=this.panes[o[1]]||null}l!==null&&(l.size=Math.min(Math.max(i-n.prevPanesSize-n.prevReachedMinPanes,l.min),l.max)),s!==null&&(s.size=Math.min(Math.max(100-i-n.nextPanesSize-n.nextReachedMinPanes,s.min),s.max))},doPushOtherPanes(t,e){const n=this.touch.activeSplitter,r=[n,n+1];return e{i>r[0]&&i<=n&&(a.size=a.min,t.prevReachedMinPanes+=a.min)}),t.prevPanesSize=this.sumPrevPanesSize(r[0]),r[0]===void 0)?(t.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((a,i)=>{i>0&&i<=n&&(a.size=a.min,t.prevReachedMinPanes+=a.min)}),this.panes[r[1]].size=100-t.prevReachedMinPanes-this.panes[0].min-t.prevPanesSize-t.nextPanesSize,null):e>100-t.nextPanesSize-this.panes[r[1]].min&&(r[1]=this.findNextExpandedPane(n).index,t.nextReachedMinPanes=0,r[1]>n+1&&this.panes.forEach((a,i)=>{i>n&&i{i=n+1&&(a.size=a.min,t.nextReachedMinPanes+=a.min)}),this.panes[r[0]].size=100-t.prevPanesSize-t.nextReachedMinPanes-this.panes[this.panesCount-1].min-t.nextPanesSize,null):{sums:t,panesToResize:r}},sumPrevPanesSize(t){return this.panes.reduce((e,n,r)=>e+(re+(r>t+1?n.size:0),0)},findPrevExpandedPane(t){return[...this.panes].reverse().find(e=>e.indexe.min)||{}},findNextExpandedPane(t){return this.panes.find(e=>e.index>t+1&&e.size>e.min)||{}},checkSplitpanesNodes(){Array.from(this.container.children).forEach(t=>{const e=t.classList.contains("splitpanes__pane"),n=t.classList.contains("splitpanes__splitter");!e&&!n&&(t.parentNode.removeChild(t),console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed."))})},addSplitter(t,e,n=!1){const r=t-1,a=document.createElement("div");a.classList.add("splitpanes__splitter"),n||(a.onmousedown=i=>this.onMouseDown(i,r),typeof window<"u"&&"ontouchstart"in window&&(a.ontouchstart=i=>this.onMouseDown(i,r)),a.onclick=i=>this.onSplitterClick(i,r+1)),this.dblClickSplitter&&(a.ondblclick=i=>this.onSplitterDblClick(i,r+1)),e.parentNode.insertBefore(a,e)},removeSplitter(t){t.onmousedown=void 0,t.onclick=void 0,t.ondblclick=void 0,t.parentNode.removeChild(t)},redoSplitters(){const t=Array.from(this.container.children);t.forEach(n=>{n.className.includes("splitpanes__splitter")&&this.removeSplitter(n)});let e=0;t.forEach(n=>{n.className.includes("splitpanes__pane")&&(!e&&this.firstSplitter?this.addSplitter(e,n,!0):e&&this.addSplitter(e,n),e++)})},requestUpdate({target:t,...e}){const n=this.indexedPanes[t._.uid];Object.entries(e).forEach(([r,a])=>n[r]=a)},onPaneAdd(t){let e=-1;Array.from(t.$el.parentNode.children).some(a=>(a.className.includes("splitpanes__pane")&&e++,a===t.$el));const n=parseFloat(t.minSize),r=parseFloat(t.maxSize);this.panes.splice(e,0,{id:t._.uid,index:e,min:isNaN(n)?0:n,max:isNaN(r)?100:r,size:t.size===null?null:parseFloat(t.size),givenSize:t.size,update:t.update}),this.panes.forEach((a,i)=>a.index=i),this.ready&&this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[e]}),this.$emit("pane-add",{index:e,panes:this.panes.map(a=>({min:a.min,max:a.max,size:a.size}))})})},onPaneRemove(t){const e=this.panes.findIndex(r=>r.id===t._.uid),n=this.panes.splice(e,1)[0];this.panes.forEach((r,a)=>r.index=a),this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:{...n,index:e}}),this.$emit("pane-remove",{removed:n,panes:this.panes.map(r=>({min:r.min,max:r.max,size:r.size}))})})},resetPaneSizes(t={}){!t.addedPane&&!t.removedPane?this.initialPanesSizing():this.panes.some(e=>e.givenSize!==null||e.min||e.max<100)?this.equalizeAfterAddOrRemove(t):this.equalize(),this.ready&&this.$emit("resized",this.panes.map(e=>({min:e.min,max:e.max,size:e.size})))},equalize(){const t=100/this.panesCount;let e=0;const n=[],r=[];this.panes.forEach(a=>{a.size=Math.max(Math.min(t,a.max),a.min),e-=a.size,a.size>=a.max&&n.push(a.id),a.size<=a.min&&r.push(a.id)}),e>.1&&this.readjustSizes(e,n,r)},initialPanesSizing(){let t=100;const e=[],n=[];let r=0;this.panes.forEach(i=>{t-=i.size,i.size!==null&&r++,i.size>=i.max&&e.push(i.id),i.size<=i.min&&n.push(i.id)});let a=100;t>.1&&(this.panes.forEach(i=>{i.size===null&&(i.size=Math.max(Math.min(t/(this.panesCount-r),i.max),i.min)),a-=i.size}),a>.1&&this.readjustSizes(t,e,n))},equalizeAfterAddOrRemove({addedPane:t,removedPane:e}={}){let n=100/this.panesCount,r=0;const a=[],i=[];t&&t.givenSize!==null&&(n=(100-t.givenSize)/(this.panesCount-1)),this.panes.forEach(o=>{r-=o.size,o.size>=o.max&&a.push(o.id),o.size<=o.min&&i.push(o.id)}),!(Math.abs(r)<.1)&&(this.panes.forEach(o=>{t&&t.givenSize!==null&&t.id===o.id||(o.size=Math.max(Math.min(n,o.max),o.min)),r-=o.size,o.size>=o.max&&a.push(o.id),o.size<=o.min&&i.push(o.id)}),r>.1&&this.readjustSizes(r,a,i))},readjustSizes(t,e,n){let r;t>0?r=t/(this.panesCount-e.length):r=t/(this.panesCount-n.length),this.panes.forEach((a,i)=>{if(t>0&&!e.includes(a.id)){const o=Math.max(Math.min(a.size+r,a.max),a.min),l=o-a.size;t-=l,a.size=o}else if(!n.includes(a.id)){const o=Math.max(Math.min(a.size+r,a.max),a.min),l=o-a.size;t-=l,a.size=o}a.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[a.id].size}%`})}),Math.abs(t)>.1&&this.$nextTick(()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(t){[...this.container.querySelectorAll(".splitpanes__splitter")].forEach((e,n)=>{e.ondblclick=t?r=>this.onSplitterDblClick(r,n):void 0})}},beforeUnmount(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(){return wa("div",{ref:"container",class:["splitpanes",`splitpanes--${this.horizontal?"horizontal":"vertical"}`,{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default())}},bz=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},wz={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeUnmount(){this.onPaneRemove(this)},methods:{update(t){this.style=t}},computed:{sizeNumber(){return this.size||this.size===0?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(t){this.requestUpdate({target:this,size:t})},minSizeNumber(t){this.requestUpdate({target:this,min:t})},maxSizeNumber(t){this.requestUpdate({target:this,max:t})}}};function Cz(t,e,n,r,a,i){return Xe(),dn("div",{class:"splitpanes__pane",onClick:e[0]||(e[0]=o=>i.onPaneClick(o,t._.uid)),style:vi(t.style)},[Wl(t.$slots,"default")],4)}const wf=bz(wz,[["render",Cz]]);function Mv(t){return Ef()?(Uy(t),!0):!1}function Nv(t){return typeof t=="function"?t():xe(t)}const L_=typeof window<"u",kv=()=>{};function _z(t,e){function n(...r){return new Promise((a,i)=>{Promise.resolve(t(()=>e.apply(this,r),{fn:e,thisArg:this,args:r})).then(a).catch(i)})}return n}const D_=t=>t();function Sz(t=D_){const e=W(!0);function n(){e.value=!1}function r(){e.value=!0}const a=(...i)=>{e.value&&t(...i)};return{isActive:ws(e),pause:n,resume:r,eventFilter:a}}function xz(...t){if(t.length!==1)return Ut(...t);const e=t[0];return typeof e=="function"?ws(zS(()=>({get:e,set:kv}))):W(e)}function Pz(t,e=!0){bt()?Re(t):e?t():Ke(t)}var Py=Object.getOwnPropertySymbols,Oz=Object.prototype.hasOwnProperty,Ez=Object.prototype.propertyIsEnumerable,Tz=(t,e)=>{var n={};for(var r in t)Oz.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Py)for(var r of Py(t))e.indexOf(r)<0&&Ez.call(t,r)&&(n[r]=t[r]);return n};function Iz(t,e,n={}){const r=n,{eventFilter:a=D_}=r,i=Tz(r,["eventFilter"]);return pe(t,_z(a,e),i)}var Az=Object.defineProperty,Mz=Object.defineProperties,Nz=Object.getOwnPropertyDescriptors,ps=Object.getOwnPropertySymbols,F_=Object.prototype.hasOwnProperty,B_=Object.prototype.propertyIsEnumerable,Oy=(t,e,n)=>e in t?Az(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,kz=(t,e)=>{for(var n in e||(e={}))F_.call(e,n)&&Oy(t,n,e[n]);if(ps)for(var n of ps(e))B_.call(e,n)&&Oy(t,n,e[n]);return t},$z=(t,e)=>Mz(t,Nz(e)),Rz=(t,e)=>{var n={};for(var r in t)F_.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&ps)for(var r of ps(t))e.indexOf(r)<0&&B_.call(t,r)&&(n[r]=t[r]);return n};function Lz(t,e,n={}){const r=n,{eventFilter:a}=r,i=Rz(r,["eventFilter"]),{eventFilter:o,pause:l,resume:s,isActive:u}=Sz(a);return{stop:Iz(t,e,$z(kz({},i),{eventFilter:o})),pause:l,resume:s,isActive:u}}function Dz(t,e,n){let r;tt(n)?r={evaluating:n}:r=n||{};const{lazy:a=!1,evaluating:i=void 0,shallow:o=!0,onError:l=kv}=r,s=W(!a),u=o?Rn(e):W(e);let f=0;return st(async v=>{if(!s.value)return;f++;const h=f;let g=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const c=await t(d=>{v(()=>{i&&(i.value=!1),g||d()})});h===f&&(u.value=c)}catch(c){l(c)}finally{i&&h===f&&(i.value=!1),g=!0}}),a?K(()=>(s.value=!0,u.value)):u}function Ur(t){var e;const n=Nv(t);return(e=n==null?void 0:n.$el)!=null?e:n}const xr=L_?window:void 0,Fz=L_?window.document:void 0;function On(...t){let e,n,r,a;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,a]=t,e=xr):[e,n,r,a]=t,!e)return kv;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(f=>f()),i.length=0},l=(f,v,h,g)=>(f.addEventListener(v,h,g),()=>f.removeEventListener(v,h,g)),s=pe(()=>[Ur(e),Nv(a)],([f,v])=>{o(),f&&i.push(...n.flatMap(h=>r.map(g=>l(f,h,g,v))))},{immediate:!0,flush:"post"}),u=()=>{s(),o()};return Mv(u),u}const Bz=500;function W9(t,e,n){var r,a;const i=K(()=>Ur(t));let o;function l(){o&&(clearTimeout(o),o=void 0)}function s(f){var v,h,g,c;(v=n==null?void 0:n.modifiers)!=null&&v.self&&f.target!==i.value||(l(),(h=n==null?void 0:n.modifiers)!=null&&h.prevent&&f.preventDefault(),(g=n==null?void 0:n.modifiers)!=null&&g.stop&&f.stopPropagation(),o=setTimeout(()=>e(f),(c=n==null?void 0:n.delay)!=null?c:Bz))}const u={capture:(r=n==null?void 0:n.modifiers)==null?void 0:r.capture,once:(a=n==null?void 0:n.modifiers)==null?void 0:a.once};On(i,"pointerdown",s,u),On(i,"pointerup",l,u),On(i,"pointerleave",l,u)}function jz(){const t=W(!1);return bt()&&Re(()=>{t.value=!0}),t}function j_(t){const e=jz();return K(()=>(e.value,!!t()))}function zz(t,e={}){const{window:n=xr}=e,r=j_(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let a;const i=W(!1),o=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",l):a.removeListener(l))},l=()=>{r.value&&(o(),a=n.matchMedia(xz(t).value),i.value=!!(a!=null&&a.matches),a&&("addEventListener"in a?a.addEventListener("change",l):a.addListener(l)))};return st(l),Mv(()=>o()),i}const wl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Cl="__vueuse_ssr_handlers__",Wz=Vz();function Vz(){return Cl in wl||(wl[Cl]=wl[Cl]||{}),wl[Cl]}function Hz(t,e){return Wz[t]||e}function Uz(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"?"object":Number.isNaN(t)?"any":"number"}var Kz=Object.defineProperty,Ey=Object.getOwnPropertySymbols,Gz=Object.prototype.hasOwnProperty,qz=Object.prototype.propertyIsEnumerable,Ty=(t,e,n)=>e in t?Kz(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Iy=(t,e)=>{for(var n in e||(e={}))Gz.call(e,n)&&Ty(t,n,e[n]);if(Ey)for(var n of Ey(e))qz.call(e,n)&&Ty(t,n,e[n]);return t};const Yz={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t))},date:{read:t=>new Date(t),write:t=>t.toISOString()}},Ay="vueuse-storage";function Xz(t,e,n,r={}){var a;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:s=!0,mergeDefaults:u=!1,shallow:f,window:v=xr,eventFilter:h,onError:g=I=>{console.error(I)}}=r,c=(f?Rn:W)(e);if(!n)try{n=Hz("getDefaultStorage",()=>{var I;return(I=xr)==null?void 0:I.localStorage})()}catch(I){g(I)}if(!n)return c;const d=Nv(e),m=Uz(d),p=(a=r.serializer)!=null?a:Yz[m],{pause:y,resume:b}=Lz(c,()=>w(c.value),{flush:i,deep:o,eventFilter:h});return v&&l&&(On(v,"storage",P),On(v,Ay,_)),P(),c;function w(I){try{if(I==null)n.removeItem(t);else{const O=p.write(I),N=n.getItem(t);N!==O&&(n.setItem(t,O),v&&v.dispatchEvent(new CustomEvent(Ay,{detail:{key:t,oldValue:N,newValue:O,storageArea:n}})))}}catch(O){g(O)}}function C(I){const O=I?I.newValue:n.getItem(t);if(O==null)return s&&d!==null&&n.setItem(t,p.write(d)),d;if(!I&&u){const N=p.read(O);return typeof u=="function"?u(N,d):m==="object"&&!Array.isArray(N)?Iy(Iy({},d),N):N}else return typeof O!="string"?O:p.read(O)}function _(I){P(I.detail)}function P(I){if(!(I&&I.storageArea!==n)){if(I&&I.key==null){c.value=d;return}if(!(I&&I.key!==t)){y();try{c.value=C(I)}catch(O){g(O)}finally{I?Ke(b):b()}}}}}function Jz(t){return zz("(prefers-color-scheme: dark)",t)}function Qz({document:t=Fz}={}){if(!t)return W("visible");const e=W(t.visibilityState);return On(t,"visibilitychange",()=>{e.value=t.visibilityState}),e}var My=Object.getOwnPropertySymbols,Zz=Object.prototype.hasOwnProperty,e7=Object.prototype.propertyIsEnumerable,t7=(t,e)=>{var n={};for(var r in t)Zz.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&My)for(var r of My(t))e.indexOf(r)<0&&e7.call(t,r)&&(n[r]=t[r]);return n};function n7(t,e,n={}){const r=n,{window:a=xr}=r,i=t7(r,["window"]);let o;const l=j_(()=>a&&"ResizeObserver"in a),s=()=>{o&&(o.disconnect(),o=void 0)},u=K(()=>Array.isArray(t)?t.map(h=>Ur(h)):[Ur(t)]),f=pe(u,h=>{if(s(),l.value&&a){o=new ResizeObserver(e);for(const g of h)g&&o.observe(g,i)}},{immediate:!0,flush:"post",deep:!0}),v=()=>{s(),f()};return Mv(v),{isSupported:l,stop:v}}function r7(t,e={width:0,height:0},n={}){const{window:r=xr,box:a="content-box"}=n,i=K(()=>{var s,u;return(u=(s=Ur(t))==null?void 0:s.namespaceURI)==null?void 0:u.includes("svg")}),o=W(e.width),l=W(e.height);return n7(t,([s])=>{const u=a==="border-box"?s.borderBoxSize:a==="content-box"?s.contentBoxSize:s.devicePixelContentBoxSize;if(r&&i.value){const f=Ur(t);if(f){const v=r.getComputedStyle(f);o.value=parseFloat(v.width),l.value=parseFloat(v.height)}}else if(u){const f=Array.isArray(u)?u:[u];o.value=f.reduce((v,{inlineSize:h})=>v+h,0),l.value=f.reduce((v,{blockSize:h})=>v+h,0)}else o.value=s.contentRect.width,l.value=s.contentRect.height},n),pe(()=>Ur(t),s=>{o.value=s?e.width:0,l.value=s?e.height:0}),{width:o,height:l}}function V9(t,e,n={}){const{window:r=xr}=n;return Xz(t,e,r==null?void 0:r.localStorage,n)}const a7={page:t=>[t.pageX,t.pageY],client:t=>[t.clientX,t.clientY],screen:t=>[t.screenX,t.screenY],movement:t=>t instanceof Touch?null:[t.movementX,t.movementY]};function i7(t={}){const{type:e="page",touch:n=!0,resetOnTouchEnds:r=!1,initialValue:a={x:0,y:0},window:i=xr,target:o=i,eventFilter:l}=t,s=W(a.x),u=W(a.y),f=W(null),v=typeof e=="function"?e:a7[e],h=p=>{const y=v(p);y&&([s.value,u.value]=y,f.value="mouse")},g=p=>{if(p.touches.length>0){const y=v(p.touches[0]);y&&([s.value,u.value]=y,f.value="touch")}},c=()=>{s.value=a.x,u.value=a.y},d=l?p=>l(()=>h(p),{}):p=>h(p),m=l?p=>l(()=>g(p),{}):p=>g(p);return o&&(On(o,"mousemove",d,{passive:!0}),On(o,"dragover",d,{passive:!0}),n&&e!=="movement"&&(On(o,"touchstart",m,{passive:!0}),On(o,"touchmove",m,{passive:!0}),r&&On(o,"touchend",c,{passive:!0}))),{x:s,y:u,sourceType:f}}function Ny(t,e={}){const{handleOutside:n=!0,window:r=xr}=e,{x:a,y:i,sourceType:o}=i7(e),l=W(t??(r==null?void 0:r.document.body)),s=W(0),u=W(0),f=W(0),v=W(0),h=W(0),g=W(0),c=W(!0);let d=()=>{};return r&&(d=pe([l,a,i],()=>{const m=Ur(l);if(!m)return;const{left:p,top:y,width:b,height:w}=m.getBoundingClientRect();f.value=p+r.pageXOffset,v.value=y+r.pageYOffset,h.value=w,g.value=b;const C=a.value-f.value,_=i.value-v.value;c.value=b===0||w===0||C<0||_<0||C>b||_>w,(n||!c.value)&&(s.value=C,u.value=_)},{immediate:!0}),On(document,"mouseleave",()=>{c.value=!0})),{x:a,y:i,sourceType:o,elementX:s,elementY:u,elementPositionX:f,elementPositionY:v,elementHeight:h,elementWidth:g,isOutside:c,stop:d}}const o7={style:{position:"relative"}},l7=fe({__name:"edgeTrigger",props:{tabIdx:{}},setup(t){const e=t,n=Wo(),r=W(),a=W(),{isOutside:i}=Ny(a),{isOutside:o}=Ny(r),l=K(()=>!i.value&&!!n.dragingTab),s=K(()=>!o.value&&!!n.dragingTab&&!l.value),u=(f,v)=>{var g,c,d,m;const h=JSON.parse(((g=f.dataTransfer)==null?void 0:g.getData("text"))??"{}");if(console.log("on-drop",v,h),(h==null?void 0:h.from)==="tab-drag"){if(f.stopPropagation(),n.dragingTab=void 0,v==="insert"&&h.tabIdx===e.tabIdx)return;const p=n.tabList,y=p[h.tabIdx].panes[h.paneIdx];p[h.tabIdx].panes.splice(h.paneIdx,1),v==="add-right"?(p[e.tabIdx].key=((c=p[e.tabIdx].panes[h.paneIdx-1])==null?void 0:c.key)??p[e.tabIdx].panes[0].key,p.splice(e.tabIdx+1,0,{panes:[y],key:y.key,id:wr()})):(p[h.tabIdx].key=((d=p[h.tabIdx].panes[h.paneIdx-1])==null?void 0:d.key)??((m=p[h.tabIdx].panes[0])==null?void 0:m.key),p[e.tabIdx].panes.push(y),p[e.tabIdx].key=y.key),p[h.tabIdx].panes.length===0&&p.splice(h.tabIdx,1)}};return(f,v)=>(Xe(),dn("div",{class:ba(["wrap",{accept:s.value}]),ref_key:"trigger",ref:r,onDragover:v[2]||(v[2]=Dn(()=>{},["prevent"])),onDrop:v[3]||(v[3]=Dn(h=>u(h,"insert"),["prevent"]))},[Pn("div",{class:ba(["trigger",{accept:l.value}]),ref_key:"edgeTrigger",ref:a,onDragover:v[0]||(v[0]=Dn(()=>{},["prevent"])),onDrop:v[1]||(v[1]=Dn(h=>u(h,"add-right"),["prevent"]))},null,34),Pn("div",o7,[Wl(f.$slots,"default",{},void 0,!0)])],34))}});const uu=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},s7=uu(l7,[["__scopeId","data-v-10c5aba4"]]);const z_=N_("useImgSliStore",()=>{const t=W(!1),e=W(!1),n=W(!1),r=W(),a=W(),i=Wo(),o=K(()=>{var s;const l=i.tabList;for(const u of l)if(((s=u.panes.find(f=>f.key===u.key))==null?void 0:s.type)==="img-sli")return!0;return!1});return{drawerVisible:e,fileDragging:t,left:r,right:a,imgSliActived:o,opened:n}}),u7=t=>(db("data-v-8c231997"),t=t(),vb(),t),c7={key:0,class:"dragging-port-wrap"},f7={class:"content"},d7={key:0,class:"img-wrap"},v7={key:1},p7=u7(()=>Pn("div",{style:{padding:"16px"}},null,-1)),h7={key:0,class:"img-wrap"},m7={key:1},g7={class:"actions"},y7=fe({__name:"DraggingPort",setup(t){const e=z_(),n=Wo(),{left:r,right:a}=az(e),i=async(s,u)=>{const f=sz(s);if(f){const v=f.nodes[0];if(!uz(v.name))return;e[u]=v}},o=()=>{e.left=void 0,e.right=void 0,e.opened=!1},l=()=>{Q1(r.value&&a.value);const s={type:"img-sli",left:r.value,right:a.value,name:`${Te("imgCompare")} ( ${r.value.name} vs ${a.value.name})`,key:wr()};n.tabList[0].panes.push(s),n.tabList[0].key=s.key};return(s,u)=>{const f=bF,v=In;return Xe(),Yt(lr,null,{default:_t(()=>[(xe(e).fileDragging||xe(r)||xe(a)||xe(e).opened)&&!xe(e).imgSliActived?(Xe(),dn("div",c7,[Pn("h2",null,yr(s.$t("imgCompare")),1),Pn("div",f7,[Pn("div",{class:"left port",onDragover:u[1]||(u[1]=Dn(()=>{},["prevent"])),onDrop:u[2]||(u[2]=Dn(h=>i(h,"left"),["prevent"]))},[xe(r)?(Xe(),dn("div",d7,[x(f,{src:xe(xy)(xe(r)),preview:{src:xe(vs)(xe(r))}},null,8,["src","preview"]),x(xe(Jl),{class:"close",onClick:u[0]||(u[0]=h=>r.value=void 0)})])):(Xe(),dn("div",v7,yr(s.$t("dragImageHere")),1))],32),p7,Pn("div",{class:"right port",onDragover:u[4]||(u[4]=Dn(()=>{},["prevent"])),onDrop:u[5]||(u[5]=Dn(h=>i(h,"right"),["prevent"]))},[xe(a)?(Xe(),dn("div",h7,[x(f,{src:xe(xy)(xe(a)),preview:{src:xe(vs)(xe(a))}},null,8,["src","preview"]),x(xe(Jl),{class:"close",onClick:u[3]||(u[3]=h=>a.value=void 0)})])):(Xe(),dn("div",m7,yr(s.$t("dragImageHere")),1))],32)]),Pn("div",g7,[xe(r)&&xe(a)?(Xe(),Yt(v,{key:0,type:"primary",onClick:u[6]||(u[6]=h=>xe(e).drawerVisible=!0)},{default:_t(()=>[Bn(yr(s.$t("confirm")),1)]),_:1})):qa("",!0),xe(r)&&xe(a)?(Xe(),Yt(v,{key:1,type:"primary",onClick:l},{default:_t(()=>[Bn(yr(s.$t("confirm"))+"("+yr(s.$t("openInNewTab"))+")",1)]),_:1})):qa("",!0),x(v,{style:{"margin-left":"16px"},onClick:o},{default:_t(()=>[Bn(yr(s.$t("close")),1)]),_:1})])])):qa("",!0)]),_:1})}}});const b7=uu(y7,[["__scopeId","data-v-8c231997"]]),w7={class:"container"},C7=["src"],_7=fe({__name:"ImgSliSide",props:{side:{},containerWidth:{},img:{},maxEdge:{},percent:{}},setup(t){const e=t,n=K(()=>{let r="";const i=e.containerWidth;return e.side==="left"?r=`calc(50% - ${(e.percent-50)/100*i}px)`:r=`calc(-50% - ${(e.percent-50)/100*i+4}px)`,`${e.maxEdge==="width"?"width:100%":"height:100%"};transform: translate(${r}, -50%)`});return(r,a)=>(Xe(),dn("div",w7,[Pn("img",{class:ba(["img",[r.side]]),style:vi(n.value),src:xe(vs)(r.img),onDragstart:a[0]||(a[0]=Dn(()=>{},["prevent","stop"]))},null,46,C7)]))}});const ky=uu(_7,[["__scopeId","data-v-65d66859"]]),S7=fe({__name:"ImgSliComparePane",props:{left:{},right:{}},setup(t,{expose:e}){const n=t,r=W(50),a=([{size:u}])=>{r.value=u},i=W(),{width:o}=r7(i);e({requestFullScreen:()=>{var u;(u=i.value)==null||u.requestFullscreen()}});const s=Dz(async()=>{if(!n.left)return"width";const u=await gz(vs(n.left)),f=u.width/u.height,v=document.body.clientWidth/document.body.clientHeight;return f>v?"width":"height"});return(u,f)=>(Xe(),dn("div",{ref_key:"wrapperEl",ref:i,style:{height:"100%"}},[x(xe(R_),{class:"default-theme",onResize:a},{default:_t(()=>[u.left?(Xe(),Yt(xe(wf),{key:0},{default:_t(()=>[x(ky,{side:"left","max-edge":xe(s),"container-width":xe(o),percent:r.value,img:u.left},null,8,["max-edge","container-width","percent","img"])]),_:1})):qa("",!0),u.right?(Xe(),Yt(xe(wf),{key:1},{default:_t(()=>[x(ky,{"max-edge":xe(s),percent:r.value,img:u.right,side:"right","container-width":xe(o)},null,8,["max-edge","percent","img","container-width"])]),_:1})):qa("",!0)]),_:1})],512))}});const x7={class:"actions"},P7=fe({__name:"ImgSliDrawer",setup(t){const e=z_(),n=W();return(r,a)=>{const i=In,o=d4;return Xe(),dn(De,null,[x(o,{width:"100vw",visible:xe(e).drawerVisible,"onUpdate:visible":a[2]||(a[2]=l=>xe(e).drawerVisible=l),"destroy-on-close":"",class:"img-sli","close-icon":null},{footer:_t(()=>[Pn("div",x7,[x(i,{onClick:a[0]||(a[0]=l=>xe(e).drawerVisible=!1)},{default:_t(()=>[Bn(yr(r.$t("close")),1)]),_:1}),x(i,{onClick:a[1]||(a[1]=l=>{var s;return(s=n.value)==null?void 0:s.requestFullScreen()})},{default:_t(()=>[Bn(yr(r.$t("fullscreenview")),1)]),_:1})])]),default:_t(()=>[xe(e).left&&xe(e).right?(Xe(),Yt(S7,{key:0,ref_key:"splitpane",ref:n,left:xe(e).left,right:xe(e).right},null,8,["left","right"])):qa("",!0)]),_:1},8,["visible"]),x(b7)],64)}}});const O7=fe({__name:"SplitViewTab",setup(t){const e=Wo(),n={local:Ar(()=>mr(()=>import("./stackView-5134a008.js"),["assets/stackView-5134a008.js","assets/fullScreenContextMenu-2284d97e.js","assets/FileItem-a4055f0b.js","assets/db-dbaa937e.js","assets/shortcut-c1bb7547.js","assets/shortcut-9fed83c2.css","assets/FileItem-b09f7869.css","assets/fullScreenContextMenu-75362a0c.css","assets/numInput-a7703f05.js","assets/numInput-a08c6857.css","assets/stackView-515875e4.css","assets/index-f4bbe4b8.css","assets/index-d55a76b1.css"])),empty:Ar(()=>mr(()=>import("./emptyStartup-07a8fe55.js"),["assets/emptyStartup-07a8fe55.js","assets/db-dbaa937e.js","assets/emptyStartup-23e87aa2.css"])),"global-setting":Ar(()=>mr(()=>import("./globalSetting-6ace06a5.js"),["assets/globalSetting-6ace06a5.js","assets/numInput-a7703f05.js","assets/shortcut-c1bb7547.js","assets/shortcut-9fed83c2.css","assets/numInput-a08c6857.css","assets/globalSetting-272483f3.css","assets/index-f4bbe4b8.css","assets/index-d55a76b1.css"])),"tag-search-matched-image-grid":Ar(()=>mr(()=>import("./MatchedImageGrid-4bf8f77f.js"),["assets/MatchedImageGrid-4bf8f77f.js","assets/fullScreenContextMenu-2284d97e.js","assets/FileItem-a4055f0b.js","assets/db-dbaa937e.js","assets/shortcut-c1bb7547.js","assets/shortcut-9fed83c2.css","assets/FileItem-b09f7869.css","assets/fullScreenContextMenu-75362a0c.css","assets/hook-c56860bd.js","assets/MatchedImageGrid-bdeb2907.css"])),"tag-search":Ar(()=>mr(()=>import("./TagSearch-0afc88d7.js"),["assets/TagSearch-0afc88d7.js","assets/db-dbaa937e.js","assets/TagSearch-ffd782da.css","assets/index-f4bbe4b8.css","assets/index-d55a76b1.css"])),"fuzzy-search":Ar(()=>mr(()=>import("./SubstrSearch-5579a53d.js"),["assets/SubstrSearch-5579a53d.js","assets/fullScreenContextMenu-2284d97e.js","assets/FileItem-a4055f0b.js","assets/db-dbaa937e.js","assets/shortcut-c1bb7547.js","assets/shortcut-9fed83c2.css","assets/FileItem-b09f7869.css","assets/fullScreenContextMenu-75362a0c.css","assets/hook-c56860bd.js","assets/SubstrSearch-03c71861.css","assets/index-f4bbe4b8.css"])),"img-sli":Ar(()=>mr(()=>import("./ImgSliPagePane-2bb51093.js"),[])),"batch-download":Ar(()=>mr(()=>import("./batchDownload-4eda56e7.js"),["assets/batchDownload-4eda56e7.js","assets/FileItem-a4055f0b.js","assets/db-dbaa937e.js","assets/shortcut-c1bb7547.js","assets/shortcut-9fed83c2.css","assets/FileItem-b09f7869.css","assets/batchDownload-08be3fc5.css"]))},r=(o,l,s)=>{var f,v;const u=e.tabList[o];if(s==="add"){const h={type:"empty",key:wr(),name:Te("emptyStartPage")};u.panes.push(h),u.key=h.key}else{const h=u.panes.findIndex(g=>g.key===l);if(u.key===l&&(u.key=((f=u.panes[h-1])==null?void 0:f.key)??((v=u.panes[0])==null?void 0:v.key)),u.panes.splice(h,1),u.panes.length===0&&e.tabList.splice(o,1),e.tabList.length===0){const g=e.createEmptyPane();e.tabList.push({panes:[g],key:g.key,id:wr()})}}},a=W();pe(()=>e.tabList,async()=>{var o;await Ke(),e.saveRecord(),Array.from(((o=a.value)==null?void 0:o.querySelectorAll(".splitpanes__pane"))??[]).forEach((l,s)=>{Array.from(l.querySelectorAll(".ant-tabs-tab")??[]).forEach((u,f)=>{const v=u;v.setAttribute("draggable","true"),v.setAttribute("tabIdx",s.toString()),v.setAttribute("paneIdx",f.toString()),v.ondragend=()=>{e.dragingTab=void 0},v.ondragstart=h=>{e.dragingTab={tabIdx:s,paneIdx:f},h.dataTransfer.setData("text/plain",JSON.stringify({tabIdx:s,paneIdx:f,from:"tab-drag"}))}})})},{immediate:!0,deep:!0});const i=qc(()=>$_.emit("returnToIIB"),100);return Pz(async()=>{const o=window.parent;if(!await dz(()=>o==null?void 0:o.onUiTabChange,200,3e4)){console.log("watch tab change failed");return}o.onUiTabChange(()=>{const l=o.get_uiCurrentTabContent();l!=null&&l.id.includes("infinite-image-browsing")&&i()})}),pe(Qz(),o=>o&&i()),(o,l)=>{const s=ls,u=Qi;return Xe(),dn("div",{ref_key:"container",ref:a},[x(xe(R_),{class:"default-theme"},{default:_t(()=>[(Xe(!0),dn(De,null,Xv(xe(e).tabList,(f,v)=>(Xe(),Yt(xe(wf),{key:f.id},{default:_t(()=>[x(s7,{tabIdx:v},{default:_t(()=>[x(u,{type:"editable-card",activeKey:f.key,"onUpdate:activeKey":h=>f.key=h,onEdit:(h,g)=>r(v,h,g)},{default:_t(()=>[(Xe(!0),dn(De,null,Xv(f.panes,(h,g)=>(Xe(),Yt(s,{key:h.key,tab:h.name,class:"pane"},{default:_t(()=>[(Xe(),Yt(gx(n[h.type]),Gf({tabIdx:v,paneIdx:g},h),null,16,["tabIdx","paneIdx"]))]),_:2},1032,["tab"]))),128))]),_:2},1032,["activeKey","onUpdate:activeKey","onEdit"])]),_:2},1032,["tabIdx"])]),_:2},1024))),128))]),_:1}),x(P7)],512)}}});const E7=uu(O7,[["__scopeId","data-v-6cd06df2"]]),T7=async t=>{var r;const e=(r=t.conf)==null?void 0:r.global_setting,n=new URLSearchParams(parent.location.search);switch(n.get("action")){case"open":{let a=n.get("path");if(!a||!e)return;const i={extra:e.outdir_extras_samples,save:e.outdir_save,txt2img:e.outdir_txt2img_samples,img2img:e.outdir_img2img_samples};i[a]&&(a=i[a]);const o=t.tabList[0],l={type:"local",path:a,key:wr(),name:""};o.panes.unshift(l),o.key=l.key,fz(),mz(["action","path"]);break}}};function $y(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!nr(t)}const W_="app.conf.json",io=W(),V_=()=>Ao.writeFile(W_,JSON.stringify(Ne(io.value),null,4)),I7=fe({setup(){const t=async()=>{const e=await C_({directory:!0});if(typeof e=="string"){if(!await Ao.exists(`${e}/config.json`))return ya.error(Te("tauriLaunchConfMessages.configNotFound"));if(!await Ao.exists(`${e}/extensions/sd-webui-infinite-image-browsing`))return ya.error(Te("tauriLaunchConfMessages.folderNotFound"));io.value.sdwebui_dir=e,ya.info(Te("tauriLaunchConfMessages.configCompletedMessage")),await V_(),await lu("shutdown_api_server_command"),await ou(1500),await y_()}};return()=>{let e,n;return x("div",{style:{padding:"32px 0"}},[x("div",{style:{padding:"16px 0"}},[x("h2",null,[Te("tauriLaunchConf.readSdWebuiConfigTitle")]),x("p",null,[Te("tauriLaunchConf.readSdWebuiConfigDescription")]),x(In,{onClick:t,type:"primary"},$y(e=Te("tauriLaunchConf.selectSdWebuiFolder"))?e:{default:()=>[e]})]),x("div",{style:{padding:"16px 0"}},[x("h2",null,[Te("tauriLaunchConf.skipThisConfigTitle")]),x("p",null,[Te("tauriLaunchConf.skipThisConfigDescription")]),x(In,{type:"primary",onClick:Xt.destroyAll},$y(n=Te("tauriLaunchConf.skipButton"))?n:{default:()=>[n]})])])}}}),A7=async()=>{try{io.value=JSON.parse(await Ao.readTextFile(W_))}catch{}io.value||(io.value={sdwebui_dir:""},await V_(),Xt.info({title:Te("tauriLaunchConfMessages.firstTimeUserTitle"),content:x(I7,null,null),width:"80vw",okText:Te("tauriLaunchConf.skipButton"),okButtonProps:{onClick:Xt.destroyAll}}))},M7=!!{}.TAURI_ARCH,N7=fe({__name:"App",setup(t){const e=Wo(),n=pz();return hz("updateGlobalSetting",async()=>{await Hj(),console.log(ds.value);const r=await Gj();e.conf=r;const a=await yz(r);e.quickMovePaths=a.filter(i=>{var o,l;return(l=(o=i==null?void 0:i.dir)==null?void 0:o.trim)==null?void 0:l.call(o)}),T7(e)}),Re(async()=>{M7&&A7(),$_.emit("updateGlobalSetting")}),(r,a)=>{const i=rn;return Xe(),Yt(i,{loading:!xe(n).isIdle},{default:_t(()=>[x(E7)]),_:1},8,["loading"])}}});function k7(t){return typeof t=="object"&&t!==null}function Ry(t,e){return t=k7(t)?t:Object.create(null),new Proxy(t,{get(n,r,a){return r==="key"?Reflect.get(n,r,a):Reflect.get(n,r,a)||Reflect.get(e,r,a)}})}function $7(t,e){return e.reduce((n,r)=>n==null?void 0:n[r],t)}function R7(t,e,n){return e.slice(0,-1).reduce((r,a)=>/^(__proto__)$/.test(a)?{}:r[a]=r[a]||{},t)[e[e.length-1]]=n,t}function L7(t,e){return e.reduce((n,r)=>{const a=r.split(".");return R7(n,a,$7(t,a))},{})}function Ly(t,{storage:e,serializer:n,key:r,debug:a}){try{const i=e==null?void 0:e.getItem(r);i&&t.$patch(n==null?void 0:n.deserialize(i))}catch(i){a&&console.error(i)}}function Dy(t,{storage:e,serializer:n,key:r,paths:a,debug:i}){try{const o=Array.isArray(a)?L7(t,a):t;e.setItem(r,n.serialize(o))}catch(o){i&&console.error(o)}}function D7(t={}){return e=>{const{auto:n=!1}=t,{options:{persist:r=n},store:a}=e;if(!r)return;const i=(Array.isArray(r)?r.map(o=>Ry(o,t)):[Ry(r,t)]).map(({storage:o=localStorage,beforeRestore:l=null,afterRestore:s=null,serializer:u={serialize:JSON.stringify,deserialize:JSON.parse},key:f=a.$id,paths:v=null,debug:h=!1})=>{var g;return{storage:o,beforeRestore:l,afterRestore:s,serializer:u,key:((g=t.key)!=null?g:c=>c)(f),paths:v,debug:h}});a.$persist=()=>{i.forEach(o=>{Dy(a.$state,o)})},a.$hydrate=({runHooks:o=!0}={})=>{i.forEach(l=>{const{beforeRestore:s,afterRestore:u}=l;o&&(s==null||s(e)),Ly(a,l),o&&(u==null||u(e))})},i.forEach(o=>{const{beforeRestore:l,afterRestore:s}=o;l==null||l(e),Ly(a,o),s==null||s(e),a.$subscribe((u,f)=>{Dy(f,o)},{detached:!0})})}}var F7=D7();const H_=Qj();H_.use(F7);AP(N7).use(H_).use(wv).mount("#zanllp_dev_gradio_fe");const B7=Jz(),j7=()=>{try{return parent.location.search.includes("theme=dark")}catch{}return!1};pe([B7,j7],async([t,e])=>{await ou();const n=document.getElementsByTagName("html")[0];if(t||e){document.body.classList.add("dark");const r=document.createElement("style"),{default:a}=await mr(()=>import("./antd.dark-35e9b327.js"),[]);r.innerHTML=a,r.setAttribute("antd-dark",""),n.appendChild(r)}else document.body.classList.remove("dark"),Array.from(n.querySelectorAll("style[antd-dark]")).forEach(r=>r.remove())},{immediate:!0});export{W as $,Xv as A,vi as B,M7 as C,xk as D,qa as E,Q7 as F,z7 as G,zx as H,$9 as I,k9 as J,W7 as K,vs as L,Hr as M,ba as N,as as O,J as P,rn as Q,Xt as R,Z1 as S,Gk as T,At as U,In as V,Po as W,uu as X,ko as Y,gi as Z,ut as _,T as a,Rn as a$,ge as a0,Ci as a1,ar as a2,yt as a3,ks as a4,or as a5,Is as a6,lr as a7,yT as a8,_T as a9,t$ as aA,Ce as aB,qc as aC,R9 as aD,Vj as aE,Ao as aF,W_ as aG,y_ as aH,Ye as aI,t9 as aJ,ct as aK,rm as aL,Qe as aM,Z7 as aN,mI as aO,MT as aP,nh as aQ,Ow as aR,KD as aS,Ds as aT,g$ as aU,Zf as aV,_e as aW,ho as aX,F$ as aY,vE as aZ,CP as a_,id as aa,fT as ab,K0 as ac,G0 as ad,Jl as ae,vd as af,lt as ag,z_ as ah,Te as ai,K as aj,XR as ak,wr as al,Q1 as am,Yc as an,C_ as ao,wa as ap,qj as aq,ya as ar,$_ as as,db as at,vb as au,Bf as av,Re as aw,Ke as ax,xt as ay,Yl as az,ze as b,S7 as b$,st as b0,cE as b1,J7 as b2,mi as b3,Ne as b4,V$ as b5,Id as b6,_o as b7,gw as b8,_$ as b9,Fa as bA,Y7 as bB,Uk as bC,ux as bD,U7 as bE,H7 as bF,Gf as bG,Hc as bH,q7 as bI,o0 as bJ,Qw as bK,Tn as bL,Vn as bM,yC as bN,pz as bO,hz as bP,z9 as bQ,Tk as bR,h4 as bS,G7 as bT,hI as bU,i0 as bV,nr as bW,N9 as bX,V9 as bY,Jw as bZ,Oo as b_,C$ as ba,WR as bb,kR as bc,CC as bd,rr as be,Kd as bf,Us as bg,Do as bh,TO as bi,VR as bj,Ks as bk,CL as bl,Nl as bm,ot as bn,kt as bo,BM as bp,Jt as bq,X7 as br,Yw as bs,Xw as bt,Rw as bu,Le as bv,Kt as bw,Sn as bx,Ew as by,NO as bz,x as c,az as c0,sz as c1,Si as c2,r$ as c3,Vk as c4,Jk as c5,Bk as c6,e9 as c7,Wn as c8,Ed as c9,DS as cA,wb as cB,yx as cC,Wl as cD,gx as cE,V7 as cF,Gc as cG,K7 as cH,xy as cI,bF as cJ,Tm as cK,_d as ca,ib as cb,bt as cc,NT as cd,sd as ce,E_ as cf,N_ as cg,my as ch,B9 as ci,Y1 as cj,ou as ck,O_ as cl,F9 as cm,xn as cn,r7 as co,Ny as cp,W9 as cq,uz as cr,L9 as cs,X1 as ct,D9 as cu,A9 as cv,aI as cw,M9 as cx,QS as cy,Cs as cz,fe as d,zn as e,pn as f,Vr as g,te as h,He as i,Bd as j,Wo as k,pe as l,Yt as m,_t as n,Xe as o,Pn as p,Dn as q,xe as r,tt as s,j9 as t,Ze as u,yr as v,Ns as w,Bn as x,dn as y,De as z};
diff --git a/vue/dist/assets/numInput-129eb755.js b/vue/dist/assets/numInput-a7703f05.js
similarity index 99%
rename from vue/dist/assets/numInput-129eb755.js
rename to vue/dist/assets/numInput-a7703f05.js
index 7c3f3f1..e135a54 100644
--- a/vue/dist/assets/numInput-129eb755.js
+++ b/vue/dist/assets/numInput-a7703f05.js
@@ -1,4 +1,4 @@
-import{aj as I,aI as Le,$ as Q,aw as ht,aJ as Hr,aK as mt,Z as we,d as ae,u as ye,aL as kt,b as ce,aM as Fe,aN as Mt,a0 as ee,h as M,c as T,a as k,aO as Ur,i as re,aP as He,aQ as me,a2 as Qt,e as Gr,aR as Jt,aS as er,aT as Wr,aU as Kr,aV as zr,aW as tr,z as Re,aX as Xr,l as oe,aY as Yr,aZ as Zr,a_ as Qr,a8 as Jr,ab as en,aa as tn,az as rn,a$ as rr,b0 as nr,b1 as ar,an as je,b2 as nn,b3 as an,P as K,b4 as et,ax as ir,b5 as gt,b6 as ln,b7 as un,b8 as Ot,b9 as on,ba as sn,bb as fn,bc as cn,bd as dn,be as vn,bf as hn,bg as lr,bh as mn,bi as gn,bj as pn,bk as bn,bl as yn,bm as xn,r as ge,bn as wn,bo as Ne,aC as Sn,bp as ur,bq as pt,br as Fn,w as Me,ag as Cn,bs as or,bt as sr,bu as Nn,bv as De,_ as $e,aB as ue,j as fr,D as Vn,ay as kn,a3 as Mn,bw as cr,bx as Ve,by as bt,bz as On,bA as tt,bB as Pn,bC as $n,bD as En,T as An,Y as Tn,bE as In,bF as Bn,o as _n,y as jn,bG as Pt,X as qn}from"./index-23e5bc7c.js";import{t as Rn,l as Dn}from"./shortcut-98354a10.js";var Ln=Symbol("SizeProvider"),Hn=function(e){var t=e?I(function(){return e.size}):Le(Ln,I(function(){return"default"}));return t};function Un(n,e,t){var r=-1,a=n.length;e<0&&(e=-e>a?0:a+e),t=t>a?a:t,t<0&&(t+=a),a=e>t?0:t-e>>>0,e>>>=0;for(var i=Array(a);++r0?"".concat(m[0]/-2,"px"):void 0,F=m[1]>0?"".concat(m[1]/-2,"px"):void 0;return d&&(b.marginLeft=d,b.marginRight=d),c.value?b.rowGap="".concat(m[1],"px"):F&&(b.marginTop=F,b.marginBottom=F),b});return function(){var m;return T("div",{class:f.value,style:y.value},[(m=r.default)===null||m===void 0?void 0:m.call(r)])}}});const Qn=Zn;function Jn(n){return typeof n=="number"?"".concat(n," ").concat(n," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(n)?"0 0 ".concat(n):n}var ea=function(){return{span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},xxxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}};const vr=ae({compatConfig:{MODE:3},name:"ACol",props:ea(),setup:function(e,t){var r=t.slots,a=zn(),i=a.gutter,l=a.supportFlexGap,u=a.wrap,o=ye("col",e),c=o.prefixCls,s=o.direction,f=I(function(){var m,b=e.span,d=e.order,F=e.offset,h=e.push,S=e.pull,g=c.value,v={};return["xs","sm","md","lg","xl","xxl","xxxl"].forEach(function(p){var N,C={},x=e[p];typeof x=="number"?C.span=x:ce(x)==="object"&&(C=x||{}),v=k(k({},v),{},(N={},M(N,"".concat(g,"-").concat(p,"-").concat(C.span),C.span!==void 0),M(N,"".concat(g,"-").concat(p,"-order-").concat(C.order),C.order||C.order===0),M(N,"".concat(g,"-").concat(p,"-offset-").concat(C.offset),C.offset||C.offset===0),M(N,"".concat(g,"-").concat(p,"-push-").concat(C.push),C.push||C.push===0),M(N,"".concat(g,"-").concat(p,"-pull-").concat(C.pull),C.pull||C.pull===0),M(N,"".concat(g,"-rtl"),s.value==="rtl"),N))}),ee(g,(m={},M(m,"".concat(g,"-").concat(b),b!==void 0),M(m,"".concat(g,"-order-").concat(d),d),M(m,"".concat(g,"-offset-").concat(F),F),M(m,"".concat(g,"-push-").concat(h),h),M(m,"".concat(g,"-pull-").concat(S),S),m),v)}),y=I(function(){var m=e.flex,b=i.value,d={};if(b&&b[0]>0){var F="".concat(b[0]/2,"px");d.paddingLeft=F,d.paddingRight=F}if(b&&b[1]>0&&!l.value){var h="".concat(b[1]/2,"px");d.paddingTop=h,d.paddingBottom=h}return m&&(d.flex=Jn(m),u.value===!1&&!d.minWidth&&(d.minWidth=0)),d});return function(){var m;return T("div",{class:f.value,style:y.value},[(m=r.default)===null||m===void 0?void 0:m.call(r)])}}});function be(){return be=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qe(n,e,t){return ra()?qe=Reflect.construct.bind():qe=function(a,i,l){var u=[null];u.push.apply(u,i);var o=Function.bind.apply(a,u),c=new o;return l&&Ee(c,l.prototype),c},qe.apply(null,arguments)}function na(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function nt(n){var e=typeof Map=="function"?new Map:void 0;return nt=function(r){if(r===null||!na(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,a)}function a(){return qe(r,arguments,rt(this).constructor)}return a.prototype=Object.create(r.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Ee(a,r)},nt(n)}var aa=/%[sdj%]/g,ia=function(){};typeof process<"u"&&process.env;function at(n){if(!n||!n.length)return null;var e={};return n.forEach(function(t){var r=t.field;e[r]=e[r]||[],e[r].push(t)}),e}function le(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r=i)return u;switch(u){case"%s":return String(t[a++]);case"%d":return Number(t[a++]);case"%j":try{return JSON.stringify(t[a++])}catch{return"[Circular]"}break;default:return u}});return l}return n}function la(n){return n==="string"||n==="url"||n==="hex"||n==="email"||n==="date"||n==="pattern"}function te(n,e){return!!(n==null||e==="array"&&Array.isArray(n)&&!n.length||la(e)&&typeof n=="string"&&!n)}function ua(n,e,t){var r=[],a=0,i=n.length;function l(u){r.push.apply(r,u||[]),a++,a===i&&t(r)}n.forEach(function(u){e(u,l)})}function $t(n,e,t){var r=0,a=n.length;function i(l){if(l&&l.length){t(l);return}var u=r;r=r+1,ua?0:a+e),t=t>a?a:t,t<0&&(t+=a),a=e>t?0:t-e>>>0,e>>>=0;for(var i=Array(a);++r0?"".concat(m[0]/-2,"px"):void 0,F=m[1]>0?"".concat(m[1]/-2,"px"):void 0;return d&&(b.marginLeft=d,b.marginRight=d),c.value?b.rowGap="".concat(m[1],"px"):F&&(b.marginTop=F,b.marginBottom=F),b});return function(){var m;return T("div",{class:f.value,style:y.value},[(m=r.default)===null||m===void 0?void 0:m.call(r)])}}});const Qn=Zn;function Jn(n){return typeof n=="number"?"".concat(n," ").concat(n," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(n)?"0 0 ".concat(n):n}var ea=function(){return{span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},xxxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}};const vr=ae({compatConfig:{MODE:3},name:"ACol",props:ea(),setup:function(e,t){var r=t.slots,a=zn(),i=a.gutter,l=a.supportFlexGap,u=a.wrap,o=ye("col",e),c=o.prefixCls,s=o.direction,f=I(function(){var m,b=e.span,d=e.order,F=e.offset,h=e.push,S=e.pull,g=c.value,v={};return["xs","sm","md","lg","xl","xxl","xxxl"].forEach(function(p){var N,C={},x=e[p];typeof x=="number"?C.span=x:ce(x)==="object"&&(C=x||{}),v=k(k({},v),{},(N={},M(N,"".concat(g,"-").concat(p,"-").concat(C.span),C.span!==void 0),M(N,"".concat(g,"-").concat(p,"-order-").concat(C.order),C.order||C.order===0),M(N,"".concat(g,"-").concat(p,"-offset-").concat(C.offset),C.offset||C.offset===0),M(N,"".concat(g,"-").concat(p,"-push-").concat(C.push),C.push||C.push===0),M(N,"".concat(g,"-").concat(p,"-pull-").concat(C.pull),C.pull||C.pull===0),M(N,"".concat(g,"-rtl"),s.value==="rtl"),N))}),ee(g,(m={},M(m,"".concat(g,"-").concat(b),b!==void 0),M(m,"".concat(g,"-order-").concat(d),d),M(m,"".concat(g,"-offset-").concat(F),F),M(m,"".concat(g,"-push-").concat(h),h),M(m,"".concat(g,"-pull-").concat(S),S),m),v)}),y=I(function(){var m=e.flex,b=i.value,d={};if(b&&b[0]>0){var F="".concat(b[0]/2,"px");d.paddingLeft=F,d.paddingRight=F}if(b&&b[1]>0&&!l.value){var h="".concat(b[1]/2,"px");d.paddingTop=h,d.paddingBottom=h}return m&&(d.flex=Jn(m),u.value===!1&&!d.minWidth&&(d.minWidth=0)),d});return function(){var m;return T("div",{class:f.value,style:y.value},[(m=r.default)===null||m===void 0?void 0:m.call(r)])}}});function be(){return be=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qe(n,e,t){return ra()?qe=Reflect.construct.bind():qe=function(a,i,l){var u=[null];u.push.apply(u,i);var o=Function.bind.apply(a,u),c=new o;return l&&Ee(c,l.prototype),c},qe.apply(null,arguments)}function na(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function nt(n){var e=typeof Map=="function"?new Map:void 0;return nt=function(r){if(r===null||!na(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,a)}function a(){return qe(r,arguments,rt(this).constructor)}return a.prototype=Object.create(r.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Ee(a,r)},nt(n)}var aa=/%[sdj%]/g,ia=function(){};typeof process<"u"&&process.env;function at(n){if(!n||!n.length)return null;var e={};return n.forEach(function(t){var r=t.field;e[r]=e[r]||[],e[r].push(t)}),e}function le(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r=i)return u;switch(u){case"%s":return String(t[a++]);case"%d":return Number(t[a++]);case"%j":try{return JSON.stringify(t[a++])}catch{return"[Circular]"}break;default:return u}});return l}return n}function la(n){return n==="string"||n==="url"||n==="hex"||n==="email"||n==="date"||n==="pattern"}function te(n,e){return!!(n==null||e==="array"&&Array.isArray(n)&&!n.length||la(e)&&typeof n=="string"&&!n)}function ua(n,e,t){var r=[],a=0,i=n.length;function l(u){r.push.apply(r,u||[]),a++,a===i&&t(r)}n.forEach(function(u){e(u,l)})}function $t(n,e,t){var r=0,a=n.length;function i(l){if(l&&l.length){t(l);return}var u=r;r=r+1,u{const n=[];return t.shiftKey&&n.push("Shift"),t.ctrlKey&&n.push("Ctrl"),t.metaKey&&n.push("Cmd"),(t.code.startsWith("Key")||t.code.startsWith("Digit"))&&n.push(t.code),n.join(" + ")};export{h as g,f as l,e as t};
+import{cK as s}from"./index-af270b30.js";var r=1/0,i=17976931348623157e292;function e(t){if(!t)return t===0?t:0;if(t=s(t),t===r||t===-r){var n=t<0?-1:1;return n*i}return t===t?t:0}function f(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}const h=t=>{const n=[];return t.shiftKey&&n.push("Shift"),t.ctrlKey&&n.push("Ctrl"),t.metaKey&&n.push("Cmd"),(t.code.startsWith("Key")||t.code.startsWith("Digit"))&&n.push(t.code),n.join(" + ")};export{h as g,f as l,e as t};
diff --git a/vue/dist/assets/stackView-5134a008.js b/vue/dist/assets/stackView-5134a008.js
new file mode 100644
index 0000000..9aa3353
--- /dev/null
+++ b/vue/dist/assets/stackView-5134a008.js
@@ -0,0 +1 @@
+import{d as Y,u as ie,g as U,_ as xe,c as a,a as re,P as X,D as Se,f as Pe,w as He,b as Je,e as Xe,h as he,M as oe,i as Ye,j as Ze,F as se,k as et,l as tt,o as d,m as F,n as i,p as u,q as k,r as e,s as T,t as nt,v as c,x as j,y as x,z as ne,A as ae,B as at,C as rt,E as L,G as ot,H as st,S as lt,I as it,J as ut,K as dt,L as ct,N as we,O as pt,Q as mt,R as vt,T as ft,U as kt,V as gt,W as bt,X as _t}from"./index-af270b30.js";import{S as q,s as Ct,L as yt,R as ht,f as wt}from"./fullScreenContextMenu-2284d97e.js";import{F as N,N as It,_ as xt}from"./numInput-a7703f05.js";import"./shortcut-c1bb7547.js";import{D as Me,u as St,a as Pt,b as Mt,c as $t,d as At,e as Rt,f as Bt,s as Dt,g as Ft,F as Nt}from"./FileItem-a4055f0b.js";/* empty css *//* empty css */import"./db-dbaa937e.js";var Et=["class","style"],Tt=function(){return{prefixCls:String,href:String,separator:X.any,overlay:X.any,onClick:Function}};const W=Y({compatConfig:{MODE:3},name:"ABreadcrumbItem",inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:Tt(),slots:["separator","overlay"],setup:function(o,C){var v=C.slots,g=C.attrs,h=ie("breadcrumb",o),y=h.prefixCls,S=function(w,p){var s=U(v,o,"overlay");return s?a(Me,{overlay:s,placement:"bottom"},{default:function(){return[a("span",{class:"".concat(p,"-overlay-link")},[w,a(Se,null,null)])]}}):w};return function(){var P,w=(P=U(v,o,"separator"))!==null&&P!==void 0?P:"/",p=U(v,o),s=g.class,b=g.style,f=xe(g,Et),m;return o.href!==void 0?m=a("a",re({class:"".concat(y.value,"-link"),onClick:o.onClick},f),[p]):m=a("span",re({class:"".concat(y.value,"-link"),onClick:o.onClick},f),[p]),m=S(m,y.value),p?a("span",{class:s,style:b},[m,w&&a("span",{class:"".concat(y.value,"-separator")},[w])]):null}}});var Vt=function(){return{prefixCls:String,routes:{type:Array},params:X.any,separator:X.any,itemRender:{type:Function}}};function zt(r,o){if(!r.breadcrumbName)return null;var C=Object.keys(o).join("|"),v=r.breadcrumbName.replace(new RegExp(":(".concat(C,")"),"g"),function(g,h){return o[h]||g});return v}function Ie(r){var o=r.route,C=r.params,v=r.routes,g=r.paths,h=v.indexOf(o)===v.length-1,y=zt(o,C);return h?a("span",null,[y]):a("a",{href:"#/".concat(g.join("/"))},[y])}const V=Y({compatConfig:{MODE:3},name:"ABreadcrumb",props:Vt(),slots:["separator","itemRender"],setup:function(o,C){var v=C.slots,g=ie("breadcrumb",o),h=g.prefixCls,y=g.direction,S=function(s,b){return s=(s||"").replace(/^\//,""),Object.keys(b).forEach(function(f){s=s.replace(":".concat(f),b[f])}),s},P=function(s,b,f){var m=Ye(s),I=S(b||"",f);return I&&m.push(I),m},w=function(s){var b=s.routes,f=b===void 0?[]:b,m=s.params,I=m===void 0?{}:m,M=s.separator,$=s.itemRender,A=$===void 0?Ie:$,R=[];return f.map(function(_){var B=S(_.path,I);B&&R.push(B);var z=[].concat(R),O=null;return _.children&&_.children.length&&(O=a(oe,null,{default:function(){return[_.children.map(function(E){return a(oe.Item,{key:E.path||E.breadcrumbName},{default:function(){return[A({route:E,params:I,routes:f,paths:P(z,E.path,I)})]}})})]}})),a(W,{overlay:O,separator:M,key:B||_.breadcrumbName},{default:function(){return[A({route:_,params:I,routes:f,paths:z})]}})})};return function(){var p,s,b,f=o.routes,m=o.params,I=m===void 0?{}:m,M=Pe(U(v,o)),$=(p=U(v,o,"separator"))!==null&&p!==void 0?p:"/",A=o.itemRender||v.itemRender||Ie;f&&f.length>0?b=w({routes:f,params:I,separator:$,itemRender:A}):M.length&&(b=M.map(function(_,B){return He(Je(_.type)==="object"&&(_.type.__ANT_BREADCRUMB_ITEM||_.type.__ANT_BREADCRUMB_SEPARATOR),"Breadcrumb","Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children"),Xe(_,{separator:$,key:B})}));var R=(s={},he(s,h.value,!0),he(s,"".concat(h.value,"-rtl"),y.value==="rtl"),s);return a("div",{class:R},[b])}}});var Ot=["separator","class"],jt=function(){return{prefixCls:String}};const le=Y({compatConfig:{MODE:3},name:"ABreadcrumbSeparator",__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:jt(),setup:function(o,C){var v=C.slots,g=C.attrs,h=ie("breadcrumb",o),y=h.prefixCls;return function(){var S;g.separator;var P=g.class,w=xe(g,Ot),p=Pe((S=v.default)===null||S===void 0?void 0:S.call(v));return a("span",re({class:["".concat(y.value,"-separator"),P]},w),[p.length>0?p:"/"])}}});V.Item=W;V.Separator=le;V.install=function(r){return r.component(V.name,V),r.component(W.name,W),r.component(le.name,le),r};N.useInjectFormItemContext=Ze;N.ItemRest=se;N.install=function(r){return r.component(N.name,N),r.component(N.Item.name,N.Item),r.component(se.name,se),r};q.setDefaultIndicator=Ct;q.install=function(r){return r.component(q.name,q),r};const Lt={class:"hint"},Ut={class:"location-bar"},qt={key:0},Wt=["onClick"],Gt={key:3,style:{"margin-left":"8px"}},Kt={class:"actions"},Qt=["onClick"],Ht={style:{width:"512px",background:"var(--zp-primary-background)",padding:"16px","border-radius":"4px","box-shadow":"0 0 4px var(--zp-secondary-background)",border:"1px solid var(--zp-secondary-background)"}},Jt={style:{padding:"4px"}},Xt={style:{padding:"4px"}},Yt={style:{padding:"4px"}},Zt={key:0,class:"view"},en={style:{padding:"16px 0 32px"}},tn={key:0,class:"preview-switch"},nn=Y({__name:"stackView",props:{tabIdx:{},paneIdx:{},path:{},walkModePath:{},stackKey:{}},setup(r){const o=r,C=et(),{scroller:v,stackViewEl:g,props:h,multiSelectedIdxs:y,spinning:S}=St().toRefs(),{currLocation:P,currPage:w,refresh:p,copyLocation:s,back:b,openNext:f,stack:m,quickMoveTo:I,addToSearchScanPathAndQuickMove:M,searchPathInfo:$,locInputValue:A,isLocationEditing:R,onLocEditEnter:_,onEditBtnClick:B,share:z,selectAll:O,onCreateFloderBtnClick:G}=Pt(),{gridItems:E,sortMethodConv:ue,moreActionsDropdownShow:Z,sortedFiles:K,sortMethod:ee,itemSize:de,loadNextDir:$e,loadNextDirLoading:Ae,canLoadNext:Re,onScroll:Be,cellWidth:Q}=Mt(),{onDrop:De,onFileDragStart:Fe,onFileDragEnd:Ne}=$t(),{onFileItemClick:Ee,onContextMenuClick:ce,showGenInfo:H,imageGenInfo:pe,q:Te}=At({openNext:f}),{previewIdx:J,onPreviewVisibleChange:Ve,previewing:me,previewImgMove:ve,canPreview:fe}=Rt(),{showMenuIdx:te}=Bt();return tt(()=>o,()=>{h.value=o;const l=Dt.get(o.stackKey??"");l&&(m.value=l.slice())},{immediate:!0}),(l,t)=>{const ze=pt,Oe=mt,je=vt,ke=W,ge=V,Le=ft,Ue=kt,be=gt,qe=bt,We=oe,_e=Me,Ge=It,Ce=xt,Ke=N,Qe=q;return d(),F(Qe,{spinning:e(S),size:"large"},{default:i(()=>[a(ze,{style:{display:"none"}}),u("div",{ref_key:"stackViewEl",ref:g,onDragover:t[23]||(t[23]=k(()=>{},["prevent"])),onDrop:t[24]||(t[24]=k(n=>e(De)(n),["prevent"])),class:"container"},[a(je,{visible:e(H),"onUpdate:visible":t[1]||(t[1]=n=>T(H)?H.value=n:null),width:"70vw","mask-closable":"",onOk:t[2]||(t[2]=n=>H.value=!1)},{cancelText:i(()=>[]),default:i(()=>[a(Oe,{active:"",loading:!e(Te).isIdle},{default:i(()=>[u("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto","z-index":"9999"},onDblclick:t[0]||(t[0]=n=>e(nt)(e(pe)))},[u("div",Lt,c(l.$t("doubleClickToCopy")),1),j(" "+c(e(pe)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),u("div",Ut,[o.walkModePath?(d(),x("div",qt,[a(Le,null,{title:i(()=>[j(c(l.$t("walk-mode-move-message")),1)]),default:i(()=>[a(ge,{style:{flex:"1"}},{default:i(()=>[(d(!0),x(ne,null,ae(e(m),(n,D)=>(d(),F(ke,{key:D},{default:i(()=>[u("span",null,c(n.curr==="/"?l.$t("root"):n.curr.replace(/:\/$/,l.$t("drive"))),1)]),_:2},1024))),128))]),_:1})]),_:1})])):(d(),x("div",{key:1,class:"breadcrumb",style:at({flex:e(R)?1:""})},[e(R)?(d(),F(Ue,{key:0,style:{flex:"1"},value:e(A),"onUpdate:value":t[3]||(t[3]=n=>T(A)?A.value=n:null),onClick:t[4]||(t[4]=k(()=>{},["stop"])),onPressEnter:e(_)},null,8,["value","onPressEnter"])):(d(),F(ge,{key:1,style:{flex:"1"}},{default:i(()=>[(d(!0),x(ne,null,ae(e(m),(n,D)=>(d(),F(ke,{key:D},{default:i(()=>[u("a",{onClick:k(ye=>e(b)(D),["prevent"])},c(n.curr==="/"?l.$t("root"):n.curr.replace(/:\/$/,l.$t("drive"))),9,Wt)]),_:2},1024))),128))]),_:1})),e(R)?(d(),F(be,{key:2,size:"small",onClick:e(_),type:"primary"},{default:i(()=>[j(c(l.$t("go")),1)]),_:1},8,["onClick"])):(d(),x("div",Gt,[u("a",{onClick:t[5]||(t[5]=k((...n)=>e(s)&&e(s)(...n),["prevent"])),style:{"margin-right":"4px"}},c(l.$t("copy")),1),u("a",{onClick:t[6]||(t[6]=k((...n)=>e(B)&&e(B)(...n),["prevent","stop"]))},c(l.$t("edit")),1)]))],4)),u("div",Kt,[u("a",{class:"opt",onClick:t[7]||(t[7]=k((...n)=>e(p)&&e(p)(...n),["prevent"]))},c(l.$t("refresh")),1),u("a",{class:"opt",onClick:t[8]||(t[8]=k((...n)=>e(O)&&e(O)(...n),["prevent","stop"]))},c(l.$t("selectAll")),1),e(rt)?L("",!0):(d(),x("a",{key:0,class:"opt",onClick:t[9]||(t[9]=k((...n)=>e(z)&&e(z)(...n),["prevent"]))},c(l.$t("share")),1)),a(_e,null,{overlay:i(()=>[a(We,null,{default:i(()=>[(d(!0),x(ne,null,ae(e(C).quickMovePaths,n=>(d(),F(qe,{key:n.dir},{default:i(()=>[u("a",{onClick:k(D=>e(I)(n.dir),["prevent"])},c(n.zh),9,Qt)]),_:2},1024))),128))]),_:1})]),default:i(()=>[u("a",{class:"opt",onClick:t[10]||(t[10]=k(()=>{},["prevent"]))},[j(c(l.$t("quickMove"))+" ",1),a(e(Se))])]),_:1}),a(_e,{trigger:["click"],visible:e(Z),"onUpdate:visible":t[19]||(t[19]=n=>T(Z)?Z.value=n:null),placement:"bottomLeft",getPopupContainer:n=>n.parentNode},{overlay:i(()=>[u("div",Ht,[a(Ke,ot(st({labelCol:{span:6},wrapperCol:{span:18}})),{default:i(()=>[a(Ce,{label:l.$t("gridCellWidth")},{default:i(()=>[a(Ge,{modelValue:e(Q),"onUpdate:modelValue":t[12]||(t[12]=n=>T(Q)?Q.value=n:null),max:1024,min:64,step:64},null,8,["modelValue"])]),_:1},8,["label"]),a(Ce,{label:l.$t("sortingMethod")},{default:i(()=>[a(e(lt),{value:e(ee),"onUpdate:value":t[13]||(t[13]=n=>T(ee)?ee.value=n:null),onClick:t[14]||(t[14]=k(()=>{},["stop"])),conv:e(ue),options:e(it)},null,8,["value","conv","options"])]),_:1},8,["label"]),u("div",Jt,[e($)?e($).can_delete?(d(),x("a",{key:1,onClick:t[16]||(t[16]=k((...n)=>e(M)&&e(M)(...n),["prevent"]))},c(l.$t("removeFromSearchScanPathAndQuickMove")),1)):L("",!0):(d(),x("a",{key:0,onClick:t[15]||(t[15]=k((...n)=>e(M)&&e(M)(...n),["prevent"]))},c(l.$t("addToSearchScanPathAndQuickMove")),1))]),u("div",Xt,[u("a",{onClick:t[17]||(t[17]=k(n=>e(ut)(e(P)+"/"),["prevent"]))},c(l.$t("openWithLocalFileBrowser")),1)]),u("div",Yt,[u("a",{onClick:t[18]||(t[18]=k((...n)=>e(G)&&e(G)(...n),["prevent"]))},c(l.$t("createFolder")),1)])]),_:1},16)])]),default:i(()=>[u("a",{class:"opt",onClick:t[11]||(t[11]=k(()=>{},["prevent"]))},c(l.$t("more")),1)]),_:1},8,["visible","getPopupContainer"])])]),e(w)?(d(),x("div",Zt,[a(e(Ft),{class:"file-list",items:e(K),ref_key:"scroller",ref:v,onScroll:e(Be),"item-size":e(de).first,"key-field":"fullpath","item-secondary-size":e(de).second,gridItems:e(E)},dt({default:i(({item:n,index:D})=>[a(Nt,{idx:D,file:n,"full-screen-preview-image-url":e(K)[e(J)]?e(ct)(e(K)[e(J)]):"","show-menu-idx":e(te),"onUpdate:showMenuIdx":t[20]||(t[20]=ye=>T(te)?te.value=ye:null),selected:e(y).includes(D),"cell-width":e(Q),onFileItemClick:e(Ee),onDragstart:e(Fe),onDragend:e(Ne),onPreviewVisibleChange:e(Ve),onContextMenuClick:e(ce)},null,8,["idx","file","full-screen-preview-image-url","show-menu-idx","selected","cell-width","onFileItemClick","onDragstart","onDragend","onPreviewVisibleChange","onContextMenuClick"])]),_:2},[o.walkModePath?{name:"after",fn:i(()=>[u("div",en,[a(be,{onClick:e($e),loading:e(Ae),block:"",type:"primary",disabled:!e(Re),ghost:""},{default:i(()=>[j(c(l.$t("loadNextPage")),1)]),_:1},8,["onClick","loading","disabled"])])]),key:"0"}:void 0]),1032,["items","onScroll","item-size","item-secondary-size","gridItems"]),e(me)?(d(),x("div",tn,[a(e(yt),{onClick:t[21]||(t[21]=n=>e(ve)("prev")),class:we({disable:!e(fe)("prev")})},null,8,["class"]),a(e(ht),{onClick:t[22]||(t[22]=n=>e(ve)("next")),class:we({disable:!e(fe)("next")})},null,8,["class"])])):L("",!0)])):L("",!0)],544),e(me)?(d(),F(wt,{key:0,file:e(K)[e(J)],idx:e(J),onContextMenuClick:e(ce)},null,8,["file","idx","onContextMenuClick"])):L("",!0)]),_:1},8,["spinning"])}}});const pn=_t(nn,[["__scopeId","data-v-4d3aae06"]]);export{pn as default};
diff --git a/vue/dist/assets/stackView-132bf7ce.css b/vue/dist/assets/stackView-515875e4.css
similarity index 77%
rename from vue/dist/assets/stackView-132bf7ce.css
rename to vue/dist/assets/stackView-515875e4.css
index a25f8ea..41f92c6 100644
--- a/vue/dist/assets/stackView-132bf7ce.css
+++ b/vue/dist/assets/stackView-515875e4.css
@@ -1 +1 @@
-.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum";color:#00000073;font-size:14px}.ant-breadcrumb .anticon{font-size:14px}.ant-breadcrumb a{color:#00000073;transition:color .3s}.ant-breadcrumb a:hover{color:#de632f}.ant-breadcrumb>span:last-child{color:#000000d9}.ant-breadcrumb>span:last-child a{color:#000000d9}.ant-breadcrumb>span:last-child .ant-breadcrumb-separator{display:none}.ant-breadcrumb-separator{margin:0 8px;color:#00000073}.ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-link>.anticon+a{margin-left:4px}.ant-breadcrumb-overlay-link>.anticon{margin-left:4px}.ant-breadcrumb-rtl{direction:rtl}.ant-breadcrumb-rtl:before{display:table;content:""}.ant-breadcrumb-rtl:after{display:table;clear:both;content:""}.ant-breadcrumb-rtl>span{float:right}.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+a{margin-right:4px;margin-left:0}.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link>.anticon{margin-right:4px;margin-left:0}.nprogress{pointer-events:none}.nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}.nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}.nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}.nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent .nprogress .spinner,.nprogress-custom-parent .nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-switch[data-v-43659a67]{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;z-index:11111;pointer-events:none}.preview-switch>*[data-v-43659a67]{color:#fff;margin:16px;font-size:4em;pointer-events:all;cursor:pointer}.preview-switch>*.disable[data-v-43659a67]{opacity:0;pointer-events:none;cursor:none}.breadcrumb[data-v-43659a67]{display:flex;align-items:center}.breadcrumb>*[data-v-43659a67]{margin-right:4px}.container[data-v-43659a67]{background:var(--zp-secondary-background);height:var(--pane-max-height)}.location-bar[data-v-43659a67]{padding:4px 16px;background:var(--zp-primary-background);border-bottom:1px solid var(--zp-border);display:flex;align-items:center;justify-content:space-between}.location-bar .actions[data-v-43659a67]{display:flex;align-items:center;flex-shrink:0}.location-bar a.opt[data-v-43659a67]{margin-left:8px}.view[data-v-43659a67]{padding:8px;height:calc(100vh - 48px)}.view .file-list[data-v-43659a67]{list-style:none;padding:8px;height:100%;overflow:auto}.hint[data-v-43659a67]{padding:4px;border:4px;background:var(--zp-secondary-background);border:1px solid var(--zp-border)}
+.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;color:#000000d9;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum";color:#00000073;font-size:14px}.ant-breadcrumb .anticon{font-size:14px}.ant-breadcrumb a{color:#00000073;transition:color .3s}.ant-breadcrumb a:hover{color:#de632f}.ant-breadcrumb>span:last-child{color:#000000d9}.ant-breadcrumb>span:last-child a{color:#000000d9}.ant-breadcrumb>span:last-child .ant-breadcrumb-separator{display:none}.ant-breadcrumb-separator{margin:0 8px;color:#00000073}.ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-link>.anticon+a{margin-left:4px}.ant-breadcrumb-overlay-link>.anticon{margin-left:4px}.ant-breadcrumb-rtl{direction:rtl}.ant-breadcrumb-rtl:before{display:table;content:""}.ant-breadcrumb-rtl:after{display:table;clear:both;content:""}.ant-breadcrumb-rtl>span{float:right}.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+a{margin-right:4px;margin-left:0}.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link>.anticon{margin-right:4px;margin-left:0}.nprogress{pointer-events:none}.nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}.nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}.nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}.nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent .nprogress .spinner,.nprogress-custom-parent .nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-switch[data-v-4d3aae06]{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;z-index:11111;pointer-events:none}.preview-switch>*[data-v-4d3aae06]{color:#fff;margin:16px;font-size:4em;pointer-events:all;cursor:pointer}.preview-switch>*.disable[data-v-4d3aae06]{opacity:0;pointer-events:none;cursor:none}.breadcrumb[data-v-4d3aae06]{display:flex;align-items:center}.breadcrumb>*[data-v-4d3aae06]{margin-right:4px}.container[data-v-4d3aae06]{background:var(--zp-secondary-background);height:var(--pane-max-height)}.location-bar[data-v-4d3aae06]{padding:4px 16px;background:var(--zp-primary-background);border-bottom:1px solid var(--zp-border);display:flex;align-items:center;justify-content:space-between}.location-bar .actions[data-v-4d3aae06]{display:flex;align-items:center;flex-shrink:0}.location-bar a.opt[data-v-4d3aae06]{margin-left:8px}.view[data-v-4d3aae06]{padding:8px;height:calc(100vh - 48px)}.view .file-list[data-v-4d3aae06]{list-style:none;padding:8px;height:100%;overflow:auto}.hint[data-v-4d3aae06]{padding:4px;border:4px;background:var(--zp-secondary-background);border:1px solid var(--zp-border)}
diff --git a/vue/dist/assets/stackView-dc7bc32f.js b/vue/dist/assets/stackView-dc7bc32f.js
deleted file mode 100644
index f6570bd..0000000
--- a/vue/dist/assets/stackView-dc7bc32f.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as Y,u as ie,g as U,_ as xe,c as a,a as re,P as X,D as Se,f as Pe,w as He,b as Je,e as Xe,h as he,M as oe,i as Ye,j as Ze,F as se,k as et,l as tt,o as d,m as N,n as i,p as u,q as k,r as e,s as T,t as nt,v as c,x as O,y as x,z as ne,A as ae,B as at,C as rt,E as L,G as ot,H as st,S as lt,I as it,J as ut,K as dt,L as ct,N as we,O as pt,Q as mt,R as vt,T as ft,U as kt,V as gt,W as bt,X as Ct}from"./index-23e5bc7c.js";import{D as Me,S as q,s as _t,u as yt,a as ht,b as wt,c as It,d as xt,e as St,f as Pt,g as Mt,h as $t,i as At,L as Rt,R as Bt,j as Dt}from"./fullScreenContextMenu-c5f9ce74.js";import{F,N as Nt,_ as Ft}from"./numInput-129eb755.js";import"./shortcut-98354a10.js";/* empty css *//* empty css */import"./db-52d8ead8.js";var Et=["class","style"],Tt=function(){return{prefixCls:String,href:String,separator:X.any,overlay:X.any,onClick:Function}};const W=Y({compatConfig:{MODE:3},name:"ABreadcrumbItem",inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:Tt(),slots:["separator","overlay"],setup:function(r,_){var v=_.slots,g=_.attrs,h=ie("breadcrumb",r),y=h.prefixCls,S=function(w,p){var s=U(v,r,"overlay");return s?a(Me,{overlay:s,placement:"bottom"},{default:function(){return[a("span",{class:"".concat(p,"-overlay-link")},[w,a(Se,null,null)])]}}):w};return function(){var P,w=(P=U(v,r,"separator"))!==null&&P!==void 0?P:"/",p=U(v,r),s=g.class,b=g.style,f=xe(g,Et),m;return r.href!==void 0?m=a("a",re({class:"".concat(y.value,"-link"),onClick:r.onClick},f),[p]):m=a("span",re({class:"".concat(y.value,"-link"),onClick:r.onClick},f),[p]),m=S(m,y.value),p?a("span",{class:s,style:b},[m,w&&a("span",{class:"".concat(y.value,"-separator")},[w])]):null}}});var Vt=function(){return{prefixCls:String,routes:{type:Array},params:X.any,separator:X.any,itemRender:{type:Function}}};function zt(o,r){if(!o.breadcrumbName)return null;var _=Object.keys(r).join("|"),v=o.breadcrumbName.replace(new RegExp(":(".concat(_,")"),"g"),function(g,h){return r[h]||g});return v}function Ie(o){var r=o.route,_=o.params,v=o.routes,g=o.paths,h=v.indexOf(r)===v.length-1,y=zt(r,_);return h?a("span",null,[y]):a("a",{href:"#/".concat(g.join("/"))},[y])}const V=Y({compatConfig:{MODE:3},name:"ABreadcrumb",props:Vt(),slots:["separator","itemRender"],setup:function(r,_){var v=_.slots,g=ie("breadcrumb",r),h=g.prefixCls,y=g.direction,S=function(s,b){return s=(s||"").replace(/^\//,""),Object.keys(b).forEach(function(f){s=s.replace(":".concat(f),b[f])}),s},P=function(s,b,f){var m=Ye(s),I=S(b||"",f);return I&&m.push(I),m},w=function(s){var b=s.routes,f=b===void 0?[]:b,m=s.params,I=m===void 0?{}:m,M=s.separator,$=s.itemRender,A=$===void 0?Ie:$,R=[];return f.map(function(C){var B=S(C.path,I);B&&R.push(B);var z=[].concat(R),j=null;return C.children&&C.children.length&&(j=a(oe,null,{default:function(){return[C.children.map(function(E){return a(oe.Item,{key:E.path||E.breadcrumbName},{default:function(){return[A({route:E,params:I,routes:f,paths:P(z,E.path,I)})]}})})]}})),a(W,{overlay:j,separator:M,key:B||C.breadcrumbName},{default:function(){return[A({route:C,params:I,routes:f,paths:z})]}})})};return function(){var p,s,b,f=r.routes,m=r.params,I=m===void 0?{}:m,M=Pe(U(v,r)),$=(p=U(v,r,"separator"))!==null&&p!==void 0?p:"/",A=r.itemRender||v.itemRender||Ie;f&&f.length>0?b=w({routes:f,params:I,separator:$,itemRender:A}):M.length&&(b=M.map(function(C,B){return He(Je(C.type)==="object"&&(C.type.__ANT_BREADCRUMB_ITEM||C.type.__ANT_BREADCRUMB_SEPARATOR),"Breadcrumb","Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children"),Xe(C,{separator:$,key:B})}));var R=(s={},he(s,h.value,!0),he(s,"".concat(h.value,"-rtl"),y.value==="rtl"),s);return a("div",{class:R},[b])}}});var jt=["separator","class"],Ot=function(){return{prefixCls:String}};const le=Y({compatConfig:{MODE:3},name:"ABreadcrumbSeparator",__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:Ot(),setup:function(r,_){var v=_.slots,g=_.attrs,h=ie("breadcrumb",r),y=h.prefixCls;return function(){var S;g.separator;var P=g.class,w=xe(g,jt),p=Pe((S=v.default)===null||S===void 0?void 0:S.call(v));return a("span",re({class:["".concat(y.value,"-separator"),P]},w),[p.length>0?p:"/"])}}});V.Item=W;V.Separator=le;V.install=function(o){return o.component(V.name,V),o.component(W.name,W),o.component(le.name,le),o};F.useInjectFormItemContext=Ze;F.ItemRest=se;F.install=function(o){return o.component(F.name,F),o.component(F.Item.name,F.Item),o.component(se.name,se),o};q.setDefaultIndicator=_t;q.install=function(o){return o.component(q.name,q),o};const Lt={class:"hint"},Ut={class:"location-bar"},qt={key:0},Wt=["onClick"],Gt={key:3,style:{"margin-left":"8px"}},Kt={class:"actions"},Qt=["onClick"],Ht={style:{width:"512px",background:"var(--zp-primary-background)",padding:"16px","border-radius":"4px","box-shadow":"0 0 4px var(--zp-secondary-background)",border:"1px solid var(--zp-secondary-background)"}},Jt={style:{padding:"4px"}},Xt={style:{padding:"4px"}},Yt={style:{padding:"4px"}},Zt={key:0,class:"view"},en={style:{padding:"16px 0 32px"}},tn={key:0,class:"preview-switch"},nn=Y({__name:"stackView",props:{tabIdx:{},paneIdx:{},path:{},walkModePath:{},stackKey:{}},setup(o){const r=o,_=et(),{scroller:v,stackViewEl:g,props:h,multiSelectedIdxs:y,spinning:S}=yt().toRefs(),{currLocation:P,currPage:w,refresh:p,copyLocation:s,back:b,openNext:f,stack:m,quickMoveTo:I,addToSearchScanPathAndQuickMove:M,searchPathInfo:$,locInputValue:A,isLocationEditing:R,onLocEditEnter:C,onEditBtnClick:B,share:z,selectAll:j,onCreateFloderBtnClick:G}=ht(r),{gridItems:E,sortMethodConv:ue,moreActionsDropdownShow:Z,sortedFiles:K,sortMethod:ee,itemSize:de,loadNextDir:$e,loadNextDirLoading:Ae,canLoadNext:Re,onScroll:Be,cellWidth:Q}=wt(r),{onDrop:De,onFileDragStart:Ne,onFileDragEnd:Fe}=It(),{onFileItemClick:Ee,onContextMenuClick:ce,showGenInfo:H,imageGenInfo:pe,q:Te}=xt(r,{openNext:f}),{previewIdx:J,onPreviewVisibleChange:Ve,previewing:me,previewImgMove:ve,canPreview:fe}=St(r),{showMenuIdx:te}=Pt();return tt(()=>r,()=>{h.value=r;const l=Mt.get(r.stackKey??"");l&&(m.value=l.slice())},{immediate:!0}),(l,t)=>{const ze=pt,je=mt,Oe=vt,ke=W,ge=V,Le=ft,Ue=kt,be=gt,qe=bt,We=oe,Ce=Me,Ge=Nt,_e=Ft,Ke=F,Qe=q;return d(),N(Qe,{spinning:e(S),size:"large"},{default:i(()=>[a(ze,{style:{display:"none"}}),u("div",{ref_key:"stackViewEl",ref:g,onDragover:t[23]||(t[23]=k(()=>{},["prevent"])),onDrop:t[24]||(t[24]=k(n=>e(De)(n),["prevent"])),class:"container"},[a(Oe,{visible:e(H),"onUpdate:visible":t[1]||(t[1]=n=>T(H)?H.value=n:null),width:"70vw","mask-closable":"",onOk:t[2]||(t[2]=n=>H.value=!1)},{cancelText:i(()=>[]),default:i(()=>[a(je,{active:"",loading:!e(Te).isIdle},{default:i(()=>[u("div",{style:{width:"100%","word-break":"break-all","white-space":"pre-line","max-height":"70vh",overflow:"auto","z-index":"9999"},onDblclick:t[0]||(t[0]=n=>e(nt)(e(pe)))},[u("div",Lt,c(l.$t("doubleClickToCopy")),1),O(" "+c(e(pe)),1)],32)]),_:1},8,["loading"])]),_:1},8,["visible"]),u("div",Ut,[r.walkModePath?(d(),x("div",qt,[a(Le,null,{title:i(()=>[O(c(l.$t("walk-mode-move-message")),1)]),default:i(()=>[a(ge,{style:{flex:"1"}},{default:i(()=>[(d(!0),x(ne,null,ae(e(m),(n,D)=>(d(),N(ke,{key:D},{default:i(()=>[u("span",null,c(n.curr==="/"?l.$t("root"):n.curr.replace(/:\/$/,l.$t("drive"))),1)]),_:2},1024))),128))]),_:1})]),_:1})])):(d(),x("div",{key:1,class:"breadcrumb",style:at({flex:e(R)?1:""})},[e(R)?(d(),N(Ue,{key:0,style:{flex:"1"},value:e(A),"onUpdate:value":t[3]||(t[3]=n=>T(A)?A.value=n:null),onClick:t[4]||(t[4]=k(()=>{},["stop"])),onPressEnter:e(C)},null,8,["value","onPressEnter"])):(d(),N(ge,{key:1,style:{flex:"1"}},{default:i(()=>[(d(!0),x(ne,null,ae(e(m),(n,D)=>(d(),N(ke,{key:D},{default:i(()=>[u("a",{onClick:k(ye=>e(b)(D),["prevent"])},c(n.curr==="/"?l.$t("root"):n.curr.replace(/:\/$/,l.$t("drive"))),9,Wt)]),_:2},1024))),128))]),_:1})),e(R)?(d(),N(be,{key:2,size:"small",onClick:e(C),type:"primary"},{default:i(()=>[O(c(l.$t("go")),1)]),_:1},8,["onClick"])):(d(),x("div",Gt,[u("a",{onClick:t[5]||(t[5]=k((...n)=>e(s)&&e(s)(...n),["prevent"])),style:{"margin-right":"4px"}},c(l.$t("copy")),1),u("a",{onClick:t[6]||(t[6]=k((...n)=>e(B)&&e(B)(...n),["prevent","stop"]))},c(l.$t("edit")),1)]))],4)),u("div",Kt,[u("a",{class:"opt",onClick:t[7]||(t[7]=k((...n)=>e(p)&&e(p)(...n),["prevent"]))},c(l.$t("refresh")),1),u("a",{class:"opt",onClick:t[8]||(t[8]=k((...n)=>e(j)&&e(j)(...n),["prevent","stop"]))},c(l.$t("selectAll")),1),e(rt)?L("",!0):(d(),x("a",{key:0,class:"opt",onClick:t[9]||(t[9]=k((...n)=>e(z)&&e(z)(...n),["prevent"]))},c(l.$t("share")),1)),a(Ce,null,{overlay:i(()=>[a(We,null,{default:i(()=>[(d(!0),x(ne,null,ae(e(_).quickMovePaths,n=>(d(),N(qe,{key:n.dir},{default:i(()=>[u("a",{onClick:k(D=>e(I)(n.dir),["prevent"])},c(n.zh),9,Qt)]),_:2},1024))),128))]),_:1})]),default:i(()=>[u("a",{class:"opt",onClick:t[10]||(t[10]=k(()=>{},["prevent"]))},[O(c(l.$t("quickMove"))+" ",1),a(e(Se))])]),_:1}),a(Ce,{trigger:["click"],visible:e(Z),"onUpdate:visible":t[19]||(t[19]=n=>T(Z)?Z.value=n:null),placement:"bottomLeft",getPopupContainer:n=>n.parentNode},{overlay:i(()=>[u("div",Ht,[a(Ke,ot(st({labelCol:{span:6},wrapperCol:{span:18}})),{default:i(()=>[a(_e,{label:l.$t("gridCellWidth")},{default:i(()=>[a(Ge,{modelValue:e(Q),"onUpdate:modelValue":t[12]||(t[12]=n=>T(Q)?Q.value=n:null),max:1024,min:64,step:64},null,8,["modelValue"])]),_:1},8,["label"]),a(_e,{label:l.$t("sortingMethod")},{default:i(()=>[a(e(lt),{value:e(ee),"onUpdate:value":t[13]||(t[13]=n=>T(ee)?ee.value=n:null),onClick:t[14]||(t[14]=k(()=>{},["stop"])),conv:e(ue),options:e(it)},null,8,["value","conv","options"])]),_:1},8,["label"]),u("div",Jt,[e($)?e($).can_delete?(d(),x("a",{key:1,onClick:t[16]||(t[16]=k((...n)=>e(M)&&e(M)(...n),["prevent"]))},c(l.$t("removeFromSearchScanPathAndQuickMove")),1)):L("",!0):(d(),x("a",{key:0,onClick:t[15]||(t[15]=k((...n)=>e(M)&&e(M)(...n),["prevent"]))},c(l.$t("addToSearchScanPathAndQuickMove")),1))]),u("div",Xt,[u("a",{onClick:t[17]||(t[17]=k(n=>e(ut)(e(P)+"/"),["prevent"]))},c(l.$t("openWithLocalFileBrowser")),1)]),u("div",Yt,[u("a",{onClick:t[18]||(t[18]=k((...n)=>e(G)&&e(G)(...n),["prevent"]))},c(l.$t("createFolder")),1)])]),_:1},16)])]),default:i(()=>[u("a",{class:"opt",onClick:t[11]||(t[11]=k(()=>{},["prevent"]))},c(l.$t("more")),1)]),_:1},8,["visible","getPopupContainer"])])]),e(w)?(d(),x("div",Zt,[a(e($t),{class:"file-list",items:e(K),ref_key:"scroller",ref:v,onScroll:e(Be),"item-size":e(de).first,"key-field":"fullpath","item-secondary-size":e(de).second,gridItems:e(E)},dt({default:i(({item:n,index:D})=>[a(At,{idx:D,file:n,"full-screen-preview-image-url":e(K)[e(J)]?e(ct)(e(K)[e(J)]):"","show-menu-idx":e(te),"onUpdate:showMenuIdx":t[20]||(t[20]=ye=>T(te)?te.value=ye:null),selected:e(y).includes(D),"cell-width":e(Q),onFileItemClick:e(Ee),onDragstart:e(Ne),onDragend:e(Fe),onPreviewVisibleChange:e(Ve),onContextMenuClick:e(ce)},null,8,["idx","file","full-screen-preview-image-url","show-menu-idx","selected","cell-width","onFileItemClick","onDragstart","onDragend","onPreviewVisibleChange","onContextMenuClick"])]),_:2},[r.walkModePath?{name:"after",fn:i(()=>[u("div",en,[a(be,{onClick:e($e),loading:e(Ae),block:"",type:"primary",disabled:!e(Re),ghost:""},{default:i(()=>[O(c(l.$t("loadNextPage")),1)]),_:1},8,["onClick","loading","disabled"])])]),key:"0"}:void 0]),1032,["items","onScroll","item-size","item-secondary-size","gridItems"]),e(me)?(d(),x("div",tn,[a(e(Rt),{onClick:t[21]||(t[21]=n=>e(ve)("prev")),class:we({disable:!e(fe)("prev")})},null,8,["class"]),a(e(Bt),{onClick:t[22]||(t[22]=n=>e(ve)("next")),class:we({disable:!e(fe)("next")})},null,8,["class"])])):L("",!0)])):L("",!0)],544),e(me)?(d(),N(Dt,{key:0,file:e(K)[e(J)],idx:e(J),onContextMenuClick:e(ce)},null,8,["file","idx","onContextMenuClick"])):L("",!0)]),_:1},8,["spinning"])}}});const cn=Ct(nn,[["__scopeId","data-v-43659a67"]]);export{cn as default};
diff --git a/vue/dist/index.html b/vue/dist/index.html
index 16b25c4..0a52a95 100644
--- a/vue/dist/index.html
+++ b/vue/dist/index.html
@@ -7,8 +7,8 @@
Infinite Image Browsing
-
-
+
+
diff --git a/vue/src/page/fileTransfer/ContextMenu.vue b/vue/src/components/ContextMenu.vue
similarity index 96%
rename from vue/src/page/fileTransfer/ContextMenu.vue
rename to vue/src/components/ContextMenu.vue
index 2ff6254..79d25b2 100644
--- a/vue/src/page/fileTransfer/ContextMenu.vue
+++ b/vue/src/components/ContextMenu.vue
@@ -46,6 +46,7 @@ const tags = computed(() => {
openOutpaint
+ {{ $t('sendToBatchDownload') }}
{{ $t('send2savedDir') }}
diff --git a/vue/src/page/fileTransfer/FileItem.vue b/vue/src/components/FileItem.vue
similarity index 84%
rename from vue/src/page/fileTransfer/FileItem.vue
rename to vue/src/components/FileItem.vue
index deeab19..d4e6221 100644
--- a/vue/src/page/fileTransfer/FileItem.vue
+++ b/vue/src/components/FileItem.vue
@@ -4,11 +4,12 @@ import { useGlobalStore } from '@/store/useGlobalStore'
import { fallbackImage } from 'vue3-ts-util'
import type { FileNodeInfo } from '@/api/files'
import { isImageFile } from '@/util'
-import { toImageThumbnailUrl, toRawFileUrl } from './hook'
+import { toImageThumbnailUrl, toRawFileUrl } from '@/util/file'
import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'
import { computed } from 'vue'
import ContextMenu from './ContextMenu.vue'
import { useTagStore } from '@/store/useTagStore'
+import { CloseCircleOutlined } from '@/icon'
const global = useGlobalStore()
const tagStore = useTagStore()
@@ -20,17 +21,20 @@ const props = withDefaults(
showMenuIdx?: number
cellWidth: number
fullScreenPreviewImageUrl?: string
+ enableRightClickMenu: boolean,
+ enableCloseIcon: boolean
}>(),
- { selected: false }
+ { selected: false, enableRightClickMenu: true, enableCloseIcon: false }
)
const emit = defineEmits<{
- (type: 'update:showMenuIdx', v: number): void
- (type: 'fileItemClick', event: MouseEvent, file: FileNodeInfo, idx: number): void
- (type: 'dragstart', event: DragEvent, idx: number): void
- (type: 'dragend', event: DragEvent, idx: number): void
- (type: 'previewVisibleChange', value: boolean, last: boolean): void
- (type: 'contextMenuClick', e: MenuInfo, file: FileNodeInfo, idx: number): void
+ 'update:showMenuIdx': [v: number],
+ 'fileItemClick': [event: MouseEvent, file: FileNodeInfo, idx: number],
+ 'dragstart': [event: DragEvent, idx: number],
+ 'dragend': [event: DragEvent, idx: number],
+ 'previewVisibleChange': [value: boolean, last: boolean],
+ 'contextMenuClick': [e: MenuInfo, file: FileNodeInfo, idx: number],
+ 'close-icon-click': []
}>()
const customTags = computed(() => {
@@ -52,7 +56,10 @@ const imageSrc = computed(() => {
@dragend="emit('dragend', $event, idx)" @click.capture="emit('fileItemClick', $event, file, idx)">
-
+
+
+
+
@@ -95,7 +102,7 @@ const imageSrc = computed(() => {
- emit('contextMenuClick', e, f, i)" />
@@ -123,6 +130,19 @@ const imageSrc = computed(() => {
}
}
+.close-icon {
+ position: absolute;
+ top: 0;
+ right: 0;
+ transform: translate(50%, -50%) scale(1.5);
+ cursor: pointer;
+ z-index: 100;
+ border-radius: 100%;
+ overflow: hidden;
+ line-height: 1;
+ background-color: var(--zp-primary-background);
+}
+
.file {
padding: 8px 16px;
margin: 8px;
@@ -132,7 +152,6 @@ const imageSrc = computed(() => {
border-radius: 8px;
box-shadow: 0 0 4px var(--zp-secondary-variant-background);
position: relative;
- overflow: hidden;
&:hover .more {
opacity: 1;
@@ -220,6 +239,7 @@ const imageSrc = computed(() => {
}
.basic-info {
+ overflow: hidden;
display: flex;
flex-direction: column;
align-items: flex-end;
diff --git a/vue/src/i18n.ts b/vue/src/i18n.ts
index c38495a..1d4ebe2 100644
--- a/vue/src/i18n.ts
+++ b/vue/src/i18n.ts
@@ -51,6 +51,7 @@ const zh = {
sendToImg2img: '发送到图生图',
sendToInpaint: '发送到局部重绘',
sendToControlNet: '发送到ControlNet',
+ sendToBatchDownload: '发送到批量下载',
sendToExtraFeatures: '发送到附加功能',
loadNextPage: '加载下一页',
localFile: '本地文件',
@@ -185,11 +186,21 @@ const zh = {
inputFolderName: '输入文件夹名',
createFolder: '创建文件夹',
sendToThirdPartyExtension: '发送到第三方拓展',
- lyco: 'LyCORIS'
+ lyco: 'LyCORIS',
+ batchDownloaDDragAndDropHint:
+ '使用拖拽或者右键菜单中的“发送到批量下载”将其他页面的图片添加到这里,支持多选',
+ zipDownload: '打包成zip下载',
+ archive: '归档',
+ batchDownload: '批量下载'
}
const en: Record = {
//! MissingTranslations: "Mark missing translations like this""shortcutKey": "Keyboard Shortcuts",
//! MissingTranslations
+ batchDownload: 'Batch Download',
+ archive: 'Archive',
+ zipDownload: 'Download as ZIP',
+ batchDownloaDDragAndDropHint:
+ "Use drag and drop or the 'Send to Batch Download' option in the right-click menu to add images from other pages here. Multiple selections are supported.",
lyco: 'LyCORIS',
sendToThirdPartyExtension: 'Send to third-party extension',
createFolder: 'Create Folder',
@@ -354,6 +365,7 @@ const en: Record = {
sendToTxt2img: 'Send to txt2img',
sendToImg2img: 'Send to img2img',
sendToInpaint: 'Send to Inpaint',
+ sendToBatchDownload: 'Send to BatchDownload',
sendToExtraFeatures: 'Send to Extra',
sendToControlNet: 'Send to ControlNet',
loadNextPage: 'Load next page',
diff --git a/vue/src/page/ImgSli/DraggingPort.vue b/vue/src/page/ImgSli/DraggingPort.vue
index 0327bde..57ec791 100644
--- a/vue/src/page/ImgSli/DraggingPort.vue
+++ b/vue/src/page/ImgSli/DraggingPort.vue
@@ -1,6 +1,6 @@
+
+
+
+
{{ $t('clear') }}
+
{{ $t('zipDownload') }}
+
+
+
{{ $t('batchDownloaDDragAndDropHint') }}
+
+
+
+
+
+
+
+
+
diff --git a/vue/src/page/fileTransfer/fullScreenContextMenu.vue b/vue/src/page/fileTransfer/fullScreenContextMenu.vue
index 7eba91e..cb34dd1 100644
--- a/vue/src/page/fileTransfer/fullScreenContextMenu.vue
+++ b/vue/src/page/fileTransfer/fullScreenContextMenu.vue
@@ -21,8 +21,8 @@ import {
import { t } from '@/i18n'
import { type Tag } from '@/api/db'
import { createReactiveQueue } from '@/util'
-import { toRawFileUrl } from './hook'
-import ContextMenu from './ContextMenu.vue'
+import { toRawFileUrl } from '@/util/file'
+import ContextMenu from '@/components/ContextMenu.vue'
import { useWatchDocument } from 'vue3-ts-util'
import { useTagStore } from '@/store/useTagStore'
@@ -156,6 +156,7 @@ const baseInfoTags = computed(() => {
openOutpaint
+ {{ $t('sendToBatchDownload') }}
{{ $t('send2savedDir') }}
{{ $t('deleteSelected') }}
diff --git a/vue/src/page/fileTransfer/hook.tsx b/vue/src/page/fileTransfer/hook.tsx
index fb90654..83cab8d 100644
--- a/vue/src/page/fileTransfer/hook.tsx
+++ b/vue/src/page/fileTransfer/hook.tsx
@@ -30,16 +30,16 @@ import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'
import { t } from '@/i18n'
import { DatabaseOutlined } from '@/icon'
import { addScannedPath, removeScannedPath, toggleCustomTagToImg } from '@/api/db'
-import { FileTransferData, getFileTransferDataFromDragEvent, toRawFileUrl } from './util'
+import { FileTransferData, getFileTransferDataFromDragEvent, toRawFileUrl } from '../../util/file'
import { getShortcutStrFromEvent } from '@/util/shortcut'
import { openCreateFlodersModal, MultiSelectTips } from './functionalCallableComp'
import { useTagStore } from '@/store/useTagStore'
-export * from './util'
+import { useBatchDownloadStore } from '@/store/useBatchDownloadStore'
export const stackCache = new Map()
const global = useGlobalStore()
-
+const batchDownload = useBatchDownloadStore()
const tagStore = useTagStore()
const sli = useImgSliStore()
const imgTransferBus = new BroadcastChannel('iib-image-transfer-bus')
@@ -143,14 +143,15 @@ export interface Page {
* @param props
* @returns
*/
-export function usePreview (props: Props) {
+export function usePreview () {
const {
previewIdx,
eventEmitter,
canLoadNext,
previewing,
sortedFiles: files,
- scroller
+ scroller,
+ props
} = useHookShareState().toRefs()
const { state } = useHookShareState()
let waitScrollTo = null as number | null
@@ -164,7 +165,7 @@ export function usePreview (props: Props) {
}
const loadNextIfNeeded = () => {
- if (props.walkModePath) {
+ if (props.value.walkModePath) {
if (!canPreview('next') && canLoadNext) {
message.info(t('loadingNextFolder'))
eventEmitter.value.emit('loadNextDir', true) // 如果在全屏预览时外面scroller可能还停留在很久之前,使用全屏预览的索引
@@ -259,7 +260,7 @@ export function usePreview (props: Props) {
/**
* 路径栏相关
*/
-export function useLocation (props: Props) {
+export function useLocation () {
const np = ref()
const {
scroller,
@@ -272,7 +273,8 @@ export function useLocation (props: Props) {
eventEmitter,
getPane,
multiSelectedIdxs,
- sortedFiles
+ sortedFiles,
+ props
} = useHookShareState().toRefs()
watch(
@@ -286,7 +288,7 @@ export function useLocation (props: Props) {
const handleWalkModeTo = async (path: string) => {
await to(path)
- if (props.walkModePath) {
+ if (props.value.walkModePath) {
await delay()
const [firstDir] = sortFiles(currPage.value!.files, sortMethod.value).filter(
(v) => v.type === 'dir'
@@ -309,8 +311,8 @@ export function useLocation (props: Props) {
}
np.value = new NProgress()
np.value!.configure({ parent: stackViewEl.value as any })
- if (props.path && props.path !== '/') {
- await handleWalkModeTo(props.walkModePath ?? props.path)
+ if (props.value.path && props.value.path !== '/') {
+ await handleWalkModeTo(props.value.walkModePath ?? props.value.path)
} else {
global.conf?.home && to(global.conf.home)
}
@@ -326,7 +328,7 @@ export function useLocation (props: Props) {
pane.path = loc
const filename = pane.path!.split('/').pop()
const getTitle = () => {
- if (!props.walkModePath) {
+ if (!props.value.walkModePath) {
const np = Path.normalize(loc)
for (const [k, v] of Object.entries(global.pathAliasMap)) {
if (np.startsWith(v)) {
@@ -430,9 +432,9 @@ export function useLocation (props: Props) {
const refresh = makeAsyncFunctionSingle(async () => {
try {
np.value?.start()
- if (props.walkModePath) {
+ if (props.value.walkModePath) {
back(0)
- await handleWalkModeTo(props.walkModePath)
+ await handleWalkModeTo(props.value.walkModePath)
} else {
const { files } = await getTargetFolderFiles(
stack.value.length === 1 ? '/' : currLocation.value
@@ -449,7 +451,7 @@ export function useLocation (props: Props) {
useGlobalEventListen(
'returnToIIB',
makeAsyncFunctionSingle(async () => {
- if (!props.walkModePath) {
+ if (!props.value.walkModePath) {
try {
np.value?.start()
const { files } = await getTargetFolderFiles(
@@ -470,7 +472,7 @@ export function useLocation (props: Props) {
useEventListen.value('refresh', refresh)
const quickMoveTo = (path: string) => {
- if (props.walkModePath) {
+ if (props.value.walkModePath) {
getPane.value().walkModePath = path
}
handleWalkModeTo(path)
@@ -564,7 +566,7 @@ export function useLocation (props: Props) {
}
}
-export function useFilesDisplay (props: Props) {
+export function useFilesDisplay () {
const {
scroller,
sortedFiles,
@@ -574,7 +576,8 @@ export function useFilesDisplay (props: Props) {
currPage,
stackViewEl,
canLoadNext,
- previewIdx
+ previewIdx,
+ props
} = useHookShareState().toRefs()
const { state } = useHookShareState()
const moreActionsDropdownShow = ref(false)
@@ -597,7 +600,7 @@ export function useFilesDisplay (props: Props) {
const loadNextDirLoading = ref(false)
const loadNextDir = async () => {
- if (loadNextDirLoading.value || !props.walkModePath || !canLoadNext.value) {
+ if (loadNextDirLoading.value || !props.value.walkModePath || !canLoadNext.value) {
return
}
try {
@@ -763,7 +766,6 @@ export function useFileTransfer () {
}
export function useFileItemActions (
- props: Props,
{ openNext }: { openNext: (file: FileNodeInfo) => Promise }
) {
const showGenInfo = ref(false)
@@ -777,7 +779,8 @@ export function useFileItemActions (
spinning,
previewing,
stackViewEl,
- eventEmitter
+ eventEmitter,
+ props
} = useHookShareState().toRefs()
const nor = Path.normalize
useEventListen('removeFiles', ({ paths, loc }) => {
@@ -944,7 +947,7 @@ export function useFileItemActions (
}
case 'openWithWalkMode': {
stackCache.set(path, stack.value)
- const tab = global.tabList[props.tabIdx]
+ const tab = global.tabList[props.value.tabIdx]
const pane: FileTransferTabPane = {
type: 'local',
key: uniqueId(),
@@ -959,7 +962,7 @@ export function useFileItemActions (
}
case 'openInNewTab': {
stackCache.set(path, stack.value)
- const tab = global.tabList[props.tabIdx]
+ const tab = global.tabList[props.value.tabIdx]
const pane: FileTransferTabPane = {
type: 'local',
key: uniqueId(),
@@ -973,10 +976,10 @@ export function useFileItemActions (
}
case 'openOnTheRight': {
stackCache.set(path, stack.value)
- let tab = global.tabList[props.tabIdx + 1]
+ let tab = global.tabList[props.value.tabIdx + 1]
if (!tab) {
tab = { panes: [], key: '', id: uniqueId() }
- global.tabList[props.tabIdx + 1] = tab
+ global.tabList[props.value.tabIdx + 1] = tab
}
const pane: FileTransferTabPane = {
type: 'local',
@@ -989,6 +992,10 @@ export function useFileItemActions (
tab.key = pane.key
break
}
+ case 'send2BatchDownload': {
+ batchDownload.addFiles(getSelectedImg())
+ break
+ }
case 'viewGenInfo': {
showGenInfo.value = true
imageGenInfo.value = await q.pushAction(() => getImageGenerationInfo(file.fullpath)).res
diff --git a/vue/src/page/fileTransfer/stackView.vue b/vue/src/page/fileTransfer/stackView.vue
index 005e370..9fe62e8 100644
--- a/vue/src/page/fileTransfer/stackView.vue
+++ b/vue/src/page/fileTransfer/stackView.vue
@@ -8,18 +8,18 @@ import {
useLocation,
usePreview,
useFileItemActions,
- toRawFileUrl,
stackCache,
useMobileOptimization
} from './hook'
import { SearchSelect } from 'vue3-ts-util'
+import { toRawFileUrl } from '@/util/file'
import 'multi-nprogress/nprogress.css'
// @ts-ignore
import { RecycleScroller } from '@zanllp/vue-virtual-scroller'
import '@zanllp/vue-virtual-scroller/dist/vue-virtual-scroller.css'
import { watch } from 'vue'
-import FileItem from './FileItem.vue'
+import FileItem from '@/components/FileItem.vue'
import fullScreenContextMenu from './fullScreenContextMenu.vue'
import { copy2clipboardI18n } from '@/util'
import { openFolder } from '@/api'
@@ -50,7 +50,7 @@ const {
const { currLocation, currPage, refresh, copyLocation, back, openNext, stack, quickMoveTo,
addToSearchScanPathAndQuickMove, searchPathInfo, locInputValue, isLocationEditing,
onLocEditEnter, onEditBtnClick, share, selectAll, onCreateFloderBtnClick
-} = useLocation(props)
+} = useLocation()
const {
gridItems,
sortMethodConv,
@@ -63,14 +63,10 @@ const {
canLoadNext,
onScroll,
cellWidth
-} = useFilesDisplay(props)
+} = useFilesDisplay()
const { onDrop, onFileDragStart, onFileDragEnd } = useFileTransfer()
-const { onFileItemClick, onContextMenuClick, showGenInfo, imageGenInfo, q } = useFileItemActions(
- props,
- { openNext }
-)
-const { previewIdx, onPreviewVisibleChange, previewing, previewImgMove, canPreview } =
- usePreview(props)
+const { onFileItemClick, onContextMenuClick, showGenInfo, imageGenInfo, q } = useFileItemActions({ openNext })
+const { previewIdx, onPreviewVisibleChange, previewing, previewImgMove, canPreview } = usePreview()
const { showMenuIdx } = useMobileOptimization()
watch(
diff --git a/vue/src/store/useBatchDownloadStore.ts b/vue/src/store/useBatchDownloadStore.ts
new file mode 100644
index 0000000..60586aa
--- /dev/null
+++ b/vue/src/store/useBatchDownloadStore.ts
@@ -0,0 +1,15 @@
+import { FileNodeInfo } from '@/api/files'
+import { uniqueFile } from '@/util'
+import { defineStore } from 'pinia'
+import { ref } from 'vue'
+
+export const useBatchDownloadStore = defineStore('useBatchDownloadStore', () => {
+ const selectdFiles = ref([])
+ const addFiles = (files: FileNodeInfo[]) => {
+ selectdFiles.value = uniqueFile([...selectdFiles.value,...files])
+ }
+ return {
+ selectdFiles,
+ addFiles
+ }
+})
diff --git a/vue/src/store/useGlobalStore.ts b/vue/src/store/useGlobalStore.ts
index 07c3ea3..07eaa7b 100644
--- a/vue/src/store/useGlobalStore.ts
+++ b/vue/src/store/useGlobalStore.ts
@@ -19,7 +19,7 @@ interface TabPaneBase {
}
interface OtherTabPane extends TabPaneBase {
- type: 'empty' | 'global-setting' | 'tag-search' | 'fuzzy-search'
+ type: 'empty' | 'global-setting' | 'tag-search' | 'fuzzy-search' | 'batch-download'
}
// logDetailId
diff --git a/vue/src/store/usesTagSearch.ts b/vue/src/store/usesTagSearch.ts
deleted file mode 100644
index b8f1e9c..0000000
--- a/vue/src/store/usesTagSearch.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { defineStore } from 'pinia'
-
-export const useTagSearch = defineStore('useTagSearch', () => {
- return {}
-})
diff --git a/vue/src/page/fileTransfer/util.ts b/vue/src/util/file.ts
similarity index 68%
rename from vue/src/page/fileTransfer/util.ts
rename to vue/src/util/file.ts
index c093c04..61ea740 100644
--- a/vue/src/page/fileTransfer/util.ts
+++ b/vue/src/util/file.ts
@@ -1,5 +1,6 @@
import type { FileNodeInfo } from '@/api/files'
import { apiBase } from '@/api'
+import { uniqBy } from 'lodash-es'
const encode = encodeURIComponent
export const toRawFileUrl = (file: FileNodeInfo, download = false) =>
@@ -25,4 +26,15 @@ export const isFileTransferData = (v: any): v is FileTransferData =>
export const getFileTransferDataFromDragEvent = (e: DragEvent) => {
const data = JSON.parse(e.dataTransfer?.getData('text') ?? '{}')
return isFileTransferData(data) ? data : null
-}
\ No newline at end of file
+}
+
+export const uniqueFile = (files: FileNodeInfo[]) => uniqBy(files, 'fullpath')
+
+export function isImageFile(filename: string): boolean {
+ if (typeof filename !== 'string') {
+ return false
+ }
+ const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp']
+ const extension = filename.split('.').pop()?.toLowerCase()
+ return extension !== undefined && imageExtensions.includes(`.${extension}`)
+}
diff --git a/vue/src/util/index.ts b/vue/src/util/index.ts
index 753fb63..f3612ad 100644
--- a/vue/src/util/index.ts
+++ b/vue/src/util/index.ts
@@ -2,6 +2,7 @@ import { t } from '@/i18n'
import { message } from 'ant-design-vue'
import { reactive } from 'vue'
import { FetchQueue, idKey, typedEventEmitter, type UniqueId } from 'vue3-ts-util'
+export * from './file'
export const parentWindow = () => {
return parent.window as any as Window & {
@@ -74,16 +75,6 @@ export const pick = >(v: T, ...keys:
* ReturnTypeAsync\
*/
export type ReturnTypeAsync Promise> = Awaited>
-
-export function isImageFile(filename: string): boolean {
- if (typeof filename !== 'string') {
- return false
- }
- const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp']
- const extension = filename.split('.').pop()?.toLowerCase()
- return extension !== undefined && imageExtensions.includes(`.${extension}`)
-}
-
export const createReactiveQueue = () => reactive(new FetchQueue(-1, 0, -1, 'throw'))
export const copy2clipboardI18n = async (text: string, msg?: string) => {
diff --git a/zip_temp/.gitkeep b/zip_temp/.gitkeep
new file mode 100644
index 0000000..e69de29