diff --git "a/assets/route-block-aMoD6PsI.js" "b/assets/route-block-aMoD6PsI.js" new file mode 100644--- /dev/null +++ "b/assets/route-block-aMoD6PsI.js" @@ -0,0 +1,536 @@ +var Mu=Object.defineProperty;var Iu=(t,e,n)=>e in t?Mu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Fo=(t,e,n)=>Iu(t,typeof e!="symbol"?e+"":e,n);import{d as xe,m as Ge,o as W,T as wr,p as ye,e as je,v as hs,x as ms,y as Mt,c as Z,a as he,z as Si,A as gs,k as Ke,B as zt,j as P,C as Ri,t as le,f as V,w as Ie,h as At,i as vt,D as vs,E as _e,l as ys,G as bs,H as Su,I as xs,J as Ru,K as oo,L as Bt,M as Tt,N as Rr,b as B,O as Yt,P as In,Q as Cr,R as ws,Z as ao,S as Cu,V as de,U as hn,W as Uo,X as kr,Y as kn,_ as Xe,$ as Wt,a0 as Ou,a1 as ks,a2 as jn,a3 as so,a4 as tt,a5 as Ts,a6 as As,a7 as lo,a8 as Hn,a9 as Nu,aa as uo,ab as Pu,ac as _s,ad as Ft,ae as co,af as Qt,ag as Lu,ah as Es,ai as ln,aj as Ms,ak as Is,al as Du,am as Ss,an as Bu,ao as Or,ap as Rs,aq as Cs,ar as zu,as as an,at as Fu,au as Uu,av as $u,aw as ju,ax as Vr,ay as Tr,az as Ci,aA as rn,aB as Os,aC as Oi,aD as xn,aE as $o,aF as on,aG as wn,aH as Hr,aI as Vu,aJ as Hu,aK as Gu,aL as Ku,aM as Ns,aN as Ps,aO as Ar,aP as Ls,aQ as fo,aR as _r,aS as Ds,aT as qu,n as Er,aU as Yu,aV as Ni,aW as Bs,aX as Wu,aY as Fn,aZ as zs,a_ as St,a$ as Ut,b0 as Vn,b1 as Xu,b2 as Qu,b3 as Zu,b4 as Ju,b5 as ec,b6 as po,b7 as tc,b8 as nc,b9 as rc,ba as Gr,bb as ic,bc as Fs,bd as oc,be as ac,bf as sc,bg as lc,bh as uc,bi as Kr,bj as cc,bk as dc,bl as fc,bm as jo,bn as Vo,bo as Ho,bp as Go,bq as pc,br as hc,bs as mc,bt as gc,bu as vc,bv as Nr,bw as Gn,bx as Zt,by as Kn,bz as yc,bA as bc,bB as xc,bC as cn,bD as Ko,bE as vr,bF as wc,bG as xt,bH as kc,bI as Tc,bJ as Ac,bK as _c,F as sn,bL as Us,bM as $s,bN as js,bO as Ec,s as Tn,bP as qo,bQ as Vs,bR as Mc,bS as Ic,bT as Sc,bU as Hs,bV as Gs,bW as Rc,bX as qr}from"./index-BsWbjvHD.js";import{u as Yr}from"./queue-DOqHWeEX.js";import{e as Pi,T as Ks,A as Cc,L as Li,c as qs,r as Ys,I as Oc,M as Nc,d as Pc,D as Lc,E as Dc,f as Bc,g as Ws,h as Xs,i as zc,j as Fc,k as Di,V as Uc,m as $c,n as jc,o as Bi,p as Vc,q as Hc,b as Gc,a as Kc,u as qc,l as Yc,s as Wc,t as Xc,_ as Qs}from"./Stage.vue_vue_type_style_index_0_scoped_f3a4c670_lang-GuI2yIa1.js";import{_ as Pr}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{d as Yo}from"./index-BU9pNeOy.js";const Nt="0px",Lr=xe({__name:"TransitionVertical",props:{duration:{default:250},easingEnter:{default:"ease-in-out"},easingLeave:{default:"ease-in-out"},opacityClosed:{default:0},opacityOpened:{default:1}},setup(t){const e=t;function n(l){return{height:l.style.height,width:l.style.width,position:l.style.position,visibility:l.style.visibility,overflow:l.style.overflow,paddingTop:l.style.paddingTop,paddingBottom:l.style.paddingBottom,borderTopWidth:l.style.borderTopWidth,borderBottomWidth:l.style.borderBottomWidth,marginTop:l.style.marginTop,marginBottom:l.style.marginBottom}}function r(l,u){const{width:c}=getComputedStyle(l);l.style.width=c,l.style.position="absolute",l.style.visibility="hidden",l.style.height="";const{height:d}=getComputedStyle(l);return l.style.width=u.width,l.style.position=u.position,l.style.visibility=u.visibility,l.style.height=Nt,l.style.overflow="hidden",u.height&&u.height!==Nt?u.height:d}function i(l,u,c,d,p){const f=l.animate(d,p);l.style.height=u.height,f.onfinish=()=>{l.style.overflow=u.overflow,c()}}function o(l,u){return[{height:Nt,opacity:e.opacityClosed,paddingTop:Nt,paddingBottom:Nt,borderTopWidth:Nt,borderBottomWidth:Nt,marginTop:Nt,marginBottom:Nt},{height:l,opacity:e.opacityOpened,paddingTop:u.paddingTop,paddingBottom:u.paddingBottom,borderTopWidth:u.borderTopWidth,borderBottomWidth:u.borderBottomWidth,marginTop:u.marginTop,marginBottom:u.marginBottom}]}function a(l,u){const c=l,d=n(c),p=r(c,d),f=o(p,d),h={duration:e.duration,easing:e.easingEnter};i(c,d,u,f,h)}function s(l,u){const c=l,d=n(c),{height:p}=getComputedStyle(c);c.style.height=p,c.style.overflow="hidden";const f=o(p,d).reverse(),h={duration:e.duration,easing:e.easingLeave};i(c,d,u,f,h)}return(l,u)=>(W(),Ge(wr,{css:!1,onEnter:a,onLeave:s},{default:ye(()=>[je(l.$slots,"default")]),_:3}))}}),Qc={op50:""},zi=xe({__name:"Collapsable",props:hs({default:{type:Boolean},label:null},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const e=t,n=ms(t,"modelValue");Mt(()=>{e.default!=null&&(n.value=!!e.default)});function r(i){n.value=i}return(i,o)=>(W(),Z("div",null,[je(i.$slots,"trigger",Si(gs({visible:n.value,setVisible:r})),()=>[P("button",{sticky:"","top-0":"","z-10":"",flex:"","items-center":"","justify-between":"",px2:"",py1:"","text-sm":"","backdrop-blur-xl":"",onClick:o[0]||(o[0]=a=>n.value=!n.value)},[P("span",null,le(e.label??"Collapsable"),1),o[1]||(o[1]=Ri()),P("span",Qc,le(n.value?"▲":"▼"),1)])]),he(Lr,null,{default:ye(()=>[n.value?je(i.$slots,"default",Si(zt({key:0},{visible:n.value,setVisible:r}))):Ke("",!0)]),_:3})]))}}),Zc=xe({__name:"Canvas",props:{width:null,height:null},setup(t){const e=t,n=V(),r=V(),i=V();async function o(s){Li.registerTicker(qs),Pi.add(Ks),r.value=new Cc({width:e.width,height:e.height,backgroundAlpha:0}),i.value=r.value.view,i.value.style.objectFit="contain",s.appendChild(r.value.view)}function a(){var s;r.value&&r.value.renderer.resize(e.width,e.height),(s=r.value)!=null&&s.view&&(r.value.view.width=e.width,r.value.view.height=e.height)}return Ie([()=>e.width,()=>e.height],()=>a()),At(async()=>n.value&&await o(n.value)),vt(()=>{var s;return(s=r.value)==null?void 0:s.destroy()}),(s,l)=>(W(),Z("div",{ref_key:"containerRef",ref:n,"h-full":"","w-full":""},[je(s.$slots,"default",{app:r.value})],512))}});function Wo(t,e,n){return(1-n)*t+n*e}function nn(t,e){return t+Math.random()*(e-t)}async function*Jc(t,e){const n=t.getReader();try{for(;;){const{done:r,value:i}=await n.read();if(r)return;yield e(i)}}finally{n.releaseLock()}}function ed(){let t=-1,e,n=-1;function r(i,o){(o>=t||oe.app),r=V(),i=V(0),o=V(0),a=_e(()=>Math.max(0,Math.min(100,e.mouthOpenSize))),s=ys(),l=bs(xs),u=_e(()=>l.between("sm","md").value||l.smaller("sm").value),c=ed();function d(){return r.value.internalModel.coreModel}function p(v){if(!v.value)return;let _=2.2;u.value&&(_=2.2);const T=e.height*.95/o.value*_,M=e.width*.95/i.value*_,O=Math.min(T,M);v.value.scale.set(O,O)}async function f(){var O;if(!n.value)return;Li.registerTicker(qs),Pi.add(Ks),Pi.add(Oc),r.value=await Li.from(e.model,{motionPreload:Nc.ALL}),n.value.stage.addChild(r.value),i.value=r.value.width,o.value=r.value.height,r.value.x=e.width/2,r.value.y=e.height,r.value.rotation=Math.PI,r.value.skew.x=Math.PI,r.value.anchor.set(.5,.5),p(r),r.value.on("hit",m=>{r.value&&m.includes("body")&&r.value.motion("tap_body")});const v=r.value.internalModel,_=v.coreModel,T=v.motionManager;_.setParameterValueById("ParamMouthOpenY",a.value),T.groups.idle&&((O=T.motionGroups[T.groups.idle])==null||O.forEach(m=>{m._motionData.curves.forEach(E=>{(E.id==="ParamEyeBallX"||E.id==="ParamEyeBallY")&&(E.id=`_${E.id}`)})}));const M=T.update;T.update=function(m,E){return M==null||M.call(this,m,E),T.state.currentGroup===T.groups.idle&&c.update(v,E),!0}}async function h(v){await r.value.motion(v,void 0,Pc.FORCE)}const k=Su(()=>{r.value&&(r.value.x=e.width/2,r.value.y=e.height,p(r))},100);function y(){r.value&&(r.value.filters=[new Lc({color:s.value?10053247:14662098,alpha:.3,blur:0,distance:20,rotation:45})])}return Ie([()=>e.width,()=>e.height],()=>k()),Ie(s,y,{immediate:!0}),Ie(r,y),Ie(a,v=>d().setParameterValueById("ParamMouthOpenY",v)),Ie(n,f),Ie(()=>e.motion,()=>e.motion&&h(e.motion)),At(y),vt(()=>{var v;return r.value&&((v=n.value)==null?void 0:v.stage.removeChild(r.value))}),(v,_)=>je(v.$slots,"default")}}),Zs=xe({__name:"Screen",setup(t){const e=V(),n=bs(xs),{width:r,height:i}=Ru(),o=oo(e,{immediate:!0,windowResize:!0,reset:!0}),a=_e(()=>n.between("sm","md").value||n.smaller("sm").value),s=_e(()=>n.between("md","lg").value),l=_e(()=>n.greaterOrEqual("lg").value),u=_e(()=>l.value?o.width.value:a.value||s.value?r.value-16:o.width.value),c=V(0);return Ie([r,i,e],()=>{var p,f;const d=(f=(p=e.value)==null?void 0:p.parentElement)==null?void 0:f.getBoundingClientRect();l.value||a.value||s.value?c.value=(d==null?void 0:d.height)||0:c.value=600}),Ie([o.width,o.height],()=>{l.value||a.value||s.value?c.value=o.height.value:c.value=600}),At(async()=>{e.value&&o.update()}),(d,p)=>(W(),Z("div",{ref_key:"containerRef",ref:e,"h-full":"","w-full":""},[je(d.$slots,"default",{width:u.value,height:c.value})],512))}}),nd={absolute:"",bottom:"3",right:"3"},rd={flex:"~ row","cursor-pointer":""},id=["checked","aria-checked"],od={key:0,"min-w":"50vw",z:"(W(),Ge(Zs,{relative:""},{default:ye(({width:o,height:a})=>[he(Zc,{width:o,height:a},{default:ye(({app:s})=>[he(td,{app:s,model:t.model,"mouth-open-size":t.mouthOpenSize,width:o,height:a,motion:e.value},null,8,["app","model","mouth-open-size","width","height","motion"])]),_:2},1032,["width","height"]),P("div",nd,[P("div",rd,[P("label",{class:Bt([n.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[Tt(P("input",{"onUpdate:modelValue":i[0]||(i[0]=s=>n.value=s),checked:n.value,"aria-checked":n.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,id),[[Rr,n.value]]),i[8]||(i[8]=P("div",{"select-none":""},[P("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Lr,null,{default:ye(()=>[n.value?(W(),Z("div",od,[P("div",ad,[P("div",sd,[P("span",null,le(r.$t("stage.viewers.debug-menu.emotions")),1)]),P("div",ld,[P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[1]||(i[1]=s=>e.value=B(Dc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[2]||(i[2]=s=>e.value=B(Bc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[3]||(i[3]=s=>e.value=B(Ws))},le(r.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[4]||(i[4]=s=>e.value=B(Xs))},le(r.$t("stage.viewers.debug-menu.emotions-btn.happy")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[5]||(i[5]=s=>e.value=B(zc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.awkward")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[6]||(i[6]=s=>e.value=B(Fc))},le(r.$t("stage.viewers.debug-menu.emotions-btn.question")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[7]||(i[7]=s=>e.value=B(Di))},le(r.$t("stage.viewers.debug-menu.emotions-btn.think")),1)])])])):Ke("",!0)]),_:1})])]),_:1}))}});var cd=Object.defineProperty,dd=(t,e,n)=>e in t?cd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,fd=(t,e,n)=>dd(t,e+"",n);function pd(t){return Rs()?(Cs(t),!0):!1}function Js(t){return typeof t=="function"?t():B(t)}const hd=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const md=Object.prototype.toString,gd=t=>md.call(t)==="[object Object]",vd=()=>{},yd=hd?window:void 0;function bd(t){var e;const n=Js(t);return(e=n==null?void 0:n.$el)!=null?e:n}function Wr(...t){let e,n,r,i;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,i]=t,e=yd):[e,n,r,i]=t,!e)return vd;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],a=()=>{o.forEach(c=>c()),o.length=0},s=(c,d,p,f)=>(c.addEventListener(d,p,f),()=>c.removeEventListener(d,p,f)),l=Ie(()=>[bd(e),Js(i)],([c,d])=>{if(a(),!c)return;const p=gd(d)?{...d}:d;o.push(...n.flatMap(f=>r.map(h=>s(c,f,h,p))))},{immediate:!0,flush:"post"}),u=()=>{l(),a()};return pd(u),u}function el(t,e,n,r){const i=class extends Hn{constructor(o={}){const a=Object.entries(t);super({uniforms:a.reduce((s,[l,u])=>{const c=uo.clone({[l]:{value:u}});return{...s,...c}},{}),vertexShader:e,fragmentShader:n}),fd(this,"key",""),a.forEach(([s])=>Object.defineProperty(this,s,{get:()=>this.uniforms[s].value,set:l=>this.uniforms[s].value=l})),Object.assign(this,o)}};return i.key=ln.generateUUID(),i}el({color:new tt("white"),scale:new Xe(1,1),imageBounds:new Xe(1,1),resolution:1024,map:null,zoom:1,radius:0,grayscale:0,opacity:1},` + varying vec2 vUv; + varying vec2 vPos; + void main() { + gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.); + vUv = uv; + vPos = position.xy; + } + `,` + // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44 + varying vec2 vUv; + varying vec2 vPos; + uniform vec2 scale; + uniform vec2 imageBounds; + uniform float resolution; + uniform vec3 color; + uniform sampler2D map; + uniform float radius; + uniform float zoom; + uniform float grayscale; + uniform float opacity; + const vec3 luma = vec3(.299, 0.587, 0.114); + vec4 toGrayscale(vec4 color, float intensity) { + return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a); + } + vec2 aspect(vec2 size) { + return size / min(size.x, size.y); + } + + const float PI = 3.14159265; + + // from https://iquilezles.org/articles/distfunctions + float udRoundBox( vec2 p, vec2 b, float r ) { + return length(max(abs(p)-b+r,0.0))-r; + } + + void main() { + vec2 s = aspect(scale); + vec2 i = aspect(imageBounds); + float rs = s.x / s.y; + float ri = i.x / i.y; + vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x); + vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new; + vec2 uv = vUv * s / new + offset; + vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5); + + vec2 res = vec2(scale * resolution); + vec2 halfRes = 0.5 * res; + float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius); + vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b)); + gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale); + + #include + #include + } + `);const ho=parseInt(zu.replace(/\D+/g,""));var xd=Object.defineProperty,wd=(t,e,n)=>e in t?xd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,kd=(t,e,n)=>(wd(t,e+"",n),n);async function Xo(t){const e=await t.arrayBuffer(),n=btoa(String.fromCharCode(...new Uint8Array(e)));return`data:${t.type||""};base64,${n}`}let er,Xr,mn,tr;function Qr(t,e=1/0,n=null){Xr||(Xr=new Ms(2,2,1,1)),mn||(mn=new Hn({uniforms:{blitTexture:new Gu(t)},vertexShader:` + varying vec2 vUv; + void main(){ + vUv = uv; + gl_Position = vec4(position.xy * 1.0,0.,.999999); + } + `,fragmentShader:` + uniform sampler2D blitTexture; + varying vec2 vUv; + + void main(){ + gl_FragColor = vec4(vUv.xy, 0, 1); + + #ifdef IS_SRGB + gl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) ); + #else + gl_FragColor = texture2D( blitTexture, vUv); + #endif + } + `})),mn.uniforms.blitTexture.value=t,mn.defines.IS_SRGB="colorSpace"in t?t.colorSpace==="srgb":t.encoding===3001,mn.needsUpdate=!0,tr||(tr=new an(Xr,mn),tr.frustrumCulled=!1);const r=new Wt,i=new Oi;i.add(tr),n||(n=er=new Ku({antialias:!1})),n.setSize(Math.min(t.image.width,e),Math.min(t.image.height,e)),n.clear(),n.render(i,r);const o=new Tr(n.domElement);return o.minFilter=t.minFilter,o.magFilter=t.magFilter,o.wrapS=t.wrapS,o.wrapT=t.wrapT,o.name=t.name,er&&(er.dispose(),er=null),o}const Qo={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class tl{constructor(){this.pluginCallbacks=[],this.register(function(e){return new Od(e)}),this.register(function(e){return new Nd(e)}),this.register(function(e){return new Dd(e)}),this.register(function(e){return new Bd(e)}),this.register(function(e){return new zd(e)}),this.register(function(e){return new Fd(e)}),this.register(function(e){return new Pd(e)}),this.register(function(e){return new Ld(e)}),this.register(function(e){return new Ud(e)}),this.register(function(e){return new $d(e)}),this.register(function(e){return new jd(e)})}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,n,r,i){const o=new Cd,a=[];for(let s=0,l=this.pluginCallbacks.length;st.times[t.times.length-1]){if(Math.abs(t.times[t.times.length-1]-e)<.001)return t.times.length-1;r[r.length-1]=e,r.set(t.times,0),i.set(t.values,0),i.set(o.evaluate(e),t.values.length),a=r.length-1}else for(let s=0;se){r.set(t.times.slice(0,s+1),0),r[s+1]=e,r.set(t.times.slice(s+1),s+2),i.set(t.values.slice(0,(s+1)*n),0),i.set(o.evaluate(e),(s+1)*n),i.set(t.values.slice((s+1)*n),(s+2)*n),a=s+1;break}}return t.times=r,t.values=i,a},mergeMorphTargetTracks:function(t,e){const n=[],r={},i=t.tracks;for(let o=0;o4?a=t.array[i*t.itemSize+o]:(o===0?a=t.getX(i):o===1?a=t.getY(i):o===2?a=t.getZ(i):o===3&&(a=t.getW(i)),t.normalized===!0&&(a=ln.normalize(a,t.array))),r.min[o]=Math.min(r.min[o],a),r.max[o]=Math.max(r.max[o],a)}return r}function nl(t){return Math.ceil(t/4)*4}function Jr(t,e=0){const n=nl(t.byteLength);if(n!==t.byteLength){const r=new Uint8Array(n);if(r.set(new Uint8Array(t)),e!==0)for(let i=t.byteLength;i"u"&&typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):document.createElement("canvas")}function na(t,e){if(t.toBlob!==void 0)return new Promise(r=>t.toBlob(r,e));let n;return e==="image/jpeg"?n=.92:e==="image/webp"&&(n=.8),t.convertToBlob({type:e,quality:n})}class Cd{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,n,r={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},r),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);const i=this,o=i.buffers,a=i.json;r=i.options;const s=i.extensionsUsed,l=i.extensionsRequired,u=new Blob(o,{type:"application/octet-stream"}),c=Object.keys(s),d=Object.keys(l);c.length>0&&(a.extensionsUsed=c),d.length>0&&(a.extensionsRequired=d),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=u.size),r.binary===!0?u.arrayBuffer().then(p=>{const f=Jr(p),h=new DataView(new ArrayBuffer(ea));h.setUint32(0,f.byteLength,!0),h.setUint32(4,Md,!0);const k=Jr(Id(JSON.stringify(a)),32),y=new DataView(new ArrayBuffer(ea));y.setUint32(0,k.byteLength,!0),y.setUint32(4,Ed,!0);const v=new ArrayBuffer(Jo),_=new DataView(v);_.setUint32(0,Ad,!0),_.setUint32(4,_d,!0);const T=Jo+y.byteLength+k.byteLength+h.byteLength+f.byteLength;_.setUint32(8,T,!0),new Blob([v,y,k,h,f],{type:"application/octet-stream"}).arrayBuffer().then(n)}):a.buffers&&a.buffers.length>0?Xo(u).then(p=>{a.buffers[0].uri=p,n(a)}):n(a)}serializeUserData(e,n){if(Object.keys(e.userData).length===0)return;const r=this.options,i=this.extensionsUsed;try{const o=JSON.parse(JSON.stringify(e.userData));if(r.includeCustomExtensions&&o.gltfExtensions){n.extensions===void 0&&(n.extensions={});for(const a in o.gltfExtensions)n.extensions[a]=o.gltfExtensions[a],i[a]=!0;delete o.gltfExtensions}Object.keys(o).length>0&&(n.extras=o)}catch(o){console.warn("THREE.GLTFExporter: userData of '"+e.name+"' won't be serialized because of JSON.stringify error - "+o.message)}}getUID(e,n=!1){if(this.uids.has(e)===!1){const r=new Map;r.set(!0,this.uid++),r.set(!1,this.uid++),this.uids.set(e,r)}return this.uids.get(e).get(n)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;const n=new de;for(let r=0,i=e.count;r5e-4)return!1;return!0}createNormalizedNormalAttribute(e){const n=this.cache;if(n.attributesNormalized.has(e))return n.attributesNormalized.get(e);const r=e.clone(),i=new de;for(let o=0,a=r.count;o4?h=e.array[p*e.itemSize+f]:(f===0?h=e.getX(p):f===1?h=e.getY(p):f===2?h=e.getZ(p):f===3&&(h=e.getW(p)),e.normalized===!0&&(h=ln.normalize(h,e.array))),n===Ae.FLOAT?u.setFloat32(c,h,!0):n===Ae.INT?u.setInt32(c,h,!0):n===Ae.UNSIGNED_INT?u.setUint32(c,h,!0):n===Ae.SHORT?u.setInt16(c,h,!0):n===Ae.UNSIGNED_SHORT?u.setUint16(c,h,!0):n===Ae.BYTE?u.setInt8(c,h):n===Ae.UNSIGNED_BYTE&&u.setUint8(c,h),c+=s}const d={buffer:this.processBuffer(u.buffer),byteOffset:this.byteOffset,byteLength:l};return o!==void 0&&(d.target=o),o===Ae.ARRAY_BUFFER&&(d.byteStride=e.itemSize*s),this.byteOffset+=l,a.bufferViews.push(d),{id:a.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){const n=this,r=n.json;return r.bufferViews||(r.bufferViews=[]),e.arrayBuffer().then(i=>{const o=Jr(i),a={buffer:n.processBuffer(o),byteOffset:n.byteOffset,byteLength:o.byteLength};return n.byteOffset+=o.byteLength,r.bufferViews.push(a)-1})}processAccessor(e,n,r,i){const o=this.json,a={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"};let s;if(e.array.constructor===Float32Array)s=Ae.FLOAT;else if(e.array.constructor===Int32Array)s=Ae.INT;else if(e.array.constructor===Uint32Array)s=Ae.UNSIGNED_INT;else if(e.array.constructor===Int16Array)s=Ae.SHORT;else if(e.array.constructor===Uint16Array)s=Ae.UNSIGNED_SHORT;else if(e.array.constructor===Int8Array)s=Ae.BYTE;else if(e.array.constructor===Uint8Array)s=Ae.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+e.array.constructor.name);if(r===void 0&&(r=0),i===void 0&&(i=e.count),i===0)return null;const l=Rd(e,r,i);let u;n!==void 0&&(u=e===n.index?Ae.ELEMENT_ARRAY_BUFFER:Ae.ARRAY_BUFFER);const c=this.processBufferView(e,s,r,i,u),d={bufferView:c.id,byteOffset:c.byteOffset,componentType:s,count:i,max:l.max,min:l.min,type:a[e.itemSize]};return e.normalized===!0&&(d.normalized=!0),o.accessors||(o.accessors=[]),o.accessors.push(d)-1}processImage(e,n,r,i="image/png"){if(e!==null){const o=this,a=o.cache,s=o.json,l=o.options,u=o.pending;a.images.has(e)||a.images.set(e,{});const c=a.images.get(e),d=i+":flipY/"+r.toString();if(c[d]!==void 0)return c[d];s.images||(s.images=[]);const p={mimeType:i},f=ta();f.width=Math.min(e.width,l.maxTextureSize),f.height=Math.min(e.height,l.maxTextureSize);const h=f.getContext("2d");if(r===!0&&(h.translate(0,f.height),h.scale(1,-1)),e.data!==void 0){n!==Ci&&console.error("GLTFExporter: Only RGBAFormat is supported.",n),(e.width>l.maxTextureSize||e.height>l.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",e);const y=new Uint8ClampedArray(e.height*e.width*4);for(let v=0;vo.processBufferViewImage(y)).then(y=>{p.bufferView=y})):f.toDataURL!==void 0?p.uri=f.toDataURL(i):u.push(na(f,i).then(Xo).then(y=>{p.uri=y}));const k=s.images.push(p)-1;return c[d]=k,k}else throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(e){const n=this.json;n.samplers||(n.samplers=[]);const r={magFilter:mt[e.magFilter],minFilter:mt[e.minFilter],wrapS:mt[e.wrapS],wrapT:mt[e.wrapT]};return n.samplers.push(r)-1}processTexture(e){const n=this.options,r=this.cache,i=this.json;if(r.textures.has(e))return r.textures.get(e);i.textures||(i.textures=[]),e instanceof Vr&&(e=Qr(e,n.maxTextureSize));let o=e.userData.mimeType;o==="image/webp"&&(o="image/png");const a={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,o)};e.name&&(a.name=e.name),this._invokeAll(function(l){l.writeTexture&&l.writeTexture(e,a)});const s=i.textures.push(a)-1;return r.textures.set(e,s),s}processMaterial(e){const n=this.cache,r=this.json;if(n.materials.has(e))return n.materials.get(e);if(e.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;r.materials||(r.materials=[]);const i={pbrMetallicRoughness:{}};e.isMeshStandardMaterial!==!0&&e.isMeshBasicMaterial!==!0&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const o=e.color.toArray().concat([e.opacity]);if(zn(o,[1,1,1,1])||(i.pbrMetallicRoughness.baseColorFactor=o),e.isMeshStandardMaterial?(i.pbrMetallicRoughness.metallicFactor=e.metalness,i.pbrMetallicRoughness.roughnessFactor=e.roughness):(i.pbrMetallicRoughness.metallicFactor=.5,i.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){const s=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),l={index:this.processTexture(s),channel:s.channel};this.applyTextureTransform(l,s),i.pbrMetallicRoughness.metallicRoughnessTexture=l}if(e.map){const s={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(s,e.map),i.pbrMetallicRoughness.baseColorTexture=s}if(e.emissive){const s=e.emissive;if(Math.max(s.r,s.g,s.b)>0&&(i.emissiveFactor=e.emissive.toArray()),e.emissiveMap){const l={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(l,e.emissiveMap),i.emissiveTexture=l}}if(e.normalMap){const s={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&e.normalScale.x!==1&&(s.scale=e.normalScale.x),this.applyTextureTransform(s,e.normalMap),i.normalTexture=s}if(e.aoMap){const s={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};e.aoMapIntensity!==1&&(s.strength=e.aoMapIntensity),this.applyTextureTransform(s,e.aoMap),i.occlusionTexture=s}e.transparent?i.alphaMode="BLEND":e.alphaTest>0&&(i.alphaMode="MASK",i.alphaCutoff=e.alphaTest),e.side===Or&&(i.doubleSided=!0),e.name!==""&&(i.name=e.name),this.serializeUserData(e,i),this._invokeAll(function(s){s.writeMaterial&&s.writeMaterial(e,i)});const a=r.materials.push(i)-1;return n.materials.set(e,a),a}processMesh(e){const n=this.cache,r=this.json,i=[e.geometry.uuid];if(Array.isArray(e.material))for(let T=0,M=e.material.length;T=152?{uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3"}:{uv:"TEXCOORD_0",uv2:"TEXCOORD_1"},color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},f=a.getAttribute("normal");f!==void 0&&!this.isNormalizedNormalAttribute(f)&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),a.setAttribute("normal",this.createNormalizedNormalAttribute(f)));let h=null;for(let T in a.attributes){if(T.slice(0,5)==="morph")continue;const M=a.attributes[T];if(T=p[T]||T.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(T)||(T="_"+T),n.attributes.has(this.getUID(M))){u[T]=n.attributes.get(this.getUID(M));continue}h=null;const O=M.array;T==="JOINTS_0"&&!(O instanceof Uint16Array)&&!(O instanceof Uint8Array)&&(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),h=new rn(new Uint16Array(O),M.itemSize,M.normalized));const m=this.processAccessor(h||M,a);m!==null&&(T.startsWith("_")||this.detectMeshQuantization(T,M),u[T]=m,n.attributes.set(this.getUID(M),m))}if(f!==void 0&&a.setAttribute("normal",f),Object.keys(u).length===0)return null;if(e.morphTargetInfluences!==void 0&&e.morphTargetInfluences.length>0){const T=[],M=[],O={};if(e.morphTargetDictionary!==void 0)for(const m in e.morphTargetDictionary)O[e.morphTargetDictionary[m]]=m;for(let m=0;m0&&(l.extras={},l.extras.targetNames=M)}const k=Array.isArray(e.material);if(k&&a.groups.length===0)return null;const y=k?e.material:[e.material],v=k?a.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let T=0,M=v.length;T0&&(O.targets=d),a.index!==null){let E=this.getUID(a.index);(v[T].start!==void 0||v[T].count!==void 0)&&(E+=":"+v[T].start+":"+v[T].count),n.attributes.has(E)?O.indices=n.attributes.get(E):(O.indices=this.processAccessor(a.index,a,v[T].start,v[T].count),n.attributes.set(E,O.indices)),O.indices===null&&delete O.indices}const m=this.processMaterial(y[v[T].materialIndex]);m!==null&&(O.material=m),c.push(O)}l.primitives=c,r.meshes||(r.meshes=[]),this._invokeAll(function(T){T.writeMesh&&T.writeMesh(e,l)});const _=r.meshes.push(l)-1;return n.meshes.set(o,_),_}detectMeshQuantization(e,n){if(this.extensionsUsed[Zr])return;let r;switch(n.array.constructor){case Int8Array:r="byte";break;case Uint8Array:r="unsigned byte";break;case Int16Array:r="short";break;case Uint16Array:r="unsigned short";break;default:return}n.normalized&&(r+=" normalized");const i=e.split("_",1)[0];Qo[i]&&Qo[i].includes(r)&&(this.extensionsUsed[Zr]=!0,this.extensionsRequired[Zr]=!0)}processCamera(e){const n=this.json;n.cameras||(n.cameras=[]);const r=e.isOrthographicCamera,i={type:r?"orthographic":"perspective"};return r?i.orthographic={xmag:e.right*2,ymag:e.top*2,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:i.perspective={aspectRatio:e.aspect,yfov:ln.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},e.name!==""&&(i.name=e.type),n.cameras.push(i)-1}processAnimation(e,n){const r=this.json,i=this.nodeMap;r.animations||(r.animations=[]),e=tl.Utils.mergeMorphTargetTracks(e.clone(),n);const o=e.tracks,a=[],s=[];for(let l=0;l0){const s=[];for(let l=0,u=e.children.length;l0&&(o.children=s)}this._invokeAll(function(s){s.writeNode&&s.writeNode(e,o)});const a=n.nodes.push(o)-1;return i.set(e,a),a}processScene(e){const n=this.json,r=this.options;n.scenes||(n.scenes=[],n.scene=0);const i={};e.name!==""&&(i.name=e.name),n.scenes.push(i);const o=[];for(let a=0,s=e.children.length;a0&&(i.nodes=o),this.serializeUserData(e,i)}processObjects(e){const n=new Oi;n.name="AuxScene";for(let r=0;r0&&this.processObjects(r);for(let i=0;i0&&(a.range=e.distance)):e.isSpotLight&&(a.type="spot",e.distance>0&&(a.range=e.distance),a.spot={},a.spot.innerConeAngle=(e.penumbra-1)*e.angle*-1,a.spot.outerConeAngle=e.angle),e.decay!==void 0&&e.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),e.target&&(e.target.parent!==e||e.target.position.x!==0||e.target.position.y!==0||e.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),o[this.name]||(i.extensions=i.extensions||{},i.extensions[this.name]={lights:[]},o[this.name]=!0);const s=i.extensions[this.name].lights;s.push(a),n.extensions=n.extensions||{},n.extensions[this.name]={light:s.length-1}}}let Nd=class{constructor(t){this.writer=t,this.name="KHR_materials_unlit"}writeMaterial(t,e){if(!t.isMeshBasicMaterial)return;const n=this.writer.extensionsUsed;e.extensions=e.extensions||{},e.extensions[this.name]={},n[this.name]=!0,e.pbrMetallicRoughness.metallicFactor=0,e.pbrMetallicRoughness.roughnessFactor=.9}},Pd=class{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}writeMaterial(e,n){if(!e.isMeshPhysicalMaterial||e.clearcoat===0)return;const r=this.writer,i=r.extensionsUsed,o={};if(o.clearcoatFactor=e.clearcoat,e.clearcoatMap){const a={index:r.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};r.applyTextureTransform(a,e.clearcoatMap),o.clearcoatTexture=a}if(o.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const a={index:r.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};r.applyTextureTransform(a,e.clearcoatRoughnessMap),o.clearcoatRoughnessTexture=a}if(e.clearcoatNormalMap){const a={index:r.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};r.applyTextureTransform(a,e.clearcoatNormalMap),o.clearcoatNormalTexture=a}n.extensions=n.extensions||{},n.extensions[this.name]=o,i[this.name]=!0}},Ld=class{constructor(t){this.writer=t,this.name="KHR_materials_iridescence"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.iridescence===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.iridescenceFactor=t.iridescence,t.iridescenceMap){const o={index:n.processTexture(t.iridescenceMap),texCoord:t.iridescenceMap.channel};n.applyTextureTransform(o,t.iridescenceMap),i.iridescenceTexture=o}if(i.iridescenceIor=t.iridescenceIOR,i.iridescenceThicknessMinimum=t.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=t.iridescenceThicknessRange[1],t.iridescenceThicknessMap){const o={index:n.processTexture(t.iridescenceThicknessMap),texCoord:t.iridescenceThicknessMap.channel};n.applyTextureTransform(o,t.iridescenceThicknessMap),i.iridescenceThicknessTexture=o}e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},Dd=class{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}writeMaterial(e,n){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;const r=this.writer,i=r.extensionsUsed,o={};if(o.transmissionFactor=e.transmission,e.transmissionMap){const a={index:r.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};r.applyTextureTransform(a,e.transmissionMap),o.transmissionTexture=a}n.extensions=n.extensions||{},n.extensions[this.name]=o,i[this.name]=!0}},Bd=class{constructor(t){this.writer=t,this.name="KHR_materials_volume"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.transmission===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.thicknessFactor=t.thickness,t.thicknessMap){const o={index:n.processTexture(t.thicknessMap),texCoord:t.thicknessMap.channel};n.applyTextureTransform(o,t.thicknessMap),i.thicknessTexture=o}i.attenuationDistance=t.attenuationDistance,i.attenuationColor=t.attenuationColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},zd=class{constructor(e){this.writer=e,this.name="KHR_materials_ior"}writeMaterial(e,n){if(!e.isMeshPhysicalMaterial||e.ior===1.5)return;const r=this.writer.extensionsUsed,i={};i.ior=e.ior,n.extensions=n.extensions||{},n.extensions[this.name]=i,r[this.name]=!0}},Fd=class{constructor(t){this.writer=t,this.name="KHR_materials_specular"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.specularIntensity===1&&t.specularColor.equals(Td)&&!t.specularIntensityMap&&!t.specularColorTexture)return;const n=this.writer,r=n.extensionsUsed,i={};if(t.specularIntensityMap){const o={index:n.processTexture(t.specularIntensityMap),texCoord:t.specularIntensityMap.channel};n.applyTextureTransform(o,t.specularIntensityMap),i.specularTexture=o}if(t.specularColorMap){const o={index:n.processTexture(t.specularColorMap),texCoord:t.specularColorMap.channel};n.applyTextureTransform(o,t.specularColorMap),i.specularColorTexture=o}i.specularFactor=t.specularIntensity,i.specularColorFactor=t.specularColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},Ud=class{constructor(t){this.writer=t,this.name="KHR_materials_sheen"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.sheen==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(t.sheenRoughnessMap){const o={index:n.processTexture(t.sheenRoughnessMap),texCoord:t.sheenRoughnessMap.channel};n.applyTextureTransform(o,t.sheenRoughnessMap),i.sheenRoughnessTexture=o}if(t.sheenColorMap){const o={index:n.processTexture(t.sheenColorMap),texCoord:t.sheenColorMap.channel};n.applyTextureTransform(o,t.sheenColorMap),i.sheenColorTexture=o}i.sheenRoughnessFactor=t.sheenRoughness,i.sheenColorFactor=t.sheenColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},$d=class{constructor(t){this.writer=t,this.name="KHR_materials_anisotropy"}writeMaterial(t,e){if(!t.isMeshPhysicalMaterial||t.anisotropy==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(t.anisotropyMap){const o={index:n.processTexture(t.anisotropyMap)};n.applyTextureTransform(o,t.anisotropyMap),i.anisotropyTexture=o}i.anisotropyStrength=t.anisotropy,i.anisotropyRotation=t.anisotropyRotation,e.extensions=e.extensions||{},e.extensions[this.name]=i,r[this.name]=!0}},jd=class{constructor(t){this.writer=t,this.name="KHR_materials_emissive_strength"}writeMaterial(t,e){if(!t.isMeshStandardMaterial||t.emissiveIntensity===1)return;const n=this.writer.extensionsUsed,r={};r.emissiveStrength=t.emissiveIntensity,e.extensions=e.extensions||{},e.extensions[this.name]=r,n[this.name]=!0}};var qn=Uint8Array,rl=Uint16Array,Vd=Uint32Array,Hd=new qn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Gd=new qn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),il=function(t,e){for(var n=new rl(31),r=0;r<31;++r)n[r]=e+=1<>>1|(Ue&21845)<<1;Ht=(Ht&52428)>>>2|(Ht&13107)<<2,Ht=(Ht&61680)>>>4|(Ht&3855)<<4,Yd[Ue]=((Ht&65280)>>>8|(Ht&255)<<8)>>>1}var Dr=new qn(288);for(var Ue=0;Ue<144;++Ue)Dr[Ue]=8;for(var Ue=144;Ue<256;++Ue)Dr[Ue]=9;for(var Ue=256;Ue<280;++Ue)Dr[Ue]=7;for(var Ue=280;Ue<288;++Ue)Dr[Ue]=8;var Wd=new qn(32);for(var Ue=0;Ue<32;++Ue)Wd[Ue]=5;var Xd=new qn(0),Qd=typeof TextDecoder<"u"&&new TextDecoder,Zd=0;try{Qd.decode(Xd,{stream:!0}),Zd=1}catch{}var Jd=Object.defineProperty,ef=(t,e,n)=>e in t?Jd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,tf=(t,e,n)=>(ef(t,e+"",n),n);const al=class extends an{constructor(t,e={}){super(t),this.isReflector=!0,this.type="Reflector",this.camera=new Wt;const n=this,r=e.color!==void 0?new tt(e.color):new tt(8355711),i=e.textureWidth||512,o=e.textureHeight||512,a=e.clipBias||0,s=e.shader||al.ReflectorShader,l=e.multisample!==void 0?e.multisample:4,u=new ks,c=new de,d=new de,p=new de,f=new Ft,h=new de(0,0,-1),k=new Qt,y=new de,v=new de,_=new Qt,T=new Ft,M=this.camera,O=new Uu(i,o,{samples:l,type:$u}),m=new Hn({uniforms:uo.clone(s.uniforms),fragmentShader:s.fragmentShader,vertexShader:s.vertexShader});m.uniforms.tDiffuse.value=O.texture,m.uniforms.color.value=r,m.uniforms.textureMatrix.value=T,this.material=m,this.onBeforeRender=function(E,x,b){if(d.setFromMatrixPosition(n.matrixWorld),p.setFromMatrixPosition(b.matrixWorld),f.extractRotation(n.matrixWorld),c.set(0,0,1),c.applyMatrix4(f),y.subVectors(d,p),y.dot(c)>0)return;y.reflect(c).negate(),y.add(d),f.extractRotation(b.matrixWorld),h.set(0,0,-1),h.applyMatrix4(f),h.add(p),v.subVectors(d,h),v.reflect(c).negate(),v.add(d),M.position.copy(y),M.up.set(0,1,0),M.up.applyMatrix4(f),M.up.reflect(c),M.lookAt(v),M.far=b.far,M.updateMatrixWorld(),M.projectionMatrix.copy(b.projectionMatrix),T.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),T.multiply(M.projectionMatrix),T.multiply(M.matrixWorldInverse),T.multiply(n.matrixWorld),u.setFromNormalAndCoplanarPoint(c,d),u.applyMatrix4(M.matrixWorldInverse),k.set(u.normal.x,u.normal.y,u.normal.z,u.constant);const g=M.projectionMatrix;_.x=(Math.sign(k.x)+g.elements[8])/g.elements[0],_.y=(Math.sign(k.y)+g.elements[9])/g.elements[5],_.z=-1,_.w=(1+g.elements[10])/g.elements[14],k.multiplyScalar(2/k.dot(_)),g.elements[2]=k.x,g.elements[6]=k.y,g.elements[10]=k.z+1-a,g.elements[14]=k.w,n.visible=!1;const A=E.getRenderTarget(),R=E.xr.enabled,z=E.shadowMap.autoUpdate,F=E.toneMapping;let D=!1;"outputColorSpace"in E?D=E.outputColorSpace==="srgb":D=E.outputEncoding===3001,E.xr.enabled=!1,E.shadowMap.autoUpdate=!1,"outputColorSpace"in E?E.outputColorSpace="srgb-linear":E.outputEncoding=3e3,E.toneMapping=ju,E.setRenderTarget(O),E.state.buffers.depth.setMask(!0),E.autoClear===!1&&E.clear(),E.render(x,M),E.xr.enabled=R,E.shadowMap.autoUpdate=z,E.toneMapping=F,"outputColorSpace"in E?E.outputColorSpace=D?"srgb":"srgb-linear":E.outputEncoding=D?3001:3e3,E.setRenderTarget(A);const U=b.viewport;U!==void 0&&E.state.viewport(U),n.visible=!0},this.getRenderTarget=function(){return O},this.dispose=function(){O.dispose(),n.material.dispose()}}};let Fi=al;tf(Fi,"ReflectorShader",{uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:` + uniform mat4 textureMatrix; + varying vec4 vUv; + + #include + #include + + void main() { + + vUv = textureMatrix * vec4( position, 1.0 ); + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + #include + + }`,fragmentShader:` + uniform vec3 color; + uniform sampler2D tDiffuse; + varying vec4 vUv; + + #include + + float blendOverlay( float base, float blend ) { + + return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) ); + + } + + vec3 blendOverlay( vec3 base, vec3 blend ) { + + return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) ); + + } + + void main() { + + #include + + vec4 base = texture2DProj( tDiffuse, vUv ); + gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 ); + + #include + #include <${ho>=154?"colorspace_fragment":"encodings_fragment"}> + + }`});var nf=Object.defineProperty,rf=(t,e,n)=>e in t?nf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,sl=(t,e,n)=>(rf(t,typeof e!="symbol"?e+"":e,n),n);const Br=new Ts,of=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),ll=new As(of,5);Br.setIndex([0,1,2,0,2,3]);Br.setAttribute("position",new lo(ll,3,0,!1));Br.setAttribute("uv",new lo(ll,2,3,!1));const Ui=class extends an{constructor(){super(Ui.Geometry,new xn({opacity:0,transparent:!0})),this.isLensflare=!0,this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const t=new de,e=new de,n=new $o(new Uint8Array(16*16*3),16,16,Ci);n.minFilter=on,n.magFilter=on,n.wrapS=wn,n.wrapT=wn;const r=new $o(new Uint8Array(16*16*3),16,16,Ci);r.minFilter=on,r.magFilter=on,r.wrapS=wn,r.wrapT=wn;const i=Ui.Geometry,o=new Hr({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + + void main() { + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + void main() { + + gl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 ); + + }`,depthTest:!0,depthWrite:!1,transparent:!1}),a=new Hr({uniforms:{map:{value:n},scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + attribute vec2 uv; + + varying vec2 vUV; + + void main() { + + vUV = uv; + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + uniform sampler2D map; + + varying vec2 vUV; + + void main() { + + gl_FragColor = texture2D( map, vUV ); + + }`,depthTest:!1,depthWrite:!1,transparent:!1}),s=new an(i,o),l=[],u=ul.Shader,c=new Hr({uniforms:{map:{value:null},occlusionMap:{value:r},color:{value:new tt(16777215)},scale:{value:new Xe},screenPosition:{value:new de}},vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Vu,transparent:!0,depthWrite:!1}),d=new an(i,c);this.addElement=function(y){l.push(y)};const p=new Xe,f=new Xe,h=new Hu,k=new Qt;this.onBeforeRender=function(y,v,_){y.getCurrentViewport(k);const T=k.w/k.z,M=k.z/2,O=k.w/2;let m=16/k.w;if(p.set(m*T,m),h.min.set(k.x,k.y),h.max.set(k.x+(k.z-16),k.y+(k.w-16)),e.setFromMatrixPosition(this.matrixWorld),e.applyMatrix4(_.matrixWorldInverse),!(e.z>0)&&(t.copy(e).applyMatrix4(_.projectionMatrix),f.x=k.x+t.x*M+M-8,f.y=k.y+t.y*O+O-8,h.containsPoint(f))){y.copyFramebufferToTexture(f,n);let E=o.uniforms;E.scale.value=p,E.screenPosition.value=t,y.renderBufferDirect(_,null,i,o,s,null),y.copyFramebufferToTexture(f,r),E=a.uniforms,E.scale.value=p,E.screenPosition.value=t,y.renderBufferDirect(_,null,i,a,s,null);const x=-t.x*2,b=-t.y*2;for(let g=0,A=l.length;ge in t?sf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,cl=(t,e,n)=>(lf(t,typeof e!="symbol"?e+"":e,n),n);const yr={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new de},up:{value:new de(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${ho>=154?"colorspace_fragment":"encodings_fragment"}> + + } + `},dl=new Hn({name:"SkyShader",fragmentShader:yr.fragmentShader,vertexShader:yr.vertexShader,uniforms:uo.clone(yr.uniforms),side:Nu,depthWrite:!1});class fl extends an{constructor(){super(new Fu(1,1,1),dl)}}cl(fl,"SkyShader",yr);cl(fl,"material",dl);new Pu;new de;new _s(0,0,0,"YXZ");new de;var uf=Object.defineProperty,cf=(t,e,n)=>e in t?uf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,oe=(t,e,n)=>(cf(t,typeof e!="symbol"?e+"":e,n),n);const nr=new Ou,ra=new ks,df=Math.cos(70*(Math.PI/180)),ia=(t,e)=>(t%e+e)%e;class ff extends Cu{constructor(e,n){super(),oe(this,"object"),oe(this,"domElement"),oe(this,"enabled",!0),oe(this,"target",new de),oe(this,"minDistance",0),oe(this,"maxDistance",1/0),oe(this,"minZoom",0),oe(this,"maxZoom",1/0),oe(this,"minPolarAngle",0),oe(this,"maxPolarAngle",Math.PI),oe(this,"minAzimuthAngle",-1/0),oe(this,"maxAzimuthAngle",1/0),oe(this,"enableDamping",!1),oe(this,"dampingFactor",.05),oe(this,"enableZoom",!0),oe(this,"zoomSpeed",1),oe(this,"enableRotate",!0),oe(this,"rotateSpeed",1),oe(this,"enablePan",!0),oe(this,"panSpeed",1),oe(this,"screenSpacePanning",!0),oe(this,"keyPanSpeed",7),oe(this,"zoomToCursor",!1),oe(this,"autoRotate",!1),oe(this,"autoRotateSpeed",2),oe(this,"reverseOrbit",!1),oe(this,"reverseHorizontalOrbit",!1),oe(this,"reverseVerticalOrbit",!1),oe(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),oe(this,"mouseButtons",{LEFT:hn.ROTATE,MIDDLE:hn.DOLLY,RIGHT:hn.PAN}),oe(this,"touches",{ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN}),oe(this,"target0"),oe(this,"position0"),oe(this,"zoom0"),oe(this,"_domElementKeyEvents",null),oe(this,"getPolarAngle"),oe(this,"getAzimuthalAngle"),oe(this,"setPolarAngle"),oe(this,"setAzimuthalAngle"),oe(this,"getDistance"),oe(this,"getZoomScale"),oe(this,"listenToKeyEvents"),oe(this,"stopListenToKeyEvents"),oe(this,"saveState"),oe(this,"reset"),oe(this,"update"),oe(this,"connect"),oe(this,"dispose"),oe(this,"dollyIn"),oe(this,"dollyOut"),oe(this,"getScale"),oe(this,"setScale"),this.object=e,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>c.phi,this.getAzimuthalAngle=()=>c.theta,this.setPolarAngle=L=>{let X=ia(L,2*Math.PI),ie=c.phi;ie<0&&(ie+=2*Math.PI),X<0&&(X+=2*Math.PI);let Ce=Math.abs(X-ie);2*Math.PI-Ce{let X=ia(L,2*Math.PI),ie=c.theta;ie<0&&(ie+=2*Math.PI),X<0&&(X+=2*Math.PI);let Ce=Math.abs(X-ie);2*Math.PI-Cer.object.position.distanceTo(r.target),this.listenToKeyEvents=L=>{L.addEventListener("keydown",re),this._domElementKeyEvents=L},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",re),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(i),r.update(),l=s.NONE},this.update=(()=>{const L=new de,X=new de(0,1,0),ie=new kr().setFromUnitVectors(e.up,X),Ce=ie.clone().invert(),dt=new de,kt=new kr,Zn=2*Math.PI;return function(){const zo=r.object.position;ie.setFromUnitVectors(e.up,X),Ce.copy(ie).invert(),L.copy(zo).sub(r.target),L.applyQuaternion(ie),c.setFromVector3(L),r.autoRotate&&l===s.NONE&&F(R()),r.enableDamping?(c.theta+=d.theta*r.dampingFactor,c.phi+=d.phi*r.dampingFactor):(c.theta+=d.theta,c.phi+=d.phi);let Ct=r.minAzimuthAngle,Ot=r.maxAzimuthAngle;isFinite(Ct)&&isFinite(Ot)&&(Ct<-Math.PI?Ct+=Zn:Ct>Math.PI&&(Ct-=Zn),Ot<-Math.PI?Ot+=Zn:Ot>Math.PI&&(Ot-=Zn),Ct<=Ot?c.theta=Math.max(Ct,Math.min(Ot,c.theta)):c.theta=c.theta>(Ct+Ot)/2?Math.max(Ct,c.theta):Math.min(Ot,c.theta)),c.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,c.phi)),c.makeSafe(),r.enableDamping===!0?r.target.addScaledVector(f,r.dampingFactor):r.target.add(f),r.zoomToCursor&&b||r.object.isOrthographicCamera?c.radius=C(c.radius):c.radius=C(c.radius*p),L.setFromSpherical(c),L.applyQuaternion(Ce),zo.copy(r.target).add(L),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),r.enableDamping===!0?(d.theta*=1-r.dampingFactor,d.phi*=1-r.dampingFactor,f.multiplyScalar(1-r.dampingFactor)):(d.set(0,0,0),f.set(0,0,0));let Cn=!1;if(r.zoomToCursor&&b){let On=null;if(r.object instanceof Wt&&r.object.isPerspectiveCamera){const Nn=L.length();On=C(Nn*p);const Jn=Nn-On;r.object.position.addScaledVector(E,Jn),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){const Nn=new de(x.x,x.y,0);Nn.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/p)),r.object.updateProjectionMatrix(),Cn=!0;const Jn=new de(x.x,x.y,0);Jn.unproject(r.object),r.object.position.sub(Jn).add(Nn),r.object.updateMatrixWorld(),On=L.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;On!==null&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(On).add(r.object.position):(nr.origin.copy(r.object.position),nr.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(nr.direction))u||8*(1-kt.dot(r.object.quaternion))>u?(r.dispatchEvent(i),dt.copy(r.object.position),kt.copy(r.object.quaternion),Cn=!1,!0):!1}})(),this.connect=L=>{r.domElement=L,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",He),r.domElement.addEventListener("pointerdown",Me),r.domElement.addEventListener("pointercancel",Je),r.domElement.addEventListener("wheel",Q)},this.dispose=()=>{var L,X,ie,Ce,dt,kt;r.domElement&&(r.domElement.style.touchAction="auto"),(L=r.domElement)==null||L.removeEventListener("contextmenu",He),(X=r.domElement)==null||X.removeEventListener("pointerdown",Me),(ie=r.domElement)==null||ie.removeEventListener("pointercancel",Je),(Ce=r.domElement)==null||Ce.removeEventListener("wheel",Q),(dt=r.domElement)==null||dt.ownerDocument.removeEventListener("pointermove",Qe),(kt=r.domElement)==null||kt.ownerDocument.removeEventListener("pointerup",Je),r._domElementKeyEvents!==null&&r._domElementKeyEvents.removeEventListener("keydown",re)};const r=this,i={type:"change"},o={type:"start"},a={type:"end"},s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=s.NONE;const u=1e-6,c=new Uo,d=new Uo;let p=1;const f=new de,h=new Xe,k=new Xe,y=new Xe,v=new Xe,_=new Xe,T=new Xe,M=new Xe,O=new Xe,m=new Xe,E=new de,x=new Xe;let b=!1;const g=[],A={};function R(){return 2*Math.PI/60/60*r.autoRotateSpeed}function z(){return Math.pow(.95,r.zoomSpeed)}function F(L){r.reverseOrbit||r.reverseHorizontalOrbit?d.theta+=L:d.theta-=L}function D(L){r.reverseOrbit||r.reverseVerticalOrbit?d.phi+=L:d.phi-=L}const U=(()=>{const L=new de;return function(X,ie){L.setFromMatrixColumn(ie,0),L.multiplyScalar(-X),f.add(L)}})(),ee=(()=>{const L=new de;return function(X,ie){r.screenSpacePanning===!0?L.setFromMatrixColumn(ie,1):(L.setFromMatrixColumn(ie,0),L.crossVectors(r.object.up,L)),L.multiplyScalar(X),f.add(L)}})(),ne=(()=>{const L=new de;return function(X,ie){const Ce=r.domElement;if(Ce&&r.object instanceof Wt&&r.object.isPerspectiveCamera){const dt=r.object.position;L.copy(dt).sub(r.target);let kt=L.length();kt*=Math.tan(r.object.fov/2*Math.PI/180),U(2*X*kt/Ce.clientHeight,r.object.matrix),ee(2*ie*kt/Ce.clientHeight,r.object.matrix)}else Ce&&r.object instanceof kn&&r.object.isOrthographicCamera?(U(X*(r.object.right-r.object.left)/r.object.zoom/Ce.clientWidth,r.object.matrix),ee(ie*(r.object.top-r.object.bottom)/r.object.zoom/Ce.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function ue(L){r.object instanceof Wt&&r.object.isPerspectiveCamera||r.object instanceof kn&&r.object.isOrthographicCamera?p=L:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function I(L){ue(p/L)}function we(L){ue(p*L)}function Ve(L){if(!r.zoomToCursor||!r.domElement)return;b=!0;const X=r.domElement.getBoundingClientRect(),ie=L.clientX-X.left,Ce=L.clientY-X.top,dt=X.width,kt=X.height;x.x=ie/dt*2-1,x.y=-(Ce/kt)*2+1,E.set(x.x,x.y,1).unproject(r.object).sub(r.object.position).normalize()}function C(L){return Math.max(r.minDistance,Math.min(r.maxDistance,L))}function be(L){h.set(L.clientX,L.clientY)}function Se(L){Ve(L),M.set(L.clientX,L.clientY)}function Ee(L){v.set(L.clientX,L.clientY)}function qe(L){k.set(L.clientX,L.clientY),y.subVectors(k,h).multiplyScalar(r.rotateSpeed);const X=r.domElement;X&&(F(2*Math.PI*y.x/X.clientHeight),D(2*Math.PI*y.y/X.clientHeight)),h.copy(k),r.update()}function K(L){O.set(L.clientX,L.clientY),m.subVectors(O,M),m.y>0?I(z()):m.y<0&&we(z()),M.copy(O),r.update()}function w(L){_.set(L.clientX,L.clientY),T.subVectors(_,v).multiplyScalar(r.panSpeed),ne(T.x,T.y),v.copy(_),r.update()}function S(L){Ve(L),L.deltaY<0?we(z()):L.deltaY>0&&I(z()),r.update()}function N(L){let X=!1;switch(L.code){case r.keys.UP:ne(0,r.keyPanSpeed),X=!0;break;case r.keys.BOTTOM:ne(0,-r.keyPanSpeed),X=!0;break;case r.keys.LEFT:ne(r.keyPanSpeed,0),X=!0;break;case r.keys.RIGHT:ne(-r.keyPanSpeed,0),X=!0;break}X&&(L.preventDefault(),r.update())}function H(){if(g.length==1)h.set(g[0].pageX,g[0].pageY);else{const L=.5*(g[0].pageX+g[1].pageX),X=.5*(g[0].pageY+g[1].pageY);h.set(L,X)}}function $(){if(g.length==1)v.set(g[0].pageX,g[0].pageY);else{const L=.5*(g[0].pageX+g[1].pageX),X=.5*(g[0].pageY+g[1].pageY);v.set(L,X)}}function Y(){const L=g[0].pageX-g[1].pageX,X=g[0].pageY-g[1].pageY,ie=Math.sqrt(L*L+X*X);M.set(0,ie)}function G(){r.enableZoom&&Y(),r.enablePan&&$()}function te(){r.enableZoom&&Y(),r.enableRotate&&H()}function ae(L){if(g.length==1)k.set(L.pageX,L.pageY);else{const ie=Rt(L),Ce=.5*(L.pageX+ie.x),dt=.5*(L.pageY+ie.y);k.set(Ce,dt)}y.subVectors(k,h).multiplyScalar(r.rotateSpeed);const X=r.domElement;X&&(F(2*Math.PI*y.x/X.clientHeight),D(2*Math.PI*y.y/X.clientHeight)),h.copy(k)}function J(L){if(g.length==1)_.set(L.pageX,L.pageY);else{const X=Rt(L),ie=.5*(L.pageX+X.x),Ce=.5*(L.pageY+X.y);_.set(ie,Ce)}T.subVectors(_,v).multiplyScalar(r.panSpeed),ne(T.x,T.y),v.copy(_)}function se(L){const X=Rt(L),ie=L.pageX-X.x,Ce=L.pageY-X.y,dt=Math.sqrt(ie*ie+Ce*Ce);O.set(0,dt),m.set(0,Math.pow(O.y/M.y,r.zoomSpeed)),I(m.y),M.copy(O)}function ge(L){r.enableZoom&&se(L),r.enablePan&&J(L)}function me(L){r.enableZoom&&se(L),r.enableRotate&&ae(L)}function Me(L){var X,ie;r.enabled!==!1&&(g.length===0&&((X=r.domElement)==null||X.ownerDocument.addEventListener("pointermove",Qe),(ie=r.domElement)==null||ie.ownerDocument.addEventListener("pointerup",Je)),rt(L),L.pointerType==="touch"?ce(L):jt(L))}function Qe(L){r.enabled!==!1&&(L.pointerType==="touch"?Te(L):j(L))}function Je(L){var X,ie,Ce;it(L),g.length===0&&((X=r.domElement)==null||X.releasePointerCapture(L.pointerId),(ie=r.domElement)==null||ie.ownerDocument.removeEventListener("pointermove",Qe),(Ce=r.domElement)==null||Ce.ownerDocument.removeEventListener("pointerup",Je)),r.dispatchEvent(a),l=s.NONE}function jt(L){let X;switch(L.button){case 0:X=r.mouseButtons.LEFT;break;case 1:X=r.mouseButtons.MIDDLE;break;case 2:X=r.mouseButtons.RIGHT;break;default:X=-1}switch(X){case hn.DOLLY:if(r.enableZoom===!1)return;Se(L),l=s.DOLLY;break;case hn.ROTATE:if(L.ctrlKey||L.metaKey||L.shiftKey){if(r.enablePan===!1)return;Ee(L),l=s.PAN}else{if(r.enableRotate===!1)return;be(L),l=s.ROTATE}break;case hn.PAN:if(L.ctrlKey||L.metaKey||L.shiftKey){if(r.enableRotate===!1)return;be(L),l=s.ROTATE}else{if(r.enablePan===!1)return;Ee(L),l=s.PAN}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function j(L){if(r.enabled!==!1)switch(l){case s.ROTATE:if(r.enableRotate===!1)return;qe(L);break;case s.DOLLY:if(r.enableZoom===!1)return;K(L);break;case s.PAN:if(r.enablePan===!1)return;w(L);break}}function Q(L){r.enabled===!1||r.enableZoom===!1||l!==s.NONE&&l!==s.ROTATE||(L.preventDefault(),r.dispatchEvent(o),S(L),r.dispatchEvent(a))}function re(L){r.enabled===!1||r.enablePan===!1||N(L)}function ce(L){switch(Vt(L),g.length){case 1:switch(r.touches.ONE){case Yt.ROTATE:if(r.enableRotate===!1)return;H(),l=s.TOUCH_ROTATE;break;case Yt.PAN:if(r.enablePan===!1)return;$(),l=s.TOUCH_PAN;break;default:l=s.NONE}break;case 2:switch(r.touches.TWO){case Yt.DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;G(),l=s.TOUCH_DOLLY_PAN;break;case Yt.DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;te(),l=s.TOUCH_DOLLY_ROTATE;break;default:l=s.NONE}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function Te(L){switch(Vt(L),l){case s.TOUCH_ROTATE:if(r.enableRotate===!1)return;ae(L),r.update();break;case s.TOUCH_PAN:if(r.enablePan===!1)return;J(L),r.update();break;case s.TOUCH_DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;ge(L),r.update();break;case s.TOUCH_DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;me(L),r.update();break;default:l=s.NONE}}function He(L){r.enabled!==!1&&L.preventDefault()}function rt(L){g.push(L)}function it(L){delete A[L.pointerId];for(let X=0;X{we(L),r.update()},this.dollyOut=(L=z())=>{I(L),r.update()},this.getScale=()=>p,this.setScale=L=>{ue(L),r.update()},this.getZoomScale=()=>z(),n!==void 0&&this.connect(n),this.update()}}new Ft;new de;new _s;new de;var pf=Object.defineProperty,hf=(t,e,n)=>e in t?pf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,mo=(t,e,n)=>(hf(t,typeof e!="symbol"?e+"":e,n),n);class pl{constructor(e){mo(this,"data"),this.data=e}generateShapes(e,n=100,r){const i=[],o={letterSpacing:0,lineHeight:1,...r},a=mf(e,n,this.data,o);for(let s=0,l=a.length;s + #include + #include + uniform float thickness; + uniform bool screenspace; + uniform vec2 size; + void main() { + #if defined (USE_SKINNING) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + vec4 tNormal = vec4(normal, 0.0); + vec4 tPosition = vec4(transformed, 1.0); + #ifdef USE_INSTANCING + tNormal = instanceMatrix * tNormal; + tPosition = instanceMatrix * tPosition; + #endif + if (screenspace) { + vec3 newPosition = tPosition.xyz + tNormal.xyz * thickness; + gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0); + } else { + vec4 clipPosition = projectionMatrix * modelViewMatrix * tPosition; + vec4 clipNormal = projectionMatrix * modelViewMatrix * tNormal; + vec2 offset = normalize(clipNormal.xy) * thickness / size * clipPosition.w * 2.0; + clipPosition.xy += offset; + gl_Position = clipPosition; + } + }`,`uniform vec3 color; + uniform float opacity; + void main(){ + gl_FragColor = vec4(color, opacity); + #include + #include + }`);const vf=["args","material-uniforms-color-value"];Fi.ReflectorShader;new de;new de;new de;var ei;/Mac/.test((ei=globalThis==null?void 0:globalThis.navigator)===null||ei===void 0?void 0:ei.platform);const yf=["target","auto-rotate","auto-rotate-speed","enable-damping","damping-factor","enable-pan","key-pan-speed","keys","max-azimuth-angle","min-azimuth-angle","max-polar-angle","min-polar-angle","min-distance","max-distance","min-zoom","max-zoom","touches","enable-zoom","zoom-speed","enable-rotate","rotate-speed","args"],bf=xe({__name:"OrbitControls",props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},target:{default:()=>[0,0,0]},enableDamping:{type:Boolean,default:!0},dampingFactor:{default:.05},autoRotate:{type:Boolean,default:!1},autoRotateSpeed:{default:2},enablePan:{type:Boolean,default:!0},keyPanSpeed:{default:7},keys:{},maxAzimuthAngle:{default:Number.POSITIVE_INFINITY},minAzimuthAngle:{default:Number.NEGATIVE_INFINITY},maxPolarAngle:{default:Math.PI},minPolarAngle:{default:0},minDistance:{default:0},maxDistance:{default:Number.POSITIVE_INFINITY},minZoom:{default:0},maxZoom:{default:Number.POSITIVE_INFINITY},touches:{default:()=>({ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN})},enableZoom:{type:Boolean,default:!0},zoomSpeed:{default:1},enableRotate:{type:Boolean,default:!0},rotateSpeed:{default:1}},emits:["change","start","end"],setup(t,{expose:e,emit:n}){const r=t,i=n,{makeDefault:o,autoRotate:a,autoRotateSpeed:s,enableDamping:l,dampingFactor:u,enablePan:c,keyPanSpeed:d,maxAzimuthAngle:p,minAzimuthAngle:f,maxPolarAngle:h,minPolarAngle:k,minDistance:y,maxDistance:v,minZoom:_,maxZoom:T,enableZoom:M,zoomSpeed:O,enableRotate:m,touches:E,rotateSpeed:x,target:b}=In(r),{camera:g,renderer:A,extend:R,controls:z,invalidate:F}=Cr(),D=ws(null);R({OrbitControls:ff}),Ie(D,ne=>{U(),ne&&o.value?z.value=ne:z.value=null});function U(){Wr(D.value,"change",()=>{i("change",D.value),F()}),Wr(D.value,"start",()=>i("start",D.value)),Wr(D.value,"end",()=>i("end",D.value))}const{onBeforeRender:ee}=ao();return ee(({invalidate:ne})=>{D.value&&(l.value||a.value)&&(D.value.update(),a.value&&ne())}),vt(()=>{D.value&&D.value.dispose()}),e({instance:D}),(ne,ue)=>(ne.camera||B(g))&&(ne.domElement||B(A))?(W(),Z("TresOrbitControls",{key:0,ref_key:"controlsRef",ref:D,target:B(b),"auto-rotate":B(a),"auto-rotate-speed":B(s),"enable-damping":B(l),"damping-factor":B(u),"enable-pan":B(c),"key-pan-speed":B(d),keys:ne.keys,"max-azimuth-angle":B(p),"min-azimuth-angle":B(f),"max-polar-angle":B(h),"min-polar-angle":B(k),"min-distance":B(y),"max-distance":B(v),"min-zoom":B(_),"max-zoom":B(T),touches:B(E),"enable-zoom":B(M),"zoom-speed":B(O),"enable-rotate":B(m),"rotate-speed":B(x),args:[ne.camera||B(g),ne.domElement||B(A).domElement]},null,8,yf)):Ke("",!0)}});function rr(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var oa={exports:{}},aa;function xf(){return aa||(aa=1,function(t,e){(function(n){t.exports=n()})(function(){return function n(r,i,o){function a(u,c){if(!i[u]){if(!r[u]){var d=typeof rr=="function"&&rr;if(!c&&d)return d(u,!0);if(s)return s(u,!0);throw new Error("Cannot find module '"+u+"'")}c=i[u]={exports:{}},r[u][0].call(c.exports,function(p){var f=r[u][1][p];return a(f||p)},c,c.exports,n,r,i,o)}return i[u].exports}for(var s=typeof rr=="function"&&rr,l=0;l>16),D((65280&g)>>8),D(255&g);return A==2?D(255&(g=E(x.charAt(b))<<2|E(x.charAt(b+1))>>4)):A==1&&(D((g=E(x.charAt(b))<<10|E(x.charAt(b+1))<<4|E(x.charAt(b+2))>>2)>>8&255),D(255&g)),R},h.fromByteArray=function(x){var b,g,A,R,z=x.length%3,F="";function D(U){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(U)}for(b=0,A=x.length-z;b>18&63)+D(R>>12&63)+D(R>>6&63)+D(63&R);switch(z){case 1:F=(F+=D((g=x[x.length-1])>>2))+D(g<<4&63)+"==";break;case 2:F=(F=(F+=D((g=(x[x.length-2]<<8)+x[x.length-1])>>10))+D(g>>4&63))+D(g<<2&63)+"="}return F}})(i===void 0?this.base64js={}:i)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(n,r,i){(function(o,a,y,l,u,c,d,p,f){var h=n("base64-js"),k=n("ieee754");function y(w,S,N){if(!(this instanceof y))return new y(w,S,N);var H,$,Y,G,te=typeof w;if(S==="base64"&&te=="string")for(w=(G=w).trim?G.trim():G.replace(/^\s+|\s+$/g,"");w.length%4!=0;)w+="=";if(te=="number")H=ne(w);else if(te=="string")H=y.byteLength(w,S);else{if(te!="object")throw new Error("First argument needs to be a number, array or string.");H=ne(w.length)}if(y._useTypedArrays?$=y._augment(new Uint8Array(H)):(($=this).length=H,$._isBuffer=!0),y._useTypedArrays&&typeof w.byteLength=="number")$._set(w);else if(ue(G=w)||y.isBuffer(G)||G&&typeof G=="object"&&typeof G.length=="number")for(Y=0;Y>8,G=G%256,te.push(G),te.push(Y);return te}(S),w,N,H)}function T(w,S,N){var H="";N=Math.min(w.length,N);for(var $=S;$>>0)):(S+1>>0),$}function m(w,S,N,H){if(H||(K(typeof N=="boolean","missing or invalid endian"),K(S!=null,"missing offset"),K(S+1>>8*(H?Y:1-Y)}function A(w,S,N,H,$){if($||(K(S!=null,"missing value"),K(typeof H=="boolean","missing or invalid endian"),K(N!=null,"missing offset"),K(N+3>>8*(H?Y:3-Y)&255}function R(w,S,N,H,$){$||(K(S!=null,"missing value"),K(typeof H=="boolean","missing or invalid endian"),K(N!=null,"missing offset"),K(N+1this.length&&(H=this.length);var $=(H=w.length-S=this.length))return this[w]},y.prototype.readUInt16LE=function(w,S){return M(this,w,!0,S)},y.prototype.readUInt16BE=function(w,S){return M(this,w,!1,S)},y.prototype.readUInt32LE=function(w,S){return O(this,w,!0,S)},y.prototype.readUInt32BE=function(w,S){return O(this,w,!1,S)},y.prototype.readInt8=function(w,S){if(S||(K(w!=null,"missing offset"),K(w=this.length))return 128&this[w]?-1*(255-this[w]+1):this[w]},y.prototype.readInt16LE=function(w,S){return m(this,w,!0,S)},y.prototype.readInt16BE=function(w,S){return m(this,w,!1,S)},y.prototype.readInt32LE=function(w,S){return E(this,w,!0,S)},y.prototype.readInt32BE=function(w,S){return E(this,w,!1,S)},y.prototype.readFloatLE=function(w,S){return x(this,w,!0,S)},y.prototype.readFloatBE=function(w,S){return x(this,w,!1,S)},y.prototype.readDoubleLE=function(w,S){return b(this,w,!0,S)},y.prototype.readDoubleBE=function(w,S){return b(this,w,!1,S)},y.prototype.writeUInt8=function(w,S,N){N||(K(w!=null,"missing value"),K(S!=null,"missing offset"),K(S=this.length||(this[S]=w)},y.prototype.writeUInt16LE=function(w,S,N){g(this,w,S,!0,N)},y.prototype.writeUInt16BE=function(w,S,N){g(this,w,S,!1,N)},y.prototype.writeUInt32LE=function(w,S,N){A(this,w,S,!0,N)},y.prototype.writeUInt32BE=function(w,S,N){A(this,w,S,!1,N)},y.prototype.writeInt8=function(w,S,N){N||(K(w!=null,"missing value"),K(S!=null,"missing offset"),K(S=this.length||(0<=w?this.writeUInt8(w,S,N):this.writeUInt8(255+w+1,S,N))},y.prototype.writeInt16LE=function(w,S,N){R(this,w,S,!0,N)},y.prototype.writeInt16BE=function(w,S,N){R(this,w,S,!1,N)},y.prototype.writeInt32LE=function(w,S,N){z(this,w,S,!0,N)},y.prototype.writeInt32BE=function(w,S,N){z(this,w,S,!1,N)},y.prototype.writeFloatLE=function(w,S,N){F(this,w,S,!0,N)},y.prototype.writeFloatBE=function(w,S,N){F(this,w,S,!1,N)},y.prototype.writeDoubleLE=function(w,S,N){D(this,w,S,!0,N)},y.prototype.writeDoubleBE=function(w,S,N){D(this,w,S,!1,N)},y.prototype.fill=function(w,S,N){if(S=S||0,N=N||this.length,K(typeof(w=typeof(w=w||0)=="string"?w.charCodeAt(0):w)=="number"&&!isNaN(w),"value is not a number"),K(S<=N,"end < start"),N!==S&&this.length!==0){K(0<=S&&S"},y.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(y._useTypedArrays)return new y(this).buffer;for(var w=new Uint8Array(this.length),S=0,N=w.length;S=S.length||$>=w.length);$++)S[$+N]=w[$];return $}function be(w){try{return decodeURIComponent(w)}catch{return"�"}}function Se(w,S){K(typeof w=="number","cannot write a non-number as a number"),K(0<=w,"specified a negative value for writing an unsigned value"),K(w<=S,"value is larger than maximum value for type"),K(Math.floor(w)===w,"value has a fractional component")}function Ee(w,S,N){K(typeof w=="number","cannot write a non-number as a number"),K(w<=S,"value larger than maximum allowed value"),K(N<=w,"value smaller than minimum allowed value"),K(Math.floor(w)===w,"value has a fractional component")}function qe(w,S,N){K(typeof w=="number","cannot write a non-number as a number"),K(w<=S,"value larger than maximum allowed value"),K(N<=w,"value smaller than minimum allowed value")}function K(w,S){if(!w)throw new Error(S||"Failed assertion")}y._augment=function(w){return w._isBuffer=!0,w._get=w.get,w._set=w.set,w.get=U.get,w.set=U.set,w.write=U.write,w.toString=U.toString,w.toLocaleString=U.toString,w.toJSON=U.toJSON,w.copy=U.copy,w.slice=U.slice,w.readUInt8=U.readUInt8,w.readUInt16LE=U.readUInt16LE,w.readUInt16BE=U.readUInt16BE,w.readUInt32LE=U.readUInt32LE,w.readUInt32BE=U.readUInt32BE,w.readInt8=U.readInt8,w.readInt16LE=U.readInt16LE,w.readInt16BE=U.readInt16BE,w.readInt32LE=U.readInt32LE,w.readInt32BE=U.readInt32BE,w.readFloatLE=U.readFloatLE,w.readFloatBE=U.readFloatBE,w.readDoubleLE=U.readDoubleLE,w.readDoubleBE=U.readDoubleBE,w.writeUInt8=U.writeUInt8,w.writeUInt16LE=U.writeUInt16LE,w.writeUInt16BE=U.writeUInt16BE,w.writeUInt32LE=U.writeUInt32LE,w.writeUInt32BE=U.writeUInt32BE,w.writeInt8=U.writeInt8,w.writeInt16LE=U.writeInt16LE,w.writeInt16BE=U.writeInt16BE,w.writeInt32LE=U.writeInt32LE,w.writeInt32BE=U.writeInt32BE,w.writeFloatLE=U.writeFloatLE,w.writeFloatBE=U.writeFloatBE,w.writeDoubleLE=U.writeDoubleLE,w.writeDoubleBE=U.writeDoubleBE,w.fill=U.fill,w.inspect=U.inspect,w.toArrayBuffer=U.toArrayBuffer,w}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(n,r,i){(function(o,a,h,l,u,c,d,p,f){var h=n("buffer").Buffer,k=4,y=new h(k);y.fill(0),r.exports={hash:function(v,_,T,M){for(var O=_(function(g,A){g.length%k!=0&&(R=g.length+(k-g.length%k),g=h.concat([g,y],R));for(var R,z=[],F=A?g.readInt32BE:g.readInt32LE,D=0;DT?ee=U(ee):ee.length>5]|=128<>>9<<4)]=E;for(var x=1732584193,b=-271733879,g=-1732584194,A=271733878,R=0;R>>32-g,x)}function v(m,E,x,b,g,A,R){return y(E&x|~E&b,m,E,g,A,R)}function _(m,E,x,b,g,A,R){return y(E&b|x&~b,m,E,g,A,R)}function T(m,E,x,b,g,A,R){return y(E^x^b,m,E,g,A,R)}function M(m,E,x,b,g,A,R){return y(x^(E|~b),m,E,g,A,R)}function O(m,E){var x=(65535&m)+(65535&E);return(m>>16)+(E>>16)+(x>>16)<<16|65535&x}r.exports=function(m){return h.hash(m,k,16)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){r.exports=function(h){for(var k,y=new Array(h),v=0;v>>((3&v)<<3)&255;return y}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){var h=n("./helpers");function k(_,T){_[T>>5]|=128<<24-T%32,_[15+(T+64>>9<<4)]=T;for(var M,O,m,E=Array(80),x=1732584193,b=-271733879,g=-1732584194,A=271733878,R=-1009589776,z=0;z<_.length;z+=16){for(var F=x,D=b,U=g,ee=A,ne=R,ue=0;ue<80;ue++){E[ue]=ue<16?_[z+ue]:v(E[ue-3]^E[ue-8]^E[ue-14]^E[ue-16],1);var I=y(y(v(x,5),(I=b,O=g,m=A,(M=ue)<20?I&O|~I&m:!(M<40)&&M<60?I&O|I&m|O&m:I^O^m)),y(y(R,E[ue]),(M=ue)<20?1518500249:M<40?1859775393:M<60?-1894007588:-899497514)),R=A,A=g,g=v(b,30),b=x,x=I}x=y(x,F),b=y(b,D),g=y(g,U),A=y(A,ee),R=y(R,ne)}return Array(x,b,g,A,R)}function y(_,T){var M=(65535&_)+(65535&T);return(_>>16)+(T>>16)+(M>>16)<<16|65535&M}function v(_,T){return _<>>32-T}r.exports=function(_){return h.hash(_,k,20,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){function h(T,M){var O=(65535&T)+(65535&M);return(T>>16)+(M>>16)+(O>>16)<<16|65535&O}function k(T,M){var O,m=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),E=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),x=new Array(64);T[M>>5]|=128<<24-M%32,T[15+(M+64>>9<<4)]=M;for(var b,g,A=0;A>>M|T<<32-M},_=function(T,M){return T>>>M};r.exports=function(T){return y.hash(T,k,32,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(n,r,i){(function(o,a,s,l,u,c,d,p,f){i.read=function(h,k,y,v,A){var T,M,O=8*A-v-1,m=(1<>1,x=-7,b=y?A-1:0,g=y?-1:1,A=h[k+b];for(b+=g,T=A&(1<<-x)-1,A>>=-x,x+=O;0>=-x,x+=v;0>1,b=_===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=v?0:R-1,A=v?1:-1,R=k<0||k===0&&1/k<0?1:0;for(k=Math.abs(k),isNaN(k)||k===1/0?(O=isNaN(k)?1:0,M=E):(M=Math.floor(Math.log(k)/Math.LN2),k*(v=Math.pow(2,-M))<1&&(M--,v*=2),2<=(k+=1<=M+x?b/v:b*Math.pow(2,1-x))*v&&(M++,v/=2),E<=M+x?(O=0,M=E):1<=M+x?(O=(k*v-1)*Math.pow(2,_),M+=x):(O=k*Math.pow(2,x-1)*Math.pow(2,_),M=0));8<=_;h[y+g]=255&O,g+=A,O/=256,_-=8);for(M=M<<_|O,m+=_;0>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]),ua}var da,fa;function ml(){return fa||(fa=1,da=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]),da}var ti,pa;function kf(){if(pa)return ti;pa=1;var t=hl();return ti=t.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"]),ti}var ni,ha;function Tf(){if(ha)return ni;ha=1;var t=ml();return t=t.slice().filter(function(e){return!/^(gl\_|texture)/.test(e)}),ni=t.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"]),ni}var ri,ma;function Af(){if(ma)return ri;ma=1,ri=M;var t=hl(),e=wf(),n=ml(),r=kf(),i=Tf(),o=999,a=9999,s=0,l=1,u=2,c=3,d=4,p=5,f=6,h=7,k=8,y=9,v=10,_=11,T=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function M(O){var m=0,E=0,x=o,b,g,A=[],R=[],z=1,F=0,D=0,U=!1,ee=!1,ne="",ue;O=O||{};var I=n,we=t;O.version==="300 es"&&(I=i,we=r);for(var Ve={},C={},m=0;m0)continue;me=J.slice(0,1).join("")}return be(me),D+=me.length,A=A.slice(me.length),A.length}while(!0)}function Y(){return/[^a-fA-F0-9]/.test(b)?(be(A.join("")),x=o,m):(A.push(b),g=b,m+1)}function G(){return b==="."||/[eE]/.test(b)?(A.push(b),x=p,g=b,m+1):b==="x"&&A.length===1&&A[0]==="0"?(x=_,A.push(b),g=b,m+1):/[^\d]/.test(b)?(be(A.join("")),x=o,m):(A.push(b),g=b,m+1)}function te(){return b==="f"&&(A.push(b),g=b,m+=1),/[eE]/.test(b)||(b==="-"||b==="+")&&/[eE]/.test(g)?(A.push(b),g=b,m+1):/[^\d]/.test(b)?(be(A.join("")),x=o,m):(A.push(b),g=b,m+1)}function ae(){if(/[^\d\w_]/.test(b)){var J=A.join("");return C[J]?x=k:Ve[J]?x=h:x=f,be(A.join("")),x=o,m}return A.push(b),g=b,m+1}}return ri}var ii,ga;function _f(){if(ga)return ii;ga=1;var t=Af();ii=e;function e(n,r){var i=t(r),o=[];return o=o.concat(i(n)),o=o.concat(i(null)),o}return ii}_f();function Ef(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Mf(t){var e=Ef(t,"string");return typeof e=="symbol"?e:String(e)}function De(t,e,n){return e=Mf(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var pe={position:"csm_Position",positionRaw:"csm_PositionRaw",pointSize:"csm_PointSize",fragColor:"csm_FragColor",diffuseColor:"csm_DiffuseColor",normal:"csm_Normal",roughness:"csm_Roughness",metalness:"csm_Metalness",emissive:"csm_Emissive",ao:"csm_AO",bump:"csm_Bump",depthAlpha:"csm_DepthAlpha"},ot,gn;ot={},De(ot,"".concat(pe.normal),{"#include ":` + vec3 objectNormal = `.concat(pe.normal,`; + #ifdef USE_TANGENT + vec3 objectTangent = vec3( tangent.xyz ); + #endif + `)}),De(ot,"".concat(pe.position),{"#include ":` + vec3 transformed = `.concat(pe.position,`; + `)}),De(ot,"".concat(pe.positionRaw),{"#include ":` + vec4 csm_internal_positionUnprojected = `.concat(pe.positionRaw,`; + mat4x4 csm_internal_unprojectMatrix = projectionMatrix * modelViewMatrix; + #ifdef USE_INSTANCING + csm_internal_unprojectMatrix = csm_internal_unprojectMatrix * instanceMatrix; + #endif + csm_internal_positionUnprojected = inverse(csm_internal_unprojectMatrix) * csm_internal_positionUnprojected; + vec3 transformed = csm_internal_positionUnprojected.xyz; + `)}),De(ot,"".concat(pe.pointSize),{"gl_PointSize = size;":` + gl_PointSize = `.concat(pe.pointSize,`; + `)}),De(ot,"".concat(pe.diffuseColor),{"#include ":` + #include + diffuseColor = `.concat(pe.diffuseColor,`; + `)}),De(ot,"".concat(pe.fragColor),{"#include ":` + #include + gl_FragColor = `.concat(pe.fragColor,`; + `)}),De(ot,"".concat(pe.emissive),{"vec3 totalEmissiveRadiance = emissive;":` + vec3 totalEmissiveRadiance = `.concat(pe.emissive,`; + `)}),De(ot,"".concat(pe.roughness),{"#include ":` + #include + roughnessFactor = `.concat(pe.roughness,`; + `)}),De(ot,"".concat(pe.metalness),{"#include ":` + #include + metalnessFactor = `.concat(pe.metalness,`; + `)}),De(ot,"".concat(pe.ao),{"#include ":` + #include + reflectedLight.indirectDiffuse *= 1. - `.concat(pe.ao,`; + `)}),De(ot,"".concat(pe.bump),{"#include ":` + #include + + vec3 csm_internal_orthogonal = `.concat(pe.bump," - (dot(").concat(pe.bump,`, normal) * normal); + vec3 csm_internal_projectedbump = mat3(csm_internal_vModelViewMatrix) * csm_internal_orthogonal; + normal = normalize(normal - csm_internal_projectedbump); + `)}),De(ot,"".concat(pe.depthAlpha),{"gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );":` + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity * `.concat(pe.depthAlpha,` ); + `),"gl_FragColor = packDepthToRGBA( fragCoordZ );":` + gl_FragColor = packDepthToRGBA( fragCoordZ ); + gl_FragColor.a *= `.concat(pe.depthAlpha,`; + `)});gn={},De(gn,"".concat(pe.position),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = projectionMatrix * modelViewMatrix * vec4( `.concat(pe.position,`, 1.0 ); + `)}),De(gn,"".concat(pe.positionRaw),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = `.concat(pe.position,`; + `)}),De(gn,"".concat(pe.diffuseColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.diffuseColor,`; + `)}),De(gn,"".concat(pe.fragColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.fragColor,`; + `)});var at;at={},De(at,"".concat(pe.position),"*"),De(at,"".concat(pe.positionRaw),"*"),De(at,"".concat(pe.normal),"*"),De(at,"".concat(pe.pointSize),["PointsMaterial"]),De(at,"".concat(pe.diffuseColor),"*"),De(at,"".concat(pe.fragColor),"*"),De(at,"".concat(pe.emissive),["MeshStandardMaterial","MeshPhysicalMaterial"]),De(at,"".concat(pe.roughness),["MeshStandardMaterial","MeshPhysicalMaterial"]),De(at,"".concat(pe.metalness),["MeshStandardMaterial","MeshPhysicalMaterial"]),De(at,"".concat(pe.ao),["MeshStandardMaterial","MeshPhysicalMaterial","MeshBasicMaterial","MeshLambertMaterial","MeshPhongMaterial","MeshToonMaterial"]),De(at,"".concat(pe.bump),["MeshLambertMaterial","MeshMatcapMaterial","MeshNormalMaterial","MeshPhongMaterial","MeshPhysicalMaterial","MeshStandardMaterial","MeshToonMaterial","ShadowMaterial"]),De(at,"".concat(pe.depthAlpha),"*");var If=`void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); +}`,Sf=`#include + +void main() { + vec2 center = vec2(0., 1.); + float rotation = 0.0; + + + + float size = 0.03; + + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + + gl_Position = projectionMatrix * mvPosition; +}`;const Yn=new de(0,0,0),go=new de(0,0,0),Rf=new de(0,0,0);function va(t,e,n){const r=Yn.setFromMatrixPosition(t.matrixWorld);r.project(e);const i=n.width/2,o=n.height/2;return[(Number.isNaN(r.x)?0:r.x)*i+i,-(r.y*o)+o]}function Cf(t,e){const n=Yn.setFromMatrixPosition(t.matrixWorld),r=go.setFromMatrixPosition(e.matrixWorld),i=n.sub(r),o=e.getWorldDirection(Rf);return i.angleTo(o)>Math.PI/2}function Of(t,e,n,r){const i=Yn.setFromMatrixPosition(t.matrixWorld),o=i.clone();o.project(e),n.setFromCamera(new Xe(o.x,o.y),e);const a=n.intersectObjects(r,!0);if(a.length>0){const s=a[0].distance;return i.distanceTo(n.ray.origin)Math.abs(t)<1e-10?0:t;function gl(t,e,n=""){let r="matrix3d(";for(let i=0;i!==16;i++)r+=$i(e[i]*t.elements[i])+(i!==15?",":")");return n+r}const Lf=(t=>e=>gl(e,t))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),Df=(t=>(e,n)=>gl(e,t(n),"translate(-50%,-50%)"))(t=>[1/t,1/t,1/t,1,-1/t,-1/t,-1/t,-1,1/t,1/t,1/t,1,1,1,1,1]),Bf=["geometry","material"];new Ms;var ji={exports:{}},zf=ji.exports,ya;function Ff(){return ya||(ya=1,function(t,e){(function(n,r){t.exports=r()})(zf,function(){var n=function(){function r(f){return a.appendChild(f.dom),f}function i(f){for(var h=0;hl+1e3&&(c.update(1e3*u/(f-l),100),l=f,u=0,p)){var h=performance.memory;p.update(h.usedJSHeapSize/1048576,h.jsHeapSizeLimit/1048576)}return f},update:function(){s=this.end()},domElement:a,setMode:i}};return n.Panel=function(r,i,o){var a=1/0,s=0,l=Math.round,u=l(window.devicePixelRatio||1),c=80*u,d=48*u,p=3*u,f=2*u,h=3*u,k=15*u,y=74*u,v=30*u,_=document.createElement("canvas");_.width=c,_.height=d,_.style.cssText="width:80px;height:48px";var T=_.getContext("2d");return T.font="bold "+9*u+"px Helvetica,Arial,sans-serif",T.textBaseline="top",T.fillStyle=o,T.fillRect(0,0,c,d),T.fillStyle=i,T.fillText(r,p,f),T.fillRect(h,k,y,v),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h,k,y,v),{dom:_,update:function(M,O){a=Math.min(a,M),s=Math.max(s,M),T.fillStyle=o,T.globalAlpha=1,T.fillRect(0,0,c,k),T.fillStyle=i,T.fillText(l(M)+" "+r+" ("+l(a)+"-"+l(s)+")",p,f),T.drawImage(_,h+u,k,y-u,v,h,k,y-u,v),T.fillRect(h+y-u,k,u,v),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h+y-u,k,u,l((1-M/O)*v))}}},n})}(ji)),ji.exports}Ff();const Uf={key:0,args:[0,1,64]},$f={key:1,args:[.5,1,64]},jf={key:2},Vf=["tone-mapped","map","side","color"];new tt(16777215);const vn=xe({__name:"Range",props:{modelValue:null,min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","mousedown"],setup(t,{emit:e}){const n=t,r=e,i=V(null);function o(h,k,y){return Math.min(Math.max(h,k),y)}function a(h){const k=h.toString();return k.includes("e-")?Number.parseInt(k.split("e-")[1],10):k.includes(".")?k.split(".")[1].length:0}function s(h,k){const y=a(k),v=10**(y+3);return Number.parseFloat((h*v/v).toFixed(y))}const l=_e(()=>s(o(n.modelValue,n.min,n.max),n.step)),u=_e(()=>{const h=(l.value-n.min)/(n.max-n.min)*100;return{width:`${h}%`,backgroundSize:`${h}% 100%`}});function c(h){if(!i.value)return l.value;const k=i.value.getBoundingClientRect(),v=(h.clientX-k.left)/k.width,_=n.max-n.min,T=n.min+_*v,M=Math.round(T/n.step)*n.step;return Math.min(Math.max(M,n.min),n.max)}function d(h){if(n.disabled)return;const k=c(h);r("update:modelValue",k)}function p(h){if(n.disabled)return;h.preventDefault();const k=c(h);r("update:modelValue",k),window.addEventListener("mousemove",d),window.addEventListener("mouseup",f)}function f(h){window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",f)}return vt(()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",f)}),(h,k)=>(W(),Z("span",{ref_key:"sliderRef",ref:i,class:Bt(["range-slider disabled:pointer-events-none disabled:cursor-default disabled:opacity-50",{disabled:t.disabled}]),bg:"[#e6e1fc] dark:[#676085]","touch-action-none":"",relative:"","inline-block":"","w-full":"","cursor-ew-resize":"","rounded-sm":"",onMousedown:p},[P("span",{style:Er(u.value),bg:"[#cabeff] dark:[#4e34b9]",relative:"",block:"","rounded-sm":"",h:"[14px]"},null,4),P("span",{role:"slider",class:"slider-thumb",style:Er({left:`${(l.value-t.min)/(t.max-t.min)*100}%`}),absolute:"","rounded-sm":"",w:"[1px]",h:"[14px]",bg:"zinc-100 dark:zinc-400",top:"50%",transform:"translate-x-[50%] translate-y-[-50%]"},null,4)],34))}});function ba(t,e){if(e===Yu)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),t;if(e===Ni||e===Bs){let n=t.getIndex();if(n===null){const a=[],s=t.getAttribute("position");if(s!==void 0){for(let l=0;l=2.0 are supported."));return}const u=new Tp(o,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c=0&&s[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(a),u.setPlugins(s),u.parse(r,i)}parseAsync(e,n){const r=this;return new Promise(function(i,o){r.parse(e,n,i,o)})}}function Gf(){let t={};return{get:function(e){return t[e]},add:function(e,n){t[e]=n},remove:function(e){delete t[e]},removeAll:function(){t={}}}}const ke={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Kf{constructor(e){this.parser=e,this.name=ke.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let r=0,i=n.length;r=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,o.source,a)}}class ap{constructor(e){this.parser=e,this.name=ke.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,o=i.textures[e];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(e,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class sp{constructor(e){this.parser=e,this.name=ke.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,o=i.textures[e];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(e,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class lp{constructor(e){this.name=ke.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,r=n.bufferViews[e];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],o=this.parser.getDependency("buffer",i.buffer),a=this.parser.options.meshoptDecoder;if(!a||!a.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return o.then(function(s){const l=i.byteOffset||0,u=i.byteLength||0,c=i.count,d=i.byteStride,p=new Uint8Array(s,l,u);return a.decodeGltfBufferAsync?a.decodeGltfBufferAsync(c,d,p,i.mode,i.filter).then(function(f){return f.buffer}):a.ready.then(function(){const f=new ArrayBuffer(c*d);return a.decodeGltfBuffer(new Uint8Array(f),c,d,p,i.mode,i.filter),f})})}else return null}}class up{constructor(e){this.name=ke.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,r=n.nodes[e];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=n.meshes[r.mesh];for(const u of i.primitives)if(u.mode!==yt.TRIANGLES&&u.mode!==yt.TRIANGLE_STRIP&&u.mode!==yt.TRIANGLE_FAN&&u.mode!==void 0)return null;const a=r.extensions[this.name].attributes,s=[],l={};for(const u in a)s.push(this.parser.getDependency("accessor",a[u]).then(c=>(l[u]=c,l[u])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(u=>{const c=u.pop(),d=c.isGroup?c.children:[c],p=u[0].count,f=[];for(const h of d){const k=new Ft,y=new de,v=new kr,_=new de(1,1,1),T=new Ju(h.geometry,h.material,p);for(let M=0;M0||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":t.search(/\.ktx2($|\?)/i)>0||t.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"}const kp=new Ft;class Tp{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new Gf,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=-1,o=!1,a=-1;if(typeof navigator<"u"){const s=navigator.userAgent;r=/^((?!chrome|android).)*safari/i.test(s)===!0;const l=s.match(/Version\/(\d+)/);i=r&&l?parseInt(l[1],10):-1,o=s.indexOf("Firefox")>-1,a=o?s.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||r&&i<17||o&&a<98?this.textureLoader=new tc(this.options.manager):this.textureLoader=new nc(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new zs(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,n){const r=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(a){return a._markDefs&&a._markDefs()}),Promise.all(this._invokeAll(function(a){return a.beforeRoot&&a.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(a){const s={scene:a[0][i.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:i.asset,parser:r,userData:{}};return en(o,s,i),Dt(s,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(s)})).then(function(){for(const l of s.scenes)l.updateMatrixWorld();e(s)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],r=this.json.meshes||[];for(let i=0,o=n.length;i{const l=this.associations.get(a);l!=null&&this.associations.set(s,l);for(const[u,c]of a.children.entries())o(c,s.children[u])};return o(r,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let r=0;r=2&&y.setY(b,m[E*l+1]),l>=3&&y.setZ(b,m[E*l+2]),l>=4&&y.setW(b,m[E*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}y.normalized=h}return y})}loadTexture(e){const n=this.json,r=this.options,o=n.textures[e].source,a=n.images[o];let s=this.textureLoader;if(a.uri){const l=r.manager.getHandler(a.uri);l!==null&&(s=l)}return this.loadTextureImage(e,o,s)}loadTextureImage(e,n,r){const i=this,o=this.json,a=o.textures[e],s=o.images[n],l=(s.uri||s.bufferView)+":"+a.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(n,r).then(function(c){c.flipY=!1,c.name=a.name||s.name||"",c.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(c.name=s.uri);const p=(o.samplers||{})[a.sampler]||{};return c.magFilter=wa[p.magFilter]||Ar,c.minFilter=wa[p.minFilter]||fo,c.wrapS=ka[p.wrapS]||_r,c.wrapT=ka[p.wrapT]||_r,c.generateMipmaps=!c.isCompressedTexture&&c.minFilter!==on&&c.minFilter!==Ar,i.associations.set(c,{textures:e}),c}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,n){const r=this,i=this.json,o=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const a=i.images[e],s=self.URL||self.webkitURL;let l=a.uri||"",u=!1;if(a.bufferView!==void 0)l=r.getDependency("bufferView",a.bufferView).then(function(d){u=!0;const p=new Blob([d],{type:a.mimeType});return l=s.createObjectURL(p),l});else if(a.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const c=Promise.resolve(l).then(function(d){return new Promise(function(p,f){let h=p;n.isImageBitmapLoader===!0&&(h=function(k){const y=new Tr(k);y.needsUpdate=!0,p(y)}),n.load(Fn.resolveURL(d,o.path),h,void 0,f)})}).then(function(d){return u===!0&&s.revokeObjectURL(l),Dt(d,a),d.userData.mimeType=a.mimeType||wp(a.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=c,c}assignTexture(e,n,r,i){const o=this;return this.getDependency("texture",r.index).then(function(a){if(!a)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(a=a.clone(),a.channel=r.texCoord),o.extensions[ke.KHR_TEXTURE_TRANSFORM]){const s=r.extensions!==void 0?r.extensions[ke.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const l=o.associations.get(a);a=o.extensions[ke.KHR_TEXTURE_TRANSFORM].extendTexture(a,s),o.associations.set(a,l)}}return i!==void 0&&(a.colorSpace=i),e[n]=a,a})}assignFinalMaterial(e){const n=e.geometry;let r=e.material;const i=n.attributes.tangent===void 0,o=n.attributes.color!==void 0,a=n.attributes.normal===void 0;if(e.isPoints){const s="PointsMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new rc,Gr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(s,l)),r=l}else if(e.isLine){const s="LineBasicMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new ic,Gr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(s,l)),r=l}if(i||o||a){let s="ClonedMaterial:"+r.uuid+":";i&&(s+="derivative-tangents:"),o&&(s+="vertex-colors:"),a&&(s+="flat-shading:");let l=this.cache.get(s);l||(l=r.clone(),o&&(l.vertexColors=!0),a&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(s,l),this.associations.set(l,this.associations.get(r))),r=l}e.material=r}getMaterialType(){return Fs}loadMaterial(e){const n=this,r=this.json,i=this.extensions,o=r.materials[e];let a;const s={},l=o.extensions||{},u=[];if(l[ke.KHR_MATERIALS_UNLIT]){const d=i[ke.KHR_MATERIALS_UNLIT];a=d.getMaterialType(),u.push(d.extendParams(s,o,n))}else{const d=o.pbrMetallicRoughness||{};if(s.color=new tt(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;s.color.setRGB(p[0],p[1],p[2],Ut),s.opacity=p[3]}d.baseColorTexture!==void 0&&u.push(n.assignTexture(s,"map",d.baseColorTexture,Vn)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(n.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),u.push(n.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),a=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,s)})))}o.doubleSided===!0&&(s.side=Or);const c=o.alphaMode||ai.OPAQUE;if(c===ai.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,c===ai.MASK&&(s.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&a!==xn&&(u.push(n.assignTexture(s,"normalMap",o.normalTexture)),s.normalScale=new Xe(1,1),o.normalTexture.scale!==void 0)){const d=o.normalTexture.scale;s.normalScale.set(d,d)}if(o.occlusionTexture!==void 0&&a!==xn&&(u.push(n.assignTexture(s,"aoMap",o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&a!==xn){const d=o.emissiveFactor;s.emissive=new tt().setRGB(d[0],d[1],d[2],Ut)}return o.emissiveTexture!==void 0&&a!==xn&&u.push(n.assignTexture(s,"emissiveMap",o.emissiveTexture,Vn)),Promise.all(u).then(function(){const d=new a(s);return o.name&&(d.name=o.name),Dt(d,o),n.associations.set(d,{materials:e}),o.extensions&&en(i,d,o),d})}createUniqueName(e){const n=jn.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,r=this.extensions,i=this.primitiveCache;function o(s){return r[ke.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,n).then(function(l){return Ta(l,s,n)})}const a=[];for(let s=0,l=e.length;s0&&bp(v,o),v.name=n.createUniqueName(o.name||"mesh_"+e),Dt(v,o),y.extensions&&en(i,v,y),n.assignFinalMaterial(v),d.push(v)}for(let f=0,h=d.length;f1?c=new Kr:u.length===1?c=u[0]:c=new po,c!==u[0])for(let d=0,p=u.length;d{const d=new Map;for(const[p,f]of i.associations)(p instanceof Gr||p instanceof Tr)&&d.set(p,f);return c.traverse(p=>{const f=i.associations.get(p);f!=null&&d.set(p,f)}),d};return i.associations=u(o),o})}_createAnimationTracks(e,n,r,i,o){const a=[],s=e.name?e.name:e.uuid,l=[];Gt[o.path]===Gt.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(s);let u;switch(Gt[o.path]){case Gt.weights:u=Vo;break;case Gt.rotation:u=Ho;break;case Gt.position:case Gt.scale:u=jo;break;default:switch(r.itemSize){case 1:u=Vo;break;case 2:case 3:default:u=jo;break}break}const c=i.interpolation!==void 0?gp[i.interpolation]:so,d=this._getArrayFromAccessor(r);for(let p=0,f=l.length;pnew Uc(t)),tn.register(t=>new $c(t)),tn)}async function _p(t){const r=(await bl().loadAsync(t)).userData;if(!r.vrmAnimations){console.warn("No VRM animations found in the .vrma file");return}if(r.vrmAnimations.length===0){console.warn("No VRM animations found in the .vrma file");return}return r.vrmAnimations[0]}async function Ep(t,e){if(!t){console.warn("No VRM found");return}if(e)return jc(e,t)}function Mp(){const t=V(!1),e=V(0),n=V(0),r=.2,i=1,o=6,a=V(Math.random()*(o-i)+i);function s(l,u){if(l!=null&&l.expressionManager&&(n.value+=u,!t.value&&n.value>=a.value&&(t.value=!0,e.value=0),t.value)){e.value+=u/r;const c=Math.sin(Math.PI*e.value);l.expressionManager.setValue("blink",c),e.value>=1&&(t.value=!1,n.value=0,l.expressionManager.setValue("blink",0),a.value=Math.random()*(o-i)+i)}}return{update:s}}function Ip(){let t=-1,e,n=0;function r(){e?e.set(nn(-.25,.25),nn(-.2,.15),-.65):e=new de(nn(-.25,.25),nn(-.2,.15),-.65)}function i(o,a){var s;!(o!=null&&o.expressionManager)||!o.lookAt||(n>=t?(r(),n=0,t=Ys()/1e3):e||r(),o.lookAt.target||(o.lookAt.target=new po),o.lookAt.target.position.lerp(e,nn(.2,.5)),(s=o.lookAt)==null||s.update(a),n+=a)}return{update:i}}async function Sp(t,e){const i=(await bl().loadAsync(t,a=>{var s;return(s=e==null?void 0:e.onProgress)==null?void 0:s.call(e,a)})).userData;if(!i.vrm)return;const o=i.vrm;if(Bi.removeUnnecessaryVertices(o.scene),Bi.combineSkeletons(o.scene),o.scene.traverse(a=>{a.frustumCulled=!1}),o.lookAt){const a=new Vc(o.lookAt);a.name="lookAtQuaternionProxy",o.scene.add(a)}return e!=null&&e.scene&&e.scene.add(o.scene),e!=null&&e.position&&o.scene.position.set(...e.position),o}function Rp(t){const e=V(null),n=V(!1),r=V(0),i=V(new Map),o=V(new Map),a=V(),s=(v,_,T)=>v+(_-v)*T,l=v=>v<.5?4*v*v*v:1-(-2*v+2)**3/2,u=new Map([["happy",{expression:[{name:"happy",value:1,duration:.3},{name:"aa",value:.3}],blendDuration:.3}],["sad",{expression:[{name:"sad",value:1},{name:"oh",value:.2}],blendDuration:.3}],["angry",{expression:[{name:"angry",value:1},{name:"ee",value:.4}],blendDuration:.2}],["surprised",{expression:[{name:"Surprised",value:1},{name:"oh",value:.6}],blendDuration:.1}],["neutral",{expression:[{name:"neutral",value:1}],blendDuration:.5}]]),c=()=>{a.value&&(clearTimeout(a.value),a.value=void 0)},d=v=>{var T;if(c(),!u.has(v)){console.warn(`Emotion ${v} not found`);return}const _=u.get(v);if(e.value=v,n.value=!0,r.value=0,t.expressionManager){const M=Object.keys(t.expressionManager.expressionMap);for(const O of M)t.expressionManager.setValue(O,0)}i.value.clear(),o.value.clear();for(const M of _.expression||[]){const O=((T=t.expressionManager)==null?void 0:T.getValue(M.name))||0;i.value.set(M.name,O),o.value.set(M.name,M.value)}};return{currentEmotion:e,isTransitioning:n,setEmotion:d,setEmotionWithResetAfter:(v,_)=>{c(),d(v),a.value=setTimeout(()=>{d("neutral"),a.value=void 0},_)},update:v=>{var M;if(!n.value||!e.value)return;const T=u.get(e.value).blendDuration||.3;r.value+=v/T,r.value>=1&&(r.value=1,n.value=!1);for(const[O,m]of o.value){const E=i.value.get(O)||0,x=s(E,m,l(r.value));(M=t.expressionManager)==null||M.setValue(O,x)}},addEmotionState:(v,_)=>{u.set(v,_)},removeEmotionState:v=>{u.delete(v)},dispose:()=>{c()}}}const Cp=xe({__name:"Model",props:{model:null,idleAnimation:null,loadAnimations:null,position:null},emits:["loadModelProgress","error"],setup(t,{expose:e,emit:n}){const r=t,i=n;let o;const a=V(),s=V(),{scene:l}=Cr(),{onBeforeRender:u}=ao(),c=Mp(),d=Ip(),p=V();return Ie(()=>r.position,([f,h,k])=>{a.value&&a.value.scene.position.set(f,h,k)}),At(async()=>{if(l.value)try{const f=await Sp(r.model,{scene:l.value,lookAt:!0,position:r.position,onProgress:y=>i("loadModelProgress",Number.parseFloat((100*(y.loaded/y.total)).toFixed(2)))});if(!f){console.warn("No VRM model loaded");return}const h=await _p(r.idleAnimation),k=await Ep(f,h);if(!k){console.warn("No VRM animation loaded");return}s.value=new mc(f.scene),s.value.clipAction(k).play(),p.value=Rp(f),a.value=f,o=u(({delta:y})=>{var v,_,T;(v=s.value)==null||v.update(y),(_=a.value)==null||_.update(y),c.update(a.value,y),d.update(a.value,y),(T=p.value)==null||T.update(y)}).off}catch(f){i("error",f)}}),vt(()=>{o==null||o(),a.value&&(a.value.scene.removeFromParent(),Bi.deepDispose(a.value.scene))}),e({setExpression(f){var h;(h=p.value)==null||h.setEmotionWithResetAfter(f,1e3)}}),(f,h)=>je(f.$slots,"default")}}),Op=["position"],Np={absolute:"",bottom:"3",right:"3"},Pp={flex:"~ row","cursor-pointer":""},Lp=["checked","aria-checked"],Dp={key:0,"min-w":"50vw",z:"{var h;(h=p.value)==null||h.setExpression(f)}}),(f,h)=>(W(),Ge(Zs,{relative:""},{default:ye(({height:k,width:y})=>[he(B(gc),{alpha:!0,antialias:!0,width:y,height:k},{default:ye(()=>[he(B(bf)),P("TresPerspectiveCamera",{position:[a.value,s.value,l.value]},null,8,Op),h[14]||(h[14]=P("TresDirectionalLight",{color:16777215,intensity:1.2,position:[1,1,1]},null,-1)),h[15]||(h[15]=P("TresAmbientLight",{color:16777215,intensity:1.5},null,-1)),he(Cp,{ref_key:"modelRef",ref:p,model:r.model,"idle-animation":r.idleAnimation,position:[u.value,c.value,d.value],onLoadModelProgress:h[0]||(h[0]=v=>i("loadModelProgress",v)),onError:h[1]||(h[1]=v=>i("error",v))},null,8,["model","idle-animation","position"])]),_:2},1032,["width","height"]),P("div",Np,[P("div",Pp,[P("label",{class:Bt([o.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[Tt(P("input",{"onUpdate:modelValue":h[2]||(h[2]=v=>o.value=v),checked:o.value,"aria-checked":o.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,Lp),[[Rr,o.value]]),h[16]||(h[16]=P("div",{"select-none":""},[P("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Lr,null,{default:ye(()=>[o.value?(W(),Z("div",Dp,[P("div",Bp,[P("div",zp,[P("span",null,le(f.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),he(zi,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:ye(()=>[P("span",Fp,le(f.$t("stage.viewers.debug-menu.vrm.camera")),1)]),default:ye(()=>[P("div",Up,[h[17]||(h[17]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"X")],-1)),P("label",$p,[he(vn,{modelValue:a.value,"onUpdate:modelValue":h[3]||(h[3]=v=>a.value=v),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",jp,[P("span",null,le(a.value),1)]),h[18]||(h[18]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Y")],-1)),P("label",Vp,[he(vn,{modelValue:s.value,"onUpdate:modelValue":h[4]||(h[4]=v=>s.value=v),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Hp,[P("span",null,le(s.value),1)]),h[19]||(h[19]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Z")],-1)),P("label",Gp,[he(vn,{modelValue:l.value,"onUpdate:modelValue":h[5]||(h[5]=v=>l.value=v),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Kp,[P("span",null,le(l.value),1)])])]),_:1}),he(zi,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:ye(()=>[P("span",qp,le(f.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),default:ye(()=>[P("div",Yp,[h[20]||(h[20]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"X")],-1)),P("label",Wp,[he(vn,{modelValue:u.value,"onUpdate:modelValue":h[6]||(h[6]=v=>u.value=v),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Xp,[P("span",null,le(u.value),1)]),h[21]||(h[21]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Y")],-1)),P("label",Qp,[he(vn,{modelValue:c.value,"onUpdate:modelValue":h[7]||(h[7]=v=>c.value=v),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",Zp,[P("span",null,le(c.value),1)]),h[22]||(h[22]=P("div",{text:"zinc-400 dark:zinc-500"},[P("span",null,"Z")],-1)),P("label",Jp,[he(vn,{modelValue:d.value,"onUpdate:modelValue":h[8]||(h[8]=v=>d.value=v),min:-10,max:10,step:.01},null,8,["modelValue"])]),P("div",eh,[P("span",null,le(d.value),1)])])]),_:1}),P("div",th,[P("span",null,le(f.$t("stage.viewers.debug-menu.emotions")),1)]),P("div",nh,[P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[9]||(h[9]=v=>{var _;return(_=p.value)==null?void 0:_.setExpression("neutral")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.neutral")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[10]||(h[10]=v=>{var _;return(_=p.value)==null?void 0:_.setExpression("surprised")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[11]||(h[11]=v=>{var _;return(_=p.value)==null?void 0:_.setExpression("sad")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[12]||(h[12]=v=>{var _;return(_=p.value)==null?void 0:_.setExpression("angry")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),P("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[13]||(h[13]=v=>{var _;return(_=p.value)==null?void 0:_.setExpression("happy")})},le(f.$t("stage.viewers.debug-menu.emotions-btn.happy")),1)])])])):Ke("",!0)]),_:1})])]),_:1}))}});var li=class extends Error{constructor(e,n){super(e);Fo(this,"response");this.name="XSAIError",this.response=n}},ih=t=>t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`),br=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[ih(e),n])),xl=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),wl=t=>JSON.stringify(br(xl({...t,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),vo=(t,e)=>xl({Authorization:e!==void 0?`Bearer ${e}`:void 0,...t}),yo=(t,e)=>{const n=e.toString();return new URL(t,n.endsWith("/")?n:`${n}/`)},bo=async t=>{if(!t.ok){const e=new li(`Remote sent ${t.status} response`,t);throw e.cause=new Error(await t.text()),e}if(!t.body)throw new li("Response body is empty from remote server",t);if(!(t.body instanceof ReadableStream)){const e=new li(`Expected Response body to be a ReadableStream, but got ${String(t.body)}`,t);throw e.cause=new Error(`Content-Type is ${t.headers.get("Content-Type")}`),e}return t},oh=async t=>bo(t).then(async e=>e.json());const ah=async t=>(t.fetch??globalThis.fetch)(yo("audio/speech",t.baseURL),{body:wl(t),headers:vo({"Content-Type":"application/json",...t.headers},t.apiKey),method:"POST",signal:t.abortSignal}).then(bo).then(async e=>e.arrayBuffer()),kl=(t,{apiKey:e,baseURL:n,headers:r})=>({apiKey:e,baseURL:n,headers:r,model:t}),sh=t=>{const e={...t,baseURL:new URL("http://localhost:11434/v1/")},n=r=>kl(r,e);return{chat:n,embed:n,model:()=>e}};sh();const lh=t=>{const e=({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l,seed:u,voiceSettings:c})=>({extraBody:br({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l?l.map(d=>br(d)):void 0,seed:u,voiceSettings:c?br(c):void 0})});return{speech:(n,r)=>({...r?e(r):{},...kl(`elevenlabs/${n}`,{...t,baseURL:(t==null?void 0:t.baseURL)??new URL("http://localhost:5933/v1/")})})}},uh=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Wn{constructor(e,n,r){this.property=e,this.normal=n,r&&(this.space=r)}}Wn.prototype.property={};Wn.prototype.normal={};Wn.prototype.space=null;function Tl(t,e){const n={},r={};let i=-1;for(;++i4&&n.slice(0,4)==="data"&&hh.test(e)){if(e.charAt(4)==="-"){const o=e.slice(5).replace(_a,yh);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=e.slice(4);if(!_a.test(o)){let a=o.replace(mh,vh);a.charAt(0)!=="-"&&(a="-"+a),e="data"+a}}i=xo}return new i(r,e)}function vh(t){return"-"+t.toLowerCase()}function yh(t){return t.charAt(1).toUpperCase()}const bh=Tl([El,_l,Sl,Rl,fh],"html"),Cl=Tl([El,_l,Sl,Rl,ph],"svg"),Ea={}.hasOwnProperty;function xh(t,e){const n=e||{};function r(i,...o){let a=r.invalid;const s=r.handlers;if(i&&Ea.call(i,t)){const l=String(i[t]);a=Ea.call(s,l)?s[l]:r.unknown}if(a)return a.call(this,i,...o)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const wh=/["&'<>`]/g,kh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Th=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ah=/[|\\{}()[\]^$+*?.]/g,Ma=new WeakMap;function _h(t,e){if(t=t.replace(e.subset?Eh(e.subset):wh,r),e.subset||e.escapeOnly)return t;return t.replace(kh,n).replace(Th,r);function n(i,o,a){return e.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,a.charCodeAt(o+2),e)}function r(i,o,a){return e.format(i.charCodeAt(0),a.charCodeAt(o+1),e)}}function Eh(t){let e=Ma.get(t);return e||(e=Mh(t),Ma.set(t,e)),e}function Mh(t){const e=[];let n=-1;for(;++n",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},Nh=["cent","copy","divide","gt","lt","not","para","times"],Ol={}.hasOwnProperty,qi={};let ir;for(ir in ci)Ol.call(ci,ir)&&(qi[ci[ir]]=ir);const Ph=/[^\dA-Za-z]/;function Lh(t,e,n,r){const i=String.fromCharCode(t);if(Ol.call(qi,i)){const o=qi[i],a="&"+o;return n&&Oh.includes(o)&&!Nh.includes(o)&&(!r||e&&e!==61&&Ph.test(String.fromCharCode(e)))?a:a+";"}return""}function Dh(t,e,n){let r=Sh(t,e,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Lh(t,e,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){const o=Ch(t,e,n.omitOptionalSemicolons);o.length|^->||--!>|"],Fh=["<",">"];function Uh(t,e,n,r){return r.settings.bogusComments?"":"";function i(o){return En(o,Object.assign({},r.settings.characterReferences,{subset:Fh}))}}function $h(t,e,n,r){return""}function Ia(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(e);for(;i!==-1;)r++,i=n.indexOf(e,i+e.length);return r}function jh(t,e){const n=e||{};return(t[t.length-1]===""?[...t,""]:t).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function Vh(t){return t.join(" ").trim()}const Hh=/[ \t\n\f\r]/g;function wo(t){return typeof t=="object"?t.type==="text"?Sa(t.value):!1:Sa(t)}function Sa(t){return t.replace(Hh,"")===""}const Ze=Pl(1),Nl=Pl(-1),Gh=[];function Pl(t){return e;function e(n,r,i){const o=n?n.children:Gh;let a=(r||0)+t,s=o[a];if(!i)for(;s&&wo(s);)a+=t,s=o[a];return s}}const Kh={}.hasOwnProperty;function Ll(t){return e;function e(n,r,i){return Kh.call(t,n.tagName)&&t[n.tagName](n,r,i)}}const ko=Ll({body:Yh,caption:di,colgroup:di,dd:Zh,dt:Qh,head:di,html:qh,li:Xh,optgroup:Jh,option:em,p:Wh,rp:Ra,rt:Ra,tbody:nm,td:Ca,tfoot:rm,th:Ca,thead:tm,tr:im});function di(t,e,n){const r=Ze(n,e,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&wo(r.value.charAt(0)))}function qh(t,e,n){const r=Ze(n,e);return!r||r.type!=="comment"}function Yh(t,e,n){const r=Ze(n,e);return!r||r.type!=="comment"}function Wh(t,e,n){const r=Ze(n,e);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function Xh(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&r.tagName==="li"}function Qh(t,e,n){const r=Ze(n,e);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Zh(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Ra(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Jh(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&r.tagName==="optgroup"}function em(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function tm(t,e,n){const r=Ze(n,e);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function nm(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function rm(t,e,n){return!Ze(n,e)}function im(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&r.tagName==="tr"}function Ca(t,e,n){const r=Ze(n,e);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const om=Ll({body:lm,colgroup:um,head:sm,html:am,tbody:cm});function am(t){const e=Ze(t,-1);return!e||e.type!=="comment"}function sm(t){const e=new Set;for(const r of t.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(e.has(r.tagName))return!1;e.add(r.tagName)}const n=t.children[0];return!n||n.type==="element"}function lm(t){const e=Ze(t,-1,!0);return!e||e.type!=="comment"&&!(e.type==="text"&&wo(e.value.charAt(0)))&&!(e.type==="element"&&(e.tagName==="meta"||e.tagName==="link"||e.tagName==="script"||e.tagName==="style"||e.tagName==="template"))}function um(t,e,n){const r=Nl(n,e),i=Ze(t,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&ko(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="col")}function cm(t,e,n){const r=Nl(n,e),i=Ze(t,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ko(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="tr")}const or={name:[[` +\f\r &/=>`.split(""),` +\f\r "&'/=>\``.split("")],[`\0 +\f\r "&'/<=>`.split(""),`\0 +\f\r "&'/<=>\``.split("")]],unquoted:[[` +\f\r &>`.split(""),`\0 +\f\r "&'<=>\``.split("")],[`\0 +\f\r "&'<=>\``.split(""),`\0 +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function dm(t,e,n,r){const i=r.schema,o=i.space==="svg"?!1:r.settings.omitOptionalTags;let a=i.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(t.tagName.toLowerCase());const s=[];let l;i.space==="html"&&t.tagName==="svg"&&(r.schema=Cl);const u=fm(r,t.properties),c=r.all(i.space==="html"&&t.tagName==="template"?t.content:t);return r.schema=i,c&&(a=!1),(u||!o||!om(t,e,n))&&(s.push("<",t.tagName,u?" "+u:""),a&&(i.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(c),!a&&(!o||!ko(t,e,n))&&s.push(""),s.join("")}function fm(t,e){const n=[];let r=-1,i;if(e){for(i in e)if(e[i]!==null&&e[i]!==void 0){const o=pm(t,i,e[i]);o&&n.push(o)}}for(;++rIa(n,t.alternative)&&(a=t.alternative),s=a+En(n,Object.assign({},t.settings.characterReferences,{subset:(a==="'"?or.single:or.double)[i][o],attribute:!0}))+a),l+(s&&"="+s))}const hm=["<","&"];function Dl(t,e,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?t.value:En(t.value,Object.assign({},r.settings.characterReferences,{subset:hm}))}function mm(t,e,n,r){return r.settings.allowDangerousHtml?t.value:Dl(t,e,n,r)}function gm(t,e,n,r){return r.all(t)}const vm=xh("type",{invalid:ym,unknown:bm,handlers:{comment:Uh,doctype:$h,element:dm,raw:mm,root:gm,text:Dl}});function ym(t){throw new Error("Expected node, not `"+t+"`")}function bm(t){const e=t;throw new Error("Cannot compile unknown node `"+e.type+"`")}const xm={},wm={},km=[];function Tm(t,e){const n=e||xm,r=n.quote||'"',i=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Am,all:_m,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||uh,characterReferences:n.characterReferences||wm,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?Cl:bh,quote:r,alternative:i}.one(Array.isArray(t)?{type:"root",children:t}:t,void 0,void 0)}function Am(t,e,n){return vm(t,e,n,this)}function _m(t){const e=[],n=t&&t.children||km;let r=-1;for(;++ri?0:i+e:e=e>i?i:e,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(e,n),t.splice(...a);else for(n&&t.splice(e,n);o0?(It(t,t.length,0,e),t):e}const Pa={}.hasOwnProperty;function Rm(t){const e={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Mn(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Et=Jt(/[A-Za-z]/),gt=Jt(/[\dA-Za-z]/),Nm=Jt(/[#-'*+\--9=?A-Z^-~]/);function Yi(t){return t!==null&&(t<32||t===127)}const Wi=Jt(/\d/),Pm=Jt(/[\dA-Fa-f]/),Lm=Jt(/[!-/:-@[-`{-~]/);function fe(t){return t!==null&&t<-2}function ut(t){return t!==null&&(t<0||t===32)}function Re(t){return t===-2||t===-1||t===32}const Dm=Jt(new RegExp("\\p{P}|\\p{S}","u")),Bm=Jt(/\s/);function Jt(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function Rn(t){const e=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const s=t.charCodeAt(n+1);o<56320&&s>56319&&s<57344?(a=String.fromCharCode(o,s),i=1):a="�"}else a=String.fromCharCode(o);a&&(e.push(t.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return e.join("")+t.slice(r)}function Fe(t,e,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(l){return Re(l)?(t.enter(n),s(l)):e(l)}function s(l){return Re(l)&&o++a))return;const E=e.events.length;let x=E,b,g;for(;x--;)if(e.events[x][0]==="exit"&&e.events[x][1].type==="chunkFlow"){if(b){g=e.events[x][1].end;break}b=!0}for(v(r),m=E;mT;){const O=n[M];e.containerState=O[1],O[0].exit.call(e,t)}n.length=T}function _(){i.write([null]),o=void 0,i=void 0,e.containerState._closeFlow=void 0}}function jm(t,e,n){return Fe(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Da(t){if(t===null||ut(t)||Bm(t))return 1;if(Dm(t))return 2}function Ao(t,e,n){const r=[];let i=-1;for(;++i1&&t[n][1].end.offset-t[n][1].start.offset>1?2:1;const d={...t[r][1].end},p={...t[n][1].start};Ba(d,-l),Ba(p,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:{...t[r][1].end}},s={type:l>1?"strongSequence":"emphasisSequence",start:{...t[n][1].start},end:p},o={type:l>1?"strongText":"emphasisText",start:{...t[r][1].end},end:{...t[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...a.start},end:{...s.end}},t[r][1].end={...a.start},t[n][1].start={...s.end},u=[],t[r][1].end.offset-t[r][1].start.offset&&(u=bt(u,[["enter",t[r][1],e],["exit",t[r][1],e]])),u=bt(u,[["enter",i,e],["enter",a,e],["exit",a,e],["enter",o,e]]),u=bt(u,Ao(e.parser.constructs.insideSpan.null,t.slice(r+1,n),e)),u=bt(u,[["exit",o,e],["enter",s,e],["exit",s,e],["exit",i,e]]),t[n][1].end.offset-t[n][1].start.offset?(c=2,u=bt(u,[["enter",t[n][1],e],["exit",t[n][1],e]])):c=0,It(t,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n0&&Re(m)?Fe(t,_,"linePrefix",o+1)(m):_(m)}function _(m){return m===null||fe(m)?t.check(za,k,M)(m):(t.enter("codeFlowValue"),T(m))}function T(m){return m===null||fe(m)?(t.exit("codeFlowValue"),_(m)):(t.consume(m),T)}function M(m){return t.exit("codeFenced"),e(m)}function O(m,E,x){let b=0;return g;function g(D){return m.enter("lineEnding"),m.consume(D),m.exit("lineEnding"),A}function A(D){return m.enter("codeFencedFence"),Re(D)?Fe(m,R,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):R(D)}function R(D){return D===s?(m.enter("codeFencedFenceSequence"),z(D)):x(D)}function z(D){return D===s?(b++,m.consume(D),z):b>=a?(m.exit("codeFencedFenceSequence"),Re(D)?Fe(m,F,"whitespace")(D):F(D)):x(D)}function F(D){return D===null||fe(D)?(m.exit("codeFencedFence"),E(D)):x(D)}}}function eg(t,e,n){const r=this;return i;function i(a){return a===null?n(a):(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),o)}function o(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}const fi={name:"codeIndented",tokenize:ng},tg={partial:!0,tokenize:rg};function ng(t,e,n){const r=this;return i;function i(u){return t.enter("codeIndented"),Fe(t,o,"linePrefix",5)(u)}function o(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):fe(u)?t.attempt(tg,a,l)(u):(t.enter("codeFlowValue"),s(u))}function s(u){return u===null||fe(u)?(t.exit("codeFlowValue"),a(u)):(t.consume(u),s)}function l(u){return t.exit("codeIndented"),e(u)}}function rg(t,e,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):fe(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),i):Fe(t,o,"linePrefix",5)(a)}function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?e(a):fe(a)?i(a):n(a)}}const ig={name:"codeText",previous:ag,resolve:og,tokenize:sg};function og(t){let e=t.length-4,n=3,r,i;if((t[n][1].type==="lineEnding"||t[n][1].type==="space")&&(t[e][1].type==="lineEnding"||t[e][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length)return this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse();const i=this.left.slice(e);return i.push(...this.right.slice(this.right.length-r+this.left.length).reverse()),i}splice(e,n,r){const i=n||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ln(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Ln(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Ln(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?e(a):t.interrupt(r.parser.constructs.flow,n,e)(a)}}function Vl(t,e,n,r,i,o,a,s,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(v){return v===60?(t.enter(r),t.enter(i),t.enter(o),t.consume(v),t.exit(o),p):v===null||v===32||v===41||Yi(v)?n(v):(t.enter(r),t.enter(a),t.enter(s),t.enter("chunkString",{contentType:"string"}),k(v))}function p(v){return v===62?(t.enter(o),t.consume(v),t.exit(o),t.exit(i),t.exit(r),e):(t.enter(s),t.enter("chunkString",{contentType:"string"}),f(v))}function f(v){return v===62?(t.exit("chunkString"),t.exit(s),p(v)):v===null||v===60||fe(v)?n(v):(t.consume(v),v===92?h:f)}function h(v){return v===60||v===62||v===92?(t.consume(v),f):f(v)}function k(v){return!c&&(v===null||v===41||ut(v))?(t.exit("chunkString"),t.exit(s),t.exit(a),t.exit(r),e(v)):c999||f===null||f===91||f===93&&!l||f===94&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs?n(f):f===93?(t.exit(o),t.enter(i),t.consume(f),t.exit(i),t.exit(r),e):fe(f)?(t.enter("lineEnding"),t.consume(f),t.exit("lineEnding"),c):(t.enter("chunkString",{contentType:"string"}),d(f))}function d(f){return f===null||f===91||f===93||fe(f)||s++>999?(t.exit("chunkString"),c(f)):(t.consume(f),l||(l=!Re(f)),f===92?p:d)}function p(f){return f===91||f===92||f===93?(t.consume(f),s++,d):d(f)}}function Gl(t,e,n,r,i,o){let a;return s;function s(p){return p===34||p===39||p===40?(t.enter(r),t.enter(i),t.consume(p),t.exit(i),a=p===40?41:p,l):n(p)}function l(p){return p===a?(t.enter(i),t.consume(p),t.exit(i),t.exit(r),e):(t.enter(o),u(p))}function u(p){return p===a?(t.exit(o),l(a)):p===null?n(p):fe(p)?(t.enter("lineEnding"),t.consume(p),t.exit("lineEnding"),Fe(t,u,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===a||p===null||fe(p)?(t.exit("chunkString"),u(p)):(t.consume(p),p===92?d:c)}function d(p){return p===a||p===92?(t.consume(p),c):c(p)}}function Un(t,e){let n;return r;function r(i){return fe(i)?(t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),n=!0,r):Re(i)?Fe(t,r,n?"linePrefix":"lineSuffix")(i):e(i)}}const mg={name:"definition",tokenize:vg},gg={partial:!0,tokenize:yg};function vg(t,e,n){const r=this;let i;return o;function o(f){return t.enter("definition"),a(f)}function a(f){return Hl.call(r,t,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function s(f){return i=Mn(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58?(t.enter("definitionMarker"),t.consume(f),t.exit("definitionMarker"),l):n(f)}function l(f){return ut(f)?Un(t,u)(f):u(f)}function u(f){return Vl(t,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function c(f){return t.attempt(gg,d,d)(f)}function d(f){return Re(f)?Fe(t,p,"whitespace")(f):p(f)}function p(f){return f===null||fe(f)?(t.exit("definition"),r.parser.defined.push(i),e(f)):n(f)}}function yg(t,e,n){return r;function r(s){return ut(s)?Un(t,i)(s):n(s)}function i(s){return Gl(t,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function o(s){return Re(s)?Fe(t,a,"whitespace")(s):a(s)}function a(s){return s===null||fe(s)?e(s):n(s)}}const bg={name:"hardBreakEscape",tokenize:xg};function xg(t,e,n){return r;function r(o){return t.enter("hardBreakEscape"),t.consume(o),i}function i(o){return fe(o)?(t.exit("hardBreakEscape"),e(o)):n(o)}}const wg={name:"headingAtx",resolve:kg,tokenize:Tg};function kg(t,e){let n=t.length-2,r=3,i,o;return t[r][1].type==="whitespace"&&(r+=2),n-2>r&&t[n][1].type==="whitespace"&&(n-=2),t[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&t[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:t[r][1].start,end:t[n][1].end},o={type:"chunkText",start:t[r][1].start,end:t[n][1].end,contentType:"text"},It(t,r,n-r+1,[["enter",i,e],["enter",o,e],["exit",o,e],["exit",i,e]])),t}function Tg(t,e,n){let r=0;return i;function i(c){return t.enter("atxHeading"),o(c)}function o(c){return t.enter("atxHeadingSequence"),a(c)}function a(c){return c===35&&r++<6?(t.consume(c),a):c===null||ut(c)?(t.exit("atxHeadingSequence"),s(c)):n(c)}function s(c){return c===35?(t.enter("atxHeadingSequence"),l(c)):c===null||fe(c)?(t.exit("atxHeading"),e(c)):Re(c)?Fe(t,s,"whitespace")(c):(t.enter("atxHeadingText"),u(c))}function l(c){return c===35?(t.consume(c),l):(t.exit("atxHeadingSequence"),s(c))}function u(c){return c===null||c===35||ut(c)?(t.exit("atxHeadingText"),s(c)):(t.consume(c),u)}}const Ag=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ua=["pre","script","style","textarea"],_g={concrete:!0,name:"htmlFlow",resolveTo:Ig,tokenize:Sg},Eg={partial:!0,tokenize:Cg},Mg={partial:!0,tokenize:Rg};function Ig(t){let e=t.length;for(;e--&&!(t[e][0]==="enter"&&t[e][1].type==="htmlFlow"););return e>1&&t[e-2][1].type==="linePrefix"&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t}function Sg(t,e,n){const r=this;let i,o,a,s,l;return u;function u(C){return c(C)}function c(C){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(C),d}function d(C){return C===33?(t.consume(C),p):C===47?(t.consume(C),o=!0,k):C===63?(t.consume(C),i=3,r.interrupt?e:I):Et(C)?(t.consume(C),a=String.fromCharCode(C),y):n(C)}function p(C){return C===45?(t.consume(C),i=2,f):C===91?(t.consume(C),i=5,s=0,h):Et(C)?(t.consume(C),i=4,r.interrupt?e:I):n(C)}function f(C){return C===45?(t.consume(C),r.interrupt?e:I):n(C)}function h(C){const be="CDATA[";return C===be.charCodeAt(s++)?(t.consume(C),s===be.length?r.interrupt?e:R:h):n(C)}function k(C){return Et(C)?(t.consume(C),a=String.fromCharCode(C),y):n(C)}function y(C){if(C===null||C===47||C===62||ut(C)){const be=C===47,Se=a.toLowerCase();return!be&&!o&&Ua.includes(Se)?(i=1,r.interrupt?e(C):R(C)):Ag.includes(a.toLowerCase())?(i=6,be?(t.consume(C),v):r.interrupt?e(C):R(C)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):o?_(C):T(C))}return C===45||gt(C)?(t.consume(C),a+=String.fromCharCode(C),y):n(C)}function v(C){return C===62?(t.consume(C),r.interrupt?e:R):n(C)}function _(C){return Re(C)?(t.consume(C),_):g(C)}function T(C){return C===47?(t.consume(C),g):C===58||C===95||Et(C)?(t.consume(C),M):Re(C)?(t.consume(C),T):g(C)}function M(C){return C===45||C===46||C===58||C===95||gt(C)?(t.consume(C),M):O(C)}function O(C){return C===61?(t.consume(C),m):Re(C)?(t.consume(C),O):T(C)}function m(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(t.consume(C),l=C,E):Re(C)?(t.consume(C),m):x(C)}function E(C){return C===l?(t.consume(C),l=null,b):C===null||fe(C)?n(C):(t.consume(C),E)}function x(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||ut(C)?O(C):(t.consume(C),x)}function b(C){return C===47||C===62||Re(C)?T(C):n(C)}function g(C){return C===62?(t.consume(C),A):n(C)}function A(C){return C===null||fe(C)?R(C):Re(C)?(t.consume(C),A):n(C)}function R(C){return C===45&&i===2?(t.consume(C),U):C===60&&i===1?(t.consume(C),ee):C===62&&i===4?(t.consume(C),we):C===63&&i===3?(t.consume(C),I):C===93&&i===5?(t.consume(C),ue):fe(C)&&(i===6||i===7)?(t.exit("htmlFlowData"),t.check(Eg,Ve,z)(C)):C===null||fe(C)?(t.exit("htmlFlowData"),z(C)):(t.consume(C),R)}function z(C){return t.check(Mg,F,Ve)(C)}function F(C){return t.enter("lineEnding"),t.consume(C),t.exit("lineEnding"),D}function D(C){return C===null||fe(C)?z(C):(t.enter("htmlFlowData"),R(C))}function U(C){return C===45?(t.consume(C),I):R(C)}function ee(C){return C===47?(t.consume(C),a="",ne):R(C)}function ne(C){if(C===62){const be=a.toLowerCase();return Ua.includes(be)?(t.consume(C),we):R(C)}return Et(C)&&a.length<8?(t.consume(C),a+=String.fromCharCode(C),ne):R(C)}function ue(C){return C===93?(t.consume(C),I):R(C)}function I(C){return C===62?(t.consume(C),we):C===45&&i===2?(t.consume(C),I):R(C)}function we(C){return C===null||fe(C)?(t.exit("htmlFlowData"),Ve(C)):(t.consume(C),we)}function Ve(C){return t.exit("htmlFlow"),e(C)}}function Rg(t,e,n){const r=this;return i;function i(a){return fe(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),o):n(a)}function o(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}function Cg(t,e,n){return r;function r(i){return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),t.attempt(zr,e,n)}}const Og={name:"htmlText",tokenize:Ng};function Ng(t,e,n){const r=this;let i,o,a;return s;function s(I){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(I),l}function l(I){return I===33?(t.consume(I),u):I===47?(t.consume(I),O):I===63?(t.consume(I),T):Et(I)?(t.consume(I),x):n(I)}function u(I){return I===45?(t.consume(I),c):I===91?(t.consume(I),o=0,h):Et(I)?(t.consume(I),_):n(I)}function c(I){return I===45?(t.consume(I),f):n(I)}function d(I){return I===null?n(I):I===45?(t.consume(I),p):fe(I)?(a=d,ee(I)):(t.consume(I),d)}function p(I){return I===45?(t.consume(I),f):d(I)}function f(I){return I===62?U(I):I===45?p(I):d(I)}function h(I){const we="CDATA[";return I===we.charCodeAt(o++)?(t.consume(I),o===we.length?k:h):n(I)}function k(I){return I===null?n(I):I===93?(t.consume(I),y):fe(I)?(a=k,ee(I)):(t.consume(I),k)}function y(I){return I===93?(t.consume(I),v):k(I)}function v(I){return I===62?U(I):I===93?(t.consume(I),v):k(I)}function _(I){return I===null||I===62?U(I):fe(I)?(a=_,ee(I)):(t.consume(I),_)}function T(I){return I===null?n(I):I===63?(t.consume(I),M):fe(I)?(a=T,ee(I)):(t.consume(I),T)}function M(I){return I===62?U(I):T(I)}function O(I){return Et(I)?(t.consume(I),m):n(I)}function m(I){return I===45||gt(I)?(t.consume(I),m):E(I)}function E(I){return fe(I)?(a=E,ee(I)):Re(I)?(t.consume(I),E):U(I)}function x(I){return I===45||gt(I)?(t.consume(I),x):I===47||I===62||ut(I)?b(I):n(I)}function b(I){return I===47?(t.consume(I),U):I===58||I===95||Et(I)?(t.consume(I),g):fe(I)?(a=b,ee(I)):Re(I)?(t.consume(I),b):U(I)}function g(I){return I===45||I===46||I===58||I===95||gt(I)?(t.consume(I),g):A(I)}function A(I){return I===61?(t.consume(I),R):fe(I)?(a=A,ee(I)):Re(I)?(t.consume(I),A):b(I)}function R(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(t.consume(I),i=I,z):fe(I)?(a=R,ee(I)):Re(I)?(t.consume(I),R):(t.consume(I),F)}function z(I){return I===i?(t.consume(I),i=void 0,D):I===null?n(I):fe(I)?(a=z,ee(I)):(t.consume(I),z)}function F(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||ut(I)?b(I):(t.consume(I),F)}function D(I){return I===47||I===62||ut(I)?b(I):n(I)}function U(I){return I===62?(t.consume(I),t.exit("htmlTextData"),t.exit("htmlText"),e):n(I)}function ee(I){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(I),t.exit("lineEnding"),ne}function ne(I){return Re(I)?Fe(t,ue,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):ue(I)}function ue(I){return t.enter("htmlTextData"),a(I)}}const _o={name:"labelEnd",resolveAll:Bg,resolveTo:zg,tokenize:Fg},Pg={tokenize:Ug},Lg={tokenize:$g},Dg={tokenize:jg};function Bg(t){let e=-1;const n=[];for(;++e=3&&(u===null||fe(u))?(t.exit("thematicBreak"),e(u)):n(u)}function l(u){return u===i?(t.consume(u),r++,l):(t.exit("thematicBreakSequence"),Re(u)?Fe(t,s,"whitespace")(u):s(u))}}const st={continuation:{tokenize:Zg},exit:ev,name:"list",tokenize:Qg},Wg={partial:!0,tokenize:tv},Xg={partial:!0,tokenize:Jg};function Qg(t,e,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return s;function s(f){const h=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:Wi(f)){if(r.containerState.type||(r.containerState.type=h,t.enter(h,{_container:!0})),h==="listUnordered")return t.enter("listItemPrefix"),f===42||f===45?t.check(xr,n,u)(f):u(f);if(!r.interrupt||f===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),l(f)}return n(f)}function l(f){return Wi(f)&&++a<10?(t.consume(f),l):(!r.interrupt||a<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46)?(t.exit("listItemValue"),u(f)):n(f)}function u(f){return t.enter("listItemMarker"),t.consume(f),t.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,t.check(zr,r.interrupt?n:c,t.attempt(Wg,p,d))}function c(f){return r.containerState.initialBlankLine=!0,o++,p(f)}function d(f){return Re(f)?(t.enter("listItemPrefixWhitespace"),t.consume(f),t.exit("listItemPrefixWhitespace"),p):n(f)}function p(f){return r.containerState.size=o+r.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(f)}}function Zg(t,e,n){const r=this;return r.containerState._closeFlow=void 0,t.check(zr,i,o);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Fe(t,e,"listItemIndent",r.containerState.size+1)(s)}function o(s){return r.containerState.furtherBlankLines||!Re(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,t.attempt(Xg,e,a)(s))}function a(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,Fe(t,t.attempt(st,e,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function Jg(t,e,n){const r=this;return Fe(t,i,"listItemIndent",r.containerState.size+1);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?e(o):n(o)}}function ev(t){t.exit(this.containerState.type)}function tv(t,e,n){const r=this;return Fe(t,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const a=r.events[r.events.length-1];return!Re(o)&&a&&a[1].type==="listItemPrefixWhitespace"?e(o):n(o)}}const $a={name:"setextUnderline",resolveTo:nv,tokenize:rv};function nv(t,e){let n=t.length,r,i,o;for(;n--;)if(t[n][0]==="enter"){if(t[n][1].type==="content"){r=n;break}t[n][1].type==="paragraph"&&(i=n)}else t[n][1].type==="content"&&t.splice(n,1),!o&&t[n][1].type==="definition"&&(o=n);const a={type:"setextHeading",start:{...t[i][1].start},end:{...t[t.length-1][1].end}};return t[i][1].type="setextHeadingText",o?(t.splice(i,0,["enter",a,e]),t.splice(o+1,0,["exit",t[r][1],e]),t[r][1].end={...t[o][1].end}):t[r][1]=a,t.push(["exit",a,e]),t}function rv(t,e,n){const r=this;let i;return o;function o(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(t.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return t.enter("setextHeadingLineSequence"),s(u)}function s(u){return u===i?(t.consume(u),s):(t.exit("setextHeadingLineSequence"),Re(u)?Fe(t,l,"lineSuffix")(u):l(u))}function l(u){return u===null||fe(u)?(t.exit("setextHeadingLine"),e(u)):n(u)}}const iv={tokenize:ov};function ov(t){const e=this,n=t.attempt(zr,r,t.attempt(this.parser.constructs.flowInitial,i,Fe(t,t.attempt(this.parser.constructs.flow,i,t.attempt(cg,i)),"linePrefix")));return n;function r(o){if(o===null){t.consume(o);return}return t.enter("lineEndingBlank"),t.consume(o),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n}function i(o){if(o===null){t.consume(o);return}return t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),e.currentConstruct=void 0,n}}const av={resolveAll:ql()},sv=Kl("string"),lv=Kl("text");function Kl(t){return{resolveAll:ql(t==="text"?uv:void 0),tokenize:e};function e(n){const r=this,i=this.parser.constructs[t],o=n.attempt(i,a,s);return a;function a(c){return u(c)?o(c):s(c)}function s(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),o(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;const d=i[c];let p=-1;if(d)for(;++p-1){const s=a[0];typeof s=="string"?a[0]=s.slice(r):a.shift()}o>0&&a.push(t[i].slice(0,o))}return a}function kv(t,e){let n=-1;const r=[];let i;for(;++n0){const He=re.tokenStack[re.tokenStack.length-1];(He[1]||Ga).call(re,void 0,He[0])}for(Q.position={start:Kt(j.length>0?j[0][1].start:{line:1,column:1,offset:0}),end:Kt(j.length>0?j[j.length-2][1].end:{line:1,column:1,offset:0})},Te=-1;++Te1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};t.patch(e,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return t.patch(e,u),t.applyData(e,u)}function Fv(t,e){const n={type:"element",tagName:"h"+e.depth,properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function Uv(t,e){if(t.options.allowDangerousHtml){const n={type:"raw",value:e.value};return t.patch(e,n),t.applyData(e,n)}}function Xl(t,e){const n=e.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+r}];const i=t.all(e),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=r:i.push({type:"text",value:r}),i}function $v(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return Xl(t,e);const i={src:Rn(r.url||""),alt:e.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return t.patch(e,o),t.applyData(e,o)}function jv(t,e){const n={src:Rn(e.url)};e.alt!==null&&e.alt!==void 0&&(n.alt=e.alt),e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"img",properties:n,children:[]};return t.patch(e,r),t.applyData(e,r)}function Vv(t,e){const n={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};t.patch(e,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return t.patch(e,r),t.applyData(e,r)}function Hv(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return Xl(t,e);const i={href:Rn(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:t.all(e)};return t.patch(e,o),t.applyData(e,o)}function Gv(t,e){const n={href:Rn(e.url)};e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"a",properties:n,children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function Kv(t,e,n){const r=t.all(e),i=n?qv(n):Ql(e),o={},a=[];if(typeof e.checked=="boolean"){const c=r[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let s=-1;for(;++s1}function Yv(t,e){const n={},r=t.all(e);let i=-1;for(typeof e.start=="number"&&e.start!==1&&(n.start=e.start);++i0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Zv(t){const e=Jl(t),n=Zl(t);if(e&&n)return{start:e,end:n}}function Jv(t,e){const n=t.all(e),r=n.shift(),i=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:t.wrap([r],!0)};t.patch(e.children[0],a),i.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:t.wrap(n,!0)},s=Jl(e.children[1]),l=Zl(e.children[e.children.length-1]);s&&l&&(a.position={start:s,end:l}),i.push(a)}const o={type:"element",tagName:"table",properties:{},children:t.wrap(i,!0)};return t.patch(e,o),t.applyData(e,o)}function ey(t,e,n){const r=n?n.children:void 0,o=(r?r.indexOf(e):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,s=a?a.length:e.children.length;let l=-1;const u=[];for(;++l0,!0),r[0]),i=r.index+r[0].length,r=n.exec(e);return o.push(Ya(e.slice(i),i>0,!1)),o.join("")}function Ya(t,e,n){let r=0,i=t.length;if(e){let o=t.codePointAt(r);for(;o===Ka||o===qa;)r++,o=t.codePointAt(r)}if(n){let o=t.codePointAt(i-1);for(;o===Ka||o===qa;)i--,o=t.codePointAt(i-1)}return i>r?t.slice(r,i):""}function ry(t,e){const n={type:"text",value:ny(String(e.value))};return t.patch(e,n),t.applyData(e,n)}function iy(t,e){const n={type:"element",tagName:"hr",properties:{},children:[]};return t.patch(e,n),t.applyData(e,n)}const oy={blockquote:Nv,break:Pv,code:Lv,delete:Dv,emphasis:Bv,footnoteReference:zv,heading:Fv,html:Uv,imageReference:$v,image:jv,inlineCode:Vv,linkReference:Hv,link:Gv,listItem:Kv,list:Yv,paragraph:Wv,root:Xv,strong:Qv,table:Jv,tableCell:ty,tableRow:ey,text:ry,thematicBreak:iy,toml:ar,yaml:ar,definition:ar,footnoteDefinition:ar};function ar(){}const tu=-1,Fr=0,Mr=1,Ir=2,Eo=3,Mo=4,Io=5,So=6,nu=7,ru=8,Wa=typeof self=="object"?self:globalThis,ay=(t,e)=>{const n=(i,o)=>(t.set(o,i),i),r=i=>{if(t.has(i))return t.get(i);const[o,a]=e[i];switch(o){case Fr:case tu:return n(a,i);case Mr:{const s=n([],i);for(const l of a)s.push(r(l));return s}case Ir:{const s=n({},i);for(const[l,u]of a)s[r(l)]=r(u);return s}case Eo:return n(new Date(a),i);case Mo:{const{source:s,flags:l}=a;return n(new RegExp(s,l),i)}case Io:{const s=n(new Map,i);for(const[l,u]of a)s.set(r(l),r(u));return s}case So:{const s=n(new Set,i);for(const l of a)s.add(r(l));return s}case nu:{const{name:s,message:l}=a;return n(new Wa[s](l),i)}case ru:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i)}return n(new Wa[o](a),i)};return r},Xa=t=>ay(new Map,t)(0),yn="",{toString:sy}={},{keys:ly}=Object,Dn=t=>{const e=typeof t;if(e!=="object"||!t)return[Fr,e];const n=sy.call(t).slice(8,-1);switch(n){case"Array":return[Mr,yn];case"Object":return[Ir,yn];case"Date":return[Eo,yn];case"RegExp":return[Mo,yn];case"Map":return[Io,yn];case"Set":return[So,yn]}return n.includes("Array")?[Mr,n]:n.includes("Error")?[nu,n]:[Ir,n]},sr=([t,e])=>t===Fr&&(e==="function"||e==="symbol"),uy=(t,e,n,r)=>{const i=(a,s)=>{const l=r.push(a)-1;return n.set(s,l),l},o=a=>{if(n.has(a))return n.get(a);let[s,l]=Dn(a);switch(s){case Fr:{let c=a;switch(l){case"bigint":s=ru,c=a.toString();break;case"function":case"symbol":if(t)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([tu],a)}return i([s,c],a)}case Mr:{if(l)return i([l,[...a]],a);const c=[],d=i([s,c],a);for(const p of a)c.push(o(p));return d}case Ir:{if(l)switch(l){case"BigInt":return i([l,a.toString()],a);case"Boolean":case"Number":case"String":return i([l,a.valueOf()],a)}if(e&&"toJSON"in a)return o(a.toJSON());const c=[],d=i([s,c],a);for(const p of ly(a))(t||!sr(Dn(a[p])))&&c.push([o(p),o(a[p])]);return d}case Eo:return i([s,a.toISOString()],a);case Mo:{const{source:c,flags:d}=a;return i([s,{source:c,flags:d}],a)}case Io:{const c=[],d=i([s,c],a);for(const[p,f]of a)(t||!(sr(Dn(p))||sr(Dn(f))))&&c.push([o(p),o(f)]);return d}case So:{const c=[],d=i([s,c],a);for(const p of a)(t||!sr(Dn(p)))&&c.push(o(p));return d}}const{message:u}=a;return i([s,{name:l,message:u}],a)};return o},Qa=(t,{json:e,lossy:n}={})=>{const r=[];return uy(!(e||n),!!e,new Map,r)(t),r},Sr=typeof structuredClone=="function"?(t,e)=>e&&("json"in e||"lossy"in e)?Xa(Qa(t,e)):structuredClone(t):(t,e)=>Xa(Qa(t,e));function cy(t,e){const n=[{type:"text",value:"↩"}];return e>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),n}function dy(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")}function fy(t){const e=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",n=t.options.footnoteBackContent||cy,r=t.options.footnoteBackLabel||dy,i=t.options.footnoteLabel||"Footnotes",o=t.options.footnoteLabelTagName||"h2",a=t.options.footnoteLabelProperties||{className:["sr-only"]},s=[];let l=-1;for(;++l0&&h.push({type:"text",value:" "});let _=typeof n=="string"?n:n(l,f);typeof _=="string"&&(_={type:"text",value:_}),h.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+p+(f>1?"-"+f:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,f),className:["data-footnote-backref"]},children:Array.isArray(_)?_:[_]})}const y=c[c.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const _=y.children[y.children.length-1];_&&_.type==="text"?_.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...h)}else c.push(...h);const v={type:"element",tagName:"li",properties:{id:e+"fn-"+p},children:t.wrap(c,!0)};t.patch(u,v),s.push(v)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...Sr(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:t.wrap(s,!0)},{type:"text",value:` +`}]}}const iu=function(t){if(t==null)return gy;if(typeof t=="function")return Ur(t);if(typeof t=="object")return Array.isArray(t)?py(t):hy(t);if(typeof t=="string")return my(t);throw new Error("Expected function, string, or object as test")};function py(t){const e=[];let n=-1;for(;++n":""))+")"})}return p;function p(){let f=ou,h,k,y;if((!e||o(l,u,c[c.length-1]||void 0))&&(f=wy(n(l,c)),f[0]===Za))return f;if("children"in l&&l.children){const v=l;if(v.children&&f[0]!==by)for(k=(r?v.children.length:-1)+a,y=c.concat(v);k>-1&&k0&&n.push({type:"text",value:` +`}),n}function Ja(t){let e=0,n=t.charCodeAt(e);for(;n===9||n===32;)e++,n=t.charCodeAt(e);return t.slice(e)}function es(t,e){const n=Ay(t,e),r=n.one(t,void 0),i=fy(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` +`},i),o}function Sy(t,e){return t&&"run"in t?async function(n,r){const i=es(n,{file:r,...e});await t.run(i,r)}:function(n,r){return es(n,{file:r,...t||e})}}function ts(t){if(t)throw t}var hi,ns;function Ry(){if(ns)return hi;ns=1;var t=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(u){return typeof Array.isArray=="function"?Array.isArray(u):e.call(u)==="[object Array]"},o=function(u){if(!u||e.call(u)!=="[object Object]")return!1;var c=t.call(u,"constructor"),d=u.constructor&&u.constructor.prototype&&t.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!c&&!d)return!1;var p;for(p in u);return typeof p>"u"||t.call(u,p)},a=function(u,c){n&&c.name==="__proto__"?n(u,c.name,{enumerable:!0,configurable:!0,value:c.newValue,writable:!0}):u[c.name]=c.newValue},s=function(u,c){if(c==="__proto__")if(t.call(u,c)){if(r)return r(u,c).value}else return;return u[c]};return hi=function l(){var u,c,d,p,f,h,k=arguments[0],y=1,v=arguments.length,_=!1;for(typeof k=="boolean"&&(_=k,k=arguments[1]||{},y=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});ya.length;let l;s&&a.push(i);try{l=t.apply(this,a)}catch(u){const c=u;if(s&&n)throw c;return i(c)}s||(l&&l.then&&typeof l.then=="function"?l.then(o,i):l instanceof Error?i(l):o(l))}function i(a,...s){n||(n=!0,e(a,...s))}function o(a){i(null,a)}}class ct extends Error{constructor(e,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},a=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof e=="string"?i=e:!o.cause&&e&&(a=!0,i=e.message,o.cause=e),!o.ruleId&&!o.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?o.ruleId=r:(o.source=r.slice(0,l),o.ruleId=r.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){const l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}const s=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=s?s.line:void 0,this.name=$n(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}ct.prototype.file="";ct.prototype.name="";ct.prototype.reason="";ct.prototype.message="";ct.prototype.stack="";ct.prototype.column=void 0;ct.prototype.line=void 0;ct.prototype.ancestors=void 0;ct.prototype.cause=void 0;ct.prototype.fatal=void 0;ct.prototype.place=void 0;ct.prototype.ruleId=void 0;ct.prototype.source=void 0;const _t={basename:Py,dirname:Ly,extname:Dy,join:By,sep:"/"};function Py(t,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');Xn(t);let n=0,r=-1,i=t.length,o;if(e===void 0||e.length===0||e.length>t.length){for(;i--;)if(t.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":t.slice(n,r)}if(e===t)return"";let a=-1,s=e.length-1;for(;i--;)if(t.codePointAt(i)===47){if(o){n=i+1;break}}else a<0&&(o=!0,a=i+1),s>-1&&(t.codePointAt(i)===e.codePointAt(s--)?s<0&&(r=i):(s=-1,r=a));return n===r?r=a:r<0&&(r=t.length),t.slice(n,r)}function Ly(t){if(Xn(t),t.length===0)return".";let e=-1,n=t.length,r;for(;--n;)if(t.codePointAt(n)===47){if(r){e=n;break}}else r||(r=!0);return e<0?t.codePointAt(0)===47?"/":".":e===1&&t.codePointAt(0)===47?"//":t.slice(0,e)}function Dy(t){Xn(t);let e=t.length,n=-1,r=0,i=-1,o=0,a;for(;e--;){const s=t.codePointAt(e);if(s===47){if(a){r=e+1;break}continue}n<0&&(a=!0,n=e+1),s===46?i<0?i=e:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":t.slice(i,n)}function By(...t){let e=-1,n;for(;++e0&&t.codePointAt(t.length-1)===47&&(n+="/"),e?"/"+n:n}function Fy(t,e){let n="",r=0,i=-1,o=0,a=-1,s,l;for(;++a<=t.length;){if(a2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=a,o=0;continue}}else if(n.length>0){n="",r=0,i=a,o=0;continue}}e&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+t.slice(i+1,a):n=t.slice(i+1,a),r=a-i-1;i=a,o=0}else s===46&&o>-1?o++:o=-1}return n}function Xn(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}const Uy={cwd:$y};function $y(){return"/"}function eo(t){return!!(t!==null&&typeof t=="object"&&"href"in t&&t.href&&"protocol"in t&&t.protocol&&t.auth===void 0)}function jy(t){if(typeof t=="string")t=new URL(t);else if(!eo(t)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+t+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(t.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return Vy(t)}function Vy(t){if(t.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const e=t.pathname;let n=-1;for(;++n0){let[f,...h]=c;const k=r[p][1];Ji(k)&&Ji(f)&&(f=mi(!0,k,f)),r[p]=[u,f,...h]}}}}const Yy=new Ro().freeze();function bi(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `parser`")}function xi(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `compiler`")}function wi(t,e){if(e)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function is(t){if(!Ji(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function os(t,e,n){if(!n)throw new Error("`"+t+"` finished async. Use `"+e+"` instead")}function lr(t){return Wy(t)?t:new Hy(t)}function Wy(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function Xy(t){return typeof t=="string"||Qy(t)}function Qy(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}function Co(){const t=Yy().use(Ov).use(Sy).use(Em);return{process:e=>t.processSync(e).toString()}}function Zy(t,e){return{role:"system",content:[t,Hc.map(n=>`- ${n}`).join(` +`),e].join(` + +`)}}function Jy(t){const e=new Uint8Array(t.frequencyBinCount);t.getByteFrequencyData(e);const n=[];for(let i=0;i<700;i+=80)n.push(e[i]);return e.map(i=>i**1.2).map(i=>i*1.2).reduce((i,o)=>i+o,0)/e.length/100}function e0(t){const e=new Uint8Array(t.frequencyBinCount);t.getByteFrequencyData(e);const n=[];for(let u=0;u<700;u+=80)n.push(e[u]);const r=e.map(u=>u**1.5),i=Math.min(...r),a=Math.max(...r)-i;let s;return a===0?s=r.map(()=>0):s=r.map(u=>(u-i)/a),s.reduce((u,c)=>u+c,0)/e.length}function t0(t,e="linear"){switch(e){case"linear":return Jy(t);case"minmax":return e0(t)}}const au=Nr("AudioContext",()=>({audioContext:new AudioContext,calculateVolume:t0})),n0=Nr("SpeakingStore",()=>{const n=V(0),r=V(!1),i=_e(()=>r.value?(30+70*n.value)/100:30);return{mouthOpenSize:n,nowSpeaking:r,nowSpeakingAvatarBorderOpacity:i}});function ur(t,e,n){return e+n<0||e+n>=t.length-1?"":t[e+n]}function r0(t){let e="literal",n="";return{async consume(r){var i,o,a;for(let s=0;s"?(l+=ur(r,s,1),u="literal",s++):l==="<"?u="special":l===">"&&(u="literal"),e==="literal"&&u==="special"?n!==""&&(await((i=t.onLiteral)==null?void 0:i.call(t,n)),n=""):e==="special"&&u==="literal"&&n!==""&&(n+=l,await((o=t.onSpecial)==null?void 0:o.call(t,n)),n=""),e==="literal"&&u==="literal"?(await((a=t.onLiteral)==null?void 0:a.call(t,l)),n=""):e==="special"&&u==="literal"?n="":n+=l,e=u}},async end(){var r,i;n!==""&&(e==="literal"?await((r=t.onLiteral)==null?void 0:r.call(t,n)):n.endsWith("|>")&&await((i=t.onSpecial)==null?void 0:i.call(t,n)))}}}const i0=async t=>(t.fetch??globalThis.fetch)(yo("models",t.baseURL),{headers:vo({"Content-Type":"application/json",...t.headers},t.apiKey),signal:t.abortSignal}).then(oh).then(({data:e})=>e);var o0=async t=>{var e;return(t.fetch??globalThis.fetch)(yo("chat/completions",t.baseURL),{body:wl({...t,tools:(e=t.tools)==null?void 0:e.map(n=>({function:n.function,type:"function"}))}),headers:vo({"Content-Type":"application/json",...t.headers},t.apiKey),method:"POST",signal:t.abortSignal}).then(bo)};const as="data:",a0=async t=>o0({...t,stream:!0}).then(async e=>{const n=new TextDecoder;let r,i;const o=async(d,p)=>{if(!d||!d.startsWith(as))return;const f=d.slice(as.length),h=f.startsWith(" ")?f.slice(1):f;if(h==="[DONE]")return p.terminate(),!0;if(h.startsWith("{")&&h.includes('"error":'))return p.error(new Error(`Error from server: ${h}`)),!0;const k=JSON.parse(h);p.enqueue(k),t.onChunk&&await t.onChunk(k),k.choices[0].finish_reason!==void 0&&(r=k.choices[0].finish_reason),k.usage!==void 0&&(i=k.usage)};let a="";const s=e.body.pipeThrough(new TransformStream({transform:async(d,p)=>{const f=n.decode(d,{stream:!0});a+=f;const h=a.split(` +`);a=h.pop()??"";for(const k of h)if(await o(k,p))break}})),[l,u]=s.tee(),c=u.pipeThrough(new TransformStream({transform:(d,p)=>p.enqueue(d.choices[0].delta.content)}));return{chunkStream:l,finishReason:r,textStream:c,usage:i}}),s0=Nr("llm",()=>{async function t(n,r,i,o){return await a0({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r,model:i,messages:o,streamOptions:{usage:!0}})}async function e(n,r){if(n==="")return[];try{return await i0({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r})}catch(i){if(String(i).includes("Failed to construct 'URL': Invalid URL"))return[];throw i}}return{models:e,stream:t}}),un=Nr("chat",()=>{const{stream:t}=s0(),{t:e}=Gn(),{openAiApiBaseURL:n,openAiApiKey:r,openAiModel:i}=Zt(Kn()),o=V([]),a=V([]),s=V([]),l=V([]),u=V([]),c=V([]),d=V([]);function p(m){o.value.push(m)}function f(m){a.value.push(m)}function h(m){s.value.push(m)}function k(m){l.value.push(m)}function y(m){u.value.push(m)}function v(m){c.value.push(m)}function _(m){d.value.push(m)}const T=V([Zy(e("prompt.prefix"),e("prompt.suffix"))]),M=V({role:"assistant",content:""});async function O(m,E){if(!m)return;for(const D of o.value)await D(m);const{baseUrl:x=n.value,apiKey:b=r.value,model:g=i.value}=E??{};M.value={role:"assistant",content:""},T.value.push({role:"user",content:m}),T.value.push(M.value);const A=T.value.slice(0,T.value.length-1);for(const D of a.value)await D(m);for(const D of s.value)await D(m);const R=await t(x,b,g.id,A);for(const D of l.value)await D(m);let z="";const F=r0({onLiteral:async D=>{for(const U of u.value)await U(D);M.value.content+=D},onSpecial:async D=>{for(const U of c.value)await U(D)}});for await(const D of Jc(R.textStream,async U=>U))z+=D,await F.consume(D);await F.end();for(const D of d.value)await D();console.debug("LLM output:",z)}return{messages:T,streamingMessage:M,send:O,onBeforeMessageComposed:p,onAfterMessageComposed:f,onBeforeSend:h,onAfterSend:k,onTokenLiteral:y,onTokenSpecial:v,onStreamEnd:_}}),l0={relative:""},u0={"h-full":"","w-full":""},c0={key:0,class:"animate-stripe",absolute:"",left:"1/2",bottom:"20%",z:"20","rounded-2xl":"",text:"pink-600","px-2":"","py-2":"",transform:"translate-x--1/2"},d0={bg:"pink-50","rounded-xl":"","px-10":"","py-6":""},f0=["innerHTML"],p0=xe({__name:"Stage",setup(t){const e=V(),n=V(""),{stageView:r,elevenLabsApiKey:i,elevenlabsVoiceEnglish:o,elevenlabsVoiceJapanese:a}=Zt(Kn()),{mouthOpenSize:s}=Zt(n0()),{audioContext:l,calculateVolume:u}=au(),{onBeforeMessageComposed:c,onBeforeSend:d,onTokenLiteral:p,onTokenSpecial:f,onStreamEnd:h,streamingMessage:k}=un(),{process:y}=Co(),{locale:v}=Gn(),_=V(),T=V(!1),M=V(!1),O=Yr({handlers:[F=>new Promise(D=>{const U=l.createBufferSource();U.buffer=F.data.audioBuffer,U.connect(l.destination),U.connect(_.value),T.value=!0,U.start(0),U.onended=()=>{T.value=!1,D()}})]}),m=Yr({handlers:[async F=>{let D=yc.Camilla_KM;v.value==="jp"||v.value==="jp-JP"?D=a.value:D=o.value;const U=Date.now(),ee=lh({apiKey:i.value,baseURL:"https://unspeech.hyp3r.link/v1/"}),ne=await ah({...ee.speech("eleven_multilingual_v2",{voiceSettings:{stability:.4,similarityBoost:.5}}),input:F.data,voice:bc[D]}),ue=Date.now()-U;console.debug("TTS took",ue,"ms");const I=await l.decodeAudioData(ne);await O.add({audioBuffer:I,text:F.data})}]});m.on("add",F=>{console.debug("ttsQueue added",F)});const E=Gc(m),x=Yr({handlers:[async F=>{if(r.value==="3d"){const D=Wc[F.data];if(!D)return;await e.value.setExpression(D)}else r.value==="2d"&&(n.value=Xc[F.data])}]}),b=Kc(x);b.onHandlerEvent("emotion",F=>{console.debug("emotion detected",F)});const g=qc();g.onHandlerEvent("delay",F=>{console.debug("delay detected",F)});function A(){requestAnimationFrame(A),T.value&&(s.value=u(_.value,"linear"))}function R(){M.value||(A(),l.resume(),M.value=!0)}function z(){_.value||(_.value=l.createAnalyser())}return c(async()=>{z(),R()}),d(async()=>{n.value=Di}),p(async F=>{await E.add(F)}),f(async F=>{await g.add(F),await b.add(F)}),h(async()=>{await g.add(Yc)}),vt(()=>{var D,U,ee;M.value=!1;const F=window;(D=F.electron)==null||D.ipcRenderer.removeAllListeners("before-hide"),(U=F.electron)==null||U.ipcRenderer.removeAllListeners("after-show"),(ee=F.electron)==null||ee.ipcRenderer.removeAllListeners("before-quit")}),At(()=>{var D,U,ee;const F=window;(D=F.electron)==null||D.ipcRenderer.on("before-hide",()=>{n.value=Ws}),(U=F.electron)==null||U.ipcRenderer.on("after-show",()=>{n.value=Xs}),(ee=F.electron)==null||ee.ipcRenderer.on("before-quit",()=>{n.value=Di})}),(F,D)=>(W(),Z("div",l0,[P("div",u0,[B(r)==="2d"?(W(),Ge(ud,{key:0,motion:n.value,"onUpdate:motion":D[0]||(D[0]=U=>n.value=U),"mouth-open-size":B(s),model:"./assets/live2d/models/hiyori_pro_zh.zip","min-w":"50% {const o=xc(r,i);if(o||o===null)return o;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},i=>(Ec(r,i),i)]}function su(t,e,n){const r=n.originalEvent.target,i=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&r.addEventListener(t,e,{once:!0}),r.dispatchEvent(i)}function lu(t){return Rs()?(Cs(t),!0):!1}function h0(t){let e=!1,n;const r=Us(!0);return(...i)=>(e||(n=r.run(()=>t(...i)),e=!0),n)}function m0(t){let e=0,n,r;const i=()=>{e-=1,r&&e<=0&&(r.stop(),n=void 0,r=void 0)};return(...o)=>(e+=1,n||(r=Us(!0),n=r.run(()=>t(...o))),lu(i),n)}function No(t){return typeof t=="function"?t():B(t)}const fn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const g0=t=>typeof t<"u",v0=Object.prototype.toString,y0=t=>v0.call(t)==="[object Object]",b0=()=>{},ss=x0();function x0(){var t,e;return fn&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function w0(t){return cn()}function k0(t,e){w0()&&$s(t,e)}function $r(t){var e;const n=No(t);return(e=n==null?void 0:n.$el)!=null?e:n}const Po=fn?window:void 0;function uu(...t){let e,n,r,i;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,r,i]=t,e=Po):[e,n,r,i]=t,!e)return b0;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],a=()=>{o.forEach(c=>c()),o.length=0},s=(c,d,p,f)=>(c.addEventListener(d,p,f),()=>c.removeEventListener(d,p,f)),l=Ie(()=>[$r(e),No(i)],([c,d])=>{if(a(),!c)return;const p=y0(d)?{...d}:d;o.push(...n.flatMap(f=>r.map(h=>s(c,f,h,p))))},{immediate:!0,flush:"post"}),u=()=>{l(),a()};return lu(u),u}function T0(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function A0(...t){let e,n,r={};t.length===3?(e=t[0],n=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],r=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:i=Po,eventName:o="keydown",passive:a=!1,dedupe:s=!1}=r,l=T0(e);return uu(i,o,u=>{u.repeat&&No(s)||l(u)&&n(u)},a)}function _0(){const t=V(!1),e=cn();return e&&At(()=>{t.value=!0},e),t}function E0(t){return JSON.parse(JSON.stringify(t))}function M0(t,e,n,r={}){var i,o,a;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:p}=r,f=cn(),h=n||(f==null?void 0:f.emit)||((i=f==null?void 0:f.$emit)==null?void 0:i.bind(f))||((a=(o=f==null?void 0:f.proxy)==null?void 0:o.$emit)==null?void 0:a.bind(f==null?void 0:f.proxy));let k=u;k=k||`update:${e.toString()}`;const y=T=>s?typeof s=="function"?s(T):E0(T):T,v=()=>g0(t[e])?y(t[e]):d,_=T=>{p?p(T)&&h(k,T):h(k,T)};if(l){const T=v(),M=V(T);let O=!1;return Ie(()=>t[e],m=>{O||(O=!0,M.value=y(m),xt(()=>O=!1))}),Ie(M,m=>{!O&&(m!==t[e]||c)&&_(m)},{deep:c}),M}else return _e({get(){return v()},set(T){_(T)}})}function Lo(t){return t?t.flatMap(e=>e.type===sn?Lo(e.children):[e]):[]}function Xt(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function ki(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function to(t,e,n=".",r){if(!ki(e))return to(t,{},n);const i=Object.assign({},e);for(const o in t){if(o==="__proto__"||o==="constructor")continue;const a=t[o];a!=null&&(Array.isArray(a)&&Array.isArray(i[o])?i[o]=[...a,...i[o]]:ki(a)&&ki(i[o])?i[o]=to(a,i[o],(n?`${n}.`:"")+o.toString()):i[o]=a)}return i}function I0(t){return(...e)=>e.reduce((n,r)=>to(n,r,""),{})}const S0=I0(),[cu,$x]=Oo("ConfigProvider");let R0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",C0=(t=21)=>{let e="",n=t;for(;n--;)e+=R0[Math.random()*64|0];return e};const O0=m0(()=>{const t=V(new Map),e=V(),n=_e(()=>{for(const a of t.value.values())if(a)return!0;return!1}),r=cu({scrollBody:V(!0)});let i=null;const o=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.body.style.removeProperty("--scrollbar-width"),document.body.style.overflow=e.value??"",ss&&(i==null||i()),e.value=void 0};return Ie(n,(a,s)=>{var l;if(!fn)return;if(!a){s&&o();return}e.value===void 0&&(e.value=document.body.style.overflow);const u=window.innerWidth-document.documentElement.clientWidth,c={padding:u,margin:0},d=(l=r.scrollBody)!=null&&l.value?typeof r.scrollBody.value=="object"?S0({padding:r.scrollBody.value.padding===!0?u:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?u:r.scrollBody.value.margin},c):c:{padding:0,margin:0};u>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.body.style.setProperty("--scrollbar-width",`${u}px`),document.body.style.overflow="hidden"),ss&&(i=uu(document,"touchmove",p=>P0(p),{passive:!1})),xt(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),t});function N0(t){const e=C0(6),n=O0();n.value.set(e,t);const r=_e({get:()=>n.value.get(e)??!1,set:i=>n.value.set(e,i)});return k0(()=>{n.value.delete(e)}),r}function du(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.cancelable&&e.preventDefault(),!1)}function Do(t){const e=cn(),n=e==null?void 0:e.type.emits,r={};return n!=null&&n.length||console.warn(`No emitted event found. Please check component: ${e==null?void 0:e.type.__name}`),n==null||n.forEach(i=>{r[Ac(_c(i))]=(...o)=>t(i,...o)}),r}function $t(){const t=cn(),e=V(),n=_e(()=>{var a,s;return["#text","#comment"].includes((a=e.value)==null?void 0:a.$el.nodeName)?(s=e.value)==null?void 0:s.$el.nextElementSibling:$r(e)}),r=Object.assign({},t.exposed),i={};for(const a in t.props)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>t.props[a]});if(Object.keys(r).length>0)for(const a in r)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>r[a]});Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=i;function o(a){e.value=a,a&&(Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>a instanceof Element?a:a.$el}),t.exposed=i)}return{forwardRef:o,currentRef:e,currentElement:n}}var L0=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},bn=new WeakMap,cr=new WeakMap,dr={},Ti=0,fu=function(t){return t&&(t.host||fu(t.parentNode))},D0=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=fu(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},B0=function(t,e,n,r){var i=D0(e,Array.isArray(t)?t:[t]);dr[n]||(dr[n]=new WeakMap);var o=dr[n],a=[],s=new Set,l=new Set(i),u=function(d){!d||s.has(d)||(s.add(d),u(d.parentNode))};i.forEach(u);var c=function(d){!d||l.has(d)||Array.prototype.forEach.call(d.children,function(p){if(s.has(p))c(p);else try{var f=p.getAttribute(r),h=f!==null&&f!=="false",k=(bn.get(p)||0)+1,y=(o.get(p)||0)+1;bn.set(p,k),o.set(p,y),a.push(p),k===1&&h&&cr.set(p,!0),y===1&&p.setAttribute(n,"true"),h||p.setAttribute(r,"true")}catch(v){console.error("aria-hidden: cannot operate on ",p,v)}})};return c(e),s.clear(),Ti++,function(){a.forEach(function(d){var p=bn.get(d)-1,f=o.get(d)-1;bn.set(d,p),o.set(d,f),p||(cr.has(d)||d.removeAttribute(r),cr.delete(d)),f||d.removeAttribute(n)}),Ti--,Ti||(bn=new WeakMap,bn=new WeakMap,cr=new WeakMap,dr={})}},z0=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),i=L0(t);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),B0(r,i,n,"aria-hidden")):function(){return null}};function F0(t){let e;Ie(()=>$r(t),n=>{n?e=z0(n):e&&e()}),vt(()=>{e&&e()})}let U0=0;function no(t,e="radix"){const n=cu({useId:void 0});return Ko?`${e}-${Ko()}`:n.useId?`${e}-${n.useId()}`:`${e}-${++U0}`}function $0(t,e){const n=V(t);function r(i){return e[n.value][i]??n.value}return{state:n,dispatch:i=>{n.value=r(i)}}}const j0=xe({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:e,slots:n}){return()=>{var r,i;if(!n.default)return null;const o=Lo(n.default()),a=o.findIndex(c=>c.type!==kc);if(a===-1)return o;const s=o[a];(r=s.props)==null||delete r.ref;const l=s.props?zt(e,s.props):e;e.class&&(i=s.props)!=null&&i.class&&delete s.props.class;const u=Tc(s,l);for(const c in l)c.startsWith("on")&&(u.props||(u.props={}),u.props[c]=l[c]);return o.length===1?u:(o[a]=u,o)}}}),jr=xe({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:e,slots:n}){const r=t.asChild?"template":t.as;return typeof r=="string"&&["area","img","input"].includes(r)?()=>vr(r,e):r!=="template"?()=>vr(t.as,e,{default:n.default}):()=>vr(j0,e,{default:n.default})}});function V0(t,e){var n;const r=V({}),i=V("none"),o=V(t),a=t.value?"mounted":"unmounted";let s;const l=((n=e.value)==null?void 0:n.ownerDocument.defaultView)??Po,{state:u,dispatch:c}=$0(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=y=>{var v;if(fn){const _=new CustomEvent(y,{bubbles:!1,cancelable:!1});(v=e.value)==null||v.dispatchEvent(_)}};Ie(t,async(y,v)=>{var _;const T=v!==y;if(await xt(),T){const M=i.value,O=fr(e.value);y?(c("MOUNT"),d("enter"),O==="none"&&d("after-enter")):O==="none"||((_=r.value)==null?void 0:_.display)==="none"?(c("UNMOUNT"),d("leave"),d("after-leave")):v&&M!==O?(c("ANIMATION_OUT"),d("leave")):(c("UNMOUNT"),d("after-leave"))}},{immediate:!0});const p=y=>{const v=fr(e.value),_=v.includes(y.animationName),T=u.value==="mounted"?"enter":"leave";if(y.target===e.value&&_&&(d(`after-${T}`),c("ANIMATION_END"),!o.value)){const M=e.value.style.animationFillMode;e.value.style.animationFillMode="forwards",s=l==null?void 0:l.setTimeout(()=>{var O;((O=e.value)==null?void 0:O.style.animationFillMode)==="forwards"&&(e.value.style.animationFillMode=M)})}y.target===e.value&&v==="none"&&c("ANIMATION_END")},f=y=>{y.target===e.value&&(i.value=fr(e.value))},h=Ie(e,(y,v)=>{y?(r.value=getComputedStyle(y),y.addEventListener("animationstart",f),y.addEventListener("animationcancel",p),y.addEventListener("animationend",p)):(c("ANIMATION_END"),s!==void 0&&(l==null||l.clearTimeout(s)),v==null||v.removeEventListener("animationstart",f),v==null||v.removeEventListener("animationcancel",p),v==null||v.removeEventListener("animationend",p))},{immediate:!0}),k=Ie(u,()=>{const y=fr(e.value);i.value=u.value==="mounted"?y:"none"});return vt(()=>{h(),k()}),{isPresent:_e(()=>["mounted","unmountSuspended"].includes(u.value))}}function fr(t){return t&&getComputedStyle(t).animationName||"none"}const pu=xe({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:e,expose:n}){var r;const{present:i,forceMount:o}=In(t),a=V(),{isPresent:s}=V0(i,a);n({present:s});let l=e.default({present:s});l=Lo(l||[]);const u=cn();if(l&&(l==null?void 0:l.length)>1){const c=(r=u==null?void 0:u.parent)!=null&&r.type.name?`<${u.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${c}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` +`)].join(` +`))}return()=>o.value||i.value||s.value?vr(e.default({present:s})[0],{ref:c=>{const d=$r(c);return typeof(d==null?void 0:d.hasAttribute)>"u"||(d!=null&&d.hasAttribute("data-radix-popper-content-wrapper")?a.value=d.firstElementChild:a.value=d),d}}):null}}),[pn,H0]=Oo("DialogRoot"),G0=xe({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:["update:open"],setup(t,{emit:e}){const n=t,r=M0(n,"open",e,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=V(),o=V(),{modal:a}=In(n);return H0({open:r,modal:a,openModal:()=>{r.value=!0},onOpenChange:s=>{r.value=s},onOpenToggle:()=>{r.value=!r.value},contentId:"",titleId:"",descriptionId:"",triggerElement:i,contentElement:o}),(s,l)=>je(s.$slots,"default",{open:B(r)})}}),hu=xe({__name:"DialogTrigger",props:{asChild:{type:Boolean},as:{default:"button"}},setup(t){const e=t,n=pn(),{forwardRef:r,currentElement:i}=$t();return n.contentId||(n.contentId=no(void 0,"radix-vue-dialog-content")),At(()=>{n.triggerElement.value=i.value}),(o,a)=>(W(),Ge(B(jr),zt(e,{ref:B(r),type:o.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":B(n).open.value||!1,"aria-controls":B(n).open.value?B(n).contentId:void 0,"data-state":B(n).open.value?"open":"closed",onClick:B(n).onOpenToggle}),{default:ye(()=>[je(o.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),K0=xe({__name:"Teleport",props:{to:{default:"body"},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=_0();return(n,r)=>B(e)||n.forceMount?(W(),Ge(wc,{key:0,to:n.to,disabled:n.disabled},[je(n.$slots,"default")],8,["to","disabled"])):Ke("",!0)}}),mu=xe({__name:"DialogPortal",props:{to:{},disabled:{type:Boolean},forceMount:{type:Boolean}},setup(t){const e=t;return(n,r)=>(W(),Ge(B(K0),Si(gs(e)),{default:ye(()=>[je(n.$slots,"default")]),_:3},16))}}),q0="dismissableLayer.pointerDownOutside",Y0="dismissableLayer.focusOutside";function gu(t,e){const n=e.closest("[data-dismissable-layer]"),r=t.dataset.dismissableLayer===""?t:t.querySelector("[data-dismissable-layer]"),i=Array.from(t.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&r===n||i.indexOf(r){});return Mt(a=>{if(!fn)return;const s=async u=>{const c=u.target;if(e!=null&&e.value){if(gu(e.value,c)){i.value=!1;return}if(u.target&&!i.value){let d=function(){su(q0,t,p)};const p={originalEvent:u};u.pointerType==="touch"?(r.removeEventListener("click",o.value),o.value=d,r.addEventListener("click",o.value,{once:!0})):d()}else r.removeEventListener("click",o.value);i.value=!1}},l=window.setTimeout(()=>{r.addEventListener("pointerdown",s)},0);a(()=>{window.clearTimeout(l),r.removeEventListener("pointerdown",s),r.removeEventListener("click",o.value)})}),{onPointerDownCapture:()=>i.value=!0}}function X0(t,e){var n;const r=((n=e==null?void 0:e.value)==null?void 0:n.ownerDocument)??(globalThis==null?void 0:globalThis.document),i=V(!1);return Mt(o=>{if(!fn)return;const a=async s=>{e!=null&&e.value&&(await xt(),!(!e.value||gu(e.value,s.target))&&s.target&&!i.value&&su(Y0,t,{originalEvent:s}))};r.addEventListener("focusin",a),o(()=>r.removeEventListener("focusin",a))}),{onFocusCapture:()=>i.value=!0,onBlurCapture:()=>i.value=!1}}const Pt=js({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Q0=xe({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(t,{emit:e}){const n=t,r=e,{forwardRef:i,currentElement:o}=$t(),a=_e(()=>{var h;return((h=o.value)==null?void 0:h.ownerDocument)??globalThis.document}),s=_e(()=>Pt.layersRoot),l=_e(()=>o.value?Array.from(s.value).indexOf(o.value):-1),u=_e(()=>Pt.layersWithOutsidePointerEventsDisabled.size>0),c=_e(()=>{const h=Array.from(s.value),[k]=[...Pt.layersWithOutsidePointerEventsDisabled].slice(-1),y=h.indexOf(k);return l.value>=y}),d=W0(async h=>{const k=[...Pt.branches].some(y=>y==null?void 0:y.contains(h.target));!c.value||k||(r("pointerDownOutside",h),r("interactOutside",h),await xt(),h.defaultPrevented||r("dismiss"))},o),p=X0(h=>{[...Pt.branches].some(k=>k==null?void 0:k.contains(h.target))||(r("focusOutside",h),r("interactOutside",h),h.defaultPrevented||r("dismiss"))},o);A0("Escape",h=>{l.value===s.value.size-1&&(r("escapeKeyDown",h),h.defaultPrevented||r("dismiss"))});let f;return Mt(h=>{o.value&&(n.disableOutsidePointerEvents&&(Pt.layersWithOutsidePointerEventsDisabled.size===0&&(f=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),Pt.layersWithOutsidePointerEventsDisabled.add(o.value)),s.value.add(o.value),h(()=>{n.disableOutsidePointerEvents&&Pt.layersWithOutsidePointerEventsDisabled.size===1&&(a.value.body.style.pointerEvents=f)}))}),Mt(h=>{h(()=>{o.value&&(s.value.delete(o.value),Pt.layersWithOutsidePointerEventsDisabled.delete(o.value))})}),(h,k)=>(W(),Ge(B(jr),{ref:B(i),"as-child":h.asChild,as:h.as,"data-dismissable-layer":"",style:Er({pointerEvents:u.value?c.value?"auto":"none":void 0}),onFocusCapture:B(p).onFocusCapture,onBlurCapture:B(p).onBlurCapture,onPointerdownCapture:B(d).onPointerDownCapture},{default:ye(()=>[je(h.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),Ai="focusScope.autoFocusOnMount",_i="focusScope.autoFocusOnUnmount",ls={bubbles:!1,cancelable:!0};function Z0(t,{select:e=!1}={}){const n=Xt();for(const r of t)if(qt(r,{select:e}),Xt()!==n)return!0}function J0(t){const e=vu(t),n=us(e,t),r=us(e.reverse(),t);return[n,r]}function vu(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function us(t,e){for(const n of t)if(!eb(n,{upTo:e}))return n}function eb(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function tb(t){return t instanceof HTMLInputElement&&"select"in t}function qt(t,{select:e=!1}={}){if(t&&t.focus){const n=Xt();t.focus({preventScroll:!0}),t!==n&&tb(t)&&e&&t.select()}}const nb=h0(()=>V([]));function rb(){const t=nb();return{add(e){const n=t.value[0];e!==n&&(n==null||n.pause()),t.value=cs(t.value,e),t.value.unshift(e)},remove(e){var n;t.value=cs(t.value,e),(n=t.value[0])==null||n.resume()}}}function cs(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function ib(t){return t.filter(e=>e.tagName!=="A")}const ob=xe({__name:"FocusScope",props:{loop:{type:Boolean,default:!1},trapped:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["mountAutoFocus","unmountAutoFocus"],setup(t,{emit:e}){const n=t,r=e,{currentRef:i,currentElement:o}=$t(),a=V(null),s=rb(),l=js({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Mt(c=>{if(!fn)return;const d=o.value;if(!n.trapped)return;function p(y){if(l.paused||!d)return;const v=y.target;d.contains(v)?a.value=v:qt(a.value,{select:!0})}function f(y){if(l.paused||!d)return;const v=y.relatedTarget;v!==null&&(d.contains(v)||qt(a.value,{select:!0}))}function h(y){d.contains(a.value)||qt(d)}document.addEventListener("focusin",p),document.addEventListener("focusout",f);const k=new MutationObserver(h);d&&k.observe(d,{childList:!0,subtree:!0}),c(()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",f),k.disconnect()})}),Mt(async c=>{const d=o.value;if(await xt(),!d)return;s.add(l);const p=Xt();if(!d.contains(p)){const f=new CustomEvent(Ai,ls);d.addEventListener(Ai,h=>r("mountAutoFocus",h)),d.dispatchEvent(f),f.defaultPrevented||(Z0(ib(vu(d)),{select:!0}),Xt()===p&&qt(d))}c(()=>{d.removeEventListener(Ai,k=>r("mountAutoFocus",k));const f=new CustomEvent(_i,ls),h=k=>{r("unmountAutoFocus",k)};d.addEventListener(_i,h),d.dispatchEvent(f),setTimeout(()=>{f.defaultPrevented||qt(p??document.body,{select:!0}),d.removeEventListener(_i,h),s.remove(l)},0)})});function u(c){if(!n.loop&&!n.trapped||l.paused)return;const d=c.key==="Tab"&&!c.altKey&&!c.ctrlKey&&!c.metaKey,p=Xt();if(d&&p){const f=c.currentTarget,[h,k]=J0(f);h&&k?!c.shiftKey&&p===k?(c.preventDefault(),n.loop&&qt(h,{select:!0})):c.shiftKey&&p===h&&(c.preventDefault(),n.loop&&qt(k,{select:!0})):p===f&&c.preventDefault()}}return(c,d)=>(W(),Ge(B(jr),{ref_key:"currentRef",ref:i,tabindex:"-1","as-child":c.asChild,as:c.as,onKeydown:u},{default:ye(()=>[je(c.$slots,"default")]),_:3},8,["as-child","as"]))}});function ab(t){return t?"open":"closed"}const yu=xe({__name:"DialogContentImpl",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,i=pn(),{forwardRef:o,currentElement:a}=$t();return i.titleId||(i.titleId=no(void 0,"radix-vue-dialog-title")),i.descriptionId||(i.descriptionId=no(void 0,"radix-vue-dialog-description")),At(()=>{i.contentElement=a,Xt()!==document.body&&(i.triggerElement.value=Xt())}),(s,l)=>(W(),Ge(B(ob),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:l[5]||(l[5]=u=>r("openAutoFocus",u)),onUnmountAutoFocus:l[6]||(l[6]=u=>r("closeAutoFocus",u))},{default:ye(()=>[he(B(Q0),zt({id:B(i).contentId,ref:B(o),as:s.as,"as-child":s.asChild,"disable-outside-pointer-events":s.disableOutsidePointerEvents,role:"dialog","aria-describedby":B(i).descriptionId,"aria-labelledby":B(i).titleId,"data-state":B(ab)(B(i).open.value)},s.$attrs,{onDismiss:l[0]||(l[0]=u=>B(i).onOpenChange(!1)),onEscapeKeyDown:l[1]||(l[1]=u=>r("escapeKeyDown",u)),onFocusOutside:l[2]||(l[2]=u=>r("focusOutside",u)),onInteractOutside:l[3]||(l[3]=u=>r("interactOutside",u)),onPointerDownOutside:l[4]||(l[4]=u=>r("pointerDownOutside",u))}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),sb=xe({__name:"DialogContentModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,i=pn(),o=Do(r),{forwardRef:a,currentElement:s}=$t();return F0(s),(l,u)=>(W(),Ge(yu,zt({...n,...B(o)},{ref:B(a),"trap-focus":B(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:u[0]||(u[0]=c=>{var d;c.defaultPrevented||(c.preventDefault(),(d=B(i).triggerElement.value)==null||d.focus())}),onPointerDownOutside:u[1]||(u[1]=c=>{const d=c.detail.originalEvent,p=d.button===0&&d.ctrlKey===!0;(d.button===2||p)&&c.preventDefault()}),onFocusOutside:u[2]||(u[2]=c=>{c.preventDefault()})}),{default:ye(()=>[je(l.$slots,"default")]),_:3},16,["trap-focus"]))}}),lb=xe({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=Do(e);$t();const i=pn(),o=V(!1),a=V(!1);return(s,l)=>(W(),Ge(yu,zt({...n,...B(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:l[0]||(l[0]=u=>{var c;u.defaultPrevented||(o.value||(c=B(i).triggerElement.value)==null||c.focus(),u.preventDefault()),o.value=!1,a.value=!1}),onInteractOutside:l[1]||(l[1]=u=>{var c;u.defaultPrevented||(o.value=!0,u.detail.originalEvent.type==="pointerdown"&&(a.value=!0));const d=u.target;(c=B(i).triggerElement.value)!=null&&c.contains(d)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&a.value&&u.preventDefault()})}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16))}}),ub=xe({__name:"DialogContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const n=t,r=e,i=pn(),o=Do(r),{forwardRef:a}=$t();return(s,l)=>(W(),Ge(B(pu),{present:s.forceMount||B(i).open.value},{default:ye(()=>[B(i).modal.value?(W(),Ge(sb,zt({key:0,ref:B(a)},{...n,...B(o),...s.$attrs}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16)):(W(),Ge(lb,zt({key:1,ref:B(a)},{...n,...B(o),...s.$attrs}),{default:ye(()=>[je(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),cb=xe({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean},as:{}},setup(t){const e=pn();return N0(!0),$t(),(n,r)=>(W(),Ge(B(jr),{as:n.as,"as-child":n.asChild,"data-state":B(e).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:ye(()=>[je(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),db=xe({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){const e=pn(),{forwardRef:n}=$t();return(r,i)=>{var o;return(o=B(e))!=null&&o.modal.value?(W(),Ge(B(pu),{key:0,present:r.forceMount||B(e).open.value},{default:ye(()=>[he(cb,zt(r.$attrs,{ref:B(n),as:r.as,"as-child":r.asChild}),{default:ye(()=>[je(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):Ke("",!0)}}});function fb(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}fb();(function(){try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('[vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1)}[vaul-drawer][vaul-drawer-direction=bottom]{transform:translate3d(0,100%,0)}[vaul-drawer][vaul-drawer-direction=top]{transform:translate3d(0,-100%,0)}[vaul-drawer][vaul-drawer-direction=left]{transform:translate3d(-100%,0,0)}[vaul-drawer][vaul-drawer-direction=right]{transform:translate3d(100%,0,0)}.vaul-dragging .vaul-scrollable [vault-drawer-direction=top],.vaul-dragging .vaul-scrollable [vault-drawer-direction=bottom]{overflow-y:hidden!important}.vaul-dragging .vaul-scrollable [vault-drawer-direction=left],.vaul-dragging .vaul-scrollable [vault-drawer-direction=right]{overflow-x:hidden!important}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=top],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=left],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[vaul-overlay]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[vaul-overlay][vaul-drawer-visible=true]{opacity:1}[vaul-drawer]:after{content:"";position:absolute;background:inherit;background-color:inherit}[vaul-drawer][vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[vaul-drawer][vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[vaul-overlay][vaul-snap-points=true]:not([vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[vaul-overlay][vaul-snap-points-overlay=true]:not([vaul-drawer-visible=false]){opacity:1}@keyframes fake-animation{}@media (hover: hover) and (pointer: fine){[vaul-drawer]{-webkit-user-select:none;user-select:none}}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();const pb=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const hb=t=>typeof t<"u";function mb(t){return JSON.parse(JSON.stringify(t))}function ds(t,e,n,r={}){var i,o,a;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:p}=r,f=cn(),h=n||(f==null?void 0:f.emit)||((i=f==null?void 0:f.$emit)==null?void 0:i.bind(f))||((a=(o=f==null?void 0:f.proxy)==null?void 0:o.$emit)==null?void 0:a.bind(f==null?void 0:f.proxy));let k=u;e||(e="modelValue"),k=k||`update:${e.toString()}`;const y=T=>s?typeof s=="function"?s(T):mb(T):T,v=()=>hb(t[e])?y(t[e]):d,_=T=>{p?p(T)&&h(k,T):h(k,T)};if(l){const T=v(),M=V(T);let O=!1;return Ie(()=>t[e],m=>{O||(O=!0,M.value=y(m),xt(()=>O=!1))}),Ie(M,m=>{!O&&(m!==t[e]||c)&&_(m)},{deep:c}),M}else return _e({get(){return v()},set(T){_(T)}})}const[bu,gb]=Oo("DrawerRoot"),xu=new WeakMap;function $e(t,e,n=!1){if(!t||!(t instanceof HTMLElement)||!e)return;const r={};Object.entries(e).forEach(([i,o])=>{if(i.startsWith("--")){t.style.setProperty(i,o);return}r[i]=t.style[i],t.style[i]=o}),!n&&xu.set(t,r)}function pr(t,e){if(!t||!(t instanceof HTMLElement))return;const n=xu.get(t);n&&(e?t.style[e]=n[e]:Object.entries(n).forEach(([r,i])=>{t.style[r]=i}))}function hr(t,e){const n=window.getComputedStyle(t),r=n.transform||n.webkitTransform||n.mozTransform;let i=r.match(/^matrix3d\((.+)\)$/);return i?Number.parseFloat(i[1].split(", ")[We(e)?13:12]):(i=r.match(/^matrix\((.+)\)$/),i?Number.parseFloat(i[1].split(", ")[We(e)?5:4]):null)}function vb(t){return 8*(Math.log(t+1)-2)}function We(t){switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}}const Le={DURATION:.5,EASE:[.32,.72,0,1]},wu=.4;function yb({activeSnapPoint:t,snapPoints:e,drawerRef:n,overlayRef:r,fadeFromIndex:i,onSnapPointChange:o,direction:a}){const s=V(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);function l(){s.value={innerWidth:window.innerWidth,innerHeight:window.innerHeight}}At(()=>{typeof window<"u"&&window.addEventListener("resize",l)}),$s(()=>{typeof window<"u"&&window.removeEventListener("resize",l)});const u=_e(()=>(e.value&&t.value===e.value[e.value.length-1])??null),c=_e(()=>e.value&&e.value.length>0&&((i==null?void 0:i.value)||(i==null?void 0:i.value)===0)&&!Number.isNaN(i==null?void 0:i.value)&&e.value[(i==null?void 0:i.value)??-1]===t.value||!e.value),d=_e(()=>{var _;return((_=e.value)==null?void 0:_.findIndex(T=>T===t.value))??null}),p=_e(()=>{var _;return((_=e.value)==null?void 0:_.map(T=>{const M=typeof T=="string";let O=0;if(M&&(O=Number.parseInt(T,10)),We(a.value)){const E=M?O:s.value?T*s.value.innerHeight:0;return s.value?a.value==="bottom"?s.value.innerHeight-E:-s.value.innerHeight+E:E}const m=M?O:s.value?T*s.value.innerWidth:0;return s.value?a.value==="right"?s.value.innerWidth-m:-s.value.innerWidth+m:m}))??[]}),f=_e(()=>{var _;return d.value!==null?(_=p.value)==null?void 0:_[d.value]:null}),h=_=>{var T,M,O,m;const E=((T=p.value)==null?void 0:T.findIndex(x=>x===_))??null;xt(()=>{var x;o(E,p.value),$e((x=n.value)==null?void 0:x.$el,{transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,transform:We(a.value)?`translate3d(0, ${_}px, 0)`:`translate3d(${_}px, 0, 0)`})}),p.value&&E!==p.value.length-1&&E!==(i==null?void 0:i.value)?$e((M=r.value)==null?void 0:M.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,opacity:"0"}):$e((O=r.value)==null?void 0:O.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,opacity:"1"}),t.value=E!==null?((m=e.value)==null?void 0:m[E])??null:null};Ie([t,p,e],()=>{var _;if(t.value){const T=((_=e.value)==null?void 0:_.findIndex(M=>M===t.value))??-1;p.value&&T!==-1&&typeof p.value[T]=="number"&&h(p.value[T])}},{immediate:!0});function k({draggedDistance:_,closeDrawer:T,velocity:M,dismissible:O}){var m,E,x;if(i.value===void 0)return;const b=a.value==="bottom"||a.value==="right"?(f.value??0)-_:(f.value??0)+_,g=d.value===i.value-1,A=d.value===0,R=_>0;if(g&&$e((m=r.value)==null?void 0:m.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),M>2&&!R){O?T():h(p.value[0]);return}if(M>2&&R&&p&&e.value){h(p.value[e.value.length-1]);return}const z=(E=p.value)==null?void 0:E.reduce((D,U)=>typeof D!="number"||typeof U!="number"?D:Math.abs(U-b)wu&&Math.abs(_)0&&u){h(p.value[(((x=e.value)==null?void 0:x.length)??0)-1]);return}if(A&&D<0&&O&&T(),d.value===null)return;h(p.value[d.value+D]);return}h(z)}function y({draggedDistance:_}){var T;if(f.value===null)return;const M=a.value==="bottom"||a.value==="right"?f.value-_:f.value+_;(a.value==="bottom"||a.value==="right")&&Mp.value[p.value.length-1]||$e((T=n.value)==null?void 0:T.$el,{transform:We(a.value)?`translate3d(0, ${M}px, 0)`:`translate3d(${M}px, 0, 0)`})}function v(_,T){if(!e.value||typeof d.value!="number"||!p.value||i.value===void 0)return null;const M=d.value===i.value-1;if(d.value>=i.value&&T)return 0;if(M&&!T)return 1;if(!c.value&&!M)return null;const O=M?d.value+1:d.value-1,m=M?p.value[O]-p.value[O-1]:p.value[O+1]-p.value[O],E=_/Math.abs(m);return M?1-E:E}return{isLastSnapPoint:u,shouldFade:c,getPercentageDragged:v,activeSnapPointIndex:d,onRelease:k,onDrag:y,snapPointsOffset:p}}let Bn=null;function bb(t){const{isOpen:e,modal:n,nested:r,hasBeenOpened:i}=t,o=V(typeof window<"u"?window.location.href:""),a=V(0);function s(){if(Bn===null&&e.value){Bn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height};const{scrollX:u,innerHeight:c}=window;document.body.style.position="fixed",document.body.style.top=`-${a.value}px`,document.body.style.left=`-${u}px`,document.body.style.right="0px",document.body.style.height="auto",setTimeout(()=>{requestAnimationFrame(()=>{const d=c-window.innerHeight;d&&a.value>=c&&(document.body.style.top=`-${a.value+d}px`)})},300)}}function l(){if(Bn!==null){const u=-Number.parseInt(document.body.style.top,10),c=-Number.parseInt(document.body.style.left,10);Object.assign(document.body.style,Bn),requestAnimationFrame(()=>{if(o.value!==window.location.href){o.value=window.location.href;return}window.scrollTo(c,u)}),Bn=null}}return At(()=>{function u(){a.value=window.scrollY}u(),window.addEventListener("scroll",u),vt(()=>{window.removeEventListener("scroll",u)})}),Ie([e,i,o],()=>{r.value||!i.value||(e.value?(!window.matchMedia("(display-mode: standalone)").matches&&s(),n.value||setTimeout(()=>{l()},500)):l())}),{restorePositionSetting:l}}const xb=.25,wb=100,fs=8,mr=16,kb=26,ps="vaul-dragging";function Tb(t,e){return t&&t.value?t:e}function Ab(t){const{emitDrag:e,emitRelease:n,emitClose:r,emitOpenChange:i,open:o,dismissible:a,nested:s,modal:l,shouldScaleBackground:u,scrollLockTimeout:c,closeThreshold:d,activeSnapPoint:p,fadeFromIndex:f,direction:h}=t,k=V(o.value??!1),y=V(!1),v=V(!1),_=V(!1),T=V(!1),M=V(null),O=V(null),m=V(null),E=V(null),x=V(null),b=V(!0),g=V(null),A=V(0),R=V(!1);V(0);const z=V(null);V(0);const F=_e(()=>{var G;return((G=z.value)==null?void 0:G.$el.getBoundingClientRect().height)||0}),D=Tb(t.snapPoints,V(void 0)),{activeSnapPointIndex:U,onRelease:ee,snapPointsOffset:ne,onDrag:ue,shouldFade:I,getPercentageDragged:we}=yb({snapPoints:D,activeSnapPoint:p,drawerRef:z,fadeFromIndex:f,overlayRef:M,onSnapPointChange:Ve,direction:h});function Ve(G,te){D.value&&G===te.length-1&&(O.value=new Date)}const{restorePositionSetting:C}=bb({isOpen:k,modal:l,nested:s,hasBeenOpened:y});function be(){return(window.innerWidth-kb)/window.innerWidth}function Se(G,te){var ae;if(!G)return!1;let J=G;const se=(ae=window.getSelection())==null?void 0:ae.toString(),ge=z.value?hr(z.value.$el,h.value):null,me=new Date;if(J.hasAttribute("data-vaul-no-drag")||J.closest("[data-vaul-no-drag]"))return!1;if(h.value==="right"||h.value==="left")return!0;if(O.value&&me.getTime()-O.value.getTime()<500)return!1;if(ge!==null&&(h.value==="bottom"?ge>0:ge<0))return!0;if(se&&se.length>0)return!1;if(x.value&&me.getTime()-x.value.getTime()J.clientHeight){if(J.scrollTop!==0)return x.value=new Date,!1;if(J.getAttribute("role")==="dialog")return!0}J=J.parentNode}return!0}function Ee(G){!a.value&&!D.value||z.value&&!z.value.$el.contains(G.target)||(_.value=!0,m.value=new Date,G.target.setPointerCapture(G.pointerId),A.value=We(h.value)?G.clientY:G.clientX)}function qe(G){var te,ae,J,se,ge,me;if(z.value&&_.value){const Me=h.value==="bottom"||h.value==="right"?1:-1,Qe=(A.value-(We(h.value)?G.clientY:G.clientX))*Me,Je=Qe>0,jt=D.value&&!a.value&&!Je;if(jt&&U.value===0)return;const j=Math.abs(Qe),Q=document.querySelector("[vaul-drawer-wrapper]");let re=j/F.value;const ce=we(j,Je);if(ce!==null&&(re=ce),jt&&re>=1||!b.value&&!Se(G.target,Je))return;if((te=z==null?void 0:z.value)==null||te.$el.classList.add(ps),b.value=!0,$e((ae=z.value)==null?void 0:ae.$el,{transition:"none"}),$e((J=M.value)==null?void 0:J.$el,{transition:"none"}),D.value&&ue({draggedDistance:Qe}),Je&&!D.value){const He=vb(Qe),rt=Math.min(He*-1,0)*Me;$e((se=z.value)==null?void 0:se.$el,{transform:We(h.value)?`translate3d(0, ${rt}px, 0)`:`translate3d(${rt}px, 0, 0)`});return}const Te=1-re;if((I.value||f.value&&U.value===f.value-1)&&(e(re),$e((ge=M.value)==null?void 0:ge.$el,{opacity:`${Te}`,transition:"none"},!0)),Q&&M.value&&u.value){const He=Math.min(be()+re*(1-be()),1),rt=8-re*8,it=Math.max(0,14-re*14);$e(Q,{borderRadius:`${rt}px`,transform:We(h.value)?`scale(${He}) translate3d(0, ${it}px, 0)`:`scale(${He}) translate3d(${it}px, 0, 0)`,transition:"none"},!0)}if(!D.value){const He=j*Me;$e((me=z.value)==null?void 0:me.$el,{transform:We(h.value)?`translate3d(0, ${He}px, 0)`:`translate3d(${He}px, 0, 0)`})}}}function K(){var G;if(!z.value)return;const te=document.querySelector("[vaul-drawer-wrapper]"),ae=hr(z.value.$el,h.value);$e(z.value.$el,{transform:"translate3d(0, 0, 0)",transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),$e((G=M.value)==null?void 0:G.$el,{transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,opacity:"1"}),u.value&&ae&&ae>0&&k.value&&$e(te,{borderRadius:`${fs}px`,overflow:"hidden",...We(h.value)?{transform:`scale(${be()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${be()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Le.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Le.EASE.join(",")})`},!0)}function w(){var G;z.value&&(r(),$e(z.value.$el,{transform:We(h.value)?`translate3d(0, ${h.value==="bottom"?"100%":"-100%"}, 0)`:`translate3d(${h.value==="right"?"100%":"-100%"}, 0, 0)`,transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),$e((G=M.value)==null?void 0:G.$el,{opacity:"0",transition:`opacity ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`}),N(!1),window.setTimeout(()=>{v.value=!1,k.value=!1},300),window.setTimeout(()=>{D.value&&(p.value=D.value[0])},Le.DURATION*1e3))}Mt(()=>{if(!k.value&&u.value&&pb){const G=setTimeout(()=>{pr(document.body)},200);return()=>clearTimeout(G)}}),vt(()=>{N(!1),C()});function S(G){if(!_.value||!z.value)return;z.value.$el.classList.remove(ps),b.value=!1,_.value=!1,E.value=new Date;const te=hr(z.value.$el,h.value);if(!Se(G.target,!1)||!te||Number.isNaN(te)||m.value===null)return;const ae=E.value.getTime()-m.value.getTime(),J=A.value-(We(h.value)?G.clientY:G.clientX),se=Math.abs(J)/ae;if(se>.05&&(T.value=!0,window.setTimeout(()=>{T.value=!1},200)),D.value){const me=h.value==="bottom"||h.value==="right"?1:-1;ee({draggedDistance:J*me,closeDrawer:w,velocity:se,dismissible:a.value}),n(!0);return}if(h.value==="bottom"||h.value==="right"?J>0:J<0){K(),n(!0);return}if(se>wu){w(),n(!1);return}const ge=Math.min(z.value.$el.getBoundingClientRect().height??0,window.innerHeight);if(te>=ge*d.value){w(),n(!1);return}n(!0),K()}Ie(k,G=>{G&&(O.value=new Date,N(!0)),i(G)},{immediate:!0}),Ie(o,G=>{G?(k.value=G,y.value=!0):w()},{immediate:!0});function N(G){const te=document.querySelector("[vaul-drawer-wrapper]");!te||!u.value||(G?($e(document.body,{background:document.body.style.backgroundColor||document.body.style.background}),$e(document.body,{background:"black"},!0),$e(te,{borderRadius:`${fs}px`,overflow:"hidden",...We(h.value)?{transform:`scale(${be()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${be()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Le.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Le.EASE.join(",")})`})):(pr(te,"overflow"),pr(te,"transform"),pr(te,"borderRadius"),$e(te,{transitionProperty:"transform, border-radius",transitionDuration:`${Le.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Le.EASE.join(",")})`})))}function H(G){var te,ae;const J=G?(window.innerWidth-mr)/window.innerWidth:1,se=G?-16:0;g.value&&window.clearTimeout(g.value),$e((te=z.value)==null?void 0:te.$el,{transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,transform:`scale(${J}) translate3d(0, ${se}px, 0)`}),!G&&(ae=z.value)!=null&&ae.$el&&(g.value=window.setTimeout(()=>{var ge,me;const Me=hr((ge=z.value)==null?void 0:ge.$el,h.value);$e((me=z.value)==null?void 0:me.$el,{transition:"none",transform:We(h.value)?`translate3d(0, ${Me}px, 0)`:`translate3d(${Me}px, 0, 0)`})},500))}function $(G){var te;if(G<0)return;const ae=We(h.value)?window.innerHeight:window.innerWidth,J=(ae-mr)/ae,se=J+G*(1-J),ge=-16+G*mr;$e((te=z.value)==null?void 0:te.$el,{transform:We(h.value)?`scale(${se}) translate3d(0, ${ge}px, 0)`:`scale(${se}) translate3d(${ge}px, 0, 0)`,transition:"none"})}function Y(G){var te;const ae=We(h.value)?window.innerHeight:window.innerWidth,J=G?(ae-mr)/ae:1,se=G?-16:0;G&&$e((te=z.value)==null?void 0:te.$el,{transition:`transform ${Le.DURATION}s cubic-bezier(${Le.EASE.join(",")})`,transform:We(h.value)?`scale(${J}) translate3d(0, ${se}px, 0)`:`scale(${J}) translate3d(${se}px, 0, 0)`})}return{open:o,isOpen:k,modal:l,keyboardIsOpen:R,hasBeenOpened:y,isVisible:v,drawerRef:z,drawerHeightRef:F,overlayRef:M,isDragging:_,dragStartTime:m,isAllowedToDrag:b,snapPoints:D,activeSnapPoint:p,pointerStart:A,dismissible:a,snapPointsOffset:ne,direction:h,shouldFade:I,fadeFromIndex:f,shouldScaleBackground:u,onPress:Ee,onDrag:qe,onRelease:S,closeDrawer:w,onNestedDrag:$,onNestedRelease:Y,onNestedOpenChange:H,emitClose:r,emitDrag:e,emitRelease:n,emitOpenChange:i,nested:s}}const ku=xe({__name:"DrawerRoot",props:{activeSnapPoint:{default:void 0},closeThreshold:{default:xb},shouldScaleBackground:{type:Boolean,default:void 0},scrollLockTimeout:{default:wb},fixed:{type:Boolean,default:void 0},dismissible:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},nested:{type:Boolean,default:!1},direction:{default:"bottom"},snapPoints:{default:void 0},fadeFromIndex:{default:void 0}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(t,{expose:e,emit:n}){const r=t,i=n;Is();const o=_e(()=>r.fadeFromIndex??(r.snapPoints&&r.snapPoints.length-1)),a=ds(r,"open",i,{defaultValue:r.defaultOpen,passive:r.open===void 0}),s=ds(r,"activeSnapPoint",i,{passive:r.activeSnapPoint===void 0}),l={emitDrag:h=>i("drag",h),emitRelease:h=>i("release",h),emitClose:()=>i("close"),emitOpenChange:h=>{i("update:open",h),setTimeout(()=>{i("animationEnd",h)},Le.DURATION*1e3)}},{closeDrawer:u,hasBeenOpened:c,modal:d,isOpen:p}=gb(Ab({...l,...In(r),activeSnapPoint:s,fadeFromIndex:o,open:a}));function f(h){if(a.value!==void 0){l.emitOpenChange(h);return}h?(c.value=!0,p.value=h):u()}return e({open:p}),(h,k)=>(W(),Ge(B(G0),{open:B(p),modal:B(d),"onUpdate:open":f},{default:ye(()=>[je(h.$slots,"default",{open:B(p)})]),_:3},8,["open","modal"]))}}),Tu=xe({__name:"DrawerOverlay",setup(t){const{overlayRef:e,snapPoints:n,isVisible:r,isOpen:i,shouldFade:o}=bu(),a=_e(()=>{var s;return n&&(((s=n.value)==null?void 0:s.length)??0)>0});return(s,l)=>(W(),Ge(B(db),{ref_key:"overlayRef",ref:e,"vaul-drawer-visible":B(r)?"true":"false","vaul-overlay":"","vaul-snap-points":B(i)&&a.value?"true":"false","vaul-snap-points-overlay":B(i)&&B(o)?"true":"false"},null,8,["vaul-drawer-visible","vaul-snap-points","vaul-snap-points-overlay"]))}}),Au=xe({__name:"DrawerContent",setup(t){const{open:e,isOpen:n,isVisible:r,snapPointsOffset:i,drawerRef:o,onPress:a,onDrag:s,onRelease:l,modal:u,emitOpenChange:c,dismissible:d,keyboardIsOpen:p,closeDrawer:f,direction:h}=bu(),k=_e(()=>i.value&&i.value.length>0?`${i.value[0]}px`:"0");function y(v){if(!u.value||v.defaultPrevented){v.preventDefault();return}p.value&&(p.value=!1),v.preventDefault(),d.value&&c(!1),!(!d.value||e.value!==void 0)&&f()}return Ie(n,v=>{v&&setTimeout(()=>{r.value=!0},1)},{immediate:!0}),(v,_)=>(W(),Ge(B(ub),{ref_key:"drawerRef",ref:o,"vaul-drawer":"","vaul-drawer-direction":B(h),"vaul-drawer-visible":B(r)?"true":"false",style:Er({"--snap-point-height":k.value}),onPointerdown:B(a),onPointermove:B(s),onPointerup:B(l),onPointerDownOutside:y,onEscapeKeyDown:_[0]||(_[0]=T=>{B(d)||T.preventDefault()})},{default:ye(()=>[je(v.$slots,"default")]),_:3},8,["vaul-drawer-direction","vaul-drawer-visible","style","onPointerdown","onPointermove","onPointerup"]))}});var Lt;function _b(t){return{lang:(t==null?void 0:t.lang)??(Lt==null?void 0:Lt.lang),message:t==null?void 0:t.message,abortEarly:(t==null?void 0:t.abortEarly)??(Lt==null?void 0:Lt.abortEarly),abortPipeEarly:(t==null?void 0:t.abortPipeEarly)??(Lt==null?void 0:Lt.abortPipeEarly)}}var Ei;function Eb(t){return Ei==null?void 0:Ei.get(t)}var Mi;function Mb(t){return Mi==null?void 0:Mi.get(t)}var Ii;function Ib(t,e){var n;return(n=Ii==null?void 0:Ii.get(t))==null?void 0:n.get(e)}function Sb(t){var n,r;const e=typeof t;return e==="string"?`"${t}"`:e==="number"||e==="bigint"||e==="boolean"?`${t}`:e==="object"||e==="function"?(t&&((r=(n=Object.getPrototypeOf(t))==null?void 0:n.constructor)==null?void 0:r.name))??"null":e}function Bo(t,e,n,r,i){const o=n.value,a=t.expects??null,s=Sb(o),l={kind:t.kind,type:t.type,input:o,expected:a,received:s,message:`Invalid ${e}: ${a?`Expected ${a} but r`:"R"}eceived ${s}`,requirement:t.requirement,path:i==null?void 0:i.path,issues:i==null?void 0:i.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=t.kind==="schema",c=t.message??Ib(t.reference,l.lang)??(u?Mb(l.lang):null)??r.message??Eb(l.lang);c&&(l.message=typeof c=="function"?c(l):c),u&&(n.typed=!1),n.issues?n.issues.push(l):n.issues=[l]}function Qn(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},_b())}}}function Rb(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}function Ne(t){return{kind:"metadata",type:"description",reference:Ne,description:t}}function Pe(t){return{kind:"metadata",type:"title",reference:Pe,title:t}}function ro(t,e,n){return typeof t.default=="function"?t.default(e,n):t.default}function lt(t,e){return{kind:"schema",type:"object",reference:lt,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return Qn(this)},"~run"(n,r){var o;const i=n.value;if(i&&typeof i=="object"){n.typed=!0,n.value={};for(const a in this.entries){const s=i[a],l=this.entries[a]["~run"]({value:s},r);if(l.issues){const u={type:"object",origin:"value",input:i,key:a,value:s};for(const c of l.issues)c.path?c.path.unshift(u):c.path=[u],(o=n.issues)==null||o.push(c);if(n.issues||(n.issues=l.issues),r.abortEarly){n.typed=!1;break}}l.typed||(n.typed=!1),(l.value!==void 0||a in i)&&(n.value[a]=l.value)}}else Bo(this,"type",n,r);return n}}}function et(t,e){return{kind:"schema",type:"optional",reference:et,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return Qn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=ro(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function io(t,e,n){return{kind:"schema",type:"record",reference:io,expects:"Object",async:!1,key:t,value:e,message:n,get"~standard"(){return Qn(this)},"~run"(r,i){var a,s;const o=r.value;if(o&&typeof o=="object"){r.typed=!0,r.value={};for(const l in o)if(Rb(o,l)){const u=o[l],c=this.key["~run"]({value:l},i);if(c.issues){const p={type:"object",origin:"key",input:o,key:l,value:u};for(const f of c.issues)f.path=[p],(a=r.issues)==null||a.push(f);if(r.issues||(r.issues=c.issues),i.abortEarly){r.typed=!1;break}}const d=this.value["~run"]({value:u},i);if(d.issues){const p={type:"object",origin:"value",input:o,key:l,value:u};for(const f of d.issues)f.path?f.path.unshift(p):f.path=[p],(s=r.issues)==null||s.push(f);if(r.issues||(r.issues=d.issues),i.abortEarly){r.typed=!1;break}}(!c.typed||!d.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=d.value)}}else Bo(this,"type",r,i);return r}}}function Oe(t){return{kind:"schema",type:"string",reference:Oe,expects:"string",async:!1,message:t,get"~standard"(){return Qn(this)},"~run"(e,n){return typeof e.value=="string"?e.typed=!0:Bo(this,"type",e,n),e}}}function Be(...t){return{...t[0],pipe:t,get"~standard"(){return Qn(this)},"~run"(e,n){for(const r of t)if(r.kind!=="metadata"){if(e.issues&&(r.kind==="schema"||r.kind==="transformation")){e.typed=!1;break}(!e.issues||!n.abortEarly&&!n.abortPipeEarly)&&(e=r["~run"](e,n))}return e}}}function nt(t,e){switch(e==null?void 0:e.errorMode){case"ignore":break;case"warn":{console.warn(t);break}default:throw new Error(t)}}function Cb(t,e,n){switch(e.type){case"base64":{t.contentEncoding="base64";break}case"bic":case"cuid2":case"decimal":case"digits":case"emoji":case"hexadecimal":case"hex_color":case"nanoid":case"octal":case"ulid":{t.pattern=e.requirement.source;break}case"description":{t.description=e.description;break}case"email":{t.format="email";break}case"empty":{t.type==="array"?t.maxItems=0:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.maxLength=0);break}case"integer":{t.type="integer";break}case"ipv4":{t.format="ipv4";break}case"ipv6":{t.format="ipv6";break}case"iso_date":{t.format="date";break}case"iso_date_time":case"iso_timestamp":{t.format="date-time";break}case"iso_time":{t.format="time";break}case"length":{t.type==="array"?(t.minItems=e.requirement,t.maxItems=e.requirement):(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.minLength=e.requirement,t.maxLength=e.requirement);break}case"max_length":{t.type==="array"?t.maxItems=e.requirement:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.maxLength=e.requirement);break}case"max_value":{t.type!=="number"&&nt(`The "max_value" action is not supported on type "${t.type}".`,n),t.maximum=e.requirement;break}case"min_length":{t.type==="array"?t.minItems=e.requirement:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.minLength=e.requirement);break}case"min_value":{t.type!=="number"&&nt(`The "min_value" action is not supported on type "${t.type}".`,n),t.minimum=e.requirement;break}case"multiple_of":{t.multipleOf=e.requirement;break}case"non_empty":{t.type==="array"?t.minItems=1:(t.type!=="string"&&nt(`The "${e.type}" action is not supported on type "${t.type}".`,n),t.minLength=1);break}case"regex":{e.requirement.flags&&nt("RegExp flags are not supported by JSON Schema.",n),t.pattern=e.requirement.source;break}case"title":{t.title=e.title;break}case"url":{t.format="uri";break}case"uuid":{t.format="uuid";break}case"value":{t.const=e.requirement;break}default:nt(`The "${e.type}" action cannot be converted to JSON Schema.`,n)}return t}var Ob=0;function ht(t,e,n,r){const i=r.referenceMap.get(e);if(i&&i in r.definitions)return t.$ref=`#/$defs/${i}`,t;if("pipe"in e){for(let o=0;o0&&nt('A "pipe" with multiple schemas cannot be converted to JSON Schema.',n);const s=ht({},a,n,r);if(s.$ref){const l=s.$ref.split("/")[2];Object.assign(t,r.definitions[l])}else Object.assign(t,s)}else t=Cb(t,a,n)}return t}switch(e.type){case"boolean":{t.type="boolean";break}case"null":{t.type="null";break}case"number":{t.type="number";break}case"string":{t.type="string";break}case"array":{t.type="array",t.items=ht({},e.item,n,r);break}case"tuple":case"tuple_with_rest":case"loose_tuple":case"strict_tuple":{t.type="array",t.items=[];for(const o of e.items)t.items.push(ht({},o,n,r));e.type==="tuple_with_rest"?t.additionalItems=ht({},e.rest,n,r):t.additionalItems=e.type==="loose_tuple";break}case"object":case"object_with_rest":case"loose_object":case"strict_object":{t.type="object",t.properties={},t.required=[];for(const o in e.entries){const a=e.entries[o];t.properties[o]=ht({},a,n,r),a.type!=="nullish"&&a.type!=="optional"&&t.required.push(o)}e.type==="object_with_rest"?t.additionalProperties=ht({},e.rest,n,r):e.type==="strict_object"&&(t.additionalProperties=!1);break}case"record":{"pipe"in e.key&&nt('The "record" schema with a schema for the key that contains a "pipe" cannot be converted to JSON Schema.',n),e.key.type!=="string"&&nt(`The "record" schema with the "${e.key.type}" schema for the key cannot be converted to JSON Schema.`,n),t.type="object",t.additionalProperties=ht({},e.value,n,r);break}case"any":case"unknown":break;case"nullable":case"nullish":{t.anyOf=[ht({},e.wrapped,n,r),{type:"null"}],e.default!==void 0&&(t.default=ro(e));break}case"exact_optional":case"optional":case"undefinedable":{t=ht(t,e.wrapped,n,r),e.default!==void 0&&(t.default=ro(e));break}case"literal":{typeof e.literal!="boolean"&&typeof e.literal!="number"&&typeof e.literal!="string"&&nt('The value of the "literal" schema is not JSON compatible.',n),t.const=e.literal;break}case"enum":{t.enum=e.options;break}case"picklist":{e.options.some(o=>typeof o!="number"&&typeof o!="string")&&nt('An option of the "picklist" schema is not JSON compatible.',n),t.enum=e.options;break}case"union":case"variant":{t.anyOf=e.options.map(o=>ht({},o,n,r));break}case"intersect":{t.allOf=e.options.map(o=>ht({},o,n,r));break}case"lazy":{let o=r.getterMap.get(e.getter);o||(o=e.getter(void 0),r.getterMap.set(e.getter,o));let a=r.referenceMap.get(o);a||(a=`${Ob++}`,r.referenceMap.set(o,a),r.definitions[a]=ht({},o,n,r)),t.$ref=`#/$defs/${a}`;break}default:nt(`The "${e.type}" schema cannot be converted to JSON Schema.`,n)}return t}function ft(t,e){const n={definitions:{},referenceMap:new Map,getterMap:new Map},r=ht({$schema:"http://json-schema.org/draft-07/schema#"},t,e,n);return n.referenceMap.size&&(r.$defs=n.definitions),r}const Nb={flex:"~ col","gap-2":""},Pb=["onClick"],Lb={flex:"~ row 1","items-center":"","gap-1.5":""},Db={"p-4":""},Bb={class:"space-y-4"},zb={key:0},Fb={class:"flex items-center justify-between"},Ub={class:"flex items-center gap-1 text-sm font-medium"},$b={key:0,class:"text-red-500"},jb={key:0,class:"text-xs text-zinc-500 dark:text-zinc-400"},Vb=["onClick"],Hb={class:"mt-2 space-y-2"},Gb=["onUpdate:modelValue","onInput"],Kb=["onUpdate:modelValue","onInput"],qb=["onClick"],Yb={key:1,class:"flex items-center justify-between"},Wb={class:"flex items-center gap-1 text-sm font-medium"},Xb={key:0,class:"text-red-500"},Qb={key:0,class:"text-xs text-zinc-400 dark:text-zinc-600"},Zb=["type","value","placeholder","onInput"],Jb=xe({__name:"ModelProviderSettings",setup(t){const e=_e(()=>[{id:"openrouter-ai",name:"OpenRouter",icon:"i-lobe-icons:openrouter",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenRouter")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://openrouter.ai/api/v1/")}))},{id:"openai",name:"OpenAI",icon:"i-lobe-icons:openai",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenAI services")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.openai.com/v1/")}))},{id:"ollama-ai",name:"Ollama",icon:"i-lobe-icons:ollama",fields:ft(lt({baseUrl:et(Be(Oe(),Pe("Host"),Ne("Host of the Ollama instance (optional)"))),extraHeaders:et(Be(io(Oe(),Oe()),Pe("Headers"),Ne("Custom Headers for Ollama instance (optional)")))}))},{id:"vllm",name:"vLLM",icon:"i-lobe-icons:vllm-color",fields:ft(lt({baseUrl:et(Be(Oe(),Pe("Host"),Ne("Host of the vLLM instance (optional)"))),apiKey:et(Be(Oe(),Pe("API Key"),Ne("API Key for vLLM"))),extraHeaders:et(Be(io(Oe(),Oe()),Pe("Headers"),Ne("Custom Headers for vLLM instance (optional)")))}))},{id:"elevenlabs",name:"ElevenLabs",icon:"i-simple-icons:elevenlabs",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for ElevenLabs")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")))}))},{id:"xai",name:"xAI",icon:"i-lobe-icons:xai",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for xAI")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.x.ai/v1/")}))},{id:"deepseek",name:"DeepSeek",icon:"i-lobe-icons:deepseek-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for DeepSeek")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.deepseek.com/")}))},{id:"together-ai",name:"Together.ai",icon:"i-lobe-icons:together-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for Together.ai")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.together.xyz/v1/")}))},{id:"novita-ai",name:"Novita",icon:"i-lobe-icons:novita-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for Novita")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.novita.ai/v3/openai/")}))},{id:"fireworks-ai",name:"Fireworks.ai",icon:"i-lobe-icons:fireworks",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for Fireworks.ai")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.fireworks.ai/inference/v1/")}))},{id:"cloudflare-workers-ai",name:"Cloudflare Workers AI",icon:"i-lobe-icons:cloudflare-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key")),accountId:Be(Oe(),Pe("Account ID"),Ne("Cloudflare Account ID"))}))},{id:"mistral-ai",name:"Mistral",icon:"i-lobe-icons:mistral-color",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenRouter")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.mistral.ai/v1/")}))},{id:"moonshot-ai",name:"Moonshot AI",icon:"i-lobe-icons:moonshot",fields:ft(lt({apiKey:Be(Oe(),Pe("API Key"),Ne("API Key for OpenRouter")),baseUrl:et(Be(Oe(),Pe("Base URL"),Ne("Custom base URL (optional)")),"https://api.moonshot.cn/v1/")}))}]),n=V({});function r(u,c){var d;return((d=n.value[u])==null?void 0:d[c])||""}function i(u,c,d){n.value[u]||(n.value[u]={}),n.value[u][c]=d}function o(u,c){var p;const d=(p=n.value[u])==null?void 0:p[c];if(!d)return[["",""]];try{return Object.entries(JSON.parse(d))}catch{return[["",""]]}}function a(u,c,d){var h;const p=d.filter(([k,y])=>k||y);if(p.length===0){(h=n.value[u])==null||delete h[c];return}const f=Object.fromEntries(p);i(u,c,JSON.stringify(f))}function s(u){u.push(["",""])}function l(u,c){u.splice(c,1)}return(u,c)=>(W(),Z("div",Nb,[(W(!0),Z(sn,null,Tn(e.value,d=>(W(),Z("div",{key:d.id},[he(B(zi),{"w-full":""},{trigger:ye(p=>[P("button",{bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"","outline-none":"",class:"[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0",onClick:f=>p.setVisible(!p.visible)},[P("div",Lb,[P("div",{class:Bt([d.icon,"provider-icon size-6"]),transition:"filter duration-250 ease-in-out"},null,2),P("div",null,le(d.name),1)]),P("div",{transform:"",transition:"transform duration-250",class:Bt({"rotate-180":p.visible})},c[0]||(c[0]=[P("div",{"i-solar:alt-arrow-down-bold-duotone":""},null,-1)]),2)],8,Pb)]),default:ye(()=>[P("div",Db,[P("div",Bb,[(W(!0),Z(sn,null,Tn(d.fields.properties,(p,f)=>{var h,k;return W(),Z("div",{key:f,class:"space-y-1"},[typeof p!="boolean"&&typeof f!="number"&&p.type==="object"&&p.additionalProperties?(W(),Z("div",zb,[P("div",Fb,[P("div",null,[P("div",Ub,[Ri(le(p.title||f)+" ",1),(h=d.fields.required)!=null&&h.includes(f)?(W(),Z("span",$b,"*")):Ke("",!0)]),p.description?(W(),Z("div",jb,le(p.description),1)):Ke("",!0)]),P("button",{class:"text-sm",onClick:y=>s(o(d.id,f))},c[1]||(c[1]=[P("div",{"i-solar:add-circle-line-duotone":""},null,-1)]),8,Vb)]),P("div",Hb,[(W(!0),Z(sn,null,Tn(o(d.id,f),(y,v)=>(W(),Z("div",{key:v,class:"flex items-center gap-2"},[Tt(P("input",{"onUpdate:modelValue":_=>o(d.id,f)[v][0]=_,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Key",onInput:_=>a(d.id,f,o(d.id,f))},null,40,Gb),[[qo,o(d.id,f)[v][0]]]),Tt(P("input",{"onUpdate:modelValue":_=>o(d.id,f)[v][1]=_,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Value",onInput:_=>a(d.id,f,o(d.id,f))},null,40,Kb),[[qo,o(d.id,f)[v][1]]]),P("button",{class:"text-red-500 hover:text-red-600",onClick:_=>l(o(d.id,f),v)},c[2]||(c[2]=[P("div",{"i-solar:trash-bin-trash-bold-duotone":""},null,-1)]),8,qb)]))),128))])])):Ke("",!0),typeof p!="boolean"&&typeof f!="number"&&p.type==="string"?(W(),Z("div",Yb,[P("div",null,[P("div",Wb,[Ri(le(p.title)+" ",1),(k=d.fields.required)!=null&&k.includes(f)?(W(),Z("span",Xb,"*")):Ke("",!0)]),p.description?(W(),Z("div",Qb,le(p.description),1)):Ke("",!0)]),P("input",{type:f.toLowerCase().includes("key")?"password":"text",value:r(d.id,f),rounded:"",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:p.default&&String(p.default)||`Enter ${p.title||f}`,onInput:y=>i(d.id,f,y.target.value)},null,40,Zb)])):Ke("",!0)])}),128))])])]),_:2},1024)]))),128))]))}}),e1={text:"zinc-500 dark:zinc-400",class:"relative"},t1={key:"main"},n1={text:"zinc-800/80 dark:zinc-200/80 xl","mb-4":"","font-bold":""},r1={class:"space-y-2"},i1={text:"sm"},o1={grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":""},a1={text:"sm"},s1={flex:"~ row","w-full":"","justify-end":""},l1={value:"en-US"},u1={value:"zh-CN"},c1={bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","cursor-pointer":"","rounded-lg":"","px-4":"","py-3":""},d1=["checked","aria-checked"],f1={flex:"~ row","w-full":"","items-center":"","gap-1.5":""},p1={text:"sm","w-full":"","flex-1":""},h1={"select-none":""},m1={key:0,"i-solar:moon-stars-bold-duotone":"",transition:"all ease-in-out duration-250"},g1={key:1,"i-solar:sun-fog-bold-duotone":"",transition:"all ease-in-out duration-250"},v1={key:"providers"},y1={"mb-4":"",flex:"","items-center":"","gap-2":""},b1={text:"zinc-800/80 dark:zinc-200/80 xl","font-bold":""},x1=xe({__name:"MobileSettings",setup(t){const{t:e}=Gn(),n=Zt(Kn()),r=ys({disableTransition:!1}),i=V("main"),o=V("forward");function a(u){const c=u.target;n.language.value=c.value}function s(){o.value="forward",i.value="providers"}function l(){o.value="backward",i.value="main"}return(u,c)=>(W(),Z("div",e1,[he(wr,{name:o.value==="forward"?"slide-forward":"slide-backward"},{default:ye(()=>[i.value==="main"?(W(),Z("div",t1,[P("h2",n1,le(B(e)("settings.title")),1),P("div",null,[P("div",r1,[P("div",{grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","cursor-pointer":"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"",onClick:s},[P("div",i1,[P("span",null,le(B(e)("settings.model-provider.title")),1)]),c[1]||(c[1]=P("div",{flex:"~ row","w-full":"","justify-end":"",text:"sm"},[P("div",{"i-solar:alt-arrow-right-bold-duotone":""})],-1))]),P("div",o1,[P("div",a1,[P("span",null,le(B(e)("settings.language.title")),1)]),P("div",s1,[P("select",{class:"w-32",bg:"transparent",text:"sm right zinc-800 dark:zinc-100",transition:"all ease-in-out duration-250",outline:"none",onChange:a},[P("option",l1,le(B(e)("settings.language.english")),1),P("option",u1,le(B(e)("settings.language.chinese")),1)],32)])]),P("label",c1,[Tt(P("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>Ss(r)?r.value=d:null),text:"zinc-800 dark:zinc-100",checked:B(r),"aria-checked":B(r),type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,d1),[[Rr,B(r)]]),P("div",f1,[P("div",p1,[P("span",null,le(B(e)("settings.theme")),1)]),P("div",h1,[he(wr,{name:"slide-away",mode:"out-in"},{default:ye(()=>[B(r)?(W(),Z("div",m1)):(W(),Z("div",g1))]),_:1})])])])])])])):i.value==="providers"?(W(),Z("div",v1,[P("div",y1,[P("button",{text:"zinc-800/80 dark:zinc-200/80",onClick:l},c[2]||(c[2]=[P("div",{"i-solar:alt-arrow-left-bold-duotone":""},null,-1)])),P("h2",b1,le(B(e)("settings.model-provider.title")),1)]),he(Jb)])):Ke("",!0)]),_:1},8,["name"])]))}}),_u=Pr(x1,[["__scopeId","data-v-20bd21e8"]]),w1={flex:"~","gap-2":""},k1={flex:"~ 1 col gap-2","of-y-scroll":"","rounded-t-lg":"","p-5":""},T1=xe({__name:"DesktopSettings",setup(t){const e=V(!1);return(n,r)=>(W(),Z("div",w1,[he(B(ku),{open:e.value,"onUpdate:open":r[0]||(r[0]=i=>e.value=i),"should-scale-background":"",direction:"right"},{default:ye(()=>[he(B(hu),{bg:"zinc-100 dark:zinc-800",text:"lg zinc-500 dark:zinc-400","max-h":"[10lh]","min-h":"[1lh]","m-1":"","rounded-lg":"","p-2":"","outline-none":""},{default:ye(()=>r[1]||(r[1]=[P("div",{"i-solar:settings-minimalistic-bold-duotone":""},null,-1)])),_:1}),he(B(mu),null,{default:ye(()=>[he(B(Tu),{fixed:"","inset-0":"","z-50":"","bg-black:40":""}),he(B(Au),{class:"max-w-40% min-w-500px w-full",flex:"~ col",bg:"white dark:zinc-900",fixed:"","inset-y-4":"","right-4":"","z-50":"","of-hidden":"","rounded-lg":"","outline-none":""},{default:ye(()=>[P("div",k1,[he(_u)])]),_:1})]),_:1})]),_:1},8,["open"])]))}}),A1={"mb-1":"","w-full":"","gap-2":""},jx=xe({__name:"Header",setup(t){return(e,n)=>(W(),Z("header",A1,[n[0]||(n[0]=P("a",{href:"https://github.com/moeru-ai/airi",rel:"noreferrer noopener",target:"_blank",flex:"~ 1","w-full":"","items-center":"","gap-2":"","px-2":"","text-nowrap":"","text-2xl":"","outline-none":""},[P("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),P("div",{"font-cute":""},[P("span",null,"アイリ")])],-1)),he(T1)]))}});function Eu(t,e){const n=Vs(e??{},{...Yo.getDefaultRealTimeVADOptions("v5"),preSpeechPadFrames:30,positiveSpeechThreshold:.5,negativeSpeechThreshold:.35,minSpeechFrames:30,auto:!0}),r=V(),i=Mc("microphone");async function o(){if(r.value&&(r.value.destroy(),r.value=void 0,console.warn("existing MicVAD destroyed")),!i.value)return;const a=B(t);if(!a)return;const s=await navigator.mediaDevices.getUserMedia({audio:{deviceId:a}});r.value=await Yo.MicVAD.new({...n,stream:s}),n.auto&&r.value.start()}return Ie(i,o,{immediate:!0}),Ie(vs(t),o,{immediate:!0}),Ic(o),vt(()=>{r.value&&(r.value.destroy(),r.value=void 0)}),{destroy:()=>{r.value&&(r.value.destroy(),r.value=void 0)},start:()=>{r.value&&r.value.start()}}}function _1(t,e){const n=Vs(e,{onLoading:()=>{},onInitiate:()=>{},onProgress:()=>{},onDone:()=>{},onReady:()=>{},onStart:()=>{},onUpdate:()=>{},onComplete:()=>{}}),{post:r,data:i,terminate:o}=Sc(t,{type:"module"}),a=V(null),s=V(""),l=V([]),u=V(!1),c=V(0),d=V("");return Ie(i,p=>{var f,h,k,y,v,_,T,M;switch(p.status){case"loading":a.value="loading",s.value=p.data,(f=n.onLoading)==null||f.call(n,p.data);break;case"initiate":l.value.push(p),(h=n.onInitiate)==null||h.call(n,p);break;case"progress":l.value=l.value.map(O=>O.file===p.file?{...O,...p}:O),(k=n.onProgress)==null||k.call(n,p);break;case"done":l.value=l.value.filter(O=>O.file!==p.file),(y=n.onDone)==null||y.call(n,p);break;case"ready":a.value="ready",(v=n.onReady)==null||v.call(n);break;case"start":u.value=!0,(_=n.onStart)==null||_.call(n);break;case"update":c.value=p.tps,(T=n.onUpdate)==null||T.call(n,p.tps);break;case"complete":u.value=!1,d.value=p.output[0]||"",console.debug("Whisper result:",d.value),(M=n.onComplete)==null||M.call(n,p.output[0]);break}}),vt(()=>{o()}),{transcribe:p=>r(p),status:a,loadingMessage:s,loadingProgress:l,transcribing:u,tps:c,result:d,load:()=>r({type:"load"}),terminate:o}}const E1="/assets/worker-CL_jKwe6.js";async function M1(t,e){const n=new ArrayBuffer(44+t.length*2),r=new DataView(n);gr(r,0,"RIFF"),r.setUint32(4,36+t.length*2,!0),gr(r,8,"WAVE"),gr(r,12,"fmt "),r.setUint32(16,16,!0),r.setUint16(20,1,!0),r.setUint16(22,1,!0),r.setUint32(24,e,!0),r.setUint32(28,e*2,!0),r.setUint16(32,2,!0),r.setUint16(34,16,!0),gr(r,36,"data"),r.setUint32(40,t.length*2,!0),I1(r,44,t);const i=new Blob([r],{type:"audio/wav"});return new Promise((o,a)=>{const s=new FileReader;s.onload=()=>{const l=s.result.split(",")[1];o(l)},s.onerror=a,s.readAsDataURL(i)})}function gr(t,e,n){for(let r=0;r{xt().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{xt().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=Gs("auto-animate");return W(),Z("div",S1,[u[1]||(u[1]=P("div",{"flex-1":""},null,-1)),Tt((W(),Z("div",{ref_key:"chatHistoryRef",ref:e,"h-full":"","w-full":"",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=P("div",{"flex-1":""},null,-1)),(W(!0),Z(sn,null,Tn(B(n),(d,p)=>(W(),Z("div",{key:p,"mb-2":""},[d.role==="assistant"?(W(),Z("div",R1,[P("div",C1,[P("div",null,[P("span",O1,le(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(W(),Z("div",{key:0,class:"markdown-content",text:"base {await u(E)}});async function v(){await u(e.value)}const{destroy:_,start:T}=Eu(l,{onSpeechStart:()=>{n.value=!0},onVADMisfire:()=>{n.value=!1},onSpeechEnd:E=>{n.value=!1,O(E)},auto:!1});function M(){k.value!=="loading"&&(h(),T())}async function O(E){await d.resume();const x=await M1(E,d.sampleRate);f({type:"generate",data:{audio:x,language:"en"}})}async function m(E){const x=E.target,b=o.value.find(g=>g.deviceId===x.value);if(!b){a.value=void 0;return}a.value=b}return Ie(s,async E=>{E==="false"&&(_(),y())}),c(async()=>{e.value=""}),(E,x)=>(W(),Z("div",$1,[P("fieldset",j1,[P("label",{class:Bt([r.value==="chat"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="chat"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="chat","aria-checked":r.value==="chat",border:"solid l-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-l-lg":"","px-2":""},[Tt(P("input",{"onUpdate:modelValue":x[0]||(x[0]=b=>r.value=b),type:"radio",name:"tab",value:"chat",hidden:""},null,512),[[qr,r.value]]),x[5]||(x[5]=P("div",{"i-solar:dialog-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),P("div",H1,[P("span",G1,le(E.$t("stage.chat.tabs.chat")),1)])],10,V1),P("label",{class:Bt([r.value==="custom"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="custom"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="custom","aria-checked":r.value==="custom",border:"solid t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","px-2":""},[Tt(P("input",{"onUpdate:modelValue":x[1]||(x[1]=b=>r.value=b),type:"radio",name:"tab",value:"custom",hidden:""},null,512),[[qr,r.value]]),x[6]||(x[6]=P("div",{"i-solar:star-fall-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),P("div",q1,[P("span",null,le(E.$t("stage.chat.tabs.custom")),1)])],10,K1),P("label",{class:Bt([r.value==="clothes"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="clothes"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="clothes","aria-checked":r.value==="clothes",border:"solid r-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-r-lg":"","px-2":""},[Tt(P("input",{"onUpdate:modelValue":x[2]||(x[2]=b=>r.value=b),type:"radio",name:"tab",value:"clothes",hidden:""},null,512),[[qr,r.value]]),x[7]||(x[7]=P("div",{"i-solar:magic-stick-3-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),P("div",W1,[P("span",null,le(E.$t("stage.chat.tabs.clothes")),1)])],10,Y1)]),P("div",X1,[P("div",Q1,[he(U1,{"h-full":"","flex-1":"","p-4":"",w:"full","max-h":"e.value=b),placeholder:B(p)("stage.message"),text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500 placeholder:pink-300 placeholder:hover:pink-500 placeholder:dark:pink-300/50 placeholder:dark:hover:pink-500",bg:"pink-100 dark:pink-400/20","min-h":"[100px]","w-full":"","rounded-t-xl":"","p-4":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:v},null,8,["modelValue","placeholder"])])])]),P("div",J1,[P("button",{bg:"cyan-100 hover:cyan-200 dark:cyan-800 dark:hover:cyan-700",transition:"all duration-250 ease-in-out",text:"cyan-400","mb-6":"",flex:"","cursor-pointer":"","items-center":"","justify-center":"","gap-2":"","rounded-full":"","px-4":"","py-2":"",onClick:M},[he(wr,{mode:"out-in"},{default:ye(()=>[B(k)===null?(W(),Z("div",ex,le(E.$t("stage.operations.load-models")),1)):B(k)==="loading"?(W(),Z("div",tx,[x[8]||(x[8]=P("div",{"i-svg-spinners:bouncing-ball":"",class:"text-cyan"},null,-1)),P("span",null,le(E.$t("stage.operations.load-models-status.loading")),1)])):B(k)==="ready"?(W(),Z("div",nx,[x[9]||(x[9]=P("div",{"i-lucide:check":"",class:"text-cyan"},null,-1)),P("span",null,le(E.$t("stage.operations.load-models-status.ready")),1)])):Ke("",!0)]),_:1})]),P("div",rx,[he(B(Lr),null,{default:ye(()=>[i.value?(W(),Z("fieldset",ix,[(W(!0),Z(sn,null,Tn(B(o),(b,g)=>(W(),Z("label",{key:g,class:"[&_div_span]:dark:hover:bg-cyan-300 [&_div_span]:dark:hover:bg-cyan-900"},[P("input",{type:"radio",name:"audioInput",value:b.deviceId,hidden:"",onChange:m},null,40,ox),P("div",ax,[P("div",sx,[b.deviceId===B(l)?(W(),Z("div",lx)):Ke("",!0)]),P("span",{"inline-block":"",class:Bt([b.deviceId===B(l)?"cyan-400 dark:text-white":"cyan-400/50 dark:text-white/50"]),transition:"all duration-250 ease-in-out"},le(b.label),3)])]))),128))])):Ke("",!0)]),_:1}),P("label",ux,[Tt(P("input",{"onUpdate:modelValue":x[4]||(x[4]=b=>i.value=b),type:"checkbox",hidden:""},null,512),[[Rr,i.value]]),x[10]||(x[10]=P("div",{"i-solar:microphone-2-bold-duotone":""},null,-1)),P("div",null,[n.value?(W(),Z("span",dx,"Listening...")):(W(),Z("span",cx,le(E.$t("settings.microphone")),1))])])])])]))}}),Vx=Pr(fx,[["__scopeId","data-v-893059ff"]]),px={},hx={"mb-1":"","w-full":"","gap-2":""};function mx(t,e){return W(),Z("header",hx,e[0]||(e[0]=[P("div",{flex:"~ 1","w-full":"","items-center":"","justify-center":"","gap-2":"","px-2":"","text-nowrap":"","text-lg":""},[P("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),P("div",{"font-cute":""},[P("span",null,"アイリ")])],-1)]))}const Hx=Pr(px,[["render",mx]]),gx={py:"1",flex:"~ col",rounded:"lg","overflow-hidden":""},vx={key:0,flex:"",mr:"12"},yx={flex:"~ col",border:"4 solid pink-200/50 dark:pink-500/50",shadow:"md pink-200/50 dark:none","min-w-20":"","rounded-lg":"","px-2":"","py-1":"",h:"unset {xt().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{xt().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=Gs("auto-animate");return W(),Z("div",gx,[u[1]||(u[1]=P("div",{"flex-1":""},null,-1)),Tt((W(),Z("div",{ref_key:"chatHistoryRef",ref:e,"h-full":"","w-full":"","max-h":"30vh",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=P("div",{"flex-1":""},null,-1)),(W(!0),Z(sn,null,Tn(B(n),(d,p)=>(W(),Z("div",{key:p,"mb-2":""},[d.role==="assistant"?(W(),Z("div",vx,[P("div",yx,[P("div",null,[P("span",bx,le(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(W(),Z("div",{key:0,class:"markdown-content",text:"base {n.value=!0},onVADMisfire:()=>{n.value=!1},onSpeechEnd:p=>{n.value=!1,d()},auto:!1});function d(p){alert("Transcription is not implemented yet")}return Ie(r,async p=>{p==="false"&&u()}),a(async()=>{e.value=""}),At(()=>{c()}),(p,f)=>(W(),Z("div",null,[P("div",Ix,[he(Mx,{absolute:"","left-0":"","top-0":"",transform:"translate-y-[-100%]","w-full":""}),P("div",Sx,[he(B(Qs),{modelValue:e.value,"onUpdate:modelValue":f[0]||(f[0]=h=>e.value=h),placeholder:B(s)("stage.message"),border:"solid 2 pink-100 dark:pink-400/20",text:"pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","w-full":"","resize-none":"","overflow-y-scroll":"","rounded-l-xl":"","p-2":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:l},null,8,["modelValue","placeholder"])]),he(B(ku),{"should-scale-background":""},{default:ye(()=>[he(B(hu),{class:"px-4 py-2.5",border:"solid 2 pink-100 dark:pink-400/20",text:"lg pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","rounded-r-xl":""},{default:ye(()=>f[1]||(f[1]=[P("div",{"i-solar:settings-bold-duotone":""},null,-1)])),_:1}),he(B(mu),null,{default:ye(()=>[he(B(Tu),{class:"fixed inset-0 z-50 bg-black/40"}),he(B(Au),{"max-h":"[75%]",fixed:"","bottom-0":"","left-0":"","right-0":"","z-50":"","mt-24":"","h-full":"",flex:"","flex-col":"","rounded-t-lg":"",bg:"[#fffbff] dark:[#1f1a1d]"},{default:ye(()=>[P("div",Rx,[he(_u)])]),_:1})]),_:1})]),_:1})])]))}}),Kx={};export{Vx as I,Hx as M,Ux as W,jx as _,Gx as a,Kx as b};