hytopia 0.3.18 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server.js +1 -1
- package/examples/mobile-controls/bun.lock +0 -503
package/package.json
CHANGED
package/server.js
CHANGED
@@ -377,7 +377,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
377
377
|
`,concatBytes:KF},Op=(J,Z)=>{let Y=new Uint8Array(J.length+Z.length);return Y.set(J,0),Y.set(Z,J.length),Y},Pp={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Op};import{Buffer as Np}from"buffer";var fU=(J,Z)=>J?void 0:Bp.bind(void 0,Z),Bp=function*(J,Z){if(typeof Z!=="string"&&!Z8(Z)&&!Np.isBuffer(Z))throw new TypeError(`The \`${J}\` option's transform must use "objectMode: true" to receive as input: ${typeof Z}.`);yield Z},hU=(J,Z)=>J?vp.bind(void 0,Z):jp.bind(void 0,Z),vp=function*(J,Z){bU(J,Z),yield Z},jp=function*(J,Z){if(bU(J,Z),typeof Z!=="string"&&!Z8(Z))throw new TypeError(`The \`${J}\` option's function must yield a string or an Uint8Array, not ${typeof Z}.`);yield Z},bU=(J,Z)=>{if(Z===null||Z===void 0)throw new TypeError(`The \`${J}\` option's function must not call \`yield ${Z}\`.
|
378
378
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
379
379
|
if (condition) { yield value; }`)};import{Buffer as kp}from"buffer";import{StringDecoder as xp}from"string_decoder";var OY=(J,Z,Y)=>{if(Y)return;if(J)return{transform:Tp.bind(void 0,new TextEncoder)};let X=new xp(Z);return{transform:Dp.bind(void 0,X),final:_p.bind(void 0,X)}},Tp=function*(J,Z){if(kp.isBuffer(Z))yield J1(Z);else if(typeof Z==="string")yield J.encode(Z);else yield Z},Dp=function*(J,Z){yield Z8(Z)?J.write(Z):Z},_p=function*(J){let Z=J.end();if(Z!=="")yield Z};import{callbackify as pU}from"util";var QF=pU(async(J,Z,Y,X)=>{Z.currentIterable=J(...Y);try{for await(let K of Z.currentIterable)X.push(K)}finally{delete Z.currentIterable}}),PY=async function*(J,Z,Y){if(Y===Z.length){yield J;return}let{transform:X=Cp}=Z[Y];for await(let K of X(J))yield*PY(K,Z,Y+1)},AU=async function*(J){for(let[Z,{final:Y}]of Object.entries(J))yield*Ep(Y,Number(Z),J)},Ep=async function*(J,Z,Y){if(J===void 0)return;for await(let X of J())yield*PY(X,Y,Z+1)},yU=pU(async({currentIterable:J},Z)=>{if(J!==void 0){await(Z?J.throw(Z):J.return());return}if(Z)throw Z}),Cp=function*(J){yield J};var FF=(J,Z,Y,X)=>{try{for(let K of J(...Z))Y.push(K);X()}catch(K){X(K)}},gU=(J,Z)=>[...Z.flatMap((Y)=>[...X9(Y,J,0)]),...f4(J)],X9=function*(J,Z,Y){if(Y===Z.length){yield J;return}let{transform:X=Ip}=Z[Y];for(let K of X(J))yield*X9(K,Z,Y+1)},f4=function*(J){for(let[Z,{final:Y}]of Object.entries(J))yield*Sp(Y,Number(Z),J)},Sp=function*(J,Z,Y){if(J===void 0)return;for(let X of J())yield*X9(X,Y,Z+1)},Ip=function*(J){yield J};var GF=({value:J,value:{transform:Z,final:Y,writableObjectMode:X,readableObjectMode:K},optionName:$},{encoding:Q})=>{let F={},G=mU(J,Q,$),W=Y9(Z),V=Y9(Y),q=W?QF.bind(void 0,PY,F):FF.bind(void 0,X9),z=W||V?QF.bind(void 0,AU,F):FF.bind(void 0,f4),U=W||V?yU.bind(void 0,F):void 0;return{stream:new fp({writableObjectMode:X,writableHighWaterMark:cU(X),readableObjectMode:K,readableHighWaterMark:cU(K),transform(R,L,O){q([R,G,0],this,O)},flush(R){z([G],this,R)},destroy:U})}},NY=(J,Z,Y,X)=>{let K=Z.filter(({type:Q})=>Q==="generator"),$=X?K.reverse():K;for(let{value:Q,optionName:F}of $){let G=mU(Q,Y,F);J=gU(G,J)}return J},mU=({transform:J,final:Z,binary:Y,writableObjectMode:X,readableObjectMode:K,preserveNewlines:$},Q,F)=>{let G={};return[{transform:fU(X,F)},OY(Y,Q,X),wY(Y,$,X,G),{transform:J,final:Z},{transform:hU(K,F)},IU({binary:Y,preserveNewlines:$,readableObjectMode:K,state:G})].filter(Boolean)};var lU=(J,Z)=>{for(let Y of hp(J))bp(J,Y,Z)},hp=(J)=>new Set(Object.entries(J).filter(([,{direction:Z}])=>Z==="input").map(([Z])=>Number(Z))),bp=(J,Z,Y)=>{let{stdioItems:X}=J[Z],K=X.filter(({contents:F})=>F!==void 0);if(K.length===0)return;if(Z!==0){let[{type:F,optionName:G}]=K;throw new TypeError(`Only the \`stdin\` option, not \`${G}\`, can be ${j1[F]} with synchronous methods.`)}let Q=K.map(({contents:F})=>F).map((F)=>pp(F,X));Y.input=x4(Q)},pp=(J,Z)=>{let Y=NY(J,Z,"utf8",!0);return Ap(Y),x4(Y)},Ap=(J)=>{let Z=J.find((Y)=>typeof Y!=="string"&&!Z8(Y));if(Z!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${Z}.`)};import{writeFileSync as mp,appendFileSync as lp}from"fs";var BY=({stdioItems:J,encoding:Z,verboseInfo:Y,fdNumber:X})=>X!=="all"&&u9(Y,X)&&!d8.has(Z)&&yp(X)&&(J.some(({type:K,value:$})=>K==="native"&&gp.has($))||J.every(({type:K})=>r8.has(K))),yp=(J)=>J===1||J===2,gp=new Set(["pipe","overlapped"]),uU=async(J,Z,Y,X)=>{for await(let K of J)if(!cp(Z))iU(K,Y,X)},dU=(J,Z,Y)=>{for(let X of J)iU(X,Z,Y)},cp=(J)=>J._readableState.pipes.length>0,iU=(J,Z,Y)=>{let X=IZ(J);D6({type:"output",verboseMessage:X,fdNumber:Z,verboseInfo:Y})};var nU=({fileDescriptors:J,syncResult:{output:Z},options:Y,isMaxBuffer:X,verboseInfo:K})=>{if(Z===null)return{output:Array.from({length:3})};let $={},Q=new Set([]);return{output:Z.map((G,W)=>up({result:G,fileDescriptors:J,fdNumber:W,state:$,outputFiles:Q,isMaxBuffer:X,verboseInfo:K},Y)),...$}},up=({result:J,fileDescriptors:Z,fdNumber:Y,state:X,outputFiles:K,isMaxBuffer:$,verboseInfo:Q},{buffer:F,encoding:G,lines:W,stripFinalNewline:V,maxBuffer:q})=>{if(J===null)return;let z=aL(J,$,q),U=J1(z),{stdioItems:M,objectMode:R}=Z[Y],L=dp([U],M,G,X),{serializedResult:O,finalResult:N=O}=ip({chunks:L,objectMode:R,encoding:G,lines:W,stripFinalNewline:V,fdNumber:Y});np({serializedResult:O,fdNumber:Y,state:X,verboseInfo:Q,encoding:G,stdioItems:M,objectMode:R});let B=F[Y]?N:void 0;try{if(X.error===void 0)ap(O,M,K);return B}catch(v){return X.error=v,B}},dp=(J,Z,Y,X)=>{try{return NY(J,Z,Y,!1)}catch(K){return X.error=K,J}},ip=({chunks:J,objectMode:Z,encoding:Y,lines:X,stripFinalNewline:K,fdNumber:$})=>{if(Z)return{serializedResult:J};if(Y==="buffer")return{serializedResult:x4(J)};let Q=Gz(J,Y);if(X[$])return{serializedResult:Q,finalResult:$F(Q,!K[$],Z)};return{serializedResult:Q}},np=({serializedResult:J,fdNumber:Z,state:Y,verboseInfo:X,encoding:K,stdioItems:$,objectMode:Q})=>{if(!BY({stdioItems:$,encoding:K,verboseInfo:X,fdNumber:Z}))return;let F=$F(J,!1,Q);try{dU(F,Z,X)}catch(G){Y.error??=G}},ap=(J,Z,Y)=>{for(let{path:X,append:K}of Z.filter(({type:$})=>MY.has($))){let $=typeof X==="string"?X:X.toString();if(K||Y.has($))lp(X,J);else Y.add($),mp(X,J)}};var aU=([,J,Z],Y)=>{if(!Y.all)return;if(J===void 0)return Z;if(Z===void 0)return J;if(Array.isArray(J))return Array.isArray(Z)?[...J,...Z]:[...J,K1(Z,Y,"all")];if(Array.isArray(Z))return[K1(J,Y,"all"),...Z];if(Z8(J)&&Z8(Z))return LQ([J,Z]);return`${J}${Z}`};import{once as WF}from"events";var sU=async(J,Z)=>{let[Y,X]=await sp(J);return Z.isForcefullyTerminated??=!1,[Y,X]},sp=async(J)=>{let[Z,Y]=await Promise.allSettled([WF(J,"spawn"),WF(J,"exit")]);if(Z.status==="rejected")return[];return Y.status==="rejected"?oU(J):Y.value},oU=async(J)=>{try{return await WF(J,"exit")}catch{return oU(J)}},rU=async(J)=>{let[Z,Y]=await J;if(!op(Z,Y)&&VF(Z,Y))throw new _6;return[Z,Y]},op=(J,Z)=>J===void 0&&Z===void 0,VF=(J,Z)=>J!==0||Z!==null;var tU=({error:J,status:Z,signal:Y,output:X},{maxBuffer:K})=>{let $=rp(J,Z,Y),Q=$?.code==="ETIMEDOUT",F=nL($,X,K);return{resultError:$,exitCode:Z,signal:Y,timedOut:Q,isMaxBuffer:F}},rp=(J,Z,Y)=>{if(J!==void 0)return J;return VF(Z,Y)?new _6:void 0};var eU=(J,Z,Y)=>{let{file:X,commandArguments:K,command:$,escapedCommand:Q,startTime:F,verboseInfo:G,options:W,fileDescriptors:V}=ep(J,Z,Y),q=YA({file:X,commandArguments:K,options:W,command:$,escapedCommand:Q,verboseInfo:G,fileDescriptors:V,startTime:F});return e9(q,G,W)},ep=(J,Z,Y)=>{let{command:X,escapedCommand:K,startTime:$,verboseInfo:Q}=hZ(J,Z,Y),F=JA(Y),{file:G,commandArguments:W,options:V}=KY(J,Z,F);ZA(V);let q=_U(V,Q);return{file:G,commandArguments:W,command:X,escapedCommand:K,startTime:$,verboseInfo:Q,options:V,fileDescriptors:q}},JA=(J)=>J.node&&!J.ipc?{...J,ipc:!1}:J,ZA=({ipc:J,ipcInput:Z,detached:Y,cancelSignal:X})=>{if(Z)vY("ipcInput");if(J)vY("ipc: true");if(Y)vY("detached: true");if(X)vY("cancelSignal")},vY=(J)=>{throw new TypeError(`The "${J}" option cannot be used with synchronous methods.`)},YA=({file:J,commandArguments:Z,options:Y,command:X,escapedCommand:K,verboseInfo:$,fileDescriptors:Q,startTime:F})=>{let G=XA({file:J,commandArguments:Z,options:Y,command:X,escapedCommand:K,fileDescriptors:Q,startTime:F});if(G.failed)return G;let{resultError:W,exitCode:V,signal:q,timedOut:z,isMaxBuffer:U}=tU(G,Y),{output:M,error:R=W}=nU({fileDescriptors:Q,syncResult:G,options:Y,isMaxBuffer:U,verboseInfo:$}),L=M.map((N,B)=>K1(N,Y,B)),O=K1(aU(M,Y),Y,"all");return $A({error:R,exitCode:V,signal:q,timedOut:z,isMaxBuffer:U,stdio:L,all:O,options:Y,command:X,escapedCommand:K,startTime:F})},XA=({file:J,commandArguments:Z,options:Y,command:X,escapedCommand:K,fileDescriptors:$,startTime:Q})=>{try{lU($,Y);let F=KA(Y);return tp(J,Z,F)}catch(F){return t9({error:F,command:X,escapedCommand:K,fileDescriptors:$,options:Y,startTime:Q,isSync:!0})}},KA=({encoding:J,maxBuffer:Z,...Y})=>({...Y,encoding:"buffer",maxBuffer:zY(Z)}),$A=({error:J,exitCode:Z,signal:Y,timedOut:X,isMaxBuffer:K,stdio:$,all:Q,options:F,command:G,escapedCommand:W,startTime:V})=>J===void 0?HY({command:G,escapedCommand:W,stdio:$,all:Q,ipcOutput:[],options:F,startTime:V}):I4({error:J,command:G,escapedCommand:W,timedOut:X,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:K,isForcefullyTerminated:!1,exitCode:Z,signal:Y,stdio:$,all:Q,ipcOutput:[],options:F,startTime:V,isSync:!0});import{setMaxListeners as iy}from"events";import{spawn as ny}from"child_process";import KM from"process";import{once as qF,on as QA}from"events";var JM=({anyProcess:J,channel:Z,isSubprocess:Y,ipc:X},{reference:K=!0,filter:$}={})=>{return n9({methodName:"getOneMessage",isSubprocess:Y,ipc:X,isConnected:tZ(J)}),FA({anyProcess:J,channel:Z,isSubprocess:Y,filter:$,reference:K})},FA=async({anyProcess:J,channel:Z,isSubprocess:Y,filter:X,reference:K})=>{aZ(Z,K);let $=v1(J,Z,Y),Q=new AbortController;try{return await Promise.race([GA($,X,Q),WA($,Y,Q),VA($,Y,Q)])}catch(F){throw a9(J),F}finally{Q.abort(),sZ(Z,K)}},GA=async(J,Z,{signal:Y})=>{if(Z===void 0){let[X]=await qF(J,"message",{signal:Y});return X}for await(let[X]of QA(J,"message",{signal:Y}))if(Z(X))return X},WA=async(J,Z,{signal:Y})=>{await qF(J,"disconnect",{signal:Y}),yH(Z)},VA=async(J,Z,{signal:Y})=>{let[X]=await qF(J,"strict:error",{signal:Y});throw dZ(X,Z)};import{once as YM,on as qA}from"events";var XM=({anyProcess:J,channel:Z,isSubprocess:Y,ipc:X},{reference:K=!0}={})=>zF({anyProcess:J,channel:Z,isSubprocess:Y,ipc:X,shouldAwait:!Y,reference:K}),zF=({anyProcess:J,channel:Z,isSubprocess:Y,ipc:X,shouldAwait:K,reference:$})=>{n9({methodName:"getEachMessage",isSubprocess:Y,ipc:X,isConnected:tZ(J)}),aZ(Z,$);let Q=v1(J,Z,Y),F=new AbortController,G={};return zA(J,Q,F),HA({ipcEmitter:Q,isSubprocess:Y,controller:F,state:G}),LA({anyProcess:J,channel:Z,ipcEmitter:Q,isSubprocess:Y,shouldAwait:K,controller:F,state:G,reference:$})},zA=async(J,Z,Y)=>{try{await YM(Z,"disconnect",{signal:Y.signal}),Y.abort()}catch{}},HA=async({ipcEmitter:J,isSubprocess:Z,controller:Y,state:X})=>{try{let[K]=await YM(J,"strict:error",{signal:Y.signal});X.error=dZ(K,Z),Y.abort()}catch{}},LA=async function*({anyProcess:J,channel:Z,ipcEmitter:Y,isSubprocess:X,shouldAwait:K,controller:$,state:Q,reference:F}){try{for await(let[G]of qA(Y,"message",{signal:$.signal}))ZM(Q),yield G}catch{ZM(Q)}finally{if($.abort(),sZ(Z,F),!X)a9(J);if(K)await J}},ZM=({error:J})=>{if(J)throw J};var $M=(J,{ipc:Z})=>{Object.assign(J,FM(J,!1,Z))},QM=()=>{let J=KM,Z=!0,Y=KM.channel!==void 0;return{...FM(J,!0,Y),getCancelSignal:zL.bind(void 0,{anyProcess:J,channel:J.channel,isSubprocess:!0,ipc:Y})}},FM=(J,Z,Y)=>({sendMessage:YY.bind(void 0,{anyProcess:J,channel:J.channel,isSubprocess:Z,ipc:Y}),getOneMessage:JM.bind(void 0,{anyProcess:J,channel:J.channel,isSubprocess:Z,ipc:Y}),getEachMessage:XM.bind(void 0,{anyProcess:J,channel:J.channel,isSubprocess:Z,ipc:Y})});import{ChildProcess as UA}from"child_process";import{PassThrough as MA,Readable as RA,Writable as wA,Duplex as OA}from"stream";var GM=({error:J,command:Z,escapedCommand:Y,fileDescriptors:X,options:K,startTime:$,verboseInfo:Q})=>{YF(X);let F=new UA;PA(F,X),Object.assign(F,{readable:NA,writable:BA,duplex:vA});let G=t9({error:J,command:Z,escapedCommand:Y,fileDescriptors:X,options:K,startTime:$,isSync:!1}),W=jA(G,Q,K);return{subprocess:F,promise:W}},PA=(J,Z)=>{let Y=h4(),X=h4(),K=h4(),$=Array.from({length:Z.length-3},h4),Q=h4(),F=[Y,X,K,...$];Object.assign(J,{stdin:Y,stdout:X,stderr:K,all:Q,stdio:F})},h4=()=>{let J=new MA;return J.end(),J},NA=()=>new RA({read(){}}),BA=()=>new wA({write(){}}),vA=()=>new OA({read(){},write(){}}),jA=async(J,Z,Y)=>e9(J,Z,Y);import{createReadStream as WM,createWriteStream as VM}from"fs";import{Buffer as kA}from"buffer";import{Readable as b4,Writable as xA,Duplex as TA}from"stream";var zM=(J,Z)=>RY(DA,J,Z,!1),p4=({type:J,optionName:Z})=>{throw new TypeError(`The \`${Z}\` option cannot be ${j1[J]}.`)},qM={fileNumber:p4,generator:GF,asyncGenerator:GF,nodeStream:({value:J})=>({stream:J}),webTransform({value:{transform:J,writableObjectMode:Z,readableObjectMode:Y}}){let X=Z||Y;return{stream:TA.fromWeb(J,{objectMode:X})}},duplex:({value:{transform:J}})=>({stream:J}),native(){}},DA={input:{...qM,fileUrl:({value:J})=>({stream:WM(J)}),filePath:({value:{file:J}})=>({stream:WM(J)}),webStream:({value:J})=>({stream:b4.fromWeb(J)}),iterable:({value:J})=>({stream:b4.from(J)}),asyncIterable:({value:J})=>({stream:b4.from(J)}),string:({value:J})=>({stream:b4.from(J)}),uint8Array:({value:J})=>({stream:b4.from(kA.from(J))})},output:{...qM,fileUrl:({value:J})=>({stream:VM(J)}),filePath:({value:{file:J,append:Z}})=>({stream:VM(J,Z?{flags:"a"}:{})}),webStream:({value:J})=>({stream:xA.fromWeb(J)}),iterable:p4,asyncIterable:p4,string:p4,uint8Array:p4}};import{on as _A,once as HM}from"events";import{PassThrough as EA,getDefaultHighWaterMark as CA}from"stream";import{finished as MM}from"stream/promises";function K9(J){if(!Array.isArray(J))throw new TypeError(`Expected an array, got \`${typeof J}\`.`);for(let K of J)HF(K);let Z=J.some(({readableObjectMode:K})=>K),Y=SA(J,Z),X=new RM({objectMode:Z,writableHighWaterMark:Y,readableHighWaterMark:Y});for(let K of J)X.add(K);return X}var SA=(J,Z)=>{if(J.length===0)return CA(Z);let Y=J.filter(({readableObjectMode:X})=>X===Z).map(({readableHighWaterMark:X})=>X);return Math.max(...Y)};class RM extends EA{#Z=new Set([]);#Y=new Set([]);#J=new Set([]);#X;#$=Symbol("unpipe");#K=new WeakMap;add(J){if(HF(J),this.#Z.has(J))return;this.#Z.add(J),this.#X??=IA(this,this.#Z,this.#$);let Z=bA({passThroughStream:this,stream:J,streams:this.#Z,ended:this.#Y,aborted:this.#J,onFinished:this.#X,unpipeEvent:this.#$});this.#K.set(J,Z),J.pipe(this,{end:!1})}async remove(J){if(HF(J),!this.#Z.has(J))return!1;let Z=this.#K.get(J);if(Z===void 0)return!1;return this.#K.delete(J),J.unpipe(this),await Z,!0}}var IA=async(J,Z,Y)=>{jY(J,LM);let X=new AbortController;try{await Promise.race([fA(J,X),hA(J,Z,Y,X)])}finally{X.abort(),jY(J,-LM)}},fA=async(J,{signal:Z})=>{try{await MM(J,{signal:Z,cleanup:!0})}catch(Y){throw wM(J,Y),Y}},hA=async(J,Z,Y,{signal:X})=>{for await(let[K]of _A(J,"unpipe",{signal:X}))if(Z.has(K))K.emit(Y)},HF=(J)=>{if(typeof J?.pipe!=="function")throw new TypeError(`Expected a readable stream, got: \`${typeof J}\`.`)},bA=async({passThroughStream:J,stream:Z,streams:Y,ended:X,aborted:K,onFinished:$,unpipeEvent:Q})=>{jY(J,UM);let F=new AbortController;try{await Promise.race([pA($,Z,F),AA({passThroughStream:J,stream:Z,streams:Y,ended:X,aborted:K,controller:F}),yA({stream:Z,streams:Y,ended:X,aborted:K,unpipeEvent:Q,controller:F})])}finally{F.abort(),jY(J,-UM)}if(Y.size>0&&Y.size===X.size+K.size)if(X.size===0&&K.size>0)LF(J);else gA(J)},pA=async(J,Z,{signal:Y})=>{try{if(await J,!Y.aborted)LF(Z)}catch(X){if(!Y.aborted)wM(Z,X)}},AA=async({passThroughStream:J,stream:Z,streams:Y,ended:X,aborted:K,controller:{signal:$}})=>{try{if(await MM(Z,{signal:$,cleanup:!0,readable:!0,writable:!1}),Y.has(Z))X.add(Z)}catch(Q){if($.aborted||!Y.has(Z))return;if(OM(Q))K.add(Z);else PM(J,Q)}},yA=async({stream:J,streams:Z,ended:Y,aborted:X,unpipeEvent:K,controller:{signal:$}})=>{if(await HM(J,K,{signal:$}),!J.readable)return HM($,"abort",{signal:$});Z.delete(J),Y.delete(J),X.delete(J)},gA=(J)=>{if(J.writable)J.end()},wM=(J,Z)=>{if(OM(Z))LF(J);else PM(J,Z)},OM=(J)=>J?.code==="ERR_STREAM_PREMATURE_CLOSE",LF=(J)=>{if(J.readable||J.writable)J.destroy()},PM=(J,Z)=>{if(!J.destroyed)J.once("error",cA),J.destroy(Z)},cA=()=>{},jY=(J,Z)=>{let Y=J.getMaxListeners();if(Y!==0&&Y!==Number.POSITIVE_INFINITY)J.setMaxListeners(Y+Z)},LM=2,UM=1;import{finished as NM}from"stream/promises";var Z5=(J,Z)=>{J.pipe(Z),mA(J,Z),lA(J,Z)},mA=async(J,Z)=>{if(H6(J)||H6(Z))return;try{await NM(J,{cleanup:!0,readable:!0,writable:!1})}catch{}UF(Z)},UF=(J)=>{if(J.writable)J.end()},lA=async(J,Z)=>{if(H6(J)||H6(Z))return;try{await NM(Z,{cleanup:!0,readable:!1,writable:!0})}catch{}MF(J)},MF=(J)=>{if(J.readable)J.destroy()};var BM=(J,Z,Y)=>{let X=new Map;for(let[K,{stdioItems:$,direction:Q}]of Object.entries(Z)){for(let{stream:F}of $.filter(({type:G})=>r8.has(G)))uA(J,F,Q,K);for(let{stream:F}of $.filter(({type:G})=>!r8.has(G)))iA({subprocess:J,stream:F,direction:Q,fdNumber:K,pipeGroups:X,controller:Y})}for(let[K,$]of X.entries()){let Q=$.length===1?$[0]:K9($);Z5(Q,K)}},uA=(J,Z,Y,X)=>{if(Y==="output")Z5(J.stdio[X],Z);else Z5(Z,J.stdio[X]);let K=dA[X];if(K!==void 0)J[K]=Z;J.stdio[X]=Z},dA=["stdin","stdout","stderr"],iA=({subprocess:J,stream:Z,direction:Y,fdNumber:X,pipeGroups:K,controller:$})=>{if(Z===void 0)return;nA(Z,$);let[Q,F]=Y==="output"?[Z,J.stdio[X]]:[J.stdio[X],Z],G=K.get(Q)??[];K.set(Q,[...G,F])},nA=(J,{signal:Z})=>{if(H6(J))J9(J,aA,Z)},aA=2;import{addAbortListener as rA}from"events";var $9=[];$9.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")$9.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")$9.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var kY=(J)=>!!J&&typeof J==="object"&&typeof J.removeListener==="function"&&typeof J.emit==="function"&&typeof J.reallyExit==="function"&&typeof J.listeners==="function"&&typeof J.kill==="function"&&typeof J.pid==="number"&&typeof J.on==="function",RF=Symbol.for("signal-exit emitter"),wF=globalThis,sA=Object.defineProperty.bind(Object);class vM{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(wF[RF])return wF[RF];sA(wF,RF,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(J,Z){this.listeners[J].push(Z)}removeListener(J,Z){let Y=this.listeners[J],X=Y.indexOf(Z);if(X===-1)return;if(X===0&&Y.length===1)Y.length=0;else Y.splice(X,1)}emit(J,Z,Y){if(this.emitted[J])return!1;this.emitted[J]=!0;let X=!1;for(let K of this.listeners[J])X=K(Z,Y)===!0||X;if(J==="exit")X=this.emit("afterExit",Z,Y)||X;return X}}class PF{}var oA=(J)=>{return{onExit(Z,Y){return J.onExit(Z,Y)},load(){return J.load()},unload(){return J.unload()}}};class jM extends PF{onExit(){return()=>{}}load(){}unload(){}}class kM extends PF{#Z=OF.platform==="win32"?"SIGINT":"SIGHUP";#Y=new vM;#J;#X;#$;#K={};#Q=!1;constructor(J){super();this.#J=J,this.#K={};for(let Z of $9)this.#K[Z]=()=>{let Y=this.#J.listeners(Z),{count:X}=this.#Y,K=J;if(typeof K.__signal_exit_emitter__==="object"&&typeof K.__signal_exit_emitter__.count==="number")X+=K.__signal_exit_emitter__.count;if(Y.length===X){this.unload();let $=this.#Y.emit("exit",null,Z),Q=Z==="SIGHUP"?this.#Z:Z;if(!$)J.kill(J.pid,Q)}};this.#$=J.reallyExit,this.#X=J.emit}onExit(J,Z){if(!kY(this.#J))return()=>{};if(this.#Q===!1)this.load();let Y=Z?.alwaysLast?"afterExit":"exit";return this.#Y.on(Y,J),()=>{if(this.#Y.removeListener(Y,J),this.#Y.listeners.exit.length===0&&this.#Y.listeners.afterExit.length===0)this.unload()}}load(){if(this.#Q)return;this.#Q=!0,this.#Y.count+=1;for(let J of $9)try{let Z=this.#K[J];if(Z)this.#J.on(J,Z)}catch(Z){}this.#J.emit=(J,...Z)=>{return this.#G(J,...Z)},this.#J.reallyExit=(J)=>{return this.#F(J)}}unload(){if(!this.#Q)return;this.#Q=!1,$9.forEach((J)=>{let Z=this.#K[J];if(!Z)throw new Error("Listener not defined for signal: "+J);try{this.#J.removeListener(J,Z)}catch(Y){}}),this.#J.emit=this.#X,this.#J.reallyExit=this.#$,this.#Y.count-=1}#F(J){if(!kY(this.#J))return 0;return this.#J.exitCode=J||0,this.#Y.emit("exit",this.#J.exitCode,null),this.#$.call(this.#J,this.#J.exitCode)}#G(J,...Z){let Y=this.#X;if(J==="exit"&&kY(this.#J)){if(typeof Z[0]==="number")this.#J.exitCode=Z[0];let X=Y.call(this.#J,J,...Z);return this.#Y.emit("exit",this.#J.exitCode,null),X}else return Y.call(this.#J,J,...Z)}}var OF=globalThis.process,{onExit:xM,load:Cz0,unload:Sz0}=oA(kY(OF)?new kM(OF):new jM);var TM=(J,{cleanup:Z,detached:Y},{signal:X})=>{if(!Z||Y)return;let K=xM(()=>{J.kill()});rA(X,()=>{K()})};var _M=({source:J,sourcePromise:Z,boundOptions:Y,createNested:X},...K)=>{let $=fZ(),{destination:Q,destinationStream:F,destinationError:G,from:W,unpipeSignal:V}=tA(Y,X,K),{sourceStream:q,sourceError:z}=Jy(J,W),{options:U,fileDescriptors:M}=C6.get(J);return{sourcePromise:Z,sourceStream:q,sourceOptions:U,sourceError:z,destination:Q,destinationStream:F,destinationError:G,unpipeSignal:V,fileDescriptors:M,startTime:$}},tA=(J,Z,Y)=>{try{let{destination:X,pipeOptions:{from:K,to:$,unpipeSignal:Q}={}}=eA(J,Z,...Y),F=nZ(X,$);return{destination:X,destinationStream:F,from:K,unpipeSignal:Q}}catch(X){return{destinationError:X}}},eA=(J,Z,Y,...X)=>{if(Array.isArray(Y))return{destination:Z(DM,J)(Y,...X),pipeOptions:J};if(typeof Y==="string"||Y instanceof URL||zQ(Y)){if(Object.keys(J).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[K,$,Q]=jZ(Y,...X);return{destination:Z(DM)(K,$,Q),pipeOptions:Q}}if(C6.has(Y)){if(Object.keys(J).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:Y,pipeOptions:X[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${Y}`)},DM=({options:J})=>({options:{...J,stdin:"pipe",piped:!0}}),Jy=(J,Z)=>{try{return{sourceStream:s9(J,Z)}}catch(Y){return{sourceError:Y}}};var CM=({sourceStream:J,sourceError:Z,destinationStream:Y,destinationError:X,fileDescriptors:K,sourceOptions:$,startTime:Q})=>{let F=Zy({sourceStream:J,sourceError:Z,destinationStream:Y,destinationError:X});if(F!==void 0)throw NF({error:F,fileDescriptors:K,sourceOptions:$,startTime:Q})},Zy=({sourceStream:J,sourceError:Z,destinationStream:Y,destinationError:X})=>{if(Z!==void 0&&X!==void 0)return X;if(X!==void 0)return MF(J),X;if(Z!==void 0)return UF(Y),Z},NF=({error:J,fileDescriptors:Z,sourceOptions:Y,startTime:X})=>t9({error:J,command:EM,escapedCommand:EM,fileDescriptors:Z,options:Y,startTime:X,isSync:!1}),EM="source.pipe(destination)";var SM=async(J)=>{let[{status:Z,reason:Y,value:X=Y},{status:K,reason:$,value:Q=$}]=await J;if(!Q.pipedFrom.includes(X))Q.pipedFrom.push(X);if(K==="rejected")throw Q;if(Z==="rejected")throw X;return Q};import{finished as Yy}from"stream/promises";var IM=(J,Z,Y)=>{let X=xY.has(Z)?Ky(J,Z):Xy(J,Z);return J9(J,Qy,Y.signal),J9(Z,Fy,Y.signal),$y(Z),X},Xy=(J,Z)=>{let Y=K9([J]);return Z5(Y,Z),xY.set(Z,Y),Y},Ky=(J,Z)=>{let Y=xY.get(Z);return Y.add(J),Y},$y=async(J)=>{try{await Yy(J,{cleanup:!0,readable:!1,writable:!0})}catch{}xY.delete(J)},xY=new WeakMap,Qy=2,Fy=1;import{aborted as Gy}from"util";var fM=(J,Z)=>J===void 0?[]:[Wy(J,Z)],Wy=async(J,{sourceStream:Z,mergedStream:Y,fileDescriptors:X,sourceOptions:K,startTime:$})=>{await Gy(J,Z),await Y.remove(Z);let Q=new Error("Pipe canceled by `unpipeSignal` option.");throw NF({error:Q,fileDescriptors:X,sourceOptions:K,startTime:$})};var TY=(J,...Z)=>{if(u0(Z[0]))return TY.bind(void 0,{...J,boundOptions:{...J.boundOptions,...Z[0]}});let{destination:Y,...X}=_M(J,...Z),K=Vy({...X,destination:Y});return K.pipe=TY.bind(void 0,{...J,source:Y,sourcePromise:K,boundOptions:{}}),K},Vy=async({sourcePromise:J,sourceStream:Z,sourceOptions:Y,sourceError:X,destination:K,destinationStream:$,destinationError:Q,unpipeSignal:F,fileDescriptors:G,startTime:W})=>{let V=qy(J,K);CM({sourceStream:Z,sourceError:X,destinationStream:$,destinationError:Q,fileDescriptors:G,sourceOptions:Y,startTime:W});let q=new AbortController;try{let z=IM(Z,$,q);return await Promise.race([SM(V),...fM(F,{sourceStream:Z,mergedStream:z,sourceOptions:Y,fileDescriptors:G,startTime:W})])}finally{q.abort()}},qy=(J,Z)=>Promise.allSettled([J,Z]);import{setImmediate as wy}from"timers/promises";import{on as zy}from"events";import{getDefaultHighWaterMark as Hy}from"stream";var DY=({subprocessStdout:J,subprocess:Z,binary:Y,shouldEncode:X,encoding:K,preserveNewlines:$})=>{let Q=new AbortController;return Ly(Z,Q),bM({stream:J,controller:Q,binary:Y,shouldEncode:!J.readableObjectMode&&X,encoding:K,shouldSplit:!J.readableObjectMode,preserveNewlines:$})},Ly=async(J,Z)=>{try{await J}catch{}finally{Z.abort()}},BF=({stream:J,onStreamEnd:Z,lines:Y,encoding:X,stripFinalNewline:K,allMixed:$})=>{let Q=new AbortController;Uy(Z,Q,J);let F=J.readableObjectMode&&!$;return bM({stream:J,controller:Q,binary:X==="buffer",shouldEncode:!F,encoding:X,shouldSplit:!F&&Y,preserveNewlines:!K})},Uy=async(J,Z,Y)=>{try{await J}catch{Y.destroy()}finally{Z.abort()}},bM=({stream:J,controller:Z,binary:Y,shouldEncode:X,encoding:K,shouldSplit:$,preserveNewlines:Q})=>{let F=zy(J,"data",{signal:Z.signal,highWaterMark:hM,highWatermark:hM});return My({onStdoutChunk:F,controller:Z,binary:Y,shouldEncode:X,encoding:K,shouldSplit:$,preserveNewlines:Q})},vF=Hy(!0),hM=vF,My=async function*({onStdoutChunk:J,controller:Z,binary:Y,shouldEncode:X,encoding:K,shouldSplit:$,preserveNewlines:Q}){let F=Ry({binary:Y,shouldEncode:X,encoding:K,shouldSplit:$,preserveNewlines:Q});try{for await(let[G]of J)yield*X9(G,F,0)}catch(G){if(!Z.signal.aborted)throw G}finally{yield*f4(F)}},Ry=({binary:J,shouldEncode:Z,encoding:Y,shouldSplit:X,preserveNewlines:K})=>[OY(J,Y,!Z),wY(J,K,!X,{})].filter(Boolean);var pM=async({stream:J,onStreamEnd:Z,fdNumber:Y,encoding:X,buffer:K,maxBuffer:$,lines:Q,allMixed:F,stripFinalNewline:G,verboseInfo:W,streamInfo:V})=>{let q=Oy({stream:J,onStreamEnd:Z,fdNumber:Y,encoding:X,allMixed:F,verboseInfo:W,streamInfo:V});if(!K){await Promise.all([Py(J),q]);return}let z=XF(G,Y),U=BF({stream:J,onStreamEnd:Z,lines:Q,encoding:X,stripFinalNewline:z,allMixed:F}),[M]=await Promise.all([Ny({stream:J,iterable:U,fdNumber:Y,encoding:X,maxBuffer:$,lines:Q}),q]);return M},Oy=async({stream:J,onStreamEnd:Z,fdNumber:Y,encoding:X,allMixed:K,verboseInfo:$,streamInfo:{fileDescriptors:Q}})=>{if(!BY({stdioItems:Q[Y]?.stdioItems,encoding:X,verboseInfo:$,fdNumber:Y}))return;let F=BF({stream:J,onStreamEnd:Z,lines:!0,encoding:X,stripFinalNewline:!0,allMixed:K});await uU(F,J,Y,$)},Py=async(J)=>{if(await wy(),J.readableFlowing===null)J.resume()},Ny=async({stream:J,stream:{readableObjectMode:Z},iterable:Y,fdNumber:X,encoding:K,maxBuffer:$,lines:Q})=>{try{if(Z||Q)return await GY(Y,{maxBuffer:$});if(K==="buffer")return new Uint8Array(await WY(Y,{maxBuffer:$}));return await qY(Y,{maxBuffer:$})}catch(F){return AM(uL({error:F,stream:J,readableObjectMode:Z,lines:Q,encoding:K,fdNumber:X}))}},jF=async(J)=>{try{return await J}catch(Z){return AM(Z)}},AM=({bufferedData:J})=>Qz(J)?new Uint8Array(J):J;import{finished as By}from"stream/promises";var A4=async(J,Z,Y,{isSameDirection:X,stopOnExit:K=!1}={})=>{let $=vy(J,Y),Q=new AbortController;try{await Promise.race([...K?[Y.exitPromise]:[],By(J,{cleanup:!0,signal:Q.signal})])}catch(F){if(!$.stdinCleanedUp)xy(F,Z,Y,X)}finally{Q.abort()}},vy=(J,{originalStreams:[Z],subprocess:Y})=>{let X={stdinCleanedUp:!1};if(J===Z)jy(J,Y,X);return X},jy=(J,Z,Y)=>{let{_destroy:X}=J;J._destroy=(...K)=>{ky(Z,Y),X.call(J,...K)}},ky=({exitCode:J,signalCode:Z},Y)=>{if(J!==null||Z!==null)Y.stdinCleanedUp=!0},xy=(J,Z,Y,X)=>{if(!Ty(J,Z,Y,X))throw J},Ty=(J,Z,Y,X=!0)=>{if(Y.propagating)return yM(J)||_Y(J);return Y.propagating=!0,kF(Y,Z)===X?yM(J):_Y(J)},kF=({fileDescriptors:J},Z)=>Z!=="all"&&J[Z].direction==="input",_Y=(J)=>J?.code==="ERR_STREAM_PREMATURE_CLOSE",yM=(J)=>J?.code==="EPIPE";var gM=({subprocess:J,encoding:Z,buffer:Y,maxBuffer:X,lines:K,stripFinalNewline:$,verboseInfo:Q,streamInfo:F})=>J.stdio.map((G,W)=>xF({stream:G,fdNumber:W,encoding:Z,buffer:Y[W],maxBuffer:X[W],lines:K[W],allMixed:!1,stripFinalNewline:$,verboseInfo:Q,streamInfo:F})),xF=async({stream:J,fdNumber:Z,encoding:Y,buffer:X,maxBuffer:K,lines:$,allMixed:Q,stripFinalNewline:F,verboseInfo:G,streamInfo:W})=>{if(!J)return;let V=A4(J,Z,W);if(kF(W,Z)){await V;return}let[q]=await Promise.all([pM({stream:J,onStreamEnd:V,fdNumber:Z,encoding:Y,buffer:X,maxBuffer:K,lines:$,allMixed:Q,stripFinalNewline:F,verboseInfo:G,streamInfo:W}),V]);return q};var cM=({stdout:J,stderr:Z},{all:Y})=>Y&&(J||Z)?K9([J,Z].filter(Boolean)):void 0,mM=({subprocess:J,encoding:Z,buffer:Y,maxBuffer:X,lines:K,stripFinalNewline:$,verboseInfo:Q,streamInfo:F})=>xF({...Dy(J,Y),fdNumber:"all",encoding:Z,maxBuffer:X[1]+X[2],lines:K[1]||K[2],allMixed:_y(J),stripFinalNewline:$,verboseInfo:Q,streamInfo:F}),Dy=({stdout:J,stderr:Z,all:Y},[,X,K])=>{let $=X||K;if(!$)return{stream:Y,buffer:$};if(!X)return{stream:Z,buffer:$};if(!K)return{stream:J,buffer:$};return{stream:Y,buffer:$}},_y=({all:J,stdout:Z,stderr:Y})=>J&&Z&&Y&&Z.readableObjectMode!==Y.readableObjectMode;import{once as Ey}from"events";var lM=(J)=>u9(J,"ipc"),uM=(J,Z)=>{let Y=IZ(J);D6({type:"ipc",verboseMessage:Y,fdNumber:"ipc",verboseInfo:Z})};var dM=async({subprocess:J,buffer:Z,maxBuffer:Y,ipc:X,ipcOutput:K,verboseInfo:$})=>{if(!X)return K;let Q=lM($),F=Z1(Z,"ipc"),G=Z1(Y,"ipc");for await(let W of zF({anyProcess:J,channel:J.channel,isSubprocess:!1,ipc:X,shouldAwait:!1,reference:!0})){if(F)dL(J,K,G),K.push(W);if(Q)uM(W,$)}return K},iM=async(J,Z)=>{return await Promise.allSettled([J]),Z};var nM=async({subprocess:J,options:{encoding:Z,buffer:Y,maxBuffer:X,lines:K,timeoutDuration:$,cancelSignal:Q,gracefulCancel:F,forceKillAfterDelay:G,stripFinalNewline:W,ipc:V,ipcInput:q},context:z,verboseInfo:U,fileDescriptors:M,originalStreams:R,onInternalError:L,controller:O})=>{let N=sU(J,z),B={originalStreams:R,fileDescriptors:M,subprocess:J,exitPromise:N,propagating:!1},v=gM({subprocess:J,encoding:Z,buffer:Y,maxBuffer:X,lines:K,stripFinalNewline:W,verboseInfo:U,streamInfo:B}),k=mM({subprocess:J,encoding:Z,buffer:Y,maxBuffer:X,lines:K,stripFinalNewline:W,verboseInfo:U,streamInfo:B}),w=[],x=dM({subprocess:J,buffer:Y,maxBuffer:X,ipc:V,ipcOutput:w,verboseInfo:U}),E=Cy(R,J,B),C=Sy(M,B);try{return await Promise.race([Promise.all([{},rU(N),Promise.all(v),k,x,BL(J,q),...E,...C]),L,Iy(J,O),...RL(J,$,z,O),...AH({subprocess:J,cancelSignal:Q,gracefulCancel:F,context:z,controller:O}),...UL({subprocess:J,cancelSignal:Q,gracefulCancel:F,forceKillAfterDelay:G,context:z,controller:O})])}catch(S){return z.terminationReason??="other",Promise.all([{error:S},N,Promise.all(v.map((I)=>jF(I))),jF(k),iM(x,w),Promise.allSettled(E),Promise.allSettled(C)])}},Cy=(J,Z,Y)=>J.map((X,K)=>X===Z.stdio[K]?void 0:A4(X,K,Y)),Sy=(J,Z)=>J.flatMap(({stdioItems:Y},X)=>Y.filter(({value:K,stream:$=K})=>U6($,{checkOpen:!1})&&!H6($)).map(({type:K,value:$,stream:Q=$})=>A4(Q,X,Z,{isSameDirection:r8.has(K),stopOnExit:K==="native"}))),Iy=async(J,{signal:Z})=>{let[Y]=await Ey(J,"error",{signal:Z});throw Y};var aM=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),y4=(J,Z,Y)=>{let X=J[Y];if(!X.has(Z))X.set(Z,[]);let K=X.get(Z),$=E6();return K.push($),{resolve:$.resolve.bind($),promises:K}},Y5=async({resolve:J,promises:Z},Y)=>{J();let[X]=await Promise.race([Promise.allSettled([!0,Y]),Promise.all([!1,...Z])]);return!X};import{Readable as fy}from"stream";import{callbackify as hy}from"util";import{finished as sM}from"stream/promises";var TF=async(J)=>{if(J===void 0)return;try{await DF(J)}catch{}},oM=async(J)=>{if(J===void 0)return;try{await _F(J)}catch{}},DF=async(J)=>{await sM(J,{cleanup:!0,readable:!1,writable:!0})},_F=async(J)=>{await sM(J,{cleanup:!0,readable:!0,writable:!1})},EY=async(J,Z)=>{if(await J,Z)throw Z},CY=(J,Z,Y)=>{if(Y&&!_Y(Y))J.destroy(Y);else if(Z)J.destroy()};var rM=({subprocess:J,concurrentStreams:Z,encoding:Y},{from:X,binary:K=!0,preserveNewlines:$=!0}={})=>{let Q=K||d8.has(Y),{subprocessStdout:F,waitReadableDestroy:G}=EF(J,X,Z),{readableEncoding:W,readableObjectMode:V,readableHighWaterMark:q}=CF(F,Q),{read:z,onStdoutDataDone:U}=SF({subprocessStdout:F,subprocess:J,binary:Q,encoding:Y,preserveNewlines:$}),M=new fy({read:z,destroy:hy(fF.bind(void 0,{subprocessStdout:F,subprocess:J,waitReadableDestroy:G})),highWaterMark:q,objectMode:V,encoding:W});return IF({subprocessStdout:F,onStdoutDataDone:U,readable:M,subprocess:J}),M},EF=(J,Z,Y)=>{let X=s9(J,Z),K=y4(Y,X,"readableDestroy");return{subprocessStdout:X,waitReadableDestroy:K}},CF=({readableEncoding:J,readableObjectMode:Z,readableHighWaterMark:Y},X)=>X?{readableEncoding:J,readableObjectMode:Z,readableHighWaterMark:Y}:{readableEncoding:J,readableObjectMode:!0,readableHighWaterMark:vF},SF=({subprocessStdout:J,subprocess:Z,binary:Y,encoding:X,preserveNewlines:K})=>{let $=E6(),Q=DY({subprocessStdout:J,subprocess:Z,binary:Y,shouldEncode:!Y,encoding:X,preserveNewlines:K});return{read(){by(this,Q,$)},onStdoutDataDone:$}},by=async(J,Z,Y)=>{try{let{value:X,done:K}=await Z.next();if(K)Y.resolve();else J.push(X)}catch{}},IF=async({subprocessStdout:J,onStdoutDataDone:Z,readable:Y,subprocess:X,subprocessStdin:K})=>{try{if(await _F(J),await X,await TF(K),await Z,Y.readable)Y.push(null)}catch($){await TF(K),tM(Y,$)}},fF=async({subprocessStdout:J,subprocess:Z,waitReadableDestroy:Y},X)=>{if(await Y5(Y,Z))tM(J,X),await EY(Z,X)},tM=(J,Z)=>{CY(J,J.readable,Z)};import{Writable as py}from"stream";import{callbackify as eM}from"util";var JR=({subprocess:J,concurrentStreams:Z},{to:Y}={})=>{let{subprocessStdin:X,waitWritableFinal:K,waitWritableDestroy:$}=hF(J,Y,Z),Q=new py({...bF(X,J,K),destroy:eM(AF.bind(void 0,{subprocessStdin:X,subprocess:J,waitWritableFinal:K,waitWritableDestroy:$})),highWaterMark:X.writableHighWaterMark,objectMode:X.writableObjectMode});return pF(X,Q),Q},hF=(J,Z,Y)=>{let X=nZ(J,Z),K=y4(Y,X,"writableFinal"),$=y4(Y,X,"writableDestroy");return{subprocessStdin:X,waitWritableFinal:K,waitWritableDestroy:$}},bF=(J,Z,Y)=>({write:Ay.bind(void 0,J),final:eM(yy.bind(void 0,J,Z,Y))}),Ay=(J,Z,Y,X)=>{if(J.write(Z,Y))X();else J.once("drain",X)},yy=async(J,Z,Y)=>{if(await Y5(Y,Z)){if(J.writable)J.end();await Z}},pF=async(J,Z,Y)=>{try{if(await DF(J),Z.writable)Z.end()}catch(X){await oM(Y),ZR(Z,X)}},AF=async({subprocessStdin:J,subprocess:Z,waitWritableFinal:Y,waitWritableDestroy:X},K)=>{if(await Y5(Y,Z),await Y5(X,Z))ZR(J,K),await EY(Z,K)},ZR=(J,Z)=>{CY(J,J.writable,Z)};import{Duplex as gy}from"stream";import{callbackify as cy}from"util";var YR=({subprocess:J,concurrentStreams:Z,encoding:Y},{from:X,to:K,binary:$=!0,preserveNewlines:Q=!0}={})=>{let F=$||d8.has(Y),{subprocessStdout:G,waitReadableDestroy:W}=EF(J,X,Z),{subprocessStdin:V,waitWritableFinal:q,waitWritableDestroy:z}=hF(J,K,Z),{readableEncoding:U,readableObjectMode:M,readableHighWaterMark:R}=CF(G,F),{read:L,onStdoutDataDone:O}=SF({subprocessStdout:G,subprocess:J,binary:F,encoding:Y,preserveNewlines:Q}),N=new gy({read:L,...bF(V,J,q),destroy:cy(my.bind(void 0,{subprocessStdout:G,subprocessStdin:V,subprocess:J,waitReadableDestroy:W,waitWritableFinal:q,waitWritableDestroy:z})),readableHighWaterMark:R,writableHighWaterMark:V.writableHighWaterMark,readableObjectMode:M,writableObjectMode:V.writableObjectMode,encoding:U});return IF({subprocessStdout:G,onStdoutDataDone:O,readable:N,subprocess:J,subprocessStdin:V}),pF(V,N,G),N},my=async({subprocessStdout:J,subprocessStdin:Z,subprocess:Y,waitReadableDestroy:X,waitWritableFinal:K,waitWritableDestroy:$},Q)=>{await Promise.all([fF({subprocessStdout:J,subprocess:Y,waitReadableDestroy:X},Q),AF({subprocessStdin:Z,subprocess:Y,waitWritableFinal:K,waitWritableDestroy:$},Q)])};var yF=(J,Z,{from:Y,binary:X=!1,preserveNewlines:K=!1}={})=>{let $=X||d8.has(Z),Q=s9(J,Y),F=DY({subprocessStdout:Q,subprocess:J,binary:$,shouldEncode:!0,encoding:Z,preserveNewlines:K});return ly(F,Q,J)},ly=async function*(J,Z,Y){try{yield*J}finally{if(Z.readable)Z.destroy();await Y}};var XR=(J,{encoding:Z})=>{let Y=aM();J.readable=rM.bind(void 0,{subprocess:J,concurrentStreams:Y,encoding:Z}),J.writable=JR.bind(void 0,{subprocess:J,concurrentStreams:Y}),J.duplex=YR.bind(void 0,{subprocess:J,concurrentStreams:Y,encoding:Z}),J.iterable=yF.bind(void 0,J,Z),J[Symbol.asyncIterator]=yF.bind(void 0,J,Z,{})};var KR=(J,Z)=>{for(let[Y,X]of dy){let K=X.value.bind(Z);Reflect.defineProperty(J,Y,{...X,value:K})}},uy=(async()=>{})().constructor.prototype,dy=["then","catch","finally"].map((J)=>[J,Reflect.getOwnPropertyDescriptor(uy,J)]);var $R=(J,Z,Y,X)=>{let{file:K,commandArguments:$,command:Q,escapedCommand:F,startTime:G,verboseInfo:W,options:V,fileDescriptors:q}=ay(J,Z,Y),{subprocess:z,promise:U}=oy({file:K,commandArguments:$,options:V,startTime:G,verboseInfo:W,command:Q,escapedCommand:F,fileDescriptors:q});return z.pipe=TY.bind(void 0,{source:z,sourcePromise:U,boundOptions:{},createNested:X}),KR(z,U),C6.set(z,{options:V,fileDescriptors:q}),z},ay=(J,Z,Y)=>{let{command:X,escapedCommand:K,startTime:$,verboseInfo:Q}=hZ(J,Z,Y),{file:F,commandArguments:G,options:W}=KY(J,Z,Y),V=sy(W),q=zM(V,Q);return{file:F,commandArguments:G,command:X,escapedCommand:K,startTime:$,verboseInfo:Q,options:V,fileDescriptors:q}},sy=({timeout:J,signal:Z,...Y})=>{if(Z!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...Y,timeoutDuration:J}},oy=({file:J,commandArguments:Z,options:Y,startTime:X,verboseInfo:K,command:$,escapedCommand:Q,fileDescriptors:F})=>{let G;try{G=ny(J,Z,Y)}catch(M){return GM({error:M,command:$,escapedCommand:Q,fileDescriptors:F,options:Y,startTime:X,verboseInfo:K})}let W=new AbortController;iy(Number.POSITIVE_INFINITY,W.signal);let V=[...G.stdio];BM(G,F,W),TM(G,Y,W);let q={},z=E6();G.kill=bH.bind(void 0,{kill:G.kill.bind(G),options:Y,onInternalError:z,context:q,controller:W}),G.all=cM(G,Y),XR(G,Y),$M(G,Y);let U=ry({subprocess:G,options:Y,startTime:X,verboseInfo:K,fileDescriptors:F,originalStreams:V,command:$,escapedCommand:Q,context:q,onInternalError:z,controller:W});return{subprocess:G,promise:U}},ry=async({subprocess:J,options:Z,startTime:Y,verboseInfo:X,fileDescriptors:K,originalStreams:$,command:Q,escapedCommand:F,context:G,onInternalError:W,controller:V})=>{let[q,[z,U],M,R,L]=await nM({subprocess:J,options:Z,context:G,verboseInfo:X,fileDescriptors:K,originalStreams:$,onInternalError:W,controller:V});V.abort(),W.resolve();let O=M.map((v,k)=>K1(v,Z,k)),N=K1(R,Z,"all"),B=ty({errorInfo:q,exitCode:z,signal:U,stdio:O,all:N,ipcOutput:L,context:G,options:Z,command:Q,escapedCommand:F,startTime:Y});return e9(B,X,Z)},ty=({errorInfo:J,exitCode:Z,signal:Y,stdio:X,all:K,ipcOutput:$,context:Q,options:F,command:G,escapedCommand:W,startTime:V})=>("error"in J)?I4({error:J.error,command:G,escapedCommand:W,timedOut:Q.terminationReason==="timeout",isCanceled:Q.terminationReason==="cancel"||Q.terminationReason==="gracefulCancel",isGracefullyCanceled:Q.terminationReason==="gracefulCancel",isMaxBuffer:J.error instanceof Y1,isForcefullyTerminated:Q.isForcefullyTerminated,exitCode:Z,signal:Y,stdio:X,all:K,ipcOutput:$,options:F,startTime:V,isSync:!1}):HY({command:G,escapedCommand:W,stdio:X,all:K,ipcOutput:$,options:F,startTime:V});var SY=(J,Z)=>{let Y=Object.fromEntries(Object.entries(Z).map(([X,K])=>[X,ey(X,J[X],K)]));return{...J,...Y}},ey=(J,Z,Y)=>{if(Jg.has(J)&&u0(Z)&&u0(Y))return{...Z,...Y};return Y},Jg=new Set(["env",...wQ]);var k1=(J,Z,Y,X)=>{let K=(Q,F,G)=>k1(Q,F,Y,G),$=(...Q)=>Zg({mapArguments:J,deepOptions:Y,boundOptions:Z,setBoundExeca:X,createNested:K},...Q);if(X!==void 0)X($,K,Z);return $},Zg=({mapArguments:J,deepOptions:Z={},boundOptions:Y={},setBoundExeca:X,createNested:K},$,...Q)=>{if(u0($))return K(J,SY(Y,$),X);let{file:F,commandArguments:G,options:W,isSync:V}=Yg({mapArguments:J,firstArgument:$,nextArguments:Q,deepOptions:Z,boundOptions:Y});return V?eU(F,G,W):$R(F,G,W,K)},Yg=({mapArguments:J,firstArgument:Z,nextArguments:Y,deepOptions:X,boundOptions:K})=>{let $=zz(Z)?Hz(Z,Y):[Z,...Y],[Q,F,G]=jZ(...$),W=SY(SY(X,K),G),{file:V=Q,commandArguments:q=F,options:z=W,isSync:U=!1}=J({file:Q,commandArguments:F,options:W});return{file:V,commandArguments:q,options:z,isSync:U}};var QR=({file:J,commandArguments:Z})=>GR(J,Z),FR=({file:J,commandArguments:Z})=>({...GR(J,Z),isSync:!0}),GR=(J,Z)=>{if(Z.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${J} ${Z}.`);let[Y,...X]=Xg(J);return{file:Y,commandArguments:X}},Xg=(J)=>{if(typeof J!=="string")throw new TypeError(`The command must be a string: ${String(J)}.`);let Z=J.trim();if(Z==="")return[];let Y=[];for(let X of Z.split(Kg)){let K=Y.at(-1);if(K&&K.endsWith("\\"))Y[Y.length-1]=`${K.slice(0,-1)} ${X}`;else Y.push(X)}return Y},Kg=/ +/g;var WR=(J,Z,Y)=>{J.sync=Z($g,Y),J.s=J.sync},VR=({options:J})=>qR(J),$g=({options:J})=>({...qR(J),isSync:!0}),qR=(J)=>({options:{...Qg(J),...J}}),Qg=({input:J,inputFile:Z,stdio:Y})=>J===void 0&&Z===void 0&&Y===void 0?{stdin:"inherit"}:{},zR={preferLocal:!0};var HR=k1(()=>({})),PU0=k1(()=>({isSync:!0})),NU0=k1(QR),BU0=k1(FR),vU0=k1(OL),jU0=k1(VR,{},zR,WR),{sendMessage:kU0,getOneMessage:xU0,getEachMessage:TU0,getCancelSignal:DU0}=QM();var{Glob:Fc}=globalThis.Bun;class gF{constructor(){this._listeners={}}addEventListener(J,Z){let Y=this._listeners;if(Y[J]===void 0)Y[J]=[];if(Y[J].indexOf(Z)===-1)Y[J].push(Z);return this}removeEventListener(J,Z){let X=this._listeners[J];if(X!==void 0){let K=X.indexOf(Z);if(K!==-1)X.splice(K,1)}return this}dispatchEvent(J){let Y=this._listeners[J.type];if(Y!==void 0){let X=Y.slice(0);for(let K=0,$=X.length;K<$;K++)X[K].call(this,J)}return this}dispose(){for(let J in this._listeners)delete this._listeners[J]}}class T1{constructor(J,Z,Y,X={}){if(this._name=void 0,this._parent=void 0,this._child=void 0,this._attributes=void 0,this._disposed=!1,this._name=J,this._parent=Z,this._child=Y,this._attributes=X,!Z.isOnGraph(Y))throw new Error("Cannot connect disconnected graphs.")}getName(){return this._name}getParent(){return this._parent}getChild(){return this._child}setChild(J){return this._child=J,this}getAttributes(){return this._attributes}dispose(){if(this._disposed)return;this._parent._destroyRef(this),this._disposed=!0}isDisposed(){return this._disposed}}class cF extends gF{constructor(...J){super(...J);this._emptySet=new Set,this._edges=new Set,this._parentEdges=new Map,this._childEdges=new Map}listEdges(){return Array.from(this._edges)}listParentEdges(J){return Array.from(this._childEdges.get(J)||this._emptySet)}listParents(J){let Z=new Set;for(let Y of this.listParentEdges(J))Z.add(Y.getParent());return Array.from(Z)}listChildEdges(J){return Array.from(this._parentEdges.get(J)||this._emptySet)}listChildren(J){let Z=new Set;for(let Y of this.listChildEdges(J))Z.add(Y.getChild());return Array.from(Z)}disconnectParents(J,Z){for(let Y of this.listParentEdges(J))if(!Z||Z(Y.getParent()))Y.dispose();return this}_createEdge(J,Z,Y,X){let K=new T1(J,Z,Y,X);this._edges.add(K);let $=K.getParent();if(!this._parentEdges.has($))this._parentEdges.set($,new Set);this._parentEdges.get($).add(K);let Q=K.getChild();if(!this._childEdges.has(Q))this._childEdges.set(Q,new Set);return this._childEdges.get(Q).add(K),K}_destroyEdge(J){return this._edges.delete(J),this._parentEdges.get(J.getParent()).delete(J),this._childEdges.get(J.getChild()).delete(J),this}}function g4(){return g4=Object.assign||function(J){for(var Z=1;Z<arguments.length;Z++){var Y=arguments[Z];for(var X in Y)if(Object.prototype.hasOwnProperty.call(Y,X))J[X]=Y[X]}return J},g4.apply(this,arguments)}class I6{constructor(J){if(this.list=[],J)for(let Z of J)this.list.push(Z)}add(J){this.list.push(J)}remove(J){let Z=this.list.indexOf(J);if(Z>=0)this.list.splice(Z,1)}removeChild(J){let Z=[];for(let Y of this.list)if(Y.getChild()===J)Z.push(Y);for(let Y of Z)this.remove(Y);return Z}listRefsByChild(J){let Z=[];for(let Y of this.list)if(Y.getChild()===J)Z.push(Y);return Z}values(){return this.list}}class E0{constructor(J){if(this.set=new Set,this.map=new Map,J)for(let Z of J)this.add(Z)}add(J){let Z=J.getChild();this.removeChild(Z),this.set.add(J),this.map.set(Z,J)}remove(J){this.set.delete(J),this.map.delete(J.getChild())}removeChild(J){let Z=this.map.get(J)||null;if(Z)this.remove(Z);return Z}getRefByChild(J){return this.map.get(J)||null}values(){return Array.from(this.set)}}class t8{constructor(J){if(this.map={},J)Object.assign(this.map,J)}set(J,Z){this.map[J]=Z}delete(J){delete this.map[J]}get(J){return this.map[J]||null}keys(){return Object.keys(this.map)}values(){return Object.values(this.map)}}var L0=Symbol("attributes"),x1=Symbol("immutableKeys");class IY extends gF{constructor(J){super();this._disposed=!1,this.graph=void 0,this[L0]=void 0,this[x1]=void 0,this.graph=J,this[x1]=new Set,this[L0]=this._createAttributes()}getDefaults(){return{}}_createAttributes(){let J=this.getDefaults(),Z={};for(let Y in J){let X=J[Y];if(X instanceof IY){let K=this.graph._createEdge(Y,this,X);this[x1].add(Y),Z[Y]=K}else Z[Y]=X}return Z}isOnGraph(J){return this.graph===J.graph}isDisposed(){return this._disposed}dispose(){if(this._disposed)return;this.graph.listChildEdges(this).forEach((J)=>J.dispose()),this.graph.disconnectParents(this),this._disposed=!0,this.dispatchEvent({type:"dispose"})}detach(){return this.graph.disconnectParents(this),this}swap(J,Z){for(let Y in this[L0]){let X=this[L0][Y];if(X instanceof T1){let K=X;if(K.getChild()===J)this.setRef(Y,Z,K.getAttributes())}else if(X instanceof I6)for(let K of X.listRefsByChild(J)){let $=K.getAttributes();this.removeRef(Y,J),this.addRef(Y,Z,$)}else if(X instanceof E0){let K=X.getRefByChild(J);if(K){let $=K.getAttributes();this.removeRef(Y,J),this.addRef(Y,Z,$)}}else if(X instanceof t8)for(let K of X.keys()){let $=X.get(K);if($.getChild()===J)this.setRefMap(Y,K,Z,$.getAttributes())}}return this}get(J){return this[L0][J]}set(J,Z){return this[L0][J]=Z,this.dispatchEvent({type:"change",attribute:J})}getRef(J){let Z=this[L0][J];return Z?Z.getChild():null}setRef(J,Z,Y){if(this[x1].has(J))throw new Error(`Cannot overwrite immutable attribute, "${J}".`);let X=this[L0][J];if(X)X.dispose();if(!Z)return this;let K=this.graph._createEdge(J,this,Z,Y);return this[L0][J]=K,this.dispatchEvent({type:"change",attribute:J})}listRefs(J){return this.assertRefList(J).values().map((Y)=>Y.getChild())}addRef(J,Z,Y){let X=this.graph._createEdge(J,this,Z,Y);return this.assertRefList(J).add(X),this.dispatchEvent({type:"change",attribute:J})}removeRef(J,Z){let Y=this.assertRefList(J);if(Y instanceof I6)for(let X of Y.listRefsByChild(Z))X.dispose();else{let X=Y.getRefByChild(Z);if(X)X.dispose()}return this}assertRefList(J){let Z=this[L0][J];if(Z instanceof I6||Z instanceof E0)return Z;throw new Error(`Expected RefList or RefSet for attribute "${J}"`)}listRefMapKeys(J){return this.assertRefMap(J).keys()}listRefMapValues(J){return this.assertRefMap(J).values().map((Z)=>Z.getChild())}getRefMap(J,Z){let X=this.assertRefMap(J).get(Z);return X?X.getChild():null}setRefMap(J,Z,Y,X){let K=this.assertRefMap(J),$=K.get(Z);if($)$.dispose();if(!Y)return this;X=Object.assign(X||{},{key:Z});let Q=this.graph._createEdge(J,this,Y,g4({},X,{key:Z}));return K.set(Z,Q),this.dispatchEvent({type:"change",attribute:J,key:Z})}assertRefMap(J){let Z=this[L0][J];if(Z instanceof t8)return Z;throw new Error(`Expected RefMap for attribute "${J}"`)}dispatchEvent(J){return super.dispatchEvent(g4({},J,{target:this})),this.graph.dispatchEvent(g4({},J,{target:this,type:`node:${J.type}`})),this}_destroyRef(J){let Z=J.getName();if(this[L0][Z]===J){if(this[L0][Z]=null,this[x1].has(Z))J.getChild().dispose()}else if(this[L0][Z]instanceof I6)this[L0][Z].remove(J);else if(this[L0][Z]instanceof E0)this[L0][Z].remove(J);else if(this[L0][Z]instanceof t8){let Y=this[L0][Z];for(let X of Y.keys())if(Y.get(X)===J)Y.delete(X)}else return;this.graph._destroyEdge(J),this.dispatchEvent({type:"change",attribute:Z})}}var PR="v4.1.1",yY="@glb.bin",p;(function(J){J.ACCESSOR="Accessor",J.ANIMATION="Animation",J.ANIMATION_CHANNEL="AnimationChannel",J.ANIMATION_SAMPLER="AnimationSampler",J.BUFFER="Buffer",J.CAMERA="Camera",J.MATERIAL="Material",J.MESH="Mesh",J.PRIMITIVE="Primitive",J.PRIMITIVE_TARGET="PrimitiveTarget",J.NODE="Node",J.ROOT="Root",J.SCENE="Scene",J.SKIN="Skin",J.TEXTURE="Texture",J.TEXTURE_INFO="TextureInfo"})(p||(p={}));var gY;(function(J){J.INTERLEAVED="interleaved",J.SEPARATE="separate"})(gY||(gY={}));var i8;(function(J){J.ARRAY_BUFFER="ARRAY_BUFFER",J.ELEMENT_ARRAY_BUFFER="ELEMENT_ARRAY_BUFFER",J.INVERSE_BIND_MATRICES="INVERSE_BIND_MATRICES",J.OTHER="OTHER",J.SPARSE="SPARSE"})(i8||(i8={}));var cY;(function(J){J[J.R=4096]="R",J[J.G=256]="G",J[J.B=16]="B",J[J.A=1]="A"})(cY||(cY={}));var $1;(function(J){J.GLTF="GLTF",J.GLB="GLB"})($1||($1={}));var m4={"5120":Int8Array,"5121":Uint8Array,"5122":Int16Array,"5123":Uint16Array,"5125":Uint32Array,"5126":Float32Array},lF=typeof Float32Array!=="undefined"?Float32Array:Array;if(!Math.hypot)Math.hypot=function(){var J=0,Z=arguments.length;while(Z--)J+=arguments[Z]*arguments[Z];return Math.sqrt(J)};function Fg(){var J=new lF(3);if(lF!=Float32Array)J[0]=0,J[1]=0,J[2]=0;return J}function mF(J){var Z=J[0],Y=J[1],X=J[2];return Math.hypot(Z,Y,X)}function Gg(J,Z,Y){var X=Z[0],K=Z[1],$=Z[2],Q=Y[3]*X+Y[7]*K+Y[11]*$+Y[15];return Q=Q||1,J[0]=(Y[0]*X+Y[4]*K+Y[8]*$+Y[12])/Q,J[1]=(Y[1]*X+Y[5]*K+Y[9]*$+Y[13])/Q,J[2]=(Y[2]*X+Y[6]*K+Y[10]*$+Y[14])/Q,J}(function(){var J=Fg();return function(Z,Y,X,K,$,Q){var F,G;if(!Y)Y=3;if(!X)X=0;if(K)G=Math.min(K*Y+X,Z.length);else G=Z.length;for(F=X;F<G;F+=Y)J[0]=Z[F],J[1]=Z[F+1],J[2]=Z[F+2],$(J,J,Q),Z[F]=J[0],Z[F+1]=J[1],Z[F+2]=J[2];return Z}})();function NR(J){let Z=BR(),Y=J.propertyType===p.NODE?[J]:J.listChildren();for(let X of Y)X.traverse((K)=>{let $=K.getMesh();if(!$)return;let Q=Wg($,K.getWorldMatrix());if(Q.min.every(isFinite)&&Q.max.every(isFinite))uF(Q.min,Z),uF(Q.max,Z)});return Z}function Wg(J,Z){let Y=BR();for(let X of J.listPrimitives()){let K=X.getAttribute("POSITION"),$=X.getIndices();if(!K)continue;let Q=[0,0,0],F=[0,0,0];for(let G=0,W=$?$.getCount():K.getCount();G<W;G++){let V=$?$.getScalar(G):G;Q=K.getElement(V,Q),F=Gg(F,Q,Z),uF(F,Y)}}return Y}function uF(J,Z){for(let Y=0;Y<3;Y++)Z.min[Y]=Math.min(J[Y],Z.min[Y]),Z.max[Y]=Math.max(J[Y],Z.max[Y])}function BR(){return{min:[1/0,1/0,1/0],max:[-1/0,-1/0,-1/0]}}class W0{static createBufferFromDataURI(J){if(typeof Buffer==="undefined"){let Z=atob(J.split(",")[1]),Y=new Uint8Array(Z.length);for(let X=0;X<Z.length;X++)Y[X]=Z.charCodeAt(X);return Y}else{let Z=J.split(",")[1],Y=J.indexOf("base64")>=0;return Buffer.from(Z,Y?"base64":"utf8")}}static encodeText(J){return new TextEncoder().encode(J)}static decodeText(J){return new TextDecoder().decode(J)}static concat(J){let Z=0;for(let K of J)Z+=K.byteLength;let Y=new Uint8Array(Z),X=0;for(let K of J)Y.set(K,X),X+=K.byteLength;return Y}static pad(J,Z=0){let Y=this.padNumber(J.byteLength);if(Y===J.byteLength)return J;let X=new Uint8Array(Y);if(X.set(J),Z!==0)for(let K=J.byteLength;K<Y;K++)X[K]=Z;return X}static padNumber(J){return Math.ceil(J/4)*4}static equals(J,Z){if(J===Z)return!0;if(J.byteLength!==Z.byteLength)return!1;let Y=J.byteLength;while(Y--)if(J[Y]!==Z[Y])return!1;return!0}static toView(J,Z=0,Y=1/0){return new Uint8Array(J.buffer,J.byteOffset+Z,Math.min(J.byteLength,Y))}static assertView(J){if(J&&!ArrayBuffer.isView(J))throw new Error(`Method requires Uint8Array parameter; received "${typeof J}".`);return J}}class vR{match(J){return J.length>=3&&J[0]===255&&J[1]===216&&J[2]===255}getSize(J){let Z=new DataView(J.buffer,J.byteOffset+4),Y,X;while(Z.byteLength){if(Y=Z.getUint16(0,!1),Vg(Z,Y),X=Z.getUint8(Y+1),X===192||X===193||X===194)return[Z.getUint16(Y+7,!1),Z.getUint16(Y+5,!1)];Z=new DataView(J.buffer,Z.byteOffset+Y+2)}throw new TypeError("Invalid JPG, no size found")}getChannels(J){return 3}}class uY{match(J){return J.length>=8&&J[0]===137&&J[1]===80&&J[2]===78&&J[3]===71&&J[4]===13&&J[5]===10&&J[6]===26&&J[7]===10}getSize(J){let Z=new DataView(J.buffer,J.byteOffset);if(W0.decodeText(J.slice(12,16))===uY.PNG_FRIED_CHUNK_NAME)return[Z.getUint32(32,!1),Z.getUint32(36,!1)];return[Z.getUint32(16,!1),Z.getUint32(20,!1)]}getChannels(J){return 4}}uY.PNG_FRIED_CHUNK_NAME="CgBI";class Q1{static registerFormat(J,Z){this.impls[J]=Z}static getMimeType(J){for(let Z in this.impls)if(this.impls[Z].match(J))return Z;return null}static getSize(J,Z){if(!this.impls[Z])return null;return this.impls[Z].getSize(J)}static getChannels(J,Z){if(!this.impls[Z])return null;return this.impls[Z].getChannels(J)}static getVRAMByteLength(J,Z){if(!this.impls[Z])return null;if(this.impls[Z].getVRAMByteLength)return this.impls[Z].getVRAMByteLength(J);let Y=0,X=4,K=this.getSize(J,Z);if(!K)return null;while(K[0]>1||K[1]>1)Y+=K[0]*K[1]*X,K[0]=Math.max(Math.floor(K[0]/2),1),K[1]=Math.max(Math.floor(K[1]/2),1);return Y+=1*X,Y}static mimeTypeToExtension(J){if(J==="image/jpeg")return"jpg";return J.split("/").pop()}static extensionToMimeType(J){if(J==="jpg")return"image/jpeg";if(!J)return"";return`image/${J}`}}Q1.impls={"image/jpeg":new vR,"image/png":new uY};function Vg(J,Z){if(Z>J.byteLength)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(J.getUint8(Z)!==255)throw new TypeError("Invalid JPG, marker table corrupted");return J}class F1{static basename(J){let Z=J.split(/[\\/]/).pop();return Z.substring(0,Z.lastIndexOf("."))}static extension(J){if(J.startsWith("data:image/")){let Z=J.match(/data:(image\/\w+)/)[1];return Q1.mimeTypeToExtension(Z)}else if(J.startsWith("data:model/gltf+json"))return"gltf";else if(J.startsWith("data:model/gltf-binary"))return"glb";else if(J.startsWith("data:application/"))return"bin";return J.split(/[\\/]/).pop().split(/[.]/).pop()}}function LR(J){return Object.prototype.toString.call(J)==="[object Object]"}function Q9(J){if(LR(J)===!1)return!1;let Z=J.constructor;if(Z===void 0)return!0;let Y=Z.prototype;if(LR(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}var dF,iF;(function(J){J[J.SILENT=4]="SILENT",J[J.ERROR=3]="ERROR",J[J.WARN=2]="WARN",J[J.INFO=1]="INFO",J[J.DEBUG=0]="DEBUG"})(iF||(iF={}));class Z6{constructor(J){this.verbosity=void 0,this.verbosity=J}debug(J){if(this.verbosity<=Z6.Verbosity.DEBUG)console.debug(J)}info(J){if(this.verbosity<=Z6.Verbosity.INFO)console.info(J)}warn(J){if(this.verbosity<=Z6.Verbosity.WARN)console.warn(J)}error(J){if(this.verbosity<=Z6.Verbosity.ERROR)console.error(J)}}dF=Z6;Z6.Verbosity=iF;Z6.DEFAULT_INSTANCE=new dF(dF.Verbosity.INFO);function qg(J){var Z=J[0],Y=J[1],X=J[2],K=J[3],$=J[4],Q=J[5],F=J[6],G=J[7],W=J[8],V=J[9],q=J[10],z=J[11],U=J[12],M=J[13],R=J[14],L=J[15],O=Z*Q-Y*$,N=Z*F-X*$,B=Z*G-K*$,v=Y*F-X*Q,k=Y*G-K*Q,w=X*G-K*F,x=W*M-V*U,E=W*R-q*U,C=W*L-z*U,S=V*R-q*M,I=V*L-z*M,h=q*L-z*R;return O*h-N*I+B*S+v*C-k*E+w*x}function zg(J,Z,Y){var X=Z[0],K=Z[1],$=Z[2],Q=Z[3],F=Z[4],G=Z[5],W=Z[6],V=Z[7],q=Z[8],z=Z[9],U=Z[10],M=Z[11],R=Z[12],L=Z[13],O=Z[14],N=Z[15],B=Y[0],v=Y[1],k=Y[2],w=Y[3];return J[0]=B*X+v*F+k*q+w*R,J[1]=B*K+v*G+k*z+w*L,J[2]=B*$+v*W+k*U+w*O,J[3]=B*Q+v*V+k*M+w*N,B=Y[4],v=Y[5],k=Y[6],w=Y[7],J[4]=B*X+v*F+k*q+w*R,J[5]=B*K+v*G+k*z+w*L,J[6]=B*$+v*W+k*U+w*O,J[7]=B*Q+v*V+k*M+w*N,B=Y[8],v=Y[9],k=Y[10],w=Y[11],J[8]=B*X+v*F+k*q+w*R,J[9]=B*K+v*G+k*z+w*L,J[10]=B*$+v*W+k*U+w*O,J[11]=B*Q+v*V+k*M+w*N,B=Y[12],v=Y[13],k=Y[14],w=Y[15],J[12]=B*X+v*F+k*q+w*R,J[13]=B*K+v*G+k*z+w*L,J[14]=B*$+v*W+k*U+w*O,J[15]=B*Q+v*V+k*M+w*N,J}function Hg(J,Z){var Y=Z[0],X=Z[1],K=Z[2],$=Z[4],Q=Z[5],F=Z[6],G=Z[8],W=Z[9],V=Z[10];return J[0]=Math.hypot(Y,X,K),J[1]=Math.hypot($,Q,F),J[2]=Math.hypot(G,W,V),J}function Lg(J,Z){var Y=new lF(3);Hg(Y,Z);var X=1/Y[0],K=1/Y[1],$=1/Y[2],Q=Z[0]*X,F=Z[1]*K,G=Z[2]*$,W=Z[4]*X,V=Z[5]*K,q=Z[6]*$,z=Z[8]*X,U=Z[9]*K,M=Z[10]*$,R=Q+V+M,L=0;if(R>0)L=Math.sqrt(R+1)*2,J[3]=0.25*L,J[0]=(q-U)/L,J[1]=(z-G)/L,J[2]=(F-W)/L;else if(Q>V&&Q>M)L=Math.sqrt(1+Q-V-M)*2,J[3]=(q-U)/L,J[0]=0.25*L,J[1]=(F+W)/L,J[2]=(z+G)/L;else if(V>M)L=Math.sqrt(1+V-Q-M)*2,J[3]=(z-G)/L,J[0]=(F+W)/L,J[1]=0.25*L,J[2]=(q+U)/L;else L=Math.sqrt(1+M-Q-V)*2,J[3]=(F-W)/L,J[0]=(z+G)/L,J[1]=(q+U)/L,J[2]=0.25*L;return J}class b0{static identity(J){return J}static eq(J,Z,Y=0.00001){if(J.length!==Z.length)return!1;for(let X=0;X<J.length;X++)if(Math.abs(J[X]-Z[X])>Y)return!1;return!0}static clamp(J,Z,Y){if(J<Z)return Z;if(J>Y)return Y;return J}static decodeNormalizedInt(J,Z){switch(Z){case 5126:return J;case 5123:return J/65535;case 5121:return J/255;case 5122:return Math.max(J/32767,-1);case 5120:return Math.max(J/127,-1);default:throw new Error("Invalid component type.")}}static encodeNormalizedInt(J,Z){switch(Z){case 5126:return J;case 5123:return Math.round(b0.clamp(J,0,1)*65535);case 5121:return Math.round(b0.clamp(J,0,1)*255);case 5122:return Math.round(b0.clamp(J,-1,1)*32767);case 5120:return Math.round(b0.clamp(J,-1,1)*127);default:throw new Error("Invalid component type.")}}static decompose(J,Z,Y,X){let K=mF([J[0],J[1],J[2]]),$=mF([J[4],J[5],J[6]]),Q=mF([J[8],J[9],J[10]]);if(qg(J)<0)K=-K;Z[0]=J[12],Z[1]=J[13],Z[2]=J[14];let G=J.slice(),W=1/K,V=1/$,q=1/Q;G[0]*=W,G[1]*=W,G[2]*=W,G[4]*=V,G[5]*=V,G[6]*=V,G[8]*=q,G[9]*=q,G[10]*=q,Lg(Y,G),X[0]=K,X[1]=$,X[2]=Q}static compose(J,Z,Y,X){let K=X,$=Z[0],Q=Z[1],F=Z[2],G=Z[3],W=$+$,V=Q+Q,q=F+F,z=$*W,U=$*V,M=$*q,R=Q*V,L=Q*q,O=F*q,N=G*W,B=G*V,v=G*q,k=Y[0],w=Y[1],x=Y[2];return K[0]=(1-(R+O))*k,K[1]=(U+v)*k,K[2]=(M-B)*k,K[3]=0,K[4]=(U-v)*w,K[5]=(1-(z+O))*w,K[6]=(L+N)*w,K[7]=0,K[8]=(M+B)*x,K[9]=(L-N)*x,K[10]=(1-(z+R))*x,K[11]=0,K[12]=J[0],K[13]=J[1],K[14]=J[2],K[15]=1,K}}function Ug(J,Z){if(!!J!==!!Z)return!1;let Y=J.getChild(),X=Z.getChild();return Y===X||Y.equals(X)}function Mg(J,Z){if(!!J!==!!Z)return!1;let Y=J.values(),X=Z.values();if(Y.length!==X.length)return!1;for(let K=0;K<Y.length;K++){let $=Y[K],Q=X[K];if($.getChild()===Q.getChild())continue;if(!$.getChild().equals(Q.getChild()))return!1}return!0}function Rg(J,Z){if(!!J!==!!Z)return!1;let Y=J.keys(),X=Z.keys();if(Y.length!==X.length)return!1;for(let K of Y){let $=J.get(K),Q=Z.get(K);if(!!$!==!!Q)return!1;let F=$.getChild(),G=Q.getChild();if(F===G)continue;if(!F.equals(G))return!1}return!0}function jR(J,Z){if(J===Z)return!0;if(!!J!==!!Z||!J||!Z)return!1;if(J.length!==Z.length)return!1;for(let Y=0;Y<J.length;Y++)if(J[Y]!==Z[Y])return!1;return!0}function kR(J,Z){if(J===Z)return!0;if(!!J!==!!Z)return!1;if(!Q9(J)||!Q9(Z))return J===Z;let Y=J,X=Z,K=0,$=0,Q;for(Q in Y)K++;for(Q in X)$++;if(K!==$)return!1;for(Q in Y){let F=Y[Q],G=X[Q];if(mY(F)&&mY(G)){if(!jR(F,G))return!1}else if(Q9(F)&&Q9(G)){if(!kR(F,G))return!1}else if(F!==G)return!1}return!0}function mY(J){return Array.isArray(J)||ArrayBuffer.isView(J)}var UR="23456789abdegjkmnpqrvwxyzABDEGJKMNPQRVWXYZ",wg=999,Og=6,MR=new Set,Pg=function J(){let Z="";for(let Y=0;Y<Og;Y++)Z+=UR.charAt(Math.floor(Math.random()*UR.length));return Z},xR=function J(){for(let Z=0;Z<wg;Z++){let Y=Pg();if(!MR.has(Y))return MR.add(Y),Y}return""},RR="https://null.example";class e8{static dirname(J){let Z=J.lastIndexOf("/");if(Z===-1)return"./";return J.substring(0,Z+1)}static basename(J){return F1.basename(new URL(J,RR).pathname)}static extension(J){return F1.extension(new URL(J,RR).pathname)}static resolve(J,Z){if(!this.isRelativePath(Z))return Z;let Y=J.split("/"),X=Z.split("/");Y.pop();for(let K=0;K<X.length;K++){if(X[K]===".")continue;if(X[K]==="..")Y.pop();else Y.push(X[K])}return Y.join("/")}static isAbsoluteURL(J){return this.PROTOCOL_REGEXP.test(J)}static isRelativePath(J){return!/^(?:[a-zA-Z]+:)?\//.test(J)}}e8.DEFAULT_INIT={};e8.PROTOCOL_REGEXP=/^[a-zA-Z]+:\/\//;var _1=(J)=>J,Ng=new Set;class dY extends IY{constructor(J,Z=""){super(J);this[L0].name=Z,this.init(),this.dispatchEvent({type:"create"})}getGraph(){return this.graph}getDefaults(){return Object.assign(super.getDefaults(),{name:"",extras:{}})}set(J,Z){if(Array.isArray(Z))Z=Z.slice();return super.set(J,Z)}getName(){return this.get("name")}setName(J){return this.set("name",J)}getExtras(){return this.get("extras")}setExtras(J){return this.set("extras",J)}clone(){return new this.constructor(this.graph).copy(this,_1)}copy(J,Z=_1){for(let Y in this[L0]){let X=this[L0][Y];if(X instanceof T1){if(!this[x1].has(Y))X.dispose()}else if(X instanceof I6||X instanceof E0)for(let K of X.values())K.dispose();else if(X instanceof t8)for(let K of X.values())K.dispose()}for(let Y in J[L0]){let X=this[L0][Y],K=J[L0][Y];if(K instanceof T1)if(this[x1].has(Y))X.getChild().copy(Z(K.getChild()),Z);else this.setRef(Y,Z(K.getChild()),K.getAttributes());else if(K instanceof E0||K instanceof I6)for(let $ of K.values())this.addRef(Y,Z($.getChild()),$.getAttributes());else if(K instanceof t8)for(let $ of K.keys()){let Q=K.get($);this.setRefMap(Y,$,Z(Q.getChild()),Q.getAttributes())}else if(Q9(K))this[L0][Y]=JSON.parse(JSON.stringify(K));else if(Array.isArray(K)||K instanceof ArrayBuffer||ArrayBuffer.isView(K))this[L0][Y]=K.slice();else this[L0][Y]=K}return this}equals(J,Z=Ng){if(this===J)return!0;if(this.propertyType!==J.propertyType)return!1;for(let Y in this[L0]){if(Z.has(Y))continue;let X=this[L0][Y],K=J[L0][Y];if(X instanceof T1||K instanceof T1){if(!Ug(X,K))return!1}else if(X instanceof E0||K instanceof E0||X instanceof I6||K instanceof I6){if(!Mg(X,K))return!1}else if(X instanceof t8||K instanceof t8){if(!Rg(X,K))return!1}else if(Q9(X)||Q9(K)){if(!kR(X,K))return!1}else if(mY(X)||mY(K)){if(!jR(X,K))return!1}else if(X!==K)return!1}return!0}detach(){return this.graph.disconnectParents(this,(J)=>J.propertyType!=="Root"),this}listParents(){return this.graph.listParents(this)}}class R8 extends dY{getDefaults(){return Object.assign(super.getDefaults(),{extensions:new t8})}getExtension(J){return this.getRefMap("extensions",J)}setExtension(J,Z){if(Z)Z._validateParent(this);return this.setRefMap("extensions",J,Z)}listExtensions(){return this.listRefMapValues("extensions")}}class i extends R8{init(){this.propertyType=p.ACCESSOR}getDefaults(){return Object.assign(super.getDefaults(),{array:null,type:i.Type.SCALAR,componentType:i.ComponentType.FLOAT,normalized:!1,sparse:!1,buffer:null})}static getElementSize(J){switch(J){case i.Type.SCALAR:return 1;case i.Type.VEC2:return 2;case i.Type.VEC3:return 3;case i.Type.VEC4:return 4;case i.Type.MAT2:return 4;case i.Type.MAT3:return 9;case i.Type.MAT4:return 16;default:throw new Error("Unexpected type: "+J)}}static getComponentSize(J){switch(J){case i.ComponentType.BYTE:return 1;case i.ComponentType.UNSIGNED_BYTE:return 1;case i.ComponentType.SHORT:return 2;case i.ComponentType.UNSIGNED_SHORT:return 2;case i.ComponentType.UNSIGNED_INT:return 4;case i.ComponentType.FLOAT:return 4;default:throw new Error("Unexpected component type: "+J)}}getMinNormalized(J){let Z=this.getNormalized(),Y=this.getElementSize(),X=this.getComponentType();if(this.getMin(J),Z)for(let K=0;K<Y;K++)J[K]=b0.decodeNormalizedInt(J[K],X);return J}getMin(J){let Z=this.getArray(),Y=this.getCount(),X=this.getElementSize();for(let K=0;K<X;K++)J[K]=1/0;for(let K=0;K<Y*X;K+=X)for(let $=0;$<X;$++){let Q=Z[K+$];if(Number.isFinite(Q))J[$]=Math.min(J[$],Q)}return J}getMaxNormalized(J){let Z=this.getNormalized(),Y=this.getElementSize(),X=this.getComponentType();if(this.getMax(J),Z)for(let K=0;K<Y;K++)J[K]=b0.decodeNormalizedInt(J[K],X);return J}getMax(J){let Z=this.get("array"),Y=this.getCount(),X=this.getElementSize();for(let K=0;K<X;K++)J[K]=-1/0;for(let K=0;K<Y*X;K+=X)for(let $=0;$<X;$++){let Q=Z[K+$];if(Number.isFinite(Q))J[$]=Math.max(J[$],Q)}return J}getCount(){let J=this.get("array");return J?J.length/this.getElementSize():0}getType(){return this.get("type")}setType(J){return this.set("type",J)}getElementSize(){return i.getElementSize(this.get("type"))}getComponentSize(){return this.get("array").BYTES_PER_ELEMENT}getComponentType(){return this.get("componentType")}getNormalized(){return this.get("normalized")}setNormalized(J){return this.set("normalized",J)}getScalar(J){let Z=this.getElementSize(),Y=this.getComponentType(),X=this.getArray();if(this.getNormalized())return b0.decodeNormalizedInt(X[J*Z],Y);return X[J*Z]}setScalar(J,Z){let Y=this.getElementSize(),X=this.getComponentType(),K=this.getArray();if(this.getNormalized())K[J*Y]=b0.encodeNormalizedInt(Z,X);else K[J*Y]=Z;return this}getElement(J,Z){let Y=this.getNormalized(),X=this.getElementSize(),K=this.getComponentType(),$=this.getArray();for(let Q=0;Q<X;Q++)if(Y)Z[Q]=b0.decodeNormalizedInt($[J*X+Q],K);else Z[Q]=$[J*X+Q];return Z}setElement(J,Z){let Y=this.getNormalized(),X=this.getElementSize(),K=this.getComponentType(),$=this.getArray();for(let Q=0;Q<X;Q++)if(Y)$[J*X+Q]=b0.encodeNormalizedInt(Z[Q],K);else $[J*X+Q]=Z[Q];return this}getSparse(){return this.get("sparse")}setSparse(J){return this.set("sparse",J)}getBuffer(){return this.getRef("buffer")}setBuffer(J){return this.setRef("buffer",J)}getArray(){return this.get("array")}setArray(J){return this.set("componentType",J?Bg(J):i.ComponentType.FLOAT),this.set("array",J),this}getByteLength(){let J=this.get("array");return J?J.byteLength:0}}i.Type={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};i.ComponentType={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125,FLOAT:5126};function Bg(J){switch(J.constructor){case Float32Array:return i.ComponentType.FLOAT;case Uint32Array:return i.ComponentType.UNSIGNED_INT;case Uint16Array:return i.ComponentType.UNSIGNED_SHORT;case Uint8Array:return i.ComponentType.UNSIGNED_BYTE;case Int16Array:return i.ComponentType.SHORT;case Int8Array:return i.ComponentType.BYTE;default:throw new Error("Unknown accessor componentType.")}}class aF extends R8{init(){this.propertyType=p.ANIMATION}getDefaults(){return Object.assign(super.getDefaults(),{channels:new E0,samplers:new E0})}addChannel(J){return this.addRef("channels",J)}removeChannel(J){return this.removeRef("channels",J)}listChannels(){return this.listRefs("channels")}addSampler(J){return this.addRef("samplers",J)}removeSampler(J){return this.removeRef("samplers",J)}listSamplers(){return this.listRefs("samplers")}}class l4 extends R8{init(){this.propertyType=p.ANIMATION_CHANNEL}getDefaults(){return Object.assign(super.getDefaults(),{targetPath:null,targetNode:null,sampler:null})}getTargetPath(){return this.get("targetPath")}setTargetPath(J){return this.set("targetPath",J)}getTargetNode(){return this.getRef("targetNode")}setTargetNode(J){return this.setRef("targetNode",J)}getSampler(){return this.getRef("sampler")}setSampler(J){return this.setRef("sampler",J)}}l4.TargetPath={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};class K5 extends R8{init(){this.propertyType=p.ANIMATION_SAMPLER}getDefaultAttributes(){return Object.assign(super.getDefaults(),{interpolation:K5.Interpolation.LINEAR,input:null,output:null})}getInterpolation(){return this.get("interpolation")}setInterpolation(J){return this.set("interpolation",J)}getInput(){return this.getRef("input")}setInput(J){return this.setRef("input",J,{usage:i8.OTHER})}getOutput(){return this.getRef("output")}setOutput(J){return this.setRef("output",J,{usage:i8.OTHER})}}K5.Interpolation={LINEAR:"LINEAR",STEP:"STEP",CUBICSPLINE:"CUBICSPLINE"};class sF extends R8{init(){this.propertyType=p.BUFFER}getDefaults(){return Object.assign(super.getDefaults(),{uri:""})}getURI(){return this.get("uri")}setURI(J){return this.set("uri",J)}}class F9 extends R8{init(){this.propertyType=p.CAMERA}getDefaults(){return Object.assign(super.getDefaults(),{type:F9.Type.PERSPECTIVE,znear:0.1,zfar:100,aspectRatio:null,yfov:Math.PI*2*50/360,xmag:1,ymag:1})}getType(){return this.get("type")}setType(J){return this.set("type",J)}getZNear(){return this.get("znear")}setZNear(J){return this.set("znear",J)}getZFar(){return this.get("zfar")}setZFar(J){return this.set("zfar",J)}getAspectRatio(){return this.get("aspectRatio")}setAspectRatio(J){return this.set("aspectRatio",J)}getYFov(){return this.get("yfov")}setYFov(J){return this.set("yfov",J)}getXMag(){return this.get("xmag")}setXMag(J){return this.set("xmag",J)}getYMag(){return this.get("ymag")}setYMag(J){return this.set("ymag",J)}}F9.Type={PERSPECTIVE:"perspective",ORTHOGRAPHIC:"orthographic"};class iY extends dY{_validateParent(J){if(!this.parentTypes.includes(J.propertyType))throw new Error(`Parent "${J.propertyType}" invalid for child "${this.propertyType}".`)}}iY.EXTENSION_NAME=void 0;class J6 extends R8{init(){this.propertyType=p.TEXTURE_INFO}getDefaults(){return Object.assign(super.getDefaults(),{texCoord:0,magFilter:null,minFilter:null,wrapS:J6.WrapMode.REPEAT,wrapT:J6.WrapMode.REPEAT})}getTexCoord(){return this.get("texCoord")}setTexCoord(J){return this.set("texCoord",J)}getMagFilter(){return this.get("magFilter")}setMagFilter(J){return this.set("magFilter",J)}getMinFilter(){return this.get("minFilter")}setMinFilter(J){return this.set("minFilter",J)}getWrapS(){return this.get("wrapS")}setWrapS(J){return this.set("wrapS",J)}getWrapT(){return this.get("wrapT")}setWrapT(J){return this.set("wrapT",J)}}J6.WrapMode={CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,REPEAT:10497};J6.MagFilter={NEAREST:9728,LINEAR:9729};J6.MinFilter={NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987};var{R:fY,G:hY,B:bY,A:vg}=cY;class E1 extends R8{init(){this.propertyType=p.MATERIAL}getDefaults(){return Object.assign(super.getDefaults(),{alphaMode:E1.AlphaMode.OPAQUE,alphaCutoff:0.5,doubleSided:!1,baseColorFactor:[1,1,1,1],baseColorTexture:null,baseColorTextureInfo:new J6(this.graph,"baseColorTextureInfo"),emissiveFactor:[0,0,0],emissiveTexture:null,emissiveTextureInfo:new J6(this.graph,"emissiveTextureInfo"),normalScale:1,normalTexture:null,normalTextureInfo:new J6(this.graph,"normalTextureInfo"),occlusionStrength:1,occlusionTexture:null,occlusionTextureInfo:new J6(this.graph,"occlusionTextureInfo"),roughnessFactor:1,metallicFactor:1,metallicRoughnessTexture:null,metallicRoughnessTextureInfo:new J6(this.graph,"metallicRoughnessTextureInfo")})}getDoubleSided(){return this.get("doubleSided")}setDoubleSided(J){return this.set("doubleSided",J)}getAlpha(){return this.get("baseColorFactor")[3]}setAlpha(J){let Z=this.get("baseColorFactor").slice();return Z[3]=J,this.set("baseColorFactor",Z)}getAlphaMode(){return this.get("alphaMode")}setAlphaMode(J){return this.set("alphaMode",J)}getAlphaCutoff(){return this.get("alphaCutoff")}setAlphaCutoff(J){return this.set("alphaCutoff",J)}getBaseColorFactor(){return this.get("baseColorFactor")}setBaseColorFactor(J){return this.set("baseColorFactor",J)}getBaseColorTexture(){return this.getRef("baseColorTexture")}getBaseColorTextureInfo(){return this.getRef("baseColorTexture")?this.getRef("baseColorTextureInfo"):null}setBaseColorTexture(J){return this.setRef("baseColorTexture",J,{channels:fY|hY|bY|vg,isColor:!0})}getEmissiveFactor(){return this.get("emissiveFactor")}setEmissiveFactor(J){return this.set("emissiveFactor",J)}getEmissiveTexture(){return this.getRef("emissiveTexture")}getEmissiveTextureInfo(){return this.getRef("emissiveTexture")?this.getRef("emissiveTextureInfo"):null}setEmissiveTexture(J){return this.setRef("emissiveTexture",J,{channels:fY|hY|bY,isColor:!0})}getNormalScale(){return this.get("normalScale")}setNormalScale(J){return this.set("normalScale",J)}getNormalTexture(){return this.getRef("normalTexture")}getNormalTextureInfo(){return this.getRef("normalTexture")?this.getRef("normalTextureInfo"):null}setNormalTexture(J){return this.setRef("normalTexture",J,{channels:fY|hY|bY})}getOcclusionStrength(){return this.get("occlusionStrength")}setOcclusionStrength(J){return this.set("occlusionStrength",J)}getOcclusionTexture(){return this.getRef("occlusionTexture")}getOcclusionTextureInfo(){return this.getRef("occlusionTexture")?this.getRef("occlusionTextureInfo"):null}setOcclusionTexture(J){return this.setRef("occlusionTexture",J,{channels:fY})}getRoughnessFactor(){return this.get("roughnessFactor")}setRoughnessFactor(J){return this.set("roughnessFactor",J)}getMetallicFactor(){return this.get("metallicFactor")}setMetallicFactor(J){return this.set("metallicFactor",J)}getMetallicRoughnessTexture(){return this.getRef("metallicRoughnessTexture")}getMetallicRoughnessTextureInfo(){return this.getRef("metallicRoughnessTexture")?this.getRef("metallicRoughnessTextureInfo"):null}setMetallicRoughnessTexture(J){return this.setRef("metallicRoughnessTexture",J,{channels:hY|bY})}}E1.AlphaMode={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};class nY extends R8{init(){this.propertyType=p.MESH}getDefaults(){return Object.assign(super.getDefaults(),{weights:[],primitives:new E0})}addPrimitive(J){return this.addRef("primitives",J)}removePrimitive(J){return this.removeRef("primitives",J)}listPrimitives(){return this.listRefs("primitives")}getWeights(){return this.get("weights")}setWeights(J){return this.set("weights",J)}}class aY extends R8{init(){this.propertyType=p.NODE}getDefaults(){return Object.assign(super.getDefaults(),{translation:[0,0,0],rotation:[0,0,0,1],scale:[1,1,1],weights:[],camera:null,mesh:null,skin:null,children:new E0})}copy(J,Z=_1){if(Z===_1)throw new Error("Node cannot be copied.");return super.copy(J,Z)}getTranslation(){return this.get("translation")}getRotation(){return this.get("rotation")}getScale(){return this.get("scale")}setTranslation(J){return this.set("translation",J)}setRotation(J){return this.set("rotation",J)}setScale(J){return this.set("scale",J)}getMatrix(){return b0.compose(this.get("translation"),this.get("rotation"),this.get("scale"),[])}setMatrix(J){let Z=this.get("translation").slice(),Y=this.get("rotation").slice(),X=this.get("scale").slice();return b0.decompose(J,Z,Y,X),this.set("translation",Z).set("rotation",Y).set("scale",X)}getWorldTranslation(){let J=[0,0,0];return b0.decompose(this.getWorldMatrix(),J,[0,0,0,1],[1,1,1]),J}getWorldRotation(){let J=[0,0,0,1];return b0.decompose(this.getWorldMatrix(),[0,0,0],J,[1,1,1]),J}getWorldScale(){let J=[1,1,1];return b0.decompose(this.getWorldMatrix(),[0,0,0],[0,0,0,1],J),J}getWorldMatrix(){let J=[];for(let X=this;X!=null;X=X.getParentNode())J.push(X);let Z,Y=J.pop().getMatrix();while(Z=J.pop())zg(Y,Y,Z.getMatrix());return Y}addChild(J){let Z=J.getParentNode();if(Z)Z.removeChild(J);for(let Y of J.listParents())if(Y.propertyType===p.SCENE)Y.removeChild(J);return this.addRef("children",J)}removeChild(J){return this.removeRef("children",J)}listChildren(){return this.listRefs("children")}getParentNode(){for(let J of this.listParents())if(J.propertyType===p.NODE)return J;return null}getMesh(){return this.getRef("mesh")}setMesh(J){return this.setRef("mesh",J)}getCamera(){return this.getRef("camera")}setCamera(J){return this.setRef("camera",J)}getSkin(){return this.getRef("skin")}setSkin(J){return this.setRef("skin",J)}getWeights(){return this.get("weights")}setWeights(J){return this.set("weights",J)}traverse(J){J(this);for(let Z of this.listChildren())Z.traverse(J);return this}}class G1 extends R8{init(){this.propertyType=p.PRIMITIVE}getDefaults(){return Object.assign(super.getDefaults(),{mode:G1.Mode.TRIANGLES,material:null,indices:null,attributes:new t8,targets:new E0})}getIndices(){return this.getRef("indices")}setIndices(J){return this.setRef("indices",J,{usage:i8.ELEMENT_ARRAY_BUFFER})}getAttribute(J){return this.getRefMap("attributes",J)}setAttribute(J,Z){return this.setRefMap("attributes",J,Z,{usage:i8.ARRAY_BUFFER})}listAttributes(){return this.listRefMapValues("attributes")}listSemantics(){return this.listRefMapKeys("attributes")}getMaterial(){return this.getRef("material")}setMaterial(J){return this.setRef("material",J)}getMode(){return this.get("mode")}setMode(J){return this.set("mode",J)}listTargets(){return this.listRefs("targets")}addTarget(J){return this.addRef("targets",J)}removeTarget(J){return this.removeRef("targets",J)}}G1.Mode={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class oF extends dY{init(){this.propertyType=p.PRIMITIVE_TARGET}getDefaults(){return Object.assign(super.getDefaults(),{attributes:new t8})}getAttribute(J){return this.getRefMap("attributes",J)}setAttribute(J,Z){return this.setRefMap("attributes",J,Z,{usage:i8.ARRAY_BUFFER})}listAttributes(){return this.listRefMapValues("attributes")}listSemantics(){return this.listRefMapKeys("attributes")}}function B8(){return B8=Object.assign?Object.assign.bind():function(J){for(var Z=1;Z<arguments.length;Z++){var Y=arguments[Z];for(var X in Y)({}).hasOwnProperty.call(Y,X)&&(J[X]=Y[X])}return J},B8.apply(null,arguments)}class sY extends R8{init(){this.propertyType=p.SCENE}getDefaults(){return Object.assign(super.getDefaults(),{children:new E0})}copy(J,Z=_1){if(Z===_1)throw new Error("Scene cannot be copied.");return super.copy(J,Z)}addChild(J){let Z=J.getParentNode();if(Z)Z.removeChild(J);return this.addRef("children",J)}removeChild(J){return this.removeRef("children",J)}listChildren(){return this.listRefs("children")}traverse(J){for(let Z of this.listChildren())Z.traverse(J);return this}}class rF extends R8{init(){this.propertyType=p.SKIN}getDefaults(){return Object.assign(super.getDefaults(),{skeleton:null,inverseBindMatrices:null,joints:new E0})}getSkeleton(){return this.getRef("skeleton")}setSkeleton(J){return this.setRef("skeleton",J)}getInverseBindMatrices(){return this.getRef("inverseBindMatrices")}setInverseBindMatrices(J){return this.setRef("inverseBindMatrices",J,{usage:i8.INVERSE_BIND_MATRICES})}addJoint(J){return this.addRef("joints",J)}removeJoint(J){return this.removeRef("joints",J)}listJoints(){return this.listRefs("joints")}}class oY extends R8{init(){this.propertyType=p.TEXTURE}getDefaults(){return Object.assign(super.getDefaults(),{image:null,mimeType:"",uri:""})}getMimeType(){return this.get("mimeType")||Q1.extensionToMimeType(F1.extension(this.get("uri")))}setMimeType(J){return this.set("mimeType",J)}getURI(){return this.get("uri")}setURI(J){this.set("uri",J);let Z=Q1.extensionToMimeType(F1.extension(J));if(Z)this.set("mimeType",Z);return this}getImage(){return this.get("image")}setImage(J){return this.set("image",W0.assertView(J))}getSize(){let J=this.get("image");if(!J)return null;return Q1.getSize(J,this.getMimeType())}}class tF extends R8{init(){this.propertyType=p.ROOT}getDefaults(){return Object.assign(super.getDefaults(),{asset:{generator:`glTF-Transform ${PR}`,version:"2.0"},defaultScene:null,accessors:new E0,animations:new E0,buffers:new E0,cameras:new E0,materials:new E0,meshes:new E0,nodes:new E0,scenes:new E0,skins:new E0,textures:new E0})}constructor(J){super(J);this._extensions=new Set,J.addEventListener("node:create",(Z)=>{this._addChildOfRoot(Z.target)})}clone(){throw new Error("Root cannot be cloned.")}copy(J,Z=_1){if(Z===_1)throw new Error("Root cannot be copied.");this.set("asset",B8({},J.get("asset"))),this.setName(J.getName()),this.setExtras(B8({},J.getExtras())),this.setDefaultScene(J.getDefaultScene()?Z(J.getDefaultScene()):null);for(let Y of J.listRefMapKeys("extensions")){let X=J.getExtension(Y);this.setExtension(Y,Z(X))}return this}_addChildOfRoot(J){if(J instanceof sY)this.addRef("scenes",J);else if(J instanceof aY)this.addRef("nodes",J);else if(J instanceof F9)this.addRef("cameras",J);else if(J instanceof rF)this.addRef("skins",J);else if(J instanceof nY)this.addRef("meshes",J);else if(J instanceof E1)this.addRef("materials",J);else if(J instanceof oY)this.addRef("textures",J);else if(J instanceof aF)this.addRef("animations",J);else if(J instanceof i)this.addRef("accessors",J);else if(J instanceof sF)this.addRef("buffers",J);return this}getAsset(){return this.get("asset")}listExtensionsUsed(){return Array.from(this._extensions)}listExtensionsRequired(){return this.listExtensionsUsed().filter((J)=>J.isRequired())}_enableExtension(J){return this._extensions.add(J),this}_disableExtension(J){return this._extensions.delete(J),this}listScenes(){return this.listRefs("scenes")}setDefaultScene(J){return this.setRef("defaultScene",J)}getDefaultScene(){return this.getRef("defaultScene")}listNodes(){return this.listRefs("nodes")}listCameras(){return this.listRefs("cameras")}listSkins(){return this.listRefs("skins")}listMeshes(){return this.listRefs("meshes")}listMaterials(){return this.listRefs("materials")}listTextures(){return this.listRefs("textures")}listAnimations(){return this.listRefs("animations")}listAccessors(){return this.listRefs("accessors")}listBuffers(){return this.listRefs("buffers")}}class X5{static fromGraph(J){return X5._GRAPH_DOCUMENTS.get(J)||null}constructor(){this._graph=new cF,this._root=new tF(this._graph),this._logger=Z6.DEFAULT_INSTANCE,X5._GRAPH_DOCUMENTS.set(this._graph,this)}getRoot(){return this._root}getGraph(){return this._graph}getLogger(){return this._logger}setLogger(J){return this._logger=J,this}clone(){throw new Error("Use 'cloneDocument(source)' from '@gltf-transform/functions'.")}merge(J){throw new Error("Use 'mergeDocuments(target, source)' from '@gltf-transform/functions'.")}async transform(...J){let Z=J.map((Y)=>Y.name);for(let Y of J)await Y(this,{stack:Z});return this}createExtension(J){let Z=J.EXTENSION_NAME;return this.getRoot().listExtensionsUsed().find((X)=>X.extensionName===Z)||new J(this)}createScene(J=""){return new sY(this._graph,J)}createNode(J=""){return new aY(this._graph,J)}createCamera(J=""){return new F9(this._graph,J)}createSkin(J=""){return new rF(this._graph,J)}createMesh(J=""){return new nY(this._graph,J)}createPrimitive(){return new G1(this._graph)}createPrimitiveTarget(J=""){return new oF(this._graph,J)}createMaterial(J=""){return new E1(this._graph,J)}createTexture(J=""){return new oY(this._graph,J)}createAnimation(J=""){return new aF(this._graph,J)}createAnimationChannel(J=""){return new l4(this._graph,J)}createAnimationSampler(J=""){return new K5(this._graph,J)}createAccessor(J="",Z=null){if(!Z)Z=this.getRoot().listBuffers()[0];return new i(this._graph,J).setBuffer(Z)}createBuffer(J=""){return new sF(this._graph,J)}}X5._GRAPH_DOCUMENTS=new WeakMap;class TR{constructor(J){this.extensionName="",this.prereadTypes=[],this.prewriteTypes=[],this.readDependencies=[],this.writeDependencies=[],this.document=void 0,this.required=!1,this.properties=new Set,this._listener=void 0,this.document=J,J.getRoot()._enableExtension(this),this._listener=(Y)=>{let X=Y,K=X.target;if(K instanceof iY&&K.extensionName===this.extensionName){if(X.type==="node:create")this._addExtensionProperty(K);if(X.type==="node:dispose")this._removeExtensionProperty(K)}};let Z=J.getGraph();Z.addEventListener("node:create",this._listener),Z.addEventListener("node:dispose",this._listener)}dispose(){this.document.getRoot()._disableExtension(this);let J=this.document.getGraph();J.removeEventListener("node:create",this._listener),J.removeEventListener("node:dispose",this._listener);for(let Z of this.properties)Z.dispose()}static register(){}isRequired(){return this.required}setRequired(J){return this.required=J,this}listProperties(){return Array.from(this.properties)}_addExtensionProperty(J){return this.properties.add(J),this}_removeExtensionProperty(J){return this.properties.delete(J),this}install(J,Z){return this}preread(J,Z){return this}prewrite(J,Z){return this}}TR.EXTENSION_NAME=void 0;class DR{constructor(J){this.jsonDoc=void 0,this.buffers=[],this.bufferViews=[],this.bufferViewBuffers=[],this.accessors=[],this.textures=[],this.textureInfos=new Map,this.materials=[],this.meshes=[],this.cameras=[],this.nodes=[],this.skins=[],this.animations=[],this.scenes=[],this.jsonDoc=J}setTextureInfo(J,Z){if(this.textureInfos.set(J,Z),Z.texCoord!==void 0)J.setTexCoord(Z.texCoord);if(Z.extras!==void 0)J.setExtras(Z.extras);let Y=this.jsonDoc.json.textures[Z.index];if(Y.sampler===void 0)return;let X=this.jsonDoc.json.samplers[Y.sampler];if(X.magFilter!==void 0)J.setMagFilter(X.magFilter);if(X.minFilter!==void 0)J.setMinFilter(X.minFilter);if(X.wrapS!==void 0)J.setWrapS(X.wrapS);if(X.wrapT!==void 0)J.setWrapT(X.wrapT)}}var wR={logger:Z6.DEFAULT_INSTANCE,extensions:[],dependencies:{}},jg=new Set([p.BUFFER,p.TEXTURE,p.MATERIAL,p.MESH,p.PRIMITIVE,p.NODE,p.SCENE]);class _R{static read(J,Z=wR){let Y=B8({},wR,Z),{json:X}=J,K=new X5().setLogger(Y.logger);this.validate(J,Y);let $=new DR(J),Q=X.asset,F=K.getRoot().getAsset();if(Q.copyright)F.copyright=Q.copyright;if(Q.extras)F.extras=Q.extras;if(X.extras!==void 0)K.getRoot().setExtras(B8({},X.extras));let G=X.extensionsUsed||[],W=X.extensionsRequired||[];Y.extensions.sort((w,x)=>w.EXTENSION_NAME>x.EXTENSION_NAME?1:-1);for(let w of Y.extensions)if(G.includes(w.EXTENSION_NAME)){let x=K.createExtension(w).setRequired(W.includes(w.EXTENSION_NAME)),E=x.prereadTypes.filter((C)=>!jg.has(C));if(E.length)Y.logger.warn(`Preread hooks for some types (${E.join()}), requested by extension ${x.extensionName}, are unsupported. Please file an issue or a PR.`);for(let C of x.readDependencies)x.install(C,Y.dependencies[C])}let V=X.buffers||[];K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.BUFFER)).forEach((w)=>w.preread($,p.BUFFER)),$.buffers=V.map((w)=>{let x=K.createBuffer(w.name);if(w.extras)x.setExtras(w.extras);if(w.uri&&w.uri.indexOf("__")!==0)x.setURI(w.uri);return x});let q=X.bufferViews||[];$.bufferViewBuffers=q.map((w,x)=>{if(!$.bufferViews[x]){let E=J.json.buffers[w.buffer],C=E.uri?J.resources[E.uri]:J.resources[yY],S=w.byteOffset||0;$.bufferViews[x]=W0.toView(C,S,w.byteLength)}return $.buffers[w.buffer]});let z=X.accessors||[];$.accessors=z.map((w)=>{let x=$.bufferViewBuffers[w.bufferView],E=K.createAccessor(w.name,x).setType(w.type);if(w.extras)E.setExtras(w.extras);if(w.normalized!==void 0)E.setNormalized(w.normalized);if(w.bufferView===void 0)return E;return E.setArray(AY(w,$)),E});let U=X.images||[],M=X.textures||[];K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.TEXTURE)).forEach((w)=>w.preread($,p.TEXTURE)),$.textures=U.map((w)=>{let x=K.createTexture(w.name);if(w.extras)x.setExtras(w.extras);if(w.bufferView!==void 0){let E=X.bufferViews[w.bufferView],C=J.json.buffers[E.buffer],S=C.uri?J.resources[C.uri]:J.resources[yY],I=E.byteOffset||0,h=E.byteLength,A=S.slice(I,I+h);x.setImage(A)}else if(w.uri!==void 0){if(x.setImage(J.resources[w.uri]),w.uri.indexOf("__")!==0)x.setURI(w.uri)}if(w.mimeType!==void 0)x.setMimeType(w.mimeType);else if(w.uri){let E=F1.extension(w.uri);x.setMimeType(Q1.extensionToMimeType(E))}return x}),K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.MATERIAL)).forEach((w)=>w.preread($,p.MATERIAL));let R=X.materials||[];$.materials=R.map((w)=>{let x=K.createMaterial(w.name);if(w.extras)x.setExtras(w.extras);if(w.alphaMode!==void 0)x.setAlphaMode(w.alphaMode);if(w.alphaCutoff!==void 0)x.setAlphaCutoff(w.alphaCutoff);if(w.doubleSided!==void 0)x.setDoubleSided(w.doubleSided);let E=w.pbrMetallicRoughness||{};if(E.baseColorFactor!==void 0)x.setBaseColorFactor(E.baseColorFactor);if(w.emissiveFactor!==void 0)x.setEmissiveFactor(w.emissiveFactor);if(E.metallicFactor!==void 0)x.setMetallicFactor(E.metallicFactor);if(E.roughnessFactor!==void 0)x.setRoughnessFactor(E.roughnessFactor);if(E.baseColorTexture!==void 0){let C=E.baseColorTexture,S=$.textures[M[C.index].source];x.setBaseColorTexture(S),$.setTextureInfo(x.getBaseColorTextureInfo(),C)}if(w.emissiveTexture!==void 0){let C=w.emissiveTexture,S=$.textures[M[C.index].source];x.setEmissiveTexture(S),$.setTextureInfo(x.getEmissiveTextureInfo(),C)}if(w.normalTexture!==void 0){let C=w.normalTexture,S=$.textures[M[C.index].source];if(x.setNormalTexture(S),$.setTextureInfo(x.getNormalTextureInfo(),C),w.normalTexture.scale!==void 0)x.setNormalScale(w.normalTexture.scale)}if(w.occlusionTexture!==void 0){let C=w.occlusionTexture,S=$.textures[M[C.index].source];if(x.setOcclusionTexture(S),$.setTextureInfo(x.getOcclusionTextureInfo(),C),w.occlusionTexture.strength!==void 0)x.setOcclusionStrength(w.occlusionTexture.strength)}if(E.metallicRoughnessTexture!==void 0){let C=E.metallicRoughnessTexture,S=$.textures[M[C.index].source];x.setMetallicRoughnessTexture(S),$.setTextureInfo(x.getMetallicRoughnessTextureInfo(),C)}return x}),K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.MESH)).forEach((w)=>w.preread($,p.MESH));let L=X.meshes||[];K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.PRIMITIVE)).forEach((w)=>w.preread($,p.PRIMITIVE)),$.meshes=L.map((w)=>{let x=K.createMesh(w.name);if(w.extras)x.setExtras(w.extras);if(w.weights!==void 0)x.setWeights(w.weights);return(w.primitives||[]).forEach((C)=>{let S=K.createPrimitive();if(C.extras)S.setExtras(C.extras);if(C.material!==void 0)S.setMaterial($.materials[C.material]);if(C.mode!==void 0)S.setMode(C.mode);for(let[A,f]of Object.entries(C.attributes||{}))S.setAttribute(A,$.accessors[f]);if(C.indices!==void 0)S.setIndices($.accessors[C.indices]);let I=w.extras&&w.extras.targetNames||[];(C.targets||[]).forEach((A,f)=>{let c=I[f]||f.toString(),J0=K.createPrimitiveTarget(c);for(let[A0,n0]of Object.entries(A))J0.setAttribute(A0,$.accessors[n0]);S.addTarget(J0)}),x.addPrimitive(S)}),x});let O=X.cameras||[];$.cameras=O.map((w)=>{let x=K.createCamera(w.name).setType(w.type);if(w.extras)x.setExtras(w.extras);if(w.type===F9.Type.PERSPECTIVE){let E=w.perspective;if(x.setYFov(E.yfov),x.setZNear(E.znear),E.zfar!==void 0)x.setZFar(E.zfar);if(E.aspectRatio!==void 0)x.setAspectRatio(E.aspectRatio)}else{let E=w.orthographic;x.setZNear(E.znear).setZFar(E.zfar).setXMag(E.xmag).setYMag(E.ymag)}return x});let N=X.nodes||[];K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.NODE)).forEach((w)=>w.preread($,p.NODE)),$.nodes=N.map((w)=>{let x=K.createNode(w.name);if(w.extras)x.setExtras(w.extras);if(w.translation!==void 0)x.setTranslation(w.translation);if(w.rotation!==void 0)x.setRotation(w.rotation);if(w.scale!==void 0)x.setScale(w.scale);if(w.matrix!==void 0){let E=[0,0,0],C=[0,0,0,1],S=[1,1,1];b0.decompose(w.matrix,E,C,S),x.setTranslation(E),x.setRotation(C),x.setScale(S)}if(w.weights!==void 0)x.setWeights(w.weights);return x});let B=X.skins||[];$.skins=B.map((w)=>{let x=K.createSkin(w.name);if(w.extras)x.setExtras(w.extras);if(w.inverseBindMatrices!==void 0)x.setInverseBindMatrices($.accessors[w.inverseBindMatrices]);if(w.skeleton!==void 0)x.setSkeleton($.nodes[w.skeleton]);for(let E of w.joints)x.addJoint($.nodes[E]);return x}),N.map((w,x)=>{let E=$.nodes[x];if((w.children||[]).forEach((S)=>E.addChild($.nodes[S])),w.mesh!==void 0)E.setMesh($.meshes[w.mesh]);if(w.camera!==void 0)E.setCamera($.cameras[w.camera]);if(w.skin!==void 0)E.setSkin($.skins[w.skin])});let v=X.animations||[];$.animations=v.map((w)=>{let x=K.createAnimation(w.name);if(w.extras)x.setExtras(w.extras);let C=(w.samplers||[]).map((I)=>{let h=K.createAnimationSampler().setInput($.accessors[I.input]).setOutput($.accessors[I.output]).setInterpolation(I.interpolation||K5.Interpolation.LINEAR);if(I.extras)h.setExtras(I.extras);return x.addSampler(h),h});return(w.channels||[]).forEach((I)=>{let h=K.createAnimationChannel().setSampler(C[I.sampler]).setTargetPath(I.target.path);if(I.target.node!==void 0)h.setTargetNode($.nodes[I.target.node]);if(I.extras)h.setExtras(I.extras);x.addChannel(h)}),x});let k=X.scenes||[];if(K.getRoot().listExtensionsUsed().filter((w)=>w.prereadTypes.includes(p.SCENE)).forEach((w)=>w.preread($,p.SCENE)),$.scenes=k.map((w)=>{let x=K.createScene(w.name);if(w.extras)x.setExtras(w.extras);return(w.nodes||[]).map((C)=>$.nodes[C]).forEach((C)=>x.addChild(C)),x}),X.scene!==void 0)K.getRoot().setDefaultScene($.scenes[X.scene]);return K.getRoot().listExtensionsUsed().forEach((w)=>w.read($)),z.forEach((w,x)=>{let E=$.accessors[x],C=!!w.sparse,S=!w.bufferView&&!E.getArray();if(C||S)E.setSparse(!0).setArray(xg(w,$))}),K}static validate(J,Z){let Y=J.json;if(Y.asset.version!=="2.0")throw new Error(`Unsupported glTF version, "${Y.asset.version}".`);if(Y.extensionsRequired){for(let X of Y.extensionsRequired)if(!Z.extensions.find((K)=>K.EXTENSION_NAME===X))throw new Error(`Missing required extension, "${X}".`)}if(Y.extensionsUsed){for(let X of Y.extensionsUsed)if(!Z.extensions.find((K)=>K.EXTENSION_NAME===X))Z.logger.warn(`Missing optional extension, "${X}".`)}}}function kg(J,Z){let Y=Z.jsonDoc,X=Z.bufferViews[J.bufferView],K=Y.json.bufferViews[J.bufferView],$=m4[J.componentType],Q=i.getElementSize(J.type),F=$.BYTES_PER_ELEMENT,G=J.byteOffset||0,W=new $(J.count*Q),V=new DataView(X.buffer,X.byteOffset,X.byteLength),q=K.byteStride;for(let z=0;z<J.count;z++)for(let U=0;U<Q;U++){let M=G+z*q+U*F,R;switch(J.componentType){case i.ComponentType.FLOAT:R=V.getFloat32(M,!0);break;case i.ComponentType.UNSIGNED_INT:R=V.getUint32(M,!0);break;case i.ComponentType.UNSIGNED_SHORT:R=V.getUint16(M,!0);break;case i.ComponentType.UNSIGNED_BYTE:R=V.getUint8(M);break;case i.ComponentType.SHORT:R=V.getInt16(M,!0);break;case i.ComponentType.BYTE:R=V.getInt8(M);break;default:throw new Error(`Unexpected componentType "${J.componentType}".`)}W[z*Q+U]=R}return W}function AY(J,Z){let Y=Z.jsonDoc,X=Z.bufferViews[J.bufferView],K=Y.json.bufferViews[J.bufferView],$=m4[J.componentType],Q=i.getElementSize(J.type),F=$.BYTES_PER_ELEMENT,G=Q*F;if(K.byteStride!==void 0&&K.byteStride!==G)return kg(J,Z);let W=X.byteOffset+(J.byteOffset||0),V=J.count*Q*F;return new $(X.buffer.slice(W,W+V))}function xg(J,Z){let Y=m4[J.componentType],X=i.getElementSize(J.type),K;if(J.bufferView!==void 0)K=AY(J,Z);else K=new Y(J.count*X);let $=J.sparse;if(!$)return K;let Q=$.count,F=B8({},J,$.indices,{count:Q,type:"SCALAR"}),G=B8({},J,$.values,{count:Q}),W=AY(F,Z),V=AY(G,Z);for(let q=0;q<F.count;q++)for(let z=0;z<X;z++)K[W[q]*X+z]=V[q*X+z];return K}var c4;(function(J){J[J.ARRAY_BUFFER=34962]="ARRAY_BUFFER",J[J.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER"})(c4||(c4={}));class D1{constructor(J,Z,Y){this._doc=void 0,this.jsonDoc=void 0,this.options=void 0,this.accessorIndexMap=new Map,this.animationIndexMap=new Map,this.bufferIndexMap=new Map,this.cameraIndexMap=new Map,this.skinIndexMap=new Map,this.materialIndexMap=new Map,this.meshIndexMap=new Map,this.nodeIndexMap=new Map,this.imageIndexMap=new Map,this.textureDefIndexMap=new Map,this.textureInfoDefMap=new Map,this.samplerDefIndexMap=new Map,this.sceneIndexMap=new Map,this.imageBufferViews=[],this.otherBufferViews=new Map,this.otherBufferViewsIndexMap=new Map,this.extensionData={},this.bufferURIGenerator=void 0,this.imageURIGenerator=void 0,this.logger=void 0,this._accessorUsageMap=new Map,this.accessorUsageGroupedByParent=new Set(["ARRAY_BUFFER"]),this.accessorParents=new Map,this._doc=J,this.jsonDoc=Z,this.options=Y;let X=J.getRoot(),K=X.listBuffers().length,$=X.listTextures().length;this.bufferURIGenerator=new nF(K>1,()=>Y.basename||"buffer"),this.imageURIGenerator=new nF($>1,(Q)=>Tg(J,Q)||Y.basename||"texture"),this.logger=J.getLogger()}createTextureInfoDef(J,Z){let Y={magFilter:Z.getMagFilter()||void 0,minFilter:Z.getMinFilter()||void 0,wrapS:Z.getWrapS(),wrapT:Z.getWrapT()},X=JSON.stringify(Y);if(!this.samplerDefIndexMap.has(X))this.samplerDefIndexMap.set(X,this.jsonDoc.json.samplers.length),this.jsonDoc.json.samplers.push(Y);let K={source:this.imageIndexMap.get(J),sampler:this.samplerDefIndexMap.get(X)},$=JSON.stringify(K);if(!this.textureDefIndexMap.has($))this.textureDefIndexMap.set($,this.jsonDoc.json.textures.length),this.jsonDoc.json.textures.push(K);let Q={index:this.textureDefIndexMap.get($)};if(Z.getTexCoord()!==0)Q.texCoord=Z.getTexCoord();if(Object.keys(Z.getExtras()).length>0)Q.extras=Z.getExtras();return this.textureInfoDefMap.set(Z,Q),Q}createPropertyDef(J){let Z={};if(J.getName())Z.name=J.getName();if(Object.keys(J.getExtras()).length>0)Z.extras=J.getExtras();return Z}createAccessorDef(J){let Z=this.createPropertyDef(J);if(Z.type=J.getType(),Z.componentType=J.getComponentType(),Z.count=J.getCount(),this._doc.getGraph().listParentEdges(J).some((X)=>X.getName()==="attributes"&&X.getAttributes().key==="POSITION"||X.getName()==="input"))Z.max=J.getMax([]).map(Math.fround),Z.min=J.getMin([]).map(Math.fround);if(J.getNormalized())Z.normalized=J.getNormalized();return Z}createImageData(J,Z,Y){if(this.options.format===$1.GLB)this.imageBufferViews.push(Z),J.bufferView=this.jsonDoc.json.bufferViews.length,this.jsonDoc.json.bufferViews.push({buffer:0,byteOffset:-1,byteLength:Z.byteLength});else{let X=Q1.mimeTypeToExtension(Y.getMimeType());J.uri=this.imageURIGenerator.createURI(Y,X),this.assignResourceURI(J.uri,Z,!1)}}assignResourceURI(J,Z,Y){let X=this.jsonDoc.resources;if(!(J in X)){X[J]=Z;return}if(Z===X[J]){this.logger.warn(`Duplicate resource URI, "${J}".`);return}let K=`Resource URI "${J}" already assigned to different data.`;if(!Y){this.logger.warn(K);return}throw new Error(K)}getAccessorUsage(J){let Z=this._accessorUsageMap.get(J);if(Z)return Z;if(J.getSparse())return i8.SPARSE;for(let Y of this._doc.getGraph().listParentEdges(J)){let{usage:X}=Y.getAttributes();if(X)return X;if(Y.getParent().propertyType!==p.ROOT)this.logger.warn(`Missing attribute ".usage" on edge, "${Y.getName()}".`)}return i8.OTHER}addAccessorToUsageGroup(J,Z){let Y=this._accessorUsageMap.get(J);if(Y&&Y!==Z)throw new Error(`Accessor with usage "${Y}" cannot be reused as "${Z}".`);return this._accessorUsageMap.set(J,Z),this}}D1.BufferViewTarget=c4;D1.BufferViewUsage=i8;D1.USAGE_TO_TARGET={[i8.ARRAY_BUFFER]:c4.ARRAY_BUFFER,[i8.ELEMENT_ARRAY_BUFFER]:c4.ELEMENT_ARRAY_BUFFER};class nF{constructor(J,Z){this.multiple=void 0,this.basename=void 0,this.counter={},this.multiple=J,this.basename=Z}createURI(J,Z){if(J.getURI())return J.getURI();else if(!this.multiple)return`${this.basename(J)}.${Z}`;else{let Y=this.basename(J);return this.counter[Y]=this.counter[Y]||1,`${Y}_${this.counter[Y]++}.${Z}`}}}function Tg(J,Z){let Y=J.getGraph().listParentEdges(Z).find((X)=>X.getParent()!==J.getRoot());return Y?Y.getName().replace(/texture$/i,""):""}var{BufferViewUsage:pY}=D1,{UNSIGNED_INT:Dg,UNSIGNED_SHORT:_g,UNSIGNED_BYTE:Eg}=i.ComponentType,Cg=new Set([p.ACCESSOR,p.BUFFER,p.MATERIAL,p.MESH]);class ER{static write(J,Z){let Y=J.getGraph(),X=J.getRoot(),K={asset:B8({generator:`glTF-Transform ${PR}`},X.getAsset()),extras:B8({},X.getExtras())},$={json:K,resources:{}},Q=new D1(J,$,Z),F=Z.logger||Z6.DEFAULT_INSTANCE,G=new Set(Z.extensions.map((L)=>L.EXTENSION_NAME)),W=J.getRoot().listExtensionsUsed().filter((L)=>G.has(L.extensionName)).sort((L,O)=>L.extensionName>O.extensionName?1:-1),V=J.getRoot().listExtensionsRequired().filter((L)=>G.has(L.extensionName)).sort((L,O)=>L.extensionName>O.extensionName?1:-1);if(W.length<J.getRoot().listExtensionsUsed().length)F.warn("Some extensions were not registered for I/O, and will not be written.");for(let L of W){let O=L.prewriteTypes.filter((N)=>!Cg.has(N));if(O.length)F.warn(`Prewrite hooks for some types (${O.join()}), requested by extension ${L.extensionName}, are unsupported. Please file an issue or a PR.`);for(let N of L.writeDependencies)L.install(N,Z.dependencies[N])}function q(L,O,N,B){let v=[],k=0;for(let E of L){let C=Q.createAccessorDef(E);C.bufferView=K.bufferViews.length;let S=E.getArray(),I=W0.pad(W0.toView(S));C.byteOffset=k,k+=I.byteLength,v.push(I),Q.accessorIndexMap.set(E,K.accessors.length),K.accessors.push(C)}let w=W0.concat(v),x={buffer:O,byteOffset:N,byteLength:w.byteLength};if(B)x.target=B;return K.bufferViews.push(x),{buffers:v,byteLength:k}}function z(L,O,N){let B=L[0].getCount(),v=0;for(let C of L){let S=Q.createAccessorDef(C);S.bufferView=K.bufferViews.length,S.byteOffset=v;let I=C.getElementSize(),h=C.getComponentSize();v+=W0.padNumber(I*h),Q.accessorIndexMap.set(C,K.accessors.length),K.accessors.push(S)}let k=B*v,w=new ArrayBuffer(k),x=new DataView(w);for(let C=0;C<B;C++){let S=0;for(let I of L){let h=I.getElementSize(),A=I.getComponentSize(),f=I.getComponentType(),c=I.getArray();for(let J0=0;J0<h;J0++){let A0=C*v+S+J0*A,n0=c[C*h+J0];switch(f){case i.ComponentType.FLOAT:x.setFloat32(A0,n0,!0);break;case i.ComponentType.BYTE:x.setInt8(A0,n0);break;case i.ComponentType.SHORT:x.setInt16(A0,n0,!0);break;case i.ComponentType.UNSIGNED_BYTE:x.setUint8(A0,n0);break;case i.ComponentType.UNSIGNED_SHORT:x.setUint16(A0,n0,!0);break;case i.ComponentType.UNSIGNED_INT:x.setUint32(A0,n0,!0);break;default:throw new Error("Unexpected component type: "+f)}}S+=W0.padNumber(h*A)}}let E={buffer:O,byteOffset:N,byteLength:k,byteStride:v,target:D1.BufferViewTarget.ARRAY_BUFFER};return K.bufferViews.push(E),{byteLength:k,buffers:[new Uint8Array(w)]}}function U(L,O,N){let B=[],v=0,k=new Map,w=-1/0,x=!1;for(let f of L){let c=Q.createAccessorDef(f);K.accessors.push(c),Q.accessorIndexMap.set(f,K.accessors.length-1);let J0=[],A0=[],n0=[],G6=new Array(f.getElementSize()).fill(0);for(let Y4=0,zS=f.getCount();Y4<zS;Y4++){if(f.getElement(Y4,n0),b0.eq(n0,G6,0))continue;w=Math.max(Y4,w),J0.push(Y4);for(let L$=0;L$<n0.length;L$++)A0.push(n0[L$])}let n6=J0.length,Z4={accessorDef:c,count:n6};if(k.set(f,Z4),n6===0)continue;if(n6>f.getCount()/2)x=!0;let qS=m4[f.getComponentType()];Z4.indices=J0,Z4.values=new qS(A0)}if(!Number.isFinite(w))return{buffers:B,byteLength:v};if(x)F.warn("Some sparse accessors have >50% non-zero elements, which may increase file size.");let E=w<255?Uint8Array:w<65535?Uint16Array:Uint32Array,C=w<255?Eg:w<65535?_g:Dg,S={buffer:O,byteOffset:N+v,byteLength:0};for(let f of L){let c=k.get(f);if(c.count===0)continue;c.indicesByteOffset=S.byteLength;let J0=W0.pad(W0.toView(new E(c.indices)));B.push(J0),v+=J0.byteLength,S.byteLength+=J0.byteLength}K.bufferViews.push(S);let I=K.bufferViews.length-1,h={buffer:O,byteOffset:N+v,byteLength:0};for(let f of L){let c=k.get(f);if(c.count===0)continue;c.valuesByteOffset=h.byteLength;let J0=W0.pad(W0.toView(c.values));B.push(J0),v+=J0.byteLength,h.byteLength+=J0.byteLength}K.bufferViews.push(h);let A=K.bufferViews.length-1;for(let f of L){let c=k.get(f);if(c.count===0)continue;c.accessorDef.sparse={count:c.count,indices:{bufferView:I,byteOffset:c.indicesByteOffset,componentType:C},values:{bufferView:A,byteOffset:c.valuesByteOffset}}}return{buffers:B,byteLength:v}}if(K.accessors=[],K.bufferViews=[],K.samplers=[],K.textures=[],K.images=X.listTextures().map((L,O)=>{let N=Q.createPropertyDef(L);if(L.getMimeType())N.mimeType=L.getMimeType();let B=L.getImage();if(B)Q.createImageData(N,B,L);return Q.imageIndexMap.set(L,O),N}),W.filter((L)=>L.prewriteTypes.includes(p.ACCESSOR)).forEach((L)=>L.prewrite(Q,p.ACCESSOR)),X.listAccessors().forEach((L)=>{let{accessorUsageGroupedByParent:O,accessorParents:N}=Q;if(Q.accessorIndexMap.has(L))return;let B=Q.getAccessorUsage(L);if(Q.addAccessorToUsageGroup(L,B),O.has(B)){let v=Y.listParents(L).find((k)=>k.propertyType!==p.ROOT);N.set(L,v)}}),W.filter((L)=>L.prewriteTypes.includes(p.BUFFER)).forEach((L)=>L.prewrite(Q,p.BUFFER)),(X.listAccessors().length>0||Q.otherBufferViews.size>0||X.listTextures().length>0&&Z.format===$1.GLB)&&X.listBuffers().length===0)throw new Error("Buffer required for Document resources, but none was found.");if(K.buffers=[],X.listBuffers().forEach((L,O)=>{let N=Q.createPropertyDef(L),B=Q.accessorUsageGroupedByParent,v=L.listParents().filter((h)=>h instanceof i),k=new Set(v.map((h)=>Q.accessorParents.get(h))),w=new Map(Array.from(k).map((h,A)=>[h,A])),x={};for(let h of v){var E;if(Q.accessorIndexMap.has(h))continue;let A=Q.getAccessorUsage(h),f=A;if(B.has(A)){let c=Q.accessorParents.get(h);f+=`:${w.get(c)}`}x[E=f]||(x[E]={usage:A,accessors:[]}),x[f].accessors.push(h)}let C=[],S=K.buffers.length,I=0;for(let{usage:h,accessors:A}of Object.values(x))if(h===pY.ARRAY_BUFFER&&Z.vertexLayout===gY.INTERLEAVED){let f=z(A,S,I);I+=f.byteLength;for(let c of f.buffers)C.push(c)}else if(h===pY.ARRAY_BUFFER)for(let f of A){let c=z([f],S,I);I+=c.byteLength;for(let J0 of c.buffers)C.push(J0)}else if(h===pY.SPARSE){let f=U(A,S,I);I+=f.byteLength;for(let c of f.buffers)C.push(c)}else if(h===pY.ELEMENT_ARRAY_BUFFER){let f=D1.BufferViewTarget.ELEMENT_ARRAY_BUFFER,c=q(A,S,I,f);I+=c.byteLength;for(let J0 of c.buffers)C.push(J0)}else{let f=q(A,S,I);I+=f.byteLength;for(let c of f.buffers)C.push(c)}if(Q.imageBufferViews.length&&O===0){for(let h=0;h<Q.imageBufferViews.length;h++)if(K.bufferViews[K.images[h].bufferView].byteOffset=I,I+=Q.imageBufferViews[h].byteLength,C.push(Q.imageBufferViews[h]),I%8){let A=8-I%8;I+=A,C.push(new Uint8Array(A))}}if(Q.otherBufferViews.has(L))for(let h of Q.otherBufferViews.get(L))K.bufferViews.push({buffer:S,byteOffset:I,byteLength:h.byteLength}),Q.otherBufferViewsIndexMap.set(h,K.bufferViews.length-1),I+=h.byteLength,C.push(h);if(I){let h;if(Z.format===$1.GLB)h=yY;else h=Q.bufferURIGenerator.createURI(L,"bin"),N.uri=h;N.byteLength=I,Q.assignResourceURI(h,W0.concat(C),!0)}K.buffers.push(N),Q.bufferIndexMap.set(L,O)}),X.listAccessors().find((L)=>!L.getBuffer()))F.warn("Skipped writing one or more Accessors: no Buffer assigned.");W.filter((L)=>L.prewriteTypes.includes(p.MATERIAL)).forEach((L)=>L.prewrite(Q,p.MATERIAL)),K.materials=X.listMaterials().map((L,O)=>{let N=Q.createPropertyDef(L);if(L.getAlphaMode()!==E1.AlphaMode.OPAQUE)N.alphaMode=L.getAlphaMode();if(L.getAlphaMode()===E1.AlphaMode.MASK)N.alphaCutoff=L.getAlphaCutoff();if(L.getDoubleSided())N.doubleSided=!0;if(N.pbrMetallicRoughness={},!b0.eq(L.getBaseColorFactor(),[1,1,1,1]))N.pbrMetallicRoughness.baseColorFactor=L.getBaseColorFactor();if(!b0.eq(L.getEmissiveFactor(),[0,0,0]))N.emissiveFactor=L.getEmissiveFactor();if(L.getRoughnessFactor()!==1)N.pbrMetallicRoughness.roughnessFactor=L.getRoughnessFactor();if(L.getMetallicFactor()!==1)N.pbrMetallicRoughness.metallicFactor=L.getMetallicFactor();if(L.getBaseColorTexture()){let B=L.getBaseColorTexture(),v=L.getBaseColorTextureInfo();N.pbrMetallicRoughness.baseColorTexture=Q.createTextureInfoDef(B,v)}if(L.getEmissiveTexture()){let B=L.getEmissiveTexture(),v=L.getEmissiveTextureInfo();N.emissiveTexture=Q.createTextureInfoDef(B,v)}if(L.getNormalTexture()){let B=L.getNormalTexture(),v=L.getNormalTextureInfo(),k=Q.createTextureInfoDef(B,v);if(L.getNormalScale()!==1)k.scale=L.getNormalScale();N.normalTexture=k}if(L.getOcclusionTexture()){let B=L.getOcclusionTexture(),v=L.getOcclusionTextureInfo(),k=Q.createTextureInfoDef(B,v);if(L.getOcclusionStrength()!==1)k.strength=L.getOcclusionStrength();N.occlusionTexture=k}if(L.getMetallicRoughnessTexture()){let B=L.getMetallicRoughnessTexture(),v=L.getMetallicRoughnessTextureInfo();N.pbrMetallicRoughness.metallicRoughnessTexture=Q.createTextureInfoDef(B,v)}return Q.materialIndexMap.set(L,O),N}),W.filter((L)=>L.prewriteTypes.includes(p.MESH)).forEach((L)=>L.prewrite(Q,p.MESH)),K.meshes=X.listMeshes().map((L,O)=>{let N=Q.createPropertyDef(L),B=null;if(N.primitives=L.listPrimitives().map((v)=>{let k={attributes:{}};k.mode=v.getMode();let w=v.getMaterial();if(w)k.material=Q.materialIndexMap.get(w);if(Object.keys(v.getExtras()).length)k.extras=v.getExtras();let x=v.getIndices();if(x)k.indices=Q.accessorIndexMap.get(x);for(let E of v.listSemantics())k.attributes[E]=Q.accessorIndexMap.get(v.getAttribute(E));for(let E of v.listTargets()){let C={};for(let S of E.listSemantics())C[S]=Q.accessorIndexMap.get(E.getAttribute(S));k.targets=k.targets||[],k.targets.push(C)}if(v.listTargets().length&&!B)B=v.listTargets().map((E)=>E.getName());return k}),L.getWeights().length)N.weights=L.getWeights();if(B)N.extras=N.extras||{},N.extras.targetNames=B;return Q.meshIndexMap.set(L,O),N}),K.cameras=X.listCameras().map((L,O)=>{let N=Q.createPropertyDef(L);if(N.type=L.getType(),N.type===F9.Type.PERSPECTIVE){N.perspective={znear:L.getZNear(),zfar:L.getZFar(),yfov:L.getYFov()};let B=L.getAspectRatio();if(B!==null)N.perspective.aspectRatio=B}else N.orthographic={znear:L.getZNear(),zfar:L.getZFar(),xmag:L.getXMag(),ymag:L.getYMag()};return Q.cameraIndexMap.set(L,O),N}),K.nodes=X.listNodes().map((L,O)=>{let N=Q.createPropertyDef(L);if(!b0.eq(L.getTranslation(),[0,0,0]))N.translation=L.getTranslation();if(!b0.eq(L.getRotation(),[0,0,0,1]))N.rotation=L.getRotation();if(!b0.eq(L.getScale(),[1,1,1]))N.scale=L.getScale();if(L.getWeights().length)N.weights=L.getWeights();return Q.nodeIndexMap.set(L,O),N}),K.skins=X.listSkins().map((L,O)=>{let N=Q.createPropertyDef(L),B=L.getInverseBindMatrices();if(B)N.inverseBindMatrices=Q.accessorIndexMap.get(B);let v=L.getSkeleton();if(v)N.skeleton=Q.nodeIndexMap.get(v);return N.joints=L.listJoints().map((k)=>Q.nodeIndexMap.get(k)),Q.skinIndexMap.set(L,O),N}),X.listNodes().forEach((L,O)=>{let N=K.nodes[O],B=L.getMesh();if(B)N.mesh=Q.meshIndexMap.get(B);let v=L.getCamera();if(v)N.camera=Q.cameraIndexMap.get(v);let k=L.getSkin();if(k)N.skin=Q.skinIndexMap.get(k);if(L.listChildren().length>0)N.children=L.listChildren().map((w)=>Q.nodeIndexMap.get(w))}),K.animations=X.listAnimations().map((L,O)=>{let N=Q.createPropertyDef(L),B=new Map;return N.samplers=L.listSamplers().map((v,k)=>{let w=Q.createPropertyDef(v);return w.input=Q.accessorIndexMap.get(v.getInput()),w.output=Q.accessorIndexMap.get(v.getOutput()),w.interpolation=v.getInterpolation(),B.set(v,k),w}),N.channels=L.listChannels().map((v)=>{let k=Q.createPropertyDef(v);return k.sampler=B.get(v.getSampler()),k.target={node:Q.nodeIndexMap.get(v.getTargetNode()),path:v.getTargetPath()},k}),Q.animationIndexMap.set(L,O),N}),K.scenes=X.listScenes().map((L,O)=>{let N=Q.createPropertyDef(L);return N.nodes=L.listChildren().map((B)=>Q.nodeIndexMap.get(B)),Q.sceneIndexMap.set(L,O),N});let R=X.getDefaultScene();if(R)K.scene=X.listScenes().indexOf(R);return K.extensionsUsed=W.map((L)=>L.extensionName),K.extensionsRequired=V.map((L)=>L.extensionName),W.forEach((L)=>L.write(Q)),Sg(K),$}}function Sg(J){let Z=[];for(let Y in J){let X=J[Y];if(Array.isArray(X)&&X.length===0)Z.push(Y);else if(X===null||X==="")Z.push(Y);else if(X&&typeof X==="object"&&Object.keys(X).length===0)Z.push(Y)}for(let Y of Z)delete J[Y]}var lY;(function(J){J[J.JSON=1313821514]="JSON",J[J.BIN=5130562]="BIN"})(lY||(lY={}));class CR{constructor(){this._logger=Z6.DEFAULT_INSTANCE,this._extensions=new Set,this._dependencies={},this._vertexLayout=gY.INTERLEAVED,this.lastReadBytes=0,this.lastWriteBytes=0}setLogger(J){return this._logger=J,this}registerExtensions(J){for(let Z of J)this._extensions.add(Z),Z.register();return this}registerDependencies(J){return Object.assign(this._dependencies,J),this}setVertexLayout(J){return this._vertexLayout=J,this}async read(J){return await this.readJSON(await this.readAsJSON(J))}async readAsJSON(J){let Z=await this.readURI(J,"view");this.lastReadBytes=Z.byteLength;let Y=OR(Z)?this._binaryToJSON(Z):{json:JSON.parse(W0.decodeText(Z)),resources:{}};return await this._readResourcesExternal(Y,this.dirname(J)),this._readResourcesInternal(Y),Y}async readJSON(J){return J=this._copyJSON(J),this._readResourcesInternal(J),_R.read(J,{extensions:Array.from(this._extensions),dependencies:this._dependencies,logger:this._logger})}async binaryToJSON(J){let Z=this._binaryToJSON(W0.assertView(J));this._readResourcesInternal(Z);let Y=Z.json;if(Y.buffers&&Y.buffers.some((X)=>Ig(Z,X)))throw new Error("Cannot resolve external buffers with binaryToJSON().");else if(Y.images&&Y.images.some((X)=>fg(Z,X)))throw new Error("Cannot resolve external images with binaryToJSON().");return Z}async readBinary(J){return this.readJSON(await this.binaryToJSON(W0.assertView(J)))}async writeJSON(J,Z={}){if(Z.format===$1.GLB&&J.getRoot().listBuffers().length>1)throw new Error("GLB must have 0\u20131 buffers.");return ER.write(J,{format:Z.format||$1.GLTF,basename:Z.basename||"",logger:this._logger,vertexLayout:this._vertexLayout,dependencies:B8({},this._dependencies),extensions:Array.from(this._extensions)})}async writeBinary(J){let{json:Z,resources:Y}=await this.writeJSON(J,{format:$1.GLB}),X=new Uint32Array([1179937895,2,12]),K=JSON.stringify(Z),$=W0.pad(W0.encodeText(K),32),Q=W0.toView(new Uint32Array([$.byteLength,1313821514])),F=W0.concat([Q,$]);X[X.length-1]+=F.byteLength;let G=Object.values(Y)[0];if(!G||!G.byteLength)return W0.concat([W0.toView(X),F]);let W=W0.pad(G,0),V=W0.toView(new Uint32Array([W.byteLength,5130562])),q=W0.concat([V,W]);return X[X.length-1]+=q.byteLength,W0.concat([W0.toView(X),F,q])}async _readResourcesExternal(J,Z){var Y=this;let X=J.json.images||[],K=J.json.buffers||[],$=[...X,...K].map(async function(Q){let F=Q.uri;if(!F||F.match(/data:/))return Promise.resolve();J.resources[F]=await Y.readURI(Y.resolve(Z,F),"view"),Y.lastReadBytes+=J.resources[F].byteLength});await Promise.all($)}_readResourcesInternal(J){function Z(K){if(!K.uri)return;if(K.uri in J.resources){W0.assertView(J.resources[K.uri]);return}if(K.uri.match(/data:/)){let $=`__${xR()}.${F1.extension(K.uri)}`;J.resources[$]=W0.createBufferFromDataURI(K.uri),K.uri=$}}(J.json.images||[]).forEach((K)=>{if(K.bufferView===void 0&&K.uri===void 0)throw new Error("Missing resource URI or buffer view.");Z(K)}),(J.json.buffers||[]).forEach(Z)}_copyJSON(J){let{images:Z,buffers:Y}=J.json;if(J={json:B8({},J.json),resources:B8({},J.resources)},Z)J.json.images=Z.map((X)=>B8({},X));if(Y)J.json.buffers=Y.map((X)=>B8({},X));return J}_binaryToJSON(J){if(!OR(J))throw new Error("Invalid glTF 2.0 binary.");let Z=new Uint32Array(J.buffer,J.byteOffset+12,2);if(Z[1]!==lY.JSON)throw new Error("Missing required GLB JSON chunk.");let Y=20,X=Z[0],K=W0.decodeText(W0.toView(J,Y,X)),$=JSON.parse(K),Q=Y+X;if(J.byteLength<=Q)return{json:$,resources:{}};let F=new Uint32Array(J.buffer,J.byteOffset+Q,2);if(F[1]!==lY.BIN)return{json:$,resources:{}};let G=F[0],W=W0.toView(J,Q+8,G);return{json:$,resources:{[yY]:W}}}}function Ig(J,Z){return Z.uri!==void 0&&!(Z.uri in J.resources)}function fg(J,Z){return Z.uri!==void 0&&!(Z.uri in J.resources)&&Z.bufferView===void 0}function OR(J){if(J.byteLength<3*Uint32Array.BYTES_PER_ELEMENT)return!1;let Z=new Uint32Array(J.buffer,J.byteOffset,3);return Z[0]===1179937895&&Z[1]===2}class eF extends CR{constructor(J=null,Z=e8.DEFAULT_INIT){super();this._fetch=void 0,this._fetchConfig=void 0,this._init=void 0,this._fetchEnabled=!1,this._fetch=J,this._fetchConfig=Z,this._init=this.init()}async init(){if(this._init)return this._init;return Promise.all([import("fs"),import("path")]).then(([J,Z])=>{this._fs=J.promises,this._path=Z})}setAllowNetwork(J){if(J&&!this._fetch)throw new Error("NodeIO requires a Fetch API implementation for HTTP requests.");return this._fetchEnabled=J,this}async readURI(J,Z){if(await this.init(),e8.isAbsoluteURL(J)){if(!this._fetchEnabled||!this._fetch)throw new Error("Network request blocked. Allow HTTP requests explicitly, if needed.");let Y=await this._fetch(J,this._fetchConfig);switch(Z){case"view":return new Uint8Array(await Y.arrayBuffer());case"text":return Y.text()}}else switch(Z){case"view":return this._fs.readFile(J);case"text":return this._fs.readFile(J,"utf8")}}resolve(J,Z){if(e8.isAbsoluteURL(J)||e8.isAbsoluteURL(Z))return e8.resolve(J,Z);return this._path.resolve(J,decodeURIComponent(Z))}dirname(J){if(e8.isAbsoluteURL(J))return e8.dirname(J);return this._path.dirname(J)}async write(J,Z){await this.init(),await(!!J.match(/\.glb$/)?this._writeGLB(J,Z):this._writeGLTF(J,Z))}async _writeGLTF(J,Z){var Y=this;this.lastWriteBytes=0;let{json:X,resources:K}=await this.writeJSON(Z,{format:$1.GLTF,basename:F1.basename(J)}),{_fs:$,_path:Q}=this,F=Q.dirname(J),G=JSON.stringify(X,null,2);await $.writeFile(J,G),this.lastWriteBytes+=G.length;for(let W of hg(Object.keys(K),10))await Promise.all(W.map(async function(V){if(e8.isAbsoluteURL(V)){if(e8.extension(V)==="bin")throw new Error(`Cannot write buffer to path "${V}".`);return}let q=Q.join(F,decodeURIComponent(V));await $.mkdir(Q.dirname(q),{recursive:!0}),await $.writeFile(q,K[V]),Y.lastWriteBytes+=K[V].byteLength}))}async _writeGLB(J,Z){let Y=await this.writeBinary(Z);await this._fs.writeFile(J,Y),this.lastWriteBytes=Y.byteLength}}function hg(J,Z){let Y=[];for(let X=0,K=J.length;X<K;X+=Z){let $=[];for(let Q=0;Q<Z&&X+Q<K;Q++)$.push(J[X+Q]);Y.push($)}return Y}var ig=a6(AR(),1);function JG(){return JG=Object.assign?Object.assign.bind():function(J){for(var Z=1;Z<arguments.length;Z++){var Y=arguments[Z];for(var X in Y)({}).hasOwnProperty.call(Y,X)&&(J[X]=Y[X])}return J},JG.apply(null,arguments)}var{POINTS:yR,LINES:tY,LINE_STRIP:ng,LINE_LOOP:ag,TRIANGLES:eY,TRIANGLE_STRIP:sg,TRIANGLE_FAN:og}=G1.Mode;var AU0=new Intl.NumberFormat(void 0,{maximumFractionDigits:0});var yU0={[yR]:yR,[tY]:tY,[ng]:tY,[ag]:tY,[eY]:eY,[sg]:eY,[og]:eY};var ZX=typeof Float32Array!=="undefined"?Float32Array:Array;if(!Math.hypot)Math.hypot=function(){var J=0,Z=arguments.length;while(Z--)J+=arguments[Z]*arguments[Z];return Math.sqrt(J)};function rg(){var J=new ZX(3);if(ZX!=Float32Array)J[0]=0,J[1]=0,J[2]=0;return J}(function(){var J=rg();return function(Z,Y,X,K,$,Q){var F,G;if(!Y)Y=3;if(!X)X=0;if(K)G=Math.min(K*Y+X,Z.length);else G=Z.length;for(F=X;F<G;F+=Y)J[0]=Z[F],J[1]=Z[F+1],J[2]=Z[F+2],$(J,J,Q),Z[F]=J[0],Z[F+1]=J[1],Z[F+2]=J[2];return Z}})();var gU0={keepUniqueNames:!1,propertyTypes:[p.ACCESSOR,p.MESH,p.TEXTURE,p.MATERIAL,p.SKIN]};function tg(){var J=new ZX(4);if(ZX!=Float32Array)J[0]=0,J[1]=0,J[2]=0,J[3]=0;return J}(function(){var J=tg();return function(Z,Y,X,K,$,Q){var F,G;if(!Y)Y=4;if(!X)X=0;if(K)G=Math.min(K*Y+X,Z.length);else G=Z.length;for(F=X;F<G;F+=Y)J[0]=Z[F],J[1]=Z[F+1],J[2]=Z[F+2],J[3]=Z[F+3],$(J,J,Q),Z[F]=J[0],Z[F+1]=J[1],Z[F+2]=J[2],Z[F+3]=J[3];return Z}})();var cU0={propertyTypes:[p.NODE,p.SKIN,p.MESH,p.CAMERA,p.PRIMITIVE,p.PRIMITIVE_TARGET,p.ANIMATION,p.MATERIAL,p.TEXTURE,p.ACCESSOR,p.BUFFER],keepLeaves:!1,keepAttributes:!1,keepIndices:!1,keepSolidTextures:!1,keepExtras:!1};var gR;(function(J){J.RENDER="render",J.RENDER_CACHED="render-cached",J.UPLOAD="upload",J.UPLOAD_NAIVE="upload-naive",J.DISTINCT="distinct",J.DISTINCT_POSITION="distinct-position",J.UNUSED="unused"})(gR||(gR={}));var{FLOAT:mU0}=i.ComponentType;var{LINES:lU0,LINE_STRIP:uU0,LINE_LOOP:dU0,TRIANGLES:iU0,TRIANGLE_STRIP:nU0,TRIANGLE_FAN:aU0}=G1.Mode;function uR(J){return NR(J)}var{LINE_STRIP:sU0,LINE_LOOP:oU0,TRIANGLE_STRIP:rU0,TRIANGLE_FAN:tU0}=G1.Mode;var{TRANSLATION:eU0,ROTATION:JM0,SCALE:ZM0,WEIGHTS:YM0}=l4.TargetPath;var eg={pattern:/.*/,quantizationVolume:"mesh",quantizePosition:14,quantizeNormal:10,quantizeTexcoord:12,quantizeColor:8,quantizeWeight:8,quantizeGeneric:12,normalizeWeights:!0,cleanup:!0};var XM0=JG({level:"high"},eg);var cR;(function(J){J[J.STEP=0]="STEP",J[J.LERP=1]="LERP",J[J.SLERP=2]="SLERP"})(cR||(cR={}));var Jc=0.000001;function Zc(J,Z,Y,X=0.0001){let K=Z.length/J.length,$=new Array(K).fill(0),Q=new Array(K).fill(0),F=new Array(K).fill(0),G=new Array(K).fill(0),W=J.length-1,V=1;for(let q=1;q<W;++q){let z=J[V-1],U=J[q],M=J[q+1],R=(U-z)/(M-z),L=!1;if(U!==M&&(q!==1||U!==J[0])){if(u4(Z,V-1,G),u4(Z,q,Q),u4(Z,q+1,F),Y==="slerp"){let O=Kc($,G,F,R),N=lR(G,Q)+lR(Q,F);L=!JX(Q,O,X)||N+Number.EPSILON>=Math.PI}else if(Y==="lerp"){let O=Xc($,G,F,R);L=!JX(Q,O,X)}else if(Y==="step")L=!JX(Q,G)||!JX(Q,F)}if(L){if(q!==V)J[V]=J[q],mR(Z,V,u4(Z,q,$));V++}}if(W>0)J[V]=J[W],mR(Z,V,u4(Z,W,$)),V++;return V}function u4(J,Z,Y){for(let X=0,K=Y.length;X<K;X++)Y[X]=J[Z*K+X];return Y}function mR(J,Z,Y){for(let X=0,K=Y.length;X<K;X++)J[Z*K+X]=Y[X]}function JX(J,Z,Y=0){if(J.length!==Z.length)return!1;for(let X=0;X<J.length;X++)if(Math.abs(J[X]-Z[X])>Y)return!1;return!0}function Yc(J,Z,Y){return J*(1-Y)+Z*Y}function Xc(J,Z,Y,X){for(let K=0;K<Z.length;K++)J[K]=Yc(Z[K],Y[K],X);return J}function Kc(J,Z,Y,X){let K=Z[0],$=Z[1],Q=Z[2],F=Z[3],G=Y[0],W=Y[1],V=Y[2],q=Y[3],z,U,M,R,L;if(U=K*G+$*W+Q*V+F*q,U<0)U=-U,G=-G,W=-W,V=-V,q=-q;if(1-U>Jc)z=Math.acos(U),M=Math.sin(z),R=Math.sin((1-X)*z)/M,L=Math.sin(X*z)/M;else R=1-X,L=X;return J[0]=R*K+L*G,J[1]=R*$+L*W,J[2]=R*Q+L*V,J[3]=R*F+L*q,J}function lR(J,Z){let Y=$c(J,Z);return Math.acos(2*Y*Y-1)}function $c(J,Z){return J[0]*Z[0]+J[1]*Z[1]+J[2]*Z[2]+J[3]*Z[3]}var KM0=new Float32Array(0),$M0={ready:Promise.resolve(),resample:Zc,tolerance:0.0001,cleanup:!0};var{POINTS:QM0,LINES:FM0,LINE_STRIP:GM0,LINE_LOOP:WM0,TRIANGLES:VM0,TRIANGLE_STRIP:qM0,TRIANGLE_FAN:zM0}=G1.Mode;var ZG;(function(J){J.LANCZOS3="lanczos3",J.LANCZOS2="lanczos2"})(ZG||(ZG={}));var HM0={resizeFilter:ZG.LANCZOS3,pattern:void 0,formats:void 0,slots:void 0,quality:void 0,effort:void 0,lossless:!1,nearLossless:!1,limitInputPixels:!0};var $5={OPTIMIZED_DIR:".optimized",CHECKSUM_EXT:".md5",DIRECTORIES:[W1.normalize("node_modules/@hytopia.com/assets"),W1.normalize("assets")],OPTIMIZER_RUNS:[{suffix:"",options:["--compress","false","--instance","false","--simplify","false"]},{suffix:"-named-nodes",options:["--compress","false","--instance","false","--simplify","false","--join","true","--join-named","false"]}]};class M6{static instance=new M6;optimize=!0;optimizeEveryStart=!1;_modelUriDocuments=new Map;_modelUriBoundingBoxes=new Map;_modelUriNodeNames=new Map;constructor(){}async preloadModels(){let J=await this._getAbsoluteModelPaths();console.log(`ModelRegistry.preloadModels(): Preloading ${J.length} models...`);for(let Z of J){if(this.optimize)await this._resolveOptimizedModelPath(Z);await this._loadModelData(Z)}console.log(`ModelRegistry.preloadModels(): Preloaded ${J.length} models!`)}getBoundingBox(J){let Z=this._modelUriBoundingBoxes.get(J);if(!Z)_.fatalError(`ModelRegistry.getBoundingBox(): Model ${J} not found!`);return Z}getHeight(J){let Z=this.getBoundingBox(J);return Z.max.y-Z.min.y}getNodeNames(J){let Z=this._modelUriNodeNames.get(J);if(!Z)_.fatalError(`ModelRegistry.getNodeNames(): Model ${J} not found!`);return Z}modelHasNode(J,Z){let Y=this._modelUriNodeNames.get(J);if(!Y)_.fatalError(`ModelRegistry.modelHasNode(): Model ${J} not found!`);return Y.includes(Z)}_absoluteModelPathToModelUri(J){let Z=W1.relative(process.cwd(),J),Y=$5.DIRECTORIES.find((K)=>Z.startsWith(K));return(Y?W1.relative(Y,Z):Z).split(W1.sep).join("/")}async _getAbsoluteModelPaths(){let J=[],Z=new Fc("**/*.{gltf,glb}");for(let Y of $5.DIRECTORIES){let X=W1.resolve(process.cwd(),Y);if(!C1.existsSync(X))continue;for await(let K of Z.scan(X))J.push(W1.join(X,K))}return J}async _loadModelData(J){let Z=await new eF().read(J),Y=uR(Z.getRoot().listScenes()[0]),X=Z.getRoot().listNodes().map(($)=>$.getName()),K=this._absoluteModelPathToModelUri(J);this._modelUriDocuments.set(K,Z),this._modelUriBoundingBoxes.set(K,{min:{x:Y.min[0],y:Y.min[1],z:Y.min[2]},max:{x:Y.max[0],y:Y.max[1],z:Y.max[2]}}),this._modelUriNodeNames.set(K,X)}async _resolveOptimizedModelPath(J){let Z=this._buildOptimizedModelPath(J);if(!this.optimizeEveryStart&&this._isOptimizedVersionValid(J))return Z;return await this._optimizeModel(J,Z)}_isOptimizedVersionValid(J){let Z=`${this._buildOptimizedModelPath(J)}${$5.CHECKSUM_EXT}`;if(!C1.existsSync(Z))return!1;let Y=this._calculateChecksum(J),X=C1.readFileSync(Z,"utf8");return Y===X}_calculateChecksum(J){if(!C1.existsSync(J))return"";let Z=C1.readFileSync(J);return Qc.createHash("sha256").update(Z.toString("base64")).digest("hex")}_buildOptimizedModelPath(J){let Z=W1.basename(J),Y=Z.replace(/\.[^/.]+$/,""),X=`${$5.OPTIMIZED_DIR}/${Y}`;return J.replace(/[^/\\]+$/,`${X}/${Z}`)}async _optimizeModel(J,Z){let Y=W1.dirname(Z);C1.rmSync(Y,{recursive:!0,force:!0}),C1.mkdirSync(Y,{recursive:!0}),console.log(`ModelRegistry: Optimizing model ${this._absoluteModelPathToModelUri(J)}...`);for(let X of $5.OPTIMIZER_RUNS){let K=Z.replace(/(\.[^/.]+)$/,`${X.suffix}$1`),{stderr:$}=await HR("bunx",["gltf-transform","optimize",J,K,...X.options]);if($)return _.warning(`ModelRegistry._optimizeModel(): Error optimizing model ${this._absoluteModelPathToModelUri(J)}, defaulting to unoptimized model. Error: ${$}`),J}return C1.writeFileSync(`${Z}${$5.CHECKSUM_EXT}`,this._calculateChecksum(J)),Z}}var YG;((K)=>{K[K.Average=0]="Average";K[K.Min=1]="Min";K[K.Multiply=2]="Multiply";K[K.Max=3]="Max"})(YG||={});var YX;((G)=>{G.NONE="none";G.BALL="ball";G.BLOCK="block";G.CAPSULE="capsule";G.CONE="cone";G.CYLINDER="cylinder";G.ROUND_CYLINDER="round-cylinder";G.TRIMESH="trimesh"})(YX||={});class n8 extends s{_collider;_colliderDesc;_onCollision;_parentRigidBody;_shape;_simulation;_tag;constructor(J){super();this._colliderDesc=this._createColliderDesc(J),this._shape=J.shape,this._applyColliderOptions(J),this._autoAddToSimulation(J)}static optionsFromBlockHalfExtents(J){return{shape:"block",halfExtents:J}}static optionsFromModelUri(J,Z=1){let Y=M6.instance.getBoundingBox(J),X=Y.max.x-Y.min.x,K=Y.max.y-Y.min.y,$=Y.max.z-Y.min.z,Q=Math.max(X,$),F=Math.min(X,$);if(Q/F>2)return{shape:"block",halfExtents:{x:Math.max(0.01,X*Z/2),y:Math.max(0.01,K*Z/2),z:Math.max(0.01,$*Z/2)}};let W=Q*Z/2;if(Q/K>1.5)return{shape:"round-cylinder",radius:Math.max(0.01,W),halfHeight:Math.max(0.01,K*Z/2),borderRadius:Math.max(0.01,W*0.1)};return{shape:"capsule",radius:Math.max(0.01,W),halfHeight:Math.max(0.01,K*Z/2-W)}}get bounciness(){if(!this._requireNotRemoved("bounciness"))return 0;return this._collider?this._collider.restitution():this._colliderDesc.restitution}get bouncinessCombineRule(){if(!this._requireNotRemoved("bouncinessCombineRule"))return 0;return this._collider?this._collider.restitutionCombineRule():this._colliderDesc.restitutionCombineRule}get collisionGroups(){if(!this._requireNotRemoved("collisionGroups"))return{belongsTo:[],collidesWith:[]};return this._collider?z6.decodeRawCollisionGroups(this._collider.collisionGroups()):z6.decodeRawCollisionGroups(this._colliderDesc.collisionGroups)}get friction(){if(!this._requireNotRemoved("friction"))return 0;return this._collider?this._collider.friction():this._colliderDesc.friction}get frictionCombineRule(){if(!this._requireNotRemoved("frictionCombineRule"))return 0;return this._collider?this._collider.frictionCombineRule():this._colliderDesc.frictionCombineRule}get isEnabled(){if(!this._requireNotRemoved("isEnabled"))return!1;return this._collider?this._collider.isEnabled():this._colliderDesc.enabled}get isRemoved(){return!this._collider&&!this._colliderDesc}get isSensor(){if(!this._requireNotRemoved("isSensor"))return!1;return this._collider?this._collider.isSensor():this._colliderDesc.isSensor}get isSimulated(){if(!this._requireNotRemoved("isSimulated"))return!1;return!!this._collider}get parentRigidBody(){if(!this._requireNotRemoved("parentRigidBody"))return;return this._parentRigidBody}get rawCollider(){if(!this._requireNotRemoved("rawCollider"))return;return this._collider}get relativePosition(){if(!this._requireNotRemoved("relativePosition"))return{x:0,y:0,z:0};return this._collider?this._collider.translation():this._colliderDesc.translation}get relativeRotation(){if(!this._requireNotRemoved("relativeRotation"))return{x:0,y:0,z:0,w:1};return this._collider?this._collider.rotation():this._colliderDesc.rotation}get shape(){if(!this._requireNotRemoved("shape"))return"none";return this._shape}get tag(){if(!this._requireNotRemoved("tag"))return;return this._tag}setBounciness(J){if(!this._requireNotRemoved("setBounciness"))return;this._collider?this._collider.setRestitution(J):this._colliderDesc.setRestitution(J)}setBouncinessCombineRule(J){if(!this._requireNotRemoved("setBouncinessCombineRule"))return;this._collider?this._collider.setRestitutionCombineRule(J):this._colliderDesc.setRestitutionCombineRule(J)}setCollisionGroups(J){if(!this._requireNotRemoved("setCollisionGroups"))return;let Z=z6.buildRawCollisionGroups(J);this._collider?this._collider.setCollisionGroups(Z):this._colliderDesc.setCollisionGroups(Z)}setEnabled(J){if(!this._requireNotRemoved("setEnabled"))return;this._collider?this._collider.setEnabled(J):this._colliderDesc.setEnabled(J)}setFriction(J){if(!this._requireNotRemoved("setFriction"))return;this._collider?this._collider.setFriction(J):this._colliderDesc.setFriction(J)}setFrictionCombineRule(J){if(!this._requireNotRemoved("setFrictionCombineRule"))return;this._collider?this._collider.setFrictionCombineRule(J):this._colliderDesc.setFrictionCombineRule(J)}setMass(J){if(!this._requireNotRemoved("setMass"))return;this._collider?this._collider.setMass(J):this._colliderDesc.setMass(J)}setOnCollision(J){if(!this._requireNotRemoved("setOnCollision"))return;if(this._onCollision=J,this.isSimulated)if(this.enableCollisionEvents(!!J),J)this._simulation.colliderMap.setColliderCollisionCallback(this,J);else this._simulation.colliderMap.removeColliderCollisionCallback(this)}setRelativeRotation(J){if(!this._requireNotRemoved("setRelativeRotation"))return;this._collider?this._collider.setRotation(J):this._colliderDesc.setRotation(J)}setRelativePosition(J){if(!this._requireNotRemoved("setRelativePosition"))return;this._collider?this._collider.setTranslation(J):this._colliderDesc.setTranslation(J.x,J.y,J.z)}setSensor(J){if(!this._requireNotRemoved("setSensor"))return;this._collider?this._collider.setSensor(J):this._colliderDesc.setSensor(J)}setTag(J){if(!this._requireNotRemoved("setTag"))return;this._tag=J}addToSimulation(J,Z){if(!this._requireNotRemoved("addToSimulation"))return;if(!this._requireUnsimulated("addToSimulation"))return;if(Z&&!Z.isSimulated)return _.error("Collider.addToSimulation(): Rigid body must be simulated before adding a collider to it!");if(this._simulation=J,this._parentRigidBody=Z,this._collider=this._simulation.createRawCollider(this._colliderDesc,Z?.rawRigidBody),this._colliderDesc=void 0,Z)Z.linkCollider(this);if(this._onCollision)this.setOnCollision(this._onCollision)}enableCollisionEvents(J){if(!this._requireNotRemoved("enableCollisionEvents"))return;let Z=this._collider?this._collider.activeEvents():this._colliderDesc.activeEvents,Y=J?Z|H0.ActiveEvents.COLLISION_EVENTS:Z&~H0.ActiveEvents.COLLISION_EVENTS;(this._collider??this._colliderDesc).setActiveEvents(Y),this._setActiveCollisionTypes()}enableContactForceEvents(J){if(!this._requireNotRemoved("enableContactForceEvents"))return;let Z=this._collider?this._collider.activeEvents():this._colliderDesc.activeEvents,Y=J?Z|H0.ActiveEvents.CONTACT_FORCE_EVENTS:Z&~H0.ActiveEvents.CONTACT_FORCE_EVENTS;(this._collider??this._colliderDesc).setActiveEvents(Y),this._setActiveCollisionTypes()}removeFromSimulation(){if(!this._requireNotRemoved("removeFromSimulation"))return;if(!this._requireSimulated("removeFromSimulation"))return;if(this._simulation.removeRawCollider(this._collider),this._simulation=void 0,this._collider=void 0,this._parentRigidBody)this._parentRigidBody.unlinkCollider(this);this._parentRigidBody=void 0}_applyColliderOptions(J){[["bounciness",this.setBounciness.bind(this)],["bouncinessCombineRule",this.setBouncinessCombineRule.bind(this)],["collisionGroups",this.setCollisionGroups.bind(this)],["enabled",this.setEnabled.bind(this)],["friction",this.setFriction.bind(this)],["frictionCombineRule",this.setFrictionCombineRule.bind(this)],["isSensor",this.setSensor.bind(this)],["mass",this.setMass.bind(this)],["onCollision",this.setOnCollision.bind(this)],["relativePosition",this.setRelativePosition.bind(this)],["relativeRotation",this.setRelativeRotation.bind(this)],["tag",this.setTag.bind(this)]].forEach(([Y,X])=>{if(J[Y]!==void 0)X.call(this,J[Y])})}_autoAddToSimulation(J){if(J.simulation)this.addToSimulation(J.simulation,J.parentRigidBody)}_createColliderDesc(J){let{shape:Z,flags:Y}=J;switch(Z){case"ball":{if(!J.radius)_.fatalError("Ball collider must have a radius!");return H0.ColliderDesc.ball(J.radius)}case"block":{if(!J.halfExtents)_.fatalError("Block collider must have halfExtents!");return H0.ColliderDesc.cuboid(J.halfExtents.x,J.halfExtents.y,J.halfExtents.z)}case"capsule":{if(!J.halfHeight||!J.radius)_.fatalError("Capsule collider must have halfHeight and radius!");return H0.ColliderDesc.capsule(J.halfHeight,J.radius)}case"cone":{if(!J.radius||!J.halfHeight)_.fatalError("Cone collider must have radius and halfHeight!");return H0.ColliderDesc.cone(J.halfHeight,J.radius)}case"cylinder":{if(!J.radius||!J.halfHeight)_.fatalError("Cylinder collider must have radius and halfHeight!");return H0.ColliderDesc.cylinder(J.halfHeight,J.radius)}case"round-cylinder":{if(!J.radius||!J.halfHeight||!J.borderRadius)_.fatalError("Round cylinder collider must have radius, halfHeight, and borderRadius!");return H0.ColliderDesc.roundCylinder(J.halfHeight,J.radius,J.borderRadius)}case"trimesh":{if(!J.indices||!J.vertices)_.fatalError("Trimesh collider must have vertices and indices!");return H0.ColliderDesc.trimesh(J.vertices,J.indices,Y)}default:_.fatalError(`Collider._createColliderDesc(): ${Z} is not a valid collider shape!`)}}_requireSimulated(J){if(!this.isSimulated)_.error(`Collider._requireSimulated(): Collider is not simulated, invoked method: ${J}()`);return this.isSimulated}_requireUnsimulated(J){if(this.isSimulated)_.error(`Collider._requireUnsimulated(): Collider is already simulated, invoked method: ${J}()`);return!this.isSimulated}_requireNotRemoved(J){if(this.isRemoved)_.error(`Collider._requireNotRemoved(): Collider is removed, invoked method: ${J}()`);return!this.isRemoved}_setActiveCollisionTypes(){(this._collider??this._colliderDesc).setActiveCollisionTypes(H0.ActiveCollisionTypes.DYNAMIC_DYNAMIC|H0.ActiveCollisionTypes.DYNAMIC_KINEMATIC|H0.ActiveCollisionTypes.DYNAMIC_FIXED|H0.ActiveCollisionTypes.KINEMATIC_KINEMATIC|H0.ActiveCollisionTypes.KINEMATIC_FIXED)}}var Gc={shape:"trimesh",flags:R4.FIX_INTERNAL_EDGES},Wc=new Uint32Array([0,1,2,2,3,0,4,5,6,6,7,4,8,9,10,10,11,8,12,13,14,14,15,12,16,17,18,18,19,16,20,21,22,22,23,20]),Vc=new Float32Array([-0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5]),XG;((Y)=>{Y.ENTITY_COLLISION="BLOCK_TYPE.ENTITY_COLLISION";Y.ENTITY_CONTACT_FORCE="BLOCK_TYPE.ENTITY_CONTACT_FORCE"})(XG||={});class R6 extends s{_id;_customColliderOptions;_isLiquid;_name;_textureUri;constructor(J={id:-1,textureUri:"textures/missing.png",name:"Unknown"}){if(J.id<0)_.fatalError("BlockType.constructor(): BlockType id not set.");super();this._id=J.id,this._customColliderOptions=J.customColliderOptions,this._isLiquid=J.isLiquid??!1,this._name=J.name,this._textureUri=J.textureUri}get id(){return this._id}get colliderOptions(){return{...this._customColliderOptions,...Gc}}get isLiquid(){return this._isLiquid}get isMeshable(){return!this._customColliderOptions}get name(){return this._name}get textureUri(){return this._textureUri}createCollider(J=Wc,Z=Vc){let Y=new n8({...this.colliderOptions,indices:J,vertices:Z});if(this.isLiquid)Y.setSensor(!0);if(this.hasListeners("BLOCK_TYPE.ENTITY_COLLISION"))Y.enableCollisionEvents(!0);if(this.hasListeners("BLOCK_TYPE.ENTITY_CONTACT_FORCE"))Y.enableContactForceEvents(!0);if(z6.isDefaultCollisionGroups(Y.collisionGroups))Y.setCollisionGroups({belongsTo:[1],collidesWith:[65535&~1]});return Y}serialize(){return e.serializeBlockType(this)}}var KG;((Z)=>Z.REGISTER_BLOCK_TYPE="BLOCK_TYPE_REGISTRY.REGISTER_BLOCK_TYPE")(KG||={});class d4 extends s{_blockTypes=new Map;_world;constructor(J){super();this._world=J}get world(){return this._world}getAllBlockTypes(){return Array.from(this._blockTypes.values())}getBlockType(J){let Z=this._blockTypes.get(J);if(!Z)_.fatalError(`BlockTypeRegistry.getBlockType(): BlockType with id ${J} not found.`);return Z}registerGenericBlockType(J){let Y=new class extends R6{constructor(X=J){super(X)}};return this.registerBlockType(Y),Y}registerBlockType(J){this._blockTypes.set(J.id,J),this.emitWithWorld(this._world,"BLOCK_TYPE_REGISTRY.REGISTER_BLOCK_TYPE",{blockTypeRegistry:this,id:J.id,blockType:J})}serialize(){return e.serializeBlockTypeRegistry(this)}}var C3={};s6(C3,{worldSchema:()=>E3,worldPacketDefinition:()=>IN,vectorSchema:()=>D0,vectorBooleanSchema:()=>Js,uiSchema:()=>D3,uiPacketDefinition:()=>CN,uiDatasSchema:()=>_3,uiDatasPacketDefinition:()=>SN,uiDataSendPacketDefinition:()=>RN,uiDataSchema:()=>U7,syncResponseSchema:()=>T3,syncResponsePacketDefinition:()=>EN,syncRequestSchema:()=>X3,syncRequestPacketDefinition:()=>MN,stateRequestSchema:()=>Y3,stateRequestPacketDefinition:()=>UN,sceneUIsSchema:()=>x3,sceneUIsPacketDefinition:()=>_N,sceneUISchema:()=>k3,rgbColorSchema:()=>b6,registeredPackets:()=>cX,quaternionSchema:()=>U3,playersSchema:()=>j3,playersPacketDefinition:()=>DN,playerSchema:()=>v3,physicsDebugRenderSchema:()=>B3,physicsDebugRenderPacketDefinition:()=>xN,physicsDebugRaycastsSchema:()=>N3,physicsDebugRaycastsPacketDefinition:()=>TN,physicsDebugRaycastSchema:()=>P3,outboundPackets:()=>gX,modelNodeOverrideSchema:()=>L3,lightsSchema:()=>O3,lightsPacketDefinition:()=>kN,lightSchema:()=>w3,isValidPacket:()=>Ys,inputSchema:()=>Z3,inputPacketDefinition:()=>LN,inboundPackets:()=>yX,hexColorSchema:()=>eG,entitySchema:()=>M3,entitiesSchema:()=>R3,entitiesPacketDefinition:()=>jN,definePacket:()=>a,debugConfigSchema:()=>J3,debugConfigPacketDefinition:()=>HN,createPacket:()=>ea,chunksSchema:()=>H3,chunksPacketDefinition:()=>vN,chunkSchema:()=>z3,chatMessagesSchema:()=>q3,chatMessagesPacketDefinition:()=>BN,chatMessageSendPacketDefinition:()=>zN,chatMessageSchema:()=>L7,cameraSchema:()=>V3,cameraPacketDefinition:()=>NN,blocksSchema:()=>F3,blocksPacketDefinition:()=>ON,blockTypesSchema:()=>W3,blockTypesPacketDefinition:()=>PN,blockTypeSchema:()=>G3,blockSchema:()=>Q3,audiosSchema:()=>$3,audiosPacketDefinition:()=>wN,audioSchema:()=>K3,PacketId:()=>p0});var yX={};s6(yX,{uiDataSendPacketDefinition:()=>RN,syncRequestPacketDefinition:()=>MN,stateRequestPacketDefinition:()=>UN,inputPacketDefinition:()=>LN,debugConfigPacketDefinition:()=>HN,chatMessageSendPacketDefinition:()=>zN});var rG=a6(qN(),1);class tG extends rG.default{static instance=new rG.default}var p0;((w)=>{w[w.SYNC_REQUEST=0]="SYNC_REQUEST";w[w.INPUT=1]="INPUT";w[w.STATE_REQUEST=2]="STATE_REQUEST";w[w.CHAT_MESSAGE_SEND=3]="CHAT_MESSAGE_SEND";w[w.UI_DATA_SEND=4]="UI_DATA_SEND";w[w.SYNC_RESPONSE=32]="SYNC_RESPONSE";w[w.AUDIOS=33]="AUDIOS";w[w.BLOCKS=34]="BLOCKS";w[w.BLOCK_TYPES=35]="BLOCK_TYPES";w[w.CHAT_MESSAGES=36]="CHAT_MESSAGES";w[w.CHUNKS=37]="CHUNKS";w[w.ENTITIES=38]="ENTITIES";w[w.WORLD=39]="WORLD";w[w.CAMERA=40]="CAMERA";w[w.UI=41]="UI";w[w.UI_DATAS=42]="UI_DATAS";w[w.SCENE_UIS=43]="SCENE_UIS";w[w.LIGHTS=44]="LIGHTS";w[w.PLAYERS=45]="PLAYERS";w[w.DEBUG_CONFIG=128]="DEBUG_CONFIG";w[w.PHYSICS_DEBUG_RENDER=192]="PHYSICS_DEBUG_RENDER";w[w.PHYSICS_DEBUG_RAYCASTS=193]="PHYSICS_DEBUG_RAYCASTS"})(p0||={});function ea(J,Z,Y){if(!J.validate(Z))throw new Error(`Invalid payload for packet with id ${J.id}. Error: ${tG.instance.errorsText(J.validate.errors)}`);let X=[J.id,Z];if(typeof Y==="number")X.push(Y);return X}function a(J,Z){return{id:J,schema:Z,validate:tG.instance.compile(Z)}}var eG={type:"string",pattern:"^[0-9A-Fa-f]{6}$"};var L7={type:"object",properties:{m:{type:"string"},c:{...eG,nullable:!0},p:{type:"string",nullable:!0}},required:["m"],additionalProperties:!1};var zN=a(3,L7);var J3={type:"object",properties:{pdr:{type:"boolean",nullable:!0}},additionalProperties:!1};var HN=a(128,J3);var Z3={type:"object",properties:{"1":{type:"boolean",nullable:!0},"2":{type:"boolean",nullable:!0},"3":{type:"boolean",nullable:!0},"4":{type:"boolean",nullable:!0},"5":{type:"boolean",nullable:!0},"6":{type:"boolean",nullable:!0},"7":{type:"boolean",nullable:!0},"8":{type:"boolean",nullable:!0},"9":{type:"boolean",nullable:!0},"0":{type:"boolean",nullable:!0},w:{type:"boolean",nullable:!0},a:{type:"boolean",nullable:!0},s:{type:"boolean",nullable:!0},d:{type:"boolean",nullable:!0},q:{type:"boolean",nullable:!0},e:{type:"boolean",nullable:!0},r:{type:"boolean",nullable:!0},f:{type:"boolean",nullable:!0},z:{type:"boolean",nullable:!0},x:{type:"boolean",nullable:!0},c:{type:"boolean",nullable:!0},v:{type:"boolean",nullable:!0},sp:{type:"boolean",nullable:!0},sh:{type:"boolean",nullable:!0},tb:{type:"boolean",nullable:!0},ml:{type:"boolean",nullable:!0},mr:{type:"boolean",nullable:!0},cp:{type:"number",nullable:!0},cy:{type:"number",nullable:!0}},additionalProperties:!1};var LN=a(1,Z3);var Y3={type:"object",properties:{},additionalProperties:!1};var UN=a(2,Y3);var X3={type:"null",nullable:!0};var MN=a(0,X3);var U7={type:"object",properties:{},additionalProperties:!0};var RN=a(4,U7);var gX={};s6(gX,{worldPacketDefinition:()=>IN,uiPacketDefinition:()=>CN,uiDatasPacketDefinition:()=>SN,syncResponsePacketDefinition:()=>EN,sceneUIsPacketDefinition:()=>_N,playersPacketDefinition:()=>DN,physicsDebugRenderPacketDefinition:()=>xN,physicsDebugRaycastsPacketDefinition:()=>TN,lightsPacketDefinition:()=>kN,entitiesPacketDefinition:()=>jN,chunksPacketDefinition:()=>vN,chatMessagesPacketDefinition:()=>BN,cameraPacketDefinition:()=>NN,blocksPacketDefinition:()=>ON,blockTypesPacketDefinition:()=>PN,audiosPacketDefinition:()=>wN});var D0={type:"array",items:[{type:"number"},{type:"number"},{type:"number"}],minItems:3,maxItems:3};var K3={type:"object",properties:{i:{type:"number"},a:{type:"string",nullable:!0},d:{type:"number",nullable:!0},de:{type:"number",nullable:!0},di:{type:"number",minimum:0,nullable:!0},e:{type:"number",nullable:!0},l:{type:"boolean",nullable:!0},o:{type:"number",nullable:!0},p:{...D0,nullable:!0},pa:{type:"boolean",nullable:!0},pl:{type:"boolean",nullable:!0},pr:{type:"number",minimum:0,nullable:!0},r:{type:"boolean",nullable:!0},rd:{type:"number",nullable:!0},s:{type:"number",nullable:!0},v:{type:"number",minimum:0,maximum:1,nullable:!0}},required:["i"],additionalProperties:!1};var $3={type:"array",items:{...K3}};var wN=a(33,$3);var Q3={type:"object",properties:{i:{type:"number"},c:D0},required:["i","c"],additionalProperties:!1};var F3={type:"array",items:{...Q3}};var ON=a(34,F3);var G3={type:"object",properties:{i:{type:"number"},l:{type:"boolean",nullable:!0},n:{type:"string",nullable:!0},t:{type:"string",nullable:!0}},required:["i"],additionalProperties:!1};var W3={type:"array",items:{...G3}};var PN=a(35,W3);var V3={type:"object",properties:{m:{type:"number",nullable:!0},e:{type:"number",nullable:!0},et:{type:"number",nullable:!0},fo:{type:"number",nullable:!0},ffo:{type:"number",nullable:!0},fv:{type:"number",nullable:!0},p:{...D0,nullable:!0},pt:{...D0,nullable:!0},pl:{...D0,nullable:!0},h:{type:"array",items:{type:"string"},nullable:!0},o:{...D0,nullable:!0},z:{type:"number",nullable:!0}},additionalProperties:!1};var q3={type:"array",items:{...L7}};var z3={type:"object",properties:{c:D0,b:{type:"array",items:{type:"number",minimum:0,maximum:255},minItems:4096,maxItems:4096,nullable:!0},rm:{type:"boolean",nullable:!0}},required:["c"],additionalProperties:!1};var H3={type:"array",items:{...z3}};var b6={type:"array",items:[{type:"number",minimum:0,maximum:255},{type:"number",minimum:0,maximum:255},{type:"number",minimum:0,maximum:255}],minItems:3,maxItems:3};var L3={type:"object",properties:{n:{type:"string"},h:{type:"boolean",nullable:!0},o:{type:"number",minimum:0,maximum:1,nullable:!0},r:{type:"boolean",nullable:!0},s:{type:"number",nullable:!0},t:{...b6,nullable:!0}},required:["n"],additionalProperties:!1};var U3={type:"array",items:[{type:"number"},{type:"number"},{type:"number"},{type:"number"}],minItems:4,maxItems:4};var M3={type:"object",properties:{i:{type:"number"},al:{type:"array",items:{type:"string"},nullable:!0},ao:{type:"array",items:{type:"string"},nullable:!0},ap:{type:"number",nullable:!0},as:{type:"array",items:{type:"string"},nullable:!0},bh:{...D0,nullable:!0},bt:{type:"string",nullable:!0},h:{type:"array",items:{type:"string"},nullable:!0},m:{type:"string",nullable:!0},mo:{type:"array",items:{...L3},nullable:!0},n:{type:"string",nullable:!0},o:{type:"number",nullable:!0},p:{...D0,nullable:!0},pe:{type:"number",nullable:!0},pn:{type:"string",nullable:!0},r:{...U3,nullable:!0},rm:{type:"boolean",nullable:!0},s:{type:"number",nullable:!0},t:{...b6,nullable:!0}},required:["i"],additionalProperties:!1};var R3={type:"array",items:{...M3}};var w3={type:"object",properties:{i:{type:"number"},a:{type:"number",nullable:!0},e:{type:"number",nullable:!0},c:{...b6,nullable:!0},d:{type:"number",nullable:!0},n:{type:"number",nullable:!0},o:{...D0,nullable:!0},p:{...D0,nullable:!0},pe:{type:"number",minimum:0,maximum:1,nullable:!0},rm:{type:"boolean",nullable:!0},t:{type:"number",nullable:!0},te:{type:"number",nullable:!0},tp:{...D0,nullable:!0}},required:["i"],additionalProperties:!1};var O3={type:"array",items:{...w3}};var P3={type:"object",properties:{o:{...D0},d:{...D0},l:{type:"number"},h:{type:"boolean"}},required:["o","d","l","h"],additionalProperties:!1};var N3={type:"array",items:{...P3}};var B3={type:"object",properties:{v:{type:"array",items:{type:"number"}},c:{type:"array",items:{type:"number"}}},required:["v","c"],additionalProperties:!1};var v3={type:"object",properties:{i:{type:"string"},p:{type:"string",nullable:!0},rm:{type:"boolean",nullable:!0},u:{type:"string",nullable:!0}},required:["i"],additionalProperties:!1};var j3={type:"array",items:{...v3}};var k3={type:"object",properties:{i:{type:"number"},e:{type:"number",nullable:!0},o:{...D0,nullable:!0},p:{...D0,nullable:!0},rm:{type:"boolean",nullable:!0},s:{type:"object",nullable:!0},t:{type:"string",nullable:!0},v:{type:"number",nullable:!0}},required:["i"],additionalProperties:!1};var x3={type:"array",items:{...k3}};var T3={type:"object",properties:{r:{type:"number"},s:{type:"number"},p:{type:"number"},n:{type:"number"}},required:["r","s","p","n"],additionalProperties:!1};var D3={type:"object",properties:{p:{type:"boolean",nullable:!0},u:{type:"string",nullable:!0}},additionalProperties:!1};var _3={type:"array",items:{...U7}};var Js={type:"array",items:[{type:"boolean"},{type:"boolean"},{type:"boolean"}],minItems:3,maxItems:3};var E3={type:"object",properties:{i:{type:"number"},ac:{...b6,nullable:!0},ai:{type:"number",nullable:!0},dc:{...b6,nullable:!0},di:{type:"number",nullable:!0},dp:{...D0,nullable:!0},f:{type:"boolean",nullable:!0},n:{type:"string",nullable:!0},s:{type:"string",nullable:!0},t:{type:"number",nullable:!0}},required:["i"],additionalProperties:!1};var NN=a(40,V3);var BN=a(36,q3);var vN=a(37,H3);var jN=a(38,R3);var kN=a(44,O3);var xN=a(192,B3);var TN=a(193,N3);var DN=a(45,j3);var _N=a(43,x3);var EN=a(32,T3);var CN=a(41,D3);var SN=a(42,_3);var IN=a(39,E3);var cX=new Map,Zs={...yX,...gX};for(let J of Object.values(Zs))if("id"in J&&"schema"in J){let Z=J;if(cX.has(Z.id))throw new Error(`Packet with id ${Z.id} is already registered.`);cX.set(Z.id,Z)}function Ys(J){if(typeof J!=="object"||J===null||typeof J[0]!=="number"||J[0]<0||J[1]===void 0||J[2]!==void 0&&(typeof J[2]!=="number"||J[2]<0))return!1;let Z=cX.get(J[0]);return!!Z&&Z.validate(J[1])}var g=C3;import{WebSocket as Yr}from"ws";var k8=a6(pB(),1),rN0=k8.default.v1,tN0=k8.default.v1ToV6,eN0=k8.default.v3,AB=k8.default.v4,JB0=k8.default.v5,ZB0=k8.default.v6,YB0=k8.default.v6ToV1,XB0=k8.default.v7,KB0=k8.default.NIL,$B0=k8.default.MAX,QB0=k8.default.version,FB0=k8.default.validate,GB0=k8.default.stringify,WB0=k8.default.parse;function yB(J){let Z=J.length,Y=0,X=0;while(X<Z){let K=J.charCodeAt(X++);if((K&4294967168)===0){Y++;continue}else if((K&4294965248)===0)Y+=2;else{if(K>=55296&&K<=56319){if(X<Z){let $=J.charCodeAt(X);if(($&64512)===56320)++X,K=((K&1023)<<10)+($&1023)+65536}}if((K&4294901760)===0)Y+=3;else Y+=4}}return Y}function Co(J,Z,Y){let X=J.length,K=Y,$=0;while($<X){let Q=J.charCodeAt($++);if((Q&4294967168)===0){Z[K++]=Q;continue}else if((Q&4294965248)===0)Z[K++]=Q>>6&31|192;else{if(Q>=55296&&Q<=56319){if($<X){let F=J.charCodeAt($);if((F&64512)===56320)++$,Q=((Q&1023)<<10)+(F&1023)+65536}}if((Q&4294901760)===0)Z[K++]=Q>>12&15|224,Z[K++]=Q>>6&63|128;else Z[K++]=Q>>18&7|240,Z[K++]=Q>>12&63|128,Z[K++]=Q>>6&63|128}Z[K++]=Q&63|128}}var So=new TextEncoder,Io=50;function fo(J,Z,Y){So.encodeInto(J,Z.subarray(Y))}function gB(J,Z,Y){if(J.length>Io)fo(J,Z,Y);else Co(J,Z,Y)}var ho=4096;function A3(J,Z,Y){let X=Z,K=X+Y,$=[],Q="";while(X<K){let F=J[X++];if((F&128)===0)$.push(F);else if((F&224)===192){let G=J[X++]&63;$.push((F&31)<<6|G)}else if((F&240)===224){let G=J[X++]&63,W=J[X++]&63;$.push((F&31)<<12|G<<6|W)}else if((F&248)===240){let G=J[X++]&63,W=J[X++]&63,V=J[X++]&63,q=(F&7)<<18|G<<12|W<<6|V;if(q>65535)q-=65536,$.push(q>>>10&1023|55296),q=56320|q&1023;$.push(q)}else $.push(F);if($.length>=ho)Q+=String.fromCharCode(...$),$.length=0}if($.length>0)Q+=String.fromCharCode(...$);return Q}var bo=new TextDecoder,po=200;function Ao(J,Z,Y){let X=J.subarray(Z,Z+Y);return bo.decode(X)}function cB(J,Z,Y){if(Y>po)return Ao(J,Z,Y);else return A3(J,Z,Y)}class M5{constructor(J,Z){this.type=J,this.data=Z}}class x8 extends Error{constructor(J){super(J);let Z=Object.create(x8.prototype);Object.setPrototypeOf(this,Z),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:x8.name})}}var R5=4294967295;function mB(J,Z,Y){let X=Y/4294967296,K=Y;J.setUint32(Z,X),J.setUint32(Z+4,K)}function iX(J,Z,Y){let X=Math.floor(Y/4294967296),K=Y;J.setUint32(Z,X),J.setUint32(Z+4,K)}function nX(J,Z){let Y=J.getInt32(Z),X=J.getUint32(Z+4);return Y*4294967296+X}function lB(J,Z){let Y=J.getUint32(Z),X=J.getUint32(Z+4);return Y*4294967296+X}var yo=-1,go=4294967295,co=17179869183;function mo({sec:J,nsec:Z}){if(J>=0&&Z>=0&&J<=co)if(Z===0&&J<=go){let Y=new Uint8Array(4);return new DataView(Y.buffer).setUint32(0,J),Y}else{let Y=J/4294967296,X=J&4294967295,K=new Uint8Array(8),$=new DataView(K.buffer);return $.setUint32(0,Z<<2|Y&3),$.setUint32(4,X),K}else{let Y=new Uint8Array(12),X=new DataView(Y.buffer);return X.setUint32(0,Z),iX(X,4,J),Y}}function lo(J){let Z=J.getTime(),Y=Math.floor(Z/1000),X=(Z-Y*1000)*1e6,K=Math.floor(X/1e9);return{sec:Y+K,nsec:X-K*1e9}}function uo(J){if(J instanceof Date){let Z=lo(J);return mo(Z)}else return null}function io(J){let Z=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let Y=Z.getUint32(0),X=0;return{sec:Y,nsec:0}}case 8:{let Y=Z.getUint32(0),X=Z.getUint32(4),K=(Y&3)*4294967296+X,$=Y>>>2;return{sec:K,nsec:$}}case 12:{let Y=nX(Z,4),X=Z.getUint32(0);return{sec:Y,nsec:X}}default:throw new x8(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function no(J){let Z=io(J);return new Date(Z.sec*1000+Z.nsec/1e6)}var uB={type:yo,encode:uo,decode:no};class L9{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(uB)}register({type:J,encode:Z,decode:Y}){if(J>=0)this.encoders[J]=Z,this.decoders[J]=Y;else{let X=-1-J;this.builtInEncoders[X]=Z,this.builtInDecoders[X]=Y}}tryToEncode(J,Z){for(let Y=0;Y<this.builtInEncoders.length;Y++){let X=this.builtInEncoders[Y];if(X!=null){let K=X(J,Z);if(K!=null){let $=-1-Y;return new M5($,K)}}}for(let Y=0;Y<this.encoders.length;Y++){let X=this.encoders[Y];if(X!=null){let K=X(J,Z);if(K!=null)return new M5(Y,K)}}if(J instanceof M5)return J;return null}decode(J,Z,Y){let X=Z<0?this.builtInDecoders[-1-Z]:this.decoders[Z];if(X)return X(J,Z,Y);else return new M5(Z,J)}}L9.defaultCodec=new L9;function ao(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer!=="undefined"&&J instanceof SharedArrayBuffer}function w7(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(ao(J))return new Uint8Array(J);else return Uint8Array.from(J)}var dB=function(J,Z,Y){if(Z!==null&&Z!==void 0){if(typeof Z!=="object"&&typeof Z!=="function")throw new TypeError("Object expected.");var X,K;if(Y){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");X=Z[Symbol.asyncDispose]}if(X===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(X=Z[Symbol.dispose],Y)K=X}if(typeof X!=="function")throw new TypeError("Object not disposable.");if(K)X=function(){try{K.call(this)}catch($){return Promise.reject($)}};J.stack.push({value:Z,dispose:X,async:Y})}else if(Y)J.stack.push({async:!0});return Z},iB=function(J){return function(Z){function Y(Q){Z.error=Z.hasError?new J(Q,Z.error,"An error was suppressed during disposal."):Q,Z.hasError=!0}var X,K=0;function $(){while(X=Z.stack.pop())try{if(!X.async&&K===1)return K=0,Z.stack.push(X),Promise.resolve().then($);if(X.dispose){var Q=X.dispose.call(X.value);if(X.async)return K|=2,Promise.resolve(Q).then($,function(F){return Y(F),$()})}else K|=1}catch(F){Y(F)}if(K===1)return Z.hasError?Promise.reject(Z.error):Promise.resolve();if(Z.hasError)throw Z.error}return $()}}(typeof SuppressedError==="function"?SuppressedError:function(J,Z,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=J,X.suppressed=Z,X}),so=100,oo=2048;class aX{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??L9.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??so,this.initialBufferSize=J?.initialBufferSize??oo,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new aX({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}enteringGuard(){return this.entered=!0,{[Symbol.dispose]:()=>{this.entered=!1}}}encodeSharedRef(J){let Z={stack:[],error:void 0,hasError:!1};try{if(this.entered)return this.clone().encodeSharedRef(J);let Y=dB(Z,this.enteringGuard(),!1);return this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}catch(Y){Z.error=Y,Z.hasError=!0}finally{iB(Z)}}encode(J){let Z={stack:[],error:void 0,hasError:!1};try{if(this.entered)return this.clone().encode(J);let Y=dB(Z,this.enteringGuard(),!1);return this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}catch(Y){Z.error=Y,Z.hasError=!0}finally{iB(Z)}}doEncode(J,Z){if(Z>this.maxDepth)throw new Error(`Too deep objects in depth ${Z}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Z)}ensureBufferSizeToWrite(J){let Z=this.pos+J;if(this.view.byteLength<Z)this.resizeBuffer(Z*2)}resizeBuffer(J){let Z=new ArrayBuffer(J),Y=new Uint8Array(Z),X=new DataView(Z);Y.set(this.bytes),this.view=X,this.bytes=Y}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw new Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let Y=yB(J);this.ensureBufferSizeToWrite(5+Y),this.writeStringHeader(Y),gB(J,this.bytes,this.pos),this.pos+=Y}encodeObject(J,Z){let Y=this.extensionCodec.tryToEncode(J,this.context);if(Y!=null)this.encodeExtension(Y);else if(Array.isArray(J))this.encodeArray(J,Z);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Z);else throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Z=J.byteLength;if(Z<256)this.writeU8(196),this.writeU8(Z);else if(Z<65536)this.writeU8(197),this.writeU16(Z);else if(Z<4294967296)this.writeU8(198),this.writeU32(Z);else throw new Error(`Too large binary: ${Z}`);let Y=w7(J);this.writeU8a(Y)}encodeArray(J,Z){let Y=J.length;if(Y<16)this.writeU8(144+Y);else if(Y<65536)this.writeU8(220),this.writeU16(Y);else if(Y<4294967296)this.writeU8(221),this.writeU32(Y);else throw new Error(`Too large array: ${Y}`);for(let X of J)this.doEncode(X,Z+1)}countWithoutUndefined(J,Z){let Y=0;for(let X of Z)if(J[X]!==void 0)Y++;return Y}encodeMap(J,Z){let Y=Object.keys(J);if(this.sortKeys)Y.sort();let X=this.ignoreUndefined?this.countWithoutUndefined(J,Y):Y.length;if(X<16)this.writeU8(128+X);else if(X<65536)this.writeU8(222),this.writeU16(X);else if(X<4294967296)this.writeU8(223),this.writeU32(X);else throw new Error(`Too large map object: ${X}`);for(let K of Y){let $=J[K];if(!(this.ignoreUndefined&&$===void 0))this.encodeString(K),this.doEncode($,Z+1)}}encodeExtension(J){if(typeof J.data==="function"){let Y=J.data(this.pos+6),X=Y.length;if(X>=4294967296)throw new Error(`Too large extension object: ${X}`);this.writeU8(201),this.writeU32(X),this.writeI8(J.type),this.writeU8a(Y);return}let Z=J.data.length;if(Z===1)this.writeU8(212);else if(Z===2)this.writeU8(213);else if(Z===4)this.writeU8(214);else if(Z===8)this.writeU8(215);else if(Z===16)this.writeU8(216);else if(Z<256)this.writeU8(199),this.writeU8(Z);else if(Z<65536)this.writeU8(200),this.writeU16(Z);else if(Z<4294967296)this.writeU8(201),this.writeU32(Z);else throw new Error(`Too large extension object: ${Z}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Z=J.length;this.ensureBufferSizeToWrite(Z),this.bytes.set(J,this.pos),this.pos+=Z}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),mB(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),iX(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function y3(J,Z){return new aX(Z).encodeSharedRef(J)}function sX(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var ro=16,to=16;class g3{constructor(J=ro,Z=to){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Z,this.caches=[];for(let Y=0;Y<this.maxKeyLength;Y++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Z,Y){let X=this.caches[Y-1];J:for(let K of X){let $=K.bytes;for(let Q=0;Q<Y;Q++)if($[Q]!==J[Z+Q])continue J;return K.str}return null}store(J,Z){let Y=this.caches[J.length-1],X={bytes:J,str:Z};if(Y.length>=this.maxLengthPerKey)Y[Math.random()*Y.length|0]=X;else Y.push(X)}decode(J,Z,Y){let X=this.find(J,Z,Y);if(X!=null)return this.hit++,X;this.miss++;let K=A3(J,Z,Y),$=Uint8Array.prototype.slice.call(J,Z,Z+Y);return this.store($,K),K}}var oX=function(J,Z,Y){if(Z!==null&&Z!==void 0){if(typeof Z!=="object"&&typeof Z!=="function")throw new TypeError("Object expected.");var X,K;if(Y){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");X=Z[Symbol.asyncDispose]}if(X===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(X=Z[Symbol.dispose],Y)K=X}if(typeof X!=="function")throw new TypeError("Object not disposable.");if(K)X=function(){try{K.call(this)}catch($){return Promise.reject($)}};J.stack.push({value:Z,dispose:X,async:Y})}else if(Y)J.stack.push({async:!0});return Z},rX=function(J){return function(Z){function Y(Q){Z.error=Z.hasError?new J(Q,Z.error,"An error was suppressed during disposal."):Q,Z.hasError=!0}var X,K=0;function $(){while(X=Z.stack.pop())try{if(!X.async&&K===1)return K=0,Z.stack.push(X),Promise.resolve().then($);if(X.dispose){var Q=X.dispose.call(X.value);if(X.async)return K|=2,Promise.resolve(Q).then($,function(F){return Y(F),$()})}else K|=1}catch(F){Y(F)}if(K===1)return Z.hasError?Promise.reject(Z.error):Promise.resolve();if(Z.hasError)throw Z.error}return $()}}(typeof SuppressedError==="function"?SuppressedError:function(J,Z,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=J,X.suppressed=Z,X}),c3="array",P7="map_key",aB="map_value",eo=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new x8("The type of key must be string or number but "+typeof J)};class sB{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Z=this.getUninitializedStateFromPool();Z.type=c3,Z.position=0,Z.size=J,Z.array=new Array(J)}pushMapState(J){let Z=this.getUninitializedStateFromPool();Z.type=P7,Z.readCount=0,Z.size=J,Z.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw new Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===c3){let Y=J;Y.size=0,Y.array=void 0,Y.position=0,Y.type=void 0}if(J.type===P7||J.type===aB){let Y=J;Y.size=0,Y.map=void 0,Y.readCount=0,Y.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var O7=-1,m3=new DataView(new ArrayBuffer(0)),Jr=new Uint8Array(m3.buffer);try{m3.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw new Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var nB=new RangeError("Insufficient data"),Zr=new g3;class tX{constructor(J){this.totalPos=0,this.pos=0,this.view=m3,this.bytes=Jr,this.headByte=O7,this.stack=new sB,this.entered=!1,this.extensionCodec=J?.extensionCodec??L9.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??R5,this.maxBinLength=J?.maxBinLength??R5,this.maxArrayLength=J?.maxArrayLength??R5,this.maxMapLength=J?.maxMapLength??R5,this.maxExtLength=J?.maxExtLength??R5,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:Zr,this.mapKeyConverter=J?.mapKeyConverter??eo}clone(){return new tX({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=O7,this.stack.reset()}setBuffer(J){let Z=w7(J);this.bytes=Z,this.view=new DataView(Z.buffer,Z.byteOffset,Z.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===O7&&!this.hasRemaining(1))this.setBuffer(J);else{let Z=this.bytes.subarray(this.pos),Y=w7(J),X=new Uint8Array(Z.length+Y.length);X.set(Z),X.set(Y,Z.length),this.setBuffer(X)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Z,pos:Y}=this;return new RangeError(`Extra ${Z.byteLength-Y} of ${Z.byteLength} byte(s) found at buffer[${J}]`)}enteringGuard(){return this.entered=!0,{[Symbol.dispose]:()=>{this.entered=!1}}}decode(J){let Z={stack:[],error:void 0,hasError:!1};try{if(this.entered)return this.clone().decode(J);let Y=oX(Z,this.enteringGuard(),!1);this.reinitializeState(),this.setBuffer(J);let X=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return X}catch(Y){Z.error=Y,Z.hasError=!0}finally{rX(Z)}}*decodeMulti(J){let Z={stack:[],error:void 0,hasError:!1};try{if(this.entered){yield*this.clone().decodeMulti(J);return}let Y=oX(Z,this.enteringGuard(),!1);this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}catch(Y){Z.error=Y,Z.hasError=!0}finally{rX(Z)}}async decodeAsync(J){let Z={stack:[],error:void 0,hasError:!1};try{if(this.entered)return this.clone().decodeAsync(J);let Y=oX(Z,this.enteringGuard(),!1),X=!1,K;for await(let G of J){if(X)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(G);try{K=this.doDecodeSync(),X=!0}catch(W){if(!(W instanceof RangeError))throw W}this.totalPos+=this.pos}if(X){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return K}let{headByte:$,pos:Q,totalPos:F}=this;throw new RangeError(`Insufficient data in parsing ${sX($)} at ${F} (${Q} in the current buffer)`)}catch(Y){Z.error=Y,Z.hasError=!0}finally{rX(Z)}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Z){let Y={stack:[],error:void 0,hasError:!1};try{if(this.entered){yield*this.clone().decodeMultiAsync(J,Z);return}let X=oX(Y,this.enteringGuard(),!1),K=Z,$=-1;for await(let Q of J){if(Z&&$===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(Q),K)$=this.readArraySize(),K=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--$===0)break}catch(F){if(!(F instanceof RangeError))throw F}this.totalPos+=this.pos}}catch(X){Y.error=X,Y.hasError=!0}finally{rX(Y)}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Z;if(J>=224)Z=J-256;else if(J<192)if(J<128)Z=J;else if(J<144){let X=J-128;if(X!==0){this.pushMapState(X),this.complete();continue J}else Z={}}else if(J<160){let X=J-144;if(X!==0){this.pushArrayState(X),this.complete();continue J}else Z=[]}else{let X=J-160;Z=this.decodeString(X,0)}else if(J===192)Z=null;else if(J===194)Z=!1;else if(J===195)Z=!0;else if(J===202)Z=this.readF32();else if(J===203)Z=this.readF64();else if(J===204)Z=this.readU8();else if(J===205)Z=this.readU16();else if(J===206)Z=this.readU32();else if(J===207)if(this.useBigInt64)Z=this.readU64AsBigInt();else Z=this.readU64();else if(J===208)Z=this.readI8();else if(J===209)Z=this.readI16();else if(J===210)Z=this.readI32();else if(J===211)if(this.useBigInt64)Z=this.readI64AsBigInt();else Z=this.readI64();else if(J===217){let X=this.lookU8();Z=this.decodeString(X,1)}else if(J===218){let X=this.lookU16();Z=this.decodeString(X,2)}else if(J===219){let X=this.lookU32();Z=this.decodeString(X,4)}else if(J===220){let X=this.readU16();if(X!==0){this.pushArrayState(X),this.complete();continue J}else Z=[]}else if(J===221){let X=this.readU32();if(X!==0){this.pushArrayState(X),this.complete();continue J}else Z=[]}else if(J===222){let X=this.readU16();if(X!==0){this.pushMapState(X),this.complete();continue J}else Z={}}else if(J===223){let X=this.readU32();if(X!==0){this.pushMapState(X),this.complete();continue J}else Z={}}else if(J===196){let X=this.lookU8();Z=this.decodeBinary(X,1)}else if(J===197){let X=this.lookU16();Z=this.decodeBinary(X,2)}else if(J===198){let X=this.lookU32();Z=this.decodeBinary(X,4)}else if(J===212)Z=this.decodeExtension(1,0);else if(J===213)Z=this.decodeExtension(2,0);else if(J===214)Z=this.decodeExtension(4,0);else if(J===215)Z=this.decodeExtension(8,0);else if(J===216)Z=this.decodeExtension(16,0);else if(J===199){let X=this.lookU8();Z=this.decodeExtension(X,1)}else if(J===200){let X=this.lookU16();Z=this.decodeExtension(X,2)}else if(J===201){let X=this.lookU32();Z=this.decodeExtension(X,4)}else throw new x8(`Unrecognized type byte: ${sX(J)}`);this.complete();let Y=this.stack;while(Y.length>0){let X=Y.top();if(X.type===c3)if(X.array[X.position]=Z,X.position++,X.position===X.size)Z=X.array,Y.release(X);else continue J;else if(X.type===P7){if(Z==="__proto__")throw new x8("The key __proto__ is not allowed");X.key=this.mapKeyConverter(Z),X.type=aB;continue J}else if(X.map[X.key]=Z,X.readCount++,X.readCount===X.size)Z=X.map,Y.release(X);else{X.key=null,X.type=P7;continue J}}return Z}}readHeadByte(){if(this.headByte===O7)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=O7}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new x8(`Unrecognized array type byte: ${sX(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new x8(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new x8(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Z){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Z);return this.decodeBinary(J,Z)}decodeUtf8String(J,Z){if(J>this.maxStrLength)throw new x8(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Z+J)throw nB;let Y=this.pos+Z,X;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))X=this.keyDecoder.decode(this.bytes,Y,J);else X=cB(this.bytes,Y,J);return this.pos+=Z+J,X}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===P7;return!1}decodeBinary(J,Z){if(J>this.maxBinLength)throw new x8(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Z))throw nB;let Y=this.pos+Z,X=this.bytes.subarray(Y,Y+J);return this.pos+=Z+J,X}decodeExtension(J,Z){if(J>this.maxExtLength)throw new x8(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let Y=this.view.getInt8(this.pos+Z),X=this.decodeBinary(J,Z+1);return this.extensionCodec.decode(X,Y,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=lB(this.view,this.pos);return this.pos+=8,J}readI64(){let J=nX(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function l3(J,Z){return new tX(Z).decode(J)}class U9 extends s{static _serializedPackets=new WeakMap;_ws;id;constructor(J,Z){super();this._ws=J,this.id=AB(),this._ws.onmessage=this._onMessage,this._ws.onclose=this._onClose,this._ws.onerror=this._onError,l8.emit("CONNECTION.OPENED",{connection:this,req:Z})}static serializePacket(J){if(!g.isValidPacket(J))_.fatalError(`Invalid packet payload: ${JSON.stringify(J)}`);let Z=U9._serializedPackets.get(J);if(Z)return Z;let Y=y3(J);return U9._serializedPackets.set(J,Y),Y}send(J){if(this._ws.readyState!==Yr.OPEN)return _.warning("Connection.send(): Connection is not open.");try{this._ws.send(U9.serializePacket(J)),this.emitWithGlobal("CONNECTION.PACKET_SENT",{connection:this,packet:J})}catch(Z){_.error(`Connection.send(): Packet send failed. Error: ${Z}`)}}close(){try{this.offAll(),this._ws.close()}catch(J){_.error(`Connection.close(): Connection close failed. Error: ${J}`)}}onPacket(J,Z){this.on("CONNECTION.PACKET_RECEIVED",({packet:Y})=>{if(Y[0]===J)Z(Y)})}_onClose=()=>{this.emitWithGlobal("CONNECTION.CLOSED",{connection:this}),this.offAll()};_onError=(J)=>{this.emitWithGlobal("CONNECTION.ERROR",{connection:this,error:J})};_onMessage=(J)=>{try{let Z=this._deserialize(J.data);this.emitWithGlobal("CONNECTION.PACKET_RECEIVED",{connection:this,packet:Z})}catch(Z){_.error(`Connection._ws.onmessage(): Error: ${Z}`)}};_deserialize(J){let Z=l3(J);if(!Z||typeof Z!=="object"||typeof Z[0]!=="number")_.fatalError(`Connection._deserialize(): Invalid packet format. Packet: ${JSON.stringify(Z)}`);if(!g.isValidPacket(Z))_.fatalError(`Connection._deserialize(): Invalid packet payload. Packet: ${JSON.stringify(Z)}`);return Z}}var oB;((Y)=>{Y.PLAYER_CONNECTED="PLAYER_MANAGER.PLAYER_CONNECTED";Y.PLAYER_DISCONNECTED="PLAYER_MANAGER.PLAYER_DISCONNECTED"})(oB||={});class Y8{static instance=new Y8;_connectionPlayers=new Map;constructor(){l8.on("CONNECTION.OPENED",({connection:J,req:Z})=>{this._onConnectionOpened(J,Z.session)}),l8.on("CONNECTION.CLOSED",({connection:J})=>{this._onConnectionClosed(J)})}broadcast(J){for(let Z of this._connectionPlayers.keys())Z.send(J)}broadcastToWorld(J,Z){for(let Y of this._connectionPlayers.values())if(Y.world&&Y.world.id===J)Y.connection.send(Z)}getConnectedPlayers(){return Array.from(this._connectionPlayers.values())}getConnectedPlayersByWorld(J){return this.getConnectedPlayers().filter((Z)=>Z.world===J)}getConnectedPlayerByUsername(J){return Array.from(this._connectionPlayers.values()).find((Z)=>{return Z.username.toLowerCase()===J.toLowerCase()})}_onConnectionOpened(J,Z){let Y=new w5(J,Z);this._connectionPlayers.set(J,Y),l8.emit("PLAYER_MANAGER.PLAYER_CONNECTED",{player:Y})}_onConnectionClosed(J){let Z=this._connectionPlayers.get(J);if(Z)Z.disconnect(),this._connectionPlayers.delete(J),l8.emit("PLAYER_MANAGER.PLAYER_DISCONNECTED",{player:Z});else _.warning(`PlayerManager._onConnectionClosed(): Connection ${J.id} but was not in the PlayerManager._connectionPlayers map.`)}}import{WebSocketServer as vZ0}from"ws";var $$=a6(SE(),1);import OZ0 from"http";import PZ0 from"https";import I9 from"fs";import NZ0 from"path";import BZ0 from"url";var XC=a6(ZC(),1);import S9 from"fs";import YC from"path";var PJ="./dev/persistence";class u6{static instance=new u6;gameId=process.env.HYTOPIA_GAME_ID;lobbyId=process.env.HYTOPIA_LOBBY_ID;_creativeGateway;constructor(){try{this._creativeGateway=new XC.CreativeGateway}catch{console.warn(["\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501","\uD83D\uDEA8 HYTOPIA PLATFORM GATEWAY IS NOT INITIALIZED \uD83D\uDEA8","","\uD83D\uDD27 Local development is still possible, but these features will be disabled:"," \u2022 \uD83D\uDC64 Player Accounts"," \u2022 \uD83C\uDFAD Player Cosmetics"," \u2022 \uD83D\uDC1B Crash Analytics & Debug Logs","","\uD83D\uDCA1 These features will be enabled but modified:"," \u2022 \uD83D\uDCBE Player & Global Persisted Data - Data will be persisted"," locally in the ./dev/persistence directory of your project."," Player ids for data persistence will begin at 1 for the first "," player to join your local server, and increments for each"," additional player. This means that if you restart your"," server, the first player id will be 1 again. This is to ensure"," that data persistence across server restarts can be easily"," tested and debugged in local development.","","To enable the HYTOPIA Platform Gateway locally:"," 1. Set these environment variables:"," HYTOPIA_API_KEY, HYTOPIA_GAME_ID, HYTOPIA_LOBBY_ID"," 2. You can find these values at: https://create.hytopia.com","","Note: In production, these environment variables will be auto-populated ","& the HYTOPIA Platform Gateway will automatically be initialized \uD83D\uDE80","\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501",""].join(`
|
380
|
-
`))}}get isGatewayAvailable(){return!!this._creativeGateway}async getData(J){if(!this._creativeGateway&&process.env.NODE_ENV==="production")return;return this._creativeGateway?await this._creativeGateway.kv.get(J):this._readDevDataLocally(J)}async getPlayerLoadout(J){if(!this._creativeGateway)return;return await this._creativeGateway.getLoadout(J)}async getPlayerSession(J){if(!this._creativeGateway)return;return await this._creativeGateway.getSession(J)}async setData(J,Z){if(Z.error)return _.warning("PlatformGateway.setData(): Cannot set data with an error property.");if(!this._creativeGateway&&process.env.NODE_ENV==="production")return;return this._creativeGateway?await this._creativeGateway.kv.set(J,Z):this._writeDevDataLocally(J,Z)}_readDevDataLocally(J){try{if(!S9.existsSync(PJ))return;let Z=YC.join(PJ,`${J}.json`);return JSON.parse(S9.readFileSync(Z,"utf8"))}catch(Z){_.warning(`PlatformGateway._readDevDataLocally(): Failed to read data for key "${J}": ${Z}`)}}_writeDevDataLocally(J,Z){try{if(!S9.existsSync(PJ))S9.mkdirSync(PJ,{recursive:!0});let Y=YC.join(PJ,`${J}.json`),X={};if(S9.existsSync(Y))X=JSON.parse(S9.readFileSync(Y,"utf8"));let K={...X,...Z};S9.writeFileSync(Y,JSON.stringify(K,null,2),"utf8")}catch(Y){_.warning(`PlatformGateway._writeDevDataLocally(): Failed to write data for key "${J}": ${Y}`)}}}var tV=process.env.PORT??8080,KC="DEV";try{let Z=NZ0.dirname(b.resolve("hytopia"));KC=JSON.parse(I9.readFileSync(Z+"/package.json","utf8")).version}catch{}var eV;((K)=>{K.READY="WEBSERVER.READY";K.STOPPED="WEBSERVER.STOPPED";K.ERROR="WEBSERVER.ERROR";K.UPGRADE="WEBSERVER.UPGRADE"})(eV||={});class o5 extends s{static instance=new o5;_webserver=$$.default();_internalHttpServer;constructor(){super();this._webserver.use((J,Z,Y)=>{Z.header("Access-Control-Allow-Origin","*"),Y()}),this._webserver.get("/",(J,Z)=>{Z.json({status:"OK",version:KC})}),this._webserver.use($$.default.static("assets")),this._webserver.use($$.default.static("node_modules/@hytopia.com/assets"))}start(){if(!this._internalHttpServer)this._internalHttpServer=process.env.NODE_ENV==="production"?OZ0.createServer(this._webserver):PZ0.createServer({key:I9.existsSync("assets/certs/localhost.key")?I9.readFileSync("assets/certs/localhost.key"):I9.readFileSync("node_modules/@hytopia.com/assets/certs/localhost.key"),cert:I9.existsSync("assets/certs/localhost.crt")?I9.readFileSync("assets/certs/localhost.crt"):I9.readFileSync("node_modules/@hytopia.com/assets/certs/localhost.crt")},this._webserver),this._internalHttpServer.on("upgrade",this._onUpgrade),this._internalHttpServer.on("error",this._onError),this._internalHttpServer.on("close",this._onStopped);else _.warning("WebServer.start(): server already started!");this._internalHttpServer.listen(tV,this._onStarted),console.info(`WebServer.start(): Server running on port ${tV}.`)}stop(){if(this._internalHttpServer)return new Promise((J,Z)=>{this._internalHttpServer.close((Y)=>{if(Y)Z(Y);else J(!0)})});else return _.warning("WebServer.stop(): server not started."),Promise.resolve(!1)}_onStarted=()=>{this.emitWithGlobal("WEBSERVER.READY",{})};_onUpgrade=async(J,Z,Y)=>{let X=BZ0.parse(J.url??"",!0).query.sessionToken?.toString()??"",K=await u6.instance.getPlayerSession(X);if(K)if(!K.error)J.session=K;else{let $=`${K.error.code}: ${K.error.message}`;Z.write(`HTTP/1.1 401 Unauthorized\r
|
380
|
+
`))}}get isGatewayAvailable(){return!!this._creativeGateway}async getData(J){if(!this._creativeGateway&&process.env.NODE_ENV==="production")return _.warning("PlatformGateway.getData(): You are running in production mode, but the Platform Gateway is not initialized! No data will be returned.");return this._creativeGateway?await this._creativeGateway.kv.get(J):this._readDevDataLocally(J)}async getPlayerLoadout(J){if(!this._creativeGateway)return;return await this._creativeGateway.getLoadout(J)}async getPlayerSession(J){if(!this._creativeGateway)return;return await this._creativeGateway.getSession(J)}async setData(J,Z){if(Z.error)return _.warning("PlatformGateway.setData(): Cannot set data with an error property.");if(!this._creativeGateway&&process.env.NODE_ENV==="production")return _.warning("PlatformGateway.setData(): You are running in production mode, but the Platform Gateway is not initialized! No data will be set.");return this._creativeGateway?await this._creativeGateway.kv.set(J,Z):this._writeDevDataLocally(J,Z)}_readDevDataLocally(J){try{if(!S9.existsSync(PJ))return;let Z=YC.join(PJ,`${J}.json`);return JSON.parse(S9.readFileSync(Z,"utf8"))}catch(Z){_.warning(`PlatformGateway._readDevDataLocally(): Failed to read data for key "${J}": ${Z}`)}}_writeDevDataLocally(J,Z){try{if(!S9.existsSync(PJ))S9.mkdirSync(PJ,{recursive:!0});let Y=YC.join(PJ,`${J}.json`),X={};if(S9.existsSync(Y))X=JSON.parse(S9.readFileSync(Y,"utf8"));let K={...X,...Z};S9.writeFileSync(Y,JSON.stringify(K,null,2),"utf8")}catch(Y){_.warning(`PlatformGateway._writeDevDataLocally(): Failed to write data for key "${J}": ${Y}`)}}}var tV=process.env.PORT??8080,KC="DEV";try{let Z=NZ0.dirname(b.resolve("hytopia"));KC=JSON.parse(I9.readFileSync(Z+"/package.json","utf8")).version}catch{}var eV;((K)=>{K.READY="WEBSERVER.READY";K.STOPPED="WEBSERVER.STOPPED";K.ERROR="WEBSERVER.ERROR";K.UPGRADE="WEBSERVER.UPGRADE"})(eV||={});class o5 extends s{static instance=new o5;_webserver=$$.default();_internalHttpServer;constructor(){super();this._webserver.use((J,Z,Y)=>{Z.header("Access-Control-Allow-Origin","*"),Y()}),this._webserver.get("/",(J,Z)=>{Z.json({status:"OK",version:KC})}),this._webserver.use($$.default.static("assets")),this._webserver.use($$.default.static("node_modules/@hytopia.com/assets"))}start(){if(!this._internalHttpServer)this._internalHttpServer=process.env.NODE_ENV==="production"?OZ0.createServer(this._webserver):PZ0.createServer({key:I9.existsSync("assets/certs/localhost.key")?I9.readFileSync("assets/certs/localhost.key"):I9.readFileSync("node_modules/@hytopia.com/assets/certs/localhost.key"),cert:I9.existsSync("assets/certs/localhost.crt")?I9.readFileSync("assets/certs/localhost.crt"):I9.readFileSync("node_modules/@hytopia.com/assets/certs/localhost.crt")},this._webserver),this._internalHttpServer.on("upgrade",this._onUpgrade),this._internalHttpServer.on("error",this._onError),this._internalHttpServer.on("close",this._onStopped);else _.warning("WebServer.start(): server already started!");this._internalHttpServer.listen(tV,this._onStarted),console.info(`WebServer.start(): Server running on port ${tV}.`)}stop(){if(this._internalHttpServer)return new Promise((J,Z)=>{this._internalHttpServer.close((Y)=>{if(Y)Z(Y);else J(!0)})});else return _.warning("WebServer.stop(): server not started."),Promise.resolve(!1)}_onStarted=()=>{this.emitWithGlobal("WEBSERVER.READY",{})};_onUpgrade=async(J,Z,Y)=>{let X=BZ0.parse(J.url??"",!0).query.sessionToken?.toString()??"",K=await u6.instance.getPlayerSession(X);if(K)if(!K.error)J.session=K;else{let $=`${K.error.code}: ${K.error.message}`;Z.write(`HTTP/1.1 401 Unauthorized\r
|
381
381
|
`),Z.write(`Content-Type: text/plain\r
|
382
382
|
`),Z.write(`Content-Length: ${$.length}\r
|
383
383
|
`),Z.write(`Connection: close\r
|
@@ -1,503 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"lockfileVersion": 1,
|
3
|
-
"workspaces": {
|
4
|
-
"": {
|
5
|
-
"name": "mobile-controls",
|
6
|
-
"dependencies": {
|
7
|
-
"@hytopia.com/assets": "latest",
|
8
|
-
"hytopia": "latest",
|
9
|
-
},
|
10
|
-
},
|
11
|
-
},
|
12
|
-
"packages": {
|
13
|
-
"@colors/colors": ["@colors/colors@1.5.0", "", {}, "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="],
|
14
|
-
|
15
|
-
"@dabh/diagnostics": ["@dabh/diagnostics@2.0.3", "", { "dependencies": { "colorspace": "1.1.x", "enabled": "2.0.x", "kuler": "^2.0.0" } }, "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA=="],
|
16
|
-
|
17
|
-
"@donmccurdy/caporal": ["@donmccurdy/caporal@0.0.10", "", { "dependencies": { "@types/glob": "^8.1.0", "@types/lodash": "^4.14.197", "@types/node": "20.5.6", "@types/table": "5.0.0", "@types/wrap-ansi": "^8.0.1", "chalk": "3.0.0", "glob": "^10.3.3", "lodash": "^4.17.21", "table": "5.4.6", "winston": "3.10.0", "wrap-ansi": "^8.1.0" } }, "sha512-VdaJjOqYFYcDTM5We2x8cL+B+U9UFQvq0iW2ypqEGX31SDf2oYFjEg7INEJorBwJJnFNXV8jXoYGzJyLeYl1EQ=="],
|
18
|
-
|
19
|
-
"@emnapi/runtime": ["@emnapi/runtime@1.3.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw=="],
|
20
|
-
|
21
|
-
"@gltf-transform/cli": ["@gltf-transform/cli@4.1.1", "", { "dependencies": { "@donmccurdy/caporal": "~0.0.10", "@gltf-transform/core": "^4.1.1", "@gltf-transform/extensions": "^4.1.1", "@gltf-transform/functions": "^4.1.1", "@types/language-tags": "~1.0.4", "@types/micromatch": "~4.0.9", "@types/node-fetch": "~2.6.12", "@types/prompts": "^2.4.9", "@types/spdx-correct": "~3.1.3", "@types/tmp": "~0.2.6", "cli-table3": "~0.6.5", "command-exists": "~1.2.9", "csv-stringify": "~6.5.2", "draco3dgltf": "~1.5.7", "gltf-validator": "~2.0.0-dev.3.10", "keyframe-resample": "~0.1.0", "ktx-parse": "~0.7.1", "language-tags": "~1.0.9", "listr2": "~8.2.5", "meshoptimizer": "~0.22.0", "micromatch": "~4.0.8", "mikktspace": "~1.1.1", "node-fetch": "~3.3.2", "node-gzip": "~1.1.2", "p-limit": "~6.1.0", "prompts": "^2.4.2", "sharp": "~0.33.5", "spdx-correct": "~3.2.0", "strip-ansi": "~7.1.0", "tmp": "~0.2.3" }, "bin": { "gltf-transform": "./bin/cli.js" } }, "sha512-KOlxINn9BooWdaaJ2qPllLsCtsNM9jBdEYS/cxVAG1oB0xTSvcsm7bnQ6wR5l6wShqK0ZdQj71/84z1gSCeyig=="],
|
22
|
-
|
23
|
-
"@gltf-transform/core": ["@gltf-transform/core@4.1.3", "", { "dependencies": { "property-graph": "^3.0.0" } }, "sha512-N+73Vo9DTXV2QmsnetLRY4q3z0Q0oyH0i/ymvzEkgpgNEAq+RP73ZLY0HK+Ia0rTUMgFwQHFNyHDyFiENToBZA=="],
|
24
|
-
|
25
|
-
"@gltf-transform/extensions": ["@gltf-transform/extensions@4.1.3", "", { "dependencies": { "@gltf-transform/core": "^4.1.3", "ktx-parse": "^1.0.0" } }, "sha512-RcjA6UfBqOQPMqYhY/ftHAjrO1mnGLxUIXwErrH8qBoMprgkfLmi3fZuNL1tgZXlSPTjYdMCd7zEOc707F8Ekg=="],
|
26
|
-
|
27
|
-
"@gltf-transform/functions": ["@gltf-transform/functions@4.1.3", "", { "dependencies": { "@gltf-transform/core": "^4.1.3", "@gltf-transform/extensions": "^4.1.3", "ktx-parse": "^1.0.0", "ndarray": "^1.0.19", "ndarray-lanczos": "^0.3.0", "ndarray-pixels": "^4.1.0" } }, "sha512-SS0WH43lA/ttysXB0DovwhKF5yuAXOW/BWUqFlQPCX/NDqt+7qMDqGYL7zCB24NdUh43ipd4k/7QRVMwyrBZUA=="],
|
28
|
-
|
29
|
-
"@hytopia.com/assets": ["@hytopia.com/assets@0.2.8", "", {}, "sha512-cE0aSmTYd00GZAG92cLoCoNMN8F2iQnacREl5J3hmWpPwr5GEhq0MROIEFkLI+gSuUOzTaIi5Ck9hqnRkeoNNw=="],
|
30
|
-
|
31
|
-
"@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="],
|
32
|
-
|
33
|
-
"@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="],
|
34
|
-
|
35
|
-
"@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="],
|
36
|
-
|
37
|
-
"@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="],
|
38
|
-
|
39
|
-
"@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="],
|
40
|
-
|
41
|
-
"@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="],
|
42
|
-
|
43
|
-
"@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.0.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="],
|
44
|
-
|
45
|
-
"@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="],
|
46
|
-
|
47
|
-
"@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="],
|
48
|
-
|
49
|
-
"@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="],
|
50
|
-
|
51
|
-
"@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="],
|
52
|
-
|
53
|
-
"@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="],
|
54
|
-
|
55
|
-
"@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.0.4" }, "os": "linux", "cpu": "s390x" }, "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q=="],
|
56
|
-
|
57
|
-
"@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="],
|
58
|
-
|
59
|
-
"@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g=="],
|
60
|
-
|
61
|
-
"@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw=="],
|
62
|
-
|
63
|
-
"@img/sharp-wasm32": ["@img/sharp-wasm32@0.33.5", "", { "dependencies": { "@emnapi/runtime": "^1.2.0" }, "cpu": "none" }, "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg=="],
|
64
|
-
|
65
|
-
"@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.33.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="],
|
66
|
-
|
67
|
-
"@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="],
|
68
|
-
|
69
|
-
"@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
|
70
|
-
|
71
|
-
"@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
|
72
|
-
|
73
|
-
"@types/braces": ["@types/braces@3.0.5", "", {}, "sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w=="],
|
74
|
-
|
75
|
-
"@types/glob": ["@types/glob@8.1.0", "", { "dependencies": { "@types/minimatch": "^5.1.2", "@types/node": "*" } }, "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w=="],
|
76
|
-
|
77
|
-
"@types/language-tags": ["@types/language-tags@1.0.4", "", {}, "sha512-20PQbifv3v/djCT+KlXybv0KqO5ofoR1qD1wkinN59kfggTPVTWGmPFgL/1yWuDyRcsQP/POvkqK+fnl5nOwTg=="],
|
78
|
-
|
79
|
-
"@types/lodash": ["@types/lodash@4.17.16", "", {}, "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g=="],
|
80
|
-
|
81
|
-
"@types/micromatch": ["@types/micromatch@4.0.9", "", { "dependencies": { "@types/braces": "*" } }, "sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg=="],
|
82
|
-
|
83
|
-
"@types/minimatch": ["@types/minimatch@5.1.2", "", {}, "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="],
|
84
|
-
|
85
|
-
"@types/ndarray": ["@types/ndarray@1.0.14", "", {}, "sha512-oANmFZMnFQvb219SSBIhI1Ih/r4CvHDOzkWyJS/XRqkMrGH5/kaPSA1hQhdIBzouaE+5KpE/f5ylI9cujmckQg=="],
|
86
|
-
|
87
|
-
"@types/node": ["@types/node@20.5.6", "", {}, "sha512-Gi5wRGPbbyOTX+4Y2iULQ27oUPrefaB0PxGQJnfyWN3kvEDGM3mIB5M/gQLmitZf7A9FmLeaqxD3L1CXpm3VKQ=="],
|
88
|
-
|
89
|
-
"@types/node-fetch": ["@types/node-fetch@2.6.12", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.0" } }, "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA=="],
|
90
|
-
|
91
|
-
"@types/prompts": ["@types/prompts@2.4.9", "", { "dependencies": { "@types/node": "*", "kleur": "^3.0.3" } }, "sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA=="],
|
92
|
-
|
93
|
-
"@types/spdx-correct": ["@types/spdx-correct@3.1.3", "", {}, "sha512-fdQ0oyqcKpAH+FwNEerZl1oTslsrhFYhdbb21IO1FKXK/+TFYM2IO1c/Nvsh7MCPVp8TYEAPXIOlXUJRkWoUWQ=="],
|
94
|
-
|
95
|
-
"@types/table": ["@types/table@5.0.0", "", {}, "sha512-fQLtGLZXor264zUPWI95WNDsZ3QV43/c0lJpR/h1hhLJumXRmHNsrvBfEzW2YMhb0EWCsn4U6h82IgwsajAuTA=="],
|
96
|
-
|
97
|
-
"@types/tmp": ["@types/tmp@0.2.6", "", {}, "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA=="],
|
98
|
-
|
99
|
-
"@types/triple-beam": ["@types/triple-beam@1.3.5", "", {}, "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="],
|
100
|
-
|
101
|
-
"@types/wrap-ansi": ["@types/wrap-ansi@8.1.0", "", { "dependencies": { "wrap-ansi": "*" } }, "sha512-Pt0qXwu5s9KKODY8bB93mwgOsUvkCOGt//kvHGMaUZi0u//Yge5X5/iME08eSU+Oxf9sZlwAFaJwORDSIjd8pw=="],
|
102
|
-
|
103
|
-
"ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
|
104
|
-
|
105
|
-
"ansi-escapes": ["ansi-escapes@7.0.0", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw=="],
|
106
|
-
|
107
|
-
"ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
|
108
|
-
|
109
|
-
"ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
110
|
-
|
111
|
-
"astral-regex": ["astral-regex@1.0.0", "", {}, "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="],
|
112
|
-
|
113
|
-
"async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
|
114
|
-
|
115
|
-
"asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
|
116
|
-
|
117
|
-
"balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
118
|
-
|
119
|
-
"brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
|
120
|
-
|
121
|
-
"braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
|
122
|
-
|
123
|
-
"call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
|
124
|
-
|
125
|
-
"chalk": ["chalk@3.0.0", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="],
|
126
|
-
|
127
|
-
"cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="],
|
128
|
-
|
129
|
-
"cli-table3": ["cli-table3@0.6.5", "", { "dependencies": { "string-width": "^4.2.0" }, "optionalDependencies": { "@colors/colors": "1.5.0" } }, "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ=="],
|
130
|
-
|
131
|
-
"cli-truncate": ["cli-truncate@4.0.0", "", { "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" } }, "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA=="],
|
132
|
-
|
133
|
-
"color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="],
|
134
|
-
|
135
|
-
"color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
|
136
|
-
|
137
|
-
"color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
138
|
-
|
139
|
-
"color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="],
|
140
|
-
|
141
|
-
"colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="],
|
142
|
-
|
143
|
-
"colorspace": ["colorspace@1.1.4", "", { "dependencies": { "color": "^3.1.3", "text-hex": "1.0.x" } }, "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w=="],
|
144
|
-
|
145
|
-
"combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
|
146
|
-
|
147
|
-
"command-exists": ["command-exists@1.2.9", "", {}, "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="],
|
148
|
-
|
149
|
-
"cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
|
150
|
-
|
151
|
-
"csv-stringify": ["csv-stringify@6.5.2", "", {}, "sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA=="],
|
152
|
-
|
153
|
-
"cwise-compiler": ["cwise-compiler@1.1.3", "", { "dependencies": { "uniq": "^1.0.0" } }, "sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ=="],
|
154
|
-
|
155
|
-
"data-uri-to-buffer": ["data-uri-to-buffer@4.0.1", "", {}, "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A=="],
|
156
|
-
|
157
|
-
"delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
|
158
|
-
|
159
|
-
"detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="],
|
160
|
-
|
161
|
-
"draco3dgltf": ["draco3dgltf@1.5.7", "", {}, "sha512-LeqcpmoHIyYUi0z70/H3tMkGj8QhqVxq6FJGPjlzR24BNkQ6jyMheMvFKJBI0dzGZrEOUyQEmZ8axM1xRrbRiw=="],
|
162
|
-
|
163
|
-
"dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
|
164
|
-
|
165
|
-
"eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
|
166
|
-
|
167
|
-
"emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
168
|
-
|
169
|
-
"enabled": ["enabled@2.0.0", "", {}, "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="],
|
170
|
-
|
171
|
-
"environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="],
|
172
|
-
|
173
|
-
"es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
|
174
|
-
|
175
|
-
"es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
|
176
|
-
|
177
|
-
"es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
|
178
|
-
|
179
|
-
"es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
|
180
|
-
|
181
|
-
"eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="],
|
182
|
-
|
183
|
-
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
184
|
-
|
185
|
-
"fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
|
186
|
-
|
187
|
-
"fecha": ["fecha@4.2.3", "", {}, "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="],
|
188
|
-
|
189
|
-
"fetch-blob": ["fetch-blob@3.2.0", "", { "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" } }, "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ=="],
|
190
|
-
|
191
|
-
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
192
|
-
|
193
|
-
"fn.name": ["fn.name@1.1.0", "", {}, "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="],
|
194
|
-
|
195
|
-
"foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
|
196
|
-
|
197
|
-
"form-data": ["form-data@4.0.2", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w=="],
|
198
|
-
|
199
|
-
"formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="],
|
200
|
-
|
201
|
-
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
202
|
-
|
203
|
-
"get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="],
|
204
|
-
|
205
|
-
"get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
|
206
|
-
|
207
|
-
"get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
|
208
|
-
|
209
|
-
"glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="],
|
210
|
-
|
211
|
-
"gltf-validator": ["gltf-validator@2.0.0-dev.3.10", "", {}, "sha512-odJ4k0tRkGXiDGn78yDBg+fBbAIvBnXxh3RwAta0emSxGtyagFE8B4xELB1oYe3S5RD8Ci3uZAsZaascH2LAEQ=="],
|
212
|
-
|
213
|
-
"gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
|
214
|
-
|
215
|
-
"has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
|
216
|
-
|
217
|
-
"has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
|
218
|
-
|
219
|
-
"has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
|
220
|
-
|
221
|
-
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
|
222
|
-
|
223
|
-
"hytopia": ["hytopia@0.3.13", "", { "dependencies": { "@gltf-transform/cli": "4.1.1" }, "bin": { "hytopia": "bin/scripts.js" } }, "sha512-fhEM5zBUEzlSvq1vO++S6g8MZWAbOV4hf1y05NvQnmg7gleD5caVvktt3TVOeN7aIgk4VNhw3g/4mCI5IXJ3cQ=="],
|
224
|
-
|
225
|
-
"inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
|
226
|
-
|
227
|
-
"iota-array": ["iota-array@1.0.0", "", {}, "sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA=="],
|
228
|
-
|
229
|
-
"is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="],
|
230
|
-
|
231
|
-
"is-buffer": ["is-buffer@1.1.6", "", {}, "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="],
|
232
|
-
|
233
|
-
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
|
234
|
-
|
235
|
-
"is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
|
236
|
-
|
237
|
-
"is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
|
238
|
-
|
239
|
-
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
|
240
|
-
|
241
|
-
"jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
|
242
|
-
|
243
|
-
"json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
|
244
|
-
|
245
|
-
"keyframe-resample": ["keyframe-resample@0.1.0", "", {}, "sha512-z1au6Q6qCWP734q44t/5SyGwNydC7MvOWo2ZETAz7ZqAgtcyb5EGO7jwgk3DEH7CaDtb0DkGec9iwVpeDWX5dA=="],
|
246
|
-
|
247
|
-
"kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="],
|
248
|
-
|
249
|
-
"ktx-parse": ["ktx-parse@0.7.1", "", {}, "sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ=="],
|
250
|
-
|
251
|
-
"kuler": ["kuler@2.0.0", "", {}, "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="],
|
252
|
-
|
253
|
-
"language-subtag-registry": ["language-subtag-registry@0.3.23", "", {}, "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ=="],
|
254
|
-
|
255
|
-
"language-tags": ["language-tags@1.0.9", "", { "dependencies": { "language-subtag-registry": "^0.3.20" } }, "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA=="],
|
256
|
-
|
257
|
-
"listr2": ["listr2@8.2.5", "", { "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", "log-update": "^6.1.0", "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" } }, "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ=="],
|
258
|
-
|
259
|
-
"lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="],
|
260
|
-
|
261
|
-
"log-update": ["log-update@6.1.0", "", { "dependencies": { "ansi-escapes": "^7.0.0", "cli-cursor": "^5.0.0", "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w=="],
|
262
|
-
|
263
|
-
"logform": ["logform@2.7.0", "", { "dependencies": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", "triple-beam": "^1.3.0" } }, "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ=="],
|
264
|
-
|
265
|
-
"lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
|
266
|
-
|
267
|
-
"math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
|
268
|
-
|
269
|
-
"meshoptimizer": ["meshoptimizer@0.22.0", "", {}, "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg=="],
|
270
|
-
|
271
|
-
"micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
|
272
|
-
|
273
|
-
"mikktspace": ["mikktspace@1.1.1", "", {}, "sha512-w+n5O2YLFsv/aRi3QUF0jxR+mEsl2J08ZkRItJHE08MWqiDIy8amyZN9vetBfbLhlWGMb8G3mzSPwtKHvBF7hQ=="],
|
274
|
-
|
275
|
-
"mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
|
276
|
-
|
277
|
-
"mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
|
278
|
-
|
279
|
-
"mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="],
|
280
|
-
|
281
|
-
"minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
|
282
|
-
|
283
|
-
"minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
|
284
|
-
|
285
|
-
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
286
|
-
|
287
|
-
"ndarray": ["ndarray@1.0.19", "", { "dependencies": { "iota-array": "^1.0.0", "is-buffer": "^1.0.2" } }, "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ=="],
|
288
|
-
|
289
|
-
"ndarray-lanczos": ["ndarray-lanczos@0.3.0", "", { "dependencies": { "@types/ndarray": "^1.0.11", "ndarray": "^1.0.19" } }, "sha512-5kBmmG3Zvyj77qxIAC4QFLKuYdDIBJwCG+DukT6jQHNa1Ft74/hPH1z5mbQXeHBt8yvGPBGVrr3wEOdJPYYZYg=="],
|
290
|
-
|
291
|
-
"ndarray-ops": ["ndarray-ops@1.2.2", "", { "dependencies": { "cwise-compiler": "^1.0.0" } }, "sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw=="],
|
292
|
-
|
293
|
-
"ndarray-pixels": ["ndarray-pixels@4.1.0", "", { "dependencies": { "@types/ndarray": "^1.0.14", "ndarray": "^1.0.19", "ndarray-ops": "^1.2.2", "sharp": "^0.33.4" } }, "sha512-xKPI4zXJ2pkUcVX24zIN1AWqqPWvRWWhRuO6PlY4EdB2VNRauNwA6rDdsAQG/ldQp0sU7nTXgPR/io1duy3Zyg=="],
|
294
|
-
|
295
|
-
"node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="],
|
296
|
-
|
297
|
-
"node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="],
|
298
|
-
|
299
|
-
"node-gzip": ["node-gzip@1.1.2", "", {}, "sha512-ZB6zWpfZHGtxZnPMrJSKHVPrRjURoUzaDbLFj3VO70mpLTW5np96vXyHwft4Id0o+PYIzgDkBUjIzaNHhQ8srw=="],
|
300
|
-
|
301
|
-
"one-time": ["one-time@1.0.0", "", { "dependencies": { "fn.name": "1.x.x" } }, "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="],
|
302
|
-
|
303
|
-
"onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="],
|
304
|
-
|
305
|
-
"p-limit": ["p-limit@6.1.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg=="],
|
306
|
-
|
307
|
-
"package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
|
308
|
-
|
309
|
-
"path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
|
310
|
-
|
311
|
-
"path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
|
312
|
-
|
313
|
-
"picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|
314
|
-
|
315
|
-
"prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="],
|
316
|
-
|
317
|
-
"property-graph": ["property-graph@3.0.0", "", {}, "sha512-TnzxUsttmGtw+OiU0LDw+0FlMbJ8vV8pOjyDI7+Kdni4Tj0hW5BFh7TatQu7Y68hcvvFmiFOHilKShsA4R82fA=="],
|
318
|
-
|
319
|
-
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
320
|
-
|
321
|
-
"readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
|
322
|
-
|
323
|
-
"restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="],
|
324
|
-
|
325
|
-
"rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="],
|
326
|
-
|
327
|
-
"safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
|
328
|
-
|
329
|
-
"safe-stable-stringify": ["safe-stable-stringify@2.5.0", "", {}, "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA=="],
|
330
|
-
|
331
|
-
"semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
|
332
|
-
|
333
|
-
"sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="],
|
334
|
-
|
335
|
-
"shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
|
336
|
-
|
337
|
-
"shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
|
338
|
-
|
339
|
-
"signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
|
340
|
-
|
341
|
-
"simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="],
|
342
|
-
|
343
|
-
"sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
|
344
|
-
|
345
|
-
"slice-ansi": ["slice-ansi@2.1.0", "", { "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" } }, "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ=="],
|
346
|
-
|
347
|
-
"spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="],
|
348
|
-
|
349
|
-
"spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="],
|
350
|
-
|
351
|
-
"spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
|
352
|
-
|
353
|
-
"spdx-license-ids": ["spdx-license-ids@3.0.21", "", {}, "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg=="],
|
354
|
-
|
355
|
-
"stack-trace": ["stack-trace@0.0.10", "", {}, "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="],
|
356
|
-
|
357
|
-
"string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
358
|
-
|
359
|
-
"string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
360
|
-
|
361
|
-
"string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
|
362
|
-
|
363
|
-
"strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
|
364
|
-
|
365
|
-
"strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
366
|
-
|
367
|
-
"supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
|
368
|
-
|
369
|
-
"table": ["table@5.4.6", "", { "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" } }, "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug=="],
|
370
|
-
|
371
|
-
"text-hex": ["text-hex@1.0.0", "", {}, "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="],
|
372
|
-
|
373
|
-
"tmp": ["tmp@0.2.3", "", {}, "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w=="],
|
374
|
-
|
375
|
-
"to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
|
376
|
-
|
377
|
-
"triple-beam": ["triple-beam@1.4.1", "", {}, "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="],
|
378
|
-
|
379
|
-
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
380
|
-
|
381
|
-
"undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
|
382
|
-
|
383
|
-
"uniq": ["uniq@1.0.1", "", {}, "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA=="],
|
384
|
-
|
385
|
-
"uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
|
386
|
-
|
387
|
-
"util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
|
388
|
-
|
389
|
-
"web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="],
|
390
|
-
|
391
|
-
"which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
|
392
|
-
|
393
|
-
"winston": ["winston@3.10.0", "", { "dependencies": { "@colors/colors": "1.5.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", "logform": "^2.4.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", "winston-transport": "^4.5.0" } }, "sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g=="],
|
394
|
-
|
395
|
-
"winston-transport": ["winston-transport@4.9.0", "", { "dependencies": { "logform": "^2.7.0", "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" } }, "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A=="],
|
396
|
-
|
397
|
-
"wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
|
398
|
-
|
399
|
-
"wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
|
400
|
-
|
401
|
-
"yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="],
|
402
|
-
|
403
|
-
"@gltf-transform/extensions/ktx-parse": ["ktx-parse@1.0.0", "", {}, "sha512-Z31kVizz4DF/6vo9YiSYVBhuXAfyQy9bGxlW3+mB5OELoZjfXVZQpRoctsx8IEDKxBd6SagXKo7qRvu38i8Jfg=="],
|
404
|
-
|
405
|
-
"@gltf-transform/functions/ktx-parse": ["ktx-parse@1.0.0", "", {}, "sha512-Z31kVizz4DF/6vo9YiSYVBhuXAfyQy9bGxlW3+mB5OELoZjfXVZQpRoctsx8IEDKxBd6SagXKo7qRvu38i8Jfg=="],
|
406
|
-
|
407
|
-
"@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
|
408
|
-
|
409
|
-
"@types/glob/@types/node": ["@types/node@22.13.13", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ=="],
|
410
|
-
|
411
|
-
"@types/node-fetch/@types/node": ["@types/node@22.13.13", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ=="],
|
412
|
-
|
413
|
-
"@types/prompts/@types/node": ["@types/node@22.13.13", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ=="],
|
414
|
-
|
415
|
-
"@types/wrap-ansi/wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="],
|
416
|
-
|
417
|
-
"cli-truncate/slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="],
|
418
|
-
|
419
|
-
"cli-truncate/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
420
|
-
|
421
|
-
"colorspace/color": ["color@3.2.1", "", { "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" } }, "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA=="],
|
422
|
-
|
423
|
-
"listr2/wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="],
|
424
|
-
|
425
|
-
"log-update/slice-ansi": ["slice-ansi@7.1.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg=="],
|
426
|
-
|
427
|
-
"log-update/wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="],
|
428
|
-
|
429
|
-
"logform/@colors/colors": ["@colors/colors@1.6.0", "", {}, "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA=="],
|
430
|
-
|
431
|
-
"slice-ansi/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="],
|
432
|
-
|
433
|
-
"slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@2.0.0", "", {}, "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="],
|
434
|
-
|
435
|
-
"string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
436
|
-
|
437
|
-
"string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
438
|
-
|
439
|
-
"strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
440
|
-
|
441
|
-
"table/string-width": ["string-width@3.1.0", "", { "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } }, "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="],
|
442
|
-
|
443
|
-
"wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
444
|
-
|
445
|
-
"wrap-ansi/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
|
446
|
-
|
447
|
-
"wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
448
|
-
|
449
|
-
"@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
450
|
-
|
451
|
-
"@types/wrap-ansi/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
452
|
-
|
453
|
-
"@types/wrap-ansi/wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
454
|
-
|
455
|
-
"cli-truncate/slice-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
456
|
-
|
457
|
-
"cli-truncate/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@4.0.0", "", {}, "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="],
|
458
|
-
|
459
|
-
"cli-truncate/string-width/emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
|
460
|
-
|
461
|
-
"colorspace/color/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="],
|
462
|
-
|
463
|
-
"listr2/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
464
|
-
|
465
|
-
"listr2/wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
466
|
-
|
467
|
-
"log-update/slice-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
468
|
-
|
469
|
-
"log-update/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.0.0", "", { "dependencies": { "get-east-asian-width": "^1.0.0" } }, "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA=="],
|
470
|
-
|
471
|
-
"log-update/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
|
472
|
-
|
473
|
-
"log-update/wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
474
|
-
|
475
|
-
"slice-ansi/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="],
|
476
|
-
|
477
|
-
"string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
478
|
-
|
479
|
-
"string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
480
|
-
|
481
|
-
"table/string-width/emoji-regex": ["emoji-regex@7.0.3", "", {}, "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="],
|
482
|
-
|
483
|
-
"table/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@2.0.0", "", {}, "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="],
|
484
|
-
|
485
|
-
"table/string-width/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="],
|
486
|
-
|
487
|
-
"wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
488
|
-
|
489
|
-
"wrap-ansi/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
490
|
-
|
491
|
-
"@types/wrap-ansi/wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
|
492
|
-
|
493
|
-
"colorspace/color/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="],
|
494
|
-
|
495
|
-
"listr2/wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
|
496
|
-
|
497
|
-
"log-update/wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
|
498
|
-
|
499
|
-
"slice-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="],
|
500
|
-
|
501
|
-
"table/string-width/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="],
|
502
|
-
}
|
503
|
-
}
|