@flyfish-group/file-viewer3 1.0.18 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -15
- package/dist/components/3MFLoader.js +1 -1
- package/dist/components/AMFLoader.js +1 -1
- package/dist/components/AudioViewer.js +1 -1
- package/dist/components/CadViewer.js +1 -1
- package/dist/components/CodeViewer.js +1 -1
- package/dist/components/ColladaLoader.js +1 -1
- package/dist/components/DrawingViewer.js +1 -1
- package/dist/components/EdaViewer.js +1 -1
- package/dist/components/EmailViewer.js +1 -1
- package/dist/components/EpubViewer.js +1 -1
- package/dist/components/FBXLoader.js +1 -1
- package/dist/components/GLTFLoader.js +1 -1
- package/dist/components/ImageViewer.js +1 -1
- package/dist/components/KMZLoader.js +1 -1
- package/dist/components/MarkdownViewer.js +1 -1
- package/dist/components/ModelViewer.js +1 -1
- package/dist/components/OBJLoader.js +1 -1
- package/dist/components/OfdViewer.js +1 -1
- package/dist/components/PCDLoader.js +1 -1
- package/dist/components/PLYLoader.js +1 -1
- package/dist/components/PdfView.js +4823 -4785
- package/dist/components/PptxRender.js +1 -1
- package/dist/components/STLLoader.js +1 -1
- package/dist/components/TDSLoader.js +1 -1
- package/dist/components/TypstViewer.js +1671 -0
- package/dist/components/USDLoader.js +1 -1
- package/dist/components/UmdViewer.js +1 -1
- package/dist/components/VRMLLoader.js +1 -1
- package/dist/components/VTKLoader.js +1 -1
- package/dist/components/XYZLoader.js +1 -1
- package/dist/components/XlsxTable.js +1 -1
- package/dist/components/__vite-browser-external.js +1 -1
- package/dist/components/_plugin-vue_export-helper.js +1 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
- package/dist/components/arc.js +1 -1
- package/dist/components/architecture-7EHR7CIX.js +1 -1
- package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
- package/dist/components/archive.js +1 -1
- package/dist/components/asyncToGenerator.js +1 -1
- package/dist/components/audio.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -1
- package/dist/components/bash.js +1 -1
- package/dist/components/bg-BG-XCXSNQG7.js +1 -1
- package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
- package/dist/components/bn-BD-2XOGV67Q.js +1 -1
- package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
- package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
- package/dist/components/cad.js +1 -1
- package/dist/components/cfb.js +1 -1
- package/dist/components/channel.js +1 -1
- package/dist/components/chunk-2J33WTMH.js +1 -1
- package/dist/components/chunk-3OPIFGDE.js +1 -1
- package/dist/components/chunk-4BX2VUAB.js +1 -1
- package/dist/components/chunk-55IACEB6.js +1 -1
- package/dist/components/chunk-5ZQYHXKU.js +1 -1
- package/dist/components/chunk-6U3AYISY.js +1 -1
- package/dist/components/chunk-727SXJPM.js +1 -1
- package/dist/components/chunk-AGHRB4JF.js +1 -1
- package/dist/components/chunk-AQP2D5EJ.js +1 -1
- package/dist/components/chunk-BSJP7CBP.js +1 -1
- package/dist/components/chunk-CSCIHK7Q.js +1 -1
- package/dist/components/chunk-FMBD7UC4.js +1 -1
- package/dist/components/chunk-K2UTITRG.js +1 -1
- package/dist/components/chunk-KSCS5N6A.js +1 -1
- package/dist/components/chunk-L5ZTLDWV.js +1 -1
- package/dist/components/chunk-LZXEDZCA.js +1 -1
- package/dist/components/chunk-ND2GUHAM.js +1 -1
- package/dist/components/chunk-NZK2D7GU.js +1 -1
- package/dist/components/chunk-O5CBEL6O.js +1 -1
- package/dist/components/chunk-QZHKN3VN.js +1 -1
- package/dist/components/chunk-SRAX5OIU.js +1 -1
- package/dist/components/chunk-WU5MYG2G.js +1 -1
- package/dist/components/chunk-XPW4576I.js +1 -1
- package/dist/components/chunk-Z3N5DIM6.js +1 -1
- package/dist/components/chunk-ZUYEQ4TG.js +1 -1
- package/dist/components/chunk.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
- package/dist/components/compiler.js +1 -0
- package/dist/components/core.js +1 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
- package/dist/components/cpp.js +1 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
- package/dist/components/csharp.js +1 -1
- package/dist/components/css.js +1 -1
- package/dist/components/cytoscape.esm.js +1 -1
- package/dist/components/da-DK-5WZEPLOC.js +1 -1
- package/dist/components/dagre-BM42HDAG.js +1 -1
- package/dist/components/dagre.js +1 -1
- package/dist/components/de-DE-XR44H4JA.js +1 -1
- package/dist/components/defaultLocale.js +1 -1
- package/dist/components/defineProperty.js +1 -1
- package/dist/components/diagram-2AECGRRQ.js +1 -1
- package/dist/components/diagram-5GNKFQAL.js +1 -1
- package/dist/components/diagram-KO2AKTUF.js +1 -1
- package/dist/components/diagram-LMA3HP47.js +1 -1
- package/dist/components/diagram-OG6HWLK6.js +1 -1
- package/dist/components/diff.js +1 -1
- package/dist/components/directory-open-01563666.js +1 -1
- package/dist/components/directory-open-4ed118d0.js +1 -1
- package/dist/components/dist.js +1 -1
- package/dist/components/dist2.js +1 -1
- package/dist/components/dist3.js +1 -1
- package/dist/components/docx-preview.js +1 -1
- package/dist/components/drawing.js +1 -1
- package/dist/components/ebook.js +1 -1
- package/dist/components/eda.js +1 -1
- package/dist/components/el-GR-BZB4AONW.js +1 -1
- package/dist/components/email.js +1 -1
- package/dist/components/en-B4ZKOASM.js +1 -1
- package/dist/components/erDiagram-TEJ5UH35.js +1 -1
- package/dist/components/es-ES-U4NZUMDT.js +1 -1
- package/dist/components/eu-ES-A7QVB2H4.js +1 -1
- package/dist/components/eventmodeling-FCH6USID.js +1 -1
- package/dist/components/fa-IR-HGAKTJCU.js +1 -1
- package/dist/components/fflate.module.js +1 -1
- package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
- package/dist/components/file-open-002ab408.js +1 -1
- package/dist/components/file-open-7c801643.js +1 -1
- package/dist/components/file-save-3189631c.js +1 -1
- package/dist/components/file-save-745eba88.js +1 -1
- package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
- package/dist/components/fr-FR-RHASNOE6.js +1 -1
- package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
- package/dist/components/gitGraph-WXDBUCRP.js +1 -1
- package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
- package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
- package/dist/components/global-compiler.js +1 -0
- package/dist/components/global-renderer.js +1 -0
- package/dist/components/go.js +1 -1
- package/dist/components/graphlib.js +1 -1
- package/dist/components/he-IL-6SHJWFNN.js +1 -1
- package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
- package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
- package/dist/components/id-ID-SAP4L64H.js +1 -1
- package/dist/components/image-GAAHSSAO.js +1 -1
- package/dist/components/image-blob-reduce.esm.js +1 -1
- package/dist/components/image.js +1 -1
- package/dist/components/info-J43DQDTF.js +1 -1
- package/dist/components/infoDiagram-5YYISTIA.js +1 -1
- package/dist/components/ini.js +1 -1
- package/dist/components/init.js +1 -1
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
- package/dist/components/it-IT-JPQ66NNP.js +1 -1
- package/dist/components/ja-JP-DBVTYXUO.js +1 -1
- package/dist/components/java.js +1 -1
- package/dist/components/javascript.js +1 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
- package/dist/components/json.js +1 -1
- package/dist/components/jszip.min.js +1 -1
- package/dist/components/kaa-6HZHGXH3.js +1 -1
- package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
- package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
- package/dist/components/katex.js +1 -1
- package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
- package/dist/components/km-KH-HSX4SM5Z.js +1 -1
- package/dist/components/ko-KR-MTYHY66A.js +1 -1
- package/dist/components/ku-TR-6OUDTVRD.js +1 -1
- package/dist/components/lib.js +1 -1
- package/dist/components/libarchive.js +1 -1
- package/dist/components/linear.js +1 -1
- package/dist/components/lt-LT-XHIRWOB4.js +1 -1
- package/dist/components/lv-LV-5QDEKY6T.js +1 -1
- package/dist/components/markdown.js +1 -1
- package/dist/components/md.js +1 -1
- package/dist/components/mermaid-parser.core.js +1 -1
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
- package/dist/components/model.js +1 -1
- package/dist/components/mp4.js +1 -1
- package/dist/components/mr-IN-CRQNXWMA.js +1 -1
- package/dist/components/my-MM-5M5IBNSE.js +1 -1
- package/dist/components/nb-NO-T6EIAALU.js +1 -1
- package/dist/components/nestedRender.js +1 -1
- package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
- package/dist/components/nn-NO-6E72VCQL.js +1 -1
- package/dist/components/objectSpread2.js +1 -1
- package/dist/components/objectWithoutProperties.js +1 -1
- package/dist/components/oc-FR-POXYY2M6.js +1 -1
- package/dist/components/ofd.js +1 -1
- package/dist/components/ofd2.js +1 -1
- package/dist/components/ordinal.js +1 -1
- package/dist/components/pa-IN-N4M65BXN.js +1 -1
- package/dist/components/packet-YPE3B663.js +1 -1
- package/dist/components/pdf.js +1 -1
- package/dist/components/percentages-BXMCSKIN.js +1 -1
- package/dist/components/php.js +1 -1
- package/dist/components/pica.js +1 -1
- package/dist/components/pie-LRSECV5Y.js +1 -1
- package/dist/components/pie.js +1 -1
- package/dist/components/pieDiagram-4H26LBE5.js +1 -1
- package/dist/components/pl-PL-T2D74RX3.js +1 -1
- package/dist/components/postal-mime.js +1 -1
- package/dist/components/pptx.js +1 -1
- package/dist/components/printLayout.js +1 -0
- package/dist/components/prod.js +1 -1
- package/dist/components/pt-BR-5N22H2LF.js +1 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
- package/dist/components/python.js +1 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
- package/dist/components/radar-GUYGQ44K.js +1 -1
- package/dist/components/renderer.js +1 -0
- package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
- package/dist/components/ro-RO-JPDTUUEW.js +1 -1
- package/dist/components/rough.esm.js +1 -1
- package/dist/components/roundRect.js +1 -1
- package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
- package/dist/components/rust.js +1 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
- package/dist/components/shared.js +1 -1
- package/dist/components/shared2.js +1 -1
- package/dist/components/si-LK-N5RQ5JYF.js +1 -1
- package/dist/components/sk-SK-C5VTKIMK.js +1 -1
- package/dist/components/sl-SI-NN7IZMDC.js +1 -1
- package/dist/components/sourceLoading.js +1 -0
- package/dist/components/sql.js +1 -1
- package/dist/components/src.js +1 -1
- package/dist/components/src2.js +1 -1
- package/dist/components/stateDiagram-AJRCARHV.js +1 -1
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
- package/dist/components/subset-shared.chunk.js +1 -1
- package/dist/components/subset-worker.chunk.js +1 -1
- package/dist/components/sv-SE-XGPEYMSR.js +1 -1
- package/dist/components/ta-IN-2NMHFXQM.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/th-TH-HPSO5L25.js +1 -1
- package/dist/components/three.module.js +1 -1
- package/dist/components/time.js +1 -1
- package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
- package/dist/components/tr-TR-DEFEU3FU.js +1 -1
- package/dist/components/treeView-BLDUP644.js +1 -1
- package/dist/components/treemap-LRROVOQU.js +1 -1
- package/dist/components/typescript.js +1 -1
- package/dist/components/typst.js +1 -0
- package/dist/components/uk-UA-QMV73CPH.js +1 -1
- package/dist/components/umd.js +1 -1
- package/dist/components/use.js +1 -1
- package/dist/components/util.js +1 -1
- package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
- package/dist/components/vi-VN-M7AON7JQ.js +1 -1
- package/dist/components/wardley-L42UT6IY.js +1 -1
- package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
- package/dist/components/wasm-pack-shim.js +1 -0
- package/dist/components/wasm-pack-shim2.js +1 -0
- package/dist/components/wasm.js +1 -0
- package/dist/components/word.js +1 -1
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/xlsx.js +1 -1
- package/dist/components/xml.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
- package/dist/components/yaml.js +1 -1
- package/dist/components/zh-CN-LNUGB5OW.js +1 -1
- package/dist/components/zh-HK-E62DVLB3.js +1 -1
- package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
- package/dist/file-viewer3.css +1 -1
- package/dist/index.mjs +1 -1
- package/dist/src/package/common/printLayout.d.ts +16 -0
- package/dist/src/package/common/sourceLoading.d.ts +10 -0
- package/dist/src/package/common/type.d.ts +38 -1
- package/dist/src/package/components/FileViewer/exportDocumentTemplate.d.ts +9 -0
- package/dist/src/package/components/FileViewer/useViewerExport.d.ts +21 -0
- package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +2 -1
- package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +15 -0
- package/dist/src/package/vendors/typst/index.d.ts +8 -0
- package/package.json +5 -1
- package/dist/components/wrapAsyncGenerator.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const bs=a1;function a1(a,b){a=a-0x15b;const c=a0();let d=c[a];return d;}(function(aL,aM){const bm=a1,aN=aL();while(!![]){try{const aO=parseInt(bm(0x195))/0x1*(parseInt(bm(0x23a))/0x2)+parseInt(bm(0x20d))/0x3+parseInt(bm(0x1a0))/0x4*(-parseInt(bm(0x1cf))/0x5)+-parseInt(bm(0x187))/0x6*(parseInt(bm(0x192))/0x7)+parseInt(bm(0x198))/0x8*(-parseInt(bm(0x222))/0x9)+parseInt(bm(0x1be))/0xa*(-parseInt(bm(0x20f))/0xb)+parseInt(bm(0x20e))/0xc;if(aO===aM)break;else aN['push'](aN['shift']());}catch(aP){aN['push'](aN['shift']());}}}(a0,0x230b2));import{$ as a2,Bt as a3,C as a4,Ct as a5,Dt as a6,E as a7,Et as a8,Ft as a9,Ht as aa,K as ab,Mt as ac,Ot as ad,Pt as af,Q as ag,R as ah,Rt as ai,S as aj,Vt as ak,Z as al,_ as am,bt as an,dt as ao,et as ap,f as aq,ht as ar,m as as,n as at,nt as au,o as av,p as aw,pt as ax,q as ay,r as az,rt as aA,u as aB,ut as aC,vt as aD,w as aE,wt as aF,x as aG,yt as aH,z as aI,zt as aJ}from'./three.module.js';import{n as aK}from'./fflate.module.js';function R(aL,aM,aN){const bn=a1;let aO=aN['length']-aL-0x1;if(aM>=aN[aO])return aO-0x1;if(aM<=aN[aL])return aL;let aP=aL,aQ=aO,aR=Math['floor']((aP+aQ)/0x2);for(;aM<aN[aR]||aM>=aN[aR+0x1];)aM<aN[aR]?aQ=aR:aP=aR,aR=Math[bn(0x1fc)]((aP+aQ)/0x2);return aR;}function oe(aL,aM,aN,aO){let aP=[],aQ=[],aR=[];aP[0x0]=0x1;for(let aS=0x1;aS<=aN;++aS){aQ[aS]=aM-aO[aL+0x1-aS],aR[aS]=aO[aL+aS]-aM;let aT=0x0;for(let aU=0x0;aU<aS;++aU){let aV=aR[aU+0x1],aW=aQ[aS-aU],aX=aP[aU]/(aV+aW);aP[aU]=aT+aV*aX,aT=aW*aX;}aP[aS]=aT;}return aP;}function se(aL,aM,aN,aO){let aP=R(aL,aO,aM),aQ=oe(aP,aO,aL,aM),aR=new ak(0x0,0x0,0x0,0x0);for(let aS=0x0;aS<=aL;++aS){let aT=aN[aP-aL+aS],aU=aQ[aS],aV=aT['w']*aU;aR['x']+=aT['x']*aV,aR['y']+=aT['y']*aV,aR['z']+=aT['z']*aV,aR['w']+=aT['w']*aU;}return aR;}function ce(aL,aM,aN,aO,aP){const bo=a1;let aQ=[];for(let aW=0x0;aW<=aN;++aW)aQ[aW]=0x0;let aR=[];for(let aX=0x0;aX<=aO;++aX)aR[aX]=aQ['slice'](0x0);let aS=[];for(let aY=0x0;aY<=aN;++aY)aS[aY]=aQ[bo(0x1e6)](0x0);aS[0x0][0x0]=0x1;let aT=aQ['slice'](0x0),aU=aQ['slice'](0x0);for(let aZ=0x1;aZ<=aN;++aZ){aT[aZ]=aM-aP[aL+0x1-aZ],aU[aZ]=aP[aL+aZ]-aM;let b0=0x0;for(let b1=0x0;b1<aZ;++b1){let b2=aU[b1+0x1],b3=aT[aZ-b1];aS[aZ][b1]=b2+b3;let b4=aS[b1][aZ-0x1]/aS[aZ][b1];aS[b1][aZ]=b0+b2*b4,b0=b3*b4;}aS[aZ][aZ]=b0;}for(let b5=0x0;b5<=aN;++b5)aR[0x0][b5]=aS[b5][aN];for(let b6=0x0;b6<=aN;++b6){let b7=0x0,b8=0x1,b9=[];for(let ba=0x0;ba<=aN;++ba)b9[ba]=aQ['slice'](0x0);b9[0x0][0x0]=0x1;for(let bb=0x1;bb<=aO;++bb){let bc=0x0,bd=b6-bb,bf=aN-bb;b6>=bb&&(b9[b8][0x0]=b9[b7][0x0]/aS[bf+0x1][bd],bc=b9[b8][0x0]*aS[bd][bf]);let bg=bd>=-0x1?0x1:-bd,bh=b6-0x1<=bf?bb-0x1:aN-b6;for(let bj=bg;bj<=bh;++bj)b9[b8][bj]=(b9[b7][bj]-b9[b7][bj-0x1])/aS[bf+0x1][bd+bj],bc+=b9[b8][bj]*aS[bd+bj][bf];b6<=bf&&(b9[b8][bb]=-b9[b7][bb-0x1]/aS[bf+0x1][b6],bc+=b9[b8][bb]*aS[b6][bf]),aR[bb][b6]=bc;let bi=b7;b7=b8,b8=bi;}}let aV=aN;for(let bk=0x1;bk<=aO;++bk){for(let bl=0x0;bl<=aN;++bl)aR[bk][bl]*=aV;aV*=aN-bk;}return aR;}function a0(){const dd=['Root','degToRad','parseProperty','negativeMaterialIndices','name','map','data:','buffer','RelativeFilename','indices','49PGlZcE','SpecularColor','Deformer','1nZknnC','has','vertexWeights','4064mxKNHJ','groups','}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)','Normals','Light','getFloat64','currentPropName','decode','236MJcAgS','premultiply','values','attrName','singleProperty','curves','Skin','rawBones','TransparencyFactor','offset','getFloat32Array','allNodes','RotationOrder','attr','userData','Pose','setResponseType','Kaydara\x20FBX\x20Binary\x20\x20\x00','colorSpaceToWorking','DiffuseColor','DisplacementFactor','bones','get','Objects','InnerAngle','littleEndian','indexOf','count','parseTexture','FarPlane','6430hmMFgy','vertexPositions','XZY','UnitScaleFactor','getPoint','KeyTime','endOfContent','isArray','degree','CameraProjectionType','setPosition','opacity','THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20','PoseNode','rotation','parseAnimationCurveNodes','getOffset','14165VzzcTJ','connections','knots','parseDeformers','Node','parents','getUint8','getFloat32','crossOrigin','materialIndex','scale','startKnot','getInt16','TransformLink','rotationOffset','genGeometry','WrapModeV','image/tga','path','Closed','LayerElementUV','ScalingOffset','traverse','slice','getUint64','colors','FarAttenuationEnd','RotationPivot','color','Vertices','\x22\x20is\x20not\x20supported.','originalName','warn','PostRotation','Content','fromArray','parseSubNode','toArray','fromJSON','preRotation','setCurrentProp','Color','emissiveMap','Camera','morphTargetDictionary','floor','Diffuse','aoMap','scalingOffset','children','getKeyframeTrackValues','match','flattenVertex','endKnot','propertyList','filter','number','MappingInformationType','string','NormalMap','Lcl_Rotation','displacementMap','289272SQrlHs','5807580YFZjpN','3652aMMCVo','length','getInt32','max','skinWeight','setRequestHeader','AspectHeight','material','object','matrixWorld','parseClips','forEach','parseNodeAttr','image/png','currentProp','modelName','parseMeshGeometry','NormalIndex','GeometricScaling','4221cUmHyv','getUint32','Lcl_Scaling','parentMatrixWorld','morph','copy','dataSize','Model','getInt32Array','replace','reduce','applyNormalMatrix','vertexIndices','toString','setAttribute','copyPosition','getTexture','makeRotationFromEuler','phong','getNormalTangentAndBitangent','parent','TransparentColor','abs','translation','495018bwHuVO','currentIndent','error','concat','Translation','pop','getPrevNode','weightsIndices','GlobalSettings','push','parseSkeleton','BindPose','set','AllSame','NodeAttribute','Lcl_','Lcl_Translation','Indexes','setLookAtProperties','Number','uvs','NormalsIndex','GeometricRotation','clone','normal','FocalLength','parentMatrix','PolygonVertexIndex','IndexToDirect','geoID','ColorRGB','LightType','setFromEuler','parseNodePropertyContinued','skeletons','_textDecoder','updateMatrix','generateMorphTrack','Opacity','Maya|TEX_color_map','times','parse','AspectWidth','eulerOrder','WrapModeU','multiply','cross','Filename','postRotation','getTimesForAllAxes','manager','parseNurbsGeometry','add','value','trim','controlPoints','LayerElementMaterial','getBoolean','relationship','56130hZQiiL'];a0=function(){return dd;};return a0();}function le(aL,aM,aN,aO,aP){const bp=a1;let aQ=aP<aL?aP:aL,aR=[],aS=R(aL,aO,aM),aT=ce(aS,aO,aL,aQ,aM),aU=[];for(let aV=0x0;aV<aN['length'];++aV){let aW=aN[aV][bp(0x163)](),aX=aW['w'];aW['x']*=aX,aW['y']*=aX,aW['z']*=aX,aU[aV]=aW;}for(let aY=0x0;aY<=aQ;++aY){let aZ=aU[aS-aL]['clone']()['multiplyScalar'](aT[aY][0x0]);for(let b0=0x1;b0<=aL;++b0)aZ['add'](aU[aS-aL+b0]['clone']()['multiplyScalar'](aT[aY][b0]));aR[aY]=aZ;}for(let b1=aQ+0x1;b1<=aP+0x1;++b1)aR[b1]=new ak(0x0,0x0,0x0);return aR;}function ue(aL,aM){let aN=0x1;for(let aP=0x2;aP<=aL;++aP)aN*=aP;let aO=0x1;for(let aQ=0x2;aQ<=aM;++aQ)aO*=aQ;for(let aR=0x2;aR<=aL-aM;++aR)aO*=aR;return aN/aO;}function de(aL){const bq=a1;let aM=aL['length'],aN=[],aO=[];for(let aQ=0x0;aQ<aM;++aQ){let aR=aL[aQ];aN[aQ]=new a3(aR['x'],aR['y'],aR['z']),aO[aQ]=aR['w'];}let aP=[];for(let aS=0x0;aS<aM;++aS){let aT=aN[aS][bq(0x163)]();for(let aU=0x1;aU<=aS;++aU)aT['sub'](aP[aS-aU]['clone']()['multiplyScalar'](ue(aS,aU)*aO[aU]));aP[aS]=aT['divideScalar'](aO[0x0]);}return aP;}function z(aL,aM,aN,aO,aP){return de(le(aL,aM,aN,aO,aP));}var B=class extends am{constructor(aL,aM,aN,aO,aP){const br=a1;super();let aQ=aM?aM['length']-0x1:0x0,aR=aN?aN[br(0x210)]:0x0;this['degree']=aL,this['knots']=aM,this[br(0x183)]=[],this['startKnot']=aO||0x0,this['endKnot']=aP||aQ;for(let aS=0x0;aS<aR;++aS){let aT=aN[aS];this['controlPoints'][aS]=new ak(aT['x'],aT['y'],aT['z'],aT['w']);}}[bs(0x1c2)](aL,aM=new a3()){const bt=bs;let aN=aM,aO=this[bt(0x1d1)][this['startKnot']]+aL*(this['knots'][this['endKnot']]-this['knots'][this['startKnot']]),aP=se(this['degree'],this['knots'],this[bt(0x183)],aO);return aP['w']!==0x1&&aP['divideScalar'](aP['w']),aN['set'](aP['x'],aP['y'],aP['z']);}['getTangent'](aL,aM=new a3()){const bu=bs;let aN=aM,aO=this['knots'][0x0]+aL*(this['knots'][this['knots']['length']-0x1]-this['knots'][0x0]),aP=z(this['degree'],this['knots'],this[bu(0x183)],aO,0x1);return aN[bu(0x227)](aP[0x1])['normalize'](),aN;}['toJSON'](){const bv=bs;let aL=super['toJSON']();return aL[bv(0x1c6)]=this[bv(0x1c6)],aL[bv(0x1d1)]=[...this[bv(0x1d1)]],aL['controlPoints']=this['controlPoints']['map'](aM=>aM['toArray']()),aL['startKnot']=this['startKnot'],aL['endKnot']=this['endKnot'],aL;}[bs(0x1f5)](aL){const bw=bs;return super['fromJSON'](aL),this['degree']=aL['degree'],this['knots']=[...aL['knots']],this['controlPoints']=aL['controlPoints']['map'](aM=>new ak(aM[0x0],aM[0x1],aM[0x2],aM[0x3])),this['startKnot']=aL[bw(0x1da)],this['endKnot']=aL[bw(0x204)],this;}},V,H,U,fe=class extends ab{constructor(aL){super(aL);}['load'](aL,aM,aN,aO){const bx=bs;let aP=this,aQ=aP[bx(0x1e1)]===''?ay['extractUrlBase'](aL):aP['path'],aR=new a4(this['manager']);aR['setPath'](aP['path']),aR[bx(0x1b0)]('arraybuffer'),aR[bx(0x214)](aP['requestHeader']),aR['setWithCredentials'](aP['withCredentials']),aR['load'](aL,function(aS){const by=bx;try{aM(aP['parse'](aS,aQ));}catch(aT){aO?aO(aT):console[by(0x23c)](aT),aP[by(0x17e)]['itemError'](aL);}},aN,aO);}['parse'](aL,aM){const bz=bs;if(ve(aL))V=new _e()['parse'](aL);else{let aN=$(aL);if(!ye(aN))throw Error('THREE.FBXLoader:\x20Unknown\x20format.');if(K(aN)<0x1b58)throw Error(bz(0x1ca)+K(aN));V=new ge()['parse'](aN);}return new pe(new a9(this['manager'])['setPath'](this['resourcePath']||aM)['setCrossOrigin'](this[bz(0x1d7)]),this['manager'])['parse'](V);}},pe=class{constructor(aL,aM){this['textureLoader']=aL,this['manager']=aM;}['parse'](){const bA=bs;H=this['parseConnections']();let aL=this['parseImages'](),aM=this['parseTextures'](aL),aN=this['parseMaterials'](aM),aO=this[bA(0x1d2)](),aP=new me()[bA(0x175)](aO);return this['parseScene'](aO,aP,aN),U;}['parseConnections'](){let aL=new Map();return'Connections'in V&&V['Connections']['connections']['forEach'](function(aM){const bB=a1;let aN=aM[0x0],aO=aM[0x1],aP=aM[0x2];aL['has'](aN)||aL[bB(0x246)](aN,{'parents':[],'children':[]});let aQ={'ID':aO,'relationship':aP};aL['get'](aN)[bB(0x1d4)]['push'](aQ),aL['has'](aO)||aL['set'](aO,{'parents':[],'children':[]});let aR={'ID':aN,'relationship':aP};aL['get'](aO)['children']['push'](aR);}),aL;}['parseImages'](){const bC=bs;let aL={},aM={};if('Video'in V['Objects']){let aN=V['Objects']['Video'];for(let aO in aN){let aP=aN[aO],aQ=parseInt(aO);if(aL[aQ]=aP['RelativeFilename']||aP['Filename'],'Content'in aP){let aR=aP[bC(0x1f1)]instanceof ArrayBuffer&&aP['Content']['byteLength']>0x0,aS=typeof aP['Content']==bC(0x209)&&aP[bC(0x1f1)]!=='';if(aR||aS){let aT=this['parseImage'](aN[aO]);aM[aP[bC(0x190)]||aP[bC(0x17b)]]=aT;}}}}for(let aU in aL){let aV=aL[aU];aM[aV]===void 0x0?aL[aU]=aL[aU]['split']('\x5c')[bC(0x23f)]():aL[aU]=aM[aV];}return aL;}['parseImage'](aL){const bD=bs;let aM=aL['Content'],aN=aL['RelativeFilename']||aL[bD(0x17b)],aO=aN['slice'](aN['lastIndexOf']('.')+0x1)['toLowerCase'](),aP;switch(aO){case'bmp':aP='image/bmp';break;case'jpg':case'jpeg':aP='image/jpeg';break;case'png':aP=bD(0x21c);break;case'tif':aP='image/tiff';break;case'tga':this['manager']['getHandler']('.tga')===null&&console['warn']('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',aN),aP=bD(0x1e0);break;case'webp':aP='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+aO+bD(0x1ed));return;}if(typeof aM=='string')return bD(0x18e)+aP+';base64,'+aM;{let aQ=new Uint8Array(aM);return window['URL']['createObjectURL'](new Blob([aQ],{'type':aP}));}}['parseTextures'](aL){const bE=bs;let aM=new Map();if('Texture'in V[bE(0x1b7)]){let aN=V['Objects']['Texture'];for(let aO in aN){let aP=this[bE(0x1bc)](aN[aO],aL);aM['set'](parseInt(aO),aP);}}return aM;}[bs(0x1bc)](aL,aM){const bF=bs;let aN=this['loadTexture'](aL,aM);aN['ID']=aL['id'],aN['name']=aL['attrName'];let aO=aL[bF(0x178)],aP=aL[bF(0x1df)],aQ=aO===void 0x0?0x0:aO['value'],aR=aP===void 0x0?0x0:aP['value'];if(aN['wrapS']=aQ===0x0?a5:aq,aN['wrapT']=aR===0x0?a5:aq,'Scaling'in aL){let aS=aL['Scaling']['value'];aN['repeat']['x']=aS[0x0],aN['repeat']['y']=aS[0x1];}if('Translation'in aL){let aT=aL[bF(0x23e)]['value'];aN['offset']['x']=aT[0x0],aN[bF(0x1a9)]['y']=aT[0x1];}return aN;}['loadTexture'](aL,aM){const bG=bs;let aN=aL['FileName']['split']('.')[bG(0x23f)]()['toLowerCase'](),aO=this['manager']['getHandler']('.'+aN);aO===null&&(aO=this['textureLoader']);let aP=aO[bG(0x1e1)];aP||aO['setPath'](this['textureLoader'][bG(0x1e1)]);let aQ=H['get'](aL['id'])['children'],aR;if(aQ!==void 0x0&&aQ['length']>0x0&&aM[aQ[0x0]['ID']]!==void 0x0&&(aR=aM[aQ[0x0]['ID']],(aR['indexOf']('blob:')===0x0||aR['indexOf'](bG(0x18e))===0x0)&&aO['setPath'](void 0x0)),aR===void 0x0)return console[bG(0x1ef)]('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new af();let aS=aO['load'](aR);return aO['setPath'](aP),aS;}['parseMaterials'](aL){let aM=new Map();if('Material'in V['Objects']){let aN=V['Objects']['Material'];for(let aO in aN){let aP=this['parseMaterial'](aN[aO],aL);aP!==null&&aM['set'](parseInt(aO),aP);}}return aM;}['parseMaterial'](aL,aM){const bH=bs;let aN=aL['id'],aO=aL['attrName'],aP=aL['ShadingModel'];if(typeof aP==bH(0x217)&&(aP=aP['value']),!H['has'](aN))return null;let aQ=this['parseParameters'](aL,aM,aN),aR;switch(aP['toLowerCase']()){case bH(0x234):aR=new aA();break;case'lambert':aR=new au();break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',aP),aR=new aA();break;}return aR['setValues'](aQ),aR['name']=aO,aR;}['parseParameters'](aL,aM,aN){const bI=bs;let aO={};aL['BumpFactor']&&(aO['bumpScale']=aL['BumpFactor']['value']),aL[bI(0x1fd)]?aO['color']=as[bI(0x1b2)](new aw()['fromArray'](aL['Diffuse']['value']),aF):aL['DiffuseColor']&&(aL['DiffuseColor']['type']==='Color'||aL['DiffuseColor']['type']==='ColorRGB')&&(aO['color']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['DiffuseColor']['value']),aF)),aL['DisplacementFactor']&&(aO['displacementScale']=aL[bI(0x1b4)]['value']),aL['Emissive']?aO['emissive']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Emissive']['value']),aF):aL['EmissiveColor']&&(aL['EmissiveColor']['type']===bI(0x1f8)||aL['EmissiveColor']['type']===bI(0x16a))&&(aO['emissive']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['EmissiveColor']['value']),aF)),aL['EmissiveFactor']&&(aO['emissiveIntensity']=parseFloat(aL['EmissiveFactor']['value'])),aO[bI(0x1c9)]=0x1-(aL[bI(0x1a8)]?parseFloat(aL['TransparencyFactor']['value']):0x0),(aO['opacity']===0x1||aO['opacity']===0x0)&&(aO[bI(0x1c9)]=aL[bI(0x172)]?parseFloat(aL[bI(0x172)]['value']):null,aO['opacity']===null&&(aO['opacity']=0x1)),aO[bI(0x1c9)]<0x1&&(aO['transparent']=!0x0),aL['ReflectionFactor']&&(aO['reflectivity']=aL['ReflectionFactor']['value']),aL['Shininess']&&(aO['shininess']=aL['Shininess']['value']),aL['Specular']?aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Specular']['value']),aF):aL[bI(0x193)]&&aL['SpecularColor']['type']==='Color'&&(aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['SpecularColor']['value']),aF));let aP=this;return H['get'](aN)['children']['forEach'](function(aQ){const bJ=bI;let aR=aQ['relationship'];switch(aR){case'Bump':aO['bumpMap']=aP['getTexture'](aM,aQ['ID']);break;case'Maya|TEX_ao_map':aO[bJ(0x1fe)]=aP['getTexture'](aM,aQ['ID']);break;case bJ(0x1b3):case bJ(0x173):aO[bJ(0x18d)]=aP['getTexture'](aM,aQ['ID']),aO['map']!==void 0x0&&(aO['map']['colorSpace']=aF);break;case'DisplacementColor':aO[bJ(0x20c)]=aP['getTexture'](aM,aQ['ID']);break;case'EmissiveColor':aO[bJ(0x1f9)]=aP['getTexture'](aM,aQ['ID']),aO['emissiveMap']!==void 0x0&&(aO['emissiveMap']['colorSpace']=aF);break;case bJ(0x20a):case'Maya|TEX_normal_map':aO['normalMap']=aP[bJ(0x232)](aM,aQ['ID']);break;case'ReflectionColor':aO['envMap']=aP['getTexture'](aM,aQ['ID']),aO['envMap']!==void 0x0&&(aO['envMap']['mapping']=0x12f,aO['envMap']['colorSpace']=aF);break;case'SpecularColor':aO['specularMap']=aP['getTexture'](aM,aQ['ID']),aO['specularMap']!==void 0x0&&(aO['specularMap']['colorSpace']=aF);break;case bJ(0x237):case'TransparencyFactor':aO['alphaMap']=aP[bJ(0x232)](aM,aQ['ID']),aO['transparent']=!0x0;break;default:console[bJ(0x1ef)]('THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.',aR);break;}}),aO;}['getTexture'](aL,aM){const bK=bs;return'LayeredTexture'in V['Objects']&&aM in V[bK(0x1b7)]['LayeredTexture']&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),aM=H['get'](aM)['children'][0x0]['ID']),aL['get'](aM);}[bs(0x1d2)](){const bL=bs;let aL={},aM={};if('Deformer'in V['Objects']){let aN=V['Objects'][bL(0x194)];for(let aO in aN){let aP=aN[aO],aQ=H[bL(0x1b6)](parseInt(aO));if(aP['attrType']===bL(0x1a6)){let aR=this['parseSkeleton'](aQ,aN);aR['ID']=aO,aQ[bL(0x1d4)]['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aR['geometryID']=aQ['parents'][0x0]['ID'],aL[aO]=aR;}else{if(aP['attrType']==='BlendShape'){let aS={'id':aO};aS['rawTargets']=this['parseMorphTargets'](aQ,aN),aS['id']=aO,aQ[bL(0x1d4)]['length']>0x1&&console['warn']('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aM[aO]=aS;}}}}return{'skeletons':aL,'morphTargets':aM};}[bs(0x244)](aL,aM){const bM=bs;let aN=[];return aL[bM(0x200)]['forEach'](function(aO){const bN=bM;let aP=aM[aO['ID']];if(aP['attrType']!=='Cluster')return;let aQ={'ID':aO['ID'],'indices':[],'weights':[],'transformLink':new a2()['fromArray'](aP[bN(0x1dc)]['a'])};bN(0x15d)in aP&&(aQ['indices']=aP['Indexes']['a'],aQ['weights']=aP['Weights']['a']),aN[bN(0x243)](aQ);}),{'rawBones':aN,'bones':[]};}['parseMorphTargets'](aL,aM){const bO=bs;let aN=[];for(let aO=0x0;aO<aL[bO(0x200)]['length'];aO++){let aP=aL['children'][aO],aQ=aM[aP['ID']],aR={'name':aQ['attrName'],'initialWeight':aQ['DeformPercent'],'id':aQ['id'],'fullWeights':aQ['FullWeights']['a']};if(aQ['attrType']!=='BlendShapeChannel')return;aR[bO(0x169)]=H[bO(0x1b6)](parseInt(aP['ID']))['children'][bO(0x206)](function(aS){const bP=bO;return aS[bP(0x186)]===void 0x0;})[0x0]['ID'],aN['push'](aR);}return aN;}['parseScene'](aL,aM,aN){const bR=bs;U=new a7();let aO=this['parseModels'](aL['skeletons'],aM,aN),aP=V['Objects']['Model'],aQ=this;aO['forEach'](function(aV){const bQ=a1;let aW=aP[aV['ID']];aQ[bQ(0x15e)](aV,aW),H['get'](aV['ID'])[bQ(0x1d4)]['forEach'](function(aX){let aY=aO['get'](aX['ID']);aY!==void 0x0&&aY['add'](aV);}),aV['parent']===null&&U['add'](aV);}),this['addGlobalSceneSettings'](),U[bR(0x1e5)](function(aV){const bS=bR;if(aV['userData']['transformData']){aV['parent']&&(aV[bS(0x1ae)]['transformData']['parentMatrix']=aV['parent']['matrix'],aV[bS(0x1ae)]['transformData']['parentMatrixWorld']=aV[bS(0x236)]['matrixWorld']);let aW=X(aV[bS(0x1ae)]['transformData']);aV['applyMatrix4'](aW),aV['updateWorldMatrix']();}});let aR=this['parsePoseNodes'](),aS=new Set();for(let aV in aL[bR(0x16e)])aL['skeletons'][aV]['rawBones'][bR(0x21a)](function(aW,aX){let aY=aL['skeletons'][aV]['bones'][aX];aY&&aS['add'](aY['ID']);});let aT=new a2();U['traverse'](function(aW){const bT=bR;if(aW['isBone']&&aW['ID']!==void 0x0&&!aS['has'](aW['ID'])){let aX=aR[aW['ID']];aX!==void 0x0&&(aW[bT(0x236)]?(aT[bT(0x227)](aW['parent']['matrixWorld'])['invert'](),aT[bT(0x179)](aX)):aT[bT(0x227)](aX),aT['decompose'](aW['position'],aW['quaternion'],aW[bT(0x1d9)]),aW[bT(0x170)](),aW['matrixWorld']['copy'](aX));}}),this['bindSkeleton'](aL['skeletons'],aM,aO);let aU=new he()['parse']();U['children']['length']===0x1&&U['children'][0x0]['isGroup']&&(U[bR(0x200)][0x0]['animations']=aU,U=U['children'][0x0]),U['animations']=aU,'GlobalSettings'in V&&'UpAxis'in V['GlobalSettings']&&V['GlobalSettings']['UpAxis']['value']===0x2&&(console['warn']('THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.'),U['rotation']['set'](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aL,aM,aN){const bU=bs;let aO=new Map(),aP=V[bU(0x1b7)]['Model'];for(let aQ in aP){let aR=parseInt(aQ),aS=aP[aQ],aT=H[bU(0x1b6)](aR),aU=this['buildSkeleton'](aT,aL,aR,aS['attrName']);if(!aU){switch(aS['attrType']){case bU(0x1fa):aU=this['createCamera'](aT);break;case bU(0x19c):aU=this['createLight'](aT);break;case'Mesh':aU=this['createMesh'](aT,aM,aN);break;case'NurbsCurve':aU=this['createCurve'](aT,aM);break;case'LimbNode':case bU(0x188):aU=new av();break;default:aU=new a7();break;}aU['name']=aS['attrName']?aD['sanitizeNodeName'](aS['attrName']):'',aU['userData']['originalName']=aS['attrName'],aU['ID']=aR;}this['getTransformData'](aU,aS),aO['set'](aR,aU);}return aO;}['buildSkeleton'](aL,aM,aN,aO){let aP=null;return aL['parents']['forEach'](function(aQ){for(let aR in aM){let aS=aM[aR];aS['rawBones']['forEach'](function(aT,aU){const bV=a1;if(aT['ID']===aQ['ID']){let aV=aP;aP=new av(),aP['matrixWorld']['copy'](aT['transformLink']),aP['name']=aO?aD['sanitizeNodeName'](aO):'',aP['userData'][bV(0x1ee)]=aO,aP['ID']=aN,aS[bV(0x1b5)][aU]=aP,aV!==null&&aP[bV(0x180)](aV);}});}}),aP;}['createCamera'](aL){const bX=bs;let aM,aN;if(aL['children']['forEach'](function(aO){const bW=a1;let aP=V['Objects'][bW(0x248)][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO=0x0;aN[bX(0x1c7)]!==void 0x0&&aN['CameraProjectionType']['value']===0x1&&(aO=0x1);let aP=0x1;aN['NearPlane']!==void 0x0&&(aP=aN['NearPlane'][bX(0x181)]/0x3e8);let aQ=0x3e8;aN['FarPlane']!==void 0x0&&(aQ=aN[bX(0x1bd)]['value']/0x3e8);let aR=window['innerWidth'],aS=window['innerHeight'];aN[bX(0x176)]!==void 0x0&&aN[bX(0x215)]!==void 0x0&&(aR=aN[bX(0x176)]['value'],aS=aN[bX(0x215)]['value']);let aT=aR/aS,aU=0x2d;aN['FieldOfView']!==void 0x0&&(aU=aN['FieldOfView']['value']);let aV=aN['FocalLength']?aN[bX(0x165)][bX(0x181)]:null;switch(aO){case 0x0:aM=new ax(aU,aT,aP,aQ),aV!==null&&aM['setFocalLength'](aV);break;case 0x1:console['warn']('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),aM=new ao();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+aO+'.'),aM=new ao();break;}}return aM;}['createLight'](aL){const bZ=bs;let aM,aN;if(aL['children']['forEach'](function(aO){const bY=a1;let aP=V['Objects'][bY(0x248)][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO;aO=aN[bZ(0x16b)]===void 0x0?0x0:aN['LightType']['value'];let aP=0xffffff;aN['Color']!==void 0x0&&(aP=as['colorSpaceToWorking'](new aw()[bZ(0x1f2)](aN['Color']['value']),aF));let aQ=aN['Intensity']===void 0x0?0x1:aN['Intensity'][bZ(0x181)]/0x64;aN['CastLightOnObject']!==void 0x0&&aN['CastLightOnObject']['value']===0x0&&(aQ=0x0);let aR=0x0;switch(aN['FarAttenuationEnd']!==void 0x0&&(aR=aN['EnableFarAttenuation']!==void 0x0&&aN['EnableFarAttenuation'][bZ(0x181)]===0x0?0x0:aN[bZ(0x1e9)]['value']),aO){case 0x0:aM=new ar(aP,aQ,aR,0x1);break;case 0x1:aM=new aG(aP,aQ);break;case 0x2:let aS=Math['PI']/0x3,aT=0x0;aN['OuterAngle']===void 0x0?aN[bZ(0x1b8)]!==void 0x0&&(aS=al['degToRad'](aN['InnerAngle'][bZ(0x181)])):(aS=al['degToRad'](aN['OuterAngle']['value']),aN['InnerAngle']!==void 0x0&&(aT=0x1-aN['InnerAngle']['value']/aN['OuterAngle'][bZ(0x181)],aT=Math[bZ(0x212)](0x0,aT))),aM=new ac(aP,aQ,aR,aS,aT,0x1);break;default:console[bZ(0x1ef)]('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+aN[bZ(0x16b)]['value']+',\x20defaulting\x20to\x20a\x20PointLight.'),aM=new ar(aP,aQ);break;}aN['CastShadows']!==void 0x0&&aN['CastShadows'][bZ(0x181)]===0x1&&(aM['castShadow']=!0x0);}return aM;}['createMesh'](aL,aM,aN){const c0=bs;let aO,aP=null,aQ=null,aR=[];if(aL['children'][c0(0x21a)](function(aS){const c1=c0;aM[c1(0x196)](aS['ID'])&&(aP=aM['get'](aS['ID'])),aN['has'](aS['ID'])&&aR[c1(0x243)](aN['get'](aS['ID']));}),aR['length']>0x1?aQ=aR:aR['length']>0x0?aQ=aR[0x0]:(aQ=new aA({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),aR[c0(0x243)](aQ)),'color'in aP['attributes']&&aR[c0(0x21a)](function(aS){aS['vertexColors']=!0x0;}),aP[c0(0x199)]['length']>0x0){let aS=!0x1;for(let aT=0x0,aU=aP['groups']['length'];aT<aU;aT++){let aV=aP['groups'][aT];(aV['materialIndex']<0x0||aV['materialIndex']>=aR['length'])&&(aV['materialIndex']=aR['length'],aS=!0x0);}if(aS){let aW=new aA();aR['push'](aW);}}return aP['FBX_Deformer']?(aO=new ad(aP,aQ),aO['normalizeSkinWeights']()):aO=new ap(aP,aQ),aO;}['createCurve'](aL,aM){const c2=bs;return new ah(aL['children'][c2(0x22c)](function(aN,aO){return aM['has'](aO['ID'])&&(aN=aM['get'](aO['ID'])),aN;},null),new aI({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0x3300ff,'linewidth':0x1}));}['getTransformData'](aL,aM){const c3=bs;let aN={};'InheritType'in aM&&(aN['inheritType']=parseInt(aM['InheritType']['value'])),'RotationOrder'in aM?aN['eulerOrder']=Z(aM[c3(0x1ac)][c3(0x181)]):aN[c3(0x177)]=Z(0x0),c3(0x15c)in aM&&(aN['translation']=aM['Lcl_Translation']['value']),'PreRotation'in aM&&(aN[c3(0x1f6)]=aM['PreRotation']['value']),c3(0x20b)in aM&&(aN[c3(0x1cc)]=aM['Lcl_Rotation']['value']),'PostRotation'in aM&&(aN['postRotation']=aM['PostRotation']['value']),c3(0x224)in aM&&(aN[c3(0x1d9)]=aM['Lcl_Scaling']['value']),c3(0x1e4)in aM&&(aN['scalingOffset']=aM['ScalingOffset']['value']),'ScalingPivot'in aM&&(aN['scalingPivot']=aM['ScalingPivot']['value']),'RotationOffset'in aM&&(aN['rotationOffset']=aM['RotationOffset']['value']),'RotationPivot'in aM&&(aN['rotationPivot']=aM[c3(0x1ea)]['value']),aL['userData']['transformData']=aN;}['setLookAtProperties'](aL,aM){const c4=bs;'LookAtProperty'in aM&&H['get'](aL['ID'])[c4(0x200)]['forEach'](function(aN){const c5=c4;if(aN[c5(0x186)]==='LookAtProperty'){let aO=V['Objects']['Model'][aN['ID']];if('Lcl_Translation'in aO){let aP=aO['Lcl_Translation']['value'];aL['target']===void 0x0?aL['lookAt'](new a3()['fromArray'](aP)):(aL['target']['position'][c5(0x1f2)](aP),U['add'](aL['target']));}}});}['bindSkeleton'](aL,aM,aN){const c6=bs;for(let aO in aL){let aP=aL[aO],aQ=[];for(let aR=0x0,aS=aP['bones']['length'];aR<aS;aR++){let aT=new a2();aP['bones'][aR]&&aP[c6(0x1a7)][aR]&&aT[c6(0x227)](aP['rawBones'][aR]['transformLink'])['invert'](),aQ['push'](aT);}H['get'](parseInt(aP['ID']))['parents']['forEach'](function(aU){const c7=c6;if(aM['has'](aU['ID'])){let aV=aU['ID'];H[c7(0x1b6)](aV)['parents'][c7(0x21a)](function(aW){const c8=c7;if(aN['has'](aW['ID'])){let aX=aN[c8(0x1b6)](aW['ID']);aX['updateMatrixWorld'](!0x0),aX['bind'](new a6(aP['bones'],aQ),aX[c8(0x218)]);}});}});}}['parsePoseNodes'](){const c9=bs;let aL={};if(c9(0x1af)in V['Objects']){let aM=V['Objects']['Pose'];for(let aN in aM)if(aM[aN]['attrType']===c9(0x245)&&aM[aN]['NbPoseNodes']>0x0){let aO=aM[aN]['PoseNode'];Array[c9(0x1c5)](aO)?aO['forEach'](function(aP){aL[aP['Node']]=new a2()['fromArray'](aP['Matrix']['a']);}):aL[aO[c9(0x1d3)]]=new a2()[c9(0x1f2)](aO['Matrix']['a']);}}return aL;}['addGlobalSceneSettings'](){const ca=bs;if('GlobalSettings'in V){if('AmbientColor'in V['GlobalSettings']){let aL=V[ca(0x242)]['AmbientColor']['value'],aM=aL[0x0],aN=aL[0x1],aO=aL[0x2];if(aM!==0x0||aN!==0x0||aO!==0x0){let aP=new aw()['setRGB'](aM,aN,aO,aF);U['add'](new at(aP,0x1));}}'UnitScaleFactor'in V['GlobalSettings']&&(U[ca(0x1ae)]['unitScaleFactor']=V['GlobalSettings'][ca(0x1c1)]['value']);}}},me=class{constructor(){this['negativeMaterialIndices']=!0x1;}['parse'](aL){const cb=bs;let aM=new Map();if('Geometry'in V[cb(0x1b7)]){let aN=V['Objects']['Geometry'];for(let aO in aN){let aP=H['get'](parseInt(aO)),aQ=this['parseGeometry'](aP,aN[aO],aL);aM[cb(0x246)](parseInt(aO),aQ);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),aM;}['parseGeometry'](aL,aM,aN){const cc=bs;switch(aM['attrType']){case'Mesh':return this[cc(0x21f)](aL,aM,aN);case'NurbsCurve':return this['parseNurbsGeometry'](aM);}}['parseMeshGeometry'](aL,aM,aN){const cd=bs;let aO=aN['skeletons'],aP=[],aQ=aL['parents']['map'](function(aV){return V['Objects']['Model'][aV['ID']];});if(aQ['length']===0x0)return;let aR=aL['children']['reduce'](function(aV,aW){return aO[aW['ID']]!==void 0x0&&(aV=aO[aW['ID']]),aV;},null);aL['children']['forEach'](function(aV){aN['morphTargets'][aV['ID']]!==void 0x0&&aP['push'](aN['morphTargets'][aV['ID']]);});let aS=aQ[0x0],aT={};'RotationOrder'in aS&&(aT['eulerOrder']=Z(aS[cd(0x1ac)]['value'])),'InheritType'in aS&&(aT['inheritType']=parseInt(aS['InheritType']['value'])),'GeometricTranslation'in aS&&(aT['translation']=aS['GeometricTranslation']['value']),cd(0x162)in aS&&(aT['rotation']=aS['GeometricRotation'][cd(0x181)]),cd(0x221)in aS&&(aT[cd(0x1d9)]=aS['GeometricScaling']['value']);let aU=X(aT);return this['genGeometry'](aM,aR,aP,aU);}[bs(0x1de)](aL,aM,aN,aO){const cf=bs;let aP=new aB();aL['attrName']&&(aP['name']=aL['attrName']);let aQ=this['parseGeoNode'](aL,aM),aR=this['genBuffers'](aQ),aS=new aE(aR['vertex'],0x3);if(aS['applyMatrix4'](aO),aP[cf(0x230)]('position',aS),aR[cf(0x1e8)]['length']>0x0&&aP['setAttribute'](cf(0x1eb),new aE(aR['colors'],0x3)),aM&&(aP['setAttribute']('skinIndex',new ai(aR['weightsIndices'],0x4)),aP['setAttribute'](cf(0x213),new aE(aR['vertexWeights'],0x4)),aP['FBX_Deformer']=aM),aR['normal']['length']>0x0){let aT=new ag()['getNormalMatrix'](aO),aU=new aE(aR['normal'],0x3);aU[cf(0x22d)](aT),aP['setAttribute']('normal',aU);}if(aR['uvs']['forEach'](function(aV,aW){let aX=aW===0x0?'uv':'uv'+aW;aP['setAttribute'](aX,new aE(aR['uvs'][aW],0x2));}),aQ['material']&&aQ['material']['mappingType']!==cf(0x247)){let aV=aR['materialIndex'][0x0],aW=0x0;if(aR['materialIndex']['forEach'](function(aX,aY){aX!==aV&&(aP['addGroup'](aW,aY-aW,aV),aV=aX,aW=aY);}),aP['groups']['length']>0x0){let aX=aP['groups'][aP['groups']['length']-0x1],aY=aX['start']+aX[cf(0x1bb)];aY!==aR['materialIndex']['length']&&aP['addGroup'](aY,aR['materialIndex']['length']-aY,aV);}aP['groups']['length']===0x0&&aP['addGroup'](0x0,aR['materialIndex']['length'],aR[cf(0x1d8)][0x0]);}return this['addMorphTargets'](aP,aL,aN,aO),aP;}['parseGeoNode'](aL,aM){const cg=bs;let aN={};if(aN['vertexPositions']=aL['Vertices']===void 0x0?[]:aL[cg(0x1ec)]['a'],aN['vertexIndices']=aL[cg(0x167)]===void 0x0?[]:aL[cg(0x167)]['a'],aL['LayerElementColor']&&aL['LayerElementColor'][0x0]['Colors']&&(aN['color']=this['parseVertexColors'](aL['LayerElementColor'][0x0])),aL[cg(0x184)]&&(aN['material']=this['parseMaterialIndices'](aL['LayerElementMaterial'][0x0])),aL['LayerElementNormal']&&(aN[cg(0x164)]=this['parseNormals'](aL['LayerElementNormal'][0x0])),aL['LayerElementUV']){aN['uv']=[];let aO=0x0;for(;aL[cg(0x1e3)][aO];)aL['LayerElementUV'][aO]['UV']&&aN['uv']['push'](this['parseUVs'](aL['LayerElementUV'][aO])),aO++;}return aN['weightTable']={},aM!==null&&(aN['skeleton']=aM,aM['rawBones']['forEach'](function(aP,aQ){const ch=cg;aP['indices'][ch(0x21a)](function(aR,aS){aN['weightTable'][aR]===void 0x0&&(aN['weightTable'][aR]=[]),aN['weightTable'][aR]['push']({'id':aQ,'weight':aP['weights'][aS]});});})),aN;}['genBuffers'](aL){const ci=bs;let aM={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]},aN=0x0,aO=0x0,aP=!0x1,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[],aW=this;return aL[ci(0x22e)]['forEach'](function(aX,aY){const ck=ci;let aZ,b0=!0x1;aX<0x0&&(aX^=-0x1,b0=!0x0);let b1=[],b2=[];if(aQ['push'](aX*0x3,aX*0x3+0x1,aX*0x3+0x2),aL['color']){let b3=q(aY,aN,aX,aL['color']);aS['push'](b3[0x0],b3[0x1],b3[0x2]);}if(aL['skeleton']){if(aL['weightTable'][aX]!==void 0x0&&aL['weightTable'][aX]['forEach'](function(b4){b2['push'](b4['weight']),b1['push'](b4['id']);}),b2['length']>0x4){aP||(console['warn']('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),aP=!0x0);let b4=[0x0,0x0,0x0,0x0],b5=[0x0,0x0,0x0,0x0];b2['forEach'](function(b6,b7){const cj=a1;let b8=b6,b9=b1[b7];b5[cj(0x21a)](function(ba,bb,bc){if(b8>ba){bc[bb]=b8,b8=ba;let bd=b4[bb];b4[bb]=b9,b9=bd;}});}),b1=b4,b2=b5;}for(;b2['length']<0x4;)b2[ck(0x243)](0x0),b1[ck(0x243)](0x0);for(let b6=0x0;b6<0x4;++b6)aU['push'](b2[b6]),aV['push'](b1[b6]);}if(aL['normal']){let b7=q(aY,aN,aX,aL['normal']);aR['push'](b7[0x0],b7[0x1],b7[0x2]);}aL['material']&&aL['material']['mappingType']!=='AllSame'&&(aZ=q(aY,aN,aX,aL['material'])[0x0],aZ<0x0&&(aW[ck(0x18b)]=!0x0,aZ=0x0)),aL['uv']&&aL['uv'][ck(0x21a)](function(b8,b9){const cl=ck;let ba=q(aY,aN,aX,b8);aT[b9]===void 0x0&&(aT[b9]=[]),aT[b9]['push'](ba[0x0]),aT[b9][cl(0x243)](ba[0x1]);}),aO++,b0&&(aW['genFace'](aM,aL,aQ,aZ,aR,aS,aT,aU,aV,aO),aN++,aO=0x0,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[]);}),aM;}['getNormalNewell'](aL){let aM=new a3(0x0,0x0,0x0);for(let aN=0x0;aN<aL['length'];aN++){let aO=aL[aN],aP=aL[(aN+0x1)%aL['length']];aM['x']+=(aO['y']-aP['y'])*(aO['z']+aP['z']),aM['y']+=(aO['z']-aP['z'])*(aO['x']+aP['x']),aM['z']+=(aO['x']-aP['x'])*(aO['y']+aP['y']);}return aM['normalize'](),aM;}[bs(0x235)](aL){const cm=bs;let aM=this['getNormalNewell'](aL),aN=(Math['abs'](aM['z'])>0.5?new a3(0x0,0x1,0x0):new a3(0x0,0x0,0x1))[cm(0x17a)](aM)['normalize']();return{'normal':aM,'tangent':aN,'bitangent':aM['clone']()['cross'](aN)['normalize']()};}['flattenVertex'](aL,aM,aN){return new aJ(aL['dot'](aM),aL['dot'](aN));}['genFace'](aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU){const cn=bs;let aV;if(aU>0x3){let aW=[],aX=aM['baseVertexPositions']||aM['vertexPositions'];for(let b1=0x0;b1<aN['length'];b1+=0x3)aW['push'](new a3(aX[aN[b1]],aX[aN[b1+0x1]],aX[aN[b1+0x2]]));let {tangent:aY,bitangent:aZ}=this['getNormalTangentAndBitangent'](aW),b0=[];for(let b2 of aW)b0[cn(0x243)](this[cn(0x203)](b2,aY,aZ));aV=a8['triangulateShape'](b0,[]);}else aV=[[0x0,0x1,0x2]];for(let [b3,b4,b5]of aV)aL['vertex']['push'](aM[cn(0x1bf)][aN[b3*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b4*0x3]]),aL['vertex'][cn(0x243)](aM['vertexPositions'][aN[b4*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b4*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3]]),aL['vertex'][cn(0x243)](aM['vertexPositions'][aN[b5*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x2]]),aM['skeleton']&&(aL['vertexWeights']['push'](aS[b3*0x4]),aL['vertexWeights'][cn(0x243)](aS[b3*0x4+0x1]),aL['vertexWeights']['push'](aS[b3*0x4+0x2]),aL['vertexWeights']['push'](aS[b3*0x4+0x3]),aL[cn(0x197)]['push'](aS[b4*0x4]),aL['vertexWeights']['push'](aS[b4*0x4+0x1]),aL['vertexWeights']['push'](aS[b4*0x4+0x2]),aL['vertexWeights'][cn(0x243)](aS[b4*0x4+0x3]),aL['vertexWeights']['push'](aS[b5*0x4]),aL['vertexWeights']['push'](aS[b5*0x4+0x1]),aL['vertexWeights']['push'](aS[b5*0x4+0x2]),aL['vertexWeights']['push'](aS[b5*0x4+0x3]),aL['weightsIndices'][cn(0x243)](aT[b3*0x4]),aL['weightsIndices'][cn(0x243)](aT[b3*0x4+0x1]),aL['weightsIndices'][cn(0x243)](aT[b3*0x4+0x2]),aL[cn(0x241)]['push'](aT[b3*0x4+0x3]),aL['weightsIndices']['push'](aT[b4*0x4]),aL['weightsIndices']['push'](aT[b4*0x4+0x1]),aL['weightsIndices']['push'](aT[b4*0x4+0x2]),aL['weightsIndices']['push'](aT[b4*0x4+0x3]),aL['weightsIndices']['push'](aT[b5*0x4]),aL['weightsIndices']['push'](aT[b5*0x4+0x1]),aL['weightsIndices']['push'](aT[b5*0x4+0x2]),aL['weightsIndices']['push'](aT[b5*0x4+0x3])),aM['color']&&(aL['colors']['push'](aQ[b3*0x3]),aL['colors']['push'](aQ[b3*0x3+0x1]),aL['colors']['push'](aQ[b3*0x3+0x2]),aL['colors']['push'](aQ[b4*0x3]),aL['colors']['push'](aQ[b4*0x3+0x1]),aL['colors']['push'](aQ[b4*0x3+0x2]),aL['colors']['push'](aQ[b5*0x3]),aL['colors']['push'](aQ[b5*0x3+0x1]),aL['colors']['push'](aQ[b5*0x3+0x2])),aM['material']&&aM[cn(0x216)]['mappingType']!=='AllSame'&&(aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO),aL['materialIndex'][cn(0x243)](aO)),aM[cn(0x164)]&&(aL['normal']['push'](aP[b3*0x3]),aL['normal']['push'](aP[b3*0x3+0x1]),aL['normal']['push'](aP[b3*0x3+0x2]),aL[cn(0x164)]['push'](aP[b4*0x3]),aL['normal']['push'](aP[b4*0x3+0x1]),aL['normal']['push'](aP[b4*0x3+0x2]),aL['normal']['push'](aP[b5*0x3]),aL[cn(0x164)][cn(0x243)](aP[b5*0x3+0x1]),aL['normal']['push'](aP[b5*0x3+0x2])),aM['uv']&&aM['uv']['forEach'](function(b6,b7){const co=cn;aL['uvs'][b7]===void 0x0&&(aL['uvs'][b7]=[]),aL['uvs'][b7]['push'](aR[b7][b3*0x2]),aL[co(0x160)][b7]['push'](aR[b7][b3*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b4*0x2]),aL['uvs'][b7]['push'](aR[b7][b4*0x2+0x1]),aL['uvs'][b7][co(0x243)](aR[b7][b5*0x2]),aL['uvs'][b7]['push'](aR[b7][b5*0x2+0x1]);});}['addMorphTargets'](aL,aM,aN,aO){if(aN['length']===0x0)return;aL['morphTargetsRelative']=!0x0,aL['morphAttributes']['position']=[];let aP=aO['clone']()['setPosition'](0x0,0x0,0x0),aQ=this;aN['forEach'](function(aR){const cp=a1;aR['rawTargets'][cp(0x21a)](function(aS){let aT=V['Objects']['Geometry'][aS['geoID']];aT!==void 0x0&&aQ['genMorphGeometry'](aL,aM,aT,aP,aS['name']);});});}['genMorphGeometry'](aL,aM,aN,aO,aP){const cq=bs;let aQ=aM[cq(0x1ec)]===void 0x0?[]:aM['Vertices']['a'],aR=aM['PolygonVertexIndex']===void 0x0?[]:aM['PolygonVertexIndex']['a'],aS=aN['Vertices']===void 0x0?[]:aN['Vertices']['a'],aT=aN['Indexes']===void 0x0?[]:aN['Indexes']['a'],aU=aL['attributes']['position']['count']*0x3,aV=new Float32Array(aU);for(let aY=0x0;aY<aT[cq(0x210)];aY++){let aZ=aT[aY]*0x3;aV[aZ]=aS[aY*0x3],aV[aZ+0x1]=aS[aY*0x3+0x1],aV[aZ+0x2]=aS[aY*0x3+0x2];}let aW={'vertexIndices':aR,'vertexPositions':aV,'baseVertexPositions':aQ},aX=new aE(this['genBuffers'](aW)['vertex'],0x3);aX['name']=aP||aN['attrName'],aX['applyMatrix4'](aO),aL['morphAttributes']['position']['push'](aX);}['parseNormals'](aL){const cr=bs;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL[cr(0x19b)]['a'],aP=[];return aN===cr(0x168)&&(cr(0x220)in aL?aP=aL[cr(0x220)]['a']:'NormalsIndex'in aL&&(aP=aL[cr(0x161)]['a'])),{'dataSize':0x3,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseUVs'](aL){const cs=bs;let aM=aL[cs(0x208)],aN=aL['ReferenceInformationType'],aO=aL['UV']['a'],aP=[];return aN===cs(0x168)&&(aP=aL['UVIndex']['a']),{'dataSize':0x2,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseVertexColors'](aL){const ct=bs;let aM=aL[ct(0x208)],aN=aL['ReferenceInformationType'],aO=aL['Colors']['a'],aP=[];aN==='IndexToDirect'&&(aP=aL['ColorIndex']['a']);for(let aQ=0x0,aR=new aw();aQ<aO['length'];aQ+=0x4)aR['fromArray'](aO,aQ),as['colorSpaceToWorking'](aR,aF),aR[ct(0x1f4)](aO,aQ);return{'dataSize':0x4,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseMaterialIndices'](aL){const cu=bs;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'];if(aM==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':cu(0x247),'referenceType':aN};let aO=aL['Materials']['a'],aP=[];for(let aQ=0x0;aQ<aO['length'];++aQ)aP[cu(0x243)](aQ);return{'dataSize':0x1,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}[bs(0x17f)](aL){const cv=bs;let aM=parseInt(aL['Order']);if(isNaN(aM))return console['error']('THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s',aL['Order'],aL['id']),new aB();let aN=aM-0x1,aO=aL['KnotVector']['a'],aP=[],aQ=aL['Points']['a'];for(let aU=0x0,aV=aQ['length'];aU<aV;aU+=0x4)aP['push'](new ak()['fromArray'](aQ,aU));let aR,aS;if(aL['Form']===cv(0x1e2))aP['push'](aP[0x0]);else{if(aL['Form']==='Periodic'){aR=aN,aS=aO['length']-0x1-aR;for(let aW=0x0;aW<aN;++aW)aP[cv(0x243)](aP[aW]);}}let aT=new B(aN,aO,aP,aR,aS)['getPoints'](aP[cv(0x210)]*0xc);return new aB()['setFromPoints'](aT);}},he=class{['parse'](){const cw=bs;let aL=[],aM=this['parseClips']();if(aM!==void 0x0)for(let aN in aM){let aO=aM[aN],aP=this['addClip'](aO);aL[cw(0x243)](aP);}return aL;}[bs(0x219)](){if(V['Objects']['AnimationCurve']===void 0x0)return;let aL=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aL);let aM=this['parseAnimationLayers'](aL);return this['parseAnimStacks'](aM);}[bs(0x1cd)](){const cx=bs;let aL=V[cx(0x1b7)]['AnimationCurveNode'],aM=new Map();for(let aN in aL){let aO=aL[aN];if(aO['attrName']['match'](/S|R|T|DeformPercent/)!==null){let aP={'id':aO['id'],'attr':aO[cx(0x1a3)],'curves':{}};aM[cx(0x246)](aP['id'],aP);}}return aM;}['parseAnimationCurves'](aL){const cy=bs;let aM=V['Objects']['AnimationCurve'];for(let aN in aM){let aO={'id':aM[aN]['id'],'times':aM[aN][cy(0x1c3)]['a']['map'](be),'values':aM[aN]['KeyValueFloat']['a']},aP=H[cy(0x1b6)](aO['id']);if(aP!==void 0x0){let aQ=aP['parents'][0x0]['ID'],aR=aP[cy(0x1d4)][0x0]['relationship'];aR[cy(0x202)](/X/)?aL['get'](aQ)['curves']['x']=aO:aR['match'](/Y/)?aL['get'](aQ)['curves']['y']=aO:aR['match'](/Z/)?aL[cy(0x1b6)](aQ)['curves']['z']=aO:aR['match'](/DeformPercent/)&&aL['has'](aQ)&&(aL['get'](aQ)[cy(0x1a5)][cy(0x226)]=aO);}}}['parseAnimationLayers'](aL){const cz=bs;let aM=V['Objects']['AnimationLayer'],aN=new Map();for(let aO in aM){let aP=[],aQ=H[cz(0x1b6)](parseInt(aO));aQ!==void 0x0&&(aQ['children']['forEach'](function(aR,aS){const cA=cz;if(aL['has'](aR['ID'])){let aT=aL['get'](aR['ID']);if(aT['curves']['x']!==void 0x0||aT[cA(0x1a5)]['y']!==void 0x0||aT['curves']['z']!==void 0x0){if(aP[aS]===void 0x0){let aU=H['get'](aR['ID'])['parents']['filter'](function(aW){const cB=cA;return aW[cB(0x186)]!==void 0x0;});if(aU['length']===0x0)return;let aV=aU[0x0]['ID'];if(aV!==void 0x0){let aW=V['Objects']['Model'][aV[cA(0x22f)]()];if(aW===void 0x0){console['warn']('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',aR);return;}let aX={'modelName':aW['attrName']?aD['sanitizeNodeName'](aW['attrName']):'','ID':aW['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};U['traverse'](function(aY){const cC=cA;aY['ID']===aW['id']&&(aX['transform']=aY['matrix'],aY['userData']['transformData']&&(aX['eulerOrder']=aY['userData']['transformData'][cC(0x177)],aY[cC(0x1ae)]['transformData']['rotation']&&(aX['initialRotation']=aY['userData']['transformData'][cC(0x1cc)])));}),aX['transform']||(aX['transform']=new a2()),'PreRotation'in aW&&(aX['preRotation']=aW['PreRotation'][cA(0x181)]),cA(0x1f0)in aW&&(aX['postRotation']=aW['PostRotation']['value']),aP[aS]=aX;}}aP[aS]&&(aP[aS][aT['attr']]=aT);}else{if(aT['curves']['morph']!==void 0x0){if(aP[aS]===void 0x0){let aY=H[cA(0x1b6)](aR['ID'])['parents'][cA(0x206)](function(b4){return b4['relationship']!==void 0x0;});if(aY['length']===0x0)return;let aZ=aY[0x0]['ID'],b0=H['get'](aZ)['parents'][0x0]['ID'],b1=H[cA(0x1b6)](b0)['parents'][0x0]['ID'],b2=H['get'](b1)['parents'][0x0]['ID'],b3=V['Objects'][cA(0x229)][b2];aP[aS]={'modelName':b3[cA(0x1a3)]?aD['sanitizeNodeName'](b3['attrName']):'','morphName':V['Objects']['Deformer'][aZ]['attrName']};}aP[aS][aT[cA(0x1ad)]]=aT;}}}}),aN['set'](parseInt(aO),aP));}return aN;}['parseAnimStacks'](aL){let aM=V['Objects']['AnimationStack'],aN={};for(let aO in aM){let aP=H['get'](parseInt(aO))['children'];aP['length']>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');let aQ=aL['get'](aP[0x0]['ID']);aN[aO]={'name':aM[aO]['attrName'],'layer':aQ};}return aN;}['addClip'](aL){const cD=bs;let aM=[],aN=this;return aL['layer']['forEach'](function(aO){aM=aM['concat'](aN['generateTracks'](aO));}),new az(aL[cD(0x18c)],-0x1,aM);}['generateTracks'](aL){const cE=bs;let aM=[],aN=new a3(),aO=new a3();if(aL['transform']&&aL['transform']['decompose'](aN,new aH(),aO),aN=aN['toArray'](),aO=aO['toArray'](),aL['T']!==void 0x0&&Object['keys'](aL['T']['curves'])['length']>0x0){let aP=this['generateVectorTrack'](aL['modelName'],aL['T']['curves'],aN,'position');aP!==void 0x0&&aM['push'](aP);}if(aL['R']!==void 0x0&&Object['keys'](aL['R']['curves'])['length']>0x0){let aQ=this['generateRotationTrack'](aL['modelName'],aL['R']['curves'],aL[cE(0x1f6)],aL[cE(0x17c)],aL['eulerOrder'],aL['initialRotation']);aQ!==void 0x0&&aM['push'](aQ);}if(aL['S']!==void 0x0&&Object['keys'](aL['S'][cE(0x1a5)])['length']>0x0){let aR=this['generateVectorTrack'](aL['modelName'],aL['S'][cE(0x1a5)],aO,'scale');aR!==void 0x0&&aM['push'](aR);}if(aL['DeformPercent']!==void 0x0){let aS=this['generateMorphTrack'](aL);aS!==void 0x0&&aM['push'](aS);}return aM;}['generateVectorTrack'](aL,aM,aN,aO){let aP=this['getTimesForAllAxes'](aM),aQ=this['getKeyframeTrackValues'](aP,aM,aN);return new aa(aL+'.'+aO,aP,aQ);}['generateRotationTrack'](aL,aM,aN,aO,aP,aQ){const cF=bs;let aR,aS;if(aM['x']!==void 0x0||aM['y']!==void 0x0||aM['z']!==void 0x0){let aX=this['getTimesForAllAxes'](aM);if(aX[cF(0x210)]>0x0){let aY=aQ||[0x0,0x0,0x0],aZ=this['synchronizeCurve'](aM['x'],aX,aY[0x0]),b0=this['synchronizeCurve'](aM['y'],aX,aY[0x1]),b1=this['synchronizeCurve'](aM['z'],aX,aY[0x2]),b2=this['interpolateRotations'](aZ,b0,b1,aP);aR=b2[0x0],aS=b2[0x1];}}let aT=Z(0x0);aN!==void 0x0&&(aN=aN['map'](al[cF(0x189)]),aN['push'](aT),aN=new aj()['fromArray'](aN),aN=new aH()['setFromEuler'](aN)),aO!==void 0x0&&(aO=aO['map'](al['degToRad']),aO['push'](aT),aO=new aj()['fromArray'](aO),aO=new aH()[cF(0x16c)](aO)['invert']());let aU=new aH(),aV=new aj(),aW=[];if(!(!aS||!aR)){for(let b3=0x0;b3<aS['length'];b3+=0x3)aV['set'](aS[b3],aS[b3+0x1],aS[b3+0x2],aP),aU['setFromEuler'](aV),aN!==void 0x0&&aU[cF(0x1a1)](aN),aO!==void 0x0&&aU[cF(0x179)](aO),b3>0x2&&new aH()['fromArray'](aW,(b3-0x3)/0x3*0x4)['dot'](aU)<0x0&&aU['set'](-aU['x'],-aU['y'],-aU['z'],-aU['w']),aU[cF(0x1f4)](aW,b3/0x3*0x4);return new an(aL+'.quaternion',aR,aW);}}[bs(0x171)](aL){const cG=bs;let aM=aL['DeformPercent']['curves']['morph'],aN=aM['values']['map'](function(aP){return aP/0x64;}),aO=U['getObjectByName'](aL['modelName'])[cG(0x1fb)][aL['morphName']];return new aC(aL[cG(0x21e)]+'.morphTargetInfluences['+aO+']',aM['times'],aN);}[bs(0x17d)](aL){const cH=bs;let aM=[];if(aL['x']!==void 0x0&&(aM=aM['concat'](aL['x']['times'])),aL['y']!==void 0x0&&(aM=aM['concat'](aL['y'][cH(0x174)])),aL['z']!==void 0x0&&(aM=aM[cH(0x23d)](aL['z']['times'])),aM=aM['sort'](function(aN,aO){return aN-aO;}),aM['length']>0x1){let aN=0x1,aO=aM[0x0];for(let aP=0x1;aP<aM['length'];aP++){let aQ=aM[aP];aQ!==aO&&(aM[aN]=aQ,aO=aQ,aN++);}aM=aM['slice'](0x0,aN);}return aM;}[bs(0x201)](aL,aM,aN){let aO=aN,aP=[],aQ=-0x1,aR=-0x1,aS=-0x1;return aL['forEach'](function(aT){const cI=a1;if(aM['x']&&(aQ=aM['x'][cI(0x174)]['indexOf'](aT)),aM['y']&&(aR=aM['y']['times'][cI(0x1ba)](aT)),aM['z']&&(aS=aM['z'][cI(0x174)]['indexOf'](aT)),aQ!==-0x1){let aU=aM['x']['values'][aQ];aP['push'](aU),aO[0x0]=aU;}else aP[cI(0x243)](aO[0x0]);if(aR!==-0x1){let aV=aM['y']['values'][aR];aP['push'](aV),aO[0x1]=aV;}else aP[cI(0x243)](aO[0x1]);if(aS!==-0x1){let aW=aM['z']['values'][aS];aP['push'](aW),aO[0x2]=aW;}else aP['push'](aO[0x2]);}),aP;}['synchronizeCurve'](aL,aM,aN){const cJ=bs;if(aL===void 0x0)return{'times':aM,'values':aM[cJ(0x18d)](()=>aN)};if(aL['times']['length']===aM['length'])return aL;let aO=[];for(let aP=0x0;aP<aM['length'];aP++)aO['push'](this['sampleCurveValue'](aL,aM[aP],aN));return{'times':aM,'values':aO};}['sampleCurveValue'](aL,aM,aN){let aO=aL['times'],aP=aL['values'];if(aM<=aO[0x0])return aP[0x0];if(aM>=aO[aO['length']-0x1])return aP[aP['length']-0x1];for(let aQ=0x0;aQ<aO['length']-0x1;aQ++)if(aM>=aO[aQ]&&aM<=aO[aQ+0x1]){if(aO[aQ]===aM)return aP[aQ];let aR=(aM-aO[aQ])/(aO[aQ+0x1]-aO[aQ]);return aP[aQ]*(0x1-aR)+aP[aQ+0x1]*aR;}return aN;}['interpolateRotations'](aL,aM,aN,aO){const cK=bs;let aP=[],aQ=[];aP['push'](aL[cK(0x174)][0x0]),aQ['push'](al['degToRad'](aL['values'][0x0])),aQ['push'](al['degToRad'](aM['values'][0x0])),aQ['push'](al[cK(0x189)](aN['values'][0x0]));for(let aR=0x1;aR<aL['values']['length'];aR++){let aS=[aL['values'][aR-0x1],aM[cK(0x1a2)][aR-0x1],aN['values'][aR-0x1]];if(isNaN(aS[0x0])||isNaN(aS[0x1])||isNaN(aS[0x2]))continue;let aT=aS['map'](al[cK(0x189)]),aU=[aL[cK(0x1a2)][aR],aM['values'][aR],aN['values'][aR]];if(isNaN(aU[0x0])||isNaN(aU[0x1])||isNaN(aU[0x2]))continue;let aV=aU['map'](al['degToRad']),aW=[aU[0x0]-aS[0x0],aU[0x1]-aS[0x1],aU[0x2]-aS[0x2]],aX=[Math['abs'](aW[0x0]),Math[cK(0x238)](aW[0x1]),Math['abs'](aW[0x2])];if(aX[0x0]>=0xb4||aX[0x1]>=0xb4||aX[0x2]>=0xb4){let aY=Math['max'](...aX)/0xb4,aZ=new aj(...aT,aO),b0=new aj(...aV,aO),b1=new aH()['setFromEuler'](aZ),b2=new aH()['setFromEuler'](b0);b1['dot'](b2)<0x0&&b2['set'](-b2['x'],-b2['y'],-b2['z'],-b2['w']);let b3=aL['times'][aR-0x1],b4=aL['times'][aR]-b3,b5=new aH(),b6=new aj();for(let b7=0x0;b7<0x1;b7+=0x1/aY)b5['copy'](b1[cK(0x163)]()['slerp'](b2['clone'](),b7)),aP[cK(0x243)](b3+b7*b4),b6['setFromQuaternion'](b5,aO),aQ[cK(0x243)](b6['x']),aQ['push'](b6['y']),aQ['push'](b6['z']);}else aP['push'](aL['times'][aR]),aQ['push'](al['degToRad'](aL[cK(0x1a2)][aR])),aQ['push'](al[cK(0x189)](aM[cK(0x1a2)][aR])),aQ['push'](al['degToRad'](aN[cK(0x1a2)][aR]));}return[aP,aQ];}},ge=class{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){const cL=bs;return this['nodeStack'][this[cL(0x23b)]-0x1];}['getCurrentProp'](){return this['currentProp'];}['pushStack'](aL){const cM=bs;this['nodeStack']['push'](aL),this[cM(0x23b)]+=0x1;}['popStack'](){this['nodeStack']['pop'](),--this['currentIndent'];}[bs(0x1f7)](aL,aM){this['currentProp']=aL,this['currentPropName']=aM;}['parse'](aL){const cN=bs;this['currentIndent']=0x0,this['allNodes']=new G(),this['nodeStack']=[],this[cN(0x21d)]=[],this[cN(0x19e)]='';let aM=this,aN=aL['split'](/[\r\n]+/);return aN['forEach'](function(aO,aP){const cO=cN;let aQ=aO['match'](/^[\s\t]*;/),aR=aO['match'](/^[\s\t]*$/);if(aQ||aR)return;let aS=aO['match']('^\x5ct{'+aM['currentIndent']+'}(\x5cw+):(.*){',''),aT=aO[cO(0x202)]('^\x5ct{'+aM['currentIndent']+cO(0x19a)),aU=aO[cO(0x202)]('^\x5ct{'+(aM['currentIndent']-0x1)+'}}');aS?aM['parseNodeBegin'](aO,aS):aT?aM['parseNodeProperty'](aO,aT,aN[++aP]):aU?aM['popStack']():aO['match'](/^[^\s\t}]/)&&aM[cO(0x16d)](aO);}),this['allNodes'];}['parseNodeBegin'](aL,aM){const cP=bs;let aN=aM[0x1][cP(0x182)]()['replace'](/^"/,'')[cP(0x22b)](/"$/,''),aO=aM[0x2]['split'](',')['map'](function(aS){const cQ=cP;return aS['trim']()[cQ(0x22b)](/^"/,'')['replace'](/"$/,'');}),aP={'name':aN},aQ=this[cP(0x21b)](aO),aR=this['getCurrentNode']();this['currentIndent']===0x0?this[cP(0x1ab)][cP(0x180)](aN,aP):aN in aR?(aN==='PoseNode'?aR[cP(0x1cb)]['push'](aP):aR[aN]['id']!==void 0x0&&(aR[aN]={},aR[aN][aR[aN]['id']]=aR[aN]),aQ['id']!==''&&(aR[aN][aQ['id']]=aP)):typeof aQ['id']=='number'?(aR[aN]={},aR[aN][aQ['id']]=aP):aN!=='Properties70'&&(aN===cP(0x1cb)?aR[aN]=[aP]:aR[aN]=aP),typeof aQ['id']=='number'&&(aP['id']=aQ['id']),aQ[cP(0x18c)]!==''&&(aP[cP(0x1a3)]=aQ[cP(0x18c)]),aQ['type']!==''&&(aP['attrType']=aQ['type']),this['pushStack'](aP);}['parseNodeAttr'](aL){const cR=bs;let aM=aL[0x0];aL[0x0]!==''&&(aM=parseInt(aL[0x0]),isNaN(aM)&&(aM=aL[0x0]));let aN='',aO='';return aL[cR(0x210)]>0x1&&(aN=aL[0x1]['replace'](/^(\w+)::/,''),aO=aL[0x2]),{'id':aM,'name':aN,'type':aO};}['parseNodeProperty'](aL,aM,aN){const cS=bs;let aO=aM[0x1]['replace'](/^"/,'')['replace'](/"$/,'')['trim'](),aP=aM[0x2]['replace'](/^"/,'')['replace'](/"$/,'')['trim']();aO==='Content'&&aP===','&&(aP=aN['replace'](/"/g,'')['replace'](/,$/,'')['trim']());let aQ=this['getCurrentNode']();if(aQ[cS(0x18c)]==='Properties70'){this['parseNodeSpecialProperty'](aL,aO,aP);return;}if(aO==='C'){let aR=aP['split'](',')['slice'](0x1),aS=parseInt(aR[0x0]),aT=parseInt(aR[0x1]),aU=aP['split'](',')['slice'](0x3);aU=aU['map'](function(aV){return aV['trim']()['replace'](/^"/,'');}),aO='connections',aP=[aS,aT],Se(aP,aU),aQ[aO]===void 0x0&&(aQ[aO]=[]);}aO===cS(0x1d3)&&(aQ['id']=aP),aO in aQ&&Array['isArray'](aQ[aO])?aQ[aO]['push'](aP):aO==='a'?aQ['a']=aP:aQ[aO]=aP,this['setCurrentProp'](aQ,aO),aO==='a'&&aP['slice'](-0x1)!==','&&(aQ['a']=Q(aP));}['parseNodePropertyContinued'](aL){const cT=bs;let aM=this['getCurrentNode']();aM['a']+=aL,aL[cT(0x1e6)](-0x1)!==','&&(aM['a']=Q(aM['a']));}['parseNodeSpecialProperty'](aL,aM,aN){const cU=bs;let aO=aN['split']('\x22,')['map'](function(aU){return aU['trim']()['replace'](/^\"/,'')['replace'](/\s/,'_');}),aP=aO[0x0],aQ=aO[0x1],aR=aO[0x2],aS=aO[0x3],aT=aO[0x4];switch(aQ){case'int':case'enum':case'bool':case'ULongLong':case'double':case cU(0x15f):case'FieldOfView':aT=parseFloat(aT);break;case'Color':case'ColorRGB':case'Vector3D':case'Lcl_Translation':case'Lcl_Rotation':case'Lcl_Scaling':aT=Q(aT);break;}this[cU(0x240)]()[aP]={'type':aQ,'type2':aR,'flag':aS,'value':aT},this['setCurrentProp'](this[cU(0x240)](),aP);}},_e=class{[bs(0x175)](aL){const cV=bs;let aM=new W(aL);aM['skip'](0x17);let aN=aM['getUint32']();if(aN<0x1900)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+aN);let aO=new G();for(;!this[cV(0x1c4)](aM);){let aP=this['parseNode'](aM,aN);aP!==null&&aO[cV(0x180)](aP['name'],aP);}return aO;}['endOfContent'](aL){const cW=bs;return aL['size']()%0x10==0x0?(aL[cW(0x1ce)]()+0xa0+0x10&-0x10)>=aL['size']():aL['getOffset']()+0xa0+0x10>=aL['size']();}['parseNode'](aL,aM){const cX=bs;let aN={},aO=aM>=0x1d4c?aL['getUint64']():aL[cX(0x223)](),aP=aM>=0x1d4c?aL['getUint64']():aL['getUint32']();aM>=0x1d4c?aL[cX(0x1e7)]():aL[cX(0x223)]();let aQ=aL['getUint8'](),aR=aL['getString'](aQ);if(aO===0x0)return null;let aS=[];for(let aW=0x0;aW<aP;aW++)aS['push'](this['parseProperty'](aL));let aT=aS['length']>0x0?aS[0x0]:'',aU=aS[cX(0x210)]>0x1?aS[0x1]:'',aV=aS[cX(0x210)]>0x2?aS[0x2]:'';for(aN[cX(0x1a4)]=aP===0x1&&aL['getOffset']()===aO;aO>aL['getOffset']();){let aX=this['parseNode'](aL,aM);aX!==null&&this['parseSubNode'](aR,aN,aX);}return aN['propertyList']=aS,typeof aT==cX(0x207)&&(aN['id']=aT),aU!==''&&(aN['attrName']=aU),aV!==''&&(aN['attrType']=aV),aR!==''&&(aN[cX(0x18c)]=aR),aN;}[bs(0x1f3)](aL,aM,aN){const cY=bs;if(aN['singleProperty']===!0x0){let aO=aN['propertyList'][0x0];Array[cY(0x1c5)](aO)?(aM[aN['name']]=aN,aN['a']=aO):aM[aN['name']]=aO;}else{if(aL==='Connections'&&aN['name']==='C'){let aP=[];aN['propertyList']['forEach'](function(aQ,aR){aR!==0x0&&aP['push'](aQ);}),aM['connections']===void 0x0&&(aM[cY(0x1d0)]=[]),aM['connections'][cY(0x243)](aP);}else{if(aN['name']==='Properties70')Object['keys'](aN)['forEach'](function(aQ){aM[aQ]=aN[aQ];});else{if(aL==='Properties70'&&aN['name']==='P'){let aQ=aN[cY(0x205)][0x0],aR=aN['propertyList'][0x1],aS=aN['propertyList'][0x2],aT=aN['propertyList'][0x3],aU;aQ['indexOf']('Lcl\x20')===0x0&&(aQ=aQ['replace']('Lcl\x20','Lcl_')),aR['indexOf']('Lcl\x20')===0x0&&(aR=aR['replace']('Lcl\x20',cY(0x15b))),aU=aR==='Color'||aR==='ColorRGB'||aR==='Vector'||aR==='Vector3D'||aR[cY(0x1ba)]('Lcl_')===0x0?[aN['propertyList'][0x4],aN['propertyList'][0x5],aN[cY(0x205)][0x6]]:aN['propertyList'][0x4],aM[aQ]={'type':aR,'type2':aS,'flag':aT,'value':aU};}else aM[aN['name']]===void 0x0?typeof aN['id']==cY(0x207)?(aM[aN['name']]={},aM[aN['name']][aN['id']]=aN):aM[aN['name']]=aN:aN['name']==='PoseNode'?(Array['isArray'](aM[aN[cY(0x18c)]])||(aM[aN['name']]=[aM[aN[cY(0x18c)]]]),aM[aN[cY(0x18c)]]['push'](aN)):aM[aN['name']][aN['id']]===void 0x0&&(aM[aN['name']][aN['id']]=aN);}}}}[bs(0x18a)](aL){const cZ=bs;let aM=aL['getString'](0x1),aN;switch(aM){case'C':return aL['getBoolean']();case'D':return aL['getFloat64']();case'F':return aL[cZ(0x1d6)]();case'I':return aL['getInt32']();case'L':return aL['getInt64']();case'R':return aN=aL['getUint32'](),aL['getArrayBuffer'](aN);case'S':return aN=aL['getUint32'](),aL['getString'](aN);case'Y':return aL[cZ(0x1db)]();case'b':case'c':case'd':case'f':case'i':case'l':let aO=aL['getUint32'](),aP=aL['getUint32'](),aQ=aL['getUint32']();if(aP===0x0)switch(aM){case'b':case'c':return aL['getBooleanArray'](aO);case'd':return aL['getFloat64Array'](aO);case'f':return aL['getFloat32Array'](aO);case'i':return aL['getInt32Array'](aO);case'l':return aL['getInt64Array'](aO);}let aR=new W(aK(new Uint8Array(aL['getArrayBuffer'](aQ)))['buffer']);switch(aM){case'b':case'c':return aR['getBooleanArray'](aO);case'd':return aR['getFloat64Array'](aO);case'f':return aR[cZ(0x1aa)](aO);case'i':return aR[cZ(0x22a)](aO);case'l':return aR['getInt64Array'](aO);}break;default:throw Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+aM);}}},W=class{constructor(aL,aM){this['dv']=new DataView(aL),this['offset']=0x0,this['littleEndian']=aM===void 0x0?!0x0:aM,this['_textDecoder']=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}['skip'](aL){this['offset']+=aL;}['getBoolean'](){const d0=bs;return(this[d0(0x1d5)]()&0x1)==0x1;}['getBooleanArray'](aL){const d1=bs;let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this[d1(0x185)]());return aM;}['getUint8'](){let aL=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aL;}[bs(0x1db)](){const d2=bs;let aL=this['dv']['getInt16'](this[d2(0x1a9)],this[d2(0x1b9)]);return this['offset']+=0x2,aL;}['getInt32'](){const d3=bs;let aL=this['dv'][d3(0x211)](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getInt32Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt32']());return aM;}[bs(0x223)](){const d4=bs;let aL=this['dv'][d4(0x223)](this[d4(0x1a9)],this[d4(0x1b9)]);return this['offset']+=0x4,aL;}['getInt64'](){let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this['getUint32'](),aL=this['getUint32']()),aM&0x80000000?(aM=~aM&0xffffffff,aL=~aL&0xffffffff,aL===0xffffffff&&(aM=aM+0x1&0xffffffff),aL=aL+0x1&0xffffffff,-(aM*0x100000000+aL)):aM*0x100000000+aL;}['getInt64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt64']());return aM;}['getUint64'](){const d5=bs;let aL,aM;return this['littleEndian']?(aL=this[d5(0x223)](),aM=this['getUint32']()):(aM=this['getUint32'](),aL=this['getUint32']()),aM*0x100000000+aL;}['getFloat32'](){let aL=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}[bs(0x1aa)](aL){const d6=bs;let aM=[];for(let aN=0x0;aN<aL;aN++)aM[d6(0x243)](this['getFloat32']());return aM;}['getFloat64'](){let aL=this['dv']['getFloat64'](this['offset'],this['littleEndian']);return this['offset']+=0x8,aL;}['getFloat64Array'](aL){const d7=bs;let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this[d7(0x19d)]());return aM;}['getArrayBuffer'](aL){let aM=this['dv']['buffer']['slice'](this['offset'],this['offset']+aL);return this['offset']+=aL,aM;}['getString'](aL){const d8=bs;let aM=this['offset'],aN=new Uint8Array(this['dv']['buffer'],aM,aL);this['skip'](aL);let aO=aN['indexOf'](0x0);return aO>=0x0&&(aN=new Uint8Array(this['dv'][d8(0x18f)],aM,aO)),this[d8(0x16f)][d8(0x19f)](aN);}},G=class{['add'](aL,aM){this[aL]=aM;}};function ve(aL){const d9=bs;return aL['byteLength']>=0x15&&$(aL,0x0,0x15)===d9(0x1b1);}function ye(aL){let aM=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'],aN=0x0;function aO(aP){let aQ=aL[aP-0x1];return aL=aL['slice'](aN+aP),aN++,aQ;}for(let aP=0x0;aP<aM['length'];++aP)if(aO(0x1)===aM[aP])return!0x1;return!0x0;}function K(aL){let aM=aL['match'](/FBXVersion: (\d+)/);if(aM)return parseInt(aM[0x1]);throw Error('THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.');}function be(aL){return aL/0xac0e8d7b0;}var xe=[];function q(aL,aM,aN,aO){const da=bs;let aP;switch(aO['mappingType']){case'ByPolygonVertex':aP=aL;break;case'ByPolygon':aP=aM;break;case'ByVertice':aP=aN;break;case da(0x247):aP=aO[da(0x191)][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+aO['mappingType']);}aO['referenceType']==='IndexToDirect'&&(aP=aO['indices'][aP]);let aQ=aP*aO[da(0x228)],aR=aQ+aO['dataSize'];return Ce(xe,aO['buffer'],aQ,aR);}var J=new aj(),Y=new a3();function X(aL){const db=bs;let aM=new a2(),aN=new a2(),aO=new a2(),aP=new a2(),aQ=new a2(),aR=new a2(),aS=new a2(),aT=new a2(),aU=new a2(),aV=new a2(),aW=new a2(),aX=new a2(),aY=aL['inheritType']?aL['inheritType']:0x0;aL['translation']&&aM['setPosition'](Y[db(0x1f2)](aL[db(0x239)]));let aZ=Z(0x0);if(aL['preRotation']){let bc=aL['preRotation']['map'](al['degToRad']);bc['push'](aZ),aN['makeRotationFromEuler'](J['fromArray'](bc));}if(aL[db(0x1cc)]){let bd=aL['rotation']['map'](al['degToRad']);bd['push'](aL['eulerOrder']||aZ),aO[db(0x233)](J['fromArray'](bd));}if(aL[db(0x17c)]){let bf=aL['postRotation']['map'](al['degToRad']);bf[db(0x243)](aZ),aP['makeRotationFromEuler'](J['fromArray'](bf)),aP['invert']();}aL['scale']&&aQ['scale'](Y['fromArray'](aL[db(0x1d9)])),aL['scalingOffset']&&aS['setPosition'](Y[db(0x1f2)](aL[db(0x1ff)])),aL['scalingPivot']&&aR['setPosition'](Y['fromArray'](aL['scalingPivot'])),aL['rotationOffset']&&aT[db(0x1c8)](Y['fromArray'](aL[db(0x1dd)])),aL['rotationPivot']&&aU['setPosition'](Y['fromArray'](aL['rotationPivot'])),aL[db(0x225)]&&(aW[db(0x227)](aL[db(0x166)]),aV['copy'](aL['parentMatrixWorld']));let b0=aN['clone']()['multiply'](aO)['multiply'](aP),b1=new a2();b1['extractRotation'](aV);let b2=new a2();b2[db(0x231)](aV);let b3=b2['clone']()['invert']()[db(0x179)](aV),b4=b1['clone']()['invert']()['multiply'](b3),b5=aQ,b6=new a2();if(aY===0x0)b6['copy'](b1)['multiply'](b0)['multiply'](b4)['multiply'](b5);else{if(aY===0x1)b6['copy'](b1)['multiply'](b4)['multiply'](b0)['multiply'](b5);else{let bg=new a2()['scale'](new a3()['setFromMatrixScale'](aW))['clone']()['invert'](),bh=b4[db(0x163)]()['multiply'](bg);b6['copy'](b1)['multiply'](b0)['multiply'](bh)['multiply'](b5);}}let b7=aU[db(0x163)]()['invert'](),b8=aR['clone']()['invert'](),b9=aM[db(0x163)]()[db(0x179)](aT)[db(0x179)](aU)['multiply'](aN)['multiply'](aO)[db(0x179)](aP)['multiply'](b7)['multiply'](aS)['multiply'](aR)['multiply'](aQ)['multiply'](b8),ba=new a2()['copyPosition'](b9),bb=aV['clone']()['multiply'](ba);return aX[db(0x231)](bb),b9=aX['clone']()['multiply'](b6),b9[db(0x1a1)](aV['invert']()),b9;}function Z(aL){const dc=bs;aL=aL||0x0;let aM=['ZYX','YZX',dc(0x1c0),'ZXY','YXZ','XYZ'];return aL===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),aM[0x0]):aM[aL];}function Q(aL){return aL['split'](',')['map'](function(aM){return parseFloat(aM);});}function $(aL,aM,aN){return aM===void 0x0&&(aM=0x0),aN===void 0x0&&(aN=aL['byteLength']),new TextDecoder()['decode'](new Uint8Array(aL,aM,aN));}function Se(aL,aM){for(let aN=0x0,aO=aL['length'],aP=aM['length'];aN<aP;aN++,aO++)aL[aO]=aM[aN];}function Ce(aL,aM,aN,aO){for(let aP=aN,aQ=0x0;aP<aO;aP++,aQ++)aL[aQ]=aM[aP];return aL;}export{fe as FBXLoader};
|
|
1
|
+
const bt=a1;function a1(a,b){a=a-0x1ac;const c=a0();let d=c[a];return d;}(function(aL,aM){const bm=a1,aN=aL();while(!![]){try{const aO=parseInt(bm(0x1ee))/0x1+-parseInt(bm(0x1f1))/0x2+parseInt(bm(0x1b1))/0x3+parseInt(bm(0x211))/0x4*(-parseInt(bm(0x26e))/0x5)+-parseInt(bm(0x268))/0x6*(-parseInt(bm(0x1c1))/0x7)+-parseInt(bm(0x1d7))/0x8+parseInt(bm(0x27e))/0x9;if(aO===aM)break;else aN['push'](aN['shift']());}catch(aP){aN['push'](aN['shift']());}}}(a0,0xd5964));import{$ as a2,Bt as a3,C as a4,Ct as a5,Dt as a6,E as a7,Et as a8,Ft as a9,Ht as aa,K as ab,Mt as ac,Ot as ad,Pt as af,Q as ag,R as ah,Rt as ai,S as aj,Vt as ak,Z as al,_ as am,bt as an,dt as ao,et as ap,f as aq,ht as ar,m as as,n as at,nt as au,o as av,p as aw,pt as ax,q as ay,r as az,rt as aA,u as aB,ut as aC,vt as aD,w as aE,wt as aF,x as aG,yt as aH,z as aI,zt as aJ}from'./three.module.js';function a0(){const d3=['parseMaterial','length','parent','vertexWeights','setAttribute','BlendShape','Objects','parse','FBX_Deformer','transparent','getBooleanArray','userData','252fHMKvl','PoseNode','error','generateVectorTrack','colors','target','1513465IZvbhv','scalingOffset','BumpFactor','FarAttenuationEnd','bones','floor','layer','transformLink','RotationOrder','getUint8','attributes','name','modelName','vertex','dot','FileName','5891058jtZyJI','Colors','NormalMap','postRotation','image/tiff','DisplacementFactor','parseGeometry','LightType','NodeAttribute','UnitScaleFactor','Vector3D','Connections','551397UkwhlW','nodeStack','matrix','URL','LayeredTexture','map','parseAnimStacks','normalize','setPath','getCurrentNode','offset','get','getFloat64Array','times','fromArray','slice','117229XPnWKn','getInt64Array','Model','getArrayBuffer','getKeyframeTrackValues','currentIndent','path','setPosition','getUint32','createLight','parseNode','popStack','count','LayerElementUV','opacity','fromJSON','keys','color','abs','allNodes','buffer','degToRad','7794104rzcBVZ','curves','multiply','Deformer','getInt64','currentProp','traverse','generateTracks','replace','Opacity','Content','add','values','push','setFromPoints','type','AmbientColor','materialIndex','isArray','transform','parents','material','ScalingPivot','1225405qkoFWg','sampleCurveValue','mapping','1230664FijTpG','has','indexOf','updateMatrix','parseModels','Material','divideScalar','getInt32Array','makeRotationFromEuler','warn','copyPosition','attrName','PolygonVertexIndex','setFromMatrixScale','parseImage','getFloat32','wrapS','ShadingModel','clone','scale','size','LayerElementNormal','endKnot','Node','morphAttributes','data:','toArray','position','relationship','manager','originalName','EmissiveColor','4BDgGAp','getUint64','parseNodePropertyContinued','NormalIndex','alphaMap','addClip','envMap','connections','colorSpaceToWorking','weightTable','InnerAngle','getString','parseConnections','multiplyScalar','sort','GlobalSettings','Properties70','^\x5ct{','THREE.FBXLoader:\x20Unknown\x20property\x20type\x20','image/bmp','KeyValueFloat','copy','DeformPercent','Cluster','normal','forEach','toLowerCase','inheritType','knots','set','littleEndian','attrType','weightsIndices','AllSame','propertyList','getInt32','Indexes','Lcl_Scaling','Scaling','invert','FullWeights','Camera','getTangent','ColorRGB','GeometricScaling','EmissiveFactor','trim','FarPlane','setFromEuler','PreRotation','value','translation','DisplacementColor','ReflectionFactor','getTexture','baseVertexPositions','filter','Texture','OuterAngle','triangulateShape','createMesh','split','emissive','parseMaterials','bool','Lcl_Translation','getFloat32Array','parseNormals','loadTexture','children','groups','weight','NurbsCurve','rawBones','AnimationStack'];a0=function(){return d3;};return a0();}import{n as aK}from'./fflate.module.js';function R(aL,aM,aN){const bn=a1;let aO=aN['length']-aL-0x1;if(aM>=aN[aO])return aO-0x1;if(aM<=aN[aL])return aL;let aP=aL,aQ=aO,aR=Math[bn(0x273)]((aP+aQ)/0x2);for(;aM<aN[aR]||aM>=aN[aR+0x1];)aM<aN[aR]?aQ=aR:aP=aR,aR=Math['floor']((aP+aQ)/0x2);return aR;}function oe(aL,aM,aN,aO){let aP=[],aQ=[],aR=[];aP[0x0]=0x1;for(let aS=0x1;aS<=aN;++aS){aQ[aS]=aM-aO[aL+0x1-aS],aR[aS]=aO[aL+aS]-aM;let aT=0x0;for(let aU=0x0;aU<aS;++aU){let aV=aR[aU+0x1],aW=aQ[aS-aU],aX=aP[aU]/(aV+aW);aP[aU]=aT+aV*aX,aT=aW*aX;}aP[aS]=aT;}return aP;}function se(aL,aM,aN,aO){let aP=R(aL,aO,aM),aQ=oe(aP,aO,aL,aM),aR=new ak(0x0,0x0,0x0,0x0);for(let aS=0x0;aS<=aL;++aS){let aT=aN[aP-aL+aS],aU=aQ[aS],aV=aT['w']*aU;aR['x']+=aT['x']*aV,aR['y']+=aT['y']*aV,aR['z']+=aT['z']*aV,aR['w']+=aT['w']*aU;}return aR;}function ce(aL,aM,aN,aO,aP){const bo=a1;let aQ=[];for(let aW=0x0;aW<=aN;++aW)aQ[aW]=0x0;let aR=[];for(let aX=0x0;aX<=aO;++aX)aR[aX]=aQ['slice'](0x0);let aS=[];for(let aY=0x0;aY<=aN;++aY)aS[aY]=aQ[bo(0x1c0)](0x0);aS[0x0][0x0]=0x1;let aT=aQ['slice'](0x0),aU=aQ['slice'](0x0);for(let aZ=0x1;aZ<=aN;++aZ){aT[aZ]=aM-aP[aL+0x1-aZ],aU[aZ]=aP[aL+aZ]-aM;let b0=0x0;for(let b1=0x0;b1<aZ;++b1){let b2=aU[b1+0x1],b3=aT[aZ-b1];aS[aZ][b1]=b2+b3;let b4=aS[b1][aZ-0x1]/aS[aZ][b1];aS[b1][aZ]=b0+b2*b4,b0=b3*b4;}aS[aZ][aZ]=b0;}for(let b5=0x0;b5<=aN;++b5)aR[0x0][b5]=aS[b5][aN];for(let b6=0x0;b6<=aN;++b6){let b7=0x0,b8=0x1,b9=[];for(let ba=0x0;ba<=aN;++ba)b9[ba]=aQ['slice'](0x0);b9[0x0][0x0]=0x1;for(let bb=0x1;bb<=aO;++bb){let bc=0x0,bd=b6-bb,bf=aN-bb;b6>=bb&&(b9[b8][0x0]=b9[b7][0x0]/aS[bf+0x1][bd],bc=b9[b8][0x0]*aS[bd][bf]);let bg=bd>=-0x1?0x1:-bd,bh=b6-0x1<=bf?bb-0x1:aN-b6;for(let bj=bg;bj<=bh;++bj)b9[b8][bj]=(b9[b7][bj]-b9[b7][bj-0x1])/aS[bf+0x1][bd+bj],bc+=b9[b8][bj]*aS[bd+bj][bf];b6<=bf&&(b9[b8][bb]=-b9[b7][bb-0x1]/aS[bf+0x1][b6],bc+=b9[b8][bb]*aS[b6][bf]),aR[bb][b6]=bc;let bi=b7;b7=b8,b8=bi;}}let aV=aN;for(let bk=0x1;bk<=aO;++bk){for(let bl=0x0;bl<=aN;++bl)aR[bk][bl]*=aV;aV*=aN-bk;}return aR;}function le(aL,aM,aN,aO,aP){const bp=a1;let aQ=aP<aL?aP:aL,aR=[],aS=R(aL,aO,aM),aT=ce(aS,aO,aL,aQ,aM),aU=[];for(let aV=0x0;aV<aN['length'];++aV){let aW=aN[aV]['clone'](),aX=aW['w'];aW['x']*=aX,aW['y']*=aX,aW['z']*=aX,aU[aV]=aW;}for(let aY=0x0;aY<=aQ;++aY){let aZ=aU[aS-aL]['clone']()['multiplyScalar'](aT[aY][0x0]);for(let b0=0x1;b0<=aL;++b0)aZ[bp(0x1e2)](aU[aS-aL+b0]['clone']()[bp(0x21e)](aT[aY][b0]));aR[aY]=aZ;}for(let b1=aQ+0x1;b1<=aP+0x1;++b1)aR[b1]=new ak(0x0,0x0,0x0);return aR;}function ue(aL,aM){let aN=0x1;for(let aP=0x2;aP<=aL;++aP)aN*=aP;let aO=0x1;for(let aQ=0x2;aQ<=aM;++aQ)aO*=aQ;for(let aR=0x2;aR<=aL-aM;++aR)aO*=aR;return aN/aO;}function de(aL){const bq=a1;let aM=aL[bq(0x25d)],aN=[],aO=[];for(let aQ=0x0;aQ<aM;++aQ){let aR=aL[aQ];aN[aQ]=new a3(aR['x'],aR['y'],aR['z']),aO[aQ]=aR['w'];}let aP=[];for(let aS=0x0;aS<aM;++aS){let aT=aN[aS]['clone']();for(let aU=0x1;aU<=aS;++aU)aT['sub'](aP[aS-aU]['clone']()['multiplyScalar'](ue(aS,aU)*aO[aU]));aP[aS]=aT[bq(0x1f7)](aO[0x0]);}return aP;}function z(aL,aM,aN,aO,aP){return de(le(aL,aM,aN,aO,aP));}var B=class extends am{constructor(aL,aM,aN,aO,aP){const br=a1;super();let aQ=aM?aM[br(0x25d)]-0x1:0x0,aR=aN?aN['length']:0x0;this['degree']=aL,this['knots']=aM,this['controlPoints']=[],this['startKnot']=aO||0x0,this['endKnot']=aP||aQ;for(let aS=0x0;aS<aR;++aS){let aT=aN[aS];this['controlPoints'][aS]=new ak(aT['x'],aT['y'],aT['z'],aT['w']);}}['getPoint'](aL,aM=new a3()){const bs=a1;let aN=aM,aO=this['knots'][this['startKnot']]+aL*(this['knots'][this[bs(0x207)]]-this[bs(0x22d)][this['startKnot']]),aP=se(this['degree'],this['knots'],this['controlPoints'],aO);return aP['w']!==0x1&&aP[bs(0x1f7)](aP['w']),aN['set'](aP['x'],aP['y'],aP['z']);}[bt(0x23b)](aL,aM=new a3()){const bu=bt;let aN=aM,aO=this[bu(0x22d)][0x0]+aL*(this[bu(0x22d)][this['knots']['length']-0x1]-this['knots'][0x0]),aP=z(this['degree'],this['knots'],this['controlPoints'],aO,0x1);return aN[bu(0x226)](aP[0x1])['normalize'](),aN;}['toJSON'](){let aL=super['toJSON']();return aL['degree']=this['degree'],aL['knots']=[...this['knots']],aL['controlPoints']=this['controlPoints']['map'](aM=>aM['toArray']()),aL['startKnot']=this['startKnot'],aL['endKnot']=this['endKnot'],aL;}[bt(0x1d0)](aL){const bv=bt;return super[bv(0x1d0)](aL),this['degree']=aL['degree'],this['knots']=[...aL[bv(0x22d)]],this['controlPoints']=aL['controlPoints']['map'](aM=>new ak(aM[0x0],aM[0x1],aM[0x2],aM[0x3])),this['startKnot']=aL['startKnot'],this[bv(0x207)]=aL[bv(0x207)],this;}},V,H,U,fe=class extends ab{constructor(aL){super(aL);}['load'](aL,aM,aN,aO){let aP=this,aQ=aP['path']===''?ay['extractUrlBase'](aL):aP['path'],aR=new a4(this['manager']);aR['setPath'](aP['path']),aR['setResponseType']('arraybuffer'),aR['setRequestHeader'](aP['requestHeader']),aR['setWithCredentials'](aP['withCredentials']),aR['load'](aL,function(aS){const bw=a1;try{aM(aP[bw(0x263)](aS,aQ));}catch(aT){aO?aO(aT):console[bw(0x26a)](aT),aP['manager']['itemError'](aL);}},aN,aO);}['parse'](aL,aM){if(ve(aL))V=new _e()['parse'](aL);else{let aN=$(aL);if(!ye(aN))throw Error('THREE.FBXLoader:\x20Unknown\x20format.');if(K(aN)<0x1b58)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+K(aN));V=new ge()['parse'](aN);}return new pe(new a9(this['manager'])['setPath'](this['resourcePath']||aM)['setCrossOrigin'](this['crossOrigin']),this['manager'])['parse'](V);}},pe=class{constructor(aL,aM){this['textureLoader']=aL,this['manager']=aM;}['parse'](){const bx=bt;H=this[bx(0x21d)]();let aL=this['parseImages'](),aM=this['parseTextures'](aL),aN=this['parseMaterials'](aM),aO=this['parseDeformers'](),aP=new me()['parse'](aO);return this['parseScene'](aO,aP,aN),U;}['parseConnections'](){let aL=new Map();return'Connections'in V&&V['Connections']['connections']['forEach'](function(aM){const by=a1;let aN=aM[0x0],aO=aM[0x1],aP=aM[0x2];aL['has'](aN)||aL['set'](aN,{'parents':[],'children':[]});let aQ={'ID':aO,'relationship':aP};aL[by(0x1bc)](aN)['parents']['push'](aQ),aL['has'](aO)||aL['set'](aO,{'parents':[],'children':[]});let aR={'ID':aN,'relationship':aP};aL['get'](aO)[by(0x256)]['push'](aR);}),aL;}['parseImages'](){const bz=bt;let aL={},aM={};if('Video'in V['Objects']){let aN=V[bz(0x262)]['Video'];for(let aO in aN){let aP=aN[aO],aQ=parseInt(aO);if(aL[aQ]=aP['RelativeFilename']||aP['Filename'],'Content'in aP){let aR=aP['Content']instanceof ArrayBuffer&&aP['Content']['byteLength']>0x0,aS=typeof aP['Content']=='string'&&aP[bz(0x1e1)]!=='';if(aR||aS){let aT=this[bz(0x1ff)](aN[aO]);aM[aP['RelativeFilename']||aP['Filename']]=aT;}}}}for(let aU in aL){let aV=aL[aU];aM[aV]===void 0x0?aL[aU]=aL[aU]['split']('\x5c')['pop']():aL[aU]=aM[aV];}return aL;}['parseImage'](aL){const bA=bt;let aM=aL['Content'],aN=aL['RelativeFilename']||aL['Filename'],aO=aN[bA(0x1c0)](aN['lastIndexOf']('.')+0x1)[bA(0x22b)](),aP;switch(aO){case'bmp':aP=bA(0x224);break;case'jpg':case'jpeg':aP='image/jpeg';break;case'png':aP='image/png';break;case'tif':aP=bA(0x282);break;case'tga':this['manager']['getHandler']('.tga')===null&&console[bA(0x1fa)]('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',aN),aP='image/tga';break;case'webp':aP='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+aO+'\x22\x20is\x20not\x20supported.');return;}if(typeof aM=='string')return bA(0x20a)+aP+';base64,'+aM;{let aQ=new Uint8Array(aM);return window[bA(0x1b4)]['createObjectURL'](new Blob([aQ],{'type':aP}));}}['parseTextures'](aL){const bB=bt;let aM=new Map();if(bB(0x24a)in V['Objects']){let aN=V['Objects']['Texture'];for(let aO in aN){let aP=this['parseTexture'](aN[aO],aL);aM['set'](parseInt(aO),aP);}}return aM;}['parseTexture'](aL,aM){const bC=bt;let aN=this['loadTexture'](aL,aM);aN['ID']=aL['id'],aN['name']=aL['attrName'];let aO=aL['WrapModeU'],aP=aL['WrapModeV'],aQ=aO===void 0x0?0x0:aO['value'],aR=aP===void 0x0?0x0:aP['value'];if(aN[bC(0x201)]=aQ===0x0?a5:aq,aN['wrapT']=aR===0x0?a5:aq,'Scaling'in aL){let aS=aL[bC(0x237)]['value'];aN['repeat']['x']=aS[0x0],aN['repeat']['y']=aS[0x1];}if('Translation'in aL){let aT=aL['Translation']['value'];aN[bC(0x1bb)]['x']=aT[0x0],aN['offset']['y']=aT[0x1];}return aN;}[bt(0x255)](aL,aM){const bD=bt;let aN=aL[bD(0x27d)]['split']('.')['pop']()['toLowerCase'](),aO=this[bD(0x20e)]['getHandler']('.'+aN);aO===null&&(aO=this['textureLoader']);let aP=aO[bD(0x1c7)];aP||aO['setPath'](this['textureLoader']['path']);let aQ=H['get'](aL['id'])['children'],aR;if(aQ!==void 0x0&&aQ[bD(0x25d)]>0x0&&aM[aQ[0x0]['ID']]!==void 0x0&&(aR=aM[aQ[0x0]['ID']],(aR['indexOf']('blob:')===0x0||aR['indexOf']('data:')===0x0)&&aO[bD(0x1b9)](void 0x0)),aR===void 0x0)return console['warn']('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new af();let aS=aO['load'](aR);return aO['setPath'](aP),aS;}[bt(0x250)](aL){const bE=bt;let aM=new Map();if(bE(0x1f6)in V['Objects']){let aN=V['Objects'][bE(0x1f6)];for(let aO in aN){let aP=this['parseMaterial'](aN[aO],aL);aP!==null&&aM['set'](parseInt(aO),aP);}}return aM;}[bt(0x25c)](aL,aM){const bF=bt;let aN=aL['id'],aO=aL[bF(0x1fc)],aP=aL[bF(0x202)];if(typeof aP=='object'&&(aP=aP['value']),!H[bF(0x1f2)](aN))return null;let aQ=this['parseParameters'](aL,aM,aN),aR;switch(aP[bF(0x22b)]()){case'phong':aR=new aA();break;case'lambert':aR=new au();break;default:console[bF(0x1fa)]('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',aP),aR=new aA();break;}return aR['setValues'](aQ),aR[bF(0x279)]=aO,aR;}['parseParameters'](aL,aM,aN){const bG=bt;let aO={};aL[bG(0x270)]&&(aO['bumpScale']=aL['BumpFactor']['value']),aL['Diffuse']?aO['color']=as['colorSpaceToWorking'](new aw()[bG(0x1bf)](aL['Diffuse']['value']),aF):aL['DiffuseColor']&&(aL['DiffuseColor']['type']==='Color'||aL['DiffuseColor']['type']===bG(0x23c))&&(aO['color']=as[bG(0x219)](new aw()['fromArray'](aL['DiffuseColor']['value']),aF)),aL[bG(0x283)]&&(aO['displacementScale']=aL['DisplacementFactor'][bG(0x243)]),aL['Emissive']?aO['emissive']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Emissive']['value']),aF):aL['EmissiveColor']&&(aL[bG(0x210)][bG(0x1e6)]==='Color'||aL['EmissiveColor'][bG(0x1e6)]==='ColorRGB')&&(aO[bG(0x24f)]=as['colorSpaceToWorking'](new aw()['fromArray'](aL['EmissiveColor']['value']),aF)),aL[bG(0x23e)]&&(aO['emissiveIntensity']=parseFloat(aL['EmissiveFactor']['value'])),aO[bG(0x1cf)]=0x1-(aL['TransparencyFactor']?parseFloat(aL['TransparencyFactor']['value']):0x0),(aO['opacity']===0x1||aO[bG(0x1cf)]===0x0)&&(aO['opacity']=aL['Opacity']?parseFloat(aL[bG(0x1e0)]['value']):null,aO['opacity']===null&&(aO['opacity']=0x1)),aO['opacity']<0x1&&(aO['transparent']=!0x0),aL[bG(0x246)]&&(aO['reflectivity']=aL['ReflectionFactor']['value']),aL['Shininess']&&(aO['shininess']=aL['Shininess']['value']),aL['Specular']?aO['specular']=as[bG(0x219)](new aw()['fromArray'](aL['Specular']['value']),aF):aL['SpecularColor']&&aL['SpecularColor']['type']==='Color'&&(aO['specular']=as[bG(0x219)](new aw()[bG(0x1bf)](aL['SpecularColor']['value']),aF));let aP=this;return H['get'](aN)['children']['forEach'](function(aQ){const bH=bG;let aR=aQ[bH(0x20d)];switch(aR){case'Bump':aO['bumpMap']=aP['getTexture'](aM,aQ['ID']);break;case'Maya|TEX_ao_map':aO['aoMap']=aP['getTexture'](aM,aQ['ID']);break;case'DiffuseColor':case'Maya|TEX_color_map':aO['map']=aP[bH(0x247)](aM,aQ['ID']),aO['map']!==void 0x0&&(aO['map']['colorSpace']=aF);break;case bH(0x245):aO['displacementMap']=aP['getTexture'](aM,aQ['ID']);break;case'EmissiveColor':aO['emissiveMap']=aP[bH(0x247)](aM,aQ['ID']),aO['emissiveMap']!==void 0x0&&(aO['emissiveMap']['colorSpace']=aF);break;case bH(0x280):case'Maya|TEX_normal_map':aO['normalMap']=aP['getTexture'](aM,aQ['ID']);break;case'ReflectionColor':aO['envMap']=aP['getTexture'](aM,aQ['ID']),aO[bH(0x217)]!==void 0x0&&(aO['envMap'][bH(0x1f0)]=0x12f,aO[bH(0x217)]['colorSpace']=aF);break;case'SpecularColor':aO['specularMap']=aP['getTexture'](aM,aQ['ID']),aO['specularMap']!==void 0x0&&(aO['specularMap']['colorSpace']=aF);break;case'TransparentColor':case'TransparencyFactor':aO[bH(0x215)]=aP['getTexture'](aM,aQ['ID']),aO[bH(0x265)]=!0x0;break;default:console['warn']('THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.',aR);break;}}),aO;}['getTexture'](aL,aM){const bI=bt;return'LayeredTexture'in V[bI(0x262)]&&aM in V['Objects'][bI(0x1b5)]&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),aM=H[bI(0x1bc)](aM)[bI(0x256)][0x0]['ID']),aL['get'](aM);}['parseDeformers'](){const bJ=bt;let aL={},aM={};if('Deformer'in V['Objects']){let aN=V['Objects']['Deformer'];for(let aO in aN){let aP=aN[aO],aQ=H[bJ(0x1bc)](parseInt(aO));if(aP['attrType']==='Skin'){let aR=this['parseSkeleton'](aQ,aN);aR['ID']=aO,aQ['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aR['geometryID']=aQ['parents'][0x0]['ID'],aL[aO]=aR;}else{if(aP['attrType']===bJ(0x261)){let aS={'id':aO};aS['rawTargets']=this['parseMorphTargets'](aQ,aN),aS['id']=aO,aQ['parents']['length']>0x1&&console[bJ(0x1fa)]('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aM[aO]=aS;}}}}return{'skeletons':aL,'morphTargets':aM};}['parseSkeleton'](aL,aM){let aN=[];return aL['children']['forEach'](function(aO){const bK=a1;let aP=aM[aO['ID']];if(aP['attrType']!==bK(0x228))return;let aQ={'ID':aO['ID'],'indices':[],'weights':[],'transformLink':new a2()['fromArray'](aP['TransformLink']['a'])};'Indexes'in aP&&(aQ['indices']=aP['Indexes']['a'],aQ['weights']=aP['Weights']['a']),aN[bK(0x1e4)](aQ);}),{'rawBones':aN,'bones':[]};}['parseMorphTargets'](aL,aM){const bL=bt;let aN=[];for(let aO=0x0;aO<aL['children'][bL(0x25d)];aO++){let aP=aL['children'][aO],aQ=aM[aP['ID']],aR={'name':aQ['attrName'],'initialWeight':aQ[bL(0x227)],'id':aQ['id'],'fullWeights':aQ[bL(0x239)]['a']};if(aQ['attrType']!=='BlendShapeChannel')return;aR['geoID']=H['get'](parseInt(aP['ID']))['children']['filter'](function(aS){return aS['relationship']===void 0x0;})[0x0]['ID'],aN['push'](aR);}return aN;}['parseScene'](aL,aM,aN){const bM=bt;U=new a7();let aO=this[bM(0x1f5)](aL['skeletons'],aM,aN),aP=V['Objects']['Model'],aQ=this;aO['forEach'](function(aV){const bN=bM;let aW=aP[aV['ID']];aQ['setLookAtProperties'](aV,aW),H['get'](aV['ID'])['parents']['forEach'](function(aX){let aY=aO['get'](aX['ID']);aY!==void 0x0&&aY['add'](aV);}),aV[bN(0x25e)]===null&&U['add'](aV);}),this['addGlobalSceneSettings'](),U['traverse'](function(aV){const bO=bM;if(aV['userData']['transformData']){aV['parent']&&(aV['userData']['transformData']['parentMatrix']=aV[bO(0x25e)][bO(0x1b3)],aV['userData']['transformData']['parentMatrixWorld']=aV['parent']['matrixWorld']);let aW=X(aV['userData']['transformData']);aV['applyMatrix4'](aW),aV['updateWorldMatrix']();}});let aR=this['parsePoseNodes'](),aS=new Set();for(let aV in aL['skeletons'])aL['skeletons'][aV]['rawBones']['forEach'](function(aW,aX){const bP=bM;let aY=aL['skeletons'][aV]['bones'][aX];aY&&aS[bP(0x1e2)](aY['ID']);});let aT=new a2();U[bM(0x1dd)](function(aW){const bQ=bM;if(aW['isBone']&&aW['ID']!==void 0x0&&!aS['has'](aW['ID'])){let aX=aR[aW['ID']];aX!==void 0x0&&(aW['parent']?(aT[bQ(0x226)](aW['parent']['matrixWorld'])[bQ(0x238)](),aT['multiply'](aX)):aT['copy'](aX),aT['decompose'](aW['position'],aW['quaternion'],aW[bQ(0x204)]),aW[bQ(0x1f4)](),aW['matrixWorld']['copy'](aX));}}),this['bindSkeleton'](aL['skeletons'],aM,aO);let aU=new he()['parse']();U[bM(0x256)]['length']===0x1&&U['children'][0x0]['isGroup']&&(U['children'][0x0]['animations']=aU,U=U['children'][0x0]),U['animations']=aU,'GlobalSettings'in V&&'UpAxis'in V['GlobalSettings']&&V['GlobalSettings']['UpAxis']['value']===0x2&&(console['warn']('THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.'),U['rotation']['set'](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aL,aM,aN){const bR=bt;let aO=new Map(),aP=V['Objects']['Model'];for(let aQ in aP){let aR=parseInt(aQ),aS=aP[aQ],aT=H['get'](aR),aU=this['buildSkeleton'](aT,aL,aR,aS['attrName']);if(!aU){switch(aS[bR(0x230)]){case bR(0x23a):aU=this['createCamera'](aT);break;case'Light':aU=this[bR(0x1ca)](aT);break;case'Mesh':aU=this[bR(0x24d)](aT,aM,aN);break;case'NurbsCurve':aU=this['createCurve'](aT,aM);break;case'LimbNode':case'Root':aU=new av();break;default:aU=new a7();break;}aU['name']=aS['attrName']?aD['sanitizeNodeName'](aS['attrName']):'',aU['userData'][bR(0x20f)]=aS[bR(0x1fc)],aU['ID']=aR;}this['getTransformData'](aU,aS),aO[bR(0x22e)](aR,aU);}return aO;}['buildSkeleton'](aL,aM,aN,aO){const bS=bt;let aP=null;return aL[bS(0x1eb)]['forEach'](function(aQ){for(let aR in aM){let aS=aM[aR];aS['rawBones']['forEach'](function(aT,aU){const bT=a1;if(aT['ID']===aQ['ID']){let aV=aP;aP=new av(),aP['matrixWorld']['copy'](aT['transformLink']),aP['name']=aO?aD['sanitizeNodeName'](aO):'',aP[bT(0x267)]['originalName']=aO,aP['ID']=aN,aS['bones'][aU]=aP,aV!==null&&aP['add'](aV);}});}}),aP;}['createCamera'](aL){const bV=bt;let aM,aN;if(aL['children']['forEach'](function(aO){const bU=a1;let aP=V['Objects'][bU(0x1ad)][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO=0x0;aN['CameraProjectionType']!==void 0x0&&aN['CameraProjectionType']['value']===0x1&&(aO=0x1);let aP=0x1;aN['NearPlane']!==void 0x0&&(aP=aN['NearPlane']['value']/0x3e8);let aQ=0x3e8;aN['FarPlane']!==void 0x0&&(aQ=aN[bV(0x240)][bV(0x243)]/0x3e8);let aR=window['innerWidth'],aS=window['innerHeight'];aN['AspectWidth']!==void 0x0&&aN['AspectHeight']!==void 0x0&&(aR=aN['AspectWidth']['value'],aS=aN['AspectHeight']['value']);let aT=aR/aS,aU=0x2d;aN['FieldOfView']!==void 0x0&&(aU=aN['FieldOfView']['value']);let aV=aN['FocalLength']?aN['FocalLength']['value']:null;switch(aO){case 0x0:aM=new ax(aU,aT,aP,aQ),aV!==null&&aM['setFocalLength'](aV);break;case 0x1:console['warn']('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),aM=new ao();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+aO+'.'),aM=new ao();break;}}return aM;}[bt(0x1ca)](aL){const bW=bt;let aM,aN;if(aL['children']['forEach'](function(aO){let aP=V['Objects']['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO;aO=aN['LightType']===void 0x0?0x0:aN['LightType']['value'];let aP=0xffffff;aN['Color']!==void 0x0&&(aP=as['colorSpaceToWorking'](new aw()['fromArray'](aN['Color'][bW(0x243)]),aF));let aQ=aN['Intensity']===void 0x0?0x1:aN['Intensity']['value']/0x64;aN['CastLightOnObject']!==void 0x0&&aN['CastLightOnObject'][bW(0x243)]===0x0&&(aQ=0x0);let aR=0x0;switch(aN[bW(0x271)]!==void 0x0&&(aR=aN['EnableFarAttenuation']!==void 0x0&&aN['EnableFarAttenuation']['value']===0x0?0x0:aN['FarAttenuationEnd']['value']),aO){case 0x0:aM=new ar(aP,aQ,aR,0x1);break;case 0x1:aM=new aG(aP,aQ);break;case 0x2:let aS=Math['PI']/0x3,aT=0x0;aN['OuterAngle']===void 0x0?aN['InnerAngle']!==void 0x0&&(aS=al[bW(0x1d6)](aN['InnerAngle'][bW(0x243)])):(aS=al['degToRad'](aN['OuterAngle'][bW(0x243)]),aN['InnerAngle']!==void 0x0&&(aT=0x1-aN[bW(0x21b)]['value']/aN[bW(0x24b)]['value'],aT=Math['max'](0x0,aT))),aM=new ac(aP,aQ,aR,aS,aT,0x1);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+aN[bW(0x1ac)]['value']+',\x20defaulting\x20to\x20a\x20PointLight.'),aM=new ar(aP,aQ);break;}aN['CastShadows']!==void 0x0&&aN['CastShadows'][bW(0x243)]===0x1&&(aM['castShadow']=!0x0);}return aM;}['createMesh'](aL,aM,aN){const bY=bt;let aO,aP=null,aQ=null,aR=[];if(aL['children']['forEach'](function(aS){const bX=a1;aM[bX(0x1f2)](aS['ID'])&&(aP=aM[bX(0x1bc)](aS['ID'])),aN['has'](aS['ID'])&&aR[bX(0x1e4)](aN[bX(0x1bc)](aS['ID']));}),aR['length']>0x1?aQ=aR:aR[bY(0x25d)]>0x0?aQ=aR[0x0]:(aQ=new aA({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),aR['push'](aQ)),'color'in aP['attributes']&&aR['forEach'](function(aS){aS['vertexColors']=!0x0;}),aP['groups']['length']>0x0){let aS=!0x1;for(let aT=0x0,aU=aP['groups']['length'];aT<aU;aT++){let aV=aP['groups'][aT];(aV['materialIndex']<0x0||aV['materialIndex']>=aR['length'])&&(aV['materialIndex']=aR['length'],aS=!0x0);}if(aS){let aW=new aA();aR['push'](aW);}}return aP[bY(0x264)]?(aO=new ad(aP,aQ),aO['normalizeSkinWeights']()):aO=new ap(aP,aQ),aO;}['createCurve'](aL,aM){return new ah(aL['children']['reduce'](function(aN,aO){return aM['has'](aO['ID'])&&(aN=aM['get'](aO['ID'])),aN;},null),new aI({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0x3300ff,'linewidth':0x1}));}['getTransformData'](aL,aM){const bZ=bt;let aN={};'InheritType'in aM&&(aN[bZ(0x22c)]=parseInt(aM['InheritType']['value'])),bZ(0x276)in aM?aN['eulerOrder']=Z(aM['RotationOrder']['value']):aN['eulerOrder']=Z(0x0),'Lcl_Translation'in aM&&(aN['translation']=aM[bZ(0x252)][bZ(0x243)]),'PreRotation'in aM&&(aN['preRotation']=aM['PreRotation']['value']),'Lcl_Rotation'in aM&&(aN['rotation']=aM['Lcl_Rotation'][bZ(0x243)]),'PostRotation'in aM&&(aN[bZ(0x281)]=aM['PostRotation']['value']),'Lcl_Scaling'in aM&&(aN[bZ(0x204)]=aM['Lcl_Scaling']['value']),'ScalingOffset'in aM&&(aN['scalingOffset']=aM['ScalingOffset']['value']),bZ(0x1ed)in aM&&(aN['scalingPivot']=aM[bZ(0x1ed)]['value']),'RotationOffset'in aM&&(aN['rotationOffset']=aM['RotationOffset']['value']),'RotationPivot'in aM&&(aN['rotationPivot']=aM['RotationPivot']['value']),aL['userData']['transformData']=aN;}['setLookAtProperties'](aL,aM){'LookAtProperty'in aM&&H['get'](aL['ID'])['children']['forEach'](function(aN){const c0=a1;if(aN['relationship']==='LookAtProperty'){let aO=V['Objects']['Model'][aN['ID']];if(c0(0x252)in aO){let aP=aO[c0(0x252)][c0(0x243)];aL['target']===void 0x0?aL['lookAt'](new a3()['fromArray'](aP)):(aL[c0(0x26d)][c0(0x20c)]['fromArray'](aP),U['add'](aL[c0(0x26d)]));}}});}['bindSkeleton'](aL,aM,aN){const c1=bt;for(let aO in aL){let aP=aL[aO],aQ=[];for(let aR=0x0,aS=aP['bones']['length'];aR<aS;aR++){let aT=new a2();aP[c1(0x272)][aR]&&aP['rawBones'][aR]&&aT[c1(0x226)](aP['rawBones'][aR][c1(0x275)])[c1(0x238)](),aQ['push'](aT);}H[c1(0x1bc)](parseInt(aP['ID']))['parents']['forEach'](function(aU){const c2=c1;if(aM['has'](aU['ID'])){let aV=aU['ID'];H['get'](aV)[c2(0x1eb)]['forEach'](function(aW){if(aN['has'](aW['ID'])){let aX=aN['get'](aW['ID']);aX['updateMatrixWorld'](!0x0),aX['bind'](new a6(aP['bones'],aQ),aX['matrixWorld']);}});}});}}['parsePoseNodes'](){const c3=bt;let aL={};if('Pose'in V['Objects']){let aM=V['Objects']['Pose'];for(let aN in aM)if(aM[aN]['attrType']==='BindPose'&&aM[aN]['NbPoseNodes']>0x0){let aO=aM[aN]['PoseNode'];Array['isArray'](aO)?aO[c3(0x22a)](function(aP){const c4=c3;aL[aP['Node']]=new a2()[c4(0x1bf)](aP['Matrix']['a']);}):aL[aO['Node']]=new a2()['fromArray'](aO['Matrix']['a']);}}return aL;}['addGlobalSceneSettings'](){const c5=bt;if('GlobalSettings'in V){if('AmbientColor'in V['GlobalSettings']){let aL=V['GlobalSettings'][c5(0x1e7)]['value'],aM=aL[0x0],aN=aL[0x1],aO=aL[0x2];if(aM!==0x0||aN!==0x0||aO!==0x0){let aP=new aw()['setRGB'](aM,aN,aO,aF);U[c5(0x1e2)](new at(aP,0x1));}}c5(0x1ae)in V['GlobalSettings']&&(U[c5(0x267)]['unitScaleFactor']=V[c5(0x220)]['UnitScaleFactor']['value']);}}},me=class{constructor(){this['negativeMaterialIndices']=!0x1;}['parse'](aL){const c6=bt;let aM=new Map();if('Geometry'in V['Objects']){let aN=V['Objects']['Geometry'];for(let aO in aN){let aP=H['get'](parseInt(aO)),aQ=this[c6(0x284)](aP,aN[aO],aL);aM['set'](parseInt(aO),aQ);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),aM;}['parseGeometry'](aL,aM,aN){const c7=bt;switch(aM['attrType']){case'Mesh':return this['parseMeshGeometry'](aL,aM,aN);case c7(0x259):return this['parseNurbsGeometry'](aM);}}['parseMeshGeometry'](aL,aM,aN){const c8=bt;let aO=aN['skeletons'],aP=[],aQ=aL['parents']['map'](function(aV){return V['Objects']['Model'][aV['ID']];});if(aQ['length']===0x0)return;let aR=aL[c8(0x256)]['reduce'](function(aV,aW){return aO[aW['ID']]!==void 0x0&&(aV=aO[aW['ID']]),aV;},null);aL['children']['forEach'](function(aV){aN['morphTargets'][aV['ID']]!==void 0x0&&aP['push'](aN['morphTargets'][aV['ID']]);});let aS=aQ[0x0],aT={};'RotationOrder'in aS&&(aT['eulerOrder']=Z(aS[c8(0x276)]['value'])),'InheritType'in aS&&(aT['inheritType']=parseInt(aS['InheritType']['value'])),'GeometricTranslation'in aS&&(aT[c8(0x244)]=aS['GeometricTranslation'][c8(0x243)]),'GeometricRotation'in aS&&(aT['rotation']=aS['GeometricRotation']['value']),'GeometricScaling'in aS&&(aT['scale']=aS[c8(0x23d)]['value']);let aU=X(aT);return this['genGeometry'](aM,aR,aP,aU);}['genGeometry'](aL,aM,aN,aO){const c9=bt;let aP=new aB();aL['attrName']&&(aP['name']=aL[c9(0x1fc)]);let aQ=this['parseGeoNode'](aL,aM),aR=this['genBuffers'](aQ),aS=new aE(aR[c9(0x27b)],0x3);if(aS['applyMatrix4'](aO),aP['setAttribute']('position',aS),aR[c9(0x26c)]['length']>0x0&&aP['setAttribute']('color',new aE(aR['colors'],0x3)),aM&&(aP['setAttribute']('skinIndex',new ai(aR['weightsIndices'],0x4)),aP[c9(0x260)]('skinWeight',new aE(aR['vertexWeights'],0x4)),aP['FBX_Deformer']=aM),aR['normal']['length']>0x0){let aT=new ag()['getNormalMatrix'](aO),aU=new aE(aR[c9(0x229)],0x3);aU['applyNormalMatrix'](aT),aP['setAttribute'](c9(0x229),aU);}if(aR['uvs']['forEach'](function(aV,aW){let aX=aW===0x0?'uv':'uv'+aW;aP['setAttribute'](aX,new aE(aR['uvs'][aW],0x2));}),aQ[c9(0x1ec)]&&aQ['material']['mappingType']!=='AllSame'){let aV=aR[c9(0x1e8)][0x0],aW=0x0;if(aR['materialIndex'][c9(0x22a)](function(aX,aY){aX!==aV&&(aP['addGroup'](aW,aY-aW,aV),aV=aX,aW=aY);}),aP[c9(0x257)]['length']>0x0){let aX=aP['groups'][aP['groups']['length']-0x1],aY=aX['start']+aX[c9(0x1cd)];aY!==aR['materialIndex']['length']&&aP['addGroup'](aY,aR['materialIndex']['length']-aY,aV);}aP['groups'][c9(0x25d)]===0x0&&aP['addGroup'](0x0,aR[c9(0x1e8)]['length'],aR['materialIndex'][0x0]);}return this['addMorphTargets'](aP,aL,aN,aO),aP;}['parseGeoNode'](aL,aM){const ca=bt;let aN={};if(aN['vertexPositions']=aL['Vertices']===void 0x0?[]:aL['Vertices']['a'],aN['vertexIndices']=aL['PolygonVertexIndex']===void 0x0?[]:aL['PolygonVertexIndex']['a'],aL['LayerElementColor']&&aL['LayerElementColor'][0x0][ca(0x27f)]&&(aN[ca(0x1d2)]=this['parseVertexColors'](aL['LayerElementColor'][0x0])),aL['LayerElementMaterial']&&(aN['material']=this['parseMaterialIndices'](aL['LayerElementMaterial'][0x0])),aL[ca(0x206)]&&(aN['normal']=this[ca(0x254)](aL[ca(0x206)][0x0])),aL['LayerElementUV']){aN['uv']=[];let aO=0x0;for(;aL['LayerElementUV'][aO];)aL[ca(0x1ce)][aO]['UV']&&aN['uv']['push'](this['parseUVs'](aL[ca(0x1ce)][aO])),aO++;}return aN['weightTable']={},aM!==null&&(aN['skeleton']=aM,aM[ca(0x25a)]['forEach'](function(aP,aQ){const cb=ca;aP['indices'][cb(0x22a)](function(aR,aS){const cc=cb;aN['weightTable'][aR]===void 0x0&&(aN[cc(0x21a)][aR]=[]),aN['weightTable'][aR][cc(0x1e4)]({'id':aQ,'weight':aP['weights'][aS]});});})),aN;}['genBuffers'](aL){let aM={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]},aN=0x0,aO=0x0,aP=!0x1,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[],aW=this;return aL['vertexIndices']['forEach'](function(aX,aY){const cd=a1;let aZ,b0=!0x1;aX<0x0&&(aX^=-0x1,b0=!0x0);let b1=[],b2=[];if(aQ['push'](aX*0x3,aX*0x3+0x1,aX*0x3+0x2),aL[cd(0x1d2)]){let b3=q(aY,aN,aX,aL['color']);aS['push'](b3[0x0],b3[0x1],b3[0x2]);}if(aL['skeleton']){if(aL['weightTable'][aX]!==void 0x0&&aL['weightTable'][aX][cd(0x22a)](function(b4){const cf=cd;b2['push'](b4[cf(0x258)]),b1['push'](b4['id']);}),b2['length']>0x4){aP||(console['warn']('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),aP=!0x0);let b4=[0x0,0x0,0x0,0x0],b5=[0x0,0x0,0x0,0x0];b2['forEach'](function(b6,b7){let b8=b6,b9=b1[b7];b5['forEach'](function(ba,bb,bc){if(b8>ba){bc[bb]=b8,b8=ba;let bd=b4[bb];b4[bb]=b9,b9=bd;}});}),b1=b4,b2=b5;}for(;b2[cd(0x25d)]<0x4;)b2[cd(0x1e4)](0x0),b1['push'](0x0);for(let b6=0x0;b6<0x4;++b6)aU['push'](b2[b6]),aV[cd(0x1e4)](b1[b6]);}if(aL['normal']){let b7=q(aY,aN,aX,aL['normal']);aR['push'](b7[0x0],b7[0x1],b7[0x2]);}aL['material']&&aL['material']['mappingType']!==cd(0x232)&&(aZ=q(aY,aN,aX,aL[cd(0x1ec)])[0x0],aZ<0x0&&(aW['negativeMaterialIndices']=!0x0,aZ=0x0)),aL['uv']&&aL['uv'][cd(0x22a)](function(b8,b9){let ba=q(aY,aN,aX,b8);aT[b9]===void 0x0&&(aT[b9]=[]),aT[b9]['push'](ba[0x0]),aT[b9]['push'](ba[0x1]);}),aO++,b0&&(aW['genFace'](aM,aL,aQ,aZ,aR,aS,aT,aU,aV,aO),aN++,aO=0x0,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[]);}),aM;}['getNormalNewell'](aL){let aM=new a3(0x0,0x0,0x0);for(let aN=0x0;aN<aL['length'];aN++){let aO=aL[aN],aP=aL[(aN+0x1)%aL['length']];aM['x']+=(aO['y']-aP['y'])*(aO['z']+aP['z']),aM['y']+=(aO['z']-aP['z'])*(aO['x']+aP['x']),aM['z']+=(aO['x']-aP['x'])*(aO['y']+aP['y']);}return aM['normalize'](),aM;}['getNormalTangentAndBitangent'](aL){const cg=bt;let aM=this['getNormalNewell'](aL),aN=(Math['abs'](aM['z'])>0.5?new a3(0x0,0x1,0x0):new a3(0x0,0x0,0x1))['cross'](aM)['normalize']();return{'normal':aM,'tangent':aN,'bitangent':aM['clone']()['cross'](aN)[cg(0x1b8)]()};}['flattenVertex'](aL,aM,aN){const ch=bt;return new aJ(aL['dot'](aM),aL[ch(0x27c)](aN));}['genFace'](aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU){const ci=bt;let aV;if(aU>0x3){let aW=[],aX=aM[ci(0x248)]||aM['vertexPositions'];for(let b1=0x0;b1<aN['length'];b1+=0x3)aW['push'](new a3(aX[aN[b1]],aX[aN[b1+0x1]],aX[aN[b1+0x2]]));let {tangent:aY,bitangent:aZ}=this['getNormalTangentAndBitangent'](aW),b0=[];for(let b2 of aW)b0['push'](this['flattenVertex'](b2,aY,aZ));aV=a8[ci(0x24c)](b0,[]);}else aV=[[0x0,0x1,0x2]];for(let [b3,b4,b5]of aV)aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3+0x1]]),aL[ci(0x27b)]['push'](aM['vertexPositions'][aN[b3*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b4*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b4*0x3+0x1]]),aL['vertex'][ci(0x1e4)](aM['vertexPositions'][aN[b4*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3]]),aL[ci(0x27b)]['push'](aM['vertexPositions'][aN[b5*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x2]]),aM['skeleton']&&(aL['vertexWeights']['push'](aS[b3*0x4]),aL[ci(0x25f)]['push'](aS[b3*0x4+0x1]),aL['vertexWeights']['push'](aS[b3*0x4+0x2]),aL[ci(0x25f)]['push'](aS[b3*0x4+0x3]),aL['vertexWeights']['push'](aS[b4*0x4]),aL['vertexWeights']['push'](aS[b4*0x4+0x1]),aL['vertexWeights'][ci(0x1e4)](aS[b4*0x4+0x2]),aL['vertexWeights']['push'](aS[b4*0x4+0x3]),aL['vertexWeights']['push'](aS[b5*0x4]),aL['vertexWeights'][ci(0x1e4)](aS[b5*0x4+0x1]),aL['vertexWeights']['push'](aS[b5*0x4+0x2]),aL['vertexWeights'][ci(0x1e4)](aS[b5*0x4+0x3]),aL['weightsIndices'][ci(0x1e4)](aT[b3*0x4]),aL['weightsIndices']['push'](aT[b3*0x4+0x1]),aL['weightsIndices']['push'](aT[b3*0x4+0x2]),aL[ci(0x231)]['push'](aT[b3*0x4+0x3]),aL['weightsIndices']['push'](aT[b4*0x4]),aL[ci(0x231)]['push'](aT[b4*0x4+0x1]),aL['weightsIndices']['push'](aT[b4*0x4+0x2]),aL['weightsIndices']['push'](aT[b4*0x4+0x3]),aL['weightsIndices']['push'](aT[b5*0x4]),aL['weightsIndices']['push'](aT[b5*0x4+0x1]),aL['weightsIndices']['push'](aT[b5*0x4+0x2]),aL['weightsIndices']['push'](aT[b5*0x4+0x3])),aM['color']&&(aL['colors']['push'](aQ[b3*0x3]),aL['colors'][ci(0x1e4)](aQ[b3*0x3+0x1]),aL['colors']['push'](aQ[b3*0x3+0x2]),aL['colors']['push'](aQ[b4*0x3]),aL['colors']['push'](aQ[b4*0x3+0x1]),aL['colors'][ci(0x1e4)](aQ[b4*0x3+0x2]),aL['colors']['push'](aQ[b5*0x3]),aL['colors']['push'](aQ[b5*0x3+0x1]),aL['colors']['push'](aQ[b5*0x3+0x2])),aM['material']&&aM['material']['mappingType']!=='AllSame'&&(aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO)),aM[ci(0x229)]&&(aL['normal'][ci(0x1e4)](aP[b3*0x3]),aL['normal']['push'](aP[b3*0x3+0x1]),aL['normal']['push'](aP[b3*0x3+0x2]),aL['normal']['push'](aP[b4*0x3]),aL[ci(0x229)]['push'](aP[b4*0x3+0x1]),aL['normal']['push'](aP[b4*0x3+0x2]),aL['normal']['push'](aP[b5*0x3]),aL[ci(0x229)]['push'](aP[b5*0x3+0x1]),aL['normal']['push'](aP[b5*0x3+0x2])),aM['uv']&&aM['uv']['forEach'](function(b6,b7){const cj=ci;aL['uvs'][b7]===void 0x0&&(aL['uvs'][b7]=[]),aL['uvs'][b7]['push'](aR[b7][b3*0x2]),aL['uvs'][b7][cj(0x1e4)](aR[b7][b3*0x2+0x1]),aL['uvs'][b7][cj(0x1e4)](aR[b7][b4*0x2]),aL['uvs'][b7]['push'](aR[b7][b4*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b5*0x2]),aL['uvs'][b7]['push'](aR[b7][b5*0x2+0x1]);});}['addMorphTargets'](aL,aM,aN,aO){const ck=bt;if(aN['length']===0x0)return;aL['morphTargetsRelative']=!0x0,aL[ck(0x209)]['position']=[];let aP=aO['clone']()['setPosition'](0x0,0x0,0x0),aQ=this;aN['forEach'](function(aR){aR['rawTargets']['forEach'](function(aS){const cl=a1;let aT=V[cl(0x262)]['Geometry'][aS['geoID']];aT!==void 0x0&&aQ['genMorphGeometry'](aL,aM,aT,aP,aS['name']);});});}['genMorphGeometry'](aL,aM,aN,aO,aP){const cm=bt;let aQ=aM['Vertices']===void 0x0?[]:aM['Vertices']['a'],aR=aM['PolygonVertexIndex']===void 0x0?[]:aM[cm(0x1fd)]['a'],aS=aN['Vertices']===void 0x0?[]:aN['Vertices']['a'],aT=aN[cm(0x235)]===void 0x0?[]:aN['Indexes']['a'],aU=aL[cm(0x278)]['position']['count']*0x3,aV=new Float32Array(aU);for(let aY=0x0;aY<aT['length'];aY++){let aZ=aT[aY]*0x3;aV[aZ]=aS[aY*0x3],aV[aZ+0x1]=aS[aY*0x3+0x1],aV[aZ+0x2]=aS[aY*0x3+0x2];}let aW={'vertexIndices':aR,'vertexPositions':aV,'baseVertexPositions':aQ},aX=new aE(this['genBuffers'](aW)['vertex'],0x3);aX[cm(0x279)]=aP||aN[cm(0x1fc)],aX['applyMatrix4'](aO),aL[cm(0x209)]['position']['push'](aX);}['parseNormals'](aL){const cn=bt;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL['Normals']['a'],aP=[];return aN==='IndexToDirect'&&('NormalIndex'in aL?aP=aL[cn(0x214)]['a']:'NormalsIndex'in aL&&(aP=aL['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseUVs'](aL){let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL['UV']['a'],aP=[];return aN==='IndexToDirect'&&(aP=aL['UVIndex']['a']),{'dataSize':0x2,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseVertexColors'](aL){let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL['Colors']['a'],aP=[];aN==='IndexToDirect'&&(aP=aL['ColorIndex']['a']);for(let aQ=0x0,aR=new aw();aQ<aO['length'];aQ+=0x4)aR['fromArray'](aO,aQ),as['colorSpaceToWorking'](aR,aF),aR['toArray'](aO,aQ);return{'dataSize':0x4,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseMaterialIndices'](aL){const co=bt;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'];if(aM==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':aN};let aO=aL['Materials']['a'],aP=[];for(let aQ=0x0;aQ<aO['length'];++aQ)aP[co(0x1e4)](aQ);return{'dataSize':0x1,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseNurbsGeometry'](aL){const cp=bt;let aM=parseInt(aL['Order']);if(isNaN(aM))return console['error']('THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s',aL['Order'],aL['id']),new aB();let aN=aM-0x1,aO=aL['KnotVector']['a'],aP=[],aQ=aL['Points']['a'];for(let aU=0x0,aV=aQ['length'];aU<aV;aU+=0x4)aP['push'](new ak()['fromArray'](aQ,aU));let aR,aS;if(aL['Form']==='Closed')aP['push'](aP[0x0]);else{if(aL['Form']==='Periodic'){aR=aN,aS=aO[cp(0x25d)]-0x1-aR;for(let aW=0x0;aW<aN;++aW)aP['push'](aP[aW]);}}let aT=new B(aN,aO,aP,aR,aS)['getPoints'](aP['length']*0xc);return new aB()[cp(0x1e5)](aT);}},he=class{[bt(0x263)](){const cq=bt;let aL=[],aM=this['parseClips']();if(aM!==void 0x0)for(let aN in aM){let aO=aM[aN],aP=this[cq(0x216)](aO);aL['push'](aP);}return aL;}['parseClips'](){const cr=bt;if(V['Objects']['AnimationCurve']===void 0x0)return;let aL=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aL);let aM=this['parseAnimationLayers'](aL);return this[cr(0x1b7)](aM);}['parseAnimationCurveNodes'](){let aL=V['Objects']['AnimationCurveNode'],aM=new Map();for(let aN in aL){let aO=aL[aN];if(aO['attrName']['match'](/S|R|T|DeformPercent/)!==null){let aP={'id':aO['id'],'attr':aO['attrName'],'curves':{}};aM['set'](aP['id'],aP);}}return aM;}['parseAnimationCurves'](aL){const cs=bt;let aM=V['Objects']['AnimationCurve'];for(let aN in aM){let aO={'id':aM[aN]['id'],'times':aM[aN]['KeyTime']['a']['map'](be),'values':aM[aN][cs(0x225)]['a']},aP=H['get'](aO['id']);if(aP!==void 0x0){let aQ=aP[cs(0x1eb)][0x0]['ID'],aR=aP['parents'][0x0]['relationship'];aR['match'](/X/)?aL[cs(0x1bc)](aQ)['curves']['x']=aO:aR['match'](/Y/)?aL['get'](aQ)['curves']['y']=aO:aR['match'](/Z/)?aL['get'](aQ)[cs(0x1d8)]['z']=aO:aR['match'](/DeformPercent/)&&aL['has'](aQ)&&(aL['get'](aQ)['curves']['morph']=aO);}}}['parseAnimationLayers'](aL){const ct=bt;let aM=V['Objects']['AnimationLayer'],aN=new Map();for(let aO in aM){let aP=[],aQ=H['get'](parseInt(aO));aQ!==void 0x0&&(aQ['children'][ct(0x22a)](function(aR,aS){const cu=ct;if(aL['has'](aR['ID'])){let aT=aL['get'](aR['ID']);if(aT['curves']['x']!==void 0x0||aT['curves']['y']!==void 0x0||aT['curves']['z']!==void 0x0){if(aP[aS]===void 0x0){let aU=H['get'](aR['ID'])[cu(0x1eb)]['filter'](function(aW){return aW['relationship']!==void 0x0;});if(aU['length']===0x0)return;let aV=aU[0x0]['ID'];if(aV!==void 0x0){let aW=V['Objects'][cu(0x1c3)][aV['toString']()];if(aW===void 0x0){console['warn']('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',aR);return;}let aX={'modelName':aW['attrName']?aD['sanitizeNodeName'](aW['attrName']):'','ID':aW['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};U['traverse'](function(aY){const cv=cu;aY['ID']===aW['id']&&(aX[cv(0x1ea)]=aY['matrix'],aY[cv(0x267)]['transformData']&&(aX['eulerOrder']=aY['userData']['transformData']['eulerOrder'],aY[cv(0x267)]['transformData']['rotation']&&(aX['initialRotation']=aY[cv(0x267)]['transformData']['rotation'])));}),aX['transform']||(aX[cu(0x1ea)]=new a2()),'PreRotation'in aW&&(aX['preRotation']=aW[cu(0x242)][cu(0x243)]),'PostRotation'in aW&&(aX['postRotation']=aW['PostRotation']['value']),aP[aS]=aX;}}aP[aS]&&(aP[aS][aT['attr']]=aT);}else{if(aT['curves']['morph']!==void 0x0){if(aP[aS]===void 0x0){let aY=H['get'](aR['ID'])['parents'][cu(0x249)](function(b4){const cw=cu;return b4[cw(0x20d)]!==void 0x0;});if(aY[cu(0x25d)]===0x0)return;let aZ=aY[0x0]['ID'],b0=H['get'](aZ)['parents'][0x0]['ID'],b1=H['get'](b0)['parents'][0x0]['ID'],b2=H['get'](b1)['parents'][0x0]['ID'],b3=V['Objects'][cu(0x1c3)][b2];aP[aS]={'modelName':b3['attrName']?aD['sanitizeNodeName'](b3['attrName']):'','morphName':V['Objects'][cu(0x1da)][aZ]['attrName']};}aP[aS][aT['attr']]=aT;}}}}),aN['set'](parseInt(aO),aP));}return aN;}['parseAnimStacks'](aL){const cx=bt;let aM=V['Objects'][cx(0x25b)],aN={};for(let aO in aM){let aP=H['get'](parseInt(aO))['children'];aP[cx(0x25d)]>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');let aQ=aL['get'](aP[0x0]['ID']);aN[aO]={'name':aM[aO][cx(0x1fc)],'layer':aQ};}return aN;}['addClip'](aL){const cy=bt;let aM=[],aN=this;return aL[cy(0x274)]['forEach'](function(aO){aM=aM['concat'](aN['generateTracks'](aO));}),new az(aL['name'],-0x1,aM);}[bt(0x1de)](aL){const cz=bt;let aM=[],aN=new a3(),aO=new a3();if(aL['transform']&&aL[cz(0x1ea)]['decompose'](aN,new aH(),aO),aN=aN[cz(0x20b)](),aO=aO[cz(0x20b)](),aL['T']!==void 0x0&&Object[cz(0x1d1)](aL['T']['curves'])['length']>0x0){let aP=this['generateVectorTrack'](aL['modelName'],aL['T']['curves'],aN,'position');aP!==void 0x0&&aM['push'](aP);}if(aL['R']!==void 0x0&&Object['keys'](aL['R']['curves'])['length']>0x0){let aQ=this['generateRotationTrack'](aL['modelName'],aL['R']['curves'],aL['preRotation'],aL['postRotation'],aL['eulerOrder'],aL['initialRotation']);aQ!==void 0x0&&aM['push'](aQ);}if(aL['S']!==void 0x0&&Object[cz(0x1d1)](aL['S']['curves'])['length']>0x0){let aR=this['generateVectorTrack'](aL[cz(0x27a)],aL['S']['curves'],aO,'scale');aR!==void 0x0&&aM[cz(0x1e4)](aR);}if(aL['DeformPercent']!==void 0x0){let aS=this['generateMorphTrack'](aL);aS!==void 0x0&&aM['push'](aS);}return aM;}[bt(0x26b)](aL,aM,aN,aO){const cA=bt;let aP=this['getTimesForAllAxes'](aM),aQ=this[cA(0x1c5)](aP,aM,aN);return new aa(aL+'.'+aO,aP,aQ);}['generateRotationTrack'](aL,aM,aN,aO,aP,aQ){const cB=bt;let aR,aS;if(aM['x']!==void 0x0||aM['y']!==void 0x0||aM['z']!==void 0x0){let aX=this['getTimesForAllAxes'](aM);if(aX['length']>0x0){let aY=aQ||[0x0,0x0,0x0],aZ=this['synchronizeCurve'](aM['x'],aX,aY[0x0]),b0=this['synchronizeCurve'](aM['y'],aX,aY[0x1]),b1=this['synchronizeCurve'](aM['z'],aX,aY[0x2]),b2=this['interpolateRotations'](aZ,b0,b1,aP);aR=b2[0x0],aS=b2[0x1];}}let aT=Z(0x0);aN!==void 0x0&&(aN=aN[cB(0x1b6)](al['degToRad']),aN['push'](aT),aN=new aj()['fromArray'](aN),aN=new aH()['setFromEuler'](aN)),aO!==void 0x0&&(aO=aO['map'](al['degToRad']),aO['push'](aT),aO=new aj()['fromArray'](aO),aO=new aH()[cB(0x241)](aO)['invert']());let aU=new aH(),aV=new aj(),aW=[];if(!(!aS||!aR)){for(let b3=0x0;b3<aS['length'];b3+=0x3)aV['set'](aS[b3],aS[b3+0x1],aS[b3+0x2],aP),aU['setFromEuler'](aV),aN!==void 0x0&&aU['premultiply'](aN),aO!==void 0x0&&aU['multiply'](aO),b3>0x2&&new aH()[cB(0x1bf)](aW,(b3-0x3)/0x3*0x4)[cB(0x27c)](aU)<0x0&&aU[cB(0x22e)](-aU['x'],-aU['y'],-aU['z'],-aU['w']),aU['toArray'](aW,b3/0x3*0x4);return new an(aL+'.quaternion',aR,aW);}}['generateMorphTrack'](aL){const cC=bt;let aM=aL['DeformPercent']['curves']['morph'],aN=aM['values'][cC(0x1b6)](function(aP){return aP/0x64;}),aO=U['getObjectByName'](aL['modelName'])['morphTargetDictionary'][aL['morphName']];return new aC(aL['modelName']+'.morphTargetInfluences['+aO+']',aM[cC(0x1be)],aN);}['getTimesForAllAxes'](aL){const cD=bt;let aM=[];if(aL['x']!==void 0x0&&(aM=aM['concat'](aL['x'][cD(0x1be)])),aL['y']!==void 0x0&&(aM=aM['concat'](aL['y']['times'])),aL['z']!==void 0x0&&(aM=aM['concat'](aL['z']['times'])),aM=aM[cD(0x21f)](function(aN,aO){return aN-aO;}),aM['length']>0x1){let aN=0x1,aO=aM[0x0];for(let aP=0x1;aP<aM['length'];aP++){let aQ=aM[aP];aQ!==aO&&(aM[aN]=aQ,aO=aQ,aN++);}aM=aM['slice'](0x0,aN);}return aM;}[bt(0x1c5)](aL,aM,aN){let aO=aN,aP=[],aQ=-0x1,aR=-0x1,aS=-0x1;return aL['forEach'](function(aT){const cE=a1;if(aM['x']&&(aQ=aM['x']['times']['indexOf'](aT)),aM['y']&&(aR=aM['y']['times']['indexOf'](aT)),aM['z']&&(aS=aM['z']['times']['indexOf'](aT)),aQ!==-0x1){let aU=aM['x'][cE(0x1e3)][aQ];aP[cE(0x1e4)](aU),aO[0x0]=aU;}else aP[cE(0x1e4)](aO[0x0]);if(aR!==-0x1){let aV=aM['y']['values'][aR];aP['push'](aV),aO[0x1]=aV;}else aP['push'](aO[0x1]);if(aS!==-0x1){let aW=aM['z']['values'][aS];aP['push'](aW),aO[0x2]=aW;}else aP[cE(0x1e4)](aO[0x2]);}),aP;}['synchronizeCurve'](aL,aM,aN){if(aL===void 0x0)return{'times':aM,'values':aM['map'](()=>aN)};if(aL['times']['length']===aM['length'])return aL;let aO=[];for(let aP=0x0;aP<aM['length'];aP++)aO['push'](this['sampleCurveValue'](aL,aM[aP],aN));return{'times':aM,'values':aO};}[bt(0x1ef)](aL,aM,aN){let aO=aL['times'],aP=aL['values'];if(aM<=aO[0x0])return aP[0x0];if(aM>=aO[aO['length']-0x1])return aP[aP['length']-0x1];for(let aQ=0x0;aQ<aO['length']-0x1;aQ++)if(aM>=aO[aQ]&&aM<=aO[aQ+0x1]){if(aO[aQ]===aM)return aP[aQ];let aR=(aM-aO[aQ])/(aO[aQ+0x1]-aO[aQ]);return aP[aQ]*(0x1-aR)+aP[aQ+0x1]*aR;}return aN;}['interpolateRotations'](aL,aM,aN,aO){const cF=bt;let aP=[],aQ=[];aP['push'](aL['times'][0x0]),aQ[cF(0x1e4)](al['degToRad'](aL['values'][0x0])),aQ['push'](al['degToRad'](aM['values'][0x0])),aQ['push'](al['degToRad'](aN['values'][0x0]));for(let aR=0x1;aR<aL[cF(0x1e3)]['length'];aR++){let aS=[aL['values'][aR-0x1],aM['values'][aR-0x1],aN['values'][aR-0x1]];if(isNaN(aS[0x0])||isNaN(aS[0x1])||isNaN(aS[0x2]))continue;let aT=aS['map'](al[cF(0x1d6)]),aU=[aL['values'][aR],aM['values'][aR],aN['values'][aR]];if(isNaN(aU[0x0])||isNaN(aU[0x1])||isNaN(aU[0x2]))continue;let aV=aU[cF(0x1b6)](al['degToRad']),aW=[aU[0x0]-aS[0x0],aU[0x1]-aS[0x1],aU[0x2]-aS[0x2]],aX=[Math[cF(0x1d3)](aW[0x0]),Math['abs'](aW[0x1]),Math['abs'](aW[0x2])];if(aX[0x0]>=0xb4||aX[0x1]>=0xb4||aX[0x2]>=0xb4){let aY=Math['max'](...aX)/0xb4,aZ=new aj(...aT,aO),b0=new aj(...aV,aO),b1=new aH()['setFromEuler'](aZ),b2=new aH()['setFromEuler'](b0);b1['dot'](b2)<0x0&&b2[cF(0x22e)](-b2['x'],-b2['y'],-b2['z'],-b2['w']);let b3=aL['times'][aR-0x1],b4=aL['times'][aR]-b3,b5=new aH(),b6=new aj();for(let b7=0x0;b7<0x1;b7+=0x1/aY)b5['copy'](b1['clone']()['slerp'](b2[cF(0x203)](),b7)),aP['push'](b3+b7*b4),b6['setFromQuaternion'](b5,aO),aQ['push'](b6['x']),aQ['push'](b6['y']),aQ['push'](b6['z']);}else aP['push'](aL['times'][aR]),aQ['push'](al['degToRad'](aL['values'][aR])),aQ['push'](al['degToRad'](aM['values'][aR])),aQ['push'](al['degToRad'](aN['values'][aR]));}return[aP,aQ];}},ge=class{['getPrevNode'](){const cG=bt;return this['nodeStack'][this[cG(0x1c6)]-0x2];}[bt(0x1ba)](){const cH=bt;return this[cH(0x1b2)][this['currentIndent']-0x1];}['getCurrentProp'](){return this['currentProp'];}['pushStack'](aL){this['nodeStack']['push'](aL),this['currentIndent']+=0x1;}[bt(0x1cc)](){this['nodeStack']['pop'](),--this['currentIndent'];}['setCurrentProp'](aL,aM){const cI=bt;this[cI(0x1dc)]=aL,this['currentPropName']=aM;}['parse'](aL){const cJ=bt;this['currentIndent']=0x0,this[cJ(0x1d4)]=new G(),this['nodeStack']=[],this['currentProp']=[],this['currentPropName']='';let aM=this,aN=aL['split'](/[\r\n]+/);return aN['forEach'](function(aO,aP){const cK=cJ;let aQ=aO['match'](/^[\s\t]*;/),aR=aO['match'](/^[\s\t]*$/);if(aQ||aR)return;let aS=aO['match']('^\x5ct{'+aM['currentIndent']+'}(\x5cw+):(.*){',''),aT=aO['match']('^\x5ct{'+aM['currentIndent']+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),aU=aO['match'](cK(0x222)+(aM['currentIndent']-0x1)+'}}');aS?aM['parseNodeBegin'](aO,aS):aT?aM['parseNodeProperty'](aO,aT,aN[++aP]):aU?aM[cK(0x1cc)]():aO['match'](/^[^\s\t}]/)&&aM[cK(0x213)](aO);}),this['allNodes'];}['parseNodeBegin'](aL,aM){const cL=bt;let aN=aM[0x1]['trim']()['replace'](/^"/,'')['replace'](/"$/,''),aO=aM[0x2][cL(0x24e)](',')['map'](function(aS){return aS['trim']()['replace'](/^"/,'')['replace'](/"$/,'');}),aP={'name':aN},aQ=this['parseNodeAttr'](aO),aR=this['getCurrentNode']();this['currentIndent']===0x0?this['allNodes']['add'](aN,aP):aN in aR?(aN==='PoseNode'?aR['PoseNode']['push'](aP):aR[aN]['id']!==void 0x0&&(aR[aN]={},aR[aN][aR[aN]['id']]=aR[aN]),aQ['id']!==''&&(aR[aN][aQ['id']]=aP)):typeof aQ['id']=='number'?(aR[aN]={},aR[aN][aQ['id']]=aP):aN!=='Properties70'&&(aN===cL(0x269)?aR[aN]=[aP]:aR[aN]=aP),typeof aQ['id']=='number'&&(aP['id']=aQ['id']),aQ['name']!==''&&(aP['attrName']=aQ['name']),aQ['type']!==''&&(aP['attrType']=aQ[cL(0x1e6)]),this['pushStack'](aP);}['parseNodeAttr'](aL){let aM=aL[0x0];aL[0x0]!==''&&(aM=parseInt(aL[0x0]),isNaN(aM)&&(aM=aL[0x0]));let aN='',aO='';return aL['length']>0x1&&(aN=aL[0x1]['replace'](/^(\w+)::/,''),aO=aL[0x2]),{'id':aM,'name':aN,'type':aO};}['parseNodeProperty'](aL,aM,aN){const cM=bt;let aO=aM[0x1]['replace'](/^"/,'')[cM(0x1df)](/"$/,'')[cM(0x23f)](),aP=aM[0x2][cM(0x1df)](/^"/,'')['replace'](/"$/,'')['trim']();aO==='Content'&&aP===','&&(aP=aN['replace'](/"/g,'')['replace'](/,$/,'')[cM(0x23f)]());let aQ=this['getCurrentNode']();if(aQ['name']===cM(0x221)){this['parseNodeSpecialProperty'](aL,aO,aP);return;}if(aO==='C'){let aR=aP['split'](',')['slice'](0x1),aS=parseInt(aR[0x0]),aT=parseInt(aR[0x1]),aU=aP['split'](',')[cM(0x1c0)](0x3);aU=aU['map'](function(aV){const cN=cM;return aV['trim']()[cN(0x1df)](/^"/,'');}),aO=cM(0x218),aP=[aS,aT],Se(aP,aU),aQ[aO]===void 0x0&&(aQ[aO]=[]);}aO===cM(0x208)&&(aQ['id']=aP),aO in aQ&&Array['isArray'](aQ[aO])?aQ[aO][cM(0x1e4)](aP):aO==='a'?aQ['a']=aP:aQ[aO]=aP,this['setCurrentProp'](aQ,aO),aO==='a'&&aP['slice'](-0x1)!==','&&(aQ['a']=Q(aP));}['parseNodePropertyContinued'](aL){let aM=this['getCurrentNode']();aM['a']+=aL,aL['slice'](-0x1)!==','&&(aM['a']=Q(aM['a']));}['parseNodeSpecialProperty'](aL,aM,aN){const cO=bt;let aO=aN['split']('\x22,')['map'](function(aU){return aU['trim']()['replace'](/^\"/,'')['replace'](/\s/,'_');}),aP=aO[0x0],aQ=aO[0x1],aR=aO[0x2],aS=aO[0x3],aT=aO[0x4];switch(aQ){case'int':case'enum':case cO(0x251):case'ULongLong':case'double':case'Number':case'FieldOfView':aT=parseFloat(aT);break;case'Color':case'ColorRGB':case'Vector3D':case'Lcl_Translation':case'Lcl_Rotation':case cO(0x236):aT=Q(aT);break;}this['getPrevNode']()[aP]={'type':aQ,'type2':aR,'flag':aS,'value':aT},this['setCurrentProp'](this['getPrevNode'](),aP);}},_e=class{['parse'](aL){const cP=bt;let aM=new W(aL);aM['skip'](0x17);let aN=aM['getUint32']();if(aN<0x1900)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+aN);let aO=new G();for(;!this['endOfContent'](aM);){let aP=this[cP(0x1cb)](aM,aN);aP!==null&&aO[cP(0x1e2)](aP[cP(0x279)],aP);}return aO;}['endOfContent'](aL){const cQ=bt;return aL[cQ(0x205)]()%0x10==0x0?(aL['getOffset']()+0xa0+0x10&-0x10)>=aL[cQ(0x205)]():aL['getOffset']()+0xa0+0x10>=aL[cQ(0x205)]();}['parseNode'](aL,aM){const cR=bt;let aN={},aO=aM>=0x1d4c?aL[cR(0x212)]():aL['getUint32'](),aP=aM>=0x1d4c?aL['getUint64']():aL['getUint32']();aM>=0x1d4c?aL['getUint64']():aL[cR(0x1c9)]();let aQ=aL['getUint8'](),aR=aL[cR(0x21c)](aQ);if(aO===0x0)return null;let aS=[];for(let aW=0x0;aW<aP;aW++)aS['push'](this['parseProperty'](aL));let aT=aS['length']>0x0?aS[0x0]:'',aU=aS[cR(0x25d)]>0x1?aS[0x1]:'',aV=aS[cR(0x25d)]>0x2?aS[0x2]:'';for(aN['singleProperty']=aP===0x1&&aL['getOffset']()===aO;aO>aL['getOffset']();){let aX=this[cR(0x1cb)](aL,aM);aX!==null&&this['parseSubNode'](aR,aN,aX);}return aN['propertyList']=aS,typeof aT=='number'&&(aN['id']=aT),aU!==''&&(aN['attrName']=aU),aV!==''&&(aN['attrType']=aV),aR!==''&&(aN['name']=aR),aN;}['parseSubNode'](aL,aM,aN){const cS=bt;if(aN['singleProperty']===!0x0){let aO=aN['propertyList'][0x0];Array[cS(0x1e9)](aO)?(aM[aN['name']]=aN,aN['a']=aO):aM[aN[cS(0x279)]]=aO;}else{if(aL===cS(0x1b0)&&aN['name']==='C'){let aP=[];aN['propertyList']['forEach'](function(aQ,aR){aR!==0x0&&aP['push'](aQ);}),aM['connections']===void 0x0&&(aM['connections']=[]),aM['connections'][cS(0x1e4)](aP);}else{if(aN['name']==='Properties70')Object['keys'](aN)[cS(0x22a)](function(aQ){aM[aQ]=aN[aQ];});else{if(aL==='Properties70'&&aN[cS(0x279)]==='P'){let aQ=aN['propertyList'][0x0],aR=aN[cS(0x233)][0x1],aS=aN['propertyList'][0x2],aT=aN['propertyList'][0x3],aU;aQ[cS(0x1f3)]('Lcl\x20')===0x0&&(aQ=aQ['replace']('Lcl\x20','Lcl_')),aR['indexOf']('Lcl\x20')===0x0&&(aR=aR[cS(0x1df)]('Lcl\x20','Lcl_')),aU=aR==='Color'||aR==='ColorRGB'||aR==='Vector'||aR===cS(0x1af)||aR[cS(0x1f3)]('Lcl_')===0x0?[aN['propertyList'][0x4],aN[cS(0x233)][0x5],aN['propertyList'][0x6]]:aN[cS(0x233)][0x4],aM[aQ]={'type':aR,'type2':aS,'flag':aT,'value':aU};}else aM[aN[cS(0x279)]]===void 0x0?typeof aN['id']=='number'?(aM[aN['name']]={},aM[aN[cS(0x279)]][aN['id']]=aN):aM[aN['name']]=aN:aN[cS(0x279)]==='PoseNode'?(Array['isArray'](aM[aN['name']])||(aM[aN['name']]=[aM[aN['name']]]),aM[aN['name']]['push'](aN)):aM[aN['name']][aN['id']]===void 0x0&&(aM[aN[cS(0x279)]][aN['id']]=aN);}}}}['parseProperty'](aL){const cT=bt;let aM=aL['getString'](0x1),aN;switch(aM){case'C':return aL['getBoolean']();case'D':return aL['getFloat64']();case'F':return aL[cT(0x200)]();case'I':return aL['getInt32']();case'L':return aL['getInt64']();case'R':return aN=aL['getUint32'](),aL['getArrayBuffer'](aN);case'S':return aN=aL['getUint32'](),aL[cT(0x21c)](aN);case'Y':return aL['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':let aO=aL['getUint32'](),aP=aL['getUint32'](),aQ=aL[cT(0x1c9)]();if(aP===0x0)switch(aM){case'b':case'c':return aL[cT(0x266)](aO);case'd':return aL['getFloat64Array'](aO);case'f':return aL[cT(0x253)](aO);case'i':return aL['getInt32Array'](aO);case'l':return aL['getInt64Array'](aO);}let aR=new W(aK(new Uint8Array(aL['getArrayBuffer'](aQ)))[cT(0x1d5)]);switch(aM){case'b':case'c':return aR['getBooleanArray'](aO);case'd':return aR['getFloat64Array'](aO);case'f':return aR[cT(0x253)](aO);case'i':return aR[cT(0x1f8)](aO);case'l':return aR[cT(0x1c2)](aO);}break;default:throw Error(cT(0x223)+aM);}}},W=class{constructor(aL,aM){this['dv']=new DataView(aL),this['offset']=0x0,this['littleEndian']=aM===void 0x0?!0x0:aM,this['_textDecoder']=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}['skip'](aL){this['offset']+=aL;}['getBoolean'](){return(this['getUint8']()&0x1)==0x1;}['getBooleanArray'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getBoolean']());return aM;}[bt(0x277)](){let aL=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aL;}['getInt16'](){let aL=this['dv']['getInt16'](this['offset'],this['littleEndian']);return this['offset']+=0x2,aL;}['getInt32'](){const cU=bt;let aL=this['dv']['getInt32'](this[cU(0x1bb)],this[cU(0x22f)]);return this['offset']+=0x4,aL;}[bt(0x1f8)](aL){const cV=bt;let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this[cV(0x234)]());return aM;}['getUint32'](){let aL=this['dv']['getUint32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getInt64'](){let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this['getUint32'](),aL=this['getUint32']()),aM&0x80000000?(aM=~aM&0xffffffff,aL=~aL&0xffffffff,aL===0xffffffff&&(aM=aM+0x1&0xffffffff),aL=aL+0x1&0xffffffff,-(aM*0x100000000+aL)):aM*0x100000000+aL;}['getInt64Array'](aL){const cW=bt;let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this[cW(0x1db)]());return aM;}['getUint64'](){let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this['getUint32'](),aL=this['getUint32']()),aM*0x100000000+aL;}['getFloat32'](){const cX=bt;let aL=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this[cX(0x1bb)]+=0x4,aL;}['getFloat32Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat32']());return aM;}['getFloat64'](){let aL=this['dv']['getFloat64'](this['offset'],this['littleEndian']);return this['offset']+=0x8,aL;}[bt(0x1bd)](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat64']());return aM;}[bt(0x1c4)](aL){const cY=bt;let aM=this['dv']['buffer'][cY(0x1c0)](this[cY(0x1bb)],this['offset']+aL);return this[cY(0x1bb)]+=aL,aM;}['getString'](aL){const cZ=bt;let aM=this['offset'],aN=new Uint8Array(this['dv']['buffer'],aM,aL);this['skip'](aL);let aO=aN['indexOf'](0x0);return aO>=0x0&&(aN=new Uint8Array(this['dv'][cZ(0x1d5)],aM,aO)),this['_textDecoder']['decode'](aN);}},G=class{[bt(0x1e2)](aL,aM){this[aL]=aM;}};function ve(aL){return aL['byteLength']>=0x15&&$(aL,0x0,0x15)==='Kaydara\x20FBX\x20Binary\x20\x20\x00';}function ye(aL){const d0=bt;let aM=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'],aN=0x0;function aO(aP){let aQ=aL[aP-0x1];return aL=aL['slice'](aN+aP),aN++,aQ;}for(let aP=0x0;aP<aM[d0(0x25d)];++aP)if(aO(0x1)===aM[aP])return!0x1;return!0x0;}function K(aL){let aM=aL['match'](/FBXVersion: (\d+)/);if(aM)return parseInt(aM[0x1]);throw Error('THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.');}function be(aL){return aL/0xac0e8d7b0;}var xe=[];function q(aL,aM,aN,aO){let aP;switch(aO['mappingType']){case'ByPolygonVertex':aP=aL;break;case'ByPolygon':aP=aM;break;case'ByVertice':aP=aN;break;case'AllSame':aP=aO['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+aO['mappingType']);}aO['referenceType']==='IndexToDirect'&&(aP=aO['indices'][aP]);let aQ=aP*aO['dataSize'],aR=aQ+aO['dataSize'];return Ce(xe,aO['buffer'],aQ,aR);}var J=new aj(),Y=new a3();function X(aL){const d1=bt;let aM=new a2(),aN=new a2(),aO=new a2(),aP=new a2(),aQ=new a2(),aR=new a2(),aS=new a2(),aT=new a2(),aU=new a2(),aV=new a2(),aW=new a2(),aX=new a2(),aY=aL['inheritType']?aL[d1(0x22c)]:0x0;aL['translation']&&aM['setPosition'](Y['fromArray'](aL['translation']));let aZ=Z(0x0);if(aL['preRotation']){let bc=aL['preRotation']['map'](al['degToRad']);bc['push'](aZ),aN[d1(0x1f9)](J['fromArray'](bc));}if(aL['rotation']){let bd=aL['rotation']['map'](al['degToRad']);bd['push'](aL['eulerOrder']||aZ),aO['makeRotationFromEuler'](J['fromArray'](bd));}if(aL['postRotation']){let bf=aL[d1(0x281)]['map'](al['degToRad']);bf['push'](aZ),aP[d1(0x1f9)](J['fromArray'](bf)),aP['invert']();}aL['scale']&&aQ['scale'](Y[d1(0x1bf)](aL['scale'])),aL['scalingOffset']&&aS['setPosition'](Y[d1(0x1bf)](aL[d1(0x26f)])),aL['scalingPivot']&&aR[d1(0x1c8)](Y[d1(0x1bf)](aL['scalingPivot'])),aL['rotationOffset']&&aT['setPosition'](Y[d1(0x1bf)](aL['rotationOffset'])),aL['rotationPivot']&&aU['setPosition'](Y['fromArray'](aL['rotationPivot'])),aL['parentMatrixWorld']&&(aW['copy'](aL['parentMatrix']),aV['copy'](aL['parentMatrixWorld']));let b0=aN['clone']()['multiply'](aO)['multiply'](aP),b1=new a2();b1['extractRotation'](aV);let b2=new a2();b2['copyPosition'](aV);let b3=b2[d1(0x203)]()['invert']()['multiply'](aV),b4=b1['clone']()['invert']()['multiply'](b3),b5=aQ,b6=new a2();if(aY===0x0)b6[d1(0x226)](b1)['multiply'](b0)[d1(0x1d9)](b4)['multiply'](b5);else{if(aY===0x1)b6['copy'](b1)['multiply'](b4)['multiply'](b0)['multiply'](b5);else{let bg=new a2()[d1(0x204)](new a3()[d1(0x1fe)](aW))['clone']()['invert'](),bh=b4['clone']()['multiply'](bg);b6['copy'](b1)['multiply'](b0)['multiply'](bh)['multiply'](b5);}}let b7=aU['clone']()['invert'](),b8=aR['clone']()['invert'](),b9=aM['clone']()['multiply'](aT)['multiply'](aU)['multiply'](aN)['multiply'](aO)['multiply'](aP)['multiply'](b7)['multiply'](aS)[d1(0x1d9)](aR)['multiply'](aQ)['multiply'](b8),ba=new a2()[d1(0x1fb)](b9),bb=aV['clone']()['multiply'](ba);return aX['copyPosition'](bb),b9=aX['clone']()['multiply'](b6),b9['premultiply'](aV['invert']()),b9;}function Z(aL){aL=aL||0x0;let aM=['ZYX','YZX','XZY','ZXY','YXZ','XYZ'];return aL===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),aM[0x0]):aM[aL];}function Q(aL){return aL['split'](',')['map'](function(aM){return parseFloat(aM);});}function $(aL,aM,aN){return aM===void 0x0&&(aM=0x0),aN===void 0x0&&(aN=aL['byteLength']),new TextDecoder()['decode'](new Uint8Array(aL,aM,aN));}function Se(aL,aM){const d2=bt;for(let aN=0x0,aO=aL['length'],aP=aM[d2(0x25d)];aN<aP;aN++,aO++)aL[aO]=aM[aN];}function Ce(aL,aM,aN,aO){for(let aP=aN,aQ=0x0;aP<aO;aP++,aQ++)aL[aQ]=aM[aP];return aL;}export{fe as FBXLoader};
|