From a58ce8bbfa8e4d3d127f1eef256d6e0ec81e7a33 Mon Sep 17 00:00:00 2001 From: memelotsqui Date: Tue, 19 Nov 2024 01:34:20 +0000 Subject: [PATCH] deploy: 1187e9b4a815cc19b16a539ecb12297404da1b43 --- assets/{howler-a8c8d105.js => howler-98c352fc.js} | 2 +- assets/{index-d9f4cdbf.js => index-693f3751.js} | 4 ++-- index.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) rename assets/{howler-a8c8d105.js => howler-98c352fc.js} (99%) rename assets/{index-d9f4cdbf.js => index-693f3751.js} (98%) diff --git a/assets/howler-a8c8d105.js b/assets/howler-98c352fc.js similarity index 99% rename from assets/howler-a8c8d105.js rename to assets/howler-98c352fc.js index de6f3ca8..82442819 100644 --- a/assets/howler-a8c8d105.js +++ b/assets/howler-98c352fc.js @@ -1,4 +1,4 @@ -import{g as L,c as S}from"./index-d9f4cdbf.js";function D(b,g){for(var r=0;ru[i]})}}}return Object.freeze(Object.defineProperty(b,Symbol.toStringTag,{value:"Module"}))}var O={};/*! +import{g as L,c as S}from"./index-693f3751.js";function D(b,g){for(var r=0;ru[i]})}}}return Object.freeze(Object.defineProperty(b,Symbol.toStringTag,{value:"Module"}))}var O={};/*! * howler.js v2.2.4 * howlerjs.com * diff --git a/assets/index-d9f4cdbf.js b/assets/index-693f3751.js similarity index 98% rename from assets/index-d9f4cdbf.js rename to assets/index-693f3751.js index 763295b0..c3e98c18 100644 --- a/assets/index-d9f4cdbf.js +++ b/assets/index-693f3751.js @@ -4913,7 +4913,7 @@ void main() { * Copyright (c) 2019-2024 pixiv Inc. * @pixiv/three-vrm-springbone is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE - */var yr;(function(n){n[n.ARRAY_BUFFER=34962]="ARRAY_BUFFER",n[n.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.LINEAR=9729]="LINEAR",n[n.REPEAT=10497]="REPEAT"})(yr||(yr={}));const q_="blend_",hO="vrmColliderSphere";class ype{parse(e,t,r,i){const s=e.humanoid,o=e.meta,a=e.materials,l={},c={},A={},u=e.lookAt,f={generator:"UniGLTF-2.0.0",version:"2.0"};if(t)if(s)if(o)if(a){if(!u)throw new Error("lookAt is undefined or null")}else throw new Error("materials is undefined or null");else throw new Error("meta is undefined or null");else throw new Error("humanoid is undefined or null");else throw new Error("avatar is undefined or null");const h=a.filter((de,ve,be)=>be.findIndex(re=>re.name===de.name.replace(" (Outline)",""))===ve).map(de=>de),d=h.map(de=>de.name),m=r?{name:"icon",imageBitmap:r.image}:null,g=h.filter(de=>de.map).map(de=>{if(!de.map)throw new Error(de.name+" map is null");return{name:de.name,imageBitmap:de.map.image}}),p=h.filter(de=>de.userData.shadeTexture).map(de=>{if(!de.userData.shadeTexture)throw new Error(de.userData.shadeTexture+" map is null");return{name:de.name+"_shade",imageBitmap:de.userData.shadeTexture.image}}),v=g.concat(p),w=Epe(v,m),_=Bpe(w),x=Spe(w),b=bpe(h,v),B=t.children.filter(de=>de.children.length>0&&de.children[0].type===Li.Bone)[0],S=TG(B).filter(de=>de.name!==hO),I=S.map(de=>de.name),M=S.map(de=>({children:de.children.filter(ve=>ve.name!==hO).map(ve=>I.indexOf(ve.name)),name:de.name,rotation:[de.quaternion.x,de.quaternion.y,de.quaternion.z,de.quaternion.w],scale:[de.scale.x,de.scale.y,de.scale.z],translation:[de.position.x,de.position.y,de.position.z]})),P=[],D=t.children.filter(de=>de.type===Li.Group||de.type===Li.SkinnedMesh),T=[];D.forEach(de=>{const ve=de.type===Li.Group?de.children[0]:de,be=ve.geometry.attributes;T.push(new yl(be.position,yr.FLOAT,ln.POSITION,Go.VEC3,ve.name,void 0)),T.push(new yl(be.normal,yr.FLOAT,ln.NORMAL,Go.VEC3,ve.name,void 0)),T.push(new yl(be.uv,yr.FLOAT,ln.UV,Go.VEC2,ve.name,void 0)),T.push(new yl(be.skinWeight,yr.FLOAT,ln.SKIN_WEIGHT,Go.VEC4,ve.name,void 0)),T.push(new yl(be.skinIndex,yr.UNSIGNED_SHORT,ln.SKIN_INDEX,Go.VEC4,ve.name,void 0)),(de.type===Li.Group?de.children.map(k=>k):[de]).forEach(k=>{if(!k.geometry.index)throw new Error(k.name+" geometry.index is null");T.push(new yl(k.geometry.index,yr.UNSIGNED_INT,ln.INDEX,Go.SCALAR,ve.name,k.name))}),ve.morphTargetDictionary||(ve.morphTargetDictionary={},ve.morphTargetInfluences=[],ve.geometry.morphAttributes={},ve.updateMorphTargets()),ve.geometry.userData.targetNames=[];for(const k in e.expressionManager.expressionMap){const ae=e.expressionManager.expressionMap[k],ce=ae._binds.map(J=>({node:S.length,index:J.index,weight:J.weight}));let Z=!1;for(const J in ni)if(k.toLowerCase()===ni[J].toLowerCase()){l[ni[J]]={morphTargetBinds:ce,isBinary:ae.isBinary,overrideBlink:ae.overrideBlink,overrideLookAt:ae.overrideLookAt,overrideMouth:ae.overrideMouth},Z=!0;break}!Z&&k.toLowerCase()==="surprise"&&(l.surprised={morphTargetBinds:ce,isBinary:ae.isBinary,overrideBlink:ae.overrideBlink,overrideLookAt:ae.overrideLookAt,overrideMouth:ae.overrideMouth},Z=!0),Z===!1&&(c[k]={morphTargetBinds:ce,isBinary:ae.isBinary,overrideBlink:ae.overrideBlink,overrideLookAt:ae.overrideLookAt,overrideMouth:ae.overrideMouth})}for(const k in ve.morphTargetDictionary){ve.geometry.userData.targetNames.push(k);const ae=ve.morphTargetDictionary[k],ce=ve.geometry.morphAttributes;T.push(new yl(ce.position[ae],yr.FLOAT,ln.BLEND_POSITION,Go.VEC3,ve.name,q_+k)),T.push(new yl(ce.normal[ae],yr.FLOAT,ln.BLEND_NORMAL,Go.VEC3,ve.name,q_+k))}}),Object.keys(l).length>0&&(A.preset=l),Object.keys(c).length>0&&(A.custom=c),D.forEach(de=>{const ve=de.type===Li.Group?de.children[0]:de,be=new Float32Array(ve.skeleton.boneInverses.map(re=>re.elements).flat());T.push(new yl(new lt(be,16),yr.FLOAT,ln.BIND_MATRIX,Go.MAT4,ve.name,ve.name))}),P.push(...T.map(de=>({bufferView:-1,byteOffset:0,componentType:de.valueType,count:de.attribute.count,max:de.max,min:de.min,normalized:!1,type:de.accessorsType})));const y=_pe(D,T,d);D.forEach((de,ve)=>{M.push({mesh:ve,name:de.name,rotation:[de.quaternion.x,de.quaternion.y,de.quaternion.z,de.quaternion.w],scale:[de.scale.x,de.scale.y,de.scale.z],skin:ve,translation:[de.position.x,de.position.y,de.position.z]})});const E=xpe(D,T,I),R={offsetFromHeadBone:[0,0,0],rangeMapHorizontalInner:{inputMaxValue:u.applier.rangeMapHorizontalInner.inputMaxValue,outputScale:u.applier.rangeMapHorizontalInner.outputScale},rangeMapHorizontalOuter:{inputMaxValue:u.applier.rangeMapHorizontalOuter.inputMaxValue,outputScale:u.applier.rangeMapHorizontalOuter.outputScale},rangeMapVerticalDown:{inputMaxValue:u.applier.rangeMapVerticalDown.inputMaxValue,outputScale:u.applier.rangeMapVerticalDown.outputScale},rangeMapVerticalUp:{inputMaxValue:u.applier.rangeMapVerticalUp.inputMaxValue,outputScale:u.applier.rangeMapVerticalUp.outputScale},type:"bone"},L={humanBones:{}};for(const de in s.humanBones)L.humanBones[de]={node:I.indexOf(s.humanBones[de].node.name)};const O=o,z=[];z.push(...v.map(de=>({buffer:dO(de.imageBitmap),type:ln.IMAGE}))),z.push(...T.map(de=>({buffer:de.buffer,type:de.type}))),m&&z.push({buffer:dO(m.imageBitmap),type:ln.IMAGE});let j=0,H=0,C=0;const W=z.map((de,ve)=>{const be={buffer:0,byteLength:de.buffer.byteLength,byteOffset:j,target:de.type===ln.IMAGE||de.type===ln.BIND_MATRIX?void 0:de.type===ln.INDEX?yr.ELEMENT_ARRAY_BUFFER:yr.ARRAY_BUFFER};return j+=de.buffer.byteLength,de.type===ln.IMAGE?w[H++].bufferView=ve:P[C++].bufferView=ve,be}),ee=Mpe(t,M),F={accessors:P,asset:f,buffers:[{byteLength:j}],bufferViews:W,extensions:{VRMC_vrm:{expressions:A,humanoid:L,lookAt:R,meta:O,specVersion:"1.0"}},extensionsUsed:["KHR_materials_unlit","KHR_texture_transform","VRMC_materials_mtoon","VRMC_vrm"],images:w,materials:b,meshes:y,nodes:M,samplers:_,avatar:0,scenes:ee,skins:E,textures:x},ie=new pO(sT(JSON.stringify(F,void 0,2)),"JSON"),ue=new pO(Rm(z.map(de=>de.buffer)),"BIN\0"),le=Rm([ie.buffer,ue.buffer]),me=Rm([sT("glTF"),iT(2,4),iT(le.byteLength+12,4)]);i(Rm([me,le]))}}function TG(n){return n.children.length<=0?[n]:[n].concat(n.children.map(e=>TG(e)).flat())}function dO(n){const e=document.createElement("canvas");e.width=n.width,e.height=n.height,e.getContext("2d").drawImage(n,0,0);const t=e.toDataURL("image/png"),r=atob(t.split(",")[1]),i=new ArrayBuffer(r.length),s=new DataView(i);for(let o=0;o4?c=r[a*n.itemSize+l]:l===0?c=n.getX(a):l===1?c=n.getY(a):l===2?c=n.getZ(a):c=n.getW(a),e===yr.UNSIGNED_SHORT?o.setUint16(i,c,!0):e===yr.UNSIGNED_INT?o.setUint32(i,c,!0):o.setFloat32(i,c,!0),i+=t}return s}let pO=class{constructor(e,t){this.data=e,this.type=t;const r=this.data;this.buffer=Rm([iT(r.byteLength,4),sT(this.type),r])}paddingBinary(e,t){const r=Math.ceil(e.byteLength/4)*4;if(e.byteLength===r)return e;const i=new Uint8Array(r);i.set(new Uint8Array(e),0);for(let s=e.byteLength;sl%3===0)),Math.max.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===1)),Math.max.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===2))]:void 0,this.min=r===ln.POSITION||r===ln.BLEND_POSITION?[Math.min.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===0)),Math.min.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===1)),Math.min.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===2))]:void 0}};var Hh;(function(n){n.MeshBasicMaterial="MeshBasicMaterial",n.MeshStandardMaterial="MeshStandardMaterial",n.MToonMaterial="MToonMaterial"})(Hh||(Hh={}));var Go;(function(n){n.SCALAR="SCALAR",n.VEC2="VEC2",n.VEC3="VEC3",n.VEC4="VEC4",n.MAT4="MAT4"})(Go||(Go={}));var ln;(function(n){n.POSITION="POSITION",n.NORMAL="NORMAL",n.UV="UV",n.INDEX="INDEX",n.SKIN_WEIGHT="SKIN_WEIGHT",n.SKIN_INDEX="SKIN_INDEX",n.BLEND_POSITION="BLEND_POSITION",n.BLEND_NORMAL="BLEND_NORMAL",n.BIND_MATRIX="BIND_MATRIX",n.IMAGE="IMAGE"})(ln||(ln={}));var Li;(function(n){n.Group="Group",n.SkinnedMesh="SkinnedMesh",n.Object3D="Object3D",n.Bone="Bone"})(Li||(Li={}));const _pe=(n,e,t)=>n.map(r=>{const i=r.type===Li.Group?r.children[0]:r,s=r.type===Li.Group?r.children.map(o=>o):[r];return{name:r.name,primitives:s.map(o=>{const a=e.map(c=>c.meshName===i.name?c.type:null),l=Array.isArray(o.material)?o.material[0].name:o.material.name;return{attributes:{JOINTS_0:a.indexOf(ln.SKIN_INDEX),NORMAL:a.indexOf(ln.NORMAL),POSITION:a.indexOf(ln.POSITION),TEXCOORD_0:a.indexOf(ln.UV),WEIGHTS_0:a.indexOf(ln.SKIN_WEIGHT)},extras:{targetNames:o.geometry.userData.targetNames},indices:e.map(c=>c.type===ln.INDEX&&c.meshName===i.name?c.name:null).indexOf(o.name),material:t.indexOf(l),mode:4,targets:i.geometry.userData.targetNames?i.geometry.userData.targetNames.map(c=>({NORMAL:e.map(A=>A.type===ln.BLEND_NORMAL&&A.meshName===i.name?A.name:null).indexOf(q_+c),POSITION:e.map(A=>A.type===ln.BLEND_POSITION&&A.meshName===i.name?A.name:null).indexOf(q_+c)})):void 0}})}}),xpe=(n,e,t)=>n.map(r=>{const i=r.type===Li.Group?r.children[0]:r;return{inverseBindMatrices:e.map(s=>s.type===ln.BIND_MATRIX?s.meshName:null).indexOf(i.name),joints:i.skeleton.bones.map(s=>t.indexOf(s.name)),skeleton:t.indexOf(i.skeleton.bones[0].name)}}),bpe=(n,e)=>n.map(t=>{let r,i=null;if(t=t.userData.vrmMaterial?t.userData.vrmMaterial:t,t.type==="ShaderMaterial")i=t.userData.gltfExtensions.VRMC_materials_mtoon,i.shadeMultiplyTexture={index:e.map(A=>A.name).indexOf(t.uniforms.shadeMultiplyTexture.name)},r=t.color?[1,1,1,1]:void 0;else{const c=t;r=c.color?[c.color.r,c.color.g,c.color.b,1]:void 0}let s=-1;t.map?s=e.map(c=>c.name).indexOf(t.name):t.uniforms&&t.uniforms.map&&(s=e.map(c=>c.name).indexOf(t.uniforms.map.name));const o=s>=0?{extensions:{KHR_texture_transform:{offset:[0,0],scale:[1,1]}},index:s,texCoord:0}:void 0,a=(()=>{switch(t.type){case Hh.MeshStandardMaterial:return t.metalness;case Hh.MeshBasicMaterial:return 0;default:return 0}})(),l=(()=>{switch(t.type){case Hh.MeshStandardMaterial:return t.roughness;case Hh.MeshBasicMaterial:return .9;default:return .9}})();return{alphaCutoff:t.alphaTest>0?t.alphaTest:void 0,alphaMode:t.transparent?"BLEND":t.alphaTest>0?"MASK":"OPAQUE",doubleSided:t.side===2,extensions:t.type==="ShaderMaterial"?{KHR_materials_unlit:{},VRMC_materials_mtoon:i}:void 0,name:t.name,pbrMetallicRoughness:{baseColorFactor:r,baseColorTexture:o,metallicFactor:a,roughnessFactor:l}}}),Epe=(n,e)=>(e?n.concat(e):n).filter(t=>t&&t.imageBitmap).map(t=>({bufferView:-1,mimeType:"image/png",name:t.name})),Bpe=n=>n.map(()=>({magFilter:yr.LINEAR,minFilter:yr.LINEAR,wrapS:yr.REPEAT,wrapT:yr.REPEAT})),Spe=n=>n.map((e,t)=>({sampler:0,source:t})),Mpe=(n,e)=>{const t=e.map(r=>r.name);return[{nodes:n.children.filter(r=>r.type===Li.Object3D||r.type===Li.SkinnedMesh||r.type===Li.Group||r.type===Li.Bone).map(r=>t.indexOf(r.name))}]},IG=0,Cpe=1,RG=2,mO=2,DB=1.25,gO=1,sg=6*4+4+4,T1=65535,Tpe=Math.pow(2,-24),NB=Symbol("SKIP_GENERATION");function Ipe(n){return n.index?n.index.count:n.attributes.position.count}function qd(n){return Ipe(n)/3}function Rpe(n,e=ArrayBuffer){return n>65535?new Uint32Array(new e(4*n)):new Uint16Array(new e(2*n))}function Upe(n,e){if(!n.index){const t=n.attributes.position.count,r=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer,i=Rpe(t,r);n.setIndex(new lt(i,1));for(let s=0;sl-c);for(let l=0;lo.offset-a.offset),i=r[r.length-1];i.count=Math.min(t-i.offset,i.count);let s=0;return r.forEach(({count:o})=>s+=o),t!==s}function OB(n,e,t,r,i){let s=1/0,o=1/0,a=1/0,l=-1/0,c=-1/0,A=-1/0,u=1/0,f=1/0,h=1/0,d=-1/0,m=-1/0,g=-1/0;for(let p=e*6,v=(e+t)*6;pl&&(l=b),wd&&(d=w);const B=n[p+2],S=n[p+3],I=B-S,M=B+S;Ic&&(c=M),Bm&&(m=B);const P=n[p+4],D=n[p+5],T=P-D,y=P+D;TA&&(A=y),Pg&&(g=P)}r[0]=s,r[1]=o,r[2]=a,r[3]=l,r[4]=c,r[5]=A,i[0]=u,i[1]=f,i[2]=h,i[3]=d,i[4]=m,i[5]=g}function Ppe(n,e=null,t=null,r=null){const i=n.attributes.position,s=n.index?n.index.array:null,o=qd(n),a=i.normalized;let l;e===null?(l=new Float32Array(o*6),t=0,r=o):(l=e,t=t||0,r=r||o);const c=i.array,A=i.offset||0;let u=3;i.isInterleavedBufferAttribute&&(u=i.data.stride);const f=["getX","getY","getZ"];for(let h=t;hS&&(S=x),b>S&&(S=b);const I=(S-B)/2,M=w*2;l[m+M+0]=B+I,l[m+M+1]=I+(Math.abs(B)+I)*Tpe}}return l}function er(n,e,t){return t.min.x=e[n],t.min.y=e[n+1],t.min.z=e[n+2],t.max.x=e[n+3],t.max.y=e[n+4],t.max.z=e[n+5],t}function vO(n){let e=-1,t=-1/0;for(let r=0;r<3;r++){const i=n[r+3]-n[r];i>t&&(t=i,e=r)}return e}function yO(n,e){e.set(n)}function wO(n,e,t){let r,i;for(let s=0;s<3;s++){const o=s+3;r=n[s],i=e[s],t[s]=ri?r:i}}function yy(n,e,t){for(let r=0;r<3;r++){const i=e[n+2*r],s=e[n+2*r+1],o=i-s,a=i+s;ot[r+3]&&(t[r+3]=a)}}function Xp(n){const e=n[3]-n[0],t=n[4]-n[1],r=n[5]-n[2];return 2*(e*t+t*r+r*e)}const Bl=32,Lpe=(n,e)=>n.candidate-e.candidate,Tc=new Array(Bl).fill().map(()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0})),wy=new Float32Array(6);function Dpe(n,e,t,r,i,s){let o=-1,a=0;if(s===IG)o=vO(e),o!==-1&&(a=(e[o]+e[o+3])/2);else if(s===Cpe)o=vO(n),o!==-1&&(a=Npe(t,r,i,o));else if(s===RG){const l=Xp(n);let c=DB*i;const A=r*6,u=(r+i)*6;for(let f=0;f<3;f++){const h=e[f],g=(e[f+3]-h)/Bl;if(i=B.candidate?yy(_,t,B.rightCacheBounds):(yy(_,t,B.leftCacheBounds),B.count++)}}for(let _=0;_=Bl&&(b=Bl-1);const B=Tc[b];B.count++,yy(w,t,B.bounds)}const p=Tc[Bl-1];yO(p.bounds,p.rightCacheBounds);for(let w=Bl-2;w>=0;w--){const _=Tc[w],x=Tc[w+1];wO(_.bounds,x.rightCacheBounds,_.rightCacheBounds)}let v=0;for(let w=0;w=l;)a--;if(o=l;)a--;if(oHpe)throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return Um[t+6]=c/4,c=aT(c,a),Um[t+7]=l,c}}function zpe(n,e){const t=(n.index?n.index.count:n.attributes.position.count)/3,r=t>2**16,i=r?4:2,s=e?new SharedArrayBuffer(t*i):new ArrayBuffer(t*i),o=r?new Uint32Array(s):new Uint16Array(s);for(let a=0,l=o.length;a=s&&(p=!0,o&&(console.warn(`MeshBVH: Max depth of ${s} reached when generating BVH. Consider increasing maxDepth.`),console.warn(f))),B<=a||I>=s)return w(b+B),x.offset=b,x.count=B,x;const M=Dpe(x.boundingData,S,e,b,B,l);if(M.axis===-1)return w(b+B),x.offset=b,x.count=B,x;const P=d(u,h,e,b,B,M);if(P===b||P===b+B)w(b+B),x.offset=b,x.count=B;else{x.splitAxis=M.axis;const D=new kB,T=b,y=P-b;x.left=D,OB(e,T,y,D.boundingData,g),_(D,T,y,g,I+1);const E=new kB,R=P,L=B-y;x.right=E,OB(e,R,L,E.boundingData,g),_(E,R,L,g,I+1)}return x}}function Vpe(n,e){const t=n.geometry;e.indirect&&(n._indirectBuffer=zpe(t,e.useSharedArrayBuffer),Fpe(t,e.range)&&!e.verbose&&console.warn('MeshBVH: Provided geometry contains groups or a range that do not fully span the vertex contents while using the "indirect" option. BVH may incorrectly report intersections on unrendered portions of the geometry.')),n._indirectBuffer||Upe(t,e);const r=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer,i=Ppe(t),s=e.indirect?UG(t,e.range):FG(t,e.range);n._roots=s.map(o=>{const a=Gpe(n,i,o.offset,o.count,e),l=oT(a),c=new r(sg*l);return Qpe(0,a,c),c})}class sc{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let r=1/0,i=-1/0;for(let s=0,o=e.length;si?l:i}this.min=r,this.max=i}setFromPoints(e,t){let r=1/0,i=-1/0;for(let s=0,o=t.length;si?l:i}this.min=r,this.max=i}isSeparated(e){return this.min>e.max||e.min>this.max}}sc.prototype.setFromBox=function(){const n=new $;return function(t,r){const i=r.min,s=r.max;let o=1/0,a=-1/0;for(let l=0;l<=1;l++)for(let c=0;c<=1;c++)for(let A=0;A<=1;A++){n.x=i.x*l+s.x*(1-l),n.y=i.y*c+s.y*(1-c),n.z=i.z*A+s.z*(1-A);const u=t.dot(n);o=Math.min(u,o),a=Math.max(u,a)}this.min=o,this.max=a}}();const jpe=function(){const n=new $,e=new $,t=new $;return function(i,s,o){const a=i.start,l=n,c=s.start,A=e;t.subVectors(a,c),n.subVectors(i.end,i.start),e.subVectors(s.end,s.start);const u=t.dot(A),f=A.dot(l),h=A.dot(A),d=t.dot(l),g=l.dot(l)*h-f*f;let p,v;g!==0?p=(u*f-d*h)/g:p=0,v=(u+p*f)/h,o.x=p,o.y=v}}(),l2=function(){const n=new je,e=new $,t=new $;return function(i,s,o,a){jpe(i,s,n);let l=n.x,c=n.y;if(l>=0&&l<=1&&c>=0&&c<=1){i.at(l,o),s.at(c,a);return}else if(l>=0&&l<=1){c<0?s.at(0,a):s.at(1,a),i.closestPointToPoint(a,!0,o);return}else if(c>=0&&c<=1){l<0?i.at(0,o):i.at(1,o),s.closestPointToPoint(o,!0,a);return}else{let A;l<0?A=i.start:A=i.end;let u;c<0?u=s.start:u=s.end;const f=e,h=t;if(i.closestPointToPoint(u,!0,e),s.closestPointToPoint(A,!0,t),f.distanceToSquared(u)<=h.distanceToSquared(A)){o.copy(f),a.copy(u);return}else{o.copy(A),a.copy(h);return}}}}(),Wpe=function(){const n=new $,e=new $,t=new Ma,r=new Wl;return function(s,o){const{radius:a,center:l}=s,{a:c,b:A,c:u}=o;if(r.start=c,r.end=A,r.closestPointToPoint(l,!0,n).distanceTo(l)<=a||(r.start=c,r.end=u,r.closestPointToPoint(l,!0,n).distanceTo(l)<=a)||(r.start=A,r.end=u,r.closestPointToPoint(l,!0,n).distanceTo(l)<=a))return!0;const m=o.getPlane(t);if(Math.abs(m.distanceToPoint(l))<=a){const p=m.projectPoint(l,e);if(o.containsPoint(p))return!0}return!1}}(),Kpe=1e-15;function HB(n){return Math.abs(n)new $),this.satBounds=new Array(4).fill().map(()=>new sc),this.points=[this.a,this.b,this.c],this.sphere=new Si,this.plane=new Ma,this.needsUpdate=!0}intersectsSphere(e){return Wpe(e,this)}update(){const e=this.a,t=this.b,r=this.c,i=this.points,s=this.satAxes,o=this.satBounds,a=s[0],l=o[0];this.getNormal(a),l.setFromPoints(a,i);const c=s[1],A=o[1];c.subVectors(e,t),A.setFromPoints(c,i);const u=s[2],f=o[2];u.subVectors(t,r),f.setFromPoints(u,i);const h=s[3],d=o[3];h.subVectors(r,e),d.setFromPoints(h,i),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(a,e),this.needsUpdate=!1}}oa.prototype.closestPointToSegment=function(){const n=new $,e=new $,t=new Wl;return function(i,s=null,o=null){const{start:a,end:l}=i,c=this.points;let A,u=1/0;for(let f=0;f<3;f++){const h=(f+1)%3;t.start.copy(c[f]),t.end.copy(c[h]),l2(t,i,n,e),A=n.distanceToSquared(e),A=2){(_===1?p.start:p.end).copy(h),w=2;break}if(w++,w===2&&_===-1)break}}return w}return function(g,p=null,v=!1){this.needsUpdate&&this.update(),g.isExtendedTriangle?g.needsUpdate&&g.update():(n.copy(g),n.update(),g=n);const w=this.plane,_=g.plane;if(Math.abs(w.normal.dot(_.normal))>1-1e-10){const x=this.satBounds,b=this.satAxes;t[0]=g.a,t[1]=g.b,t[2]=g.c;for(let I=0;I<4;I++){const M=x[I],P=b[I];if(r.setFromPoints(P,t),M.isSeparated(r))return!1}const B=g.satBounds,S=g.satAxes;e[0]=this.a,e[1]=this.b,e[2]=this.c;for(let I=0;I<4;I++){const M=B[I],P=S[I];if(r.setFromPoints(P,e),M.isSeparated(r))return!1}for(let I=0;I<4;I++){const M=b[I];for(let P=0;P<4;P++){const D=S[P];if(s.crossVectors(M,D),r.setFromPoints(s,e),i.setFromPoints(s,t),r.isSeparated(i))return!1}}return p&&(v||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),p.start.set(0,0,0),p.end.set(0,0,0)),!0}else{const x=d(this,_,u);if(x===1&&g.containsPoint(u.end))return p&&(p.start.copy(u.end),p.end.copy(u.end)),!0;if(x!==2)return!1;const b=d(g,w,f);if(b===1&&this.containsPoint(f.end))return p&&(p.start.copy(f.end),p.end.copy(f.end)),!0;if(b!==2)return!1;if(u.delta(a),f.delta(l),a.dot(l)<0){let T=f.start;f.start=f.end,f.end=T}const B=u.start.dot(a),S=u.end.dot(a),I=f.start.dot(a),M=f.end.dot(a),P=S0?p.start.copy(u.start):p.start.copy(f.start),c.subVectors(u.end,f.end),c.dot(a)<0?p.end.copy(u.end):p.end.copy(f.end)),!0)}}}();oa.prototype.distanceToPoint=function(){const n=new $;return function(t){return this.closestPointToPoint(t,n),t.distanceTo(n)}}();oa.prototype.distanceToTriangle=function(){const n=new $,e=new $,t=["a","b","c"],r=new Wl,i=new Wl;return function(o,a=null,l=null){const c=a||l?r:null;if(this.intersectsTriangle(o,c))return(a||l)&&(a&&c.getCenter(a),l&&c.getCenter(l)),0;let A=1/0;for(let u=0;u<3;u++){let f;const h=t[u],d=o[h];this.closestPointToPoint(d,n),f=d.distanceToSquared(n),fnew $),this.satAxes=new Array(3).fill().map(()=>new $),this.satBounds=new Array(3).fill().map(()=>new sc),this.alignedSatBounds=new Array(3).fill().map(()=>new sc),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),r&&this.matrix.copy(r)}set(e,t,r){this.min.copy(e),this.max.copy(t),this.matrix.copy(r),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}zi.prototype.update=function(){return function(){const e=this.matrix,t=this.min,r=this.max,i=this.points;for(let c=0;c<=1;c++)for(let A=0;A<=1;A++)for(let u=0;u<=1;u++){const f=1*c|2*A|4*u,h=i[f];h.x=c?r.x:t.x,h.y=A?r.y:t.y,h.z=u?r.z:t.z,h.applyMatrix4(e)}const s=this.satBounds,o=this.satAxes,a=i[0];for(let c=0;c<3;c++){const A=o[c],u=s[c],f=1<new Wl),t=new Array(12).fill().map(()=>new Wl),r=new $,i=new $;return function(o,a=0,l=null,c=null){if(this.needsUpdate&&this.update(),this.intersectsBox(o))return(l||c)&&(o.getCenter(i),this.closestPointToPoint(i,r),o.closestPointToPoint(r,i),l&&l.copy(r),c&&c.copy(i)),0;const A=a*a,u=o.min,f=o.max,h=this.points;let d=1/0;for(let g=0;g<8;g++){const p=h[g];i.copy(p).clamp(u,f);const v=p.distanceToSquared(i);if(vnew oa)}}const go=new Xpe;class Ype{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;const e=[];let t=null;this.setBuffer=r=>{t&&e.push(t),t=r,this.float32Array=new Float32Array(r),this.uint16Array=new Uint16Array(r),this.uint32Array=new Uint32Array(r)},this.clearBuffer=()=>{t=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,e.length!==0&&this.setBuffer(e.pop())}}}const Rn=new Ype;let Jc,Qh;const Lf=[],_y=new c2(()=>new Qn);function $pe(n,e,t,r,i,s){Jc=_y.getPrimitive(),Qh=_y.getPrimitive(),Lf.push(Jc,Qh),Rn.setBuffer(n._roots[e]);const o=lT(0,n.geometry,t,r,i,s);Rn.clearBuffer(),_y.releasePrimitive(Jc),_y.releasePrimitive(Qh),Lf.pop(),Lf.pop();const a=Lf.length;return a>0&&(Qh=Lf[a-1],Jc=Lf[a-2]),o}function lT(n,e,t,r,i=null,s=0,o=0){const{float32Array:a,uint16Array:l,uint32Array:c}=Rn;let A=n*2;if($i(A,l)){const f=Us(n,c),h=ho(A,l);return er(n,a,Jc),r(f,h,!1,o,s+n,Jc)}else{let M=function(D){const{uint16Array:T,uint32Array:y}=Rn;let E=D*2;for(;!$i(E,T);)D=po(D),E=D*2;return Us(D,y)},P=function(D){const{uint16Array:T,uint32Array:y}=Rn;let E=D*2;for(;!$i(E,T);)D=mo(D,y),E=D*2;return Us(D,y)+ho(E,T)};const f=po(n),h=mo(n,c);let d=f,m=h,g,p,v,w;if(i&&(v=Jc,w=Qh,er(d,a,v),er(m,a,w),g=i(v),p=i(w),p(Yp.copy(e).clamp(A.min,A.max),Yp.distanceToSquared(e)),intersectsBounds:(A,u,f)=>f{A.closestPointToPoint(e,Yp);const f=e.distanceToSquared(Yp);return f=169,XA=new $,YA=new $,$A=new $,xy=new je,by=new je,Ey=new je,_O=new $,xO=new $,bO=new $,$p=new $;function Jpe(n,e,t,r,i,s,o,a){let l;if(s===oi?l=n.intersectTriangle(r,t,e,!0,i):l=n.intersectTriangle(e,t,r,s!==_i,i),l===null)return null;const c=n.origin.distanceTo(i);return ca?null:{distance:c,point:i.clone()}}function eme(n,e,t,r,i,s,o,a,l,c,A){XA.fromBufferAttribute(e,s),YA.fromBufferAttribute(e,o),$A.fromBufferAttribute(e,a);const u=Jpe(n,XA,YA,$A,$p,l,c,A);if(u){const f=new $;Wr.getBarycoord($p,XA,YA,$A,f),r&&(xy.fromBufferAttribute(r,s),by.fromBufferAttribute(r,o),Ey.fromBufferAttribute(r,a),u.uv=Wr.getInterpolation($p,XA,YA,$A,xy,by,Ey,new je)),i&&(xy.fromBufferAttribute(i,s),by.fromBufferAttribute(i,o),Ey.fromBufferAttribute(i,a),u.uv1=Wr.getInterpolation($p,XA,YA,$A,xy,by,Ey,new je)),t&&(_O.fromBufferAttribute(t,s),xO.fromBufferAttribute(t,o),bO.fromBufferAttribute(t,a),u.normal=Wr.getInterpolation($p,XA,YA,$A,_O,xO,bO,new $),u.normal.dot(n.direction)>0&&u.normal.multiplyScalar(-1));const h={a:s,b:o,c:a,normal:new $,materialIndex:0};Wr.getNormal(XA,YA,$A,h.normal),u.face=h,u.faceIndex=s,qpe&&(u.barycoord=f)}return u}function I1(n,e,t,r,i,s,o){const a=r*3;let l=a+0,c=a+1,A=a+2;const u=n.index;n.index&&(l=u.getX(l),c=u.getX(c),A=u.getX(A));const{position:f,normal:h,uv:d,uv1:m}=n.attributes,g=eme(t,f,h,d,m,l,c,A,e,s,o);return g?(g.faceIndex=r,i&&i.push(g),g):null}function Sr(n,e,t,r){const i=n.a,s=n.b,o=n.c;let a=e,l=e+1,c=e+2;t&&(a=t.getX(a),l=t.getX(l),c=t.getX(c)),i.x=r.getX(a),i.y=r.getY(a),i.z=r.getZ(a),s.x=r.getX(l),s.y=r.getY(l),s.z=r.getZ(l),o.x=r.getX(c),o.y=r.getY(c),o.z=r.getZ(c)}function tme(n,e,t,r,i,s,o,a){const{geometry:l,_indirectBuffer:c}=n;for(let A=r,u=r+i;Ab&&(b=D),T<_&&(_=T),T>B&&(B=T),yS&&(S=y)}return l[f+0]!==w||l[f+1]!==_||l[f+2]!==x||l[f+3]!==b||l[f+4]!==B||l[f+5]!==S?(l[f+0]=w,l[f+1]=_,l[f+2]=x,l[f+3]=b,l[f+4]=B,l[f+5]=S,!0):!1}else{const p=f+8,v=o[f+6],w=p+h,_=v+h;let x=d,b=!1,B=!1;e?x||(b=e.has(w),B=e.has(_),x=!b&&!B):(b=!0,B=!0);const S=x||b,I=x||B;let M=!1;S&&(M=u(p,h,x));let P=!1;I&&(P=u(v,h,x));const D=M||P;if(D)for(let T=0;T<3;T++){const y=p+T,E=v+T,R=l[y],L=l[y+3],O=l[E],z=l[E+3];l[f+T]=Rz?L:z}return D}}}function _A(n,e,t,r,i){let s,o,a,l,c,A;const u=1/t.direction.x,f=1/t.direction.y,h=1/t.direction.z,d=t.origin.x,m=t.origin.y,g=t.origin.z;let p=e[n],v=e[n+3],w=e[n+1],_=e[n+3+1],x=e[n+2],b=e[n+3+2];return u>=0?(s=(p-d)*u,o=(v-d)*u):(s=(v-d)*u,o=(p-d)*u),f>=0?(a=(w-m)*f,l=(_-m)*f):(a=(_-m)*f,l=(w-m)*f),s>l||a>o||((a>s||isNaN(s))&&(s=a),(l=0?(c=(x-g)*h,A=(b-g)*h):(c=(b-g)*h,A=(x-g)*h),s>A||c>o)?!1:((c>s||s!==s)&&(s=c),(A=r)}function sme(n,e,t,r,i,s,o,a){const{geometry:l,_indirectBuffer:c}=n;for(let A=r,u=r+i;A=0;let m,g;d?(m=po(n),g=mo(n,l)):(m=mo(n,l),g=po(n));const v=_A(m,o,r,i,s)?AT(m,e,t,r,i,s):null;if(v){const x=v.point[f];if(d?x<=o[g+u]:x>=o[g+u+3])return v}const _=_A(g,o,r,i,s)?AT(g,e,t,r,i,s):null;return v&&_?v.distance<=_.distance?v:_:v||_||null}}const By=new Qn,Df=new oa,Nf=new oa,Zp=new ke,EO=new zi,Sy=new zi;function ume(n,e,t,r){Rn.setBuffer(n._roots[e]);const i=uT(0,n,t,r);return Rn.clearBuffer(),i}function uT(n,e,t,r,i=null){const{float32Array:s,uint16Array:o,uint32Array:a}=Rn;let l=n*2;if(i===null&&(t.boundingBox||t.computeBoundingBox(),EO.set(t.boundingBox.min,t.boundingBox.max,r),i=EO),$i(l,o)){const A=e.geometry,u=A.index,f=A.attributes.position,h=t.index,d=t.attributes.position,m=Us(n,a),g=ho(l,o);if(Zp.copy(r).invert(),t.boundsTree)return er(n,s,Sy),Sy.matrix.copy(Zp),Sy.needsUpdate=!0,t.boundsTree.shapecast({intersectsBounds:v=>Sy.intersectsBox(v),intersectsTriangle:v=>{v.a.applyMatrix4(r),v.b.applyMatrix4(r),v.c.applyMatrix4(r),v.needsUpdate=!0;for(let w=m*3,_=(g+m)*3;w<_;w+=3)if(Sr(Nf,w,u,f),Nf.needsUpdate=!0,v.intersectsTriangle(Nf))return!0;return!1}});for(let p=m*3,v=(g+m)*3;pzB.distanceToBox(x),intersectsBounds:(x,b,B)=>B{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:S=>qp.distanceToBox(S),intersectsBounds:(S,I,M)=>M{for(let M=S,P=S+I;Mb&&(b=y),E<_&&(_=E),E>B&&(B=E),RS&&(S=R)}}return l[f+0]!==w||l[f+1]!==_||l[f+2]!==x||l[f+3]!==b||l[f+4]!==B||l[f+5]!==S?(l[f+0]=w,l[f+1]=_,l[f+2]=x,l[f+3]=b,l[f+4]=B,l[f+5]=S,!0):!1}else{const p=f+8,v=o[f+6],w=p+h,_=v+h;let x=d,b=!1,B=!1;e?x||(b=e.has(w),B=e.has(_),x=!b&&!B):(b=!0,B=!0);const S=x||b,I=x||B;let M=!1;S&&(M=u(p,h,x));let P=!1;I&&(P=u(v,h,x));const D=M||P;if(D)for(let T=0;T<3;T++){const y=p+T,E=v+T,R=l[y],L=l[y+3],O=l[E],z=l[E+3];l[f+T]=Rz?L:z}return D}}}function vme(n,e,t,r,i,s,o){Rn.setBuffer(n._roots[e]),fT(0,n,t,r,i,s,o),Rn.clearBuffer()}function fT(n,e,t,r,i,s,o){const{float32Array:a,uint16Array:l,uint32Array:c}=Rn,A=n*2;if($i(A,l)){const f=Us(n,c),h=ho(A,l);sme(e,t,r,f,h,i,s,o)}else{const f=po(n);_A(f,a,r,s,o)&&fT(f,e,t,r,i,s,o);const h=mo(n,c);_A(h,a,r,s,o)&&fT(h,e,t,r,i,s,o)}}const yme=["x","y","z"];function wme(n,e,t,r,i,s){Rn.setBuffer(n._roots[e]);const o=hT(0,n,t,r,i,s);return Rn.clearBuffer(),o}function hT(n,e,t,r,i,s){const{float32Array:o,uint16Array:a,uint32Array:l}=Rn;let c=n*2;if($i(c,a)){const u=Us(n,l),f=ho(c,a);return ome(e,t,r,u,f,i,s)}else{const u=PG(n,l),f=yme[u],d=r.direction[f]>=0;let m,g;d?(m=po(n),g=mo(n,l)):(m=mo(n,l),g=po(n));const v=_A(m,o,r,i,s)?hT(m,e,t,r,i,s):null;if(v){const x=v.point[f];if(d?x<=o[g+u]:x>=o[g+u+3])return v}const _=_A(g,o,r,i,s)?hT(g,e,t,r,i,s):null;return v&&_?v.distance<=_.distance?v:_:v||_||null}}const Cy=new Qn,Of=new oa,kf=new oa,Jp=new ke,BO=new zi,Ty=new zi;function _me(n,e,t,r){Rn.setBuffer(n._roots[e]);const i=dT(0,n,t,r);return Rn.clearBuffer(),i}function dT(n,e,t,r,i=null){const{float32Array:s,uint16Array:o,uint32Array:a}=Rn;let l=n*2;if(i===null&&(t.boundingBox||t.computeBoundingBox(),BO.set(t.boundingBox.min,t.boundingBox.max,r),i=BO),$i(l,o)){const A=e.geometry,u=A.index,f=A.attributes.position,h=t.index,d=t.attributes.position,m=Us(n,a),g=ho(l,o);if(Jp.copy(r).invert(),t.boundsTree)return er(n,s,Ty),Ty.matrix.copy(Jp),Ty.needsUpdate=!0,t.boundsTree.shapecast({intersectsBounds:v=>Ty.intersectsBox(v),intersectsTriangle:v=>{v.a.applyMatrix4(r),v.b.applyMatrix4(r),v.c.applyMatrix4(r),v.needsUpdate=!0;for(let w=m,_=g+m;w<_;w++)if(Sr(kf,3*e.resolveTriangleIndex(w),u,f),kf.needsUpdate=!0,v.intersectsTriangle(kf))return!0;return!1}});for(let p=m,v=g+m;pGB.distanceToBox(x),intersectsBounds:(x,b,B)=>B{if(e.boundsTree){const B=e.boundsTree;return B.shapecast({boundsTraverseOrder:S=>em.distanceToBox(S),intersectsBounds:(S,I,M)=>M{for(let M=S,P=S+I;Mnew Qn),Hf=new Qn,Qf=new Qn,VB=new Qn,jB=new Qn;let WB=!1;function Cme(n,e,t,r){if(WB)throw new Error("MeshBVH: Recursive calls to bvhcast not supported.");WB=!0;const i=n._roots,s=e._roots;let o,a=0,l=0;const c=new ke().copy(t).invert();for(let A=0,u=i.length;Al.slice()),index:o?o.array.slice():null,indirectBuffer:s?s.slice():null}:a={roots:i,index:o?o.array:null,indirectBuffer:s},a}static deserialize(e,t,r={}){r={setIndex:!0,indirect:!!e.indirectBuffer,...r};const{index:i,roots:s,indirectBuffer:o}=e,a=new A2(t,{...r,[NB]:!0});if(a._roots=s,a._indirectBuffer=o||null,r.setIndex){const l=t.getIndex();if(l===null){const c=new lt(e.index,1,!1);t.setIndex(c)}else l.array!==i&&(l.array.set(i),l.needsUpdate=!0)}return a}get indirect(){return!!this._indirectBuffer}constructor(e,t={}){if(e.isBufferGeometry){if(e.index&&e.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}else throw new Error("MeshBVH: Only BufferGeometries are supported.");if(t=Object.assign({...Tme,[NB]:!1},t),t.useSharedArrayBuffer&&!Mme())throw new Error("MeshBVH: SharedArrayBuffer is not available.");this.geometry=e,this._roots=null,this._indirectBuffer=null,t[NB]||(Vpe(this,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new Qn))),this.resolveTriangleIndex=t.indirect?r=>this._indirectBuffer[r]:r=>r}refit(e=null){return(this.indirect?gme:ime)(this,e)}traverse(e,t=0){const r=this._roots[t],i=new Uint32Array(r),s=new Uint16Array(r);o(0);function o(a,l=0){const c=a*2,A=s[c+15]===T1;if(A){const u=i[a+6],f=s[c+14];e(l,A,new Float32Array(r,a*4,6),u,f)}else{const u=a+sg/4,f=i[a+6],h=i[a+7];e(l,A,new Float32Array(r,a*4,6),h)||(o(u,l+1),o(f,l+1))}}}raycast(e,t=Hs,r=0,i=1/0){const s=this._roots,o=this.geometry,a=[],l=t.isMaterial,c=Array.isArray(t),A=o.groups,u=l?t.side:t,f=this.indirect?vme:lme;for(let h=0,d=s.length;hu(f,h,d,m,g)?!0:r(f,h,this,a,d,m,t)}else o||(a?o=(u,f,h,d)=>r(u,f,this,a,h,d,t):o=(u,f,h)=>h);let l=!1,c=0;const A=this._roots;for(let u=0,f=A.length;u{const m=this.resolveTriangleIndex(d);Sr(o,m*3,a,l)}:d=>{Sr(o,d*3,a,l)},A=go.getPrimitive(),u=e.geometry.index,f=e.geometry.attributes.position,h=e.indirect?d=>{const m=e.resolveTriangleIndex(d);Sr(A,m*3,u,f)}:d=>{Sr(A,d*3,u,f)};if(s){const d=(m,g,p,v,w,_,x,b)=>{for(let B=p,S=p+v;BRy.intersectsBox(r),intersectsTriangle:r=>Ry.intersectsTriangle(r)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,r={},i={},s=0,o=1/0){return(this.indirect?Sme:mme)(this,e,t,r,i,s,o)}closestPointToPoint(e,t={},r=0,i=1/0){return Zpe(this,e,t,r,i)}getBoundingBox(e){return e.makeEmpty(),this._roots.forEach(r=>{er(0,new Float32Array(r),SO),e.union(SO)}),e}}function MO(n,e,t){return n===null?null:(n.point.applyMatrix4(e.matrixWorld),n.distance=n.point.distanceTo(t.ray.origin),n.object=e,n)}const Uy=new Ku,CO=new $,TO=new ke,Ime=hn.prototype.raycast,Rme=bse.prototype.raycast,IO=new $,Jr=new hn,Fy=[];function Ume(n,e){this.isBatchedMesh?Fme.call(this,n,e):Pme.call(this,n,e)}function Fme(n,e){if(this.boundsTrees){const t=this.boundsTrees,r=this._drawInfo,i=this._drawRanges,s=this.matrixWorld;Jr.material=this.material,Jr.geometry=this.geometry;const o=Jr.geometry.boundsTree,a=Jr.geometry.drawRange;Jr.geometry.boundingSphere===null&&(Jr.geometry.boundingSphere=new Si);for(let l=0,c=r.length;l{const e=n.attributes.position,t=n.index,r=new Wr,i=new $,s=new $,o=new $,a=[];for(let l=0;l{const e=n.geometry.clone();let t=[];if(Array.isArray(n.material))for(let i=0;i{n.isMesh&&(n.geometry.userData.faceNormals=null,n.geometry.dispose(),n.geometry.disposeBoundsTree(),n.parent&&n.parent.remove(n),n.userData.cancelMesh&&Dw(n.userData.cancelMesh))},NG=n=>{var e,t;n.userData.cullingClone&&(Dw(n.userData.cullingClone),n.userData.cullingClone=null,Dw(n.userData.cullingCloneP),n.userData.cullingCloneP=null,Dw(n.userData.cullingCloneN),n.userData.cullingCloneN=null,((e=n.userData)==null?void 0:e.clippedIndexGeometry)!=null&&(n.userData.clippedIndexGeometry=null),((t=n.userData)==null?void 0:t.origIndexBuffer)!=null&&(n.userData.origIndexBuffer=null))},Gme=async n=>{if(n==null){console.warn("Null parameter for meshes was provided. Skipping mesh culling.");return}if(!Array.isArray(n)){console.warn("No valid mesh array was provided. Skipping mesh culling.");return}if(n.length==0){console.warn("No mesh array with elements was provided. Skipping mesh culling.");return}const e=[];Fm=n[0].parent,Fm.lines!=null&&(Fm.lines.forEach(i=>{i.visible=!1}),Fm.lines.length=0),n.forEach(i=>{if(i.userData.cullLayer!=null){i.userData.origIndexBuffer==null&&(i.userData.origIndexBuffer=i.geometry.index.clone()),e[i.userData.cullLayer]==null&&(e[i.userData.cullLayer]={origMeshes:[],cloneMeshes:[],posMeshes:[],negMeshes:[],scaleMeshes:[],positionMeshes:[]}),i.userData.cullingClone==null&&(i.userData.cullingClone=zme(i),i.userData.cullingCloneP=i.userData.cullingClone.clone(),i.userData.cullingCloneN=i.userData.cullingClone.clone());const s=i.userData.cullingClone,o=i.userData.cullingCloneP,a=i.userData.cullingCloneN;o.material=kme,a.userData.cancelMesh=o,a.material=Hme,o.userData.maxCullDistance=a.userData.maxCullDistance=i.userData.maxCullDistance,e[i.userData.cullLayer].origMeshes.push(i),e[i.userData.cullLayer].cloneMeshes.push(s),e[i.userData.cullLayer].posMeshes.push(o),e[i.userData.cullLayer].negMeshes.push(a),i.geometry.setIndex(i.userData.origIndexBuffer)}});for(let i=e.length-1;i>=0;i--)e[i]==null&&e.splice(i,1);let t=[];const r=[];for(let i=e.length-1;i>=0;i--){if(t.length!=0||e.length>=1)for(let s=0;s{i.geom.setIndex(i.index)})},Vme=n=>{let e=Nme,t=Ome;return n&&(isNaN(n)?Array.isArray(n)&&(isNaN(n[0])||(e=n[0]),isNaN(n[1])||(t=n[1])):e=n),[e,t]},jme=(n,e,t,r,i,s,o=!1)=>{const a=[],l=Vme(s);let c=l[0],A=l[1];Py.far=c+A;for(let f=0;f=0;v--)c-p[v].distance>=p[v].object.userData.maxCullDistance&&p.splice(v,1);if(p.length===0){for(let v=0;v<3;v++)a.push(n[h+v]);break}else{const v=p.map(w=>w.object);for(let w=0;ww).length===0){for(let w=0;w<3;w++)a.push(n[h+w]);break}if(m===0)d=p.map(w=>w.object);else if(d=p.map(w=>{if(d.indexOf(w.object)!==-1)return w.object}),d=d.filter(w=>w),m===2&&d.filter(w=>w).length===0)for(let w=0;w<3;w++)a.push(n[h+w]);o&&Wme(KB,tm.clone().multiplyScalar(-1),Py.far,16711680,Fm)}}}const u=new Uint32Array(a);return new lt(u,1,!1)};function Wme(n,e,t,r,i){i.lines==null&&(i.lines=[]);let s=new $;s.addVectors(n,e.clone().multiplyScalar(t));const o=[];o.push(n),o.push(s);const a=new Zt().setFromPoints(o),l=[];l.push(new He(0)),l.push(new He(16777215));let c=new Ac({color:r});var A=new Yd(a,c);A.renderOrder=100,i.add(A),i.lines.push(A)}function Kme(n,e=10){if(n<=0)return[];const t=n,r=[{w:e,h:e,x:0,y:0}];function i(o,a,l,c){if(a<=0)return;const A=o.w/2,u=[{w:A,h:A,x:l,y:c},{w:A,h:A,x:l+A,y:c},{w:A,h:A,x:l,y:c+A},{w:A,h:A,x:l+A,y:c+A}];r.push(...u);const f=r.find(p=>p.x===l&&p.y===c&&p.w===o.w&&p.h===o.h);if(r.splice(r.indexOf(f),1),n<=r.length)return;const h=Math.max(...r.map(p=>p.w)),d=r.find(p=>p.w===h),m=d.x,g=d.y;i({w:d.w,h:d.h},a-1,m,g)}if(n==1)return{squares:r,fill:1};for(i({w:e,h:e},t,0,0),r.sort((o,a)=>a.w-o.w);r.length>n;)r.pop();const s=r.reduce((o,a)=>o+a.w*a.h,0)/(e*e);return{squares:r,fill:s}}class u2{constructor(e,t){jt(this,"width");jt(this,"height");jt(this,"cameraRTT",null);jt(this,"sceneRTT",null);jt(this,"material",null);jt(this,"quad",null);jt(this,"renderer",null);jt(this,"rtTexture",null);this.width=e,this.height=t}render(e,t,r,i,s,o,a=!0){var A;if(e||(e=u2.createSolidColorTexture(r,i,s)),this.renderer==null){this.sceneRTT=new zg,this.cameraRTT=new g0(-i/2,i/2,s/2,-s/2,-1e4,1e4),this.cameraRTT.position.z=100,this.sceneRTT.add(this.cameraRTT),this.material=new qi({side:_i,transparent:!0,opacity:1,color:new He(1,1,1)});const u=new cc(1,1);this.quad=new hn(u,this.material),this.quad.scale.set(i,s,1),this.sceneRTT.add(this.quad),this.renderer=new v0,this.renderer.setPixelRatio(1),this.renderer.setSize(i,s),this.renderer.autoClear=!1}else this.cameraRTT&&(this.cameraRTT.left=-i/2,this.cameraRTT.right=i/2,this.cameraRTT.top=s/2,this.cameraRTT.bottom=-s/2,this.cameraRTT.updateProjectionMatrix()),(A=this.quad)==null||A.scale.set(i,s,1),this.renderer.setSize(i,s);this.rtTexture=new qa(i,s),this.rtTexture.texture.colorSpace=a?kt:Ra,this.material&&(this.material.map=e,this.material.color=t.clone()),this.renderer.setClearColor(r.clone(),o?0:1),this.renderer.setRenderTarget(this.rtTexture),this.renderer.clear(),this.sceneRTT&&this.cameraRTT&&this.renderer.render(this.sceneRTT,this.cameraRTT);let l=new Uint8ClampedArray(this.rtTexture.width*this.rtTexture.height*4);return this.renderer.readRenderTargetPixels(this.rtTexture,0,0,i,s,l),new ImageData(l,i,s)}destroy(){var e,t;this.cameraRTT=null,(e=this.sceneRTT)==null||e.clear(),this.sceneRTT=null,this.material=null,this.quad=null,(t=this.renderer)==null||t.dispose(),this.renderer=null,this.rtTexture=null}static createSolidColorTexture(e,t,r){const i=t*r,s=new Uint8Array(4*i),o=Math.floor(e.r*255),a=Math.floor(e.g*255),l=Math.floor(e.b*255);for(let A=0;Atypeof window>"u"?await $me({meshes:e,atlasSize:r,mtoon:i,transparentMaterial:s,transparentTexture:o}):await Zme({backColor:n,meshes:e,atlasSize:r,mtoon:i,includeNonTexturedMeshesInAtlas:t,transparentMaterial:s,transparentTexture:o,twoSidedMaterial:a}),$me=async({meshes:n,atlasSize:e,mtoon:t,transparentMaterial:r,transparentTexture:i})=>{const s=e,o=["diffuse"],a=[];n.forEach(b=>{const B=b.material;let S=a.find(I=>I.material===B);if(!S)a.push({material:B,mesh:b});else{const{dest:I}=R1({meshes:[S.mesh,b]});S.mesh.geometry=I}});const l=Object.fromEntries(o.map(b=>[b,OG({width:s,height:s,transparent:i})])),c=Math.floor(Math.sqrt(n.length)+1),A=s/c,u=new Map(a.map((b,B)=>{const S=new je(B%c,Math.floor(B/c)).multiplyScalar(1/c),I=new je(S.x+1/c,S.y+1/c);return[b.mesh,{min:S,max:I}]})),f=[],h=[];a.forEach(b=>{const{min:B,max:S}=u.get(b.mesh);h.push(S),f.push(B)});const d=new je(Math.max(...h.map(b=>b.x)),Math.max(...h.map(b=>b.y))),m=new je(Math.min(...f.map(b=>b.x)),Math.min(...f.map(b=>b.y))),g=1/(d.x-m.x),p=1/(d.y-m.y),v=A*g,w=A*p,_=new Map(a.map(b=>{let{min:B,max:S}=u.get(b.mesh);return B.x=B.x*g,B.y=B.y*p,S.x=S.x*g,S.y=S.y*p,[b.mesh,{min:B,max:S}]}));a.forEach(b=>{const{material:B,mesh:S}=b,{min:I,max:M}=_.get(S);o.forEach(y=>{const E=l[y];E.globalCompositeOperation="source-over";let R=ex(B,pT[y].find(L=>ex(B,L)));if(R!==""&&R!==void 0)try{const L=new Uint8ClampedArray(R.data),O=new ImageData(L,v,w),z=document.createElement("canvas");z.width=v,z.height=w;const j=z.getContext("2d");j.putImageData(O,0,0),j.save(),E.drawImage(z,I.x*s,I.y*s,v,w)}catch(L){console.error("error",L)}else E.fillStyle=y==="diffuse"?`#${B.color.clone().getHexString()}`:y==="normal"?"#8080ff":y==="orm"?`#${new He(B.aoMapIntensity,B.roughness,B.metalness).getHexString()}`:"#7F7F7F",E.fillRect(I.x*s,I.y*s,v,w)});const P=S.geometry,D=P.attributes.uv;if(D)for(let y=0;y{const B=new Hn(l[b].canvas);return B.flipY=!1,[b,B]})));return{bakeObjects:a,textures:x,uvs:_}},Zme=async({backColor:n,includeNonTexturedMeshesInAtlas:e=!1,meshes:t,atlasSize:r,mtoon:i,transparentMaterial:s,transparentTexture:o,twoSidedMaterial:a})=>{const l=r,c=i?["diffuse"]:["diffuse","orm","normal"],A=[];let u=null;t.forEach(L=>{L=L.clone();const O=L.material.length==null?L.material:L.material[0];i&&u==null&&O.type=="ShaderMaterial"&&(u=O.clone());let z=A.find(j=>{j.material});if(!z)A.push({material:O,mesh:L});else{const{dest:j}=R1({meshes:[z.mesh,L]});z.mesh.geometry=j}});const f=Object.fromEntries(c.map(L=>[L,OG({width:l,height:l,transparent:o&&L=="diffuse"})])),h=new Set,d=new Map,m=A.map(L=>{const O=L.mesh.geometry;if(e==!1){if(!L.mesh.visible)return h.add(L.mesh),[L.mesh,0];let z=!0;for(const j of c)for(const H of pT[j])if(ex(L.material,H)&&z){z=!1;break}if(z){const j=L.material;if(j instanceof pr)return[L.mesh,2];if(d.size==0)return d.set(j,[L.mesh]),[L.mesh,1];for(let[H,C]of Array.from(d.entries()))if((()=>H.color.r.toFixed(5)==j.color.r.toFixed(5)&&H.color.g.toFixed(5)==j.color.g.toFixed(5)&&H.color.b.toFixed(5)==j.color.b.toFixed(5)&&H.emissive.equals(j.emissive)&&H.aoMapIntensity==j.aoMapIntensity&&H.metalness==j.metalness&&H.normalScale.equals(j.normalScale)&&H.roughness==j.roughness&&H.transparent==j.transparent&&H.vertexColors==j.vertexColors)())return C.push(L.mesh),[L.mesh,0];return d.set(j,[L.mesh]),[L.mesh,1]}}return[L.mesh,O.index?O.index.count/3:O.attributes.position.count/3]}).sort((L,O)=>O[1]-L[1]),g=m.filter(([,L])=>L!=0),{squares:p,fill:v}=Kme(g.length,l);console.log("squaresplit",v);const w=p.map(L=>({x:L.x,y:L.y,width:L.w,height:L.h})),_=new Map(w.map((L,O)=>[m[O][0],L]));d.forEach(L=>{if(L.length>1){const O=_.get(L[0]);L.forEach(z=>{_.set(z,O)})}});const x=new Map(Array.from(_.entries()).map(([L,O])=>{const z=new je(O.x,O.y),j=new je(O.x+O.width,O.y+O.height);return[L,{min:z,max:j}]})),b=[];Array.from(_.keys()).forEach(L=>{if(h.has(L))return;const{min:O,max:z}=x.get(L);b.push(O)});const B=new je(Math.min(...b.map(L=>L.x)),Math.min(...b.map(L=>L.y))),S=1/(l-B.x),I=1/(l-B.y),M=new Map(Array.from(_.keys()).map(L=>{if(h.has(L))return;let{min:O,max:z}=x.get(L);return O.x=O.x*S,O.y=O.y*I,z.x=z.x*S,z.y=z.y*I,[L,{min:O,max:z}]}).filter(L=>L));let P=!1;const D=new u2(l,l);Array.from(_.keys()).forEach(L=>{const O=A.find(ie=>ie.mesh===L),{material:z}=O;let j,H;const C=M.get(L);if(C?(j=C.min,H=C.max):(j=new je(0,0),H=new je(0,0)),!h.has(O.mesh)){const ie=_.get(L).width,ue=_.get(L).height;c.forEach(le=>{var k;const me=f[le];me.globalCompositeOperation="source-over";let de,ve=new He(1,1,1);switch(le){case"diffuse":de=z.color||n,(k=z.uniforms)!=null&&k.litFactor?ve=z.uniforms.litFactor.value:ve=z.color;break;case"normal":de=new He(8421631);break;case"orm":de=new He(0,z.roughness,z.metalness);break;default:de=new He(1,1,1);break}let be=Xme(z,pT[le].find(ae=>ex(z,ae)));P==!1&&le=="normal"&&be!=null&&(P=!0);const re=D.render(be,ve,de,l,l,le=="diffuse"&&o,le!="normal");createImageBitmap(re).then(ae=>me.drawImage(ae,j.x*l,j.y*l,ie,ue))})}const W=L.geometry.clone();L.geometry=W;const ee=W.attributes.uv.clone();if(W.attributes.uv=ee,ee)for(let ie=0;ie{const O=new Hn(f[L].canvas);return O.flipY=!1,[L,O]}))),y=a?_i:Hs;let E;const R=s?"transparent":"opaque";return i?(E=new Nd({map:T.diffuse,transparent:s,side:y}),u==null&&(u=new yG),u.side=y,u.uniforms.map=T.diffuse,u.uniforms.shadeMultiplyTexture=T.diffuse,u.transparent=s,o&&!s&&(E.alphaTest=.5,u.alphaTest=.5),E.userData.vrmMaterial=u,E.userData.shadeTexture=T.uniformColor,E.name="mToon_"+R,E.map.name=E.name):(E=new Nd({map:T.diffuse,roughnessMap:T.orm,metalnessMap:T.orm,normalMap:P?T.normal:null,transparent:s,side:y}),o&&!s&&(E.alphaTest=.5),E.name="standard_"+R,E.roughnessMap!=null&&(E.roughnessMap.name=E.name+"_orm"),E.normalMap!=null&&(E.normalMap.name=E.name+"_normal")),{bakeObjects:A,material:E}};function kG(n){const e=new Map;for(const r of n.skeleton.bones){const i=r.clone(!1);e.set(r,i)}n.skeleton.bones[0].traverse(r=>{if(r.type!=="Bone")return;const i=e.get(r);for(const s of r.children){const o=e.get(s);o&&i.add(o)}});const t=new UA(n.skeleton.bones.map(r=>e.get(r)));return t.boneInverses=n.skeleton.boneInverses,t.pose(),t}function HG(n,e){const t=new Map;new $(-1,1,-1),new ke,new $;let r=0;n.forEach(l=>{if(l.skeleton){var c=kG(l);const A=c.bones;c.bones.forEach((u,f)=>{var h;if(A.indexOf(u)!==-1){const d=t.get(u.name);if(d==null){const m={index:r,boneInverses:c.boneInverses[f],bone:u.clone(!1),parentName:((h=u.parent)==null?void 0:h.type)=="Bone"?u.parent.name:null};r++,t.set(u.name,m)}else u.userData.VRMcolliders!=null&&(d.bone.userData.VRMcolliders==null?d.bone.userData.VRMcolliders=u.userData.VRMcolliders:u.userData.VRMcollidersID!=d.bone.userData.VRMcollidersID&&(d.bone.userData.VRMcolliders=[...d.bone.userData.VRMcolliders,...u.userData.VRMcolliders]))}})}});const i=[],s=[];[...t.values()].forEach(l=>{var c;if(i.push(l.bone),s.push(l.boneInverses),l.parentName!=null){const A=(c=t.get(l.parentName))==null?void 0:c.bone;A&&A.add(l.bone)}});const a=new UA(i,s);return a.bones.forEach(l=>{var A;const c=(A=l.userData)==null?void 0:A.vrm0RestPosition;c&&l.position.set(-c.x,c.y,-c.z),l.position.set(l.position.x*e,l.position.y*e,l.position.z*e)}),a}function qme(n,e){if(!e.skeleton)return;const t=new Map;if(e.skeleton){e.skeleton.bones.forEach((o,a)=>{const l=n.bones.filter(A=>A.name===o.name),c=l.length>0?n.bones.indexOf(l[0]):-1;t.set(a,c)});const r=[],i=e.geometry.attributes.skinIndex.array;for(let o=0;oe.indexOf(t)===r)}function Jme(n){const t=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array].filter(r=>n.constructor===r);return t.length&&t[0]||null}function tx(n,e){const t=[];for(let s=0;ss.name===r.name);return i?t.bones.indexOf(i):-1}async function nge(n,e,t){const{scale:r,isVrm0:i,mergeAppliedMorphs:s}=t,o=[],a=[],l=Od(n,"SkinnedMesh"),c=GG(e),A=zG(e).map(h=>h.id);l.forEach(h=>{const d=h.clone();o.push(d),Array.isArray(h.material)?a.push(...h.material):a.push(h.material)});const u=HG(o,r),f=new Ft;return f.name="AvatarRoot",o.forEach(h=>{var P,D;const d=new Zt,m={};for(const T in h.geometry.attributes){const y=h.geometry.attributes[T];m[T]=y.clone()}const g={merge:new Set,keep:new Set(c),remove:new Set};if(s){if(!h.morphTargetDictionary||!h.morphTargetInfluences)return;A.forEach(T=>{const y=h.morphTargetDictionary[T];if(y!==void 0&&h.morphTargetInfluences[y]>0)g.merge.add(T);else return g.remove.add(T),null})}if((P=h.userData)!=null&&P.isVRM0)for(let T=0;T[T,T.morphTargetDictionary||{}])),morphTargetInfluences:new Map(l.map(T=>[T,T.morphTargetInfluences||[]])),index:null,animations:{}},{dest:v,destMorphToMerge:w}=R1({meshes:[h],scale:r,morphTargetsProcess:g},i);if(i)for(let T=0;Th.name===e.userData.boneName),s=e.userData.globalPosition,o=e.userData.globalScale||new $(1,1,1),a=e.userData.globalRotationMatrix;t.add(r.bones[0]);const l=[],c=[],A=t.geometry.attributes.position.array,u=new $,f=e.userData.isVRM0?-1:1;for(let h=0;hE.id);for(const E in I){const R=I[E],L=R.meshArray;if(L.length>0){const{bakeObjects:O,material:z}=await Yme({transparentColor:r,atlasSize:R.size,meshes:L,mtoon:R.isMtoon,includeNonTexturedMeshesInAtlas:l,transparentMaterial:R.transparentMaterial,transparentTexture:b,twoSidedMaterial:d}),j=O.map(le=>le.mesh),H=[],C={merge:new Set,keep:new Set(Object.keys(M)),remove:new Set};j.forEach(le=>{if(le.type=="Mesh"&&(le=ige(S,le)),H.push(le),u){if(!le.morphTargetDictionary||!le.morphTargetInfluences)return;P.forEach(ae=>{const ce=le.morphTargetDictionary[ae];if(ce!==void 0&&le.morphTargetInfluences[ce]>0)C.merge.add(ae);else return C.remove.add(ae),null})}const me=le.geometry,de=me.index.array,ve=QG(le.geometry.index.array),be=[];for(let ae=0;ae{const me=ue.morphTargetDictionary[le];me!==void 0&&(ue.userData.bindMorphs.new[le]={index:me,primitives:[ue.id]})}),B.userData.atlasMaterial.push(z)}}const D=(y=Object.values(e).find(E=>{var R;return(R=E==null?void 0:E.vrm)==null?void 0:R.expressionManager}))==null?void 0:y.vrm.expressionManager;return B.userData.expressionManagerToClone=D,B.add(S.bones[0]),B}function zG(n){var t;return((t=Object.values(n).filter(r=>r)[0])==null?void 0:t.traitInfo.manifestData.getAllBlendShapeTraits())||[]}function GG(n){const e=Object.values(n).map(i=>i==null?void 0:i.vrm).filter(i=>!!i).map(i=>{var s;return(s=i.expressionManager)==null?void 0:s.expressionMap}),t={};let r=[];for(const i of e)if(i)for(const s of Object.values(i)){if(r.includes(s.expressionName))continue;r.push(s.expressionName);const o=s._binds;!o||o.length==0||o.forEach(a=>{function l(A){const f=a.primitives.map(h=>h.morphTargetDictionary).filter(h=>!!h).find(h=>Object.values(h).includes(A));if(f)return Object.entries(f).find(([,h])=>h==A)}const c=l(a.index);c&&(t[c[0]]={index:c[1],primitives:a.primitives.map(A=>A.id)})})}return t}function UO({meshes:n,sourceMorphTargetDictionaries:e,destMorphTargetDictionary:t}){const r=[];return Object.entries(t).map(([i,s])=>{const o=n.find(l=>e.get(l).hasOwnProperty(i)),a=o.morphTargetDictionary[i];r[s]=o.morphTargetInfluences[a]}),r}function oge({sourceAttributes:n}){const e=new Set,t=Array.from(n.values());t.forEach(i=>{Object.keys(i).forEach(s=>e.add(s))});const r={};return Array.from(e.keys()).map(i=>{r[i]=Vz(t.map(s=>s[i]).flat().filter(s=>s!==void 0))}),r}function FO(n){const{sourceMorphTargetDictionaries:e,morphTargetsProcess:t}=n,r=new Set;Array.from(e.values()).forEach(o=>{Object.keys(o).forEach(a=>{if(!t)r.add(a);else{if(t.remove.has(a)||t.merge.has(a))return;t.keep.has(a)&&r.add(a)}})});const s={};return Array.from(r.keys()).map((o,a)=>{s[o]=a}),s}function PO({meshes:n,sourceMorphTargetDictionaries:e,sourceMorphAttributes:t,destMorphTargetDictionary:r,scale:i}){const s=new Set;Array.from(t.values()).forEach(A=>{Object.keys(A).forEach(u=>s.add(u))});const a=Array.from(s),l={};a.forEach(A=>{l[A]=[],Object.entries(r).forEach(([u,f])=>{l[A][f]=[],n.forEach(h=>{let d;const m=e.get(h);if(m.hasOwnProperty(u)&&h.geometry.morphAttributes[A]){const g=m[u];d=h.geometry.morphAttributes[A][g]}else{const g=h.geometry.attributes[A],p=new g.array.constructor(new Array(g.array.length).fill(0));d=new lt(p,g.itemSize,g.normalized)}l[A][f].push(d)})})});const c={};return a.forEach(A=>{c[A]=[];for(let u=0;u{const i=r.geometry.index;for(var s=0;s{var h;if(i+=f.geometry.attributes.uv.count,(h=f.userData)!=null&&h.isVRM0)for(let d=0;d[f,f.geometry.attributes])),morphAttributes:new Map(n.map(f=>[f,f.geometry.morphAttributes])),morphTargetDictionaries:new Map(n.map(f=>[f,f.morphTargetDictionary||{}])),morphTargetInfluences:new Map(n.map(f=>[f,f.morphTargetInfluences||[]]))},o={attributes:null,morphTargetDictionary:null,morphAttributes:null,morphTargetInfluences:null,index:null,animations:{}};o.attributes=oge({sourceAttributes:s.attributes});const a=FO({sourceMorphTargetDictionaries:s.morphTargetDictionaries,morphTargetsProcess:{remove:(t==null?void 0:t.remove)||new Set,keep:(t==null?void 0:t.keep)||new Set,merge:(t==null?void 0:t.merge)||new Set}});o.morphTargetDictionary=a,o.morphAttributes=PO({meshes:n,sourceMorphAttributes:s.morphAttributes,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:a,scale:e}),o.morphTargetInfluences=UO({meshes:n,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:a}),o.index=age({meshes:n});const l={morphAttributes:{},morphTargetDictionaries:{},morphTargetInfluences:null};let c=new Set((t==null?void 0:t.keep)||[]);t==null||t.merge.forEach(f=>{c.add(f)});const A=FO({sourceMorphTargetDictionaries:s.morphTargetDictionaries,morphTargetsProcess:{remove:new Set,keep:c,merge:new Set}});l.morphAttributes=PO({meshes:n,sourceMorphAttributes:s.morphAttributes,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:A,scale:e});const u=UO({meshes:n,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:A});return l.morphTargetInfluences=u,l.morphTargetDictionaries=A,o.animations={},{source:s,dest:o,destMorphToMerge:l}}function mt(n){return n==null?[]:Array.isArray(n)?n:[n]}function lge(n,e){let t=n.children.slice();t.forEach(r=>n.remove(r)),n.add(e),t.forEach(r=>n.add(r))}async function cge(n,e){const r=await new Xu().load(e);r.colorSpace=kt,r.flipY=!1,n.traverse(i=>{if(i instanceof hn){const s=Array.isArray(i.material)?i.material:[i.material];for(let o=0;o{const e=[];for(const t in n){const r=n[t].vrm;if(r){const i=r.data.cullingLayer;i>=0&&r.data.cullingMeshes.map(s=>{s.userData.cullLayer=i,s.userData.cullDistance=r.data.cullingDistance,s.userData.maxCullDistance=r.data.maxCullingDistance,e.push(s)})}}Gme(e)};function Age(n){const e=[],t=[],r=[],i=[];let s=!1;return n.forEach(o=>{var c;const l=mt(o.material)[0];l.type=="ShaderMaterial"?l.transparent==!0?(i.push(o),s=!0):(r.push(o),((c=l.uniforms.alphaTest)==null?void 0:c.value)!=0&&(s=!0)):l.transparent==!0?(t.push(o),s=!0):(e.push(o),l.alphaTest!=0&&(s=!0))}),{stdMesh:e,stdTranspMesh:t,mToonMesh:r,mToonTranspMesh:i,requiresTransparency:s}}function uge(n){const e=[],t=[],r=[],i=[],s=[],o=[];return n.forEach(a=>{mt(a.material).forEach(c=>{c.type=="ShaderMaterial"?c.transparent==!0?o.push(c):c.uniforms.alphaTest.value!=0?s.push(c):i.push(c):c.transparent==!0?r.push(c):c.alphaTest!=0?t.push(c):e.push(c)})}),{stdMats:e,stdCutoutpMats:t,stdTranspMats:r,mToonMats:i,mToonCutoutMats:s,mToonTranspMats:o}}function LO(n,e){n.data==null?n.data=e:n.data={...n.data,...e}}function fge(n,e){if(n.data!=null)return n.data[e]}function hge(n){const e=fge(n,"cullingMeshes");e&&(e.forEach(t=>{NG(t)}),n.data.cullingMeshes=null)}function Dn(n){switch(n){case 1:return 128;case 2:return 256;case 3:return 512;case 4:return 1024;case 5:return 2048;case 6:return 4096;case 7:return 8192;case 8:return 16384;default:return 4096}}function dge(n){const e=n.scene;hge(n),e.traverse(t=>{t.material&&mT(t.material),t.geometry&&(NG(t),t.geometry.dispose(),t.geometry.disposeBoundsTree())}),e.parent&&e.parent.remove(e),E0.deepDispose(e),n.expressionManager&&n.expressionManager.expressions.forEach(t=>{t._binds&&t._binds.forEach(r=>{r.primitives&&r.primitives.forEach(i=>{i.geometry.dispose(),i.material&&mT(i.material)})})});for(const t in n)n[t]=null}const mT=n=>{var e,t,r,i,s,o;if(n.length)for(let a=0;a{let e,t,r=0;return Array.isArray(n)?(e=n[0]||0,t=n[1]||0,r=n[2]||0):(typeof n=="string"||n instanceof String)&&n.split("-").forEach(s=>{switch(s=s.toLowerCase(),s){case"left":e=-1;break;case"right":e=1;break;case"bottom":case"down":t=-1;break;case"top":case"up":t=1;break;case"back":case"backward":r=-1;break;case"front":case"forward":r=1;break;default:console.warn("unkown cameraPosition name: "+s+" in: "+n+". Please use left, right, bottom, top, back or front");break}}),new $(e,t,r)},VG=()=>{const n=new Date().getTime(),e=Math.random().toString(36).substr(2,9);return n+"-"+e},pge=n=>{var t,r,i,s,o,a,l,c,A,u,f;const e=n.humanoid.humanBones;e.hips.node.parent.name="rootBone",e.upperChest==null&&e.neck.node.parent!=e.chest&&(e.neck.node.parent!=e.chest.node?e.upperChest={node:e.neck.node.parent}:e.upperChest!=null&&(e.upperChest={node:e.neck.node.parent},e.chest={node:e.neck.node.parent.parent})),e.leftShoulder==null&&(e.leftUpperArm.node.parent!=((t=e.chest)==null?void 0:t.node)&&e.leftUpperArm.node.parent!=((r=e.upperChest)==null?void 0:r.node)&&e.leftUpperArm.node.parent!=((i=e.spine)==null?void 0:i.node)&&e.leftUpperArm.node.parent!=((s=e.neck)==null?void 0:s.node)&&e.leftUpperArm.node.parent!=((o=e.head)==null?void 0:o.node),e.leftShoulder={node:e.leftUpperArm.node.parent}),e.rightShoulder==null&&(e.rightUpperArm.node.parent!=((a=e.chest)==null?void 0:a.node)&&e.rightUpperArm.node.parent!=((l=e.upperChest)==null?void 0:l.node)&&e.rightUpperArm.node.parent!=((c=e.spine)==null?void 0:c.node)&&e.rightUpperArm.node.parent!=((A=e.neck)==null?void 0:A.node)&&e.rightUpperArm.node.parent!=((u=e.head)==null?void 0:u.node),e.rightShoulder={node:e.rightUpperArm.node.parent});for(let h in Zg)h=h.charAt(0).toLowerCase()+h.slice(1),(f=e[h])!=null&&f.node&&(e[h].node.name=h)};function jG({candidates:n,predicate:e}){if(!n.length)return null;const t=n.shift();return e(t)?t:(n=n.concat(t.children),jG({candidates:n,predicate:e}))}function WG(n,e){return jG({candidates:[n],predicate:t=>t.name===e})}function KG({candidates:n,predicate:e,results:t=[]}){if(!n.length)return t;const r=n.shift();return e(r)&&t.push(r),n=n.concat(r.children),KG({candidates:n,predicate:e,results:t})}function Od(n,e){return KG({candidates:[n],predicate:t=>mt(e).includes(t.type)})}function mge(n,e){if(!n.morphTargetDictionary)return!1;for(const t of Object.keys(n.morphTargetDictionary))if(e[t])return!0;return!1}const gge={mixamorigHips:"hips",mixamorigSpine:"spine",mixamorigSpine1:"chest",mixamorigSpine2:"upperChest",mixamorigNeck:"neck",mixamorigHead:"head",mixamorigLeftShoulder:"leftShoulder",mixamorigLeftArm:"leftUpperArm",mixamorigLeftForeArm:"leftLowerArm",mixamorigLeftHand:"leftHand",mixamorigLeftHandThumb1:"leftThumbMetacarpal",mixamorigLeftHandThumb2:"leftThumbProximal",mixamorigLeftHandThumb3:"leftThumbDistal",mixamorigLeftHandIndex1:"leftIndexProximal",mixamorigLeftHandIndex2:"leftIndexIntermediate",mixamorigLeftHandIndex3:"leftIndexDistal",mixamorigLeftHandMiddle1:"leftMiddleProximal",mixamorigLeftHandMiddle2:"leftMiddleIntermediate",mixamorigLeftHandMiddle3:"leftMiddleDistal",mixamorigLeftHandRing1:"leftRingProximal",mixamorigLeftHandRing2:"leftRingIntermediate",mixamorigLeftHandRing3:"leftRingDistal",mixamorigLeftHandPinky1:"leftLittleProximal",mixamorigLeftHandPinky2:"leftLittleIntermediate",mixamorigLeftHandPinky3:"leftLittleDistal",mixamorigRightShoulder:"rightShoulder",mixamorigRightArm:"rightUpperArm",mixamorigRightForeArm:"rightLowerArm",mixamorigRightHand:"rightHand",mixamorigRightHandPinky1:"rightLittleProximal",mixamorigRightHandPinky2:"rightLittleIntermediate",mixamorigRightHandPinky3:"rightLittleDistal",mixamorigRightHandRing1:"rightRingProximal",mixamorigRightHandRing2:"rightRingIntermediate",mixamorigRightHandRing3:"rightRingDistal",mixamorigRightHandMiddle1:"rightMiddleProximal",mixamorigRightHandMiddle2:"rightMiddleIntermediate",mixamorigRightHandMiddle3:"rightMiddleDistal",mixamorigRightHandIndex1:"rightIndexProximal",mixamorigRightHandIndex2:"rightIndexIntermediate",mixamorigRightHandIndex3:"rightIndexDistal",mixamorigRightHandThumb1:"rightThumbMetacarpal",mixamorigRightHandThumb2:"rightThumbProximal",mixamorigRightHandThumb3:"rightThumbDistal",mixamorigLeftUpLeg:"leftUpperLeg",mixamorigLeftLeg:"leftLowerLeg",mixamorigLeftFoot:"leftFoot",mixamorigLeftToeBase:"leftToes",mixamorigRightUpLeg:"rightUpperLeg",mixamorigRightLeg:"rightLowerLeg",mixamorigRightFoot:"rightFoot",mixamorigRightToeBase:"rightToes"};function XG(n,e,t){var m;const r=Du.findByName(n,"mixamo.com");if(r==null)return null;const i=[],s=new tt,o=new tt,a=new tt,l=new $,c=e.getObjectByName("mixamorigHips").position.y,A=(m=t.humanoid)==null?void 0:m.getNormalizedBoneNode("hips").getWorldPosition(l).y,u=t.scene.getWorldPosition(l).y,h=Math.abs(A-u)/c;return r.tracks.forEach(g=>{const p=g.clone(),v=p.name.split("."),w=v[0],x=gge[w],b=e.getObjectByName(w);if(x!=null){const B=v[1];if(b.getWorldQuaternion(s).invert(),b.parent.getWorldQuaternion(o),p instanceof Ja){for(let S=0;S{p.values[P+S]=M})}i.push(new Ja(`${x}.${B}`,p.times,p.values.map((S,I)=>{var M;return((M=t.meta)==null?void 0:M.metaVersion)==="0"&&I%2===0?-S:S})))}else if(p instanceof ic){const S=p.values.map((I,M)=>{var P;return(((P=t.meta)==null?void 0:P.metaVersion)==="0"&&M%3!==1?-I:I)*h});i.push(new ic(`${x}.${B}`,p.times,S))}}}),new Du("vrmAnimation",r.duration,i)}const vge=new Hae,yge=new jz,YB=.2,wge=n=>Math.floor(Math.random()*n);class DO{constructor(e,t,r,i,s,o,a){var l,c,A,u;this.mixer=new yoe(t),this.actions=[],this.to=null,this.from=null,this.vrm=r,this.animationManager=e,this.mixamoModel=null,this.fadeOutActions=null,this.newAnimationWeight=1,this.neckBone=(c=(l=r==null?void 0:r.humanoid)==null?void 0:l.humanBones)==null?void 0:c.neck,this.spineBone=(u=(A=r==null?void 0:r.humanoid)==null?void 0:A.humanBones)==null?void 0:u.spine,this.timeScale=1,i&&(this.setAnimations(i,null,null,a),this.to=this.actions[s],o!=-1&&(this.from=this.actions[o],this.from.reset(),this.from.time=e.getFromActionTime(),this.from.play(),this.to.weight=e.getWeightIn(),this.from.weight=e.getWeightOut()),this.actions[s].reset(),this.actions[s].time=e.getToActionTime(),this.actions[s].play())}setTimeScale(e){this.timeScale=e,this.actions.forEach(t=>{t.timeScale=e})}setMouseLookEnabled(e){this.setAnimations(this.animations,this.mixamoModel,e)}setAnimations(e,t=null,r=null,i=!1){if(r=r??this.animationManager.mouseLookEnabled,this.animations=e,t!=null){if(this.vrm!=null){const s=XG(e,t,this.vrm);s&&(e=[s],this.mixamoModel=t)}}else{const s=[];e.forEach(o=>{s.push(o.clone())}),e=s}if(r&&e[0].tracks.map((s,o)=>{(s.name==="neck.quaternion"||s.name==="spine.quaternion")&&e[0].tracks.splice(o,1)}),i){this.actions.forEach(s=>{s.weight=0,s.stop()}),this.actions=[],this.newAnimationWeight=1;for(let s=0;s{r.weight=1-this.newAnimationWeight}),this.newAnimationWeight>=1&&(this.newAnimationWeight=1,this.fadeOutActions.forEach(r=>{r.weight=0,r.stop()}),this.fadeOutActions=null),this.actions.forEach(r=>{r.weight=this.newAnimationWeight})),this.from!=null&&(this.from.weight=t),this.to!=null&&(this.to.weight=e),this.mixer.update(1/30)}reset(){this.mixer.setTime(0),this.to.paused=!0}resume(){this.to.paused=!1}setTime(e){this.mixer.setTime(e)}getTime(){return this.mixer.time}dispose(){this.animationManager.disposeAnimation(this)}}class _ge{constructor(){this.animationPaths=[],this.defaultAnimations=[],this.lastAnimID=null,this.mainControl=null,this.animationControl=null,this.animations=null,this.paused=!1,this.scale=1,this.curLoadAnim=0,this.currentAnimationName="",this.weightIn=NaN,this.weightOut=NaN,this.lastAnimID=-1,this.curAnimID=0,this.animationControls=[],this.started=!1,this.mouseLookEnabled=!1,this.mixamoModel=null,this.mixamoAnimations=null,this.currentClip=null,setInterval(()=>{this.update()},1e3/30)}enableMouseLook(e){this.mouseLookEnabled=e,this.animationControls.forEach(t=>{t.setMouseLookEnabled(e)})}setScale(e){this.scale=e}async loadAnimation(e,t,r=0,i=!0,s="",o=""){const a=s+(s!=""?"/":"")+mt(e)[0];o=o==""?Kl(a):o,this.currentAnimationName=o;const c=await(i?vge:yge).loadAsync(a);c.scale.set(this.scale,this.scale,this.scale),this._scaleOffsetHips(c.animations);const A=Du.findByName(c.animations,"mixamo.com");A!=null?(this.mixamoModel=c.clone(),this.mixamoAnimations=c.animations,this.currentClip=A):(this.mixamoModel=null,this.animations=c.animations,this.currentClip=c.animations[0]),this.mainControl==null&&(this.curAnimID=0,this.lastAnimID=-1,this.mainControl=new DO(this,c,null,c.animations,this.curAnimID,this.lastAnimID,t),this.animationControls.push(this.mainControl)),this.animationControls.forEach(u=>{u.setAnimations(c.animations,this.mixamoModel,this.mouseLookEnabled,t)}),this.setTime(r),t?this.pause():this.play()}getCurrentClip(){return this.currentClip}getCurrentClipDuration(){return this.currentClip?this.currentClip.duration:0}getCurrentAnimationName(){return this.currentAnimationName}clearCurrentAnimations(){this.animationPaths=this.defaultAnimations,this.animationControls=[],this.mainControl=null}storeAnimationPaths(e,t,r=!0){const i=mt(e);r?this.animationPaths=[...this.defaultAnimations,...i.map(s=>`${t}/${s}`)]:this.animationPaths=i.map(s=>t!=""?`${t}/${s}`:s)}storeDefaultAnimationPaths(e,t){const r=mt(e);this.defaultAnimations=r.map(i=>t!=""?`${t}/${i}`:i),this.animationPaths=this.defaultAnimations}loadNextAnimation(){this.curLoadAnim==this.animationPaths.length-1?this.curLoadAnim=0:this.curLoadAnim++,this.loadAnimation(this.animationPaths[this.curLoadAnim])}loadPreviousAnimation(){this.curLoadAnim==0?this.curLoadAnim=this.animationPaths.length-1:this.curLoadAnim--,this.loadAnimation(this.animationPaths[this.curLoadAnim])}enableScreenshot(){this.animationControls.forEach(e=>{e.reset()})}disableScreenshot(){this.animationControls.forEach(e=>{e.resume()})}_scaleOffsetHips(e){e.forEach(t=>{for(let r=0;rr.vrm===e);t!==-1&&this.animationControls.splice(t,1)[0].dispose()}getFromActionTime(){return this.mainControl.actions[this.lastAnimID].time}getToActionTime(){return this.mainControl?this.mainControl.actions[this.curAnimID].time:.1}getWeightIn(){return this.weightIn}getWeightOut(){return this.weightOut}disposeAnimation(e){if(e!=null){const t=this.animationControls.indexOf(e);t!=-1&&this.animationControls.splice(t,1)}}dispose(){this.animationControls.forEach(e=>{e.dispose()})}animRandomizer(e){setTimeout(()=>{this.lastAnimID=this.curAnimID,this.curAnimID=wge(this.animations.length),this.curAnimID!=this.lastAnimID&&this.animationControls.forEach(t=>{t.from=t.actions[this.lastAnimID],t.to=t.actions[this.curAnimID],this.weightIn=0,this.weightOut=1,t.to.play(),t.to.reset()}),this.animRandomizer(this.animations[this.curAnimID].duration-YB)},e*1e3)}pause(){this.paused=!0}play(){this.paused=!1}isPaused(){return this.paused}setTime(e){this.mainControl&&this.animationControls.forEach(t=>{t.setTime(e)})}setFrame(e){this.setTime(e*30)}setSpeed(e){this.mainControl&&this.animationControls.forEach(t=>{t.setTimeScale(e)})}update(e=!1){(this.mainControl&&!this.paused||e)&&(this.animationControls.forEach(t=>{t.update(this.weightIn,this.weightOut)}),this.weightIn<1?this.weightIn+=1/(30*YB):this.weightIn=1,this.weightOut>0?this.weightOut-=1/(30*YB):this.weightOut=0)}}const xge={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` + */var yr;(function(n){n[n.ARRAY_BUFFER=34962]="ARRAY_BUFFER",n[n.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.LINEAR=9729]="LINEAR",n[n.REPEAT=10497]="REPEAT"})(yr||(yr={}));const q_="blend_",hO="vrmColliderSphere";class ype{parse(e,t,r,i){const s=e.humanoid,o=e.meta,a=e.materials,l={},c={},A={},u=e.lookAt,f={generator:"UniGLTF-2.0.0",version:"2.0"};if(t)if(s)if(o)if(a){if(!u)throw new Error("lookAt is undefined or null")}else throw new Error("materials is undefined or null");else throw new Error("meta is undefined or null");else throw new Error("humanoid is undefined or null");else throw new Error("avatar is undefined or null");const h=a.filter((de,ve,be)=>be.findIndex(re=>re.name===de.name.replace(" (Outline)",""))===ve).map(de=>de),d=h.map(de=>de.name),m=r?{name:"icon",imageBitmap:r.image}:null,g=h.filter(de=>de.map).map(de=>{if(!de.map)throw new Error(de.name+" map is null");return{name:de.name,imageBitmap:de.map.image}}),p=h.filter(de=>de.userData.shadeTexture).map(de=>{if(!de.userData.shadeTexture)throw new Error(de.userData.shadeTexture+" map is null");return{name:de.name+"_shade",imageBitmap:de.userData.shadeTexture.image}}),v=g.concat(p),w=Epe(v,m),_=Bpe(w),x=Spe(w),b=bpe(h,v),B=t.children.filter(de=>de.children.length>0&&de.children[0].type===Li.Bone)[0],S=TG(B).filter(de=>de.name!==hO),I=S.map(de=>de.name),M=S.map(de=>({children:de.children.filter(ve=>ve.name!==hO).map(ve=>I.indexOf(ve.name)),name:de.name,rotation:[de.quaternion.x,de.quaternion.y,de.quaternion.z,de.quaternion.w],scale:[de.scale.x,de.scale.y,de.scale.z],translation:[de.position.x,de.position.y,de.position.z]})),P=[],D=t.children.filter(de=>de.type===Li.Group||de.type===Li.SkinnedMesh),T=[];D.forEach(de=>{const ve=de.type===Li.Group?de.children[0]:de,be=ve.geometry.attributes;T.push(new yl(be.position,yr.FLOAT,ln.POSITION,Go.VEC3,ve.name,void 0)),T.push(new yl(be.normal,yr.FLOAT,ln.NORMAL,Go.VEC3,ve.name,void 0)),T.push(new yl(be.uv,yr.FLOAT,ln.UV,Go.VEC2,ve.name,void 0)),T.push(new yl(be.skinWeight,yr.FLOAT,ln.SKIN_WEIGHT,Go.VEC4,ve.name,void 0)),T.push(new yl(be.skinIndex,yr.UNSIGNED_SHORT,ln.SKIN_INDEX,Go.VEC4,ve.name,void 0)),(de.type===Li.Group?de.children.map(k=>k):[de]).forEach(k=>{if(!k.geometry.index)throw new Error(k.name+" geometry.index is null");T.push(new yl(k.geometry.index,yr.UNSIGNED_INT,ln.INDEX,Go.SCALAR,ve.name,k.name))}),ve.morphTargetDictionary||(ve.morphTargetDictionary={},ve.morphTargetInfluences=[],ve.geometry.morphAttributes={},ve.updateMorphTargets()),ve.geometry.userData.targetNames=[];for(const k in e.expressionManager.expressionMap){const ae=e.expressionManager.expressionMap[k],ce=ae._binds.map(J=>({node:S.length,index:J.index,weight:J.weight}));let Z=!1;for(const J in ni)if(k.toLowerCase()===ni[J].toLowerCase()){l[ni[J]]={morphTargetBinds:ce,isBinary:ae.isBinary,overrideBlink:ae.overrideBlink,overrideLookAt:ae.overrideLookAt,overrideMouth:ae.overrideMouth},Z=!0;break}!Z&&k.toLowerCase()==="surprise"&&(l.surprised={morphTargetBinds:ce,isBinary:ae.isBinary,overrideBlink:ae.overrideBlink,overrideLookAt:ae.overrideLookAt,overrideMouth:ae.overrideMouth},Z=!0),Z===!1&&(c[k]={morphTargetBinds:ce,isBinary:ae.isBinary,overrideBlink:ae.overrideBlink,overrideLookAt:ae.overrideLookAt,overrideMouth:ae.overrideMouth})}for(const k in ve.morphTargetDictionary){ve.geometry.userData.targetNames.push(k);const ae=ve.morphTargetDictionary[k],ce=ve.geometry.morphAttributes;T.push(new yl(ce.position[ae],yr.FLOAT,ln.BLEND_POSITION,Go.VEC3,ve.name,q_+k)),T.push(new yl(ce.normal[ae],yr.FLOAT,ln.BLEND_NORMAL,Go.VEC3,ve.name,q_+k))}}),Object.keys(l).length>0&&(A.preset=l),Object.keys(c).length>0&&(A.custom=c),D.forEach(de=>{const ve=de.type===Li.Group?de.children[0]:de,be=new Float32Array(ve.skeleton.boneInverses.map(re=>re.elements).flat());T.push(new yl(new lt(be,16),yr.FLOAT,ln.BIND_MATRIX,Go.MAT4,ve.name,ve.name))}),P.push(...T.map(de=>({bufferView:-1,byteOffset:0,componentType:de.valueType,count:de.attribute.count,max:de.max,min:de.min,normalized:!1,type:de.accessorsType})));const y=_pe(D,T,d);D.forEach((de,ve)=>{M.push({mesh:ve,name:de.name,rotation:[de.quaternion.x,de.quaternion.y,de.quaternion.z,de.quaternion.w],scale:[de.scale.x,de.scale.y,de.scale.z],skin:ve,translation:[de.position.x,de.position.y,de.position.z]})});const E=xpe(D,T,I),R={offsetFromHeadBone:[0,0,0],rangeMapHorizontalInner:{inputMaxValue:u.applier.rangeMapHorizontalInner.inputMaxValue,outputScale:u.applier.rangeMapHorizontalInner.outputScale},rangeMapHorizontalOuter:{inputMaxValue:u.applier.rangeMapHorizontalOuter.inputMaxValue,outputScale:u.applier.rangeMapHorizontalOuter.outputScale},rangeMapVerticalDown:{inputMaxValue:u.applier.rangeMapVerticalDown.inputMaxValue,outputScale:u.applier.rangeMapVerticalDown.outputScale},rangeMapVerticalUp:{inputMaxValue:u.applier.rangeMapVerticalUp.inputMaxValue,outputScale:u.applier.rangeMapVerticalUp.outputScale},type:"bone"},L={humanBones:{}};for(const de in s.humanBones)L.humanBones[de]={node:I.indexOf(s.humanBones[de].node.name)};const O=o,z=[];z.push(...v.map(de=>({buffer:dO(de.imageBitmap),type:ln.IMAGE}))),z.push(...T.map(de=>({buffer:de.buffer,type:de.type}))),m&&z.push({buffer:dO(m.imageBitmap),type:ln.IMAGE});let j=0,H=0,C=0;const W=z.map((de,ve)=>{const be={buffer:0,byteLength:de.buffer.byteLength,byteOffset:j,target:de.type===ln.IMAGE||de.type===ln.BIND_MATRIX?void 0:de.type===ln.INDEX?yr.ELEMENT_ARRAY_BUFFER:yr.ARRAY_BUFFER};return j+=de.buffer.byteLength,de.type===ln.IMAGE?w[H++].bufferView=ve:P[C++].bufferView=ve,be}),ee=Mpe(t,M),F={accessors:P,asset:f,buffers:[{byteLength:j}],bufferViews:W,extensions:{VRMC_vrm:{expressions:A,humanoid:L,lookAt:R,meta:O,specVersion:"1.0"}},extensionsUsed:["KHR_materials_unlit","KHR_texture_transform","VRMC_materials_mtoon","VRMC_vrm"],images:w,materials:b,meshes:y,nodes:M,samplers:_,avatar:0,scenes:ee,skins:E,textures:x},ie=new pO(sT(JSON.stringify(F,void 0,2)),"JSON"),ue=new pO(Rm(z.map(de=>de.buffer)),"BIN\0"),le=Rm([ie.buffer,ue.buffer]),me=Rm([sT("glTF"),iT(2,4),iT(le.byteLength+12,4)]);i(Rm([me,le]))}}function TG(n){return n.children.length<=0?[n]:[n].concat(n.children.map(e=>TG(e)).flat())}function dO(n){const e=document.createElement("canvas");e.width=n.width,e.height=n.height,e.getContext("2d").drawImage(n,0,0);const t=e.toDataURL("image/png"),r=atob(t.split(",")[1]),i=new ArrayBuffer(r.length),s=new DataView(i);for(let o=0;o4?c=r[a*n.itemSize+l]:l===0?c=n.getX(a):l===1?c=n.getY(a):l===2?c=n.getZ(a):c=n.getW(a),e===yr.UNSIGNED_SHORT?o.setUint16(i,c,!0):e===yr.UNSIGNED_INT?o.setUint32(i,c,!0):o.setFloat32(i,c,!0),i+=t}return s}let pO=class{constructor(e,t){this.data=e,this.type=t;const r=this.data;this.buffer=Rm([iT(r.byteLength,4),sT(this.type),r])}paddingBinary(e,t){const r=Math.ceil(e.byteLength/4)*4;if(e.byteLength===r)return e;const i=new Uint8Array(r);i.set(new Uint8Array(e),0);for(let s=e.byteLength;sl%3===0)),Math.max.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===1)),Math.max.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===2))]:void 0,this.min=r===ln.POSITION||r===ln.BLEND_POSITION?[Math.min.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===0)),Math.min.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===1)),Math.min.apply(null,Array.from(this.attribute.array).filter((a,l)=>l%3===2))]:void 0}};var Hh;(function(n){n.MeshBasicMaterial="MeshBasicMaterial",n.MeshStandardMaterial="MeshStandardMaterial",n.MToonMaterial="MToonMaterial"})(Hh||(Hh={}));var Go;(function(n){n.SCALAR="SCALAR",n.VEC2="VEC2",n.VEC3="VEC3",n.VEC4="VEC4",n.MAT4="MAT4"})(Go||(Go={}));var ln;(function(n){n.POSITION="POSITION",n.NORMAL="NORMAL",n.UV="UV",n.INDEX="INDEX",n.SKIN_WEIGHT="SKIN_WEIGHT",n.SKIN_INDEX="SKIN_INDEX",n.BLEND_POSITION="BLEND_POSITION",n.BLEND_NORMAL="BLEND_NORMAL",n.BIND_MATRIX="BIND_MATRIX",n.IMAGE="IMAGE"})(ln||(ln={}));var Li;(function(n){n.Group="Group",n.SkinnedMesh="SkinnedMesh",n.Object3D="Object3D",n.Bone="Bone"})(Li||(Li={}));const _pe=(n,e,t)=>n.map(r=>{const i=r.type===Li.Group?r.children[0]:r,s=r.type===Li.Group?r.children.map(o=>o):[r];return{name:r.name,primitives:s.map(o=>{const a=e.map(c=>c.meshName===i.name?c.type:null),l=Array.isArray(o.material)?o.material[0].name:o.material.name;return{attributes:{JOINTS_0:a.indexOf(ln.SKIN_INDEX),NORMAL:a.indexOf(ln.NORMAL),POSITION:a.indexOf(ln.POSITION),TEXCOORD_0:a.indexOf(ln.UV),WEIGHTS_0:a.indexOf(ln.SKIN_WEIGHT)},extras:{targetNames:o.geometry.userData.targetNames},indices:e.map(c=>c.type===ln.INDEX&&c.meshName===i.name?c.name:null).indexOf(o.name),material:t.indexOf(l),mode:4,targets:i.geometry.userData.targetNames?i.geometry.userData.targetNames.map(c=>({NORMAL:e.map(A=>A.type===ln.BLEND_NORMAL&&A.meshName===i.name?A.name:null).indexOf(q_+c),POSITION:e.map(A=>A.type===ln.BLEND_POSITION&&A.meshName===i.name?A.name:null).indexOf(q_+c)})):void 0}})}}),xpe=(n,e,t)=>n.map(r=>{const i=r.type===Li.Group?r.children[0]:r;return{inverseBindMatrices:e.map(s=>s.type===ln.BIND_MATRIX?s.meshName:null).indexOf(i.name),joints:i.skeleton.bones.map(s=>t.indexOf(s.name)),skeleton:t.indexOf(i.skeleton.bones[0].name)}}),bpe=(n,e)=>n.map(t=>{let r,i=null;if(t=t.userData.vrmMaterial?t.userData.vrmMaterial:t,t.type==="ShaderMaterial")i=t.userData.gltfExtensions.VRMC_materials_mtoon,i.shadeMultiplyTexture={index:e.map(A=>A.name).indexOf(t.uniforms.shadeMultiplyTexture.name)},r=t.color?[1,1,1,1]:void 0;else{const c=t;r=c.color?[c.color.r,c.color.g,c.color.b,1]:void 0}let s=-1;t.map?s=e.map(c=>c.name).indexOf(t.name):t.uniforms&&t.uniforms.map&&(s=e.map(c=>c.name).indexOf(t.uniforms.map.name));const o=s>=0?{extensions:{KHR_texture_transform:{offset:[0,0],scale:[1,1]}},index:s,texCoord:0}:void 0,a=(()=>{switch(t.type){case Hh.MeshStandardMaterial:return t.metalness;case Hh.MeshBasicMaterial:return 0;default:return 0}})(),l=(()=>{switch(t.type){case Hh.MeshStandardMaterial:return t.roughness;case Hh.MeshBasicMaterial:return .9;default:return .9}})();return{alphaCutoff:t.alphaTest>0?t.alphaTest:void 0,alphaMode:t.transparent?"BLEND":t.alphaTest>0?"MASK":"OPAQUE",doubleSided:t.side===2,extensions:t.type==="ShaderMaterial"?{KHR_materials_unlit:{},VRMC_materials_mtoon:i}:void 0,name:t.name,pbrMetallicRoughness:{baseColorFactor:r,baseColorTexture:o,metallicFactor:a,roughnessFactor:l}}}),Epe=(n,e)=>(e?n.concat(e):n).filter(t=>t&&t.imageBitmap).map(t=>({bufferView:-1,mimeType:"image/png",name:t.name})),Bpe=n=>n.map(()=>({magFilter:yr.LINEAR,minFilter:yr.LINEAR,wrapS:yr.REPEAT,wrapT:yr.REPEAT})),Spe=n=>n.map((e,t)=>({sampler:0,source:t})),Mpe=(n,e)=>{const t=e.map(r=>r.name);return[{nodes:n.children.filter(r=>r.type===Li.Object3D||r.type===Li.SkinnedMesh||r.type===Li.Group||r.type===Li.Bone).map(r=>t.indexOf(r.name))}]},IG=0,Cpe=1,RG=2,mO=2,DB=1.25,gO=1,sg=6*4+4+4,T1=65535,Tpe=Math.pow(2,-24),NB=Symbol("SKIP_GENERATION");function Ipe(n){return n.index?n.index.count:n.attributes.position.count}function qd(n){return Ipe(n)/3}function Rpe(n,e=ArrayBuffer){return n>65535?new Uint32Array(new e(4*n)):new Uint16Array(new e(2*n))}function Upe(n,e){if(!n.index){const t=n.attributes.position.count,r=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer,i=Rpe(t,r);n.setIndex(new lt(i,1));for(let s=0;sl-c);for(let l=0;lo.offset-a.offset),i=r[r.length-1];i.count=Math.min(t-i.offset,i.count);let s=0;return r.forEach(({count:o})=>s+=o),t!==s}function OB(n,e,t,r,i){let s=1/0,o=1/0,a=1/0,l=-1/0,c=-1/0,A=-1/0,u=1/0,f=1/0,h=1/0,d=-1/0,m=-1/0,g=-1/0;for(let p=e*6,v=(e+t)*6;pl&&(l=b),wd&&(d=w);const B=n[p+2],S=n[p+3],I=B-S,M=B+S;Ic&&(c=M),Bm&&(m=B);const P=n[p+4],D=n[p+5],T=P-D,y=P+D;TA&&(A=y),Pg&&(g=P)}r[0]=s,r[1]=o,r[2]=a,r[3]=l,r[4]=c,r[5]=A,i[0]=u,i[1]=f,i[2]=h,i[3]=d,i[4]=m,i[5]=g}function Ppe(n,e=null,t=null,r=null){const i=n.attributes.position,s=n.index?n.index.array:null,o=qd(n),a=i.normalized;let l;e===null?(l=new Float32Array(o*6),t=0,r=o):(l=e,t=t||0,r=r||o);const c=i.array,A=i.offset||0;let u=3;i.isInterleavedBufferAttribute&&(u=i.data.stride);const f=["getX","getY","getZ"];for(let h=t;hS&&(S=x),b>S&&(S=b);const I=(S-B)/2,M=w*2;l[m+M+0]=B+I,l[m+M+1]=I+(Math.abs(B)+I)*Tpe}}return l}function er(n,e,t){return t.min.x=e[n],t.min.y=e[n+1],t.min.z=e[n+2],t.max.x=e[n+3],t.max.y=e[n+4],t.max.z=e[n+5],t}function vO(n){let e=-1,t=-1/0;for(let r=0;r<3;r++){const i=n[r+3]-n[r];i>t&&(t=i,e=r)}return e}function yO(n,e){e.set(n)}function wO(n,e,t){let r,i;for(let s=0;s<3;s++){const o=s+3;r=n[s],i=e[s],t[s]=ri?r:i}}function yy(n,e,t){for(let r=0;r<3;r++){const i=e[n+2*r],s=e[n+2*r+1],o=i-s,a=i+s;ot[r+3]&&(t[r+3]=a)}}function Xp(n){const e=n[3]-n[0],t=n[4]-n[1],r=n[5]-n[2];return 2*(e*t+t*r+r*e)}const Bl=32,Lpe=(n,e)=>n.candidate-e.candidate,Tc=new Array(Bl).fill().map(()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0})),wy=new Float32Array(6);function Dpe(n,e,t,r,i,s){let o=-1,a=0;if(s===IG)o=vO(e),o!==-1&&(a=(e[o]+e[o+3])/2);else if(s===Cpe)o=vO(n),o!==-1&&(a=Npe(t,r,i,o));else if(s===RG){const l=Xp(n);let c=DB*i;const A=r*6,u=(r+i)*6;for(let f=0;f<3;f++){const h=e[f],g=(e[f+3]-h)/Bl;if(i=B.candidate?yy(_,t,B.rightCacheBounds):(yy(_,t,B.leftCacheBounds),B.count++)}}for(let _=0;_=Bl&&(b=Bl-1);const B=Tc[b];B.count++,yy(w,t,B.bounds)}const p=Tc[Bl-1];yO(p.bounds,p.rightCacheBounds);for(let w=Bl-2;w>=0;w--){const _=Tc[w],x=Tc[w+1];wO(_.bounds,x.rightCacheBounds,_.rightCacheBounds)}let v=0;for(let w=0;w=l;)a--;if(o=l;)a--;if(oHpe)throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return Um[t+6]=c/4,c=aT(c,a),Um[t+7]=l,c}}function zpe(n,e){const t=(n.index?n.index.count:n.attributes.position.count)/3,r=t>2**16,i=r?4:2,s=e?new SharedArrayBuffer(t*i):new ArrayBuffer(t*i),o=r?new Uint32Array(s):new Uint16Array(s);for(let a=0,l=o.length;a=s&&(p=!0,o&&(console.warn(`MeshBVH: Max depth of ${s} reached when generating BVH. Consider increasing maxDepth.`),console.warn(f))),B<=a||I>=s)return w(b+B),x.offset=b,x.count=B,x;const M=Dpe(x.boundingData,S,e,b,B,l);if(M.axis===-1)return w(b+B),x.offset=b,x.count=B,x;const P=d(u,h,e,b,B,M);if(P===b||P===b+B)w(b+B),x.offset=b,x.count=B;else{x.splitAxis=M.axis;const D=new kB,T=b,y=P-b;x.left=D,OB(e,T,y,D.boundingData,g),_(D,T,y,g,I+1);const E=new kB,R=P,L=B-y;x.right=E,OB(e,R,L,E.boundingData,g),_(E,R,L,g,I+1)}return x}}function Vpe(n,e){const t=n.geometry;e.indirect&&(n._indirectBuffer=zpe(t,e.useSharedArrayBuffer),Fpe(t,e.range)&&!e.verbose&&console.warn('MeshBVH: Provided geometry contains groups or a range that do not fully span the vertex contents while using the "indirect" option. BVH may incorrectly report intersections on unrendered portions of the geometry.')),n._indirectBuffer||Upe(t,e);const r=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer,i=Ppe(t),s=e.indirect?UG(t,e.range):FG(t,e.range);n._roots=s.map(o=>{const a=Gpe(n,i,o.offset,o.count,e),l=oT(a),c=new r(sg*l);return Qpe(0,a,c),c})}class sc{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let r=1/0,i=-1/0;for(let s=0,o=e.length;si?l:i}this.min=r,this.max=i}setFromPoints(e,t){let r=1/0,i=-1/0;for(let s=0,o=t.length;si?l:i}this.min=r,this.max=i}isSeparated(e){return this.min>e.max||e.min>this.max}}sc.prototype.setFromBox=function(){const n=new $;return function(t,r){const i=r.min,s=r.max;let o=1/0,a=-1/0;for(let l=0;l<=1;l++)for(let c=0;c<=1;c++)for(let A=0;A<=1;A++){n.x=i.x*l+s.x*(1-l),n.y=i.y*c+s.y*(1-c),n.z=i.z*A+s.z*(1-A);const u=t.dot(n);o=Math.min(u,o),a=Math.max(u,a)}this.min=o,this.max=a}}();const jpe=function(){const n=new $,e=new $,t=new $;return function(i,s,o){const a=i.start,l=n,c=s.start,A=e;t.subVectors(a,c),n.subVectors(i.end,i.start),e.subVectors(s.end,s.start);const u=t.dot(A),f=A.dot(l),h=A.dot(A),d=t.dot(l),g=l.dot(l)*h-f*f;let p,v;g!==0?p=(u*f-d*h)/g:p=0,v=(u+p*f)/h,o.x=p,o.y=v}}(),l2=function(){const n=new je,e=new $,t=new $;return function(i,s,o,a){jpe(i,s,n);let l=n.x,c=n.y;if(l>=0&&l<=1&&c>=0&&c<=1){i.at(l,o),s.at(c,a);return}else if(l>=0&&l<=1){c<0?s.at(0,a):s.at(1,a),i.closestPointToPoint(a,!0,o);return}else if(c>=0&&c<=1){l<0?i.at(0,o):i.at(1,o),s.closestPointToPoint(o,!0,a);return}else{let A;l<0?A=i.start:A=i.end;let u;c<0?u=s.start:u=s.end;const f=e,h=t;if(i.closestPointToPoint(u,!0,e),s.closestPointToPoint(A,!0,t),f.distanceToSquared(u)<=h.distanceToSquared(A)){o.copy(f),a.copy(u);return}else{o.copy(A),a.copy(h);return}}}}(),Wpe=function(){const n=new $,e=new $,t=new Ma,r=new Wl;return function(s,o){const{radius:a,center:l}=s,{a:c,b:A,c:u}=o;if(r.start=c,r.end=A,r.closestPointToPoint(l,!0,n).distanceTo(l)<=a||(r.start=c,r.end=u,r.closestPointToPoint(l,!0,n).distanceTo(l)<=a)||(r.start=A,r.end=u,r.closestPointToPoint(l,!0,n).distanceTo(l)<=a))return!0;const m=o.getPlane(t);if(Math.abs(m.distanceToPoint(l))<=a){const p=m.projectPoint(l,e);if(o.containsPoint(p))return!0}return!1}}(),Kpe=1e-15;function HB(n){return Math.abs(n)new $),this.satBounds=new Array(4).fill().map(()=>new sc),this.points=[this.a,this.b,this.c],this.sphere=new Si,this.plane=new Ma,this.needsUpdate=!0}intersectsSphere(e){return Wpe(e,this)}update(){const e=this.a,t=this.b,r=this.c,i=this.points,s=this.satAxes,o=this.satBounds,a=s[0],l=o[0];this.getNormal(a),l.setFromPoints(a,i);const c=s[1],A=o[1];c.subVectors(e,t),A.setFromPoints(c,i);const u=s[2],f=o[2];u.subVectors(t,r),f.setFromPoints(u,i);const h=s[3],d=o[3];h.subVectors(r,e),d.setFromPoints(h,i),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(a,e),this.needsUpdate=!1}}oa.prototype.closestPointToSegment=function(){const n=new $,e=new $,t=new Wl;return function(i,s=null,o=null){const{start:a,end:l}=i,c=this.points;let A,u=1/0;for(let f=0;f<3;f++){const h=(f+1)%3;t.start.copy(c[f]),t.end.copy(c[h]),l2(t,i,n,e),A=n.distanceToSquared(e),A=2){(_===1?p.start:p.end).copy(h),w=2;break}if(w++,w===2&&_===-1)break}}return w}return function(g,p=null,v=!1){this.needsUpdate&&this.update(),g.isExtendedTriangle?g.needsUpdate&&g.update():(n.copy(g),n.update(),g=n);const w=this.plane,_=g.plane;if(Math.abs(w.normal.dot(_.normal))>1-1e-10){const x=this.satBounds,b=this.satAxes;t[0]=g.a,t[1]=g.b,t[2]=g.c;for(let I=0;I<4;I++){const M=x[I],P=b[I];if(r.setFromPoints(P,t),M.isSeparated(r))return!1}const B=g.satBounds,S=g.satAxes;e[0]=this.a,e[1]=this.b,e[2]=this.c;for(let I=0;I<4;I++){const M=B[I],P=S[I];if(r.setFromPoints(P,e),M.isSeparated(r))return!1}for(let I=0;I<4;I++){const M=b[I];for(let P=0;P<4;P++){const D=S[P];if(s.crossVectors(M,D),r.setFromPoints(s,e),i.setFromPoints(s,t),r.isSeparated(i))return!1}}return p&&(v||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),p.start.set(0,0,0),p.end.set(0,0,0)),!0}else{const x=d(this,_,u);if(x===1&&g.containsPoint(u.end))return p&&(p.start.copy(u.end),p.end.copy(u.end)),!0;if(x!==2)return!1;const b=d(g,w,f);if(b===1&&this.containsPoint(f.end))return p&&(p.start.copy(f.end),p.end.copy(f.end)),!0;if(b!==2)return!1;if(u.delta(a),f.delta(l),a.dot(l)<0){let T=f.start;f.start=f.end,f.end=T}const B=u.start.dot(a),S=u.end.dot(a),I=f.start.dot(a),M=f.end.dot(a),P=S0?p.start.copy(u.start):p.start.copy(f.start),c.subVectors(u.end,f.end),c.dot(a)<0?p.end.copy(u.end):p.end.copy(f.end)),!0)}}}();oa.prototype.distanceToPoint=function(){const n=new $;return function(t){return this.closestPointToPoint(t,n),t.distanceTo(n)}}();oa.prototype.distanceToTriangle=function(){const n=new $,e=new $,t=["a","b","c"],r=new Wl,i=new Wl;return function(o,a=null,l=null){const c=a||l?r:null;if(this.intersectsTriangle(o,c))return(a||l)&&(a&&c.getCenter(a),l&&c.getCenter(l)),0;let A=1/0;for(let u=0;u<3;u++){let f;const h=t[u],d=o[h];this.closestPointToPoint(d,n),f=d.distanceToSquared(n),fnew $),this.satAxes=new Array(3).fill().map(()=>new $),this.satBounds=new Array(3).fill().map(()=>new sc),this.alignedSatBounds=new Array(3).fill().map(()=>new sc),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),r&&this.matrix.copy(r)}set(e,t,r){this.min.copy(e),this.max.copy(t),this.matrix.copy(r),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}zi.prototype.update=function(){return function(){const e=this.matrix,t=this.min,r=this.max,i=this.points;for(let c=0;c<=1;c++)for(let A=0;A<=1;A++)for(let u=0;u<=1;u++){const f=1*c|2*A|4*u,h=i[f];h.x=c?r.x:t.x,h.y=A?r.y:t.y,h.z=u?r.z:t.z,h.applyMatrix4(e)}const s=this.satBounds,o=this.satAxes,a=i[0];for(let c=0;c<3;c++){const A=o[c],u=s[c],f=1<new Wl),t=new Array(12).fill().map(()=>new Wl),r=new $,i=new $;return function(o,a=0,l=null,c=null){if(this.needsUpdate&&this.update(),this.intersectsBox(o))return(l||c)&&(o.getCenter(i),this.closestPointToPoint(i,r),o.closestPointToPoint(r,i),l&&l.copy(r),c&&c.copy(i)),0;const A=a*a,u=o.min,f=o.max,h=this.points;let d=1/0;for(let g=0;g<8;g++){const p=h[g];i.copy(p).clamp(u,f);const v=p.distanceToSquared(i);if(vnew oa)}}const go=new Xpe;class Ype{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;const e=[];let t=null;this.setBuffer=r=>{t&&e.push(t),t=r,this.float32Array=new Float32Array(r),this.uint16Array=new Uint16Array(r),this.uint32Array=new Uint32Array(r)},this.clearBuffer=()=>{t=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,e.length!==0&&this.setBuffer(e.pop())}}}const Rn=new Ype;let Jc,Qh;const Lf=[],_y=new c2(()=>new Qn);function $pe(n,e,t,r,i,s){Jc=_y.getPrimitive(),Qh=_y.getPrimitive(),Lf.push(Jc,Qh),Rn.setBuffer(n._roots[e]);const o=lT(0,n.geometry,t,r,i,s);Rn.clearBuffer(),_y.releasePrimitive(Jc),_y.releasePrimitive(Qh),Lf.pop(),Lf.pop();const a=Lf.length;return a>0&&(Qh=Lf[a-1],Jc=Lf[a-2]),o}function lT(n,e,t,r,i=null,s=0,o=0){const{float32Array:a,uint16Array:l,uint32Array:c}=Rn;let A=n*2;if($i(A,l)){const f=Us(n,c),h=ho(A,l);return er(n,a,Jc),r(f,h,!1,o,s+n,Jc)}else{let M=function(D){const{uint16Array:T,uint32Array:y}=Rn;let E=D*2;for(;!$i(E,T);)D=po(D),E=D*2;return Us(D,y)},P=function(D){const{uint16Array:T,uint32Array:y}=Rn;let E=D*2;for(;!$i(E,T);)D=mo(D,y),E=D*2;return Us(D,y)+ho(E,T)};const f=po(n),h=mo(n,c);let d=f,m=h,g,p,v,w;if(i&&(v=Jc,w=Qh,er(d,a,v),er(m,a,w),g=i(v),p=i(w),p(Yp.copy(e).clamp(A.min,A.max),Yp.distanceToSquared(e)),intersectsBounds:(A,u,f)=>f{A.closestPointToPoint(e,Yp);const f=e.distanceToSquared(Yp);return f=169,XA=new $,YA=new $,$A=new $,xy=new je,by=new je,Ey=new je,_O=new $,xO=new $,bO=new $,$p=new $;function Jpe(n,e,t,r,i,s,o,a){let l;if(s===oi?l=n.intersectTriangle(r,t,e,!0,i):l=n.intersectTriangle(e,t,r,s!==_i,i),l===null)return null;const c=n.origin.distanceTo(i);return ca?null:{distance:c,point:i.clone()}}function eme(n,e,t,r,i,s,o,a,l,c,A){XA.fromBufferAttribute(e,s),YA.fromBufferAttribute(e,o),$A.fromBufferAttribute(e,a);const u=Jpe(n,XA,YA,$A,$p,l,c,A);if(u){const f=new $;Wr.getBarycoord($p,XA,YA,$A,f),r&&(xy.fromBufferAttribute(r,s),by.fromBufferAttribute(r,o),Ey.fromBufferAttribute(r,a),u.uv=Wr.getInterpolation($p,XA,YA,$A,xy,by,Ey,new je)),i&&(xy.fromBufferAttribute(i,s),by.fromBufferAttribute(i,o),Ey.fromBufferAttribute(i,a),u.uv1=Wr.getInterpolation($p,XA,YA,$A,xy,by,Ey,new je)),t&&(_O.fromBufferAttribute(t,s),xO.fromBufferAttribute(t,o),bO.fromBufferAttribute(t,a),u.normal=Wr.getInterpolation($p,XA,YA,$A,_O,xO,bO,new $),u.normal.dot(n.direction)>0&&u.normal.multiplyScalar(-1));const h={a:s,b:o,c:a,normal:new $,materialIndex:0};Wr.getNormal(XA,YA,$A,h.normal),u.face=h,u.faceIndex=s,qpe&&(u.barycoord=f)}return u}function I1(n,e,t,r,i,s,o){const a=r*3;let l=a+0,c=a+1,A=a+2;const u=n.index;n.index&&(l=u.getX(l),c=u.getX(c),A=u.getX(A));const{position:f,normal:h,uv:d,uv1:m}=n.attributes,g=eme(t,f,h,d,m,l,c,A,e,s,o);return g?(g.faceIndex=r,i&&i.push(g),g):null}function Sr(n,e,t,r){const i=n.a,s=n.b,o=n.c;let a=e,l=e+1,c=e+2;t&&(a=t.getX(a),l=t.getX(l),c=t.getX(c)),i.x=r.getX(a),i.y=r.getY(a),i.z=r.getZ(a),s.x=r.getX(l),s.y=r.getY(l),s.z=r.getZ(l),o.x=r.getX(c),o.y=r.getY(c),o.z=r.getZ(c)}function tme(n,e,t,r,i,s,o,a){const{geometry:l,_indirectBuffer:c}=n;for(let A=r,u=r+i;Ab&&(b=D),T<_&&(_=T),T>B&&(B=T),yS&&(S=y)}return l[f+0]!==w||l[f+1]!==_||l[f+2]!==x||l[f+3]!==b||l[f+4]!==B||l[f+5]!==S?(l[f+0]=w,l[f+1]=_,l[f+2]=x,l[f+3]=b,l[f+4]=B,l[f+5]=S,!0):!1}else{const p=f+8,v=o[f+6],w=p+h,_=v+h;let x=d,b=!1,B=!1;e?x||(b=e.has(w),B=e.has(_),x=!b&&!B):(b=!0,B=!0);const S=x||b,I=x||B;let M=!1;S&&(M=u(p,h,x));let P=!1;I&&(P=u(v,h,x));const D=M||P;if(D)for(let T=0;T<3;T++){const y=p+T,E=v+T,R=l[y],L=l[y+3],O=l[E],z=l[E+3];l[f+T]=Rz?L:z}return D}}}function _A(n,e,t,r,i){let s,o,a,l,c,A;const u=1/t.direction.x,f=1/t.direction.y,h=1/t.direction.z,d=t.origin.x,m=t.origin.y,g=t.origin.z;let p=e[n],v=e[n+3],w=e[n+1],_=e[n+3+1],x=e[n+2],b=e[n+3+2];return u>=0?(s=(p-d)*u,o=(v-d)*u):(s=(v-d)*u,o=(p-d)*u),f>=0?(a=(w-m)*f,l=(_-m)*f):(a=(_-m)*f,l=(w-m)*f),s>l||a>o||((a>s||isNaN(s))&&(s=a),(l=0?(c=(x-g)*h,A=(b-g)*h):(c=(b-g)*h,A=(x-g)*h),s>A||c>o)?!1:((c>s||s!==s)&&(s=c),(A=r)}function sme(n,e,t,r,i,s,o,a){const{geometry:l,_indirectBuffer:c}=n;for(let A=r,u=r+i;A=0;let m,g;d?(m=po(n),g=mo(n,l)):(m=mo(n,l),g=po(n));const v=_A(m,o,r,i,s)?AT(m,e,t,r,i,s):null;if(v){const x=v.point[f];if(d?x<=o[g+u]:x>=o[g+u+3])return v}const _=_A(g,o,r,i,s)?AT(g,e,t,r,i,s):null;return v&&_?v.distance<=_.distance?v:_:v||_||null}}const By=new Qn,Df=new oa,Nf=new oa,Zp=new ke,EO=new zi,Sy=new zi;function ume(n,e,t,r){Rn.setBuffer(n._roots[e]);const i=uT(0,n,t,r);return Rn.clearBuffer(),i}function uT(n,e,t,r,i=null){const{float32Array:s,uint16Array:o,uint32Array:a}=Rn;let l=n*2;if(i===null&&(t.boundingBox||t.computeBoundingBox(),EO.set(t.boundingBox.min,t.boundingBox.max,r),i=EO),$i(l,o)){const A=e.geometry,u=A.index,f=A.attributes.position,h=t.index,d=t.attributes.position,m=Us(n,a),g=ho(l,o);if(Zp.copy(r).invert(),t.boundsTree)return er(n,s,Sy),Sy.matrix.copy(Zp),Sy.needsUpdate=!0,t.boundsTree.shapecast({intersectsBounds:v=>Sy.intersectsBox(v),intersectsTriangle:v=>{v.a.applyMatrix4(r),v.b.applyMatrix4(r),v.c.applyMatrix4(r),v.needsUpdate=!0;for(let w=m*3,_=(g+m)*3;w<_;w+=3)if(Sr(Nf,w,u,f),Nf.needsUpdate=!0,v.intersectsTriangle(Nf))return!0;return!1}});for(let p=m*3,v=(g+m)*3;pzB.distanceToBox(x),intersectsBounds:(x,b,B)=>B{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:S=>qp.distanceToBox(S),intersectsBounds:(S,I,M)=>M{for(let M=S,P=S+I;Mb&&(b=y),E<_&&(_=E),E>B&&(B=E),RS&&(S=R)}}return l[f+0]!==w||l[f+1]!==_||l[f+2]!==x||l[f+3]!==b||l[f+4]!==B||l[f+5]!==S?(l[f+0]=w,l[f+1]=_,l[f+2]=x,l[f+3]=b,l[f+4]=B,l[f+5]=S,!0):!1}else{const p=f+8,v=o[f+6],w=p+h,_=v+h;let x=d,b=!1,B=!1;e?x||(b=e.has(w),B=e.has(_),x=!b&&!B):(b=!0,B=!0);const S=x||b,I=x||B;let M=!1;S&&(M=u(p,h,x));let P=!1;I&&(P=u(v,h,x));const D=M||P;if(D)for(let T=0;T<3;T++){const y=p+T,E=v+T,R=l[y],L=l[y+3],O=l[E],z=l[E+3];l[f+T]=Rz?L:z}return D}}}function vme(n,e,t,r,i,s,o){Rn.setBuffer(n._roots[e]),fT(0,n,t,r,i,s,o),Rn.clearBuffer()}function fT(n,e,t,r,i,s,o){const{float32Array:a,uint16Array:l,uint32Array:c}=Rn,A=n*2;if($i(A,l)){const f=Us(n,c),h=ho(A,l);sme(e,t,r,f,h,i,s,o)}else{const f=po(n);_A(f,a,r,s,o)&&fT(f,e,t,r,i,s,o);const h=mo(n,c);_A(h,a,r,s,o)&&fT(h,e,t,r,i,s,o)}}const yme=["x","y","z"];function wme(n,e,t,r,i,s){Rn.setBuffer(n._roots[e]);const o=hT(0,n,t,r,i,s);return Rn.clearBuffer(),o}function hT(n,e,t,r,i,s){const{float32Array:o,uint16Array:a,uint32Array:l}=Rn;let c=n*2;if($i(c,a)){const u=Us(n,l),f=ho(c,a);return ome(e,t,r,u,f,i,s)}else{const u=PG(n,l),f=yme[u],d=r.direction[f]>=0;let m,g;d?(m=po(n),g=mo(n,l)):(m=mo(n,l),g=po(n));const v=_A(m,o,r,i,s)?hT(m,e,t,r,i,s):null;if(v){const x=v.point[f];if(d?x<=o[g+u]:x>=o[g+u+3])return v}const _=_A(g,o,r,i,s)?hT(g,e,t,r,i,s):null;return v&&_?v.distance<=_.distance?v:_:v||_||null}}const Cy=new Qn,Of=new oa,kf=new oa,Jp=new ke,BO=new zi,Ty=new zi;function _me(n,e,t,r){Rn.setBuffer(n._roots[e]);const i=dT(0,n,t,r);return Rn.clearBuffer(),i}function dT(n,e,t,r,i=null){const{float32Array:s,uint16Array:o,uint32Array:a}=Rn;let l=n*2;if(i===null&&(t.boundingBox||t.computeBoundingBox(),BO.set(t.boundingBox.min,t.boundingBox.max,r),i=BO),$i(l,o)){const A=e.geometry,u=A.index,f=A.attributes.position,h=t.index,d=t.attributes.position,m=Us(n,a),g=ho(l,o);if(Jp.copy(r).invert(),t.boundsTree)return er(n,s,Ty),Ty.matrix.copy(Jp),Ty.needsUpdate=!0,t.boundsTree.shapecast({intersectsBounds:v=>Ty.intersectsBox(v),intersectsTriangle:v=>{v.a.applyMatrix4(r),v.b.applyMatrix4(r),v.c.applyMatrix4(r),v.needsUpdate=!0;for(let w=m,_=g+m;w<_;w++)if(Sr(kf,3*e.resolveTriangleIndex(w),u,f),kf.needsUpdate=!0,v.intersectsTriangle(kf))return!0;return!1}});for(let p=m,v=g+m;pGB.distanceToBox(x),intersectsBounds:(x,b,B)=>B{if(e.boundsTree){const B=e.boundsTree;return B.shapecast({boundsTraverseOrder:S=>em.distanceToBox(S),intersectsBounds:(S,I,M)=>M{for(let M=S,P=S+I;Mnew Qn),Hf=new Qn,Qf=new Qn,VB=new Qn,jB=new Qn;let WB=!1;function Cme(n,e,t,r){if(WB)throw new Error("MeshBVH: Recursive calls to bvhcast not supported.");WB=!0;const i=n._roots,s=e._roots;let o,a=0,l=0;const c=new ke().copy(t).invert();for(let A=0,u=i.length;Al.slice()),index:o?o.array.slice():null,indirectBuffer:s?s.slice():null}:a={roots:i,index:o?o.array:null,indirectBuffer:s},a}static deserialize(e,t,r={}){r={setIndex:!0,indirect:!!e.indirectBuffer,...r};const{index:i,roots:s,indirectBuffer:o}=e,a=new A2(t,{...r,[NB]:!0});if(a._roots=s,a._indirectBuffer=o||null,r.setIndex){const l=t.getIndex();if(l===null){const c=new lt(e.index,1,!1);t.setIndex(c)}else l.array!==i&&(l.array.set(i),l.needsUpdate=!0)}return a}get indirect(){return!!this._indirectBuffer}constructor(e,t={}){if(e.isBufferGeometry){if(e.index&&e.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}else throw new Error("MeshBVH: Only BufferGeometries are supported.");if(t=Object.assign({...Tme,[NB]:!1},t),t.useSharedArrayBuffer&&!Mme())throw new Error("MeshBVH: SharedArrayBuffer is not available.");this.geometry=e,this._roots=null,this._indirectBuffer=null,t[NB]||(Vpe(this,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new Qn))),this.resolveTriangleIndex=t.indirect?r=>this._indirectBuffer[r]:r=>r}refit(e=null){return(this.indirect?gme:ime)(this,e)}traverse(e,t=0){const r=this._roots[t],i=new Uint32Array(r),s=new Uint16Array(r);o(0);function o(a,l=0){const c=a*2,A=s[c+15]===T1;if(A){const u=i[a+6],f=s[c+14];e(l,A,new Float32Array(r,a*4,6),u,f)}else{const u=a+sg/4,f=i[a+6],h=i[a+7];e(l,A,new Float32Array(r,a*4,6),h)||(o(u,l+1),o(f,l+1))}}}raycast(e,t=Hs,r=0,i=1/0){const s=this._roots,o=this.geometry,a=[],l=t.isMaterial,c=Array.isArray(t),A=o.groups,u=l?t.side:t,f=this.indirect?vme:lme;for(let h=0,d=s.length;hu(f,h,d,m,g)?!0:r(f,h,this,a,d,m,t)}else o||(a?o=(u,f,h,d)=>r(u,f,this,a,h,d,t):o=(u,f,h)=>h);let l=!1,c=0;const A=this._roots;for(let u=0,f=A.length;u{const m=this.resolveTriangleIndex(d);Sr(o,m*3,a,l)}:d=>{Sr(o,d*3,a,l)},A=go.getPrimitive(),u=e.geometry.index,f=e.geometry.attributes.position,h=e.indirect?d=>{const m=e.resolveTriangleIndex(d);Sr(A,m*3,u,f)}:d=>{Sr(A,d*3,u,f)};if(s){const d=(m,g,p,v,w,_,x,b)=>{for(let B=p,S=p+v;BRy.intersectsBox(r),intersectsTriangle:r=>Ry.intersectsTriangle(r)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,r={},i={},s=0,o=1/0){return(this.indirect?Sme:mme)(this,e,t,r,i,s,o)}closestPointToPoint(e,t={},r=0,i=1/0){return Zpe(this,e,t,r,i)}getBoundingBox(e){return e.makeEmpty(),this._roots.forEach(r=>{er(0,new Float32Array(r),SO),e.union(SO)}),e}}function MO(n,e,t){return n===null?null:(n.point.applyMatrix4(e.matrixWorld),n.distance=n.point.distanceTo(t.ray.origin),n.object=e,n)}const Uy=new Ku,CO=new $,TO=new ke,Ime=hn.prototype.raycast,Rme=bse.prototype.raycast,IO=new $,Jr=new hn,Fy=[];function Ume(n,e){this.isBatchedMesh?Fme.call(this,n,e):Pme.call(this,n,e)}function Fme(n,e){if(this.boundsTrees){const t=this.boundsTrees,r=this._drawInfo,i=this._drawRanges,s=this.matrixWorld;Jr.material=this.material,Jr.geometry=this.geometry;const o=Jr.geometry.boundsTree,a=Jr.geometry.drawRange;Jr.geometry.boundingSphere===null&&(Jr.geometry.boundingSphere=new Si);for(let l=0,c=r.length;l{const e=n.attributes.position,t=n.index,r=new Wr,i=new $,s=new $,o=new $,a=[];for(let l=0;l{const e=n.geometry.clone();let t=[];if(Array.isArray(n.material))for(let i=0;i{n.isMesh&&(n.geometry.userData.faceNormals=null,n.geometry.dispose(),n.geometry.disposeBoundsTree(),n.parent&&n.parent.remove(n),n.userData.cancelMesh&&Dw(n.userData.cancelMesh))},NG=n=>{var e,t;n.userData.cullingClone&&(Dw(n.userData.cullingClone),n.userData.cullingClone=null,Dw(n.userData.cullingCloneP),n.userData.cullingCloneP=null,Dw(n.userData.cullingCloneN),n.userData.cullingCloneN=null,((e=n.userData)==null?void 0:e.clippedIndexGeometry)!=null&&(n.userData.clippedIndexGeometry=null),((t=n.userData)==null?void 0:t.origIndexBuffer)!=null&&(n.userData.origIndexBuffer=null))},Gme=async n=>{if(n==null){console.warn("Null parameter for meshes was provided. Skipping mesh culling.");return}if(!Array.isArray(n)){console.warn("No valid mesh array was provided. Skipping mesh culling.");return}if(n.length==0){console.warn("No mesh array with elements was provided. Skipping mesh culling.");return}const e=[];Fm=n[0].parent,Fm.lines!=null&&(Fm.lines.forEach(i=>{i.visible=!1}),Fm.lines.length=0),n.forEach(i=>{if(i.userData.cullLayer!=null){i.userData.origIndexBuffer==null&&(i.userData.origIndexBuffer=i.geometry.index.clone()),e[i.userData.cullLayer]==null&&(e[i.userData.cullLayer]={origMeshes:[],cloneMeshes:[],posMeshes:[],negMeshes:[],scaleMeshes:[],positionMeshes:[]}),i.userData.cullingClone==null&&(i.userData.cullingClone=zme(i),i.userData.cullingCloneP=i.userData.cullingClone.clone(),i.userData.cullingCloneN=i.userData.cullingClone.clone());const s=i.userData.cullingClone,o=i.userData.cullingCloneP,a=i.userData.cullingCloneN;o.material=kme,a.userData.cancelMesh=o,a.material=Hme,o.userData.maxCullDistance=a.userData.maxCullDistance=i.userData.maxCullDistance,e[i.userData.cullLayer].origMeshes.push(i),e[i.userData.cullLayer].cloneMeshes.push(s),e[i.userData.cullLayer].posMeshes.push(o),e[i.userData.cullLayer].negMeshes.push(a),i.geometry.setIndex(i.userData.origIndexBuffer)}});for(let i=e.length-1;i>=0;i--)e[i]==null&&e.splice(i,1);let t=[];const r=[];for(let i=e.length-1;i>=0;i--){if(t.length!=0||e.length>=1)for(let s=0;s{i.geom.setIndex(i.index)})},Vme=n=>{let e=Nme,t=Ome;return n&&(isNaN(n)?Array.isArray(n)&&(isNaN(n[0])||(e=n[0]),isNaN(n[1])||(t=n[1])):e=n),[e,t]},jme=(n,e,t,r,i,s,o=!1)=>{const a=[],l=Vme(s);let c=l[0],A=l[1];Py.far=c+A;for(let f=0;f=0;v--)c-p[v].distance>=p[v].object.userData.maxCullDistance&&p.splice(v,1);if(p.length===0){for(let v=0;v<3;v++)a.push(n[h+v]);break}else{const v=p.map(w=>w.object);for(let w=0;ww).length===0){for(let w=0;w<3;w++)a.push(n[h+w]);break}if(m===0)d=p.map(w=>w.object);else if(d=p.map(w=>{if(d.indexOf(w.object)!==-1)return w.object}),d=d.filter(w=>w),m===2&&d.filter(w=>w).length===0)for(let w=0;w<3;w++)a.push(n[h+w]);o&&Wme(KB,tm.clone().multiplyScalar(-1),Py.far,16711680,Fm)}}}const u=new Uint32Array(a);return new lt(u,1,!1)};function Wme(n,e,t,r,i){i.lines==null&&(i.lines=[]);let s=new $;s.addVectors(n,e.clone().multiplyScalar(t));const o=[];o.push(n),o.push(s);const a=new Zt().setFromPoints(o),l=[];l.push(new He(0)),l.push(new He(16777215));let c=new Ac({color:r});var A=new Yd(a,c);A.renderOrder=100,i.add(A),i.lines.push(A)}function Kme(n,e=10){if(n<=0)return[];const t=n,r=[{w:e,h:e,x:0,y:0}];function i(o,a,l,c){if(a<=0)return;const A=o.w/2,u=[{w:A,h:A,x:l,y:c},{w:A,h:A,x:l+A,y:c},{w:A,h:A,x:l,y:c+A},{w:A,h:A,x:l+A,y:c+A}];r.push(...u);const f=r.find(p=>p.x===l&&p.y===c&&p.w===o.w&&p.h===o.h);if(r.splice(r.indexOf(f),1),n<=r.length)return;const h=Math.max(...r.map(p=>p.w)),d=r.find(p=>p.w===h),m=d.x,g=d.y;i({w:d.w,h:d.h},a-1,m,g)}if(n==1)return{squares:r,fill:1};for(i({w:e,h:e},t,0,0),r.sort((o,a)=>a.w-o.w);r.length>n;)r.pop();const s=r.reduce((o,a)=>o+a.w*a.h,0)/(e*e);return{squares:r,fill:s}}class u2{constructor(e,t){jt(this,"width");jt(this,"height");jt(this,"cameraRTT",null);jt(this,"sceneRTT",null);jt(this,"material",null);jt(this,"quad",null);jt(this,"renderer",null);jt(this,"rtTexture",null);this.width=e,this.height=t}render(e,t,r,i,s,o,a=!0){var A;if(e||(e=u2.createSolidColorTexture(r,i,s)),this.renderer==null){this.sceneRTT=new zg,this.cameraRTT=new g0(-i/2,i/2,s/2,-s/2,-1e4,1e4),this.cameraRTT.position.z=100,this.sceneRTT.add(this.cameraRTT),this.material=new qi({side:_i,transparent:!0,opacity:1,color:new He(1,1,1)});const u=new cc(1,1);this.quad=new hn(u,this.material),this.quad.scale.set(i,s,1),this.sceneRTT.add(this.quad),this.renderer=new v0,this.renderer.setPixelRatio(1),this.renderer.setSize(i,s),this.renderer.autoClear=!1}else this.cameraRTT&&(this.cameraRTT.left=-i/2,this.cameraRTT.right=i/2,this.cameraRTT.top=s/2,this.cameraRTT.bottom=-s/2,this.cameraRTT.updateProjectionMatrix()),(A=this.quad)==null||A.scale.set(i,s,1),this.renderer.setSize(i,s);this.rtTexture=new qa(i,s),this.rtTexture.texture.colorSpace=a?kt:Ra,this.material&&(this.material.map=e,this.material.color=t.clone()),this.renderer.setClearColor(r.clone(),o?0:1),this.renderer.setRenderTarget(this.rtTexture),this.renderer.clear(),this.sceneRTT&&this.cameraRTT&&this.renderer.render(this.sceneRTT,this.cameraRTT);let l=new Uint8ClampedArray(this.rtTexture.width*this.rtTexture.height*4);return this.renderer.readRenderTargetPixels(this.rtTexture,0,0,i,s,l),new ImageData(l,i,s)}destroy(){var e,t;this.cameraRTT=null,(e=this.sceneRTT)==null||e.clear(),this.sceneRTT=null,this.material=null,this.quad=null,(t=this.renderer)==null||t.dispose(),this.renderer=null,this.rtTexture=null}static createSolidColorTexture(e,t,r){const i=t*r,s=new Uint8Array(4*i),o=Math.floor(e.r*255),a=Math.floor(e.g*255),l=Math.floor(e.b*255);for(let A=0;Atypeof window>"u"?await $me({meshes:e,atlasSize:r,mtoon:i,transparentMaterial:s,transparentTexture:o}):await Zme({backColor:n,meshes:e,atlasSize:r,mtoon:i,includeNonTexturedMeshesInAtlas:t,transparentMaterial:s,transparentTexture:o,twoSidedMaterial:a}),$me=async({meshes:n,atlasSize:e,mtoon:t,transparentMaterial:r,transparentTexture:i})=>{const s=e,o=["diffuse"],a=[];n.forEach(b=>{const B=b.material;let S=a.find(I=>I.material===B);if(!S)a.push({material:B,mesh:b});else{const{dest:I}=R1({meshes:[S.mesh,b]});S.mesh.geometry=I}});const l=Object.fromEntries(o.map(b=>[b,OG({width:s,height:s,transparent:i})])),c=Math.floor(Math.sqrt(n.length)+1),A=s/c,u=new Map(a.map((b,B)=>{const S=new je(B%c,Math.floor(B/c)).multiplyScalar(1/c),I=new je(S.x+1/c,S.y+1/c);return[b.mesh,{min:S,max:I}]})),f=[],h=[];a.forEach(b=>{const{min:B,max:S}=u.get(b.mesh);h.push(S),f.push(B)});const d=new je(Math.max(...h.map(b=>b.x)),Math.max(...h.map(b=>b.y))),m=new je(Math.min(...f.map(b=>b.x)),Math.min(...f.map(b=>b.y))),g=1/(d.x-m.x),p=1/(d.y-m.y),v=A*g,w=A*p,_=new Map(a.map(b=>{let{min:B,max:S}=u.get(b.mesh);return B.x=B.x*g,B.y=B.y*p,S.x=S.x*g,S.y=S.y*p,[b.mesh,{min:B,max:S}]}));a.forEach(b=>{const{material:B,mesh:S}=b,{min:I,max:M}=_.get(S);o.forEach(y=>{const E=l[y];E.globalCompositeOperation="source-over";let R=ex(B,pT[y].find(L=>ex(B,L)));if(R!==""&&R!==void 0)try{const L=new Uint8ClampedArray(R.data),O=new ImageData(L,v,w),z=document.createElement("canvas");z.width=v,z.height=w;const j=z.getContext("2d");j.putImageData(O,0,0),j.save(),E.drawImage(z,I.x*s,I.y*s,v,w)}catch(L){console.error("error",L)}else E.fillStyle=y==="diffuse"?`#${B.color.clone().getHexString()}`:y==="normal"?"#bcbcff":y==="orm"?`#${new He(B.aoMapIntensity,B.roughness,B.metalness).getHexString()}`:"#7F7F7F",E.fillRect(I.x*s,I.y*s,v,w)});const P=S.geometry,D=P.attributes.uv;if(D)for(let y=0;y{const B=new Hn(l[b].canvas);return B.flipY=!1,[b,B]})));return{bakeObjects:a,textures:x,uvs:_}},Zme=async({backColor:n,includeNonTexturedMeshesInAtlas:e=!1,meshes:t,atlasSize:r,mtoon:i,transparentMaterial:s,transparentTexture:o,twoSidedMaterial:a})=>{const l=r,c=i?["diffuse"]:["diffuse","orm","normal"],A=[];let u=null;t.forEach(L=>{L=L.clone();const O=L.material.length==null?L.material:L.material[0];i&&u==null&&O.type=="ShaderMaterial"&&(u=O.clone());let z=A.find(j=>{j.material});if(!z)A.push({material:O,mesh:L});else{const{dest:j}=R1({meshes:[z.mesh,L]});z.mesh.geometry=j}});const f=Object.fromEntries(c.map(L=>[L,OG({width:l,height:l,transparent:o&&L=="diffuse"})])),h=new Set,d=new Map,m=A.map(L=>{const O=L.mesh.geometry;if(e==!1){if(!L.mesh.visible)return h.add(L.mesh),[L.mesh,0];let z=!0;for(const j of c)for(const H of pT[j])if(ex(L.material,H)&&z){z=!1;break}if(z){const j=L.material;if(j instanceof pr)return[L.mesh,2];if(d.size==0)return d.set(j,[L.mesh]),[L.mesh,1];for(let[H,C]of Array.from(d.entries()))if((()=>H.color.r.toFixed(5)==j.color.r.toFixed(5)&&H.color.g.toFixed(5)==j.color.g.toFixed(5)&&H.color.b.toFixed(5)==j.color.b.toFixed(5)&&H.emissive.equals(j.emissive)&&H.aoMapIntensity==j.aoMapIntensity&&H.metalness==j.metalness&&H.normalScale.equals(j.normalScale)&&H.roughness==j.roughness&&H.transparent==j.transparent&&H.vertexColors==j.vertexColors)())return C.push(L.mesh),[L.mesh,0];return d.set(j,[L.mesh]),[L.mesh,1]}}return[L.mesh,O.index?O.index.count/3:O.attributes.position.count/3]}).sort((L,O)=>O[1]-L[1]),g=m.filter(([,L])=>L!=0),{squares:p,fill:v}=Kme(g.length,l);console.log("squaresplit",v);const w=p.map(L=>({x:L.x,y:L.y,width:L.w,height:L.h})),_=new Map(w.map((L,O)=>[m[O][0],L]));d.forEach(L=>{if(L.length>1){const O=_.get(L[0]);L.forEach(z=>{_.set(z,O)})}});const x=new Map(Array.from(_.entries()).map(([L,O])=>{const z=new je(O.x,O.y),j=new je(O.x+O.width,O.y+O.height);return[L,{min:z,max:j}]})),b=[];Array.from(_.keys()).forEach(L=>{if(h.has(L))return;const{min:O,max:z}=x.get(L);b.push(O)});const B=new je(Math.min(...b.map(L=>L.x)),Math.min(...b.map(L=>L.y))),S=1/(l-B.x),I=1/(l-B.y),M=new Map(Array.from(_.keys()).map(L=>{if(h.has(L))return;let{min:O,max:z}=x.get(L);return O.x=O.x*S,O.y=O.y*I,z.x=z.x*S,z.y=z.y*I,[L,{min:O,max:z}]}).filter(L=>L));let P=!1;const D=new u2(l,l);Array.from(_.keys()).forEach(L=>{const O=A.find(ie=>ie.mesh===L),{material:z}=O;let j,H;const C=M.get(L);if(C?(j=C.min,H=C.max):(j=new je(0,0),H=new je(0,0)),!h.has(O.mesh)){const ie=_.get(L).width,ue=_.get(L).height;c.forEach(le=>{var k;const me=f[le];me.globalCompositeOperation="source-over";let de,ve=new He(1,1,1);switch(le){case"diffuse":de=z.color||n,(k=z.uniforms)!=null&&k.litFactor?ve=z.uniforms.litFactor.value:ve=z.color;break;case"normal":de=new He(12369151);break;case"orm":de=new He(0,z.roughness,z.metalness);break;default:de=new He(1,1,1);break}let be=Xme(z,pT[le].find(ae=>ex(z,ae)));P==!1&&le=="normal"&&be!=null&&(P=!0);const re=D.render(be,ve,de,l,l,le=="diffuse"&&o,le!="normal");createImageBitmap(re).then(ae=>me.drawImage(ae,j.x*l,j.y*l,ie,ue))})}const W=L.geometry.clone();L.geometry=W;const ee=W.attributes.uv.clone();if(W.attributes.uv=ee,ee)for(let ie=0;ie{const O=new Hn(f[L].canvas);return O.flipY=!1,[L,O]}))),y=a?_i:Hs;let E;const R=s?"transparent":"opaque";return i?(E=new Nd({map:T.diffuse,transparent:s,side:y}),u==null&&(u=new yG),u.side=y,u.uniforms.map=T.diffuse,u.uniforms.shadeMultiplyTexture=T.diffuse,u.transparent=s,o&&!s&&(E.alphaTest=.5,u.alphaTest=.5),E.userData.vrmMaterial=u,E.userData.shadeTexture=T.uniformColor,E.name="mToon_"+R,E.map.name=E.name):(E=new Nd({map:T.diffuse,roughnessMap:T.orm,metalnessMap:T.orm,normalMap:P?T.normal:null,transparent:s,side:y}),o&&!s&&(E.alphaTest=.5),E.name="standard_"+R,E.roughnessMap!=null&&(E.roughnessMap.name=E.name+"_orm"),E.normalMap!=null&&(E.normalMap.name=E.name+"_normal")),{bakeObjects:A,material:E}};function kG(n){const e=new Map;for(const r of n.skeleton.bones){const i=r.clone(!1);e.set(r,i)}n.skeleton.bones[0].traverse(r=>{if(r.type!=="Bone")return;const i=e.get(r);for(const s of r.children){const o=e.get(s);o&&i.add(o)}});const t=new UA(n.skeleton.bones.map(r=>e.get(r)));return t.boneInverses=n.skeleton.boneInverses,t.pose(),t}function HG(n,e){const t=new Map;new $(-1,1,-1),new ke,new $;let r=0;n.forEach(l=>{if(l.skeleton){var c=kG(l);const A=c.bones;c.bones.forEach((u,f)=>{var h;if(A.indexOf(u)!==-1){const d=t.get(u.name);if(d==null){const m={index:r,boneInverses:c.boneInverses[f],bone:u.clone(!1),parentName:((h=u.parent)==null?void 0:h.type)=="Bone"?u.parent.name:null};r++,t.set(u.name,m)}else u.userData.VRMcolliders!=null&&(d.bone.userData.VRMcolliders==null?d.bone.userData.VRMcolliders=u.userData.VRMcolliders:u.userData.VRMcollidersID!=d.bone.userData.VRMcollidersID&&(d.bone.userData.VRMcolliders=[...d.bone.userData.VRMcolliders,...u.userData.VRMcolliders]))}})}});const i=[],s=[];[...t.values()].forEach(l=>{var c;if(i.push(l.bone),s.push(l.boneInverses),l.parentName!=null){const A=(c=t.get(l.parentName))==null?void 0:c.bone;A&&A.add(l.bone)}});const a=new UA(i,s);return a.bones.forEach(l=>{var A;const c=(A=l.userData)==null?void 0:A.vrm0RestPosition;c&&l.position.set(-c.x,c.y,-c.z),l.position.set(l.position.x*e,l.position.y*e,l.position.z*e)}),a}function qme(n,e){if(!e.skeleton)return;const t=new Map;if(e.skeleton){e.skeleton.bones.forEach((o,a)=>{const l=n.bones.filter(A=>A.name===o.name),c=l.length>0?n.bones.indexOf(l[0]):-1;t.set(a,c)});const r=[],i=e.geometry.attributes.skinIndex.array;for(let o=0;oe.indexOf(t)===r)}function Jme(n){const t=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array].filter(r=>n.constructor===r);return t.length&&t[0]||null}function tx(n,e){const t=[];for(let s=0;ss.name===r.name);return i?t.bones.indexOf(i):-1}async function nge(n,e,t){const{scale:r,isVrm0:i,mergeAppliedMorphs:s}=t,o=[],a=[],l=Od(n,"SkinnedMesh"),c=GG(e),A=zG(e).map(h=>h.id);l.forEach(h=>{const d=h.clone();o.push(d),Array.isArray(h.material)?a.push(...h.material):a.push(h.material)});const u=HG(o,r),f=new Ft;return f.name="AvatarRoot",o.forEach(h=>{var P,D;const d=new Zt,m={};for(const T in h.geometry.attributes){const y=h.geometry.attributes[T];m[T]=y.clone()}const g={merge:new Set,keep:new Set(c),remove:new Set};if(s){if(!h.morphTargetDictionary||!h.morphTargetInfluences)return;A.forEach(T=>{const y=h.morphTargetDictionary[T];if(y!==void 0&&h.morphTargetInfluences[y]>0)g.merge.add(T);else return g.remove.add(T),null})}if((P=h.userData)!=null&&P.isVRM0)for(let T=0;T[T,T.morphTargetDictionary||{}])),morphTargetInfluences:new Map(l.map(T=>[T,T.morphTargetInfluences||[]])),index:null,animations:{}},{dest:v,destMorphToMerge:w}=R1({meshes:[h],scale:r,morphTargetsProcess:g},i);if(i)for(let T=0;Th.name===e.userData.boneName),s=e.userData.globalPosition,o=e.userData.globalScale||new $(1,1,1),a=e.userData.globalRotationMatrix;t.add(r.bones[0]);const l=[],c=[],A=t.geometry.attributes.position.array,u=new $,f=e.userData.isVRM0?-1:1;for(let h=0;hE.id);for(const E in I){const R=I[E],L=R.meshArray;if(L.length>0){const{bakeObjects:O,material:z}=await Yme({transparentColor:r,atlasSize:R.size,meshes:L,mtoon:R.isMtoon,includeNonTexturedMeshesInAtlas:l,transparentMaterial:R.transparentMaterial,transparentTexture:b,twoSidedMaterial:d}),j=O.map(le=>le.mesh),H=[],C={merge:new Set,keep:new Set(Object.keys(M)),remove:new Set};j.forEach(le=>{if(le.type=="Mesh"&&(le=ige(S,le)),H.push(le),u){if(!le.morphTargetDictionary||!le.morphTargetInfluences)return;P.forEach(ae=>{const ce=le.morphTargetDictionary[ae];if(ce!==void 0&&le.morphTargetInfluences[ce]>0)C.merge.add(ae);else return C.remove.add(ae),null})}const me=le.geometry,de=me.index.array,ve=QG(le.geometry.index.array),be=[];for(let ae=0;ae{const me=ue.morphTargetDictionary[le];me!==void 0&&(ue.userData.bindMorphs.new[le]={index:me,primitives:[ue.id]})}),B.userData.atlasMaterial.push(z)}}const D=(y=Object.values(e).find(E=>{var R;return(R=E==null?void 0:E.vrm)==null?void 0:R.expressionManager}))==null?void 0:y.vrm.expressionManager;return B.userData.expressionManagerToClone=D,B.add(S.bones[0]),B}function zG(n){var t;return((t=Object.values(n).filter(r=>r)[0])==null?void 0:t.traitInfo.manifestData.getAllBlendShapeTraits())||[]}function GG(n){const e=Object.values(n).map(i=>i==null?void 0:i.vrm).filter(i=>!!i).map(i=>{var s;return(s=i.expressionManager)==null?void 0:s.expressionMap}),t={};let r=[];for(const i of e)if(i)for(const s of Object.values(i)){if(r.includes(s.expressionName))continue;r.push(s.expressionName);const o=s._binds;!o||o.length==0||o.forEach(a=>{function l(A){const f=a.primitives.map(h=>h.morphTargetDictionary).filter(h=>!!h).find(h=>Object.values(h).includes(A));if(f)return Object.entries(f).find(([,h])=>h==A)}const c=l(a.index);c&&(t[c[0]]={index:c[1],primitives:a.primitives.map(A=>A.id)})})}return t}function UO({meshes:n,sourceMorphTargetDictionaries:e,destMorphTargetDictionary:t}){const r=[];return Object.entries(t).map(([i,s])=>{const o=n.find(l=>e.get(l).hasOwnProperty(i)),a=o.morphTargetDictionary[i];r[s]=o.morphTargetInfluences[a]}),r}function oge({sourceAttributes:n}){const e=new Set,t=Array.from(n.values());t.forEach(i=>{Object.keys(i).forEach(s=>e.add(s))});const r={};return Array.from(e.keys()).map(i=>{r[i]=Vz(t.map(s=>s[i]).flat().filter(s=>s!==void 0))}),r}function FO(n){const{sourceMorphTargetDictionaries:e,morphTargetsProcess:t}=n,r=new Set;Array.from(e.values()).forEach(o=>{Object.keys(o).forEach(a=>{if(!t)r.add(a);else{if(t.remove.has(a)||t.merge.has(a))return;t.keep.has(a)&&r.add(a)}})});const s={};return Array.from(r.keys()).map((o,a)=>{s[o]=a}),s}function PO({meshes:n,sourceMorphTargetDictionaries:e,sourceMorphAttributes:t,destMorphTargetDictionary:r,scale:i}){const s=new Set;Array.from(t.values()).forEach(A=>{Object.keys(A).forEach(u=>s.add(u))});const a=Array.from(s),l={};a.forEach(A=>{l[A]=[],Object.entries(r).forEach(([u,f])=>{l[A][f]=[],n.forEach(h=>{let d;const m=e.get(h);if(m.hasOwnProperty(u)&&h.geometry.morphAttributes[A]){const g=m[u];d=h.geometry.morphAttributes[A][g]}else{const g=h.geometry.attributes[A],p=new g.array.constructor(new Array(g.array.length).fill(0));d=new lt(p,g.itemSize,g.normalized)}l[A][f].push(d)})})});const c={};return a.forEach(A=>{c[A]=[];for(let u=0;u{const i=r.geometry.index;for(var s=0;s{var h;if(i+=f.geometry.attributes.uv.count,(h=f.userData)!=null&&h.isVRM0)for(let d=0;d[f,f.geometry.attributes])),morphAttributes:new Map(n.map(f=>[f,f.geometry.morphAttributes])),morphTargetDictionaries:new Map(n.map(f=>[f,f.morphTargetDictionary||{}])),morphTargetInfluences:new Map(n.map(f=>[f,f.morphTargetInfluences||[]]))},o={attributes:null,morphTargetDictionary:null,morphAttributes:null,morphTargetInfluences:null,index:null,animations:{}};o.attributes=oge({sourceAttributes:s.attributes});const a=FO({sourceMorphTargetDictionaries:s.morphTargetDictionaries,morphTargetsProcess:{remove:(t==null?void 0:t.remove)||new Set,keep:(t==null?void 0:t.keep)||new Set,merge:(t==null?void 0:t.merge)||new Set}});o.morphTargetDictionary=a,o.morphAttributes=PO({meshes:n,sourceMorphAttributes:s.morphAttributes,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:a,scale:e}),o.morphTargetInfluences=UO({meshes:n,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:a}),o.index=age({meshes:n});const l={morphAttributes:{},morphTargetDictionaries:{},morphTargetInfluences:null};let c=new Set((t==null?void 0:t.keep)||[]);t==null||t.merge.forEach(f=>{c.add(f)});const A=FO({sourceMorphTargetDictionaries:s.morphTargetDictionaries,morphTargetsProcess:{remove:new Set,keep:c,merge:new Set}});l.morphAttributes=PO({meshes:n,sourceMorphAttributes:s.morphAttributes,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:A,scale:e});const u=UO({meshes:n,sourceMorphTargetDictionaries:s.morphTargetDictionaries,destMorphTargetDictionary:A});return l.morphTargetInfluences=u,l.morphTargetDictionaries=A,o.animations={},{source:s,dest:o,destMorphToMerge:l}}function mt(n){return n==null?[]:Array.isArray(n)?n:[n]}function lge(n,e){let t=n.children.slice();t.forEach(r=>n.remove(r)),n.add(e),t.forEach(r=>n.add(r))}async function cge(n,e){const r=await new Xu().load(e);r.colorSpace=kt,r.flipY=!1,n.traverse(i=>{if(i instanceof hn){const s=Array.isArray(i.material)?i.material:[i.material];for(let o=0;o{const e=[];for(const t in n){const r=n[t].vrm;if(r){const i=r.data.cullingLayer;i>=0&&r.data.cullingMeshes.map(s=>{s.userData.cullLayer=i,s.userData.cullDistance=r.data.cullingDistance,s.userData.maxCullDistance=r.data.maxCullingDistance,e.push(s)})}}Gme(e)};function Age(n){const e=[],t=[],r=[],i=[];let s=!1;return n.forEach(o=>{var c;const l=mt(o.material)[0];l.type=="ShaderMaterial"?l.transparent==!0?(i.push(o),s=!0):(r.push(o),((c=l.uniforms.alphaTest)==null?void 0:c.value)!=0&&(s=!0)):l.transparent==!0?(t.push(o),s=!0):(e.push(o),l.alphaTest!=0&&(s=!0))}),{stdMesh:e,stdTranspMesh:t,mToonMesh:r,mToonTranspMesh:i,requiresTransparency:s}}function uge(n){const e=[],t=[],r=[],i=[],s=[],o=[];return n.forEach(a=>{mt(a.material).forEach(c=>{c.type=="ShaderMaterial"?c.transparent==!0?o.push(c):c.uniforms.alphaTest.value!=0?s.push(c):i.push(c):c.transparent==!0?r.push(c):c.alphaTest!=0?t.push(c):e.push(c)})}),{stdMats:e,stdCutoutpMats:t,stdTranspMats:r,mToonMats:i,mToonCutoutMats:s,mToonTranspMats:o}}function LO(n,e){n.data==null?n.data=e:n.data={...n.data,...e}}function fge(n,e){if(n.data!=null)return n.data[e]}function hge(n){const e=fge(n,"cullingMeshes");e&&(e.forEach(t=>{NG(t)}),n.data.cullingMeshes=null)}function Dn(n){switch(n){case 1:return 128;case 2:return 256;case 3:return 512;case 4:return 1024;case 5:return 2048;case 6:return 4096;case 7:return 8192;case 8:return 16384;default:return 4096}}function dge(n){const e=n.scene;hge(n),e.traverse(t=>{t.material&&mT(t.material),t.geometry&&(NG(t),t.geometry.dispose(),t.geometry.disposeBoundsTree())}),e.parent&&e.parent.remove(e),E0.deepDispose(e),n.expressionManager&&n.expressionManager.expressions.forEach(t=>{t._binds&&t._binds.forEach(r=>{r.primitives&&r.primitives.forEach(i=>{i.geometry.dispose(),i.material&&mT(i.material)})})});for(const t in n)n[t]=null}const mT=n=>{var e,t,r,i,s,o;if(n.length)for(let a=0;a{let e,t,r=0;return Array.isArray(n)?(e=n[0]||0,t=n[1]||0,r=n[2]||0):(typeof n=="string"||n instanceof String)&&n.split("-").forEach(s=>{switch(s=s.toLowerCase(),s){case"left":e=-1;break;case"right":e=1;break;case"bottom":case"down":t=-1;break;case"top":case"up":t=1;break;case"back":case"backward":r=-1;break;case"front":case"forward":r=1;break;default:console.warn("unkown cameraPosition name: "+s+" in: "+n+". Please use left, right, bottom, top, back or front");break}}),new $(e,t,r)},VG=()=>{const n=new Date().getTime(),e=Math.random().toString(36).substr(2,9);return n+"-"+e},pge=n=>{var t,r,i,s,o,a,l,c,A,u,f;const e=n.humanoid.humanBones;e.hips.node.parent.name="rootBone",e.upperChest==null&&e.neck.node.parent!=e.chest&&(e.neck.node.parent!=e.chest.node?e.upperChest={node:e.neck.node.parent}:e.upperChest!=null&&(e.upperChest={node:e.neck.node.parent},e.chest={node:e.neck.node.parent.parent})),e.leftShoulder==null&&(e.leftUpperArm.node.parent!=((t=e.chest)==null?void 0:t.node)&&e.leftUpperArm.node.parent!=((r=e.upperChest)==null?void 0:r.node)&&e.leftUpperArm.node.parent!=((i=e.spine)==null?void 0:i.node)&&e.leftUpperArm.node.parent!=((s=e.neck)==null?void 0:s.node)&&e.leftUpperArm.node.parent!=((o=e.head)==null?void 0:o.node),e.leftShoulder={node:e.leftUpperArm.node.parent}),e.rightShoulder==null&&(e.rightUpperArm.node.parent!=((a=e.chest)==null?void 0:a.node)&&e.rightUpperArm.node.parent!=((l=e.upperChest)==null?void 0:l.node)&&e.rightUpperArm.node.parent!=((c=e.spine)==null?void 0:c.node)&&e.rightUpperArm.node.parent!=((A=e.neck)==null?void 0:A.node)&&e.rightUpperArm.node.parent!=((u=e.head)==null?void 0:u.node),e.rightShoulder={node:e.rightUpperArm.node.parent});for(let h in Zg)h=h.charAt(0).toLowerCase()+h.slice(1),(f=e[h])!=null&&f.node&&(e[h].node.name=h)};function jG({candidates:n,predicate:e}){if(!n.length)return null;const t=n.shift();return e(t)?t:(n=n.concat(t.children),jG({candidates:n,predicate:e}))}function WG(n,e){return jG({candidates:[n],predicate:t=>t.name===e})}function KG({candidates:n,predicate:e,results:t=[]}){if(!n.length)return t;const r=n.shift();return e(r)&&t.push(r),n=n.concat(r.children),KG({candidates:n,predicate:e,results:t})}function Od(n,e){return KG({candidates:[n],predicate:t=>mt(e).includes(t.type)})}function mge(n,e){if(!n.morphTargetDictionary)return!1;for(const t of Object.keys(n.morphTargetDictionary))if(e[t])return!0;return!1}const gge={mixamorigHips:"hips",mixamorigSpine:"spine",mixamorigSpine1:"chest",mixamorigSpine2:"upperChest",mixamorigNeck:"neck",mixamorigHead:"head",mixamorigLeftShoulder:"leftShoulder",mixamorigLeftArm:"leftUpperArm",mixamorigLeftForeArm:"leftLowerArm",mixamorigLeftHand:"leftHand",mixamorigLeftHandThumb1:"leftThumbMetacarpal",mixamorigLeftHandThumb2:"leftThumbProximal",mixamorigLeftHandThumb3:"leftThumbDistal",mixamorigLeftHandIndex1:"leftIndexProximal",mixamorigLeftHandIndex2:"leftIndexIntermediate",mixamorigLeftHandIndex3:"leftIndexDistal",mixamorigLeftHandMiddle1:"leftMiddleProximal",mixamorigLeftHandMiddle2:"leftMiddleIntermediate",mixamorigLeftHandMiddle3:"leftMiddleDistal",mixamorigLeftHandRing1:"leftRingProximal",mixamorigLeftHandRing2:"leftRingIntermediate",mixamorigLeftHandRing3:"leftRingDistal",mixamorigLeftHandPinky1:"leftLittleProximal",mixamorigLeftHandPinky2:"leftLittleIntermediate",mixamorigLeftHandPinky3:"leftLittleDistal",mixamorigRightShoulder:"rightShoulder",mixamorigRightArm:"rightUpperArm",mixamorigRightForeArm:"rightLowerArm",mixamorigRightHand:"rightHand",mixamorigRightHandPinky1:"rightLittleProximal",mixamorigRightHandPinky2:"rightLittleIntermediate",mixamorigRightHandPinky3:"rightLittleDistal",mixamorigRightHandRing1:"rightRingProximal",mixamorigRightHandRing2:"rightRingIntermediate",mixamorigRightHandRing3:"rightRingDistal",mixamorigRightHandMiddle1:"rightMiddleProximal",mixamorigRightHandMiddle2:"rightMiddleIntermediate",mixamorigRightHandMiddle3:"rightMiddleDistal",mixamorigRightHandIndex1:"rightIndexProximal",mixamorigRightHandIndex2:"rightIndexIntermediate",mixamorigRightHandIndex3:"rightIndexDistal",mixamorigRightHandThumb1:"rightThumbMetacarpal",mixamorigRightHandThumb2:"rightThumbProximal",mixamorigRightHandThumb3:"rightThumbDistal",mixamorigLeftUpLeg:"leftUpperLeg",mixamorigLeftLeg:"leftLowerLeg",mixamorigLeftFoot:"leftFoot",mixamorigLeftToeBase:"leftToes",mixamorigRightUpLeg:"rightUpperLeg",mixamorigRightLeg:"rightLowerLeg",mixamorigRightFoot:"rightFoot",mixamorigRightToeBase:"rightToes"};function XG(n,e,t){var m;const r=Du.findByName(n,"mixamo.com");if(r==null)return null;const i=[],s=new tt,o=new tt,a=new tt,l=new $,c=e.getObjectByName("mixamorigHips").position.y,A=(m=t.humanoid)==null?void 0:m.getNormalizedBoneNode("hips").getWorldPosition(l).y,u=t.scene.getWorldPosition(l).y,h=Math.abs(A-u)/c;return r.tracks.forEach(g=>{const p=g.clone(),v=p.name.split("."),w=v[0],x=gge[w],b=e.getObjectByName(w);if(x!=null){const B=v[1];if(b.getWorldQuaternion(s).invert(),b.parent.getWorldQuaternion(o),p instanceof Ja){for(let S=0;S{p.values[P+S]=M})}i.push(new Ja(`${x}.${B}`,p.times,p.values.map((S,I)=>{var M;return((M=t.meta)==null?void 0:M.metaVersion)==="0"&&I%2===0?-S:S})))}else if(p instanceof ic){const S=p.values.map((I,M)=>{var P;return(((P=t.meta)==null?void 0:P.metaVersion)==="0"&&M%3!==1?-I:I)*h});i.push(new ic(`${x}.${B}`,p.times,S))}}}),new Du("vrmAnimation",r.duration,i)}const vge=new Hae,yge=new jz,YB=.2,wge=n=>Math.floor(Math.random()*n);class DO{constructor(e,t,r,i,s,o,a){var l,c,A,u;this.mixer=new yoe(t),this.actions=[],this.to=null,this.from=null,this.vrm=r,this.animationManager=e,this.mixamoModel=null,this.fadeOutActions=null,this.newAnimationWeight=1,this.neckBone=(c=(l=r==null?void 0:r.humanoid)==null?void 0:l.humanBones)==null?void 0:c.neck,this.spineBone=(u=(A=r==null?void 0:r.humanoid)==null?void 0:A.humanBones)==null?void 0:u.spine,this.timeScale=1,i&&(this.setAnimations(i,null,null,a),this.to=this.actions[s],o!=-1&&(this.from=this.actions[o],this.from.reset(),this.from.time=e.getFromActionTime(),this.from.play(),this.to.weight=e.getWeightIn(),this.from.weight=e.getWeightOut()),this.actions[s].reset(),this.actions[s].time=e.getToActionTime(),this.actions[s].play())}setTimeScale(e){this.timeScale=e,this.actions.forEach(t=>{t.timeScale=e})}setMouseLookEnabled(e){this.setAnimations(this.animations,this.mixamoModel,e)}setAnimations(e,t=null,r=null,i=!1){if(r=r??this.animationManager.mouseLookEnabled,this.animations=e,t!=null){if(this.vrm!=null){const s=XG(e,t,this.vrm);s&&(e=[s],this.mixamoModel=t)}}else{const s=[];e.forEach(o=>{s.push(o.clone())}),e=s}if(r&&e[0].tracks.map((s,o)=>{(s.name==="neck.quaternion"||s.name==="spine.quaternion")&&e[0].tracks.splice(o,1)}),i){this.actions.forEach(s=>{s.weight=0,s.stop()}),this.actions=[],this.newAnimationWeight=1;for(let s=0;s{r.weight=1-this.newAnimationWeight}),this.newAnimationWeight>=1&&(this.newAnimationWeight=1,this.fadeOutActions.forEach(r=>{r.weight=0,r.stop()}),this.fadeOutActions=null),this.actions.forEach(r=>{r.weight=this.newAnimationWeight})),this.from!=null&&(this.from.weight=t),this.to!=null&&(this.to.weight=e),this.mixer.update(1/30)}reset(){this.mixer.setTime(0),this.to.paused=!0}resume(){this.to.paused=!1}setTime(e){this.mixer.setTime(e)}getTime(){return this.mixer.time}dispose(){this.animationManager.disposeAnimation(this)}}class _ge{constructor(){this.animationPaths=[],this.defaultAnimations=[],this.lastAnimID=null,this.mainControl=null,this.animationControl=null,this.animations=null,this.paused=!1,this.scale=1,this.curLoadAnim=0,this.currentAnimationName="",this.weightIn=NaN,this.weightOut=NaN,this.lastAnimID=-1,this.curAnimID=0,this.animationControls=[],this.started=!1,this.mouseLookEnabled=!1,this.mixamoModel=null,this.mixamoAnimations=null,this.currentClip=null,setInterval(()=>{this.update()},1e3/30)}enableMouseLook(e){this.mouseLookEnabled=e,this.animationControls.forEach(t=>{t.setMouseLookEnabled(e)})}setScale(e){this.scale=e}async loadAnimation(e,t,r=0,i=!0,s="",o=""){const a=s+(s!=""?"/":"")+mt(e)[0];o=o==""?Kl(a):o,this.currentAnimationName=o;const c=await(i?vge:yge).loadAsync(a);c.scale.set(this.scale,this.scale,this.scale),this._scaleOffsetHips(c.animations);const A=Du.findByName(c.animations,"mixamo.com");A!=null?(this.mixamoModel=c.clone(),this.mixamoAnimations=c.animations,this.currentClip=A):(this.mixamoModel=null,this.animations=c.animations,this.currentClip=c.animations[0]),this.mainControl==null&&(this.curAnimID=0,this.lastAnimID=-1,this.mainControl=new DO(this,c,null,c.animations,this.curAnimID,this.lastAnimID,t),this.animationControls.push(this.mainControl)),this.animationControls.forEach(u=>{u.setAnimations(c.animations,this.mixamoModel,this.mouseLookEnabled,t)}),this.setTime(r),t?this.pause():this.play()}getCurrentClip(){return this.currentClip}getCurrentClipDuration(){return this.currentClip?this.currentClip.duration:0}getCurrentAnimationName(){return this.currentAnimationName}clearCurrentAnimations(){this.animationPaths=this.defaultAnimations,this.animationControls=[],this.mainControl=null}storeAnimationPaths(e,t,r=!0){const i=mt(e);r?this.animationPaths=[...this.defaultAnimations,...i.map(s=>`${t}/${s}`)]:this.animationPaths=i.map(s=>t!=""?`${t}/${s}`:s)}storeDefaultAnimationPaths(e,t){const r=mt(e);this.defaultAnimations=r.map(i=>t!=""?`${t}/${i}`:i),this.animationPaths=this.defaultAnimations}loadNextAnimation(){this.curLoadAnim==this.animationPaths.length-1?this.curLoadAnim=0:this.curLoadAnim++,this.loadAnimation(this.animationPaths[this.curLoadAnim])}loadPreviousAnimation(){this.curLoadAnim==0?this.curLoadAnim=this.animationPaths.length-1:this.curLoadAnim--,this.loadAnimation(this.animationPaths[this.curLoadAnim])}enableScreenshot(){this.animationControls.forEach(e=>{e.reset()})}disableScreenshot(){this.animationControls.forEach(e=>{e.resume()})}_scaleOffsetHips(e){e.forEach(t=>{for(let r=0;rr.vrm===e);t!==-1&&this.animationControls.splice(t,1)[0].dispose()}getFromActionTime(){return this.mainControl.actions[this.lastAnimID].time}getToActionTime(){return this.mainControl?this.mainControl.actions[this.curAnimID].time:.1}getWeightIn(){return this.weightIn}getWeightOut(){return this.weightOut}disposeAnimation(e){if(e!=null){const t=this.animationControls.indexOf(e);t!=-1&&this.animationControls.splice(t,1)}}dispose(){this.animationControls.forEach(e=>{e.dispose()})}animRandomizer(e){setTimeout(()=>{this.lastAnimID=this.curAnimID,this.curAnimID=wge(this.animations.length),this.curAnimID!=this.lastAnimID&&this.animationControls.forEach(t=>{t.from=t.actions[this.lastAnimID],t.to=t.actions[this.curAnimID],this.weightIn=0,this.weightOut=1,t.to.play(),t.to.reset()}),this.animRandomizer(this.animations[this.curAnimID].duration-YB)},e*1e3)}pause(){this.paused=!0}play(){this.paused=!1}isPaused(){return this.paused}setTime(e){this.mainControl&&this.animationControls.forEach(t=>{t.setTime(e)})}setFrame(e){this.setTime(e*30)}setSpeed(e){this.mainControl&&this.animationControls.forEach(t=>{t.setTimeScale(e)})}update(e=!1){(this.mainControl&&!this.paused||e)&&(this.animationControls.forEach(t=>{t.update(this.weightIn,this.weightOut)}),this.weightIn<1?this.weightIn+=1/(30*YB):this.weightIn=1,this.weightOut>0?this.weightOut-=1/(30*YB):this.weightOut=0)}}const xge={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` varying vec2 vUv; @@ -5038,7 +5038,7 @@ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/js JSZip uses the library pako released under the MIT license : https://github.com/nodeca/pako/blob/main/LICENSE */(function(n,e){(function(t){n.exports=t()})(function(){return function t(r,i,s){function o(c,A){if(!i[c]){if(!r[c]){var u=typeof Dy=="function"&&Dy;if(!A&&u)return u(c,!0);if(a)return a(c,!0);var f=new Error("Cannot find module '"+c+"'");throw f.code="MODULE_NOT_FOUND",f}var h=i[c]={exports:{}};r[c][0].call(h.exports,function(d){var m=r[c][1][d];return o(m||d)},h,h.exports,t,r,i,s)}return i[c].exports}for(var a=typeof Dy=="function"&&Dy,l=0;l>2,h=(3&c)<<4|A>>4,d=1>6:64,m=2>4,A=(15&f)<<4|(h=a.indexOf(l.charAt(m++)))>>2,u=(3&h)<<6|(d=a.indexOf(l.charAt(m++))),v[g++]=c,h!==64&&(v[g++]=A),d!==64&&(v[g++]=u);return v}},{"./support":30,"./utils":32}],2:[function(t,r,i){var s=t("./external"),o=t("./stream/DataWorker"),a=t("./stream/Crc32Probe"),l=t("./stream/DataLengthProbe");function c(A,u,f,h,d){this.compressedSize=A,this.uncompressedSize=u,this.crc32=f,this.compression=h,this.compressedContent=d}c.prototype={getContentWorker:function(){var A=new o(s.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new l("data_length")),u=this;return A.on("end",function(){if(this.streamInfo.data_length!==u.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),A},getCompressedWorker:function(){return new o(s.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},c.createWorkerFrom=function(A,u,f){return A.pipe(new a).pipe(new l("uncompressedSize")).pipe(u.compressWorker(f)).pipe(new l("compressedSize")).withStreamInfo("compression",u)},r.exports=c},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,r,i){var s=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new s("STORE compression")},uncompressWorker:function(){return new s("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,r,i){var s=t("./utils"),o=function(){for(var a,l=[],c=0;c<256;c++){a=c;for(var A=0;A<8;A++)a=1&a?3988292384^a>>>1:a>>>1;l[c]=a}return l}();r.exports=function(a,l){return a!==void 0&&a.length?s.getTypeOf(a)!=="string"?function(c,A,u,f){var h=o,d=f+u;c^=-1;for(var m=f;m>>8^h[255&(c^A[m])];return-1^c}(0|l,a,a.length,0):function(c,A,u,f){var h=o,d=f+u;c^=-1;for(var m=f;m>>8^h[255&(c^A.charCodeAt(m))];return-1^c}(0|l,a,a.length,0):0}},{"./utils":32}],5:[function(t,r,i){i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,r,i){var s=null;s=typeof Promise<"u"?Promise:t("lie"),r.exports={Promise:s}},{lie:37}],7:[function(t,r,i){var s=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),a=t("./utils"),l=t("./stream/GenericWorker"),c=s?"uint8array":"array";function A(u,f){l.call(this,"FlateWorker/"+u),this._pako=null,this._pakoAction=u,this._pakoOptions=f,this.meta={}}i.magic="\b\0",a.inherits(A,l),A.prototype.processChunk=function(u){this.meta=u.meta,this._pako===null&&this._createPako(),this._pako.push(a.transformTo(c,u.data),!1)},A.prototype.flush=function(){l.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},A.prototype.cleanUp=function(){l.prototype.cleanUp.call(this),this._pako=null},A.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var u=this;this._pako.onData=function(f){u.push({data:f,meta:u.meta})}},i.compressWorker=function(u){return new A("Deflate",u)},i.uncompressWorker=function(){return new A("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,r,i){function s(h,d){var m,g="";for(m=0;m>>=8;return g}function o(h,d,m,g,p,v){var w,_,x=h.file,b=h.compression,B=v!==c.utf8encode,S=a.transformTo("string",v(x.name)),I=a.transformTo("string",c.utf8encode(x.name)),M=x.comment,P=a.transformTo("string",v(M)),D=a.transformTo("string",c.utf8encode(M)),T=I.length!==x.name.length,y=D.length!==M.length,E="",R="",L="",O=x.dir,z=x.date,j={crc32:0,compressedSize:0,uncompressedSize:0};d&&!m||(j.crc32=h.crc32,j.compressedSize=h.compressedSize,j.uncompressedSize=h.uncompressedSize);var H=0;d&&(H|=8),B||!T&&!y||(H|=2048);var C=0,W=0;O&&(C|=16),p==="UNIX"?(W=798,C|=function(F,ie){var ue=F;return F||(ue=ie?16893:33204),(65535&ue)<<16}(x.unixPermissions,O)):(W=20,C|=function(F){return 63&(F||0)}(x.dosPermissions)),w=z.getUTCHours(),w<<=6,w|=z.getUTCMinutes(),w<<=5,w|=z.getUTCSeconds()/2,_=z.getUTCFullYear()-1980,_<<=4,_|=z.getUTCMonth()+1,_<<=5,_|=z.getUTCDate(),T&&(R=s(1,1)+s(A(S),4)+I,E+="up"+s(R.length,2)+R),y&&(L=s(1,1)+s(A(P),4)+D,E+="uc"+s(L.length,2)+L);var ee="";return ee+=` -\0`,ee+=s(H,2),ee+=b.magic,ee+=s(w,2),ee+=s(_,2),ee+=s(j.crc32,4),ee+=s(j.compressedSize,4),ee+=s(j.uncompressedSize,4),ee+=s(S.length,2),ee+=s(E.length,2),{fileRecord:u.LOCAL_FILE_HEADER+ee+S+E,dirRecord:u.CENTRAL_FILE_HEADER+s(W,2)+ee+s(P.length,2)+"\0\0\0\0"+s(C,4)+s(g,4)+S+E+P}}var a=t("../utils"),l=t("../stream/GenericWorker"),c=t("../utf8"),A=t("../crc32"),u=t("../signature");function f(h,d,m,g){l.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=d,this.zipPlatform=m,this.encodeFileName=g,this.streamFiles=h,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}a.inherits(f,l),f.prototype.push=function(h){var d=h.meta.percent||0,m=this.entriesCount,g=this._sources.length;this.accumulate?this.contentBuffer.push(h):(this.bytesWritten+=h.data.length,l.prototype.push.call(this,{data:h.data,meta:{currentFile:this.currentFile,percent:m?(d+100*(m-g-1))/m:100}}))},f.prototype.openedSource=function(h){this.currentSourceOffset=this.bytesWritten,this.currentFile=h.file.name;var d=this.streamFiles&&!h.file.dir;if(d){var m=o(h,d,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:m.fileRecord,meta:{percent:0}})}else this.accumulate=!0},f.prototype.closedSource=function(h){this.accumulate=!1;var d=this.streamFiles&&!h.file.dir,m=o(h,d,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(m.dirRecord),d)this.push({data:function(g){return u.DATA_DESCRIPTOR+s(g.crc32,4)+s(g.compressedSize,4)+s(g.uncompressedSize,4)}(h),meta:{percent:100}});else for(this.push({data:m.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},f.prototype.flush=function(){for(var h=this.bytesWritten,d=0;d=this.index;l--)c=(c<<8)+this.byteAt(l);return this.index+=a,c},readString:function(a){return s.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date(Date.UTC(1980+(a>>25&127),(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1))}},r.exports=o},{"../utils":32}],19:[function(t,r,i){var s=t("./Uint8ArrayReader");function o(a){s.call(this,a)}t("../utils").inherits(o,s),o.prototype.readData=function(a){this.checkOffset(a);var l=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,l},r.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,r,i){var s=t("./DataReader");function o(a){s.call(this,a)}t("../utils").inherits(o,s),o.prototype.byteAt=function(a){return this.data.charCodeAt(this.zero+a)},o.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)-this.zero},o.prototype.readAndCheckSignature=function(a){return a===this.readData(4)},o.prototype.readData=function(a){this.checkOffset(a);var l=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,l},r.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,r,i){var s=t("./ArrayReader");function o(a){s.call(this,a)}t("../utils").inherits(o,s),o.prototype.readData=function(a){if(this.checkOffset(a),a===0)return new Uint8Array(0);var l=this.data.subarray(this.zero+this.index,this.zero+this.index+a);return this.index+=a,l},r.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,r,i){var s=t("../utils"),o=t("../support"),a=t("./ArrayReader"),l=t("./StringReader"),c=t("./NodeBufferReader"),A=t("./Uint8ArrayReader");r.exports=function(u){var f=s.getTypeOf(u);return s.checkSupport(f),f!=="string"||o.uint8array?f==="nodebuffer"?new c(u):o.uint8array?new A(s.transformTo("uint8array",u)):new a(s.transformTo("array",u)):new l(u)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,r,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,r,i){var s=t("./GenericWorker"),o=t("../utils");function a(l){s.call(this,"ConvertWorker to "+l),this.destType=l}o.inherits(a,s),a.prototype.processChunk=function(l){this.push({data:o.transformTo(this.destType,l.data),meta:l.meta})},r.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(t,r,i){var s=t("./GenericWorker"),o=t("../crc32");function a(){s.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(a,s),a.prototype.processChunk=function(l){this.streamInfo.crc32=o(l.data,this.streamInfo.crc32||0),this.push(l)},r.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,r,i){var s=t("../utils"),o=t("./GenericWorker");function a(l){o.call(this,"DataLengthProbe for "+l),this.propName=l,this.withStreamInfo(l,0)}s.inherits(a,o),a.prototype.processChunk=function(l){if(l){var c=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=c+l.data.length}o.prototype.processChunk.call(this,l)},r.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(t,r,i){var s=t("../utils"),o=t("./GenericWorker");function a(l){o.call(this,"DataWorker");var c=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,l.then(function(A){c.dataIsReady=!0,c.data=A,c.max=A&&A.length||0,c.type=s.getTypeOf(A),c.isPaused||c._tickAndRepeat()},function(A){c.error(A)})}s.inherits(a,o),a.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,s.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(s.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var l=null,c=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":l=this.data.substring(this.index,c);break;case"uint8array":l=this.data.subarray(this.index,c);break;case"array":case"nodebuffer":l=this.data.slice(this.index,c)}return this.index=c,this.push({data:l,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=a},{"../utils":32,"./GenericWorker":28}],28:[function(t,r,i){function s(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}s.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,a){return this._listeners[o].push(a),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,a){if(this._listeners[o])for(var l=0;l "+o:o}},r.exports=s},{}],29:[function(t,r,i){var s=t("../utils"),o=t("./ConvertWorker"),a=t("./GenericWorker"),l=t("../base64"),c=t("../support"),A=t("../external"),u=null;if(c.nodestream)try{u=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function f(d,m){return new A.Promise(function(g,p){var v=[],w=d._internalType,_=d._outputType,x=d._mimeType;d.on("data",function(b,B){v.push(b),m&&m(B)}).on("error",function(b){v=[],p(b)}).on("end",function(){try{var b=function(B,S,I){switch(B){case"blob":return s.newBlob(s.transformTo("arraybuffer",S),I);case"base64":return l.encode(S);default:return s.transformTo(B,S)}}(_,function(B,S){var I,M=0,P=null,D=0;for(I=0;I"u")i.blob=!1;else{var s=new ArrayBuffer(0);try{i.blob=new Blob([s],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(s),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,r,i){for(var s=t("./utils"),o=t("./support"),a=t("./nodejsUtils"),l=t("./stream/GenericWorker"),c=new Array(256),A=0;A<256;A++)c[A]=252<=A?6:248<=A?5:240<=A?4:224<=A?3:192<=A?2:1;c[254]=c[254]=1;function u(){l.call(this,"utf-8 decode"),this.leftOver=null}function f(){l.call(this,"utf-8 encode")}i.utf8encode=function(h){return o.nodebuffer?a.newBufferFrom(h,"utf-8"):function(d){var m,g,p,v,w,_=d.length,x=0;for(v=0;v<_;v++)(64512&(g=d.charCodeAt(v)))==55296&&v+1<_&&(64512&(p=d.charCodeAt(v+1)))==56320&&(g=65536+(g-55296<<10)+(p-56320),v++),x+=g<128?1:g<2048?2:g<65536?3:4;for(m=o.uint8array?new Uint8Array(x):new Array(x),v=w=0;w>>6:(g<65536?m[w++]=224|g>>>12:(m[w++]=240|g>>>18,m[w++]=128|g>>>12&63),m[w++]=128|g>>>6&63),m[w++]=128|63&g);return m}(h)},i.utf8decode=function(h){return o.nodebuffer?s.transformTo("nodebuffer",h).toString("utf-8"):function(d){var m,g,p,v,w=d.length,_=new Array(2*w);for(m=g=0;m>10&1023,_[g++]=56320|1023&p)}return _.length!==g&&(_.subarray?_=_.subarray(0,g):_.length=g),s.applyFromCharCode(_)}(h=s.transformTo(o.uint8array?"uint8array":"array",h))},s.inherits(u,l),u.prototype.processChunk=function(h){var d=s.transformTo(o.uint8array?"uint8array":"array",h.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var m=d;(d=new Uint8Array(m.length+this.leftOver.length)).set(this.leftOver,0),d.set(m,this.leftOver.length)}else d=this.leftOver.concat(d);this.leftOver=null}var g=function(v,w){var _;for((w=w||v.length)>v.length&&(w=v.length),_=w-1;0<=_&&(192&v[_])==128;)_--;return _<0||_===0?w:_+c[v[_]]>w?_:w}(d),p=d;g!==d.length&&(o.uint8array?(p=d.subarray(0,g),this.leftOver=d.subarray(g,d.length)):(p=d.slice(0,g),this.leftOver=d.slice(g,d.length))),this.push({data:i.utf8decode(p),meta:h.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=u,s.inherits(f,l),f.prototype.processChunk=function(h){this.push({data:i.utf8encode(h.data),meta:h.meta})},i.Utf8EncodeWorker=f},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,r,i){var s=t("./support"),o=t("./base64"),a=t("./nodejsUtils"),l=t("./external");function c(m){return m}function A(m,g){for(var p=0;p>8;this.dir=!!(16&this.externalFileAttributes),h==0&&(this.dosPermissions=63&this.externalFileAttributes),h==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var h=s(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=h.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=h.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=h.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=h.readInt(4))}},readExtraFields:function(h){var d,m,g,p=h.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});h.index+4>>6:(h<65536?f[g++]=224|h>>>12:(f[g++]=240|h>>>18,f[g++]=128|h>>>12&63),f[g++]=128|h>>>6&63),f[g++]=128|63&h);return f},i.buf2binstring=function(u){return A(u,u.length)},i.binstring2buf=function(u){for(var f=new s.Buf8(u.length),h=0,d=f.length;h>10&1023,v[d++]=56320|1023&m)}return A(v,d)},i.utf8border=function(u,f){var h;for((f=f||u.length)>u.length&&(f=u.length),h=f-1;0<=h&&(192&u[h])==128;)h--;return h<0||h===0?f:h+l[u[h]]>f?h:f}},{"./common":41}],43:[function(t,r,i){r.exports=function(s,o,a,l){for(var c=65535&s|0,A=s>>>16&65535|0,u=0;a!==0;){for(a-=u=2e3>>1:o>>>1;a[l]=o}return a}();r.exports=function(o,a,l,c){var A=s,u=c+l;o^=-1;for(var f=c;f>>8^A[255&(o^a[f])];return-1^o}},{}],46:[function(t,r,i){var s,o=t("../utils/common"),a=t("./trees"),l=t("./adler32"),c=t("./crc32"),A=t("./messages"),u=0,f=4,h=0,d=-2,m=-1,g=4,p=2,v=8,w=9,_=286,x=30,b=19,B=2*_+1,S=15,I=3,M=258,P=M+I+1,D=42,T=113,y=1,E=2,R=3,L=4;function O(k,ae){return k.msg=A[ae],ae}function z(k){return(k<<1)-(4k.avail_out&&(ce=k.avail_out),ce!==0&&(o.arraySet(k.output,ae.pending_buf,ae.pending_out,ce,k.next_out),k.next_out+=ce,ae.pending_out+=ce,k.total_out+=ce,k.avail_out-=ce,ae.pending-=ce,ae.pending===0&&(ae.pending_out=0))}function C(k,ae){a._tr_flush_block(k,0<=k.block_start?k.block_start:-1,k.strstart-k.block_start,ae),k.block_start=k.strstart,H(k.strm)}function W(k,ae){k.pending_buf[k.pending++]=ae}function ee(k,ae){k.pending_buf[k.pending++]=ae>>>8&255,k.pending_buf[k.pending++]=255&ae}function F(k,ae){var ce,Z,J=k.max_chain_length,he=k.strstart,X=k.prev_length,V=k.nice_match,te=k.strstart>k.w_size-P?k.strstart-(k.w_size-P):0,Y=k.window,fe=k.w_mask,oe=k.prev,Ee=k.strstart+M,G=Y[he+X-1],U=Y[he+X];k.prev_length>=k.good_match&&(J>>=2),V>k.lookahead&&(V=k.lookahead);do if(Y[(ce=ae)+X]===U&&Y[ce+X-1]===G&&Y[ce]===Y[he]&&Y[++ce]===Y[he+1]){he+=2,ce++;do;while(Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&hete&&--J!=0);return X<=k.lookahead?X:k.lookahead}function ie(k){var ae,ce,Z,J,he,X,V,te,Y,fe,oe=k.w_size;do{if(J=k.window_size-k.lookahead-k.strstart,k.strstart>=oe+(oe-P)){for(o.arraySet(k.window,k.window,oe,oe,0),k.match_start-=oe,k.strstart-=oe,k.block_start-=oe,ae=ce=k.hash_size;Z=k.head[--ae],k.head[ae]=oe<=Z?Z-oe:0,--ce;);for(ae=ce=oe;Z=k.prev[--ae],k.prev[ae]=oe<=Z?Z-oe:0,--ce;);J+=oe}if(k.strm.avail_in===0)break;if(X=k.strm,V=k.window,te=k.strstart+k.lookahead,Y=J,fe=void 0,fe=X.avail_in,Y=I)for(he=k.strstart-k.insert,k.ins_h=k.window[he],k.ins_h=(k.ins_h<=I&&(k.ins_h=(k.ins_h<=I)if(Z=a._tr_tally(k,k.strstart-k.match_start,k.match_length-I),k.lookahead-=k.match_length,k.match_length<=k.max_lazy_match&&k.lookahead>=I){for(k.match_length--;k.strstart++,k.ins_h=(k.ins_h<=I&&(k.ins_h=(k.ins_h<=I&&k.match_length<=k.prev_length){for(J=k.strstart+k.lookahead-I,Z=a._tr_tally(k,k.strstart-1-k.prev_match,k.prev_length-I),k.lookahead-=k.prev_length-1,k.prev_length-=2;++k.strstart<=J&&(k.ins_h=(k.ins_h<k.pending_buf_size-5&&(ce=k.pending_buf_size-5);;){if(k.lookahead<=1){if(ie(k),k.lookahead===0&&ae===u)return y;if(k.lookahead===0)break}k.strstart+=k.lookahead,k.lookahead=0;var Z=k.block_start+ce;if((k.strstart===0||k.strstart>=Z)&&(k.lookahead=k.strstart-Z,k.strstart=Z,C(k,!1),k.strm.avail_out===0)||k.strstart-k.block_start>=k.w_size-P&&(C(k,!1),k.strm.avail_out===0))return y}return k.insert=0,ae===f?(C(k,!0),k.strm.avail_out===0?R:L):(k.strstart>k.block_start&&(C(k,!1),k.strm.avail_out),y)}),new me(4,4,8,4,ue),new me(4,5,16,8,ue),new me(4,6,32,32,ue),new me(4,4,16,16,le),new me(8,16,32,32,le),new me(8,16,128,128,le),new me(8,32,128,256,le),new me(32,128,258,1024,le),new me(32,258,258,4096,le)],i.deflateInit=function(k,ae){return re(k,ae,v,15,8,0)},i.deflateInit2=re,i.deflateReset=be,i.deflateResetKeep=ve,i.deflateSetHeader=function(k,ae){return k&&k.state?k.state.wrap!==2?d:(k.state.gzhead=ae,h):d},i.deflate=function(k,ae){var ce,Z,J,he;if(!k||!k.state||5>8&255),W(Z,Z.gzhead.time>>16&255),W(Z,Z.gzhead.time>>24&255),W(Z,Z.level===9?2:2<=Z.strategy||Z.level<2?4:0),W(Z,255&Z.gzhead.os),Z.gzhead.extra&&Z.gzhead.extra.length&&(W(Z,255&Z.gzhead.extra.length),W(Z,Z.gzhead.extra.length>>8&255)),Z.gzhead.hcrc&&(k.adler=c(k.adler,Z.pending_buf,Z.pending,0)),Z.gzindex=0,Z.status=69):(W(Z,0),W(Z,0),W(Z,0),W(Z,0),W(Z,0),W(Z,Z.level===9?2:2<=Z.strategy||Z.level<2?4:0),W(Z,3),Z.status=T);else{var X=v+(Z.w_bits-8<<4)<<8;X|=(2<=Z.strategy||Z.level<2?0:Z.level<6?1:Z.level===6?2:3)<<6,Z.strstart!==0&&(X|=32),X+=31-X%31,Z.status=T,ee(Z,X),Z.strstart!==0&&(ee(Z,k.adler>>>16),ee(Z,65535&k.adler)),k.adler=1}if(Z.status===69)if(Z.gzhead.extra){for(J=Z.pending;Z.gzindex<(65535&Z.gzhead.extra.length)&&(Z.pending!==Z.pending_buf_size||(Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),H(k),J=Z.pending,Z.pending!==Z.pending_buf_size));)W(Z,255&Z.gzhead.extra[Z.gzindex]),Z.gzindex++;Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),Z.gzindex===Z.gzhead.extra.length&&(Z.gzindex=0,Z.status=73)}else Z.status=73;if(Z.status===73)if(Z.gzhead.name){J=Z.pending;do{if(Z.pending===Z.pending_buf_size&&(Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),H(k),J=Z.pending,Z.pending===Z.pending_buf_size)){he=1;break}he=Z.gzindexJ&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),he===0&&(Z.gzindex=0,Z.status=91)}else Z.status=91;if(Z.status===91)if(Z.gzhead.comment){J=Z.pending;do{if(Z.pending===Z.pending_buf_size&&(Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),H(k),J=Z.pending,Z.pending===Z.pending_buf_size)){he=1;break}he=Z.gzindexJ&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),he===0&&(Z.status=103)}else Z.status=103;if(Z.status===103&&(Z.gzhead.hcrc?(Z.pending+2>Z.pending_buf_size&&H(k),Z.pending+2<=Z.pending_buf_size&&(W(Z,255&k.adler),W(Z,k.adler>>8&255),k.adler=0,Z.status=T)):Z.status=T),Z.pending!==0){if(H(k),k.avail_out===0)return Z.last_flush=-1,h}else if(k.avail_in===0&&z(ae)<=z(ce)&&ae!==f)return O(k,-5);if(Z.status===666&&k.avail_in!==0)return O(k,-5);if(k.avail_in!==0||Z.lookahead!==0||ae!==u&&Z.status!==666){var V=Z.strategy===2?function(te,Y){for(var fe;;){if(te.lookahead===0&&(ie(te),te.lookahead===0)){if(Y===u)return y;break}if(te.match_length=0,fe=a._tr_tally(te,0,te.window[te.strstart]),te.lookahead--,te.strstart++,fe&&(C(te,!1),te.strm.avail_out===0))return y}return te.insert=0,Y===f?(C(te,!0),te.strm.avail_out===0?R:L):te.last_lit&&(C(te,!1),te.strm.avail_out===0)?y:E}(Z,ae):Z.strategy===3?function(te,Y){for(var fe,oe,Ee,G,U=te.window;;){if(te.lookahead<=M){if(ie(te),te.lookahead<=M&&Y===u)return y;if(te.lookahead===0)break}if(te.match_length=0,te.lookahead>=I&&0te.lookahead&&(te.match_length=te.lookahead)}if(te.match_length>=I?(fe=a._tr_tally(te,1,te.match_length-I),te.lookahead-=te.match_length,te.strstart+=te.match_length,te.match_length=0):(fe=a._tr_tally(te,0,te.window[te.strstart]),te.lookahead--,te.strstart++),fe&&(C(te,!1),te.strm.avail_out===0))return y}return te.insert=0,Y===f?(C(te,!0),te.strm.avail_out===0?R:L):te.last_lit&&(C(te,!1),te.strm.avail_out===0)?y:E}(Z,ae):s[Z.level].func(Z,ae);if(V!==R&&V!==L||(Z.status=666),V===y||V===R)return k.avail_out===0&&(Z.last_flush=-1),h;if(V===E&&(ae===1?a._tr_align(Z):ae!==5&&(a._tr_stored_block(Z,0,0,!1),ae===3&&(j(Z.head),Z.lookahead===0&&(Z.strstart=0,Z.block_start=0,Z.insert=0))),H(k),k.avail_out===0))return Z.last_flush=-1,h}return ae!==f?h:Z.wrap<=0?1:(Z.wrap===2?(W(Z,255&k.adler),W(Z,k.adler>>8&255),W(Z,k.adler>>16&255),W(Z,k.adler>>24&255),W(Z,255&k.total_in),W(Z,k.total_in>>8&255),W(Z,k.total_in>>16&255),W(Z,k.total_in>>24&255)):(ee(Z,k.adler>>>16),ee(Z,65535&k.adler)),H(k),0=ce.w_size&&(he===0&&(j(ce.head),ce.strstart=0,ce.block_start=0,ce.insert=0),Y=new o.Buf8(ce.w_size),o.arraySet(Y,ae,fe-ce.w_size,ce.w_size,0),ae=Y,fe=ce.w_size),X=k.avail_in,V=k.next_in,te=k.input,k.avail_in=fe,k.next_in=0,k.input=ae,ie(ce);ce.lookahead>=I;){for(Z=ce.strstart,J=ce.lookahead-(I-1);ce.ins_h=(ce.ins_h<>>=I=S>>>24,w-=I,(I=S>>>16&255)===0)E[A++]=65535&S;else{if(!(16&I)){if(!(64&I)){S=_[(65535&S)+(v&(1<>>=I,w-=I),w<15&&(v+=y[l++]<>>=I=S>>>24,w-=I,!(16&(I=S>>>16&255))){if(!(64&I)){S=x[(65535&S)+(v&(1<>>=I,w-=I,(I=A-u)>3,v&=(1<<(w-=M<<3))-1,s.next_in=l,s.next_out=A,s.avail_in=l>>24&255)+(D>>>8&65280)+((65280&D)<<8)+((255&D)<<24)}function v(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function w(D){var T;return D&&D.state?(T=D.state,D.total_in=D.total_out=T.total=0,D.msg="",T.wrap&&(D.adler=1&T.wrap),T.mode=d,T.last=0,T.havedict=0,T.dmax=32768,T.head=null,T.hold=0,T.bits=0,T.lencode=T.lendyn=new s.Buf32(m),T.distcode=T.distdyn=new s.Buf32(g),T.sane=1,T.back=-1,f):h}function _(D){var T;return D&&D.state?((T=D.state).wsize=0,T.whave=0,T.wnext=0,w(D)):h}function x(D,T){var y,E;return D&&D.state?(E=D.state,T<0?(y=0,T=-T):(y=1+(T>>4),T<48&&(T&=15)),T&&(T<8||15=L.wsize?(s.arraySet(L.window,T,y-L.wsize,L.wsize,0),L.wnext=0,L.whave=L.wsize):(E<(R=L.wsize-L.wnext)&&(R=E),s.arraySet(L.window,T,y-E,R,L.wnext),(E-=R)?(s.arraySet(L.window,T,y-E,E,0),L.wnext=E,L.whave=L.wsize):(L.wnext+=R,L.wnext===L.wsize&&(L.wnext=0),L.whave>>8&255,y.check=a(y.check,he,2,0),C=H=0,y.mode=2;break}if(y.flags=0,y.head&&(y.head.done=!1),!(1&y.wrap)||(((255&H)<<8)+(H>>8))%31){D.msg="incorrect header check",y.mode=30;break}if((15&H)!=8){D.msg="unknown compression method",y.mode=30;break}if(C-=4,k=8+(15&(H>>>=4)),y.wbits===0)y.wbits=k;else if(k>y.wbits){D.msg="invalid window size",y.mode=30;break}y.dmax=1<>8&1),512&y.flags&&(he[0]=255&H,he[1]=H>>>8&255,y.check=a(y.check,he,2,0)),C=H=0,y.mode=3;case 3:for(;C<32;){if(z===0)break e;z--,H+=E[L++]<>>8&255,he[2]=H>>>16&255,he[3]=H>>>24&255,y.check=a(y.check,he,4,0)),C=H=0,y.mode=4;case 4:for(;C<16;){if(z===0)break e;z--,H+=E[L++]<>8),512&y.flags&&(he[0]=255&H,he[1]=H>>>8&255,y.check=a(y.check,he,2,0)),C=H=0,y.mode=5;case 5:if(1024&y.flags){for(;C<16;){if(z===0)break e;z--,H+=E[L++]<>>8&255,y.check=a(y.check,he,2,0)),C=H=0}else y.head&&(y.head.extra=null);y.mode=6;case 6:if(1024&y.flags&&(z<(F=y.length)&&(F=z),F&&(y.head&&(k=y.head.extra_len-y.length,y.head.extra||(y.head.extra=new Array(y.head.extra_len)),s.arraySet(y.head.extra,E,L,F,k)),512&y.flags&&(y.check=a(y.check,E,F,L)),z-=F,L+=F,y.length-=F),y.length))break e;y.length=0,y.mode=7;case 7:if(2048&y.flags){if(z===0)break e;for(F=0;k=E[L+F++],y.head&&k&&y.length<65536&&(y.head.name+=String.fromCharCode(k)),k&&F>9&1,y.head.done=!0),D.adler=y.check=0,y.mode=12;break;case 10:for(;C<32;){if(z===0)break e;z--,H+=E[L++]<>>=7&C,C-=7&C,y.mode=27;break}for(;C<3;){if(z===0)break e;z--,H+=E[L++]<>>=1)){case 0:y.mode=14;break;case 1:if(M(y),y.mode=20,T!==6)break;H>>>=2,C-=2;break e;case 2:y.mode=17;break;case 3:D.msg="invalid block type",y.mode=30}H>>>=2,C-=2;break;case 14:for(H>>>=7&C,C-=7&C;C<32;){if(z===0)break e;z--,H+=E[L++]<>>16^65535)){D.msg="invalid stored block lengths",y.mode=30;break}if(y.length=65535&H,C=H=0,y.mode=15,T===6)break e;case 15:y.mode=16;case 16:if(F=y.length){if(z>>=5,C-=5,y.ndist=1+(31&H),H>>>=5,C-=5,y.ncode=4+(15&H),H>>>=4,C-=4,286>>=3,C-=3}for(;y.have<19;)y.lens[X[y.have++]]=0;if(y.lencode=y.lendyn,y.lenbits=7,ce={bits:y.lenbits},ae=c(0,y.lens,0,19,y.lencode,0,y.work,ce),y.lenbits=ce.bits,ae){D.msg="invalid code lengths set",y.mode=30;break}y.have=0,y.mode=19;case 19:for(;y.have>>16&255,de=65535&J,!((le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>>=le,C-=le,y.lens[y.have++]=de;else{if(de===16){for(Z=le+2;C>>=le,C-=le,y.have===0){D.msg="invalid bit length repeat",y.mode=30;break}k=y.lens[y.have-1],F=3+(3&H),H>>>=2,C-=2}else if(de===17){for(Z=le+3;C>>=le)),H>>>=3,C-=3}else{for(Z=le+7;C>>=le)),H>>>=7,C-=7}if(y.have+F>y.nlen+y.ndist){D.msg="invalid bit length repeat",y.mode=30;break}for(;F--;)y.lens[y.have++]=k}}if(y.mode===30)break;if(y.lens[256]===0){D.msg="invalid code -- missing end-of-block",y.mode=30;break}if(y.lenbits=9,ce={bits:y.lenbits},ae=c(A,y.lens,0,y.nlen,y.lencode,0,y.work,ce),y.lenbits=ce.bits,ae){D.msg="invalid literal/lengths set",y.mode=30;break}if(y.distbits=6,y.distcode=y.distdyn,ce={bits:y.distbits},ae=c(u,y.lens,y.nlen,y.ndist,y.distcode,0,y.work,ce),y.distbits=ce.bits,ae){D.msg="invalid distances set",y.mode=30;break}if(y.mode=20,T===6)break e;case 20:y.mode=21;case 21:if(6<=z&&258<=j){D.next_out=O,D.avail_out=j,D.next_in=L,D.avail_in=z,y.hold=H,y.bits=C,l(D,ee),O=D.next_out,R=D.output,j=D.avail_out,L=D.next_in,E=D.input,z=D.avail_in,H=y.hold,C=y.bits,y.mode===12&&(y.back=-1);break}for(y.back=0;me=(J=y.lencode[H&(1<>>16&255,de=65535&J,!((le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>ve)])>>>16&255,de=65535&J,!(ve+(le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>>=ve,C-=ve,y.back+=ve}if(H>>>=le,C-=le,y.back+=le,y.length=de,me===0){y.mode=26;break}if(32&me){y.back=-1,y.mode=12;break}if(64&me){D.msg="invalid literal/length code",y.mode=30;break}y.extra=15&me,y.mode=22;case 22:if(y.extra){for(Z=y.extra;C>>=y.extra,C-=y.extra,y.back+=y.extra}y.was=y.length,y.mode=23;case 23:for(;me=(J=y.distcode[H&(1<>>16&255,de=65535&J,!((le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>ve)])>>>16&255,de=65535&J,!(ve+(le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>>=ve,C-=ve,y.back+=ve}if(H>>>=le,C-=le,y.back+=le,64&me){D.msg="invalid distance code",y.mode=30;break}y.offset=de,y.extra=15&me,y.mode=24;case 24:if(y.extra){for(Z=y.extra;C>>=y.extra,C-=y.extra,y.back+=y.extra}if(y.offset>y.dmax){D.msg="invalid distance too far back",y.mode=30;break}y.mode=25;case 25:if(j===0)break e;if(F=ee-j,y.offset>F){if((F=y.offset-F)>y.whave&&y.sane){D.msg="invalid distance too far back",y.mode=30;break}ie=F>y.wnext?(F-=y.wnext,y.wsize-F):y.wnext-F,F>y.length&&(F=y.length),ue=y.window}else ue=R,ie=O-y.offset,F=y.length;for(jB?(I=ie[ue+g[T]],C[W+g[T]]):(I=96,0),v=1<>O)+(w-=v)]=S<<24|I<<16|M|0,w!==0;);for(v=1<>=1;if(v!==0?(H&=v-1,H+=v):H=0,T++,--ee[D]==0){if(D===E)break;D=u[f+g[T]]}if(R>>7)]}function W(J,he){J.pending_buf[J.pending++]=255&he,J.pending_buf[J.pending++]=he>>>8&255}function ee(J,he,X){J.bi_valid>p-X?(J.bi_buf|=he<>p-J.bi_valid,J.bi_valid+=X-p):(J.bi_buf|=he<>>=1,X<<=1,0<--he;);return X>>>1}function ue(J,he,X){var V,te,Y=new Array(g+1),fe=0;for(V=1;V<=g;V++)Y[V]=fe=fe+X[V-1]<<1;for(te=0;te<=he;te++){var oe=J[2*te+1];oe!==0&&(J[2*te]=ie(Y[oe]++,oe))}}function le(J){var he;for(he=0;he>1;1<=X;X--)ve(J,Y,X);for(te=Ee;X=J.heap[1],J.heap[1]=J.heap[J.heap_len--],ve(J,Y,1),V=J.heap[1],J.heap[--J.heap_max]=X,J.heap[--J.heap_max]=V,Y[2*te]=Y[2*X]+Y[2*V],J.depth[te]=(J.depth[X]>=J.depth[V]?J.depth[X]:J.depth[V])+1,Y[2*X+1]=Y[2*V+1]=te,J.heap[1]=te++,ve(J,Y,1),2<=J.heap_len;);J.heap[--J.heap_max]=J.heap[1],function(U,N){var K,se,pe,ge,Ce,Le,Re=N.dyn_tree,Ye=N.max_code,Ae=N.stat_desc.static_tree,Pe=N.stat_desc.has_stree,Me=N.stat_desc.extra_bits,Te=N.stat_desc.extra_base,Fe=N.stat_desc.max_length,De=0;for(ge=0;ge<=g;ge++)U.bl_count[ge]=0;for(Re[2*U.heap[U.heap_max]+1]=0,K=U.heap_max+1;K>=7;te>>=1)if(1&G&&oe.dyn_ltree[2*Ee]!==0)return o;if(oe.dyn_ltree[18]!==0||oe.dyn_ltree[20]!==0||oe.dyn_ltree[26]!==0)return a;for(Ee=32;Ee>>3,(Y=J.static_len+3+7>>>3)<=te&&(te=Y)):te=Y=X+5,X+4<=te&&he!==-1?Z(J,he,X,V):J.strategy===4||Y===te?(ee(J,2+(V?1:0),3),be(J,P,D)):(ee(J,4+(V?1:0),3),function(oe,Ee,G,U){var N;for(ee(oe,Ee-257,5),ee(oe,G-1,5),ee(oe,U-4,4),N=0;N>>8&255,J.pending_buf[J.d_buf+2*J.last_lit+1]=255&he,J.pending_buf[J.l_buf+J.last_lit]=255&X,J.last_lit++,he===0?J.dyn_ltree[2*X]++:(J.matches++,he--,J.dyn_ltree[2*(y[X]+u+1)]++,J.dyn_dtree[2*C(he)]++),J.last_lit===J.lit_bufsize-1},i._tr_align=function(J){ee(J,2,3),F(J,w,P),function(he){he.bi_valid===16?(W(he,he.bi_buf),he.bi_buf=0,he.bi_valid=0):8<=he.bi_valid&&(he.pending_buf[he.pending++]=255&he.bi_buf,he.bi_buf>>=8,he.bi_valid-=8)}(J)}},{"../utils/common":41}],53:[function(t,r,i){r.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,r,i){(function(s){(function(o,a){if(!o.setImmediate){var l,c,A,u,f=1,h={},d=!1,m=o.document,g=Object.getPrototypeOf&&Object.getPrototypeOf(o);g=g&&g.setTimeout?g:o,l={}.toString.call(o.process)==="[object process]"?function(_){process.nextTick(function(){v(_)})}:function(){if(o.postMessage&&!o.importScripts){var _=!0,x=o.onmessage;return o.onmessage=function(){_=!1},o.postMessage("","*"),o.onmessage=x,_}}()?(u="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",w,!1):o.attachEvent("onmessage",w),function(_){o.postMessage(u+_,"*")}):o.MessageChannel?((A=new MessageChannel).port1.onmessage=function(_){v(_.data)},function(_){A.port2.postMessage(_)}):m&&"onreadystatechange"in m.createElement("script")?(c=m.documentElement,function(_){var x=m.createElement("script");x.onreadystatechange=function(){v(_),x.onreadystatechange=null,c.removeChild(x),x=null},c.appendChild(x)}):function(_){setTimeout(v,0,_)},g.setImmediate=function(_){typeof _!="function"&&(_=new Function(""+_));for(var x=new Array(arguments.length-1),b=0;b"u"?s===void 0?this:s:self)}).call(this,typeof La<"u"?La:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(sV);var Z0e=sV.exports;const q0e=oc(Z0e);class ep{constructor(){this.zipContainer={}}addData(e,t,r,i=""){i==""&&(i="_"),this.zipContainer[i]==null&&(this.zipContainer[i]=[]),this.zipContainer[i].push({data:e,name:t,extension:r})}saveZip(e,t=!0){const r=this.zipContainer,i=new q0e;for(const s in r)if(s=="_")r[s].forEach((o,a)=>{i.file(o.name+"."+o.extension,o.data,{base64:!0})});else{const o=i.folder(s);r[s].forEach((a,l)=>{const c=a.extension!="txt";o.file(a.name+"."+a.extension,a.data,{base64:c})})}i.generateAsync({type:"blob"}).then(s=>{this._saveZipFile(s,e+".zip")}),t&&(this.zipContainer={})}_saveZipFile(e,t){const r=new Blob([e],{type:"application/zip"});if(typeof window.navigator.msSaveBlob<"u")window.navigator.msSaveBlob(r,t);else{const i=document.createElement("a");typeof i.download=="string"?(document.body.appendChild(i),i.download=t,i.href=URL.createObjectURL(r),i.click(),document.body.removeChild(i)):window.open(e,"_blank").document.write(""+t+"")}}}class J0e{constructor(e){jt(this,"screenshotManager");this.characterManager=e,this.screenshotManager=e.screenshotManager,this.blinkManager=e.blinkManager,this.animationManager=this.characterManager.animationManager,this.temptime=0}get vrms(){return Object.values(this.characterManager.avatar).map(e=>e.vrm)}async createLoraData(e,t=null,r=""){const i=e.manifest,s=e.name?"loraData/"+e.name:"loraData",o=await this._fetchManifest(i),{assetsLocation:a="",animationsDirectory:l="",backgroundGrayscale:c=1,backgroundDescription:A="",width:u=512,height:f=512,dataCollection:h}=o,d=a+l+"/";this.screenshotManager.setBackground([c,c,c]),this.blinkManager.enableScreenshot(),await this.screenshotManager.cameraFrameManager.calculateBoneOffsets(this.characterManager.characterModel,.2);let m=0;const g=this;if(Array.isArray(h)){const p=t??new ep;await(async()=>{if(Array.isArray(h))for(let w=0;w{var E;(E=y.springBoneManager)==null||E.reset()});const D=f2(B);g.screenshotManager.cameraFrameManager.setCameraFrameWithName(S,D);const T=g.screenshotManager.getImageData(u,f,!1);p.addData(T,M,"png",s),p.addData("anata "+I+" "+A,M,"txt",s)}})(),t==null&&(r==""&&(r="lora_zip"),p.saveZip(r))}this.blinkManager.disableScreenshot()}async _fetchManifest(e){return await(await fetch(e)).json()}}class eve{constructor(e){jt(this,"screenshotManager");this.characterManager=e,this.screenshotManager=e.screenshotManager,this.blinkManager=e.blinkManager,this.animationManager=this.characterManager.animationManager}async createSpriteAtlas(e,t=null,r=""){const i=e.manifest,s=e.name?"spriteData/"+e.name:"spriteData",o=await this._fetchManifest(i),{assetsLocation:a="",animationsDirectory:l="",backgroundColor:c=[1,1,1,1],screenshotOffset:A,topFrameOffset:u=.1,bottomFrameOffset:f=.1,pixelStyleSize:h,atlasWidth:d=512,atlasHeight:m=512,spritesCollection:g}=o,p=a+l+"/";this.screenshotManager.cameraFrameManager.setBottomFrameOffset(f),this.screenshotManager.cameraFrameManager.setTopFrameOffset(u),this.screenshotManager.setBackground(c),this.blinkManager.enableScreenshot(),await this.screenshotManager.cameraFrameManager.calculateBoneOffsets(this.characterManager.characterModel,.2);let v=0;const w=this;if(Array.isArray(g)){const _=t??new ep;await(async()=>{if(Array.isArray(g))for(const b of g){const{animationName:B,animationPath:S,framesNumber:I,lookAtCamera:M,expression:P,cameraPosition:D,cameraFrame:T}=b;v++;const y=s+"/"+(B||v.toString().padStart(2,"0"));await w.animationManager.loadAnimation(p+S,!0,0);const E=f2(D);w.screenshotManager.cameraFrameManager.setCameraFrameWithName(T,E);const L=w.animationManager.getCurrentClipDuration()/I;for(let O=0;O{for(const b of m){const{traitGroup:B,cameraPosition:S="front",bottomBoneName:I,bottomBoneMaxVertex:M=!1,topBoneName:P,topBoneMaxVertex:D=!0,groupTopOffset:T,groupBotomOffset:y,cameraFrame:E,saveOnlyIDs:R}=b;if((!I||!P)&&(E||console.warn("missing bonename info or camera frame. Skipping")),!B){console.warn("missing trait group for thumbnail info. Skipping");continue}const L=()=>{const j=[];return mt(R).forEach(C=>{j.push({id:C})}),j},O=R==null?v.characterManager.getTraits(B):L();if(O==null){console.log("SKipping Thumbnail Generation for trait group "+B+", its not present in the character manifest.");continue}const z=f2(S);E?v.screenshotManager.cameraFrameManager.setCameraFrameWithName(E,z):v.screenshotManager.cameraFrameManager.frameShot(I,P,z,M,D);for(let j=0;j{const[e,t]=xe.useState(null),[r,i]=xe.useState(null),[s,o]=xe.useState(null),[a,l]=xe.useState(null),[c,A]=xe.useState(null),[u,f]=xe.useState(null),[h,d]=xe.useState(null),[m,g]=xe.useState(null),[p,v]=xe.useState(null),[w,_]=xe.useState(null),[x,b]=xe.useState(null),[B,S]=xe.useState(!1);let I=!1,[M,P]=xe.useState(!1);xe.useEffect(()=>{if(I||M)return;P(!0),I=!0;const{scene:E,camera:R,controls:L,characterManager:O,sceneElements:z}=$0e("editor-scene");v(R),g(E),t(O),A(z),f(O.animationManager),d(O.lookAtManager),_(L),i(new J0e(O)),o(new eve(O)),l(new tve(O))},[]);const D=E=>{E==null&&(E=!B),S(E),m.traverse(R=>{R.isMesh&&R.setDebugMode&&R.setDebugMode(E)})};xe.useEffect(()=>{if(x!=null&&x.defaultAnimations){const E=x.defaultAnimations.map(R=>R.location);u.storeDefaultAnimationPaths(E,"")}},[x]);const T=E=>{E?m.add(c):m.remove(c)},y=E=>{w&&(GM.to(w.target,{x:E.targetX??0,y:E.targetY??0,z:E.targetZ??0,duration:1}),GM.fromTo(w,{maxDistance:w.getDistance(),minDistance:w.getDistance(),minPolarAngle:w.getPolarAngle(),maxPolarAngle:w.getPolarAngle(),minAzimuthAngle:w.getAzimuthalAngle(),maxAzimuthAngle:w.getAzimuthalAngle()},{maxDistance:E.distance,minDistance:E.distance,minPolarAngle:Math.PI/2-.11,maxPolarAngle:Math.PI/2-.11,minAzimuthAngle:-.78,maxAzimuthAngle:-.78,duration:1}).then(()=>{w.minPolarAngle=0,w.maxPolarAngle=3.1415,w.minDistance=.5,w.maxDistance=10,w.minAzimuthAngle=1/0,w.maxAzimuthAngle=1/0}))};return Q.jsx(mr.Provider,{value:{manifest:x,setManifest:b,scene:m,characterManager:e,loraDataGenerator:r,spriteAtlasGenerator:s,thumbnailsGenerator:a,showEnvironmentModels:T,debugMode:B,toggleDebugMode:D,animationManager:u,lookAtManager:h,camera:p,moveCamera:y,controls:w,sceneElements:c},children:n.children})},rve={NORMAL:"NORMAL",AR:"AR",AR_FRONT:"AR_FRONT",VR:"VR"},yt={LANDING:"LANDING",CREATE:"CREATE",CLAIM:"CLAIM",LOAD:"LOAD",APPEARANCE:"APPEARANCE",BATCHDOWNLOAD:"BATCHDOWNLOAD",SAVE:"SAVE",MINT:"MINT",OPTIMIZER:"OPTIMIZER",BATCHMANIFEST:"BATCHMANIFEST",WALLET:"WALLET"},As=q.createContext(),ive=n=>{const[e,t]=q.useState(rve.NORMAL),[r,i]=q.useState(yt.LANDING),[s,o]=q.useState(!1),[a,l]=q.useState(!1);return Q.jsx(As.Provider,{value:{viewMode:r,setViewMode:i,isLoading:s,setIsLoading:o,mouseIsOverUI:a,setMouseIsOverUI:l,currentCameraMode:e,setCurrentCameraMode:t},children:n.children})},sve="modulepreload",ove=function(n){return"/"+n},YO={},ave=function(e,t,r){if(!t||t.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(t.map(s=>{if(s=ove(s),s in YO)return;YO[s]=!0;const o=s.endsWith(".css"),a=o?'[rel="stylesheet"]':"";if(!!r)for(let A=i.length-1;A>=0;A--){const u=i[A];if(u.href===s&&(!o||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const c=document.createElement("link");if(c.rel=o?"stylesheet":sve,o||(c.as="script",c.crossOrigin=""),c.href=s,document.head.appendChild(c),o)return new Promise((A,u)=>{c.addEventListener("load",A),c.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};function ox(){return ox=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0)continue;t[r]=n[r]}return t}function cve(n){xe.useEffect(n,[])}var Ave=["id","volume","playbackRate","soundEnabled","interrupt","onload"];function uve(n,e){var t=e===void 0?{}:e,r=t.volume,i=r===void 0?1:r,s=t.playbackRate,o=s===void 0?1:s,a=t.soundEnabled,l=a===void 0?!0:a,c=t.interrupt,A=c===void 0?!1:c,u=t.onload,f=lve(t,Ave),h=q.useRef(null),d=q.useRef(!1),m=q.useState(null),g=m[0],p=m[1],v=q.useState(null),w=v[0],_=v[1],x=function(){typeof u=="function"&&u.call(this),d.current&&p(this.duration()*1e3),_(this)};cve(function(){return ave(()=>import("./howler-a8c8d105.js").then(M=>M.h),[]).then(function(M){if(!d.current){var P;h.current=(P=M.Howl)!==null&&P!==void 0?P:M.default.Howl,d.current=!0,new h.current(ox({src:Array.isArray(n)?n:[n],volume:i,rate:o,onload:x},f))}}),function(){d.current=!1}}),q.useEffect(function(){h.current&&w&&_(new h.current(ox({src:Array.isArray(n)?n:[n],volume:i,onload:x},f)))},[JSON.stringify(n)]),q.useEffect(function(){w&&(w.volume(i),w.rate(o))},[i,o]);var b=q.useCallback(function(M){typeof M>"u"&&(M={}),!(!w||!l&&!M.forceSoundEnabled)&&(A&&w.stop(),M.playbackRate&&w.rate(M.playbackRate),w.play(M.id))},[w,l,A]),B=q.useCallback(function(M){w&&w.stop(M)},[w]),S=q.useCallback(function(M){w&&w.pause(M)},[w]),I=[b,{sound:w,stop:B,pause:S,duration:g}];return I}const fve=[{name:"background/cc_bgm.wav",offset:0,duration:123458.58333333334},{name:"background/cc_bgm_balanced.wav",offset:123458.58333333334,duration:123458.60416666666},{name:"effect/character-load.wav",offset:246917.1875,duration:3030},{name:"effect/class-select.wav",offset:249947.1875,duration:2780},{name:"effect/switchingItem.wav",offset:252727.1875,duration:623.75},{name:"ui/back-next-button.wav",offset:253350.9375,duration:155.02083333333334},{name:"ui/class-mouse-over.wav",offset:253505.95833333334,duration:217.52083333333334},{name:"ui/class_click.wav",offset:253723.4791666667,duration:3123.75},{name:"ui/class_pass.wav",offset:256847.2291666667,duration:155},{name:"ui/option_click.wav",offset:257002.2291666667,duration:155.02083333333334},{name:"ui/randomize-button.wav",offset:257157.25000000003,duration:342.5208333333333},{name:"ui/section_click.wav",offset:257499.77083333337,duration:155}],hve="/assets/sounds-3322d50e.mp3",Mo=xe.createContext(),dve=n=>{const e=i=>fve.find(s=>i.test(s.name)),[t]=uve(hve,{sprite:{switchItem:[e(/switchingItem/).offset,e(/switchingItem/).duration],classSelect:[e(/class-select/).offset,e(/class-select/).duration],characterLoad:[e(/character-load/).offset,e(/character-load/).duration],randomizeButton:[e(/randomize-button/).offset,e(/randomize-button/).duration],classMouseOver:[e(/class-mouse-over/).offset,e(/class-mouse-over/).duration],backNextButton:[e(/back-next-button/).offset,e(/back-next-button/).duration]}}),r=(i,s=0)=>{s===0?t({id:i}):setTimeout(()=>{t({id:i})},s)};return Q.jsx(Mo.Provider,{value:{playSound:r},children:n.children})};function Ds(n){"@babel/helpers - typeof";return Ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ds(n)}function Co(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function pve(n,e){if(Ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(Ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function oV(n){var e=pve(n,"string");return Ds(e)=="symbol"?e:e+""}function $O(n,e){for(var t=0;tn.length)&&(e=n.length);for(var t=0,r=Array(e);t=this.index;l--)c=(c<<8)+this.byteAt(l);return this.index+=a,c},readString:function(a){return s.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date(Date.UTC(1980+(a>>25&127),(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1))}},r.exports=o},{"../utils":32}],19:[function(t,r,i){var s=t("./Uint8ArrayReader");function o(a){s.call(this,a)}t("../utils").inherits(o,s),o.prototype.readData=function(a){this.checkOffset(a);var l=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,l},r.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,r,i){var s=t("./DataReader");function o(a){s.call(this,a)}t("../utils").inherits(o,s),o.prototype.byteAt=function(a){return this.data.charCodeAt(this.zero+a)},o.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)-this.zero},o.prototype.readAndCheckSignature=function(a){return a===this.readData(4)},o.prototype.readData=function(a){this.checkOffset(a);var l=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,l},r.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,r,i){var s=t("./ArrayReader");function o(a){s.call(this,a)}t("../utils").inherits(o,s),o.prototype.readData=function(a){if(this.checkOffset(a),a===0)return new Uint8Array(0);var l=this.data.subarray(this.zero+this.index,this.zero+this.index+a);return this.index+=a,l},r.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,r,i){var s=t("../utils"),o=t("../support"),a=t("./ArrayReader"),l=t("./StringReader"),c=t("./NodeBufferReader"),A=t("./Uint8ArrayReader");r.exports=function(u){var f=s.getTypeOf(u);return s.checkSupport(f),f!=="string"||o.uint8array?f==="nodebuffer"?new c(u):o.uint8array?new A(s.transformTo("uint8array",u)):new a(s.transformTo("array",u)):new l(u)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,r,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,r,i){var s=t("./GenericWorker"),o=t("../utils");function a(l){s.call(this,"ConvertWorker to "+l),this.destType=l}o.inherits(a,s),a.prototype.processChunk=function(l){this.push({data:o.transformTo(this.destType,l.data),meta:l.meta})},r.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(t,r,i){var s=t("./GenericWorker"),o=t("../crc32");function a(){s.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(a,s),a.prototype.processChunk=function(l){this.streamInfo.crc32=o(l.data,this.streamInfo.crc32||0),this.push(l)},r.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,r,i){var s=t("../utils"),o=t("./GenericWorker");function a(l){o.call(this,"DataLengthProbe for "+l),this.propName=l,this.withStreamInfo(l,0)}s.inherits(a,o),a.prototype.processChunk=function(l){if(l){var c=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=c+l.data.length}o.prototype.processChunk.call(this,l)},r.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(t,r,i){var s=t("../utils"),o=t("./GenericWorker");function a(l){o.call(this,"DataWorker");var c=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,l.then(function(A){c.dataIsReady=!0,c.data=A,c.max=A&&A.length||0,c.type=s.getTypeOf(A),c.isPaused||c._tickAndRepeat()},function(A){c.error(A)})}s.inherits(a,o),a.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,s.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(s.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var l=null,c=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":l=this.data.substring(this.index,c);break;case"uint8array":l=this.data.subarray(this.index,c);break;case"array":case"nodebuffer":l=this.data.slice(this.index,c)}return this.index=c,this.push({data:l,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=a},{"../utils":32,"./GenericWorker":28}],28:[function(t,r,i){function s(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}s.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,a){return this._listeners[o].push(a),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,a){if(this._listeners[o])for(var l=0;l "+o:o}},r.exports=s},{}],29:[function(t,r,i){var s=t("../utils"),o=t("./ConvertWorker"),a=t("./GenericWorker"),l=t("../base64"),c=t("../support"),A=t("../external"),u=null;if(c.nodestream)try{u=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function f(d,m){return new A.Promise(function(g,p){var v=[],w=d._internalType,_=d._outputType,x=d._mimeType;d.on("data",function(b,B){v.push(b),m&&m(B)}).on("error",function(b){v=[],p(b)}).on("end",function(){try{var b=function(B,S,I){switch(B){case"blob":return s.newBlob(s.transformTo("arraybuffer",S),I);case"base64":return l.encode(S);default:return s.transformTo(B,S)}}(_,function(B,S){var I,M=0,P=null,D=0;for(I=0;I"u")i.blob=!1;else{var s=new ArrayBuffer(0);try{i.blob=new Blob([s],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(s),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,r,i){for(var s=t("./utils"),o=t("./support"),a=t("./nodejsUtils"),l=t("./stream/GenericWorker"),c=new Array(256),A=0;A<256;A++)c[A]=252<=A?6:248<=A?5:240<=A?4:224<=A?3:192<=A?2:1;c[254]=c[254]=1;function u(){l.call(this,"utf-8 decode"),this.leftOver=null}function f(){l.call(this,"utf-8 encode")}i.utf8encode=function(h){return o.nodebuffer?a.newBufferFrom(h,"utf-8"):function(d){var m,g,p,v,w,_=d.length,x=0;for(v=0;v<_;v++)(64512&(g=d.charCodeAt(v)))==55296&&v+1<_&&(64512&(p=d.charCodeAt(v+1)))==56320&&(g=65536+(g-55296<<10)+(p-56320),v++),x+=g<128?1:g<2048?2:g<65536?3:4;for(m=o.uint8array?new Uint8Array(x):new Array(x),v=w=0;w>>6:(g<65536?m[w++]=224|g>>>12:(m[w++]=240|g>>>18,m[w++]=128|g>>>12&63),m[w++]=128|g>>>6&63),m[w++]=128|63&g);return m}(h)},i.utf8decode=function(h){return o.nodebuffer?s.transformTo("nodebuffer",h).toString("utf-8"):function(d){var m,g,p,v,w=d.length,_=new Array(2*w);for(m=g=0;m>10&1023,_[g++]=56320|1023&p)}return _.length!==g&&(_.subarray?_=_.subarray(0,g):_.length=g),s.applyFromCharCode(_)}(h=s.transformTo(o.uint8array?"uint8array":"array",h))},s.inherits(u,l),u.prototype.processChunk=function(h){var d=s.transformTo(o.uint8array?"uint8array":"array",h.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var m=d;(d=new Uint8Array(m.length+this.leftOver.length)).set(this.leftOver,0),d.set(m,this.leftOver.length)}else d=this.leftOver.concat(d);this.leftOver=null}var g=function(v,w){var _;for((w=w||v.length)>v.length&&(w=v.length),_=w-1;0<=_&&(192&v[_])==128;)_--;return _<0||_===0?w:_+c[v[_]]>w?_:w}(d),p=d;g!==d.length&&(o.uint8array?(p=d.subarray(0,g),this.leftOver=d.subarray(g,d.length)):(p=d.slice(0,g),this.leftOver=d.slice(g,d.length))),this.push({data:i.utf8decode(p),meta:h.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=u,s.inherits(f,l),f.prototype.processChunk=function(h){this.push({data:i.utf8encode(h.data),meta:h.meta})},i.Utf8EncodeWorker=f},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,r,i){var s=t("./support"),o=t("./base64"),a=t("./nodejsUtils"),l=t("./external");function c(m){return m}function A(m,g){for(var p=0;p>8;this.dir=!!(16&this.externalFileAttributes),h==0&&(this.dosPermissions=63&this.externalFileAttributes),h==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var h=s(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=h.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=h.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=h.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=h.readInt(4))}},readExtraFields:function(h){var d,m,g,p=h.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});h.index+4>>6:(h<65536?f[g++]=224|h>>>12:(f[g++]=240|h>>>18,f[g++]=128|h>>>12&63),f[g++]=128|h>>>6&63),f[g++]=128|63&h);return f},i.buf2binstring=function(u){return A(u,u.length)},i.binstring2buf=function(u){for(var f=new s.Buf8(u.length),h=0,d=f.length;h>10&1023,v[d++]=56320|1023&m)}return A(v,d)},i.utf8border=function(u,f){var h;for((f=f||u.length)>u.length&&(f=u.length),h=f-1;0<=h&&(192&u[h])==128;)h--;return h<0||h===0?f:h+l[u[h]]>f?h:f}},{"./common":41}],43:[function(t,r,i){r.exports=function(s,o,a,l){for(var c=65535&s|0,A=s>>>16&65535|0,u=0;a!==0;){for(a-=u=2e3>>1:o>>>1;a[l]=o}return a}();r.exports=function(o,a,l,c){var A=s,u=c+l;o^=-1;for(var f=c;f>>8^A[255&(o^a[f])];return-1^o}},{}],46:[function(t,r,i){var s,o=t("../utils/common"),a=t("./trees"),l=t("./adler32"),c=t("./crc32"),A=t("./messages"),u=0,f=4,h=0,d=-2,m=-1,g=4,p=2,v=8,w=9,_=286,x=30,b=19,B=2*_+1,S=15,I=3,M=258,P=M+I+1,D=42,T=113,y=1,E=2,R=3,L=4;function O(k,ae){return k.msg=A[ae],ae}function z(k){return(k<<1)-(4k.avail_out&&(ce=k.avail_out),ce!==0&&(o.arraySet(k.output,ae.pending_buf,ae.pending_out,ce,k.next_out),k.next_out+=ce,ae.pending_out+=ce,k.total_out+=ce,k.avail_out-=ce,ae.pending-=ce,ae.pending===0&&(ae.pending_out=0))}function C(k,ae){a._tr_flush_block(k,0<=k.block_start?k.block_start:-1,k.strstart-k.block_start,ae),k.block_start=k.strstart,H(k.strm)}function W(k,ae){k.pending_buf[k.pending++]=ae}function ee(k,ae){k.pending_buf[k.pending++]=ae>>>8&255,k.pending_buf[k.pending++]=255&ae}function F(k,ae){var ce,Z,J=k.max_chain_length,he=k.strstart,X=k.prev_length,V=k.nice_match,te=k.strstart>k.w_size-P?k.strstart-(k.w_size-P):0,Y=k.window,fe=k.w_mask,oe=k.prev,Ee=k.strstart+M,G=Y[he+X-1],U=Y[he+X];k.prev_length>=k.good_match&&(J>>=2),V>k.lookahead&&(V=k.lookahead);do if(Y[(ce=ae)+X]===U&&Y[ce+X-1]===G&&Y[ce]===Y[he]&&Y[++ce]===Y[he+1]){he+=2,ce++;do;while(Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&Y[++he]===Y[++ce]&&hete&&--J!=0);return X<=k.lookahead?X:k.lookahead}function ie(k){var ae,ce,Z,J,he,X,V,te,Y,fe,oe=k.w_size;do{if(J=k.window_size-k.lookahead-k.strstart,k.strstart>=oe+(oe-P)){for(o.arraySet(k.window,k.window,oe,oe,0),k.match_start-=oe,k.strstart-=oe,k.block_start-=oe,ae=ce=k.hash_size;Z=k.head[--ae],k.head[ae]=oe<=Z?Z-oe:0,--ce;);for(ae=ce=oe;Z=k.prev[--ae],k.prev[ae]=oe<=Z?Z-oe:0,--ce;);J+=oe}if(k.strm.avail_in===0)break;if(X=k.strm,V=k.window,te=k.strstart+k.lookahead,Y=J,fe=void 0,fe=X.avail_in,Y=I)for(he=k.strstart-k.insert,k.ins_h=k.window[he],k.ins_h=(k.ins_h<=I&&(k.ins_h=(k.ins_h<=I)if(Z=a._tr_tally(k,k.strstart-k.match_start,k.match_length-I),k.lookahead-=k.match_length,k.match_length<=k.max_lazy_match&&k.lookahead>=I){for(k.match_length--;k.strstart++,k.ins_h=(k.ins_h<=I&&(k.ins_h=(k.ins_h<=I&&k.match_length<=k.prev_length){for(J=k.strstart+k.lookahead-I,Z=a._tr_tally(k,k.strstart-1-k.prev_match,k.prev_length-I),k.lookahead-=k.prev_length-1,k.prev_length-=2;++k.strstart<=J&&(k.ins_h=(k.ins_h<k.pending_buf_size-5&&(ce=k.pending_buf_size-5);;){if(k.lookahead<=1){if(ie(k),k.lookahead===0&&ae===u)return y;if(k.lookahead===0)break}k.strstart+=k.lookahead,k.lookahead=0;var Z=k.block_start+ce;if((k.strstart===0||k.strstart>=Z)&&(k.lookahead=k.strstart-Z,k.strstart=Z,C(k,!1),k.strm.avail_out===0)||k.strstart-k.block_start>=k.w_size-P&&(C(k,!1),k.strm.avail_out===0))return y}return k.insert=0,ae===f?(C(k,!0),k.strm.avail_out===0?R:L):(k.strstart>k.block_start&&(C(k,!1),k.strm.avail_out),y)}),new me(4,4,8,4,ue),new me(4,5,16,8,ue),new me(4,6,32,32,ue),new me(4,4,16,16,le),new me(8,16,32,32,le),new me(8,16,128,128,le),new me(8,32,128,256,le),new me(32,128,258,1024,le),new me(32,258,258,4096,le)],i.deflateInit=function(k,ae){return re(k,ae,v,15,8,0)},i.deflateInit2=re,i.deflateReset=be,i.deflateResetKeep=ve,i.deflateSetHeader=function(k,ae){return k&&k.state?k.state.wrap!==2?d:(k.state.gzhead=ae,h):d},i.deflate=function(k,ae){var ce,Z,J,he;if(!k||!k.state||5>8&255),W(Z,Z.gzhead.time>>16&255),W(Z,Z.gzhead.time>>24&255),W(Z,Z.level===9?2:2<=Z.strategy||Z.level<2?4:0),W(Z,255&Z.gzhead.os),Z.gzhead.extra&&Z.gzhead.extra.length&&(W(Z,255&Z.gzhead.extra.length),W(Z,Z.gzhead.extra.length>>8&255)),Z.gzhead.hcrc&&(k.adler=c(k.adler,Z.pending_buf,Z.pending,0)),Z.gzindex=0,Z.status=69):(W(Z,0),W(Z,0),W(Z,0),W(Z,0),W(Z,0),W(Z,Z.level===9?2:2<=Z.strategy||Z.level<2?4:0),W(Z,3),Z.status=T);else{var X=v+(Z.w_bits-8<<4)<<8;X|=(2<=Z.strategy||Z.level<2?0:Z.level<6?1:Z.level===6?2:3)<<6,Z.strstart!==0&&(X|=32),X+=31-X%31,Z.status=T,ee(Z,X),Z.strstart!==0&&(ee(Z,k.adler>>>16),ee(Z,65535&k.adler)),k.adler=1}if(Z.status===69)if(Z.gzhead.extra){for(J=Z.pending;Z.gzindex<(65535&Z.gzhead.extra.length)&&(Z.pending!==Z.pending_buf_size||(Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),H(k),J=Z.pending,Z.pending!==Z.pending_buf_size));)W(Z,255&Z.gzhead.extra[Z.gzindex]),Z.gzindex++;Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),Z.gzindex===Z.gzhead.extra.length&&(Z.gzindex=0,Z.status=73)}else Z.status=73;if(Z.status===73)if(Z.gzhead.name){J=Z.pending;do{if(Z.pending===Z.pending_buf_size&&(Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),H(k),J=Z.pending,Z.pending===Z.pending_buf_size)){he=1;break}he=Z.gzindexJ&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),he===0&&(Z.gzindex=0,Z.status=91)}else Z.status=91;if(Z.status===91)if(Z.gzhead.comment){J=Z.pending;do{if(Z.pending===Z.pending_buf_size&&(Z.gzhead.hcrc&&Z.pending>J&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),H(k),J=Z.pending,Z.pending===Z.pending_buf_size)){he=1;break}he=Z.gzindexJ&&(k.adler=c(k.adler,Z.pending_buf,Z.pending-J,J)),he===0&&(Z.status=103)}else Z.status=103;if(Z.status===103&&(Z.gzhead.hcrc?(Z.pending+2>Z.pending_buf_size&&H(k),Z.pending+2<=Z.pending_buf_size&&(W(Z,255&k.adler),W(Z,k.adler>>8&255),k.adler=0,Z.status=T)):Z.status=T),Z.pending!==0){if(H(k),k.avail_out===0)return Z.last_flush=-1,h}else if(k.avail_in===0&&z(ae)<=z(ce)&&ae!==f)return O(k,-5);if(Z.status===666&&k.avail_in!==0)return O(k,-5);if(k.avail_in!==0||Z.lookahead!==0||ae!==u&&Z.status!==666){var V=Z.strategy===2?function(te,Y){for(var fe;;){if(te.lookahead===0&&(ie(te),te.lookahead===0)){if(Y===u)return y;break}if(te.match_length=0,fe=a._tr_tally(te,0,te.window[te.strstart]),te.lookahead--,te.strstart++,fe&&(C(te,!1),te.strm.avail_out===0))return y}return te.insert=0,Y===f?(C(te,!0),te.strm.avail_out===0?R:L):te.last_lit&&(C(te,!1),te.strm.avail_out===0)?y:E}(Z,ae):Z.strategy===3?function(te,Y){for(var fe,oe,Ee,G,U=te.window;;){if(te.lookahead<=M){if(ie(te),te.lookahead<=M&&Y===u)return y;if(te.lookahead===0)break}if(te.match_length=0,te.lookahead>=I&&0te.lookahead&&(te.match_length=te.lookahead)}if(te.match_length>=I?(fe=a._tr_tally(te,1,te.match_length-I),te.lookahead-=te.match_length,te.strstart+=te.match_length,te.match_length=0):(fe=a._tr_tally(te,0,te.window[te.strstart]),te.lookahead--,te.strstart++),fe&&(C(te,!1),te.strm.avail_out===0))return y}return te.insert=0,Y===f?(C(te,!0),te.strm.avail_out===0?R:L):te.last_lit&&(C(te,!1),te.strm.avail_out===0)?y:E}(Z,ae):s[Z.level].func(Z,ae);if(V!==R&&V!==L||(Z.status=666),V===y||V===R)return k.avail_out===0&&(Z.last_flush=-1),h;if(V===E&&(ae===1?a._tr_align(Z):ae!==5&&(a._tr_stored_block(Z,0,0,!1),ae===3&&(j(Z.head),Z.lookahead===0&&(Z.strstart=0,Z.block_start=0,Z.insert=0))),H(k),k.avail_out===0))return Z.last_flush=-1,h}return ae!==f?h:Z.wrap<=0?1:(Z.wrap===2?(W(Z,255&k.adler),W(Z,k.adler>>8&255),W(Z,k.adler>>16&255),W(Z,k.adler>>24&255),W(Z,255&k.total_in),W(Z,k.total_in>>8&255),W(Z,k.total_in>>16&255),W(Z,k.total_in>>24&255)):(ee(Z,k.adler>>>16),ee(Z,65535&k.adler)),H(k),0=ce.w_size&&(he===0&&(j(ce.head),ce.strstart=0,ce.block_start=0,ce.insert=0),Y=new o.Buf8(ce.w_size),o.arraySet(Y,ae,fe-ce.w_size,ce.w_size,0),ae=Y,fe=ce.w_size),X=k.avail_in,V=k.next_in,te=k.input,k.avail_in=fe,k.next_in=0,k.input=ae,ie(ce);ce.lookahead>=I;){for(Z=ce.strstart,J=ce.lookahead-(I-1);ce.ins_h=(ce.ins_h<>>=I=S>>>24,w-=I,(I=S>>>16&255)===0)E[A++]=65535&S;else{if(!(16&I)){if(!(64&I)){S=_[(65535&S)+(v&(1<>>=I,w-=I),w<15&&(v+=y[l++]<>>=I=S>>>24,w-=I,!(16&(I=S>>>16&255))){if(!(64&I)){S=x[(65535&S)+(v&(1<>>=I,w-=I,(I=A-u)>3,v&=(1<<(w-=M<<3))-1,s.next_in=l,s.next_out=A,s.avail_in=l>>24&255)+(D>>>8&65280)+((65280&D)<<8)+((255&D)<<24)}function v(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function w(D){var T;return D&&D.state?(T=D.state,D.total_in=D.total_out=T.total=0,D.msg="",T.wrap&&(D.adler=1&T.wrap),T.mode=d,T.last=0,T.havedict=0,T.dmax=32768,T.head=null,T.hold=0,T.bits=0,T.lencode=T.lendyn=new s.Buf32(m),T.distcode=T.distdyn=new s.Buf32(g),T.sane=1,T.back=-1,f):h}function _(D){var T;return D&&D.state?((T=D.state).wsize=0,T.whave=0,T.wnext=0,w(D)):h}function x(D,T){var y,E;return D&&D.state?(E=D.state,T<0?(y=0,T=-T):(y=1+(T>>4),T<48&&(T&=15)),T&&(T<8||15=L.wsize?(s.arraySet(L.window,T,y-L.wsize,L.wsize,0),L.wnext=0,L.whave=L.wsize):(E<(R=L.wsize-L.wnext)&&(R=E),s.arraySet(L.window,T,y-E,R,L.wnext),(E-=R)?(s.arraySet(L.window,T,y-E,E,0),L.wnext=E,L.whave=L.wsize):(L.wnext+=R,L.wnext===L.wsize&&(L.wnext=0),L.whave>>8&255,y.check=a(y.check,he,2,0),C=H=0,y.mode=2;break}if(y.flags=0,y.head&&(y.head.done=!1),!(1&y.wrap)||(((255&H)<<8)+(H>>8))%31){D.msg="incorrect header check",y.mode=30;break}if((15&H)!=8){D.msg="unknown compression method",y.mode=30;break}if(C-=4,k=8+(15&(H>>>=4)),y.wbits===0)y.wbits=k;else if(k>y.wbits){D.msg="invalid window size",y.mode=30;break}y.dmax=1<>8&1),512&y.flags&&(he[0]=255&H,he[1]=H>>>8&255,y.check=a(y.check,he,2,0)),C=H=0,y.mode=3;case 3:for(;C<32;){if(z===0)break e;z--,H+=E[L++]<>>8&255,he[2]=H>>>16&255,he[3]=H>>>24&255,y.check=a(y.check,he,4,0)),C=H=0,y.mode=4;case 4:for(;C<16;){if(z===0)break e;z--,H+=E[L++]<>8),512&y.flags&&(he[0]=255&H,he[1]=H>>>8&255,y.check=a(y.check,he,2,0)),C=H=0,y.mode=5;case 5:if(1024&y.flags){for(;C<16;){if(z===0)break e;z--,H+=E[L++]<>>8&255,y.check=a(y.check,he,2,0)),C=H=0}else y.head&&(y.head.extra=null);y.mode=6;case 6:if(1024&y.flags&&(z<(F=y.length)&&(F=z),F&&(y.head&&(k=y.head.extra_len-y.length,y.head.extra||(y.head.extra=new Array(y.head.extra_len)),s.arraySet(y.head.extra,E,L,F,k)),512&y.flags&&(y.check=a(y.check,E,F,L)),z-=F,L+=F,y.length-=F),y.length))break e;y.length=0,y.mode=7;case 7:if(2048&y.flags){if(z===0)break e;for(F=0;k=E[L+F++],y.head&&k&&y.length<65536&&(y.head.name+=String.fromCharCode(k)),k&&F>9&1,y.head.done=!0),D.adler=y.check=0,y.mode=12;break;case 10:for(;C<32;){if(z===0)break e;z--,H+=E[L++]<>>=7&C,C-=7&C,y.mode=27;break}for(;C<3;){if(z===0)break e;z--,H+=E[L++]<>>=1)){case 0:y.mode=14;break;case 1:if(M(y),y.mode=20,T!==6)break;H>>>=2,C-=2;break e;case 2:y.mode=17;break;case 3:D.msg="invalid block type",y.mode=30}H>>>=2,C-=2;break;case 14:for(H>>>=7&C,C-=7&C;C<32;){if(z===0)break e;z--,H+=E[L++]<>>16^65535)){D.msg="invalid stored block lengths",y.mode=30;break}if(y.length=65535&H,C=H=0,y.mode=15,T===6)break e;case 15:y.mode=16;case 16:if(F=y.length){if(z>>=5,C-=5,y.ndist=1+(31&H),H>>>=5,C-=5,y.ncode=4+(15&H),H>>>=4,C-=4,286>>=3,C-=3}for(;y.have<19;)y.lens[X[y.have++]]=0;if(y.lencode=y.lendyn,y.lenbits=7,ce={bits:y.lenbits},ae=c(0,y.lens,0,19,y.lencode,0,y.work,ce),y.lenbits=ce.bits,ae){D.msg="invalid code lengths set",y.mode=30;break}y.have=0,y.mode=19;case 19:for(;y.have>>16&255,de=65535&J,!((le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>>=le,C-=le,y.lens[y.have++]=de;else{if(de===16){for(Z=le+2;C>>=le,C-=le,y.have===0){D.msg="invalid bit length repeat",y.mode=30;break}k=y.lens[y.have-1],F=3+(3&H),H>>>=2,C-=2}else if(de===17){for(Z=le+3;C>>=le)),H>>>=3,C-=3}else{for(Z=le+7;C>>=le)),H>>>=7,C-=7}if(y.have+F>y.nlen+y.ndist){D.msg="invalid bit length repeat",y.mode=30;break}for(;F--;)y.lens[y.have++]=k}}if(y.mode===30)break;if(y.lens[256]===0){D.msg="invalid code -- missing end-of-block",y.mode=30;break}if(y.lenbits=9,ce={bits:y.lenbits},ae=c(A,y.lens,0,y.nlen,y.lencode,0,y.work,ce),y.lenbits=ce.bits,ae){D.msg="invalid literal/lengths set",y.mode=30;break}if(y.distbits=6,y.distcode=y.distdyn,ce={bits:y.distbits},ae=c(u,y.lens,y.nlen,y.ndist,y.distcode,0,y.work,ce),y.distbits=ce.bits,ae){D.msg="invalid distances set",y.mode=30;break}if(y.mode=20,T===6)break e;case 20:y.mode=21;case 21:if(6<=z&&258<=j){D.next_out=O,D.avail_out=j,D.next_in=L,D.avail_in=z,y.hold=H,y.bits=C,l(D,ee),O=D.next_out,R=D.output,j=D.avail_out,L=D.next_in,E=D.input,z=D.avail_in,H=y.hold,C=y.bits,y.mode===12&&(y.back=-1);break}for(y.back=0;me=(J=y.lencode[H&(1<>>16&255,de=65535&J,!((le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>ve)])>>>16&255,de=65535&J,!(ve+(le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>>=ve,C-=ve,y.back+=ve}if(H>>>=le,C-=le,y.back+=le,y.length=de,me===0){y.mode=26;break}if(32&me){y.back=-1,y.mode=12;break}if(64&me){D.msg="invalid literal/length code",y.mode=30;break}y.extra=15&me,y.mode=22;case 22:if(y.extra){for(Z=y.extra;C>>=y.extra,C-=y.extra,y.back+=y.extra}y.was=y.length,y.mode=23;case 23:for(;me=(J=y.distcode[H&(1<>>16&255,de=65535&J,!((le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>ve)])>>>16&255,de=65535&J,!(ve+(le=J>>>24)<=C);){if(z===0)break e;z--,H+=E[L++]<>>=ve,C-=ve,y.back+=ve}if(H>>>=le,C-=le,y.back+=le,64&me){D.msg="invalid distance code",y.mode=30;break}y.offset=de,y.extra=15&me,y.mode=24;case 24:if(y.extra){for(Z=y.extra;C>>=y.extra,C-=y.extra,y.back+=y.extra}if(y.offset>y.dmax){D.msg="invalid distance too far back",y.mode=30;break}y.mode=25;case 25:if(j===0)break e;if(F=ee-j,y.offset>F){if((F=y.offset-F)>y.whave&&y.sane){D.msg="invalid distance too far back",y.mode=30;break}ie=F>y.wnext?(F-=y.wnext,y.wsize-F):y.wnext-F,F>y.length&&(F=y.length),ue=y.window}else ue=R,ie=O-y.offset,F=y.length;for(jB?(I=ie[ue+g[T]],C[W+g[T]]):(I=96,0),v=1<>O)+(w-=v)]=S<<24|I<<16|M|0,w!==0;);for(v=1<>=1;if(v!==0?(H&=v-1,H+=v):H=0,T++,--ee[D]==0){if(D===E)break;D=u[f+g[T]]}if(R>>7)]}function W(J,he){J.pending_buf[J.pending++]=255&he,J.pending_buf[J.pending++]=he>>>8&255}function ee(J,he,X){J.bi_valid>p-X?(J.bi_buf|=he<>p-J.bi_valid,J.bi_valid+=X-p):(J.bi_buf|=he<>>=1,X<<=1,0<--he;);return X>>>1}function ue(J,he,X){var V,te,Y=new Array(g+1),fe=0;for(V=1;V<=g;V++)Y[V]=fe=fe+X[V-1]<<1;for(te=0;te<=he;te++){var oe=J[2*te+1];oe!==0&&(J[2*te]=ie(Y[oe]++,oe))}}function le(J){var he;for(he=0;he>1;1<=X;X--)ve(J,Y,X);for(te=Ee;X=J.heap[1],J.heap[1]=J.heap[J.heap_len--],ve(J,Y,1),V=J.heap[1],J.heap[--J.heap_max]=X,J.heap[--J.heap_max]=V,Y[2*te]=Y[2*X]+Y[2*V],J.depth[te]=(J.depth[X]>=J.depth[V]?J.depth[X]:J.depth[V])+1,Y[2*X+1]=Y[2*V+1]=te,J.heap[1]=te++,ve(J,Y,1),2<=J.heap_len;);J.heap[--J.heap_max]=J.heap[1],function(U,N){var K,se,pe,ge,Ce,Le,Re=N.dyn_tree,Ye=N.max_code,Ae=N.stat_desc.static_tree,Pe=N.stat_desc.has_stree,Me=N.stat_desc.extra_bits,Te=N.stat_desc.extra_base,Fe=N.stat_desc.max_length,De=0;for(ge=0;ge<=g;ge++)U.bl_count[ge]=0;for(Re[2*U.heap[U.heap_max]+1]=0,K=U.heap_max+1;K>=7;te>>=1)if(1&G&&oe.dyn_ltree[2*Ee]!==0)return o;if(oe.dyn_ltree[18]!==0||oe.dyn_ltree[20]!==0||oe.dyn_ltree[26]!==0)return a;for(Ee=32;Ee>>3,(Y=J.static_len+3+7>>>3)<=te&&(te=Y)):te=Y=X+5,X+4<=te&&he!==-1?Z(J,he,X,V):J.strategy===4||Y===te?(ee(J,2+(V?1:0),3),be(J,P,D)):(ee(J,4+(V?1:0),3),function(oe,Ee,G,U){var N;for(ee(oe,Ee-257,5),ee(oe,G-1,5),ee(oe,U-4,4),N=0;N>>8&255,J.pending_buf[J.d_buf+2*J.last_lit+1]=255&he,J.pending_buf[J.l_buf+J.last_lit]=255&X,J.last_lit++,he===0?J.dyn_ltree[2*X]++:(J.matches++,he--,J.dyn_ltree[2*(y[X]+u+1)]++,J.dyn_dtree[2*C(he)]++),J.last_lit===J.lit_bufsize-1},i._tr_align=function(J){ee(J,2,3),F(J,w,P),function(he){he.bi_valid===16?(W(he,he.bi_buf),he.bi_buf=0,he.bi_valid=0):8<=he.bi_valid&&(he.pending_buf[he.pending++]=255&he.bi_buf,he.bi_buf>>=8,he.bi_valid-=8)}(J)}},{"../utils/common":41}],53:[function(t,r,i){r.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,r,i){(function(s){(function(o,a){if(!o.setImmediate){var l,c,A,u,f=1,h={},d=!1,m=o.document,g=Object.getPrototypeOf&&Object.getPrototypeOf(o);g=g&&g.setTimeout?g:o,l={}.toString.call(o.process)==="[object process]"?function(_){process.nextTick(function(){v(_)})}:function(){if(o.postMessage&&!o.importScripts){var _=!0,x=o.onmessage;return o.onmessage=function(){_=!1},o.postMessage("","*"),o.onmessage=x,_}}()?(u="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",w,!1):o.attachEvent("onmessage",w),function(_){o.postMessage(u+_,"*")}):o.MessageChannel?((A=new MessageChannel).port1.onmessage=function(_){v(_.data)},function(_){A.port2.postMessage(_)}):m&&"onreadystatechange"in m.createElement("script")?(c=m.documentElement,function(_){var x=m.createElement("script");x.onreadystatechange=function(){v(_),x.onreadystatechange=null,c.removeChild(x),x=null},c.appendChild(x)}):function(_){setTimeout(v,0,_)},g.setImmediate=function(_){typeof _!="function"&&(_=new Function(""+_));for(var x=new Array(arguments.length-1),b=0;b"u"?s===void 0?this:s:self)}).call(this,typeof La<"u"?La:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(sV);var Z0e=sV.exports;const q0e=oc(Z0e);class ep{constructor(){this.zipContainer={}}addData(e,t,r,i=""){i==""&&(i="_"),this.zipContainer[i]==null&&(this.zipContainer[i]=[]),this.zipContainer[i].push({data:e,name:t,extension:r})}saveZip(e,t=!0){const r=this.zipContainer,i=new q0e;for(const s in r)if(s=="_")r[s].forEach((o,a)=>{i.file(o.name+"."+o.extension,o.data,{base64:!0})});else{const o=i.folder(s);r[s].forEach((a,l)=>{const c=a.extension!="txt";o.file(a.name+"."+a.extension,a.data,{base64:c})})}i.generateAsync({type:"blob"}).then(s=>{this._saveZipFile(s,e+".zip")}),t&&(this.zipContainer={})}_saveZipFile(e,t){const r=new Blob([e],{type:"application/zip"});if(typeof window.navigator.msSaveBlob<"u")window.navigator.msSaveBlob(r,t);else{const i=document.createElement("a");typeof i.download=="string"?(document.body.appendChild(i),i.download=t,i.href=URL.createObjectURL(r),i.click(),document.body.removeChild(i)):window.open(e,"_blank").document.write(""+t+"")}}}class J0e{constructor(e){jt(this,"screenshotManager");this.characterManager=e,this.screenshotManager=e.screenshotManager,this.blinkManager=e.blinkManager,this.animationManager=this.characterManager.animationManager,this.temptime=0}get vrms(){return Object.values(this.characterManager.avatar).map(e=>e.vrm)}async createLoraData(e,t=null,r=""){const i=e.manifest,s=e.name?"loraData/"+e.name:"loraData",o=await this._fetchManifest(i),{assetsLocation:a="",animationsDirectory:l="",backgroundGrayscale:c=1,backgroundDescription:A="",width:u=512,height:f=512,dataCollection:h}=o,d=a+l+"/";this.screenshotManager.setBackground([c,c,c]),this.blinkManager.enableScreenshot(),await this.screenshotManager.cameraFrameManager.calculateBoneOffsets(this.characterManager.characterModel,.2);let m=0;const g=this;if(Array.isArray(h)){const p=t??new ep;await(async()=>{if(Array.isArray(h))for(let w=0;w{var E;(E=y.springBoneManager)==null||E.reset()});const D=f2(B);g.screenshotManager.cameraFrameManager.setCameraFrameWithName(S,D);const T=g.screenshotManager.getImageData(u,f,!1);p.addData(T,M,"png",s),p.addData("anata "+I+" "+A,M,"txt",s)}})(),t==null&&(r==""&&(r="lora_zip"),p.saveZip(r))}this.blinkManager.disableScreenshot()}async _fetchManifest(e){return await(await fetch(e)).json()}}class eve{constructor(e){jt(this,"screenshotManager");this.characterManager=e,this.screenshotManager=e.screenshotManager,this.blinkManager=e.blinkManager,this.animationManager=this.characterManager.animationManager}async createSpriteAtlas(e,t=null,r=""){const i=e.manifest,s=e.name?"spriteData/"+e.name:"spriteData",o=await this._fetchManifest(i),{assetsLocation:a="",animationsDirectory:l="",backgroundColor:c=[1,1,1,1],screenshotOffset:A,topFrameOffset:u=.1,bottomFrameOffset:f=.1,pixelStyleSize:h,atlasWidth:d=512,atlasHeight:m=512,spritesCollection:g}=o,p=a+l+"/";this.screenshotManager.cameraFrameManager.setBottomFrameOffset(f),this.screenshotManager.cameraFrameManager.setTopFrameOffset(u),this.screenshotManager.setBackground(c),this.blinkManager.enableScreenshot(),await this.screenshotManager.cameraFrameManager.calculateBoneOffsets(this.characterManager.characterModel,.2);let v=0;const w=this;if(Array.isArray(g)){const _=t??new ep;await(async()=>{if(Array.isArray(g))for(const b of g){const{animationName:B,animationPath:S,framesNumber:I,lookAtCamera:M,expression:P,cameraPosition:D,cameraFrame:T}=b;v++;const y=s+"/"+(B||v.toString().padStart(2,"0"));await w.animationManager.loadAnimation(p+S,!0,0);const E=f2(D);w.screenshotManager.cameraFrameManager.setCameraFrameWithName(T,E);const L=w.animationManager.getCurrentClipDuration()/I;for(let O=0;O{for(const b of m){const{traitGroup:B,cameraPosition:S="front",bottomBoneName:I,bottomBoneMaxVertex:M=!1,topBoneName:P,topBoneMaxVertex:D=!0,groupTopOffset:T,groupBotomOffset:y,cameraFrame:E,saveOnlyIDs:R}=b;if((!I||!P)&&(E||console.warn("missing bonename info or camera frame. Skipping")),!B){console.warn("missing trait group for thumbnail info. Skipping");continue}const L=()=>{const j=[];return mt(R).forEach(C=>{j.push({id:C})}),j},O=R==null?v.characterManager.getTraits(B):L();if(O==null){console.log("SKipping Thumbnail Generation for trait group "+B+", its not present in the character manifest.");continue}const z=f2(S);E?v.screenshotManager.cameraFrameManager.setCameraFrameWithName(E,z):v.screenshotManager.cameraFrameManager.frameShot(I,P,z,M,D);for(let j=0;j{const[e,t]=xe.useState(null),[r,i]=xe.useState(null),[s,o]=xe.useState(null),[a,l]=xe.useState(null),[c,A]=xe.useState(null),[u,f]=xe.useState(null),[h,d]=xe.useState(null),[m,g]=xe.useState(null),[p,v]=xe.useState(null),[w,_]=xe.useState(null),[x,b]=xe.useState(null),[B,S]=xe.useState(!1);let I=!1,[M,P]=xe.useState(!1);xe.useEffect(()=>{if(I||M)return;P(!0),I=!0;const{scene:E,camera:R,controls:L,characterManager:O,sceneElements:z}=$0e("editor-scene");v(R),g(E),t(O),A(z),f(O.animationManager),d(O.lookAtManager),_(L),i(new J0e(O)),o(new eve(O)),l(new tve(O))},[]);const D=E=>{E==null&&(E=!B),S(E),m.traverse(R=>{R.isMesh&&R.setDebugMode&&R.setDebugMode(E)})};xe.useEffect(()=>{if(x!=null&&x.defaultAnimations){const E=x.defaultAnimations.map(R=>R.location);u.storeDefaultAnimationPaths(E,"")}},[x]);const T=E=>{E?m.add(c):m.remove(c)},y=E=>{w&&(GM.to(w.target,{x:E.targetX??0,y:E.targetY??0,z:E.targetZ??0,duration:1}),GM.fromTo(w,{maxDistance:w.getDistance(),minDistance:w.getDistance(),minPolarAngle:w.getPolarAngle(),maxPolarAngle:w.getPolarAngle(),minAzimuthAngle:w.getAzimuthalAngle(),maxAzimuthAngle:w.getAzimuthalAngle()},{maxDistance:E.distance,minDistance:E.distance,minPolarAngle:Math.PI/2-.11,maxPolarAngle:Math.PI/2-.11,minAzimuthAngle:-.78,maxAzimuthAngle:-.78,duration:1}).then(()=>{w.minPolarAngle=0,w.maxPolarAngle=3.1415,w.minDistance=.5,w.maxDistance=10,w.minAzimuthAngle=1/0,w.maxAzimuthAngle=1/0}))};return Q.jsx(mr.Provider,{value:{manifest:x,setManifest:b,scene:m,characterManager:e,loraDataGenerator:r,spriteAtlasGenerator:s,thumbnailsGenerator:a,showEnvironmentModels:T,debugMode:B,toggleDebugMode:D,animationManager:u,lookAtManager:h,camera:p,moveCamera:y,controls:w,sceneElements:c},children:n.children})},rve={NORMAL:"NORMAL",AR:"AR",AR_FRONT:"AR_FRONT",VR:"VR"},yt={LANDING:"LANDING",CREATE:"CREATE",CLAIM:"CLAIM",LOAD:"LOAD",APPEARANCE:"APPEARANCE",BATCHDOWNLOAD:"BATCHDOWNLOAD",SAVE:"SAVE",MINT:"MINT",OPTIMIZER:"OPTIMIZER",BATCHMANIFEST:"BATCHMANIFEST",WALLET:"WALLET"},As=q.createContext(),ive=n=>{const[e,t]=q.useState(rve.NORMAL),[r,i]=q.useState(yt.LANDING),[s,o]=q.useState(!1),[a,l]=q.useState(!1);return Q.jsx(As.Provider,{value:{viewMode:r,setViewMode:i,isLoading:s,setIsLoading:o,mouseIsOverUI:a,setMouseIsOverUI:l,currentCameraMode:e,setCurrentCameraMode:t},children:n.children})},sve="modulepreload",ove=function(n){return"/"+n},YO={},ave=function(e,t,r){if(!t||t.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(t.map(s=>{if(s=ove(s),s in YO)return;YO[s]=!0;const o=s.endsWith(".css"),a=o?'[rel="stylesheet"]':"";if(!!r)for(let A=i.length-1;A>=0;A--){const u=i[A];if(u.href===s&&(!o||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const c=document.createElement("link");if(c.rel=o?"stylesheet":sve,o||(c.as="script",c.crossOrigin=""),c.href=s,document.head.appendChild(c),o)return new Promise((A,u)=>{c.addEventListener("load",A),c.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};function ox(){return ox=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0)continue;t[r]=n[r]}return t}function cve(n){xe.useEffect(n,[])}var Ave=["id","volume","playbackRate","soundEnabled","interrupt","onload"];function uve(n,e){var t=e===void 0?{}:e,r=t.volume,i=r===void 0?1:r,s=t.playbackRate,o=s===void 0?1:s,a=t.soundEnabled,l=a===void 0?!0:a,c=t.interrupt,A=c===void 0?!1:c,u=t.onload,f=lve(t,Ave),h=q.useRef(null),d=q.useRef(!1),m=q.useState(null),g=m[0],p=m[1],v=q.useState(null),w=v[0],_=v[1],x=function(){typeof u=="function"&&u.call(this),d.current&&p(this.duration()*1e3),_(this)};cve(function(){return ave(()=>import("./howler-98c352fc.js").then(M=>M.h),[]).then(function(M){if(!d.current){var P;h.current=(P=M.Howl)!==null&&P!==void 0?P:M.default.Howl,d.current=!0,new h.current(ox({src:Array.isArray(n)?n:[n],volume:i,rate:o,onload:x},f))}}),function(){d.current=!1}}),q.useEffect(function(){h.current&&w&&_(new h.current(ox({src:Array.isArray(n)?n:[n],volume:i,onload:x},f)))},[JSON.stringify(n)]),q.useEffect(function(){w&&(w.volume(i),w.rate(o))},[i,o]);var b=q.useCallback(function(M){typeof M>"u"&&(M={}),!(!w||!l&&!M.forceSoundEnabled)&&(A&&w.stop(),M.playbackRate&&w.rate(M.playbackRate),w.play(M.id))},[w,l,A]),B=q.useCallback(function(M){w&&w.stop(M)},[w]),S=q.useCallback(function(M){w&&w.pause(M)},[w]),I=[b,{sound:w,stop:B,pause:S,duration:g}];return I}const fve=[{name:"background/cc_bgm.wav",offset:0,duration:123458.58333333334},{name:"background/cc_bgm_balanced.wav",offset:123458.58333333334,duration:123458.60416666666},{name:"effect/character-load.wav",offset:246917.1875,duration:3030},{name:"effect/class-select.wav",offset:249947.1875,duration:2780},{name:"effect/switchingItem.wav",offset:252727.1875,duration:623.75},{name:"ui/back-next-button.wav",offset:253350.9375,duration:155.02083333333334},{name:"ui/class-mouse-over.wav",offset:253505.95833333334,duration:217.52083333333334},{name:"ui/class_click.wav",offset:253723.4791666667,duration:3123.75},{name:"ui/class_pass.wav",offset:256847.2291666667,duration:155},{name:"ui/option_click.wav",offset:257002.2291666667,duration:155.02083333333334},{name:"ui/randomize-button.wav",offset:257157.25000000003,duration:342.5208333333333},{name:"ui/section_click.wav",offset:257499.77083333337,duration:155}],hve="/assets/sounds-3322d50e.mp3",Mo=xe.createContext(),dve=n=>{const e=i=>fve.find(s=>i.test(s.name)),[t]=uve(hve,{sprite:{switchItem:[e(/switchingItem/).offset,e(/switchingItem/).duration],classSelect:[e(/class-select/).offset,e(/class-select/).duration],characterLoad:[e(/character-load/).offset,e(/character-load/).duration],randomizeButton:[e(/randomize-button/).offset,e(/randomize-button/).duration],classMouseOver:[e(/class-mouse-over/).offset,e(/class-mouse-over/).duration],backNextButton:[e(/back-next-button/).offset,e(/back-next-button/).duration]}}),r=(i,s=0)=>{s===0?t({id:i}):setTimeout(()=>{t({id:i})},s)};return Q.jsx(Mo.Provider,{value:{playSound:r},children:n.children})};function Ds(n){"@babel/helpers - typeof";return Ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ds(n)}function Co(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function pve(n,e){if(Ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(Ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function oV(n){var e=pve(n,"string");return Ds(e)=="symbol"?e:e+""}function $O(n,e){for(var t=0;tn.length)&&(e=n.length);for(var t=0,r=Array(e);t1&&arguments[1]!==void 0?arguments[1]:{};Co(this,n),this.init(e,t)}return To(n,[{key:"init",value:function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=t||vve,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(t){this.debug=t}},{key:"log",value:function(){for(var t=arguments.length,r=new Array(t),i=0;i1?r-1:0),s=1;s-1?a.replace(/###/g,"."):a}function i(){return!n||typeof n=="string"}for(var s=typeof e!="string"?[].concat(e):e.split(".");s.length>1;){if(i())return{};var o=r(s.shift());!n[o]&&t&&(n[o]=new t),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={}}return i()?{}:{obj:n,k:r(s.shift())}}function t3(n,e,t){var r=m2(n,e,Object),i=r.obj,s=r.k;i[s]=t}function _ve(n,e,t,r){var i=m2(n,e,Object),s=i.obj,o=i.k;s[o]=s[o]||[],r&&(s[o]=s[o].concat(t)),r||s[o].push(t)}function ax(n,e){var t=m2(n,e),r=t.obj,i=t.k;if(r)return r[i]}function xve(n,e,t){var r=ax(n,t);return r!==void 0?r:ax(e,t)}function AV(n,e,t){for(var r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?typeof n[r]=="string"||n[r]instanceof String||typeof e[r]=="string"||e[r]instanceof String?t&&(n[r]=e[r]):AV(n[r],e[r],t):n[r]=e[r]);return n}function zf(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var bve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Eve(n){return typeof n=="string"?n.replace(/[&<>"'\/]/g,function(e){return bve[e]}):n}var F1=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,Bve=[" ",",","?","!",";"];function Sve(n,e,t){e=e||"",t=t||"";var r=Bve.filter(function(a){return e.indexOf(a)<0&&t.indexOf(a)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(a){return a==="?"?"\\?":a}).join("|"),")")),s=!i.test(n);if(!s){var o=n.indexOf(t);o>0&&!i.test(n.substring(0,o))&&(s=!0)}return s}function lx(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(n){if(n[e])return n[e];for(var r=e.split(t),i=n,s=0;ss+o;)o++,a=r.slice(s,s+o).join(t),l=i[a];if(l===void 0)return;if(l===null)return null;if(e.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}var c=r.slice(s+o).join(t);return c?lx(l,c,t):void 0}i=i[r[s]]}return i}}function n3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ny(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Tve=function(n){U1(t,n);var e=Mve(t);function t(r){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return Co(this,t),i=e.call(this),F1&&xA.call(hA(i)),i.data=r||{},i.options=s,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return To(t,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var s=this.options.ns.indexOf(i);s>-1&&this.options.ns.splice(s,1)}},{key:"getResource",value:function(i,s,o){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,c=a.ignoreJSONStructure!==void 0?a.ignoreJSONStructure:this.options.ignoreJSONStructure,A=[i,s];o&&typeof o!="string"&&(A=A.concat(o)),o&&typeof o=="string"&&(A=A.concat(l?o.split(l):o)),i.indexOf(".")>-1&&(A=i.split("."));var u=ax(this.data,A);return u||!c||typeof o!="string"?u:lx(this.data&&this.data[i]&&this.data[i][s],o,l)}},{key:"addResource",value:function(i,s,o,a){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},c=l.keySeparator!==void 0?l.keySeparator:this.options.keySeparator,A=[i,s];o&&(A=A.concat(c?o.split(c):o)),i.indexOf(".")>-1&&(A=i.split("."),a=s,s=A[1]),this.addNamespaces(s),t3(this.data,A,a),l.silent||this.emit("added",i,s,o,a)}},{key:"addResources",value:function(i,s,o){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in o)(typeof o[l]=="string"||Object.prototype.toString.apply(o[l])==="[object Array]")&&this.addResource(i,s,l,o[l],{silent:!0});a.silent||this.emit("added",i,s,o)}},{key:"addResourceBundle",value:function(i,s,o,a,l){var c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},A=[i,s];i.indexOf(".")>-1&&(A=i.split("."),a=o,o=s,s=A[1]),this.addNamespaces(s);var u=ax(this.data,A)||{};a?AV(u,o,l):u=Ny(Ny({},u),o),t3(this.data,A,u),c.silent||this.emit("added",i,s,o)}},{key:"removeResourceBundle",value:function(i,s){this.hasResourceBundle(i,s)&&delete this.data[i][s],this.removeNamespaces(s),this.emit("removed",i,s)}},{key:"hasResourceBundle",value:function(i,s){return this.getResource(i,s)!==void 0}},{key:"getResourceBundle",value:function(i,s){return s||(s=this.options.defaultNS),this.options.compatibilityAPI==="v1"?Ny(Ny({},{}),this.getResource(i,s)):this.getResource(i,s)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var s=this.getDataByLanguage(i),o=s&&Object.keys(s)||[];return!!o.find(function(a){return s[a]&&Object.keys(s[a]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),t}(xA),uV={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,r,i,s){var o=this;return e.forEach(function(a){o.processors[a]&&(t=o.processors[a].process(t,r,i,s))}),t}};function r3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function pi(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var i3={},s3=function(n){U1(t,n);var e=Ive(t);function t(r){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Co(this,t),i=e.call(this),F1&&xA.call(hA(i)),wve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,hA(i)),i.options=s,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=Oa.create("translator"),i}return To(t,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var o=this.resolve(i,s);return o&&o.res!==void 0}},{key:"extractFromKey",value:function(i,s){var o=s.nsSeparator!==void 0?s.nsSeparator:this.options.nsSeparator;o===void 0&&(o=":");var a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,l=s.ns||this.options.defaultNS||[],c=o&&i.indexOf(o)>-1,A=!this.options.userDefinedKeySeparator&&!s.keySeparator&&!this.options.userDefinedNsSeparator&&!s.nsSeparator&&!Sve(i,o,a);if(c&&!A){var u=i.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:i,namespaces:l};var f=i.split(o);(o!==a||o===a&&this.options.ns.indexOf(f[0])>-1)&&(l=f.shift()),i=f.join(a)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,s,o){var a=this;if(Ds(s)!=="object"&&this.options.overloadTranslationOptionHandler&&(s=this.options.overloadTranslationOptionHandler(arguments)),Ds(s)==="object"&&(s=pi({},s)),s||(s={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var l=s.returnDetails!==void 0?s.returnDetails:this.options.returnDetails,c=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,A=this.extractFromKey(i[i.length-1],s),u=A.key,f=A.namespaces,h=f[f.length-1],d=s.lng||this.language,m=s.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d&&d.toLowerCase()==="cimode"){if(m){var g=s.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(h).concat(g).concat(u),usedKey:u,exactUsedKey:u,usedLng:d,usedNS:h}:"".concat(h).concat(g).concat(u)}return l?{res:u,usedKey:u,exactUsedKey:u,usedLng:d,usedNS:h}:u}var p=this.resolve(i,s),v=p&&p.res,w=p&&p.usedKey||u,_=p&&p.exactUsedKey||u,x=Object.prototype.toString.apply(v),b=["[object Number]","[object Function]","[object RegExp]"],B=s.joinArrays!==void 0?s.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject,I=typeof v!="string"&&typeof v!="boolean"&&typeof v!="number";if(S&&v&&I&&b.indexOf(x)<0&&!(typeof B=="string"&&x==="[object Array]")){if(!s.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var M=this.options.returnedObjectHandler?this.options.returnedObjectHandler(w,v,pi(pi({},s),{},{ns:f})):"key '".concat(u," (").concat(this.language,")' returned an object instead of string.");return l?(p.res=M,p):M}if(c){var P=x==="[object Array]",D=P?[]:{},T=P?_:w;for(var y in v)if(Object.prototype.hasOwnProperty.call(v,y)){var E="".concat(T).concat(c).concat(y);D[y]=this.translate(E,pi(pi({},s),{joinArrays:!1,ns:f})),D[y]===E&&(D[y]=v[y])}v=D}}else if(S&&typeof B=="string"&&x==="[object Array]")v=v.join(B),v&&(v=this.extendTranslation(v,i,s,o));else{var R=!1,L=!1,O=s.count!==void 0&&typeof s.count!="string",z=t.hasDefaultValue(s),j=O?this.pluralResolver.getSuffix(d,s.count,s):"",H=s["defaultValue".concat(j)]||s.defaultValue;!this.isValidLookup(v)&&z&&(R=!0,v=H),this.isValidLookup(v)||(L=!0,v=u);var C=s.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,W=C&&L?void 0:v,ee=z&&H!==v&&this.options.updateMissing;if(L||R||ee){if(this.logger.log(ee?"updateKey":"missingKey",d,h,u,ee?H:v),c){var F=this.resolve(u,pi(pi({},s),{},{keySeparator:!1}));F&&F.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var ie=[],ue=this.languageUtils.getFallbackCodes(this.options.fallbackLng,s.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ue&&ue[0])for(var le=0;le1&&arguments[1]!==void 0?arguments[1]:{},a,l,c,A,u;return typeof i=="string"&&(i=[i]),i.forEach(function(f){if(!s.isValidLookup(a)){var h=s.extractFromKey(f,o),d=h.key;l=d;var m=h.namespaces;s.options.fallbackNS&&(m=m.concat(s.options.fallbackNS));var g=o.count!==void 0&&typeof o.count!="string",p=g&&!o.ordinal&&o.count===0&&s.pluralResolver.shouldUseIntlApi(),v=o.context!==void 0&&(typeof o.context=="string"||typeof o.context=="number")&&o.context!=="",w=o.lngs?o.lngs:s.languageUtils.toResolveHierarchy(o.lng||s.language,o.fallbackLng);m.forEach(function(_){s.isValidLookup(a)||(u=_,!i3["".concat(w[0],"-").concat(_)]&&s.utils&&s.utils.hasLoadedNamespace&&!s.utils.hasLoadedNamespace(u)&&(i3["".concat(w[0],"-").concat(_)]=!0,s.logger.warn('key "'.concat(l,'" for languages "').concat(w.join(", "),`" won't get resolved as namespace "`).concat(u,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),w.forEach(function(x){if(!s.isValidLookup(a)){A=x;var b=[d];if(s.i18nFormat&&s.i18nFormat.addLookupKeys)s.i18nFormat.addLookupKeys(b,d,x,_,o);else{var B;g&&(B=s.pluralResolver.getSuffix(x,o.count,o));var S="".concat(s.options.pluralSeparator,"zero");if(g&&(b.push(d+B),p&&b.push(d+S)),v){var I="".concat(d).concat(s.options.contextSeparator).concat(o.context);b.push(I),g&&(b.push(I+B),p&&b.push(I+S))}}for(var M;M=b.pop();)s.isValidLookup(a)||(c=M,a=s.getResource(x,_,M,o))}}))})}}),{res:a,usedKey:l,exactUsedKey:c,usedLng:A,usedNS:u}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,s,o){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,s,o,a):this.resourceStore.getResource(i,s,o,a)}}],[{key:"hasDefaultValue",value:function(i){var s="defaultValue";for(var o in i)if(Object.prototype.hasOwnProperty.call(i,o)&&s===o.substring(0,s.length)&&i[o]!==void 0)return!0;return!1}}]),t}(xA);function rS(n){return n.charAt(0).toUpperCase()+n.slice(1)}var o3=function(){function n(e){Co(this,n),this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Oa.create("languageUtils")}return To(n,[{key:"getScriptPartFromCode",value:function(t){if(!t||t.indexOf("-")<0)return null;var r=t.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(t){if(!t||t.indexOf("-")<0)return t;var r=t.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(t){if(typeof t=="string"&&t.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],i=t.split("-");return this.options.lowerCaseLng?i=i.map(function(s){return s.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=rS(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=rS(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=rS(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}},{key:"isSupportedCode",value:function(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}},{key:"getBestMatchFromCodes",value:function(t){var r=this;if(!t)return null;var i;return t.forEach(function(s){if(!i){var o=r.formatLanguageCode(s);(!r.options.supportedLngs||r.isSupportedCode(o))&&(i=o)}}),!i&&this.options.supportedLngs&&t.forEach(function(s){if(!i){var o=r.getLanguagePartFromCode(s);if(r.isSupportedCode(o))return i=o;i=r.options.supportedLngs.find(function(a){if(a===o)return a;if(!(a.indexOf("-")<0&&o.indexOf("-")<0)&&a.indexOf(o)===0)return a})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(t,r){if(!t)return[];if(typeof t=="function"&&(t=t(r)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!r)return t.default||[];var i=t[r];return i||(i=t[this.getScriptPartFromCode(r)]),i||(i=t[this.formatLanguageCode(r)]),i||(i=t[this.getLanguagePartFromCode(r)]),i||(i=t.default),i||[]}},{key:"toResolveHierarchy",value:function(t,r){var i=this,s=this.getFallbackCodes(r||this.options.fallbackLng||[],t),o=[],a=function(c){c&&(i.isSupportedCode(c)?o.push(c):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)))};return typeof t=="string"&&t.indexOf("-")>-1?(this.options.load!=="languageOnly"&&a(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&a(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&a(this.getLanguagePartFromCode(t))):typeof t=="string"&&a(this.formatLanguageCode(t)),s.forEach(function(l){o.indexOf(l)<0&&a(i.formatLanguageCode(l))}),o}}]),n}(),Uve=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Fve={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}},Pve=["v1","v2","v3"],a3={zero:0,one:1,two:2,few:3,many:4,other:5};function Lve(){var n={};return Uve.forEach(function(e){e.lngs.forEach(function(t){n[t]={numbers:e.nr,plurals:Fve[e.fc]}})}),n}var Dve=function(){function n(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Co(this,n),this.languageUtils=e,this.options=t,this.logger=Oa.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=Lve()}return To(n,[{key:"addRule",value:function(t,r){this.rules[t]=r}},{key:"getRule",value:function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(t,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}},{key:"needsPlural",value:function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(t,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(t,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,i).map(function(s){return"".concat(r).concat(s)})}},{key:"getSuffixes",value:function(t){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=this.getRule(t,i);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort(function(o,a){return a3[o]-a3[a]}).map(function(o){return"".concat(r.options.prepend).concat(o)}):s.numbers.map(function(o){return r.getSuffix(t,o,i)}):[]}},{key:"getSuffix",value:function(t,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.getRule(t,i);return s?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(s.select(r)):this.getSuffixRetroCompatible(s,r):(this.logger.warn("no plural rule found for: ".concat(t)),"")}},{key:"getSuffixRetroCompatible",value:function(t,r){var i=this,s=t.noAbs?t.plurals(r):t.plurals(Math.abs(r)),o=t.numbers[s];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));var a=function(){return i.options.prepend&&o.toString()?i.options.prepend+o.toString():o.toString()};return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?"_plural_".concat(o.toString()):a():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?a():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}},{key:"shouldUseIntlApi",value:function(){return!Pve.includes(this.options.compatibilityJSON)}}]),n}();function l3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Oo(n){for(var e=1;e3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=xve(n,e,t);return!s&&i&&typeof t=="string"&&(s=lx(n,t,r),s===void 0&&(s=lx(e,t,r))),s}var Nve=function(){function n(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Co(this,n),this.logger=Oa.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||function(t){return t},this.init(e)}return To(n,[{key:"init",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});var r=t.interpolation;this.escape=r.escape!==void 0?r.escape:Eve,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?zf(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?zf(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?zf(r.nestingPrefix):r.nestingPrefixEscaped||zf("$t("),this.nestingSuffix=r.nestingSuffix?zf(r.nestingSuffix):r.nestingSuffixEscaped||zf(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var t="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(t,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(t,r,i,s){var o=this,a,l,c,A=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(g){return g.replace(/\$/g,"$$$$")}var f=function(p){if(p.indexOf(o.formatSeparator)<0){var v=c3(r,A,p,o.options.keySeparator,o.options.ignoreJSONStructure);return o.alwaysFormat?o.format(v,void 0,i,Oo(Oo(Oo({},s),r),{},{interpolationkey:p})):v}var w=p.split(o.formatSeparator),_=w.shift().trim(),x=w.join(o.formatSeparator).trim();return o.format(c3(r,A,_,o.options.keySeparator,o.options.ignoreJSONStructure),x,i,Oo(Oo(Oo({},s),r),{},{interpolationkey:_}))};this.resetRegExp();var h=s&&s.missingInterpolationHandler||this.options.missingInterpolationHandler,d=s&&s.interpolation&&s.interpolation.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,m=[{regex:this.regexpUnescape,safeValue:function(p){return u(p)}},{regex:this.regexp,safeValue:function(p){return o.escapeValue?u(o.escape(p)):u(p)}}];return m.forEach(function(g){for(c=0;a=g.regex.exec(t);){var p=a[1].trim();if(l=f(p),l===void 0)if(typeof h=="function"){var v=h(t,a,s);l=typeof v=="string"?v:""}else if(s&&Object.prototype.hasOwnProperty.call(s,p))l="";else if(d){l=a[0];continue}else o.logger.warn("missed to pass in variable ".concat(p," for interpolating ").concat(t)),l="";else typeof l!="string"&&!o.useRawValueToEscape&&(l=e3(l));var w=g.safeValue(l);if(t=t.replace(a[0],w),d?(g.regex.lastIndex+=l.length,g.regex.lastIndex-=a[0].length):g.regex.lastIndex=0,c++,c>=o.maxReplaces)break}}),t}},{key:"nest",value:function(t,r){var i=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,a,l;function c(h,d){var m=this.nestingOptionsSeparator;if(h.indexOf(m)<0)return h;var g=h.split(new RegExp("".concat(m,"[ ]*{"))),p="{".concat(g[1]);h=g[0],p=this.interpolate(p,l);var v=p.match(/'/g),w=p.match(/"/g);(v&&v.length%2===0&&!w||w.length%2!==0)&&(p=p.replace(/'/g,'"'));try{l=JSON.parse(p),d&&(l=Oo(Oo({},d),l))}catch(_){return this.logger.warn("failed parsing options string in nesting for key ".concat(h),_),"".concat(h).concat(m).concat(p)}return delete l.defaultValue,h}for(;o=this.nestingRegexp.exec(t);){var A=[];l=Oo({},s),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var u=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){var f=o[1].split(this.formatSeparator).map(function(h){return h.trim()});o[1]=f.shift(),A=f,u=!0}if(a=r(c.call(this,o[1].trim(),l),l),a&&o[0]===t&&typeof a!="string")return a;typeof a!="string"&&(a=e3(a)),a||(this.logger.warn("missed to resolve ".concat(o[1]," for nesting ").concat(t)),a=""),u&&(a=A.reduce(function(h,d){return i.format(h,d,s.lng,Oo(Oo({},s),{},{interpolationkey:o[1].trim()}))},a.trim())),t=t.replace(o[0],a),this.regexp.lastIndex=0}return t}}]),n}();function A3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function _l(n){for(var e=1;e-1){var r=n.split("(");e=r[0].toLowerCase().trim();var i=r[1].substring(0,r[1].length-1);if(e==="currency"&&i.indexOf(":")<0)t.currency||(t.currency=i.trim());else if(e==="relativetime"&&i.indexOf(":")<0)t.range||(t.range=i.trim());else{var s=i.split(";");s.forEach(function(o){if(o){var a=o.split(":"),l=gve(a),c=l[0],A=l.slice(1),u=A.join(":").trim().replace(/^'+|'+$/g,"");t[c.trim()]||(t[c.trim()]=u),u==="false"&&(t[c.trim()]=!1),u==="true"&&(t[c.trim()]=!0),isNaN(u)||(t[c.trim()]=parseInt(u,10))}})}}return{formatName:e,formatOptions:t}}function Gf(n){var e={};return function(r,i,s){var o=i+JSON.stringify(s),a=e[o];return a||(a=n(i,s),e[o]=a),a(r)}}var kve=function(){function n(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Co(this,n),this.logger=Oa.create("formatter"),this.options=e,this.formats={number:Gf(function(t,r){var i=new Intl.NumberFormat(t,_l({},r));return function(s){return i.format(s)}}),currency:Gf(function(t,r){var i=new Intl.NumberFormat(t,_l(_l({},r),{},{style:"currency"}));return function(s){return i.format(s)}}),datetime:Gf(function(t,r){var i=new Intl.DateTimeFormat(t,_l({},r));return function(s){return i.format(s)}}),relativetime:Gf(function(t,r){var i=new Intl.RelativeTimeFormat(t,_l({},r));return function(s){return i.format(s,r.range||"day")}}),list:Gf(function(t,r){var i=new Intl.ListFormat(t,_l({},r));return function(s){return i.format(s)}})},this.init(e)}return To(n,[{key:"init",value:function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=r.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(t,r){this.formats[t.toLowerCase().trim()]=r}},{key:"addCached",value:function(t,r){this.formats[t.toLowerCase().trim()]=Gf(r)}},{key:"format",value:function(t,r,i){var s=this,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},a=r.split(this.formatSeparator),l=a.reduce(function(c,A){var u=Ove(A),f=u.formatName,h=u.formatOptions;if(s.formats[f]){var d=c;try{var m=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},g=m.locale||m.lng||o.locale||o.lng||i;d=s.formats[f](c,g,_l(_l(_l({},h),o),m))}catch(p){s.logger.warn(p)}return d}else s.logger.warn("there was no format function for ".concat(f));return c},t);return l}}]),n}();function u3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function f3(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function zve(n,e){n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)}var Gve=function(n){U1(t,n);var e=Hve(t);function t(r,i,s){var o,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return Co(this,t),o=e.call(this),F1&&xA.call(hA(o)),o.backend=r,o.store=i,o.services=s,o.languageUtils=s.languageUtils,o.options=a,o.logger=Oa.create("backendConnector"),o.waitingReads=[],o.maxParallelReads=a.maxParallelReads||10,o.readingCalls=0,o.maxRetries=a.maxRetries>=0?a.maxRetries:5,o.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,o.state={},o.queue=[],o.backend&&o.backend.init&&o.backend.init(s,a.backend,a),o}return To(t,[{key:"queueLoad",value:function(i,s,o,a){var l=this,c={},A={},u={},f={};return i.forEach(function(h){var d=!0;s.forEach(function(m){var g="".concat(h,"|").concat(m);!o.reload&&l.store.hasResourceBundle(h,m)?l.state[g]=2:l.state[g]<0||(l.state[g]===1?A[g]===void 0&&(A[g]=!0):(l.state[g]=1,d=!1,A[g]===void 0&&(A[g]=!0),c[g]===void 0&&(c[g]=!0),f[m]===void 0&&(f[m]=!0)))}),d||(u[h]=!0)}),(Object.keys(c).length||Object.keys(A).length)&&this.queue.push({pending:A,pendingCount:Object.keys(A).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(c),pending:Object.keys(A),toLoadLanguages:Object.keys(u),toLoadNamespaces:Object.keys(f)}}},{key:"loaded",value:function(i,s,o){var a=i.split("|"),l=a[0],c=a[1];s&&this.emit("failedLoading",l,c,s),o&&this.store.addResourceBundle(l,c,o),this.state[i]=s?-1:2;var A={};this.queue.forEach(function(u){_ve(u.loaded,[l],c),zve(u,i),s&&u.errors.push(s),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(function(f){A[f]||(A[f]={});var h=u.loaded[f];h.length&&h.forEach(function(d){A[f][d]===void 0&&(A[f][d]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",A),this.queue=this.queue.filter(function(u){return!u.done})}},{key:"read",value:function(i,s,o){var a=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,A=arguments.length>5?arguments[5]:void 0;if(!i.length)return A(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:s,fcName:o,tried:l,wait:c,callback:A});return}this.readingCalls++;var u=function(m,g){if(a.readingCalls--,a.waitingReads.length>0){var p=a.waitingReads.shift();a.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(m&&g&&l2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof s=="string"&&(s=[s]);var c=this.queueLoad(i,s,a,l);if(!c.toLoad.length)return c.pending.length||l(),null;c.toLoad.forEach(function(A){o.loadOne(A)})}},{key:"load",value:function(i,s,o){this.prepareLoading(i,s,{},o)}},{key:"reload",value:function(i,s,o){this.prepareLoading(i,s,{reload:!0},o)}},{key:"loadOne",value:function(i){var s=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",a=i.split("|"),l=a[0],c=a[1];this.read(l,c,"read",void 0,void 0,function(A,u){A&&s.logger.warn("".concat(o,"loading namespace ").concat(c," for language ").concat(l," failed"),A),!A&&u&&s.logger.log("".concat(o,"loaded namespace ").concat(c," for language ").concat(l),u),s.loaded(i,A,u)})}},{key:"saveMissing",value:function(i,s,o,a,l){var c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},A=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(s)){this.logger.warn('did not save key "'.concat(o,'" as the namespace "').concat(s,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(o==null||o==="")){if(this.backend&&this.backend.create){var u=f3(f3({},c),{},{isUpdate:l}),f=this.backend.create.bind(this.backend);if(f.length<6)try{var h;f.length===5?h=f(i,s,o,a,u):h=f(i,s,o,a),h&&typeof h.then=="function"?h.then(function(d){return A(null,d)}).catch(A):A(null,h)}catch(d){A(d)}else f(i,s,o,a,A,u)}!i||!i[0]||this.store.addResource(i[0],s,o,a)}}}]),t}(xA);function h3(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if(Ds(e[1])==="object"&&(t=e[1]),typeof e[1]=="string"&&(t.defaultValue=e[1]),typeof e[2]=="string"&&(t.tDescription=e[2]),Ds(e[2])==="object"||Ds(e[3])==="object"){var r=e[3]||e[2];Object.keys(r).forEach(function(i){t[i]=r[i]})}return t},interpolation:{escapeValue:!0,format:function(e,t,r,i){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function d3(n){return typeof n.ns=="string"&&(n.ns=[n.ns]),typeof n.fallbackLng=="string"&&(n.fallbackLng=[n.fallbackLng]),typeof n.fallbackNS=="string"&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n}function p3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function va(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Oy(){}function Wve(n){var e=Object.getOwnPropertyNames(Object.getPrototypeOf(n));e.forEach(function(t){typeof n[t]=="function"&&(n[t]=n[t].bind(n))})}var cx=function(n){U1(t,n);var e=Vve(t);function t(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;if(Co(this,t),r=e.call(this),F1&&xA.call(hA(r)),r.options=d3(i),r.services={},r.logger=Oa,r.modules={external:[]},Wve(hA(r)),s&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,s),B0(r,hA(r));setTimeout(function(){r.init(i,s)},0)}return r}return To(t,[{key:"init",value:function(){var i=this,s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;typeof s=="function"&&(o=s,s={}),!s.defaultNS&&s.defaultNS!==!1&&s.ns&&(typeof s.ns=="string"?s.defaultNS=s.ns:s.ns.indexOf("translation")<0&&(s.defaultNS=s.ns[0]));var a=h3();this.options=va(va(va({},a),this.options),d3(s)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=va(va({},a.interpolation),this.options.interpolation)),s.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=s.keySeparator),s.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=s.nsSeparator);function l(p){return p?typeof p=="function"?new p:p:null}if(!this.options.isClone){this.modules.logger?Oa.init(l(this.modules.logger),this.options):Oa.init(null,this.options);var c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=kve);var A=new o3(this.options);this.store=new Tve(this.options.resources,this.options);var u=this.services;u.logger=Oa,u.resourceStore=this.store,u.languageUtils=A,u.pluralResolver=new Dve(A,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===a.interpolation.format)&&(u.formatter=l(c),u.formatter.init(u,this.options),this.options.interpolation.format=u.formatter.format.bind(u.formatter)),u.interpolator=new Nve(this.options),u.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},u.backendConnector=new Gve(l(this.modules.backend),u.resourceStore,u,this.options),u.backendConnector.on("*",function(p){for(var v=arguments.length,w=new Array(v>1?v-1:0),_=1;_1?v-1:0),_=1;_0&&f[0]!=="dev"&&(this.options.lng=f[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var h=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];h.forEach(function(p){i[p]=function(){var v;return(v=i.store)[p].apply(v,arguments)}});var d=["addResource","addResources","addResourceBundle","removeResourceBundle"];d.forEach(function(p){i[p]=function(){var v;return(v=i.store)[p].apply(v,arguments),i}});var m=sm(),g=function(){var v=function(_,x){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),m.resolve(x),o(_,x)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return v(null,i.t.bind(i));i.changeLanguage(i.options.lng,v)};return this.options.resources||!this.options.initImmediate?g():setTimeout(g,0),m}},{key:"loadResources",value:function(i){var s=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Oy,a=o,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(a=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return a();var c=[],A=function(h){if(h){var d=s.services.languageUtils.toResolveHierarchy(h);d.forEach(function(m){c.indexOf(m)<0&&c.push(m)})}};if(l)A(l);else{var u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.forEach(function(f){return A(f)})}this.options.preload&&this.options.preload.forEach(function(f){return A(f)}),this.services.backendConnector.load(c,this.options.ns,function(f){!f&&!s.resolvedLanguage&&s.language&&s.setResolvedLanguage(s.language),a(f)})}else a(null)}},{key:"reloadResources",value:function(i,s,o){var a=sm();return i||(i=this.languages),s||(s=this.options.ns),o||(o=Oy),this.services.backendConnector.reload(i,s,function(l){a.resolve(),o(l)}),a}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&uV.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var s=0;s-1)&&this.store.hasLanguageSomeTranslations(o)){this.resolvedLanguage=o;break}}}},{key:"changeLanguage",value:function(i,s){var o=this;this.isLanguageChangingTo=i;var a=sm();this.emit("languageChanging",i);var l=function(f){o.language=f,o.languages=o.services.languageUtils.toResolveHierarchy(f),o.resolvedLanguage=void 0,o.setResolvedLanguage(f)},c=function(f,h){h?(l(h),o.translator.changeLanguage(h),o.isLanguageChangingTo=void 0,o.emit("languageChanged",h),o.logger.log("languageChanged",h)):o.isLanguageChangingTo=void 0,a.resolve(function(){return o.t.apply(o,arguments)}),s&&s(f,function(){return o.t.apply(o,arguments)})},A=function(f){!i&&!f&&o.services.languageDetector&&(f=[]);var h=typeof f=="string"?f:o.services.languageUtils.getBestMatchFromCodes(f);h&&(o.language||l(h),o.translator.language||o.translator.changeLanguage(h),o.services.languageDetector&&o.services.languageDetector.cacheUserLanguage&&o.services.languageDetector.cacheUserLanguage(h)),o.loadResources(h,function(d){c(d,h)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?A(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(A):this.services.languageDetector.detect(A):A(i),a}},{key:"getFixedT",value:function(i,s,o){var a=this,l=function c(A,u){var f;if(Ds(u)!=="object"){for(var h=arguments.length,d=new Array(h>2?h-2:0),m=2;m1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var a=o.lng||this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,c=this.languages[this.languages.length-1];if(a.toLowerCase()==="cimode")return!0;var A=function(h,d){var m=s.services.backendConnector.state["".concat(h,"|").concat(d)];return m===-1||m===2};if(o.precheck){var u=o.precheck(this,A);if(u!==void 0)return u}return!!(this.hasResourceBundle(a,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||A(a,i)&&(!l||A(c,i)))}},{key:"loadNamespaces",value:function(i,s){var o=this,a=sm();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){o.options.ns.indexOf(l)<0&&o.options.ns.push(l)}),this.loadResources(function(l){a.resolve(),s&&s(l)}),a):(s&&s(),Promise.resolve())}},{key:"loadLanguages",value:function(i,s){var o=sm();typeof i=="string"&&(i=[i]);var a=this.options.preload||[],l=i.filter(function(c){return a.indexOf(c)<0});return l.length?(this.options.preload=a.concat(l),this.loadResources(function(c){o.resolve(),s&&s(c)}),o):(s&&s(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var s=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],o=this.services&&this.services.languageUtils||new o3(h3());return s.indexOf(o.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Oy,a=va(va(va({},this.options),s),{isClone:!0}),l=new t(a);(s.debug!==void 0||s.prefix!==void 0)&&(l.logger=l.logger.clone(s));var c=["store","services","language"];return c.forEach(function(A){l[A]=i[A]}),l.services=va({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new s3(l.services,l.options),l.translator.on("*",function(A){for(var u=arguments.length,f=new Array(u>1?u-1:0),h=1;h0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;return new cx(n,e)});var Ti=cx.createInstance();Ti.createInstance=cx.createInstance;Ti.createInstance;Ti.dir;Ti.init;Ti.loadResources;Ti.reloadResources;Ti.use;Ti.changeLanguage;Ti.getFixedT;Ti.t;Ti.exists;Ti.setDefaultNamespace;Ti.hasLoadedNamespace;Ti.loadNamespaces;Ti.loadLanguages;function Kve(){if(console&&console.warn){for(var n,e=arguments.length,t=new Array(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:{},r=e.languages[0],i=e.options?e.options.fallbackLng:!1,s=e.languages[e.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var o=function(l,c){var A=e.services.backendConnector.state["".concat(l,"|").concat(c)];return A===-1||A===2};return t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!o(e.isLanguageChangingTo,n)?!1:!!(e.hasResourceBundle(r,n)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||o(r,n)&&(!i||o(s,n)))}function Yve(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!e.languages||!e.languages.length)return ST("i18n.languages were undefined or empty",e.languages),!0;var r=e.options.ignoreJSONStructure!==void 0;return r?e.hasLoadedNamespace(n,{lng:t.lng,precheck:function(s,o){if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&s.services.backendConnector.backend&&s.isLanguageChangingTo&&!o(s.isLanguageChangingTo,n))return!1}}):Xve(n,e,t)}var $ve=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Zve={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},qve=function(e){return Zve[e]},Jve=function(e){return e.replace($ve,qve)};function y3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function w3(n){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{};MT=w3(w3({},MT),n)}function tye(){return MT}var hV;function nye(n){hV=n}function rye(){return hV}var iye={type:"3rdParty",init:function(e){eye(e.options.react),nye(e)}},sye=xe.createContext(),oye=function(){function n(){Co(this,n),this.usedNamespaces={}}return To(n,[{key:"addUsedNamespaces",value:function(t){var r=this;t.forEach(function(i){r.usedNamespaces[i]||(r.usedNamespaces[i]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),n}();function aye(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var r,i,s,o,a=[],l=!0,c=!1;try{if(s=(t=t.call(n)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=s.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(A){c=!0,i=A}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return a}}function lye(n,e){return aV(n)||aye(n,e)||lV(n,e)||cV()}function _3(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function iS(n){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},t=e.i18n,r=xe.useContext(sye)||{},i=r.i18n,s=r.defaultNS,o=t||i||rye();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new oye),!o){ST("You will need to pass in an i18next instance by using initReactI18next");var a=function(I,M){return typeof M=="string"?M:M&&Ds(M)==="object"&&typeof M.defaultValue=="string"?M.defaultValue:Array.isArray(I)?I[I.length-1]:I},l=[a,{},!1];return l.t=a,l.i18n={},l.ready=!1,l}o.options.react&&o.options.react.wait!==void 0&&ST("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=iS(iS(iS({},tye()),o.options.react),e),A=c.useSuspense,u=c.keyPrefix,f=n||s||o.options&&o.options.defaultNS;f=typeof f=="string"?[f]:f||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(f);var h=(o.isInitialized||o.initializedStoreOnce)&&f.every(function(S){return Yve(S,o,c)});function d(){return o.getFixedT(e.lng||null,c.nsMode==="fallback"?f:f[0],u)}var m=xe.useState(d),g=lye(m,2),p=g[0],v=g[1],w=f.join();e.lng&&(w="".concat(e.lng).concat(w));var _=cye(w),x=xe.useRef(!0);xe.useEffect(function(){var S=c.bindI18n,I=c.bindI18nStore;x.current=!0,!h&&!A&&(e.lng?v3(o,e.lng,f,function(){x.current&&v(d)}):g3(o,f,function(){x.current&&v(d)})),h&&_&&_!==w&&x.current&&v(d);function M(){x.current&&v(d)}return S&&o&&o.on(S,M),I&&o&&o.store.on(I,M),function(){x.current=!1,S&&o&&S.split(" ").forEach(function(P){return o.off(P,M)}),I&&o&&I.split(" ").forEach(function(P){return o.store.off(P,M)})}},[o,w]);var b=xe.useRef(!0);xe.useEffect(function(){x.current&&!b.current&&v(d),b.current=!1},[o,u]);var B=[p,o,h];if(B.t=p,B.i18n=o,B.ready=h,h||!h&&!A)return B;throw new Promise(function(S){e.lng?v3(o,e.lng,f,function(){return S()}):g3(o,f,function(){return S()})})}var dV=[],uye=dV.forEach,fye=dV.slice;function hye(n){return uye.call(fye.call(arguments,1),function(e){if(e)for(var t in e)n[t]===void 0&&(n[t]=e[t])}),n}var x3=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,dye=function(e,t,r){var i=r||{};i.path=i.path||"/";var s=encodeURIComponent(t),o="".concat(e,"=").concat(s);if(i.maxAge>0){var a=i.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");o+="; Max-Age=".concat(Math.floor(a))}if(i.domain){if(!x3.test(i.domain))throw new TypeError("option domain is invalid");o+="; Domain=".concat(i.domain)}if(i.path){if(!x3.test(i.path))throw new TypeError("option path is invalid");o+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");o+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(o+="; HttpOnly"),i.secure&&(o+="; Secure"),i.sameSite){var l=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(l){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return o},b3={create:function(e,t,r,i){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(s.expires=new Date,s.expires.setTime(s.expires.getTime()+r*60*1e3)),i&&(s.domain=i),document.cookie=dye(e,encodeURIComponent(t),s)},read:function(e){for(var t="".concat(e,"="),r=document.cookie.split(";"),i=0;i-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=r.substring(1),s=i.split("&"),o=0;o0){var l=s[o].substring(0,a);l===e.lookupQuerystring&&(t=s[o].substring(a+1))}}}return t}},om=null,E3=function(){if(om!==null)return om;try{om=window!=="undefined"&&window.localStorage!==null;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{om=!1}return om},gye={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&E3()){var r=window.localStorage.getItem(e.lookupLocalStorage);r&&(t=r)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&E3()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},am=null,B3=function(){if(am!==null)return am;try{am=window!=="undefined"&&window.sessionStorage!==null;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{am=!1}return am},vye={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&B3()){var r=window.sessionStorage.getItem(e.lookupSessionStorage);r&&(t=r)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&B3()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},yye={name:"navigator",lookup:function(e){var t=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?t:void 0}},wye={name:"htmlTag",lookup:function(e){var t,r=e.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(t=r.getAttribute("lang")),t}},_ye={name:"path",lookup:function(e){var t;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof e.lookupFromPathIndex=="number"){if(typeof r[e.lookupFromPathIndex]!="string")return;t=r[e.lookupFromPathIndex].replace("/","")}else t=r[0].replace("/","")}return t}},xye={name:"subdomain",lookup:function(e){var t=typeof e.lookupFromSubdomainIndex=="number"?e.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[t]}};function bye(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}}var pV=function(){function n(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Co(this,n),this.type="languageDetector",this.detectors={},this.init(e,t)}return To(n,[{key:"init",value:function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=hye(r,this.options||{},bye()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(s){return s.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(pye),this.addDetector(mye),this.addDetector(gye),this.addDetector(vye),this.addDetector(yye),this.addDetector(wye),this.addDetector(_ye),this.addDetector(xye)}},{key:"addDetector",value:function(t){return this.detectors[t.name]=t,this}},{key:"detect",value:function(t){var r=this;t||(t=this.options.order);var i=[];return t.forEach(function(s){if(r.detectors[s]){var o=r.detectors[s].lookup(r.options);o&&typeof o=="string"&&(o=[o]),o&&(i=i.concat(o))}}),i=i.map(function(s){return r.options.convertDetectedLanguage(s)}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(t,r){var i=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||r.forEach(function(s){i.detectors[s]&&i.detectors[s].cacheUserLanguage(t,i.options)}))}}]),n}();pV.type="languageDetector";const Eye={translation:{pageTitles:{chooseClass:"Choose Character Class",chooseAppearance:"Choose Appearance",saveCharacter:"Save Your Character"},callToAction:{next:"Next",back:"Back",randomize:"Randomize",send:"Send"},editor:{title:"Appearance",head:"Head",body:"Body",eyes:"Eyes",outer:"Outer",chest:"Chest",legs:"Legs",feet:"Feet",accessories:"Accessories"},labels:{name:"Name",voice:"Voice",favoriteColor:"Favorite Color",preferredGreeting:"Preferred Greeting",question:"Question",yourName:"Your Name",conversation:"Conversation"},text:{unoptimized:"Unoptimized",apiUnderMaintnance:"Voice generation API is temporarily disabled for maintenance!"}}},Bye={translation:{pageTitles:{chooseClass:"Выбрать Класс Персонажа",chooseAppearance:"Выбрать Внешность",saveCharacter:"Сохранить Персонажа"},callToAction:{next:"Далее",back:"Назад",randomize:"Рандомизировать",send:"Отправить"},editor:{title:"Внешность",head:"Голова",body:"Тело",eyes:"Глаза",outer:"Внешний",chest:"Грудь",legs:"Ноги",feet:"Стопы",accessories:"Аксессуары"},labels:{name:"Имя",voice:"Голос",favoriteColor:"Любимый Цвет",preferredGreeting:"Предпочитаемое Приветствие",question:"Вопрос",yourName:"Ваше Имя",conversation:"Разговор"},text:{unoptimized:"Неоптимизи­рованный",apiUnderMaintnance:"API генерации голоса временно отключен на техническое обслуживание."}}},Sye={translation:{pageTitles:{chooseClass:"选择角色类型",chooseAppearance:"选择外观",saveCharacter:"保存角色"},callToAction:{next:"下一步",back:"返回",randomize:"随机",send:"发送"},editor:{title:"外观",head:"头部",body:"身体",eyes:"眼睛",outer:"外套",chest:"上身",legs:"腿部",feet:"脚部",accessories:"配件"},labels:{name:"名字",voice:"语音",favoriteColor:"颜色偏好",preferredGreeting:"首选问候语",question:"问题",yourName:"你的名字",conversation:"对话"},text:{unoptimized:"未优化",apiUnderMaintnance:"语音生成API暂时关闭进行维护!"}}},Mye={en:Eye,ru:Bye,zh:Sye};Ti.use(pV).use(iye).init({debug:!0,fallbackLng:"en",interpolation:{escapeValue:!1},resources:Mye});const la=xe.createContext(),Cye=n=>{const{t:e}=Aye();return Q.jsx(la.Provider,{value:{t:e},children:n.children})},Tye=` uniform vec3 cameraDir; uniform vec3 eye; diff --git a/index.html b/index.html index 5ba7902b..8c292bfd 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ Character Studio - +