@realsee/five 6.5.0-alpha.1 → 6.5.0-alpha.2
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/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.Draco.html +2 -2
- package/docs/classes/five.Five.html +6 -6
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.KTX2.html +2 -2
- package/docs/classes/five.Model.html +30 -30
- package/docs/classes/five.ModelScene.html +17 -17
- package/docs/classes/five.PBMContainer.html +2 -2
- package/docs/classes/five.PBMCustomShader.html +2 -2
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMaterial.html +1 -1
- package/docs/classes/five.PBMMesh.html +2 -2
- package/docs/classes/five.PBMMeshMaterial.html +6 -6
- package/docs/classes/five.PBMPointCloud.html +2 -2
- package/docs/classes/five.PBMPointCloudMaterial.html +5 -5
- package/docs/classes/five.PBMSkinnedMesh.html +2 -2
- package/docs/classes/five.Parameter.html +51 -51
- package/docs/classes/five.TextureLoader.html +2 -2
- package/docs/classes/five.Tile.html +2 -2
- package/docs/classes/five.Tile3DModel.html +28 -28
- package/docs/classes/five.TileCache.html +2 -2
- package/docs/classes/five.TileNode.html +2 -2
- package/docs/classes/five.TileRequestScheduler.html +2 -2
- package/docs/classes/five.Tileset.html +4 -4
- package/docs/classes/five.Trajectory.html +2 -2
- package/docs/classes/five.TrajectoryNode.html +2 -2
- package/docs/classes/plugins-1.ItemMaskController.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/functions/five.createWorks.html +1 -0
- package/docs/functions/five.getFetcher.html +1 -0
- package/docs/functions/five.loadAt3d.html +1 -1
- package/docs/functions/five.loadB3dm.html +1 -1
- package/docs/functions/five.loadDome.html +1 -1
- package/docs/functions/five.loadDomez.html +1 -1
- package/docs/functions/five.loadFbx.html +1 -1
- package/docs/functions/five.loadGltf.html +1 -1
- package/docs/functions/five.loadPbm.html +1 -1
- package/docs/functions/five.loadPly.html +1 -1
- package/docs/functions/five.loadPnts.html +1 -1
- package/docs/functions/five.loadX3p.html +1 -1
- package/docs/functions/five.registerFetcher.html +1 -0
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.FiveInitArgs.html +2 -2
- package/docs/interfaces/five.ModelLike.html +2 -2
- package/docs/interfaces/five.PBMClipperParameter.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +2 -2
- package/docs/interfaces/five.PBMPanoDepth.html +5 -5
- package/docs/interfaces/five.PBMPanoPicture.html +6 -6
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -2
- package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.ParameterMaterialValue.html +36 -36
- package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
- package/docs/interfaces/five.ParameterValue.html +50 -50
- package/docs/interfaces/five.ResolvedParameterValue.html +50 -50
- package/docs/interfaces/five.Tile3DModelLoaderOptions.html +2 -3
- package/docs/interfaces/five.TileHeader.html +2 -2
- package/docs/interfaces/five.TilesetHeader.html +4 -4
- package/docs/interfaces/five.TilesetOptions.html +2 -3
- package/docs/interfaces/five.TrajectoryHeader.html +2 -2
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.ViewLayer.html +93 -0
- package/docs/interfaces/five.WorkModelLayer.html +2 -2
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/gltf_loader.DDS.html +2 -2
- package/docs/interfaces/gltf_loader.GLTFReference.html +2 -2
- package/docs/interfaces/plugins-1.ItemMaskPluginType.State.html +2 -2
- package/docs/interfaces/react.FiveInjectionTypes.html +3 -3
- package/docs/modules/five.html +6 -3
- package/docs/types/five.LoadResultType.html +1 -1
- package/docs/types/five.Models.html +4 -4
- package/docs/types/five.PBMAlphaMode.html +1 -1
- package/docs/types/five.PBMColorStyle.html +1 -1
- package/docs/types/five.PBMFloorStyle.html +1 -1
- package/docs/types/five.PBMMeshShaderType.html +1 -1
- package/docs/types/five.PBMPointBack.html +1 -1
- package/docs/types/five.PBMPointCloudShaderType.html +1 -1
- package/docs/types/five.PBMPointShape.html +1 -1
- package/docs/types/five.PBMPointSize.html +1 -1
- package/docs/types/five.PBMTransition.html +1 -1
- package/docs/types/five.TileCacheOptions.html +1 -1
- package/docs/types/five.TileContentData.html +1 -1
- package/docs/types/five.TileDebug.html +1 -1
- package/docs/types/five.TileRequestOrder.html +1 -1
- package/docs/types/five.TileRequestSchedulerOptions.html +1 -1
- package/docs/types/five.TilesetFrameState.html +1 -1
- package/docs/types/five.TrajectoryContentData.html +1 -1
- package/docs/variables/five.draco-1.html +1 -1
- package/docs/variables/five.ktx2-1.html +1 -1
- package/docs/variables/five.workRawMapping.html +1 -0
- package/five/index.d.ts +17 -19
- package/five/index.js +58 -58
- package/five/index.mjs +10546 -10542
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/plugins/index.js +2 -2
- package/plugins/index.mjs +2 -2
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +2 -2
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +58 -58
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +2 -2
- package/work-downloader/index.mjs +2 -2
- package/docs/interfaces/five.TileCubeNode.html +0 -8
- package/docs/interfaces/five.TileCubeTree.html +0 -2
package/umd/five.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.5.0-alpha.
|
|
4
|
+
* Generated: 7/8/2025
|
|
5
|
+
* Version: 6.5.0-alpha.2
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -387,8 +387,7 @@
|
|
|
387
387
|
`}else if(B==="subjectAltName"){var F=v(this.getExtSubjectAltName());_+=" "+F+`
|
|
388
388
|
`}else if(B==="cRLDistributionPoints"){var N=this.getExtCRLDistributionPoints();_+=b(N)}else if(B==="authorityInfoAccess"){var z=this.getExtAuthorityInfoAccess();_+=T(z)}else B==="certificatePolicies"&&(_+=y(this.getExtCertificatePolicies()))}}return _+="signature algorithm: "+this.getSignatureAlgorithmName()+`
|
|
389
389
|
`,_+="signature: "+this.getSignatureValueHex().substr(0,16)+`...
|
|
390
|
-
`,_},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):KJUR.lang.String.isHex(n)&&this.readCertHex(n))}X509.hex2dn=function(n,t){t===void 0&&(t=0);var e=new X509;ASN1HEX.getTLV(n,t);var r=e.getX500Name(n);return r.str},X509.hex2rdn=function(n,t){if(t===void 0&&(t=0),n.substr(t,2)!=="31")throw new Error("malformed RDN");for(var e=new Array,r=ASN1HEX.getChildIdx(n,t),o=0;o<r.length;o++)e.push(X509.hex2attrTypeValue(n,r[o]));return e=e.map(function(s){return s.replace("+","\\+")}),e.join("+")},X509.hex2attrTypeValue=function(n,t){var e=ASN1HEX,r=e.getV;if(t===void 0&&(t=0),n.substr(t,2)!=="30")throw new Error("malformed attribute type and value");var o=e.getChildIdx(n,t);o.length!==2||n.substr(o[0],2);var s=r(n,o[0]),u=KJUR.asn1.ASN1Util.oidHexToInt(s),l=KJUR.asn1.x509.OID.oid2atype(u),c=r(n,o[1]),p=hextorstr(c);return l+"="+p},X509.getPublicKeyFromCertHex=function(n){var t=new X509;return t.readCertHex(n),t.getPublicKey()},X509.getPublicKeyFromCertPEM=function(n){var t=new X509;return t.readCertPEM(n),t.getPublicKey()},X509.getPublicKeyInfoPropOfCertPEM=function(n){var t=ASN1HEX,e=t.getVbyList,r={},o,s;return r.algparam=null,o=new X509,o.readCertPEM(n),s=o.getPublicKeyHex(),r.keyhex=e(s,0,[1],"03").substr(2),r.algoid=e(s,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(s,0,[0,1],"06")),r},X509.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function sha256(n){return CryptoJS.SHA256(n).toString()}var certificates=[function(){var n=new X509;return n.readCertPEM(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@ PPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\x07\\QN>Z N\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@\x07ebN[bqx=ng? S^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFo\x07FgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP P>}A^VP}Ex\bU\x07Za=syDw}>Ya\x078wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr sof[wA}e{\\z}w[YDQ|dt=wC Nv\x07bR\x07Z@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`\x07N\0RXt^Z}vEpdC=\bY?\x07=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac Z guf\bF]\x07DCP?znNYf uaYu[`\x07=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB D8{B>\\sPY\x07bEU FQXz\0@\x07`zsqgfD\0[WY\bPeZc} \0bx?Rfed\x07}BUe\x07|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YB\x07Y`Ffg=sY>{t<fu]x\x07rFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw= PCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=E\x07nO}Pud8TA ?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V OUwY=>X[\\E`tW[8}VwpF\x07BQcnrPF}yUtd8<Doe_\b[oOVU\x07ep@pYY\0cegY{r ?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<\x07StX Nx\x07\0\b \0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V CVrRVtAAc[ Qp|d|tqoQ=T|XX =u\\N8XNCx\\aU>wz X<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ P\bZ\b\\YNNSZ_\\w^|TsD8db _ Y\\o^Cw>Z\0x\\^aN]wWf\bA} C^d_{\x07ZC@\by]gY@E BFY?OsaqbDcVgQbZeFc ovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z ZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),n}()];function getCertificateBySubjectHex(n,t){for(var e=0,r=t;e<r.length;e++){var o=r[e];if(o.getSubjectHex()===n)return o}}function verifyCertificate_(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=getCertificateBySubjectHex(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:verifyCertificate_(r,t)}function verifyCertificate(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:verifyCertificate_(n,certificates)}function addCertificate(n){var t=new X509;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=verifyCertificate(t);return certificates.push(t),e}function verifyMessage(n,t,e){var r=new X509;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),verifyCertificate(r)===!1)return!1;var o=new RSAKey;return o.readCertPubKeyHex(r.hex,6),!!o.verify(n,b64tohex(t))}addCertificate(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU PPONrtNVONtVWNW=_SVw VE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ [QSnS=\b[aNBZQZ\\aZ [QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg RbZOVTN>bRPtYoTyuoz}}f`Bwo?=\x07RQN\\Ot[cONZO>Wyfd\x07 gdb\x07RaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdy\x07ndB{^T\x07}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F SA\x07e`tn[t u\b8^a]qx\bE_^\x07ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQ\x07FO=Yw\0_TePCOFV@|\x07N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{] b=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r Ao\0 F`fdzCnRtq\br \b8eBp=Z\\TRaadc}@Eub`\x07quuNqAdF\0aUay{}x>tgVz` _YBFwu_q?egt8v[o\x008 wTQcrA <z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw XDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYP\x07\x07dWV]OE^\bOFwA}<uXoO}_NDz8aon\x07zWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT| OZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO d_D}eBb?Uq^b [y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zU\x07xOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`Fy\x07WadZcAD peXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx a[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef` ?^x>X}esa{>\\r?eE]CC_cZ[vQs >gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC\x07>>g\x07vb}ACd ``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc XSq {\0\x07DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy RNRg@\x07NZCaaq8?` ^`?ryD =obzw?E]Ou\x07]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug\x078^f[YQAWad8FNqxFQE?ZOo }RnO\bsQc xyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var extendStatics=function(n,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])},extendStatics(n,t)};function __extends(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");extendStatics(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var __assign=function(){return __assign=Object.assign||function(t){for(var e,r=1,o=arguments.length;r<o;r++){e=arguments[r];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},__assign.apply(this,arguments)};function __decorate(n,t,e,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,t,e,r);else for(var l=n.length-1;l>=0;l--)(u=n[l])&&(s=(o<3?u(s):o>3?u(t,e,s):u(t,e))||s);return o>3&&s&&Object.defineProperty(t,e,s),s}function __metadata(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function __awaiter(n,t,e,r){function o(s){return s instanceof e?s:new e(function(u){u(s)})}return new(e||(e=Promise))(function(s,u){function l(f){try{p(r.next(f))}catch(d){u(d)}}function c(f){try{p(r.throw(f))}catch(d){u(d)}}function p(f){f.done?s(f.value):o(f.value).then(l,c)}p((r=r.apply(n,t||[])).next())})}function __generator(n,t){var e={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,u=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return u.next=l(0),u.throw=l(1),u.return=l(2),typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function l(p){return function(f){return c([p,f])}}function c(p){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,p[0]&&(e=0)),e;)try{if(r=1,o&&(s=p[0]&2?o.return:p[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,p[1])).done)return s;switch(o=0,s&&(p=[p[0]&2,s.value]),p[0]){case 0:case 1:s=p;break;case 4:return e.label++,{value:p[1],done:!1};case 5:e.label++,o=p[1],p=[0];continue;case 7:p=e.ops.pop(),e.trys.pop();continue;default:if(s=e.trys,!(s=s.length>0&&s[s.length-1])&&(p[0]===6||p[0]===2)){e=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]<s[3])){e.label=p[1];break}if(p[0]===6&&e.label<s[1]){e.label=s[1],s=p;break}if(s&&e.label<s[2]){e.label=s[2],e.ops.push(p);break}s[2]&&e.ops.pop(),e.trys.pop();continue}p=t.call(n,e)}catch(f){p=[6,f],o=0}finally{r=s=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function __spreadArray(n,t,e){if(e||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return n.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;function createSymbol(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var EVENT_SYMBOL=createSymbol("$$FIVE_EVENT$$");function __generateEventIfNotExisted(n){return n[EVENT_SYMBOL]||(n[EVENT_SYMBOL]={}),n[EVENT_SYMBOL]}function __removeEvents(n){n[EVENT_SYMBOL]&&delete n[EVENT_SYMBOL]}var Subscribe=function(){function n(){}return n.prototype.hasListener=function(t){var e=__generateEventIfNotExisted(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var o=this,s=__generateEventIfNotExisted(this);return s[t]||(s[t]={callbacks:[]}),s[t].callbacks.push([e,r||!1]),function(){return o.off(t,e)}},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.off=function(t,e){if(t===void 0){__removeEvents(this);return}var r=__generateEventIfNotExisted(this);if(r[t]||(r[t]={callbacks:[]}),e===void 0){r[t].callbacks.length=0;return}for(var o=0;o<r[t].callbacks.length&&r[t].callbacks[o][0]!==e;o++);o<r[t].callbacks.length&&r[t].callbacks.splice(o,1)},n.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var o=!1,s=__generateEventIfNotExisted(this);s[t]||(s[t]={callbacks:[]});for(var u=s[t].callbacks.slice(),l=0,c=u;l<c.length;l++){var p=c[l],f=p[0],d=p[1],h=d===void 0?!1:d,m=f.apply(void 0,e);h&&this.off(t,f),m===!1&&(o=!0)}return o},n.prototype.waitUntil=function(t,e){var r=this;return new Promise(function(o){var s=r.on(t,function(){for(var u=[],l=0;l<arguments.length;l++)u[l]=arguments[l];(!e||e.apply(void 0,u)!==!1)&&(o(u),s())})})},n}();function noop$1(){}var start=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),now=typeof performance!="undefined"?function(){return start+performance.now()}:function(){return Date.now()};function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var domainRegex=/^([^.]+)(\.([^.]+))*$/;function match(n,t){if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var o=0;o<e.length;o++)if(e[o]!==r[o])return!1;return!0}function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){return domainRegex.test(n)&&domainRegex.test(t)&&match(n,t)}var JSONP_REGEXPS=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/rnyrr;p{/9/rnyrr;p|z/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),NetworkProxyError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t}(Error),NetworkResponseError=function(n){__extends(t,n);function t(e,r,o){var s=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(o,"): ").concat(e))||this;return s.httpStatus=o,s}return t}(Error);(function(n){__extends(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var NetworkTimeoutError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(o,"ms): ").concat(e))||this}return t}(Error),NetworkFirbiddenError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t}(Error);function parseHeaders(n){if(!n)return{};for(var t={},e=n.trim().split(`
|
|
391
|
-
`),r=0;r<e.length;r++){var o=e[r],s=o.indexOf(":"),u=o.slice(0,s).trim().toLowerCase(),l=o.slice(s+1).trim();l&&(t[u]?t[u]+=", "+l:t[u]=l)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],o=n.match(r);if(o)return"jsonp_"+o[1]}return null}function isJsonpSource(n){return matchJsonpFunctionName(n)!==null}function getProtocol(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function hostnameFromURL(n){if(/^blob\:/i.test(n))return"blob:";if(/^data\:/i.test(n))return"data:";var t=n.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var NetworkSubscribe=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Subscribe);function ajax(n,t,e,r,o){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return/^https\:/.test(location.href)&&/^http\:/.test(l)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c,p=matchJsonpFunctionName(n),f=p?"Script":"XMLHttpRequest",d=new NetworkProxyError(u,f,l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,f,"proxy-error",d.message),Promise.reject(d)}).then(function(l){return new Promise(function(c,p){var f,d=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),h=hostnameFromURL(l),m=matchJsonpFunctionName(l);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(I){return matchDomain(I,location.hostname)}).length===0&&!isIPDomain(h)&&d.filter(function(I){return matchDomain(I,h)}).length===0){var g=m?"Script":"XMLHttpRequest",A=new NetworkFirbiddenError(l,g,"request host(".concat(h,") is not allowed"));r(A),p(A),(f=t.networkSubscribe)===null||f===void 0||f.emit("network",l,g,"forbidden",A.message);return}if(m){var E=window,v=null,y=!1,b=document.createElement("script"),T=function(){var I;if(v=null,y!==!0){y=!0;var O=new NetworkTimeoutError(l,"Script",t.timeout||NaN);r(O),p(O),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"Script","timeout",O.message)}},_=function(I){var O,F,N=now(),z=N-s;if(delete E[m],b.parentNode&&b.parentNode.removeChild(b),v!==null&&(window.clearTimeout(v),v=null),y!==!0){if(I.indexOf("data:")!==0){var J=new NetworkResponseError(l,"Script",500);r(J),p(J),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",l,"Script","error",J.message);return}var G=I.split(","),Q=(G[0].match(/:(.*?);/)||[])[1],U=G[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var V=atob(G[1]),X=V.length,Z=new Uint8Array(X),ee=0;ee<X;ee++)Z[ee]=V.charCodeAt(ee);t.responseType==="arraybuffer"?U=Z.buffer:U=new Blob([Z],{type:Q})}var K={},re={body:U,meta:{origin:u,source:l,requestTime:s,responseTime:N,costs:z,headers:K}};e(re),c(re),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",l,"Script","ok",JSON.stringify(re.meta)),y=!0}};E[m]=_,b.src=l,document.body.appendChild(b),typeof t.timeout=="number"&&(v=window.setTimeout(T,t.timeout))}else{var S=!1,R=new XMLHttpRequest,M=function(){R&&(R.removeEventListener("timeout",H,!1),R.removeEventListener("progress",B,!1),R.removeEventListener("load",C,!1),R.removeEventListener("error",w,!1)),R=null,M=noop$1},H=function(){var I;if(S!==!0){S=!0,M();var O=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(O),p(O),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"XMLHttpRequest","timeout",O.message)}},B=function(I){S!==!0&&I.lengthComputable&&(I.total<=0||o(I.loaded/I.total))},C=function(I){var O;if(S!==!0){var F=this.status;if(F===0||F>=200&&F<400){S=!0,M();var N=now(),z=N-s,J=parseHeaders(this.getAllResponseHeaders()),G=I.total,Q={body:this.response,meta:{origin:u,source:l,requestTime:s,responseTime:N,costs:z,headers:J,size:G}};e(Q),c(Q),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(Q.meta))}else w.call(this)}},w=function(){var I;if(S!==!0){S=!0,M();var O=new NetworkResponseError(l,"XMLHttpRequest",this.status);r(O),p(O),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"XMLHttpRequest","error",O.message)}};R.addEventListener("timeout",H,!1),R.addEventListener("progress",B,!1),R.addEventListener("load",C,!1),R.addEventListener("error",w,!1),t.responseType&&(R.responseType=t.responseType),typeof t.timeout=="number"&&(R.timeout=t.timeout),R.open("GET",l,!0),R.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(o){return/^https\:/.test(location.href)&&/^http\:/.test(o)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(o,"'. This request was automatically upgraded to HTTPS")),o.replace(/^http\:/,"https:")):o}).catch(function(o){var s,u=new NetworkProxyError(r,"Link",o&&o.message?String(o.message):String(o));return(s=t.networkSubscribe)===null||s===void 0||s.emit("network",n,"Link","proxy-error",u.message),Promise.reject(u)}).then(function(o){return o in preloadCache?preloadCache[o]:preloadCache[o]=new Promise(function(s,u){var l,c=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),p=hostnameFromURL(o);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(A){return matchDomain(A,location.hostname)}).length===0&&!isIPDomain(p)&&c.filter(function(A){return matchDomain(A,p)}).length===0){var f=new NetworkFirbiddenError(o,"Link","request host(".concat(p,") is not allowed"));u(f),(l=t.networkSubscribe)===null||l===void 0||l.emit("network",o,"Link","forbidden",f.message);return}var d=document.createElement("link"),h=!1,m=null;d.onload=function(A){var E;if(m!==null&&(clearTimeout(m),m=null),h!==!0){h=!0,s();var v=now(),y=v-e,b={},T={origin:r,source:o,requestTime:e,responseTime:v,costs:y,headers:b};(E=t.networkSubscribe)===null||E===void 0||E.emit("network",o,"Link","preload",JSON.stringify(T))}},d.onerror=function(A){var E;if(m!==null&&(clearTimeout(m),m=null),h!==!0){h=!0;var v=new NetworkResponseError(o,"Link",0);u(v),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",o,"Link","error",v.message)}},typeof t.timeout=="number"&&(m=window.setTimeout(function(){var A;if(m=null,h!==!0){h=!0,s();var E=now(),v=E-e,y={},b={origin:r,source:o,requestTime:e,responseTime:E,costs:v,headers:y};(A=t.networkSubscribe)===null||A===void 0||A.emit("network",o,"Link","timeout",JSON.stringify(b))}},t.timeout)),d.rel=d.relList&&d.relList.supports("prefetch")?"prefetch":"preload",d.as="fetch",d.crossOrigin="",d.fetchPriority="high",d.href=o;var g=document.head||document.getElementsByTagName("head")[0];g&&g.appendChild(d)})})}function loadImage(n,t,e,r,o,s){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var u=now(),l=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return/^https\:/.test(location.href)&&/^http\:/.test(c)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var p,f=new NetworkProxyError(l,"Image",c&&c.message?String(c.message):String(c));return(p=t.networkSubscribe)===null||p===void 0||p.emit("network",n,"Image","proxy-error",f.message),Promise.reject(f)}).then(function(c){return new Promise(function(p,f){var d,h=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),m=hostnameFromURL(c);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,location.hostname)}).length===0&&!isIPDomain(m)&&h.filter(function(T){return matchDomain(T,m)}).length===0){var g=new NetworkFirbiddenError(c,"Image","request host(".concat(m,") is not allowed"));r(g),f(g),(d=t.networkSubscribe)===null||d===void 0||d.emit("network",c,"Image","forbidden",g.message);return}var A=s!=null?s:new Image,E=!1,v=null,y=function(){var T;if(A.onload=noop$1,A.onerror=noop$1,v!==null&&(clearTimeout(v),v=null),E!==!0){var _=now(),S={headers:{},origin:l,source:c,requestTime:u,responseTime:_,costs:_-u};E=!0;var R={body:A,meta:S};o(1),e(R),p(R),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",JSON.stringify(R.meta))}},b=function(){var T;if(A.onload=noop$1,A.onerror=noop$1,v!==null&&(clearTimeout(v),v=null),E!==!0){E=!0;var _=new NetworkResponseError(c,"Image",0);r(_),f(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",_.message)}};typeof t.timeout=="number"&&(v=window.setTimeout(function(){var T;if(A.onload=noop$1,A.onerror=noop$1,v=null,E!==!0){E=!0;var _=new NetworkTimeoutError(c,"Image",t.timeout);r(_),f(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","timeout",_.message)}},t.timeout)),A.onload=y,A.onerror=b,o(0),A.src=c})})}var Fetcher=function(){function n(t){t===void 0&&(t={}),this.options=Object.freeze(t),this.options.allowHosts&&Object.freeze(this.options.allowHosts)}return n.prototype.ajax=function(t,e,r,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var l=this.options,c={responseType:e.responseType,timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get allowHosts(){var p;return(p=e.allowHosts)!==null&&p!==void 0?p:l.allowHosts},get requestProxy(){var p;return(p=e.requestProxy)!==null&&p!==void 0?p:l.requestProxy},get networkSubscribe(){var p;return(p=e.networkSubscribe)!==null&&p!==void 0?p:l.networkSubscribe}};return ajax(t,c,r,o,s)},n.prototype.loadImage=function(t,e,r,o,s,u){var l;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var c=this.options,p={timeout:(l=e.timeout)!==null&&l!==void 0?l:c.timeout,get allowHosts(){var f;return(f=e.allowHosts)!==null&&f!==void 0?f:c.allowHosts},get requestProxy(){var f;return(f=e.requestProxy)!==null&&f!==void 0?f:c.requestProxy},get networkSubscribe(){var f;return(f=e.networkSubscribe)!==null&&f!==void 0?f:c.networkSubscribe}};return loadImage(t,p,r,o,s,u)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var o=this.options,s={timeout:(r=e.timeout)!==null&&r!==void 0?r:o.timeout,get allowHosts(){var u;return(u=e.allowHosts)!==null&&u!==void 0?u:o.allowHosts},get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:o.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:o.networkSubscribe}};return preload(t,s)},n}(),internalFetcher=new Fetcher;function clamp$1(n,t,e){return n<t?t:n>e?e:n}var windowSTOContext=function(){var n=now();return{requestAnimationFrame:function(t){var e=now(),r=clamp$1(16+(e-n),16,33),o=setTimeout(function(){t(e+r)},r);return n=e+r,o},cancelAnimationFrame:function(t){return clearTimeout(t)}}}(),windowRAFContext=function(){if(typeof window!="undefined"){var n=window;if(n.requestAnimationFrame)return{requestAnimationFrame:n.requestAnimationFrame.bind(n),cancelAnimationFrame:n.cancelAnimationFrame.bind(n)};if(n.mozRequestAnimationFrame)return{requestAnimationFrame:n.mozRequestAnimationFrame.bind(n),cancelAnimationFrame:n.mozCancelAnimationFrame.bind(n)};if(n.webkitRequestAnimationFrame)return{requestAnimationFrame:n.webkitRequestAnimationFrame.bind(n),cancelAnimationFrame:n.webkitCancelAnimationFrame.bind(n)};if(n.msRequestAnimationFrame)return{requestAnimationFrame:n.msRequestAnimationFrame.bind(n),cancelAnimationFrame:n.msCancelAnimationFrame.bind(n)}}return windowSTOContext}(),DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=function(){function n(){this.loopType="raf",this.frames=[],this.isAnimating=!1,this.context=null;var t=now();this.loop=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(this.isAnimating!==!1){var o=now(),s=o-t;t=o,deviceFrameTime=s;for(var u=0;u<this.frames.length;u++){var l=this.frames[u];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([o,s],e,!1))}catch(c){console.error(c)}l.once&&(this.frames.splice(u,1),u--)}this.requestId=this.requestAnimationFrame(this.loop)}}.bind(this),this.start()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.start=function(){this.isAnimating!==!0&&(this.isAnimating=!0,this.requestId=this.requestAnimationFrame(this.loop))},n.prototype.stop=function(){this.isAnimating=!1,this.cancelAnimationFrame(this.requestId)},n.prototype.setContext=function(t){t!==this.context&&(this.stop(),this.context=t,this.start())},n.prototype.getContext=function(){return this.context},n.prototype.setLoopType=function(t){t!==this.loopType&&(this.stop(),this.loopType=t,this.start())},n.prototype.getLoopType=function(){return this.loopType},n.prototype.requestAnimationFrame=function(t){if(this.context)return this.context.requestAnimationFrame(t);if(this.loopType==="raf")return windowRAFContext.requestAnimationFrame(t);if(this.loopType==="sto")return windowSTOContext.requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){if(this.context)this.context.cancelAnimationFrame(t);else if(this.loopType==="raf")windowRAFContext.cancelAnimationFrame(t);else if(this.loopType==="sto")return windowSTOContext.cancelAnimationFrame(t)},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,o){var s=this;e===void 0&&(e=!1),r===void 0&&(r=0),o===void 0&&(o=DEFAULT_ORDER);for(var u={callback:t,once:e,delay:r,order:o},l=this.frames.length;--l>=0;)if(this.frames[l].order<=o){this.frames.splice(l+1,0,u);break}return l<0&&this.frames.unshift(u),function(){return s.remove(u)}},n.prototype.clear=function(){this.frames.length=0},n}(),webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){if(typeof Image=="undefined"){t(!1);return}var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var _a$5,supportAvif=!1,supportWebp=!1,supportHeif=!1;imageSupport().then(function(n){supportAvif=n.avif,supportWebp=n.webp,supportHeif=n.heif});var IMAGE_FORMATS=["jpg","jpeg","png","heif","heic","webp","avif"];function isImageExt(n){return IMAGE_FORMATS.indexOf(n)>=0}var DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t){return n.replace(URL_DOMAIN_REGEX,function(e,r){return e.slice(0,e.length-r.length)+t})}function route(n,t,e){var r=t.split("."),o=r[0],s=r.slice(1);if(o==="texture")return replaceDomain(n,e.texture[0]);if(o==="pano"){s[0];var u=s[1];switch(u){case"front":case"left":case"up":return replaceDomain(n,e.pano[0]);case"down":case"right":case"back":return replaceDomain(n,e.pano[1])}}else if(o==="pano_tile"){s[0],s[1];var l=s[2],c=s[3],p=s[4],f=Math.pow(2,Number(l))*Number(c)+Number(p);if(!isNaN(f))return replaceDomain(n,e.tile[f%2])}else if(o==="model"){var d=s[0],f=Number(d);if(!isNaN(f))return replaceDomain(n,e.model[f%2])}return replaceDomain(n,e.default[0])}var tencentCloudImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format/".concat(s)),u!==void 0&&o.push("cut/".concat(u[2],"x").concat(u[3],"x").concat(u[0],"x").concat(u[1])),l!==void 0){var f=s!=null?s:r;f&&["jpg","webp","heic","avif"].indexOf(f)>=0&&o.push("quality/".concat(l))}if(c!==void 0){var d=n.match(/\/cube_(\d+)\//),h=d?Number(d[1]):NaN;h!==Number(c)&&o.push("thumbnail/".concat(c,"x"))}p!==void 0&&o.push("sharpen/".concat(p));var m="";return o.length&&(m="?imageMogr2/"+o.join("/")),e+m},aliyunOOSImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format,".concat(s)),u!==void 0){var f=u[0],d=u[1],h=u[2],m=u[3];o.push("crop,x_".concat(f,",y_").concat(d,",w_").concat(h,",h_").concat(m,",g_nw"))}if(l!==void 0&&l!==100){var g=s!=null?s:r;g&&["jpg","webp","heic","avif"].indexOf(g)>=0&&o.push("quality,Q_".concat(l))}c&&c!==2048&&o.push("resize,w_".concat(c)),p!==void 0&&o.push("sharpen,".concat(p));var A="";return o.length&&(A="?x-oss-process=image/"+o.join("/")),e+A},MAX_SAFE_INTEGER=9007199254740991;function formatNumber(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function formatOptions(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=formatNumber(clamp$1(n.size,0,MAX_SAFE_INTEGER))),n.quality!==void 0&&(n.quality=formatNumber(clamp$1(n.quality,0,100))),n.cut!==void 0&&(n.cut=[formatNumber(clamp$1(n.cut[0],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[1],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[2],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[3],0,MAX_SAFE_INTEGER))]),n.sharpen!==void 0&&(n.sharpen=formatNumber(clamp$1(n.sharpen,0,MAX_SAFE_INTEGER))),n}function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;t=formatOptions(t);var o=e[r];return o?(n=route(n,t.key,o),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),o.type==="tencentCloud"?tencentCloudImageProcesser(n,t):o.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var IMAGE_SIZE_REG=/\/cube_(\d+)\//;function getImageSizeFromURL(n){var t=n.match(IMAGE_SIZE_REG);return t?Number(t[1]):null}function replaceImageSize(n,t){return n.replace(IMAGE_SIZE_REG,"/cube_".concat(t,"/"))}var log2=(_a$5=Math.log2)!==null&&_a$5!==void 0?_a$5:function(n){return Math.log(n)*Math.LOG2E};function getImageSizeLevel(n){return Math.floor(Math.max(log2(n/512),0))}function mixNumber(n,t,e){return n+(t-n)*e}function value(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t,l=n;return o*Math.pow(r,3)+s*Math.pow(r,2)+u*r+l}function velocity(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t;return 3*o*Math.pow(r,2)+2*s*r+u}function mixCircle(n,t,e,r){var o=r[1]-r[0];return n=circleValue(n,r),t=circleValue(t,r),t-n>o/2?mixNumber(n+o,t,e):n-t>o/2?mixNumber(n-o,t,e):mixNumber(n,t,e)}function circleValue(n,t){var e=t[1]-t[0];return n<t[0]?circleValue(n+e,t):n>=t[1]?circleValue(n-e,t):n}function mixValue(n,t,e,r){return r?mixCircle(n,t,e,r):mixNumber(n,t,e)}function toNumber(n){var t=Number(n);return isNaN(t)||!isFinite(t)?0:t}var Motion=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=now(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in t){var r=t[e];typeof r=="object"?(this.value[e]=toNumber(r.value),this.config[e]={circle:r.circle}):(this.value[e]=toNumber(r),this.config[e]={circle:!1})}this.keyframes=[{progress:0,value:__assign({},this.value)},{progress:1,value:__assign({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-value(1,this.startVelocity,this.duration,e)},n.prototype.getValue=function(t){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>t){var r=this.keyframes[e-1],o=this.keyframes[e],s={};for(var u in this.config){var l=(t-r.progress)/(o.progress-r.progress);s[u]=mixValue(r.value[u],o.value[u],l,this.config[u].circle)}return s}return __assign({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:velocity(1,this.startVelocity,this.duration,e)},n.prototype.update=function(t){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},n.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>e)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},n.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},n.prototype.set=function(t,e,r,o){var s;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),o=o!=null?o:now();var u=this.getProgress(o),l=this.getValue(u),c={};for(var p in this.config)c[p]=(s=t[p])!==null&&s!==void 0?s:l[p];var f=[{progress:0,value:l},{progress:1,value:c}];return this.setKeyframes(f,e,r,o)},n.prototype.setKeyframes=function(t,e,r,o){var s=this;if(r===void 0&&(r=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(u,l){o=o!=null?o:now(),s.progress=0,s.ended=!1,s.startTime=o,s.startVelocity=r,s.keyframes=t,s.duration=e,e===0?(s.progress=1,s.value=__assign({},t[t.length-1].value)):s.value=__assign({},t[0].value),s.callbacks=[u,l]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],o=Math.floor(Number(r));if(!isNaN(o)&&isFinite(o))return{workCode:e,panoIndex:o}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var PBMGroup=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Group),PBMContainer=function(n){__extends(t,n);function t(){return n.call(this)||this}return t}(THREE__namespace.Group);const meshNoneVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("n\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshNoneFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>Hp-_rsv{rq`prr{-\n--nz}yr?Q-zn}H--znA-}|wrpv|{Znv\x07H--znA-znv\x07V{rrH--sy|n-|}npv\bH--sy|n-}n{|H\fH{vs|z-_rsv{rq`prr{-rsv{rq`prr{H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-rpA5}n{|P|y|;to9-=;=69-pynz}5z|qryNy}un-7-@=;=9-=;=9->;=66H--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--ZNV[lR[Q\f"),meshBasicVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-ZN_Xl`aR]->;=0qrsv{r-_\\\\SlZN_X->;=nvor-sy|n-lsrnrlvqlznxH0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshBasicFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f"),meshPhongVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0qrsv{r-ZN_Xl`aR]->;=0qrsv{r-_\\\\SlZN_X->;=nvor-sy|n-lsrnrlvqlznxH0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ----[|zny-J-{|znyv r5-n{s|zrq[|zny-6H----0vsqrs-b`RlaN[TR[a------an{tr{-J-{|znyv r5-n{s|zrqan{tr{-6H------Ovn{tr{-J-{|znyv r5-p|5-[|zny9-an{tr{-6-7-n{tr{;-6H----0r{qvs--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshPhongFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f"),meshStandardVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-`aN[QN_Q0qrsv{r-ZN_Xl`aR]->;=0qrsv{r-_\\\\SlZN_X->;=nvor-sy|n-lsrnrlvqlznxH0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H--0vsqrs-b`RlaN[TR[a----an{tr{-J-{|znyv r5-n{s|zrqan{tr{-6H----Ovn{tr{-J-{|znyv r5-p|5-[|zny9-an{tr{-6-7-n{tr{;-6H--0r{qvs0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshStandardFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-`aN[QN_Q0qrsv{r-_RSYRPaVcVaf0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-sy|n-|tu{rH{vs|z-sy|n-zrny{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vsqrs-_RSYRPaVcVaf--{vs|z-sy|n-rsyrpvv\bH0r{qvs{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rHn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}u\bvpnyl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u\bvpnyl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I|tu{rzn}l}nlsntzr{K0v{pyqr-Izrny{rzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I|tu{rzn}lsntzr{K0v{pyqr-Izrny{rzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u\bvpnylsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f");var Uniform=function(n){__extends(t,n);function t(e){return n.call(this,e)||this}return t}(THREE__namespace.Uniform);function cloneUniforms(n){return THREE__namespace.UniformsUtils.clone(n)}function mergeUniforms(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return THREE__namespace.UniformsUtils.merge(n)}function defineProperty(n,t,e){return Object.defineProperty(n,t,e)}function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,o=-Math.sin(n.latitude),s=-Math.cos(n.longitude)*e;return t?t.set(r,o,s):new THREE__namespace.Vector3(r,o,s)}var DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=2e3,TAU$2=Math.PI*2,PI_2=Math.PI/2;function formatRad$1(n){return n>0&&n<=TAU$2?n:(n%TAU$2+TAU$2)%TAU$2}function matrixLerp(n,t,e,r){e=Math.pow(e,4);for(var o=0;o<16;o++)r.elements[o]=n.elements[o]+(t.elements[o]-n.elements[o])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,o,s,u,l,c){r===void 0&&(r=DEFAULT_ASPECT),o===void 0&&(o=DEFAULT_NEAR),s===void 0&&(s=DEFAULT_FAR),u===void 0&&(u=new THREE__namespace.Vector2),l===void 0&&(l=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var p=n.call(this)||this;p.fov=e,p.aspect=r,p.near=o,p.far=s,p.perspToOrtho=u,p.resolution=l,p.pixelRatio=c,p.time=0,p.controllerMode=null,p.needsRender=!0,p.refineModel=!0,p.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},p.computePose(),p.perspectiveCamera=new THREE__namespace.PerspectiveCamera(p.fov,p.aspect,.001,p.far);var f=Math.max(p.orthoDistance,.01)*Math.tan(.5*p.fov/180*Math.PI),d=-.5*p.aspect*2*f;return p.orthographicCamera=new THREE__namespace.OrthographicCamera(d,-d,f,-f,.001,p.far),p.computeProjectionMatrix(),p.lastValues={position:p.position.clone(),quaternion:p.quaternion.clone(),scale:p.scale.clone(),fov:p.fov,aspect:p.aspect,near:p.near,far:p.far,orthoDistance:p.orthoDistance,perspToOrtho:p.perspToOrtho.clone()},p.type=p.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",p.autoNearFar=!0,p}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return coordinatesToVector(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements;return this.pose.latitude=Math.asin(clamp$1(r[9],-1,1)),Math.abs(r[9])<.9999999?this.pose.longitude=formatRad$1(Math.atan2(r[8],r[10])):this.pose.longitude=formatRad$1(Math.atan2(-r[2],r[0])),this.pose.fov=this.fov,this.pose.distance=e,this.pose.offset=new THREE__namespace.Vector3(-r[8],-r[9],-r[10]).setLength(this.pose.distance).add(this.position),this},t.prototype.setFromPose=function(e){var r,o,s,u,l,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),p=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(o=e.latitude)!==null&&o!==void 0?o:this.pose.latitude)),f=(s=e.fov)!==null&&s!==void 0?s:this.pose.fov,d=(u=e.distance)!==null&&u!==void 0?u:this.pose.distance,h=(l=e.offset)!==null&&l!==void 0?l:this.pose.offset,m=coordinatesToVector({longitude:c,latitude:p}).normalize();return this.position.set(0,0,0),this.lookAt(m),this.position.add(h).sub(m.clone().setLength(d)),this.fov!==f&&(this.fov=f,this.updateProjectionMatrix()),this.updateMatrixWorld(!0),this.pose.longitude=c,this.pose.latitude=p,this.pose.fov=f,this.pose.distance=d,this.pose.offset.copy(h),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){matrixLerp(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,o,s,u,l){this.perspectiveCamera.setViewOffset(e,r,o,s,u,l),this.orthographicCamera.setViewOffset(e,r,o,s,u,l),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e){this.time=e;var r=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),r=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.orthoDistance!==this.orthoDistance||this.lastValues.aspect!==this.aspect){var o=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),s=-.5*this.aspect*2*o;this.orthographicCamera.left=s,this.orthographicCamera.right=-s,this.orthographicCamera.top=o,this.orthographicCamera.bottom=-o,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,this.orthographicCamera.updateProjectionMatrix(),r=!0}r&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.orthoDistance=this.orthoDistance,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(now()),this},t}(THREE__namespace.Camera);function S4(){return((1+Math.random())*65536|0).toString(16).substring(1)}function createUuid(){return(S4()+S4()+"-"+S4()+"-4"+S4().substr(0,3)+"-"+S4()+"-"+S4()+S4()+S4()).toLowerCase()}var PBMCustomShader=function(){function n(t){var e,r,o,s,u,l,c,p,f,d,h,m,g,A,E,v;this.id=createUuid(),this.version=0,this.uniforms=(e=t.uniforms)!==null&&e!==void 0?e:{},this.defines=(r=t.defines)!==null&&r!==void 0?r:{},this.type=t.type,this.vertex={mainBefore:(s=(o=t.vertex)===null||o===void 0?void 0:o.mainBefore)!==null&&s!==void 0?s:"",mainStart:(l=(u=t.vertex)===null||u===void 0?void 0:u.mainStart)!==null&&l!==void 0?l:"",mainEnd:(p=(c=t.vertex)===null||c===void 0?void 0:c.mainEnd)!==null&&p!==void 0?p:""},this.fragment={mainBefore:(d=(f=t.fragment)===null||f===void 0?void 0:f.mainBefore)!==null&&d!==void 0?d:"",mainStart:(m=(h=t.fragment)===null||h===void 0?void 0:h.mainStart)!==null&&m!==void 0?m:"",mainModelColor:(A=(g=t.fragment)===null||g===void 0?void 0:g.mainModelColor)!==null&&A!==void 0?A:"",mainEnd:(v=(E=t.fragment)===null||E===void 0?void 0:E.mainEnd)!==null&&v!==void 0?v:""}}return Object.defineProperty(n.prototype,"needsUpdate",{get:function(){return!1},set:function(t){t===!0&&this.version++},enumerable:!1,configurable:!0}),n.prototype.onBeforeCompile=function(t,e){},n}(),PBMMaterial=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Material),scratchViewport$1=new THREE__namespace.Vector4,pbmUniforms$1={colorAlpha:new Uniform(1),pano0:new Uniform({map:null,matrix:new THREE__namespace.Matrix4,zoom:1}),pano1:new Uniform({map:null,matrix:new THREE__namespace.Matrix4,zoom:1}),pano0Depth:new Uniform({map:null,maxDepth:1}),pano1Depth:new Uniform({map:null,maxDepth:1}),refinedScreen:new Uniform({projectionMatrix:new THREE__namespace.Matrix4,matrixInverse:new THREE__namespace.Matrix4,map:null,pano:0,opacity:1}),modelAlpha:new Uniform(1),progress:new Uniform(0),gradientTexture:new Uniform(null),clippers:new Uniform([]),shownFloorIndex:new Uniform(-1),constantColor:new Uniform(new THREE__namespace.Vector3),floorIndex:new Uniform(0),brightness:new Uniform(1),colorSaturation:new Uniform(0),colorBrightness:new Uniform(0),outlineGain:new Uniform(0),distanceGain:new Uniform(0),pixelRatio:new Uniform(1),resolution:new Uniform(new THREE__namespace.Vector2(512,512)),modelBoundingMin:new Uniform(new THREE__namespace.Vector3),modelBoundingMax:new Uniform(new THREE__namespace.Vector3)},shaderLib$1={none:{vertexShader:meshNoneVertexShader,fragmentShader:meshNoneFragmentShader},basic:{vertexShader:meshBasicVertexShader,fragmentShader:meshBasicFragmentShader},phong:{vertexShader:meshPhongVertexShader,fragmentShader:meshPhongFragmentShader},standard:{vertexShader:meshStandardVertexShader,fragmentShader:meshStandardFragmentShader}},uniformsLib$1=mergeUniforms(THREE__namespace.ShaderLib.basic.uniforms,THREE__namespace.ShaderLib.phong.uniforms,THREE__namespace.ShaderLib.standard.uniforms,pbmUniforms$1),definesLib$1={USE_VERTEX_MARK:!1,USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_FLOOR_STYLE_VISIBILITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_FADE_TRANSITION:!1,USE_REFINED_SCREEN:!1,USE_PANO_DEPTH:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1},PBMMeshMaterial=function(n){__extends(t,n);function t(e){var r=this,o,s;typeof e=="string"&&(e={shaderType:e}),r=n.call(this)||this,r.vertexTangents=!1,r.color=new THREE__namespace.Color(16777215),r.map=null,r.lightMap=null,r.lightMapIntensity=1,r.aoMap=null,r.aoMapIntensity=1,r.specularMap=null,r.specular=new THREE__namespace.Color(1118481),r.shininess=30,r.roughnessMap=null,r.roughness=1,r.metalnessMap=null,r.metalness=0,r.alphaMap=null,r.combine=null,r.envMap=null,r.envMapIntensity=1,r.reflectivity=.4,r.refractionRatio=.98,r.emissiveMap=null,r.emissive=new THREE__namespace.Color(0),r.emissiveIntensity=1,r.bumpMap=null,r.bumpScale=1,r.normalMap=null,r.normalMapType=THREE__namespace.TangentSpaceNormalMap,r.normalScale=new THREE__namespace.Vector2(1,1),r.displacementMap=null,r.displacementScale=1,r.displacementBias=0,r.wireframe=!1,r.wireframeLinewidth=1,r.wireframeLinecap="round",r.wireframeLinejoin="round",r.skinning=!1,r.morphTargets=!1,r.morphNormals=!1,r.metal=!1,r.alphaMode="OPAQUE",r.customShaders=[],r.type="PBMMeshMaterial";var u=Object.assign({},definesLib$1),l=cloneUniforms(uniformsLib$1);r.defines=u,r.onBeforeCompile=function(v,y){var b,T,_=r.shaderType;v.vertexShader=shaderLib$1[_].vertexShader,v.fragmentShader=shaderLib$1[_].fragmentShader,v.uniforms=l;for(var S=0,R=Object.keys(u);S<R.length;S++){var M=R[S];M in definesLib$1||delete u[M]}for(var H=0,B=Object.keys(l);H<B.length;H++){var C=B[H];C in uniformsLib$1||delete l[C]}for(var w=r.customShaders.filter(function(V){return V.type.includes(_)}),I=0,O=w;I<O.length;I++){var F=O[I];for(var N in F.defines)N in u||Object.assign(u,(b={},b[N]=F.defines[N],b));for(var z in F.uniforms)z in l||Object.assign(l,(T={},T[z]=F.uniforms[z],T))}v.vertexShader=v.vertexShader.replace(/MAIN_BEFORE/g,w.map(function(V){return V.vertex.mainBefore}).filter(function(V){return!!V}).join(`
|
|
390
|
+
`,_},typeof n=="string"&&(n.indexOf("-----BEGIN")!=-1?this.readCertPEM(n):KJUR.lang.String.isHex(n)&&this.readCertHex(n))}X509.hex2dn=function(n,t){t===void 0&&(t=0);var e=new X509;ASN1HEX.getTLV(n,t);var r=e.getX500Name(n);return r.str},X509.hex2rdn=function(n,t){if(t===void 0&&(t=0),n.substr(t,2)!=="31")throw new Error("malformed RDN");for(var e=new Array,r=ASN1HEX.getChildIdx(n,t),o=0;o<r.length;o++)e.push(X509.hex2attrTypeValue(n,r[o]));return e=e.map(function(s){return s.replace("+","\\+")}),e.join("+")},X509.hex2attrTypeValue=function(n,t){var e=ASN1HEX,r=e.getV;if(t===void 0&&(t=0),n.substr(t,2)!=="30")throw new Error("malformed attribute type and value");var o=e.getChildIdx(n,t);o.length!==2||n.substr(o[0],2);var s=r(n,o[0]),u=KJUR.asn1.ASN1Util.oidHexToInt(s),l=KJUR.asn1.x509.OID.oid2atype(u),c=r(n,o[1]),p=hextorstr(c);return l+"="+p},X509.getPublicKeyFromCertHex=function(n){var t=new X509;return t.readCertHex(n),t.getPublicKey()},X509.getPublicKeyFromCertPEM=function(n){var t=new X509;return t.readCertPEM(n),t.getPublicKey()},X509.getPublicKeyInfoPropOfCertPEM=function(n){var t=ASN1HEX,e=t.getVbyList,r={},o,s;return r.algparam=null,o=new X509,o.readCertPEM(n),s=o.getPublicKeyHex(),r.keyhex=e(s,0,[1],"03").substr(2),r.algoid=e(s,0,[0,0],"06"),r.algoid==="2a8648ce3d0201"&&(r.algparam=e(s,0,[0,1],"06")),r},X509.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];function sha256(n){return CryptoJS.SHA256(n).toString()}var certificates=[function(){var n=new X509;return n.readCertPEM(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@ PPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\x07\\QN>Z N\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@\x07ebN[bqx=ng? S^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFo\x07FgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP P>}A^VP}Ex\bU\x07Za=syDw}>Ya\x078wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr sof[wA}e{\\z}w[YDQ|dt=wC Nv\x07bR\x07Z@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`\x07N\0RXt^Z}vEpdC=\bY?\x07=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac Z guf\bF]\x07DCP?znNYf uaYu[`\x07=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB D8{B>\\sPY\x07bEU FQXz\0@\x07`zsqgfD\0[WY\bPeZc} \0bx?Rfed\x07}BUe\x07|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YB\x07Y`Ffg=sY>{t<fu]x\x07rFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw= PCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=E\x07nO}Pud8TA ?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V OUwY=>X[\\E`tW[8}VwpF\x07BQcnrPF}yUtd8<Doe_\b[oOVU\x07ep@pYY\0cegY{r ?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<\x07StX Nx\x07\0\b \0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V CVrRVtAAc[ Qp|d|tqoQ=T|XX =u\\N8XNCx\\aU>wz X<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ P\bZ\b\\YNNSZ_\\w^|TsD8db _ Y\\o^Cw>Z\0x\\^aN]wWf\bA} C^d_{\x07ZC@\by]gY@E BFY?OsaqbDcVgQbZeFc ovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z ZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),n}()];function getCertificateBySubjectHex(n,t){for(var e=0,r=t;e<r.length;e++){var o=r[e];if(o.getSubjectHex()===n)return o}}function verifyCertificate_(n,t){var e=n.getIssuerHex();if(e===n.getSubjectHex())return n.verifySignature(n.getPublicKey());var r=getCertificateBySubjectHex(e,t);return!r||n.verifySignature(r.getPublicKey())===!1?!1:verifyCertificate_(r,t)}function verifyCertificate(n){var t=n.getIssuerHex();return t===n.getSubjectHex()?!1:verifyCertificate_(n,certificates)}function addCertificate(n){var t=new X509;typeof n=="string"?t.readCertPEM(n):t.readCertHex(n.hex);var e=verifyCertificate(t);return certificates.push(t),e}function verifyMessage(n,t,e){var r=new X509;if(typeof e=="string"?r.readCertPEM(e):r.readCertHex(e.hex),verifyCertificate(r)===!1)return!1;var o=new RSAKey;return o.readCertPubKeyHex(r.hex,6),!!o.verify(n,b64tohex(t))}addCertificate(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU PPONrtNVONtVWNW=_SVw VE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg R]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ [QSnS=\b[aNBZQZ\\aZ [QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg R^ZNATN>bROU^zc}nzyg RbZOVTN>bRPtYoTyuoz}}f`Bwo?=\x07RQN\\Ot[cONZO>Wyfd\x07 gdb\x07RaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdy\x07ndB{^T\x07}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F SA\x07e`tn[t u\b8^a]qx\bE_^\x07ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQ\x07FO=Yw\0_TePCOFV@|\x07N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{] b=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r Ao\0 F`fdzCnRtq\br \b8eBp=Z\\TRaadc}@Eub`\x07quuNqAdF\0aUay{}x>tgVz` _YBFwu_q?egt8v[o\x008 wTQcrA <z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw XDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYP\x07\x07dWV]OE^\bOFwA}<uXoO}_NDz8aon\x07zWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT| OZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO d_D}eBb?Uq^b [y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zU\x07xOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`Fy\x07WadZcAD peXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw= PCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx a[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef` ?^x>X}esa{>\\r?eE]CC_cZ[vQs >gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC\x07>>g\x07vb}ACd ``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc XSq {\0\x07DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy RNRg@\x07NZCaaq8?` ^`?ryD =obzw?E]Ou\x07]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug\x078^f[YQAWad8FNqxFQE?ZOo }RnO\bsQc xyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var extendStatics=function(n,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])},extendStatics(n,t)};function __extends(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");extendStatics(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var __assign=function(){return __assign=Object.assign||function(t){for(var e,r=1,o=arguments.length;r<o;r++){e=arguments[r];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},__assign.apply(this,arguments)};function __decorate(n,t,e,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,t,e,r);else for(var l=n.length-1;l>=0;l--)(u=n[l])&&(s=(o<3?u(s):o>3?u(t,e,s):u(t,e))||s);return o>3&&s&&Object.defineProperty(t,e,s),s}function __metadata(n,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,t)}function __awaiter(n,t,e,r){function o(s){return s instanceof e?s:new e(function(u){u(s)})}return new(e||(e=Promise))(function(s,u){function l(f){try{p(r.next(f))}catch(d){u(d)}}function c(f){try{p(r.throw(f))}catch(d){u(d)}}function p(f){f.done?s(f.value):o(f.value).then(l,c)}p((r=r.apply(n,t||[])).next())})}function __generator(n,t){var e={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,u=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return u.next=l(0),u.throw=l(1),u.return=l(2),typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function l(p){return function(f){return c([p,f])}}function c(p){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,p[0]&&(e=0)),e;)try{if(r=1,o&&(s=p[0]&2?o.return:p[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,p[1])).done)return s;switch(o=0,s&&(p=[p[0]&2,s.value]),p[0]){case 0:case 1:s=p;break;case 4:return e.label++,{value:p[1],done:!1};case 5:e.label++,o=p[1],p=[0];continue;case 7:p=e.ops.pop(),e.trys.pop();continue;default:if(s=e.trys,!(s=s.length>0&&s[s.length-1])&&(p[0]===6||p[0]===2)){e=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]<s[3])){e.label=p[1];break}if(p[0]===6&&e.label<s[1]){e.label=s[1],s=p;break}if(s&&e.label<s[2]){e.label=s[2],e.ops.push(p);break}s[2]&&e.ops.pop(),e.trys.pop();continue}p=t.call(n,e)}catch(f){p=[6,f],o=0}finally{r=s=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function __spreadArray(n,t,e){if(e||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return n.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var PBMGroup=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Group),PBMContainer=function(n){__extends(t,n);function t(){return n.call(this)||this}return t}(THREE__namespace.Group);const meshNoneVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("n\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshNoneFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>Hp-_rsv{rq`prr{-\n--nz}yr?Q-zn}H--znA-}|wrpv|{Znv\x07H--znA-znv\x07V{rrH--sy|n-|}npv\bH--sy|n-}n{|H\fH{vs|z-_rsv{rq`prr{-rsv{rq`prr{H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-rpA5}n{|P|y|;to9-=;=69-pynz}5z|qryNy}un-7-@=;=9-=;=9->;=66H--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--ZNV[lR[Q\f"),meshBasicVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-ZN_Xl`aR]->;=0qrsv{r-_\\\\SlZN_X->;=nvor-sy|n-lsrnrlvqlznxH0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshBasicFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f"),meshPhongVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0qrsv{r-ZN_Xl`aR]->;=0qrsv{r-_\\\\SlZN_X->;=nvor-sy|n-lsrnrlvqlznxH0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ----[|zny-J-{|znyv r5-n{s|zrq[|zny-6H----0vsqrs-b`RlaN[TR[a------an{tr{-J-{|znyv r5-n{s|zrqan{tr{-6H------Ovn{tr{-J-{|znyv r5-p|5-[|zny9-an{tr{-6-7-n{tr{;-6H----0r{qvs--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshPhongFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f"),meshStandardVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-`aN[QN_Q0qrsv{r-ZN_Xl`aR]->;=0qrsv{r-_\\\\SlZN_X->;=nvor-sy|n-lsrnrlvqlznxH0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H--0vsqrs-b`RlaN[TR[a----an{tr{-J-{|znyv r5-n{s|zrqan{tr{-6H----Ovn{tr{-J-{|znyv r5-p|5-[|zny9-an{tr{-6-7-n{tr{;-6H--0r{qvs0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sv{ny]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----Sv{ny]|vv|{-J-v{n{prZnv\x07-7-Sv{ny]|vv|{H--0r{qvs--Sv{ny]|vv|{-J-z|qryZnv\x07-7-Sv{ny]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f"),meshStandardFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("0qrsv{r-`aN[QN_Q0qrsv{r-_RSYRPaVcVaf0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-sy|n-|tu{rH{vs|z-sy|n-zrny{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vsqrs-_RSYRPaVcVaf--{vs|z-sy|n-rsyrpvv\bH0r{qvs{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rHn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}u\bvpnyl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u\bvpnyl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I|tu{rzn}l}nlsntzr{K0v{pyqr-Izrny{rzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n----rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H----rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H----rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H----sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H----sy|n-r-J->;=r:>=H----r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n----rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H----rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H----r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I|tu{rzn}lsntzr{K0v{pyqr-Izrny{rzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u\bvpnylsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-颜色增益调整-JJJ--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--uP|y|;\b-8J-p|y|`nnv|{H--uP|y|; -8J-p|y|Ovtu{rH--tylSntP|y|;to-J-u?to5uP|y|6H--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--ZNV[lR[Q\f");var Uniform=function(n){__extends(t,n);function t(e){return n.call(this,e)||this}return t}(THREE__namespace.Uniform);function cloneUniforms(n){return THREE__namespace.UniformsUtils.clone(n)}function mergeUniforms(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return THREE__namespace.UniformsUtils.merge(n)}function defineProperty(n,t,e){return Object.defineProperty(n,t,e)}function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,o=-Math.sin(n.latitude),s=-Math.cos(n.longitude)*e;return t?t.set(r,o,s):new THREE__namespace.Vector3(r,o,s)}var start=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),now=typeof performance!="undefined"?function(){return start+performance.now()}:function(){return Date.now()};function clamp$1(n,t,e){return n<t?t:n>e?e:n}var DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=2e3,TAU$2=Math.PI*2,PI_2=Math.PI/2;function formatRad$1(n){return n>0&&n<=TAU$2?n:(n%TAU$2+TAU$2)%TAU$2}function matrixLerp(n,t,e,r){e=Math.pow(e,4);for(var o=0;o<16;o++)r.elements[o]=n.elements[o]+(t.elements[o]-n.elements[o])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,o,s,u,l,c){r===void 0&&(r=DEFAULT_ASPECT),o===void 0&&(o=DEFAULT_NEAR),s===void 0&&(s=DEFAULT_FAR),u===void 0&&(u=new THREE__namespace.Vector2),l===void 0&&(l=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var p=n.call(this)||this;p.fov=e,p.aspect=r,p.near=o,p.far=s,p.perspToOrtho=u,p.resolution=l,p.pixelRatio=c,p.time=0,p.controllerMode=null,p.needsRender=!0,p.refineModel=!0,p.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},p.computePose(),p.perspectiveCamera=new THREE__namespace.PerspectiveCamera(p.fov,p.aspect,.001,p.far);var f=Math.max(p.orthoDistance,.01)*Math.tan(.5*p.fov/180*Math.PI),d=-.5*p.aspect*2*f;return p.orthographicCamera=new THREE__namespace.OrthographicCamera(d,-d,f,-f,.001,p.far),p.computeProjectionMatrix(),p.lastValues={position:p.position.clone(),quaternion:p.quaternion.clone(),scale:p.scale.clone(),fov:p.fov,aspect:p.aspect,near:p.near,far:p.far,orthoDistance:p.orthoDistance,perspToOrtho:p.perspToOrtho.clone()},p.type=p.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",p.autoNearFar=!0,p}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return coordinatesToVector(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements;return this.pose.latitude=Math.asin(clamp$1(r[9],-1,1)),Math.abs(r[9])<.9999999?this.pose.longitude=formatRad$1(Math.atan2(r[8],r[10])):this.pose.longitude=formatRad$1(Math.atan2(-r[2],r[0])),this.pose.fov=this.fov,this.pose.distance=e,this.pose.offset=new THREE__namespace.Vector3(-r[8],-r[9],-r[10]).setLength(this.pose.distance).add(this.position),this},t.prototype.setFromPose=function(e){var r,o,s,u,l,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),p=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(o=e.latitude)!==null&&o!==void 0?o:this.pose.latitude)),f=(s=e.fov)!==null&&s!==void 0?s:this.pose.fov,d=(u=e.distance)!==null&&u!==void 0?u:this.pose.distance,h=(l=e.offset)!==null&&l!==void 0?l:this.pose.offset,m=coordinatesToVector({longitude:c,latitude:p}).normalize();return this.position.set(0,0,0),this.lookAt(m),this.position.add(h).sub(m.clone().setLength(d)),this.fov!==f&&(this.fov=f,this.updateProjectionMatrix()),this.updateMatrixWorld(!0),this.pose.longitude=c,this.pose.latitude=p,this.pose.fov=f,this.pose.distance=d,this.pose.offset.copy(h),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){matrixLerp(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,o,s,u,l){this.perspectiveCamera.setViewOffset(e,r,o,s,u,l),this.orthographicCamera.setViewOffset(e,r,o,s,u,l),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e){this.time=e;var r=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),r=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.orthoDistance!==this.orthoDistance||this.lastValues.aspect!==this.aspect){var o=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),s=-.5*this.aspect*2*o;this.orthographicCamera.left=s,this.orthographicCamera.right=-s,this.orthographicCamera.top=o,this.orthographicCamera.bottom=-o,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,this.orthographicCamera.updateProjectionMatrix(),r=!0}r&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.orthoDistance=this.orthoDistance,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(now()),this},t}(THREE__namespace.Camera);function S4(){return((1+Math.random())*65536|0).toString(16).substring(1)}function createUuid(){return(S4()+S4()+"-"+S4()+"-4"+S4().substr(0,3)+"-"+S4()+"-"+S4()+S4()+S4()).toLowerCase()}var PBMCustomShader=function(){function n(t){var e,r,o,s,u,l,c,p,f,d,h,m,g,A,E,v;this.id=createUuid(),this.version=0,this.uniforms=(e=t.uniforms)!==null&&e!==void 0?e:{},this.defines=(r=t.defines)!==null&&r!==void 0?r:{},this.type=t.type,this.vertex={mainBefore:(s=(o=t.vertex)===null||o===void 0?void 0:o.mainBefore)!==null&&s!==void 0?s:"",mainStart:(l=(u=t.vertex)===null||u===void 0?void 0:u.mainStart)!==null&&l!==void 0?l:"",mainEnd:(p=(c=t.vertex)===null||c===void 0?void 0:c.mainEnd)!==null&&p!==void 0?p:""},this.fragment={mainBefore:(d=(f=t.fragment)===null||f===void 0?void 0:f.mainBefore)!==null&&d!==void 0?d:"",mainStart:(m=(h=t.fragment)===null||h===void 0?void 0:h.mainStart)!==null&&m!==void 0?m:"",mainModelColor:(A=(g=t.fragment)===null||g===void 0?void 0:g.mainModelColor)!==null&&A!==void 0?A:"",mainEnd:(v=(E=t.fragment)===null||E===void 0?void 0:E.mainEnd)!==null&&v!==void 0?v:""}}return Object.defineProperty(n.prototype,"needsUpdate",{get:function(){return!1},set:function(t){t===!0&&this.version++},enumerable:!1,configurable:!0}),n.prototype.onBeforeCompile=function(t,e){},n}(),PBMMaterial=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(THREE__namespace.Material),scratchViewport$1=new THREE__namespace.Vector4,pbmUniforms$1={colorAlpha:new Uniform(1),pano0:new Uniform({map:null,matrix:new THREE__namespace.Matrix4,zoom:1}),pano1:new Uniform({map:null,matrix:new THREE__namespace.Matrix4,zoom:1}),pano0Depth:new Uniform({map:null,maxDepth:1}),pano1Depth:new Uniform({map:null,maxDepth:1}),refinedScreen:new Uniform({projectionMatrix:new THREE__namespace.Matrix4,matrixInverse:new THREE__namespace.Matrix4,map:null,pano:0,opacity:1}),modelAlpha:new Uniform(1),progress:new Uniform(0),gradientTexture:new Uniform(null),clippers:new Uniform([]),shownFloorIndex:new Uniform(-1),constantColor:new Uniform(new THREE__namespace.Vector3),floorIndex:new Uniform(0),brightness:new Uniform(1),colorSaturation:new Uniform(0),colorBrightness:new Uniform(0),outlineGain:new Uniform(0),distanceGain:new Uniform(0),pixelRatio:new Uniform(1),resolution:new Uniform(new THREE__namespace.Vector2(512,512)),modelBoundingMin:new Uniform(new THREE__namespace.Vector3),modelBoundingMax:new Uniform(new THREE__namespace.Vector3)},shaderLib$1={none:{vertexShader:meshNoneVertexShader,fragmentShader:meshNoneFragmentShader},basic:{vertexShader:meshBasicVertexShader,fragmentShader:meshBasicFragmentShader},phong:{vertexShader:meshPhongVertexShader,fragmentShader:meshPhongFragmentShader},standard:{vertexShader:meshStandardVertexShader,fragmentShader:meshStandardFragmentShader}},uniformsLib$1=mergeUniforms(THREE__namespace.ShaderLib.basic.uniforms,THREE__namespace.ShaderLib.phong.uniforms,THREE__namespace.ShaderLib.standard.uniforms,pbmUniforms$1),definesLib$1={USE_VERTEX_MARK:!1,USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_FLOOR_STYLE_VISIBILITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_FADE_TRANSITION:!1,USE_REFINED_SCREEN:!1,USE_PANO_DEPTH:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1},PBMMeshMaterial=function(n){__extends(t,n);function t(e){var r=this,o,s;typeof e=="string"&&(e={shaderType:e}),r=n.call(this)||this,r.vertexTangents=!1,r.color=new THREE__namespace.Color(16777215),r.map=null,r.lightMap=null,r.lightMapIntensity=1,r.aoMap=null,r.aoMapIntensity=1,r.specularMap=null,r.specular=new THREE__namespace.Color(1118481),r.shininess=30,r.roughnessMap=null,r.roughness=1,r.metalnessMap=null,r.metalness=0,r.alphaMap=null,r.combine=null,r.envMap=null,r.envMapIntensity=1,r.reflectivity=.4,r.refractionRatio=.98,r.emissiveMap=null,r.emissive=new THREE__namespace.Color(0),r.emissiveIntensity=1,r.bumpMap=null,r.bumpScale=1,r.normalMap=null,r.normalMapType=THREE__namespace.TangentSpaceNormalMap,r.normalScale=new THREE__namespace.Vector2(1,1),r.displacementMap=null,r.displacementScale=1,r.displacementBias=0,r.wireframe=!1,r.wireframeLinewidth=1,r.wireframeLinecap="round",r.wireframeLinejoin="round",r.skinning=!1,r.morphTargets=!1,r.morphNormals=!1,r.metal=!1,r.alphaMode="OPAQUE",r.customShaders=[],r.type="PBMMeshMaterial";var u=Object.assign({},definesLib$1),l=cloneUniforms(uniformsLib$1);r.defines=u,r.onBeforeCompile=function(v,y){var b,T,_=r.shaderType;v.vertexShader=shaderLib$1[_].vertexShader,v.fragmentShader=shaderLib$1[_].fragmentShader,v.uniforms=l;for(var S=0,R=Object.keys(u);S<R.length;S++){var M=R[S];M in definesLib$1||delete u[M]}for(var H=0,B=Object.keys(l);H<B.length;H++){var C=B[H];C in uniformsLib$1||delete l[C]}for(var w=r.customShaders.filter(function(V){return V.type.includes(_)}),I=0,O=w;I<O.length;I++){var F=O[I];for(var N in F.defines)N in u||Object.assign(u,(b={},b[N]=F.defines[N],b));for(var z in F.uniforms)z in l||Object.assign(l,(T={},T[z]=F.uniforms[z],T))}v.vertexShader=v.vertexShader.replace(/MAIN_BEFORE/g,w.map(function(V){return V.vertex.mainBefore}).filter(function(V){return!!V}).join(`
|
|
392
391
|
`)),v.vertexShader=v.vertexShader.replace(/MAIN_START/g,w.map(function(V){return V.vertex.mainStart}).filter(function(V){return!!V}).join(`
|
|
393
392
|
`)),v.vertexShader=v.vertexShader.replace(/MAIN_END/g,w.map(function(V){return V.vertex.mainEnd}).filter(function(V){return!!V}).join(`
|
|
394
393
|
`)),v.fragmentShader=v.fragmentShader.replace(/MAIN_BEFORE/g,w.map(function(V){return V.fragment.mainBefore}).filter(function(V){return!!V}).join(`
|
|
@@ -402,7 +401,53 @@
|
|
|
402
401
|
`)),c.fragmentShader=c.fragmentShader.replace(/MAIN_START/g,b.map(function(I){return I.fragment.mainStart}).filter(function(I){return!!I}).join(`
|
|
403
402
|
`)),c.fragmentShader=c.fragmentShader.replace(/MAIN_END/g,b.map(function(I){return I.fragment.mainEnd}).filter(function(I){return!!I}).join(`
|
|
404
403
|
`)),c.fragmentShader=c.fragmentShader.replace(/MAIN_MODEL_COLOR/g,b.map(function(I){return I.fragment.mainModelColor}).filter(function(I){return!!I}).join(`
|
|
405
|
-
`));var H=String(r.clippers.length);c.vertexShader=c.vertexShader.replace(/NUM_CLIPPERS/g,H),c.fragmentShader=c.fragmentShader.replace(/NUM_CLIPPERS/g,H);for(var B=0,C=b;B<C.length;B++){var w=C[B];w.onBeforeCompile&&w.onBeforeCompile(c,p)}};var u="";r.onBeforeRender=function(c,p,f,d,h,m){var g=r.shaderType;f instanceof Camera?(s.pixelRatio.value=f.pixelRatio,s.resolution.value.copy(f.resolution)):(s.pixelRatio.value=c.getPixelRatio(),c.getViewport(scratchViewport),s.resolution.value.set(scratchViewport.width,scratchViewport.height));var A=r.customShaders.filter(function(v){return v.type.includes(g)}),E=A.map(function(v){return"".concat(v.id,":").concat(v.version)}).join("|");u!==E&&(u=E,r.needsUpdate=!0)},Object.defineProperty(r,"uniform",{configurable:!1,enumerable:!1,get:function(){return s}}),defineProperty(r,"isPBMPointCloudMaterial",{get:function(){return!0}}),defineProperty(r,"isShaderMaterial",{get:function(){return!0}}),defineProperty(r,"opacity",{get:function(){return s.opacity.value},set:function(c){s.opacity.value=c}}),defineProperty(r,"vertexMarks",{get:function(){return!!o.USE_VERTEX_MARK},set:function(c){o.USE_VERTEX_MARK!==c&&(o.USE_VERTEX_MARK=c,this.needsUpdate=!0)}}),defineProperty(r,"pointScale",{get:function(){return s.pointScale.value},set:function(c){s.pointScale.value=c}}),defineProperty(r,"pointMinPixel",{get:function(){return s.pointMinPixel.value},set:function(c){s.pointMinPixel.value=c}}),defineProperty(r,"pointMaxPixel",{get:function(){return s.pointMinPixel.value},set:function(c){s.pointMaxPixel.value=c}}),defineProperty(r,"pointSize",{get:function(){return this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(c){var p=c==="ATTENUATION";this.defines.USE_POINT_SIZE_ATTENUATION!==p&&(this.defines.USE_POINT_SIZE_ATTENUATION=p,this.needsUpdate=!0)}}),defineProperty(r,"pointShape",{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(c){var p=c==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==p&&(this.defines.USE_POINT_SHAPE_CIRCLE=p,this.needsUpdate=!0)}}),defineProperty(r,"pointBack",{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(c){var p=c==="HIDDEN",f=c==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==p&&(this.defines.USE_POINT_BACK_HIDDEN=p,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==f&&(this.defines.USE_POINT_BACK_DARK=f,this.needsUpdate=!0)}}),defineProperty(r,"modelAlpha",{get:function(){return s.modelAlpha.value},set:function(c){s.modelAlpha.value=c}}),defineProperty(r,"colorStyle",{get:function(){return o.USE_COLOR_CONSTANT?"CONSTANT":o.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(c){var p=c==="CONSTANT",f=c==="ALTITUDE";o.USE_COLOR_CONSTANT!==p&&(o.USE_COLOR_CONSTANT=p,this.needsUpdate=!0),o.USE_COLOR_ALTITUDE!==f&&(o.USE_COLOR_ALTITUDE=f,this.needsUpdate=!0)}}),defineProperty(r,"constantColor",{get:function(){return s.constantColor.value},set:function(c){s.constantColor.value=c}}),defineProperty(r,"floorIndex",{get:function(){return s.floorIndex.value},set:function(c){s.floorIndex.value=c}}),defineProperty(r,"shownFloorIndex",{get:function(){return s.shownFloorIndex.value},set:function(c){s.shownFloorIndex.value=c}}),defineProperty(r,"floorStyle",{get:function(){return o.USE_FLOOR_STYLE_VISIBILITY?"VISIBILITY":"OPACITY"},set:function(c){var p=c==="VISIBILITY";o.USE_FLOOR_STYLE_VISIBILITY!==p&&(o.USE_FLOOR_STYLE_VISIBILITY=p,this.needsUpdate=!0)}}),defineProperty(r,"gradientTexture",{get:function(){return s.gradientTexture.value},set:function(c){s.gradientTexture.value=c}}),defineProperty(r,"brightness",{get:function(){return s.brightness.value},set:function(c){s.brightness.value=c}});var l=[];return defineProperty(r,"clippers",{get:function(){return l},set:function(c){l!==c&&(l=c,s.clippers.value=l.map(function(p){var f=typeof p.floorIndex=="number"?p.floorIndex:-1,d=new THREE__namespace.Matrix4().getInverse(p.clippingBoxMatrix);return{matrixInverse:d,floorIndex:f}}),this.needsUpdate=!0)}}),defineProperty(r,"colorSaturation",{get:function(){return s.colorSaturation.value},set:function(c){s.colorSaturation.value=c}}),defineProperty(r,"colorBrightness",{get:function(){return s.colorBrightness.value},set:function(c){s.colorBrightness.value=c}}),defineProperty(r,"outlineGain",{get:function(){return s.outlineGain.value},set:function(c){s.outlineGain.value=c}}),defineProperty(r,"distanceGain",{get:function(){return s.distanceGain.value},set:function(c){s.distanceGain.value=c}}),defineProperty(r,"useEDL",{get:function(){return o.USE_EDL},set:function(c){c!==o.USE_EDL&&(o.USE_EDL=c,this.needsUpdate=!0)}}),defineProperty(r,"useHQWeight",{get:function(){return o.USE_HQ_WEIGHT},set:function(c){c!==o.USE_HQ_WEIGHT&&(o.USE_HQ_WEIGHT=c,this.needsUpdate=!0)}}),defineProperty(r,"useHQDepth",{get:function(){return o.USE_HQ_DEPTH},set:function(c){c!==o.USE_HQ_DEPTH&&(o.USE_HQ_DEPTH=c,this.needsUpdate=!0)}}),defineProperty(r,"modelBoundingMin",{get:function(){return s.modelBoundingMin.value},set:function(c){s.modelBoundingMin.value=c}}),defineProperty(r,"modelBoundingMax",{get:function(){return s.modelBoundingMax.value},set:function(c){s.modelBoundingMax.value=c}}),typeof e=="object"&&r.setValues(e),r}return t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.pointScale=e.pointScale,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.customShaders=e.customShaders,this.modelAlpha=e.modelAlpha,this.colorStyle=e.colorStyle,this.constantColor.copy(e.constantColor),this.floorIndex=e.floorIndex,this.shownFloorIndex=e.shownFloorIndex,this.floorStyle=e.floorStyle,this.gradientTexture=e.gradientTexture,this.brightness=e.brightness,this.clippers=e.clippers,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.outlineGain=e.outlineGain,this.distanceGain=e.distanceGain,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.modelBoundingMin.copy(e.modelBoundingMin),this.modelBoundingMax.copy(e.modelBoundingMax),this},t.prototype.clone=function(){var e=this.constructor;return new e().copy(this)},t.prototype.refreshUniforms=function(){},t}(PBMMaterial),PBMPointCloud=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.onBeforeRender=function(s,u,l,c,p,f){p instanceof PBMPointCloudMaterial&&p.onBeforeRender&&p.onBeforeRender(s,u,l,c,o,f)},o}return t}(THREE__namespace.Points),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,o=r===void 0?!0:r,s=e.premultipliedAlpha,u=s===void 0?!0:s,l=e.stencil,c=l===void 0?!0:l,p=e.backgroundColor,f=p===void 0?1579548:p,d=e.backgroundAlpha,h=d===void 0?1:d,m=e.pixelRatio,g=m===void 0?1:m,A=e.antialias,E=A===void 0?!1:A,v=e.webgl2,y=e.logarithmicDepthBuffer,b=e.precision,T=e.powerPreference,_=this,S={antialias:E,alpha:!0,depth:!0,preserveDrawingBuffer:o,stencil:c,premultipliedAlpha:u,powerPreference:T},R={logarithmicDepthBuffer:y,precision:b};if(v){var M=document.createElement("canvas"),H=M.getContext("webgl2",S);H?_=n.call(this,__assign(__assign(__assign({},S),R),{antialias:!0,canvas:M,context:H}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),_=n.call(this,__assign(__assign({},S),R))||this)}else _=n.call(this,__assign(__assign({},S),R))||this;return _.setPixelRatio(g),_.setClearColor(f,h),_.outputEncoding=THREE__namespace.sRGBEncoding,_.autoClear=!0,_}return t}(THREE__namespace.WebGLRenderer),sharedProjScreenMatrix=new THREE__namespace.Matrix4,sharedFrustum=new THREE__namespace.Frustum,renderResolution=new THREE__namespace.Vector2,clockForMixer=new WeakMap;function updateObject(n){var t=!1;return n.needsRender===!0?(n.needsRender=!1,t=!0):n.mixer&&n.mixer.stats.actions.inUse>0&&(t=!0),t}var Scene=function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.needsRender=!1,e}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t.prototype.update=function(e,r){var o=!1,s;return r instanceof Camera?(s=r.time,renderResolution.copy(r.resolution)):(s=now(),e.getSize(renderResolution)),sharedProjScreenMatrix.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),sharedFrustum.setFromProjectionMatrix(sharedProjScreenMatrix),this.traverseVisible(function(u){if(u.setResolution&&u.setResolution(renderResolution.x,renderResolution.y),u.setTime&&u.setTime(s),u.mixer instanceof THREE__namespace.AnimationMixer){var l=u.mixer,c=clockForMixer.get(l);c||(c=new THREE__namespace.Clock,clockForMixer.set(l,c)),l.update(c.getDelta())}if((u instanceof THREE__namespace.Mesh||u instanceof THREE__namespace.Line||u instanceof THREE__namespace.Points)&&(u instanceof THREE__namespace.ImmediateRenderObject||!u.frustumCulled||sharedFrustum.intersectsObject(u))){var p=updateObject(u);p&&(o=!0),u.traverseAncestors(function(f){var d=updateObject(f);d&&(o=!0)})}}),this.needsRender=o,o},t}(THREE__namespace.Scene),VolumePlaneIntersect;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(VolumePlaneIntersect||(VolumePlaneIntersect={}));var EPSILON$2=1e-6,identityMatrix4=new THREE__namespace.Matrix4().identity(),scratchVector=new THREE__namespace.Vector3,scratchMatrix4$5=new THREE__namespace.Matrix4,scratchXAxis=new THREE__namespace.Vector3,scratchYAxis=new THREE__namespace.Vector3,scratchZAxis=new THREE__namespace.Vector3,scratchSize=new THREE__namespace.Vector3,scratchBox3=new THREE__namespace.Box3,scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4Inverse$1=new THREE__namespace.Matrix4,scratchRay$1=new THREE__namespace.Ray,scratchObject3D=new THREE__namespace.Object3D,scratchFrustum=new THREE__namespace.Frustum;function quaternionFromMatrix3(n,t){var e=n.elements;return t.setFromRotationMatrix(scratchMatrix4$5.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var CullingVolume=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return scratchMatrix4$5.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$5),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var o=r[e];o.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=VolumePlaneIntersect.Inside,r=0,o=this.planes;r<o.length;r++){var s=o[r],u=t.intersectPlane(s);switch(u){case VolumePlaneIntersect.Outside:return VolumePlaneIntersect.Outside;case VolumePlaneIntersect.Intersecting:e=VolumePlaneIntersect.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,o=Math.min(32,this.planes.length),s=0;s<o;++s){var u=1<<s;if(e&u){var l=this.planes[s],c=t.intersectPlane(l);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=u)}}return r},n}(),BoxBoundingVolume=function(){function n(){this.type="box",this.center=new THREE__namespace.Vector3,this.halfSize=new THREE__namespace.Vector3,this.rotation=new THREE__namespace.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],p=e[9],f=e[10],d=e[11],h=Math.max(Math.sqrt(r*r+o*o+s*s),.001),m=Math.max(Math.sqrt(u*u+l*l+c*c),.001),g=Math.max(Math.sqrt(p*p+f*f+d*d),.001);this.halfSize.set(h,m,g);var A=this.halfSize.toArray().reduce(function(E,v){return E+v},0);return(isNaN(A)||A<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/h,o/h,s/h,u/m,l/m,c/m,p/g,f/g,d/g]),isNaN(this.rotation.toArray().reduce(function(E,v){return E+v},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),{box:__spreadArray(__spreadArray(__spreadArray(__spreadArray([],this.center.toArray(),!0),scratchXAxis.multiplyScalar(this.halfSize.x).toArray(),!0),scratchYAxis.multiplyScalar(this.halfSize.y).toArray(),!0),scratchZAxis.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return t.equals(identityMatrix4)?this:(scratchObject3D.position.copy(this.center),quaternionFromMatrix3(this.rotation,scratchObject3D.quaternion),scratchObject3D.scale.copy(this.halfSize),scratchObject3D.matrix.compose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),scratchObject3D.matrix.premultiply(t),scratchObject3D.matrix.decompose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),this.center.copy(scratchObject3D.position),this.rotation.setFromMatrix4(scratchMatrix4$5.makeRotationFromQuaternion(scratchObject3D.quaternion)),this.halfSize.copy(scratchObject3D.scale),this)},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,o=t.y-this.center.y,s=t.z-this.center.z,u=0,l;return l=r*e[0]+o*e[1]+s*e[2],l<0&&(l=-l),l-=this.halfSize.x,l>0&&(u+=l*l),l=r*e[3]+o*e[4]+s*e[5],l<0&&(l=-l),l-=this.halfSize.y,l>0&&(u+=l*l),l=r*e[6]+o*e[7]+s*e[8],l<0&&(l=-l),l-=this.halfSize.z,l>0&&(u+=l*l),u},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new THREE__namespace.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchXAxis.setLength(this.halfSize.x),scratchYAxis.setLength(this.halfSize.y),scratchZAxis.setLength(this.halfSize.z),t.expandByPoint(scratchVector.copy(this.center).add(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchZAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchZAxis)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);scratchVector.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),scratchVector.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),scratchVector.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),scratchVector.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),scratchVector.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),scratchVector.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),scratchVector.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),scratchVector.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new THREE__namespace.BufferGeometry;return r.setIndex(new THREE__namespace.BufferAttribute(t,1)),r.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,o=this.rotation.elements,s=this.halfSize,u=r.x,l=r.y,c=r.z,p=Math.abs(u*o[0]*s.x+l*o[1]*s.x+c*o[2]*s.x)+Math.abs(u*o[3]*s.y+l*o[4]*s.y+c*o[5]*s.y)+Math.abs(u*o[6]*s.z+l*o[7]*s.z+c*o[8]*s.z),f=r.dot(e)+t.constant;return f<=-p?VolumePlaneIntersect.Outside:f>=p?VolumePlaneIntersect.Inside:VolumePlaneIntersect.Intersecting},n.prototype.intersectRay=function(t,e){if(scratchSize.copy(this.halfSize).multiplyScalar(2),scratchBox3.setFromCenterAndSize(scratchVector.set(0,0,0),scratchSize),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$5.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$5.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$5),scratchRay$1.copy(t).applyMatrix4(scratchMatrix4Inverse$1),scratchBox3.containsPoint(scratchRay$1.origin))return!0;var r=scratchRay$1.intersectBox(scratchBox3,scratchVector);return r?e!==void 0?r.applyMatrix4(scratchMatrix4$5).distanceTo(t.origin)<e:!0:!1},n}(),SphereBoundingVolume=function(){function n(){this.type="sphere",this.center=new THREE__namespace.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],EPSILON$2),this},n.prototype.toJson=function(){return{sphere:__spreadArray(__spreadArray([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,scratchSize.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+Math.sin(o)*this.radius,e[r*6+2]=this.center.z+0,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+Math.sin(o)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(o)*this.radius,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(o)*this.radius}var s=new THREE__namespace.BufferGeometry;return s.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),s.computeBoundingBox(),s.computeBoundingSphere(),s},n.prototype.applyMatrix4=function(t){return t.equals(identityMatrix4)?this:(this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this)},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,o=t.normal,s=o.dot(e)+t.constant;return s<-r?VolumePlaneIntersect.Outside:s<r?VolumePlaneIntersect.Intersecting:VolumePlaneIntersect.Inside},n.prototype.intersectRay=function(t,e){if(scratchSphere$1.set(this.center,this.radius),scratchSphere$1.containsPoint(t.origin))return!0;var r=t.intersectSphere(scratchSphere$1,scratchVector);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),RegionBoundingVolume=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function makeBoundingVolume(n){if("box"in n)return new BoxBoundingVolume().fromJson(n);if("sphere"in n)return new SphereBoundingVolume().fromJson(n);if("region"in n)return new RegionBoundingVolume().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var debugMaterials=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new THREE__namespace.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),debugBoxGeometry=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);scratchVector.set(1,1,1).toArray(t,0),scratchVector.set(-1,1,1).toArray(t,3),scratchVector.set(-1,-1,1).toArray(t,6),scratchVector.set(1,-1,1).toArray(t,9),scratchVector.set(1,1,-1).toArray(t,12),scratchVector.set(-1,1,-1).toArray(t,15),scratchVector.set(-1,-1,-1).toArray(t,18),scratchVector.set(1,-1,-1).toArray(t,21);var e=new THREE__namespace.BufferGeometry;return e.setIndex(new THREE__namespace.BufferAttribute(n,1)),e.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),debugSphereGeometry=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o}();function createDebugBoundingMesh(n,t){if(n instanceof BoxBoundingVolume){var e=new THREE__namespace.LineSegments(debugBoxGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),quaternionFromMatrix3(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof SphereBoundingVolume){var e=new THREE__namespace.LineSegments(debugSphereGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var scratchVector3$5=new THREE__namespace.Vector3,scratchPlane=new THREE__namespace.Plane,scratchSphereBoundingVolume$1=new SphereBoundingVolume,scratchBoxBoundingVolume$1=new BoxBoundingVolume,Tile=function(){function n(t,e,r,o){var s=this,u,l,c,p;this.parent=null,this.contentParent=null,this.floor=0,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,distanceToCamera:0,centerZDepth:0,centerScreenY:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1,shouldRefine:!1,stackLength:0,finalResolution:!0,selectionDepth:0,shouldSelect:!1,lastSelect:!1,ancestorWithContent:null,ancestorWithContentAvailable:null},this.parent=o!=null?o:null,this.contentParent=o?o.hasRenderContent?o:o.contentParent:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(u=e.refine)!==null&&u!==void 0?u:this.parent?this.parent.refine:"REPLACE",this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(c=(l=this.parent)===null||l===void 0?void 0:l.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,byteLength:0,memoryUsage:0},e.content.group!==void 0&&(this.content.group=e.content.group),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=makeBoundingVolume(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=makeBoundingVolume(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=(p=e.extras)!==null&&p!==void 0?p:{},typeof this.extras.floor!="number"&&o&&typeof o.extras.floor=="number"&&(this.extras.floor=o.extras.floor),typeof this.extras.floor=="number"&&(this.floor=this.extras.floor,this.tileset.floorLength=Math.max(this.tileset.floorLength,this.floor+1)),this.boundingVolume&&(this.boundingVolumeDebugObject=createDebugBoundingMesh(this.boundingVolume,this.levelOfContent)),e.children?this.children=e.children.map(function(f,d){return new n("".concat(s.id,".").concat(d),f,r,s)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var o=r[e];o.traverse(t)}},n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transform;if(this.boundingVolume){var r=void 0;this.boundingVolume instanceof BoxBoundingVolume?r=scratchBoxBoundingVolume$1.copy(this.boundingVolume):this.boundingVolume instanceof SphereBoundingVolume?r=scratchSphereBoundingVolume$1.copy(this.boundingVolume):r=this.boundingVolume.clone(),r.applyMatrix4(e),t.camera.type==="OrthographicCamera"?(scratchPlane.setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position),this.state.distanceToCamera=r.distanceToPlane(scratchPlane)):this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var o=r.getCenter(scratchVector3$5).sub(t.camera.position);this.state.centerZDepth=t.camera.direction.dot(o),this.state.centerScreenY=t.camera.up.dot(o);var s=this.parent?this.parent.state.visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,s),this.state.visible=this.state.visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=CullingVolume.MASK_INDETERMINATE,this.state.visible=!0;if((this.levelOfContent<=t.minLevelOfDetail||this.geometricError>=t.maxGeometricError)&&(this.state.visible=!0),this.viewerRequestVolume){var u=void 0;this.viewerRequestVolume instanceof BoxBoundingVolume?u=scratchBoxBoundingVolume$1.copy(this.viewerRequestVolume):this.viewerRequestVolume instanceof SphereBoundingVolume?u=scratchSphereBoundingVolume$1.copy(this.viewerRequestVolume):u=this.viewerRequestVolume.clone(),u.applyMatrix4(e),this.state.inRequestVolume=u.distanceSquaredToPoint(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentMemoryUsage",{get:function(){return this.content?this.content.memoryUsage:0},enumerable:!1,configurable:!0}),n.prototype.getScreenSpaceError=function(t,e,r){var o=this.tileset.transform.getMaxScaleOnAxis(),s=this.parent?this.parent.geometricError:this.tileset.geometricError,u=o*(r?s:this.geometricError);if(u===0)return 0;var l=t.height,c=t.sseDenominator;if(t.camera.type==="OrthographicCamera"){var p=t.camera.projectionMatrix.elements,f=1/(p[5]/2),d=.9,h=f/l*d,m=u/h;return m}else{var g=Math.max(e,.001),h=g*c/l,m=u/h;return m}},n.prototype.getPriority=function(t){var e=this.refine==="ADD"||t.skipLevelOfDetail;if(e&&!this.state.visible||t.frameNumber-this.state.touchedFrameNumber>=1)return-1;var r=this.parent,o=r&&(!e||this.state.screenSpaceError===0),s=o?r.state.screenSpaceError:this.state.screenSpaceError,u=this.tileset.root?this.tileset.root.state.screenSpaceError:0,l=Math.max(u-s,0);return l},n}(),priorityCache=new Map;function getPriority(n,t,e){if(e&&e.has(t))return e.get(t);var r=t.refine==="ADD"||n.skipLevelOfDetail,o=t.parent,s=o&&(!r||t.state.screenSpaceError===0),u=s?o.state.screenSpaceError:t.state.screenSpaceError,l=t.tileset.root?t.tileset.root.state.screenSpaceError:0,c=Math.max(l-u,0);return e&&e.set(t,c),c}var TileRequestScheduler=function(){function n(t,e){this.tileset=t,this.options=e,this.activeRequests=0,this.requestQueue=[]}return n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];this.options.onTileSkip&&this.options.onTileSkip(r.tile)}this.requestQueue.length=0},n.prototype.update=function(t,e,r){for(var o=this,s=r.time,u=this.requestQueue,l=new Set(t),c=0;c<u.length;c++){var p=u[c];if(l.has(p.tile)){l.delete(p.tile);continue}p.status==="WAITING"&&(u.splice(c,1),c--,this.options.onTileSkip&&this.options.onTileSkip(p.tile))}l.size>0&&(l.forEach(function(v){u.push({tile:v,status:"WAITING",time:s,error:null})}),l.clear());for(var f=r.maxRequests,c=0;c<u.length&&f>0;c++){var p=u[c];if(p.status==="DONE")p.error!==null?this.options.onTileError&&this.options.onTileError(p.tile,p.error):(f--,p.tile.content&&(p.tile.content.loadState="READY"),this.options.onTileLoad&&this.options.onTileLoad(p.tile)),u.splice(c,1),c--;else if(p.status==="PENDING"&&s-p.time<1e3)break}switch(priorityCache.clear(),e){case"SCREEN_SPACE_ERROR":{u.sort(function(v,y){if(v.tile.state.requestedFrameNumber!==y.tile.state.requestedFrameNumber)return y.tile.state.requestedFrameNumber-v.tile.state.requestedFrameNumber;if(v.tile.state.requestedFrameNumber===r.frameNumber){var b=getPriority(r,v.tile,priorityCache),T=getPriority(r,y.tile,priorityCache);return b-T}else return v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera});break}case"SCREEN_VERTICAL":{u.sort(function(v,y){return v.tile.state.requestedFrameNumber!==y.tile.state.requestedFrameNumber?y.tile.state.requestedFrameNumber-v.tile.state.requestedFrameNumber:v.tile.state.requestedFrameNumber===r.frameNumber?v.tile.state.centerScreenY!==y.tile.state.centerScreenY?v.tile.state.centerScreenY-y.tile.state.centerScreenY:v.tile.state.centerZDepth!==y.tile.state.centerZDepth?v.tile.state.centerZDepth-y.tile.state.centerZDepth:v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera:v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera});break}case"SCREEN_LEVEL_VERTICAL":{u.sort(function(v,y){return v.tile.state.requestedFrameNumber!==y.tile.state.requestedFrameNumber?y.tile.state.requestedFrameNumber-v.tile.state.requestedFrameNumber:v.tile.state.requestedFrameNumber===r.frameNumber?v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.centerScreenY!==y.tile.state.centerScreenY?v.tile.state.centerScreenY-y.tile.state.centerScreenY:v.tile.state.centerZDepth!==y.tile.state.centerZDepth?v.tile.state.centerZDepth-y.tile.state.centerZDepth:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera:v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera});break}}if(f=Math.max(r.maxRequests-this.activeRequests,0),!r.skipLevelOfDetail)for(var d=0,h=u.length,c=0;c<h;c++){var m=u[c].tile;if(m.hasTilesetContent||m.contentParent===null||m.contentParent.state.selectedFrameNumber===r.frameNumber){var g=u.splice(c,1);u.splice.apply(u,__spreadArray([d++,0],g,!1))}}for(var A=function(v){var y=u[v];y.status==="WAITING"&&(f--,y.status="PENDING",y.time=s,E.activeRequests++,E.tileset.options.tileLoader(y.tile).catch(function(b){y.error=b}).then(function(){y.status="DONE",y.tile.content&&y.tile.content.loadState==="READY"&&(y.tile.content.loadState="LOADING"),o.activeRequests--}))},E=this,c=0;c<u.length&&f>0;c++)A(c)},n}(),CacheNode=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),CacheNodeList=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new CacheNode(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),TileCache=function(){function n(t){t===void 0&&(t={}),this.options=t,this.cacheNodeMap=new Map,this.list=new CacheNodeList,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touchTile=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.loadTile=function(t){if(!this.cacheNodeMap.has(t)){var e=this.list.add(t);this.cacheNodeMap.set(t,e),this.options.onTileLoad&&this.options.onTileLoad(t)}},n.prototype.unloadTile=function(t){var e=this.cacheNodeMap.get(t);e&&(this.list.remove(e),this.cacheNodeMap.delete(t),this.options.onTileUnload&&this.options.onTileUnload(t))},n.prototype.unloadTiles=function(t){for(var e=this.list.head;e!==this.sentinel&&t();){var r=e.item;e=e.next,this.unloadTile(r)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var o=r[e];o.item!=="sentinel"&&t.push(o.item)}return t},n}(),ManagedArray=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),this.array[this._length]=void 0,t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n.prototype.peek=function(){return this.array[this._length-1]},n}(),TilesetBaseTraverser=function(){function n(t){this.tileset=t,this._canSelectTile=!0,this._loadAllTilesTraversalStack=new ManagedArray}return n.prototype.traverse=function(t,e,r){this.reset()},n.prototype.reset=function(){this._loadAllTilesTraversalStack.reset(),this.tileset.hasMixedContent=!1,this.tileset.needsRefinedTiles.clear(),this.tileset.requestedTiles.length=0,this.tileset.selectedTiles.length=0},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e),t.state.shouldSelect=!1,t.state.finalResolution=!0},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&t.state.selectedFrameNumber<e.frameNumber&&(t.state.selectedFrameNumber=e.frameNumber,this.tileset.selectedTiles.push(t),this.tileset.needsRefinedTiles.add(t))},n.prototype.loadTile=function(t,e){t.state.requestedFrameNumber<e.frameNumber&&(t.state.requestedFrameNumber=e.frameNumber,t.content&&(t.content.loadState==="FAILED"&&e.time-t.content.loadStateUpdateTime>t.content.loadfailRetryDelay&&(t.content.loadState="UNLOADED",t.content.loadStateUpdateTime=e.time),t.content.loadState==="UNLOADED"&&this.tileset.requestedTiles.push(t))),this.tileset.needsRefinedTiles.add(t)},n.prototype.touchTile=function(t,e){this.tileset.cache.touchTile(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e){return!t.state.inRequestVolume||t.levelOfContent>=e.maxLevelOfDetail||t.levelOfContent>=0&&t.geometricError<=e.minGeometricError||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.geometricError>=e.maxGeometricError||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.currentMaxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var o=t.children[0];this.updateTileVisibility(o,e),t.state.visible=o.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}var s=t.refine==="REPLACE";if(s&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,o=t.children,s=0,u=o;s<u.length;s++){var l=u[s];l.updateState(e),r=r||l.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail||r.geometricError>e.maxGeometricError?!1:r.levelOfContent>e.maxLevelOfDetail||r.levelOfContent>=0&&r.geometricError<e.minGeometricError?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.currentMaxScreenSpaceError},n.prototype.sortTilesByDistanceToCamera=function(t){t.sort(function(e,r){return r.state.distanceToCamera===0&&e.state.distanceToCamera===0?r.state.centerZDepth-e.state.centerZDepth:r.state.distanceToCamera-e.state.distanceToCamera})},n.prototype.loadAllTiles=function(t,e){var r=this._loadAllTilesTraversalStack;for(r.push(t);r.length>0;){var o=r.pop();o.content&&o.content.loadState==="UNLOADED"&&o.state.requestedFrameNumber<e.frameNumber&&this.tileset.requestedTiles.push(o),this.touchTile(o,e);for(var s=0,u=o.children;s<u.length;s++){var l=u[s];r.push(l)}}},n}(),TilesetNormalTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r._traversalStack=new ManagedArray,r._emptyTraversalStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),this._emptyTraversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r)),r.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._emptyTraversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop(),u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var p=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)):(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var p=e.refine==="REPLACE"&&e.hasRenderContent,f=!1,d=!0,h=0,m=s;h<m.length;h++){var c=m[h];if(c.levelOfContent<=r.minLevelOfDetail||c.geometricError>=r.maxGeometricError||c.state.visible&&c.state.inRequestVolume?(o.find(c)&&o.delete(c),o.push(c),f===!1&&(f=!0)):(p||r.loadSiblings)&&(this.loadTile(c,r),this.touchTile(c,r)),p){var g=void 0;c.state.inRequestVolume?c.hasRenderContent?g=c.contentAvailable:g=this.executeEmptyTraversal(c,r):g=!1,d=d&&g}}return f||(d=!1),d},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var o=!0,s=this._emptyTraversalStack;for(s.push(e);s.length>0&&o;){var u=s.pop(),l=!u.hasRenderContent&&this.canTraverse(u,r);if(!l&&!u.contentAvailable&&(o=!1),this.updateTile(u,r),u.state.visible||(this.loadTile(u,r),this.touchTile(u,r)),l)for(var c=u.children,p=0,f=c;p<f.length;p++){var d=f[p];s.find(d)&&s.delete(d),s.push(d)}}return o},t}(TilesetBaseTraverser),TilesetSkipTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.baseScreenSpaceError=1024,r.skipScreenSpaceErrorFactor=16,r.skipLevels=1,r._traversalStack=new ManagedArray,r._descendantTraversalStack=new ManagedArray,r._selectionTraversalStack=new ManagedArray,r._selectionTraversalancestorStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l),this.traverseAndSelect(e,l))}this.tileset.hasMixedContent=!1,this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r),this.traverseAndSelect(e,r)),r.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop();this.updateTileAncestorContentLinks(s,r);var u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var p=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.inBaseTraversal(s,this.baseScreenSpaceError)?(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)):p?(this.loadTile(s,r),this.selectDesiredTile(s,r)):this.reachedSkippingThreshold(s)&&this.loadTile(s,r)):(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var p=!1,f=0,d=s;f<d.length;f++){var c=d[f];c.levelOfContent<=r.minLevelOfDetail||c.geometricError>=r.maxGeometricError||c.state.visible&&c.state.inRequestVolume?(o.push(c),p===!1&&(p=!0)):r.loadSiblings&&(this.loadTile(c,r),this.touchTile(c,r))}return p},t.prototype.selectDesiredTile=function(e,r){var o=e.contentAvailable?e:e.state.ancestorWithContentAvailable;o&&(o.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var o=this._descendantTraversalStack;for(o.push(e);o.length>0;)for(var s=o.pop(),u=s.children,l=0,c=u;l<c.length;l++){var p=c[l];p.state.visible&&(p.contentAvailable?(this.updateTile(p,r),this.touchTile(p,r),this.selectTile(p,r)):o.push(p))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,o=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return o},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var o=e.parent;if(o){var s=!(o.hasRenderContent&&o.hasUnloadedContent)||o.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=s?o:o.state.ancestorWithContent,e.state.ancestorWithContentAvailable=o.contentAvailable?o:o.state.ancestorWithContentAvailable}},t.prototype.inBaseTraversal=function(e,r){return e.state.ancestorWithContent?e.parent&&e.state.screenSpaceError===0?e.parent.state.screenSpaceError>r:e.state.screenSpaceError>r:!0},t.prototype.traverseAndSelect=function(e,r){var o=this._selectionTraversalStack,s=this._selectionTraversalancestorStack,u;for(o.push(e);o.length>0||s.length>0;){if(s.length>0){var l=s.peek();if(l.state.stackLength===o.length){s.pop(),l!==u&&(l.state.finalResolution=!1),this.selectTile(l,r);continue}}var c=o.pop();if(c){var p=this.canTraverse(c,r);if(c.state.shouldSelect)if(c.refine==="ADD")this.selectTile(c,r);else{if(c.state.selectionDepth=s.length,c.state.selectionDepth>0&&(c.tileset.hasMixedContent=!0),u=c,!p){this.selectTile(c,r);continue}s.push(c),c.state.stackLength=o.length}if(p)for(var f=0,d=c.children;f<d.length;f++){var h=d[f];h.state.visible&&o.push(h)}}}},t}(TilesetBaseTraverser),TilesetMostDetailTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r._traversalStack=new ManagedArray,r}return t.prototype.canTraverse=function(e,r){return!(!e.state.inRequestVolume||e.levelOfContent>=r.maxLevelOfDetail||e.levelOfContent>=0&&e.geometricError<=r.minGeometricError||e.children.length===0)},t.prototype.traverse=function(e,r,o){n.prototype.traverse.call(this,e,r,[]),this._traversalStack.reset(),e.updateState(r);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,e.updateState(l),this.executeTraversal(e,l))}this._traversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,e.updateState(r),this.executeTraversal(e,r)),r.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(o.push(e);o.length>0;){var s=o.pop(),u=s.refine==="ADD",l=s.refine==="REPLACE",c=this.canTraverse(s,r);c&&this.updateAndPushChildren(s,r,o),(u||l&&!c)&&(this.loadTile(s,r),this.touchTile(s,r),this.selectDesiredTile(s,r))}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0;u<s.length;++u){var l=s[u];l.updateState(r),l.state.visible&&o.push(l)}},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t}(TilesetBaseTraverser),Trajectory=function(){function n(t,e,r){this.id=t,this.name=e.name,this.visible=!1,this.tileset=r,this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.transform.premultiply(this.tileset.root.transform),this.content={uri:e.file,byteLength:0,memoryUsage:0,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,data:void 0}}return n}(),Tileset=function(){function n(t,e){var r=this,o,s,u,l,c,p,f;if(this.id=t.tilesetUrl,this.transform=new THREE__namespace.Matrix4,this.hasMixedContent=!1,this.frameNumber=0,this.asset={version:t.asset.version,tilesetVersion:t.asset.tilesetVersion||"",gltfUpAxis:(o=t.asset.gltfUpAxis)!==null&&o!==void 0?o:"Y",overview:t.asset.overview,trajectories:(u=(s=t.asset.trajectories)===null||s===void 0?void 0:s.list)!==null&&u!==void 0?u:[],extras:t.asset.extras},this.rootMeta=(l=t.rootMeta)!==null&&l!==void 0?l:{},this.pointLength=(c=this.rootMeta.numTotalPoints)!==null&&c!==void 0?c:1/0,this.floorLength=(p=this.rootMeta.numFloors)!==null&&p!==void 0?p:1,this.properties=(f=t.properties)!==null&&f!==void 0?f:{},this.options=e,this.requestedTiles=[],this.selectedTiles=[],this.unloadTiles=[],this.needsRefinedTiles=new Set,this.selectedTrajectories=[],this.normalTraverser=new TilesetNormalTraverser(this),this.skipTraverser=new TilesetSkipTraverser(this),this.mostDetailTraverser=new TilesetMostDetailTraverser(this),this.cache=new TileCache({onTileLoad:function(m){r.cacheMemoryUsageInBytes+=m.contentMemoryUsage},onTileUnload:function(m){r.cacheMemoryUsageInBytes-=m.contentMemoryUsage,r.unloadTiles.push(m)}}),this.requestScheduler=new TileRequestScheduler(this,{onTileSkip:function(m){},onTileLoad:function(m){var g;!((g=m.content)===null||g===void 0)&&g.data&&(r.loadedTiles.add(m),r.cache.loadTile(m)),r.options.onTileLoad(m)},onTileError:function(m,g){r.options.onTileError(m,g)}}),this.loadedTiles=new Set,this.cacheMemoryUsageInBytes=0,this.currentMaxScreenSpaceError=NaN,this.root=new Tile("".concat(this.id,"#tile:0"),t.root,this),this.geometricError=t.geometricError,this.trajectories=[],this.asset.trajectories)for(var d=0;d<this.asset.trajectories.length;d++){var h=new Trajectory("".concat(this.id,"#trajectory:").concat(d),this.asset.trajectories[d],this);this.trajectories.push(h)}}return n.prototype.adjustScreenSpaceError=function(t){if((isNaN(this.currentMaxScreenSpaceError)||!isFinite(this.currentMaxScreenSpaceError))&&(this.currentMaxScreenSpaceError=t.maxScreenSpaceError),t.memoryAdjustedScreenSpaceError){var e=0;this.needsRefinedTiles.forEach(function(s){s.content&&(e+=s.content.memoryUsage)});var r=(t.maxMemoryUsage-t.memoryAdjustedOverflow)*1024*1024,o=t.maxMemoryUsage*1024*1024;e<r?this.currentMaxScreenSpaceError=Math.max(this.currentMaxScreenSpaceError/1.02,t.maxScreenSpaceError):e>o&&this.selectedTiles.length>0&&(this.currentMaxScreenSpaceError*=1.02)}else this.currentMaxScreenSpaceError=t.maxScreenSpaceError},n.prototype.getTraverser=function(t){return t.mostDetail?this.mostDetailTraverser:t.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var o=0,s=r.children.length;o<s;o++)e.push(r.children[o]);this.cache.unloadTile(r)}for(var u=function(){var f=l.unloadTiles.pop();f&&(l.loadedTiles.delete(f),l.cacheMemoryUsageInBytes-=f.contentMemoryUsage,l.options.tileUnloader(f).catch(function(){}).then(function(){t.options.onTileUnload&&t.options.onTileUnload(f)}))},l=this;this.unloadTiles.length;)u();this.cache.reset(),this.skipTraverser.reset(),this.normalTraverser.reset(),this.mostDetailTraverser.reset(),this.requestScheduler.reset(),this.loadedTiles.clear();for(var c=function(){var f=p.trajectories.pop();f&&p.options.trajectoryUnloader(f).catch(function(){}).then(function(){t.options.onTrajectoryUnload&&t.options.onTrajectoryUnload(f)})},p=this;this.trajectories.length;)c()},n.prototype.update=function(t,e){var r=this,o;e===void 0&&(e=[]),this.frameNumber=t.frameNumber,this.adjustScreenSpaceError(t),this.cache.reset(),this.getTraverser(t).traverse(this.root,t,e),this.cache.unloadTiles(function(){var h=r.cacheMemoryUsageInBytes>t.maxMemoryUsage*1024*1024;return h}),this.requestScheduler.update(this.requestedTiles,t.requestOrder,t);for(var s=function(){var h=u.unloadTiles.pop();h&&(u.loadedTiles.delete(h),u.options.tileUnloader(h).catch(function(){}).then(function(){r.options.onTileUnload&&r.options.onTileUnload(h)}))},u=this;this.unloadTiles.length;)s();this.selectedTrajectories.length=0;for(var l=function(h){h.visible===!0&&h.content.loadState==="READY"&&(!((o=h.content.data)===null||o===void 0)&&o.object)?c.selectedTrajectories.push(h):h.visible===!0&&(h.content.loadState==="FAILED"&&t.time-h.content.loadStateUpdateTime>h.content.loadfailRetryDelay&&(h.content.loadState="UNLOADED",h.content.loadStateUpdateTime=t.time),h.content.loadState==="UNLOADED"&&c.options.trajectoryLoader(h).then(function(){r.options.onTrajectoryLoad(h)}).catch(function(m){r.options.onTrajectoryError(h,m)}))},c=this,p=0,f=this.trajectories;p<f.length;p++){var d=f[p];l(d)}},n}(),BVHObject=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,o=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):o.array.length/((e=o.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,o,s,u,l=this.indices,c=this.position,p=t;if(l){var f=l.array,d=(r=l.stride)!==null&&r!==void 0?r:1,h=(o=l.offset)!==null&&o!==void 0?o:0;p=f[t*d+h]}var m=c.array,g=(s=c.stride)!==null&&s!==void 0?s:3,A=(u=c.offset)!==null&&u!==void 0?u:0;return p=p*g+A,e.x=m[p],e.y=m[p+1],e.z=m[p+2],e},n.prototype.createTree=function(t,e,r){throw new Error("not implemented")},n.prototype.trianglesInSphere=function(t,e){throw new Error("not implemented")},n.prototype.intersectRay=function(t,e,r,o){throw new Error("not implemented")},n}(),BVHNode=function(){function n(t,e,r,o,s){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=o,this.deepth=s}return n}(),BYTES_PER_NODE=6*4+4+4+2+2;function packBVHNode(n,t){for(var e=new ArrayBuffer(t*BYTES_PER_NODE),r=new Float32Array(e),o=new Uint32Array(e),s=new Uint16Array(e),u=[n],l,c;l=u.pop();)c=l.id*BYTES_PER_NODE/4,r[c]=l.extents[0],r[c+1]=l.extents[1],r[c+2]=l.extents[2],r[c+3]=l.extents[3],r[c+4]=l.extents[4],r[c+5]=l.extents[5],o[c+6]=l.startIndex,o[c+7]=l.endIndex,c=l.id*BYTES_PER_NODE/2,l.node0&&(s[c+16]=l.node0.id,u.push(l.node0)),l.node1&&(s[c+17]=l.node1.id,u.push(l.node1));return e}function intersectNodeBox(n,t,e,r,o,s,u,l,c){c===void 0&&(c=0),e=e-c,r=r-c,o=o-c,s=s+c,u=u+c,l=l+c;var p=0,f=0,d=0,h=0,m=0,g=0;return t.x>=0?(p=(e-n.x)*t.x,f=(s-n.x)*t.x):(p=(s-n.x)*t.x,f=(e-n.x)*t.x),t.y>=0?(d=(r-n.y)*t.y,h=(u-n.y)*t.y):(d=(u-n.y)*t.y,h=(r-n.y)*t.y),!(p>h||d>f||(d>p&&(p=d),h<f&&(f=h),t.z>=0?(m=(o-n.z)*t.z,g=(l-n.z)*t.z):(m=(l-n.z)*t.z,g=(o-n.z)*t.z),p>g||m>f)||(m>p&&(p=m),g<f&&(f=g),f<0))}var BVHVector3=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.toArray=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,o=this.z;return this.x=r*t.z-o*t.y,this.y=o*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,o=t.y,s=t.z,u=e.x,l=e.y,c=e.z;return this.x=o*c-s*l,this.y=s*u-r*c,this.z=r*l-o*u,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,o=this.z-t.z;return e*e+r*r+o*o},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),BVHIntersect=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),EPSILON$1=1e-6,scratchVector3$4=new BVHVector3(0,0,0),scratchVector3A=new BVHVector3(0,0,0),scratchVector3B=new BVHVector3(0,0,0),scratchVector3C=new BVHVector3(0,0,0),BVHMesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionCount()/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),l=new Float32Array(s*6),c=[],p=0,f=-1;if(o)for(var d=0,h=0,m=0,g=void 0,A=void 0,E=void 0,v=void 0,y=void 0,b=void 0,T=void 0;d<s;d+=1,h+=3,m+=6)u[d]=d,this.getPositionByIndex(h,scratchVector3A),this.getPositionByIndex(h+1,scratchVector3B),this.getPositionByIndex(h+2,scratchVector3C),g=v=scratchVector3A.x,T=scratchVector3B.x,T<g&&(g=T),T>v&&(v=T),T=scratchVector3C.x,T<g&&(g=T),T>v&&(v=T),A=y=scratchVector3A.y,T=scratchVector3B.y,T<A&&(A=T),T>y&&(y=T),T=scratchVector3C.y,T<A&&(A=T),T>y&&(y=T),E=b=scratchVector3A.z,T=scratchVector3B.z,T<E&&(E=T),T>b&&(b=T),T=scratchVector3C.z,T<E&&(E=T),T>b&&(b=T),l[m]=g,l[m+1]=A,l[m+2]=E,l[m+3]=v,l[m+4]=y,l[m+5]=b;else{for(var _=1/0,S=1/0,R=1/0,M=-1/0,H=-1/0,B=-1/0,d=0,h=0,m=0,g=void 0,A=void 0,E=void 0,v=void 0,y=void 0,b=void 0,T=void 0;d<s;d+=1,h+=3,m+=6)u[d]=d,this.getPositionByIndex(h,scratchVector3A),this.getPositionByIndex(h+1,scratchVector3B),this.getPositionByIndex(h+2,scratchVector3C),g=v=scratchVector3A.x,T=scratchVector3B.x,T<g&&(g=T),T>v&&(v=T),T=scratchVector3C.x,T<g&&(g=T),T>v&&(v=T),A=y=scratchVector3A.y,T=scratchVector3B.y,T<A&&(A=T),T>y&&(y=T),T=scratchVector3C.y,T<A&&(A=T),T>y&&(y=T),E=b=scratchVector3A.z,T=scratchVector3B.z,T<E&&(E=T),T>b&&(b=T),T=scratchVector3C.z,T<E&&(E=T),T>b&&(b=T),l[m]=g,l[m+1]=A,l[m+2]=E,l[m+3]=v,l[m+4]=y,l[m+5]=b,g<_&&(_=g),v>M&&(M=v),A<S&&(S=A),y>H&&(H=y),E<R&&(R=E),b>B&&(B=b);o=[_,S,R,M,H,B]}var C=new BVHNode(++f,o,0,s,0);c[p++]=C;var w=[],I=[0,1,2],O=function(N,z){return w[z]-w[N]};function F(N){var z=N.startIndex,J=N.endIndex,G=N.extents;w[0]=G[3]-G[0],w[1]=G[4]-G[1],w[2]=G[5]-G[2],I.sort(O);for(var Q=0;Q<3;Q++){for(var U=I[Q],V=G[U]+G[U+3],X=z,Z=J-1,ee=-1,K=void 0;X<=Z;)ee===-1?(K=u[X],l[K*6+U]+l[K*6+U+3]<V?X++:ee=K):(K=u[Z],l[K*6+U]+l[K*6+U+3]>=V||(u[X]=K,u[Z]=ee,ee=-1,X++),Z--);if(X>z&&X<J){var re=new BVHNode(++f,calcExtents(u,l,z,X,EPSILON$1),z,X,N.deepth+1);re.deepth<r&&re.endIndex-re.startIndex>e&&(c[p++]=re);var Y=new BVHNode(++f,calcExtents(u,l,X,J,EPSILON$1),X,J,N.deepth+1);Y.deepth<r&&Y.endIndex-Y.startIndex>e&&(c[p++]=Y),N.node0=re,N.node1=Y,N.startIndex=0,N.endIndex=0;break}}}for(;p;)F(c[--p]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(C,f+1),c.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),p=[0],f=[],d,h,m,g;(d=p.pop())!==void 0;){g=d*BYTES_PER_NODE/4;var A=clamp(e.x,u[g],u[g+3])-e.x,E=clamp(e.y,u[g+1],u[g+4])-e.y,v=clamp(e.z,u[g+2],u[g+5])-e.z;if(A*A+E*E+v*v<=r*r){for(var y=l[g+6];y<l[g+7];y++)f.push(o[y]);g=d*BYTES_PER_NODE/2,h=c[g+16],m=c[g+17],h&&p.push(h),m&&p.push(m)}}for(var b=f.length,T=new Float32Array(b*9),y=0;y<b;y++){var _=f[y];this.getPositionByIndex(_,scratchVector3$4),T[y*9]=scratchVector3$4.x,T[y*9+1]=scratchVector3$4.y,T[y*9+2]=scratchVector3$4.z,this.getPositionByIndex(_+1,scratchVector3$4),T[y*9+3]=scratchVector3$4.x,T[y*9+4]=scratchVector3$4.y,T[y*9+5]=scratchVector3$4.z,this.getPositionByIndex(_+2,scratchVector3$4),T[y*9+6]=scratchVector3$4.x,T[y*9+7]=scratchVector3$4.y,T[y*9+8]=scratchVector3$4.z}return T},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),p=new Uint32Array(l),f=new Uint16Array(l),d=new BVHVector3(1/r.x,1/r.y,1/r.z),h=[0],m,g,A,E;(m=h.pop())!==void 0;)if(E=m*BYTES_PER_NODE/4,intersectNodeBox(e,d,c[E],c[E+1],c[E+2],c[E+3],c[E+4],c[E+5])){for(var v=p[E+6],y=p[E+7],b=void 0,T=void 0,_=void 0,S=e.x,R=e.y,M=e.z,H=r.x,B=r.y,C=r.z,w=void 0,I=void 0,O=void 0,F=void 0,N=void 0,z=void 0,J=void 0,G=void 0,Q=void 0,U=void 0,V=void 0,X=void 0,Z=void 0,ee=void 0,K=void 0,re=void 0,Y=void 0,W=void 0,le=void 0,oe=void 0,ae=void 0,se=void 0,ie=void 0,fe=void 0,he=void 0,Te=void 0,ce=void 0;v<y;v++){if(b=u[v],T=b*3,this.getPositionByIndex(T,scratchVector3$4),w=scratchVector3$4.x,I=scratchVector3$4.y,O=scratchVector3$4.z,this.getPositionByIndex(T+1,scratchVector3$4),F=scratchVector3$4.x,N=scratchVector3$4.y,z=scratchVector3$4.z,this.getPositionByIndex(T+2,scratchVector3$4),J=scratchVector3$4.x,G=scratchVector3$4.y,Q=scratchVector3$4.z,U=F-w,V=N-I,X=z-O,Z=J-w,ee=G-I,K=Q-O,re=V*K-X*ee,Y=X*Z-U*K,W=U*ee-V*Z,ie=H*re+B*Y+C*W,ie>0)se=1;else if(ie<0)se=-1,ie=-ie;else continue;le=S-w,oe=R-I,ae=M-O,fe=se*(H*(oe*K-ae*ee)+B*(ae*Z-le*K)+C*(le*ee-oe*Z)),!(fe<0)&&(he=se*(H*(V*ae-X*oe)+B*(X*le-U*ae)+C*(U*oe-V*le)),!(he<0)&&(fe+he>ie||(Te=-se*(le*re+oe*Y+ae*W),!(Te<0)&&(ce=Te/ie,s.push(new BVHIntersect([w,I,O,F,N,z,J,G,Q],[S+H*ce,R+B*ce,M+C*ce],b))))))}E=m*BYTES_PER_NODE/2,g=f[E+16],A=f[E+17],g&&h.push(g),A&&h.push(A)}return s},t}(BVHObject);function clamp(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,o){if(e>=r)return[0,0,0,0,0,0];for(var s=1/0,u=1/0,l=1/0,c=-1/0,p=-1/0,f=-1/0,d=e,h=void 0,m=void 0;d<r;d++)h=n[d]*6,m=t[h],m<s&&(s=m),m=t[h+1],m<u&&(u=m),m=t[h+2],m<l&&(l=m),m=t[h+3],m>c&&(c=m),m=t[h+4],m>p&&(p=m),m=t[h+5],m>f&&(f=m);return[s-o,u-o,l-o,c+o,p+o,f+o]}var EPSILON=1e-6,ORDER_AXISES=["x","y","z"],scratchVector3$3=new BVHVector3(0,0,0),BVHPoints=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionByIndex.bind(this),u=this.getPositionCount(),l=u>65535?new Uint32Array(u):new Uint16Array(u),c=[],p=0,f=-1;if(o)for(var d=0;d<u;d+=1)l[d]=d;else{s(0,scratchVector3$3);for(var h=scratchVector3$3.x,m=scratchVector3$3.y,g=scratchVector3$3.z,A=h,E=m,v=g,d=0,y=void 0,b=void 0,T=void 0;d<u;d+=1)l[d]=d,s(d,scratchVector3$3),y=scratchVector3$3.x,b=scratchVector3$3.y,T=scratchVector3$3.z,y<h?h=y:y>A&&(A=y),b<m?m=b:b>E&&(E=b),T<g?g=T:T>v&&(v=T);o=[h,m,g,A,E,v]}var _=new BVHNode(++f,o,0,u,0);c[p++]=_;var S=[],R=[0,1,2],M=function(B,C){return S[C]-S[B]};function H(B){var C=B.startIndex,w=B.endIndex,I=B.extents;S[0]=I[3]-I[0],S[1]=I[4]-I[1],S[2]=I[5]-I[2];for(var O=R.sort(M)[0],F=ORDER_AXISES[O],N=(I[O]+I[O+3])/2,z=C,J=w-1,G=-1,Q;z<=J;)G===-1?(Q=l[z],s(Q,scratchVector3$3),scratchVector3$3[F]<N?z++:G=Q):(Q=l[J],s(Q,scratchVector3$3),scratchVector3$3[F]>=N||(l[z]=Q,l[J]=G,G=-1,z++),J--);if(z>C){var U=I.slice();U[O+3]=N+EPSILON;var V=new BVHNode(++f,U,C,z,B.deepth+1);V.deepth<r&&V.endIndex-V.startIndex>e&&(c[p++]=V),B.node0=V}if(w>z){var X=I.slice();X[O]=N-EPSILON;var Z=new BVHNode(++f,X,z,w,B.deepth+1);Z.deepth<r&&Z.endIndex-Z.startIndex>e&&(c[p++]=Z),B.node1=Z}B.startIndex=0,B.endIndex=0}for(;p;)H(c[--p]);return this.offsetArray=l,this.rootNodePacked=packBVHNode(_,f+1),c.length=0,this},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),p=new Uint32Array(l),f=new Uint16Array(l),d=o*o,h=new BVHVector3(1/r.x,1/r.y,1/r.z),m=[0],g,A,E,v;(g=m.pop())!==void 0;)if(v=g*BYTES_PER_NODE/4,intersectNodeBox(e,h,c[v],c[v+1],c[v+2],c[v+3],c[v+4],c[v+5],o)){for(var y=p[v+6],b=p[v+7],T=void 0,_=void 0,S=void 0,R=void 0,M=void 0,H=void 0,B=void 0,C=void 0,w=void 0,I=void 0,O=void 0,F=void 0;y<b;y++)T=u[y],this.getPositionByIndex(T,scratchVector3$3),_=scratchVector3$3.x,S=scratchVector3$3.y,R=scratchVector3$3.z,M=e.x,H=e.y,B=e.z,C=r.x,w=r.y,I=r.z,O=C*(_-M)+w*(S-H)+I*(R-B),O>0&&(M+=C*O,H+=w*O,B+=I*O),C=_-M,w=S-H,I=R-B,O=C*C+w*w+I*I,O<=d&&s.push(new BVHIntersect([_,S,R,_,S,R,_,S,R],[M,H,B],T));v=g*BYTES_PER_NODE/2,A=f[v+16],E=f[v+17],A&&m.push(A),E&&m.push(E)}return s},t}(BVHObject);const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlcj1mdW5jdGlvbihlLHIpe3JldHVybiBlcj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxvKXt0Ll9fcHJvdG9fXz1vfXx8ZnVuY3Rpb24odCxvKXtmb3IodmFyIGYgaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxmKSYmKHRbZl09b1tmXSl9LGVyKGUscil9O2Z1bmN0aW9uIGhyKGUscil7aWYodHlwZW9mIHIhPSJmdW5jdGlvbiImJnIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcocikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXIoZSxyKTtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXI9PT1udWxsP09iamVjdC5jcmVhdGUocik6KHQucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyB0KX10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iJiZTdXBwcmVzc2VkRXJyb3I7dmFyIGRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQpe3RoaXMucG9zaXRpb249cix0aGlzLmluZGljZXM9dH1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25Db3VudD1mdW5jdGlvbigpe3ZhciByLHQsbz10aGlzLmluZGljZXMsZj10aGlzLnBvc2l0aW9uO3JldHVybiBvP28uYXJyYXkubGVuZ3RoLygocj1vLnN0cmlkZSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSk6Zi5hcnJheS5sZW5ndGgvKCh0PWYuc3RyaWRlKSE9PW51bGwmJnQhPT12b2lkIDA/dDozKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25CeUluZGV4PWZ1bmN0aW9uKHIsdCl7dmFyIG8sZixkLHYsbj10aGlzLmluZGljZXMscz10aGlzLnBvc2l0aW9uLHU9cjtpZihuKXt2YXIgdz1uLmFycmF5LHk9KG89bi5zdHJpZGUpIT09bnVsbCYmbyE9PXZvaWQgMD9vOjEscD0oZj1uLm9mZnNldCkhPT1udWxsJiZmIT09dm9pZCAwP2Y6MDt1PXdbcip5K3BdfXZhciBhPXMuYXJyYXksaD0oZD1zLnN0cmlkZSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MyxBPSh2PXMub2Zmc2V0KSE9PW51bGwmJnYhPT12b2lkIDA/djowO3JldHVybiB1PXUqaCtBLHQueD1hW3VdLHQueT1hW3UrMV0sdC56PWFbdSsyXSx0fSxlLnByb3RvdHlwZS5jcmVhdGVUcmVlPWZ1bmN0aW9uKHIsdCxvKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS50cmlhbmdsZXNJblNwaGVyZT1mdW5jdGlvbihyLHQpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9LGUucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsbyxmKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlfSgpLG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHIsdCxvLGYsZCl7dGhpcy5pZD1yLHRoaXMuZXh0ZW50cz10LHRoaXMuc3RhcnRJbmRleD1vLHRoaXMuZW5kSW5kZXg9Zix0aGlzLmRlZXB0aD1kfXJldHVybiBlfSgpLFE9Nio0KzQrNCsyKzI7ZnVuY3Rpb24geXIoZSxyKXtmb3IodmFyIHQ9bmV3IEFycmF5QnVmZmVyKHIqUSksbz1uZXcgRmxvYXQzMkFycmF5KHQpLGY9bmV3IFVpbnQzMkFycmF5KHQpLGQ9bmV3IFVpbnQxNkFycmF5KHQpLHY9W2VdLG4scztuPXYucG9wKCk7KXM9bi5pZCpRLzQsb1tzXT1uLmV4dGVudHNbMF0sb1tzKzFdPW4uZXh0ZW50c1sxXSxvW3MrMl09bi5leHRlbnRzWzJdLG9bcyszXT1uLmV4dGVudHNbM10sb1tzKzRdPW4uZXh0ZW50c1s0XSxvW3MrNV09bi5leHRlbnRzWzVdLGZbcys2XT1uLnN0YXJ0SW5kZXgsZltzKzddPW4uZW5kSW5kZXgscz1uLmlkKlEvMixuLm5vZGUwJiYoZFtzKzE2XT1uLm5vZGUwLmlkLHYucHVzaChuLm5vZGUwKSksbi5ub2RlMSYmKGRbcysxN109bi5ub2RlMS5pZCx2LnB1c2gobi5ub2RlMSkpO3JldHVybiB0fWZ1bmN0aW9uIGNyKGUscix0LG8sZixkLHYsbixzKXtzPT09dm9pZCAwJiYocz0wKSx0PXQtcyxvPW8tcyxmPWYtcyxkPWQrcyx2PXYrcyxuPW4rczt2YXIgdT0wLHc9MCx5PTAscD0wLGE9MCxoPTA7cmV0dXJuIHIueD49MD8odT0odC1lLngpKnIueCx3PShkLWUueCkqci54KToodT0oZC1lLngpKnIueCx3PSh0LWUueCkqci54KSxyLnk+PTA/KHk9KG8tZS55KSpyLnkscD0odi1lLnkpKnIueSk6KHk9KHYtZS55KSpyLnkscD0oby1lLnkpKnIueSksISh1PnB8fHk+d3x8KHk+dSYmKHU9eSkscDx3JiYodz1wKSxyLno+PTA/KGE9KGYtZS56KSpyLnosaD0obi1lLnopKnIueik6KGE9KG4tZS56KSpyLnosaD0oZi1lLnopKnIueiksdT5ofHxhPncpfHwoYT51JiYodT1hKSxoPHcmJih3PWgpLHc8MCkpfXZhciBZPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQsbyl7dGhpcy54PXIsdGhpcy55PXQsdGhpcy56PW99cmV0dXJuIGUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueD1yLngsdGhpcy55PXIueSx0aGlzLno9ci56LHRoaXN9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbihyLHQsbyl7cmV0dXJuIHRoaXMueD1yLHRoaXMueT10LHRoaXMuej1vLHRoaXN9LGUucHJvdG90eXBlLmZyb21BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSx0aGlzLng9clt0XSx0aGlzLnk9clt0KzFdLHRoaXMuej1yW3QrMl0sdGhpc30sZS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiByPT09dm9pZCAwJiYocj1bXSksdD09PXZvaWQgMCYmKHQ9MCksclt0XT10aGlzLngsclt0KzFdPXRoaXMueSxyW3QrMl09dGhpcy56LHJ9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kz1yLngsdGhpcy55Kz1yLnksdGhpcy56Kz1yLnosdGhpc30sZS5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueCo9cix0aGlzLnkqPXIsdGhpcy56Kj1yLHRoaXN9LGUucHJvdG90eXBlLnN1YlZlY3RvcnM9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54PXIueC10LngsdGhpcy55PXIueS10LnksdGhpcy56PXIuei10LnosdGhpc30sZS5wcm90b3R5cGUuYWRkU2NhbGVkVmVjdG9yPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMueCs9ci54KnQsdGhpcy55Kz1yLnkqdCx0aGlzLnorPXIueip0LHRoaXN9LGUucHJvdG90eXBlLmRvdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54KnIueCt0aGlzLnkqci55K3RoaXMueipyLnp9LGUucHJvdG90eXBlLmNyb3NzPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueCxvPXRoaXMueSxmPXRoaXMuejtyZXR1cm4gdGhpcy54PW8qci56LWYqci55LHRoaXMueT1mKnIueC10KnIueix0aGlzLno9dCpyLnktbypyLngsdGhpc30sZS5wcm90b3R5cGUuY3Jvc3NWZWN0b3JzPWZ1bmN0aW9uKHIsdCl7dmFyIG89ci54LGY9ci55LGQ9ci56LHY9dC54LG49dC55LHM9dC56O3JldHVybiB0aGlzLng9ZipzLWQqbix0aGlzLnk9ZCp2LW8qcyx0aGlzLno9bypuLWYqdix0aGlzfSxlLnByb3RvdHlwZS5kaXN0YW5jZVRvPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0YW5jZVRvU3F1YXJlZChyKSl9LGUucHJvdG90eXBlLmRpc3RhbmNlVG9TcXVhcmVkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueC1yLngsbz10aGlzLnktci55LGY9dGhpcy56LXIuejtyZXR1cm4gdCp0K28qbytmKmZ9LGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKHRoaXMueCx0aGlzLnksdGhpcy56KX0sZX0oKSxwcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUocix0LG8pe3RoaXMudHJpYW5nbGU9cix0aGlzLmludGVyc2VjdGlvblBvaW50PXQsdGhpcy5pbmRleD1vfXJldHVybiBlfSgpLGxyPTFlLTYsUz1uZXcgWSgwLDAsMCksRD1uZXcgWSgwLDAsMCksZz1uZXcgWSgwLDAsMCksWD1uZXcgWSgwLDAsMCksQXI9ZnVuY3Rpb24oZSl7aHIocixlKTtmdW5jdGlvbiByKCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gci5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbih0LG8sZil7bz1NYXRoLm1pbihvLDE2KTt2YXIgZD10aGlzLmdldFBvc2l0aW9uQ291bnQoKS8zLHY9ZD42NTUzNT9uZXcgVWludDMyQXJyYXkoZCk6bmV3IFVpbnQxNkFycmF5KGQpLG49bmV3IEZsb2F0MzJBcnJheShkKjYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MCxwPTAsYT0wLGg9dm9pZCAwLEE9dm9pZCAwLGw9dm9pZCAwLEk9dm9pZCAwLGM9dm9pZCAwLHo9dm9pZCAwLGk9dm9pZCAwO3k8ZDt5Kz0xLHArPTMsYSs9Nil2W3ldPXksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCxEKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzEsZyksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCsyLFgpLGg9ST1ELngsaT1nLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLGk9WC54LGk8aCYmKGg9aSksaT5JJiYoST1pKSxBPWM9RC55LGk9Zy55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxpPVgueSxpPEEmJihBPWkpLGk+YyYmKGM9aSksbD16PUQueixpPWcueixpPGwmJihsPWkpLGk+eiYmKHo9aSksaT1YLnosaTxsJiYobD1pKSxpPnomJih6PWkpLG5bYV09aCxuW2ErMV09QSxuW2ErMl09bCxuW2ErM109SSxuW2ErNF09YyxuW2ErNV09ejtlbHNle2Zvcih2YXIgaz0xLzAsSD0xLzAsaj0xLzAscT0tMS8wLE09LTEvMCxQPS0xLzAseT0wLHA9MCxhPTAsaD12b2lkIDAsQT12b2lkIDAsbD12b2lkIDAsST12b2lkIDAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTxkO3krPTEscCs9MyxhKz02KXZbeV09eSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwLEQpLHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KHArMSxnKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzIsWCksaD1JPUQueCxpPWcueCxpPGgmJihoPWkpLGk+SSYmKEk9aSksaT1YLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLEE9Yz1ELnksaT1nLnksaTxBJiYoQT1pKSxpPmMmJihjPWkpLGk9WC55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxsPXo9RC56LGk9Zy56LGk8bCYmKGw9aSksaT56JiYoej1pKSxpPVgueixpPGwmJihsPWkpLGk+eiYmKHo9aSksblthXT1oLG5bYSsxXT1BLG5bYSsyXT1sLG5bYSszXT1JLG5bYSs0XT1jLG5bYSs1XT16LGg8ayYmKGs9aCksST5xJiYocT1JKSxBPEgmJihIPUEpLGM+TSYmKE09YyksbDxqJiYoaj1sKSx6PlAmJihQPXopO2Y9W2ssSCxqLHEsTSxQXX12YXIgVD1uZXcgbSgrK3csZiwwLGQsMCk7c1t1KytdPVQ7dmFyIE49W10sQj1bMCwxLDJdLFY9ZnVuY3Rpb24oVSxfKXtyZXR1cm4gTltfXS1OW1VdfTtmdW5jdGlvbiBSKFUpe3ZhciBfPVUuc3RhcnRJbmRleCwkPVUuZW5kSW5kZXgsRj1VLmV4dGVudHM7TlswXT1GWzNdLUZbMF0sTlsxXT1GWzRdLUZbMV0sTlsyXT1GWzVdLUZbMl0sQi5zb3J0KFYpO2Zvcih2YXIgVz0wO1c8MztXKyspe2Zvcih2YXIgTD1CW1ddLEc9RltMXStGW0wrM10seD1fLEM9JC0xLEs9LTEsSj12b2lkIDA7eDw9QzspSz09PS0xPyhKPXZbeF0sbltKKjYrTF0rbltKKjYrTCszXTxHP3grKzpLPUopOihKPXZbQ10sbltKKjYrTF0rbltKKjYrTCszXT49R3x8KHZbeF09Six2W0NdPUssSz0tMSx4KyspLEMtLSk7aWYoeD5fJiZ4PCQpe3ZhciBiPW5ldyBtKCsrdyxJcih2LG4sXyx4LGxyKSxfLHgsVS5kZWVwdGgrMSk7Yi5kZWVwdGg8byYmYi5lbmRJbmRleC1iLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1iKTt2YXIgTz1uZXcgbSgrK3csSXIodixuLHgsJCxscikseCwkLFUuZGVlcHRoKzEpO08uZGVlcHRoPG8mJk8uZW5kSW5kZXgtTy5zdGFydEluZGV4PnQmJihzW3UrK109TyksVS5ub2RlMD1iLFUubm9kZTE9TyxVLnN0YXJ0SW5kZXg9MCxVLmVuZEluZGV4PTA7YnJlYWt9fX1mb3IoO3U7KVIoc1stLXVdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9eXIoVCx3KzEpLHMubGVuZ3RoPTAsdGhpc30sci5wcm90b3R5cGUudHJpYW5nbGVzSW5TcGhlcmU9ZnVuY3Rpb24odCxvKXtmb3IodmFyIGY9dGhpcy5vZmZzZXRBcnJheSxkPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGQpLG49bmV3IFVpbnQzMkFycmF5KGQpLHM9bmV3IFVpbnQxNkFycmF5KGQpLHU9WzBdLHc9W10seSxwLGEsaDsoeT11LnBvcCgpKSE9PXZvaWQgMDspe2g9eSpRLzQ7dmFyIEE9c3IodC54LHZbaF0sdltoKzNdKS10LngsbD1zcih0LnksdltoKzFdLHZbaCs0XSktdC55LEk9c3IodC56LHZbaCsyXSx2W2grNV0pLXQuejtpZihBKkErbCpsK0kqSTw9bypvKXtmb3IodmFyIGM9bltoKzZdO2M8bltoKzddO2MrKyl3LnB1c2goZltjXSk7aD15KlEvMixwPXNbaCsxNl0sYT1zW2grMTddLHAmJnUucHVzaChwKSxhJiZ1LnB1c2goYSl9fWZvcih2YXIgej13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoeio5KSxjPTA7Yzx6O2MrKyl7dmFyIGs9d1tjXTt0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrLFMpLGlbYyo5XT1TLngsaVtjKjkrMV09Uy55LGlbYyo5KzJdPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrKzEsUyksaVtjKjkrM109Uy54LGlbYyo5KzRdPVMueSxpW2MqOSs1XT1TLnosdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaysyLFMpLGlbYyo5KzZdPVMueCxpW2MqOSs3XT1TLnksaVtjKjkrOF09Uy56fXJldHVybiBpfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PW5ldyBZKDEvby54LDEvby55LDEvby56KSxwPVswXSxhLGgsQSxsOyhhPXAucG9wKCkpIT09dm9pZCAwOylpZihsPWEqUS80LGNyKHQseSxzW2xdLHNbbCsxXSxzW2wrMl0sc1tsKzNdLHNbbCs0XSxzW2wrNV0pKXtmb3IodmFyIEk9dVtsKzZdLGM9dVtsKzddLHo9dm9pZCAwLGk9dm9pZCAwLGs9dm9pZCAwLEg9dC54LGo9dC55LHE9dC56LE09by54LFA9by55LFQ9by56LE49dm9pZCAwLEI9dm9pZCAwLFY9dm9pZCAwLFI9dm9pZCAwLFU9dm9pZCAwLF89dm9pZCAwLCQ9dm9pZCAwLEY9dm9pZCAwLFc9dm9pZCAwLEw9dm9pZCAwLEc9dm9pZCAwLHg9dm9pZCAwLEM9dm9pZCAwLEs9dm9pZCAwLEo9dm9pZCAwLGI9dm9pZCAwLE89dm9pZCAwLGFyPXZvaWQgMCxycj12b2lkIDAsdHI9dm9pZCAwLG9yPXZvaWQgMCxpcj12b2lkIDAsWj12b2lkIDAsdnI9dm9pZCAwLGZyPXZvaWQgMCx1cj12b2lkIDAsbnI9dm9pZCAwO0k8YztJKyspe2lmKHo9dltJXSxpPXoqMyx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpLFMpLE49Uy54LEI9Uy55LFY9Uy56LHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KGkrMSxTKSxSPVMueCxVPVMueSxfPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpKzIsUyksJD1TLngsRj1TLnksVz1TLnosTD1SLU4sRz1VLUIseD1fLVYsQz0kLU4sSz1GLUIsSj1XLVYsYj1HKkoteCpLLE89eCpDLUwqSixhcj1MKkstRypDLFo9TSpiK1AqTytUKmFyLFo+MClpcj0xO2Vsc2UgaWYoWjwwKWlyPS0xLFo9LVo7ZWxzZSBjb250aW51ZTtycj1ILU4sdHI9ai1CLG9yPXEtVix2cj1pciooTSoodHIqSi1vcipLKStQKihvcipDLXJyKkopK1QqKHJyKkstdHIqQykpLCEodnI8MCkmJihmcj1pciooTSooRypvci14KnRyKStQKih4KnJyLUwqb3IpK1QqKEwqdHItRypycikpLCEoZnI8MCkmJih2citmcj5afHwodXI9LWlyKihycipiK3RyKk8rb3IqYXIpLCEodXI8MCkmJihucj11ci9aLGQucHVzaChuZXcgcHIoW04sQixWLFIsVSxfLCQsRixXXSxbSCtNKm5yLGorUCpucixxK1QqbnJdLHopKSkpKSl9bD1hKlEvMixoPXdbbCsxNl0sQT13W2wrMTddLGgmJnAucHVzaChoKSxBJiZwLnB1c2goQSl9cmV0dXJuIGR9LHJ9KGRyKTtmdW5jdGlvbiBzcihlLHIsdCl7cmV0dXJuIGU8cj9yOmU+dD90OmV9ZnVuY3Rpb24gSXIoZSxyLHQsbyxmKXtpZih0Pj1vKXJldHVyblswLDAsMCwwLDAsMF07Zm9yKHZhciBkPTEvMCx2PTEvMCxuPTEvMCxzPS0xLzAsdT0tMS8wLHc9LTEvMCx5PXQscD12b2lkIDAsYT12b2lkIDA7eTxvO3krKylwPWVbeV0qNixhPXJbcF0sYTxkJiYoZD1hKSxhPXJbcCsxXSxhPHYmJih2PWEpLGE9cltwKzJdLGE8biYmKG49YSksYT1yW3ArM10sYT5zJiYocz1hKSxhPXJbcCs0XSxhPnUmJih1PWEpLGE9cltwKzVdLGE+dyYmKHc9YSk7cmV0dXJuW2QtZix2LWYsbi1mLHMrZix1K2YsdytmXX12YXIgd3I9MWUtNix6cj1bIngiLCJ5IiwieiJdLEU9bmV3IFkoMCwwLDApLFByPWZ1bmN0aW9uKGUpe2hyKHIsZSk7ZnVuY3Rpb24gcigpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHIucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24odCxvLGYpe289TWF0aC5taW4obywxNik7dmFyIGQ9dGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXguYmluZCh0aGlzKSx2PXRoaXMuZ2V0UG9zaXRpb25Db3VudCgpLG49dj42NTUzNT9uZXcgVWludDMyQXJyYXkodik6bmV3IFVpbnQxNkFycmF5KHYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MDt5PHY7eSs9MSluW3ldPXk7ZWxzZXtkKDAsRSk7Zm9yKHZhciBwPUUueCxhPUUueSxoPUUueixBPXAsbD1hLEk9aCx5PTAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTx2O3krPTEpblt5XT15LGQoeSxFKSxjPUUueCx6PUUueSxpPUUueixjPHA/cD1jOmM+QSYmKEE9YyksejxhP2E9ejp6PmwmJihsPXopLGk8aD9oPWk6aT5JJiYoST1pKTtmPVtwLGEsaCxBLGwsSV19dmFyIGs9bmV3IG0oKyt3LGYsMCx2LDApO3NbdSsrXT1rO3ZhciBIPVtdLGo9WzAsMSwyXSxxPWZ1bmN0aW9uKFAsVCl7cmV0dXJuIEhbVF0tSFtQXX07ZnVuY3Rpb24gTShQKXt2YXIgVD1QLnN0YXJ0SW5kZXgsTj1QLmVuZEluZGV4LEI9UC5leHRlbnRzO0hbMF09QlszXS1CWzBdLEhbMV09Qls0XS1CWzFdLEhbMl09Qls1XS1CWzJdO2Zvcih2YXIgVj1qLnNvcnQocSlbMF0sUj16cltWXSxVPShCW1ZdK0JbViszXSkvMixfPVQsJD1OLTEsRj0tMSxXO188PSQ7KUY9PT0tMT8oVz1uW19dLGQoVyxFKSxFW1JdPFU/XysrOkY9Vyk6KFc9blskXSxkKFcsRSksRVtSXT49VXx8KG5bX109VyxuWyRdPUYsRj0tMSxfKyspLCQtLSk7aWYoXz5UKXt2YXIgTD1CLnNsaWNlKCk7TFtWKzNdPVUrd3I7dmFyIEc9bmV3IG0oKyt3LEwsVCxfLFAuZGVlcHRoKzEpO0cuZGVlcHRoPG8mJkcuZW5kSW5kZXgtRy5zdGFydEluZGV4PnQmJihzW3UrK109RyksUC5ub2RlMD1HfWlmKE4+Xyl7dmFyIHg9Qi5zbGljZSgpO3hbVl09VS13cjt2YXIgQz1uZXcgbSgrK3cseCxfLE4sUC5kZWVwdGgrMSk7Qy5kZWVwdGg8byYmQy5lbmRJbmRleC1DLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1DKSxQLm5vZGUxPUN9UC5zdGFydEluZGV4PTAsUC5lbmRJbmRleD0wfWZvcig7dTspTShzWy0tdV0pO3JldHVybiB0aGlzLm9mZnNldEFycmF5PW4sdGhpcy5yb290Tm9kZVBhY2tlZD15cihrLHcrMSkscy5sZW5ndGg9MCx0aGlzfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PWYqZixwPW5ldyBZKDEvby54LDEvby55LDEvby56KSxhPVswXSxoLEEsbCxJOyhoPWEucG9wKCkpIT09dm9pZCAwOylpZihJPWgqUS80LGNyKHQscCxzW0ldLHNbSSsxXSxzW0krMl0sc1tJKzNdLHNbSSs0XSxzW0krNV0sZikpe2Zvcih2YXIgYz11W0krNl0sej11W0krN10saT12b2lkIDAsaz12b2lkIDAsSD12b2lkIDAsaj12b2lkIDAscT12b2lkIDAsTT12b2lkIDAsUD12b2lkIDAsVD12b2lkIDAsTj12b2lkIDAsQj12b2lkIDAsVj12b2lkIDAsUj12b2lkIDA7Yzx6O2MrKylpPXZbY10sdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaSxFKSxrPUUueCxIPUUueSxqPUUueixxPXQueCxNPXQueSxQPXQueixUPW8ueCxOPW8ueSxCPW8ueixWPVQqKGstcSkrTiooSC1NKStCKihqLVApLFY+MCYmKHErPVQqVixNKz1OKlYsUCs9QipWKSxUPWstcSxOPUgtTSxCPWotUCxWPVQqVCtOKk4rQipCLFY8PXkmJmQucHVzaChuZXcgcHIoW2ssSCxqLGssSCxqLGssSCxqXSxbcSxNLFBdLGkpKTtJPWgqUS8yLEE9d1tJKzE2XSxsPXdbSSsxN10sQSYmYS5wdXNoKEEpLGwmJmEucHVzaChsKX1yZXR1cm4gZH0scn0oZHIpO2Z1bmN0aW9uIEJyKGUpe29ubWVzc2FnZT1mdW5jdGlvbihyKXtQcm9taXNlLnJlc29sdmUoci5kYXRhKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbz10Lm91dHB1dCxmPXQudHJhbnNmZXI7cmV0dXJuIHBvc3RNZXNzYWdlKG8sZil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gcG9zdE1lc3NhZ2UoeyQkZXJyb3I6dH0pfSl9fUJyKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZSkudGhlbihmdW5jdGlvbihyKXtmb3IodmFyIHQ9W10sbz1uZXcgU2V0LGY9MCxkPXI7ZjxkLmxlbmd0aDtmKyspe3ZhciB2PWRbZl0sbj12b2lkIDA7aWYodi50eXBlPT09Im1lc2giKW49bmV3IEFyKHYuYXR0cmlidXRlcy5wb3NpdGlvbix2LmluZGljZXMpO2Vsc2UgaWYodi50eXBlPT09InBvaW50cyIpbj1uZXcgUHIodi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHYuaW5kaWNlcyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO24uY3JlYXRlVHJlZSh2Lm1heEl0ZW1QZXJOb2RlLHYubWF4VHJlZURlcHRoLHYuZXh0ZW50cyk7dmFyIHM9e3R5cGU6di50eXBlLGF0dHJpYnV0ZXM6di5hdHRyaWJ1dGVzLGluZGljZXM6di5pbmRpY2VzLG9mZnNldEFycmF5Om4ub2Zmc2V0QXJyYXkscm9vdE5vZGVQYWNrZWQ6bi5yb290Tm9kZVBhY2tlZH07dC5wdXNoKHMpO3ZhciB1PXZvaWQgMDtmb3IodmFyIHcgaW4gcy5hdHRyaWJ1dGVzKXt2YXIgeT1zLmF0dHJpYnV0ZXNbd107eSYmeS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQoeS5idWZmZXIpfXU9cy5pbmRpY2VzLHUmJnUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm8uYWRkKHUuYnVmZmVyKSx1PXMub2Zmc2V0QXJyYXksdSYmdS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQodS5idWZmZXIpLG8uYWRkKHMucm9vdE5vZGVQYWNrZWQpfXJldHVybntvdXRwdXQ6dCx0cmFuc2ZlcjpBcnJheS5mcm9tKG8pfX0pfSl9KSgpOwo=",decodeBase64$1=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),blob$2=typeof self!="undefined"&&self.Blob&&new Blob([decodeBase64$1(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(n){let t;try{if(t=blob$2&&(self.URL||self.webkitURL).createObjectURL(blob$2),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+encodedJs$1,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var WorkerPool$1=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],o=r.resolve,s=r.reject;if(e.data&&"$$error"in e.data?s(e.data.$$error):o(e.data),this.queue.length){var u=this.queue.shift(),l=u.resolve,c=u.reject,p=u.input,f=u.transfer;this.workersResolver[t]={resolve:l,reject:c},this.workers[t].postMessage(p,f)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(o,s){var u=r.getIdleWorker();u!==-1?(r.initWorker(u),r.workerStatus|=1<<u,r.workersResolver[u]={resolve:o,reject:s},r.workers[u].postMessage(t,e)):r.queue.push({resolve:o,reject:s,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),bvhWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper$1},4),bvhMeshMap=new Map,scratchRay=new THREE__namespace.Ray,scratchNormalMatrix=new THREE__namespace.Matrix3,scratchInverseMatrix=new THREE__namespace.Matrix4,scratchIntersectionFaceA=new THREE__namespace.Vector3,scratchIntersectionFaceB=new THREE__namespace.Vector3,scratchIntersectionFaceC=new THREE__namespace.Vector3,scratchIntersectionTriangle=new THREE__namespace.Triangle;function raycastMesh(n,t,e,r){var o,s=n.matrixWorld;scratchInverseMatrix.getInverse(s),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var u=t.intersectRay(scratchRay.origin,scratchRay.direction,0,[]),l=n.geometry,c=n.material,p=l.groups,f=l.index,d=0,h=u.length;d<h;d++){var m=u[d],g=m.triangle,A=m.index,E=m.intersectionPoint,v=new THREE__namespace.Vector3(E[0],E[1],E[2]).applyMatrix4(s),y=e.ray.origin.distanceTo(v);if(!(y<e.near||y>e.far)){var b=void 0;if(Array.isArray(c)){if(p)for(var T=A*3,_=0,S=p;_<S.length;_++){var R=S[_];if(T>=R.start&&T-R.start<R.count){b=c[(o=R.materialIndex)!==null&&o!==void 0?o:0];break}}}else b=c;if(b){var M=scratchIntersectionTriangle.set(scratchIntersectionFaceA.set(g[0],g[1],g[2]).applyMatrix4(s),scratchIntersectionFaceB.set(g[3],g[4],g[5]).applyMatrix4(s),scratchIntersectionFaceC.set(g[6],g[7],g[8]).applyMatrix4(s)).getNormal(new THREE__namespace.Vector3),H=A*3,B=new THREE__namespace.Face3(f?f.array[H]:H,f?f.array[H+1]:H+1,f?f.array[H+2]:H+2,M),C=e.ray.direction.dot(M);b.side===THREE__namespace.FrontSide&&C>=0||b.side===THREE__namespace.BackSide&&C<=0||r.push({distance:y,object:n,face:B,point:v,distanceToRay:0,faceIndex:A})}}}}function raycastPoints(n,t,e,r){var o,s,u=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(u),scratchInverseMatrix.getInverse(u);var l=((s=(o=e.params.Points)===null||o===void 0?void 0:o.threshold)!==null&&s!==void 0?s:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,l,[]),p=n.geometry,f=p.index,d=p.getAttribute("normal"),h=0,m=c.length;h<m;h++){var g=c[h],A=g.triangle,E=g.index,v=g.intersectionPoint,y=new THREE__namespace.Vector3(v[0],v[1],v[2]).applyMatrix4(u),b=e.ray.origin.distanceTo(y);if(!(b<e.near||b>e.far)){var T=scratchIntersectionFaceA.set(A[0],A[1],A[2]).applyMatrix4(u),_=f?f.array[E]:E,S=void 0;if(d instanceof THREE__namespace.BufferAttribute){var R=new THREE__namespace.Vector3().fromBufferAttribute(d,_).applyNormalMatrix(scratchNormalMatrix);S=new THREE__namespace.Face3(_,_,_,R)}r.push({distance:b,object:n,face:S,point:y,distanceToRay:y.distanceTo(T),index:E})}}}var BVH_MESH_PROP="__bvh_mesh__",originMeshRaycast=THREE__namespace.Mesh.prototype.raycast;function overrideMeshRaycast(n,t){var e=getBvhTreeForMesh(this);e?raycastMesh(this,e,n,t):originMeshRaycast.call(this,n,t)}function getBvhTreeForMesh(n){var t=n[BVH_MESH_PROP];return t instanceof BVHMesh,t}function bindBvhTreeForMesh(n,t){var e;Object.assign(n,(e={},e[BVH_MESH_PROP]=t,e.raycast=overrideMeshRaycast,e))}var BVH_POINTS_PROP="__bvh_points__",originPointsRaycast=THREE__namespace.Points.prototype.raycast;function overridePointsRaycast(n,t){var e=getBvhTreeForPoints(this);e?raycastPoints(this,e,n,t):originPointsRaycast.call(this,n,t)}function getBvhTreeForPoints(n){var t=n[BVH_POINTS_PROP];return t instanceof BVHPoints,t}function bindBvhTreeForPoints(n,t){var e;Object.assign(n,(e={},e[BVH_POINTS_PROP]=t,e.raycast=overridePointsRaycast,e))}function generateBvhTree(n,t,e,r){var o=[];return n.traverse(function(s){(s instanceof THREE__namespace.Mesh||s instanceof THREE__namespace.Points)&&s.geometry instanceof THREE__namespace.BufferGeometry&&o.push(s)}),Promise.resolve().then(function(){for(var s=[],u=new Set,l=null,c=0;c<o.length;c++){var p=o[c],f=p.geometry;if(f instanceof THREE__namespace.BufferGeometry){var d=void 0;if(p instanceof THREE__namespace.Mesh?d="mesh":p instanceof THREE__namespace.Points&&(d="points"),!!d){var h=f.boundingBox,m=h?[h.min.x,h.min.y,h.min.z,h.max.x,h.max.y,h.max.z]:void 0,g={};for(var A in f.attributes){var E=f.attributes[A];E instanceof THREE__namespace.InterleavedBufferAttribute?(g[A]={array:E.data.array,stride:E.data.stride,offset:E.offset},l=E.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(g[A]={array:E.array},l=E.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer))}var v=void 0,y=f.getIndex();y&&(y instanceof THREE__namespace.InterleavedBufferAttribute?(v={array:y.data.array,stride:y.data.stride,offset:y.offset},l=y.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(v={array:y.array},l=y.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)));var b={type:d,attributes:g,indices:v,maxItemPerNode:e,maxTreeDepth:r,extents:m};s.push(b)}}}return bvhWorkerPool.postMessage(s,Array.from(u))}).then(function(s){for(var u=0;u<o.length;u++){var l=o[u],c=l.geometry,p=s[u];if(c instanceof THREE__namespace.BufferGeometry){for(var f in p.attributes){var d=p.attributes[f].array,h=c.attributes[f];h instanceof THREE__namespace.InterleavedBufferAttribute?h.data.array=d:h.array=d}var m=c.getIndex();if(m&&p.indices){var d=p.indices.array;m instanceof THREE__namespace.InterleavedBufferAttribute?m.data.array=d:m.array=d}if(l instanceof THREE__namespace.Mesh){var g=new BVHMesh(p.attributes.position,p.indices);g.offsetArray=p.offsetArray,g.rootNodePacked=p.rootNodePacked,bindBvhTreeForMesh(l,g)}else if(l instanceof THREE__namespace.Points){var g=new BVHPoints(p.attributes.position,p.indices);g.offsetArray=p.offsetArray,g.rootNodePacked=p.rootNodePacked,bindBvhTreeForPoints(l,g)}}}return n})}var easeInCubic=function(n){return n*n*n},easeInQuart=function(n){return n*n*n*n},APPEAR_ANIMATION_DURATION=500,versionMap$1=new WeakMap,TileNode=function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o=noop$1);var s=n.call(this)||this;return s.name=e,s.materials=[],s.pbmObjects=[],s.contentObject=r,s.appearMotion=new Motion({appear:0}),s.disposers=[o],s.add(r),r.traverse(function(u){var l;if(u instanceof THREE__namespace.Mesh||u instanceof THREE__namespace.Points){var c=u.material;Array.isArray(c)?(l=s.materials).push.apply(l,c):s.materials.push(c)}(u instanceof PBMMesh||u instanceof PBMSkinnedMesh||u instanceof PBMPointCloud)&&s.pbmObjects.push(u)}),s}return t.prototype.generateBvhTree=function(){return generateBvhTree(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,o,s){r===void 0&&(r=null),o===void 0&&(o=!0),s===void 0&&(s=[]);for(var u=this.children.slice(),l,c=[];l=u.pop();)if(l.visible){l.raycast(e,c);for(var p=0,f=l.children.length;p<f;p++)u.push(l.children[p])}for(var p=0;p<c.length;p++){var d=c[p],h=0,m=-1;if((d.object instanceof PBMMesh||d.object instanceof PBMSkinnedMesh||d.object instanceof PBMPointCloud)&&d.face){var g=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;g&&(h=g.floorIndex,m=g.shownFloorIndex)}d.floor=h;var A=r!=null?r:m;A>=0&&h!==A&&(c.splice(p,1),p--)}return o&&c.sort(function(E,v){return E.distance-v.distance}),s.push.apply(s,c),s},t.prototype.update=function(e,r,o,s,u){var l,c=!1,p=((l=this.parent)===null||l===void 0?void 0:l.visible)===!0&&s.state.selectedFrameNumber===s.tileset.frameNumber;if(p){var f=1;this.appearMotion.getTargetKeyframe().value.appear!==f&&this.appearMotion.set({appear:f},APPEAR_ANIMATION_DURATION).catch(noop$1)}else{var f=0;this.appearMotion.getTargetKeyframe().value.appear!==f&&this.appearMotion.set({appear:f},0).catch(noop$1)}this.appearMotion.ended!==!0&&this.appearMotion.update(r.time);for(var d=0,h=this.pbmObjects;d<h.length;d++){var m=h[d];if(m instanceof PBMMesh||m instanceof PBMSkinnedMesh){var g=updatePBMMesh(m,this.appearMotion,e,r,o,s,u);g===!0&&(c=!0)}else if(m instanceof PBMPointCloud){var g=updatePBMPointCloud(m,this.appearMotion,e,r,o,s,u);g===!0&&(c=!0)}}return c},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var o=r[e];o()}this.disposers.length=0,this.pbmObjects.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject.clone())},t}(THREE__namespace.Object3D);function updatePBMMesh(n,t,e,r,o,s,u){var l=n.material,c=!1,p=u.versions.toString();if(versionMap$1.get(n)!==p){versionMap$1.set(n,p),c=!0,n.castShadow=u.castShadow,n.receiveShadow=u.receiveShadow;for(var f=0,d=l;f<d.length;f++){var h=d[f];h.customShaders=u.customShaders,h.pano0=u.pano0,h.pano1=u.pano1,h.pano0Depth=u.pano0Depth,h.pano1Depth=u.pano1Depth,h.refinedScreen=u.refinedScreen,h.modelAlpha=u.modelAlpha,h.progress=u.progress,h.transition=u.transition,h.opacity=u.opacity,h.floorStyle=u.floorStyle,h.constantColor=u.constantColor,h.shownFloorIndex=u.shownFloorIndex,h.clippers=u.clippers,h.brightness=u.brightness,h.useEDL=u.useEDL,h.useHQWeight=u.useHQWeight,h.useHQDepth=u.useHQDepth,h.colorSaturation=u.colorSaturation,h.colorBrightness=u.colorBrightness,h.gradientTexture=u.gradientTexture,u.useAddBlend?(h.depthWrite=!1,h.depthTest=!1,h.blending=THREE__namespace.AdditiveBlending):(h.depthWrite=!0,h.depthTest=!0,h.blending=THREE__namespace.NormalBlending),h.shaderType==="none"?(h.depthWrite=!1,h.transparent=!0):(h.transparent=h.alphaMode==="BLEND",h.depthWrite=!0,h.shownFloorIndex>-1&&h.shownFloorIndex!==h.floorIndex&&(h.transparent=!0),h.opacity*h.colorAlpha<1&&(h.transparent=!0),h.alphaMap&&(h.transparent=!0),h.brightness<1&&(h.transparent=!0),h.transparent&&(h.depthWrite=!1))}}for(var m=0,g=l;m<g.length;m++){var h=g[m];h.modelBoundingMax.copy(o.boundingBox.max),h.modelBoundingMin.copy(o.boundingBox.min)}return c}function updatePBMPointCloud(n,t,e,r,o,s,u){var l,c,p=n.geometry,f=[n.material],d=!1,h=u.versions.toString();if(u.pointAppearAnimation===!0&&s.refine==="ADD"&&s.tileset.rootMeta.pntsOrder==="RANDOM"){var m=s.tileset.currentMaxScreenSpaceError,g=s.state.screenSpaceError,A=(c=(l=s.parent)===null||l===void 0?void 0:l.state.screenSpaceError)!==null&&c!==void 0?c:g,E=1;A!==g&&(E=(A-m)/(A-g)),E=clamp$1(E,0,1),E=easeInCubic(E);var v=p.index?p.index.count:p.attributes.position?p.attributes.position.count:1/0,y=Math.floor(v*E*t.value.appear);p.drawRange.count!==y&&(p.setDrawRange(0,y),d=!0)}if(versionMap$1.get(n)!==h){versionMap$1.set(n,h),d=!0,n.castShadow=u.castShadow,n.receiveShadow=u.receiveShadow;for(var b=0,T=f;b<T.length;b++){var _=T[b];_.customShaders=u.customShaders,_.pointScale=u.pointScale,_.pointMinPixel=u.pointMinPixel,_.pointMaxPixel=u.pointMaxPixel,_.pointSize=u.pointSize,_.pointShape=u.pointShape,_.pointBack=u.pointBack,_.modelAlpha=u.modelAlpha,_.opacity=u.opacity,_.floorStyle=u.floorStyle,_.constantColor=u.constantColor,_.shownFloorIndex=u.shownFloorIndex,_.clippers=u.clippers,_.brightness=u.brightness,_.useEDL=u.useEDL,_.useHQWeight=u.useHQWeight,_.useHQDepth=u.useHQDepth,_.colorSaturation=u.colorSaturation,_.colorBrightness=u.colorBrightness,_.gradientTexture=u.gradientTexture,_.transparent=!1,_.shownFloorIndex>-1&&(_.transparent=_.shownFloorIndex!==_.floorIndex),_.modelAlpha<1&&(_.transparent=!0),_.opacity<1&&(_.transparent=!0),_.brightness<1&&(_.transparent=!0),u.useAddBlend?(_.depthWrite=!1,_.depthTest=!1,_.blending=THREE__namespace.AdditiveBlending):(_.depthWrite=!0,_.depthTest=!0,_.blending=THREE__namespace.NormalBlending),_.useEDL&&(_.transparent=!1),_.useHQWeight?(_.depthWrite=!1,_.blending=THREE__namespace.CustomBlending,_.blendSrc=THREE__namespace.SrcAlphaFactor,_.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,_.blendDst=THREE__namespace.OneFactor,_.blendDstAlpha=THREE__namespace.OneFactor):(_.blending=THREE__namespace.NormalBlending,_.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,_.blendEquation=THREE__namespace.AddEquation,_.blendSrcAlpha=null,_.blendDstAlpha=null,_.blendEquationAlpha=null)}}for(var S=0,R=f;S<R.length;S++){var _=R[S];_.modelBoundingMax.copy(o.boundingBox.max),_.modelBoundingMin.copy(o.boundingBox.min)}return d}function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(l){return(l!=null?l:"").trim()}).filter(function(l){return l.length>0&&!/^\/+$/.test(l)});for(var r=0;r<n.length;r++){var o=r===0,s=r===n.length-1,u=n[r];o||(u=u.replace(/^\.\//,"").replace(/^\/+/,"")),s||(u=u.replace(/\/+$/,"")),e.push(u)}return e.join("/")}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",o=n.slice(r.length+2),s=o.indexOf("#");s>=0&&(n.slice(s),o=n.slice(0,s));var u=o.indexOf("?");u>=0&&(n.slice(u),o=n.slice(0,u));for(var l=o.split("/"),c=l.shift(),p=(t=l.pop())!==null&&t!==void 0?t:"",f=[],d=0,h=l;d<h.length;d++){var m=h[d];if(!(m===""||m===".")){if(m===".."){f.pop();continue}f.push(m)}}return r+"//"+c+"/"+f.join("/")+"/"+p}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t){var e;if(n.content){var r=(e=n.content.uri)!==null&&e!==void 0?e:n.content.url;typeof r=="string"&&!isAbsoluteURL(r)&&(n.content.uri=normalizeURL(pathJoin(t,r)))}if(n.transform){for(var o=!1,s=0;s<16;s++){var u=n.transform[s];if(typeof u!="number"||isNaN(u)||!isFinite(u)){o=!0;break}}if(n.transform[15]===0&&(o=!0),o)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var l=0,c=n.children;l<c.length;l++){var p=c[l];normalizeTileHeader(p,t)}return n}function normalizeTilesetHeader(n,t){n.tilesetUrl=t;var e=t.slice(0,t.lastIndexOf("/")+1);if(n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.rootMeta.taskParameters||(n.rootMeta.taskParameters={}),n.asset.overview){var r=n.asset.overview;isAbsoluteURL(r.imageFile)||(r.imageFile=normalizeURL(pathJoin(e,r.imageFile))),isAbsoluteURL(r.worldFile)||(r.worldFile=normalizeURL(pathJoin(e,r.worldFile)))}if(n.asset.trajectories)for(var o=0;o<n.asset.trajectories.list.length;o++){var s=n.asset.trajectories.list[o];s.file=normalizeURL(pathJoin(e,s.file))}return normalizeTileHeader(n.root,e),n}function initTextures(n,t,e){for(var r,o,s=Promise.resolve(),u=n.slice(),l=function(){for(var c=[],p=0,f=void 0;f=u.shift();){c.push(f);var d=((r=f.image)===null||r===void 0?void 0:r.width)*((o=f.image)===null||o===void 0?void 0:o.height);if(!isNaN(d)&&isFinite(d)&&(p+=d),p>=e)break}s=s.then(function(){return new Promise(function(h){AnimationFrameLoop.shared.add(function(){for(var m=0,g=c;m<g.length;m++){var A=g[m];t.initTexture(A)}h()},!0)})}).catch(function(){})};u.length>0;)l();return s}function appendSearch(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}var ROTATE_X_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),ROTATE_X_MATRIX_INVERSE=new THREE__namespace.Matrix4().getInverse(ROTATE_X_MATRIX),SIZEOF_UINT32$1=4;function parseHeader$1(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$4,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$4={},_a$4[GL_TYPE.DOUBLE]=Float64Array,_a$4[GL_TYPE.FLOAT]=Float32Array,_a$4[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$4[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$4[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$4[GL_TYPE.BYTE]=Int8Array,_a$4[GL_TYPE.SHORT]=Int16Array,_a$4[GL_TYPE.INT]=Int32Array,_a$4),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var o=getArrayType(n);if(e%getByteSize(n)!==0){var s=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new o(s)}else return new o(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var o=this.json[t];if(typeof o=="number"){var s=getArrayType(e);return new s([o])}else if(Array.isArray(o)){var s=getArrayType(e);return new s(o)}else if(o&&Number.isFinite(o.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,o.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(e=glTypeFromName(o.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,o.byteOffset)):this.getTypedArrayFromArray(t,e,o)},n.prototype.getProperty=function(t,e,r,o,s){var u=this.json[t];if(!u)return null;var l=this.getPropertyArray(t,e,r);if(r===1)return s[0]=l[o],s;for(var c=0;c<r;++c)s[c]=l[r*o+c];return s},n.prototype.getTypedArrayFromBinary=function(t,e,r,o,s){var u=this.cachedTypedArrays,l=u[t];return l||(l=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+s,o*r),u[t]=l),l},n.prototype.getTypedArrayFromArray=function(t,e,r){var o=this.cachedTypedArrays,s=o[t];return s||(s=createTypedArray(e,r),o[t]=s),s},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),o=new Uint8Array(n,t,e),s=r.decode(o);return s}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),o=0;n.header=n.header||{};var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,l>=570425344?(e-=SIZEOF_UINT32*2,o=s,l=u,c=0,s=0,u=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,o=l,l=s,c=u,s=0,u=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=s,n.header.featureTableBinaryByteLength=u,n.header.batchTableJsonByteLength=l,n.header.batchTableBinaryByteLength=c,n.header.batchLength=o,e}function parseFeatureTable(n,t,e){var r=n.header||{},o=r.featureTableJsonByteLength,s=r.featureTableBinaryByteLength,u=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:u||0},o&&o>0){var l=getStringFromArrayBuffer(t,e,o);n.featureTableJson=JSON.parse(l)}e+=o||0,n.featureTableBinary=new Uint8Array(t,e,s),e+=s||0;var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var p=c.json.RTC_CENTER;n.rtcCenter=[p[0],p[1],p[2]]}else{var p=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);p&&(n.rtcCenter=[p[0],p[1],p[2]])}return e}function parseBatchTable(n,t,e){var r=n.header||{},o=r.batchTableJsonByteLength,s=r.batchTableBinaryByteLength;if(o&&o>0){var u=getStringFromArrayBuffer(t,e,o);n.batchTableJson=JSON.parse(u),e+=o,s&&s>0&&(n.batchTableBinary=new Uint8Array(t,e,s),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=s)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),o=new Uint8Array(r);return o.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(o){return t}}var WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",TEXCOORD_2:"uv3",TEXCOORD_3:"uv4",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}var canUseNativeImageBitmap=function(){return!1}();function createImageBitmapLikeImage(n){n===void 0&&(n={});var t=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onClose&&n.onClose.call(this),this.onerror=this.onload=this.close=noop$1,this.removeAttribute("src")}});return t}function createImageBitmapLike(n){return new Promise(function(t,e){var r=URL.createObjectURL(n),o=createImageBitmapLikeImage({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});o.onload=function(){o.src===r&&URL.revokeObjectURL(r),o.onload=o.onerror=noop$1,setTimeout(function(){t(o)},10)},o.onerror=function(){var s=o.src;o.onload=o.onerror=noop$1,o.close(),e(new Error("image load error: ".concat(s)))},o.decoding="async",o.src=r})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=noop$1,canvasPool.push(r)}});return r}function poolImageToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var o=new THREE__namespace.Texture(e);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){e.close(),s.call(o),o.dispose=s},o}else{var u=new THREE__namespace.Texture(n);u.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?u.flipY=!1:u.flipY=!0;var l=u.dispose;return u.dispose=function(){n.close(),l.call(u),u.dispose=l},u}}function poolImagesToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,o=n;r<o.length;r++){var s=o[r];s.close()}e.call(t),t.dispose=e},t}function composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var o=r[e];typeof o.dispose=="function"&&o.dispose(),typeof o.close=="function"&&o.close()}}}var Parser=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],o=0,s=e.length;o<s;o++)for(var u=e[o].joints,l=0,c=u.length;l<c;l++)t[u[l]].isBone=!0;for(var p=0,f=t.length;p<f;p++){var d=t[p];d.mesh!==void 0&&d.skin!==void 0&&(r[d.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var o=0,s=values(r);o<s.length;o++){var u=s[o];u.markDefs(this)}return Promise.all(values(r).map(function(l){return l.prepare(t)})).then(function(){var l,c,p;return Promise.all([Promise.all(((l=e.scenes)!==null&&l!==void 0?l:[]).map(function(f,d){return t.loadScene(d)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(f,d){return t.loadAnimation(d)})),Promise.all(((p=e.cameras)!==null&&p!==void 0?p:[]).map(function(f,d){return t.loadCamera(d)}))])}).then(function(l){var c=l[0],p=l[1],f=l[2],d={json:e,scene:c[e.scene||0],scenes:c,animations:p,cameras:f,textures:[],dispose:noop$1};return d}).then(function(l){return Promise.all(values(r).map(function(c){return c.emitResult(l,t)})).then(function(){return l})}).then(function(l){var c=Array.from(t.textureSet),p=composeDsiposeSet(t.disposeSet);return Object.assign(l,{textures:c,dispose:p}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),l})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadCamera(t,this),o)break}if(!o){var c=void 0,p=this.json.cameras[t],f=p[p.type];f?p.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(f.yfov),f.aspectRatio||1,f.znear||1,f.zfar||2e6):p.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-f.xmag,f.xmag,f.ymag,-f.ymag,f.znear,f.zfar):(console.warn("glTF: Invalid camera type ".concat(p.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),p.name&&(c.name=p.name),o=Promise.resolve(c)}return this.cache.set(e,o),o},n.prototype.loadSkin=function(t){var e="skin:"+t,r=this.cache.get(e);if(r)return r;var o,s=this.json.skins[t],u={joints:s.joints};return s.inverseBindMatrices===void 0?o=Promise.resolve(u):o=this.loadAccessor(s.inverseBindMatrices).then(function(l){return l&&(u.inverseBindMatrices=l),u}),this.cache.set(e,o),o},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadAnimation(t,this),o)break}if(!o){for(var c=this.json,p=c.animations[t],f=[],d=[],h=[],m=[],g=[],A=0,E=p.channels.length;A<E;A++){var v=p.channels[A],y=p.samplers[v.sampler],b=v.target,T=b.node!==void 0?b.node:b.id,_=p.parameters!==void 0?p.parameters[y.input]:y.input,S=p.parameters!==void 0?p.parameters[y.output]:y.output;f.push(this.loadNode(T)),d.push(this.loadAccessor(_)),h.push(this.loadAccessor(S)),m.push(y),g.push(b)}o=Promise.all([Promise.all(f),Promise.all(d),Promise.all(h),Promise.all(m),Promise.all(g)]).then(function(R){for(var M=R[0],H=R[1],B=R[2],C=R[3],w=R[4],I=[],O=function(J,G){var Q=M[J],U=H[J],V=B[J],X=C[J],Z=w[J];if(Q===void 0)return"continue";Q.updateMatrix(),Q.matrixAutoUpdate=!0;var ee=void 0;switch(PATH_PROPERTIES[Z.path]){case PATH_PROPERTIES.weights:ee=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:ee=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:ee=THREE__namespace.VectorKeyframeTrack;break}var K=Q.name?Q.name:Q.uuid,re=X.interpolation!==void 0?INTERPOLATION[X.interpolation]:THREE__namespace.InterpolateLinear,Y=[];PATH_PROPERTIES[Z.path]===PATH_PROPERTIES.weights?Q.traverse(function(fe){fe.morphTargetInfluences&&Y.push(fe.name?fe.name:fe.uuid)}):Y.push(K);var W=V.array;if(V.normalized){for(var le=getNormalizedComponentScale(W.constructor),oe=new Float32Array(W.length),ae=0,se=W.length;ae<se;ae++)oe[ae]=W[ae]*le;W=oe}for(var ae=0,se=Y.length;ae<se;ae++){var ie=new ee(Y[ae]+"."+PATH_PROPERTIES[Z.path],U.array,W,re);I.push(ie)}},F=0,N=M.length;F<N;F++)O(F);var z=p.name?p.name:"animation_"+t;return new THREE__namespace.AnimationClip(z,void 0,I)})}return this.cache.set(e,o),o},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadBuffer(t,this),s)break}if(!s){var p=this.json.buffers[t];s=this.options.fetcher.ajax(this.resolveResouce(p.uri),{responseType:"arraybuffer"}).then(function(f){return f.body})}return this.cache.set(r,s),s},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadBufferView(t,this),o)break}if(!o){var c=this.json.bufferViews[t];o=this.loadBuffer(c.buffer).then(function(p){var f=c.byteLength||0,d=c.byteOffset||0;return p.slice(d,d+f)})}return this.cache.set(e,o),o},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,o=this.cache.get(r);if(o)return o;var s=null;if(!s){var u=this.json.accessors[t];if(u.bufferView===void 0&&u.sparse===void 0)s=Promise.resolve(null);else{var l=[];u.bufferView!==void 0?l.push(this.loadBufferView(u.bufferView)):l.push(Promise.resolve(null)),u.sparse!==void 0&&(l.push(this.loadBufferView(u.sparse.indices.bufferView)),l.push(this.loadBufferView(u.sparse.values.bufferView))),s=Promise.all(l).then(function(c){var p=c[0],f=WEBGL_TYPE_SIZES[u.type],d=WEBGL_COMPONENT_TYPES[u.componentType],h=d.BYTES_PER_ELEMENT,m=h*f,g=u.byteOffset||0,A=u.bufferView!==void 0?e.json.bufferViews[u.bufferView].byteStride:void 0,E=u.normalized===!0,v,y;if(A&&A!==m){var b=Math.floor(g/A),T="InterleavedBuffer:"+u.bufferView+":"+u.componentType+":"+b+":"+u.count,_=e.cache.get(T);_||(v=new d(p,b*A,u.count*A/h),_=new THREE__namespace.InterleavedBuffer(v,A/h),e.cache.set(T,_)),y=new THREE__namespace.InterleavedBufferAttribute(_,f,g%A/h,E)}else p===null?v=new d(u.count*f):v=new d(p,g,u.count*f),y=new THREE__namespace.BufferAttribute(v,f,E);if(u.sparse!==void 0){var S=WEBGL_TYPE_SIZES.SCALAR,R=WEBGL_COMPONENT_TYPES[u.sparse.indices.componentType],M=u.sparse.indices.byteOffset||0,H=u.sparse.values.byteOffset||0,B=new R(c[1],M,u.sparse.count*S),C=new d(c[2],H,u.sparse.count*f);p!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var w=0,I=B.length;w<I;w++){var O=B[w];if(y.setX(O,C[w*f]),f>=2&&y.setY(O,C[w*f+1]),f>=3&&y.setZ(O,C[w*f+2]),f>=4&&y.setW(O,C[w*f+3]),f>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,s),s},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var o=r[e],s=o.createPrimitiveKey(t,this);if(s)return s}for(var u="",l=Object.keys(t.attributes).sort(),c=0,p=l.length;c<p;c++)u+=l[c]+":"+t.attributes[l[c]]+";";return t.indices+":"+u+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(l){return e.disposeSet.add(l),l}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadImage(t,this),r)break}if(!r){var l=this.json.images[t];if(l.bufferView!==void 0){var c=this.json.bufferViews[l.bufferView];r=this.loadBuffer(c.buffer).then(function(f){var d=c.byteOffset||0,h=c.byteLength||0,m=new Uint8Array(f,d,h),g=new Blob([m],{type:l.mimeType});return createImageBitmapLike(g)})}else if(l.uri){var p=this.resolveResouce(l.uri);r=this.options.fetcher.loadImage(p,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(f){return f.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(f){return e.disposeSet.add(f),f}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],o=new THREE__namespace.MeshStandardMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(f){f.encoding=THREE__namespace.sRGBEncoding,o.map=f,e.disposeSet.add(f)})),o.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,o.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(u.metallicRoughnessTexture).then(function(f){o.metalnessMap=f,o.roughnessMap=f,e.disposeSet.add(f)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&(r.push(this.createMaterialTexture(s.normalTexture).then(function(f){o.normalMap=f,e.disposeSet.add(f)})),o.normalScale=new THREE__namespace.Vector2(1,1),s.normalTexture.scale!==void 0)){var p=s.normalTexture.scale;o.normalScale.set(p,p)}s.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(s.occlusionTexture).then(function(f){o.aoMap=f,e.disposeSet.add(f)})),s.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&(o.emissive=new THREE__namespace.Color().fromArray(s.emissiveFactor)),s.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(s.emissiveTexture).then(function(f){o.emissiveMap=f,e.disposeSet.add(f)}))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsMeshBasicMaterial=function(t){var e=this,r=[],o=new THREE__namespace.MeshBasicMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(p){o.map=p,e.disposeSet.add(p)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(s.occlusionTexture).then(function(p){o.aoMap=p,e.disposeSet.add(p)})),s.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=s.occlusionTexture.strength))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,t.material!==void 0){var o=this.json.materials[t.material];o.name&&(r.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;r.color.fromArray(u),r.opacity=u[3]}o.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,l===ALPHA_MODES.MASK&&(r.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],o=new THREE__namespace.PointsMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,o.sizeAttenuation=!1,t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(p){p.encoding=THREE__namespace.sRGBEncoding,o.map=p,e.disposeSet.add(p)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterial=function(t){var e=this,r,o=(r=t.mode)!==null&&r!==void 0?r:WEBGL_CONSTANTS.TRIANGLES,s="material:"+this.createPrimitiveKey(t),u=this.cache.get(s);if(u)return u;for(var l=null,c=0,p=values(this.extensions);c<p.length;c++){var f=p[c];if(l=f.loadMaterial(t,this),l)break}if(!l)if(o===WEBGL_CONSTANTS.TRIANGLES||o===WEBGL_CONSTANTS.TRIANGLE_STRIP||o===WEBGL_CONSTANTS.TRIANGLE_FAN)this.extensions.KHR_materials_unlit?l=this.loadMaterialAsMeshBasicMaterial(t):l=this.loadMaterialAsMeshStandardMaterial(t);else if(o===WEBGL_CONSTANTS.LINES||o===WEBGL_CONSTANTS.LINE_STRIP||o===WEBGL_CONSTANTS.LINE_LOOP)l=this.loadMaterialAsLineBasicMaterial(t);else if(o===WEBGL_CONSTANTS.POINTS)l=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+o);return l=l.then(function(d){return Promise.all(values(e.extensions).map(function(h){return h.extendMaterial(d,t,e)})).then(function(){return d})}),this.cache.set(s,l),l},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadTexture(t,this),s)break}if(!s){var p=this.json.textures[t];s=this.loadImage(p.source).then(function(f){var d=new THREE__namespace.Texture(f);d.needsUpdate=!0,d.flipY=!1,p.name&&(d.name=p.name);var h=e.json.samplers||{},m=h[p.sampler]||{};return d.magFilter=WEBGL_FILTERS[m.magFilter]||THREE__namespace.LinearFilter,d.minFilter=WEBGL_FILTERS[m.minFilter]||THREE__namespace.LinearMipmapLinearFilter,d.wrapS=WEBGL_WRAPPINGS[m.wrapS]||THREE__namespace.RepeatWrapping,d.wrapT=WEBGL_WRAPPINGS[m.wrapT]||THREE__namespace.RepeatWrapping,d.onUpdate=function(){f.close()},d})}return s=s.then(function(f){return e.disposeSet.add(f),f}),this.cache.set(r,s),s},n.prototype.loadMesh=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadMesh(t,this),r)break}if(!r){var l=this.json.meshes[t],c=l.primitives,p=Promise.all(c.map(function(d){return e.loadGeometry(d)})),f=Promise.all(c.map(function(d){return e.loadMaterial(d)}));r=Promise.all([p,f]).then(function(d){for(var h=d[0],m=d[1],g=[],A=0;A<c.length;A++){var E=c[A],v=h[A],y=m[A],b=E.mode||WEBGL_CONSTANTS.TRIANGLES,T=void 0;if(b===WEBGL_CONSTANTS.TRIANGLES||b===WEBGL_CONSTANTS.TRIANGLE_STRIP||b===WEBGL_CONSTANTS.TRIANGLE_FAN)if(b===WEBGL_CONSTANTS.TRIANGLE_STRIP?v=e.toGeometryTrianglesDrawMode(v,THREE__namespace.TriangleStripDrawMode):b===WEBGL_CONSTANTS.TRIANGLE_FAN&&(v=e.toGeometryTrianglesDrawMode(v,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(v),l.isSkinnedMesh){var _=new THREE__namespace.SkinnedMesh(v,y);v.attributes.skinWeight.normalized||_.normalizeSkinWeights(),T=_}else T=new THREE__namespace.Mesh(v,y);else if(b===WEBGL_CONSTANTS.POINTS)T=new THREE__namespace.Points(v,y);else if(b===WEBGL_CONSTANTS.LINES)T=new THREE__namespace.LineSegments(v,y);else if(b===WEBGL_CONSTANTS.LINE_STRIP)T=new THREE__namespace.Line(v,y);else if(b===WEBGL_CONSTANTS.LINE_LOOP)T=new THREE__namespace.LineLoop(v,y);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(v.morphAttributes).length>0){if(l.weights!==void 0)for(var S=0,R=l.weights.length;S<R;S++)T.morphTargetInfluences[S]=l.weights[S];if(l.extras&&Array.isArray(l.extras.targetNames)){var M=l.extras.targetNames;if(T.morphTargetInfluences.length===M.length){T.morphTargetDictionary={};for(var S=0,R=M.length;S<R;S++)T.morphTargetDictionary[M[S]]=S}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}T.name=l.name||"mesh_"+t,h.length>1&&(T.name+="_"+A),e.assignFinalMaterial(T),g.push(T)}if(g.length===1)return g[0];for(var H=new THREE__namespace.Group,B=0,C=g;B<C.length;B++){var T=C[B];H.add(T)}return H})}return r},n.prototype.assignFinalMaterial=function(t){var e=this,r=t.geometry,o=[].concat(t.material),s=r.attributes.tangent!==void 0,u=r.attributes.color!==void 0,l=r.attributes.normal===void 0,c=t instanceof THREE__namespace.SkinnedMesh,p=Object.keys(r.morphAttributes).length>0,f=p&&r.morphAttributes.normal!==void 0;o=o.map(function(d){if(s||u||l||c||p||f){var h="cloned-material:"+d.uuid+":";s&&(h+="vertex-tangents:"),u&&(h+="vertex-colors:"),l&&(h+="flat-shading:"),c&&(h+="skinning:"),p&&(h+="morph-targets:"),f&&(h+="morph-normals:");var m=e.cache.get(h);m||(m=d.clone(),s&&(m.vertexTangents=!0),u&&(m.vertexColors=!0),l&&(m.flatShading=!0),c&&(m.skinning=!0),p&&(m.morphTargets=!0),f&&(m.morphNormals=!0),s&&(m.normalScale&&(m.normalScale.y*=-1),m.clearcoatNormalScale&&(m.clearcoatNormalScale.y*=-1)),e.cache.set(h,m)),d=m}return d}),Array.isArray(t.material)?t.material=o:t.material=o[0]},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,o=values(this.extensions);r<o.length;r++){var s=o[r],u=s.loadNodeAttachments(t,this);u&&e.push(u)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var o=this.json,s=o.nodes[t],u=[];s.mesh!==void 0&&u.push(this.loadMesh(s.mesh).then(function(d){if(s.weights!==void 0){var h=s.weights;d.traverse(function(m){if(m instanceof THREE__namespace.Mesh||m instanceof THREE__namespace.Line||m instanceof THREE__namespace.Points)for(var g=0,A=h.length;g<A;g++)m.morphTargetInfluences[g]=h[g]})}return d})),s.camera!==void 0&&u.push(this.loadCamera(s.camera));for(var l=this.loadNodeAttachments(t),c=0,p=l;c<p.length;c++){var f=p[c];u.push(f)}return Promise.all(u).then(function(d){var h;if(s.isBone===!0?h=new THREE__namespace.Bone:d.length>1?h=new THREE__namespace.Group:d.length===1?h=d[0]:h=new THREE__namespace.Object3D,h!==d[0])for(var m=0,g=d.length;m<g;m++)h.add(d[m]);if(s.name&&(h.userData.name=s.name,h.name=THREE__namespace.PropertyBinding.sanitizeNodeName(s.name)),s.matrix!==void 0){var A=new THREE__namespace.Matrix4;A.fromArray(s.matrix),h.applyMatrix4(A)}else s.translation!==void 0&&h.position.fromArray(s.translation),s.rotation!==void 0&&h.quaternion.fromArray(s.rotation),s.scale!==void 0&&h.scale.fromArray(s.scale);return h})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],o=new THREE__namespace.Group;r.name&&(o.name=r.name);for(var s=r.nodes||[],u=[],l=0,c=s.length;l<c;l++)u.push(this.buildNodeHierarchy(s[l],o));return Promise.all(u).then(function(){return o})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var o=0,s=values(e.extensions);o<s.length;o++){var u=s[o],l=u.extendTexture(r,t,e);l&&(r=l)}return e.textureSet.add(r),e.disposeSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,o=e.attributes,s=[],u=function(_){var S=ATTRIBUTES[_]||_.toLowerCase();if(S in t.attributes)return"continue";s.push(l.loadAccessor(o[_]).then(function(R){R&&t.setAttribute(S,R)}))},l=this;for(var c in o)u(c);e.indices!==void 0&&!t.index&&s.push(this.loadAccessor(e.indices).then(function(_){_&&t.setIndex(_)}));var p=new THREE__namespace.Box3;if(o.POSITION!==void 0){var f=this.json.accessors[o.POSITION],d=f.min,h=f.max;if(d!==void 0&&h!==void 0){if(p.set(new THREE__namespace.Vector3(d[0],d[1],d[2]),new THREE__namespace.Vector3(h[0],h[1],h[2])),f.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[f.componentType]);p.min.multiplyScalar(m),p.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var g=e.targets;if(g!==void 0){for(var A=new THREE__namespace.Vector3,E=new THREE__namespace.Vector3,v=0,y=g.length;v<y;v++){var b=g[v];if(b.POSITION!==void 0){var f=this.json.accessors[b.POSITION],d=f.min,h=f.max;if(d!==void 0&&h!==void 0){if(E.setX(Math.max(Math.abs(d[0]),Math.abs(h[0]))),E.setY(Math.max(Math.abs(d[1]),Math.abs(h[1]))),E.setZ(Math.max(Math.abs(d[2]),Math.abs(h[2]))),f.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[f.componentType]);E.multiplyScalar(m)}A.max(E)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}p.expandByVector(A)}t.boundingBox=p;var T=new THREE__namespace.Sphere;return p.getCenter(T.center),T.radius=p.min.distanceTo(p.max)/2,t.boundingSphere=T,Promise.all(s).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var _=!1,S=!1,R=0,M=e.targets.length;R<M;R++){var H=e.targets[R];if(H.POSITION!==void 0&&(_=!0),H.NORMAL!==void 0&&(S=!0),_&&S)break}if(!_&&!S)return t;var B=[];t.morphTargetsRelative=!0;for(var C=function(w,I){var O=e.targets[w];_?B.push(r.loadAccessor(O.POSITION).then(function(F){F&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[w]=F)})):t.attributes.position&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[w]=t.attributes.position),S?B.push(r.loadAccessor(O.NORMAL).then(function(F){F&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[w]=F)})):t.attributes.normal&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[w]=t.attributes.normal)},R=0,M=e.targets.length;R<M;R++)C(R,M);return Promise.all(B).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,o=this.json.nodes[t];return this.loadNode(t).then(function(s){if(o.skin===void 0)return s;var u;return r.loadSkin(o.skin).then(function(l){u=l;for(var c=[],p=0,f=u.joints.length;p<f;p++)c.push(r.loadNode(u.joints[p]));return Promise.all(c)}).then(function(l){return s.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var p=[],f=[],d=0,h=l.length;d<h;d++){var m=l[d];if(m instanceof THREE__namespace.Bone){p.push(m);var g=new THREE__namespace.Matrix4;u.inverseBindMatrices!==void 0&&g.fromArray(u.inverseBindMatrices.array,d*16),f.push(g)}else console.warn('glTF: Joint "%s" could not be found.',u.joints[d])}c.bind(new THREE__namespace.Skeleton(p,f))}}),s})}).then(function(s){e.add(s);var u=[];if(o.children)for(var l=o.children,c=0,p=l.length;c<p;c++){var f=l[c];u.push(r.buildNodeHierarchy(f,s))}return Promise.all(u).then(function(){return s})})},n.prototype.resolveResouce=function(t){return/^[a-z]{0,8}\:/i.test(t)?t:pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var o=[],s=t.getAttribute("position");if(s!==void 0){for(var u=0;u<s.count;u++)o.push(u);t.setIndex(o),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var l=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var u=1;u<=l;u++)c.push(r.getX(0)),c.push(r.getX(u)),c.push(r.getX(u+1));else for(var u=0;u<l;u++)u%2===0?(c.push(r.getX(u)),c.push(r.getX(u+1)),c.push(r.getX(u+2))):(c.push(r.getX(u+2)),c.push(r.getX(u+1)),c.push(r.getX(u)));c.length/3!==l&&console.error("glTF: Unable to generate correct amount of triangles.");var p=t.clone();return p.setIndex(c),this.disposeSet.add(p),p},n}();function getNormalizedComponentScale(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var BaseExtension=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.extendMaterial=function(t,e,r){return Promise.resolve()},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),KHR_binary_glTF=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var o=new DataView(e,t.HEADER_LENGTH),s=0,u=null,l=null;s<o.byteLength;){var c=o.getUint32(s,!0);if(s+=4,c!==0){var p=o.getUint32(s,!0);if(s+=4,p===t.CHUNK_TYPES.JSON){var f=new Uint8Array(e,t.HEADER_LENGTH+s,c);u=decodeText(f)}else if(p===t.CHUNK_TYPES.BIN){var d=t.HEADER_LENGTH+s;l=e.slice(d,d+c)}s+=c}}if(u===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=u,this.body=l},t.prototype.loadBuffer=function(e,r){var o=r.json.buffers[e];return o.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,o){var s={attributeIDs:r||defaultAttributeIDs,attributeTypes:o||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,s).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var o in e.attributeTypes){var s=e.attributeTypes[o];s.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[o]=s.name)}var u,l=this.workerNextTaskID++,c=t.byteLength,p=this._getWorker(l,c).then(function(f){return u=f,new Promise(function(d,h){u._callbacks[l]={resolve:d,reject:h},u.postMessage({type:"decode",id:l,taskConfig:e,buffer:t},[t])})}).then(function(f){return r._createGeometry(f.geometry)});return p.catch(function(){return!0}).then(function(){u&&l&&r._releaseTask(u,l)}),p},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var o=t.attributes[r],s=o.name,u=o.array,l=o.itemSize,c=!(u instanceof Float32Array||u instanceof Float64Array);e.setAttribute(s,new THREE__namespace.BufferAttribute(u,l,c))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(s){return s.body});this.decoderPending=r.then(function(s){var u=["/* draco decoder */",s,"","/* worker */",DRACOWorker].join(`
|
|
404
|
+
`));var H=String(r.clippers.length);c.vertexShader=c.vertexShader.replace(/NUM_CLIPPERS/g,H),c.fragmentShader=c.fragmentShader.replace(/NUM_CLIPPERS/g,H);for(var B=0,C=b;B<C.length;B++){var w=C[B];w.onBeforeCompile&&w.onBeforeCompile(c,p)}};var u="";r.onBeforeRender=function(c,p,f,d,h,m){var g=r.shaderType;f instanceof Camera?(s.pixelRatio.value=f.pixelRatio,s.resolution.value.copy(f.resolution)):(s.pixelRatio.value=c.getPixelRatio(),c.getViewport(scratchViewport),s.resolution.value.set(scratchViewport.width,scratchViewport.height));var A=r.customShaders.filter(function(v){return v.type.includes(g)}),E=A.map(function(v){return"".concat(v.id,":").concat(v.version)}).join("|");u!==E&&(u=E,r.needsUpdate=!0)},Object.defineProperty(r,"uniform",{configurable:!1,enumerable:!1,get:function(){return s}}),defineProperty(r,"isPBMPointCloudMaterial",{get:function(){return!0}}),defineProperty(r,"isShaderMaterial",{get:function(){return!0}}),defineProperty(r,"opacity",{get:function(){return s.opacity.value},set:function(c){s.opacity.value=c}}),defineProperty(r,"vertexMarks",{get:function(){return!!o.USE_VERTEX_MARK},set:function(c){o.USE_VERTEX_MARK!==c&&(o.USE_VERTEX_MARK=c,this.needsUpdate=!0)}}),defineProperty(r,"pointScale",{get:function(){return s.pointScale.value},set:function(c){s.pointScale.value=c}}),defineProperty(r,"pointMinPixel",{get:function(){return s.pointMinPixel.value},set:function(c){s.pointMinPixel.value=c}}),defineProperty(r,"pointMaxPixel",{get:function(){return s.pointMinPixel.value},set:function(c){s.pointMaxPixel.value=c}}),defineProperty(r,"pointSize",{get:function(){return this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(c){var p=c==="ATTENUATION";this.defines.USE_POINT_SIZE_ATTENUATION!==p&&(this.defines.USE_POINT_SIZE_ATTENUATION=p,this.needsUpdate=!0)}}),defineProperty(r,"pointShape",{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(c){var p=c==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==p&&(this.defines.USE_POINT_SHAPE_CIRCLE=p,this.needsUpdate=!0)}}),defineProperty(r,"pointBack",{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(c){var p=c==="HIDDEN",f=c==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==p&&(this.defines.USE_POINT_BACK_HIDDEN=p,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==f&&(this.defines.USE_POINT_BACK_DARK=f,this.needsUpdate=!0)}}),defineProperty(r,"modelAlpha",{get:function(){return s.modelAlpha.value},set:function(c){s.modelAlpha.value=c}}),defineProperty(r,"colorStyle",{get:function(){return o.USE_COLOR_CONSTANT?"CONSTANT":o.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(c){var p=c==="CONSTANT",f=c==="ALTITUDE";o.USE_COLOR_CONSTANT!==p&&(o.USE_COLOR_CONSTANT=p,this.needsUpdate=!0),o.USE_COLOR_ALTITUDE!==f&&(o.USE_COLOR_ALTITUDE=f,this.needsUpdate=!0)}}),defineProperty(r,"constantColor",{get:function(){return s.constantColor.value},set:function(c){s.constantColor.value=c}}),defineProperty(r,"floorIndex",{get:function(){return s.floorIndex.value},set:function(c){s.floorIndex.value=c}}),defineProperty(r,"shownFloorIndex",{get:function(){return s.shownFloorIndex.value},set:function(c){s.shownFloorIndex.value=c}}),defineProperty(r,"floorStyle",{get:function(){return o.USE_FLOOR_STYLE_VISIBILITY?"VISIBILITY":"OPACITY"},set:function(c){var p=c==="VISIBILITY";o.USE_FLOOR_STYLE_VISIBILITY!==p&&(o.USE_FLOOR_STYLE_VISIBILITY=p,this.needsUpdate=!0)}}),defineProperty(r,"gradientTexture",{get:function(){return s.gradientTexture.value},set:function(c){s.gradientTexture.value=c}}),defineProperty(r,"brightness",{get:function(){return s.brightness.value},set:function(c){s.brightness.value=c}});var l=[];return defineProperty(r,"clippers",{get:function(){return l},set:function(c){l!==c&&(l=c,s.clippers.value=l.map(function(p){var f=typeof p.floorIndex=="number"?p.floorIndex:-1,d=new THREE__namespace.Matrix4().getInverse(p.clippingBoxMatrix);return{matrixInverse:d,floorIndex:f}}),this.needsUpdate=!0)}}),defineProperty(r,"colorSaturation",{get:function(){return s.colorSaturation.value},set:function(c){s.colorSaturation.value=c}}),defineProperty(r,"colorBrightness",{get:function(){return s.colorBrightness.value},set:function(c){s.colorBrightness.value=c}}),defineProperty(r,"outlineGain",{get:function(){return s.outlineGain.value},set:function(c){s.outlineGain.value=c}}),defineProperty(r,"distanceGain",{get:function(){return s.distanceGain.value},set:function(c){s.distanceGain.value=c}}),defineProperty(r,"useEDL",{get:function(){return o.USE_EDL},set:function(c){c!==o.USE_EDL&&(o.USE_EDL=c,this.needsUpdate=!0)}}),defineProperty(r,"useHQWeight",{get:function(){return o.USE_HQ_WEIGHT},set:function(c){c!==o.USE_HQ_WEIGHT&&(o.USE_HQ_WEIGHT=c,this.needsUpdate=!0)}}),defineProperty(r,"useHQDepth",{get:function(){return o.USE_HQ_DEPTH},set:function(c){c!==o.USE_HQ_DEPTH&&(o.USE_HQ_DEPTH=c,this.needsUpdate=!0)}}),defineProperty(r,"modelBoundingMin",{get:function(){return s.modelBoundingMin.value},set:function(c){s.modelBoundingMin.value=c}}),defineProperty(r,"modelBoundingMax",{get:function(){return s.modelBoundingMax.value},set:function(c){s.modelBoundingMax.value=c}}),typeof e=="object"&&r.setValues(e),r}return t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.pointScale=e.pointScale,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.customShaders=e.customShaders,this.modelAlpha=e.modelAlpha,this.colorStyle=e.colorStyle,this.constantColor.copy(e.constantColor),this.floorIndex=e.floorIndex,this.shownFloorIndex=e.shownFloorIndex,this.floorStyle=e.floorStyle,this.gradientTexture=e.gradientTexture,this.brightness=e.brightness,this.clippers=e.clippers,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.outlineGain=e.outlineGain,this.distanceGain=e.distanceGain,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.modelBoundingMin.copy(e.modelBoundingMin),this.modelBoundingMax.copy(e.modelBoundingMax),this},t.prototype.clone=function(){var e=this.constructor;return new e().copy(this)},t.prototype.refreshUniforms=function(){},t}(PBMMaterial),PBMPointCloud=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.onBeforeRender=function(s,u,l,c,p,f){p instanceof PBMPointCloudMaterial&&p.onBeforeRender&&p.onBeforeRender(s,u,l,c,o,f)},o}return t}(THREE__namespace.Points),ROTATE_X_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),ROTATE_X_MATRIX_INVERSE=new THREE__namespace.Matrix4().getInverse(ROTATE_X_MATRIX);function createSymbol(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var EVENT_SYMBOL=createSymbol("$$FIVE_EVENT$$");function __generateEventIfNotExisted(n){return n[EVENT_SYMBOL]||(n[EVENT_SYMBOL]={}),n[EVENT_SYMBOL]}function __removeEvents(n){n[EVENT_SYMBOL]&&delete n[EVENT_SYMBOL]}var Subscribe=function(){function n(){}return n.prototype.hasListener=function(t){var e=__generateEventIfNotExisted(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var o=this,s=__generateEventIfNotExisted(this);return s[t]||(s[t]={callbacks:[]}),s[t].callbacks.push([e,r||!1]),function(){return o.off(t,e)}},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.off=function(t,e){if(t===void 0){__removeEvents(this);return}var r=__generateEventIfNotExisted(this);if(r[t]||(r[t]={callbacks:[]}),e===void 0){r[t].callbacks.length=0;return}for(var o=0;o<r[t].callbacks.length&&r[t].callbacks[o][0]!==e;o++);o<r[t].callbacks.length&&r[t].callbacks.splice(o,1)},n.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var o=!1,s=__generateEventIfNotExisted(this);s[t]||(s[t]={callbacks:[]});for(var u=s[t].callbacks.slice(),l=0,c=u;l<c.length;l++){var p=c[l],f=p[0],d=p[1],h=d===void 0?!1:d,m=f.apply(void 0,e);h&&this.off(t,f),m===!1&&(o=!0)}return o},n.prototype.waitUntil=function(t,e){var r=this;return new Promise(function(o){var s=r.on(t,function(){for(var u=[],l=0;l<arguments.length;l++)u[l]=arguments[l];(!e||e.apply(void 0,u)!==!1)&&(o(u),s())})})},n}();function noop$1(){}function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var domainRegex=/^([^.]+)(\.([^.]+))*$/;function match(n,t){if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var o=0;o<e.length;o++)if(e[o]!==r[o])return!1;return!0}function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){return domainRegex.test(n)&&domainRegex.test(t)&&match(n,t)}var JSONP_REGEXPS=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse(function(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/rnyrr;p{/9/rnyrr;p|z/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),NetworkProxyError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t}(Error),NetworkResponseError=function(n){__extends(t,n);function t(e,r,o){var s=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(o,"): ").concat(e))||this;return s.httpStatus=o,s}return t}(Error);(function(n){__extends(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var NetworkTimeoutError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(o,"ms): ").concat(e))||this}return t}(Error),NetworkFirbiddenError=function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t}(Error);function parseHeaders(n){if(!n)return{};for(var t={},e=n.trim().split(`
|
|
405
|
+
`),r=0;r<e.length;r++){var o=e[r],s=o.indexOf(":"),u=o.slice(0,s).trim().toLowerCase(),l=o.slice(s+1).trim();l&&(t[u]?t[u]+=", "+l:t[u]=l)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],o=n.match(r);if(o)return"jsonp_"+o[1]}return null}function isJsonpSource(n){return matchJsonpFunctionName(n)!==null}function getProtocol(n){var t=n.match(/^([0-9a-z]+\:)\/\/(([^:/?#]*)(?::[0-9]+)?)/);return t?t[1]:location.protocol}function hostnameFromURL(n){if(/^blob\:/i.test(n))return"blob:";if(/^data\:/i.test(n))return"data:";var t=n.match(/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i);return t?t[2]:location.hostname}var NetworkSubscribe=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(Subscribe);function ajax(n,t,e,r,o){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return/^https\:/.test(location.href)&&/^http\:/.test(l)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c,p=matchJsonpFunctionName(n),f=p?"Script":"XMLHttpRequest",d=new NetworkProxyError(u,f,l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,f,"proxy-error",d.message),Promise.reject(d)}).then(function(l){return new Promise(function(c,p){var f,d=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),h=hostnameFromURL(l),m=matchJsonpFunctionName(l);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(I){return matchDomain(I,location.hostname)}).length===0&&!isIPDomain(h)&&d.filter(function(I){return matchDomain(I,h)}).length===0){var g=m?"Script":"XMLHttpRequest",A=new NetworkFirbiddenError(l,g,"request host(".concat(h,") is not allowed"));r(A),p(A),(f=t.networkSubscribe)===null||f===void 0||f.emit("network",l,g,"forbidden",A.message);return}if(m){var E=window,v=null,y=!1,b=document.createElement("script"),T=function(){var I;if(v=null,y!==!0){y=!0;var O=new NetworkTimeoutError(l,"Script",t.timeout||NaN);r(O),p(O),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"Script","timeout",O.message)}},_=function(I){var O,F,N=now(),z=N-s;if(delete E[m],b.parentNode&&b.parentNode.removeChild(b),v!==null&&(window.clearTimeout(v),v=null),y!==!0){if(I.indexOf("data:")!==0){var J=new NetworkResponseError(l,"Script",500);r(J),p(J),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",l,"Script","error",J.message);return}var G=I.split(","),Q=(G[0].match(/:(.*?);/)||[])[1],U=G[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var V=atob(G[1]),X=V.length,Z=new Uint8Array(X),ee=0;ee<X;ee++)Z[ee]=V.charCodeAt(ee);t.responseType==="arraybuffer"?U=Z.buffer:U=new Blob([Z],{type:Q})}var K={},re={body:U,meta:{origin:u,source:l,requestTime:s,responseTime:N,costs:z,headers:K}};e(re),c(re),(F=t.networkSubscribe)===null||F===void 0||F.emit("network",l,"Script","ok",JSON.stringify(re.meta)),y=!0}};E[m]=_,b.src=l,document.body.appendChild(b),typeof t.timeout=="number"&&(v=window.setTimeout(T,t.timeout))}else{var S=!1,R=new XMLHttpRequest,M=function(){R&&(R.removeEventListener("timeout",H,!1),R.removeEventListener("progress",B,!1),R.removeEventListener("load",C,!1),R.removeEventListener("error",w,!1)),R=null,M=noop$1},H=function(){var I;if(S!==!0){S=!0,M();var O=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(O),p(O),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"XMLHttpRequest","timeout",O.message)}},B=function(I){S!==!0&&I.lengthComputable&&(I.total<=0||o(I.loaded/I.total))},C=function(I){var O;if(S!==!0){var F=this.status;if(F===0||F>=200&&F<400){S=!0,M();var N=now(),z=N-s,J=parseHeaders(this.getAllResponseHeaders()),G=I.total,Q={body:this.response,meta:{origin:u,source:l,requestTime:s,responseTime:N,costs:z,headers:J,size:G}};e(Q),c(Q),(O=t.networkSubscribe)===null||O===void 0||O.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(Q.meta))}else w.call(this)}},w=function(){var I;if(S!==!0){S=!0,M();var O=new NetworkResponseError(l,"XMLHttpRequest",this.status);r(O),p(O),(I=t.networkSubscribe)===null||I===void 0||I.emit("network",l,"XMLHttpRequest","error",O.message)}};R.addEventListener("timeout",H,!1),R.addEventListener("progress",B,!1),R.addEventListener("load",C,!1),R.addEventListener("error",w,!1),t.responseType&&(R.responseType=t.responseType),typeof t.timeout=="number"&&(R.timeout=t.timeout),R.open("GET",l,!0),R.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(o){return/^https\:/.test(location.href)&&/^http\:/.test(o)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(o,"'. This request was automatically upgraded to HTTPS")),o.replace(/^http\:/,"https:")):o}).catch(function(o){var s,u=new NetworkProxyError(r,"Link",o&&o.message?String(o.message):String(o));return(s=t.networkSubscribe)===null||s===void 0||s.emit("network",n,"Link","proxy-error",u.message),Promise.reject(u)}).then(function(o){return o in preloadCache?preloadCache[o]:preloadCache[o]=new Promise(function(s,u){var l,c=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),p=hostnameFromURL(o);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(A){return matchDomain(A,location.hostname)}).length===0&&!isIPDomain(p)&&c.filter(function(A){return matchDomain(A,p)}).length===0){var f=new NetworkFirbiddenError(o,"Link","request host(".concat(p,") is not allowed"));u(f),(l=t.networkSubscribe)===null||l===void 0||l.emit("network",o,"Link","forbidden",f.message);return}var d=document.createElement("link"),h=!1,m=null;d.onload=function(A){var E;if(m!==null&&(clearTimeout(m),m=null),h!==!0){h=!0,s();var v=now(),y=v-e,b={},T={origin:r,source:o,requestTime:e,responseTime:v,costs:y,headers:b};(E=t.networkSubscribe)===null||E===void 0||E.emit("network",o,"Link","preload",JSON.stringify(T))}},d.onerror=function(A){var E;if(m!==null&&(clearTimeout(m),m=null),h!==!0){h=!0;var v=new NetworkResponseError(o,"Link",0);u(v),(E=t.networkSubscribe)===null||E===void 0||E.emit("network",o,"Link","error",v.message)}},typeof t.timeout=="number"&&(m=window.setTimeout(function(){var A;if(m=null,h!==!0){h=!0,s();var E=now(),v=E-e,y={},b={origin:r,source:o,requestTime:e,responseTime:E,costs:v,headers:y};(A=t.networkSubscribe)===null||A===void 0||A.emit("network",o,"Link","timeout",JSON.stringify(b))}},t.timeout)),d.rel=d.relList&&d.relList.supports("prefetch")?"prefetch":"preload",d.as="fetch",d.crossOrigin="",d.fetchPriority="high",d.href=o;var g=document.head||document.getElementsByTagName("head")[0];g&&g.appendChild(d)})})}function loadImage(n,t,e,r,o,s){t===void 0&&(t={}),e===void 0&&(e=noop$1),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1);var u=now(),l=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return/^https\:/.test(location.href)&&/^http\:/.test(c)?(console.warn("The page at '".concat(location.href,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var p,f=new NetworkProxyError(l,"Image",c&&c.message?String(c.message):String(c));return(p=t.networkSubscribe)===null||p===void 0||p.emit("network",n,"Image","proxy-error",f.message),Promise.reject(f)}).then(function(c){return new Promise(function(p,f){var d,h=t.allowHosts?BUILDIN_ALLOW_HOST.concat(t.allowHosts):BUILDIN_ALLOW_HOST.slice(),m=hostnameFromURL(c);if(location.hostname.length!==0&&!isIPDomain(location.hostname)&&BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,location.hostname)}).length===0&&!isIPDomain(m)&&h.filter(function(T){return matchDomain(T,m)}).length===0){var g=new NetworkFirbiddenError(c,"Image","request host(".concat(m,") is not allowed"));r(g),f(g),(d=t.networkSubscribe)===null||d===void 0||d.emit("network",c,"Image","forbidden",g.message);return}var A=s!=null?s:new Image,E=!1,v=null,y=function(){var T;if(A.onload=noop$1,A.onerror=noop$1,v!==null&&(clearTimeout(v),v=null),E!==!0){var _=now(),S={headers:{},origin:l,source:c,requestTime:u,responseTime:_,costs:_-u};E=!0;var R={body:A,meta:S};o(1),e(R),p(R),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",JSON.stringify(R.meta))}},b=function(){var T;if(A.onload=noop$1,A.onerror=noop$1,v!==null&&(clearTimeout(v),v=null),E!==!0){E=!0;var _=new NetworkResponseError(c,"Image",0);r(_),f(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","ok",_.message)}};typeof t.timeout=="number"&&(v=window.setTimeout(function(){var T;if(A.onload=noop$1,A.onerror=noop$1,v=null,E!==!0){E=!0;var _=new NetworkTimeoutError(c,"Image",t.timeout);r(_),f(_),(T=t.networkSubscribe)===null||T===void 0||T.emit("network",c,"Image","timeout",_.message)}},t.timeout)),A.onload=y,A.onerror=b,o(0),A.src=c})})}var Fetcher=function(){function n(t){t===void 0&&(t={}),this.options=Object.freeze(t),this.options.allowHosts&&Object.freeze(this.options.allowHosts)}return n.prototype.ajax=function(t,e,r,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var l=this.options,c={responseType:e.responseType,timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get allowHosts(){var p;return(p=e.allowHosts)!==null&&p!==void 0?p:l.allowHosts},get requestProxy(){var p;return(p=e.requestProxy)!==null&&p!==void 0?p:l.requestProxy},get networkSubscribe(){var p;return(p=e.networkSubscribe)!==null&&p!==void 0?p:l.networkSubscribe}};return ajax(t,c,r,o,s)},n.prototype.loadImage=function(t,e,r,o,s,u){var l;e===void 0&&(e={}),r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var c=this.options,p={timeout:(l=e.timeout)!==null&&l!==void 0?l:c.timeout,get allowHosts(){var f;return(f=e.allowHosts)!==null&&f!==void 0?f:c.allowHosts},get requestProxy(){var f;return(f=e.requestProxy)!==null&&f!==void 0?f:c.requestProxy},get networkSubscribe(){var f;return(f=e.networkSubscribe)!==null&&f!==void 0?f:c.networkSubscribe}};return loadImage(t,p,r,o,s,u)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var o=this.options,s={timeout:(r=e.timeout)!==null&&r!==void 0?r:o.timeout,get allowHosts(){var u;return(u=e.allowHosts)!==null&&u!==void 0?u:o.allowHosts},get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:o.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:o.networkSubscribe}};return preload(t,s)},n}(),internalFetcher=new Fetcher;function pick(n,t){for(var e={},r=0,o=t;r<o.length;r++){var s=o[r];s in n&&(e[s]=n[s])}return e}function omit(n,t){for(var e=__assign({},n),r=0,o=t;r<o.length;r++){var s=o[r];s in e&&delete e[s]}return e}function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(l){return(l!=null?l:"").trim()}).filter(function(l){return l.length>0&&!/^\/+$/.test(l)});for(var r=0;r<n.length;r++){var o=r===0,s=r===n.length-1,u=n[r];o||(u=u.replace(/^\.\//,"").replace(/^\/+/,"")),s||(u=u.replace(/\/+$/,"")),e.push(u)}return e.join("/")}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){if(typeof Image=="undefined"){t(!1);return}var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var _a$5,supportAvif=!1,supportWebp=!1,supportHeif=!1;imageSupport().then(function(n){supportAvif=n.avif,supportWebp=n.webp,supportHeif=n.heif});var IMAGE_FORMATS=["jpg","jpeg","png","heif","heic","webp","avif"];function isImageExt(n){return IMAGE_FORMATS.indexOf(n)>=0}var DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t){return n.replace(URL_DOMAIN_REGEX,function(e,r){return e.slice(0,e.length-r.length)+t})}function route(n,t,e){var r=t.split("."),o=r[0],s=r.slice(1);if(o==="texture")return replaceDomain(n,e.texture[0]);if(o==="pano"){s[0];var u=s[1];switch(u){case"front":case"left":case"up":return replaceDomain(n,e.pano[0]);case"down":case"right":case"back":return replaceDomain(n,e.pano[1])}}else if(o==="pano_tile"){s[0],s[1];var l=s[2],c=s[3],p=s[4],f=Math.pow(2,Number(l))*Number(c)+Number(p);if(!isNaN(f))return replaceDomain(n,e.tile[f%2])}else if(o==="model"){var d=s[0],f=Number(d);if(!isNaN(f))return replaceDomain(n,e.model[f%2])}return replaceDomain(n,e.default[0])}var tencentCloudImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format/".concat(s)),u!==void 0&&o.push("cut/".concat(u[2],"x").concat(u[3],"x").concat(u[0],"x").concat(u[1])),l!==void 0){var f=s!=null?s:r;f&&["jpg","webp","heic","avif"].indexOf(f)>=0&&o.push("quality/".concat(l))}if(c!==void 0){var d=n.match(/\/cube_(\d+)\//),h=d?Number(d[1]):NaN;h!==Number(c)&&o.push("thumbnail/".concat(c,"x"))}p!==void 0&&o.push("sharpen/".concat(p));var m="";return o.length&&(m="?imageMogr2/"+o.join("/")),e+m},aliyunOOSImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format,".concat(s)),u!==void 0){var f=u[0],d=u[1],h=u[2],m=u[3];o.push("crop,x_".concat(f,",y_").concat(d,",w_").concat(h,",h_").concat(m,",g_nw"))}if(l!==void 0&&l!==100){var g=s!=null?s:r;g&&["jpg","webp","heic","avif"].indexOf(g)>=0&&o.push("quality,Q_".concat(l))}c&&c!==2048&&o.push("resize,w_".concat(c)),p!==void 0&&o.push("sharpen,".concat(p));var A="";return o.length&&(A="?x-oss-process=image/"+o.join("/")),e+A},MAX_SAFE_INTEGER=9007199254740991;function formatNumber(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function formatOptions(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=formatNumber(clamp$1(n.size,0,MAX_SAFE_INTEGER))),n.quality!==void 0&&(n.quality=formatNumber(clamp$1(n.quality,0,100))),n.cut!==void 0&&(n.cut=[formatNumber(clamp$1(n.cut[0],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[1],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[2],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[3],0,MAX_SAFE_INTEGER))]),n.sharpen!==void 0&&(n.sharpen=formatNumber(clamp$1(n.sharpen,0,MAX_SAFE_INTEGER))),n}function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;t=formatOptions(t);var o=e[r];return o?(n=route(n,t.key,o),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),o.type==="tencentCloud"?tencentCloudImageProcesser(n,t):o.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var IMAGE_SIZE_REG=/\/cube_(\d+)\//;function getImageSizeFromURL(n){var t=n.match(IMAGE_SIZE_REG);return t?Number(t[1]):null}function replaceImageSize(n,t){return n.replace(IMAGE_SIZE_REG,"/cube_".concat(t,"/"))}var log2=(_a$5=Math.log2)!==null&&_a$5!==void 0?_a$5:function(n){return Math.log(n)*Math.LOG2E};function getImageSizeLevel(n){return Math.floor(Math.max(log2(n/512),0))}var canUseNativeImageBitmap=function(){return!1}();function createImageBitmapLikeImage(n){n===void 0&&(n={});var t=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onClose&&n.onClose.call(this),this.onerror=this.onload=this.close=noop$1,this.removeAttribute("src")}});return t}function createImageBitmapLike(n){return new Promise(function(t,e){var r=URL.createObjectURL(n),o=createImageBitmapLikeImage({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});o.onload=function(){o.src===r&&URL.revokeObjectURL(r),o.onload=o.onerror=noop$1,setTimeout(function(){t(o)},10)},o.onerror=function(){var s=o.src;o.onload=o.onerror=noop$1,o.close(),e(new Error("image load error: ".concat(s)))},o.decoding="async",o.src=r})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=noop$1,canvasPool.push(r)}});return r}function poolImageToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var o=new THREE__namespace.Texture(e);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){e.close(),s.call(o),o.dispose=s},o}else{var u=new THREE__namespace.Texture(n);u.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?u.flipY=!1:u.flipY=!0;var l=u.dispose;return u.dispose=function(){n.close(),l.call(u),u.dispose=l},u}}function poolImagesToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,o=n;r<o.length;r++){var s=o[r];s.close()}e.call(t),t.dispose=e},t}var FACE_ORDER$1=["right","left","up","down","front","back"],TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var g={};typeof e.flipY!="undefined"&&(g.flipY=e.flipY),typeof e.format!="undefined"&&(g.format=e.format),typeof e.encoding!="undefined"&&(g.encoding=e.encoding),g.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,g.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,g.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;var A=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"};t=applyImageURLOptions(t,(h=e.imageURL)===null||h===void 0?void 0:h.transform,A);var E=getProtocol(t),v=(m=e.viaAjax)!==null&&m!==void 0?m:canUseNativeImageBitmap,y=isJsonpSource(t),b=/^https?:/.test(E);if(y?v=!0:b||(v=!1),v){var T=null,_="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:_},void 0,void 0,s).then(function(M){return createImageBitmapLike(M.body)}).then(function(M){return poolImageToTexture(M,e.maxSize)}).then(function(M){return Object.assign(M,g),M}).then(function(M){var H={meta:T,body:M};return r(H),H}).catch(function(M){return o(M),Promise.reject(M)})}else{var S=null,R;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(M){return R=M,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,s,M)}).then(function(M){return S=M.meta,poolImageToTexture(M.body,e.maxSize)}).then(function(M){return Object.assign(M,g),M}).then(function(M){var H={meta:S,body:M};return r(H),H}).catch(function(M){return R&&R.close(),o(M),Promise.reject(M)})}},n.prototype.loadCubeTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var g={};typeof e.format!="undefined"&&(g.format=e.format),g.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,g.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,g.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;for(var A=[t[FACE_ORDER$1[0]],t[FACE_ORDER$1[1]],t[FACE_ORDER$1[2]],t[FACE_ORDER$1[3]],t[FACE_ORDER$1[4]],t[FACE_ORDER$1[5]]],E=[],v=[0,0,0,0,0,0],y=[],b=function(_){var S=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"},R=applyImageURLOptions(A[_],(h=e.imageURL)===null||h===void 0?void 0:h.transform,__assign(__assign({},S),{key:S.key+"."+FACE_ORDER$1[_]})),M=getProtocol(R),H=function(N){v[_]=N,s(v.reduce(function(z,J){return z+J},0)/6)},B=(m=e.viaAjax)!==null&&m!==void 0?m:!1,C=/^https?:$/.test(M),w=isJsonpSource(R);if(w?B=!0:C||(B=!1),B){var I="blob",O=e.fetcher.ajax(R,{timeout:e.timeout,responseType:I},void 0,void 0,H).then(function(N){return y[_]=N.meta,createImageBitmapLike(N.body)});E.push(O)}else{var F,O=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(z){return F=z,e.fetcher.loadImage(R,{timeout:e.timeout},void 0,void 0,H,z)}).then(function(z){return y[_]=z.meta,z.body}).catch(function(z){return F&&F.close(),Promise.reject(z)});E.push(O)}},T=0;T<6;T++)b(T);return Promise.all(E).then(function(_){return poolImagesToCubeTexture(_)}).then(function(_){return Object.assign(_,__assign({encoding:THREE__namespace.sRGBEncoding},g)),_}).then(function(_){var S={body:_,meta:y};return r(S),S}).catch(function(_){for(var S=0,R=E;S<R.length;S++){var M=R[S];M.then(function(H){return H.close()}).catch(noop$1)}return o(_),Promise.reject(_)})},n}(),windowSTOContext=function(){var n=now();return{requestAnimationFrame:function(t){var e=now(),r=clamp$1(16+(e-n),16,33),o=setTimeout(function(){t(e+r)},r);return n=e+r,o},cancelAnimationFrame:function(t){return clearTimeout(t)}}}(),windowRAFContext=function(){if(typeof window!="undefined"){var n=window;if(n.requestAnimationFrame)return{requestAnimationFrame:n.requestAnimationFrame.bind(n),cancelAnimationFrame:n.cancelAnimationFrame.bind(n)};if(n.mozRequestAnimationFrame)return{requestAnimationFrame:n.mozRequestAnimationFrame.bind(n),cancelAnimationFrame:n.mozCancelAnimationFrame.bind(n)};if(n.webkitRequestAnimationFrame)return{requestAnimationFrame:n.webkitRequestAnimationFrame.bind(n),cancelAnimationFrame:n.webkitCancelAnimationFrame.bind(n)};if(n.msRequestAnimationFrame)return{requestAnimationFrame:n.msRequestAnimationFrame.bind(n),cancelAnimationFrame:n.msCancelAnimationFrame.bind(n)}}return windowSTOContext}(),DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=function(){function n(){this.loopType="raf",this.frames=[],this.isAnimating=!1,this.context=null;var t=now();this.loop=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(this.isAnimating!==!1){var o=now(),s=o-t;t=o,deviceFrameTime=s;for(var u=0;u<this.frames.length;u++){var l=this.frames[u];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([o,s],e,!1))}catch(c){console.error(c)}l.once&&(this.frames.splice(u,1),u--)}this.requestId=this.requestAnimationFrame(this.loop)}}.bind(this),this.start()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.start=function(){this.isAnimating!==!0&&(this.isAnimating=!0,this.requestId=this.requestAnimationFrame(this.loop))},n.prototype.stop=function(){this.isAnimating=!1,this.cancelAnimationFrame(this.requestId)},n.prototype.setContext=function(t){t!==this.context&&(this.stop(),this.context=t,this.start())},n.prototype.getContext=function(){return this.context},n.prototype.setLoopType=function(t){t!==this.loopType&&(this.stop(),this.loopType=t,this.start())},n.prototype.getLoopType=function(){return this.loopType},n.prototype.requestAnimationFrame=function(t){if(this.context)return this.context.requestAnimationFrame(t);if(this.loopType==="raf")return windowRAFContext.requestAnimationFrame(t);if(this.loopType==="sto")return windowSTOContext.requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){if(this.context)this.context.cancelAnimationFrame(t);else if(this.loopType==="raf")windowRAFContext.cancelAnimationFrame(t);else if(this.loopType==="sto")return windowSTOContext.cancelAnimationFrame(t)},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,o){var s=this;e===void 0&&(e=!1),r===void 0&&(r=0),o===void 0&&(o=DEFAULT_ORDER);for(var u={callback:t,once:e,delay:r,order:o},l=this.frames.length;--l>=0;)if(this.frames[l].order<=o){this.frames.splice(l+1,0,u);break}return l<0&&this.frames.unshift(u),function(){return s.remove(u)}},n.prototype.clear=function(){this.frames.length=0},n}(),dequeuing=!1,queue=[];function dequeue(n){if(n===void 0&&(n=!1),!(!n&&dequeuing)){dequeuing=!0;var t=queue.shift();if(t){try{t()}catch(e){}AnimationFrameLoop.shared.add(function(){return dequeue(!0)},!0,2,-100)}else dequeuing=!1}}function delay(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(o){e(o)}};queue.push(r),AnimationFrameLoop.shared.add(function(){return dequeue()},!0,2,-100)})}var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(n,t){for(var e=new Array(arguments.length-1),r=0,o=2,s=!0;o<arguments.length;)e[r++]=arguments[o++];return new Promise(function(l,c){e[r]=function(f){if(s)if(s=!1,f)c(f);else{for(var d=new Array(arguments.length-1),h=0;h<d.length;)d[h++]=arguments[h];l.apply(null,d)}};try{n.apply(t||null,e)}catch(p){s&&(s=!1,c(p))}})}var base64$1={};(function(n){var t=n;t.length=function(l){var c=l.length;if(!c)return 0;for(var p=0;--c%4>1&&l.charAt(c)==="=";)++p;return Math.ceil(l.length*3)/4-p};for(var e=new Array(64),r=new Array(123),o=0;o<64;)r[e[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;t.encode=function(l,c,p){for(var f=null,d=[],h=0,m=0,g;c<p;){var A=l[c++];switch(m){case 0:d[h++]=e[A>>2],g=(A&3)<<4,m=1;break;case 1:d[h++]=e[g|A>>4],g=(A&15)<<2,m=2;break;case 2:d[h++]=e[g|A>>6],d[h++]=e[A&63],m=0;break}h>8191&&((f||(f=[])).push(String.fromCharCode.apply(String,d)),h=0)}return m&&(d[h++]=e[g],d[h++]=61,m===1&&(d[h++]=61)),f?(h&&f.push(String.fromCharCode.apply(String,d.slice(0,h))),f.join("")):String.fromCharCode.apply(String,d.slice(0,h))};var s="invalid encoding";t.decode=function(l,c,p){for(var f=p,d=0,h,m=0;m<l.length;){var g=l.charCodeAt(m++);if(g===61&&d>1)break;if((g=r[g])===void 0)throw Error(s);switch(d){case 0:h=g,d=1;break;case 1:c[p++]=h<<2|(g&48)>>4,h=g,d=2;break;case 2:c[p++]=(h&15)<<4|(g&60)>>2,h=g,d=3;break;case 3:c[p++]=(h&3)<<6|g,d=0;break}}if(d===1)throw Error(s);return p-f},t.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var r=this._listeners[t],o=0;o<r.length;)r[o].fn===e?r.splice(o,1):++o;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],o=1;o<arguments.length;)r.push(arguments[o++]);for(o=0;o<e.length;)e[o].fn.apply(e[o++].ctx,r)}return this};var float=factory(factory);function factory(n){return typeof Float32Array!="undefined"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),r=e[3]===128;function o(c,p,f){t[0]=c,p[f]=e[0],p[f+1]=e[1],p[f+2]=e[2],p[f+3]=e[3]}function s(c,p,f){t[0]=c,p[f]=e[3],p[f+1]=e[2],p[f+2]=e[1],p[f+3]=e[0]}n.writeFloatLE=r?o:s,n.writeFloatBE=r?s:o;function u(c,p){return e[0]=c[p],e[1]=c[p+1],e[2]=c[p+2],e[3]=c[p+3],t[0]}function l(c,p){return e[3]=c[p],e[2]=c[p+1],e[1]=c[p+2],e[0]=c[p+3],t[0]}n.readFloatLE=r?u:l,n.readFloatBE=r?l:u}():function(){function t(r,o,s,u){var l=o<0?1:0;if(l&&(o=-o),o===0)r(1/o>0?0:2147483648,s,u);else if(isNaN(o))r(2143289344,s,u);else if(o>34028234663852886e22)r((l<<31|2139095040)>>>0,s,u);else if(o<11754943508222875e-54)r((l<<31|Math.round(o/1401298464324817e-60))>>>0,s,u);else{var c=Math.floor(Math.log(o)/Math.LN2),p=Math.round(o*Math.pow(2,-c)*8388608)&8388607;r((l<<31|c+127<<23|p)>>>0,s,u)}}n.writeFloatLE=t.bind(null,writeUintLE),n.writeFloatBE=t.bind(null,writeUintBE);function e(r,o,s){var u=r(o,s),l=(u>>31)*2+1,c=u>>>23&255,p=u&8388607;return c===255?p?NaN:l*(1/0):c===0?l*1401298464324817e-60*p:l*Math.pow(2,c-150)*(p+8388608)}n.readFloatLE=e.bind(null,readUintLE),n.readFloatBE=e.bind(null,readUintBE)}(),typeof Float64Array!="undefined"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),r=e[7]===128;function o(c,p,f){t[0]=c,p[f]=e[0],p[f+1]=e[1],p[f+2]=e[2],p[f+3]=e[3],p[f+4]=e[4],p[f+5]=e[5],p[f+6]=e[6],p[f+7]=e[7]}function s(c,p,f){t[0]=c,p[f]=e[7],p[f+1]=e[6],p[f+2]=e[5],p[f+3]=e[4],p[f+4]=e[3],p[f+5]=e[2],p[f+6]=e[1],p[f+7]=e[0]}n.writeDoubleLE=r?o:s,n.writeDoubleBE=r?s:o;function u(c,p){return e[0]=c[p],e[1]=c[p+1],e[2]=c[p+2],e[3]=c[p+3],e[4]=c[p+4],e[5]=c[p+5],e[6]=c[p+6],e[7]=c[p+7],t[0]}function l(c,p){return e[7]=c[p],e[6]=c[p+1],e[5]=c[p+2],e[4]=c[p+3],e[3]=c[p+4],e[2]=c[p+5],e[1]=c[p+6],e[0]=c[p+7],t[0]}n.readDoubleLE=r?u:l,n.readDoubleBE=r?l:u}():function(){function t(r,o,s,u,l,c){var p=u<0?1:0;if(p&&(u=-u),u===0)r(0,l,c+o),r(1/u>0?0:2147483648,l,c+s);else if(isNaN(u))r(0,l,c+o),r(2146959360,l,c+s);else if(u>17976931348623157e292)r(0,l,c+o),r((p<<31|2146435072)>>>0,l,c+s);else{var f;if(u<22250738585072014e-324)f=u/5e-324,r(f>>>0,l,c+o),r((p<<31|f/4294967296)>>>0,l,c+s);else{var d=Math.floor(Math.log(u)/Math.LN2);d===1024&&(d=1023),f=u*Math.pow(2,-d),r(f*4503599627370496>>>0,l,c+o),r((p<<31|d+1023<<20|f*1048576&1048575)>>>0,l,c+s)}}}n.writeDoubleLE=t.bind(null,writeUintLE,0,4),n.writeDoubleBE=t.bind(null,writeUintBE,4,0);function e(r,o,s,u,l){var c=r(u,l+o),p=r(u,l+s),f=(p>>31)*2+1,d=p>>>20&2047,h=4294967296*(p&1048575)+c;return d===2047?h?NaN:f*(1/0):d===0?f*5e-324*h:f*Math.pow(2,d-1075)*(h+4503599627370496)}n.readDoubleLE=e.bind(null,readUintLE,0,4),n.readDoubleBE=e.bind(null,readUintBE,4,0)}(),n}function writeUintLE(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}function writeUintBE(n,t,e){t[e]=n>>>24,t[e+1]=n>>>16&255,t[e+2]=n>>>8&255,t[e+3]=n&255}function readUintLE(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function readUintBE(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}var utf8$2={};(function(n){var t=n;t.length=function(r){for(var o=0,s=0,u=0;u<r.length;++u)s=r.charCodeAt(u),s<128?o+=1:s<2048?o+=2:(s&64512)===55296&&(r.charCodeAt(u+1)&64512)===56320?(++u,o+=4):o+=3;return o},t.read=function(r,o,s){var u=s-o;if(u<1)return"";for(var l=null,c=[],p=0,f;o<s;)f=r[o++],f<128?c[p++]=f:f>191&&f<224?c[p++]=(f&31)<<6|r[o++]&63:f>239&&f<365?(f=((f&7)<<18|(r[o++]&63)<<12|(r[o++]&63)<<6|r[o++]&63)-65536,c[p++]=55296+(f>>10),c[p++]=56320+(f&1023)):c[p++]=(f&15)<<12|(r[o++]&63)<<6|r[o++]&63,p>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,c)),p=0);return l?(p&&l.push(String.fromCharCode.apply(String,c.slice(0,p))),l.join("")):String.fromCharCode.apply(String,c.slice(0,p))},t.write=function(r,o,s){for(var u=s,l,c,p=0;p<r.length;++p)l=r.charCodeAt(p),l<128?o[s++]=l:l<2048?(o[s++]=l>>6|192,o[s++]=l&63|128):(l&64512)===55296&&((c=r.charCodeAt(p+1))&64512)===56320?(l=65536+((l&1023)<<10)+(c&1023),++p,o[s++]=l>>18|240,o[s++]=l>>12&63|128,o[s++]=l>>6&63|128,o[s++]=l&63|128):(o[s++]=l>>12|224,o[s++]=l>>6&63|128,o[s++]=l&63|128);return s-u}})(utf8$2);var pool_1=pool;function pool(n,t,e){var r=e||8192,o=r>>>1,s=null,u=r;return function(c){if(c<1||c>o)return n(c);u+c>r&&(s=n(r),u=0);var p=t.call(s,u,u+=c);return u&7&&(u=(u|7)+1),p}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal();function t(s,u){this.lo=s>>>0,this.hi=u>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(u){if(u===0)return e;var l=u<0;l&&(u=-u);var c=u>>>0,p=(u-c)/4294967296>>>0;return l&&(p=~p>>>0,c=~c>>>0,++c>4294967295&&(c=0,++p>4294967295&&(p=0))),new t(c,p)},t.from=function(u){if(typeof u=="number")return t.fromNumber(u);if(n.isString(u))if(n.Long)u=n.Long.fromString(u);else return t.fromNumber(parseInt(u,10));return u.low||u.high?new t(u.low>>>0,u.high>>>0):e},t.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var l=~this.lo+1>>>0,c=~this.hi>>>0;return l||(c=c+1>>>0),-(l+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(u){return n.Long?new n.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var o=String.prototype.charCodeAt;return t.fromHash=function(u){return u===r?e:new t((o.call(u,0)|o.call(u,1)<<8|o.call(u,2)<<16|o.call(u,3)<<24)>>>0,(o.call(u,4)|o.call(u,5)<<8|o.call(u,6)<<16|o.call(u,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},t.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},t.prototype.length=function(){var u=this.lo,l=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?l===0?u<16384?u<128?1:2:u<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(n){var t=n;t.asPromise=aspromise,t.base64=base64$1,t.EventEmitter=eventemitter,t.float=float,t.inquire=inquire_1,t.utf8=utf8$2,t.pool=pool_1,t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||commonjsGlobal,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s},t.isString=function(s){return typeof s=="string"||s instanceof String},t.isObject=function(s){return s&&typeof s=="object"},t.isset=t.isSet=function(s,u){var l=s[u];return l!=null&&s.hasOwnProperty(u)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},t.Buffer=function(){try{var o=t.inquire("buffer").Buffer;return o.prototype.utf8Write?o:null}catch(s){return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(s){return typeof s=="number"?t.Buffer?t._Buffer_allocUnsafe(s):new t.Array(s):t.Buffer?t._Buffer_from(s):typeof Uint8Array=="undefined"?s:new Uint8Array(s)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(s){return s?t.LongBits.from(s).toHash():t.LongBits.zeroHash},t.longFromHash=function(s,u){var l=t.LongBits.fromHash(s);return t.Long?t.Long.fromBits(l.lo,l.hi,u):l.toNumber(!!u)};function e(o,s,u){for(var l=Object.keys(s),c=0;c<l.length;++c)(o[l[c]]===void 0||!u)&&(o[l[c]]=s[l[c]]);return o}t.merge=e,t.lcFirst=function(s){return s.charAt(0).toLowerCase()+s.substring(1)};function r(o){function s(u,l){if(!(this instanceof s))return new s(u,l);Object.defineProperty(this,"message",{get:function(){return u}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&e(this,l)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return o},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(s){for(var u={},l=0;l<s.length;++l)u[s[l]]=1;return function(){for(var c=Object.keys(this),p=c.length-1;p>-1;--p)if(u[c[p]]===1&&this[c[p]]!==void 0&&this[c[p]]!==null)return c[p]}},t.oneOfSetter=function(s){return function(u){for(var l=0;l<s.length;++l)s[l]!==u&&delete this[s[l]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var o=t.Buffer;if(!o){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=o.from!==Uint8Array.from&&o.from||function(u,l){return new o(u,l)},t._Buffer_allocUnsafe=o.allocUnsafe||function(u){return new o(u)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(n,t,e){this.fn=n,this.len=t,this.next=void 0,this.val=e}function noop(){}function State(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function n(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1(),Writer$1.alloc=function n(t){return new util$4.Array(t)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function n(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this};function writeByte(n,t,e){t[e]=n&255}function writeVarint32(n,t,e){for(;n>127;)t[e++]=n&127|128,n>>>=7;t[e]=n}function VarintOp(n,t){this.len=n,this.next=void 0,this.val=t}VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer$1.prototype.uint32=function n(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer$1.prototype.int32=function n(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer$1.prototype.sint32=function n(t){return this.uint32((t<<1^t>>31)>>>0)};function writeVarint64(n,t,e){for(;n.hi;)t[e++]=n.lo&127|128,n.lo=(n.lo>>>7|n.hi<<25)>>>0,n.hi>>>=7;for(;n.lo>127;)t[e++]=n.lo&127|128,n.lo=n.lo>>>7;t[e++]=n.lo}Writer$1.prototype.uint64=function n(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function n(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.bool=function n(t){return this._push(writeByte,1,t?1:0)};function writeFixed32(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}Writer$1.prototype.fixed32=function n(t){return this._push(writeFixed32,4,t>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function n(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function n(t){return this._push(util$4.float.writeFloatLE,4,t)},Writer$1.prototype.double=function n(t){return this._push(util$4.float.writeDoubleLE,8,t)};var writeBytes=util$4.Array.prototype.set?function n(t,e,r){e.set(t,r)}:function n(t,e,r){for(var o=0;o<t.length;++o)e[r+o]=t[o]};Writer$1.prototype.bytes=function n(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(util$4.isString(t)){var r=Writer$1.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer$1.prototype.string=function n(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer$1.prototype.fork=function n(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer$1.prototype.reset=function n(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer$1.prototype.ldelim=function n(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer$1.prototype.finish=function n(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer$1._configure=function(n){BufferWriter$1=n,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var o=0;o<t.length;)e[r++]=t[o++]}},BufferWriter.prototype.bytes=function n(t){util$3.isString(t)&&(t=util$3._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this};function writeStringBuffer(n,t,e){n.length<40?util$3.utf8.write(n,t,e):t.utf8Write?t.utf8Write(n,e):t.write(n,e)}BufferWriter.prototype.string=function n(t){var e=util$3.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function Reader$1(n){this.buf=n,this.pos=0,this.len=n.length}var create_array=typeof Uint8Array!="undefined"?function n(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")}:function n(t){if(Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")},create=function n(){return util$2.Buffer?function(e){return(Reader$1.create=function(o){return util$2.Buffer.isBuffer(o)?new BufferReader$1(o):create_array(o)})(e)}:create_array};Reader$1.create=create(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=function n(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return t}}(),Reader$1.prototype.int32=function n(){return this.uint32()|0},Reader$1.prototype.sint32=function n(){var t=this.uint32();return t>>>1^-(t&1)|0};function readLongVarint(){var n=new LongBits(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function n(){return this.uint32()!==0};function readFixed32_end(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}Reader$1.prototype.fixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader$1.prototype.double=function n(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader$1.prototype.bytes=function n(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,r);if(e===r){var o=util$2.Buffer;return o?o.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,r)},Reader$1.prototype.string=function n(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader$1.prototype.skip=function n(t){if(typeof t=="number"){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this},Reader$1.prototype.skipType=function(n){switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this},Reader$1._configure=function(n){BufferReader$1=n,Reader$1.create=create(),BufferReader$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(n){Reader.call(this,n)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader.prototype.string=function n(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(n,t,e){if(typeof n!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!e}Service.prototype.rpcCall=function n(t,e,r,o,s){if(!o)throw TypeError("request must be specified");var u=this;if(!s)return util.asPromise(n,u,t,e,r,o);if(!u.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return u.rpcImpl(t,e[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(c,p){if(c)return u.emit("error",c,t),s(c);if(p===null){u.end(!0);return}if(!(p instanceof r))try{p=r[u.responseDelimited?"decodeDelimited":"decode"](p)}catch(f){return u.emit("error",f,t),s(f)}return u.emit("data",p,t),s(null,p)})}catch(l){u.emit("error",l,t),setTimeout(function(){s(l)},0);return}},Service.prototype.end=function n(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},function(n){var t=n;t.Service=service}(rpc);var roots={};(function(n){var t=n;t.build="minimal",t.Writer=writer,t.BufferWriter=writer_buffer,t.Reader=reader,t.BufferReader=reader_buffer,t.util=requireMinimal(),t.rpc=rpc,t.roots=roots,t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal);var minimal=indexMinimal;const $Reader$1=minimal.Reader,$util$1=minimal.util,$root$1=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{s.createAt=e.uint64();break}case 3:{s.description=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{s.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{s.name=e.string();break}case 4:{s.texture=e.string();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:s});if(!s.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:s});if(!s.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Vertices;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.xyz&&s.xyz.length||(s.xyz=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.xyz.push(e.float())}else s.xyz.push(e.float());break}case 2:{if(s.uvs&&s.uvs.length||(s.uvs=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.uvs.push(e.float())}else s.uvs.push(e.float());break}case 3:{if(s.marks&&s.marks.length||(s.marks=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.marks.push(e.int32())}else s.marks.push(e.int32());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Faces;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.indices&&s.indices.length||(s.indices=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.indices.push(e.uint32())}else s.indices.push(e.uint32());break}case 2:{if(s.normals&&s.normals.length||(s.normals=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.normals.push(e.float())}else s.normals.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function fixNumber(n){return isNaN(n)||!isFinite(n)?0:n}function getGeometryMemoryUsed(n){var t=0;if(n instanceof THREE__namespace.BufferGeometry){for(var e in n.attributes){var r=n.getAttribute(e),o=4;"BYTES_PER_ELEMENT"in r.array&&typeof r.array.BYTES_PER_ELEMENT=="number"&&(o=r.array.BYTES_PER_ELEMENT),t+=fixNumber(r.count*r.itemSize*o)}var s=n.getIndex();if(s){var o=4;"BYTES_PER_ELEMENT"in s.array&&typeof s.array.BYTES_PER_ELEMENT=="number"&&(o=s.array.BYTES_PER_ELEMENT),t+=fixNumber(s.count*s.itemSize*o)}}else n instanceof THREE__namespace.Geometry&&(t+=fixNumber(n.faces.length*3*3*4),t+=fixNumber(n.faceVertexUvs.length*3*2*4));return t}function makeComputeBlockRectSizeFunction(n,t,e){return function(r,o,s){var u=(r+n-1)/n|0,l=(o+t-1)/t|0;return u*l*e*s}}function makeComputePaddedRectSizeFunction(n,t,e){return function(r,o,s){return(Math.max(r,n)*Math.max(o,t)/e|0)*s}}var compressedTextureFunctions=new Map([[THREE__namespace.RGB_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT3_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_S3TC_DXT5_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGB_ETC1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGB_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGBA_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGB_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGBA_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGB_ETC2_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_ETC2_EAC_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.RGBA_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.RGBA_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.RGBA_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.RGBA_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.RGBA_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.RGBA_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.RGBA_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.RGBA_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.RGBA_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.RGBA_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.RGBA_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.RGBA_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.RGBA_BPTC_Format,makeComputeBlockRectSizeFunction(4,4,16)]]);function getTextureMemoryUsed(n){var t=0,e=1;(n.generateMipmaps===!0||n.mipmaps&&n.mipmaps.length>1)&&(e=1.33);for(var r=n instanceof THREE__namespace.CompressedTexture,o=r?compressedTextureFunctions.get(n.format):void 0,s=[].concat(n.image),u=0,l=s;u<l.length;u++){var c=l[u];if(c instanceof THREE__namespace.Texture)t+=getTextureMemoryUsed(c);else{var p=c.width,f=p===void 0?1:p,d=c.height,h=d===void 0?1:d,m=c.depth,g=m===void 0?1:m;o?t+=fixNumber(o(f,h,g)*e):t+=fixNumber(f*h*g*4*e)}}return t}var textureSet=new Set,textureNames=["map","alphaMap","bumpMap","normalMap","displacementMap","emissiveMap","specularMap","envMap","flipEnvMap","lightMap","aoMap","gradientMap","metalnessMap","roughnessMap","sheenColorMap","sheenRoughnessMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","iridescenceMap","iridescenceThicknessMap","transmissionMap","thicknessMap","anisotropyMap","specularColorMap","specularIntensityMap"];function getMaterialMemoryUsed(n){var t=0;if(textureSet.clear(),n instanceof THREE__namespace.ShaderMaterial)for(var e in n.uniforms){var r=n.uniforms[e],o=r&&r.value&&r.value instanceof THREE__namespace.Texture?r.value:void 0;o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}else for(var s=0,u=textureNames;s<u.length;s++){var l=u[s],o=n[l];o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}return textureSet.clear(),t}var sceneSet=new Set;function getMemoryUsage(n){var t=0;return sceneSet.clear(),n.traverse(function(e){if(e instanceof THREE__namespace.Mesh||e instanceof THREE__namespace.Line||e instanceof THREE__namespace.Points){var r=e.geometry;(r instanceof THREE__namespace.BufferGeometry||r instanceof THREE__namespace.Geometry)&&(sceneSet.has(r)||(t+=getGeometryMemoryUsed(r),sceneSet.add(r)));for(var o=[].concat(e.material),s=0,u=o;s<u.length;s++){var l=u[s];l instanceof THREE__namespace.Material&&(sceneSet.has(l)||(t+=getMaterialMemoryUsed(l),sceneSet.add(l)))}}}),sceneSet.clear(),t}function loadPbm(n,t){var e,r,o,s,u;t===void 0&&(t={});var l=(e=t.upAxis)!==null&&e!==void 0?e:"Z",c=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),p={byteLength:0},f=autoRestImageOptionsByTextureLength((o=t.textureOptions)!==null&&o!==void 0?o:{},(u=(s=t.textureArray)===null||s===void 0?void 0:s.length)!==null&&u!==void 0?u:0),d={};if(t.textureArray)for(var h=0,m=t.textureArray;h<m.length;h++){var g=m[h];d[g]=loadTexture$1(g,f,c)}return Promise.resolve().then(function(){return c.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return p.byteLength=A.body.byteLength,delay(function(){var E=new Uint8Array(A.body);return Model$2.decode(E)})}).then(function(A){return delay(function(){var E,v,y;return parse$4(A,(E=t.light)!==null&&E!==void 0?E:!1,(v=t.textureBaseUri)!==null&&v!==void 0?v:function(){var b=n.lastIndexOf("/");if(b>=0){var T=n.slice(0,b)+"/";return/\/model\/$/.test(T)&&(T=T.replace(/\/model\/$/,"/materials/")),T}return""}(),((y=t.textureArray)!==null&&y!==void 0?y:[]).slice(),f,d,c)})}).then(function(A){var E=new THREE__namespace.Group;E.name=n;for(var v=0,y=A.objects;v<y.length;v++){var b=y[v];E.add(b)}return l==="Y"&&E.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"pbm",modelUpAxis:"Z",upAxis:l,uri:n,byteLength:p.byteLength,memoryUsage:getMemoryUsage(E),scene:E,textures:A.textures,animations:[],dispose:function(){return A.dispose()}}})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,o=typeof n.createAt=="number"?n.createAt:0,s=(t=n.description)!==null&&t!==void 0?t:"",u=[],l=!0,c=!0,p=0,f=n.chunks;p<f.length;p++){var d=f[p];if(!d.vertices.marks||d.vertices.marks.length===0){c=!1;break}}for(var h=0,m=n.chunks;h<m.length;h++){var d=m[h];if(!d.faces.normals||d.faces.normals.length===0){l=!1;break}}for(var g=n.chunks.sort(function(ie,fe){return chunkOrder(ie)-chunkOrder(fe)}),A=[],E=0,v=g;E<v.length;E++){var d=v[E],y=parseFloorName(d.name);A[y]||(A[y]=[]),A[y].push(d)}for(var b=0;b<A.length;b++){var T=A[b];if(T)if(l){for(var _=0,S=0;S<T.length;S++){var d=T[S];_+=d.faces.indices.length}for(var R=new Float32Array(_*3),M=new Float32Array(_*2),H=new Float32Array(_*3),B=c?new Float32Array(_):void 0,C=[],w=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,z=d.vertices.uvs,J=d.faces.indices,G=d.faces.normals,Q=d.vertices.marks,U=J.length,S=0;S<U;S++){var V=J[S],X=R[I*3+S*3]=N[V*3],Z=R[I*3+S*3+1]=N[V*3+1],ee=R[I*3+S*3+2]=N[V*3+2];B&&(B[I+S]=Q[V]),M[I*2+S*2]=z[V*2],M[I*2+S*2+1]=z[V*2+1];var K=Math.floor(S/3)*3;H[I*3+S*3]=G[K],H[I*3+S*3+1]=G[K+1],H[I*3+S*3+2]=G[K+2],X<F[0]&&(F[0]=X),Z<F[1]&&(F[1]=Z),ee<F[2]&&(F[2]=ee),X>F[3]&&(F[3]=X),Z>F[4]&&(F[4]=Z),ee>F[5]&&(F[5]=ee)}F[0]<w[0]&&(w[0]=F[0]),F[1]<w[1]&&(w[1]=F[1]),F[2]<w[2]&&(w[2]=F[2]),F[3]>w[3]&&(w[3]=F[3]),F[4]>w[4]&&(w[4]=F[4]),F[5]>w[5]&&(w[5]=F[5]),C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:I,count:d.faces.indices.length,texture:(e=d.texture)!==null&&e!==void 0?e:void 0}),I+=U}var re={createAt:o,description:s,vertices:R,uvs:M,normals:H,masks:B,indices:null,floorIndex:b,groups:C,extents:w};u.push(re)}else{for(var _=0,Y=0,S=0;S<T.length;S++){var d=T[S];Y+=d.vertices.xyz.length/3,_+=d.faces.indices.length}for(var R=new Float32Array(Y*3),M=new Float32Array(Y*2),H=void 0,W=new Float32Array(Y),le=new Uint32Array(_),B=c?new Float32Array(_):void 0,C=[],w=[1/0,1/0,1/0,-1/0,-1/0,-1/0],oe=0,I=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,ae=d.vertices.marks,z=d.vertices.uvs,J=d.faces.indices,se=N.length/3,U=J.length,S=0;S<se;S++){var X=R[I*3+S*3]=N[S*3],Z=R[I*3+S*3+1]=N[S*3+1],ee=R[I*3+S*3+2]=N[S*3+2];B&&(B[I+S]=ae[S]),M[I*2+S*2]=z[S*2],M[I*2+S*2+1]=z[S*2+1],W[I+S]=b,X<F[0]&&(F[0]=X),Z<F[1]&&(F[1]=Z),ee<F[2]&&(F[2]=ee),X>F[3]&&(F[3]=X),Z>F[4]&&(F[4]=Z),ee>F[5]&&(F[5]=ee)}F[0]<w[0]&&(w[0]=F[0]),F[1]<w[1]&&(w[1]=F[1]),F[2]<w[2]&&(w[2]=F[2]),F[3]>w[3]&&(w[3]=F[3]),F[4]>w[4]&&(w[4]=F[4]),F[5]>w[5]&&(w[5]=F[5]);for(var S=0;S<U;S++)le[oe+S]=I+J[S];C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:oe,count:d.faces.indices.length,texture:(r=d.texture)!==null&&r!==void 0?r:void 0}),I+=se,oe+=U}var re={createAt:o,description:s,vertices:R,uvs:M,normals:H,masks:B,indices:le,floorIndex:b,groups:C,extents:w};u.push(re)}}return u}function loadTexture$1(n,t,e){var r=__assign({key:"texture.pbm"},pick(t,["format","quality","size","sharpen","mappings"])),o=new TextureLoader,s=o.loadTexture(n,{imageURL:{transform:t.transform,options:r},encoding:THREE__namespace.sRGBEncoding,wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof r.size=="number"?new THREE__namespace.Vector2(r.size,r.size):void 0,fetcher:e}).then(function(u){var l=u.body;return l.needsUpdate=!0,l});return Object.assign(s,{url:n,textureOptions:t})}function parse$4(n,t,e,r,o,s,u){s===void 0&&(s={});for(var l=parsePBMModel(n),c=0,p="",f=[],d={},h=new Set,m=0,g=0,A=l;g<A.length;g++){var E=A[g],v=E.createAt,y=E.description,b=E.vertices,T=E.masks,_=E.uvs,S=E.normals,R=E.indices,M=E.floorIndex,H=E.groups,B=E.extents,C=new THREE__namespace.Box3;C.min.x=B[0],C.min.y=B[1],C.min.z=B[2],C.max.x=B[3],C.max.y=B[4],C.max.z=B[5];var w=new THREE__namespace.BufferGeometry;w.setAttribute("position",new THREE__namespace.BufferAttribute(b,3)),w.setAttribute("uv",new THREE__namespace.BufferAttribute(_,2)),S&&w.setAttribute("normal",new THREE__namespace.BufferAttribute(S,3)),T&&w.setAttribute("_feature_id_rsmask",new THREE__namespace.BufferAttribute(T,1)),R&&w.setIndex(new THREE__namespace.BufferAttribute(R,1)),w.boundingBox=C,w.boundingSphere=C.getBoundingSphere(new THREE__namespace.Sphere);for(var I=0,O=H;I<O.length;I++){var F=O[I];w.addGroup(F.start,F.count,F.materialIndex)}h.add(w);for(var N=[],z=0,J=H;z<J.length;z++){var F=J[z],G=r[F.chunkName]||(F.texture?pathJoin(e||"",F.texture):void 0),Q=new PBMMeshMaterial(t?"phong":"basic");Q.floorIndex=M,w.attributes.normal===void 0&&(Q.flatShading=!0),w.attributes._feature_id_rsmask&&(Q.defines.USE_VERTEX_MARK=!0),N.push(Q),G?(m++,d[G]?d[G].push(Q):d[G]=[Q]):Q.color=new THREE__namespace.Color(16777215),h.add(Q)}var U=new PBMMesh(w,N);U.name="model_floor_"+M,U.userData.createAt=v,U.userData.description=y,U.matrix.compose(U.position,U.quaternion,U.scale),U.matrixAutoUpdate=!1,U.frustumCulled=!1,c=v,p=y,f.push(U)}var V=function(X){X=autoRestImageOptionsByTextureLength(X,m);for(var Z=[],ee=function(W){var le=null;W in s&&(le=s[W]),le||(le=loadTexture$1(W,X,u)),Z.push(le.then(function(oe){for(var ae=0,se=d[W];ae<se.length;ae++){var ie=se[ae];ie.map&&(h.delete(ie.map),ie.map.dispose()),ie.map=oe,h.add(oe)}return oe}).catch(function(){for(var oe=0,ae=d[W];oe<ae.length;oe++){var se=ae[oe];se.map&&(h.delete(se.map),se.map.dispose()),se.map=null,se.color=new THREE__namespace.Color(16777215)}return null}))},K=0,re=Object.keys(d);K<re.length;K++){var Y=re[K];ee(Y)}for(var Y in s)delete s[Y];return Promise.all(Z).then(function(W){return W.filter(function(le){return le})})};return V(o).then(function(X){return{createAt:c,description:p,objects:f,textures:X,dispose:function(){h.forEach(function(Z){Z.dispose()}),h.clear()}}})}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function createLZMA(){var n={};return n.OutWindow=function(){this._windowSize=0},n.OutWindow.prototype.create=function(t){(!this._buffer||this._windowSize!==t)&&(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},n.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(t!==0){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},n.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},n.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},n.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},n.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},n.RangeDecoder=function(){},n.RangeDecoder.prototype.setStream=function(t){this._stream=t},n.RangeDecoder.prototype.releaseStream=function(){this._stream=null},n.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},n.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e=0,r=t,o;r--;)this._range>>>=1,o=this._code-this._range>>>31,this._code-=this._range&o-1,e=e<<1|1-o,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return e},n.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],o=(this._range>>>11)*r;return(this._code^2147483648)<(o^2147483648)?(this._range=o,t[e]+=2048-r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=o,this._code-=o,t[e]-=r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},n.initBitModels=function(t,e){for(;e--;)t[e]=1024},n.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},n.BitTreeDecoder.prototype.init=function(){n.initBitModels(this._models,1<<this._numBitLevels)},n.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},n.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e=1,r=0,o=0,s;o<this._numBitLevels;++o)s=t.decodeBit(this._models,e),e=e<<1|s,r|=s<<o;return r},n.reverseDecode2=function(t,e,r,o){for(var s=1,u=0,l=0,c;l<o;++l)c=r.decodeBit(t,e+s),s=s<<1|c,u|=c<<l;return u},n.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new n.BitTreeDecoder(8),this._numPosStates=0},n.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new n.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new n.BitTreeDecoder(3)},n.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(n.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},n.LenDecoder.prototype.decode=function(t,e){return t.decodeBit(this._choice,0)===0?this._lowCoder[e].decode(t):t.decodeBit(this._choice,1)===0?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},n.Decoder2=function(){this._decoders=[]},n.Decoder2.prototype.init=function(){n.initBitModels(this._decoders,768)},n.Decoder2.prototype.decodeNormal=function(t){var e=1;do e=e<<1|t.decodeBit(this._decoders,e);while(e<256);return e&255},n.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r=1,o,s;do if(o=e>>7&1,e<<=1,s=t.decodeBit(this._decoders,(1+o<<8)+r),r=r<<1|s,o!==s){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}while(r<256);return r&255},n.LiteralDecoder=function(){},n.LiteralDecoder.prototype.create=function(t,e){var r;if(!(this._coders&&this._numPrevBits===e&&this._numPosBits===t))for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new n.Decoder2},n.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},n.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((e&255)>>>8-this._numPrevBits)]},n.Decoder=function(){this._outWindow=new n.OutWindow,this._rangeDecoder=new n.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new n.BitTreeDecoder(4),this._lenDecoder=new n.LenDecoder,this._repLenDecoder=new n.LenDecoder,this._literalDecoder=new n.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new n.BitTreeDecoder(6),this._posSlotDecoder[1]=new n.BitTreeDecoder(6),this._posSlotDecoder[2]=new n.BitTreeDecoder(6),this._posSlotDecoder[3]=new n.BitTreeDecoder(6)},n.Decoder.prototype.setDictionarySize=function(t){return t<0?!1:(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},n.Decoder.prototype.setLcLpPb=function(t,e,r){var o=1<<r;return t>8||e>4||r>4?!1:(this._literalDecoder.create(e,t),this._lenDecoder.create(o),this._repLenDecoder.create(o),this._posStateMask=o-1,!0)},n.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),n.initBitModels(this._isMatchDecoders,192),n.initBitModels(this._isRep0LongDecoders,192),n.initBitModels(this._isRepDecoders,12),n.initBitModels(this._isRepG0Decoders,12),n.initBitModels(this._isRepG1Decoders,12),n.initBitModels(this._isRepG2Decoders,12),n.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},n.Decoder.prototype.decode=function(t,e,r){var o=0,s=0,u=0,l=0,c=0,p=0,f=0,d,h,m,g,A,E;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||p<r;)if(d=p&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(o<<4)+d)===0)h=this._literalDecoder.getDecoder(p++,f),o>=7?f=h.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(s)):f=h.decodeNormal(this._rangeDecoder),this._outWindow.putByte(f),o=o<4?0:o-(o<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,o)===1)m=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,o)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(o<<4)+d)===0&&(o=o<7?9:11,m=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,o)===0?g=u:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,o)===0?g=l:(g=c,c=l),l=u),u=s,s=g),m===0&&(m=2+this._repLenDecoder.decode(this._rangeDecoder,d),o=o<7?8:11);else if(c=l,l=u,u=s,m=2+this._lenDecoder.decode(this._rangeDecoder,d),o=o<7?7:10,A=this._posSlotDecoder[m<=5?m-2:3].decode(this._rangeDecoder),A>=4){if(E=(A>>1)-1,s=(2|A&1)<<E,A<14)s+=n.reverseDecode2(this._posDecoders,s-A-1,this._rangeDecoder,E);else if(s+=this._rangeDecoder.decodeDirectBits(E-4)<<4,s+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),s<0){if(s===-1)break;return!1}}else s=A;if(s>=p||s>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(s,m),p+=m,f=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},n.Decoder.prototype.setDecoderProperties=function(t){var e,r,o,s,u;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),o=e%5,s=~~(e/5),!this.setLcLpPb(r,o,s))?!1:(u=t.readByte(),u|=t.readByte()<<8,u|=t.readByte()<<16,u+=t.readByte()*16777216,this.setDictionarySize(u))},n.decompress=function(t,e,r,o){var s=new n.Decoder;if(!s.setDecoderProperties(t))throw"Incorrect stream properties";if(!s.decode(e,r,o))throw"Error in data stream";return!0},n.decompressFile=function(t,e){var r=new n.Decoder,o;if(!r.setDecoderProperties(t))throw"Incorrect stream properties";if(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=t.readByte()*16777216,t.readByte(),t.readByte(),t.readByte(),t.readByte(),!r.decode(t,e,o))throw"Error in data stream";return!0},n}var LZMA=createLZMA();function createWASM(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=new Uint8Array(256),s=0;s<r.length;s++)o[r.charCodeAt(s)]=s;var u=e.length*.75,l=e.length,c,p=0,f,d,h,m;e[e.length-1]==="="&&(u--,e[e.length-2]==="="&&u--);var g=new ArrayBuffer(u),A=new Uint8Array(g);for(c=0;c<l;c+=4)f=o[e.charCodeAt(c)],d=o[e.charCodeAt(c+1)],h=o[e.charCodeAt(c+2)],m=o[e.charCodeAt(c+3)],A[p++]=f<<2|d>>4,A[p++]=(d&15)<<4|h>>2,A[p++]=(h&3)<<6|m&63;return g}var t="AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EYdCAFQQh2cjYCACAAQQxqIAFBD2ooAgAiBUEYdCADQQh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsLCyACQRBxBEAgACABIgMtAAA6AAAgAEEBaiIBIAEgA0EBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEIcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEEcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAALIAJBAnEEQCAAIAEtAAA6AAAgAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAACyACQQFxBEAgACABLQAAOgAACwvVAgECfyAAIAFGBEAPCyABIAJqIABNIgNFBEAgACACaiABTSEDCyADBEAgACABIAIQGw8LIAAgAUkEQCABQQdxIABBB3FGBEADQCAAQQdxBEAgAkUEQA8LIAJBAWshAiAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAMAQsLA0AgAkEITwRAIAAgASkDADcDACACQQhrIQIgAEEIaiEAIAFBCGohAQwBCwsLA0AgAgRAIAAiBEEBaiEAIAEiA0EBaiEBIAQgAy0AADoAACACQQFrIQIMAQsLBSABQQdxIABBB3FGBEADQCAAIAJqQQdxBEAgAkUEQA8LIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwNAIAJBCE8EQCACQQhrIgIgAGogASACaikDADcDAAwBCwsLA0AgAgRAIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwsL4AoBCH8gACgCACIGIgQoAgAgBCgCBGovAQgiCCABIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAhrQf//A3FBBXYgCGohCCAHIAQ2AgxBAAUgCCAIQf//A3FBBXZrIQggByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyAGKAIEIAYoAgBqIAg7AQggByIFKAIMIwJJBEAgBSAFKAIMQQh0NgIMIAUoAhBBCHQhByAFKAIAIQYgBSAFKAIIIglBAWo2AgggBSAGIAkQEUH/AXEgB3I2AhALQf//A3FFBEAgAiAAKAIEKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEDIAEhBEEBIQgDQCAKIAMoAgRJBEAgAygCACIHKAIAIQEgBCgCECAHKAIEIAgiBUEBdCIIIAFqai8BCCIGIAQoAgxBC3ZsIglJBH9BgBAgBmtB//8DcUEFdiAGaiEGIAQgCTYCDEEABSAGIAZB//8DcUEFdmshBiAEIAQoAhAgCWs2AhAgBCAEKAIMIAlrNgIMQQELIAcoAgQgBygCACAFQQF0amogBjsBCCAEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhACAEKAIAIQUgBCAEKAIIIgFBAWo2AgggBCAFIAEQEUH/AXEgAHI2AhALQf//A3EgCGohCCAKQQFqIQoMAQsLIAhBASADKAIEdGsPCyAAKAIAIgooAgAhCCAFKAIQIAooAgQgCEECamovAQgiBCABKAIMQQt2bCIDSQR/IAUgAzYCDEEAIQlBgBAgBGtB//8DcUEFdiAEagUgBSAFKAIQIANrNgIQIAUgBSgCDCADazYCDEEBIQkgBCAEQf//A3FBBXZrCyEEIAoiBygCBCAHKAIAQQJqaiAEOwEIIAUiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQUgBigCACEHIAYgBigCCCIIQQFqNgIIIAYgByAIEBFB/wFxIAVyNgIQCyAJQf//A3FFBEAgAiAAKAIIKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEJIAEhA0EBIQRBACECA0AgAiAJKAIESQRAIAMoAhAgCSgCACIFKAIEIAQiBkEBdCIEIAUoAgBqai8BCCIHIAMoAgxBC3ZsIghJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAMgCDYCDEEABSAHIAdB//8DcUEFdmshByADIAMoAhAgCGs2AhAgAyADKAIMIAhrNgIMQQELIAUoAgQgBSgCACAGQQF0amogBzsBCCADKAIMIwJJBEAgAyADKAIMQQh0NgIMIAMoAhBBCHQhBSADKAIAIQcgAyADKAIIIgZBAWo2AgggAyAHIAYQEUH/AXEgBXI2AhALQf//A3EgBGohBCACQQFqIQIMAQsLIARBASAJKAIEdGtBCGoPCyAAKAIMIQQgASEDQQEhCUEAIQIDQCACIAQoAgRJBEAgBCgCACIIKAIAIQogAygCECAIKAIEIAogCSIHQQF0IgFqai8BCCIFIAMoAgxBC3ZsIgZJBH8gAyAGNgIMQQAhBkGAECAFa0H//wNxQQV2IAVqBSADIAMoAhAgBms2AhAgAyADKAIMIAZrNgIMQQEhBiAFIAVB//8DcUEFdmsLIQUgCCgCBCAIKAIAIAdBAXRqaiAFOwEIIAMoAgwjAkkEQCADIAMoAgxBCHQ2AgwgAygCEEEIdCEAIAMoAgAhBSADIAMoAggiCkEBajYCCCADIAUgChARQf8BcSAAcjYCEAsgBkH//wNxIAFqIQkgAkEBaiECDAELCyAJQQEgBCgCBHRrQRBqC5YCAQh/QQEhBwNAAkAgBiABTg0AIAIoAhAgACgCBCAAKAIAIAMgB2oiCUEBdGpqLwEIIgQgAigCDEELdmwiBUkEfyACIAU2AgxBACEFQYAQIARrQf//A3FBBXYgBGoFIAIgAigCECAFazYCECACIAIoAgwgBWs2AgxBASEFIAQgBEH//wNxQQV2awshBCAAKAIEIAAoAgAgCUEBdGpqIAQ7AQggAiIEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhCiAEKAIAIQsgBCAEKAIIIglBAWo2AgggBCALIAkQEUH/AXEgCnI2AhALIAVB//8DcSIEIAdBAXRqIQcgBCAGdCAIciEIIAZBAWohBgwBCwsgCAvwBAEIf0EDIAEgAUEDSxsiAiAAKAIkKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACyEEIAAoAgQhAkEBIQEDQCAHIAQoAgRJBEAgBCgCACIFKAIAIQMgAigCECAFKAIEIAFBAXQiCSADamovAQgiAyACKAIMQQt2bCIGSQR/IAIgBjYCDEEAIQhBgBAgA2tB//8DcUEFdiADagUgAiACKAIQIAZrNgIQIAIgAigCDCAGazYCDEEBIQggAyADQf//A3FBBXZrCyEDIAUoAgQgBSgCACABQQF0amogAzsBCCACKAIMIwJJBEAgAiACKAIMQQh0NgIMIAIoAhBBCHQhBiACKAIAIQUgAiACKAIIIgNBAWo2AgggAiAFIAMQEUH/AXEgBnI2AhALIAhB//8DcSAJaiEBIAdBAWohBwwBCwsgAUEBIAQoAgR0ayIBQQRJBEAgAQ8LIAFBAXFBAnIgAUEBdkEBayICdCEDIAFBDkkEfyAAKAIsIAIgACgCBCADIAFrEB4gA2oFIAAoAgQhASACQQRrIQJBACEEA0AgASABKAIMQQF2NgIMIAEgASgCECABKAIMazYCECABIAEoAhBBACABKAIQQR92ayIHIAEoAgxxajYCECABKAIQIAEoAgxGBEAgAUEBOgAECyABKAIMIwJJBEAgASABKAIMQQh0NgIMIAEoAhBBCHQhBSABKAIAIQggASABKAIIIgZBAWo2AgggASAIIAYQEUH/AXEgBXI2AhALIAdBAWogBEEBdGohBCACQQFrIgINAAsgBEEEdCADaiAAKAIoIgQoAgAgBCgCBCAAKAIEQQAQHmoLC9AcAQ9/IAAQGiAAKAIEIgdBADoABCAHKAIAIAcgBygCCCIDQQFqNgIIIAMQEUH/AXEEQCAHQQE6AAQLIAdBfzYCDCAHQQA2AhBBACEDA0AgA0EESARAIAcoAhBBCHQhBSAHKAIAIQwgByAHKAIIIghBAWo2AgggByAMIAgQEUH/AXEgBXI2AhAgA0EBaiEDDAELCyAHKAIQIAcoAgxGBEAgB0EBOgAECyABBEAgACgCCCACEA82AgQFIAAoAghBBBAPNgIEC0EAIQwDQAJAIAJFIAEgARsiBwR/IAAtAABFBSAHCwRAIAAoAgQoAhBFBEBBAw8LCyAAKAIwIgUoAgAhByAFKAIEIAAoAggoAgBBASAAKAIQdEEBa3EiCyAMQQR0Qf8BcWoiBkEBdCAHamovAQghAyAGIQcgACgCBCIEKAIMQQt2IANsIQggBCgCECAISQR/IAQgCDYCDEEAIQlBgBAgA2tB//8DcUEFdiADagUgBCAEKAIQIAhrNgIQIAQgBCgCDCAIazYCDEEBIQkgAyADQf//A3FBBXZrCyEIIAUiAygCBCADKAIAIAdBAXRqaiAIOwEIIAQiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQggBigCACEDIAYgBigCCCIHQQFqNgIIIAYgAyAHEBFB/wFxIAhyNgIQCyAJQf//A3FFBEAgAkUgASABGw0BIAwhCEEAIQYgACgCCCIFKAIMRSIEBH8gBS0AGEUFIAQLRQRAIAAoAggiBSgCCCIGKAIEQQEgBSgCDEwEfyAFKAIMQQFrBSAFKAIMIAUoAhRBAWtqCyAGKAIAamotAAghBgtBASEEIAAoAggoAgBBASAALQAUdEEBa3EgACgCDHQgBkEIIAAoAgxrdmpBgAZsIQcgCEEHTwRAIAAoAggiBigCCCIJKAIEIA5BAWoiDSAGKAIMTAR/IAYoAgwgDWsFIAYoAgwgBigCFCANa2oLIAkoAgBqai0ACCENA0ACQCANQf8BcUEHdiEGIA1BAXQhDSAAKAIgIgkoAgAhCyAJKAIEIAZBAWpBCHQgB2ogBGoiDEEBdCALamovAQgiCyAAKAIEIgMoAgxBC3ZsIQogAygCECAKSQR/QYAQIAtrQf//A3FBBXYgC2ohCyADIAo2AgxBAAUgCyALQf//A3FBBXZrIQsgAyADKAIQIAprNgIQIAMgAygCDCAKazYCDEEBCyEFIAkoAgQgCSgCACAMQQF0amogCzsBCCADIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEDIAooAgAhDCAKIAooAggiC0EBajYCCCAKIAwgCxARQf8BcSADcjYCEAsgBEEBdCAFciEEIAVB//8DcSAGRw0AIARB//8DcUGAAkkNAQsLCwNAIARBgAJJBEAgBEEBdCEJIAAoAiAiBSgCACEMIAUoAgQgBCAHaiIGQQF0IAxqai8BCCILIAAoAgQiDSgCDEELdmwhCiANKAIQIApJBH9BgBAgC2tB//8DcUEFdiALaiELIA0gCjYCDEEABSALIAtB//8DcUEFdmshCyANIA0oAhAgCms2AhAgDSANKAIMIAprNgIMQQELIAUoAgQgBSgCACAGQQF0amogCzsBCCANIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEGIAooAgAhBSAKIAooAggiDEEBajYCCCAKIAUgDBARQf8BcSAGcjYCEAsgCXIhBAwBCwsgACgCCCIDIAMoAgBBAWo2AgAgAygCCCELIAMgAygCDCIGQQFqNgIMIAsoAgQgCygCACAGamogBEGAAmsiCjoACCADKAIMIAMoAhRGBEAgA0EANgIMIANBAToAGAsgAygCBCgCCCADKAIQRgRAIAMgAygCBCIGKAIIQQF0EA82AgQgAygCBCgCACADKAIEKAIEakEIaiAGKAIAIAYoAgRqQQhqIAYoAggQHCAGKAIAGgsgAygCBCEJIAMgAygCECIMQQFqNgIQIAkoAgQgCSgCACAMamogCjoACCAIIgVBBEkEf0EABSAFQQNrIAVBBmsgBUEKSRsLIQwgAkEBayECDAILIAAoAjQiBigCACEFIAYoAgQgDCIDQQF0IAVqai8BCCIHIAAoAgQiCigCDEELdmwhBCAKKAIQIARJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAogBDYCDEEABSAHIAdB//8DcUEFdmshByAKIAooAhAgBGs2AhAgCiAKKAIMIARrNgIMQQELIAMhBSAGIgMoAgAhDSADKAIEIAVBAXQgDWpqIAc7AQggCiIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhBiAJKAIAIQMgCSAJKAIIIgVBAWo2AgggCSADIAUQEUH/AXEgBnI2AhALQf//A3EEQCACRSABIAEbDQEgACgCCCIIKAIMRSIEBH8gCC0AGEUFIAQLDQEgACgCOCIDKAIAIQggAygCBCAMQQF0IAhqai8BCCIEIAAoAgQiBSgCDEELdmwhByAFKAIQIAdJBH9BgBAgBGtB//8DcUEFdiAEaiEEIAUgBzYCDEEABSAEIARB//8DcUEFdmshBCAFIAUoAhAgB2s2AhAgBSAFKAIMIAdrNgIMQQELIAMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEFIAkoAgAhAyAJIAkoAggiCEEBajYCCCAJIAMgCBARQf8BcSAFcjYCEAtB//8DcQRAIAAoAjwiCCgCACEHIAgoAgQgDEEBdCAHamovAQgiBCAAKAIEIgUoAgxBC3ZsIQYgBSgCECAGSQR/QYAQIARrQf//A3FBBXYgBGohBCAFIAY2AgxBAAUgBCAEQf//A3FBBXZrIQQgBSAFKAIQIAZrNgIQIAUgBSgCDCAGazYCDEEBCyAIIgMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiB0EBajYCCCAJIAMgBxARQf8BcSAIcjYCEAtB//8DcQRAIAAoAkAiAygCACEKIAMoAgQgDEEBdCAKamovAQgiBiAAKAIEIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAZrQf//A3FBBXYgBmohBiAHIAQ2AgxBAAUgBiAGQf//A3FBBXZrIQYgByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyADKAIEIAMoAgAgDEEBdGpqIAY7AQggByIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhCCAJKAIAIQMgCSAJKAIIIgpBAWo2AgggCSADIAoQEUH/AXEgCHI2AhALQf//A3EEQCARIQMgDyERBSAPIQMLIBAhDwUgECEDCyAOIRAgAyEOBSAAKAJEIgYoAgAhCiAGKAIEIAxBBHRB/wFxIAtqIgNBAXQgCmpqLwEIIgcgACgCBCIIKAIMQQt2bCEEIAgoAhAgBEkEf0GAECAHa0H//wNxQQV2IAdqIQcgCCAENgIMQQAFIAcgB0H//wNxQQV2ayEHIAggCCgCECAEazYCECAIIAgoAgwgBGs2AgxBAQsgAyEKIAYiAygCACENIAMoAgQgCkEBdCANamogBzsBCCAIIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiCkEBajYCCCAJIAMgChARQf8BcSAIcjYCEAtB//8DcUUEQEEJQQsgDEEHSRshDCAAKAIIIQQgACgCCCIFKAIIIgMoAgQgDkEBaiIHIAUoAgxMBH8gBSgCDCAHawUgBSgCDCAFKAIUIAdragsgAygCAGpqLQAIIQcgBCAEKAIAQQFqNgIAIAQoAgghBSAEIAQoAgwiBkEBajYCDCAFKAIEIAUoAgAgBmpqIAc6AAggBCgCDCAEKAIURgRAIARBADYCDCAEQQE6ABgLIAQoAgQoAgggBCgCEEYEQCAEIAQoAgQiBigCCEEBdBAPNgIEIAQoAgQoAgAgBCgCBCgCBGpBCGogBigCACAGKAIEakEIaiAGKAIIEBwgBigCABoLIAQoAgQhAyAEIAQoAhAiCEEBajYCECADKAIEIAMoAgAgCGpqIAc6AAggAkEBayECDAQLCyAAKAJMIAAoAgQgCxAdIQtBCEELIAxBB0kbIQwFIA8hESAQIQ8gDiEQQQdBCiAMQQdJGyEMIAAgACgCSCAAKAIEIAsQHSILEB8iDkF/RgRAIAAoAgQoAhAEf0EBBUECCw8LIAJFIAEgARsNASAOIAAoAhhPIgUEfyAFBSAOIAAoAggiBCgCDEwiBgR/IAYFIAQtABgLRQsNAQtBACENIAAoAgghBSAOQQFqIQQgAiALQQJqIgtIIAEgARsEQEEBIQ0gAiELCyALIQYDQCAGQQBKBEAgBSIIKAIIIgkoAgQgBCAFKAIMTAR/IAUoAgwgBGsFIAUoAgwgBSgCFCAEa2oLIAkoAgBqai0ACCEHIAggCCgCAEEBajYCACAIKAIIIQMgCCAIKAIMIgpBAWo2AgwgAygCBCADKAIAIApqaiAHOgAIIAgoAgwgCCgCFEYEQCAIQQA2AgwgCEEBOgAYCyAIKAIEKAIIIAgoAhBGBEAgCCAIKAIEIgMoAghBAXQQDzYCBCAIKAIEKAIAIAgoAgQoAgRqQQhqIAMoAgAgAygCBGpBCGogAygCCBAcIAMoAgAaCyAIKAIEIQkgCCAIKAIQIgNBAWo2AhAgCSgCBCAJKAIAIANqaiAHOgAIIAZBAWshBgwBCwsgAiALayECIA1FDQELC0EBCyYBAX9BEBABIgQgADYCACAEIAE2AgQgBCACNgIIIAQgAzYCDCAEC7YEAQZ/IAAgATYCBEENEA8hAgNAAkAgA0ENTg0AIAIgAyABIAMQEUH/AXEQEiADQQFqIQMMAQsLIAAoAgAhBCACIQZBBBAPIgIoAgQgAigCAGogBigCBCAGKAIAai0ACCIDOgAIIANB/wFxQeEBTwRAQQBBgAFBoQFBDBAAAAsgAigCBCACKAIAQQFqaiADQf8BcUEJcCIHOgAIIAIoAgQgAigCAGogA0H/AXFBCW4iAzoACCADQQVwIQUgAigCBCACKAIAQQJqaiADQQVuIgM6AAggAigCBCACKAIAQQNqaiAFOgAIIAQgBzYCDCAEIAM2AhAgBCAFOgAUIARBADYCHEEAIQIDQAJAIAJBBE8NACAEIAQoAhwgBigCBCAGKAIAIAJBAWpqai0ACCACQQN0dHI2AhwgAkEBaiECDAELCyAEIAQoAhw2AhggBCgCGEGAIEkEQCAEQYAgNgIYC0EAIQJBACEFQQAhAwNAAkAgA0EITg0AIAYgA0EFahARQf8BcSIEQf8BRwRAQQEhBQsgBCADQQN0dCACciECIANBAWohAwwBCwsgACgCACAFRToAACAAKAIAKAIEIAE2AgAgACgCABAWAkAgACgCACAFIAIQICIBQQFGDQAgAUEDRwRAIAFBAkYEQCAFBEAgACgCACgCCCgCECACRw0DCwUMAgsLIAAoAgAoAgQtAAQaQQFBACAAKAIAKAIIKAIQIAAoAgAoAggoAgQQIQ8LQQBBAUEAQQAQIQsIACMDIAAQIgsWAEG4ASQAIwAkAUGAgIAIJAIQDCQDCwMAAQsLtwEEAEEICxcKAAAAdQBzAGUAIABzAHQAcgBpAGMAdABBIAsdDQAAAH4AbABpAGIALwBhAHIAcgBhAHkALgB0AHMAQcAACzkbAAAAfgBsAGkAYgAvAGkAbgB0AGUAcgBuAGEAbAAvAHQAeQBwAGUAZABhAHIAcgBhAHkALgB0AHMAQYABCzMYAAAAcwByAGMALwBsAHoAbQBhAC8AbAB6AG0AYQAtAGQAZQBjAG8AZABlAHIALgB0AHM=";return n(t)}function decodeLZMA(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(c){var p=Math.floor(this.offset/o);this.data[p]||(this.data[p]=new Uint8Array(o)),this.data[p][this.offset%o]=c,this.offset++}};n.decompressFile(r,s);for(var u=new Uint8Array(s.offset),l=0;l<s.offset;l++)u[l]=s.data[Math.floor(l/o)][l%o];e(null,u)}catch(c){e(c)}}function decodeLZMAWithWASM(n,t,e){var r=24;try{var o=new WebAssembly.Memory({initial:16}),s=new WebAssembly.Module(n),u=new WebAssembly.Instance(s,{env:{memory:o,abort:function(){e(new Error("webAssembly abort"))}}}),l=u.exports,c=l.newU8Array(t.length),p=new Uint8Array(o.buffer,c+r,t.length);p.set(t);var f=l.decode(c),d=new Uint32Array(o.buffer,f,4),h=d[0],m=d[2],g=d[3];h?e(null,new Uint8Array(o.buffer,g+r,m).slice(0,m)):e(new Error("lzma deocder error"))}catch(A){e(A)}}var lzmaWorkerSource=`
|
|
406
|
+
var decodeLZMA = (function() {
|
|
407
|
+
var LZMA = (`.concat(createLZMA.toString(),`)();
|
|
408
|
+
return function(data, callback) {
|
|
409
|
+
return (`).concat(decodeLZMA.toString(),`)(LZMA, data, callback);
|
|
410
|
+
}
|
|
411
|
+
})();
|
|
412
|
+
|
|
413
|
+
var decodeLZMAWithWASM = (function() {
|
|
414
|
+
var LZMA_WASM = (`).concat(createWASM.toString(),`)();
|
|
415
|
+
return function(data, callback) {
|
|
416
|
+
return (`).concat(decodeLZMAWithWASM.toString(),`)(LZMA_WASM, data, callback);
|
|
417
|
+
}
|
|
418
|
+
})();
|
|
419
|
+
|
|
420
|
+
self.onmessage = function(event) {
|
|
421
|
+
var packet = event.data;
|
|
422
|
+
if (!packet.id) {
|
|
423
|
+
postMessage({ id: packet.id, error: "No incoming id." });
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
if (!packet.data) {
|
|
427
|
+
postMessage({ id: packet.id, error: "No input data." });
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
if (packet.type == "decompress") {
|
|
431
|
+
if (packet.data.constructor !== Uint8Array) {
|
|
432
|
+
postMessage({ id: packet.id, error: "Input data is not Uint8Array." });
|
|
433
|
+
}
|
|
434
|
+
const callback = function(error, result) {
|
|
435
|
+
if (error) {
|
|
436
|
+
postMessage({ id: packet.id, error: error.toString() });
|
|
437
|
+
} else {
|
|
438
|
+
postMessage({ id: packet.id, result: result, error: null }, [ result.buffer ]);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
if (typeof WebAssembly !== "undefined" && WebAssembly.instantiate) {
|
|
442
|
+
decodeLZMAWithWASM(packet.data, callback);
|
|
443
|
+
} else {
|
|
444
|
+
decodeLZMA(packet.data, callback);
|
|
445
|
+
}
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
postMessage({ id: packet.id, error: "type never matched." });
|
|
449
|
+
};
|
|
450
|
+
`),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob$2=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob$2)}catch(n){}var LZMAWorker=function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var o=r.data,s=o.id,u=o.result,l=o.error,c=t.getKey(s);t.requests[c]&&(l?t.requests[c](new Error(l)):t.requests[c](null,u),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n}();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(u){var l={data:n[u],offset:0,readByte:function(){return this.data[this.offset++]}},c=l.data.length,p={data:[],offset:0,writeByte:function(d){var h=Math.floor(this.offset/c);this.data[h]||(this.data[h]=new Uint8Array(c)),this.data[h][this.offset%c]=d,this.offset++}};LZMA.decompressFile(l,p),o=new Uint8Array(p.offset);for(var f=0;f<p.offset;f++)o[f]=p.data[Math.floor(f/c)][f%c];t.push(o)},o,s=0;s<e;s++)r(s);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(s){t.push(new Promise(function(u,l){var c=new LZMAWorker;c.decompress(n[s],function(p,f){if(c.terminate(),p)return l(p);u(f)})}))},o=0;o<e;o++)r(o);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],o=[],s=4+e*4,u=0;u<e;u++)o[u]=readUint32(t.slice(4+u*4,8+u*4)),u===e-1?r[u]=t.subarray(s,s+o[u]):r[u]=t.slice(s,s+o[u]),s+=o[u];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}function loadAt3d(n,t){var e,r,o,s,u;t===void 0&&(t={});var l=(e=t.upAxis)!==null&&e!==void 0?e:"Z",c=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),p={byteLength:0},f=autoRestImageOptionsByTextureLength((o=t.textureOptions)!==null&&o!==void 0?o:{},(u=(s=t.textureArray)===null||s===void 0?void 0:s.length)!==null&&u!==void 0?u:0),d={};if(t.textureArray)for(var h=0,m=t.textureArray;h<m.length;h++){var g=m[h];d[g]=loadTexture$1(g,f,c)}return Promise.resolve().then(function(){return c.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return lzma(A.body)}).then(function(A){return delay(function(){for(var E,v={chunks:[],createAt:void 0,description:void 0},y=0,b=A;y<b.length;y++){var T=b[y],_=Model$2.decode(T);_.chunks.length&&((E=v.chunks).push.apply(E,_.chunks),v.createAt=_.createAt,v.description=_.description)}return v})}).then(function(A){return delay(function(){var E,v,y,b;return parse$4(A,(E=t.light)!==null&&E!==void 0?E:!1,(v=t.textureBaseUri)!==null&&v!==void 0?v:function(){var T=n.lastIndexOf("/");if(T>=0){var _=n.slice(0,T)+"/";return/\/model\/$/.test(_)&&(_=_.replace(/\/model\/$/,"/materials/")),_}return""}(),((y=t.textureArray)!==null&&y!==void 0?y:[]).slice(),(b=t.textureOptions)!==null&&b!==void 0?b:{},d,c)})}).then(function(A){var E=new THREE__namespace.Group;E.name=n;for(var v=0,y=A.objects;v<y.length;v++){var b=y[v];E.add(b)}return l==="Y"&&E.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"at3d",modelUpAxis:"Z",upAxis:l,uri:n,byteLength:p.byteLength,memoryUsage:getMemoryUsage(E),scene:E,textures:A.textures,animations:[],dispose:function(){return A.dispose()}}})}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}const $Reader=minimal.Reader,$util=minimal.util,$root=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.meshes&&s.meshes.length||(s.meshes=[]),s.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Mesh;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.name=e.string();break}case 2:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{s.matrix&&s.matrix.length||(s.matrix=[]),s.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})(),$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Matrix;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.elements&&s.elements.length||(s.elements=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.elements.push(e.float())}else s.elements.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})(),$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 2:{s.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{s.material&&s.material.length||(s.material=[]),s.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Geometry;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.position=$root.Position.decode(e,e.uint32());break}case 2:{s.uv=$root.UV.decode(e,e.uint32());break}case 3:{s.uv2=$root.UV.decode(e,e.uint32());break}case 4:{s.normal=$root.Normal.decode(e,e.uint32());break}case 5:{s.groups&&s.groups.length||(s.groups=[]),s.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:s});if(!s.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})(),$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Position;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})(),$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.UV;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})(),$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Normal;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})(),$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Group;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.start=e.uint32();break}case 2:{s.count=e.uint32();break}case 3:{s.materialIndex=e.uint32();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:s});if(!s.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:s});if(!s.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})(),$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Material;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.kd=$root.Color.decode(e,e.uint32());break}case 2:{s.ks=$root.Color.decode(e,e.uint32());break}case 3:{s.ke=$root.Color.decode(e,e.uint32());break}case 4:{s.mapkd=e.string();break}case 5:{s.mapks=e.string();break}case 6:{s.mapke=e.string();break}case 7:{s.norm=e.string();break}case 8:{s.mapbump=e.string();break}case 9:{s.bump=e.string();break}case 10:{s.mapd=e.string();break}case 11:{s.ns=e.float();break}case 12:{s.d=e.float();break}case 13:{s.tr=e.float();break}case 14:{s.mapkdrepeat=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})(),$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Color;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.rgb&&s.rgb.length||(s.rgb=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.rgb.push(e.float())}else s.rgb.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function loadDome(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"})}).then(function(l){var c,p;return u.byteLength=l.body.byteLength,parse$3(new Uint8Array(l.body),(c=t.light)!==null&&c!==void 0?c:!0,t.textureBaseUri||"",(p=t.textureOptions)!==null&&p!==void 0?p:{},s)}).then(function(l){var c=new THREE__namespace.Group;c.matrixAutoUpdate=!1,o==="Z"&&c.applyMatrix4(ROTATE_X_MATRIX),c.matrix.compose(c.position,c.quaternion,c.scale),c.name=n;for(var p=0,f=l.objects;p<f.length;p++){var d=f[p];c.add(d)}return{type:"dome",modelUpAxis:"Y",upAxis:o,uri:n,byteLength:u.byteLength,memoryUsage:getMemoryUsage(c),scene:c,textures:l.textures,animations:[],dispose:function(){return l.dispose()}}})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,o=n.uv2,s=n.groups,u=new THREE__namespace.BufferGeometry;u.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&u.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&u.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),o&&u.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=s;l<c.length;l++){var p=c[l];u.addGroup(p.start,p.count,p.materialIndex)}return u}function loadTexture(n,t,e,r,o,s,u){if(u.hasOwnProperty(n))return u[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var l=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","mappings"])),c=u[n]=o.loadTexture(n,{imageURL:{transform:e.transform,options:l},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:s}).then(function(p){var f=p.body;return r&&f.repeat.copy(r),f.needsUpdate=!0,f.updateMatrix(),f});return c}function parseMaterial(n,t,e,r,o,s,u,l,c){var p=[],f=new PBMMeshMaterial(t?"phong":"basic");if(l.add(f),n.kd&&(f.color=new THREE__namespace.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var d=null;if(n.mapkdrepeat){var h=n.mapkdrepeat.split(/\s+/).map(function(E){return Number(E)}),m=h[0],g=h[1];d=new THREE__namespace.Vector2(m,g)}p.push(loadTexture(n.mapkd,e,r,d,o,s,u).then(function(E){E.encoding=THREE__namespace.sRGBEncoding,f.map=E,l.add(E),c.add(E),f.needsUpdate=!0}).catch(noop$1))}if(n.ks&&(f.specular=new THREE__namespace.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&p.push(loadTexture(n.mapks,e,r,null,o,s,u).then(function(E){f.specularMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.ke&&(f.emissive=new THREE__namespace.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&p.push(loadTexture(n.mapke,e,r,null,o,s,u).then(function(E){E.encoding=THREE__namespace.sRGBEncoding,f.emissiveMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.norm&&p.push(loadTexture(n.norm,e,r,null,o,s,u).then(function(E){f.normalMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.mapbump&&p.push(loadTexture(n.mapbump,e,r,null,o,s,u).then(function(E){f.bumpMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.bump&&p.push(loadTexture(n.bump,e,r,null,o,s,u).then(function(E){f.bumpMap=E,l.add(E),c.add(E)}).catch(noop$1)),typeof n.ns=="number"&&(f.shininess=n.ns),typeof n.d=="number"){var A=n.d;A>0&&A<1&&(f.opacity=A)}return f.floorIndex=0,{material:f,textureReady:Promise.all(p).then(noop$1)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$3(n,t,e,r,o){for(var s=[],u=[],l=new Set,c=fromProtoBuf(n),p=new TextureLoader,f=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,h=new THREE__namespace.Quaternion,m=new THREE__namespace.Vector3,g={},A=new Set,E=0,v=c;E<v.length;E++){var y=v[E],b=y.name,T=y.chunks,_=y.matrix;if(!(b==="Ceiling"||b==="CeilingDrop"))for(var S=0,R=_;S<R.length;S++){var M=R[S];f.elements=M.elements;for(var H=new THREE__namespace.Group,B=0;B<T.length;B++){var C=parseGeometry(T[B].geometry);C.applyMatrix4(f),f.decompose(d,h,m),m.x*m.y*m.z<0&&C.attributes.normal&&C.attributes.position&&C.attributes.uv&&flipBufferGeometryNormals(C),l.add(C);for(var w=[],I=0,O=T[B].material;I<O.length;I++){var F=O[I],N=parseMaterial(F,t,e||"",r,p,o,g,l,A),z=N.material,J=N.textureReady;u.push(J),w.push(z)}var G=new PBMMesh(C,w);G.name="chunk_"+B,G.matrix.compose(G.position,G.quaternion,G.scale),G.matrixAutoUpdate=!1,G.frustumCulled=!1,H.add(G)}H.name=b,s.push(H)}}return Promise.all(u).catch(noop$1).then(function(){return{createAt:0,description:"",objects:s,textures:Array.from(A),dispose:function(){l.forEach(function(Q){Q.dispose()}),l.clear()}}})}function loadDomez(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"})}).then(function(l){return u.byteLength=l.body.byteLength,lzma(l.body)}).then(function(l){var c=l.reduce(function(d,h){return d+h.length},0),p=new Uint8Array(c),f=0;return l.forEach(function(d){p.set(d,f),f+=d.length}),p}).then(function(l){var c,p;return parse$3(l,(c=t.light)!==null&&c!==void 0?c:!0,t.textureBaseUri||"",(p=t.textureOptions)!==null&&p!==void 0?p:{},s)}).then(function(l){var c=new THREE__namespace.Group;c.matrixAutoUpdate=!1,o==="Z"&&c.applyMatrix4(ROTATE_X_MATRIX),c.matrix.compose(c.position,c.quaternion,c.scale),c.name=n;for(var p=0,f=l.objects;p<f.length;p++){var d=f[p];c.add(d)}return{type:"domez",modelUpAxis:"Y",upAxis:"Z",uri:n,byteLength:u.byteLength,memoryUsage:getMemoryUsage(c),scene:c,textures:l.textures,animations:[],dispose:function(){return l.dispose()}}})}var SIZEOF_UINT32$1=4;function parseHeader$1(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$4,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$4={},_a$4[GL_TYPE.DOUBLE]=Float64Array,_a$4[GL_TYPE.FLOAT]=Float32Array,_a$4[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$4[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$4[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$4[GL_TYPE.BYTE]=Int8Array,_a$4[GL_TYPE.SHORT]=Int16Array,_a$4[GL_TYPE.INT]=Int32Array,_a$4),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var o=getArrayType(n);if(e%getByteSize(n)!==0){var s=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new o(s)}else return new o(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var o=this.json[t];if(typeof o=="number"){var s=getArrayType(e);return new s([o])}else if(Array.isArray(o)){var s=getArrayType(e);return new s(o)}else if(o&&Number.isFinite(o.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,o.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(e=glTypeFromName(o.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,o.byteOffset)):this.getTypedArrayFromArray(t,e,o)},n.prototype.getProperty=function(t,e,r,o,s){var u=this.json[t];if(!u)return null;var l=this.getPropertyArray(t,e,r);if(r===1)return s[0]=l[o],s;for(var c=0;c<r;++c)s[c]=l[r*o+c];return s},n.prototype.getTypedArrayFromBinary=function(t,e,r,o,s){var u=this.cachedTypedArrays,l=u[t];return l||(l=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+s,o*r),u[t]=l),l},n.prototype.getTypedArrayFromArray=function(t,e,r){var o=this.cachedTypedArrays,s=o[t];return s||(s=createTypedArray(e,r),o[t]=s),s},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),o=new Uint8Array(n,t,e),s=r.decode(o);return s}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),o=0;n.header=n.header||{};var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,l>=570425344?(e-=SIZEOF_UINT32*2,o=s,l=u,c=0,s=0,u=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,o=l,l=s,c=u,s=0,u=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=s,n.header.featureTableBinaryByteLength=u,n.header.batchTableJsonByteLength=l,n.header.batchTableBinaryByteLength=c,n.header.batchLength=o,e}function parseFeatureTable(n,t,e){var r=n.header||{},o=r.featureTableJsonByteLength,s=r.featureTableBinaryByteLength,u=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:u||0},o&&o>0){var l=getStringFromArrayBuffer(t,e,o);n.featureTableJson=JSON.parse(l)}e+=o||0,n.featureTableBinary=new Uint8Array(t,e,s),e+=s||0;var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var p=c.json.RTC_CENTER;n.rtcCenter=[p[0],p[1],p[2]]}else{var p=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);p&&(n.rtcCenter=[p[0],p[1],p[2]])}return e}function parseBatchTable(n,t,e){var r=n.header||{},o=r.batchTableJsonByteLength,s=r.batchTableBinaryByteLength;if(o&&o>0){var u=getStringFromArrayBuffer(t,e,o);n.batchTableJson=JSON.parse(u),e+=o,s&&s>0&&(n.batchTableBinary=new Uint8Array(t,e,s),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=s)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),o=new Uint8Array(r);return o.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(o){return t}}var WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",TEXCOORD_2:"uv3",TEXCOORD_3:"uv4",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}function appendSearch(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}function composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var o=r[e];typeof o.dispose=="function"&&o.dispose(),typeof o.close=="function"&&o.close()}}}var Parser=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],o=0,s=e.length;o<s;o++)for(var u=e[o].joints,l=0,c=u.length;l<c;l++)t[u[l]].isBone=!0;for(var p=0,f=t.length;p<f;p++){var d=t[p];d.mesh!==void 0&&d.skin!==void 0&&(r[d.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var o=0,s=values(r);o<s.length;o++){var u=s[o];u.markDefs(this)}return Promise.all(values(r).map(function(l){return l.prepare(t)})).then(function(){var l,c,p;return Promise.all([Promise.all(((l=e.scenes)!==null&&l!==void 0?l:[]).map(function(f,d){return t.loadScene(d)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(f,d){return t.loadAnimation(d)})),Promise.all(((p=e.cameras)!==null&&p!==void 0?p:[]).map(function(f,d){return t.loadCamera(d)}))])}).then(function(l){var c=l[0],p=l[1],f=l[2],d={json:e,scene:c[e.scene||0],scenes:c,animations:p,cameras:f,textures:[],dispose:noop$1};return d}).then(function(l){return Promise.all(values(r).map(function(c){return c.emitResult(l,t)})).then(function(){return l})}).then(function(l){var c=Array.from(t.textureSet),p=composeDsiposeSet(t.disposeSet);return Object.assign(l,{textures:c,dispose:p}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),l})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadCamera(t,this),o)break}if(!o){var c=void 0,p=this.json.cameras[t],f=p[p.type];f?p.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(f.yfov),f.aspectRatio||1,f.znear||1,f.zfar||2e6):p.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-f.xmag,f.xmag,f.ymag,-f.ymag,f.znear,f.zfar):(console.warn("glTF: Invalid camera type ".concat(p.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),p.name&&(c.name=p.name),o=Promise.resolve(c)}return this.cache.set(e,o),o},n.prototype.loadSkin=function(t){var e="skin:"+t,r=this.cache.get(e);if(r)return r;var o,s=this.json.skins[t],u={joints:s.joints};return s.inverseBindMatrices===void 0?o=Promise.resolve(u):o=this.loadAccessor(s.inverseBindMatrices).then(function(l){return l&&(u.inverseBindMatrices=l),u}),this.cache.set(e,o),o},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadAnimation(t,this),o)break}if(!o){for(var c=this.json,p=c.animations[t],f=[],d=[],h=[],m=[],g=[],A=0,E=p.channels.length;A<E;A++){var v=p.channels[A],y=p.samplers[v.sampler],b=v.target,T=b.node!==void 0?b.node:b.id,_=p.parameters!==void 0?p.parameters[y.input]:y.input,S=p.parameters!==void 0?p.parameters[y.output]:y.output;f.push(this.loadNode(T)),d.push(this.loadAccessor(_)),h.push(this.loadAccessor(S)),m.push(y),g.push(b)}o=Promise.all([Promise.all(f),Promise.all(d),Promise.all(h),Promise.all(m),Promise.all(g)]).then(function(R){for(var M=R[0],H=R[1],B=R[2],C=R[3],w=R[4],I=[],O=function(J,G){var Q=M[J],U=H[J],V=B[J],X=C[J],Z=w[J];if(Q===void 0)return"continue";Q.updateMatrix(),Q.matrixAutoUpdate=!0;var ee=void 0;switch(PATH_PROPERTIES[Z.path]){case PATH_PROPERTIES.weights:ee=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:ee=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:ee=THREE__namespace.VectorKeyframeTrack;break}var K=Q.name?Q.name:Q.uuid,re=X.interpolation!==void 0?INTERPOLATION[X.interpolation]:THREE__namespace.InterpolateLinear,Y=[];PATH_PROPERTIES[Z.path]===PATH_PROPERTIES.weights?Q.traverse(function(fe){fe.morphTargetInfluences&&Y.push(fe.name?fe.name:fe.uuid)}):Y.push(K);var W=V.array;if(V.normalized){for(var le=getNormalizedComponentScale(W.constructor),oe=new Float32Array(W.length),ae=0,se=W.length;ae<se;ae++)oe[ae]=W[ae]*le;W=oe}for(var ae=0,se=Y.length;ae<se;ae++){var ie=new ee(Y[ae]+"."+PATH_PROPERTIES[Z.path],U.array,W,re);I.push(ie)}},F=0,N=M.length;F<N;F++)O(F);var z=p.name?p.name:"animation_"+t;return new THREE__namespace.AnimationClip(z,void 0,I)})}return this.cache.set(e,o),o},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadBuffer(t,this),s)break}if(!s){var p=this.json.buffers[t];s=this.options.fetcher.ajax(this.resolveResouce(p.uri),{responseType:"arraybuffer"}).then(function(f){return f.body})}return this.cache.set(r,s),s},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadBufferView(t,this),o)break}if(!o){var c=this.json.bufferViews[t];o=this.loadBuffer(c.buffer).then(function(p){var f=c.byteLength||0,d=c.byteOffset||0;return p.slice(d,d+f)})}return this.cache.set(e,o),o},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,o=this.cache.get(r);if(o)return o;var s=null;if(!s){var u=this.json.accessors[t];if(u.bufferView===void 0&&u.sparse===void 0)s=Promise.resolve(null);else{var l=[];u.bufferView!==void 0?l.push(this.loadBufferView(u.bufferView)):l.push(Promise.resolve(null)),u.sparse!==void 0&&(l.push(this.loadBufferView(u.sparse.indices.bufferView)),l.push(this.loadBufferView(u.sparse.values.bufferView))),s=Promise.all(l).then(function(c){var p=c[0],f=WEBGL_TYPE_SIZES[u.type],d=WEBGL_COMPONENT_TYPES[u.componentType],h=d.BYTES_PER_ELEMENT,m=h*f,g=u.byteOffset||0,A=u.bufferView!==void 0?e.json.bufferViews[u.bufferView].byteStride:void 0,E=u.normalized===!0,v,y;if(A&&A!==m){var b=Math.floor(g/A),T="InterleavedBuffer:"+u.bufferView+":"+u.componentType+":"+b+":"+u.count,_=e.cache.get(T);_||(v=new d(p,b*A,u.count*A/h),_=new THREE__namespace.InterleavedBuffer(v,A/h),e.cache.set(T,_)),y=new THREE__namespace.InterleavedBufferAttribute(_,f,g%A/h,E)}else p===null?v=new d(u.count*f):v=new d(p,g,u.count*f),y=new THREE__namespace.BufferAttribute(v,f,E);if(u.sparse!==void 0){var S=WEBGL_TYPE_SIZES.SCALAR,R=WEBGL_COMPONENT_TYPES[u.sparse.indices.componentType],M=u.sparse.indices.byteOffset||0,H=u.sparse.values.byteOffset||0,B=new R(c[1],M,u.sparse.count*S),C=new d(c[2],H,u.sparse.count*f);p!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var w=0,I=B.length;w<I;w++){var O=B[w];if(y.setX(O,C[w*f]),f>=2&&y.setY(O,C[w*f+1]),f>=3&&y.setZ(O,C[w*f+2]),f>=4&&y.setW(O,C[w*f+3]),f>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,s),s},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var o=r[e],s=o.createPrimitiveKey(t,this);if(s)return s}for(var u="",l=Object.keys(t.attributes).sort(),c=0,p=l.length;c<p;c++)u+=l[c]+":"+t.attributes[l[c]]+";";return t.indices+":"+u+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(l){return e.disposeSet.add(l),l}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadImage(t,this),r)break}if(!r){var l=this.json.images[t];if(l.bufferView!==void 0){var c=this.json.bufferViews[l.bufferView];r=this.loadBuffer(c.buffer).then(function(f){var d=c.byteOffset||0,h=c.byteLength||0,m=new Uint8Array(f,d,h),g=new Blob([m],{type:l.mimeType});return createImageBitmapLike(g)})}else if(l.uri){var p=this.resolveResouce(l.uri);r=this.options.fetcher.loadImage(p,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(f){return f.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(f){return e.disposeSet.add(f),f}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],o=new THREE__namespace.MeshStandardMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(f){f.encoding=THREE__namespace.sRGBEncoding,o.map=f,e.disposeSet.add(f)})),o.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,o.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(u.metallicRoughnessTexture).then(function(f){o.metalnessMap=f,o.roughnessMap=f,e.disposeSet.add(f)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&(r.push(this.createMaterialTexture(s.normalTexture).then(function(f){o.normalMap=f,e.disposeSet.add(f)})),o.normalScale=new THREE__namespace.Vector2(1,1),s.normalTexture.scale!==void 0)){var p=s.normalTexture.scale;o.normalScale.set(p,p)}s.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(s.occlusionTexture).then(function(f){o.aoMap=f,e.disposeSet.add(f)})),s.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&(o.emissive=new THREE__namespace.Color().fromArray(s.emissiveFactor)),s.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(s.emissiveTexture).then(function(f){o.emissiveMap=f,e.disposeSet.add(f)}))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsMeshBasicMaterial=function(t){var e=this,r=[],o=new THREE__namespace.MeshBasicMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(p){o.map=p,e.disposeSet.add(p)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(s.occlusionTexture).then(function(p){o.aoMap=p,e.disposeSet.add(p)})),s.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=s.occlusionTexture.strength))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,t.material!==void 0){var o=this.json.materials[t.material];o.name&&(r.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;r.color.fromArray(u),r.opacity=u[3]}o.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,l===ALPHA_MODES.MASK&&(r.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],o=new THREE__namespace.PointsMaterial;if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,o.sizeAttenuation=!1,t.material!==void 0){var s=this.json.materials[t.material];s.name&&(o.name=s.name);var u=s.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var l=u.baseColorFactor;o.color.fromArray(l),o.opacity=l[3]}u.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(u.baseColorTexture).then(function(p){p.encoding=THREE__namespace.sRGBEncoding,o.map=p,e.disposeSet.add(p)})),s.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=s.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterial=function(t){var e=this,r,o=(r=t.mode)!==null&&r!==void 0?r:WEBGL_CONSTANTS.TRIANGLES,s="material:"+this.createPrimitiveKey(t),u=this.cache.get(s);if(u)return u;for(var l=null,c=0,p=values(this.extensions);c<p.length;c++){var f=p[c];if(l=f.loadMaterial(t,this),l)break}if(!l)if(o===WEBGL_CONSTANTS.TRIANGLES||o===WEBGL_CONSTANTS.TRIANGLE_STRIP||o===WEBGL_CONSTANTS.TRIANGLE_FAN)this.extensions.KHR_materials_unlit?l=this.loadMaterialAsMeshBasicMaterial(t):l=this.loadMaterialAsMeshStandardMaterial(t);else if(o===WEBGL_CONSTANTS.LINES||o===WEBGL_CONSTANTS.LINE_STRIP||o===WEBGL_CONSTANTS.LINE_LOOP)l=this.loadMaterialAsLineBasicMaterial(t);else if(o===WEBGL_CONSTANTS.POINTS)l=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+o);return l=l.then(function(d){return Promise.all(values(e.extensions).map(function(h){return h.extendMaterial(d,t,e)})).then(function(){return d})}),this.cache.set(s,l),l},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,o=this.cache.get(r);if(o)return o;for(var s=null,u=0,l=values(this.extensions);u<l.length;u++){var c=l[u];if(s=c.loadTexture(t,this),s)break}if(!s){var p=this.json.textures[t];s=this.loadImage(p.source).then(function(f){var d=new THREE__namespace.Texture(f);d.needsUpdate=!0,d.flipY=!1,p.name&&(d.name=p.name);var h=e.json.samplers||{},m=h[p.sampler]||{};return d.magFilter=WEBGL_FILTERS[m.magFilter]||THREE__namespace.LinearFilter,d.minFilter=WEBGL_FILTERS[m.minFilter]||THREE__namespace.LinearMipmapLinearFilter,d.wrapS=WEBGL_WRAPPINGS[m.wrapS]||THREE__namespace.RepeatWrapping,d.wrapT=WEBGL_WRAPPINGS[m.wrapT]||THREE__namespace.RepeatWrapping,d.onUpdate=function(){f.close()},d})}return s=s.then(function(f){return e.disposeSet.add(f),f}),this.cache.set(r,s),s},n.prototype.loadMesh=function(t){for(var e=this,r=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(r=u.loadMesh(t,this),r)break}if(!r){var l=this.json.meshes[t],c=l.primitives,p=Promise.all(c.map(function(d){return e.loadGeometry(d)})),f=Promise.all(c.map(function(d){return e.loadMaterial(d)}));r=Promise.all([p,f]).then(function(d){for(var h=d[0],m=d[1],g=[],A=0;A<c.length;A++){var E=c[A],v=h[A],y=m[A],b=E.mode||WEBGL_CONSTANTS.TRIANGLES,T=void 0;if(b===WEBGL_CONSTANTS.TRIANGLES||b===WEBGL_CONSTANTS.TRIANGLE_STRIP||b===WEBGL_CONSTANTS.TRIANGLE_FAN)if(b===WEBGL_CONSTANTS.TRIANGLE_STRIP?v=e.toGeometryTrianglesDrawMode(v,THREE__namespace.TriangleStripDrawMode):b===WEBGL_CONSTANTS.TRIANGLE_FAN&&(v=e.toGeometryTrianglesDrawMode(v,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(v),l.isSkinnedMesh){var _=new THREE__namespace.SkinnedMesh(v,y);v.attributes.skinWeight.normalized||_.normalizeSkinWeights(),T=_}else T=new THREE__namespace.Mesh(v,y);else if(b===WEBGL_CONSTANTS.POINTS)T=new THREE__namespace.Points(v,y);else if(b===WEBGL_CONSTANTS.LINES)T=new THREE__namespace.LineSegments(v,y);else if(b===WEBGL_CONSTANTS.LINE_STRIP)T=new THREE__namespace.Line(v,y);else if(b===WEBGL_CONSTANTS.LINE_LOOP)T=new THREE__namespace.LineLoop(v,y);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(v.morphAttributes).length>0){if(l.weights!==void 0)for(var S=0,R=l.weights.length;S<R;S++)T.morphTargetInfluences[S]=l.weights[S];if(l.extras&&Array.isArray(l.extras.targetNames)){var M=l.extras.targetNames;if(T.morphTargetInfluences.length===M.length){T.morphTargetDictionary={};for(var S=0,R=M.length;S<R;S++)T.morphTargetDictionary[M[S]]=S}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}T.name=l.name||"mesh_"+t,h.length>1&&(T.name+="_"+A),e.assignFinalMaterial(T),g.push(T)}if(g.length===1)return g[0];for(var H=new THREE__namespace.Group,B=0,C=g;B<C.length;B++){var T=C[B];H.add(T)}return H})}return r},n.prototype.assignFinalMaterial=function(t){var e=this,r=t.geometry,o=[].concat(t.material),s=r.attributes.tangent!==void 0,u=r.attributes.color!==void 0,l=r.attributes.normal===void 0,c=t instanceof THREE__namespace.SkinnedMesh,p=Object.keys(r.morphAttributes).length>0,f=p&&r.morphAttributes.normal!==void 0;o=o.map(function(d){if(s||u||l||c||p||f){var h="cloned-material:"+d.uuid+":";s&&(h+="vertex-tangents:"),u&&(h+="vertex-colors:"),l&&(h+="flat-shading:"),c&&(h+="skinning:"),p&&(h+="morph-targets:"),f&&(h+="morph-normals:");var m=e.cache.get(h);m||(m=d.clone(),s&&(m.vertexTangents=!0),u&&(m.vertexColors=!0),l&&(m.flatShading=!0),c&&(m.skinning=!0),p&&(m.morphTargets=!0),f&&(m.morphNormals=!0),s&&(m.normalScale&&(m.normalScale.y*=-1),m.clearcoatNormalScale&&(m.clearcoatNormalScale.y*=-1)),e.cache.set(h,m)),d=m}return d}),Array.isArray(t.material)?t.material=o:t.material=o[0]},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,o=values(this.extensions);r<o.length;r++){var s=o[r],u=s.loadNodeAttachments(t,this);u&&e.push(u)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var o=this.json,s=o.nodes[t],u=[];s.mesh!==void 0&&u.push(this.loadMesh(s.mesh).then(function(d){if(s.weights!==void 0){var h=s.weights;d.traverse(function(m){if(m instanceof THREE__namespace.Mesh||m instanceof THREE__namespace.Line||m instanceof THREE__namespace.Points)for(var g=0,A=h.length;g<A;g++)m.morphTargetInfluences[g]=h[g]})}return d})),s.camera!==void 0&&u.push(this.loadCamera(s.camera));for(var l=this.loadNodeAttachments(t),c=0,p=l;c<p.length;c++){var f=p[c];u.push(f)}return Promise.all(u).then(function(d){var h;if(s.isBone===!0?h=new THREE__namespace.Bone:d.length>1?h=new THREE__namespace.Group:d.length===1?h=d[0]:h=new THREE__namespace.Object3D,h!==d[0])for(var m=0,g=d.length;m<g;m++)h.add(d[m]);if(s.name&&(h.userData.name=s.name,h.name=THREE__namespace.PropertyBinding.sanitizeNodeName(s.name)),s.matrix!==void 0){var A=new THREE__namespace.Matrix4;A.fromArray(s.matrix),h.applyMatrix4(A)}else s.translation!==void 0&&h.position.fromArray(s.translation),s.rotation!==void 0&&h.quaternion.fromArray(s.rotation),s.scale!==void 0&&h.scale.fromArray(s.scale);return h})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],o=new THREE__namespace.Group;r.name&&(o.name=r.name);for(var s=r.nodes||[],u=[],l=0,c=s.length;l<c;l++)u.push(this.buildNodeHierarchy(s[l],o));return Promise.all(u).then(function(){return o})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var o=0,s=values(e.extensions);o<s.length;o++){var u=s[o],l=u.extendTexture(r,t,e);l&&(r=l)}return e.textureSet.add(r),e.disposeSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,o=e.attributes,s=[],u=function(_){var S=ATTRIBUTES[_]||_.toLowerCase();if(S in t.attributes)return"continue";s.push(l.loadAccessor(o[_]).then(function(R){R&&t.setAttribute(S,R)}))},l=this;for(var c in o)u(c);e.indices!==void 0&&!t.index&&s.push(this.loadAccessor(e.indices).then(function(_){_&&t.setIndex(_)}));var p=new THREE__namespace.Box3;if(o.POSITION!==void 0){var f=this.json.accessors[o.POSITION],d=f.min,h=f.max;if(d!==void 0&&h!==void 0){if(p.set(new THREE__namespace.Vector3(d[0],d[1],d[2]),new THREE__namespace.Vector3(h[0],h[1],h[2])),f.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[f.componentType]);p.min.multiplyScalar(m),p.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var g=e.targets;if(g!==void 0){for(var A=new THREE__namespace.Vector3,E=new THREE__namespace.Vector3,v=0,y=g.length;v<y;v++){var b=g[v];if(b.POSITION!==void 0){var f=this.json.accessors[b.POSITION],d=f.min,h=f.max;if(d!==void 0&&h!==void 0){if(E.setX(Math.max(Math.abs(d[0]),Math.abs(h[0]))),E.setY(Math.max(Math.abs(d[1]),Math.abs(h[1]))),E.setZ(Math.max(Math.abs(d[2]),Math.abs(h[2]))),f.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[f.componentType]);E.multiplyScalar(m)}A.max(E)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}p.expandByVector(A)}t.boundingBox=p;var T=new THREE__namespace.Sphere;return p.getCenter(T.center),T.radius=p.min.distanceTo(p.max)/2,t.boundingSphere=T,Promise.all(s).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var _=!1,S=!1,R=0,M=e.targets.length;R<M;R++){var H=e.targets[R];if(H.POSITION!==void 0&&(_=!0),H.NORMAL!==void 0&&(S=!0),_&&S)break}if(!_&&!S)return t;var B=[];t.morphTargetsRelative=!0;for(var C=function(w,I){var O=e.targets[w];_?B.push(r.loadAccessor(O.POSITION).then(function(F){F&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[w]=F)})):t.attributes.position&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[w]=t.attributes.position),S?B.push(r.loadAccessor(O.NORMAL).then(function(F){F&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[w]=F)})):t.attributes.normal&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[w]=t.attributes.normal)},R=0,M=e.targets.length;R<M;R++)C(R,M);return Promise.all(B).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,o=this.json.nodes[t];return this.loadNode(t).then(function(s){if(o.skin===void 0)return s;var u;return r.loadSkin(o.skin).then(function(l){u=l;for(var c=[],p=0,f=u.joints.length;p<f;p++)c.push(r.loadNode(u.joints[p]));return Promise.all(c)}).then(function(l){return s.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var p=[],f=[],d=0,h=l.length;d<h;d++){var m=l[d];if(m instanceof THREE__namespace.Bone){p.push(m);var g=new THREE__namespace.Matrix4;u.inverseBindMatrices!==void 0&&g.fromArray(u.inverseBindMatrices.array,d*16),f.push(g)}else console.warn('glTF: Joint "%s" could not be found.',u.joints[d])}c.bind(new THREE__namespace.Skeleton(p,f))}}),s})}).then(function(s){e.add(s);var u=[];if(o.children)for(var l=o.children,c=0,p=l.length;c<p;c++){var f=l[c];u.push(r.buildNodeHierarchy(f,s))}return Promise.all(u).then(function(){return s})})},n.prototype.resolveResouce=function(t){return/^[a-z]{0,8}\:/i.test(t)?t:pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var o=[],s=t.getAttribute("position");if(s!==void 0){for(var u=0;u<s.count;u++)o.push(u);t.setIndex(o),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var l=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var u=1;u<=l;u++)c.push(r.getX(0)),c.push(r.getX(u)),c.push(r.getX(u+1));else for(var u=0;u<l;u++)u%2===0?(c.push(r.getX(u)),c.push(r.getX(u+1)),c.push(r.getX(u+2))):(c.push(r.getX(u+2)),c.push(r.getX(u+1)),c.push(r.getX(u)));c.length/3!==l&&console.error("glTF: Unable to generate correct amount of triangles.");var p=t.clone();return p.setIndex(c),this.disposeSet.add(p),p},n}();function getNormalizedComponentScale(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var BaseExtension=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.extendMaterial=function(t,e,r){return Promise.resolve()},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),KHR_binary_glTF=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var o=new DataView(e,t.HEADER_LENGTH),s=0,u=null,l=null;s<o.byteLength;){var c=o.getUint32(s,!0);if(s+=4,c!==0){var p=o.getUint32(s,!0);if(s+=4,p===t.CHUNK_TYPES.JSON){var f=new Uint8Array(e,t.HEADER_LENGTH+s,c);u=decodeText(f)}else if(p===t.CHUNK_TYPES.BIN){var d=t.HEADER_LENGTH+s;l=e.slice(d,d+c)}s+=c}}if(u===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=u,this.body=l},t.prototype.loadBuffer=function(e,r){var o=r.json.buffers[e];return o.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,o){var s={attributeIDs:r||defaultAttributeIDs,attributeTypes:o||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,s).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var o in e.attributeTypes){var s=e.attributeTypes[o];s.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[o]=s.name)}var u,l=this.workerNextTaskID++,c=t.byteLength,p=this._getWorker(l,c).then(function(f){return u=f,new Promise(function(d,h){u._callbacks[l]={resolve:d,reject:h},u.postMessage({type:"decode",id:l,taskConfig:e,buffer:t},[t])})}).then(function(f){return r._createGeometry(f.geometry)});return p.catch(function(){return!0}).then(function(){u&&l&&r._releaseTask(u,l)}),p},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var o=t.attributes[r],s=o.name,u=o.array,l=o.itemSize,c=!(u instanceof Float32Array||u instanceof Float64Array);e.setAttribute(s,new THREE__namespace.BufferAttribute(u,l,c))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(s){return s.body});this.decoderPending=r.then(function(s){var u=["/* draco decoder */",s,"","/* worker */",DRACOWorker].join(`
|
|
406
451
|
`);t.workerSourceURL=URL.createObjectURL(new Blob([u]))})}else{var r=ajax(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(u){return u.body}),o=ajax(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(u){return u.body});this.decoderPending=Promise.all([r,o]).then(function(u){var l=u[0],c=u[1];t.decoderConfig.wasmBinary=c;var p=["/* draco decoder */",l,"","/* worker */",DRACOWorker].join(`
|
|
407
452
|
`);t.workerSourceURL=URL.createObjectURL(new Blob([p]))})}return this.decoderPending},n.prototype._getWorker=function(t,e){var r=this;return this._initDecoder().then(function(){if(r.workerPool.length<r.workerLimit){var o=new Worker(r.workerSourceURL);o._callbacks={},o._taskCosts={},o._taskLoad=0,o.postMessage({type:"init",decoderConfig:r.decoderConfig}),o.onmessage=function(u){var l=u.data;switch(l.type){case"decode":o._callbacks[l.id].resolve(l);break;case"error":o._callbacks[l.id].reject(l);break;default:console.error('DRACO: Unexpected message, "'+l.type+'"')}},r.workerPool.push(o)}else r.workerPool.sort(function(u,l){return u._taskLoad>l._taskLoad?-1:1});var s=r.workerPool[r.workerPool.length-1];return s._taskCosts[t]=e,s._taskLoad+=e,s})},n.prototype._releaseTask=function(t,e){t._taskLoad-=t._taskCosts[e],delete t._callbacks[e],delete t._taskCosts[e]},n.prototype.dispose=function(){for(var t=0;t<this.workerPool.length;++t)this.workerPool[t].terminate();return this.workerPool.length=0,this},n}(),draco=new Draco,DRACOWorker=`
|
|
408
453
|
let decoderConfig;
|
|
@@ -599,7 +644,7 @@
|
|
|
599
644
|
}
|
|
600
645
|
|
|
601
646
|
}
|
|
602
|
-
`,EXTENSION_NAME$6="KHR_draco_mesh_compression",KHR_draco_mesh_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadGeometry=function(e,r){return e.extensions&&e.extensions[EXTENSION_NAME$6]?this.decodePrimitive(e,r).then(function(o){return r.addGeometryPrimitiveAttributes(o,e)}):null},t.prototype.decodePrimitive=function(e,r){var o=r.json,s=e.extensions[EXTENSION_NAME$6].bufferView,u=e.extensions[EXTENSION_NAME$6].attributes,l={},c={},p={};for(var f in u){var d=ATTRIBUTES[f]||f.toLowerCase();l[d]=u[f]}for(var f in e.attributes){var d=ATTRIBUTES[f]||f.toLowerCase();if(u[f]!==void 0){var h=o.accessors[e.attributes[f]],m=WEBGL_COMPONENT_TYPES[h.componentType];p[d]=m,c[d]=h.normalized===!0}}return r.loadBufferView(s).then(function(g){return new Promise(function(A){draco.decodeDracoFile(g,function(E){for(var v in E.attributes){var y=E.attributes[v],b=c[v];b!==void 0&&(y.normalized=b)}A(E)},l,p)})})},t}(BaseExtension),defaultTranscoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",KTX2TransferSRGB=2,KTX2_ALPHA_PREMULTIPLIED=1,WorkerPool=function(){function n(t){this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}return n.prototype._initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this._onMessage.bind(this,t)),this.workers[t]=e}},n.prototype._getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype._onMessage=function(t,e){var r=this.workersResolve[t];if(r&&r(e),this.queue.length){var o=this.queue.shift(),s=o.resolve,u=o.msg,l=o.transfer;this.workersResolve[t]=s,this.workers[t].postMessage(u,l)}else this.workerStatus^=1<<t},n.prototype.setWorkerCreator=function(t){this.workerCreator=t},n.prototype.setWorkerLimit=function(t){this.pool=t},n.prototype.postMessage=function(t,e){var r=this;return new Promise(function(o){var s=r._getIdleWorker();s!==-1?(r._initWorker(s),r.workerStatus|=1<<s,r.workersResolve[s]=o,r.workers[s].postMessage(t,e)):r.queue.push({resolve:o,msg:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),KTX2=function(){function n(){this.transcoderPath=defaultTranscoderPath,this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new WorkerPool(4),this.workerSourceURL="",this.workerConfig=null}return n.prototype.setTranscoderPath=function(t){this.transcoderPath=t},n.prototype.detectSupport=function(t){if(!this.workerConfig){var e=console.warn;console.warn=function(){},this.workerConfig={astcSupported:!!t.extensions.get("WEBGL_compressed_texture_astc"),etc1Supported:!!t.extensions.get("WEBGL_compressed_texture_etc1"),etc2Supported:!!t.extensions.get("WEBGL_compressed_texture_etc"),dxtSupported:!!t.extensions.get("WEBGL_compressed_texture_s3tc"),bptcSupported:!!t.extensions.get("EXT_texture_compression_bptc"),pvrtcSupported:!!t.extensions.get("WEBGL_compressed_texture_pvrtc")||!!t.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")},console.warn=e}return this},n.prototype.init=function(){var t=this;if(!this.transcoderPending){var e=ajax(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then(function(o){return o.body}),r=ajax(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then(function(o){return o.body});this.transcoderPending=Promise.all([e,r]).then(function(o){var s=o[0],u=o[1],l=["/* constants */","let _EngineFormat = "+JSON.stringify(EngineFormat),"let _TranscoderFormat = "+JSON.stringify(TranscoderFormat),"let _BasisFormat = "+JSON.stringify(BasisFormat),"/* basis_transcoder.js */",s,"/* worker */",BasisWorker].join(`
|
|
647
|
+
`,EXTENSION_NAME$6="KHR_draco_mesh_compression",KHR_draco_mesh_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadGeometry=function(e,r){return e.extensions&&e.extensions[EXTENSION_NAME$6]?this.decodePrimitive(e,r).then(function(o){return r.addGeometryPrimitiveAttributes(o,e)}):null},t.prototype.decodePrimitive=function(e,r){var o=r.json,s=e.extensions[EXTENSION_NAME$6].bufferView,u=e.extensions[EXTENSION_NAME$6].attributes,l={},c={},p={};for(var f in u){var d=ATTRIBUTES[f]||f.toLowerCase();l[d]=u[f]}for(var f in e.attributes){var d=ATTRIBUTES[f]||f.toLowerCase();if(u[f]!==void 0){var h=o.accessors[e.attributes[f]],m=WEBGL_COMPONENT_TYPES[h.componentType];p[d]=m,c[d]=h.normalized===!0}}return r.loadBufferView(s).then(function(g){return new Promise(function(A){draco.decodeDracoFile(g,function(E){for(var v in E.attributes){var y=E.attributes[v],b=c[v];b!==void 0&&(y.normalized=b)}A(E)},l,p)})})},t}(BaseExtension),defaultTranscoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/basis/1.16/",KTX2TransferSRGB=2,KTX2_ALPHA_PREMULTIPLIED=1,WorkerPool$1=function(){function n(t){this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}return n.prototype._initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this._onMessage.bind(this,t)),this.workers[t]=e}},n.prototype._getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype._onMessage=function(t,e){var r=this.workersResolve[t];if(r&&r(e),this.queue.length){var o=this.queue.shift(),s=o.resolve,u=o.msg,l=o.transfer;this.workersResolve[t]=s,this.workers[t].postMessage(u,l)}else this.workerStatus^=1<<t},n.prototype.setWorkerCreator=function(t){this.workerCreator=t},n.prototype.setWorkerLimit=function(t){this.pool=t},n.prototype.postMessage=function(t,e){var r=this;return new Promise(function(o){var s=r._getIdleWorker();s!==-1?(r._initWorker(s),r.workerStatus|=1<<s,r.workersResolve[s]=o,r.workers[s].postMessage(t,e)):r.queue.push({resolve:o,msg:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),KTX2=function(){function n(){this.transcoderPath=defaultTranscoderPath,this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new WorkerPool$1(4),this.workerSourceURL="",this.workerConfig=null}return n.prototype.setTranscoderPath=function(t){this.transcoderPath=t},n.prototype.detectSupport=function(t){if(!this.workerConfig){var e=console.warn;console.warn=function(){},this.workerConfig={astcSupported:!!t.extensions.get("WEBGL_compressed_texture_astc"),etc1Supported:!!t.extensions.get("WEBGL_compressed_texture_etc1"),etc2Supported:!!t.extensions.get("WEBGL_compressed_texture_etc"),dxtSupported:!!t.extensions.get("WEBGL_compressed_texture_s3tc"),bptcSupported:!!t.extensions.get("EXT_texture_compression_bptc"),pvrtcSupported:!!t.extensions.get("WEBGL_compressed_texture_pvrtc")||!!t.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc")},console.warn=e}return this},n.prototype.init=function(){var t=this;if(!this.transcoderPending){var e=ajax(this.transcoderPath+"basis_transcoder.js",{responseType:"text"}).then(function(o){return o.body}),r=ajax(this.transcoderPath+"basis_transcoder.wasm",{responseType:"arraybuffer"}).then(function(o){return o.body});this.transcoderPending=Promise.all([e,r]).then(function(o){var s=o[0],u=o[1],l=["/* constants */","let _EngineFormat = "+JSON.stringify(EngineFormat),"let _TranscoderFormat = "+JSON.stringify(TranscoderFormat),"let _BasisFormat = "+JSON.stringify(BasisFormat),"/* basis_transcoder.js */",s,"/* worker */",BasisWorker].join(`
|
|
603
648
|
`);t.workerSourceURL=URL.createObjectURL(new Blob([l])),t.transcoderBinary=u,t.workerPool.setWorkerCreator(function(){var c=new Worker(t.workerSourceURL),p=t.transcoderBinary.slice(0);return c.postMessage({type:"init",config:t.workerConfig,transcoderBinary:p},[p]),c})})}return this.transcoderPending},n.prototype.parse=function(t){return this._createTexture([t])},n.prototype._createTextureFrom=function(t){var e=t.mipmaps,r=t.width,o=t.height,s=t.format,u=t.type,l=t.error,c=t.dfdTransferFn,p=t.dfdFlags;if(u==="error")return Promise.reject(l);var f=new THREE__namespace.CompressedTexture(e,r,o,s,THREE__namespace.UnsignedByteType);return f.minFilter=e.length===1?THREE__namespace.LinearFilter:THREE__namespace.LinearMipmapLinearFilter,f.magFilter=THREE__namespace.LinearFilter,f.generateMipmaps=!1,f.needsUpdate=!0,f.encoding=c===KTX2TransferSRGB?THREE__namespace.sRGBEncoding:THREE__namespace.LinearEncoding,f.premultiplyAlpha=!!(p&KTX2_ALPHA_PREMULTIPLIED),Promise.resolve(f)},n.prototype._createTexture=function(t){var e=this,r=this.init().then(function(){return e.workerPool.postMessage({type:"transcode",buffers:t},t)}).then(function(o){return e._createTextureFrom(o.data)});return r},n.prototype.dispose=function(){return URL.revokeObjectURL(this.workerSourceURL),this.workerPool.dispose(),this},n}(),ktx2=new KTX2,BasisFormat={ETC1S:0,UASTC_4x4:1},TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},EngineFormat={RGBAFormat:THREE__namespace.RGBAFormat,RGBA_ASTC_4x4_Format:THREE__namespace.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:THREE__namespace.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:THREE__namespace.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:THREE__namespace.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:THREE__namespace.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:THREE__namespace.RGB_ETC1_Format,RGB_ETC2_Format:THREE__namespace.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:THREE__namespace.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:THREE__namespace.RGB_S3TC_DXT1_Format},BasisWorker=`
|
|
604
649
|
|
|
605
650
|
let config;
|
|
@@ -868,58 +913,13 @@
|
|
|
868
913
|
return ( value & ( value - 1 ) ) === 0 && value !== 0;
|
|
869
914
|
|
|
870
915
|
}
|
|
871
|
-
`,EXTENSION_NAME$5="KHR_texture_basisu",KHR_texture_basisu=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadTexture=function(e,r){var o=r.json.textures[e];if(!o.extensions||!o.extensions[EXTENSION_NAME$5])return null;var s=o.extensions[EXTENSION_NAME$5],u=r.json.images[s.source],l=null;if(u.bufferView!==void 0)l=r.loadBufferView(u.bufferView).then(function(f){return ktx2.parse(f)});else if(u.uri)l=r.options.fetcher.ajax(r.resolveResouce(u.uri),{responseType:"arraybuffer"}).then(function(f){return ktx2.parse(f.body)});else throw new Error("glTF: Invalid image defs.");var c=r.json.samplers||{},p=c[o.sampler]||{};return l=l.then(function(f){return f.magFilter=THREE__namespace.LinearFilter,f.minFilter=THREE__namespace.LinearFilter,f.wrapS=WEBGL_WRAPPINGS[p.wrapS]||THREE__namespace.RepeatWrapping,f.wrapT=WEBGL_WRAPPINGS[p.wrapT]||THREE__namespace.RepeatWrapping,f}),l},t}(BaseExtension),EXTENSION_NAME$4="KHR_texture_transform",KHR_texture_transform=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendTexture=function(e,r,o){var s=r.extensions!==void 0?r.extensions[EXTENSION_NAME$4]:void 0;return s?(s.texCoord!==void 0&&console.warn('glTF: Custom UV sets in "'+EXTENSION_NAME$4+'" extension not yet supported.'),s.offset===void 0&&s.rotation===void 0&&s.scale===void 0||(e=e.clone(),e.needsUpdate=!0,s.offset!==void 0&&e.offset.fromArray(s.offset),s.rotation!==void 0&&(e.rotation=s.rotation),s.scale!==void 0&&e.repeat.fromArray(s.scale)),e):null},t}(BaseExtension),KHR_mesh_quantization=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(BaseExtension),KHR_materials_unlit=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(BaseExtension),meshoptDecoder=function(){var n="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:78Yqdbk:qzezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlinalgic9Wfglawcj;cbffhOdndndndndnaHalco4fRbbalci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOaoRblaoRbbgAco4glalciSgCE86bbawcj;cbfaifglcGfaoclfaCfgORbbaAcl4ciGgCaCciSgCE86bbalcVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbalc7faOaCfgORbbaAciGgAaAciSgAE86bbalctfaOaAfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkaOaoRbwaoRbbgAcl4glalcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgORbbaAcsGgAaAcsSgAE86bbalcVfaOaAfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekaOao8Pbb83bbaOcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhPdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkaCcefhCamcefgmad6hsamad9hmbkaPhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaPhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj;8ifcjjj98G::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;a9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;d8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgAclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(e)?t:n,s,u=WebAssembly.instantiate(l(o),{}).then(function(v){s=v.instance,s.exports.__wasm_call_ctors()});function l(v){for(var y=new Uint8Array(v.length),b=0;b<v.length;++b){var T=v.charCodeAt(b);y[b]=T>96?T-97:T>64?T-39:T+4}for(var _=0,b=0;b<v.length;++b)y[_++]=y[b]<60?r[y[b]]:(y[b]-60)*64+y[++b];return y.buffer.slice(0,_)}function c(v,y,b,T,_,S){var R=s.exports.sbrk,M=b+3&-4,H=R(M*T),B=R(_.length),C=new Uint8Array(s.exports.memory.buffer);C.set(_,B);var w=v(H,b,T,B,_.length);if(w==0&&S&&S(H,M,T),y.set(C.subarray(H,H+b*T)),R(H-R(0)),w!=0)throw new Error("Malformed buffer data: "+w)}var p={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},d=[],h=0;function m(v){var y={object:new Worker(v),pending:0,requests:{}};return y.object.onmessage=function(b){var T=b.data;y.pending-=T.count,y.requests[T.id][T.action](T.value),delete y.requests[T.id]},y}function g(v){for(var y="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(l(o))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+c.toString()+E.toString(),b=new Blob([y],{type:"text/javascript"}),T=URL.createObjectURL(b),_=0;_<v;++_)d[_]=m(T);URL.revokeObjectURL(T)}function A(v,y,b,T,_){for(var S=d[0],R=1;R<d.length;++R)d[R].pending<S.pending&&(S=d[R]);return new Promise(function(M,H){var B=new Uint8Array(b),C=h++;S.pending+=v,S.requests[C]={resolve:M,reject:H},S.object.postMessage({id:C,count:v,size:y,source:B,mode:T,filter:_},[B.buffer])})}function E(v){u.then(function(){var y=v.data;try{var b=new Uint8Array(y.count*y.size);c(s.exports[y.mode],b,y.count,y.size,y.source,s.exports[y.filter]),self.postMessage({id:y.id,count:y.count,action:"resolve",value:b},[b.buffer])}catch(T){self.postMessage({id:y.id,count:y.count,action:"reject",value:T})}})}return{ready:u,supported:!0,useWorkers:function(v){g(v)},decodeVertexBuffer:function(v,y,b,T,_){c(s.exports.meshopt_decodeVertexBuffer,v,y,b,T,s.exports[p[_]])},decodeIndexBuffer:function(v,y,b,T){c(s.exports.meshopt_decodeIndexBuffer,v,y,b,T)},decodeIndexSequence:function(v,y,b,T){c(s.exports.meshopt_decodeIndexSequence,v,y,b,T)},decodeGltfBuffer:function(v,y,b,T,_,S){c(s.exports[f[_]],v,y,b,T,s.exports[p[S]])},decodeGltfBufferAsync:function(v,y,b,T,_){return d.length>0?A(v,y,b,f[T],p[_]):u.then(function(){var S=new Uint8Array(v*y);return c(s.exports[f[T]],S,v,y,b,s.exports[p[_]]),S})}}}(),EXTENSION_NAME$3="EXT_meshopt_compression",EXT_meshopt_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadBufferView=function(e,r){var o=r.json,s=o.bufferViews[e];if(s.extensions&&s.extensions[EXTENSION_NAME$3]){var u=s.extensions[EXTENSION_NAME$3],l=r.loadBuffer(u.buffer);if(!meshoptDecoder.supported){if(o.extensionsRequired&&o.extensionsRequired.indexOf(EXTENSION_NAME$3)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([l,meshoptDecoder.ready]).then(function(c){var p=c[0],f=u.byteOffset||0,d=u.byteLength||0,h=u.count,m=u.byteStride,g=new ArrayBuffer(h*m),A=new Uint8Array(p,f,d);return meshoptDecoder.decodeGltfBuffer(new Uint8Array(g),h,m,A,u.mode,u.filter),g})}else return null},t}(BaseExtension),EXTENSION_NAME$2="EXT_texture_webp",EXT_texture_webp=function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.supportsWep=!1,e}return t.prototype.prepare=function(e){var r=this;return imageSupport().then(function(o){r.supportsWep=o.webp})},t.prototype.loadTexture=function(e,r){var o=r.json,s=o.textures[e];if(!s.extensions||!s.extensions[EXTENSION_NAME$2]||!this.supportsWep)return null;var u=s.extensions[EXTENSION_NAME$2];return r.loadImage(u.source).then(function(l){var c=new THREE__namespace.Texture(l);c.needsUpdate=!0,c.flipY=!1,s.name&&(c.name=s.name);var p=r.json.samplers||{},f=p[s.sampler]||{};return c.magFilter=WEBGL_FILTERS[f.magFilter]||THREE__namespace.LinearFilter,c.minFilter=WEBGL_FILTERS[f.minFilter]||THREE__namespace.LinearMipmapLinearFilter,c.wrapS=WEBGL_WRAPPINGS[f.wrapS]||THREE__namespace.RepeatWrapping,c.wrapT=WEBGL_WRAPPINGS[f.wrapT]||THREE__namespace.RepeatWrapping,c.onUpdate=function(){l.close()},c})},t}(BaseExtension),EXTENSION_NAME$1="CESIUM_RTC",CESIUM_RTC=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.emitResult=function(e,r){if(r.json.extensions[EXTENSION_NAME$1]&&r.json.extensions[EXTENSION_NAME$1].center){var o=r.json.extensions[EXTENSION_NAME$1].center;e.CESIUM_RTC={center:new THREE__namespace.Vector3().fromArray(o)}}},t}(BaseExtension),PBM_mesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadMesh=function(e,r){var o=this,s=r.json.meshes[e],u=s.primitives,l=Promise.all(u.map(function(f){return r.loadGeometry(f)})),c=Promise.all(u.map(function(f){return o.loadPBMMaterial(f,r)})),p=Promise.all([l,c]).then(function(f){for(var d=f[0],h=f[1],m=[],g=0;g<u.length;g++){var A=u[g],E=d[g],v=h[g],y=A.mode||WEBGL_CONSTANTS.TRIANGLES,b=void 0;if(y===WEBGL_CONSTANTS.TRIANGLES||y===WEBGL_CONSTANTS.TRIANGLE_STRIP||y===WEBGL_CONSTANTS.TRIANGLE_FAN)if(y===WEBGL_CONSTANTS.TRIANGLE_STRIP?E=r.toGeometryTrianglesDrawMode(E,THREE__namespace.TriangleStripDrawMode):y===WEBGL_CONSTANTS.TRIANGLE_FAN&&(E=r.toGeometryTrianglesDrawMode(E,THREE__namespace.TriangleFanDrawMode)),E.clearGroups(),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,0),r.disposeSet.add(E),s.isSkinnedMesh){var T=new PBMSkinnedMesh(E,[v]);E.attributes.skinWeight.normalized||T.normalizeSkinWeights(),b=T}else b=new PBMMesh(E,[v]);else if(y===WEBGL_CONSTANTS.POINTS)b=new PBMPointCloud(E,v);else throw new Error("glTF: Primitive mode unsupported: "+y);if(Object.keys(E.morphAttributes).length>0){if(s.weights!==void 0)for(var _=0,S=s.weights.length;_<S;_++)b.morphTargetInfluences[_]=s.weights[_];if(s.extras&&Array.isArray(s.extras.targetNames)){var R=s.extras.targetNames;if(b.morphTargetInfluences.length===R.length){b.morphTargetDictionary={};for(var _=0,S=R.length;_<S;_++)b.morphTargetDictionary[R[_]]=_}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}b.name=s.name||"mesh_"+e,r.assignFinalMaterial(b),m.push(b)}if(m.length===1)return m[0];for(var M=new THREE__namespace.Group,H=0,B=m;H<B.length;H++){var b=B[H];M.add(b)}return M});return p},t.prototype.loadPBMMaterial=function(e,r){var o,s=(o=e.mode)!==null&&o!==void 0?o:WEBGL_CONSTANTS.TRIANGLES,u=null;if(s===WEBGL_CONSTANTS.TRIANGLES||s===WEBGL_CONSTANTS.TRIANGLE_STRIP||s===WEBGL_CONSTANTS.TRIANGLE_FAN)u=this.loadPBMMeshMaterial(e,r);else if(s===WEBGL_CONSTANTS.POINTS)u=this.loadPBMPointCloudMaterial(e,r);else throw new Error("glTF: Primitive mode unsupported: "+s);return u=u.then(function(l){return Promise.all(values(r.extensions).map(function(c){return c.extendMaterial(l,e,r)})).then(function(){return l})}),u},t.prototype.extendTexture=function(e,r,o){return e.minFilter=THREE__namespace.LinearFilter,e.magFilter=THREE__namespace.LinearFilter,e.generateMipmaps=!1,e},t.prototype.loadPBMPointCloudMaterial=function(e,r){var o=new PBMPointCloudMaterial;return r.disposeSet.add(o),Promise.resolve(o)},t.prototype.loadPBMMeshMaterial=function(e,r){var o=[],s=r.extensions.KHR_materials_unlit?"basic":"standard",u=new PBMMeshMaterial(s);if(u.color=new THREE__namespace.Color(1,1,1),u.opacity=1,u.colorAlpha=1,e.material!==void 0){var l=r.json.materials[e.material];l.name&&(u.name=l.name);var c=l.pbrMetallicRoughness||{};if(Array.isArray(c.baseColorFactor)){var p=c.baseColorFactor;u.color=new THREE__namespace.Color().fromArray(p),u.colorAlpha=p[3]}c.baseColorTexture!==void 0&&o.push(r.createMaterialTexture(c.baseColorTexture).then(function(h){r.disposeSet.add(h),h.encoding=THREE__namespace.sRGBEncoding,u.map=h})),u.metalness=c.metallicFactor!==void 0?c.metallicFactor:1,u.roughness=c.roughnessFactor!==void 0?c.roughnessFactor:1,c.metallicRoughnessTexture!==void 0&&o.push(r.createMaterialTexture(c.metallicRoughnessTexture).then(function(h){r.disposeSet.add(h),h.encoding=THREE__namespace.sRGBEncoding,u.roughnessMap=h,u.metalnessMap=h})),l.doubleSided===!0&&(u.side=THREE__namespace.DoubleSide);var f=l.alphaMode||ALPHA_MODES.OPAQUE;if(u.alphaMode="OPAQUE",f===ALPHA_MODES.BLEND?(u.alphaMode="BLEND",u.transparent=!0,u.depthWrite=!1):(u.transparent=!1,f===ALPHA_MODES.MASK&&(u.alphaMode="MASK",u.alphaTest=l.alphaCutoff!==void 0?l.alphaCutoff:.5)),l.normalTexture!==void 0&&(o.push(r.createMaterialTexture(l.normalTexture).then(function(h){r.disposeSet.add(h),u.normalMap=h})),u.normalScale=new THREE__namespace.Vector2(1,1),l.normalTexture.scale!==void 0)){var d=l.normalTexture.scale;u.normalScale.set(d,d)}l.occlusionTexture!==void 0&&(o.push(r.createMaterialTexture(l.occlusionTexture).then(function(h){u.aoMap=h,r.disposeSet.add(h)})),l.occlusionTexture.strength!==void 0&&(u.aoMapIntensity=l.occlusionTexture.strength)),l.emissiveFactor!==void 0&&(u.emissive=new THREE__namespace.Color().fromArray(l.emissiveFactor)),l.emissiveTexture!==void 0&&o.push(r.createMaterialTexture(l.emissiveTexture).then(function(h){u.emissiveMap=h,r.disposeSet.add(h)}))}return r.disposeSet.add(u),Promise.all(o).then(function(){return u})},t}(BaseExtension),EXTENSION_NAME="REALSEE_materials_lightmap",REALSEE_materials_lightmap=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendMaterial=function(e,r,o){var s=[];if(o.json.materials&&r.material!==void 0){var u=o.json.materials[r.material],l=u.extensions[EXTENSION_NAME];l&&(l.lightMapTexture!==void 0&&s.push(o.createMaterialTexture(l.lightMapTexture).then(function(c){e.lightMap=c})),l.lightMapIntensity!==void 0&&(e.lightMapIntensity=l.lightMapIntensity))}return Promise.all(s).then(function(){})},t}(BaseExtension),EXTENSIONS={KHR_binary_glTF,KHR_draco_mesh_compression,KHR_texture_basisu,KHR_texture_transform,KHR_mesh_quantization,KHR_materials_unlit,EXT_meshopt_compression,EXT_texture_webp,CESIUM_RTC,REALSEE_materials_lightmap,PBM_mesh};function parseGltf(n,t){var e,r,o,s={},u,l;if(typeof n=="string")l=n;else{var c=EXTENSIONS.KHR_binary_glTF.getMagic(n);if(c===EXTENSIONS.KHR_binary_glTF.HEADER_MAGIC){u=new EXTENSIONS.KHR_binary_glTF;try{u.loadGlbBinary(n)}catch(g){return Promise.reject(g)}s.KHR_binary_glTF=u,l=u.content}else l=decodeText(new Uint8Array(n))}var p=JSON.parse(l);if(t.jsonModify&&(p=t.jsonModify(p)),p.asset===void 0||Number(p.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(p.extensionsUsed)for(var f=p.extensionsRequired||[],d=0;d<p.extensionsUsed.length;d++){var h=p.extensionsUsed[d];s[h]||(EXTENSIONS[h]?s[h]=new EXTENSIONS[h]:f.indexOf(h)>=0&&console.warn('glTF: Unknown extension "'+h+'".'))}var m=new Parser(p,s,{copyUV2:(e=t.copyUV2)!==null&&e!==void 0?e:!0,resourcePath:(r=t.resourcePath)!==null&&r!==void 0?r:"",search:(o=t.search)!==null&&o!==void 0?o:"",fetcher:t.fetcher});return m.parse().then(function(g){return u&&u.clear(),g})}function fixNumber(n){return isNaN(n)||!isFinite(n)?0:n}function getGeometryMemoryUsed(n){var t=0;if(n instanceof THREE__namespace.BufferGeometry){for(var e in n.attributes){var r=n.getAttribute(e),o=4;"BYTES_PER_ELEMENT"in r.array&&typeof r.array.BYTES_PER_ELEMENT=="number"&&(o=r.array.BYTES_PER_ELEMENT),t+=fixNumber(r.count*r.itemSize*o)}var s=n.getIndex();if(s){var o=4;"BYTES_PER_ELEMENT"in s.array&&typeof s.array.BYTES_PER_ELEMENT=="number"&&(o=s.array.BYTES_PER_ELEMENT),t+=fixNumber(s.count*s.itemSize*o)}}else n instanceof THREE__namespace.Geometry&&(t+=fixNumber(n.faces.length*3*3*4),t+=fixNumber(n.faceVertexUvs.length*3*2*4));return t}function makeComputeBlockRectSizeFunction(n,t,e){return function(r,o,s){var u=(r+n-1)/n|0,l=(o+t-1)/t|0;return u*l*e*s}}function makeComputePaddedRectSizeFunction(n,t,e){return function(r,o,s){return(Math.max(r,n)*Math.max(o,t)/e|0)*s}}var compressedTextureFunctions=new Map([[THREE__namespace.RGB_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT3_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_S3TC_DXT5_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGB_ETC1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGB_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGBA_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGB_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGBA_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGB_ETC2_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_ETC2_EAC_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.RGBA_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.RGBA_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.RGBA_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.RGBA_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.RGBA_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.RGBA_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.RGBA_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.RGBA_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.RGBA_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.RGBA_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.RGBA_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.RGBA_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.RGBA_BPTC_Format,makeComputeBlockRectSizeFunction(4,4,16)]]);function getTextureMemoryUsed(n){var t=0,e=1;(n.generateMipmaps===!0||n.mipmaps&&n.mipmaps.length>1)&&(e=1.33);for(var r=n instanceof THREE__namespace.CompressedTexture,o=r?compressedTextureFunctions.get(n.format):void 0,s=[].concat(n.image),u=0,l=s;u<l.length;u++){var c=l[u];if(c instanceof THREE__namespace.Texture)t+=getTextureMemoryUsed(c);else{var p=c.width,f=p===void 0?1:p,d=c.height,h=d===void 0?1:d,m=c.depth,g=m===void 0?1:m;o?t+=fixNumber(o(f,h,g)*e):t+=fixNumber(f*h*g*4*e)}}return t}var textureSet=new Set,textureNames=["map","alphaMap","bumpMap","normalMap","displacementMap","emissiveMap","specularMap","envMap","flipEnvMap","lightMap","aoMap","gradientMap","metalnessMap","roughnessMap","sheenColorMap","sheenRoughnessMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","iridescenceMap","iridescenceThicknessMap","transmissionMap","thicknessMap","anisotropyMap","specularColorMap","specularIntensityMap"];function getMaterialMemoryUsed(n){var t=0;if(textureSet.clear(),n instanceof THREE__namespace.ShaderMaterial)for(var e in n.uniforms){var r=n.uniforms[e],o=r&&r.value&&r.value instanceof THREE__namespace.Texture?r.value:void 0;o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}else for(var s=0,u=textureNames;s<u.length;s++){var l=u[s],o=n[l];o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}return textureSet.clear(),t}var sceneSet=new Set;function getMemoryUsage(n){var t=0;return sceneSet.clear(),n.traverse(function(e){if(e instanceof THREE__namespace.Mesh||e instanceof THREE__namespace.Line||e instanceof THREE__namespace.Points){var r=e.geometry;(r instanceof THREE__namespace.BufferGeometry||r instanceof THREE__namespace.Geometry)&&(sceneSet.has(r)||(t+=getGeometryMemoryUsed(r),sceneSet.add(r)));for(var o=[].concat(e.material),s=0,u=o;s<u.length;s++){var l=u[s];l instanceof THREE__namespace.Material&&(sceneSet.has(l)||(t+=getMaterialMemoryUsed(l),sceneSet.add(l)))}}}),sceneSet.clear(),t}function loadB3dm(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Y",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c={uri:n,gltfUpAxis:s};return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"}).then(function(p){return p.body})}).then(function(p){return Promise.resolve(0).then(function(f){return parseHeader$1(c,p,f)}).then(function(f){return parseTable(c,p,f)}).then(function(f){return parseGlTFArrayBuffer(c,p,f)})}).then(function(){var p;return parseGltf(c.gltfArrayBuffer,{copyUV2:!1,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(p=n.split("?")[1])!==null&&p!==void 0?p:"",jsonModify:function(f){var d;if(f.extensionsUsed=(d=f.extensionsUsed)!==null&&d!==void 0?d:[],typeof t.light=="boolean"){var h="KHR_materials_unlit";if(t.light){var m=f.extensionsUsed.indexOf(h);m>=0&&f.extensionsUsed.splice(m,1)}else{var m=f.extensionsUsed.indexOf(h);m===-1&&f.extensionsUsed.push(h)}}{var h="PBM_mesh",m=f.extensionsUsed.indexOf(h);m===-1&&f.extensionsUsed.push(h)}return f},fetcher:l}).then(function(f){var d=new THREE__namespace.Matrix4;s==="Y"&&d.premultiply(ROTATE_X_MATRIX);var h;if(c.rtcCenter?h=new THREE__namespace.Vector3().fromArray(c.rtcCenter):f.CESIUM_RTC&&(h=new THREE__namespace.Vector3().copy(f.CESIUM_RTC.center)),h){var m=new THREE__namespace.Matrix4().setPosition(h);d.premultiply(m)}return u==="Y"&&d.premultiply(ROTATE_X_MATRIX_INVERSE),f.scene.applyMatrix4(d),delete c.featureTableBinary,delete c.batchTableBinary,delete c.gltfArrayBuffer,{type:"b3dm",modelUpAxis:s,upAxis:"Z",uri:c.uri,byteLength:c.byteLength,memoryUsage:getMemoryUsage(f.scene),scene:f.scene,textures:f.textures,animations:[],rtcCenter:h,dispose:function(){return f.dispose()}}})})}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEIoYSl7b25tZXNzYWdlPWZ1bmN0aW9uKHIpe1Byb21pc2UucmVzb2x2ZShyLmRhdGEpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGEobil9KS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBlPW4ub3V0cHV0LHQ9bi50cmFuc2ZlcjtyZXR1cm4gcG9zdE1lc3NhZ2UoZSx0KX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiBwb3N0TWVzc2FnZSh7JCRlcnJvcjpufSl9KX19dmFyIHUseTsoZnVuY3Rpb24oYSl7YVthLkJZVEU9NTEyMF09IkJZVEUiLGFbYS5VTlNJR05FRF9CWVRFPTUxMjFdPSJVTlNJR05FRF9CWVRFIixhW2EuU0hPUlQ9NTEyMl09IlNIT1JUIixhW2EuVU5TSUdORURfU0hPUlQ9NTEyM109IlVOU0lHTkVEX1NIT1JUIixhW2EuSU5UPTUxMjRdPSJJTlQiLGFbYS5VTlNJR05FRF9JTlQ9NTEyNV09IlVOU0lHTkVEX0lOVCIsYVthLkZMT0FUPTUxMjZdPSJGTE9BVCIsYVthLkRPVUJMRT01MTMwXT0iRE9VQkxFIn0pKHl8fCh5PXt9KSk7dmFyIGM9KHU9e30sdVt5LkRPVUJMRV09RmxvYXQ2NEFycmF5LHVbeS5GTE9BVF09RmxvYXQzMkFycmF5LHVbeS5VTlNJR05FRF9TSE9SVF09VWludDE2QXJyYXksdVt5LlVOU0lHTkVEX0lOVF09VWludDMyQXJyYXksdVt5LlVOU0lHTkVEX0JZVEVdPVVpbnQ4QXJyYXksdVt5LkJZVEVdPUludDhBcnJheSx1W3kuU0hPUlRdPUludDE2QXJyYXksdVt5LklOVF09SW50MzJBcnJheSx1KSxGPXtET1VCTEU6eS5ET1VCTEUsRkxPQVQ6eS5GTE9BVCxVTlNJR05FRF9TSE9SVDp5LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDp5LlVOU0lHTkVEX0lOVCxVTlNJR05FRF9CWVRFOnkuVU5TSUdORURfQllURSxCWVRFOnkuQllURSxTSE9SVDp5LlNIT1JULElOVDp5LklOVH07ZnVuY3Rpb24gTyhhKXt2YXIgcj1jW2FdO2lmKCFyKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNvbnZlcnQgR0wgdHlwZSIpO3JldHVybiByfWZ1bmN0aW9uIHAoYSl7dmFyIHI9TyhhKTtyZXR1cm4gci5CWVRFU19QRVJfRUxFTUVOVH1mdW5jdGlvbiBfKGEscixuLGUpe249PT12b2lkIDAmJihuPTApO3ZhciB0PU8oYSk7aWYobiVwKGEpIT09MCl7dmFyIGk9ZT9yLnNsaWNlKG4sbitlKnAoYSkpOnIuc2xpY2Uobik7cmV0dXJuIG5ldyB0KGkpfWVsc2UgcmV0dXJuIG5ldyB0KHIsbixlIT1udWxsP2U6KHIuYnl0ZUxlbmd0aC1uKS9wKGEpKX1mdW5jdGlvbiBsKGEpe3ZhciByPUZbYV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29udmVydCBHTCB0eXBlIik7cmV0dXJuIHJ9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHIsbil7dGhpcy5mZWF0dXJlc0xlbmd0aD0wLHRoaXMuY2FjaGVkVHlwZWRBcnJheXM9e30sdGhpcy5qc29uPXIsdGhpcy5idWZmZXI9bjt2YXIgZT10aGlzLmdldEdsb2JhbFByb3BlcnR5KCJQT0lOVFNfTEVOR1RIIix5LlVOU0lHTkVEX0lOVCwxKTtlJiZlLmxlbmd0aCYmKHRoaXMuZmVhdHVyZXNMZW5ndGg9ZVswXSl9cmV0dXJuIGEucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5qc29uLmV4dGVuc2lvbnMmJnRoaXMuanNvbi5leHRlbnNpb25zW3JdfSxhLnByb3RvdHlwZS5oYXNQcm9wZXJ0eT1mdW5jdGlvbihyKXtyZXR1cm4hIXRoaXMuanNvbltyXX0sYS5wcm90b3R5cGUuZ2V0R2xvYmFsUHJvcGVydHk9ZnVuY3Rpb24ocixuLGUpe3ZhciB0PXRoaXMuanNvbltyXTtpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciBpPU8obik7cmV0dXJuIG5ldyBpKFt0XSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaT1PKG4pO3JldHVybiBuZXcgaSh0KX1lbHNlIGlmKHQmJk51bWJlci5pc0Zpbml0ZSh0LmJ5dGVPZmZzZXQpKXJldHVybiB0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLDEsdC5ieXRlT2Zmc2V0KTtyZXR1cm4gbnVsbH0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHlBcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5qc29uW3JdO3JldHVybiB0JiZOdW1iZXIuaXNGaW5pdGUodC5ieXRlT2Zmc2V0KT8oImNvbXBvbmVudFR5cGUiaW4gdCYmKG49bCh0LmNvbXBvbmVudFR5cGUpKSx0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLHRoaXMuZmVhdHVyZXNMZW5ndGgsdC5ieXRlT2Zmc2V0KSk6dGhpcy5nZXRUeXBlZEFycmF5RnJvbUFycmF5KHIsbix0KX0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9ZnVuY3Rpb24ocixuLGUsdCxpKXt2YXIgbz10aGlzLmpzb25bcl07aWYoIW8pcmV0dXJuIG51bGw7dmFyIHY9dGhpcy5nZXRQcm9wZXJ0eUFycmF5KHIsbixlKTtpZihlPT09MSlyZXR1cm4gaVswXT12W3RdLGk7Zm9yKHZhciBBPTA7QTxlOysrQSlpW0FdPXZbZSp0K0FdO3JldHVybiBpfSxhLnByb3RvdHlwZS5nZXRUeXBlZEFycmF5RnJvbUJpbmFyeT1mdW5jdGlvbihyLG4sZSx0LGkpe3ZhciBvPXRoaXMuY2FjaGVkVHlwZWRBcnJheXMsdj1vW3JdO3JldHVybiB2fHwodj1fKG4sdGhpcy5idWZmZXIuYnVmZmVyLHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQraSx0KmUpLG9bcl09diksdn0sYS5wcm90b3R5cGUuZ2V0VHlwZWRBcnJheUZyb21BcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5jYWNoZWRUeXBlZEFycmF5cyxpPXRbcl07cmV0dXJuIGl8fChpPV8obixlKSx0W3JdPWkpLGl9LGF9KCk7QihmdW5jdGlvbihhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7dmFyIG49bmV3IFIoci5mZWF0dXJlVGFibGVKc29uLHIuZmVhdHVyZVRhYmxlQmluYXJ5KSxlPWQobiksdD1nKG4pLGk9UChuKSxvPVtdO3JldHVybiBlJiZvLnB1c2goZS5hcnJheS5idWZmZXIpLHQmJm8ucHVzaCh0LmFycmF5LmJ1ZmZlciksaSYmby5wdXNoKGkuYXJyYXkuYnVmZmVyKSx7b3V0cHV0Ontwb3NpdGlvbjplLGNvbG9yOnQsbm9ybWFsOml9LHRyYW5zZmVyOm99fSl9KTt2YXIgVT02NTUzNTtmdW5jdGlvbiBkKGEpe2lmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUE9TSVRJT04iLHkuRkxPQVQsMyk7cmV0dXJue2FycmF5OnIsaXRlbVNpemU6Myxub3JtYWxpemVkOiExfX1lbHNlIGlmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OX1FVQU5USVpFRCIpKXt2YXIgbj1hLmdldFByb3BlcnR5QXJyYXkoIlBPU0lUSU9OX1FVQU5USVpFRCIseS5VTlNJR05FRF9TSE9SVCwzKSxlPWEuZ2V0R2xvYmFsUHJvcGVydHkoIlFVQU5USVpFRF9WT0xVTUVfU0NBTEUiLHkuRkxPQVQsMyksdD1hLmdldEdsb2JhbFByb3BlcnR5KCJRVUFOVElaRURfVk9MVU1FX09GRlNFVCIseS5GTE9BVCwzKTtpZighZXx8IXQpdGhyb3cgbmV3IEVycm9yKCJRVUFOVElaRURfVk9MVU1FX1NDQUxFIG9yIFFVQU5USVpFRF9WT0xVTUVfT0ZGU0VUIG5ldmVyIGZvdW5kLiIpO2Zvcih2YXIgaT1uZXcgRmxvYXQzMkFycmF5KG4ubGVuZ3RoKSxvPW4ubGVuZ3RoLzMsdj1lWzBdL1UsQT1lWzFdL1UsTj1lWzJdL1UsRT10WzBdLFM9dFsxXSxzPXRbMl0sVD0wLEk9dm9pZCAwO1Q8bztUKyspST1UKjMsaVtJXT1uW0ldKnYrRSxpWysrSV09bltJXSpBK1MsaVsrK0ldPW5bSV0qTitzO3JldHVybnthcnJheTppLGl0ZW1TaXplOjMsbm9ybWFsaXplZDohMX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhhKXtpZihhLmhhc1Byb3BlcnR5KCJSR0IiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCIix5LlVOU0lHTkVEX0JZVEUsMyksbj1yLmxlbmd0aC8zLGU9bmV3IFVpbnQ4QXJyYXkobio0KSx0PTAsaT12b2lkIDAsbz12b2lkIDA7dDxuO3QrKylvPXQqNCxpPXQqMyxlW29dPXJbaV0sZVsrK29dPXJbKytpXSxlWysrb109clsrK2ldO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0JBIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCQSIseS5VTlNJR05FRF9CWVRFLDQpO3JldHVybnthcnJheTpyLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0I1NjUiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCNTY1Iix5LlVOU0lHTkVEX1NIT1JULDEpLG49ci5sZW5ndGgsZT1uZXcgVWludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMDt0PG47dCsrKUE9clt0XSx2PXQqNCxlW3ZdPShBPj4xMSYzMSk8PDMsZVsrK3ZdPShBPj41JjYzKTw8MixlWysrdl09KEEmMzEpPDwzO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19cmV0dXJuIG51bGx9dmFyIEc9MjU1LGg9MTI3LEQ9Mi9HO2Z1bmN0aW9uIFAoYSl7aWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMIikpe2Zvcih2YXIgcj1hLmdldFByb3BlcnR5QXJyYXkoIk5PUk1BTCIseS5GTE9BVCwzKSxuPXIubGVuZ3RoLzMsZT1uZXcgSW50OEFycmF5KG4qNCksdD0wLGk9dm9pZCAwLG89dm9pZCAwO3Q8bjt0Kyspbz10KjQsaT10KjMsZVtvXT1yW2ldKmgsZVsrK29dPXJbKytpXSpoLGVbKytvXT1yWysraV0qaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fWVsc2UgaWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMX09DVDE2UCIpKXtmb3IodmFyIHI9YS5nZXRQcm9wZXJ0eUFycmF5KCJOT1JNQUxfT0NUMTZQIix5LlVOU0lHTkVEX0JZVEUsMiksbj1yLmxlbmd0aC8yLGU9bmV3IEludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMCxOPXZvaWQgMCxFPXZvaWQgMCxTPXZvaWQgMCxzPXZvaWQgMCxUPXZvaWQgMDt0PG47dCsrKXY9dCoyLEE9clt2XSpELTEsTj1yWysrdl0qRC0xLFM9QTwwPy1BOkEscz1OPDA/LU46TixFPTEtKFMrcyksRTwwJiYoQT0oMS1zKSooQTwwPy0xOjEpLE49KDEtUykqKE48MD8tMToxKSksVD1NYXRoLnNxcnQoQSpBK04qTitFKkUpLHY9dCo0LGVbdl09QS9UKmgsZVsrK3ZdPU4vVCpoLGVbKyt2XT1FL1QqaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fXJldHVybiBudWxsfX0pKCk7Cg==",decodeBase64=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),blob$1=typeof self!="undefined"&&self.Blob&&new Blob([decodeBase64(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(n){let t;try{if(t=blob$1&&(self.URL||self.webkitURL).createObjectURL(blob$1),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+encodedJs,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var attributeWorkerPool=new WorkerPool$1(function(){return new WorkerWrapper},2);function parsePointCloud(n,t,e){var r=new FeatureTable(n.featureTableJson,n.featureTableBinary);return Promise.resolve().then(function(){var o=r.getExtension("3DTILES_draco_point_compression");return o?parseDraco(o,r):attributeWorkerPool.postMessage({featureTableBinary:r.buffer,featureTableJson:r.json},[r.buffer.buffer])}).then(function(o){return n.attributes=o,e})}function parseDraco(n,t){return __awaiter(this,void 0,void 0,function(){var e,r,o,s,u,l;return __generator(this,function(c){if(e=n.properties||{},r=n.byteOffset,o=n.byteLength,!e||!Number.isFinite(r)||!o)throw new Error("Draco properties, byteOffset, and byteLength must be defined");return s=t.buffer.slice(r,r+o),u=n.properties,l={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,draco.decodeGeometry(s.buffer,{attributeIDs:u,attributeTypes:l,useUniqueIDs:!0}).then(function(p){var f=p.getAttribute("POSITION"),d=p.getAttribute("RGB"),h=p.getAttribute("RGBA"),m=p.getAttribute("NORMAL"),g;if(h)g=h;else if(d){for(var A=d.count,E=d.array,v=new Uint8Array(A*4),y=0,b=void 0,T=void 0;y<A;y++)T=y*4,b=y*3,v[T]=E[b],v[++T]=E[++b],v[++T]=E[++b];g=new THREE__namespace.BufferAttribute(v,4,d.normalized)}return{position:f?{array:f.array,itemSize:f.itemSize,normalized:f.normalized}:null,color:g?{array:g.array,itemSize:g.itemSize,normalized:g.normalized}:null,normal:m?{array:m.array,itemSize:m.itemSize,normalized:m.normalized}:null}})]})})}function loadPnts(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={uri:n};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return l.body})}).then(function(l){return Promise.resolve(0).then(function(c){return parseHeader$1(u,l,c)}).then(function(c){return parseTable(u,l,c)}).then(function(c){return parsePointCloud(u,l,c)})}).then(function(){var l;return createPoints(u.attributes,{computeBoundingBox:(l=t.computeBoundingBox)!==null&&l!==void 0?l:!0})}).then(function(l){var c=new THREE__namespace.Matrix4,p;if(u.rtcCenter&&(p=new THREE__namespace.Vector3().fromArray(u.rtcCenter)),p){var f=new THREE__namespace.Matrix4().setPosition(p);c.premultiply(f)}return o==="Y"&&c.premultiply(ROTATE_X_MATRIX_INVERSE),l.object.applyMatrix4(c),delete u.gltfArrayBuffer,delete u.featureTableBinary,delete u.batchTableBinary,{type:"pnts",modelUpAxis:"Z",upAxis:o,uri:u.uri,byteLength:u.byteLength,memoryUsage:getMemoryUsage(l.object),scene:l.object,textures:[],animations:[],rtcCenter:p,dispose:function(){return l.dispose()}}})}function createPoints(n,t){var e=new Set,r=new THREE__namespace.BufferGeometry;e.add(r);var o=new PBMPointCloudMaterial;e.add(o),n.position&&r.setAttribute("position",new THREE__namespace.BufferAttribute(n.position.array,n.position.itemSize,n.position.normalized)),n.color&&r.setAttribute("color",new THREE__namespace.BufferAttribute(n.color.array,n.color.itemSize,n.color.normalized)),n.normal?r.setAttribute("normal",new THREE__namespace.BufferAttribute(n.normal.array,n.normal.itemSize,n.normal.normalized)):o.flatShading=!0,t.computeBoundingBox&&r.computeBoundingBox();var s=new PBMPointCloud(r,o);return s.matrix.compose(s.position,s.quaternion,s.scale),s.matrixAutoUpdate=!1,s.frustumCulled=!1,Promise.resolve({object:s,dispose:function(){e.forEach(function(u){u.dispose()}),e.clear()}})}function createLZMA(){var n={};return n.OutWindow=function(){this._windowSize=0},n.OutWindow.prototype.create=function(t){(!this._buffer||this._windowSize!==t)&&(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},n.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(t!==0){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},n.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},n.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},n.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},n.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},n.RangeDecoder=function(){},n.RangeDecoder.prototype.setStream=function(t){this._stream=t},n.RangeDecoder.prototype.releaseStream=function(){this._stream=null},n.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},n.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e=0,r=t,o;r--;)this._range>>>=1,o=this._code-this._range>>>31,this._code-=this._range&o-1,e=e<<1|1-o,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return e},n.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],o=(this._range>>>11)*r;return(this._code^2147483648)<(o^2147483648)?(this._range=o,t[e]+=2048-r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=o,this._code-=o,t[e]-=r>>>5,this._range&4278190080||(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},n.initBitModels=function(t,e){for(;e--;)t[e]=1024},n.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},n.BitTreeDecoder.prototype.init=function(){n.initBitModels(this._models,1<<this._numBitLevels)},n.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},n.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e=1,r=0,o=0,s;o<this._numBitLevels;++o)s=t.decodeBit(this._models,e),e=e<<1|s,r|=s<<o;return r},n.reverseDecode2=function(t,e,r,o){for(var s=1,u=0,l=0,c;l<o;++l)c=r.decodeBit(t,e+s),s=s<<1|c,u|=c<<l;return u},n.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new n.BitTreeDecoder(8),this._numPosStates=0},n.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new n.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new n.BitTreeDecoder(3)},n.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(n.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},n.LenDecoder.prototype.decode=function(t,e){return t.decodeBit(this._choice,0)===0?this._lowCoder[e].decode(t):t.decodeBit(this._choice,1)===0?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},n.Decoder2=function(){this._decoders=[]},n.Decoder2.prototype.init=function(){n.initBitModels(this._decoders,768)},n.Decoder2.prototype.decodeNormal=function(t){var e=1;do e=e<<1|t.decodeBit(this._decoders,e);while(e<256);return e&255},n.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r=1,o,s;do if(o=e>>7&1,e<<=1,s=t.decodeBit(this._decoders,(1+o<<8)+r),r=r<<1|s,o!==s){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}while(r<256);return r&255},n.LiteralDecoder=function(){},n.LiteralDecoder.prototype.create=function(t,e){var r;if(!(this._coders&&this._numPrevBits===e&&this._numPosBits===t))for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new n.Decoder2},n.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},n.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((e&255)>>>8-this._numPrevBits)]},n.Decoder=function(){this._outWindow=new n.OutWindow,this._rangeDecoder=new n.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new n.BitTreeDecoder(4),this._lenDecoder=new n.LenDecoder,this._repLenDecoder=new n.LenDecoder,this._literalDecoder=new n.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new n.BitTreeDecoder(6),this._posSlotDecoder[1]=new n.BitTreeDecoder(6),this._posSlotDecoder[2]=new n.BitTreeDecoder(6),this._posSlotDecoder[3]=new n.BitTreeDecoder(6)},n.Decoder.prototype.setDictionarySize=function(t){return t<0?!1:(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},n.Decoder.prototype.setLcLpPb=function(t,e,r){var o=1<<r;return t>8||e>4||r>4?!1:(this._literalDecoder.create(e,t),this._lenDecoder.create(o),this._repLenDecoder.create(o),this._posStateMask=o-1,!0)},n.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),n.initBitModels(this._isMatchDecoders,192),n.initBitModels(this._isRep0LongDecoders,192),n.initBitModels(this._isRepDecoders,12),n.initBitModels(this._isRepG0Decoders,12),n.initBitModels(this._isRepG1Decoders,12),n.initBitModels(this._isRepG2Decoders,12),n.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},n.Decoder.prototype.decode=function(t,e,r){var o=0,s=0,u=0,l=0,c=0,p=0,f=0,d,h,m,g,A,E;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||p<r;)if(d=p&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(o<<4)+d)===0)h=this._literalDecoder.getDecoder(p++,f),o>=7?f=h.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(s)):f=h.decodeNormal(this._rangeDecoder),this._outWindow.putByte(f),o=o<4?0:o-(o<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,o)===1)m=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,o)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(o<<4)+d)===0&&(o=o<7?9:11,m=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,o)===0?g=u:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,o)===0?g=l:(g=c,c=l),l=u),u=s,s=g),m===0&&(m=2+this._repLenDecoder.decode(this._rangeDecoder,d),o=o<7?8:11);else if(c=l,l=u,u=s,m=2+this._lenDecoder.decode(this._rangeDecoder,d),o=o<7?7:10,A=this._posSlotDecoder[m<=5?m-2:3].decode(this._rangeDecoder),A>=4){if(E=(A>>1)-1,s=(2|A&1)<<E,A<14)s+=n.reverseDecode2(this._posDecoders,s-A-1,this._rangeDecoder,E);else if(s+=this._rangeDecoder.decodeDirectBits(E-4)<<4,s+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),s<0){if(s===-1)break;return!1}}else s=A;if(s>=p||s>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(s,m),p+=m,f=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},n.Decoder.prototype.setDecoderProperties=function(t){var e,r,o,s,u;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),o=e%5,s=~~(e/5),!this.setLcLpPb(r,o,s))?!1:(u=t.readByte(),u|=t.readByte()<<8,u|=t.readByte()<<16,u+=t.readByte()*16777216,this.setDictionarySize(u))},n.decompress=function(t,e,r,o){var s=new n.Decoder;if(!s.setDecoderProperties(t))throw"Incorrect stream properties";if(!s.decode(e,r,o))throw"Error in data stream";return!0},n.decompressFile=function(t,e){var r=new n.Decoder,o;if(!r.setDecoderProperties(t))throw"Incorrect stream properties";if(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=t.readByte()*16777216,t.readByte(),t.readByte(),t.readByte(),t.readByte(),!r.decode(t,e,o))throw"Error in data stream";return!0},n}var LZMA=createLZMA();function createWASM(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=new Uint8Array(256),s=0;s<r.length;s++)o[r.charCodeAt(s)]=s;var u=e.length*.75,l=e.length,c,p=0,f,d,h,m;e[e.length-1]==="="&&(u--,e[e.length-2]==="="&&u--);var g=new ArrayBuffer(u),A=new Uint8Array(g);for(c=0;c<l;c+=4)f=o[e.charCodeAt(c)],d=o[e.charCodeAt(c+1)],h=o[e.charCodeAt(c+2)],m=o[e.charCodeAt(c+3)],A[p++]=f<<2|d>>4,A[p++]=(d&15)<<4|h>>2,A[p++]=(h&3)<<6|m&63;return g}var t="AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EYdCAFQQh2cjYCACAAQQxqIAFBD2ooAgAiBUEYdCADQQh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsLCyACQRBxBEAgACABIgMtAAA6AAAgAEEBaiIBIAEgA0EBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEIcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiAyADIAFBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgMgAyABQQFqIgEtAAA6AABBAWoiBEEBaiEAIAFBAWoiA0EBaiEBIAQgAy0AADoAAAsgAkEEcQRAIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIDIAMgAUEBaiIBLQAAOgAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAALIAJBAnEEQCAAIAEtAAA6AAAgAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAACyACQQFxBEAgACABLQAAOgAACwvVAgECfyAAIAFGBEAPCyABIAJqIABNIgNFBEAgACACaiABTSEDCyADBEAgACABIAIQGw8LIAAgAUkEQCABQQdxIABBB3FGBEADQCAAQQdxBEAgAkUEQA8LIAJBAWshAiAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAMAQsLA0AgAkEITwRAIAAgASkDADcDACACQQhrIQIgAEEIaiEAIAFBCGohAQwBCwsLA0AgAgRAIAAiBEEBaiEAIAEiA0EBaiEBIAQgAy0AADoAACACQQFrIQIMAQsLBSABQQdxIABBB3FGBEADQCAAIAJqQQdxBEAgAkUEQA8LIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwNAIAJBCE8EQCACQQhrIgIgAGogASACaikDADcDAAwBCwsLA0AgAgRAIAJBAWsiAiAAaiABIAJqLQAAOgAADAELCwsL4AoBCH8gACgCACIGIgQoAgAgBCgCBGovAQgiCCABIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAhrQf//A3FBBXYgCGohCCAHIAQ2AgxBAAUgCCAIQf//A3FBBXZrIQggByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyAGKAIEIAYoAgBqIAg7AQggByIFKAIMIwJJBEAgBSAFKAIMQQh0NgIMIAUoAhBBCHQhByAFKAIAIQYgBSAFKAIIIglBAWo2AgggBSAGIAkQEUH/AXEgB3I2AhALQf//A3FFBEAgAiAAKAIEKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEDIAEhBEEBIQgDQCAKIAMoAgRJBEAgAygCACIHKAIAIQEgBCgCECAHKAIEIAgiBUEBdCIIIAFqai8BCCIGIAQoAgxBC3ZsIglJBH9BgBAgBmtB//8DcUEFdiAGaiEGIAQgCTYCDEEABSAGIAZB//8DcUEFdmshBiAEIAQoAhAgCWs2AhAgBCAEKAIMIAlrNgIMQQELIAcoAgQgBygCACAFQQF0amogBjsBCCAEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhACAEKAIAIQUgBCAEKAIIIgFBAWo2AgggBCAFIAEQEUH/AXEgAHI2AhALQf//A3EgCGohCCAKQQFqIQoMAQsLIAhBASADKAIEdGsPCyAAKAIAIgooAgAhCCAFKAIQIAooAgQgCEECamovAQgiBCABKAIMQQt2bCIDSQR/IAUgAzYCDEEAIQlBgBAgBGtB//8DcUEFdiAEagUgBSAFKAIQIANrNgIQIAUgBSgCDCADazYCDEEBIQkgBCAEQf//A3FBBXZrCyEEIAoiBygCBCAHKAIAQQJqaiAEOwEIIAUiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQUgBigCACEHIAYgBigCCCIIQQFqNgIIIAYgByAIEBFB/wFxIAVyNgIQCyAJQf//A3FFBEAgAiAAKAIIKAIAIgAoAgBBAnZJBH8gAkECdCAAaigCCAUACyEJIAEhA0EBIQRBACECA0AgAiAJKAIESQRAIAMoAhAgCSgCACIFKAIEIAQiBkEBdCIEIAUoAgBqai8BCCIHIAMoAgxBC3ZsIghJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAMgCDYCDEEABSAHIAdB//8DcUEFdmshByADIAMoAhAgCGs2AhAgAyADKAIMIAhrNgIMQQELIAUoAgQgBSgCACAGQQF0amogBzsBCCADKAIMIwJJBEAgAyADKAIMQQh0NgIMIAMoAhBBCHQhBSADKAIAIQcgAyADKAIIIgZBAWo2AgggAyAHIAYQEUH/AXEgBXI2AhALQf//A3EgBGohBCACQQFqIQIMAQsLIARBASAJKAIEdGtBCGoPCyAAKAIMIQQgASEDQQEhCUEAIQIDQCACIAQoAgRJBEAgBCgCACIIKAIAIQogAygCECAIKAIEIAogCSIHQQF0IgFqai8BCCIFIAMoAgxBC3ZsIgZJBH8gAyAGNgIMQQAhBkGAECAFa0H//wNxQQV2IAVqBSADIAMoAhAgBms2AhAgAyADKAIMIAZrNgIMQQEhBiAFIAVB//8DcUEFdmsLIQUgCCgCBCAIKAIAIAdBAXRqaiAFOwEIIAMoAgwjAkkEQCADIAMoAgxBCHQ2AgwgAygCEEEIdCEAIAMoAgAhBSADIAMoAggiCkEBajYCCCADIAUgChARQf8BcSAAcjYCEAsgBkH//wNxIAFqIQkgAkEBaiECDAELCyAJQQEgBCgCBHRrQRBqC5YCAQh/QQEhBwNAAkAgBiABTg0AIAIoAhAgACgCBCAAKAIAIAMgB2oiCUEBdGpqLwEIIgQgAigCDEELdmwiBUkEfyACIAU2AgxBACEFQYAQIARrQf//A3FBBXYgBGoFIAIgAigCECAFazYCECACIAIoAgwgBWs2AgxBASEFIAQgBEH//wNxQQV2awshBCAAKAIEIAAoAgAgCUEBdGpqIAQ7AQggAiIEKAIMIwJJBEAgBCAEKAIMQQh0NgIMIAQoAhBBCHQhCiAEKAIAIQsgBCAEKAIIIglBAWo2AgggBCALIAkQEUH/AXEgCnI2AhALIAVB//8DcSIEIAdBAXRqIQcgBCAGdCAIciEIIAZBAWohBgwBCwsgCAvwBAEIf0EDIAEgAUEDSxsiAiAAKAIkKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACyEEIAAoAgQhAkEBIQEDQCAHIAQoAgRJBEAgBCgCACIFKAIAIQMgAigCECAFKAIEIAFBAXQiCSADamovAQgiAyACKAIMQQt2bCIGSQR/IAIgBjYCDEEAIQhBgBAgA2tB//8DcUEFdiADagUgAiACKAIQIAZrNgIQIAIgAigCDCAGazYCDEEBIQggAyADQf//A3FBBXZrCyEDIAUoAgQgBSgCACABQQF0amogAzsBCCACKAIMIwJJBEAgAiACKAIMQQh0NgIMIAIoAhBBCHQhBiACKAIAIQUgAiACKAIIIgNBAWo2AgggAiAFIAMQEUH/AXEgBnI2AhALIAhB//8DcSAJaiEBIAdBAWohBwwBCwsgAUEBIAQoAgR0ayIBQQRJBEAgAQ8LIAFBAXFBAnIgAUEBdkEBayICdCEDIAFBDkkEfyAAKAIsIAIgACgCBCADIAFrEB4gA2oFIAAoAgQhASACQQRrIQJBACEEA0AgASABKAIMQQF2NgIMIAEgASgCECABKAIMazYCECABIAEoAhBBACABKAIQQR92ayIHIAEoAgxxajYCECABKAIQIAEoAgxGBEAgAUEBOgAECyABKAIMIwJJBEAgASABKAIMQQh0NgIMIAEoAhBBCHQhBSABKAIAIQggASABKAIIIgZBAWo2AgggASAIIAYQEUH/AXEgBXI2AhALIAdBAWogBEEBdGohBCACQQFrIgINAAsgBEEEdCADaiAAKAIoIgQoAgAgBCgCBCAAKAIEQQAQHmoLC9AcAQ9/IAAQGiAAKAIEIgdBADoABCAHKAIAIAcgBygCCCIDQQFqNgIIIAMQEUH/AXEEQCAHQQE6AAQLIAdBfzYCDCAHQQA2AhBBACEDA0AgA0EESARAIAcoAhBBCHQhBSAHKAIAIQwgByAHKAIIIghBAWo2AgggByAMIAgQEUH/AXEgBXI2AhAgA0EBaiEDDAELCyAHKAIQIAcoAgxGBEAgB0EBOgAECyABBEAgACgCCCACEA82AgQFIAAoAghBBBAPNgIEC0EAIQwDQAJAIAJFIAEgARsiBwR/IAAtAABFBSAHCwRAIAAoAgQoAhBFBEBBAw8LCyAAKAIwIgUoAgAhByAFKAIEIAAoAggoAgBBASAAKAIQdEEBa3EiCyAMQQR0Qf8BcWoiBkEBdCAHamovAQghAyAGIQcgACgCBCIEKAIMQQt2IANsIQggBCgCECAISQR/IAQgCDYCDEEAIQlBgBAgA2tB//8DcUEFdiADagUgBCAEKAIQIAhrNgIQIAQgBCgCDCAIazYCDEEBIQkgAyADQf//A3FBBXZrCyEIIAUiAygCBCADKAIAIAdBAXRqaiAIOwEIIAQiBigCDCMCSQRAIAYgBigCDEEIdDYCDCAGKAIQQQh0IQggBigCACEDIAYgBigCCCIHQQFqNgIIIAYgAyAHEBFB/wFxIAhyNgIQCyAJQf//A3FFBEAgAkUgASABGw0BIAwhCEEAIQYgACgCCCIFKAIMRSIEBH8gBS0AGEUFIAQLRQRAIAAoAggiBSgCCCIGKAIEQQEgBSgCDEwEfyAFKAIMQQFrBSAFKAIMIAUoAhRBAWtqCyAGKAIAamotAAghBgtBASEEIAAoAggoAgBBASAALQAUdEEBa3EgACgCDHQgBkEIIAAoAgxrdmpBgAZsIQcgCEEHTwRAIAAoAggiBigCCCIJKAIEIA5BAWoiDSAGKAIMTAR/IAYoAgwgDWsFIAYoAgwgBigCFCANa2oLIAkoAgBqai0ACCENA0ACQCANQf8BcUEHdiEGIA1BAXQhDSAAKAIgIgkoAgAhCyAJKAIEIAZBAWpBCHQgB2ogBGoiDEEBdCALamovAQgiCyAAKAIEIgMoAgxBC3ZsIQogAygCECAKSQR/QYAQIAtrQf//A3FBBXYgC2ohCyADIAo2AgxBAAUgCyALQf//A3FBBXZrIQsgAyADKAIQIAprNgIQIAMgAygCDCAKazYCDEEBCyEFIAkoAgQgCSgCACAMQQF0amogCzsBCCADIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEDIAooAgAhDCAKIAooAggiC0EBajYCCCAKIAwgCxARQf8BcSADcjYCEAsgBEEBdCAFciEEIAVB//8DcSAGRw0AIARB//8DcUGAAkkNAQsLCwNAIARBgAJJBEAgBEEBdCEJIAAoAiAiBSgCACEMIAUoAgQgBCAHaiIGQQF0IAxqai8BCCILIAAoAgQiDSgCDEELdmwhCiANKAIQIApJBH9BgBAgC2tB//8DcUEFdiALaiELIA0gCjYCDEEABSALIAtB//8DcUEFdmshCyANIA0oAhAgCms2AhAgDSANKAIMIAprNgIMQQELIAUoAgQgBSgCACAGQQF0amogCzsBCCANIgooAgwjAkkEQCAKIAooAgxBCHQ2AgwgCigCEEEIdCEGIAooAgAhBSAKIAooAggiDEEBajYCCCAKIAUgDBARQf8BcSAGcjYCEAsgCXIhBAwBCwsgACgCCCIDIAMoAgBBAWo2AgAgAygCCCELIAMgAygCDCIGQQFqNgIMIAsoAgQgCygCACAGamogBEGAAmsiCjoACCADKAIMIAMoAhRGBEAgA0EANgIMIANBAToAGAsgAygCBCgCCCADKAIQRgRAIAMgAygCBCIGKAIIQQF0EA82AgQgAygCBCgCACADKAIEKAIEakEIaiAGKAIAIAYoAgRqQQhqIAYoAggQHCAGKAIAGgsgAygCBCEJIAMgAygCECIMQQFqNgIQIAkoAgQgCSgCACAMamogCjoACCAIIgVBBEkEf0EABSAFQQNrIAVBBmsgBUEKSRsLIQwgAkEBayECDAILIAAoAjQiBigCACEFIAYoAgQgDCIDQQF0IAVqai8BCCIHIAAoAgQiCigCDEELdmwhBCAKKAIQIARJBH9BgBAgB2tB//8DcUEFdiAHaiEHIAogBDYCDEEABSAHIAdB//8DcUEFdmshByAKIAooAhAgBGs2AhAgCiAKKAIMIARrNgIMQQELIAMhBSAGIgMoAgAhDSADKAIEIAVBAXQgDWpqIAc7AQggCiIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhBiAJKAIAIQMgCSAJKAIIIgVBAWo2AgggCSADIAUQEUH/AXEgBnI2AhALQf//A3EEQCACRSABIAEbDQEgACgCCCIIKAIMRSIEBH8gCC0AGEUFIAQLDQEgACgCOCIDKAIAIQggAygCBCAMQQF0IAhqai8BCCIEIAAoAgQiBSgCDEELdmwhByAFKAIQIAdJBH9BgBAgBGtB//8DcUEFdiAEaiEEIAUgBzYCDEEABSAEIARB//8DcUEFdmshBCAFIAUoAhAgB2s2AhAgBSAFKAIMIAdrNgIMQQELIAMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEFIAkoAgAhAyAJIAkoAggiCEEBajYCCCAJIAMgCBARQf8BcSAFcjYCEAtB//8DcQRAIAAoAjwiCCgCACEHIAgoAgQgDEEBdCAHamovAQgiBCAAKAIEIgUoAgxBC3ZsIQYgBSgCECAGSQR/QYAQIARrQf//A3FBBXYgBGohBCAFIAY2AgxBAAUgBCAEQf//A3FBBXZrIQQgBSAFKAIQIAZrNgIQIAUgBSgCDCAGazYCDEEBCyAIIgMoAgQgAygCACAMQQF0amogBDsBCCAFIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiB0EBajYCCCAJIAMgBxARQf8BcSAIcjYCEAtB//8DcQRAIAAoAkAiAygCACEKIAMoAgQgDEEBdCAKamovAQgiBiAAKAIEIgcoAgxBC3ZsIQQgBygCECAESQR/QYAQIAZrQf//A3FBBXYgBmohBiAHIAQ2AgxBAAUgBiAGQf//A3FBBXZrIQYgByAHKAIQIARrNgIQIAcgBygCDCAEazYCDEEBCyADKAIEIAMoAgAgDEEBdGpqIAY7AQggByIJKAIMIwJJBEAgCSAJKAIMQQh0NgIMIAkoAhBBCHQhCCAJKAIAIQMgCSAJKAIIIgpBAWo2AgggCSADIAoQEUH/AXEgCHI2AhALQf//A3EEQCARIQMgDyERBSAPIQMLIBAhDwUgECEDCyAOIRAgAyEOBSAAKAJEIgYoAgAhCiAGKAIEIAxBBHRB/wFxIAtqIgNBAXQgCmpqLwEIIgcgACgCBCIIKAIMQQt2bCEEIAgoAhAgBEkEf0GAECAHa0H//wNxQQV2IAdqIQcgCCAENgIMQQAFIAcgB0H//wNxQQV2ayEHIAggCCgCECAEazYCECAIIAgoAgwgBGs2AgxBAQsgAyEKIAYiAygCACENIAMoAgQgCkEBdCANamogBzsBCCAIIgkoAgwjAkkEQCAJIAkoAgxBCHQ2AgwgCSgCEEEIdCEIIAkoAgAhAyAJIAkoAggiCkEBajYCCCAJIAMgChARQf8BcSAIcjYCEAtB//8DcUUEQEEJQQsgDEEHSRshDCAAKAIIIQQgACgCCCIFKAIIIgMoAgQgDkEBaiIHIAUoAgxMBH8gBSgCDCAHawUgBSgCDCAFKAIUIAdragsgAygCAGpqLQAIIQcgBCAEKAIAQQFqNgIAIAQoAgghBSAEIAQoAgwiBkEBajYCDCAFKAIEIAUoAgAgBmpqIAc6AAggBCgCDCAEKAIURgRAIARBADYCDCAEQQE6ABgLIAQoAgQoAgggBCgCEEYEQCAEIAQoAgQiBigCCEEBdBAPNgIEIAQoAgQoAgAgBCgCBCgCBGpBCGogBigCACAGKAIEakEIaiAGKAIIEBwgBigCABoLIAQoAgQhAyAEIAQoAhAiCEEBajYCECADKAIEIAMoAgAgCGpqIAc6AAggAkEBayECDAQLCyAAKAJMIAAoAgQgCxAdIQtBCEELIAxBB0kbIQwFIA8hESAQIQ8gDiEQQQdBCiAMQQdJGyEMIAAgACgCSCAAKAIEIAsQHSILEB8iDkF/RgRAIAAoAgQoAhAEf0EBBUECCw8LIAJFIAEgARsNASAOIAAoAhhPIgUEfyAFBSAOIAAoAggiBCgCDEwiBgR/IAYFIAQtABgLRQsNAQtBACENIAAoAgghBSAOQQFqIQQgAiALQQJqIgtIIAEgARsEQEEBIQ0gAiELCyALIQYDQCAGQQBKBEAgBSIIKAIIIgkoAgQgBCAFKAIMTAR/IAUoAgwgBGsFIAUoAgwgBSgCFCAEa2oLIAkoAgBqai0ACCEHIAggCCgCAEEBajYCACAIKAIIIQMgCCAIKAIMIgpBAWo2AgwgAygCBCADKAIAIApqaiAHOgAIIAgoAgwgCCgCFEYEQCAIQQA2AgwgCEEBOgAYCyAIKAIEKAIIIAgoAhBGBEAgCCAIKAIEIgMoAghBAXQQDzYCBCAIKAIEKAIAIAgoAgQoAgRqQQhqIAMoAgAgAygCBGpBCGogAygCCBAcIAMoAgAaCyAIKAIEIQkgCCAIKAIQIgNBAWo2AhAgCSgCBCAJKAIAIANqaiAHOgAIIAZBAWshBgwBCwsgAiALayECIA1FDQELC0EBCyYBAX9BEBABIgQgADYCACAEIAE2AgQgBCACNgIIIAQgAzYCDCAEC7YEAQZ/IAAgATYCBEENEA8hAgNAAkAgA0ENTg0AIAIgAyABIAMQEUH/AXEQEiADQQFqIQMMAQsLIAAoAgAhBCACIQZBBBAPIgIoAgQgAigCAGogBigCBCAGKAIAai0ACCIDOgAIIANB/wFxQeEBTwRAQQBBgAFBoQFBDBAAAAsgAigCBCACKAIAQQFqaiADQf8BcUEJcCIHOgAIIAIoAgQgAigCAGogA0H/AXFBCW4iAzoACCADQQVwIQUgAigCBCACKAIAQQJqaiADQQVuIgM6AAggAigCBCACKAIAQQNqaiAFOgAIIAQgBzYCDCAEIAM2AhAgBCAFOgAUIARBADYCHEEAIQIDQAJAIAJBBE8NACAEIAQoAhwgBigCBCAGKAIAIAJBAWpqai0ACCACQQN0dHI2AhwgAkEBaiECDAELCyAEIAQoAhw2AhggBCgCGEGAIEkEQCAEQYAgNgIYC0EAIQJBACEFQQAhAwNAAkAgA0EITg0AIAYgA0EFahARQf8BcSIEQf8BRwRAQQEhBQsgBCADQQN0dCACciECIANBAWohAwwBCwsgACgCACAFRToAACAAKAIAKAIEIAE2AgAgACgCABAWAkAgACgCACAFIAIQICIBQQFGDQAgAUEDRwRAIAFBAkYEQCAFBEAgACgCACgCCCgCECACRw0DCwUMAgsLIAAoAgAoAgQtAAQaQQFBACAAKAIAKAIIKAIQIAAoAgAoAggoAgQQIQ8LQQBBAUEAQQAQIQsIACMDIAAQIgsWAEG4ASQAIwAkAUGAgIAIJAIQDCQDCwMAAQsLtwEEAEEICxcKAAAAdQBzAGUAIABzAHQAcgBpAGMAdABBIAsdDQAAAH4AbABpAGIALwBhAHIAcgBhAHkALgB0AHMAQcAACzkbAAAAfgBsAGkAYgAvAGkAbgB0AGUAcgBuAGEAbAAvAHQAeQBwAGUAZABhAHIAcgBhAHkALgB0AHMAQYABCzMYAAAAcwByAGMALwBsAHoAbQBhAC8AbAB6AG0AYQAtAGQAZQBjAG8AZABlAHIALgB0AHM=";return n(t)}function decodeLZMA(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(c){var p=Math.floor(this.offset/o);this.data[p]||(this.data[p]=new Uint8Array(o)),this.data[p][this.offset%o]=c,this.offset++}};n.decompressFile(r,s);for(var u=new Uint8Array(s.offset),l=0;l<s.offset;l++)u[l]=s.data[Math.floor(l/o)][l%o];e(null,u)}catch(c){e(c)}}function decodeLZMAWithWASM(n,t,e){var r=24;try{var o=new WebAssembly.Memory({initial:16}),s=new WebAssembly.Module(n),u=new WebAssembly.Instance(s,{env:{memory:o,abort:function(){e(new Error("webAssembly abort"))}}}),l=u.exports,c=l.newU8Array(t.length),p=new Uint8Array(o.buffer,c+r,t.length);p.set(t);var f=l.decode(c),d=new Uint32Array(o.buffer,f,4),h=d[0],m=d[2],g=d[3];h?e(null,new Uint8Array(o.buffer,g+r,m).slice(0,m)):e(new Error("lzma deocder error"))}catch(A){e(A)}}var lzmaWorkerSource=`
|
|
872
|
-
var decodeLZMA = (function() {
|
|
873
|
-
var LZMA = (`.concat(createLZMA.toString(),`)();
|
|
874
|
-
return function(data, callback) {
|
|
875
|
-
return (`).concat(decodeLZMA.toString(),`)(LZMA, data, callback);
|
|
876
|
-
}
|
|
877
|
-
})();
|
|
878
|
-
|
|
879
|
-
var decodeLZMAWithWASM = (function() {
|
|
880
|
-
var LZMA_WASM = (`).concat(createWASM.toString(),`)();
|
|
881
|
-
return function(data, callback) {
|
|
882
|
-
return (`).concat(decodeLZMAWithWASM.toString(),`)(LZMA_WASM, data, callback);
|
|
883
|
-
}
|
|
884
|
-
})();
|
|
885
|
-
|
|
886
|
-
self.onmessage = function(event) {
|
|
887
|
-
var packet = event.data;
|
|
888
|
-
if (!packet.id) {
|
|
889
|
-
postMessage({ id: packet.id, error: "No incoming id." });
|
|
890
|
-
return;
|
|
891
|
-
}
|
|
892
|
-
if (!packet.data) {
|
|
893
|
-
postMessage({ id: packet.id, error: "No input data." });
|
|
894
|
-
return;
|
|
895
|
-
}
|
|
896
|
-
if (packet.type == "decompress") {
|
|
897
|
-
if (packet.data.constructor !== Uint8Array) {
|
|
898
|
-
postMessage({ id: packet.id, error: "Input data is not Uint8Array." });
|
|
899
|
-
}
|
|
900
|
-
const callback = function(error, result) {
|
|
901
|
-
if (error) {
|
|
902
|
-
postMessage({ id: packet.id, error: error.toString() });
|
|
903
|
-
} else {
|
|
904
|
-
postMessage({ id: packet.id, result: result, error: null }, [ result.buffer ]);
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
if (typeof WebAssembly !== "undefined" && WebAssembly.instantiate) {
|
|
908
|
-
decodeLZMAWithWASM(packet.data, callback);
|
|
909
|
-
} else {
|
|
910
|
-
decodeLZMA(packet.data, callback);
|
|
911
|
-
}
|
|
912
|
-
return;
|
|
913
|
-
}
|
|
914
|
-
postMessage({ id: packet.id, error: "type never matched." });
|
|
915
|
-
};
|
|
916
|
-
`),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob)}catch(n){}var LZMAWorker=function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var o=r.data,s=o.id,u=o.result,l=o.error,c=t.getKey(s);t.requests[c]&&(l?t.requests[c](new Error(l)):t.requests[c](null,u),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n}();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(u){var l={data:n[u],offset:0,readByte:function(){return this.data[this.offset++]}},c=l.data.length,p={data:[],offset:0,writeByte:function(d){var h=Math.floor(this.offset/c);this.data[h]||(this.data[h]=new Uint8Array(c)),this.data[h][this.offset%c]=d,this.offset++}};LZMA.decompressFile(l,p),o=new Uint8Array(p.offset);for(var f=0;f<p.offset;f++)o[f]=p.data[Math.floor(f/c)][f%c];t.push(o)},o,s=0;s<e;s++)r(s);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(s){t.push(new Promise(function(u,l){var c=new LZMAWorker;c.decompress(n[s],function(p,f){if(c.terminate(),p)return l(p);u(f)})}))},o=0;o<e;o++)r(o);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],o=[],s=4+e*4,u=0;u<e;u++)o[u]=readUint32(t.slice(4+u*4,8+u*4)),u===e-1?r[u]=t.subarray(s,s+o[u]):r[u]=t.slice(s,s+o[u]),s+=o[u];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}var dequeuing=!1,queue=[];function dequeue(n){if(n===void 0&&(n=!1),!(!n&&dequeuing)){dequeuing=!0;var t=queue.shift();if(t){try{t()}catch(e){}AnimationFrameLoop.shared.add(function(){return dequeue(!0)},!0,2,-100)}else dequeuing=!1}}function delay(n){return new Promise(function(t,e){var r=function(){try{t(n())}catch(o){e(o)}};queue.push(r),AnimationFrameLoop.shared.add(function(){return dequeue()},!0,2,-100)})}function pick(n,t){for(var e={},r=0,o=t;r<o.length;r++){var s=o[r];s in n&&(e[s]=n[s])}return e}function omit(n,t){for(var e=__assign({},n),r=0,o=t;r<o.length;r++){var s=o[r];s in e&&delete e[s]}return e}var FACE_ORDER$1=["right","left","up","down","front","back"],TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var g={};typeof e.flipY!="undefined"&&(g.flipY=e.flipY),typeof e.format!="undefined"&&(g.format=e.format),typeof e.encoding!="undefined"&&(g.encoding=e.encoding),g.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,g.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,g.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;var A=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"};t=applyImageURLOptions(t,(h=e.imageURL)===null||h===void 0?void 0:h.transform,A);var E=getProtocol(t),v=(m=e.viaAjax)!==null&&m!==void 0?m:canUseNativeImageBitmap,y=isJsonpSource(t),b=/^https?:/.test(E);if(y?v=!0:b||(v=!1),v){var T=null,_="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:_},void 0,void 0,s).then(function(M){return createImageBitmapLike(M.body)}).then(function(M){return poolImageToTexture(M,e.maxSize)}).then(function(M){return Object.assign(M,g),M}).then(function(M){var H={meta:T,body:M};return r(H),H}).catch(function(M){return o(M),Promise.reject(M)})}else{var S=null,R;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(M){return R=M,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,s,M)}).then(function(M){return S=M.meta,poolImageToTexture(M.body,e.maxSize)}).then(function(M){return Object.assign(M,g),M}).then(function(M){var H={meta:S,body:M};return r(H),H}).catch(function(M){return R&&R.close(),o(M),Promise.reject(M)})}},n.prototype.loadCubeTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1);var g={};typeof e.format!="undefined"&&(g.format=e.format),g.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,g.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,g.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;for(var A=[t[FACE_ORDER$1[0]],t[FACE_ORDER$1[1]],t[FACE_ORDER$1[2]],t[FACE_ORDER$1[3]],t[FACE_ORDER$1[4]],t[FACE_ORDER$1[5]]],E=[],v=[0,0,0,0,0,0],y=[],b=function(_){var S=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"},R=applyImageURLOptions(A[_],(h=e.imageURL)===null||h===void 0?void 0:h.transform,__assign(__assign({},S),{key:S.key+"."+FACE_ORDER$1[_]})),M=getProtocol(R),H=function(N){v[_]=N,s(v.reduce(function(z,J){return z+J},0)/6)},B=(m=e.viaAjax)!==null&&m!==void 0?m:!1,C=/^https?:$/.test(M),w=isJsonpSource(R);if(w?B=!0:C||(B=!1),B){var I="blob",O=e.fetcher.ajax(R,{timeout:e.timeout,responseType:I},void 0,void 0,H).then(function(N){return y[_]=N.meta,createImageBitmapLike(N.body)});E.push(O)}else{var F,O=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(z){return F=z,e.fetcher.loadImage(R,{timeout:e.timeout},void 0,void 0,H,z)}).then(function(z){return y[_]=z.meta,z.body}).catch(function(z){return F&&F.close(),Promise.reject(z)});E.push(O)}},T=0;T<6;T++)b(T);return Promise.all(E).then(function(_){return poolImagesToCubeTexture(_)}).then(function(_){return Object.assign(_,__assign({encoding:THREE__namespace.sRGBEncoding},g)),_}).then(function(_){var S={body:_,meta:y};return r(S),S}).catch(function(_){for(var S=0,R=E;S<R.length;S++){var M=R[S];M.then(function(H){return H.close()}).catch(noop$1)}return o(_),Promise.reject(_)})},n}(),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(n,t){for(var e=new Array(arguments.length-1),r=0,o=2,s=!0;o<arguments.length;)e[r++]=arguments[o++];return new Promise(function(l,c){e[r]=function(f){if(s)if(s=!1,f)c(f);else{for(var d=new Array(arguments.length-1),h=0;h<d.length;)d[h++]=arguments[h];l.apply(null,d)}};try{n.apply(t||null,e)}catch(p){s&&(s=!1,c(p))}})}var base64$1={};(function(n){var t=n;t.length=function(l){var c=l.length;if(!c)return 0;for(var p=0;--c%4>1&&l.charAt(c)==="=";)++p;return Math.ceil(l.length*3)/4-p};for(var e=new Array(64),r=new Array(123),o=0;o<64;)r[e[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;t.encode=function(l,c,p){for(var f=null,d=[],h=0,m=0,g;c<p;){var A=l[c++];switch(m){case 0:d[h++]=e[A>>2],g=(A&3)<<4,m=1;break;case 1:d[h++]=e[g|A>>4],g=(A&15)<<2,m=2;break;case 2:d[h++]=e[g|A>>6],d[h++]=e[A&63],m=0;break}h>8191&&((f||(f=[])).push(String.fromCharCode.apply(String,d)),h=0)}return m&&(d[h++]=e[g],d[h++]=61,m===1&&(d[h++]=61)),f?(h&&f.push(String.fromCharCode.apply(String,d.slice(0,h))),f.join("")):String.fromCharCode.apply(String,d.slice(0,h))};var s="invalid encoding";t.decode=function(l,c,p){for(var f=p,d=0,h,m=0;m<l.length;){var g=l.charCodeAt(m++);if(g===61&&d>1)break;if((g=r[g])===void 0)throw Error(s);switch(d){case 0:h=g,d=1;break;case 1:c[p++]=h<<2|(g&48)>>4,h=g,d=2;break;case 2:c[p++]=(h&15)<<4|(g&60)>>2,h=g,d=3;break;case 3:c[p++]=(h&3)<<6|g,d=0;break}}if(d===1)throw Error(s);return p-f},t.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var r=this._listeners[t],o=0;o<r.length;)r[o].fn===e?r.splice(o,1):++o;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],o=1;o<arguments.length;)r.push(arguments[o++]);for(o=0;o<e.length;)e[o].fn.apply(e[o++].ctx,r)}return this};var float=factory(factory);function factory(n){return typeof Float32Array!="undefined"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),r=e[3]===128;function o(c,p,f){t[0]=c,p[f]=e[0],p[f+1]=e[1],p[f+2]=e[2],p[f+3]=e[3]}function s(c,p,f){t[0]=c,p[f]=e[3],p[f+1]=e[2],p[f+2]=e[1],p[f+3]=e[0]}n.writeFloatLE=r?o:s,n.writeFloatBE=r?s:o;function u(c,p){return e[0]=c[p],e[1]=c[p+1],e[2]=c[p+2],e[3]=c[p+3],t[0]}function l(c,p){return e[3]=c[p],e[2]=c[p+1],e[1]=c[p+2],e[0]=c[p+3],t[0]}n.readFloatLE=r?u:l,n.readFloatBE=r?l:u}():function(){function t(r,o,s,u){var l=o<0?1:0;if(l&&(o=-o),o===0)r(1/o>0?0:2147483648,s,u);else if(isNaN(o))r(2143289344,s,u);else if(o>34028234663852886e22)r((l<<31|2139095040)>>>0,s,u);else if(o<11754943508222875e-54)r((l<<31|Math.round(o/1401298464324817e-60))>>>0,s,u);else{var c=Math.floor(Math.log(o)/Math.LN2),p=Math.round(o*Math.pow(2,-c)*8388608)&8388607;r((l<<31|c+127<<23|p)>>>0,s,u)}}n.writeFloatLE=t.bind(null,writeUintLE),n.writeFloatBE=t.bind(null,writeUintBE);function e(r,o,s){var u=r(o,s),l=(u>>31)*2+1,c=u>>>23&255,p=u&8388607;return c===255?p?NaN:l*(1/0):c===0?l*1401298464324817e-60*p:l*Math.pow(2,c-150)*(p+8388608)}n.readFloatLE=e.bind(null,readUintLE),n.readFloatBE=e.bind(null,readUintBE)}(),typeof Float64Array!="undefined"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),r=e[7]===128;function o(c,p,f){t[0]=c,p[f]=e[0],p[f+1]=e[1],p[f+2]=e[2],p[f+3]=e[3],p[f+4]=e[4],p[f+5]=e[5],p[f+6]=e[6],p[f+7]=e[7]}function s(c,p,f){t[0]=c,p[f]=e[7],p[f+1]=e[6],p[f+2]=e[5],p[f+3]=e[4],p[f+4]=e[3],p[f+5]=e[2],p[f+6]=e[1],p[f+7]=e[0]}n.writeDoubleLE=r?o:s,n.writeDoubleBE=r?s:o;function u(c,p){return e[0]=c[p],e[1]=c[p+1],e[2]=c[p+2],e[3]=c[p+3],e[4]=c[p+4],e[5]=c[p+5],e[6]=c[p+6],e[7]=c[p+7],t[0]}function l(c,p){return e[7]=c[p],e[6]=c[p+1],e[5]=c[p+2],e[4]=c[p+3],e[3]=c[p+4],e[2]=c[p+5],e[1]=c[p+6],e[0]=c[p+7],t[0]}n.readDoubleLE=r?u:l,n.readDoubleBE=r?l:u}():function(){function t(r,o,s,u,l,c){var p=u<0?1:0;if(p&&(u=-u),u===0)r(0,l,c+o),r(1/u>0?0:2147483648,l,c+s);else if(isNaN(u))r(0,l,c+o),r(2146959360,l,c+s);else if(u>17976931348623157e292)r(0,l,c+o),r((p<<31|2146435072)>>>0,l,c+s);else{var f;if(u<22250738585072014e-324)f=u/5e-324,r(f>>>0,l,c+o),r((p<<31|f/4294967296)>>>0,l,c+s);else{var d=Math.floor(Math.log(u)/Math.LN2);d===1024&&(d=1023),f=u*Math.pow(2,-d),r(f*4503599627370496>>>0,l,c+o),r((p<<31|d+1023<<20|f*1048576&1048575)>>>0,l,c+s)}}}n.writeDoubleLE=t.bind(null,writeUintLE,0,4),n.writeDoubleBE=t.bind(null,writeUintBE,4,0);function e(r,o,s,u,l){var c=r(u,l+o),p=r(u,l+s),f=(p>>31)*2+1,d=p>>>20&2047,h=4294967296*(p&1048575)+c;return d===2047?h?NaN:f*(1/0):d===0?f*5e-324*h:f*Math.pow(2,d-1075)*(h+4503599627370496)}n.readDoubleLE=e.bind(null,readUintLE,0,4),n.readDoubleBE=e.bind(null,readUintBE,4,0)}(),n}function writeUintLE(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}function writeUintBE(n,t,e){t[e]=n>>>24,t[e+1]=n>>>16&255,t[e+2]=n>>>8&255,t[e+3]=n&255}function readUintLE(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function readUintBE(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}var utf8$2={};(function(n){var t=n;t.length=function(r){for(var o=0,s=0,u=0;u<r.length;++u)s=r.charCodeAt(u),s<128?o+=1:s<2048?o+=2:(s&64512)===55296&&(r.charCodeAt(u+1)&64512)===56320?(++u,o+=4):o+=3;return o},t.read=function(r,o,s){var u=s-o;if(u<1)return"";for(var l=null,c=[],p=0,f;o<s;)f=r[o++],f<128?c[p++]=f:f>191&&f<224?c[p++]=(f&31)<<6|r[o++]&63:f>239&&f<365?(f=((f&7)<<18|(r[o++]&63)<<12|(r[o++]&63)<<6|r[o++]&63)-65536,c[p++]=55296+(f>>10),c[p++]=56320+(f&1023)):c[p++]=(f&15)<<12|(r[o++]&63)<<6|r[o++]&63,p>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,c)),p=0);return l?(p&&l.push(String.fromCharCode.apply(String,c.slice(0,p))),l.join("")):String.fromCharCode.apply(String,c.slice(0,p))},t.write=function(r,o,s){for(var u=s,l,c,p=0;p<r.length;++p)l=r.charCodeAt(p),l<128?o[s++]=l:l<2048?(o[s++]=l>>6|192,o[s++]=l&63|128):(l&64512)===55296&&((c=r.charCodeAt(p+1))&64512)===56320?(l=65536+((l&1023)<<10)+(c&1023),++p,o[s++]=l>>18|240,o[s++]=l>>12&63|128,o[s++]=l>>6&63|128,o[s++]=l&63|128):(o[s++]=l>>12|224,o[s++]=l>>6&63|128,o[s++]=l&63|128);return s-u}})(utf8$2);var pool_1=pool;function pool(n,t,e){var r=e||8192,o=r>>>1,s=null,u=r;return function(c){if(c<1||c>o)return n(c);u+c>r&&(s=n(r),u=0);var p=t.call(s,u,u+=c);return u&7&&(u=(u|7)+1),p}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal();function t(s,u){this.lo=s>>>0,this.hi=u>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(u){if(u===0)return e;var l=u<0;l&&(u=-u);var c=u>>>0,p=(u-c)/4294967296>>>0;return l&&(p=~p>>>0,c=~c>>>0,++c>4294967295&&(c=0,++p>4294967295&&(p=0))),new t(c,p)},t.from=function(u){if(typeof u=="number")return t.fromNumber(u);if(n.isString(u))if(n.Long)u=n.Long.fromString(u);else return t.fromNumber(parseInt(u,10));return u.low||u.high?new t(u.low>>>0,u.high>>>0):e},t.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var l=~this.lo+1>>>0,c=~this.hi>>>0;return l||(c=c+1>>>0),-(l+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(u){return n.Long?new n.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var o=String.prototype.charCodeAt;return t.fromHash=function(u){return u===r?e:new t((o.call(u,0)|o.call(u,1)<<8|o.call(u,2)<<16|o.call(u,3)<<24)>>>0,(o.call(u,4)|o.call(u,5)<<8|o.call(u,6)<<16|o.call(u,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},t.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},t.prototype.length=function(){var u=this.lo,l=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?l===0?u<16384?u<128?1:2:u<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(n){var t=n;t.asPromise=aspromise,t.base64=base64$1,t.EventEmitter=eventemitter,t.float=float,t.inquire=inquire_1,t.utf8=utf8$2,t.pool=pool_1,t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||commonjsGlobal,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s},t.isString=function(s){return typeof s=="string"||s instanceof String},t.isObject=function(s){return s&&typeof s=="object"},t.isset=t.isSet=function(s,u){var l=s[u];return l!=null&&s.hasOwnProperty(u)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},t.Buffer=function(){try{var o=t.inquire("buffer").Buffer;return o.prototype.utf8Write?o:null}catch(s){return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(s){return typeof s=="number"?t.Buffer?t._Buffer_allocUnsafe(s):new t.Array(s):t.Buffer?t._Buffer_from(s):typeof Uint8Array=="undefined"?s:new Uint8Array(s)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(s){return s?t.LongBits.from(s).toHash():t.LongBits.zeroHash},t.longFromHash=function(s,u){var l=t.LongBits.fromHash(s);return t.Long?t.Long.fromBits(l.lo,l.hi,u):l.toNumber(!!u)};function e(o,s,u){for(var l=Object.keys(s),c=0;c<l.length;++c)(o[l[c]]===void 0||!u)&&(o[l[c]]=s[l[c]]);return o}t.merge=e,t.lcFirst=function(s){return s.charAt(0).toLowerCase()+s.substring(1)};function r(o){function s(u,l){if(!(this instanceof s))return new s(u,l);Object.defineProperty(this,"message",{get:function(){return u}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&e(this,l)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return o},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(s){for(var u={},l=0;l<s.length;++l)u[s[l]]=1;return function(){for(var c=Object.keys(this),p=c.length-1;p>-1;--p)if(u[c[p]]===1&&this[c[p]]!==void 0&&this[c[p]]!==null)return c[p]}},t.oneOfSetter=function(s){return function(u){for(var l=0;l<s.length;++l)s[l]!==u&&delete this[s[l]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var o=t.Buffer;if(!o){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=o.from!==Uint8Array.from&&o.from||function(u,l){return new o(u,l)},t._Buffer_allocUnsafe=o.allocUnsafe||function(u){return new o(u)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(n,t,e){this.fn=n,this.len=t,this.next=void 0,this.val=e}function noop(){}function State(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function n(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1(),Writer$1.alloc=function n(t){return new util$4.Array(t)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function n(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this};function writeByte(n,t,e){t[e]=n&255}function writeVarint32(n,t,e){for(;n>127;)t[e++]=n&127|128,n>>>=7;t[e]=n}function VarintOp(n,t){this.len=n,this.next=void 0,this.val=t}VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer$1.prototype.uint32=function n(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer$1.prototype.int32=function n(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer$1.prototype.sint32=function n(t){return this.uint32((t<<1^t>>31)>>>0)};function writeVarint64(n,t,e){for(;n.hi;)t[e++]=n.lo&127|128,n.lo=(n.lo>>>7|n.hi<<25)>>>0,n.hi>>>=7;for(;n.lo>127;)t[e++]=n.lo&127|128,n.lo=n.lo>>>7;t[e++]=n.lo}Writer$1.prototype.uint64=function n(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function n(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer$1.prototype.bool=function n(t){return this._push(writeByte,1,t?1:0)};function writeFixed32(n,t,e){t[e]=n&255,t[e+1]=n>>>8&255,t[e+2]=n>>>16&255,t[e+3]=n>>>24}Writer$1.prototype.fixed32=function n(t){return this._push(writeFixed32,4,t>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function n(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function n(t){return this._push(util$4.float.writeFloatLE,4,t)},Writer$1.prototype.double=function n(t){return this._push(util$4.float.writeDoubleLE,8,t)};var writeBytes=util$4.Array.prototype.set?function n(t,e,r){e.set(t,r)}:function n(t,e,r){for(var o=0;o<t.length;++o)e[r+o]=t[o]};Writer$1.prototype.bytes=function n(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(util$4.isString(t)){var r=Writer$1.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer$1.prototype.string=function n(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer$1.prototype.fork=function n(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer$1.prototype.reset=function n(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer$1.prototype.ldelim=function n(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer$1.prototype.finish=function n(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer$1._configure=function(n){BufferWriter$1=n,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var o=0;o<t.length;)e[r++]=t[o++]}},BufferWriter.prototype.bytes=function n(t){util$3.isString(t)&&(t=util$3._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this};function writeStringBuffer(n,t,e){n.length<40?util$3.utf8.write(n,t,e):t.utf8Write?t.utf8Write(n,e):t.write(n,e)}BufferWriter.prototype.string=function n(t){var e=util$3.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function Reader$1(n){this.buf=n,this.pos=0,this.len=n.length}var create_array=typeof Uint8Array!="undefined"?function n(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")}:function n(t){if(Array.isArray(t))return new Reader$1(t);throw Error("illegal buffer")},create=function n(){return util$2.Buffer?function(e){return(Reader$1.create=function(o){return util$2.Buffer.isBuffer(o)?new BufferReader$1(o):create_array(o)})(e)}:create_array};Reader$1.create=create(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=function n(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return t}}(),Reader$1.prototype.int32=function n(){return this.uint32()|0},Reader$1.prototype.sint32=function n(){var t=this.uint32();return t>>>1^-(t&1)|0};function readLongVarint(){var n=new LongBits(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function n(){return this.uint32()!==0};function readFixed32_end(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}Reader$1.prototype.fixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function n(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader$1.prototype.double=function n(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader$1.prototype.bytes=function n(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,r);if(e===r){var o=util$2.Buffer;return o?o.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,r)},Reader$1.prototype.string=function n(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader$1.prototype.skip=function n(t){if(typeof t=="number"){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this},Reader$1.prototype.skipType=function(n){switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this},Reader$1._configure=function(n){BufferReader$1=n,Reader$1.create=create(),BufferReader$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(n){Reader.call(this,n)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader.prototype.string=function n(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(n,t,e){if(typeof n!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!e}Service.prototype.rpcCall=function n(t,e,r,o,s){if(!o)throw TypeError("request must be specified");var u=this;if(!s)return util.asPromise(n,u,t,e,r,o);if(!u.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return u.rpcImpl(t,e[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(c,p){if(c)return u.emit("error",c,t),s(c);if(p===null){u.end(!0);return}if(!(p instanceof r))try{p=r[u.responseDelimited?"decodeDelimited":"decode"](p)}catch(f){return u.emit("error",f,t),s(f)}return u.emit("data",p,t),s(null,p)})}catch(l){u.emit("error",l,t),setTimeout(function(){s(l)},0);return}},Service.prototype.end=function n(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},function(n){var t=n;t.Service=service}(rpc);var roots={};(function(n){var t=n;t.build="minimal",t.Writer=writer,t.BufferWriter=writer_buffer,t.Reader=reader,t.BufferReader=reader_buffer,t.util=requireMinimal(),t.rpc=rpc,t.roots=roots,t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal);var minimal=indexMinimal;const $Reader$1=minimal.Reader,$util$1=minimal.util,$root$1=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{s.createAt=e.uint64();break}case 3:{s.description=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{s.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{s.name=e.string();break}case 4:{s.texture=e.string();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:s});if(!s.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:s});if(!s.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Vertices;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.xyz&&s.xyz.length||(s.xyz=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.xyz.push(e.float())}else s.xyz.push(e.float());break}case 2:{if(s.uvs&&s.uvs.length||(s.uvs=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.uvs.push(e.float())}else s.uvs.push(e.float());break}case 3:{if(s.marks&&s.marks.length||(s.marks=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.marks.push(e.int32())}else s.marks.push(e.int32());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r){e instanceof $Reader$1||(e=$Reader$1.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root$1.Faces;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.indices&&s.indices.length||(s.indices=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.indices.push(e.uint32())}else s.indices.push(e.uint32());break}case 2:{if(s.normals&&s.normals.length||(s.normals=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.normals.push(e.float())}else s.normals.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function loadPbm(n,t){var e,r,o,s,u;t===void 0&&(t={});var l=(e=t.upAxis)!==null&&e!==void 0?e:"Z",c=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),p={byteLength:0},f=autoRestImageOptionsByTextureLength((o=t.textureOptions)!==null&&o!==void 0?o:{},(u=(s=t.textureArray)===null||s===void 0?void 0:s.length)!==null&&u!==void 0?u:0),d={};if(t.textureArray)for(var h=0,m=t.textureArray;h<m.length;h++){var g=m[h];d[g]=loadTexture$1(g,f,c)}return Promise.resolve().then(function(){return c.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return p.byteLength=A.body.byteLength,delay(function(){var E=new Uint8Array(A.body);return Model$2.decode(E)})}).then(function(A){return delay(function(){var E,v,y;return parse$4(A,(E=t.light)!==null&&E!==void 0?E:!1,(v=t.textureBaseUri)!==null&&v!==void 0?v:function(){var b=n.lastIndexOf("/");if(b>=0){var T=n.slice(0,b)+"/";return/\/model\/$/.test(T)&&(T=T.replace(/\/model\/$/,"/materials/")),T}return""}(),((y=t.textureArray)!==null&&y!==void 0?y:[]).slice(),f,d,c)})}).then(function(A){var E=new THREE__namespace.Group;E.name=n;for(var v=0,y=A.objects;v<y.length;v++){var b=y[v];E.add(b)}return l==="Y"&&E.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"pbm",modelUpAxis:"Z",upAxis:l,uri:n,byteLength:p.byteLength,memoryUsage:getMemoryUsage(E),scene:E,textures:A.textures,animations:[],dispose:function(){return A.dispose()}}})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,o=typeof n.createAt=="number"?n.createAt:0,s=(t=n.description)!==null&&t!==void 0?t:"",u=[],l=!0,c=!0,p=0,f=n.chunks;p<f.length;p++){var d=f[p];if(!d.vertices.marks||d.vertices.marks.length===0){c=!1;break}}for(var h=0,m=n.chunks;h<m.length;h++){var d=m[h];if(!d.faces.normals||d.faces.normals.length===0){l=!1;break}}for(var g=n.chunks.sort(function(ie,fe){return chunkOrder(ie)-chunkOrder(fe)}),A=[],E=0,v=g;E<v.length;E++){var d=v[E],y=parseFloorName(d.name);A[y]||(A[y]=[]),A[y].push(d)}for(var b=0;b<A.length;b++){var T=A[b];if(T)if(l){for(var _=0,S=0;S<T.length;S++){var d=T[S];_+=d.faces.indices.length}for(var R=new Float32Array(_*3),M=new Float32Array(_*2),H=new Float32Array(_*3),B=c?new Float32Array(_):void 0,C=[],w=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,z=d.vertices.uvs,J=d.faces.indices,G=d.faces.normals,Q=d.vertices.marks,U=J.length,S=0;S<U;S++){var V=J[S],X=R[I*3+S*3]=N[V*3],Z=R[I*3+S*3+1]=N[V*3+1],ee=R[I*3+S*3+2]=N[V*3+2];B&&(B[I+S]=Q[V]),M[I*2+S*2]=z[V*2],M[I*2+S*2+1]=z[V*2+1];var K=Math.floor(S/3)*3;H[I*3+S*3]=G[K],H[I*3+S*3+1]=G[K+1],H[I*3+S*3+2]=G[K+2],X<F[0]&&(F[0]=X),Z<F[1]&&(F[1]=Z),ee<F[2]&&(F[2]=ee),X>F[3]&&(F[3]=X),Z>F[4]&&(F[4]=Z),ee>F[5]&&(F[5]=ee)}F[0]<w[0]&&(w[0]=F[0]),F[1]<w[1]&&(w[1]=F[1]),F[2]<w[2]&&(w[2]=F[2]),F[3]>w[3]&&(w[3]=F[3]),F[4]>w[4]&&(w[4]=F[4]),F[5]>w[5]&&(w[5]=F[5]),C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:I,count:d.faces.indices.length,texture:(e=d.texture)!==null&&e!==void 0?e:void 0}),I+=U}var re={createAt:o,description:s,vertices:R,uvs:M,normals:H,masks:B,indices:null,floorIndex:b,groups:C,extents:w};u.push(re)}else{for(var _=0,Y=0,S=0;S<T.length;S++){var d=T[S];Y+=d.vertices.xyz.length/3,_+=d.faces.indices.length}for(var R=new Float32Array(Y*3),M=new Float32Array(Y*2),H=void 0,W=new Float32Array(Y),le=new Uint32Array(_),B=c?new Float32Array(_):void 0,C=[],w=[1/0,1/0,1/0,-1/0,-1/0,-1/0],oe=0,I=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,ae=d.vertices.marks,z=d.vertices.uvs,J=d.faces.indices,se=N.length/3,U=J.length,S=0;S<se;S++){var X=R[I*3+S*3]=N[S*3],Z=R[I*3+S*3+1]=N[S*3+1],ee=R[I*3+S*3+2]=N[S*3+2];B&&(B[I+S]=ae[S]),M[I*2+S*2]=z[S*2],M[I*2+S*2+1]=z[S*2+1],W[I+S]=b,X<F[0]&&(F[0]=X),Z<F[1]&&(F[1]=Z),ee<F[2]&&(F[2]=ee),X>F[3]&&(F[3]=X),Z>F[4]&&(F[4]=Z),ee>F[5]&&(F[5]=ee)}F[0]<w[0]&&(w[0]=F[0]),F[1]<w[1]&&(w[1]=F[1]),F[2]<w[2]&&(w[2]=F[2]),F[3]>w[3]&&(w[3]=F[3]),F[4]>w[4]&&(w[4]=F[4]),F[5]>w[5]&&(w[5]=F[5]);for(var S=0;S<U;S++)le[oe+S]=I+J[S];C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:oe,count:d.faces.indices.length,texture:(r=d.texture)!==null&&r!==void 0?r:void 0}),I+=se,oe+=U}var re={createAt:o,description:s,vertices:R,uvs:M,normals:H,masks:B,indices:le,floorIndex:b,groups:C,extents:w};u.push(re)}}return u}function loadTexture$1(n,t,e){var r=__assign({key:"texture.pbm"},pick(t,["format","quality","size","sharpen","mappings"])),o=new TextureLoader,s=o.loadTexture(n,{imageURL:{transform:t.transform,options:r},encoding:THREE__namespace.sRGBEncoding,wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof r.size=="number"?new THREE__namespace.Vector2(r.size,r.size):void 0,fetcher:e}).then(function(u){var l=u.body;return l.needsUpdate=!0,l});return Object.assign(s,{url:n,textureOptions:t})}function parse$4(n,t,e,r,o,s,u){s===void 0&&(s={});for(var l=parsePBMModel(n),c=0,p="",f=[],d={},h=new Set,m=0,g=0,A=l;g<A.length;g++){var E=A[g],v=E.createAt,y=E.description,b=E.vertices,T=E.masks,_=E.uvs,S=E.normals,R=E.indices,M=E.floorIndex,H=E.groups,B=E.extents,C=new THREE__namespace.Box3;C.min.x=B[0],C.min.y=B[1],C.min.z=B[2],C.max.x=B[3],C.max.y=B[4],C.max.z=B[5];var w=new THREE__namespace.BufferGeometry;w.setAttribute("position",new THREE__namespace.BufferAttribute(b,3)),w.setAttribute("uv",new THREE__namespace.BufferAttribute(_,2)),S&&w.setAttribute("normal",new THREE__namespace.BufferAttribute(S,3)),T&&w.setAttribute("_feature_id_rsmask",new THREE__namespace.BufferAttribute(T,1)),R&&w.setIndex(new THREE__namespace.BufferAttribute(R,1)),w.boundingBox=C,w.boundingSphere=C.getBoundingSphere(new THREE__namespace.Sphere);for(var I=0,O=H;I<O.length;I++){var F=O[I];w.addGroup(F.start,F.count,F.materialIndex)}h.add(w);for(var N=[],z=0,J=H;z<J.length;z++){var F=J[z],G=r[F.chunkName]||(F.texture?pathJoin(e||"",F.texture):void 0),Q=new PBMMeshMaterial(t?"phong":"basic");Q.floorIndex=M,w.attributes.normal===void 0&&(Q.flatShading=!0),w.attributes._feature_id_rsmask&&(Q.defines.USE_VERTEX_MARK=!0),N.push(Q),G?(m++,d[G]?d[G].push(Q):d[G]=[Q]):Q.color=new THREE__namespace.Color(16777215),h.add(Q)}var U=new PBMMesh(w,N);U.name="model_floor_"+M,U.userData.createAt=v,U.userData.description=y,U.matrix.compose(U.position,U.quaternion,U.scale),U.matrixAutoUpdate=!1,U.frustumCulled=!1,c=v,p=y,f.push(U)}var V=function(X){X=autoRestImageOptionsByTextureLength(X,m);for(var Z=[],ee=function(W){var le=null;W in s&&(le=s[W]),le||(le=loadTexture$1(W,X,u)),Z.push(le.then(function(oe){for(var ae=0,se=d[W];ae<se.length;ae++){var ie=se[ae];ie.map&&(h.delete(ie.map),ie.map.dispose()),ie.map=oe,h.add(oe)}return oe}).catch(function(){for(var oe=0,ae=d[W];oe<ae.length;oe++){var se=ae[oe];se.map&&(h.delete(se.map),se.map.dispose()),se.map=null,se.color=new THREE__namespace.Color(16777215)}return null}))},K=0,re=Object.keys(d);K<re.length;K++){var Y=re[K];ee(Y)}for(var Y in s)delete s[Y];return Promise.all(Z).then(function(W){return W.filter(function(le){return le})})};return V(o).then(function(X){return{createAt:c,description:p,objects:f,textures:X,dispose:function(){h.forEach(function(Z){Z.dispose()}),h.clear()}}})}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function loadAt3d(n,t){var e,r,o,s,u;t===void 0&&(t={});var l=(e=t.upAxis)!==null&&e!==void 0?e:"Z",c=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),p={byteLength:0},f=autoRestImageOptionsByTextureLength((o=t.textureOptions)!==null&&o!==void 0?o:{},(u=(s=t.textureArray)===null||s===void 0?void 0:s.length)!==null&&u!==void 0?u:0),d={};if(t.textureArray)for(var h=0,m=t.textureArray;h<m.length;h++){var g=m[h];d[g]=loadTexture$1(g,f,c)}return Promise.resolve().then(function(){return c.ajax(n,{responseType:"arraybuffer"})}).then(function(A){return lzma(A.body)}).then(function(A){return delay(function(){for(var E,v={chunks:[],createAt:void 0,description:void 0},y=0,b=A;y<b.length;y++){var T=b[y],_=Model$2.decode(T);_.chunks.length&&((E=v.chunks).push.apply(E,_.chunks),v.createAt=_.createAt,v.description=_.description)}return v})}).then(function(A){return delay(function(){var E,v,y,b;return parse$4(A,(E=t.light)!==null&&E!==void 0?E:!1,(v=t.textureBaseUri)!==null&&v!==void 0?v:function(){var T=n.lastIndexOf("/");if(T>=0){var _=n.slice(0,T)+"/";return/\/model\/$/.test(_)&&(_=_.replace(/\/model\/$/,"/materials/")),_}return""}(),((y=t.textureArray)!==null&&y!==void 0?y:[]).slice(),(b=t.textureOptions)!==null&&b!==void 0?b:{},d,c)})}).then(function(A){var E=new THREE__namespace.Group;E.name=n;for(var v=0,y=A.objects;v<y.length;v++){var b=y[v];E.add(b)}return l==="Y"&&E.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"at3d",modelUpAxis:"Z",upAxis:l,uri:n,byteLength:p.byteLength,memoryUsage:getMemoryUsage(E),scene:E,textures:A.textures,animations:[],dispose:function(){return A.dispose()}}})}const $Reader=minimal.Reader,$util=minimal.util,$root=minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]||(minimal.roots["@REALSEE/FIVE:five/loaders/model/parsers/protobuf/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Model;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.meshes&&s.meshes.length||(s.meshes=[]),s.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Mesh;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.name=e.string();break}case 2:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{s.matrix&&s.matrix.length||(s.matrix=[]),s.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})(),$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Matrix;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.elements&&s.elements.length||(s.elements=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.elements.push(e.float())}else s.elements.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})(),$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Chunk;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 2:{s.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{s.material&&s.material.length||(s.material=[]),s.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Geometry;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.position=$root.Position.decode(e,e.uint32());break}case 2:{s.uv=$root.UV.decode(e,e.uint32());break}case 3:{s.uv2=$root.UV.decode(e,e.uint32());break}case 4:{s.normal=$root.Normal.decode(e,e.uint32());break}case 5:{s.groups&&s.groups.length||(s.groups=[]),s.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:s});if(!s.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})(),$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Position;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})(),$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.UV;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})(),$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Normal;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})(),$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Group;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.start=e.uint32();break}case 2:{s.count=e.uint32();break}case 3:{s.materialIndex=e.uint32();break}default:e.skipType(u&7);break}}if(!s.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:s});if(!s.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:s});if(!s.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})(),$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Material;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{s.kd=$root.Color.decode(e,e.uint32());break}case 2:{s.ks=$root.Color.decode(e,e.uint32());break}case 3:{s.ke=$root.Color.decode(e,e.uint32());break}case 4:{s.mapkd=e.string();break}case 5:{s.mapks=e.string();break}case 6:{s.mapke=e.string();break}case 7:{s.norm=e.string();break}case 8:{s.mapbump=e.string();break}case 9:{s.bump=e.string();break}case 10:{s.mapd=e.string();break}case 11:{s.ns=e.float();break}case 12:{s.d=e.float();break}case 13:{s.tr=e.float();break}case 14:{s.mapkdrepeat=e.string();break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})(),$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r){e instanceof $Reader||(e=$Reader.create(e));let o=r===void 0?e.len:e.pos+r,s=new $root.Color;for(;e.pos<o;){let u=e.uint32();switch(u>>>3){case 1:{if(s.rgb&&s.rgb.length||(s.rgb=[]),(u&7)===2){let l=e.uint32()+e.pos;for(;e.pos<l;)s.rgb.push(e.float())}else s.rgb.push(e.float());break}default:e.skipType(u&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function loadDome(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"})}).then(function(l){var c,p;return u.byteLength=l.body.byteLength,parse$3(new Uint8Array(l.body),(c=t.light)!==null&&c!==void 0?c:!0,t.textureBaseUri||"",(p=t.textureOptions)!==null&&p!==void 0?p:{},s)}).then(function(l){var c=new THREE__namespace.Group;c.matrixAutoUpdate=!1,o==="Z"&&c.applyMatrix4(ROTATE_X_MATRIX),c.matrix.compose(c.position,c.quaternion,c.scale),c.name=n;for(var p=0,f=l.objects;p<f.length;p++){var d=f[p];c.add(d)}return{type:"dome",modelUpAxis:"Y",upAxis:o,uri:n,byteLength:u.byteLength,memoryUsage:getMemoryUsage(c),scene:c,textures:l.textures,animations:[],dispose:function(){return l.dispose()}}})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,o=n.uv2,s=n.groups,u=new THREE__namespace.BufferGeometry;u.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&u.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&u.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),o&&u.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=s;l<c.length;l++){var p=c[l];u.addGroup(p.start,p.count,p.materialIndex)}return u}function loadTexture(n,t,e,r,o,s,u){if(u.hasOwnProperty(n))return u[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var l=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","mappings"])),c=u[n]=o.loadTexture(n,{imageURL:{transform:e.transform,options:l},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:s}).then(function(p){var f=p.body;return r&&f.repeat.copy(r),f.needsUpdate=!0,f.updateMatrix(),f});return c}function parseMaterial(n,t,e,r,o,s,u,l,c){var p=[],f=new PBMMeshMaterial(t?"phong":"basic");if(l.add(f),n.kd&&(f.color=new THREE__namespace.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var d=null;if(n.mapkdrepeat){var h=n.mapkdrepeat.split(/\s+/).map(function(E){return Number(E)}),m=h[0],g=h[1];d=new THREE__namespace.Vector2(m,g)}p.push(loadTexture(n.mapkd,e,r,d,o,s,u).then(function(E){E.encoding=THREE__namespace.sRGBEncoding,f.map=E,l.add(E),c.add(E),f.needsUpdate=!0}).catch(noop$1))}if(n.ks&&(f.specular=new THREE__namespace.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&p.push(loadTexture(n.mapks,e,r,null,o,s,u).then(function(E){f.specularMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.ke&&(f.emissive=new THREE__namespace.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&p.push(loadTexture(n.mapke,e,r,null,o,s,u).then(function(E){E.encoding=THREE__namespace.sRGBEncoding,f.emissiveMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.norm&&p.push(loadTexture(n.norm,e,r,null,o,s,u).then(function(E){f.normalMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.mapbump&&p.push(loadTexture(n.mapbump,e,r,null,o,s,u).then(function(E){f.bumpMap=E,l.add(E),c.add(E)}).catch(noop$1)),n.bump&&p.push(loadTexture(n.bump,e,r,null,o,s,u).then(function(E){f.bumpMap=E,l.add(E),c.add(E)}).catch(noop$1)),typeof n.ns=="number"&&(f.shininess=n.ns),typeof n.d=="number"){var A=n.d;A>0&&A<1&&(f.opacity=A)}return f.floorIndex=0,{material:f,textureReady:Promise.all(p).then(noop$1)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$3(n,t,e,r,o){for(var s=[],u=[],l=new Set,c=fromProtoBuf(n),p=new TextureLoader,f=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,h=new THREE__namespace.Quaternion,m=new THREE__namespace.Vector3,g={},A=new Set,E=0,v=c;E<v.length;E++){var y=v[E],b=y.name,T=y.chunks,_=y.matrix;if(!(b==="Ceiling"||b==="CeilingDrop"))for(var S=0,R=_;S<R.length;S++){var M=R[S];f.elements=M.elements;for(var H=new THREE__namespace.Group,B=0;B<T.length;B++){var C=parseGeometry(T[B].geometry);C.applyMatrix4(f),f.decompose(d,h,m),m.x*m.y*m.z<0&&C.attributes.normal&&C.attributes.position&&C.attributes.uv&&flipBufferGeometryNormals(C),l.add(C);for(var w=[],I=0,O=T[B].material;I<O.length;I++){var F=O[I],N=parseMaterial(F,t,e||"",r,p,o,g,l,A),z=N.material,J=N.textureReady;u.push(J),w.push(z)}var G=new PBMMesh(C,w);G.name="chunk_"+B,G.matrix.compose(G.position,G.quaternion,G.scale),G.matrixAutoUpdate=!1,G.frustumCulled=!1,H.add(G)}H.name=b,s.push(H)}}return Promise.all(u).catch(noop$1).then(function(){return{createAt:0,description:"",objects:s,textures:Array.from(A),dispose:function(){l.forEach(function(Q){Q.dispose()}),l.clear()}}})}function loadDomez(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"})}).then(function(l){return u.byteLength=l.body.byteLength,lzma(l.body)}).then(function(l){var c=l.reduce(function(d,h){return d+h.length},0),p=new Uint8Array(c),f=0;return l.forEach(function(d){p.set(d,f),f+=d.length}),p}).then(function(l){var c,p;return parse$3(l,(c=t.light)!==null&&c!==void 0?c:!0,t.textureBaseUri||"",(p=t.textureOptions)!==null&&p!==void 0?p:{},s)}).then(function(l){var c=new THREE__namespace.Group;c.matrixAutoUpdate=!1,o==="Z"&&c.applyMatrix4(ROTATE_X_MATRIX),c.matrix.compose(c.position,c.quaternion,c.scale),c.name=n;for(var p=0,f=l.objects;p<f.length;p++){var d=f[p];c.add(d)}return{type:"domez",modelUpAxis:"Y",upAxis:"Z",uri:n,byteLength:u.byteLength,memoryUsage:getMemoryUsage(c),scene:c,textures:l.textures,animations:[],dispose:function(){return l.dispose()}}})}function loadGltf(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Y",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c=0;return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"}).then(function(p){return c=p.body.byteLength,p.body})}).then(function(p){var f;return parseGltf(p,{copyUV2:!1,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(f=n.split("?")[1])!==null&&f!==void 0?f:"",jsonModify:function(d){var h;if(d.extensionsUsed=(h=d.extensionsUsed)!==null&&h!==void 0?h:[],typeof t.light=="boolean"){var m="KHR_materials_unlit";if(t.light){var g=d.extensionsUsed.indexOf(m);g>=0&&d.extensionsUsed.splice(g,1)}else{var g=d.extensionsUsed.indexOf(m);g===-1&&d.extensionsUsed.push(m)}}{var m="PBM_mesh",g=d.extensionsUsed.indexOf(m);g===-1&&d.extensionsUsed.push(m)}return d},fetcher:l})}).then(function(p){var f,d=new THREE__namespace.Matrix4;if(s==="Y"&&d.premultiply(ROTATE_X_MATRIX),p.CESIUM_RTC){var h=new THREE__namespace.Matrix4().setPosition(p.CESIUM_RTC.center);d.premultiply(h)}return u==="Y"&&d.premultiply(ROTATE_X_MATRIX_INVERSE),p.scene.applyMatrix4(d),{type:"gltf",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(p.scene),scene:p.scene,textures:p.textures,animations:p.animations,rtcCenter:(f=p.CESIUM_RTC)===null||f===void 0?void 0:f.center,dispose:function(){return p.dispose()}}})}var scratchColor=new THREE__namespace.Color;function loadPly(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Z",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c=0;return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"}).then(function(p){return c=p.body.byteLength,p.body})}).then(function(p){var f,d;return parsePly(p,{propertyNameMapping:(f=t.propertyNameMapping)!==null&&f!==void 0?f:{},customPropertyMapping:(d=t.customPropertyMapping)!==null&&d!==void 0?d:{}})}).then(function(p){var f=p.geometry;switch(t.type){case"geometry":{var d=f;return s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getGeometryMemoryUsed(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose()}}}case"line":{var h="color"in f.attributes,m=new THREE__namespace.LineBasicMaterial({vertexColors:h}),d=new THREE__namespace.Line(f,m);return d.computeLineDistances(),s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose(),m.dispose()}}}case"pbmMesh":{var g=new PBMMeshMaterial(t.light?"phong":"basic");g.vertexColors="color"in f.attributes;var d=new THREE__namespace.Mesh(f,g);return s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose(),g.dispose()}}}case"pbmPointCloud":{var A=new PBMPointCloudMaterial,d=new PBMPointCloud(f,A);return s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose(),A.dispose()}}}}throw new Error("Invalid Type: ".concat(t.type))})}function parsePly(n,t){var e=new Uint8Array(n),r=extractHeaderText(e),o=r.headerText,s=r.headerLength,u=parseHeader(o,s,t);if(u.format==="ascii"){var l=new TextDecoder().decode(e);return{header:u,geometry:parseASCII(l,u,t)}}else return{header:u,geometry:parseBinary(n,u,t)}}function makePlyElementProperty(n,t){var e={name:"",type:n[0]};return e.type==="list"?(e.name=n[3],e.countType=n[1],e.itemType=n[2]):e.name=n[1],e.name in t.propertyNameMapping&&(e.name=t.propertyNameMapping[e.name]),e}function parseHeader(n,t,e){t===void 0&&(t=0);var r=/^ply([\s\S]*)end_header(\r\n|\r|\n)/,o="",s=r.exec(n);s!==null&&(o=s[1]);for(var u={format:"",version:"",comments:[],elements:[],headerLength:t,objInfo:""},l=o.split(/\r\n|\r|\n/),c=null,p=0;p<l.length;p++){var f=l[p];if(f=f.trim(),f!==""){var d=f.split(/\s+/),h=d.shift();switch(f=d.join(" "),h){case"format":u.format=d[0],u.version=d[1];break;case"comment":u.comments.push(f);break;case"element":c&&u.elements.push(c),c={name:d[0],count:parseInt(d[1]),properties:[]};break;case"property":c&&c.properties.push(makePlyElementProperty(d,e));break;case"obj_info":u.objInfo=f;break;default:console.log("unhandled",h,d)}}}return c&&u.elements.push(c),u}function parseASCIINumber(n,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(n);case"float":case"double":case"float32":case"float64":return parseFloat(n);default:throw new Error("unspport type: "+t)}}function parseASCIIElement(n,t){for(var e={},r=0;r<n.length;r++){if(t.empty())return null;if(n[r].type==="list"){for(var o=[],s=parseASCIINumber(t.next(),n[r].countType),u=0;u<s;u++){if(t.empty())return null;o.push(parseASCIINumber(t.next(),n[r].itemType))}e[n[r].name]=o}else e[n[r].name]=parseASCIINumber(t.next(),n[r].type)}return e}function createBuffer(n){for(var t={indices:[],vertices:[],normals:[],uvs:[],faceVertexUvs:[],colors:[],faceVertexColors:[]},e=0,r=Object.keys(n.customPropertyMapping);e<r.length;e++){var o=r[e];t[o]=[]}return t}function mapElementAttributes(n){var t=n.map(function(r){return r.name});function e(r){for(var o=0,s=r.length;o<s;o++){var u=r[o];if(t.includes(u))return u}return null}return{attrX:e(["x","px","posx"])||"x",attrY:e(["y","py","posy"])||"y",attrZ:e(["z","pz","posz"])||"z",attrNX:e(["nx","normalx"]),attrNY:e(["ny","normaly"]),attrNZ:e(["nz","normalz"]),attrS:e(["s","u","texture_u","tx"]),attrT:e(["t","v","texture_v","ty"]),attrR:e(["red","diffuse_red","r","diffuse_r"]),attrG:e(["green","diffuse_green","g","diffuse_g"]),attrB:e(["blue","diffuse_blue","b","diffuse_b"])}}function parseASCII(n,t,e){var r=createBuffer(e),o=/end_header\s+(\S[\s\S]*\S|\S)\s*$/,s,u=null;(u=o.exec(n))!==null?s=u[1].split(/\s+/):s=[];var l=new ArrayStream(s);e:for(var c=0;c<t.elements.length;c++)for(var p=t.elements[c],f=mapElementAttributes(p.properties),d=0;d<p.count;d++){var h=parseASCIIElement(p.properties,l);if(!h)break e;handleElement(r,p.name,h,f,e)}return postProcess(r,e)}function postProcess(n,t){var e=new THREE__namespace.BufferGeometry;n.indices.length>0&&e.setIndex(n.indices),e.setAttribute("position",new THREE__namespace.Float32BufferAttribute(n.vertices,3)),n.normals.length>0&&e.setAttribute("normal",new THREE__namespace.Float32BufferAttribute(n.normals,3)),n.uvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.uvs,2)),n.colors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.colors,3)),(n.faceVertexUvs.length>0||n.faceVertexColors.length>0)&&(e=e.toNonIndexed(),n.faceVertexUvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.faceVertexUvs,2)),n.faceVertexColors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.faceVertexColors,3)));for(var r=0,o=Object.keys(t.customPropertyMapping);r<o.length;r++){var s=o[r];if(n[s].length>0){var u=t.customPropertyMapping[s],l=u.itemType,c=u.itemNames,p=u.normalized,f=c.length,d=void 0;switch(l){case"float32":d=new THREE__namespace.Float32BufferAttribute(n[s],f,p);break;case"uint32":d=new THREE__namespace.Uint32BufferAttribute(n[s],f,p);break;case"int32":d=new THREE__namespace.Int32BufferAttribute(n[s],f,p);break;case"uint16":d=new THREE__namespace.Uint16BufferAttribute(n[s],f,p);break;case"int16":d=new THREE__namespace.Int16BufferAttribute(n[s],f,p);break;case"uint8":d=new THREE__namespace.Uint8BufferAttribute(n[s],f,p);break;case"int8":d=new THREE__namespace.Int8BufferAttribute(n[s],f,p);break;default:d=new THREE__namespace.Float32BufferAttribute(n[s],f,p);break}e.setAttribute(s,d)}}return e.computeBoundingSphere(),e}function handleElement(n,t,e,r,o){if(t==="vertex"){r.attrX!==null&&r.attrY!==null&&r.attrZ!==null&&n.vertices.push(e[r.attrX],e[r.attrY],e[r.attrZ]),r.attrNX!==null&&r.attrNY!==null&&r.attrNZ!==null&&n.normals.push(e[r.attrNX],e[r.attrNY],e[r.attrNZ]),r.attrS!==null&&r.attrT!==null&&n.uvs.push(e[r.attrS],e[r.attrT]),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.colors.push(scratchColor.r,scratchColor.g,scratchColor.b));for(var s=0,u=Object.keys(o.customPropertyMapping);s<u.length;s++)for(var l=u[s],c=0,p=o.customPropertyMapping[l].itemNames;c<p.length;c++){var f=p[c];n[l].push(e[f])}}else if(t==="face"){var d=e.vertex_indices||e.vertex_index,h=e.texcoord;d.length===3?(n.indices.push(d[0],d[1],d[2]),h&&h.length===6&&(n.faceVertexUvs.push(h[0],h[1]),n.faceVertexUvs.push(h[2],h[3]),n.faceVertexUvs.push(h[4],h[5]))):d.length===4&&(n.indices.push(d[0],d[1],d[3]),n.indices.push(d[1],d[2],d[3])),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b))}}function binaryReadElement(n,t){for(var e={},r=0,o=0;o<t.length;o++){var s=t[o],u=s.valueReader;if(s.type==="list"){var l=[],c=s.countReader.read(n+r);r+=s.countReader.size;for(var p=0;p<c;p++)l.push(u.read(n+r)),r+=u.size;e[s.name]=l}else e[s.name]=u.read(n+r),r+=u.size}return[e,r]}function setPropertyBinaryReaders(n,t,e){function r(l,c,p){switch(c){case"int8":case"char":return{read:function(f){return l.getInt8(f)},size:1};case"uint8":case"uchar":return{read:function(f){return l.getUint8(f)},size:1};case"int16":case"short":return{read:function(f){return l.getInt16(f,p)},size:2};case"uint16":case"ushort":return{read:function(f){return l.getUint16(f,p)},size:2};case"int32":case"int":return{read:function(f){return l.getInt32(f,p)},size:4};case"uint32":case"uint":return{read:function(f){return l.getUint32(f,p)},size:4};case"float32":case"float":return{read:function(f){return l.getFloat32(f,p)},size:4};case"float64":case"double":return{read:function(f){return l.getFloat64(f,p)},size:8};default:throw new Error("not support type: "+c)}}for(var o=0,s=n.length;o<s;o++){var u=n[o];u.type==="list"?(u.countReader=r(t,u.countType,e),u.valueReader=r(t,u.itemType,e)):u.valueReader=r(t,u.type,e)}}function parseBinary(n,t,e){for(var r=createBuffer(e),o=t.format==="binary_little_endian",s=new DataView(n,t.headerLength),u,l=0,c=0;c<t.elements.length;c++){var p=t.elements[c],f=p.properties,d=mapElementAttributes(f);setPropertyBinaryReaders(f,s,o);for(var h=0;h<p.count;h++){u=binaryReadElement(l,f),l+=u[1];var m=u[0];handleElement(r,p.name,m,d,e)}}return postProcess(r,e)}function extractHeaderText(n){var t=0,e=!0,r="",o=[],s=new TextDecoder().decode(n.subarray(0,5)),u=/^ply\r\n/.test(s);do{var l=String.fromCharCode(n[t++]);l!==`
|
|
917
|
-
`&&l!=="\r"?r+=l:(r==="end_header"&&(e=!1),r!==""&&(o.push(r),r=""))}while(e&&t<n.length);return u===!0&&t++,{headerText:o.join("\r")+"\r",headerLength:t}}var ArrayStream=function(){function n(t){this.arr=t,this.i=0}return n.prototype.empty=function(){return this.i>=this.arr.length},n.prototype.next=function(){return this.arr[this.i++]},n}(),_object_pattern=/^[og]\s*(.+)?/,_material_library_pattern=/^mtllib /,_material_use_pattern=/^usemtl /,_map_use_pattern=/^usemap /,_face_vertex_data_separator_pattern=/\s+/,_color=new THREE__namespace.Color,ObjState=function(){function n(){this.objects=[],this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.materials={},this.materialLibraries=[],this.startObject("",!1)}return n.prototype.startObject=function(t,e){if(this.object&&this.object.fromDeclaration===!1){this.object.name=t,this.object.fromDeclaration=e!==!1;return}var r=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:t||"",fromDeclaration:e!==!1,geometry:{vertices:[],hasNormal:!0,normals:[],hasColor:!0,colors:[],hasUV:!0,uvs:[],index:[],indexMap:{}},materials:[],smooth:!0,startMaterial:function(s,u){var l,c,p=this._finalize(!1);p&&(p.inherited||((l=p.groupCount)!==null&&l!==void 0?l:0)<=0)&&this.materials.splice((c=p.index)!==null&&c!==void 0?c:0,1);var f={index:this.materials.length,name:s||"",mtllib:Array.isArray(u)&&u.length>0?u[u.length-1]:"",smooth:p!==void 0?p.smooth:this.smooth,groupStart:p!==void 0?p.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(d){var h={index:typeof d=="number"?d:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(){return this}};return h.clone=this.clone.bind(h),h}};return this.materials.push(f),f},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(s){var u,l,c=this.currentMaterial();if(c&&c.groupEnd===-1&&(c.groupEnd=this.geometry.index.length,c.groupCount=c.groupEnd-((u=c.groupStart)!==null&&u!==void 0?u:0),c.inherited=!1),s&&this.materials.length>1)for(var p=this.materials.length-1;p>=0;p--)((l=this.materials[p].groupCount)!==null&&l!==void 0?l:0)<=0&&this.materials.splice(p,1);return s&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),c}},r&&r.name&&typeof r.clone=="function"){var o=r.clone(0);o.inherited=!0,this.object.materials.push(o)}this.objects.push(this.object)},n.prototype.finalize=function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},n.prototype.parseVertexIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/3)*3},n.prototype.parseNormalIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/3)*3},n.prototype.parseUVIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/2)*2},n.prototype.addFace=function(t,e,r,o,s,u,l,c,p){var f=this.object.geometry,d=this.vertices.length,h=this.normals.length,m=this.uvs.length,g=this.parseVertexIndex(t,d),A=this.parseVertexIndex(e,d),E=this.parseVertexIndex(r,d),v=l!==void 0?this.parseNormalIndex(l,h):void 0,y=c!==void 0?this.parseNormalIndex(c,h):void 0,b=p!==void 0?this.parseNormalIndex(p,h):void 0,T=o!==void 0?this.parseUVIndex(o,m):void 0,_=s!==void 0?this.parseUVIndex(s,m):void 0,S=u!==void 0?this.parseUVIndex(u,m):void 0;(f.hasNormal===!0&&v===void 0||y===void 0||b===void 0)&&(f.hasNormal=!1),(f.hasUV===!0&&T===void 0||_===void 0||S===void 0)&&(f.hasUV=!1);var R=[g,T,v].join(":"),M=f.indexMap[R];M===void 0&&(M=f.vertices.length/3,f.indexMap[R]=M,f.vertices.push(this.vertices[g+0],this.vertices[g+1],this.vertices[g+2]),f.hasColor&&(this.colors[g]===void 0?f.hasColor=!1:f.colors.push(this.colors[g+0],this.colors[g+1],this.colors[g+2])),f.hasNormal&&f.normals.push(this.normals[g+0],this.normals[g+1],this.normals[g+2]),f.hasUV&&f.uvs.push(this.uvs[T+0],this.uvs[T+1])),f.index.push(M);var H=[A,_,y].join(":"),B=f.indexMap[H];B===void 0&&(B=f.vertices.length/3,f.indexMap[H]=B,f.vertices.push(this.vertices[A+0],this.vertices[A+1],this.vertices[A+2]),f.hasColor&&(this.colors[A]===void 0?f.hasColor=!1:f.colors.push(this.colors[A+0],this.colors[A+1],this.colors[A+2])),f.hasNormal&&f.normals.push(this.normals[A+0],this.normals[A+1],this.normals[A+2]),f.hasUV&&f.uvs.push(this.uvs[_+0],this.uvs[_+1])),f.index.push(B);var C=[E,S,b].join(":"),w=f.indexMap[C];w===void 0&&(w=f.vertices.length/3,f.indexMap[C]=w,f.vertices.push(this.vertices[E+0],this.vertices[E+1],this.vertices[E+2]),f.hasColor&&(this.colors[E]===void 0?f.hasColor=!1:f.colors.push(this.colors[E+0],this.colors[E+1],this.colors[E+2])),f.hasNormal&&f.normals.push(this.normals[E+0],this.normals[E+1],this.normals[E+2]),f.hasUV&&f.uvs.push(this.uvs[S+0],this.uvs[S+1])),f.index.push(w)},n}();function parseObj(n){var t=new ObjState;n.indexOf(`\r
|
|
916
|
+
`,EXTENSION_NAME$5="KHR_texture_basisu",KHR_texture_basisu=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadTexture=function(e,r){var o=r.json.textures[e];if(!o.extensions||!o.extensions[EXTENSION_NAME$5])return null;var s=o.extensions[EXTENSION_NAME$5],u=r.json.images[s.source],l=null;if(u.bufferView!==void 0)l=r.loadBufferView(u.bufferView).then(function(f){return ktx2.parse(f)});else if(u.uri)l=r.options.fetcher.ajax(r.resolveResouce(u.uri),{responseType:"arraybuffer"}).then(function(f){return ktx2.parse(f.body)});else throw new Error("glTF: Invalid image defs.");var c=r.json.samplers||{},p=c[o.sampler]||{};return l=l.then(function(f){return f.magFilter=THREE__namespace.LinearFilter,f.minFilter=THREE__namespace.LinearFilter,f.wrapS=WEBGL_WRAPPINGS[p.wrapS]||THREE__namespace.RepeatWrapping,f.wrapT=WEBGL_WRAPPINGS[p.wrapT]||THREE__namespace.RepeatWrapping,f}),l},t}(BaseExtension),EXTENSION_NAME$4="KHR_texture_transform",KHR_texture_transform=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendTexture=function(e,r,o){var s=r.extensions!==void 0?r.extensions[EXTENSION_NAME$4]:void 0;return s?(s.texCoord!==void 0&&console.warn('glTF: Custom UV sets in "'+EXTENSION_NAME$4+'" extension not yet supported.'),s.offset===void 0&&s.rotation===void 0&&s.scale===void 0||(e=e.clone(),e.needsUpdate=!0,s.offset!==void 0&&e.offset.fromArray(s.offset),s.rotation!==void 0&&(e.rotation=s.rotation),s.scale!==void 0&&e.repeat.fromArray(s.scale)),e):null},t}(BaseExtension),KHR_mesh_quantization=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(BaseExtension),KHR_materials_unlit=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t}(BaseExtension),meshoptDecoder=function(){var n="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:78Yqdbk:qzezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlinalgic9Wfglawcj;cbffhOdndndndndnaHalco4fRbbalci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOaoRblaoRbbgAco4glalciSgCE86bbawcj;cbfaifglcGfaoclfaCfgORbbaAcl4ciGgCaCciSgCE86bbalcVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbalc7faOaCfgORbbaAciGgAaAciSgAE86bbalctfaOaAfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkaOaoRbwaoRbbgAcl4glalcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgORbbaAcsGgAaAcsSgAE86bbalcVfaOaAfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekaOao8Pbb83bbaOcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhPdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhHinaialRbbgAce4cbaAceG9R7aOfgO86bbaiadfhialcefhlaHcufgHmbkaCcefhCamcefgmad6hsamad9hmbkaPhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaPhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj;8ifcjjj98G::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;a9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;d8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgAclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(e)?t:n,s,u=WebAssembly.instantiate(l(o),{}).then(function(v){s=v.instance,s.exports.__wasm_call_ctors()});function l(v){for(var y=new Uint8Array(v.length),b=0;b<v.length;++b){var T=v.charCodeAt(b);y[b]=T>96?T-97:T>64?T-39:T+4}for(var _=0,b=0;b<v.length;++b)y[_++]=y[b]<60?r[y[b]]:(y[b]-60)*64+y[++b];return y.buffer.slice(0,_)}function c(v,y,b,T,_,S){var R=s.exports.sbrk,M=b+3&-4,H=R(M*T),B=R(_.length),C=new Uint8Array(s.exports.memory.buffer);C.set(_,B);var w=v(H,b,T,B,_.length);if(w==0&&S&&S(H,M,T),y.set(C.subarray(H,H+b*T)),R(H-R(0)),w!=0)throw new Error("Malformed buffer data: "+w)}var p={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},d=[],h=0;function m(v){var y={object:new Worker(v),pending:0,requests:{}};return y.object.onmessage=function(b){var T=b.data;y.pending-=T.count,y.requests[T.id][T.action](T.value),delete y.requests[T.id]},y}function g(v){for(var y="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(l(o))+"]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;"+c.toString()+E.toString(),b=new Blob([y],{type:"text/javascript"}),T=URL.createObjectURL(b),_=0;_<v;++_)d[_]=m(T);URL.revokeObjectURL(T)}function A(v,y,b,T,_){for(var S=d[0],R=1;R<d.length;++R)d[R].pending<S.pending&&(S=d[R]);return new Promise(function(M,H){var B=new Uint8Array(b),C=h++;S.pending+=v,S.requests[C]={resolve:M,reject:H},S.object.postMessage({id:C,count:v,size:y,source:B,mode:T,filter:_},[B.buffer])})}function E(v){u.then(function(){var y=v.data;try{var b=new Uint8Array(y.count*y.size);c(s.exports[y.mode],b,y.count,y.size,y.source,s.exports[y.filter]),self.postMessage({id:y.id,count:y.count,action:"resolve",value:b},[b.buffer])}catch(T){self.postMessage({id:y.id,count:y.count,action:"reject",value:T})}})}return{ready:u,supported:!0,useWorkers:function(v){g(v)},decodeVertexBuffer:function(v,y,b,T,_){c(s.exports.meshopt_decodeVertexBuffer,v,y,b,T,s.exports[p[_]])},decodeIndexBuffer:function(v,y,b,T){c(s.exports.meshopt_decodeIndexBuffer,v,y,b,T)},decodeIndexSequence:function(v,y,b,T){c(s.exports.meshopt_decodeIndexSequence,v,y,b,T)},decodeGltfBuffer:function(v,y,b,T,_,S){c(s.exports[f[_]],v,y,b,T,s.exports[p[S]])},decodeGltfBufferAsync:function(v,y,b,T,_){return d.length>0?A(v,y,b,f[T],p[_]):u.then(function(){var S=new Uint8Array(v*y);return c(s.exports[f[T]],S,v,y,b,s.exports[p[_]]),S})}}}(),EXTENSION_NAME$3="EXT_meshopt_compression",EXT_meshopt_compression=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadBufferView=function(e,r){var o=r.json,s=o.bufferViews[e];if(s.extensions&&s.extensions[EXTENSION_NAME$3]){var u=s.extensions[EXTENSION_NAME$3],l=r.loadBuffer(u.buffer);if(!meshoptDecoder.supported){if(o.extensionsRequired&&o.extensionsRequired.indexOf(EXTENSION_NAME$3)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([l,meshoptDecoder.ready]).then(function(c){var p=c[0],f=u.byteOffset||0,d=u.byteLength||0,h=u.count,m=u.byteStride,g=new ArrayBuffer(h*m),A=new Uint8Array(p,f,d);return meshoptDecoder.decodeGltfBuffer(new Uint8Array(g),h,m,A,u.mode,u.filter),g})}else return null},t}(BaseExtension),EXTENSION_NAME$2="EXT_texture_webp",EXT_texture_webp=function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.supportsWep=!1,e}return t.prototype.prepare=function(e){var r=this;return imageSupport().then(function(o){r.supportsWep=o.webp})},t.prototype.loadTexture=function(e,r){var o=r.json,s=o.textures[e];if(!s.extensions||!s.extensions[EXTENSION_NAME$2]||!this.supportsWep)return null;var u=s.extensions[EXTENSION_NAME$2];return r.loadImage(u.source).then(function(l){var c=new THREE__namespace.Texture(l);c.needsUpdate=!0,c.flipY=!1,s.name&&(c.name=s.name);var p=r.json.samplers||{},f=p[s.sampler]||{};return c.magFilter=WEBGL_FILTERS[f.magFilter]||THREE__namespace.LinearFilter,c.minFilter=WEBGL_FILTERS[f.minFilter]||THREE__namespace.LinearMipmapLinearFilter,c.wrapS=WEBGL_WRAPPINGS[f.wrapS]||THREE__namespace.RepeatWrapping,c.wrapT=WEBGL_WRAPPINGS[f.wrapT]||THREE__namespace.RepeatWrapping,c.onUpdate=function(){l.close()},c})},t}(BaseExtension),EXTENSION_NAME$1="CESIUM_RTC",CESIUM_RTC=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.emitResult=function(e,r){if(r.json.extensions[EXTENSION_NAME$1]&&r.json.extensions[EXTENSION_NAME$1].center){var o=r.json.extensions[EXTENSION_NAME$1].center;e.CESIUM_RTC={center:new THREE__namespace.Vector3().fromArray(o)}}},t}(BaseExtension),PBM_mesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.loadMesh=function(e,r){var o=this,s=r.json.meshes[e],u=s.primitives,l=Promise.all(u.map(function(f){return r.loadGeometry(f)})),c=Promise.all(u.map(function(f){return o.loadPBMMaterial(f,r)})),p=Promise.all([l,c]).then(function(f){for(var d=f[0],h=f[1],m=[],g=0;g<u.length;g++){var A=u[g],E=d[g],v=h[g],y=A.mode||WEBGL_CONSTANTS.TRIANGLES,b=void 0;if(y===WEBGL_CONSTANTS.TRIANGLES||y===WEBGL_CONSTANTS.TRIANGLE_STRIP||y===WEBGL_CONSTANTS.TRIANGLE_FAN)if(y===WEBGL_CONSTANTS.TRIANGLE_STRIP?E=r.toGeometryTrianglesDrawMode(E,THREE__namespace.TriangleStripDrawMode):y===WEBGL_CONSTANTS.TRIANGLE_FAN&&(E=r.toGeometryTrianglesDrawMode(E,THREE__namespace.TriangleFanDrawMode)),E.clearGroups(),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,0),r.disposeSet.add(E),s.isSkinnedMesh){var T=new PBMSkinnedMesh(E,[v]);E.attributes.skinWeight.normalized||T.normalizeSkinWeights(),b=T}else b=new PBMMesh(E,[v]);else if(y===WEBGL_CONSTANTS.POINTS)b=new PBMPointCloud(E,v);else throw new Error("glTF: Primitive mode unsupported: "+y);if(Object.keys(E.morphAttributes).length>0){if(s.weights!==void 0)for(var _=0,S=s.weights.length;_<S;_++)b.morphTargetInfluences[_]=s.weights[_];if(s.extras&&Array.isArray(s.extras.targetNames)){var R=s.extras.targetNames;if(b.morphTargetInfluences.length===R.length){b.morphTargetDictionary={};for(var _=0,S=R.length;_<S;_++)b.morphTargetDictionary[R[_]]=_}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}b.name=s.name||"mesh_"+e,r.assignFinalMaterial(b),m.push(b)}if(m.length===1)return m[0];for(var M=new THREE__namespace.Group,H=0,B=m;H<B.length;H++){var b=B[H];M.add(b)}return M});return p},t.prototype.loadPBMMaterial=function(e,r){var o,s=(o=e.mode)!==null&&o!==void 0?o:WEBGL_CONSTANTS.TRIANGLES,u=null;if(s===WEBGL_CONSTANTS.TRIANGLES||s===WEBGL_CONSTANTS.TRIANGLE_STRIP||s===WEBGL_CONSTANTS.TRIANGLE_FAN)u=this.loadPBMMeshMaterial(e,r);else if(s===WEBGL_CONSTANTS.POINTS)u=this.loadPBMPointCloudMaterial(e,r);else throw new Error("glTF: Primitive mode unsupported: "+s);return u=u.then(function(l){return Promise.all(values(r.extensions).map(function(c){return c.extendMaterial(l,e,r)})).then(function(){return l})}),u},t.prototype.extendTexture=function(e,r,o){return e.minFilter=THREE__namespace.LinearFilter,e.magFilter=THREE__namespace.LinearFilter,e.generateMipmaps=!1,e},t.prototype.loadPBMPointCloudMaterial=function(e,r){var o=new PBMPointCloudMaterial;return r.disposeSet.add(o),Promise.resolve(o)},t.prototype.loadPBMMeshMaterial=function(e,r){var o=[],s=r.extensions.KHR_materials_unlit?"basic":"standard",u=new PBMMeshMaterial(s);if(u.color=new THREE__namespace.Color(1,1,1),u.opacity=1,u.colorAlpha=1,e.material!==void 0){var l=r.json.materials[e.material];l.name&&(u.name=l.name);var c=l.pbrMetallicRoughness||{};if(Array.isArray(c.baseColorFactor)){var p=c.baseColorFactor;u.color=new THREE__namespace.Color().fromArray(p),u.colorAlpha=p[3]}c.baseColorTexture!==void 0&&o.push(r.createMaterialTexture(c.baseColorTexture).then(function(h){r.disposeSet.add(h),h.encoding=THREE__namespace.sRGBEncoding,u.map=h})),u.metalness=c.metallicFactor!==void 0?c.metallicFactor:1,u.roughness=c.roughnessFactor!==void 0?c.roughnessFactor:1,c.metallicRoughnessTexture!==void 0&&o.push(r.createMaterialTexture(c.metallicRoughnessTexture).then(function(h){r.disposeSet.add(h),h.encoding=THREE__namespace.sRGBEncoding,u.roughnessMap=h,u.metalnessMap=h})),l.doubleSided===!0&&(u.side=THREE__namespace.DoubleSide);var f=l.alphaMode||ALPHA_MODES.OPAQUE;if(u.alphaMode="OPAQUE",f===ALPHA_MODES.BLEND?(u.alphaMode="BLEND",u.transparent=!0,u.depthWrite=!1):(u.transparent=!1,f===ALPHA_MODES.MASK&&(u.alphaMode="MASK",u.alphaTest=l.alphaCutoff!==void 0?l.alphaCutoff:.5)),l.normalTexture!==void 0&&(o.push(r.createMaterialTexture(l.normalTexture).then(function(h){r.disposeSet.add(h),u.normalMap=h})),u.normalScale=new THREE__namespace.Vector2(1,1),l.normalTexture.scale!==void 0)){var d=l.normalTexture.scale;u.normalScale.set(d,d)}l.occlusionTexture!==void 0&&(o.push(r.createMaterialTexture(l.occlusionTexture).then(function(h){u.aoMap=h,r.disposeSet.add(h)})),l.occlusionTexture.strength!==void 0&&(u.aoMapIntensity=l.occlusionTexture.strength)),l.emissiveFactor!==void 0&&(u.emissive=new THREE__namespace.Color().fromArray(l.emissiveFactor)),l.emissiveTexture!==void 0&&o.push(r.createMaterialTexture(l.emissiveTexture).then(function(h){u.emissiveMap=h,r.disposeSet.add(h)}))}return r.disposeSet.add(u),Promise.all(o).then(function(){return u})},t}(BaseExtension),EXTENSION_NAME="REALSEE_materials_lightmap",REALSEE_materials_lightmap=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.extendMaterial=function(e,r,o){var s=[];if(o.json.materials&&r.material!==void 0){var u=o.json.materials[r.material],l=u.extensions[EXTENSION_NAME];l&&(l.lightMapTexture!==void 0&&s.push(o.createMaterialTexture(l.lightMapTexture).then(function(c){e.lightMap=c})),l.lightMapIntensity!==void 0&&(e.lightMapIntensity=l.lightMapIntensity))}return Promise.all(s).then(function(){})},t}(BaseExtension),EXTENSIONS={KHR_binary_glTF,KHR_draco_mesh_compression,KHR_texture_basisu,KHR_texture_transform,KHR_mesh_quantization,KHR_materials_unlit,EXT_meshopt_compression,EXT_texture_webp,CESIUM_RTC,REALSEE_materials_lightmap,PBM_mesh};function parseGltf(n,t){var e,r,o,s={},u,l;if(typeof n=="string")l=n;else{var c=EXTENSIONS.KHR_binary_glTF.getMagic(n);if(c===EXTENSIONS.KHR_binary_glTF.HEADER_MAGIC){u=new EXTENSIONS.KHR_binary_glTF;try{u.loadGlbBinary(n)}catch(g){return Promise.reject(g)}s.KHR_binary_glTF=u,l=u.content}else l=decodeText(new Uint8Array(n))}var p=JSON.parse(l);if(t.jsonModify&&(p=t.jsonModify(p)),p.asset===void 0||Number(p.asset.version[0])<2)return Promise.reject(new Error("glTF: Unsupported asset. glTF versions >=2.0 are supported."));if(p.extensionsUsed)for(var f=p.extensionsRequired||[],d=0;d<p.extensionsUsed.length;d++){var h=p.extensionsUsed[d];s[h]||(EXTENSIONS[h]?s[h]=new EXTENSIONS[h]:f.indexOf(h)>=0&&console.warn('glTF: Unknown extension "'+h+'".'))}var m=new Parser(p,s,{copyUV2:(e=t.copyUV2)!==null&&e!==void 0?e:!0,resourcePath:(r=t.resourcePath)!==null&&r!==void 0?r:"",search:(o=t.search)!==null&&o!==void 0?o:"",fetcher:t.fetcher});return m.parse().then(function(g){return u&&u.clear(),g})}function loadB3dm(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Y",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c={uri:n,gltfUpAxis:s};return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"}).then(function(p){return p.body})}).then(function(p){return Promise.resolve(0).then(function(f){return parseHeader$1(c,p,f)}).then(function(f){return parseTable(c,p,f)}).then(function(f){return parseGlTFArrayBuffer(c,p,f)})}).then(function(){var p;return parseGltf(c.gltfArrayBuffer,{copyUV2:!1,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(p=n.split("?")[1])!==null&&p!==void 0?p:"",jsonModify:function(f){var d;if(f.extensionsUsed=(d=f.extensionsUsed)!==null&&d!==void 0?d:[],typeof t.light=="boolean"){var h="KHR_materials_unlit";if(t.light){var m=f.extensionsUsed.indexOf(h);m>=0&&f.extensionsUsed.splice(m,1)}else{var m=f.extensionsUsed.indexOf(h);m===-1&&f.extensionsUsed.push(h)}}{var h="PBM_mesh",m=f.extensionsUsed.indexOf(h);m===-1&&f.extensionsUsed.push(h)}return f},fetcher:l}).then(function(f){var d=new THREE__namespace.Matrix4;s==="Y"&&d.premultiply(ROTATE_X_MATRIX);var h;if(c.rtcCenter?h=new THREE__namespace.Vector3().fromArray(c.rtcCenter):f.CESIUM_RTC&&(h=new THREE__namespace.Vector3().copy(f.CESIUM_RTC.center)),h){var m=new THREE__namespace.Matrix4().setPosition(h);d.premultiply(m)}return u==="Y"&&d.premultiply(ROTATE_X_MATRIX_INVERSE),f.scene.applyMatrix4(d),delete c.featureTableBinary,delete c.batchTableBinary,delete c.gltfArrayBuffer,{type:"b3dm",modelUpAxis:s,upAxis:"Z",uri:c.uri,byteLength:c.byteLength,memoryUsage:getMemoryUsage(f.scene),scene:f.scene,textures:f.textures,animations:[],rtcCenter:h,dispose:function(){return f.dispose()}}})})}var WorkerPool=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],o=r.resolve,s=r.reject;if(e.data&&"$$error"in e.data?s(e.data.$$error):o(e.data),this.queue.length){var u=this.queue.shift(),l=u.resolve,c=u.reject,p=u.input,f=u.transfer;this.workersResolver[t]={resolve:l,reject:c},this.workers[t].postMessage(p,f)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(o,s){var u=r.getIdleWorker();u!==-1?(r.initWorker(u),r.workerStatus|=1<<u,r.workersResolver[u]={resolve:o,reject:s},r.workers[u].postMessage(t,e)):r.queue.push({resolve:o,reject:s,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}();const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEIoYSl7b25tZXNzYWdlPWZ1bmN0aW9uKHIpe1Byb21pc2UucmVzb2x2ZShyLmRhdGEpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIGEobil9KS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBlPW4ub3V0cHV0LHQ9bi50cmFuc2ZlcjtyZXR1cm4gcG9zdE1lc3NhZ2UoZSx0KX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiBwb3N0TWVzc2FnZSh7JCRlcnJvcjpufSl9KX19dmFyIHUseTsoZnVuY3Rpb24oYSl7YVthLkJZVEU9NTEyMF09IkJZVEUiLGFbYS5VTlNJR05FRF9CWVRFPTUxMjFdPSJVTlNJR05FRF9CWVRFIixhW2EuU0hPUlQ9NTEyMl09IlNIT1JUIixhW2EuVU5TSUdORURfU0hPUlQ9NTEyM109IlVOU0lHTkVEX1NIT1JUIixhW2EuSU5UPTUxMjRdPSJJTlQiLGFbYS5VTlNJR05FRF9JTlQ9NTEyNV09IlVOU0lHTkVEX0lOVCIsYVthLkZMT0FUPTUxMjZdPSJGTE9BVCIsYVthLkRPVUJMRT01MTMwXT0iRE9VQkxFIn0pKHl8fCh5PXt9KSk7dmFyIGM9KHU9e30sdVt5LkRPVUJMRV09RmxvYXQ2NEFycmF5LHVbeS5GTE9BVF09RmxvYXQzMkFycmF5LHVbeS5VTlNJR05FRF9TSE9SVF09VWludDE2QXJyYXksdVt5LlVOU0lHTkVEX0lOVF09VWludDMyQXJyYXksdVt5LlVOU0lHTkVEX0JZVEVdPVVpbnQ4QXJyYXksdVt5LkJZVEVdPUludDhBcnJheSx1W3kuU0hPUlRdPUludDE2QXJyYXksdVt5LklOVF09SW50MzJBcnJheSx1KSxGPXtET1VCTEU6eS5ET1VCTEUsRkxPQVQ6eS5GTE9BVCxVTlNJR05FRF9TSE9SVDp5LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDp5LlVOU0lHTkVEX0lOVCxVTlNJR05FRF9CWVRFOnkuVU5TSUdORURfQllURSxCWVRFOnkuQllURSxTSE9SVDp5LlNIT1JULElOVDp5LklOVH07ZnVuY3Rpb24gTyhhKXt2YXIgcj1jW2FdO2lmKCFyKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNvbnZlcnQgR0wgdHlwZSIpO3JldHVybiByfWZ1bmN0aW9uIHAoYSl7dmFyIHI9TyhhKTtyZXR1cm4gci5CWVRFU19QRVJfRUxFTUVOVH1mdW5jdGlvbiBfKGEscixuLGUpe249PT12b2lkIDAmJihuPTApO3ZhciB0PU8oYSk7aWYobiVwKGEpIT09MCl7dmFyIGk9ZT9yLnNsaWNlKG4sbitlKnAoYSkpOnIuc2xpY2Uobik7cmV0dXJuIG5ldyB0KGkpfWVsc2UgcmV0dXJuIG5ldyB0KHIsbixlIT1udWxsP2U6KHIuYnl0ZUxlbmd0aC1uKS9wKGEpKX1mdW5jdGlvbiBsKGEpe3ZhciByPUZbYV07aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29udmVydCBHTCB0eXBlIik7cmV0dXJuIHJ9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHIsbil7dGhpcy5mZWF0dXJlc0xlbmd0aD0wLHRoaXMuY2FjaGVkVHlwZWRBcnJheXM9e30sdGhpcy5qc29uPXIsdGhpcy5idWZmZXI9bjt2YXIgZT10aGlzLmdldEdsb2JhbFByb3BlcnR5KCJQT0lOVFNfTEVOR1RIIix5LlVOU0lHTkVEX0lOVCwxKTtlJiZlLmxlbmd0aCYmKHRoaXMuZmVhdHVyZXNMZW5ndGg9ZVswXSl9cmV0dXJuIGEucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5qc29uLmV4dGVuc2lvbnMmJnRoaXMuanNvbi5leHRlbnNpb25zW3JdfSxhLnByb3RvdHlwZS5oYXNQcm9wZXJ0eT1mdW5jdGlvbihyKXtyZXR1cm4hIXRoaXMuanNvbltyXX0sYS5wcm90b3R5cGUuZ2V0R2xvYmFsUHJvcGVydHk9ZnVuY3Rpb24ocixuLGUpe3ZhciB0PXRoaXMuanNvbltyXTtpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciBpPU8obik7cmV0dXJuIG5ldyBpKFt0XSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaT1PKG4pO3JldHVybiBuZXcgaSh0KX1lbHNlIGlmKHQmJk51bWJlci5pc0Zpbml0ZSh0LmJ5dGVPZmZzZXQpKXJldHVybiB0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLDEsdC5ieXRlT2Zmc2V0KTtyZXR1cm4gbnVsbH0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHlBcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5qc29uW3JdO3JldHVybiB0JiZOdW1iZXIuaXNGaW5pdGUodC5ieXRlT2Zmc2V0KT8oImNvbXBvbmVudFR5cGUiaW4gdCYmKG49bCh0LmNvbXBvbmVudFR5cGUpKSx0aGlzLmdldFR5cGVkQXJyYXlGcm9tQmluYXJ5KHIsbixlLHRoaXMuZmVhdHVyZXNMZW5ndGgsdC5ieXRlT2Zmc2V0KSk6dGhpcy5nZXRUeXBlZEFycmF5RnJvbUFycmF5KHIsbix0KX0sYS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9ZnVuY3Rpb24ocixuLGUsdCxpKXt2YXIgbz10aGlzLmpzb25bcl07aWYoIW8pcmV0dXJuIG51bGw7dmFyIHY9dGhpcy5nZXRQcm9wZXJ0eUFycmF5KHIsbixlKTtpZihlPT09MSlyZXR1cm4gaVswXT12W3RdLGk7Zm9yKHZhciBBPTA7QTxlOysrQSlpW0FdPXZbZSp0K0FdO3JldHVybiBpfSxhLnByb3RvdHlwZS5nZXRUeXBlZEFycmF5RnJvbUJpbmFyeT1mdW5jdGlvbihyLG4sZSx0LGkpe3ZhciBvPXRoaXMuY2FjaGVkVHlwZWRBcnJheXMsdj1vW3JdO3JldHVybiB2fHwodj1fKG4sdGhpcy5idWZmZXIuYnVmZmVyLHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQraSx0KmUpLG9bcl09diksdn0sYS5wcm90b3R5cGUuZ2V0VHlwZWRBcnJheUZyb21BcnJheT1mdW5jdGlvbihyLG4sZSl7dmFyIHQ9dGhpcy5jYWNoZWRUeXBlZEFycmF5cyxpPXRbcl07cmV0dXJuIGl8fChpPV8obixlKSx0W3JdPWkpLGl9LGF9KCk7QihmdW5jdGlvbihhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7dmFyIG49bmV3IFIoci5mZWF0dXJlVGFibGVKc29uLHIuZmVhdHVyZVRhYmxlQmluYXJ5KSxlPWQobiksdD1nKG4pLGk9UChuKSxvPVtdO3JldHVybiBlJiZvLnB1c2goZS5hcnJheS5idWZmZXIpLHQmJm8ucHVzaCh0LmFycmF5LmJ1ZmZlciksaSYmby5wdXNoKGkuYXJyYXkuYnVmZmVyKSx7b3V0cHV0Ontwb3NpdGlvbjplLGNvbG9yOnQsbm9ybWFsOml9LHRyYW5zZmVyOm99fSl9KTt2YXIgVT02NTUzNTtmdW5jdGlvbiBkKGEpe2lmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUE9TSVRJT04iLHkuRkxPQVQsMyk7cmV0dXJue2FycmF5OnIsaXRlbVNpemU6Myxub3JtYWxpemVkOiExfX1lbHNlIGlmKGEuaGFzUHJvcGVydHkoIlBPU0lUSU9OX1FVQU5USVpFRCIpKXt2YXIgbj1hLmdldFByb3BlcnR5QXJyYXkoIlBPU0lUSU9OX1FVQU5USVpFRCIseS5VTlNJR05FRF9TSE9SVCwzKSxlPWEuZ2V0R2xvYmFsUHJvcGVydHkoIlFVQU5USVpFRF9WT0xVTUVfU0NBTEUiLHkuRkxPQVQsMyksdD1hLmdldEdsb2JhbFByb3BlcnR5KCJRVUFOVElaRURfVk9MVU1FX09GRlNFVCIseS5GTE9BVCwzKTtpZighZXx8IXQpdGhyb3cgbmV3IEVycm9yKCJRVUFOVElaRURfVk9MVU1FX1NDQUxFIG9yIFFVQU5USVpFRF9WT0xVTUVfT0ZGU0VUIG5ldmVyIGZvdW5kLiIpO2Zvcih2YXIgaT1uZXcgRmxvYXQzMkFycmF5KG4ubGVuZ3RoKSxvPW4ubGVuZ3RoLzMsdj1lWzBdL1UsQT1lWzFdL1UsTj1lWzJdL1UsRT10WzBdLFM9dFsxXSxzPXRbMl0sVD0wLEk9dm9pZCAwO1Q8bztUKyspST1UKjMsaVtJXT1uW0ldKnYrRSxpWysrSV09bltJXSpBK1MsaVsrK0ldPW5bSV0qTitzO3JldHVybnthcnJheTppLGl0ZW1TaXplOjMsbm9ybWFsaXplZDohMX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhhKXtpZihhLmhhc1Byb3BlcnR5KCJSR0IiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCIix5LlVOU0lHTkVEX0JZVEUsMyksbj1yLmxlbmd0aC8zLGU9bmV3IFVpbnQ4QXJyYXkobio0KSx0PTAsaT12b2lkIDAsbz12b2lkIDA7dDxuO3QrKylvPXQqNCxpPXQqMyxlW29dPXJbaV0sZVsrK29dPXJbKytpXSxlWysrb109clsrK2ldO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0JBIikpe3ZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCQSIseS5VTlNJR05FRF9CWVRFLDQpO3JldHVybnthcnJheTpyLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19ZWxzZSBpZihhLmhhc1Byb3BlcnR5KCJSR0I1NjUiKSl7Zm9yKHZhciByPWEuZ2V0UHJvcGVydHlBcnJheSgiUkdCNTY1Iix5LlVOU0lHTkVEX1NIT1JULDEpLG49ci5sZW5ndGgsZT1uZXcgVWludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMDt0PG47dCsrKUE9clt0XSx2PXQqNCxlW3ZdPShBPj4xMSYzMSk8PDMsZVsrK3ZdPShBPj41JjYzKTw8MixlWysrdl09KEEmMzEpPDwzO3JldHVybnthcnJheTplLGl0ZW1TaXplOjQsbm9ybWFsaXplZDohMH19cmV0dXJuIG51bGx9dmFyIEc9MjU1LGg9MTI3LEQ9Mi9HO2Z1bmN0aW9uIFAoYSl7aWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMIikpe2Zvcih2YXIgcj1hLmdldFByb3BlcnR5QXJyYXkoIk5PUk1BTCIseS5GTE9BVCwzKSxuPXIubGVuZ3RoLzMsZT1uZXcgSW50OEFycmF5KG4qNCksdD0wLGk9dm9pZCAwLG89dm9pZCAwO3Q8bjt0Kyspbz10KjQsaT10KjMsZVtvXT1yW2ldKmgsZVsrK29dPXJbKytpXSpoLGVbKytvXT1yWysraV0qaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fWVsc2UgaWYoYS5oYXNQcm9wZXJ0eSgiTk9STUFMX09DVDE2UCIpKXtmb3IodmFyIHI9YS5nZXRQcm9wZXJ0eUFycmF5KCJOT1JNQUxfT0NUMTZQIix5LlVOU0lHTkVEX0JZVEUsMiksbj1yLmxlbmd0aC8yLGU9bmV3IEludDhBcnJheShuKjQpLHQ9MCx2PXZvaWQgMCxBPXZvaWQgMCxOPXZvaWQgMCxFPXZvaWQgMCxTPXZvaWQgMCxzPXZvaWQgMCxUPXZvaWQgMDt0PG47dCsrKXY9dCoyLEE9clt2XSpELTEsTj1yWysrdl0qRC0xLFM9QTwwPy1BOkEscz1OPDA/LU46TixFPTEtKFMrcyksRTwwJiYoQT0oMS1zKSooQTwwPy0xOjEpLE49KDEtUykqKE48MD8tMToxKSksVD1NYXRoLnNxcnQoQSpBK04qTitFKkUpLHY9dCo0LGVbdl09QS9UKmgsZVsrK3ZdPU4vVCpoLGVbKyt2XT1FL1QqaDtyZXR1cm57YXJyYXk6ZSxpdGVtU2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9fXJldHVybiBudWxsfX0pKCk7Cg==",decodeBase64$1=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),blob$1=typeof self!="undefined"&&self.Blob&&new Blob([decodeBase64$1(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(n){let t;try{if(t=blob$1&&(self.URL||self.webkitURL).createObjectURL(blob$1),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+encodedJs$1,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var attributeWorkerPool=new WorkerPool(function(){return new WorkerWrapper$1},2);function parsePointCloud(n,t,e){var r=new FeatureTable(n.featureTableJson,n.featureTableBinary);return Promise.resolve().then(function(){var o=r.getExtension("3DTILES_draco_point_compression");return o?parseDraco(o,r):attributeWorkerPool.postMessage({featureTableBinary:r.buffer,featureTableJson:r.json},[r.buffer.buffer])}).then(function(o){return n.attributes=o,e})}function parseDraco(n,t){return __awaiter(this,void 0,void 0,function(){var e,r,o,s,u,l;return __generator(this,function(c){if(e=n.properties||{},r=n.byteOffset,o=n.byteLength,!e||!Number.isFinite(r)||!o)throw new Error("Draco properties, byteOffset, and byteLength must be defined");return s=t.buffer.slice(r,r+o),u=n.properties,l={POSITION:"Float32Array",NORMAL:"Float32Array",RGB:"Uint8Array",RGBA:"Uint8Array"},[2,draco.decodeGeometry(s.buffer,{attributeIDs:u,attributeTypes:l,useUniqueIDs:!0}).then(function(p){var f=p.getAttribute("POSITION"),d=p.getAttribute("RGB"),h=p.getAttribute("RGBA"),m=p.getAttribute("NORMAL"),g;if(h)g=h;else if(d){for(var A=d.count,E=d.array,v=new Uint8Array(A*4),y=0,b=void 0,T=void 0;y<A;y++)T=y*4,b=y*3,v[T]=E[b],v[++T]=E[++b],v[++T]=E[++b];g=new THREE__namespace.BufferAttribute(v,4,d.normalized)}return{position:f?{array:f.array,itemSize:f.itemSize,normalized:f.normalized}:null,color:g?{array:g.array,itemSize:g.itemSize,normalized:g.normalized}:null,normal:m?{array:m.array,itemSize:m.itemSize,normalized:m.normalized}:null}})]})})}function loadPnts(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={uri:n};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return l.body})}).then(function(l){return Promise.resolve(0).then(function(c){return parseHeader$1(u,l,c)}).then(function(c){return parseTable(u,l,c)}).then(function(c){return parsePointCloud(u,l,c)})}).then(function(){var l;return createPoints(u.attributes,{computeBoundingBox:(l=t.computeBoundingBox)!==null&&l!==void 0?l:!0})}).then(function(l){var c=new THREE__namespace.Matrix4,p;if(u.rtcCenter&&(p=new THREE__namespace.Vector3().fromArray(u.rtcCenter)),p){var f=new THREE__namespace.Matrix4().setPosition(p);c.premultiply(f)}return o==="Y"&&c.premultiply(ROTATE_X_MATRIX_INVERSE),l.object.applyMatrix4(c),delete u.gltfArrayBuffer,delete u.featureTableBinary,delete u.batchTableBinary,{type:"pnts",modelUpAxis:"Z",upAxis:o,uri:u.uri,byteLength:u.byteLength,memoryUsage:getMemoryUsage(l.object),scene:l.object,textures:[],animations:[],rtcCenter:p,dispose:function(){return l.dispose()}}})}function createPoints(n,t){var e=new Set,r=new THREE__namespace.BufferGeometry;e.add(r);var o=new PBMPointCloudMaterial;e.add(o),n.position&&r.setAttribute("position",new THREE__namespace.BufferAttribute(n.position.array,n.position.itemSize,n.position.normalized)),n.color&&r.setAttribute("color",new THREE__namespace.BufferAttribute(n.color.array,n.color.itemSize,n.color.normalized)),n.normal?r.setAttribute("normal",new THREE__namespace.BufferAttribute(n.normal.array,n.normal.itemSize,n.normal.normalized)):o.flatShading=!0,t.computeBoundingBox&&r.computeBoundingBox();var s=new PBMPointCloud(r,o);return s.matrix.compose(s.position,s.quaternion,s.scale),s.matrixAutoUpdate=!1,s.frustumCulled=!1,Promise.resolve({object:s,dispose:function(){e.forEach(function(u){u.dispose()}),e.clear()}})}function loadGltf(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Y",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c=0;return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"}).then(function(p){return c=p.body.byteLength,p.body})}).then(function(p){var f;return parseGltf(p,{copyUV2:!1,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(f=n.split("?")[1])!==null&&f!==void 0?f:"",jsonModify:function(d){var h;if(d.extensionsUsed=(h=d.extensionsUsed)!==null&&h!==void 0?h:[],typeof t.light=="boolean"){var m="KHR_materials_unlit";if(t.light){var g=d.extensionsUsed.indexOf(m);g>=0&&d.extensionsUsed.splice(g,1)}else{var g=d.extensionsUsed.indexOf(m);g===-1&&d.extensionsUsed.push(m)}}{var m="PBM_mesh",g=d.extensionsUsed.indexOf(m);g===-1&&d.extensionsUsed.push(m)}return d},fetcher:l})}).then(function(p){var f,d=new THREE__namespace.Matrix4;if(s==="Y"&&d.premultiply(ROTATE_X_MATRIX),p.CESIUM_RTC){var h=new THREE__namespace.Matrix4().setPosition(p.CESIUM_RTC.center);d.premultiply(h)}return u==="Y"&&d.premultiply(ROTATE_X_MATRIX_INVERSE),p.scene.applyMatrix4(d),{type:"gltf",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(p.scene),scene:p.scene,textures:p.textures,animations:p.animations,rtcCenter:(f=p.CESIUM_RTC)===null||f===void 0?void 0:f.center,dispose:function(){return p.dispose()}}})}var scratchColor=new THREE__namespace.Color;function loadPly(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Z",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c=0;return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"}).then(function(p){return c=p.body.byteLength,p.body})}).then(function(p){var f,d;return parsePly(p,{propertyNameMapping:(f=t.propertyNameMapping)!==null&&f!==void 0?f:{},customPropertyMapping:(d=t.customPropertyMapping)!==null&&d!==void 0?d:{}})}).then(function(p){var f=p.geometry;switch(t.type){case"geometry":{var d=f;return s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getGeometryMemoryUsed(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose()}}}case"line":{var h="color"in f.attributes,m=new THREE__namespace.LineBasicMaterial({vertexColors:h}),d=new THREE__namespace.Line(f,m);return d.computeLineDistances(),s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose(),m.dispose()}}}case"pbmMesh":{var g=new PBMMeshMaterial(t.light?"phong":"basic");g.vertexColors="color"in f.attributes;var d=new THREE__namespace.Mesh(f,g);return s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose(),g.dispose()}}}case"pbmPointCloud":{var A=new PBMPointCloudMaterial,d=new PBMPointCloud(f,A);return s==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"ply",modelUpAxis:s,upAxis:u,uri:n,byteLength:c,memoryUsage:getMemoryUsage(d),scene:d,textures:[],animations:[],dispose:function(){f.dispose(),A.dispose()}}}}throw new Error("Invalid Type: ".concat(t.type))})}function parsePly(n,t){var e=new Uint8Array(n),r=extractHeaderText(e),o=r.headerText,s=r.headerLength,u=parseHeader(o,s,t);if(u.format==="ascii"){var l=new TextDecoder().decode(e);return{header:u,geometry:parseASCII(l,u,t)}}else return{header:u,geometry:parseBinary(n,u,t)}}function makePlyElementProperty(n,t){var e={name:"",type:n[0]};return e.type==="list"?(e.name=n[3],e.countType=n[1],e.itemType=n[2]):e.name=n[1],e.name in t.propertyNameMapping&&(e.name=t.propertyNameMapping[e.name]),e}function parseHeader(n,t,e){t===void 0&&(t=0);var r=/^ply([\s\S]*)end_header(\r\n|\r|\n)/,o="",s=r.exec(n);s!==null&&(o=s[1]);for(var u={format:"",version:"",comments:[],elements:[],headerLength:t,objInfo:""},l=o.split(/\r\n|\r|\n/),c=null,p=0;p<l.length;p++){var f=l[p];if(f=f.trim(),f!==""){var d=f.split(/\s+/),h=d.shift();switch(f=d.join(" "),h){case"format":u.format=d[0],u.version=d[1];break;case"comment":u.comments.push(f);break;case"element":c&&u.elements.push(c),c={name:d[0],count:parseInt(d[1]),properties:[]};break;case"property":c&&c.properties.push(makePlyElementProperty(d,e));break;case"obj_info":u.objInfo=f;break;default:console.log("unhandled",h,d)}}}return c&&u.elements.push(c),u}function parseASCIINumber(n,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(n);case"float":case"double":case"float32":case"float64":return parseFloat(n);default:throw new Error("unspport type: "+t)}}function parseASCIIElement(n,t){for(var e={},r=0;r<n.length;r++){if(t.empty())return null;if(n[r].type==="list"){for(var o=[],s=parseASCIINumber(t.next(),n[r].countType),u=0;u<s;u++){if(t.empty())return null;o.push(parseASCIINumber(t.next(),n[r].itemType))}e[n[r].name]=o}else e[n[r].name]=parseASCIINumber(t.next(),n[r].type)}return e}function createBuffer(n){for(var t={indices:[],vertices:[],normals:[],uvs:[],faceVertexUvs:[],colors:[],faceVertexColors:[]},e=0,r=Object.keys(n.customPropertyMapping);e<r.length;e++){var o=r[e];t[o]=[]}return t}function mapElementAttributes(n){var t=n.map(function(r){return r.name});function e(r){for(var o=0,s=r.length;o<s;o++){var u=r[o];if(t.includes(u))return u}return null}return{attrX:e(["x","px","posx"])||"x",attrY:e(["y","py","posy"])||"y",attrZ:e(["z","pz","posz"])||"z",attrNX:e(["nx","normalx"]),attrNY:e(["ny","normaly"]),attrNZ:e(["nz","normalz"]),attrS:e(["s","u","texture_u","tx"]),attrT:e(["t","v","texture_v","ty"]),attrR:e(["red","diffuse_red","r","diffuse_r"]),attrG:e(["green","diffuse_green","g","diffuse_g"]),attrB:e(["blue","diffuse_blue","b","diffuse_b"])}}function parseASCII(n,t,e){var r=createBuffer(e),o=/end_header\s+(\S[\s\S]*\S|\S)\s*$/,s,u=null;(u=o.exec(n))!==null?s=u[1].split(/\s+/):s=[];var l=new ArrayStream(s);e:for(var c=0;c<t.elements.length;c++)for(var p=t.elements[c],f=mapElementAttributes(p.properties),d=0;d<p.count;d++){var h=parseASCIIElement(p.properties,l);if(!h)break e;handleElement(r,p.name,h,f,e)}return postProcess(r,e)}function postProcess(n,t){var e=new THREE__namespace.BufferGeometry;n.indices.length>0&&e.setIndex(n.indices),e.setAttribute("position",new THREE__namespace.Float32BufferAttribute(n.vertices,3)),n.normals.length>0&&e.setAttribute("normal",new THREE__namespace.Float32BufferAttribute(n.normals,3)),n.uvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.uvs,2)),n.colors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.colors,3)),(n.faceVertexUvs.length>0||n.faceVertexColors.length>0)&&(e=e.toNonIndexed(),n.faceVertexUvs.length>0&&e.setAttribute("uv",new THREE__namespace.Float32BufferAttribute(n.faceVertexUvs,2)),n.faceVertexColors.length>0&&e.setAttribute("color",new THREE__namespace.Float32BufferAttribute(n.faceVertexColors,3)));for(var r=0,o=Object.keys(t.customPropertyMapping);r<o.length;r++){var s=o[r];if(n[s].length>0){var u=t.customPropertyMapping[s],l=u.itemType,c=u.itemNames,p=u.normalized,f=c.length,d=void 0;switch(l){case"float32":d=new THREE__namespace.Float32BufferAttribute(n[s],f,p);break;case"uint32":d=new THREE__namespace.Uint32BufferAttribute(n[s],f,p);break;case"int32":d=new THREE__namespace.Int32BufferAttribute(n[s],f,p);break;case"uint16":d=new THREE__namespace.Uint16BufferAttribute(n[s],f,p);break;case"int16":d=new THREE__namespace.Int16BufferAttribute(n[s],f,p);break;case"uint8":d=new THREE__namespace.Uint8BufferAttribute(n[s],f,p);break;case"int8":d=new THREE__namespace.Int8BufferAttribute(n[s],f,p);break;default:d=new THREE__namespace.Float32BufferAttribute(n[s],f,p);break}e.setAttribute(s,d)}}return e.computeBoundingSphere(),e}function handleElement(n,t,e,r,o){if(t==="vertex"){r.attrX!==null&&r.attrY!==null&&r.attrZ!==null&&n.vertices.push(e[r.attrX],e[r.attrY],e[r.attrZ]),r.attrNX!==null&&r.attrNY!==null&&r.attrNZ!==null&&n.normals.push(e[r.attrNX],e[r.attrNY],e[r.attrNZ]),r.attrS!==null&&r.attrT!==null&&n.uvs.push(e[r.attrS],e[r.attrT]),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.colors.push(scratchColor.r,scratchColor.g,scratchColor.b));for(var s=0,u=Object.keys(o.customPropertyMapping);s<u.length;s++)for(var l=u[s],c=0,p=o.customPropertyMapping[l].itemNames;c<p.length;c++){var f=p[c];n[l].push(e[f])}}else if(t==="face"){var d=e.vertex_indices||e.vertex_index,h=e.texcoord;d.length===3?(n.indices.push(d[0],d[1],d[2]),h&&h.length===6&&(n.faceVertexUvs.push(h[0],h[1]),n.faceVertexUvs.push(h[2],h[3]),n.faceVertexUvs.push(h[4],h[5]))):d.length===4&&(n.indices.push(d[0],d[1],d[3]),n.indices.push(d[1],d[2],d[3])),r.attrR!==null&&r.attrG!==null&&r.attrB!==null&&(scratchColor.setRGB(e[r.attrR]/255,e[r.attrG]/255,e[r.attrB]/255),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b),n.faceVertexColors.push(scratchColor.r,scratchColor.g,scratchColor.b))}}function binaryReadElement(n,t){for(var e={},r=0,o=0;o<t.length;o++){var s=t[o],u=s.valueReader;if(s.type==="list"){var l=[],c=s.countReader.read(n+r);r+=s.countReader.size;for(var p=0;p<c;p++)l.push(u.read(n+r)),r+=u.size;e[s.name]=l}else e[s.name]=u.read(n+r),r+=u.size}return[e,r]}function setPropertyBinaryReaders(n,t,e){function r(l,c,p){switch(c){case"int8":case"char":return{read:function(f){return l.getInt8(f)},size:1};case"uint8":case"uchar":return{read:function(f){return l.getUint8(f)},size:1};case"int16":case"short":return{read:function(f){return l.getInt16(f,p)},size:2};case"uint16":case"ushort":return{read:function(f){return l.getUint16(f,p)},size:2};case"int32":case"int":return{read:function(f){return l.getInt32(f,p)},size:4};case"uint32":case"uint":return{read:function(f){return l.getUint32(f,p)},size:4};case"float32":case"float":return{read:function(f){return l.getFloat32(f,p)},size:4};case"float64":case"double":return{read:function(f){return l.getFloat64(f,p)},size:8};default:throw new Error("not support type: "+c)}}for(var o=0,s=n.length;o<s;o++){var u=n[o];u.type==="list"?(u.countReader=r(t,u.countType,e),u.valueReader=r(t,u.itemType,e)):u.valueReader=r(t,u.type,e)}}function parseBinary(n,t,e){for(var r=createBuffer(e),o=t.format==="binary_little_endian",s=new DataView(n,t.headerLength),u,l=0,c=0;c<t.elements.length;c++){var p=t.elements[c],f=p.properties,d=mapElementAttributes(f);setPropertyBinaryReaders(f,s,o);for(var h=0;h<p.count;h++){u=binaryReadElement(l,f),l+=u[1];var m=u[0];handleElement(r,p.name,m,d,e)}}return postProcess(r,e)}function extractHeaderText(n){var t=0,e=!0,r="",o=[],s=new TextDecoder().decode(n.subarray(0,5)),u=/^ply\r\n/.test(s);do{var l=String.fromCharCode(n[t++]);l!==`
|
|
917
|
+
`&&l!=="\r"?r+=l:(r==="end_header"&&(e=!1),r!==""&&(o.push(r),r=""))}while(e&&t<n.length);return u===!0&&t++,{headerText:o.join("\r")+"\r",headerLength:t}}var ArrayStream=function(){function n(t){this.arr=t,this.i=0}return n.prototype.empty=function(){return this.i>=this.arr.length},n.prototype.next=function(){return this.arr[this.i++]},n}(),u8=Uint8Array,u16=Uint16Array,i32=Int32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function(n,t){for(var e=new u16(31),r=0;r<31;++r)e[r]=t+=1<<n[r-1];for(var o=new i32(e[30]),r=1;r<30;++r)for(var s=e[r];s<e[r+1];++s)o[s]=s-e[r]<<5|r;return{b:e,r:o}},_a$3=freb(fleb,2),fl=_a$3.b,revfl=_a$3.r;fl[28]=258,revfl[258]=28;for(var _b=freb(fdeb,0),fd=_b.b,rev=new u16(32768),i=0;i<32768;++i){var x=(i&43690)>>1|(i&21845)<<1;x=(x&52428)>>2|(x&13107)<<2,x=(x&61680)>>4|(x&3855)<<4,rev[i]=((x&65280)>>8|(x&255)<<8)>>1}for(var hMap=function(n,t,e){for(var r=n.length,o=0,s=new u16(t);o<r;++o)n[o]&&++s[n[o]-1];var u=new u16(t);for(o=1;o<t;++o)u[o]=u[o-1]+s[o-1]<<1;var l;if(e){l=new u16(1<<t);var c=15-t;for(o=0;o<r;++o)if(n[o])for(var p=o<<4|n[o],f=t-n[o],d=u[n[o]-1]++<<f,h=d|(1<<f)-1;d<=h;++d)l[rev[d]>>c]=p}else for(l=new u16(r),o=0;o<r;++o)n[o]&&(l[o]=rev[u[n[o]-1]++]>>15-n[o]);return l},flt=new u8(288),i=0;i<144;++i)flt[i]=8;for(var i=144;i<256;++i)flt[i]=9;for(var i=256;i<280;++i)flt[i]=7;for(var i=280;i<288;++i)flt[i]=8;for(var fdt=new u8(32),i=0;i<32;++i)fdt[i]=5;var flrm=hMap(flt,9,1),fdrm=hMap(fdt,5,1),max=function(n){for(var t=n[0],e=1;e<n.length;++e)n[e]>t&&(t=n[e]);return t},bits=function(n,t,e){var r=t/8|0;return(n[r]|n[r+1]<<8)>>(t&7)&e},bits16=function(n,t){var e=t/8|0;return(n[e]|n[e+1]<<8|n[e+2]<<16)>>(t&7)},shft=function(n){return(n+7)/8|0},slc=function(n,t,e){return(t==null||t<0)&&(t=0),(e==null||e>n.length)&&(e=n.length),new u8(n.subarray(t,e))},ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function(n,t,e){var r=new Error(t||ec[n]);if(r.code=n,Error.captureStackTrace&&Error.captureStackTrace(r,err),!e)throw r;return r},inflt=function(n,t,e,r){var o=n.length,s=r?r.length:0;if(!o||t.f&&!t.l)return e||new u8(0);var u=!e,l=u||t.i!=2,c=t.i;u&&(e=new u8(o*3));var p=function(oe){var ae=e.length;if(oe>ae){var se=new u8(Math.max(ae*2,oe));se.set(e),e=se}},f=t.f||0,d=t.p||0,h=t.b||0,m=t.l,g=t.d,A=t.m,E=t.n,v=o*8;do{if(!m){f=bits(n,d,1);var y=bits(n,d+1,3);if(d+=3,y)if(y==1)m=flrm,g=fdrm,A=9,E=5;else if(y==2){var S=bits(n,d,31)+257,R=bits(n,d+10,15)+4,M=S+bits(n,d+5,31)+1;d+=14;for(var H=new u8(M),B=new u8(19),C=0;C<R;++C)B[clim[C]]=bits(n,d+C*3,7);d+=R*3;for(var w=max(B),I=(1<<w)-1,O=hMap(B,w,1),C=0;C<M;){var F=O[bits(n,d,I)];d+=F&15;var b=F>>4;if(b<16)H[C++]=b;else{var N=0,z=0;for(b==16?(z=3+bits(n,d,3),d+=2,N=H[C-1]):b==17?(z=3+bits(n,d,7),d+=3):b==18&&(z=11+bits(n,d,127),d+=7);z--;)H[C++]=N}}var J=H.subarray(0,S),G=H.subarray(S);A=max(J),E=max(G),m=hMap(J,A,1),g=hMap(G,E,1)}else err(1);else{var b=shft(d)+4,T=n[b-4]|n[b-3]<<8,_=b+T;if(_>o){c&&err(0);break}l&&p(h+T),e.set(n.subarray(b,_),h),t.b=h+=T,t.p=d=_*8,t.f=f;continue}if(d>v){c&&err(0);break}}l&&p(h+131072);for(var Q=(1<<A)-1,U=(1<<E)-1,V=d;;V=d){var N=m[bits16(n,d)&Q],X=N>>4;if(d+=N&15,d>v){c&&err(0);break}if(N||err(2),X<256)e[h++]=X;else if(X==256){V=d,m=null;break}else{var Z=X-254;if(X>264){var C=X-257,ee=fleb[C];Z=bits(n,d,(1<<ee)-1)+fl[C],d+=ee}var K=g[bits16(n,d)&U],re=K>>4;K||err(3),d+=K&15;var G=fd[re];if(re>3){var ee=fdeb[re];G+=bits16(n,d)&(1<<ee)-1,d+=ee}if(d>v){c&&err(0);break}l&&p(h+131072);var Y=h+Z;if(h<G){var W=s-G,le=Math.min(G,Y);for(W+h<0&&err(3);h<le;++h)e[h]=r[W+h]}for(;h<Y;++h)e[h]=e[h-G]}}t.l=m,t.p=V,t.b=h,t.f=f,m&&(f=1,t.m=A,t.d=g,t.n=E)}while(!f);return h!=e.length&&u?slc(e,0,h):e.subarray(0,h)},et=new u8(0),b2=function(n,t){return n[t]|n[t+1]<<8},b4=function(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0},b8=function(n,t){return b4(n,t)+b4(n,t+4)*4294967296},zls=function(n,t){return((n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31)&&err(6,"invalid zlib data"),(n[1]>>5&1)==+!t&&err(6,"invalid zlib data: "+(n[1]&32?"need":"unexpected")+" dictionary"),(n[1]>>3&4)+2};function inflateSync(n,t){return inflt(n,{i:2},t&&t.out,t&&t.dictionary)}function unzlibSync(n,t){return inflt(n.subarray(zls(n,t),-4),{i:2},t,t)}var td=typeof TextDecoder!="undefined"&&new TextDecoder,tds=0;try{td.decode(et,{stream:!0}),tds=1}catch(n){}var dutf8=function(n){for(var t="",e=0;;){var r=n[e++],o=(r>127)+(r>223)+(r>239);if(e+o>n.length)return{s:t,r:slc(n,e-1)};o?o==3?(r=((r&15)<<18|(n[e++]&63)<<12|(n[e++]&63)<<6|n[e++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):o&1?t+=String.fromCharCode((r&31)<<6|n[e++]&63):t+=String.fromCharCode((r&15)<<12|(n[e++]&63)<<6|n[e++]&63):t+=String.fromCharCode(r)}};function strFromU8(n,t){if(t){for(var e="",r=0;r<n.length;r+=16384)e+=String.fromCharCode.apply(null,n.subarray(r,r+16384));return e}else{if(td)return td.decode(n);var o=dutf8(n),s=o.s,e=o.r;return e.length&&err(8),s}}var slzh=function(n,t){return t+30+b2(n,t+26)+b2(n,t+28)},zh=function(n,t,e){var r=b2(n,t+28),o=strFromU8(n.subarray(t+46,t+46+r),!(b2(n,t+8)&2048)),s=t+46+r,u=b4(n,t+20),l=e&&u==4294967295?z64e(n,s):[u,b4(n,t+24),b4(n,t+42)],c=l[0],p=l[1],f=l[2];return[b2(n,t+10),c,p,o,s+b2(n,t+30)+b2(n,t+32),f]},z64e=function(n,t){for(;b2(n,t)!=1;t+=4+b2(n,t+2));return[b8(n,t+12),b8(n,t+4),b8(n,t+20)]};function unzipSync(n,t){for(var e={},r=n.length-22;b4(n,r)!=101010256;--r)(!r||n.length-r>65558)&&err(13);var o=b2(n,r+8);if(!o)return{};var s=b4(n,r+16),u=s==4294967295||o==65535;if(u){var l=b4(n,r-12);u=b4(n,l)==101075792,u&&(o=b4(n,l+32),s=b4(n,l+48))}for(var c=0;c<o;++c){var p=zh(n,s,u),f=p[0],d=p[1],h=p[2],m=p[3],g=p[4],A=p[5],E=slzh(n,A);s=g,f?f==8?e[m]=inflateSync(n.subarray(E,E+d),{out:new u8(h)}):err(14,"unknown compression type "+f):e[m]=slc(n,E,E+d)}return e}function loadFbx(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u=0;return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return u=l.body.byteLength,l.body})}).then(function(l){var c;return parse$2(l,{light:t.light,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(c=n.split("?")[1])!==null&&c!==void 0?c:"",fetcher:s})}).then(function(l){var c=l.scene,p=l.unitScale/100,f=new THREE__namespace.Matrix4;if(f.makeScale(p,p,p),l.upAxis==="X")throw new Error("Cannot load fbx x upAxis");return l.upAxis==="Y"&&f.premultiply(ROTATE_X_MATRIX),o==="Y"&&f.premultiply(ROTATE_X_MATRIX_INVERSE),c.applyMatrix4(f),{type:"fbx",modelUpAxis:l.upAxis,upAxis:o,uri:n,byteLength:u,memoryUsage:getMemoryUsage(c),scene:c,textures:l.textures,animations:l.animations,dispose:function(){return l.dispose()}}})}function parse$2(n,t){var e;if(isFbxFormatBinary(n))e=new BinaryParser().parse(n);else{var r=convertArrayBufferToString(n);if(!isFbxFormatASCII(r))throw new Error("THREE.FBXLoader: Unknown format.");if(getFbxVersion(r)<7e3)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+getFbxVersion(r));e=new TextParser().parse(r)}return new FBXTreeParser(t).parse(e)}var FBXTreeParser=function(){function n(t){var e,r,o;this.light=(e=t.light)!==null&&e!==void 0?e:!0,this.resourcePath=(r=t.resourcePath)!==null&&r!==void 0?r:"",this.search=(o=t.search)!==null&&o!==void 0?o:"",this.fetcher=t.fetcher}return n.prototype.parse=function(t){var e,r,o,s,u,l,c=this.parseConnections(t),p=Object.assign(new THREE__namespace.Group,{animations:[]}),f=[],d=this.parseImages(t),h=this.parseTextures(t,d,c,f),m=this.parseMaterials(t,h,c),g=this.parseDeformers(t,c),A=new GeometryParser().parse(t,g,c);this.parseScene(t,g,A,m,c,p);var E=(r=(e=t.GlobalSettings.UpAxis)===null||e===void 0?void 0:e.value)!==null&&r!==void 0?r:1,v=(s=(o=t.GlobalSettings.FrontAxis)===null||o===void 0?void 0:o.value)!==null&&s!==void 0?s:2,y=(l=(u=t.GlobalSettings.UnitScaleFactor)===null||u===void 0?void 0:u.value)!==null&&l!==void 0?l:1,b;if(t.GlobalSettings.AmbientColor){var T=t.GlobalSettings.AmbientColor.value,_=T[0],S=T[1],R=T[2];if(_!==0||S!==0||R!==0){var M=new THREE__namespace.Color().setRGB(_,S,R);b=new THREE__namespace.AmbientLight(M,1)}}return Promise.all(f).then(function(H){var B;return{scene:p,textures:H,ambientLight:b,upAxis:["X","Y","Z"][E],frontAxis:["X","Y","Z"][v],unitScale:y,animations:(B=p.animations)!==null&&B!==void 0?B:[],dispose:function(){H.forEach(function(C){return C.dispose()}),m.forEach(function(C){return C.dispose()}),A.forEach(function(C){return C.dispose()})}}})},n.prototype.parseConnections=function(t){var e=new Map;if("Connections"in t){var r=t.Connections.connections;r.forEach(function(o){var s=o[0],u=o[1],l=o[2];e.has(s)||e.set(s,{parents:[],children:[]});var c={ID:u,relationship:l};e.get(s).parents.push(c),e.has(u)||e.set(u,{parents:[],children:[]});var p={ID:s,relationship:l};e.get(u).children.push(p)})}return e},n.prototype.parseImages=function(t){var e={},r={};if("Video"in t.Objects){var o=t.Objects.Video;for(var s in o){var u=o[s],l=parseInt(s);if(e[l]=u.RelativeFilename||u.Filename,"Content"in u){var c=u.Content instanceof ArrayBuffer&&u.Content.byteLength>0,p=typeof u.Content=="string"&&u.Content!=="";if(c||p){var f=this.parseImage(o[s]);r[u.RelativeFilename||u.Filename]=f}}}}for(var l in e){var d=e[l];r[d]!==void 0?e[l]=r[d]:e[l]=e[l].split("\\").pop()}return e},n.prototype.parseImage=function(t){var e=t.Content,r=t.RelativeFilename||t.Filename,o=r.slice(r.lastIndexOf(".")+1).toLowerCase(),s;switch(o){case"bmp":s="image/bmp";break;case"jpg":case"jpeg":s="image/jpeg";break;case"png":s="image/png";break;case"tif":s="image/tiff";break;case"tga":s="image/tga";break;default:return}if(typeof e=="string")return"data:"+s+";base64,"+e;var u=new Uint8Array(e);return window.URL.createObjectURL(new Blob([u],{type:s}))},n.prototype.parseTextures=function(t,e,r,o){var s=new Map;if("Texture"in t.Objects){var u=t.Objects.Texture;for(var l in u){var c=this.parseTexture(u[l],e,r,o);s.set(parseInt(l),c)}}return s},n.prototype.parseTexture=function(t,e,r,o){var s=this.loadTexture(t,e,r,o);s.ID=t.id,s.name=t.attrName;var u=t.WrapModeU,l=t.WrapModeV,c=u!==void 0?u.value:0,p=l!==void 0?l.value:0;if(s.wrapS=c===0?THREE__namespace.RepeatWrapping:THREE__namespace.ClampToEdgeWrapping,s.wrapT=p===0?THREE__namespace.RepeatWrapping:THREE__namespace.ClampToEdgeWrapping,t.Scaling){var f=t.Scaling.value;s.repeat.x=f[0],s.repeat.y=f[1]}if(t.Translation){var f=t.Translation.value;s.offset.x=f[0],s.offset.y=f[1]}return s},n.prototype.loadTexture=function(t,e,r,o){var s=r.get(t.id).children,u="";s!==void 0&&s.length>0&&e[s[0].ID]!==void 0&&(u=e[s[0].ID]),u=pathJoin(this.resourcePath,appendSearch(u,this.search));var l=Object.assign(new THREE__namespace.Texture,{ID:0}),c;c=this.fetcher.loadImage(u,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(f){return f.body});var p=c.then(function(f){return l.image=f,l.needsUpdate=!0,l});return o.push(p),l},n.prototype.parseMaterials=function(t,e,r){var o=new Map;if("Material"in t.Objects){var s=t.Objects.Material;for(var u in s){var l=this.parseMaterial(t,s[u],e,r);l!==null&&o.set(parseInt(u),l)}}return o},n.prototype.parseMaterial=function(t,e,r,o){var s=e.id;e.attrName;var u=e.ShadingModel;if(typeof u=="object"&&(u=u.value),u=u.toLowerCase(),!o.has(s))return null;var l=new PBMMeshMaterial(this.light?"phong":"basic");e.BumpFactor&&(l.bumpScale=e.BumpFactor.value),e.Diffuse?l.color=new THREE__namespace.Color().fromArray(e.Diffuse.value):e.DiffuseColor&&(e.DiffuseColor.type==="Color"||e.DiffuseColor.type==="ColorRGB")&&(l.color=new THREE__namespace.Color().fromArray(e.DiffuseColor.value)),e.DisplacementFactor&&(l.displacementScale=e.DisplacementFactor.value),e.Emissive?l.emissive=new THREE__namespace.Color().fromArray(e.Emissive.value):e.EmissiveColor&&(e.EmissiveColor.type==="Color"||e.EmissiveColor.type==="ColorRGB")&&(l.emissive=new THREE__namespace.Color().fromArray(e.EmissiveColor.value)),e.EmissiveFactor&&(l.emissiveIntensity=parseFloat(e.EmissiveFactor.value));var c=1-(e.TransparencyFactor?parseFloat(e.TransparencyFactor.value):0);(c===1||c===0)&&(c=e.Opacity?parseFloat(e.Opacity.value):null,c===null&&(c=1-(e.TransparentColor?parseFloat(e.TransparentColor.value[0]):0))),l.opacity=c,l.opacity<1&&(l.transparent=!0),e.ReflectionFactor&&(l.reflectivity=e.ReflectionFactor.value),e.Shininess&&(l.shininess=e.Shininess.value),e.Specular?l.specular=new THREE__namespace.Color().fromArray(e.Specular.value):e.SpecularColor&&e.SpecularColor.type==="Color"&&(l.specular=new THREE__namespace.Color().fromArray(e.SpecularColor.value));var p=this;return o.get(s).children.forEach(function(f){var d=f.relationship;switch(d){case"Bump":l.bumpMap=p.getTexture(t,r,f.ID,o);break;case"Maya|TEX_ao_map":l.aoMap=p.getTexture(t,r,f.ID,o);break;case"DiffuseColor":case"Maya|TEX_color_map":l.map=p.getTexture(t,r,f.ID,o),l.map!==void 0&&(l.map.encoding=THREE__namespace.sRGBEncoding);break;case"DisplacementColor":l.displacementMap=p.getTexture(t,r,f.ID,o);break;case"EmissiveColor":l.emissiveMap=p.getTexture(t,r,f.ID,o),l.emissiveMap!==void 0&&(l.emissiveMap.encoding=THREE__namespace.sRGBEncoding);break;case"NormalMap":case"Maya|TEX_normal_map":l.normalMap=p.getTexture(t,r,f.ID,o);break;case"ReflectionColor":l.envMap=p.getTexture(t,r,f.ID,o),l.envMap!==void 0&&(l.envMap.mapping=THREE__namespace.EquirectangularReflectionMapping,l.envMap.encoding=THREE__namespace.sRGBEncoding);break;case"SpecularColor":l.specularMap=p.getTexture(t,r,f.ID,o),l.specularMap!==void 0&&(l.specularMap.encoding=THREE__namespace.sRGBEncoding);break;case"TransparentColor":case"TransparencyFactor":l.alphaMap=p.getTexture(t,r,f.ID,o),l.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.",d);break}}),l},n.prototype.getTexture=function(t,e,r,o){return t.Objects.LayeredTexture&&r in t.Objects.LayeredTexture&&(console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."),r=o.get(r).children[0].ID),e.get(r)},n.prototype.parseDeformers=function(t,e){var r={},o={};if("Deformer"in t.Objects){var s=t.Objects.Deformer;for(var u in s){var l=s[u],c=e.get(parseInt(u));if(l.attrType==="Skin"){var p=this.parseSkeleton(c,s);p.ID=u,c.parents.length>1&&console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."),p.geometryID=c.parents[0].ID,r[u]=p}else if(l.attrType==="BlendShape"){var f={id:u};f.rawTargets=this.parseMorphTargets(c,s,e),f.id=u,c.parents.length>1&&console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."),o[u]=f}}}return{skeletons:r,morphTargets:o}},n.prototype.parseSkeleton=function(t,e){var r=[];return t.children.forEach(function(o){var s=e[o.ID];if(s.attrType==="Cluster"){var u={ID:o.ID,indices:[],weights:[],transformLink:new THREE__namespace.Matrix4().fromArray(s.TransformLink.a)};s.Indexes&&(u.indices=s.Indexes.a,u.weights=s.Weights.a),r.push(u)}}),{ID:"",geometryID:0,rawBones:r,bones:[]}},n.prototype.parseMorphTargets=function(t,e,r){for(var o=[],s=0;s<t.children.length;s++){var u=t.children[s],l=e[u.ID],c={name:l.attrName,initialWeight:l.DeformPercent,id:l.id,fullWeights:l.FullWeights.a,geoID:0};if(l.attrType!=="BlendShapeChannel")return;c.geoID=r.get(parseInt(u.ID)).children.filter(function(p){return p.relationship===void 0})[0].ID,o.push(c)}return o},n.prototype.parseScene=function(t,e,r,o,s,u){var l=this.parseModels(t,e.skeletons,r,o,s),c=t.Objects.Model,p=this;l.forEach(function(d){var h=c[d.ID];p.setLookAtProperties(t,d,h,s,u);var m=s.get(d.ID).parents;m.forEach(function(g){var A=l.get(g.ID);A!==void 0&&A.add(d)}),d.parent===null&&u.add(d)}),this.bindSkeleton(t,e.skeletons,r,l,s),u.traverse(function(d){if(d.userData.transformData){d.parent&&(d.userData.transformData.parentMatrix=d.parent.matrix,d.userData.transformData.parentMatrixWorld=d.parent.matrixWorld);var h=generateTransform(d.userData.transformData);d.applyMatrix4(h),d.updateWorldMatrix(!0,!0)}});var f=new AnimationParser().parse(t,s,u);u.children.length===1&&u.children[0]instanceof THREE__namespace.Group&&(u=u.children[0]),u.animations=f},n.prototype.parseModels=function(t,e,r,o,s){var u=new Map,l=t.Objects.Model;for(var c in l){var p=parseInt(c),f=l[c],d=s.get(p),h=this.buildSkeleton(d,e,p,f.attrName);if(!h){switch(f.attrType){case"Camera":h=this.createCamera(t,d);break;case"Light":h=this.createLight(t,d);break;case"Mesh":h=this.createMesh(d,r,o);break;case"NurbsCurve":case"LimbNode":case"Root":h=new THREE__namespace.Bone;break;case"Null":default:h=new THREE__namespace.Group;break}h.name=f.attrName?THREE__namespace.PropertyBinding.sanitizeNodeName(f.attrName):"",h.userData.originalName=f.attrName,h.ID=p}this.getTransformData(h,f),u.set(p,h)}return u},n.prototype.buildSkeleton=function(t,e,r,o){var s=null;return t.parents.forEach(function(u){var l=function(p){var f=e[p];f.rawBones.forEach(function(d,h){if(d.ID===u.ID){var m=s;s=new THREE__namespace.Bone,s.matrixWorld.copy(d.transformLink),s.name=o?THREE__namespace.PropertyBinding.sanitizeNodeName(o):"",s.userData.originalName=o,s.ID=r,f.bones[h]=s,m!==null&&s.add(m)}})};for(var c in e)l(c)}),s},n.prototype.createCamera=function(t,e){var r,o;if(e.children.forEach(function(m){var g=t.Objects.NodeAttribute[m.ID];g!==void 0&&(o=g)}),o===void 0)r=new THREE__namespace.Object3D;else{var s=0;o.CameraProjectionType!==void 0&&o.CameraProjectionType.value===1&&(s=1);var u=1;o.NearPlane!==void 0&&(u=o.NearPlane.value/1e3);var l=1e3;o.FarPlane!==void 0&&(l=o.FarPlane.value/1e3);var c=window.innerWidth,p=window.innerHeight;o.AspectWidth!==void 0&&o.AspectHeight!==void 0&&(c=o.AspectWidth.value,p=o.AspectHeight.value);var f=c/p,d=45;o.FieldOfView!==void 0&&(d=o.FieldOfView.value);var h=o.FocalLength?o.FocalLength.value:null;switch(s){case 0:r=new THREE__namespace.PerspectiveCamera(d,f,u,l),h!==null&&r.setFocalLength(h);break;case 1:console.warn("THREE.FBXLoader: Orthographic cameras not supported yet."),r=new THREE__namespace.Object3D;break;default:console.warn("THREE.FBXLoader: Unknown camera type "+s+"."),r=new THREE__namespace.Object3D;break}}return r},n.prototype.createLight=function(t,e){var r,o;if(e.children.forEach(function(h){var m=t.Objects.NodeAttribute[h.ID];m!==void 0&&(o=m)}),o===void 0)r=new THREE__namespace.Object3D;else{var s=void 0;o.LightType===void 0?s=0:s=o.LightType.value;var u=new THREE__namespace.Color(16777215);o.Color!==void 0&&(u=new THREE__namespace.Color().fromArray(o.Color.value));var l=o.Intensity===void 0?1:o.Intensity.value/100;o.CastLightOnObject!==void 0&&o.CastLightOnObject.value===0&&(l=0);var c=0;o.FarAttenuationEnd!==void 0&&(o.EnableFarAttenuation!==void 0&&o.EnableFarAttenuation.value===0?c=0:c=o.FarAttenuationEnd.value);var p=1;switch(s){case 0:r=new THREE__namespace.PointLight(u,l,c,p);break;case 1:r=new THREE__namespace.DirectionalLight(u,l);break;case 2:var f=Math.PI/3;o.InnerAngle!==void 0&&(f=THREE__namespace.MathUtils.degToRad(o.InnerAngle.value));var d=0;o.OuterAngle!==void 0&&(d=THREE__namespace.MathUtils.degToRad(o.OuterAngle.value),d=Math.max(d,1)),r=new THREE__namespace.SpotLight(u,l,c,f,d,p);break;default:console.warn("THREE.FBXLoader: Unknown light type "+o.LightType.value+", defaulting to a PointLight."),r=new THREE__namespace.PointLight(u,l);break}o.CastShadows!==void 0&&o.CastShadows.value===1&&(r.castShadow=!0)}return r},n.prototype.createMesh=function(t,e,r){var o,s=null,u=[];if(t.children.forEach(function(c){e.has(c.ID)&&(s=e.get(c.ID)),r.has(c.ID)&&u.push(r.get(c.ID))}),u.length===0){var l=new PBMMeshMaterial(this.light?"phong":"basic");l.color=new THREE__namespace.Color(13421772),u.push(l)}return"color"in s.attributes&&u.forEach(function(c){c.vertexColors=!0}),(!s.groups||s.groups.length===0)&&s.addGroup(0,s.index?s.index.count:s.attributes.position.count,0),s.FBX_Deformer?(o=new PBMSkinnedMesh(s,u),o.normalizeSkinWeights()):o=new PBMMesh(s,u),o},n.prototype.createCurve=function(t,e){var r=t.children.reduce(function(s,u){return e.has(u.ID)&&(s=e.get(u.ID)),s},null),o=new THREE__namespace.LineBasicMaterial({name:"",color:3342591,linewidth:1});return new THREE__namespace.Line(r,o)},n.prototype.getTransformData=function(t,e){var r={};e.InheritType&&(r.inheritType=parseInt(e.InheritType.value)),e.RotationOrder?r.eulerOrder=getEulerOrder(e.RotationOrder.value):r.eulerOrder=getEulerOrder(0),e.Lcl_Translation&&(r.translation=e.Lcl_Translation.value),e.PreRotation&&(r.preRotation=e.PreRotation.value),e.Lcl_Rotation&&(r.rotation=e.Lcl_Rotation.value),e.PostRotation&&(r.postRotation=e.PostRotation.value),e.Lcl_Scaling&&(r.scale=e.Lcl_Scaling.value),e.ScalingOffset&&(r.scalingOffset=e.ScalingOffset.value),e.ScalingPivot&&(r.scalingPivot=e.ScalingPivot.value),e.RotationOffset&&(r.rotationOffset=e.RotationOffset.value),e.RotationPivot&&(r.rotationPivot=e.RotationPivot.value),t.userData.transformData=r},n.prototype.setLookAtProperties=function(t,e,r,o,s){if("LookAtProperty"in r){var u=o.get(e.ID).children;u.forEach(function(l){if(l.relationship==="LookAtProperty"){var c=t.Objects.Model[l.ID];if(c.Lcl_Translation){var p=c.Lcl_Translation.value;"target"in e&&e.target instanceof THREE__namespace.Object3D?(e.target.position.fromArray(p),s.add(e.target)):e.lookAt(new THREE__namespace.Vector3().fromArray(p))}}})}},n.prototype.bindSkeleton=function(t,e,r,o,s){var u=this.parsePoseNodes(t),l=function(p){var f=e[p],d=s.get(parseInt(f.ID)).parents;d.forEach(function(h){if(r.has(h.ID)){var m=h.ID,g=s.get(m);g.parents.forEach(function(A){if(o.has(A.ID)){var E=o.get(A.ID);E instanceof THREE__namespace.SkinnedMesh&&E.bind(new THREE__namespace.Skeleton(f.bones),u[A.ID])}})}})};for(var c in e)l(c)},n.prototype.parsePoseNodes=function(t){var e={};if(t.Objects.Pose){var r=t.Objects.Pose;for(var o in r)if(r[o].attrType==="BindPose"&&r[o].NbPoseNodes>0){var s=r[o].PoseNode;Array.isArray(s)?s.forEach(function(u){e[u.Node]=new THREE__namespace.Matrix4().fromArray(u.Matrix.a)}):e[s.Node]=new THREE__namespace.Matrix4().fromArray(s.Matrix.a)}}return e},n}(),GeometryParser=function(){function n(){this.negativeMaterialIndices=!1}return n.prototype.parse=function(t,e,r){var o=new Map;if("Geometry"in t.Objects){var s=t.Objects.Geometry;for(var u in s){var l=r.get(parseInt(u)),c=this.parseGeometry(t,l,s[u],e);o.set(parseInt(u),c)}}return this.negativeMaterialIndices===!0&&console.warn("THREE.FBXLoader: The FBX file contains invalid (negative) material indices. The asset might not render as expected."),o},n.prototype.parseGeometry=function(t,e,r,o){switch(r.attrType){case"Mesh":return this.parseMeshGeometry(t,e,r,o);case"NurbsCurve":return this.parseNurbsGeometry(r)}},n.prototype.parseMeshGeometry=function(t,e,r,o){var s=o.skeletons,u=[],l=e.parents.map(function(h){return t.Objects.Model[h.ID]});if(l.length!==0){var c=e.children.reduce(function(h,m){return s[m.ID]!==void 0&&(h=s[m.ID]),h},null);e.children.forEach(function(h){o.morphTargets[h.ID]!==void 0&&u.push(o.morphTargets[h.ID])});var p=l[0],f={};p.RotationOrder&&(f.eulerOrder=getEulerOrder(p.RotationOrder.value)),p.InheritType&&(f.inheritType=parseInt(p.InheritType.value)),p.GeometricTranslation&&(f.translation=p.GeometricTranslation.value),p.GeometricRotation&&(f.rotation=p.GeometricRotation.value),p.GeometricScaling&&(f.scale=p.GeometricScaling.value);var d=generateTransform(f);return this.genGeometry(t,r,c,u,d)}},n.prototype.genGeometry=function(t,e,r,o,s){var u=new THREE__namespace.BufferGeometry;e.attrName&&(u.name=e.attrName);var l=this.parseGeoNode(e,r),c=this.genBuffers(l),p=new THREE__namespace.Float32BufferAttribute(c.vertex,3);if(p.applyMatrix4(s),u.setAttribute("position",p),c.colors.length>0&&u.setAttribute("color",new THREE__namespace.Float32BufferAttribute(c.colors,3)),r&&(u.setAttribute("skinIndex",new THREE__namespace.Uint16BufferAttribute(c.weightsIndices,4)),u.setAttribute("skinWeight",new THREE__namespace.Float32BufferAttribute(c.vertexWeights,4)),u.FBX_Deformer=r),c.normal.length>0){var f=new THREE__namespace.Matrix3().getNormalMatrix(s),d=new THREE__namespace.Float32BufferAttribute(c.normal,3);d.applyNormalMatrix(f),u.setAttribute("normal",d)}if(c.uvs.forEach(function(E,v){var y=v===0?"uv":"uv".concat(v+1);u.setAttribute(y,new THREE__namespace.Float32BufferAttribute(c.uvs[v],2))}),l.material&&l.material.mappingType!=="AllSame"){var h=c.materialIndex[0],m=0;if(c.materialIndex.forEach(function(E,v){E!==h&&(u.addGroup(m,v-m,h),h=E,m=v)}),u.groups.length>0){var g=u.groups[u.groups.length-1],A=g.start+g.count;A!==c.materialIndex.length&&u.addGroup(A,c.materialIndex.length-A,h)}u.groups.length===0&&u.addGroup(0,c.materialIndex.length,c.materialIndex[0])}return this.addMorphTargets(t,u,e,o,s),u},n.prototype.parseGeoNode=function(t,e){var r={};if(r.vertexPositions=t.Vertices!==void 0?t.Vertices.a:[],r.vertexIndices=t.PolygonVertexIndex!==void 0?t.PolygonVertexIndex.a:[],t.LayerElementColor&&(r.color=this.parseVertexColors(t.LayerElementColor[0])),t.LayerElementMaterial&&(r.material=this.parseMaterialIndices(t.LayerElementMaterial[0])),t.LayerElementNormal&&(r.normal=this.parseNormals(t.LayerElementNormal[0])),t.LayerElementUV){r.uv=[];for(var o=0;t.LayerElementUV[o];)t.LayerElementUV[o].UV&&r.uv.push(this.parseUVs(t.LayerElementUV[o])),o++}return r.weightTable={},e!==null&&(r.skeleton=e,e.rawBones.forEach(function(s,u){s.indices.forEach(function(l,c){r.weightTable[l]===void 0&&(r.weightTable[l]=[]),r.weightTable[l].push({id:u,weight:s.weights[c]})})})),r},n.prototype.genBuffers=function(t){var e={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]},r=0,o=0,s=!1,u=[],l=[],c=[],p=[],f=[],d=[],h=this;return t.vertexIndices.forEach(function(m,g){var A=0,E=!1;m<0&&(m=m^-1,E=!0);var v=[],y=[];if(u.push(m*3,m*3+1,m*3+2),t.color){var b=getData(g,r,m,t.color);c.push(b[0],b[1],b[2])}if(t.skeleton){if(t.weightTable[m]!==void 0&&t.weightTable[m].forEach(function(R){y.push(R.weight),v.push(R.id)}),y.length>4){s||(console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),s=!0);var T=[0,0,0,0],_=[0,0,0,0];y.forEach(function(R,M){var H=R,B=v[M];_.forEach(function(C,w,I){if(H>C){I[w]=H,H=C;var O=T[w];T[w]=B,B=O}})}),v=T,y=_}for(;y.length<4;)y.push(0),v.push(0);for(var S=0;S<4;++S)f.push(y[S]),d.push(v[S])}if(t.normal){var b=getData(g,r,m,t.normal);l.push(b[0],b[1],b[2])}t.material&&t.material.mappingType!=="AllSame"&&(A=getData(g,r,m,t.material)[0],A<0&&(h.negativeMaterialIndices=!0,A=0)),t.uv&&t.uv.forEach(function(R,M){var H=getData(g,r,m,R);p[M]===void 0&&(p[M]=[]),p[M].push(H[0]),p[M].push(H[1])}),o++,E&&(h.genFace(e,t,u,A,l,c,p,f,d,o),r++,o=0,u=[],l=[],c=[],p=[],f=[],d=[])}),e},n.prototype.getNormalNewell=function(t){for(var e=new THREE__namespace.Vector3(0,0,0),r=0;r<t.length;r++){var o=t[r],s=t[(r+1)%t.length];e.x+=(o.y-s.y)*(o.z+s.z),e.y+=(o.z-s.z)*(o.x+s.x),e.z+=(o.x-s.x)*(o.y+s.y)}return e.normalize(),e},n.prototype.getNormalTangentAndBitangent=function(t){var e=this.getNormalNewell(t),r=Math.abs(e.z)>.5?new THREE__namespace.Vector3(0,1,0):new THREE__namespace.Vector3(0,0,1),o=r.cross(e).normalize(),s=e.clone().cross(o).normalize();return{normal:e,tangent:o,bitangent:s}},n.prototype.flattenVertex=function(t,e,r){return new THREE__namespace.Vector2(t.dot(e),t.dot(r))},n.prototype.genFace=function(t,e,r,o,s,u,l,c,p,f){var d;if(f>3){for(var h=[],m=e.baseVertexPositions||e.vertexPositions,g=0;g<r.length;g+=3)h.push(new THREE__namespace.Vector3(m[r[g]],m[r[g+1]],m[r[g+2]]));for(var A=this.getNormalTangentAndBitangent(h),E=A.tangent,v=A.bitangent,y=[],b=0,T=h;b<T.length;b++){var _=T[b];y.push(this.flattenVertex(_,E,v))}d=THREE__namespace.ShapeUtils.triangulateShape(y,[])}else d=[[0,1,2]];for(var S=function(I,O,F){t.vertex.push(e.vertexPositions[r[I*3]]),t.vertex.push(e.vertexPositions[r[I*3+1]]),t.vertex.push(e.vertexPositions[r[I*3+2]]),t.vertex.push(e.vertexPositions[r[O*3]]),t.vertex.push(e.vertexPositions[r[O*3+1]]),t.vertex.push(e.vertexPositions[r[O*3+2]]),t.vertex.push(e.vertexPositions[r[F*3]]),t.vertex.push(e.vertexPositions[r[F*3+1]]),t.vertex.push(e.vertexPositions[r[F*3+2]]),e.skeleton&&(t.vertexWeights.push(c[I*4]),t.vertexWeights.push(c[I*4+1]),t.vertexWeights.push(c[I*4+2]),t.vertexWeights.push(c[I*4+3]),t.vertexWeights.push(c[O*4]),t.vertexWeights.push(c[O*4+1]),t.vertexWeights.push(c[O*4+2]),t.vertexWeights.push(c[O*4+3]),t.vertexWeights.push(c[F*4]),t.vertexWeights.push(c[F*4+1]),t.vertexWeights.push(c[F*4+2]),t.vertexWeights.push(c[F*4+3]),t.weightsIndices.push(p[I*4]),t.weightsIndices.push(p[I*4+1]),t.weightsIndices.push(p[I*4+2]),t.weightsIndices.push(p[I*4+3]),t.weightsIndices.push(p[O*4]),t.weightsIndices.push(p[O*4+1]),t.weightsIndices.push(p[O*4+2]),t.weightsIndices.push(p[O*4+3]),t.weightsIndices.push(p[F*4]),t.weightsIndices.push(p[F*4+1]),t.weightsIndices.push(p[F*4+2]),t.weightsIndices.push(p[F*4+3])),e.color&&(t.colors.push(u[I*3]),t.colors.push(u[I*3+1]),t.colors.push(u[I*3+2]),t.colors.push(u[O*3]),t.colors.push(u[O*3+1]),t.colors.push(u[O*3+2]),t.colors.push(u[F*3]),t.colors.push(u[F*3+1]),t.colors.push(u[F*3+2])),e.material&&e.material.mappingType!=="AllSame"&&(t.materialIndex.push(o),t.materialIndex.push(o),t.materialIndex.push(o)),e.normal&&(t.normal.push(s[I*3]),t.normal.push(s[I*3+1]),t.normal.push(s[I*3+2]),t.normal.push(s[O*3]),t.normal.push(s[O*3+1]),t.normal.push(s[O*3+2]),t.normal.push(s[F*3]),t.normal.push(s[F*3+1]),t.normal.push(s[F*3+2])),e.uv&&e.uv.forEach(function(N,z){t.uvs[z]===void 0&&(t.uvs[z]=[]),t.uvs[z].push(l[z][I*2]),t.uvs[z].push(l[z][I*2+1]),t.uvs[z].push(l[z][O*2]),t.uvs[z].push(l[z][O*2+1]),t.uvs[z].push(l[z][F*2]),t.uvs[z].push(l[z][F*2+1])})},R=0,M=d;R<M.length;R++){var H=M[R],B=H[0],C=H[1],w=H[2];S(B,C,w)}},n.prototype.addMorphTargets=function(t,e,r,o,s){if(o.length!==0){e.morphTargetsRelative=!0,e.morphAttributes.position=[];var u=this;o.forEach(function(l){l.rawTargets.forEach(function(c){var p=t.Objects.Geometry[c.geoID];p!==void 0&&u.genMorphGeometry(e,r,p,s,c.name)})})}},n.prototype.genMorphGeometry=function(t,e,r,o,s){for(var u=e.Vertices!==void 0?e.Vertices.a:[],l=e.PolygonVertexIndex!==void 0?e.PolygonVertexIndex.a:[],c=r.Vertices!==void 0?r.Vertices.a:[],p=r.Indexes?r.Indexes.a:[],f=t.attributes.position.count*3,d=new Float32Array(f),h=0;h<p.length;h++){var m=p[h]*3;d[m]=c[h*3],d[m+1]=c[h*3+1],d[m+2]=c[h*3+2]}var g={vertexIndices:l,vertexPositions:d,baseVertexPositions:u},A=this.genBuffers(g),E=new THREE__namespace.Float32BufferAttribute(A.vertex,3);E.name=s||r.attrName,E.applyMatrix4(o),t.morphAttributes.position.push(E)},n.prototype.parseNormals=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType,o=t.Normals.a,s=[];return r==="IndexToDirect"&&(t.NormalIndex?s=t.NormalIndex.a:t.NormalsIndex&&(s=t.NormalsIndex.a)),{dataSize:3,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseUVs=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType,o=t.UV.a,s=[];return r==="IndexToDirect"&&(s=t.UVIndex.a),{dataSize:2,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseVertexColors=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType,o=t.Colors.a,s=[];r==="IndexToDirect"&&(s=t.ColorIndex.a);for(var u=0,l=new THREE__namespace.Color;u<o.length;u+=4)l.fromArray(o,u),l.toArray(o,u);return{dataSize:4,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseMaterialIndices=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType;if(e==="NoMappingInformation")return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:r};for(var o=t.Materials.a,s=[],u=0;u<o.length;++u)s.push(u);return{dataSize:1,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseNurbsGeometry=function(t){var e=parseInt(t.Order);if(isNaN(e))return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s",t.Order,t.id),new THREE__namespace.BufferGeometry;for(var r=e-1,o=t.KnotVector.a,s=[],u=t.Points.a,l=0,c=u.length;l<c;l+=4)s.push(new THREE__namespace.Vector4().fromArray(u,l));var p,f;if(t.Form==="Closed")s.push(s[0]);else if(t.Form==="Periodic"){p=r,f=o.length-1-p;for(var l=0;l<r;++l)s.push(s[l])}var d=new NURBSCurve(r,o,s,p,f),h=d.getPoints(s.length*12);return new THREE__namespace.BufferGeometry().setFromPoints(h)},n}(),AnimationParser=function(){function n(){}return n.prototype.parse=function(t,e,r){var o=[],s=this.parseClips(t,e,r);if(s!==void 0)for(var u in s){var l=s[u],c=this.addClip(l,r);o.push(c)}return o},n.prototype.parseClips=function(t,e,r){if(t.Objects.AnimationCurve!==void 0){var o=this.parseAnimationCurveNodes(t);this.parseAnimationCurves(t,o,e);var s=this.parseAnimationLayers(t,o,e,r),u=this.parseAnimStacks(t,s,e);return u}},n.prototype.parseAnimationCurveNodes=function(t){var e=t.Objects.AnimationCurveNode,r=new Map;for(var o in e){var s=e[o];if(s.attrName.match(/S|R|T|DeformPercent/)!==null){var u={id:s.id,attr:s.attrName,curves:{}};r.set(u.id,u)}}return r},n.prototype.parseAnimationCurves=function(t,e,r){var o=t.Objects.AnimationCurve;for(var s in o){var u={id:o[s].id,times:o[s].KeyTime.a.map(convertFBXTimeToSeconds),values:o[s].KeyValueFloat.a},l=r.get(u.id);if(l!==void 0){var c=l.parents[0].ID,p=l.parents[0].relationship,f=e.get(c);f&&(p.match(/X/)?f.curves.x=u:p.match(/Y/)?f.curves.y=u:p.match(/Z/)?f.curves.z=u:p.match(/DeformPercent/)&&e.has(c)&&(f.curves.morph=u))}}},n.prototype.parseAnimationLayers=function(t,e,r,o){var s=t.Objects.AnimationLayer,u=new Map,l=function(p){var f=[],d=r.get(parseInt(p));if(d!==void 0){var h=d.children;h.forEach(function(m,g){if(e.has(m.ID)){var A=e.get(m.ID);if(A.curves.x!==void 0||A.curves.y!==void 0||A.curves.z!==void 0){if(f[g]===void 0){var E=r.get(m.ID).parents.filter(function(M){return M.relationship!==void 0})[0].ID;if(E!==void 0){var v=t.Objects.Model[E.toString()];if(v===void 0){console.warn("THREE.FBXLoader: Encountered a unused curve.",m);return}var y={modelName:v.attrName?THREE__namespace.PropertyBinding.sanitizeNodeName(v.attrName):"",ID:v.id,initialPosition:[0,0,0],initialRotation:[0,0,0],initialScale:[1,1,1],transform:new THREE__namespace.Matrix4,eulerOrder:"",preRotation:[0,0,0],postRotation:[0,0,0]};o.traverse(function(M){M.ID===v.id&&(y.transform=M.matrix,M.userData.transformData&&(y.eulerOrder=M.userData.transformData.eulerOrder))}),y.transform||(y.transform=new THREE__namespace.Matrix4),v.PreRotation&&(y.preRotation=v.PreRotation.value),v.PostRotation&&(y.postRotation=v.PostRotation.value),f[g]=y}}f[g]&&(f[g][A.attr]=A)}else if(A.curves.morph!==void 0){if(f[g]===void 0){var b=r.get(m.ID).parents.filter(function(H){return H.relationship!==void 0})[0].ID,T=r.get(b).parents[0].ID,_=r.get(T).parents[0].ID,E=r.get(_).parents[0].ID,S=t.Objects.Model[E],R={modelName:S.attrName?THREE__namespace.PropertyBinding.sanitizeNodeName(S.attrName):"",morphName:t.Objects.Deformer[b].attrName};f[g]=R}f[g][A.attr]=A}}}),u.set(parseInt(p),f)}};for(var c in s)l(c);return u},n.prototype.parseAnimStacks=function(t,e,r){var o=t.Objects.AnimationStack,s={};for(var u in o){var l=r.get(parseInt(u)).children;l.length>1&&console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");var c=e.get(l[0].ID);s[u]={name:o[u].attrName,layer:c}}return s},n.prototype.addClip=function(t,e){var r=[],o=this;return t.layer.forEach(function(s){r=r.concat(o.generateTracks(s,e))}),new THREE__namespace.AnimationClip(t.name,-1,r)},n.prototype.generateTracks=function(t,e){var r=[],o=new THREE__namespace.Vector3,s=new THREE__namespace.Vector3;t.transform&&t.transform.decompose(o,new THREE__namespace.Quaternion,s);var u=o.toArray(),l=s.toArray();if(t.T!==void 0&&Object.keys(t.T.curves).length>0){var c=this.generateVectorTrack(t.modelName,t.T.curves,u,"position");c!==void 0&&r.push(c)}if(t.R!==void 0&&Object.keys(t.R.curves).length>0){var p=this.generateRotationTrack(t.modelName,t.R.curves,t.preRotation,t.postRotation,t.eulerOrder);p!==void 0&&r.push(p)}if(t.S!==void 0&&Object.keys(t.S.curves).length>0){var f=this.generateVectorTrack(t.modelName,t.S.curves,l,"scale");f!==void 0&&r.push(f)}if(t.DeformPercent!==void 0){var d=this.generateMorphTrack(t,e);d!==void 0&&r.push(d)}return r},n.prototype.generateVectorTrack=function(t,e,r,o){var s=this.getTimesForAllAxes(e),u=this.getKeyframeTrackValues(s,e,r);return new THREE__namespace.VectorKeyframeTrack(t+"."+o,s,u)},n.prototype.generateRotationTrack=function(t,e,r,o,s){var u,l;if(e.x!==void 0&&e.y!==void 0&&e.z!==void 0){var c=this.interpolateRotations(e.x,e.y,e.z,s);u=c[0],l=c[1]}var p=getEulerOrder(0),f=new THREE__namespace.Quaternion,d=new THREE__namespace.Quaternion;r!==void 0&&(r=r.map(THREE__namespace.MathUtils.degToRad),r.push(p),f.setFromEuler(new THREE__namespace.Euler().fromArray(r))),o!==void 0&&(o=o.map(THREE__namespace.MathUtils.degToRad),o.push(p),d.setFromEuler(new THREE__namespace.Euler().fromArray(o)),d.inverse());var h=new THREE__namespace.Quaternion,m=new THREE__namespace.Euler,g=[];if(!l||!u)return new THREE__namespace.QuaternionKeyframeTrack(t+".quaternion",[0],[0]);for(var A=0;A<l.length;A+=3){if(m.set(l[A],l[A+1],l[A+2],s),h.setFromEuler(m),h.premultiply(f),h.multiply(d),A>2){var E=new THREE__namespace.Quaternion().fromArray(g,(A-3)/3*4);E.dot(h)<0&&h.set(-h.x,-h.y,-h.z,-h.w)}h.toArray(g,A/3*4)}return new THREE__namespace.QuaternionKeyframeTrack(t+".quaternion",u,g)},n.prototype.generateMorphTrack=function(t,e){var r=t.DeformPercent.curves.morph,o=r.values.map(function(u){return u/100}),s=e.getObjectByName(t.modelName).morphTargetDictionary[t.morphName];return new THREE__namespace.NumberKeyframeTrack(t.modelName+".morphTargetInfluences["+s+"]",r.times,o)},n.prototype.getTimesForAllAxes=function(t){var e=[];if(t.x!==void 0&&(e=e.concat(t.x.times)),t.y!==void 0&&(e=e.concat(t.y.times)),t.z!==void 0&&(e=e.concat(t.z.times)),e=e.sort(function(l,c){return l-c}),e.length>1){for(var r=1,o=e[0],s=1;s<e.length;s++){var u=e[s];u!==o&&(e[r]=u,o=u,r++)}e=e.slice(0,r)}return e},n.prototype.getKeyframeTrackValues=function(t,e,r){var o=r,s=[],u=-1,l=-1,c=-1;return t.forEach(function(p){if(e.x&&(u=e.x.times.indexOf(p)),e.y&&(l=e.y.times.indexOf(p)),e.z&&(c=e.z.times.indexOf(p)),u!==-1){var f=e.x.values[u];s.push(f),o[0]=f}else s.push(o[0]);if(l!==-1){var d=e.y.values[l];s.push(d),o[1]=d}else s.push(o[1]);if(c!==-1){var h=e.z.values[c];s.push(h),o[2]=h}else s.push(o[2])}),s},n.prototype.interpolateRotations=function(t,e,r,o){var s=[],u=[];s.push(t.times[0]),u.push(THREE__namespace.MathUtils.degToRad(t.values[0])),u.push(THREE__namespace.MathUtils.degToRad(e.values[0])),u.push(THREE__namespace.MathUtils.degToRad(r.values[0]));for(var l=1;l<t.values.length;l++){var c=[t.values[l-1],e.values[l-1],r.values[l-1]];if(!(isNaN(c[0])||isNaN(c[1])||isNaN(c[2]))){var p=c.map(THREE__namespace.MathUtils.degToRad),f=[t.values[l],e.values[l],r.values[l]];if(!(isNaN(f[0])||isNaN(f[1])||isNaN(f[2]))){f.map(THREE__namespace.MathUtils.degToRad);var d=[f[0]-c[0],f[1]-c[1],f[2]-c[2]],h=[Math.abs(d[0]),Math.abs(d[1]),Math.abs(d[2])];if(h[0]>=180||h[1]>=180||h[2]>=180){var m=Math.max.apply(Math,h),g=m/180,A=new THREE__namespace.Euler(p[0],p[1],p[2],o),E=new THREE__namespace.Euler(p[0],p[1],p[2],o),v=new THREE__namespace.Quaternion().setFromEuler(A),y=new THREE__namespace.Quaternion().setFromEuler(E);v.dot(y)&&y.set(-y.x,-y.y,-y.z,-y.w);for(var b=t.times[l-1],T=t.times[l]-b,_=new THREE__namespace.Quaternion,S=new THREE__namespace.Euler,R=0;R<1;R+=1/g)_.copy(v.clone().slerp(y.clone(),R)),s.push(b+R*T),S.setFromQuaternion(_,o),u.push(S.x),u.push(S.y),u.push(S.z)}else s.push(t.times[l]),u.push(THREE__namespace.MathUtils.degToRad(t.values[l])),u.push(THREE__namespace.MathUtils.degToRad(e.values[l])),u.push(THREE__namespace.MathUtils.degToRad(r.values[l]))}}}return[s,u]},n}(),TextParser=function(){function n(){this.allNodes=new FBXTree,this.nodeStack=[],this.currentIndent=0,this.currentPropName=""}return n.prototype.getPrevNode=function(){return this.nodeStack[this.currentIndent-2]},n.prototype.getCurrentNode=function(){return this.nodeStack[this.currentIndent-1]},n.prototype.getCurrentProp=function(){return this.currentProp},n.prototype.pushStack=function(t){this.nodeStack.push(t),this.currentIndent+=1},n.prototype.popStack=function(){this.nodeStack.pop(),this.currentIndent-=1},n.prototype.setCurrentProp=function(t,e){this.currentProp=t,this.currentPropName=e},n.prototype.parse=function(t){this.currentIndent=0,this.allNodes=new FBXTree,this.nodeStack=[],this.currentProp=[],this.currentPropName="";var e=this,r=t.split(/[\r\n]+/);return r.forEach(function(o,s){var u=o.match(/^[\s\t]*;/),l=o.match(/^[\s\t]*$/);if(!(u||l)){var c=o.match("^\\t{"+e.currentIndent+"}(\\w+):(.*){"),p=o.match("^\\t{"+e.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),f=o.match("^\\t{"+(e.currentIndent-1)+"}}");c?e.parseNodeBegin(o,c):p?e.parseNodeProperty(o,p,r[++s]):f?e.popStack():o.match(/^[^\s\t}]/)&&e.parseNodePropertyContinued(o)}}),this.allNodes},n.prototype.parseNodeBegin=function(t,e){var r=e[1].trim().replace(/^"/,"").replace(/"$/,""),o=e[2].split(",").map(function(c){return c.trim().replace(/^"/,"").replace(/"$/,"")}),s={name:r},u=this.parseNodeAttr(o),l=this.getCurrentNode();this.currentIndent===0?this.allNodes.add(r,s):r in l?(r==="PoseNode"?l.PoseNode.push(s):l[r].id!==void 0&&(l[r]={},l[r][l[r].id]=l[r]),u.id!==""&&(l[r][u.id]=s)):typeof u.id=="number"?(l[r]={},l[r][u.id]=s):r!=="Properties70"&&(r==="PoseNode"?l[r]=[s]:l[r]=s),typeof u.id=="number"&&(s.id=u.id),u.name!==""&&(s.attrName=u.name),u.type!==""&&(s.attrType=u.type),this.pushStack(s)},n.prototype.parseNodeAttr=function(t){var e=t[0];t[0]!==""&&(e=parseInt(t[0]),isNaN(e)&&(e=t[0]));var r="",o="";return t.length>1&&(r=t[1].replace(/^(\w+)::/,""),o=t[2]),{id:e,name:r,type:o}},n.prototype.parseNodeProperty=function(t,e,r){var o=e[1].replace(/^"/,"").replace(/"$/,"").trim(),s=e[2].replace(/^"/,"").replace(/"$/,"").trim();o==="Content"&&s===","&&(s=r.replace(/"/g,"").replace(/,$/,"").trim());var u=this.getCurrentNode(),l=u.name;if(l==="Properties70"){this.parseNodeSpecialProperty(t,o,s);return}if(o==="C"){var c=s.split(",").slice(1),p=parseInt(c[0]),f=parseInt(c[1]),d=s.split(",").slice(3);d=d.map(function(h){return h.trim().replace(/^"/,"")}),o="connections",s=[p,f],append(s,d),u[o]===void 0&&(u[o]=[])}o==="Node"&&(u.id=s),o in u&&Array.isArray(u[o])?u[o].push(s):o!=="a"?u[o]=s:u.a=s,this.setCurrentProp(u,o),o==="a"&&s.slice(-1)!==","&&(u.a=parseNumberArray(s))},n.prototype.parseNodePropertyContinued=function(t){var e=this.getCurrentNode();e.a+=t,t.slice(-1)!==","&&(e.a=parseNumberArray(e.a))},n.prototype.parseNodeSpecialProperty=function(t,e,r){var o=r.split('",').map(function(f){return f.trim().replace(/^\"/,"").replace(/\s/,"_")}),s=o[0],u=o[1],l=o[2],c=o[3],p=o[4];switch(u){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":p=parseFloat(p);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":p=parseNumberArray(p);break}this.getPrevNode()[s]={type:u,type2:l,flag:c,value:p},this.setCurrentProp(this.getPrevNode(),s)},n}(),BinaryParser=function(){function n(){}return n.prototype.parse=function(t){var e=new BinaryReader(t);e.skip(23);var r=e.getUint32();if(r<6400)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+r);for(var o=new FBXTree;!this.endOfContent(e);){var s=this.parseNode(e,r);s!==null&&o.add(s.name,s)}return o},n.prototype.endOfContent=function(t){return t.size()%16===0?(t.getOffset()+160+16&-16)>=t.size():t.getOffset()+160+16>=t.size()},n.prototype.parseNode=function(t,e){var r={},o=e>=7500?t.getUint64():t.getUint32(),s=e>=7500?t.getUint64():t.getUint32();e>=7500?t.getUint64():t.getUint32();var u=t.getUint8(),l=t.getString(u);if(o===0)return null;for(var c=[],p=0;p<s;p++)c.push(this.parseProperty(t));var f=c.length>0?c[0]:"",d=c.length>1?c[1]:"",h=c.length>2?c[2]:"";for(r.singleProperty=s===1&&t.getOffset()===o;o>t.getOffset();){var m=this.parseNode(t,e);m!==null&&this.parseSubNode(l,r,m)}return r.propertyList=c,typeof f=="number"&&(r.id=f),d!==""&&(r.attrName=d),h!==""&&(r.attrType=h),l!==""&&(r.name=l),r},n.prototype.parseSubNode=function(t,e,r){if(r.singleProperty===!0){var o=r.propertyList[0];Array.isArray(o)?(e[r.name]=r,r.a=o):e[r.name]=o}else if(t==="Connections"&&r.name==="C"){var s=[];r.propertyList.forEach(function(h,m){m!==0&&s.push(h)}),e.connections===void 0&&(e.connections=[]),e.connections.push(s)}else if(r.name==="Properties70"){var u=Object.keys(r);u.forEach(function(h){e[h]=r[h]})}else if(t==="Properties70"&&r.name==="P"){var l=r.propertyList[0],c=r.propertyList[1],p=r.propertyList[2],f=r.propertyList[3],d=void 0;l.indexOf("Lcl ")===0&&(l=l.replace("Lcl ","Lcl_")),c.indexOf("Lcl ")===0&&(c=c.replace("Lcl ","Lcl_")),c==="Color"||c==="ColorRGB"||c==="Vector"||c==="Vector3D"||c.indexOf("Lcl_")===0?d=[r.propertyList[4],r.propertyList[5],r.propertyList[6]]:d=r.propertyList[4],e[l]={type:c,type2:p,flag:f,value:d}}else e[r.name]===void 0?typeof r.id=="number"?(e[r.name]={},e[r.name][r.id]=r):e[r.name]=r:r.name==="PoseNode"?(Array.isArray(e[r.name])||(e[r.name]=[e[r.name]]),e[r.name].push(r)):e[r.name][r.id]===void 0&&(e[r.name][r.id]=r)},n.prototype.parseProperty=function(t){var e=t.getString(1),r;switch(e){case"C":return t.getBoolean();case"D":return t.getFloat64();case"F":return t.getFloat32();case"I":return t.getInt32();case"L":return t.getInt64();case"R":return r=t.getUint32(),t.getArrayBuffer(r);case"S":return r=t.getUint32(),t.getString(r);case"Y":return t.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":var o=t.getUint32(),s=t.getUint32(),u=t.getUint32();if(s===0)switch(e){case"b":case"c":return t.getBooleanArray(o);case"d":return t.getFloat64Array(o);case"f":return t.getFloat32Array(o);case"i":return t.getInt32Array(o);case"l":return t.getInt64Array(o)}var l=unzlibSync(new Uint8Array(t.getArrayBuffer(u))),c=new BinaryReader(l.buffer);switch(e){case"b":case"c":return c.getBooleanArray(o);case"d":return c.getFloat64Array(o);case"f":return c.getFloat32Array(o);case"i":return c.getInt32Array(o);case"l":return c.getInt64Array(o)}break;default:throw new Error("THREE.FBXLoader: Unknown property type "+e)}},n}(),BinaryReader=function(){function n(t,e){this.dv=new DataView(t),this.offset=0,this.littleEndian=e!==void 0?e:!0,this._textDecoder=new TextDecoder}return n.prototype.getOffset=function(){return this.offset},n.prototype.size=function(){return this.dv.buffer.byteLength},n.prototype.skip=function(t){this.offset+=t},n.prototype.getBoolean=function(){return(this.getUint8()&1)===1},n.prototype.getBooleanArray=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getBoolean());return e},n.prototype.getUint8=function(){var t=this.dv.getUint8(this.offset);return this.offset+=1,t},n.prototype.getInt16=function(){var t=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,t},n.prototype.getInt32=function(){var t=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,t},n.prototype.getInt32Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getInt32());return e},n.prototype.getUint32=function(){var t=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,t},n.prototype.getInt64=function(){var t,e;return this.littleEndian?(t=this.getUint32(),e=this.getUint32()):(e=this.getUint32(),t=this.getUint32()),e&2147483648?(e=~e&4294967295,t=~t&4294967295,t===4294967295&&(e=e+1&4294967295),t=t+1&4294967295,-(e*4294967296+t)):e*4294967296+t},n.prototype.getInt64Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getInt64());return e},n.prototype.getUint64=function(){var t,e;return this.littleEndian?(t=this.getUint32(),e=this.getUint32()):(e=this.getUint32(),t=this.getUint32()),e*4294967296+t},n.prototype.getFloat32=function(){var t=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,t},n.prototype.getFloat32Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getFloat32());return e},n.prototype.getFloat64=function(){var t=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,t},n.prototype.getFloat64Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getFloat64());return e},n.prototype.getArrayBuffer=function(t){var e=this.dv.buffer.slice(this.offset,this.offset+t);return this.offset+=t,e},n.prototype.getString=function(t){var e=this.offset,r=new Uint8Array(this.dv.buffer,e,t);this.skip(t);var o=r.indexOf(0);return o>=0&&(r=new Uint8Array(this.dv.buffer,e,o)),this._textDecoder.decode(r)},n}(),FBXTree=function(){function n(){this.Connections={connections:[]},this.Objects={Model:{},NodeAttribute:{},Geometry:{}},this.GlobalSettings={}}return n.prototype.add=function(t,e){this[t]=e},n}();function isFbxFormatBinary(n){var t="Kaydara FBX Binary \0";return n.byteLength>=t.length&&t===convertArrayBufferToString(n,0,t.length)}function isFbxFormatASCII(n){var t=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"],e=0;function r(u){var l=n[u-1];return n=n.slice(e+u),e++,l}for(var o=0;o<t.length;++o){var s=r(1);if(s===t[o])return!1}return!0}function getFbxVersion(n){var t=/FBXVersion: (\d+)/,e=n.match(t);if(e){var r=parseInt(e[1]);return r}throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.")}function convertFBXTimeToSeconds(n){return n/46186158e3}var dataArray=[];function getData(n,t,e,r){var o;switch(r.mappingType){case"ByPolygonVertex":o=n;break;case"ByPolygon":o=t;break;case"ByVertice":o=e;break;case"AllSame":o=r.indices[0];break;default:console.warn("THREE.FBXLoader: unknown attribute mapping type "+r.mappingType),o=0}r.referenceType==="IndexToDirect"&&(o=r.indices[o]);var s=o*r.dataSize,u=s+r.dataSize;return slice(dataArray,r.buffer,s,u)}var tempEuler=new THREE__namespace.Euler,tempVec=new THREE__namespace.Vector3;function generateTransform(n){var t=new THREE__namespace.Matrix4,e=new THREE__namespace.Matrix4,r=new THREE__namespace.Matrix4,o=new THREE__namespace.Matrix4,s=new THREE__namespace.Matrix4,u=new THREE__namespace.Matrix4,l=new THREE__namespace.Matrix4,c=new THREE__namespace.Matrix4,p=new THREE__namespace.Matrix4,f=new THREE__namespace.Matrix4,d=new THREE__namespace.Matrix4,h=new THREE__namespace.Matrix4,m=n.inheritType?n.inheritType:0;n.translation&&t.setPosition(tempVec.fromArray(n.translation));var g=getEulerOrder(0);if(n.preRotation){var A=n.preRotation.map(THREE__namespace.MathUtils.degToRad);A.push(g),e.makeRotationFromEuler(tempEuler.fromArray(A))}if(n.rotation){var A=n.rotation.map(THREE__namespace.MathUtils.degToRad);A.push(n.eulerOrder||g),r.makeRotationFromEuler(tempEuler.fromArray(A))}if(n.postRotation){var A=n.postRotation.map(THREE__namespace.MathUtils.degToRad);A.push(g),o.makeRotationFromEuler(tempEuler.fromArray(A)),o.copy(new THREE__namespace.Matrix4().getInverse(o))}n.scale&&s.scale(tempVec.fromArray(n.scale)),n.scalingOffset&&l.setPosition(tempVec.fromArray(n.scalingOffset)),n.scalingPivot&&u.setPosition(tempVec.fromArray(n.scalingPivot)),n.rotationOffset&&c.setPosition(tempVec.fromArray(n.rotationOffset)),n.rotationPivot&&p.setPosition(tempVec.fromArray(n.rotationPivot)),n.parentMatrixWorld&&(d.copy(n.parentMatrix),f.copy(n.parentMatrixWorld));var E=e.clone().multiply(r).multiply(o),v=new THREE__namespace.Matrix4;v.extractRotation(f);var y=new THREE__namespace.Matrix4;y.copyPosition(f);var b=new THREE__namespace.Matrix4().getInverse(y).multiply(f),T=new THREE__namespace.Matrix4().getInverse(v).multiply(b),_=s,S=new THREE__namespace.Matrix4;if(m===0)S.copy(v).multiply(E).multiply(T).multiply(_);else if(m===1)S.copy(v).multiply(T).multiply(E).multiply(_);else{var R=new THREE__namespace.Matrix4().scale(new THREE__namespace.Vector3().setFromMatrixScale(d)),M=new THREE__namespace.Matrix4().getInverse(R),H=T.clone().multiply(M);S.copy(v).multiply(E).multiply(H).multiply(_)}var B=new THREE__namespace.Matrix4().getInverse(p),C=new THREE__namespace.Matrix4().getInverse(u),w=t.clone().multiply(c).multiply(p).multiply(e).multiply(r).multiply(o).multiply(B).multiply(l).multiply(u).multiply(s).multiply(C),I=new THREE__namespace.Matrix4().copyPosition(w),O=f.clone().multiply(I);return h.copyPosition(O),w=h.clone().multiply(S),w.premultiply(new THREE__namespace.Matrix4().getInverse(f)),w}function getEulerOrder(n){n=n||0;var t=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return n===6?(console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),t[0]):t[n]}function parseNumberArray(n){var t=n.split(",").map(function(e){return parseFloat(e)});return t}function convertArrayBufferToString(n,t,e){return t===void 0&&(t=0),e===void 0&&(e=n.byteLength),new TextDecoder().decode(new Uint8Array(n,t,e))}function append(n,t){for(var e=0,r=n.length,o=t.length;e<o;e++,r++)n[r]=t[e]}function slice(n,t,e,r){for(var o=e,s=0;o<r;o++,s++)n[s]=t[o];return n}var NURBSCurve=function(n){__extends(t,n);function t(e,r,o,s,u){var l=n.call(this)||this,c=r?r.length-1:0,p=o?o.length:0;l.degree=e,l.knots=r,l.controlPoints=[],l.startKnot=s||0,l.endKnot=u||c;for(var f=0;f<p;++f){var d=o[f];l.controlPoints[f]=new THREE__namespace.Vector4(d.x,d.y,d.z,d.w)}return l}return t.prototype.getPoint=function(e,r){r===void 0&&(r=new THREE__namespace.Vector3);var o=r,s=this.knots[this.startKnot]+e*(this.knots[this.endKnot]-this.knots[this.startKnot]),u=calcBSplinePoint(this.degree,this.knots,this.controlPoints,s);return u.w!==1&&u.divideScalar(u.w),o.set(u.x,u.y,u.z)},t.prototype.getTangent=function(e,r){r===void 0&&(r=new THREE__namespace.Vector3);var o=r,s=this.knots[0]+e*(this.knots[this.knots.length-1]-this.knots[0]),u=calcNURBSDerivatives(this.degree,this.knots,this.controlPoints,s,1);return o.copy(u[1]).normalize(),o},t.prototype.toJSON=function(){var e=n.prototype.toJSON.call(this);return e.degree=this.degree,e.knots=__spreadArray([],this.knots,!0),e.controlPoints=this.controlPoints.map(function(r){return r.toArray()}),e.startKnot=this.startKnot,e.endKnot=this.endKnot,e},t.prototype.fromJSON=function(e){return n.prototype.fromJSON.call(this,e),this.degree=e.degree,this.knots=__spreadArray([],e.knots,!0),this.controlPoints=e.controlPoints.map(function(r){return new THREE__namespace.Vector4(r[0],r[1],r[2],r[3])}),this.startKnot=e.startKnot,this.endKnot=e.endKnot,this},t}(THREE__namespace.Curve);function findSpan(n,t,e){var r=e.length-n-1;if(t>=e[r])return r-1;if(t<=e[n])return n;for(var o=n,s=r,u=Math.floor((o+s)/2);t<e[u]||t>=e[u+1];)t<e[u]?s=u:o=u,u=Math.floor((o+s)/2);return u}function calcBasisFunctions(n,t,e,r){var o=[],s=[],u=[];o[0]=1;for(var l=1;l<=e;++l){s[l]=t-r[n+1-l],u[l]=r[n+l]-t;for(var c=0,p=0;p<l;++p){var f=u[p+1],d=s[l-p],h=o[p]/(f+d);o[p]=c+f*h,c=d*h}o[l]=c}return o}function calcBSplinePoint(n,t,e,r){for(var o=findSpan(n,r,t),s=calcBasisFunctions(o,r,n,t),u=new THREE__namespace.Vector4(0,0,0,0),l=0;l<=n;++l){var c=e[o-n+l],p=s[l],f=c.w*p;u.x+=c.x*f,u.y+=c.y*f,u.z+=c.z*f,u.w+=c.w*p}return u}function calcBasisFunctionDerivatives(n,t,e,r,o){for(var s=[],u=0;u<=e;++u)s[u]=0;for(var l=[],u=0;u<=r;++u)l[u]=s.slice(0);for(var c=[],u=0;u<=e;++u)c[u]=s.slice(0);c[0][0]=1;for(var p=s.slice(0),f=s.slice(0),d=1;d<=e;++d){p[d]=t-o[n+1-d],f[d]=o[n+d]-t;for(var h=0,m=0;m<d;++m){var g=f[m+1],A=p[d-m];c[d][m]=g+A;var E=c[m][d-1]/c[d][m];c[m][d]=h+g*E,h=A*E}c[d][d]=h}for(var d=0;d<=e;++d)l[0][d]=c[d][e];for(var v=0;v<=e;++v){for(var y=0,b=1,T=[],u=0;u<=e;++u)T[u]=s.slice(0);T[0][0]=1;for(var _=1;_<=r;++_){var S=0,R=v-_,M=e-_;v>=_&&(T[b][0]=T[y][0]/c[M+1][R],S=T[b][0]*c[R][M]);for(var H=R>=-1?1:-R,B=v-1<=M?_-1:e-v,C=H;C<=B;++C)T[b][C]=(T[y][C]-T[y][C-1])/c[M+1][R+C],S+=T[b][C]*c[R+C][M];v<=M&&(T[b][_]=-T[y][_-1]/c[M+1][v],S+=T[b][_]*c[v][M]),l[_][v]=S;var d=y;y=b,b=d}}for(var w=e,_=1;_<=r;++_){for(var d=0;d<=e;++d)l[_][d]*=w;w*=e-_}return l}function calcBSplineDerivatives(n,t,e,r,o){for(var s=o<n?o:n,u=[],l=findSpan(n,r,t),c=calcBasisFunctionDerivatives(l,r,n,s,t),p=[],f=0;f<e.length;++f){var d=e[f].clone(),h=d.w;d.x*=h,d.y*=h,d.z*=h,p[f]=d}for(var m=0;m<=s;++m){for(var d=p[l-n].clone().multiplyScalar(c[m][0]),g=1;g<=n;++g)d.add(p[l-n+g].clone().multiplyScalar(c[m][g]));u[m]=d}for(var m=s+1;m<=o+1;++m)u[m]=new THREE__namespace.Vector4(0,0,0);return u}function calcKoverI(n,t){for(var e=1,r=2;r<=n;++r)e*=r;for(var o=1,r=2;r<=t;++r)o*=r;for(var r=2;r<=n-t;++r)o*=r;return e/o}function calcRationalCurveDerivatives(n){for(var t=n.length,e=[],r=[],o=0;o<t;++o){var s=n[o];e[o]=new THREE__namespace.Vector3(s.x,s.y,s.z),r[o]=s.w}for(var u=[],l=0;l<t;++l){for(var c=e[l].clone(),o=1;o<=l;++o)c.sub(u[l-o].clone().multiplyScalar(calcKoverI(l,o)*r[o]));u[l]=c.divideScalar(r[0])}return u}function calcNURBSDerivatives(n,t,e,r,o){var s=calcBSplineDerivatives(n,t,e,r,o);return calcRationalCurveDerivatives(s)}var _vector=new THREE__namespace.Vector3;function getPointArray(n,t){switch(t){case"D":return new Float64Array(n);case"F":return new Float32Array(n);case"L":return new Int32Array(n);case"I":return new Int16Array(n);default:return new Uint8Array(n)}}function loadX3p(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"})}).then(function(l){var c,p;return u.byteLength=l.body.byteLength,parse$1(new Uint8Array(l.body),{light:(c=t.light)!==null&&c!==void 0?c:!0,color:t.color,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(p=n.split("?")[1])!==null&&p!==void 0?p:"",fetcher:s})}).then(function(l){var c=new THREE__namespace.Group;return c.name=n,c.add(l.object),o==="Y"&&c.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"x3p",modelUpAxis:"Z",upAxis:o,uri:n,byteLength:u.byteLength,memoryUsage:getMemoryUsage(c),scene:c,textures:[],animations:[],dispose:function(){return l.dispose()}}})}function parse$1(n,t){for(var e,r,o,s,u,l,c,p,f,d,h,m,g,A,E,v,y,b,T,_,S,R,M,H,B,C,w,I,O,F,N,z,J,G,Q,U,V,X,Z,ee,K,re,Y,W,le,oe,ae,se,ie,fe,he,Te,ce,xe,j=unzipSync(n),te="",q=null,ve=0,me=Object.keys(j);ve<me.length;ve++){var ge=me[ve];/(^|\/)main\.xml$/i.test(ge)&&(q=j[ge],te=ge.slice(0,ge.lastIndexOf("/")+1))}if(!q)throw new Error("X3p: main.xml not found.");if(typeof DOMParser=="undefined")throw new Error("X3p: DOMParser not found.");var Ue=(e=t.color)!==null&&e!==void 0?e:new THREE__namespace.Color(10066329),Ke=new DOMParser,_e=decodeText(q),we=Ke.parseFromString(_e,"text/xml"),ne=we.querySelector("Record1 Axes"),pe={x:{type:(s=(o=(r=ne==null?void 0:ne.querySelector("CX AxisType"))===null||r===void 0?void 0:r.textContent)===null||o===void 0?void 0:o.toUpperCase())!==null&&s!==void 0?s:"I",dataType:(c=(l=(u=ne==null?void 0:ne.querySelector("CX DataType"))===null||u===void 0?void 0:u.textContent)===null||l===void 0?void 0:l.toUpperCase())!==null&&c!==void 0?c:"D",increment:Number((f=(p=ne==null?void 0:ne.querySelector("CX Increment"))===null||p===void 0?void 0:p.textContent)!==null&&f!==void 0?f:"1"),offset:Number((h=(d=ne==null?void 0:ne.querySelector("CX Offset"))===null||d===void 0?void 0:d.textContent)!==null&&h!==void 0?h:"0")},y:{type:(A=(g=(m=ne==null?void 0:ne.querySelector("CY AxisType"))===null||m===void 0?void 0:m.textContent)===null||g===void 0?void 0:g.toUpperCase())!==null&&A!==void 0?A:"I",dataType:(y=(v=(E=ne==null?void 0:ne.querySelector("CY DataType"))===null||E===void 0?void 0:E.textContent)===null||v===void 0?void 0:v.toUpperCase())!==null&&y!==void 0?y:"D",increment:Number((T=(b=ne==null?void 0:ne.querySelector("CY Increment"))===null||b===void 0?void 0:b.textContent)!==null&&T!==void 0?T:"1"),offset:Number((S=(_=ne==null?void 0:ne.querySelector("CY Offset"))===null||_===void 0?void 0:_.textContent)!==null&&S!==void 0?S:"0")},z:{type:(H=(M=(R=ne==null?void 0:ne.querySelector("CZ AxisType"))===null||R===void 0?void 0:R.textContent)===null||M===void 0?void 0:M.toUpperCase())!==null&&H!==void 0?H:"A",dataType:(w=(C=(B=ne==null?void 0:ne.querySelector("CZ DataType"))===null||B===void 0?void 0:B.textContent)===null||C===void 0?void 0:C.toUpperCase())!==null&&w!==void 0?w:"D",increment:Number((O=(I=ne==null?void 0:ne.querySelector("CZ Increment"))===null||I===void 0?void 0:I.textContent)!==null&&O!==void 0?O:"1"),offset:Number((N=(F=ne==null?void 0:ne.querySelector("CZ Offset"))===null||F===void 0?void 0:F.textContent)!==null&&N!==void 0?N:"0")}},Be=null,Se=we.querySelector("Record1 Axes Rotation");Se&&(Be=new THREE__namespace.Matrix3,Be.set(Number((J=(z=Se.querySelector("r11"))===null||z===void 0?void 0:z.textContent)!==null&&J!==void 0?J:0),Number((Q=(G=Se.querySelector("r12"))===null||G===void 0?void 0:G.textContent)!==null&&Q!==void 0?Q:0),Number((V=(U=Se.querySelector("r13"))===null||U===void 0?void 0:U.textContent)!==null&&V!==void 0?V:0),Number((Z=(X=Se.querySelector("r21"))===null||X===void 0?void 0:X.textContent)!==null&&Z!==void 0?Z:0),Number((K=(ee=Se.querySelector("r22"))===null||ee===void 0?void 0:ee.textContent)!==null&&K!==void 0?K:0),Number((Y=(re=Se.querySelector("r23"))===null||re===void 0?void 0:re.textContent)!==null&&Y!==void 0?Y:0),Number((le=(W=Se.querySelector("r31"))===null||W===void 0?void 0:W.textContent)!==null&&le!==void 0?le:0),Number((ae=(oe=Se.querySelector("r32"))===null||oe===void 0?void 0:oe.textContent)!==null&&ae!==void 0?ae:0),Number((ie=(se=Se.querySelector("r33"))===null||se===void 0?void 0:se.textContent)!==null&&ie!==void 0?ie:0)));var ke=(fe=we.querySelector("Record3 DataLink PointDataLink"))===null||fe===void 0?void 0:fe.textContent;if(typeof ke!="string")throw new Error("X3p: PointDataLink not found.");ke=pathJoin(te,ke);var Me=j[ke];if(!Me)throw new Error("X3p: ".concat(Me," not found."));for(var de=getPointArray(Me.buffer,pe.z.dataType),ye=Number((Te=(he=we.querySelector("Record3 MatrixDimension SizeX"))===null||he===void 0?void 0:he.textContent)!==null&&Te!==void 0?Te:"0"),He=Number((xe=(ce=we.querySelector("Record3 MatrixDimension SizeY"))===null||ce===void 0?void 0:ce.textContent)!==null&&xe!==void 0?xe:"0"),Ie=Math.floor(ye-1),Qe=Math.floor(He-1),Je=Ie+1,Le=Qe+1,Ne=new Float32Array(Je*Le*3),ft=new Float32Array(Je*Le*2),ze=new Uint32Array(Ie*Qe*6),it=new THREE__namespace.Box3,Re=0;Re<Le;Re++)for(var dt=Re*pe.y.increment+pe.y.offset,Ce=0;Ce<Je;Ce++){var Fe=Re*Je+Ce,ot=Ce*pe.x.increment+pe.x.offset,je=de[Fe],Xe=!isNaN(je),Oe=Xe?je:NaN;_vector.set(ot,-dt,Oe),Be&&_vector.applyMatrix3(Be),Xe&&it.expandByPoint(_vector),Ne[Fe*3+0]=_vector.x,Ne[Fe*3+1]=_vector.y,Ne[Fe*3+2]=_vector.z,ft[Fe*2+0]=Ce/Ie,ft[Fe*2+1]=1-Re/Qe}for(var Re=0;Re<Qe;Re++)for(var Ce=0;Ce<Ie;Ce++){var be=Ce+Je*Re,st=Ce+Je*(Re+1),At=Ce+1+Je*(Re+1),yt=Ce+1+Je*Re,We=(Re*Ie+Ce)*6;ze[We+0]=be,ze[We+1]=st,ze[We+2]=yt,ze[We+3]=st,ze[We+4]=At,ze[We+5]=yt}var De=new THREE__namespace.BufferGeometry;De.setAttribute("position",new THREE__namespace.BufferAttribute(Ne,3)),De.setAttribute("uv",new THREE__namespace.BufferAttribute(ft,2)),De.setIndex(new THREE__namespace.BufferAttribute(ze,1)),(!De.groups||De.groups.length===0)&&De.addGroup(0,De.index?De.index.count:De.attributes.position.count,0),De.boundingBox=it;var Ze=new PBMMeshMaterial(t.light?"phong":"basic");Ze.flatShading=!0,Ze.color.copy(Ue);var nt=new PBMMesh(De,[Ze]);return{object:nt,dispose:function(){De.dispose(),Ze.dispose()}}}var VolumePlaneIntersect;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(VolumePlaneIntersect||(VolumePlaneIntersect={}));var EPSILON$2=1e-6,identityMatrix4=new THREE__namespace.Matrix4().identity(),scratchVector=new THREE__namespace.Vector3,scratchMatrix4$5=new THREE__namespace.Matrix4,scratchXAxis=new THREE__namespace.Vector3,scratchYAxis=new THREE__namespace.Vector3,scratchZAxis=new THREE__namespace.Vector3,scratchSize=new THREE__namespace.Vector3,scratchBox3=new THREE__namespace.Box3,scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4Inverse$1=new THREE__namespace.Matrix4,scratchRay$1=new THREE__namespace.Ray,scratchObject3D=new THREE__namespace.Object3D,scratchFrustum=new THREE__namespace.Frustum;function quaternionFromMatrix3(n,t){var e=n.elements;return t.setFromRotationMatrix(scratchMatrix4$5.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var CullingVolume=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return scratchMatrix4$5.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$5),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var o=r[e];o.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=VolumePlaneIntersect.Inside,r=0,o=this.planes;r<o.length;r++){var s=o[r],u=t.intersectPlane(s);switch(u){case VolumePlaneIntersect.Outside:return VolumePlaneIntersect.Outside;case VolumePlaneIntersect.Intersecting:e=VolumePlaneIntersect.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,o=Math.min(32,this.planes.length),s=0;s<o;++s){var u=1<<s;if(e&u){var l=this.planes[s],c=t.intersectPlane(l);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=u)}}return r},n}(),BoxBoundingVolume=function(){function n(){this.type="box",this.center=new THREE__namespace.Vector3,this.halfSize=new THREE__namespace.Vector3,this.rotation=new THREE__namespace.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],p=e[9],f=e[10],d=e[11],h=Math.max(Math.sqrt(r*r+o*o+s*s),.001),m=Math.max(Math.sqrt(u*u+l*l+c*c),.001),g=Math.max(Math.sqrt(p*p+f*f+d*d),.001);this.halfSize.set(h,m,g);var A=this.halfSize.toArray().reduce(function(E,v){return E+v},0);return(isNaN(A)||A<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/h,o/h,s/h,u/m,l/m,c/m,p/g,f/g,d/g]),isNaN(this.rotation.toArray().reduce(function(E,v){return E+v},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),{box:__spreadArray(__spreadArray(__spreadArray(__spreadArray([],this.center.toArray(),!0),scratchXAxis.multiplyScalar(this.halfSize.x).toArray(),!0),scratchYAxis.multiplyScalar(this.halfSize.y).toArray(),!0),scratchZAxis.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return t.equals(identityMatrix4)?this:(scratchObject3D.position.copy(this.center),quaternionFromMatrix3(this.rotation,scratchObject3D.quaternion),scratchObject3D.scale.copy(this.halfSize),scratchObject3D.matrix.compose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),scratchObject3D.matrix.premultiply(t),scratchObject3D.matrix.decompose(scratchObject3D.position,scratchObject3D.quaternion,scratchObject3D.scale),this.center.copy(scratchObject3D.position),this.rotation.setFromMatrix4(scratchMatrix4$5.makeRotationFromQuaternion(scratchObject3D.quaternion)),this.halfSize.copy(scratchObject3D.scale),this)},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,o=t.y-this.center.y,s=t.z-this.center.z,u=0,l;return l=r*e[0]+o*e[1]+s*e[2],l<0&&(l=-l),l-=this.halfSize.x,l>0&&(u+=l*l),l=r*e[3]+o*e[4]+s*e[5],l<0&&(l=-l),l-=this.halfSize.y,l>0&&(u+=l*l),l=r*e[6]+o*e[7]+s*e[8],l<0&&(l=-l),l-=this.halfSize.z,l>0&&(u+=l*l),u},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new THREE__namespace.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchXAxis.setLength(this.halfSize.x),scratchYAxis.setLength(this.halfSize.y),scratchZAxis.setLength(this.halfSize.z),t.expandByPoint(scratchVector.copy(this.center).add(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchXAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchYAxis)),t.expandByPoint(scratchVector.copy(this.center).add(scratchZAxis)),t.expandByPoint(scratchVector.copy(this.center).sub(scratchZAxis)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);scratchVector.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),scratchVector.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),scratchVector.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),scratchVector.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),scratchVector.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),scratchVector.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),scratchVector.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),scratchVector.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new THREE__namespace.BufferGeometry;return r.setIndex(new THREE__namespace.BufferAttribute(t,1)),r.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,o=this.rotation.elements,s=this.halfSize,u=r.x,l=r.y,c=r.z,p=Math.abs(u*o[0]*s.x+l*o[1]*s.x+c*o[2]*s.x)+Math.abs(u*o[3]*s.y+l*o[4]*s.y+c*o[5]*s.y)+Math.abs(u*o[6]*s.z+l*o[7]*s.z+c*o[8]*s.z),f=r.dot(e)+t.constant;return f<=-p?VolumePlaneIntersect.Outside:f>=p?VolumePlaneIntersect.Inside:VolumePlaneIntersect.Intersecting},n.prototype.intersectRay=function(t,e){if(scratchSize.copy(this.halfSize).multiplyScalar(2),scratchBox3.setFromCenterAndSize(scratchVector.set(0,0,0),scratchSize),this.rotation.extractBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$5.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$5.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$5),scratchRay$1.copy(t).applyMatrix4(scratchMatrix4Inverse$1),scratchBox3.containsPoint(scratchRay$1.origin))return!0;var r=scratchRay$1.intersectBox(scratchBox3,scratchVector);return r?e!==void 0?r.applyMatrix4(scratchMatrix4$5).distanceTo(t.origin)<e:!0:!1},n}(),SphereBoundingVolume=function(){function n(){this.type="sphere",this.center=new THREE__namespace.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],EPSILON$2),this},n.prototype.toJson=function(){return{sphere:__spreadArray(__spreadArray([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,scratchSize.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+Math.sin(o)*this.radius,e[r*6+2]=this.center.z+0,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+Math.sin(o)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var o=0;o=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(o)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(o)*this.radius,o=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(o)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(o)*this.radius}var s=new THREE__namespace.BufferGeometry;return s.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),s.computeBoundingBox(),s.computeBoundingSphere(),s},n.prototype.applyMatrix4=function(t){return t.equals(identityMatrix4)?this:(this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this)},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,o=t.normal,s=o.dot(e)+t.constant;return s<-r?VolumePlaneIntersect.Outside:s<r?VolumePlaneIntersect.Intersecting:VolumePlaneIntersect.Inside},n.prototype.intersectRay=function(t,e){if(scratchSphere$1.set(this.center,this.radius),scratchSphere$1.containsPoint(t.origin))return!0;var r=t.intersectSphere(scratchSphere$1,scratchVector);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),RegionBoundingVolume=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function makeBoundingVolume(n){if("box"in n)return new BoxBoundingVolume().fromJson(n);if("sphere"in n)return new SphereBoundingVolume().fromJson(n);if("region"in n)return new RegionBoundingVolume().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var debugMaterials=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new THREE__namespace.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),debugBoxGeometry=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);scratchVector.set(1,1,1).toArray(t,0),scratchVector.set(-1,1,1).toArray(t,3),scratchVector.set(-1,-1,1).toArray(t,6),scratchVector.set(1,-1,1).toArray(t,9),scratchVector.set(1,1,-1).toArray(t,12),scratchVector.set(-1,1,-1).toArray(t,15),scratchVector.set(-1,-1,-1).toArray(t,18),scratchVector.set(1,-1,-1).toArray(t,21);var e=new THREE__namespace.BufferGeometry;return e.setIndex(new THREE__namespace.BufferAttribute(n,1)),e.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),debugSphereGeometry=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o}();function createDebugBoundingMesh(n,t){if(n instanceof BoxBoundingVolume){var e=new THREE__namespace.LineSegments(debugBoxGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),quaternionFromMatrix3(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof SphereBoundingVolume){var e=new THREE__namespace.LineSegments(debugSphereGeometry,debugMaterials[Math.min(t,debugMaterials.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var scratchVector3$5=new THREE__namespace.Vector3,scratchPlane=new THREE__namespace.Plane,scratchSphereBoundingVolume$1=new SphereBoundingVolume,scratchBoxBoundingVolume$1=new BoxBoundingVolume,Tile=function(){function n(t,e,r,o){var s=this,u,l,c,p;this.parent=null,this.contentParent=null,this.floor=0,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,distanceToCamera:0,centerZDepth:0,centerScreenY:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1,shouldRefine:!1,stackLength:0,finalResolution:!0,selectionDepth:0,shouldSelect:!1,lastSelect:!1,ancestorWithContent:null,ancestorWithContentAvailable:null},this.parent=o!=null?o:null,this.contentParent=o?o.hasRenderContent?o:o.contentParent:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(u=e.refine)!==null&&u!==void 0?u:this.parent?this.parent.refine:"REPLACE",this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(c=(l=this.parent)===null||l===void 0?void 0:l.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,byteLength:0,memoryUsage:0},e.content.group!==void 0&&(this.content.group=e.content.group),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=makeBoundingVolume(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=makeBoundingVolume(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=(p=e.extras)!==null&&p!==void 0?p:{},typeof this.extras.floor!="number"&&o&&typeof o.extras.floor=="number"&&(this.extras.floor=o.extras.floor),typeof this.extras.floor=="number"&&(this.floor=this.extras.floor,this.tileset.floorLength=Math.max(this.tileset.floorLength,this.floor+1)),this.boundingVolume&&(this.boundingVolumeDebugObject=createDebugBoundingMesh(this.boundingVolume,this.levelOfContent)),e.children?this.children=e.children.map(function(f,d){return new n("".concat(s.id,".").concat(d),f,r,s)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var o=r[e];o.traverse(t)}},n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transform;if(this.boundingVolume){var r=void 0;this.boundingVolume instanceof BoxBoundingVolume?r=scratchBoxBoundingVolume$1.copy(this.boundingVolume):this.boundingVolume instanceof SphereBoundingVolume?r=scratchSphereBoundingVolume$1.copy(this.boundingVolume):r=this.boundingVolume.clone(),r.applyMatrix4(e),t.camera.type==="OrthographicCamera"?(scratchPlane.setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position),this.state.distanceToCamera=r.distanceToPlane(scratchPlane)):this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var o=r.getCenter(scratchVector3$5).sub(t.camera.position);this.state.centerZDepth=t.camera.direction.dot(o),this.state.centerScreenY=t.camera.up.dot(o);var s=this.parent?this.parent.state.visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,s),this.state.visible=this.state.visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.centerZDepth=0,this.state.visibilityPlaneMask=CullingVolume.MASK_INDETERMINATE,this.state.visible=!0;if((this.levelOfContent<=t.minLevelOfDetail||this.geometricError>=t.maxGeometricError)&&(this.state.visible=!0),this.viewerRequestVolume){var u=void 0;this.viewerRequestVolume instanceof BoxBoundingVolume?u=scratchBoxBoundingVolume$1.copy(this.viewerRequestVolume):this.viewerRequestVolume instanceof SphereBoundingVolume?u=scratchSphereBoundingVolume$1.copy(this.viewerRequestVolume):u=this.viewerRequestVolume.clone(),u.applyMatrix4(e),this.state.inRequestVolume=u.distanceSquaredToPoint(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentMemoryUsage",{get:function(){return this.content?this.content.memoryUsage:0},enumerable:!1,configurable:!0}),n.prototype.getScreenSpaceError=function(t,e,r){var o=this.tileset.transform.getMaxScaleOnAxis(),s=this.parent?this.parent.geometricError:this.tileset.geometricError,u=o*(r?s:this.geometricError);if(u===0)return 0;var l=t.height,c=t.sseDenominator;if(t.camera.type==="OrthographicCamera"){var p=t.camera.projectionMatrix.elements,f=1/(p[5]/2),d=.9,h=f/l*d,m=u/h;return m}else{var g=Math.max(e,.001),h=g*c/l,m=u/h;return m}},n.prototype.getPriority=function(t){var e=this.refine==="ADD"||t.skipLevelOfDetail;if(e&&!this.state.visible||t.frameNumber-this.state.touchedFrameNumber>=1)return-1;var r=this.parent,o=r&&(!e||this.state.screenSpaceError===0),s=o?r.state.screenSpaceError:this.state.screenSpaceError,u=this.tileset.root?this.tileset.root.state.screenSpaceError:0,l=Math.max(u-s,0);return l},n}(),BVHObject=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,o=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):o.array.length/((e=o.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,o,s,u,l=this.indices,c=this.position,p=t;if(l){var f=l.array,d=(r=l.stride)!==null&&r!==void 0?r:1,h=(o=l.offset)!==null&&o!==void 0?o:0;p=f[t*d+h]}var m=c.array,g=(s=c.stride)!==null&&s!==void 0?s:3,A=(u=c.offset)!==null&&u!==void 0?u:0;return p=p*g+A,e.x=m[p],e.y=m[p+1],e.z=m[p+2],e},n.prototype.createTree=function(t,e,r){throw new Error("not implemented")},n.prototype.trianglesInSphere=function(t,e){throw new Error("not implemented")},n.prototype.intersectRay=function(t,e,r,o){throw new Error("not implemented")},n}(),BVHNode=function(){function n(t,e,r,o,s){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=o,this.deepth=s}return n}(),BYTES_PER_NODE=6*4+4+4+2+2;function packBVHNode(n,t){for(var e=new ArrayBuffer(t*BYTES_PER_NODE),r=new Float32Array(e),o=new Uint32Array(e),s=new Uint16Array(e),u=[n],l,c;l=u.pop();)c=l.id*BYTES_PER_NODE/4,r[c]=l.extents[0],r[c+1]=l.extents[1],r[c+2]=l.extents[2],r[c+3]=l.extents[3],r[c+4]=l.extents[4],r[c+5]=l.extents[5],o[c+6]=l.startIndex,o[c+7]=l.endIndex,c=l.id*BYTES_PER_NODE/2,l.node0&&(s[c+16]=l.node0.id,u.push(l.node0)),l.node1&&(s[c+17]=l.node1.id,u.push(l.node1));return e}function intersectNodeBox(n,t,e,r,o,s,u,l,c){c===void 0&&(c=0),e=e-c,r=r-c,o=o-c,s=s+c,u=u+c,l=l+c;var p=0,f=0,d=0,h=0,m=0,g=0;return t.x>=0?(p=(e-n.x)*t.x,f=(s-n.x)*t.x):(p=(s-n.x)*t.x,f=(e-n.x)*t.x),t.y>=0?(d=(r-n.y)*t.y,h=(u-n.y)*t.y):(d=(u-n.y)*t.y,h=(r-n.y)*t.y),!(p>h||d>f||(d>p&&(p=d),h<f&&(f=h),t.z>=0?(m=(o-n.z)*t.z,g=(l-n.z)*t.z):(m=(l-n.z)*t.z,g=(o-n.z)*t.z),p>g||m>f)||(m>p&&(p=m),g<f&&(f=g),f<0))}var BVHVector3=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.toArray=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,o=this.z;return this.x=r*t.z-o*t.y,this.y=o*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,o=t.y,s=t.z,u=e.x,l=e.y,c=e.z;return this.x=o*c-s*l,this.y=s*u-r*c,this.z=r*l-o*u,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,o=this.z-t.z;return e*e+r*r+o*o},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),BVHIntersect=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),EPSILON$1=1e-6,scratchVector3$4=new BVHVector3(0,0,0),scratchVector3A=new BVHVector3(0,0,0),scratchVector3B=new BVHVector3(0,0,0),scratchVector3C=new BVHVector3(0,0,0),BVHMesh=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionCount()/3,u=s>65535?new Uint32Array(s):new Uint16Array(s),l=new Float32Array(s*6),c=[],p=0,f=-1;if(o)for(var d=0,h=0,m=0,g=void 0,A=void 0,E=void 0,v=void 0,y=void 0,b=void 0,T=void 0;d<s;d+=1,h+=3,m+=6)u[d]=d,this.getPositionByIndex(h,scratchVector3A),this.getPositionByIndex(h+1,scratchVector3B),this.getPositionByIndex(h+2,scratchVector3C),g=v=scratchVector3A.x,T=scratchVector3B.x,T<g&&(g=T),T>v&&(v=T),T=scratchVector3C.x,T<g&&(g=T),T>v&&(v=T),A=y=scratchVector3A.y,T=scratchVector3B.y,T<A&&(A=T),T>y&&(y=T),T=scratchVector3C.y,T<A&&(A=T),T>y&&(y=T),E=b=scratchVector3A.z,T=scratchVector3B.z,T<E&&(E=T),T>b&&(b=T),T=scratchVector3C.z,T<E&&(E=T),T>b&&(b=T),l[m]=g,l[m+1]=A,l[m+2]=E,l[m+3]=v,l[m+4]=y,l[m+5]=b;else{for(var _=1/0,S=1/0,R=1/0,M=-1/0,H=-1/0,B=-1/0,d=0,h=0,m=0,g=void 0,A=void 0,E=void 0,v=void 0,y=void 0,b=void 0,T=void 0;d<s;d+=1,h+=3,m+=6)u[d]=d,this.getPositionByIndex(h,scratchVector3A),this.getPositionByIndex(h+1,scratchVector3B),this.getPositionByIndex(h+2,scratchVector3C),g=v=scratchVector3A.x,T=scratchVector3B.x,T<g&&(g=T),T>v&&(v=T),T=scratchVector3C.x,T<g&&(g=T),T>v&&(v=T),A=y=scratchVector3A.y,T=scratchVector3B.y,T<A&&(A=T),T>y&&(y=T),T=scratchVector3C.y,T<A&&(A=T),T>y&&(y=T),E=b=scratchVector3A.z,T=scratchVector3B.z,T<E&&(E=T),T>b&&(b=T),T=scratchVector3C.z,T<E&&(E=T),T>b&&(b=T),l[m]=g,l[m+1]=A,l[m+2]=E,l[m+3]=v,l[m+4]=y,l[m+5]=b,g<_&&(_=g),v>M&&(M=v),A<S&&(S=A),y>H&&(H=y),E<R&&(R=E),b>B&&(B=b);o=[_,S,R,M,H,B]}var C=new BVHNode(++f,o,0,s,0);c[p++]=C;var w=[],I=[0,1,2],O=function(N,z){return w[z]-w[N]};function F(N){var z=N.startIndex,J=N.endIndex,G=N.extents;w[0]=G[3]-G[0],w[1]=G[4]-G[1],w[2]=G[5]-G[2],I.sort(O);for(var Q=0;Q<3;Q++){for(var U=I[Q],V=G[U]+G[U+3],X=z,Z=J-1,ee=-1,K=void 0;X<=Z;)ee===-1?(K=u[X],l[K*6+U]+l[K*6+U+3]<V?X++:ee=K):(K=u[Z],l[K*6+U]+l[K*6+U+3]>=V||(u[X]=K,u[Z]=ee,ee=-1,X++),Z--);if(X>z&&X<J){var re=new BVHNode(++f,calcExtents(u,l,z,X,EPSILON$1),z,X,N.deepth+1);re.deepth<r&&re.endIndex-re.startIndex>e&&(c[p++]=re);var Y=new BVHNode(++f,calcExtents(u,l,X,J,EPSILON$1),X,J,N.deepth+1);Y.deepth<r&&Y.endIndex-Y.startIndex>e&&(c[p++]=Y),N.node0=re,N.node1=Y,N.startIndex=0,N.endIndex=0;break}}}for(;p;)F(c[--p]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(C,f+1),c.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),p=[0],f=[],d,h,m,g;(d=p.pop())!==void 0;){g=d*BYTES_PER_NODE/4;var A=clamp(e.x,u[g],u[g+3])-e.x,E=clamp(e.y,u[g+1],u[g+4])-e.y,v=clamp(e.z,u[g+2],u[g+5])-e.z;if(A*A+E*E+v*v<=r*r){for(var y=l[g+6];y<l[g+7];y++)f.push(o[y]);g=d*BYTES_PER_NODE/2,h=c[g+16],m=c[g+17],h&&p.push(h),m&&p.push(m)}}for(var b=f.length,T=new Float32Array(b*9),y=0;y<b;y++){var _=f[y];this.getPositionByIndex(_,scratchVector3$4),T[y*9]=scratchVector3$4.x,T[y*9+1]=scratchVector3$4.y,T[y*9+2]=scratchVector3$4.z,this.getPositionByIndex(_+1,scratchVector3$4),T[y*9+3]=scratchVector3$4.x,T[y*9+4]=scratchVector3$4.y,T[y*9+5]=scratchVector3$4.z,this.getPositionByIndex(_+2,scratchVector3$4),T[y*9+6]=scratchVector3$4.x,T[y*9+7]=scratchVector3$4.y,T[y*9+8]=scratchVector3$4.z}return T},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),p=new Uint32Array(l),f=new Uint16Array(l),d=new BVHVector3(1/r.x,1/r.y,1/r.z),h=[0],m,g,A,E;(m=h.pop())!==void 0;)if(E=m*BYTES_PER_NODE/4,intersectNodeBox(e,d,c[E],c[E+1],c[E+2],c[E+3],c[E+4],c[E+5])){for(var v=p[E+6],y=p[E+7],b=void 0,T=void 0,_=void 0,S=e.x,R=e.y,M=e.z,H=r.x,B=r.y,C=r.z,w=void 0,I=void 0,O=void 0,F=void 0,N=void 0,z=void 0,J=void 0,G=void 0,Q=void 0,U=void 0,V=void 0,X=void 0,Z=void 0,ee=void 0,K=void 0,re=void 0,Y=void 0,W=void 0,le=void 0,oe=void 0,ae=void 0,se=void 0,ie=void 0,fe=void 0,he=void 0,Te=void 0,ce=void 0;v<y;v++){if(b=u[v],T=b*3,this.getPositionByIndex(T,scratchVector3$4),w=scratchVector3$4.x,I=scratchVector3$4.y,O=scratchVector3$4.z,this.getPositionByIndex(T+1,scratchVector3$4),F=scratchVector3$4.x,N=scratchVector3$4.y,z=scratchVector3$4.z,this.getPositionByIndex(T+2,scratchVector3$4),J=scratchVector3$4.x,G=scratchVector3$4.y,Q=scratchVector3$4.z,U=F-w,V=N-I,X=z-O,Z=J-w,ee=G-I,K=Q-O,re=V*K-X*ee,Y=X*Z-U*K,W=U*ee-V*Z,ie=H*re+B*Y+C*W,ie>0)se=1;else if(ie<0)se=-1,ie=-ie;else continue;le=S-w,oe=R-I,ae=M-O,fe=se*(H*(oe*K-ae*ee)+B*(ae*Z-le*K)+C*(le*ee-oe*Z)),!(fe<0)&&(he=se*(H*(V*ae-X*oe)+B*(X*le-U*ae)+C*(U*oe-V*le)),!(he<0)&&(fe+he>ie||(Te=-se*(le*re+oe*Y+ae*W),!(Te<0)&&(ce=Te/ie,s.push(new BVHIntersect([w,I,O,F,N,z,J,G,Q],[S+H*ce,R+B*ce,M+C*ce],b))))))}E=m*BYTES_PER_NODE/2,g=f[E+16],A=f[E+17],g&&h.push(g),A&&h.push(A)}return s},t}(BVHObject);function clamp(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,o){if(e>=r)return[0,0,0,0,0,0];for(var s=1/0,u=1/0,l=1/0,c=-1/0,p=-1/0,f=-1/0,d=e,h=void 0,m=void 0;d<r;d++)h=n[d]*6,m=t[h],m<s&&(s=m),m=t[h+1],m<u&&(u=m),m=t[h+2],m<l&&(l=m),m=t[h+3],m>c&&(c=m),m=t[h+4],m>p&&(p=m),m=t[h+5],m>f&&(f=m);return[s-o,u-o,l-o,c+o,p+o,f+o]}var EPSILON=1e-6,ORDER_AXISES=["x","y","z"],scratchVector3$3=new BVHVector3(0,0,0),BVHPoints=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.createTree=function(e,r,o){r=Math.min(r,16);var s=this.getPositionByIndex.bind(this),u=this.getPositionCount(),l=u>65535?new Uint32Array(u):new Uint16Array(u),c=[],p=0,f=-1;if(o)for(var d=0;d<u;d+=1)l[d]=d;else{s(0,scratchVector3$3);for(var h=scratchVector3$3.x,m=scratchVector3$3.y,g=scratchVector3$3.z,A=h,E=m,v=g,d=0,y=void 0,b=void 0,T=void 0;d<u;d+=1)l[d]=d,s(d,scratchVector3$3),y=scratchVector3$3.x,b=scratchVector3$3.y,T=scratchVector3$3.z,y<h?h=y:y>A&&(A=y),b<m?m=b:b>E&&(E=b),T<g?g=T:T>v&&(v=T);o=[h,m,g,A,E,v]}var _=new BVHNode(++f,o,0,u,0);c[p++]=_;var S=[],R=[0,1,2],M=function(B,C){return S[C]-S[B]};function H(B){var C=B.startIndex,w=B.endIndex,I=B.extents;S[0]=I[3]-I[0],S[1]=I[4]-I[1],S[2]=I[5]-I[2];for(var O=R.sort(M)[0],F=ORDER_AXISES[O],N=(I[O]+I[O+3])/2,z=C,J=w-1,G=-1,Q;z<=J;)G===-1?(Q=l[z],s(Q,scratchVector3$3),scratchVector3$3[F]<N?z++:G=Q):(Q=l[J],s(Q,scratchVector3$3),scratchVector3$3[F]>=N||(l[z]=Q,l[J]=G,G=-1,z++),J--);if(z>C){var U=I.slice();U[O+3]=N+EPSILON;var V=new BVHNode(++f,U,C,z,B.deepth+1);V.deepth<r&&V.endIndex-V.startIndex>e&&(c[p++]=V),B.node0=V}if(w>z){var X=I.slice();X[O]=N-EPSILON;var Z=new BVHNode(++f,X,z,w,B.deepth+1);Z.deepth<r&&Z.endIndex-Z.startIndex>e&&(c[p++]=Z),B.node1=Z}B.startIndex=0,B.endIndex=0}for(;p;)H(c[--p]);return this.offsetArray=l,this.rootNodePacked=packBVHNode(_,f+1),c.length=0,this},t.prototype.intersectRay=function(e,r,o,s){for(var u=this.offsetArray,l=this.rootNodePacked,c=new Float32Array(l),p=new Uint32Array(l),f=new Uint16Array(l),d=o*o,h=new BVHVector3(1/r.x,1/r.y,1/r.z),m=[0],g,A,E,v;(g=m.pop())!==void 0;)if(v=g*BYTES_PER_NODE/4,intersectNodeBox(e,h,c[v],c[v+1],c[v+2],c[v+3],c[v+4],c[v+5],o)){for(var y=p[v+6],b=p[v+7],T=void 0,_=void 0,S=void 0,R=void 0,M=void 0,H=void 0,B=void 0,C=void 0,w=void 0,I=void 0,O=void 0,F=void 0;y<b;y++)T=u[y],this.getPositionByIndex(T,scratchVector3$3),_=scratchVector3$3.x,S=scratchVector3$3.y,R=scratchVector3$3.z,M=e.x,H=e.y,B=e.z,C=r.x,w=r.y,I=r.z,O=C*(_-M)+w*(S-H)+I*(R-B),O>0&&(M+=C*O,H+=w*O,B+=I*O),C=_-M,w=S-H,I=R-B,O=C*C+w*w+I*I,O<=d&&s.push(new BVHIntersect([_,S,R,_,S,R,_,S,R],[M,H,B],T));v=g*BYTES_PER_NODE/2,A=f[v+16],E=f[v+17],A&&m.push(A),E&&m.push(E)}return s},t}(BVHObject);const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlcj1mdW5jdGlvbihlLHIpe3JldHVybiBlcj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxvKXt0Ll9fcHJvdG9fXz1vfXx8ZnVuY3Rpb24odCxvKXtmb3IodmFyIGYgaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxmKSYmKHRbZl09b1tmXSl9LGVyKGUscil9O2Z1bmN0aW9uIGhyKGUscil7aWYodHlwZW9mIHIhPSJmdW5jdGlvbiImJnIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcocikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXIoZSxyKTtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXI9PT1udWxsP09iamVjdC5jcmVhdGUocik6KHQucHJvdG90eXBlPXIucHJvdG90eXBlLG5ldyB0KX10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iJiZTdXBwcmVzc2VkRXJyb3I7dmFyIGRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQpe3RoaXMucG9zaXRpb249cix0aGlzLmluZGljZXM9dH1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25Db3VudD1mdW5jdGlvbigpe3ZhciByLHQsbz10aGlzLmluZGljZXMsZj10aGlzLnBvc2l0aW9uO3JldHVybiBvP28uYXJyYXkubGVuZ3RoLygocj1vLnN0cmlkZSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSk6Zi5hcnJheS5sZW5ndGgvKCh0PWYuc3RyaWRlKSE9PW51bGwmJnQhPT12b2lkIDA/dDozKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb25CeUluZGV4PWZ1bmN0aW9uKHIsdCl7dmFyIG8sZixkLHYsbj10aGlzLmluZGljZXMscz10aGlzLnBvc2l0aW9uLHU9cjtpZihuKXt2YXIgdz1uLmFycmF5LHk9KG89bi5zdHJpZGUpIT09bnVsbCYmbyE9PXZvaWQgMD9vOjEscD0oZj1uLm9mZnNldCkhPT1udWxsJiZmIT09dm9pZCAwP2Y6MDt1PXdbcip5K3BdfXZhciBhPXMuYXJyYXksaD0oZD1zLnN0cmlkZSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MyxBPSh2PXMub2Zmc2V0KSE9PW51bGwmJnYhPT12b2lkIDA/djowO3JldHVybiB1PXUqaCtBLHQueD1hW3VdLHQueT1hW3UrMV0sdC56PWFbdSsyXSx0fSxlLnByb3RvdHlwZS5jcmVhdGVUcmVlPWZ1bmN0aW9uKHIsdCxvKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlLnByb3RvdHlwZS50cmlhbmdsZXNJblNwaGVyZT1mdW5jdGlvbihyLHQpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9LGUucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLHQsbyxmKXt0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpfSxlfSgpLG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHIsdCxvLGYsZCl7dGhpcy5pZD1yLHRoaXMuZXh0ZW50cz10LHRoaXMuc3RhcnRJbmRleD1vLHRoaXMuZW5kSW5kZXg9Zix0aGlzLmRlZXB0aD1kfXJldHVybiBlfSgpLFE9Nio0KzQrNCsyKzI7ZnVuY3Rpb24geXIoZSxyKXtmb3IodmFyIHQ9bmV3IEFycmF5QnVmZmVyKHIqUSksbz1uZXcgRmxvYXQzMkFycmF5KHQpLGY9bmV3IFVpbnQzMkFycmF5KHQpLGQ9bmV3IFVpbnQxNkFycmF5KHQpLHY9W2VdLG4scztuPXYucG9wKCk7KXM9bi5pZCpRLzQsb1tzXT1uLmV4dGVudHNbMF0sb1tzKzFdPW4uZXh0ZW50c1sxXSxvW3MrMl09bi5leHRlbnRzWzJdLG9bcyszXT1uLmV4dGVudHNbM10sb1tzKzRdPW4uZXh0ZW50c1s0XSxvW3MrNV09bi5leHRlbnRzWzVdLGZbcys2XT1uLnN0YXJ0SW5kZXgsZltzKzddPW4uZW5kSW5kZXgscz1uLmlkKlEvMixuLm5vZGUwJiYoZFtzKzE2XT1uLm5vZGUwLmlkLHYucHVzaChuLm5vZGUwKSksbi5ub2RlMSYmKGRbcysxN109bi5ub2RlMS5pZCx2LnB1c2gobi5ub2RlMSkpO3JldHVybiB0fWZ1bmN0aW9uIGNyKGUscix0LG8sZixkLHYsbixzKXtzPT09dm9pZCAwJiYocz0wKSx0PXQtcyxvPW8tcyxmPWYtcyxkPWQrcyx2PXYrcyxuPW4rczt2YXIgdT0wLHc9MCx5PTAscD0wLGE9MCxoPTA7cmV0dXJuIHIueD49MD8odT0odC1lLngpKnIueCx3PShkLWUueCkqci54KToodT0oZC1lLngpKnIueCx3PSh0LWUueCkqci54KSxyLnk+PTA/KHk9KG8tZS55KSpyLnkscD0odi1lLnkpKnIueSk6KHk9KHYtZS55KSpyLnkscD0oby1lLnkpKnIueSksISh1PnB8fHk+d3x8KHk+dSYmKHU9eSkscDx3JiYodz1wKSxyLno+PTA/KGE9KGYtZS56KSpyLnosaD0obi1lLnopKnIueik6KGE9KG4tZS56KSpyLnosaD0oZi1lLnopKnIueiksdT5ofHxhPncpfHwoYT51JiYodT1hKSxoPHcmJih3PWgpLHc8MCkpfXZhciBZPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShyLHQsbyl7dGhpcy54PXIsdGhpcy55PXQsdGhpcy56PW99cmV0dXJuIGUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueD1yLngsdGhpcy55PXIueSx0aGlzLno9ci56LHRoaXN9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbihyLHQsbyl7cmV0dXJuIHRoaXMueD1yLHRoaXMueT10LHRoaXMuej1vLHRoaXN9LGUucHJvdG90eXBlLmZyb21BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiB0PT09dm9pZCAwJiYodD0wKSx0aGlzLng9clt0XSx0aGlzLnk9clt0KzFdLHRoaXMuej1yW3QrMl0sdGhpc30sZS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihyLHQpe3JldHVybiByPT09dm9pZCAwJiYocj1bXSksdD09PXZvaWQgMCYmKHQ9MCksclt0XT10aGlzLngsclt0KzFdPXRoaXMueSxyW3QrMl09dGhpcy56LHJ9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kz1yLngsdGhpcy55Kz1yLnksdGhpcy56Kz1yLnosdGhpc30sZS5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMueCo9cix0aGlzLnkqPXIsdGhpcy56Kj1yLHRoaXN9LGUucHJvdG90eXBlLnN1YlZlY3RvcnM9ZnVuY3Rpb24ocix0KXtyZXR1cm4gdGhpcy54PXIueC10LngsdGhpcy55PXIueS10LnksdGhpcy56PXIuei10LnosdGhpc30sZS5wcm90b3R5cGUuYWRkU2NhbGVkVmVjdG9yPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMueCs9ci54KnQsdGhpcy55Kz1yLnkqdCx0aGlzLnorPXIueip0LHRoaXN9LGUucHJvdG90eXBlLmRvdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54KnIueCt0aGlzLnkqci55K3RoaXMueipyLnp9LGUucHJvdG90eXBlLmNyb3NzPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueCxvPXRoaXMueSxmPXRoaXMuejtyZXR1cm4gdGhpcy54PW8qci56LWYqci55LHRoaXMueT1mKnIueC10KnIueix0aGlzLno9dCpyLnktbypyLngsdGhpc30sZS5wcm90b3R5cGUuY3Jvc3NWZWN0b3JzPWZ1bmN0aW9uKHIsdCl7dmFyIG89ci54LGY9ci55LGQ9ci56LHY9dC54LG49dC55LHM9dC56O3JldHVybiB0aGlzLng9ZipzLWQqbix0aGlzLnk9ZCp2LW8qcyx0aGlzLno9bypuLWYqdix0aGlzfSxlLnByb3RvdHlwZS5kaXN0YW5jZVRvPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0YW5jZVRvU3F1YXJlZChyKSl9LGUucHJvdG90eXBlLmRpc3RhbmNlVG9TcXVhcmVkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMueC1yLngsbz10aGlzLnktci55LGY9dGhpcy56LXIuejtyZXR1cm4gdCp0K28qbytmKmZ9LGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKHRoaXMueCx0aGlzLnksdGhpcy56KX0sZX0oKSxwcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUocix0LG8pe3RoaXMudHJpYW5nbGU9cix0aGlzLmludGVyc2VjdGlvblBvaW50PXQsdGhpcy5pbmRleD1vfXJldHVybiBlfSgpLGxyPTFlLTYsUz1uZXcgWSgwLDAsMCksRD1uZXcgWSgwLDAsMCksZz1uZXcgWSgwLDAsMCksWD1uZXcgWSgwLDAsMCksQXI9ZnVuY3Rpb24oZSl7aHIocixlKTtmdW5jdGlvbiByKCl7cmV0dXJuIGUhPT1udWxsJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gci5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbih0LG8sZil7bz1NYXRoLm1pbihvLDE2KTt2YXIgZD10aGlzLmdldFBvc2l0aW9uQ291bnQoKS8zLHY9ZD42NTUzNT9uZXcgVWludDMyQXJyYXkoZCk6bmV3IFVpbnQxNkFycmF5KGQpLG49bmV3IEZsb2F0MzJBcnJheShkKjYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MCxwPTAsYT0wLGg9dm9pZCAwLEE9dm9pZCAwLGw9dm9pZCAwLEk9dm9pZCAwLGM9dm9pZCAwLHo9dm9pZCAwLGk9dm9pZCAwO3k8ZDt5Kz0xLHArPTMsYSs9Nil2W3ldPXksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCxEKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzEsZyksdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgocCsyLFgpLGg9ST1ELngsaT1nLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLGk9WC54LGk8aCYmKGg9aSksaT5JJiYoST1pKSxBPWM9RC55LGk9Zy55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxpPVgueSxpPEEmJihBPWkpLGk+YyYmKGM9aSksbD16PUQueixpPWcueixpPGwmJihsPWkpLGk+eiYmKHo9aSksaT1YLnosaTxsJiYobD1pKSxpPnomJih6PWkpLG5bYV09aCxuW2ErMV09QSxuW2ErMl09bCxuW2ErM109SSxuW2ErNF09YyxuW2ErNV09ejtlbHNle2Zvcih2YXIgaz0xLzAsSD0xLzAsaj0xLzAscT0tMS8wLE09LTEvMCxQPS0xLzAseT0wLHA9MCxhPTAsaD12b2lkIDAsQT12b2lkIDAsbD12b2lkIDAsST12b2lkIDAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTxkO3krPTEscCs9MyxhKz02KXZbeV09eSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwLEQpLHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KHArMSxnKSx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChwKzIsWCksaD1JPUQueCxpPWcueCxpPGgmJihoPWkpLGk+SSYmKEk9aSksaT1YLngsaTxoJiYoaD1pKSxpPkkmJihJPWkpLEE9Yz1ELnksaT1nLnksaTxBJiYoQT1pKSxpPmMmJihjPWkpLGk9WC55LGk8QSYmKEE9aSksaT5jJiYoYz1pKSxsPXo9RC56LGk9Zy56LGk8bCYmKGw9aSksaT56JiYoej1pKSxpPVgueixpPGwmJihsPWkpLGk+eiYmKHo9aSksblthXT1oLG5bYSsxXT1BLG5bYSsyXT1sLG5bYSszXT1JLG5bYSs0XT1jLG5bYSs1XT16LGg8ayYmKGs9aCksST5xJiYocT1JKSxBPEgmJihIPUEpLGM+TSYmKE09YyksbDxqJiYoaj1sKSx6PlAmJihQPXopO2Y9W2ssSCxqLHEsTSxQXX12YXIgVD1uZXcgbSgrK3csZiwwLGQsMCk7c1t1KytdPVQ7dmFyIE49W10sQj1bMCwxLDJdLFY9ZnVuY3Rpb24oVSxfKXtyZXR1cm4gTltfXS1OW1VdfTtmdW5jdGlvbiBSKFUpe3ZhciBfPVUuc3RhcnRJbmRleCwkPVUuZW5kSW5kZXgsRj1VLmV4dGVudHM7TlswXT1GWzNdLUZbMF0sTlsxXT1GWzRdLUZbMV0sTlsyXT1GWzVdLUZbMl0sQi5zb3J0KFYpO2Zvcih2YXIgVz0wO1c8MztXKyspe2Zvcih2YXIgTD1CW1ddLEc9RltMXStGW0wrM10seD1fLEM9JC0xLEs9LTEsSj12b2lkIDA7eDw9QzspSz09PS0xPyhKPXZbeF0sbltKKjYrTF0rbltKKjYrTCszXTxHP3grKzpLPUopOihKPXZbQ10sbltKKjYrTF0rbltKKjYrTCszXT49R3x8KHZbeF09Six2W0NdPUssSz0tMSx4KyspLEMtLSk7aWYoeD5fJiZ4PCQpe3ZhciBiPW5ldyBtKCsrdyxJcih2LG4sXyx4LGxyKSxfLHgsVS5kZWVwdGgrMSk7Yi5kZWVwdGg8byYmYi5lbmRJbmRleC1iLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1iKTt2YXIgTz1uZXcgbSgrK3csSXIodixuLHgsJCxscikseCwkLFUuZGVlcHRoKzEpO08uZGVlcHRoPG8mJk8uZW5kSW5kZXgtTy5zdGFydEluZGV4PnQmJihzW3UrK109TyksVS5ub2RlMD1iLFUubm9kZTE9TyxVLnN0YXJ0SW5kZXg9MCxVLmVuZEluZGV4PTA7YnJlYWt9fX1mb3IoO3U7KVIoc1stLXVdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9eXIoVCx3KzEpLHMubGVuZ3RoPTAsdGhpc30sci5wcm90b3R5cGUudHJpYW5nbGVzSW5TcGhlcmU9ZnVuY3Rpb24odCxvKXtmb3IodmFyIGY9dGhpcy5vZmZzZXRBcnJheSxkPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGQpLG49bmV3IFVpbnQzMkFycmF5KGQpLHM9bmV3IFVpbnQxNkFycmF5KGQpLHU9WzBdLHc9W10seSxwLGEsaDsoeT11LnBvcCgpKSE9PXZvaWQgMDspe2g9eSpRLzQ7dmFyIEE9c3IodC54LHZbaF0sdltoKzNdKS10LngsbD1zcih0LnksdltoKzFdLHZbaCs0XSktdC55LEk9c3IodC56LHZbaCsyXSx2W2grNV0pLXQuejtpZihBKkErbCpsK0kqSTw9bypvKXtmb3IodmFyIGM9bltoKzZdO2M8bltoKzddO2MrKyl3LnB1c2goZltjXSk7aD15KlEvMixwPXNbaCsxNl0sYT1zW2grMTddLHAmJnUucHVzaChwKSxhJiZ1LnB1c2goYSl9fWZvcih2YXIgej13Lmxlbmd0aCxpPW5ldyBGbG9hdDMyQXJyYXkoeio5KSxjPTA7Yzx6O2MrKyl7dmFyIGs9d1tjXTt0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrLFMpLGlbYyo5XT1TLngsaVtjKjkrMV09Uy55LGlbYyo5KzJdPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChrKzEsUyksaVtjKjkrM109Uy54LGlbYyo5KzRdPVMueSxpW2MqOSs1XT1TLnosdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaysyLFMpLGlbYyo5KzZdPVMueCxpW2MqOSs3XT1TLnksaVtjKjkrOF09Uy56fXJldHVybiBpfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PW5ldyBZKDEvby54LDEvby55LDEvby56KSxwPVswXSxhLGgsQSxsOyhhPXAucG9wKCkpIT09dm9pZCAwOylpZihsPWEqUS80LGNyKHQseSxzW2xdLHNbbCsxXSxzW2wrMl0sc1tsKzNdLHNbbCs0XSxzW2wrNV0pKXtmb3IodmFyIEk9dVtsKzZdLGM9dVtsKzddLHo9dm9pZCAwLGk9dm9pZCAwLGs9dm9pZCAwLEg9dC54LGo9dC55LHE9dC56LE09by54LFA9by55LFQ9by56LE49dm9pZCAwLEI9dm9pZCAwLFY9dm9pZCAwLFI9dm9pZCAwLFU9dm9pZCAwLF89dm9pZCAwLCQ9dm9pZCAwLEY9dm9pZCAwLFc9dm9pZCAwLEw9dm9pZCAwLEc9dm9pZCAwLHg9dm9pZCAwLEM9dm9pZCAwLEs9dm9pZCAwLEo9dm9pZCAwLGI9dm9pZCAwLE89dm9pZCAwLGFyPXZvaWQgMCxycj12b2lkIDAsdHI9dm9pZCAwLG9yPXZvaWQgMCxpcj12b2lkIDAsWj12b2lkIDAsdnI9dm9pZCAwLGZyPXZvaWQgMCx1cj12b2lkIDAsbnI9dm9pZCAwO0k8YztJKyspe2lmKHo9dltJXSxpPXoqMyx0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpLFMpLE49Uy54LEI9Uy55LFY9Uy56LHRoaXMuZ2V0UG9zaXRpb25CeUluZGV4KGkrMSxTKSxSPVMueCxVPVMueSxfPVMueix0aGlzLmdldFBvc2l0aW9uQnlJbmRleChpKzIsUyksJD1TLngsRj1TLnksVz1TLnosTD1SLU4sRz1VLUIseD1fLVYsQz0kLU4sSz1GLUIsSj1XLVYsYj1HKkoteCpLLE89eCpDLUwqSixhcj1MKkstRypDLFo9TSpiK1AqTytUKmFyLFo+MClpcj0xO2Vsc2UgaWYoWjwwKWlyPS0xLFo9LVo7ZWxzZSBjb250aW51ZTtycj1ILU4sdHI9ai1CLG9yPXEtVix2cj1pciooTSoodHIqSi1vcipLKStQKihvcipDLXJyKkopK1QqKHJyKkstdHIqQykpLCEodnI8MCkmJihmcj1pciooTSooRypvci14KnRyKStQKih4KnJyLUwqb3IpK1QqKEwqdHItRypycikpLCEoZnI8MCkmJih2citmcj5afHwodXI9LWlyKihycipiK3RyKk8rb3IqYXIpLCEodXI8MCkmJihucj11ci9aLGQucHVzaChuZXcgcHIoW04sQixWLFIsVSxfLCQsRixXXSxbSCtNKm5yLGorUCpucixxK1QqbnJdLHopKSkpKSl9bD1hKlEvMixoPXdbbCsxNl0sQT13W2wrMTddLGgmJnAucHVzaChoKSxBJiZwLnB1c2goQSl9cmV0dXJuIGR9LHJ9KGRyKTtmdW5jdGlvbiBzcihlLHIsdCl7cmV0dXJuIGU8cj9yOmU+dD90OmV9ZnVuY3Rpb24gSXIoZSxyLHQsbyxmKXtpZih0Pj1vKXJldHVyblswLDAsMCwwLDAsMF07Zm9yKHZhciBkPTEvMCx2PTEvMCxuPTEvMCxzPS0xLzAsdT0tMS8wLHc9LTEvMCx5PXQscD12b2lkIDAsYT12b2lkIDA7eTxvO3krKylwPWVbeV0qNixhPXJbcF0sYTxkJiYoZD1hKSxhPXJbcCsxXSxhPHYmJih2PWEpLGE9cltwKzJdLGE8biYmKG49YSksYT1yW3ArM10sYT5zJiYocz1hKSxhPXJbcCs0XSxhPnUmJih1PWEpLGE9cltwKzVdLGE+dyYmKHc9YSk7cmV0dXJuW2QtZix2LWYsbi1mLHMrZix1K2YsdytmXX12YXIgd3I9MWUtNix6cj1bIngiLCJ5IiwieiJdLEU9bmV3IFkoMCwwLDApLFByPWZ1bmN0aW9uKGUpe2hyKHIsZSk7ZnVuY3Rpb24gcigpe3JldHVybiBlIT09bnVsbCYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHIucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24odCxvLGYpe289TWF0aC5taW4obywxNik7dmFyIGQ9dGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXguYmluZCh0aGlzKSx2PXRoaXMuZ2V0UG9zaXRpb25Db3VudCgpLG49dj42NTUzNT9uZXcgVWludDMyQXJyYXkodik6bmV3IFVpbnQxNkFycmF5KHYpLHM9W10sdT0wLHc9LTE7aWYoZilmb3IodmFyIHk9MDt5PHY7eSs9MSluW3ldPXk7ZWxzZXtkKDAsRSk7Zm9yKHZhciBwPUUueCxhPUUueSxoPUUueixBPXAsbD1hLEk9aCx5PTAsYz12b2lkIDAsej12b2lkIDAsaT12b2lkIDA7eTx2O3krPTEpblt5XT15LGQoeSxFKSxjPUUueCx6PUUueSxpPUUueixjPHA/cD1jOmM+QSYmKEE9YyksejxhP2E9ejp6PmwmJihsPXopLGk8aD9oPWk6aT5JJiYoST1pKTtmPVtwLGEsaCxBLGwsSV19dmFyIGs9bmV3IG0oKyt3LGYsMCx2LDApO3NbdSsrXT1rO3ZhciBIPVtdLGo9WzAsMSwyXSxxPWZ1bmN0aW9uKFAsVCl7cmV0dXJuIEhbVF0tSFtQXX07ZnVuY3Rpb24gTShQKXt2YXIgVD1QLnN0YXJ0SW5kZXgsTj1QLmVuZEluZGV4LEI9UC5leHRlbnRzO0hbMF09QlszXS1CWzBdLEhbMV09Qls0XS1CWzFdLEhbMl09Qls1XS1CWzJdO2Zvcih2YXIgVj1qLnNvcnQocSlbMF0sUj16cltWXSxVPShCW1ZdK0JbViszXSkvMixfPVQsJD1OLTEsRj0tMSxXO188PSQ7KUY9PT0tMT8oVz1uW19dLGQoVyxFKSxFW1JdPFU/XysrOkY9Vyk6KFc9blskXSxkKFcsRSksRVtSXT49VXx8KG5bX109VyxuWyRdPUYsRj0tMSxfKyspLCQtLSk7aWYoXz5UKXt2YXIgTD1CLnNsaWNlKCk7TFtWKzNdPVUrd3I7dmFyIEc9bmV3IG0oKyt3LEwsVCxfLFAuZGVlcHRoKzEpO0cuZGVlcHRoPG8mJkcuZW5kSW5kZXgtRy5zdGFydEluZGV4PnQmJihzW3UrK109RyksUC5ub2RlMD1HfWlmKE4+Xyl7dmFyIHg9Qi5zbGljZSgpO3hbVl09VS13cjt2YXIgQz1uZXcgbSgrK3cseCxfLE4sUC5kZWVwdGgrMSk7Qy5kZWVwdGg8byYmQy5lbmRJbmRleC1DLnN0YXJ0SW5kZXg+dCYmKHNbdSsrXT1DKSxQLm5vZGUxPUN9UC5zdGFydEluZGV4PTAsUC5lbmRJbmRleD0wfWZvcig7dTspTShzWy0tdV0pO3JldHVybiB0aGlzLm9mZnNldEFycmF5PW4sdGhpcy5yb290Tm9kZVBhY2tlZD15cihrLHcrMSkscy5sZW5ndGg9MCx0aGlzfSxyLnByb3RvdHlwZS5pbnRlcnNlY3RSYXk9ZnVuY3Rpb24odCxvLGYsZCl7Zm9yKHZhciB2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLHM9bmV3IEZsb2F0MzJBcnJheShuKSx1PW5ldyBVaW50MzJBcnJheShuKSx3PW5ldyBVaW50MTZBcnJheShuKSx5PWYqZixwPW5ldyBZKDEvby54LDEvby55LDEvby56KSxhPVswXSxoLEEsbCxJOyhoPWEucG9wKCkpIT09dm9pZCAwOylpZihJPWgqUS80LGNyKHQscCxzW0ldLHNbSSsxXSxzW0krMl0sc1tJKzNdLHNbSSs0XSxzW0krNV0sZikpe2Zvcih2YXIgYz11W0krNl0sej11W0krN10saT12b2lkIDAsaz12b2lkIDAsSD12b2lkIDAsaj12b2lkIDAscT12b2lkIDAsTT12b2lkIDAsUD12b2lkIDAsVD12b2lkIDAsTj12b2lkIDAsQj12b2lkIDAsVj12b2lkIDAsUj12b2lkIDA7Yzx6O2MrKylpPXZbY10sdGhpcy5nZXRQb3NpdGlvbkJ5SW5kZXgoaSxFKSxrPUUueCxIPUUueSxqPUUueixxPXQueCxNPXQueSxQPXQueixUPW8ueCxOPW8ueSxCPW8ueixWPVQqKGstcSkrTiooSC1NKStCKihqLVApLFY+MCYmKHErPVQqVixNKz1OKlYsUCs9QipWKSxUPWstcSxOPUgtTSxCPWotUCxWPVQqVCtOKk4rQipCLFY8PXkmJmQucHVzaChuZXcgcHIoW2ssSCxqLGssSCxqLGssSCxqXSxbcSxNLFBdLGkpKTtJPWgqUS8yLEE9d1tJKzE2XSxsPXdbSSsxN10sQSYmYS5wdXNoKEEpLGwmJmEucHVzaChsKX1yZXR1cm4gZH0scn0oZHIpO2Z1bmN0aW9uIEJyKGUpe29ubWVzc2FnZT1mdW5jdGlvbihyKXtQcm9taXNlLnJlc29sdmUoci5kYXRhKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbz10Lm91dHB1dCxmPXQudHJhbnNmZXI7cmV0dXJuIHBvc3RNZXNzYWdlKG8sZil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gcG9zdE1lc3NhZ2UoeyQkZXJyb3I6dH0pfSl9fUJyKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZSkudGhlbihmdW5jdGlvbihyKXtmb3IodmFyIHQ9W10sbz1uZXcgU2V0LGY9MCxkPXI7ZjxkLmxlbmd0aDtmKyspe3ZhciB2PWRbZl0sbj12b2lkIDA7aWYodi50eXBlPT09Im1lc2giKW49bmV3IEFyKHYuYXR0cmlidXRlcy5wb3NpdGlvbix2LmluZGljZXMpO2Vsc2UgaWYodi50eXBlPT09InBvaW50cyIpbj1uZXcgUHIodi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHYuaW5kaWNlcyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO24uY3JlYXRlVHJlZSh2Lm1heEl0ZW1QZXJOb2RlLHYubWF4VHJlZURlcHRoLHYuZXh0ZW50cyk7dmFyIHM9e3R5cGU6di50eXBlLGF0dHJpYnV0ZXM6di5hdHRyaWJ1dGVzLGluZGljZXM6di5pbmRpY2VzLG9mZnNldEFycmF5Om4ub2Zmc2V0QXJyYXkscm9vdE5vZGVQYWNrZWQ6bi5yb290Tm9kZVBhY2tlZH07dC5wdXNoKHMpO3ZhciB1PXZvaWQgMDtmb3IodmFyIHcgaW4gcy5hdHRyaWJ1dGVzKXt2YXIgeT1zLmF0dHJpYnV0ZXNbd107eSYmeS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQoeS5idWZmZXIpfXU9cy5pbmRpY2VzLHUmJnUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm8uYWRkKHUuYnVmZmVyKSx1PXMub2Zmc2V0QXJyYXksdSYmdS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmby5hZGQodS5idWZmZXIpLG8uYWRkKHMucm9vdE5vZGVQYWNrZWQpfXJldHVybntvdXRwdXQ6dCx0cmFuc2ZlcjpBcnJheS5mcm9tKG8pfX0pfSl9KSgpOwo=",decodeBase64=n=>Uint8Array.from(atob(n),t=>t.charCodeAt(0)),blob=typeof self!="undefined"&&self.Blob&&new Blob([decodeBase64(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(n){let t;try{if(t=blob&&(self.URL||self.webkitURL).createObjectURL(blob),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;base64,"+encodedJs,{name:n==null?void 0:n.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var bvhWorkerPool=new WorkerPool(function(){return new WorkerWrapper},4),bvhMeshMap=new Map,scratchRay=new THREE__namespace.Ray,scratchNormalMatrix=new THREE__namespace.Matrix3,scratchInverseMatrix=new THREE__namespace.Matrix4,scratchIntersectionFaceA=new THREE__namespace.Vector3,scratchIntersectionFaceB=new THREE__namespace.Vector3,scratchIntersectionFaceC=new THREE__namespace.Vector3,scratchIntersectionTriangle=new THREE__namespace.Triangle;function raycastMesh(n,t,e,r){var o,s=n.matrixWorld;scratchInverseMatrix.getInverse(s),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var u=t.intersectRay(scratchRay.origin,scratchRay.direction,0,[]),l=n.geometry,c=n.material,p=l.groups,f=l.index,d=0,h=u.length;d<h;d++){var m=u[d],g=m.triangle,A=m.index,E=m.intersectionPoint,v=new THREE__namespace.Vector3(E[0],E[1],E[2]).applyMatrix4(s),y=e.ray.origin.distanceTo(v);if(!(y<e.near||y>e.far)){var b=void 0;if(Array.isArray(c)){if(p)for(var T=A*3,_=0,S=p;_<S.length;_++){var R=S[_];if(T>=R.start&&T-R.start<R.count){b=c[(o=R.materialIndex)!==null&&o!==void 0?o:0];break}}}else b=c;if(b){var M=scratchIntersectionTriangle.set(scratchIntersectionFaceA.set(g[0],g[1],g[2]).applyMatrix4(s),scratchIntersectionFaceB.set(g[3],g[4],g[5]).applyMatrix4(s),scratchIntersectionFaceC.set(g[6],g[7],g[8]).applyMatrix4(s)).getNormal(new THREE__namespace.Vector3),H=A*3,B=new THREE__namespace.Face3(f?f.array[H]:H,f?f.array[H+1]:H+1,f?f.array[H+2]:H+2,M),C=e.ray.direction.dot(M);b.side===THREE__namespace.FrontSide&&C>=0||b.side===THREE__namespace.BackSide&&C<=0||r.push({distance:y,object:n,face:B,point:v,distanceToRay:0,faceIndex:A})}}}}function raycastPoints(n,t,e,r){var o,s,u=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(u),scratchInverseMatrix.getInverse(u);var l=((s=(o=e.params.Points)===null||o===void 0?void 0:o.threshold)!==null&&s!==void 0?s:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,l,[]),p=n.geometry,f=p.index,d=p.getAttribute("normal"),h=0,m=c.length;h<m;h++){var g=c[h],A=g.triangle,E=g.index,v=g.intersectionPoint,y=new THREE__namespace.Vector3(v[0],v[1],v[2]).applyMatrix4(u),b=e.ray.origin.distanceTo(y);if(!(b<e.near||b>e.far)){var T=scratchIntersectionFaceA.set(A[0],A[1],A[2]).applyMatrix4(u),_=f?f.array[E]:E,S=void 0;if(d instanceof THREE__namespace.BufferAttribute){var R=new THREE__namespace.Vector3().fromBufferAttribute(d,_).applyNormalMatrix(scratchNormalMatrix);S=new THREE__namespace.Face3(_,_,_,R)}r.push({distance:b,object:n,face:S,point:y,distanceToRay:y.distanceTo(T),index:E})}}}var BVH_MESH_PROP="__bvh_mesh__",originMeshRaycast=THREE__namespace.Mesh.prototype.raycast;function overrideMeshRaycast(n,t){var e=getBvhTreeForMesh(this);e?raycastMesh(this,e,n,t):originMeshRaycast.call(this,n,t)}function getBvhTreeForMesh(n){var t=n[BVH_MESH_PROP];return t instanceof BVHMesh,t}function bindBvhTreeForMesh(n,t){var e;Object.assign(n,(e={},e[BVH_MESH_PROP]=t,e.raycast=overrideMeshRaycast,e))}var BVH_POINTS_PROP="__bvh_points__",originPointsRaycast=THREE__namespace.Points.prototype.raycast;function overridePointsRaycast(n,t){var e=getBvhTreeForPoints(this);e?raycastPoints(this,e,n,t):originPointsRaycast.call(this,n,t)}function getBvhTreeForPoints(n){var t=n[BVH_POINTS_PROP];return t instanceof BVHPoints,t}function bindBvhTreeForPoints(n,t){var e;Object.assign(n,(e={},e[BVH_POINTS_PROP]=t,e.raycast=overridePointsRaycast,e))}function generateBvhTree(n,t,e,r){var o=[];return n.traverse(function(s){(s instanceof THREE__namespace.Mesh||s instanceof THREE__namespace.Points)&&s.geometry instanceof THREE__namespace.BufferGeometry&&o.push(s)}),Promise.resolve().then(function(){for(var s=[],u=new Set,l=null,c=0;c<o.length;c++){var p=o[c],f=p.geometry;if(f instanceof THREE__namespace.BufferGeometry){var d=void 0;if(p instanceof THREE__namespace.Mesh?d="mesh":p instanceof THREE__namespace.Points&&(d="points"),!!d){var h=f.boundingBox,m=h?[h.min.x,h.min.y,h.min.z,h.max.x,h.max.y,h.max.z]:void 0,g={};for(var A in f.attributes){var E=f.attributes[A];E instanceof THREE__namespace.InterleavedBufferAttribute?(g[A]={array:E.data.array,stride:E.data.stride,offset:E.offset},l=E.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(g[A]={array:E.array},l=E.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer))}var v=void 0,y=f.getIndex();y&&(y instanceof THREE__namespace.InterleavedBufferAttribute?(v={array:y.data.array,stride:y.data.stride,offset:y.offset},l=y.data.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)):(v={array:y.array},l=y.array,l&&l.buffer instanceof ArrayBuffer&&u.add(l.buffer)));var b={type:d,attributes:g,indices:v,maxItemPerNode:e,maxTreeDepth:r,extents:m};s.push(b)}}}return bvhWorkerPool.postMessage(s,Array.from(u))}).then(function(s){for(var u=0;u<o.length;u++){var l=o[u],c=l.geometry,p=s[u];if(c instanceof THREE__namespace.BufferGeometry){for(var f in p.attributes){var d=p.attributes[f].array,h=c.attributes[f];h instanceof THREE__namespace.InterleavedBufferAttribute?h.data.array=d:h.array=d}var m=c.getIndex();if(m&&p.indices){var d=p.indices.array;m instanceof THREE__namespace.InterleavedBufferAttribute?m.data.array=d:m.array=d}if(l instanceof THREE__namespace.Mesh){var g=new BVHMesh(p.attributes.position,p.indices);g.offsetArray=p.offsetArray,g.rootNodePacked=p.rootNodePacked,bindBvhTreeForMesh(l,g)}else if(l instanceof THREE__namespace.Points){var g=new BVHPoints(p.attributes.position,p.indices);g.offsetArray=p.offsetArray,g.rootNodePacked=p.rootNodePacked,bindBvhTreeForPoints(l,g)}}}return n})}function mixNumber(n,t,e){return n+(t-n)*e}function value(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t,l=n;return o*Math.pow(r,3)+s*Math.pow(r,2)+u*r+l}function velocity(n,t,e,r){var o=(t*e+2*n)/Math.pow(e,3),s=-(2*t*e+3*n)/Math.pow(e,2),u=t;return 3*o*Math.pow(r,2)+2*s*r+u}function mixCircle(n,t,e,r){var o=r[1]-r[0];return n=circleValue(n,r),t=circleValue(t,r),t-n>o/2?mixNumber(n+o,t,e):n-t>o/2?mixNumber(n-o,t,e):mixNumber(n,t,e)}function circleValue(n,t){var e=t[1]-t[0];return n<t[0]?circleValue(n+e,t):n>=t[1]?circleValue(n-e,t):n}function mixValue(n,t,e,r){return r?mixCircle(n,t,e,r):mixNumber(n,t,e)}function toNumber(n){var t=Number(n);return isNaN(t)||!isFinite(t)?0:t}var Motion=function(){function n(t){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=now(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in t){var r=t[e];typeof r=="object"?(this.value[e]=toNumber(r.value),this.config[e]={circle:r.circle}):(this.value[e]=toNumber(r),this.config[e]={circle:!1})}this.keyframes=[{progress:0,value:__assign({},this.value)},{progress:1,value:__assign({},this.value)}]}return n.prototype.getProgress=function(t){var e=t-this.startTime;return e<0?0:e>=this.duration?1:1-value(1,this.startVelocity,this.duration,e)},n.prototype.getValue=function(t){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>t){var r=this.keyframes[e-1],o=this.keyframes[e],s={};for(var u in this.config){var l=(t-r.progress)/(o.progress-r.progress);s[u]=mixValue(r.value[u],o.value[u],l,this.config[u].circle)}return s}return __assign({},this.keyframes[this.keyframes.length-1].value)},n.prototype.getProgressVelocity=function(t){var e=t-this.startTime;return e>=this.duration?0:velocity(1,this.startVelocity,this.duration,e)},n.prototype.update=function(t){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(t))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},n.prototype.getKeyFrameSegment=function(t){for(var e=this.getProgress(t),r=1;r<this.keyframes.length;r++)if(this.keyframes[r].progress>e)return[this.keyframes[r-1],this.keyframes[r]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},n.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},n.prototype.set=function(t,e,r,o){var s;r===void 0&&(r=0),isNaN(e)&&(e=0),isNaN(r)&&(r=0),o=o!=null?o:now();var u=this.getProgress(o),l=this.getValue(u),c={};for(var p in this.config)c[p]=(s=t[p])!==null&&s!==void 0?s:l[p];var f=[{progress:0,value:l},{progress:1,value:c}];return this.setKeyframes(f,e,r,o)},n.prototype.setKeyframes=function(t,e,r,o){var s=this;if(r===void 0&&(r=0),t.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(r)&&(r=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(u,l){o=o!=null?o:now(),s.progress=0,s.ended=!1,s.startTime=o,s.startVelocity=r,s.keyframes=t,s.duration=e,e===0?(s.progress=1,s.value=__assign({},t[t.length-1].value)):s.value=__assign({},t[0].value),s.callbacks=[u,l]})},n.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},n}(),easeInCubic=function(n){return n*n*n},easeInQuart=function(n){return n*n*n*n},APPEAR_ANIMATION_DURATION=500,versionMap$1=new WeakMap,TileNode=function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o=noop$1);var s=n.call(this)||this;return s.name=e,s.materials=[],s.pbmObjects=[],s.contentObject=r,s.appearMotion=new Motion({appear:0}),s.disposers=[o],s.add(r),r.traverse(function(u){var l;if(u instanceof THREE__namespace.Mesh||u instanceof THREE__namespace.Points){var c=u.material;Array.isArray(c)?(l=s.materials).push.apply(l,c):s.materials.push(c)}(u instanceof PBMMesh||u instanceof PBMSkinnedMesh||u instanceof PBMPointCloud)&&s.pbmObjects.push(u)}),s}return t.prototype.generateBvhTree=function(){return generateBvhTree(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,o,s){r===void 0&&(r=null),o===void 0&&(o=!0),s===void 0&&(s=[]);for(var u=this.children.slice(),l,c=[];l=u.pop();)if(l.visible){l.raycast(e,c);for(var p=0,f=l.children.length;p<f;p++)u.push(l.children[p])}for(var p=0;p<c.length;p++){var d=c[p],h=0,m=-1;if((d.object instanceof PBMMesh||d.object instanceof PBMSkinnedMesh||d.object instanceof PBMPointCloud)&&d.face){var g=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;g&&(h=g.floorIndex,m=g.shownFloorIndex)}d.floor=h;var A=r!=null?r:m;A>=0&&h!==A&&(c.splice(p,1),p--)}return o&&c.sort(function(E,v){return E.distance-v.distance}),s.push.apply(s,c),s},t.prototype.update=function(e,r,o,s,u){var l,c=!1,p=((l=this.parent)===null||l===void 0?void 0:l.visible)===!0&&s.state.selectedFrameNumber===s.tileset.frameNumber;if(p){var f=1;this.appearMotion.getTargetKeyframe().value.appear!==f&&this.appearMotion.set({appear:f},APPEAR_ANIMATION_DURATION).catch(noop$1)}else{var f=0;this.appearMotion.getTargetKeyframe().value.appear!==f&&this.appearMotion.set({appear:f},0).catch(noop$1)}this.appearMotion.ended!==!0&&this.appearMotion.update(r.time);for(var d=0,h=this.pbmObjects;d<h.length;d++){var m=h[d];if(m instanceof PBMMesh||m instanceof PBMSkinnedMesh){var g=updatePBMMesh(m,this.appearMotion,e,r,o,s,u);g===!0&&(c=!0)}else if(m instanceof PBMPointCloud){var g=updatePBMPointCloud(m,this.appearMotion,e,r,o,s,u);g===!0&&(c=!0)}}return c},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var o=r[e];o()}this.disposers.length=0,this.pbmObjects.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject.clone())},t}(THREE__namespace.Object3D);function updatePBMMesh(n,t,e,r,o,s,u){var l=n.material,c=!1,p=u.versions.toString();if(versionMap$1.get(n)!==p){versionMap$1.set(n,p),c=!0,n.castShadow=u.castShadow,n.receiveShadow=u.receiveShadow;for(var f=0,d=l;f<d.length;f++){var h=d[f];h.customShaders=u.customShaders,h.pano0=u.pano0,h.pano1=u.pano1,h.pano0Depth=u.pano0Depth,h.pano1Depth=u.pano1Depth,h.refinedScreen=u.refinedScreen,h.modelAlpha=u.modelAlpha,h.progress=u.progress,h.transition=u.transition,h.opacity=u.opacity,h.floorStyle=u.floorStyle,h.constantColor=u.constantColor,h.shownFloorIndex=u.shownFloorIndex,h.clippers=u.clippers,h.brightness=u.brightness,h.useEDL=u.useEDL,h.useHQWeight=u.useHQWeight,h.useHQDepth=u.useHQDepth,h.colorSaturation=u.colorSaturation,h.colorBrightness=u.colorBrightness,h.gradientTexture=u.gradientTexture,u.useAddBlend?(h.depthWrite=!1,h.depthTest=!1,h.blending=THREE__namespace.AdditiveBlending):(h.depthWrite=!0,h.depthTest=!0,h.blending=THREE__namespace.NormalBlending),h.shaderType==="none"?(h.depthWrite=!1,h.transparent=!0):(h.transparent=h.alphaMode==="BLEND",h.depthWrite=!0,h.shownFloorIndex>-1&&h.shownFloorIndex!==h.floorIndex&&(h.transparent=!0),h.opacity*h.colorAlpha<1&&(h.transparent=!0),h.alphaMap&&(h.transparent=!0),h.brightness<1&&(h.transparent=!0),h.transparent&&(h.depthWrite=!1))}}for(var m=0,g=l;m<g.length;m++){var h=g[m];h.modelBoundingMax.copy(o.boundingBox.max),h.modelBoundingMin.copy(o.boundingBox.min)}return c}function updatePBMPointCloud(n,t,e,r,o,s,u){var l,c,p=n.geometry,f=[n.material],d=!1,h=u.versions.toString();if(u.pointAppearAnimation===!0&&s.refine==="ADD"&&s.tileset.rootMeta.pntsOrder==="RANDOM"){var m=s.tileset.currentMaxScreenSpaceError,g=s.state.screenSpaceError,A=(c=(l=s.parent)===null||l===void 0?void 0:l.state.screenSpaceError)!==null&&c!==void 0?c:g,E=1;A!==g&&(E=(A-m)/(A-g)),E=clamp$1(E,0,1),E=easeInCubic(E);var v=p.index?p.index.count:p.attributes.position?p.attributes.position.count:1/0,y=Math.floor(v*E*t.value.appear);p.drawRange.count!==y&&(p.setDrawRange(0,y),d=!0)}if(versionMap$1.get(n)!==h){versionMap$1.set(n,h),d=!0,n.castShadow=u.castShadow,n.receiveShadow=u.receiveShadow;for(var b=0,T=f;b<T.length;b++){var _=T[b];_.customShaders=u.customShaders,_.pointScale=u.pointScale,_.pointMinPixel=u.pointMinPixel,_.pointMaxPixel=u.pointMaxPixel,_.pointSize=u.pointSize,_.pointShape=u.pointShape,_.pointBack=u.pointBack,_.modelAlpha=u.modelAlpha,_.opacity=u.opacity,_.floorStyle=u.floorStyle,_.constantColor=u.constantColor,_.shownFloorIndex=u.shownFloorIndex,_.clippers=u.clippers,_.brightness=u.brightness,_.useEDL=u.useEDL,_.useHQWeight=u.useHQWeight,_.useHQDepth=u.useHQDepth,_.colorSaturation=u.colorSaturation,_.colorBrightness=u.colorBrightness,_.gradientTexture=u.gradientTexture,_.transparent=!1,_.shownFloorIndex>-1&&(_.transparent=_.shownFloorIndex!==_.floorIndex),_.modelAlpha<1&&(_.transparent=!0),_.opacity<1&&(_.transparent=!0),_.brightness<1&&(_.transparent=!0),u.useAddBlend?(_.depthWrite=!1,_.depthTest=!1,_.blending=THREE__namespace.AdditiveBlending):(_.depthWrite=!0,_.depthTest=!0,_.blending=THREE__namespace.NormalBlending),_.useEDL&&(_.transparent=!1),_.useHQWeight?(_.depthWrite=!1,_.blending=THREE__namespace.CustomBlending,_.blendSrc=THREE__namespace.SrcAlphaFactor,_.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,_.blendDst=THREE__namespace.OneFactor,_.blendDstAlpha=THREE__namespace.OneFactor):(_.blending=THREE__namespace.NormalBlending,_.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,_.blendEquation=THREE__namespace.AddEquation,_.blendSrcAlpha=null,_.blendDstAlpha=null,_.blendEquationAlpha=null)}}for(var S=0,R=f;S<R.length;S++){var _=R[S];_.modelBoundingMax.copy(o.boundingBox.max),_.modelBoundingMin.copy(o.boundingBox.min)}return d}var Trajectory=function(){function n(t,e,r){this.id=t,this.name=e.name,this.visible=!1,this.tileset=r,this.transform=new THREE__namespace.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.transform.premultiply(this.tileset.root.transform),this.content={uri:e.file,byteLength:0,memoryUsage:0,loadState:"UNLOADED",loadStateUpdateTime:now(),loadfailRetryDelay:0,data:void 0}}return n}(),TrajectoryNode=function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o=noop$1);var s=n.call(this)||this;return s.name=e,s.contentObject=r,s.name=e,s.add(r),s.disposers=[o],s}return t.prototype.update=function(e,r,o,s,u){var l=this.contentObject.material[2];return l.uniforms.dashOffset.value=(l.uniforms.dashOffset.value-.003)%(l.uniforms.dashSize.value.x+l.uniforms.dashSize.value.y),!0},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var o=r[e];o()}this.disposers.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject.clone())},t}(THREE__namespace.Object3D),priorityCache=new Map;function getPriority(n,t,e){if(e&&e.has(t))return e.get(t);var r=t.refine==="ADD"||n.skipLevelOfDetail,o=t.parent,s=o&&(!r||t.state.screenSpaceError===0),u=s?o.state.screenSpaceError:t.state.screenSpaceError,l=t.tileset.root?t.tileset.root.state.screenSpaceError:0,c=Math.max(l-u,0);return e&&e.set(t,c),c}var TileRequestScheduler=function(){function n(t,e){this.tileset=t,this.options=e,this.activeRequests=0,this.requestQueue=[]}return n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];this.options.onTileSkip&&this.options.onTileSkip(r.tile)}this.requestQueue.length=0},n.prototype.update=function(t,e,r){for(var o=this,s=r.time,u=this.requestQueue,l=new Set(t),c=0;c<u.length;c++){var p=u[c];if(l.has(p.tile)){l.delete(p.tile);continue}p.status==="WAITING"&&(u.splice(c,1),c--,this.options.onTileSkip&&this.options.onTileSkip(p.tile))}l.size>0&&(l.forEach(function(v){u.push({tile:v,status:"WAITING",time:s,error:null})}),l.clear());for(var f=r.maxRequests,c=0;c<u.length&&f>0;c++){var p=u[c];if(p.status==="DONE")p.error!==null?this.options.onTileError&&this.options.onTileError(p.tile,p.error):(f--,p.tile.content&&(p.tile.content.loadState="READY"),this.options.onTileLoad&&this.options.onTileLoad(p.tile)),u.splice(c,1),c--;else if(p.status==="PENDING"&&s-p.time<1e3)break}switch(priorityCache.clear(),e){case"SCREEN_SPACE_ERROR":{u.sort(function(v,y){if(v.tile.state.requestedFrameNumber!==y.tile.state.requestedFrameNumber)return y.tile.state.requestedFrameNumber-v.tile.state.requestedFrameNumber;if(v.tile.state.requestedFrameNumber===r.frameNumber){var b=getPriority(r,v.tile,priorityCache),T=getPriority(r,y.tile,priorityCache);return b-T}else return v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera});break}case"SCREEN_VERTICAL":{u.sort(function(v,y){return v.tile.state.requestedFrameNumber!==y.tile.state.requestedFrameNumber?y.tile.state.requestedFrameNumber-v.tile.state.requestedFrameNumber:v.tile.state.requestedFrameNumber===r.frameNumber?v.tile.state.centerScreenY!==y.tile.state.centerScreenY?v.tile.state.centerScreenY-y.tile.state.centerScreenY:v.tile.state.centerZDepth!==y.tile.state.centerZDepth?v.tile.state.centerZDepth-y.tile.state.centerZDepth:v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera:v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera});break}case"SCREEN_LEVEL_VERTICAL":{u.sort(function(v,y){return v.tile.state.requestedFrameNumber!==y.tile.state.requestedFrameNumber?y.tile.state.requestedFrameNumber-v.tile.state.requestedFrameNumber:v.tile.state.requestedFrameNumber===r.frameNumber?v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.centerScreenY!==y.tile.state.centerScreenY?v.tile.state.centerScreenY-y.tile.state.centerScreenY:v.tile.state.centerZDepth!==y.tile.state.centerZDepth?v.tile.state.centerZDepth-y.tile.state.centerZDepth:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera:v.tile.level!==y.tile.level?v.tile.level-y.tile.level:v.tile.state.distanceToCamera-y.tile.state.distanceToCamera});break}}if(f=Math.max(r.maxRequests-this.activeRequests,0),!r.skipLevelOfDetail)for(var d=0,h=u.length,c=0;c<h;c++){var m=u[c].tile;if(m.hasTilesetContent||m.contentParent===null||m.contentParent.state.selectedFrameNumber===r.frameNumber){var g=u.splice(c,1);u.splice.apply(u,__spreadArray([d++,0],g,!1))}}for(var A=function(v){var y=u[v];y.status==="WAITING"&&(f--,y.status="PENDING",y.time=s,E.activeRequests++,E.tileset.options.tileLoader(y.tile).catch(function(b){y.error=b}).then(function(){y.status="DONE",y.tile.content&&y.tile.content.loadState==="READY"&&(y.tile.content.loadState="LOADING"),o.activeRequests--}))},E=this,c=0;c<u.length&&f>0;c++)A(c)},n}(),CacheNode=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),CacheNodeList=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new CacheNode(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),TileCache=function(){function n(t){t===void 0&&(t={}),this.options=t,this.cacheNodeMap=new Map,this.list=new CacheNodeList,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touchTile=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.loadTile=function(t){if(!this.cacheNodeMap.has(t)){var e=this.list.add(t);this.cacheNodeMap.set(t,e),this.options.onTileLoad&&this.options.onTileLoad(t)}},n.prototype.unloadTile=function(t){var e=this.cacheNodeMap.get(t);e&&(this.list.remove(e),this.cacheNodeMap.delete(t),this.options.onTileUnload&&this.options.onTileUnload(t))},n.prototype.unloadTiles=function(t){for(var e=this.list.head;e!==this.sentinel&&t();){var r=e.item;e=e.next,this.unloadTile(r)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var o=r[e];o.item!=="sentinel"&&t.push(o.item)}return t},n}(),ManagedArray=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),this.array[this._length]=void 0,t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n.prototype.peek=function(){return this.array[this._length-1]},n}(),TilesetBaseTraverser=function(){function n(t){this.tileset=t,this._canSelectTile=!0,this._loadAllTilesTraversalStack=new ManagedArray}return n.prototype.traverse=function(t,e,r){this.reset()},n.prototype.reset=function(){this._loadAllTilesTraversalStack.reset(),this.tileset.hasMixedContent=!1,this.tileset.needsRefinedTiles.clear(),this.tileset.requestedTiles.length=0,this.tileset.selectedTiles.length=0},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e),t.state.shouldSelect=!1,t.state.finalResolution=!0},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&t.state.selectedFrameNumber<e.frameNumber&&(t.state.selectedFrameNumber=e.frameNumber,this.tileset.selectedTiles.push(t),this.tileset.needsRefinedTiles.add(t))},n.prototype.loadTile=function(t,e){t.state.requestedFrameNumber<e.frameNumber&&(t.state.requestedFrameNumber=e.frameNumber,t.content&&(t.content.loadState==="FAILED"&&e.time-t.content.loadStateUpdateTime>t.content.loadfailRetryDelay&&(t.content.loadState="UNLOADED",t.content.loadStateUpdateTime=e.time),t.content.loadState==="UNLOADED"&&this.tileset.requestedTiles.push(t))),this.tileset.needsRefinedTiles.add(t)},n.prototype.touchTile=function(t,e){this.tileset.cache.touchTile(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e){return!t.state.inRequestVolume||t.levelOfContent>=e.maxLevelOfDetail||t.levelOfContent>=0&&t.geometricError<=e.minGeometricError||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.geometricError>=e.maxGeometricError||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.currentMaxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var o=t.children[0];this.updateTileVisibility(o,e),t.state.visible=o.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}var s=t.refine==="REPLACE";if(s&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,o=t.children,s=0,u=o;s<u.length;s++){var l=u[s];l.updateState(e),r=r||l.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail||r.geometricError>e.maxGeometricError?!1:r.levelOfContent>e.maxLevelOfDetail||r.levelOfContent>=0&&r.geometricError<e.minGeometricError?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.currentMaxScreenSpaceError},n.prototype.sortTilesByDistanceToCamera=function(t){t.sort(function(e,r){return r.state.distanceToCamera===0&&e.state.distanceToCamera===0?r.state.centerZDepth-e.state.centerZDepth:r.state.distanceToCamera-e.state.distanceToCamera})},n.prototype.loadAllTiles=function(t,e){var r=this._loadAllTilesTraversalStack;for(r.push(t);r.length>0;){var o=r.pop();o.content&&o.content.loadState==="UNLOADED"&&o.state.requestedFrameNumber<e.frameNumber&&this.tileset.requestedTiles.push(o),this.touchTile(o,e);for(var s=0,u=o.children;s<u.length;s++){var l=u[s];r.push(l)}}},n}(),TilesetNormalTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r._traversalStack=new ManagedArray,r._emptyTraversalStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),this._emptyTraversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r)),r.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._emptyTraversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop(),u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var p=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)):(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var p=e.refine==="REPLACE"&&e.hasRenderContent,f=!1,d=!0,h=0,m=s;h<m.length;h++){var c=m[h];if(c.levelOfContent<=r.minLevelOfDetail||c.geometricError>=r.maxGeometricError||c.state.visible&&c.state.inRequestVolume?(o.find(c)&&o.delete(c),o.push(c),f===!1&&(f=!0)):(p||r.loadSiblings)&&(this.loadTile(c,r),this.touchTile(c,r)),p){var g=void 0;c.state.inRequestVolume?c.hasRenderContent?g=c.contentAvailable:g=this.executeEmptyTraversal(c,r):g=!1,d=d&&g}}return f||(d=!1),d},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var o=!0,s=this._emptyTraversalStack;for(s.push(e);s.length>0&&o;){var u=s.pop(),l=!u.hasRenderContent&&this.canTraverse(u,r);if(!l&&!u.contentAvailable&&(o=!1),this.updateTile(u,r),u.state.visible||(this.loadTile(u,r),this.touchTile(u,r)),l)for(var c=u.children,p=0,f=c;p<f.length;p++){var d=f[p];s.find(d)&&s.delete(d),s.push(d)}}return o},t}(TilesetBaseTraverser),TilesetSkipTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.baseScreenSpaceError=1024,r.skipScreenSpaceErrorFactor=16,r.skipLevels=1,r._traversalStack=new ManagedArray,r._descendantTraversalStack=new ManagedArray,r._selectionTraversalStack=new ManagedArray,r._selectionTraversalancestorStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,o){o===void 0&&(o=[]),n.prototype.traverse.call(this,e,r,o);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,this.updateTile(e,l),this.executeTraversal(e,l),this.traverseAndSelect(e,l))}this.tileset.hasMixedContent=!1,this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r),this.traverseAndSelect(e,r)),r.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset(),this._descendantTraversalStack.reset(),this._selectionTraversalStack.reset(),this._selectionTraversalancestorStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&o.push(e);o.length>0;){var s=o.pop();this.updateTileAncestorContentLinks(s,r);var u=s.parent,l=!u||u.state.shouldRefine,c=!1;this.canTraverse(s,r)&&(c=this.updateAndPushChildren(s,r,o)&&l);var p=!c&&l;s.hasRenderContent?s.refine==="ADD"?(this.loadTile(s,r),this.selectDesiredTile(s,r)):s.refine==="REPLACE"&&(this.inBaseTraversal(s,this.baseScreenSpaceError)?(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)):p?(this.loadTile(s,r),this.selectDesiredTile(s,r)):this.reachedSkippingThreshold(s)&&this.loadTile(s,r)):(this.loadTile(s,r),p&&this.selectDesiredTile(s,r)),this.touchTile(s,r),s.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0,l=s;u<l.length;u++){var c=l[u];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(s);for(var p=!1,f=0,d=s;f<d.length;f++){var c=d[f];c.levelOfContent<=r.minLevelOfDetail||c.geometricError>=r.maxGeometricError||c.state.visible&&c.state.inRequestVolume?(o.push(c),p===!1&&(p=!0)):r.loadSiblings&&(this.loadTile(c,r),this.touchTile(c,r))}return p},t.prototype.selectDesiredTile=function(e,r){var o=e.contentAvailable?e:e.state.ancestorWithContentAvailable;o&&(o.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var o=this._descendantTraversalStack;for(o.push(e);o.length>0;)for(var s=o.pop(),u=s.children,l=0,c=u;l<c.length;l++){var p=c[l];p.state.visible&&(p.contentAvailable?(this.updateTile(p,r),this.touchTile(p,r),this.selectTile(p,r)):o.push(p))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,o=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return o},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var o=e.parent;if(o){var s=!(o.hasRenderContent&&o.hasUnloadedContent)||o.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=s?o:o.state.ancestorWithContent,e.state.ancestorWithContentAvailable=o.contentAvailable?o:o.state.ancestorWithContentAvailable}},t.prototype.inBaseTraversal=function(e,r){return e.state.ancestorWithContent?e.parent&&e.state.screenSpaceError===0?e.parent.state.screenSpaceError>r:e.state.screenSpaceError>r:!0},t.prototype.traverseAndSelect=function(e,r){var o=this._selectionTraversalStack,s=this._selectionTraversalancestorStack,u;for(o.push(e);o.length>0||s.length>0;){if(s.length>0){var l=s.peek();if(l.state.stackLength===o.length){s.pop(),l!==u&&(l.state.finalResolution=!1),this.selectTile(l,r);continue}}var c=o.pop();if(c){var p=this.canTraverse(c,r);if(c.state.shouldSelect)if(c.refine==="ADD")this.selectTile(c,r);else{if(c.state.selectionDepth=s.length,c.state.selectionDepth>0&&(c.tileset.hasMixedContent=!0),u=c,!p){this.selectTile(c,r);continue}s.push(c),c.state.stackLength=o.length}if(p)for(var f=0,d=c.children;f<d.length;f++){var h=d[f];h.state.visible&&o.push(h)}}}},t}(TilesetBaseTraverser),TilesetMostDetailTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r._traversalStack=new ManagedArray,r}return t.prototype.canTraverse=function(e,r){return!(!e.state.inRequestVolume||e.levelOfContent>=r.maxLevelOfDetail||e.levelOfContent>=0&&e.geometricError<=r.minGeometricError||e.children.length===0)},t.prototype.traverse=function(e,r,o){n.prototype.traverse.call(this,e,r,[]),this._traversalStack.reset(),e.updateState(r);for(var s=0,u=o;s<u.length;s++){var l=u[s];this._traversalStack.reset(),l.camera.refine&&(this._canSelectTile=l.camera.visible,e.updateState(l),this.executeTraversal(e,l))}this._traversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,e.updateState(r),this.executeTraversal(e,r)),r.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset()},t.prototype.executeTraversal=function(e,r){var o=this._traversalStack;for(o.push(e);o.length>0;){var s=o.pop(),u=s.refine==="ADD",l=s.refine==="REPLACE",c=this.canTraverse(s,r);c&&this.updateAndPushChildren(s,r,o),(u||l&&!c)&&(this.loadTile(s,r),this.touchTile(s,r),this.selectDesiredTile(s,r))}},t.prototype.updateAndPushChildren=function(e,r,o){for(var s=e.children,u=0;u<s.length;++u){var l=s[u];l.updateState(r),l.state.visible&&o.push(l)}},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t}(TilesetBaseTraverser),Tileset=function(){function n(t,e){var r=this,o,s,u,l,c,p,f;if(this.id=t.tilesetUrl,this.transform=new THREE__namespace.Matrix4,this.hasMixedContent=!1,this.frameNumber=0,this.asset={version:t.asset.version,tilesetVersion:t.asset.tilesetVersion||"",gltfUpAxis:(o=t.asset.gltfUpAxis)!==null&&o!==void 0?o:"Y",overview:t.asset.overview,trajectories:(u=(s=t.asset.trajectories)===null||s===void 0?void 0:s.list)!==null&&u!==void 0?u:[],extras:t.asset.extras},this.rootMeta=(l=t.rootMeta)!==null&&l!==void 0?l:{},this.pointLength=(c=this.rootMeta.numTotalPoints)!==null&&c!==void 0?c:1/0,this.floorLength=(p=this.rootMeta.numFloors)!==null&&p!==void 0?p:1,this.properties=(f=t.properties)!==null&&f!==void 0?f:{},this.options=e,this.requestedTiles=[],this.selectedTiles=[],this.unloadTiles=[],this.needsRefinedTiles=new Set,this.selectedTrajectories=[],this.normalTraverser=new TilesetNormalTraverser(this),this.skipTraverser=new TilesetSkipTraverser(this),this.mostDetailTraverser=new TilesetMostDetailTraverser(this),this.cache=new TileCache({onTileLoad:function(m){r.cacheMemoryUsageInBytes+=m.contentMemoryUsage},onTileUnload:function(m){r.cacheMemoryUsageInBytes-=m.contentMemoryUsage,r.unloadTiles.push(m)}}),this.requestScheduler=new TileRequestScheduler(this,{onTileSkip:function(m){},onTileLoad:function(m){var g;!((g=m.content)===null||g===void 0)&&g.data&&(r.loadedTiles.add(m),r.cache.loadTile(m)),r.options.onTileLoad(m)},onTileError:function(m,g){r.options.onTileError(m,g)}}),this.loadedTiles=new Set,this.cacheMemoryUsageInBytes=0,this.currentMaxScreenSpaceError=NaN,this.root=new Tile("".concat(this.id,"#tile:0"),t.root,this),this.geometricError=t.geometricError,this.trajectories=[],this.asset.trajectories)for(var d=0;d<this.asset.trajectories.length;d++){var h=new Trajectory("".concat(this.id,"#trajectory:").concat(d),this.asset.trajectories[d],this);this.trajectories.push(h)}}return n.prototype.adjustScreenSpaceError=function(t){if((isNaN(this.currentMaxScreenSpaceError)||!isFinite(this.currentMaxScreenSpaceError))&&(this.currentMaxScreenSpaceError=t.maxScreenSpaceError),t.memoryAdjustedScreenSpaceError){var e=0;this.needsRefinedTiles.forEach(function(s){s.content&&(e+=s.content.memoryUsage)});var r=(t.maxMemoryUsage-t.memoryAdjustedOverflow)*1024*1024,o=t.maxMemoryUsage*1024*1024;e<r?this.currentMaxScreenSpaceError=Math.max(this.currentMaxScreenSpaceError/1.02,t.maxScreenSpaceError):e>o&&this.selectedTiles.length>0&&(this.currentMaxScreenSpaceError*=1.02)}else this.currentMaxScreenSpaceError=t.maxScreenSpaceError},n.prototype.getTraverser=function(t){return t.mostDetail?this.mostDetailTraverser:t.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var o=0,s=r.children.length;o<s;o++)e.push(r.children[o]);this.cache.unloadTile(r)}for(var u=function(){var f=l.unloadTiles.pop();f&&(l.loadedTiles.delete(f),l.cacheMemoryUsageInBytes-=f.contentMemoryUsage,l.options.tileUnloader(f).catch(function(){}).then(function(){t.options.onTileUnload&&t.options.onTileUnload(f)}))},l=this;this.unloadTiles.length;)u();this.cache.reset(),this.skipTraverser.reset(),this.normalTraverser.reset(),this.mostDetailTraverser.reset(),this.requestScheduler.reset(),this.loadedTiles.clear();for(var c=function(){var f=p.trajectories.pop();f&&p.options.trajectoryUnloader(f).catch(function(){}).then(function(){t.options.onTrajectoryUnload&&t.options.onTrajectoryUnload(f)})},p=this;this.trajectories.length;)c()},n.prototype.update=function(t,e){var r=this,o;e===void 0&&(e=[]),this.frameNumber=t.frameNumber,this.adjustScreenSpaceError(t),this.cache.reset(),this.getTraverser(t).traverse(this.root,t,e),this.cache.unloadTiles(function(){var h=r.cacheMemoryUsageInBytes>t.maxMemoryUsage*1024*1024;return h}),this.requestScheduler.update(this.requestedTiles,t.requestOrder,t);for(var s=function(){var h=u.unloadTiles.pop();h&&(u.loadedTiles.delete(h),u.options.tileUnloader(h).catch(function(){}).then(function(){r.options.onTileUnload&&r.options.onTileUnload(h)}))},u=this;this.unloadTiles.length;)s();this.selectedTrajectories.length=0;for(var l=function(h){h.visible===!0&&h.content.loadState==="READY"&&(!((o=h.content.data)===null||o===void 0)&&o.object)?c.selectedTrajectories.push(h):h.visible===!0&&(h.content.loadState==="FAILED"&&t.time-h.content.loadStateUpdateTime>h.content.loadfailRetryDelay&&(h.content.loadState="UNLOADED",h.content.loadStateUpdateTime=t.time),h.content.loadState==="UNLOADED"&&c.options.trajectoryLoader(h).then(function(){r.options.onTrajectoryLoad(h)}).catch(function(m){r.options.onTrajectoryError(h,m)}))},c=this,p=0,f=this.trajectories;p<f.length;p++){var d=f[p];l(d)}},n}();function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",o=n.slice(r.length+2),s=o.indexOf("#");s>=0&&(n.slice(s),o=n.slice(0,s));var u=o.indexOf("?");u>=0&&(n.slice(u),o=n.slice(0,u));for(var l=o.split("/"),c=l.shift(),p=(t=l.pop())!==null&&t!==void 0?t:"",f=[],d=0,h=l;d<h.length;d++){var m=h[d];if(!(m===""||m===".")){if(m===".."){f.pop();continue}f.push(m)}}return r+"//"+c+"/"+f.join("/")+"/"+p}function normalizeTileHeader(n,t){var e;if(n.content){var r=(e=n.content.uri)!==null&&e!==void 0?e:n.content.url;typeof r=="string"&&!isAbsoluteURL(r)&&(n.content.uri=normalizeURL(pathJoin(t,r)))}if(n.transform){for(var o=!1,s=0;s<16;s++){var u=n.transform[s];if(typeof u!="number"||isNaN(u)||!isFinite(u)){o=!0;break}}if(n.transform[15]===0&&(o=!0),o)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var l=0,c=n.children;l<c.length;l++){var p=c[l];normalizeTileHeader(p,t)}return n}function normalizeTilesetHeader(n,t){n.tilesetUrl=t;var e=t.slice(0,t.lastIndexOf("/")+1);if(n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.rootMeta.taskParameters||(n.rootMeta.taskParameters={}),n.asset.overview){var r=n.asset.overview;isAbsoluteURL(r.imageFile)||(r.imageFile=normalizeURL(pathJoin(e,r.imageFile))),isAbsoluteURL(r.worldFile)||(r.worldFile=normalizeURL(pathJoin(e,r.worldFile)))}if(n.asset.trajectories)for(var o=0;o<n.asset.trajectories.list.length;o++){var s=n.asset.trajectories.list[o];s.file=normalizeURL(pathJoin(e,s.file))}return normalizeTileHeader(n.root,e),n}function initTextures(n,t,e){for(var r,o,s=Promise.resolve(),u=n.slice(),l=function(){for(var c=[],p=0,f=void 0;f=u.shift();){c.push(f);var d=((r=f.image)===null||r===void 0?void 0:r.width)*((o=f.image)===null||o===void 0?void 0:o.height);if(!isNaN(d)&&isFinite(d)&&(p+=d),p>=e)break}s=s.then(function(){return new Promise(function(h){AnimationFrameLoop.shared.add(function(){for(var m=0,g=c;m<g.length;m++){var A=g[m];t.initTexture(A)}h()},!0)})}).catch(function(){})};u.length>0;)l();return s}var _object_pattern=/^[og]\s*(.+)?/,_material_library_pattern=/^mtllib /,_material_use_pattern=/^usemtl /,_map_use_pattern=/^usemap /,_face_vertex_data_separator_pattern=/\s+/,_color=new THREE__namespace.Color,ObjState=function(){function n(){this.objects=[],this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.materials={},this.materialLibraries=[],this.startObject("",!1)}return n.prototype.startObject=function(t,e){if(this.object&&this.object.fromDeclaration===!1){this.object.name=t,this.object.fromDeclaration=e!==!1;return}var r=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:t||"",fromDeclaration:e!==!1,geometry:{vertices:[],hasNormal:!0,normals:[],hasColor:!0,colors:[],hasUV:!0,uvs:[],index:[],indexMap:{}},materials:[],smooth:!0,startMaterial:function(s,u){var l,c,p=this._finalize(!1);p&&(p.inherited||((l=p.groupCount)!==null&&l!==void 0?l:0)<=0)&&this.materials.splice((c=p.index)!==null&&c!==void 0?c:0,1);var f={index:this.materials.length,name:s||"",mtllib:Array.isArray(u)&&u.length>0?u[u.length-1]:"",smooth:p!==void 0?p.smooth:this.smooth,groupStart:p!==void 0?p.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(d){var h={index:typeof d=="number"?d:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(){return this}};return h.clone=this.clone.bind(h),h}};return this.materials.push(f),f},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(s){var u,l,c=this.currentMaterial();if(c&&c.groupEnd===-1&&(c.groupEnd=this.geometry.index.length,c.groupCount=c.groupEnd-((u=c.groupStart)!==null&&u!==void 0?u:0),c.inherited=!1),s&&this.materials.length>1)for(var p=this.materials.length-1;p>=0;p--)((l=this.materials[p].groupCount)!==null&&l!==void 0?l:0)<=0&&this.materials.splice(p,1);return s&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),c}},r&&r.name&&typeof r.clone=="function"){var o=r.clone(0);o.inherited=!0,this.object.materials.push(o)}this.objects.push(this.object)},n.prototype.finalize=function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},n.prototype.parseVertexIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/3)*3},n.prototype.parseNormalIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/3)*3},n.prototype.parseUVIndex=function(t,e){var r=parseInt(t,10);return(r>=0?r-1:r+e/2)*2},n.prototype.addFace=function(t,e,r,o,s,u,l,c,p){var f=this.object.geometry,d=this.vertices.length,h=this.normals.length,m=this.uvs.length,g=this.parseVertexIndex(t,d),A=this.parseVertexIndex(e,d),E=this.parseVertexIndex(r,d),v=l!==void 0?this.parseNormalIndex(l,h):void 0,y=c!==void 0?this.parseNormalIndex(c,h):void 0,b=p!==void 0?this.parseNormalIndex(p,h):void 0,T=o!==void 0?this.parseUVIndex(o,m):void 0,_=s!==void 0?this.parseUVIndex(s,m):void 0,S=u!==void 0?this.parseUVIndex(u,m):void 0;(f.hasNormal===!0&&v===void 0||y===void 0||b===void 0)&&(f.hasNormal=!1),(f.hasUV===!0&&T===void 0||_===void 0||S===void 0)&&(f.hasUV=!1);var R=[g,T,v].join(":"),M=f.indexMap[R];M===void 0&&(M=f.vertices.length/3,f.indexMap[R]=M,f.vertices.push(this.vertices[g+0],this.vertices[g+1],this.vertices[g+2]),f.hasColor&&(this.colors[g]===void 0?f.hasColor=!1:f.colors.push(this.colors[g+0],this.colors[g+1],this.colors[g+2])),f.hasNormal&&f.normals.push(this.normals[g+0],this.normals[g+1],this.normals[g+2]),f.hasUV&&f.uvs.push(this.uvs[T+0],this.uvs[T+1])),f.index.push(M);var H=[A,_,y].join(":"),B=f.indexMap[H];B===void 0&&(B=f.vertices.length/3,f.indexMap[H]=B,f.vertices.push(this.vertices[A+0],this.vertices[A+1],this.vertices[A+2]),f.hasColor&&(this.colors[A]===void 0?f.hasColor=!1:f.colors.push(this.colors[A+0],this.colors[A+1],this.colors[A+2])),f.hasNormal&&f.normals.push(this.normals[A+0],this.normals[A+1],this.normals[A+2]),f.hasUV&&f.uvs.push(this.uvs[_+0],this.uvs[_+1])),f.index.push(B);var C=[E,S,b].join(":"),w=f.indexMap[C];w===void 0&&(w=f.vertices.length/3,f.indexMap[C]=w,f.vertices.push(this.vertices[E+0],this.vertices[E+1],this.vertices[E+2]),f.hasColor&&(this.colors[E]===void 0?f.hasColor=!1:f.colors.push(this.colors[E+0],this.colors[E+1],this.colors[E+2])),f.hasNormal&&f.normals.push(this.normals[E+0],this.normals[E+1],this.normals[E+2]),f.hasUV&&f.uvs.push(this.uvs[S+0],this.uvs[S+1])),f.index.push(w)},n}();function parseObj(n){var t=new ObjState;n.indexOf(`\r
|
|
918
918
|
`)!==-1&&(n=n.replace(/\r\n/g,`
|
|
919
919
|
`)),n.indexOf(`\\
|
|
920
920
|
`)!==-1&&(n=n.replace(/\\\n/g,""));for(var e=n.split(`
|
|
921
921
|
`),r=[],o=0,s=e.length;o<s;o++){var u=e[o].trimStart();if(u.length!==0){var l=u.charAt(0);if(l!=="#"){if(l==="v"){var c=u.split(_face_vertex_data_separator_pattern);switch(c[0]){case"v":t.vertices.push(parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])),c.length>=7?(_color.setRGB(parseFloat(c[4]),parseFloat(c[5]),parseFloat(c[6])),_color.convertSRGBToLinear(),t.colors.push(_color.r,_color.g,_color.b)):t.colors.push(void 0,void 0,void 0);break;case"vn":t.normals.push(parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3]));break;case"vt":t.uvs.push(parseFloat(c[1]),parseFloat(c[2]));break}}else if(l==="f"){for(var p=u.slice(1).trim(),f=p.split(_face_vertex_data_separator_pattern),d=[],h=0,m=f.length;h<m;h++){var g=f[h];if(g.length>0){var A=g.split("/");d.push(A)}}for(var E=d[0],h=1,m=d.length-1;h<m;h++){var v=d[h],y=d[h+1];t.addFace(E[0],v[0],y[0],E[1],v[1],y[1],E[2],v[2],y[2])}}else if(l!=="l"){if(l!=="p")if((r=_object_pattern.exec(u))!==null){var b=(" "+r[0].slice(1).trim()).slice(1);t.startObject(b)}else if(_material_use_pattern.test(u))t.object.startMaterial(u.substring(7).trim(),t.materialLibraries);else if(_material_library_pattern.test(u))t.materialLibraries.push(u.substring(7).trim());else if(_map_use_pattern.test(u))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if(l==="s"){if(r=u.split(" "),r.length>1){var T=r[1].trim().toLowerCase();t.object.smooth=T!=="0"&&T!=="off"}else t.object.smooth=!0;var _=t.object.currentMaterial();_&&(_.smooth=t.object.smooth)}else{if(u==="\0")continue;console.warn('THREE.OBJLoader: Unexpected line: "'+u+'"')}}}}}return t.finalize(),t}function parseMtl(n,t,e){for(var r=new TextureLoader,o=t.split(`
|
|
922
|
-
`),s={name:""},u=/\s+/,l={},c=0;c<o.length;c++){var p=o[c];if(p=p.trim(),!(p.length===0||p.charAt(0)==="#")){var f=p.indexOf(" "),d=f>=0?p.substring(0,f):p;d=d.toLowerCase();var h=f>=0?p.substring(f+1):"";if(h=h.trim(),d==="newmtl")s={name:h},l[h]=s;else if(d==="ka"||d==="kd"||d==="ks"||d==="ke"){var m=h.split(u,3);s[d]=[parseFloat(m[0]),parseFloat(m[1]),parseFloat(m[2])]}else(d==="map_kd"||d==="map_ks"||d==="map_ke"||d==="norm"||d==="map_bump"||d==="bump"||d==="map_d"||d==="ns"||d==="d"||d==="tr")&&(s[d]=h)}}function g(E){var v={url:"",scale:new THREE__namespace.Vector2(1,1),offset:new THREE__namespace.Vector2(0,0),bumpScale:1},y=E.split(/\s+/),b;return b=y.indexOf("-bm"),b>=0&&(v.bumpScale=parseFloat(y[b+1]),y.splice(b,2)),b=y.indexOf("-s"),b>=0&&(v.scale.set(parseFloat(y[b+1]),parseFloat(y[b+2])),y.splice(b,4)),b=y.indexOf("-o"),b>=0&&(v.offset.set(parseFloat(y[b+1]),parseFloat(y[b+2])),y.splice(b,4)),v.url=y.join(" ").trim(),v}function A(E,v,y){var b=g(y),T=pathJoin(e.path,b.url);return r.loadTexture(T,{fetcher:e.fetcher,encoding:v==="map"||v==="emissiveMap"?THREE__namespace.sRGBEncoding:THREE__namespace.LinearEncoding,minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping}).then(function(_){var S=_.body;return S.repeat.copy(b.scale),S.offset.copy(b.offset),E.bumpScale=b.bumpScale,E[v]=S,S})}return{name:n,create:function(E){var v=new PBMMeshMaterial(e.light?"phong":"basic"),y=[],b=l[E];if(b){if(b.kd!==void 0&&v.color.fromArray(b.kd),b.ks!==void 0&&v.specular.fromArray(b.ks),b.ke!==void 0&&v.emissive.fromArray(b.ke),b.map_kd!==void 0&&y.push(A(v,"map",b.map_kd)),b.map_ks!==void 0&&y.push(A(v,"specularMap",b.map_ks)),b.map_ke!==void 0&&y.push(A(v,"emissiveMap",b.map_ke)),b.norm!==void 0&&y.push(A(v,"normalMap",b.norm)),b.map_bump!==void 0&&y.push(A(v,"bumpMap",b.map_bump)),b.bump!==void 0&&y.push(A(v,"bumpMap",b.bump)),b.map_d!==void 0&&y.push(A(v,"alphaMap",b.map_d)),b.ns!==void 0&&(v.shininess=parseFloat(b.ns)),b.d!==void 0){var T=parseFloat(b.d);T<1&&(v.opacity=T,v.transparent=!0)}if(b.tr!==void 0){var T=parseFloat(b.tr);T>0&&(v.opacity=1-T,v.transparent=!0)}}var _=Promise.all(y).then(function(S){return S});return[v,_]}}}function build(n,t){for(var e,r=[],o=[],s=new THREE__namespace.Group,u=function(p,f){var d=n.objects[p],h=d.geometry,m=d.materials,g=!1;if(h.vertices.length===0)return"continue";var A=new THREE__namespace.BufferGeometry;o.push(function(){return A.dispose()}),A.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(h.vertices),3)),h.normals.length>0&&A.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(h.normals),3)),h.colors.length>0&&(g=!0,A.setAttribute("color",new THREE__namespace.BufferAttribute(new Float32Array(h.colors),3))),h.uvs.length>0&&A.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(h.uvs),2)),h.index.length>0&&A.setIndex(new THREE__namespace.BufferAttribute(new Uint32Array(h.index),1)),A.computeBoundingBox(),A.computeBoundingSphere();for(var E=[],v=function(S,R){var M=m[S],H=M.name+"_"+M.smooth+"_"+g,B=n.materials[H];if(!B){for(var C=null,w=0,I=t;w<I.length;w++){var O=I[w],F=O.name,N=O.create;F===M.mtllib&&(C=N(M.name))}if(!C){var z=new PBMMeshMaterial;C=[z,Promise.resolve([])]}B=C[0],B.name=M.name,B.flatShading=!(M.smooth||A.attributes.normal),B.vertexColors=g,n.materials[H]=B;var J=C[1];r.push(J),o.push(function(){return B.dispose()})}E.push(B)},y=0,b=m.length;y<b;y++)v(y);A.clearGroups();for(var y=0,b=m.length;y<b;y++){var T=m[y];T.groupCount&&A.addGroup((e=T.groupStart)!==null&&e!==void 0?e:0,T.groupCount,y)}(!A.groups||A.groups.length===0)&&A.addGroup(0,A.index?A.index.count:A.attributes.position.count,0);var _=new PBMMesh(A,E);_.name=d.name,s.add(_)},l=0,c=n.objects.length;l<c;l++)u(l);return Promise.all(r).then(function(p){for(var f=[],d=0,h=p;d<h.length;d++){var m=h[d];f=f.concat(m)}return{scene:s,textures:f,dispose:function(){return o.forEach(function(g){return g()})}}})}function loadObj(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Z",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c=n.slice(0,n.lastIndexOf("/")+1),p=0,f;return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"})}).then(function(d){p=d.body.byteLength;var h=new TextDecoder;return h.decode(d.body)}).then(function(d){return f=parseObj(d),Promise.all(f.materialLibraries.map(function(h){var m=pathJoin(c,h),g=m.slice(0,m.lastIndexOf("/")+1);return l.ajax(m,{responseType:"text"}).then(function(A){var E;return parseMtl(h,A.body,{path:g,light:(E=t.light)!==null&&E!==void 0?E:!1,fetcher:l})})}))}).then(function(d){return build(f,d)}).then(function(d){return s==="Y"&&d.scene.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.scene.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"obj",modelUpAxis:s,upAxis:u,uri:n,byteLength:p,memoryUsage:getMemoryUsage(d.scene),scene:d.scene,textures:d.textures,animations:[],dispose:function(){return d.dispose()}}})}var u8=Uint8Array,u16=Uint16Array,i32=Int32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function(n,t){for(var e=new u16(31),r=0;r<31;++r)e[r]=t+=1<<n[r-1];for(var o=new i32(e[30]),r=1;r<30;++r)for(var s=e[r];s<e[r+1];++s)o[s]=s-e[r]<<5|r;return{b:e,r:o}},_a$3=freb(fleb,2),fl=_a$3.b,revfl=_a$3.r;fl[28]=258,revfl[258]=28;for(var _b=freb(fdeb,0),fd=_b.b,rev=new u16(32768),i=0;i<32768;++i){var x=(i&43690)>>1|(i&21845)<<1;x=(x&52428)>>2|(x&13107)<<2,x=(x&61680)>>4|(x&3855)<<4,rev[i]=((x&65280)>>8|(x&255)<<8)>>1}for(var hMap=function(n,t,e){for(var r=n.length,o=0,s=new u16(t);o<r;++o)n[o]&&++s[n[o]-1];var u=new u16(t);for(o=1;o<t;++o)u[o]=u[o-1]+s[o-1]<<1;var l;if(e){l=new u16(1<<t);var c=15-t;for(o=0;o<r;++o)if(n[o])for(var p=o<<4|n[o],f=t-n[o],d=u[n[o]-1]++<<f,h=d|(1<<f)-1;d<=h;++d)l[rev[d]>>c]=p}else for(l=new u16(r),o=0;o<r;++o)n[o]&&(l[o]=rev[u[n[o]-1]++]>>15-n[o]);return l},flt=new u8(288),i=0;i<144;++i)flt[i]=8;for(var i=144;i<256;++i)flt[i]=9;for(var i=256;i<280;++i)flt[i]=7;for(var i=280;i<288;++i)flt[i]=8;for(var fdt=new u8(32),i=0;i<32;++i)fdt[i]=5;var flrm=hMap(flt,9,1),fdrm=hMap(fdt,5,1),max=function(n){for(var t=n[0],e=1;e<n.length;++e)n[e]>t&&(t=n[e]);return t},bits=function(n,t,e){var r=t/8|0;return(n[r]|n[r+1]<<8)>>(t&7)&e},bits16=function(n,t){var e=t/8|0;return(n[e]|n[e+1]<<8|n[e+2]<<16)>>(t&7)},shft=function(n){return(n+7)/8|0},slc=function(n,t,e){return(t==null||t<0)&&(t=0),(e==null||e>n.length)&&(e=n.length),new u8(n.subarray(t,e))},ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function(n,t,e){var r=new Error(t||ec[n]);if(r.code=n,Error.captureStackTrace&&Error.captureStackTrace(r,err),!e)throw r;return r},inflt=function(n,t,e,r){var o=n.length,s=r?r.length:0;if(!o||t.f&&!t.l)return e||new u8(0);var u=!e,l=u||t.i!=2,c=t.i;u&&(e=new u8(o*3));var p=function(oe){var ae=e.length;if(oe>ae){var se=new u8(Math.max(ae*2,oe));se.set(e),e=se}},f=t.f||0,d=t.p||0,h=t.b||0,m=t.l,g=t.d,A=t.m,E=t.n,v=o*8;do{if(!m){f=bits(n,d,1);var y=bits(n,d+1,3);if(d+=3,y)if(y==1)m=flrm,g=fdrm,A=9,E=5;else if(y==2){var S=bits(n,d,31)+257,R=bits(n,d+10,15)+4,M=S+bits(n,d+5,31)+1;d+=14;for(var H=new u8(M),B=new u8(19),C=0;C<R;++C)B[clim[C]]=bits(n,d+C*3,7);d+=R*3;for(var w=max(B),I=(1<<w)-1,O=hMap(B,w,1),C=0;C<M;){var F=O[bits(n,d,I)];d+=F&15;var b=F>>4;if(b<16)H[C++]=b;else{var N=0,z=0;for(b==16?(z=3+bits(n,d,3),d+=2,N=H[C-1]):b==17?(z=3+bits(n,d,7),d+=3):b==18&&(z=11+bits(n,d,127),d+=7);z--;)H[C++]=N}}var J=H.subarray(0,S),G=H.subarray(S);A=max(J),E=max(G),m=hMap(J,A,1),g=hMap(G,E,1)}else err(1);else{var b=shft(d)+4,T=n[b-4]|n[b-3]<<8,_=b+T;if(_>o){c&&err(0);break}l&&p(h+T),e.set(n.subarray(b,_),h),t.b=h+=T,t.p=d=_*8,t.f=f;continue}if(d>v){c&&err(0);break}}l&&p(h+131072);for(var Q=(1<<A)-1,U=(1<<E)-1,V=d;;V=d){var N=m[bits16(n,d)&Q],X=N>>4;if(d+=N&15,d>v){c&&err(0);break}if(N||err(2),X<256)e[h++]=X;else if(X==256){V=d,m=null;break}else{var Z=X-254;if(X>264){var C=X-257,ee=fleb[C];Z=bits(n,d,(1<<ee)-1)+fl[C],d+=ee}var K=g[bits16(n,d)&U],re=K>>4;K||err(3),d+=K&15;var G=fd[re];if(re>3){var ee=fdeb[re];G+=bits16(n,d)&(1<<ee)-1,d+=ee}if(d>v){c&&err(0);break}l&&p(h+131072);var Y=h+Z;if(h<G){var W=s-G,le=Math.min(G,Y);for(W+h<0&&err(3);h<le;++h)e[h]=r[W+h]}for(;h<Y;++h)e[h]=e[h-G]}}t.l=m,t.p=V,t.b=h,t.f=f,m&&(f=1,t.m=A,t.d=g,t.n=E)}while(!f);return h!=e.length&&u?slc(e,0,h):e.subarray(0,h)},et=new u8(0),b2=function(n,t){return n[t]|n[t+1]<<8},b4=function(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0},b8=function(n,t){return b4(n,t)+b4(n,t+4)*4294967296},zls=function(n,t){return((n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31)&&err(6,"invalid zlib data"),(n[1]>>5&1)==+!t&&err(6,"invalid zlib data: "+(n[1]&32?"need":"unexpected")+" dictionary"),(n[1]>>3&4)+2};function inflateSync(n,t){return inflt(n,{i:2},t&&t.out,t&&t.dictionary)}function unzlibSync(n,t){return inflt(n.subarray(zls(n,t),-4),{i:2},t,t)}var td=typeof TextDecoder!="undefined"&&new TextDecoder,tds=0;try{td.decode(et,{stream:!0}),tds=1}catch(n){}var dutf8=function(n){for(var t="",e=0;;){var r=n[e++],o=(r>127)+(r>223)+(r>239);if(e+o>n.length)return{s:t,r:slc(n,e-1)};o?o==3?(r=((r&15)<<18|(n[e++]&63)<<12|(n[e++]&63)<<6|n[e++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):o&1?t+=String.fromCharCode((r&31)<<6|n[e++]&63):t+=String.fromCharCode((r&15)<<12|(n[e++]&63)<<6|n[e++]&63):t+=String.fromCharCode(r)}};function strFromU8(n,t){if(t){for(var e="",r=0;r<n.length;r+=16384)e+=String.fromCharCode.apply(null,n.subarray(r,r+16384));return e}else{if(td)return td.decode(n);var o=dutf8(n),s=o.s,e=o.r;return e.length&&err(8),s}}var slzh=function(n,t){return t+30+b2(n,t+26)+b2(n,t+28)},zh=function(n,t,e){var r=b2(n,t+28),o=strFromU8(n.subarray(t+46,t+46+r),!(b2(n,t+8)&2048)),s=t+46+r,u=b4(n,t+20),l=e&&u==4294967295?z64e(n,s):[u,b4(n,t+24),b4(n,t+42)],c=l[0],p=l[1],f=l[2];return[b2(n,t+10),c,p,o,s+b2(n,t+30)+b2(n,t+32),f]},z64e=function(n,t){for(;b2(n,t)!=1;t+=4+b2(n,t+2));return[b8(n,t+12),b8(n,t+4),b8(n,t+20)]};function unzipSync(n,t){for(var e={},r=n.length-22;b4(n,r)!=101010256;--r)(!r||n.length-r>65558)&&err(13);var o=b2(n,r+8);if(!o)return{};var s=b4(n,r+16),u=s==4294967295||o==65535;if(u){var l=b4(n,r-12);u=b4(n,l)==101075792,u&&(o=b4(n,l+32),s=b4(n,l+48))}for(var c=0;c<o;++c){var p=zh(n,s,u),f=p[0],d=p[1],h=p[2],m=p[3],g=p[4],A=p[5],E=slzh(n,A);s=g,f?f==8?e[m]=inflateSync(n.subarray(E,E+d),{out:new u8(h)}):err(14,"unknown compression type "+f):e[m]=slc(n,E,E+d)}return e}function loadFbx(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u=0;return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"}).then(function(l){return u=l.body.byteLength,l.body})}).then(function(l){var c;return parse$2(l,{light:t.light,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(c=n.split("?")[1])!==null&&c!==void 0?c:"",fetcher:s})}).then(function(l){var c=l.scene,p=l.unitScale/100,f=new THREE__namespace.Matrix4;if(f.makeScale(p,p,p),l.upAxis==="X")throw new Error("Cannot load fbx x upAxis");return l.upAxis==="Y"&&f.premultiply(ROTATE_X_MATRIX),o==="Y"&&f.premultiply(ROTATE_X_MATRIX_INVERSE),c.applyMatrix4(f),{type:"fbx",modelUpAxis:l.upAxis,upAxis:o,uri:n,byteLength:u,memoryUsage:getMemoryUsage(c),scene:c,textures:l.textures,animations:l.animations,dispose:function(){return l.dispose()}}})}function parse$2(n,t){var e;if(isFbxFormatBinary(n))e=new BinaryParser().parse(n);else{var r=convertArrayBufferToString(n);if(!isFbxFormatASCII(r))throw new Error("THREE.FBXLoader: Unknown format.");if(getFbxVersion(r)<7e3)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+getFbxVersion(r));e=new TextParser().parse(r)}return new FBXTreeParser(t).parse(e)}var FBXTreeParser=function(){function n(t){var e,r,o;this.light=(e=t.light)!==null&&e!==void 0?e:!0,this.resourcePath=(r=t.resourcePath)!==null&&r!==void 0?r:"",this.search=(o=t.search)!==null&&o!==void 0?o:"",this.fetcher=t.fetcher}return n.prototype.parse=function(t){var e,r,o,s,u,l,c=this.parseConnections(t),p=Object.assign(new THREE__namespace.Group,{animations:[]}),f=[],d=this.parseImages(t),h=this.parseTextures(t,d,c,f),m=this.parseMaterials(t,h,c),g=this.parseDeformers(t,c),A=new GeometryParser().parse(t,g,c);this.parseScene(t,g,A,m,c,p);var E=(r=(e=t.GlobalSettings.UpAxis)===null||e===void 0?void 0:e.value)!==null&&r!==void 0?r:1,v=(s=(o=t.GlobalSettings.FrontAxis)===null||o===void 0?void 0:o.value)!==null&&s!==void 0?s:2,y=(l=(u=t.GlobalSettings.UnitScaleFactor)===null||u===void 0?void 0:u.value)!==null&&l!==void 0?l:1,b;if(t.GlobalSettings.AmbientColor){var T=t.GlobalSettings.AmbientColor.value,_=T[0],S=T[1],R=T[2];if(_!==0||S!==0||R!==0){var M=new THREE__namespace.Color().setRGB(_,S,R);b=new THREE__namespace.AmbientLight(M,1)}}return Promise.all(f).then(function(H){var B;return{scene:p,textures:H,ambientLight:b,upAxis:["X","Y","Z"][E],frontAxis:["X","Y","Z"][v],unitScale:y,animations:(B=p.animations)!==null&&B!==void 0?B:[],dispose:function(){H.forEach(function(C){return C.dispose()}),m.forEach(function(C){return C.dispose()}),A.forEach(function(C){return C.dispose()})}}})},n.prototype.parseConnections=function(t){var e=new Map;if("Connections"in t){var r=t.Connections.connections;r.forEach(function(o){var s=o[0],u=o[1],l=o[2];e.has(s)||e.set(s,{parents:[],children:[]});var c={ID:u,relationship:l};e.get(s).parents.push(c),e.has(u)||e.set(u,{parents:[],children:[]});var p={ID:s,relationship:l};e.get(u).children.push(p)})}return e},n.prototype.parseImages=function(t){var e={},r={};if("Video"in t.Objects){var o=t.Objects.Video;for(var s in o){var u=o[s],l=parseInt(s);if(e[l]=u.RelativeFilename||u.Filename,"Content"in u){var c=u.Content instanceof ArrayBuffer&&u.Content.byteLength>0,p=typeof u.Content=="string"&&u.Content!=="";if(c||p){var f=this.parseImage(o[s]);r[u.RelativeFilename||u.Filename]=f}}}}for(var l in e){var d=e[l];r[d]!==void 0?e[l]=r[d]:e[l]=e[l].split("\\").pop()}return e},n.prototype.parseImage=function(t){var e=t.Content,r=t.RelativeFilename||t.Filename,o=r.slice(r.lastIndexOf(".")+1).toLowerCase(),s;switch(o){case"bmp":s="image/bmp";break;case"jpg":case"jpeg":s="image/jpeg";break;case"png":s="image/png";break;case"tif":s="image/tiff";break;case"tga":s="image/tga";break;default:return}if(typeof e=="string")return"data:"+s+";base64,"+e;var u=new Uint8Array(e);return window.URL.createObjectURL(new Blob([u],{type:s}))},n.prototype.parseTextures=function(t,e,r,o){var s=new Map;if("Texture"in t.Objects){var u=t.Objects.Texture;for(var l in u){var c=this.parseTexture(u[l],e,r,o);s.set(parseInt(l),c)}}return s},n.prototype.parseTexture=function(t,e,r,o){var s=this.loadTexture(t,e,r,o);s.ID=t.id,s.name=t.attrName;var u=t.WrapModeU,l=t.WrapModeV,c=u!==void 0?u.value:0,p=l!==void 0?l.value:0;if(s.wrapS=c===0?THREE__namespace.RepeatWrapping:THREE__namespace.ClampToEdgeWrapping,s.wrapT=p===0?THREE__namespace.RepeatWrapping:THREE__namespace.ClampToEdgeWrapping,t.Scaling){var f=t.Scaling.value;s.repeat.x=f[0],s.repeat.y=f[1]}if(t.Translation){var f=t.Translation.value;s.offset.x=f[0],s.offset.y=f[1]}return s},n.prototype.loadTexture=function(t,e,r,o){var s=r.get(t.id).children,u="";s!==void 0&&s.length>0&&e[s[0].ID]!==void 0&&(u=e[s[0].ID]),u=pathJoin(this.resourcePath,appendSearch(u,this.search));var l=Object.assign(new THREE__namespace.Texture,{ID:0}),c;c=this.fetcher.loadImage(u,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(f){return f.body});var p=c.then(function(f){return l.image=f,l.needsUpdate=!0,l});return o.push(p),l},n.prototype.parseMaterials=function(t,e,r){var o=new Map;if("Material"in t.Objects){var s=t.Objects.Material;for(var u in s){var l=this.parseMaterial(t,s[u],e,r);l!==null&&o.set(parseInt(u),l)}}return o},n.prototype.parseMaterial=function(t,e,r,o){var s=e.id;e.attrName;var u=e.ShadingModel;if(typeof u=="object"&&(u=u.value),u=u.toLowerCase(),!o.has(s))return null;var l=new PBMMeshMaterial(this.light?"phong":"basic");e.BumpFactor&&(l.bumpScale=e.BumpFactor.value),e.Diffuse?l.color=new THREE__namespace.Color().fromArray(e.Diffuse.value):e.DiffuseColor&&(e.DiffuseColor.type==="Color"||e.DiffuseColor.type==="ColorRGB")&&(l.color=new THREE__namespace.Color().fromArray(e.DiffuseColor.value)),e.DisplacementFactor&&(l.displacementScale=e.DisplacementFactor.value),e.Emissive?l.emissive=new THREE__namespace.Color().fromArray(e.Emissive.value):e.EmissiveColor&&(e.EmissiveColor.type==="Color"||e.EmissiveColor.type==="ColorRGB")&&(l.emissive=new THREE__namespace.Color().fromArray(e.EmissiveColor.value)),e.EmissiveFactor&&(l.emissiveIntensity=parseFloat(e.EmissiveFactor.value));var c=1-(e.TransparencyFactor?parseFloat(e.TransparencyFactor.value):0);(c===1||c===0)&&(c=e.Opacity?parseFloat(e.Opacity.value):null,c===null&&(c=1-(e.TransparentColor?parseFloat(e.TransparentColor.value[0]):0))),l.opacity=c,l.opacity<1&&(l.transparent=!0),e.ReflectionFactor&&(l.reflectivity=e.ReflectionFactor.value),e.Shininess&&(l.shininess=e.Shininess.value),e.Specular?l.specular=new THREE__namespace.Color().fromArray(e.Specular.value):e.SpecularColor&&e.SpecularColor.type==="Color"&&(l.specular=new THREE__namespace.Color().fromArray(e.SpecularColor.value));var p=this;return o.get(s).children.forEach(function(f){var d=f.relationship;switch(d){case"Bump":l.bumpMap=p.getTexture(t,r,f.ID,o);break;case"Maya|TEX_ao_map":l.aoMap=p.getTexture(t,r,f.ID,o);break;case"DiffuseColor":case"Maya|TEX_color_map":l.map=p.getTexture(t,r,f.ID,o),l.map!==void 0&&(l.map.encoding=THREE__namespace.sRGBEncoding);break;case"DisplacementColor":l.displacementMap=p.getTexture(t,r,f.ID,o);break;case"EmissiveColor":l.emissiveMap=p.getTexture(t,r,f.ID,o),l.emissiveMap!==void 0&&(l.emissiveMap.encoding=THREE__namespace.sRGBEncoding);break;case"NormalMap":case"Maya|TEX_normal_map":l.normalMap=p.getTexture(t,r,f.ID,o);break;case"ReflectionColor":l.envMap=p.getTexture(t,r,f.ID,o),l.envMap!==void 0&&(l.envMap.mapping=THREE__namespace.EquirectangularReflectionMapping,l.envMap.encoding=THREE__namespace.sRGBEncoding);break;case"SpecularColor":l.specularMap=p.getTexture(t,r,f.ID,o),l.specularMap!==void 0&&(l.specularMap.encoding=THREE__namespace.sRGBEncoding);break;case"TransparentColor":case"TransparencyFactor":l.alphaMap=p.getTexture(t,r,f.ID,o),l.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.",d);break}}),l},n.prototype.getTexture=function(t,e,r,o){return t.Objects.LayeredTexture&&r in t.Objects.LayeredTexture&&(console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."),r=o.get(r).children[0].ID),e.get(r)},n.prototype.parseDeformers=function(t,e){var r={},o={};if("Deformer"in t.Objects){var s=t.Objects.Deformer;for(var u in s){var l=s[u],c=e.get(parseInt(u));if(l.attrType==="Skin"){var p=this.parseSkeleton(c,s);p.ID=u,c.parents.length>1&&console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."),p.geometryID=c.parents[0].ID,r[u]=p}else if(l.attrType==="BlendShape"){var f={id:u};f.rawTargets=this.parseMorphTargets(c,s,e),f.id=u,c.parents.length>1&&console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."),o[u]=f}}}return{skeletons:r,morphTargets:o}},n.prototype.parseSkeleton=function(t,e){var r=[];return t.children.forEach(function(o){var s=e[o.ID];if(s.attrType==="Cluster"){var u={ID:o.ID,indices:[],weights:[],transformLink:new THREE__namespace.Matrix4().fromArray(s.TransformLink.a)};s.Indexes&&(u.indices=s.Indexes.a,u.weights=s.Weights.a),r.push(u)}}),{ID:"",geometryID:0,rawBones:r,bones:[]}},n.prototype.parseMorphTargets=function(t,e,r){for(var o=[],s=0;s<t.children.length;s++){var u=t.children[s],l=e[u.ID],c={name:l.attrName,initialWeight:l.DeformPercent,id:l.id,fullWeights:l.FullWeights.a,geoID:0};if(l.attrType!=="BlendShapeChannel")return;c.geoID=r.get(parseInt(u.ID)).children.filter(function(p){return p.relationship===void 0})[0].ID,o.push(c)}return o},n.prototype.parseScene=function(t,e,r,o,s,u){var l=this.parseModels(t,e.skeletons,r,o,s),c=t.Objects.Model,p=this;l.forEach(function(d){var h=c[d.ID];p.setLookAtProperties(t,d,h,s,u);var m=s.get(d.ID).parents;m.forEach(function(g){var A=l.get(g.ID);A!==void 0&&A.add(d)}),d.parent===null&&u.add(d)}),this.bindSkeleton(t,e.skeletons,r,l,s),u.traverse(function(d){if(d.userData.transformData){d.parent&&(d.userData.transformData.parentMatrix=d.parent.matrix,d.userData.transformData.parentMatrixWorld=d.parent.matrixWorld);var h=generateTransform(d.userData.transformData);d.applyMatrix4(h),d.updateWorldMatrix(!0,!0)}});var f=new AnimationParser().parse(t,s,u);u.children.length===1&&u.children[0]instanceof THREE__namespace.Group&&(u=u.children[0]),u.animations=f},n.prototype.parseModels=function(t,e,r,o,s){var u=new Map,l=t.Objects.Model;for(var c in l){var p=parseInt(c),f=l[c],d=s.get(p),h=this.buildSkeleton(d,e,p,f.attrName);if(!h){switch(f.attrType){case"Camera":h=this.createCamera(t,d);break;case"Light":h=this.createLight(t,d);break;case"Mesh":h=this.createMesh(d,r,o);break;case"NurbsCurve":case"LimbNode":case"Root":h=new THREE__namespace.Bone;break;case"Null":default:h=new THREE__namespace.Group;break}h.name=f.attrName?THREE__namespace.PropertyBinding.sanitizeNodeName(f.attrName):"",h.userData.originalName=f.attrName,h.ID=p}this.getTransformData(h,f),u.set(p,h)}return u},n.prototype.buildSkeleton=function(t,e,r,o){var s=null;return t.parents.forEach(function(u){var l=function(p){var f=e[p];f.rawBones.forEach(function(d,h){if(d.ID===u.ID){var m=s;s=new THREE__namespace.Bone,s.matrixWorld.copy(d.transformLink),s.name=o?THREE__namespace.PropertyBinding.sanitizeNodeName(o):"",s.userData.originalName=o,s.ID=r,f.bones[h]=s,m!==null&&s.add(m)}})};for(var c in e)l(c)}),s},n.prototype.createCamera=function(t,e){var r,o;if(e.children.forEach(function(m){var g=t.Objects.NodeAttribute[m.ID];g!==void 0&&(o=g)}),o===void 0)r=new THREE__namespace.Object3D;else{var s=0;o.CameraProjectionType!==void 0&&o.CameraProjectionType.value===1&&(s=1);var u=1;o.NearPlane!==void 0&&(u=o.NearPlane.value/1e3);var l=1e3;o.FarPlane!==void 0&&(l=o.FarPlane.value/1e3);var c=window.innerWidth,p=window.innerHeight;o.AspectWidth!==void 0&&o.AspectHeight!==void 0&&(c=o.AspectWidth.value,p=o.AspectHeight.value);var f=c/p,d=45;o.FieldOfView!==void 0&&(d=o.FieldOfView.value);var h=o.FocalLength?o.FocalLength.value:null;switch(s){case 0:r=new THREE__namespace.PerspectiveCamera(d,f,u,l),h!==null&&r.setFocalLength(h);break;case 1:console.warn("THREE.FBXLoader: Orthographic cameras not supported yet."),r=new THREE__namespace.Object3D;break;default:console.warn("THREE.FBXLoader: Unknown camera type "+s+"."),r=new THREE__namespace.Object3D;break}}return r},n.prototype.createLight=function(t,e){var r,o;if(e.children.forEach(function(h){var m=t.Objects.NodeAttribute[h.ID];m!==void 0&&(o=m)}),o===void 0)r=new THREE__namespace.Object3D;else{var s=void 0;o.LightType===void 0?s=0:s=o.LightType.value;var u=new THREE__namespace.Color(16777215);o.Color!==void 0&&(u=new THREE__namespace.Color().fromArray(o.Color.value));var l=o.Intensity===void 0?1:o.Intensity.value/100;o.CastLightOnObject!==void 0&&o.CastLightOnObject.value===0&&(l=0);var c=0;o.FarAttenuationEnd!==void 0&&(o.EnableFarAttenuation!==void 0&&o.EnableFarAttenuation.value===0?c=0:c=o.FarAttenuationEnd.value);var p=1;switch(s){case 0:r=new THREE__namespace.PointLight(u,l,c,p);break;case 1:r=new THREE__namespace.DirectionalLight(u,l);break;case 2:var f=Math.PI/3;o.InnerAngle!==void 0&&(f=THREE__namespace.MathUtils.degToRad(o.InnerAngle.value));var d=0;o.OuterAngle!==void 0&&(d=THREE__namespace.MathUtils.degToRad(o.OuterAngle.value),d=Math.max(d,1)),r=new THREE__namespace.SpotLight(u,l,c,f,d,p);break;default:console.warn("THREE.FBXLoader: Unknown light type "+o.LightType.value+", defaulting to a PointLight."),r=new THREE__namespace.PointLight(u,l);break}o.CastShadows!==void 0&&o.CastShadows.value===1&&(r.castShadow=!0)}return r},n.prototype.createMesh=function(t,e,r){var o,s=null,u=[];if(t.children.forEach(function(c){e.has(c.ID)&&(s=e.get(c.ID)),r.has(c.ID)&&u.push(r.get(c.ID))}),u.length===0){var l=new PBMMeshMaterial(this.light?"phong":"basic");l.color=new THREE__namespace.Color(13421772),u.push(l)}return"color"in s.attributes&&u.forEach(function(c){c.vertexColors=!0}),(!s.groups||s.groups.length===0)&&s.addGroup(0,s.index?s.index.count:s.attributes.position.count,0),s.FBX_Deformer?(o=new PBMSkinnedMesh(s,u),o.normalizeSkinWeights()):o=new PBMMesh(s,u),o},n.prototype.createCurve=function(t,e){var r=t.children.reduce(function(s,u){return e.has(u.ID)&&(s=e.get(u.ID)),s},null),o=new THREE__namespace.LineBasicMaterial({name:"",color:3342591,linewidth:1});return new THREE__namespace.Line(r,o)},n.prototype.getTransformData=function(t,e){var r={};e.InheritType&&(r.inheritType=parseInt(e.InheritType.value)),e.RotationOrder?r.eulerOrder=getEulerOrder(e.RotationOrder.value):r.eulerOrder=getEulerOrder(0),e.Lcl_Translation&&(r.translation=e.Lcl_Translation.value),e.PreRotation&&(r.preRotation=e.PreRotation.value),e.Lcl_Rotation&&(r.rotation=e.Lcl_Rotation.value),e.PostRotation&&(r.postRotation=e.PostRotation.value),e.Lcl_Scaling&&(r.scale=e.Lcl_Scaling.value),e.ScalingOffset&&(r.scalingOffset=e.ScalingOffset.value),e.ScalingPivot&&(r.scalingPivot=e.ScalingPivot.value),e.RotationOffset&&(r.rotationOffset=e.RotationOffset.value),e.RotationPivot&&(r.rotationPivot=e.RotationPivot.value),t.userData.transformData=r},n.prototype.setLookAtProperties=function(t,e,r,o,s){if("LookAtProperty"in r){var u=o.get(e.ID).children;u.forEach(function(l){if(l.relationship==="LookAtProperty"){var c=t.Objects.Model[l.ID];if(c.Lcl_Translation){var p=c.Lcl_Translation.value;"target"in e&&e.target instanceof THREE__namespace.Object3D?(e.target.position.fromArray(p),s.add(e.target)):e.lookAt(new THREE__namespace.Vector3().fromArray(p))}}})}},n.prototype.bindSkeleton=function(t,e,r,o,s){var u=this.parsePoseNodes(t),l=function(p){var f=e[p],d=s.get(parseInt(f.ID)).parents;d.forEach(function(h){if(r.has(h.ID)){var m=h.ID,g=s.get(m);g.parents.forEach(function(A){if(o.has(A.ID)){var E=o.get(A.ID);E instanceof THREE__namespace.SkinnedMesh&&E.bind(new THREE__namespace.Skeleton(f.bones),u[A.ID])}})}})};for(var c in e)l(c)},n.prototype.parsePoseNodes=function(t){var e={};if(t.Objects.Pose){var r=t.Objects.Pose;for(var o in r)if(r[o].attrType==="BindPose"&&r[o].NbPoseNodes>0){var s=r[o].PoseNode;Array.isArray(s)?s.forEach(function(u){e[u.Node]=new THREE__namespace.Matrix4().fromArray(u.Matrix.a)}):e[s.Node]=new THREE__namespace.Matrix4().fromArray(s.Matrix.a)}}return e},n}(),GeometryParser=function(){function n(){this.negativeMaterialIndices=!1}return n.prototype.parse=function(t,e,r){var o=new Map;if("Geometry"in t.Objects){var s=t.Objects.Geometry;for(var u in s){var l=r.get(parseInt(u)),c=this.parseGeometry(t,l,s[u],e);o.set(parseInt(u),c)}}return this.negativeMaterialIndices===!0&&console.warn("THREE.FBXLoader: The FBX file contains invalid (negative) material indices. The asset might not render as expected."),o},n.prototype.parseGeometry=function(t,e,r,o){switch(r.attrType){case"Mesh":return this.parseMeshGeometry(t,e,r,o);case"NurbsCurve":return this.parseNurbsGeometry(r)}},n.prototype.parseMeshGeometry=function(t,e,r,o){var s=o.skeletons,u=[],l=e.parents.map(function(h){return t.Objects.Model[h.ID]});if(l.length!==0){var c=e.children.reduce(function(h,m){return s[m.ID]!==void 0&&(h=s[m.ID]),h},null);e.children.forEach(function(h){o.morphTargets[h.ID]!==void 0&&u.push(o.morphTargets[h.ID])});var p=l[0],f={};p.RotationOrder&&(f.eulerOrder=getEulerOrder(p.RotationOrder.value)),p.InheritType&&(f.inheritType=parseInt(p.InheritType.value)),p.GeometricTranslation&&(f.translation=p.GeometricTranslation.value),p.GeometricRotation&&(f.rotation=p.GeometricRotation.value),p.GeometricScaling&&(f.scale=p.GeometricScaling.value);var d=generateTransform(f);return this.genGeometry(t,r,c,u,d)}},n.prototype.genGeometry=function(t,e,r,o,s){var u=new THREE__namespace.BufferGeometry;e.attrName&&(u.name=e.attrName);var l=this.parseGeoNode(e,r),c=this.genBuffers(l),p=new THREE__namespace.Float32BufferAttribute(c.vertex,3);if(p.applyMatrix4(s),u.setAttribute("position",p),c.colors.length>0&&u.setAttribute("color",new THREE__namespace.Float32BufferAttribute(c.colors,3)),r&&(u.setAttribute("skinIndex",new THREE__namespace.Uint16BufferAttribute(c.weightsIndices,4)),u.setAttribute("skinWeight",new THREE__namespace.Float32BufferAttribute(c.vertexWeights,4)),u.FBX_Deformer=r),c.normal.length>0){var f=new THREE__namespace.Matrix3().getNormalMatrix(s),d=new THREE__namespace.Float32BufferAttribute(c.normal,3);d.applyNormalMatrix(f),u.setAttribute("normal",d)}if(c.uvs.forEach(function(E,v){var y=v===0?"uv":"uv".concat(v+1);u.setAttribute(y,new THREE__namespace.Float32BufferAttribute(c.uvs[v],2))}),l.material&&l.material.mappingType!=="AllSame"){var h=c.materialIndex[0],m=0;if(c.materialIndex.forEach(function(E,v){E!==h&&(u.addGroup(m,v-m,h),h=E,m=v)}),u.groups.length>0){var g=u.groups[u.groups.length-1],A=g.start+g.count;A!==c.materialIndex.length&&u.addGroup(A,c.materialIndex.length-A,h)}u.groups.length===0&&u.addGroup(0,c.materialIndex.length,c.materialIndex[0])}return this.addMorphTargets(t,u,e,o,s),u},n.prototype.parseGeoNode=function(t,e){var r={};if(r.vertexPositions=t.Vertices!==void 0?t.Vertices.a:[],r.vertexIndices=t.PolygonVertexIndex!==void 0?t.PolygonVertexIndex.a:[],t.LayerElementColor&&(r.color=this.parseVertexColors(t.LayerElementColor[0])),t.LayerElementMaterial&&(r.material=this.parseMaterialIndices(t.LayerElementMaterial[0])),t.LayerElementNormal&&(r.normal=this.parseNormals(t.LayerElementNormal[0])),t.LayerElementUV){r.uv=[];for(var o=0;t.LayerElementUV[o];)t.LayerElementUV[o].UV&&r.uv.push(this.parseUVs(t.LayerElementUV[o])),o++}return r.weightTable={},e!==null&&(r.skeleton=e,e.rawBones.forEach(function(s,u){s.indices.forEach(function(l,c){r.weightTable[l]===void 0&&(r.weightTable[l]=[]),r.weightTable[l].push({id:u,weight:s.weights[c]})})})),r},n.prototype.genBuffers=function(t){var e={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]},r=0,o=0,s=!1,u=[],l=[],c=[],p=[],f=[],d=[],h=this;return t.vertexIndices.forEach(function(m,g){var A=0,E=!1;m<0&&(m=m^-1,E=!0);var v=[],y=[];if(u.push(m*3,m*3+1,m*3+2),t.color){var b=getData(g,r,m,t.color);c.push(b[0],b[1],b[2])}if(t.skeleton){if(t.weightTable[m]!==void 0&&t.weightTable[m].forEach(function(R){y.push(R.weight),v.push(R.id)}),y.length>4){s||(console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),s=!0);var T=[0,0,0,0],_=[0,0,0,0];y.forEach(function(R,M){var H=R,B=v[M];_.forEach(function(C,w,I){if(H>C){I[w]=H,H=C;var O=T[w];T[w]=B,B=O}})}),v=T,y=_}for(;y.length<4;)y.push(0),v.push(0);for(var S=0;S<4;++S)f.push(y[S]),d.push(v[S])}if(t.normal){var b=getData(g,r,m,t.normal);l.push(b[0],b[1],b[2])}t.material&&t.material.mappingType!=="AllSame"&&(A=getData(g,r,m,t.material)[0],A<0&&(h.negativeMaterialIndices=!0,A=0)),t.uv&&t.uv.forEach(function(R,M){var H=getData(g,r,m,R);p[M]===void 0&&(p[M]=[]),p[M].push(H[0]),p[M].push(H[1])}),o++,E&&(h.genFace(e,t,u,A,l,c,p,f,d,o),r++,o=0,u=[],l=[],c=[],p=[],f=[],d=[])}),e},n.prototype.getNormalNewell=function(t){for(var e=new THREE__namespace.Vector3(0,0,0),r=0;r<t.length;r++){var o=t[r],s=t[(r+1)%t.length];e.x+=(o.y-s.y)*(o.z+s.z),e.y+=(o.z-s.z)*(o.x+s.x),e.z+=(o.x-s.x)*(o.y+s.y)}return e.normalize(),e},n.prototype.getNormalTangentAndBitangent=function(t){var e=this.getNormalNewell(t),r=Math.abs(e.z)>.5?new THREE__namespace.Vector3(0,1,0):new THREE__namespace.Vector3(0,0,1),o=r.cross(e).normalize(),s=e.clone().cross(o).normalize();return{normal:e,tangent:o,bitangent:s}},n.prototype.flattenVertex=function(t,e,r){return new THREE__namespace.Vector2(t.dot(e),t.dot(r))},n.prototype.genFace=function(t,e,r,o,s,u,l,c,p,f){var d;if(f>3){for(var h=[],m=e.baseVertexPositions||e.vertexPositions,g=0;g<r.length;g+=3)h.push(new THREE__namespace.Vector3(m[r[g]],m[r[g+1]],m[r[g+2]]));for(var A=this.getNormalTangentAndBitangent(h),E=A.tangent,v=A.bitangent,y=[],b=0,T=h;b<T.length;b++){var _=T[b];y.push(this.flattenVertex(_,E,v))}d=THREE__namespace.ShapeUtils.triangulateShape(y,[])}else d=[[0,1,2]];for(var S=function(I,O,F){t.vertex.push(e.vertexPositions[r[I*3]]),t.vertex.push(e.vertexPositions[r[I*3+1]]),t.vertex.push(e.vertexPositions[r[I*3+2]]),t.vertex.push(e.vertexPositions[r[O*3]]),t.vertex.push(e.vertexPositions[r[O*3+1]]),t.vertex.push(e.vertexPositions[r[O*3+2]]),t.vertex.push(e.vertexPositions[r[F*3]]),t.vertex.push(e.vertexPositions[r[F*3+1]]),t.vertex.push(e.vertexPositions[r[F*3+2]]),e.skeleton&&(t.vertexWeights.push(c[I*4]),t.vertexWeights.push(c[I*4+1]),t.vertexWeights.push(c[I*4+2]),t.vertexWeights.push(c[I*4+3]),t.vertexWeights.push(c[O*4]),t.vertexWeights.push(c[O*4+1]),t.vertexWeights.push(c[O*4+2]),t.vertexWeights.push(c[O*4+3]),t.vertexWeights.push(c[F*4]),t.vertexWeights.push(c[F*4+1]),t.vertexWeights.push(c[F*4+2]),t.vertexWeights.push(c[F*4+3]),t.weightsIndices.push(p[I*4]),t.weightsIndices.push(p[I*4+1]),t.weightsIndices.push(p[I*4+2]),t.weightsIndices.push(p[I*4+3]),t.weightsIndices.push(p[O*4]),t.weightsIndices.push(p[O*4+1]),t.weightsIndices.push(p[O*4+2]),t.weightsIndices.push(p[O*4+3]),t.weightsIndices.push(p[F*4]),t.weightsIndices.push(p[F*4+1]),t.weightsIndices.push(p[F*4+2]),t.weightsIndices.push(p[F*4+3])),e.color&&(t.colors.push(u[I*3]),t.colors.push(u[I*3+1]),t.colors.push(u[I*3+2]),t.colors.push(u[O*3]),t.colors.push(u[O*3+1]),t.colors.push(u[O*3+2]),t.colors.push(u[F*3]),t.colors.push(u[F*3+1]),t.colors.push(u[F*3+2])),e.material&&e.material.mappingType!=="AllSame"&&(t.materialIndex.push(o),t.materialIndex.push(o),t.materialIndex.push(o)),e.normal&&(t.normal.push(s[I*3]),t.normal.push(s[I*3+1]),t.normal.push(s[I*3+2]),t.normal.push(s[O*3]),t.normal.push(s[O*3+1]),t.normal.push(s[O*3+2]),t.normal.push(s[F*3]),t.normal.push(s[F*3+1]),t.normal.push(s[F*3+2])),e.uv&&e.uv.forEach(function(N,z){t.uvs[z]===void 0&&(t.uvs[z]=[]),t.uvs[z].push(l[z][I*2]),t.uvs[z].push(l[z][I*2+1]),t.uvs[z].push(l[z][O*2]),t.uvs[z].push(l[z][O*2+1]),t.uvs[z].push(l[z][F*2]),t.uvs[z].push(l[z][F*2+1])})},R=0,M=d;R<M.length;R++){var H=M[R],B=H[0],C=H[1],w=H[2];S(B,C,w)}},n.prototype.addMorphTargets=function(t,e,r,o,s){if(o.length!==0){e.morphTargetsRelative=!0,e.morphAttributes.position=[];var u=this;o.forEach(function(l){l.rawTargets.forEach(function(c){var p=t.Objects.Geometry[c.geoID];p!==void 0&&u.genMorphGeometry(e,r,p,s,c.name)})})}},n.prototype.genMorphGeometry=function(t,e,r,o,s){for(var u=e.Vertices!==void 0?e.Vertices.a:[],l=e.PolygonVertexIndex!==void 0?e.PolygonVertexIndex.a:[],c=r.Vertices!==void 0?r.Vertices.a:[],p=r.Indexes?r.Indexes.a:[],f=t.attributes.position.count*3,d=new Float32Array(f),h=0;h<p.length;h++){var m=p[h]*3;d[m]=c[h*3],d[m+1]=c[h*3+1],d[m+2]=c[h*3+2]}var g={vertexIndices:l,vertexPositions:d,baseVertexPositions:u},A=this.genBuffers(g),E=new THREE__namespace.Float32BufferAttribute(A.vertex,3);E.name=s||r.attrName,E.applyMatrix4(o),t.morphAttributes.position.push(E)},n.prototype.parseNormals=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType,o=t.Normals.a,s=[];return r==="IndexToDirect"&&(t.NormalIndex?s=t.NormalIndex.a:t.NormalsIndex&&(s=t.NormalsIndex.a)),{dataSize:3,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseUVs=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType,o=t.UV.a,s=[];return r==="IndexToDirect"&&(s=t.UVIndex.a),{dataSize:2,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseVertexColors=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType,o=t.Colors.a,s=[];r==="IndexToDirect"&&(s=t.ColorIndex.a);for(var u=0,l=new THREE__namespace.Color;u<o.length;u+=4)l.fromArray(o,u),l.toArray(o,u);return{dataSize:4,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseMaterialIndices=function(t){var e=t.MappingInformationType,r=t.ReferenceInformationType;if(e==="NoMappingInformation")return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:r};for(var o=t.Materials.a,s=[],u=0;u<o.length;++u)s.push(u);return{dataSize:1,buffer:o,indices:s,mappingType:e,referenceType:r}},n.prototype.parseNurbsGeometry=function(t){var e=parseInt(t.Order);if(isNaN(e))return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s",t.Order,t.id),new THREE__namespace.BufferGeometry;for(var r=e-1,o=t.KnotVector.a,s=[],u=t.Points.a,l=0,c=u.length;l<c;l+=4)s.push(new THREE__namespace.Vector4().fromArray(u,l));var p,f;if(t.Form==="Closed")s.push(s[0]);else if(t.Form==="Periodic"){p=r,f=o.length-1-p;for(var l=0;l<r;++l)s.push(s[l])}var d=new NURBSCurve(r,o,s,p,f),h=d.getPoints(s.length*12);return new THREE__namespace.BufferGeometry().setFromPoints(h)},n}(),AnimationParser=function(){function n(){}return n.prototype.parse=function(t,e,r){var o=[],s=this.parseClips(t,e,r);if(s!==void 0)for(var u in s){var l=s[u],c=this.addClip(l,r);o.push(c)}return o},n.prototype.parseClips=function(t,e,r){if(t.Objects.AnimationCurve!==void 0){var o=this.parseAnimationCurveNodes(t);this.parseAnimationCurves(t,o,e);var s=this.parseAnimationLayers(t,o,e,r),u=this.parseAnimStacks(t,s,e);return u}},n.prototype.parseAnimationCurveNodes=function(t){var e=t.Objects.AnimationCurveNode,r=new Map;for(var o in e){var s=e[o];if(s.attrName.match(/S|R|T|DeformPercent/)!==null){var u={id:s.id,attr:s.attrName,curves:{}};r.set(u.id,u)}}return r},n.prototype.parseAnimationCurves=function(t,e,r){var o=t.Objects.AnimationCurve;for(var s in o){var u={id:o[s].id,times:o[s].KeyTime.a.map(convertFBXTimeToSeconds),values:o[s].KeyValueFloat.a},l=r.get(u.id);if(l!==void 0){var c=l.parents[0].ID,p=l.parents[0].relationship,f=e.get(c);f&&(p.match(/X/)?f.curves.x=u:p.match(/Y/)?f.curves.y=u:p.match(/Z/)?f.curves.z=u:p.match(/DeformPercent/)&&e.has(c)&&(f.curves.morph=u))}}},n.prototype.parseAnimationLayers=function(t,e,r,o){var s=t.Objects.AnimationLayer,u=new Map,l=function(p){var f=[],d=r.get(parseInt(p));if(d!==void 0){var h=d.children;h.forEach(function(m,g){if(e.has(m.ID)){var A=e.get(m.ID);if(A.curves.x!==void 0||A.curves.y!==void 0||A.curves.z!==void 0){if(f[g]===void 0){var E=r.get(m.ID).parents.filter(function(M){return M.relationship!==void 0})[0].ID;if(E!==void 0){var v=t.Objects.Model[E.toString()];if(v===void 0){console.warn("THREE.FBXLoader: Encountered a unused curve.",m);return}var y={modelName:v.attrName?THREE__namespace.PropertyBinding.sanitizeNodeName(v.attrName):"",ID:v.id,initialPosition:[0,0,0],initialRotation:[0,0,0],initialScale:[1,1,1],transform:new THREE__namespace.Matrix4,eulerOrder:"",preRotation:[0,0,0],postRotation:[0,0,0]};o.traverse(function(M){M.ID===v.id&&(y.transform=M.matrix,M.userData.transformData&&(y.eulerOrder=M.userData.transformData.eulerOrder))}),y.transform||(y.transform=new THREE__namespace.Matrix4),v.PreRotation&&(y.preRotation=v.PreRotation.value),v.PostRotation&&(y.postRotation=v.PostRotation.value),f[g]=y}}f[g]&&(f[g][A.attr]=A)}else if(A.curves.morph!==void 0){if(f[g]===void 0){var b=r.get(m.ID).parents.filter(function(H){return H.relationship!==void 0})[0].ID,T=r.get(b).parents[0].ID,_=r.get(T).parents[0].ID,E=r.get(_).parents[0].ID,S=t.Objects.Model[E],R={modelName:S.attrName?THREE__namespace.PropertyBinding.sanitizeNodeName(S.attrName):"",morphName:t.Objects.Deformer[b].attrName};f[g]=R}f[g][A.attr]=A}}}),u.set(parseInt(p),f)}};for(var c in s)l(c);return u},n.prototype.parseAnimStacks=function(t,e,r){var o=t.Objects.AnimationStack,s={};for(var u in o){var l=r.get(parseInt(u)).children;l.length>1&&console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");var c=e.get(l[0].ID);s[u]={name:o[u].attrName,layer:c}}return s},n.prototype.addClip=function(t,e){var r=[],o=this;return t.layer.forEach(function(s){r=r.concat(o.generateTracks(s,e))}),new THREE__namespace.AnimationClip(t.name,-1,r)},n.prototype.generateTracks=function(t,e){var r=[],o=new THREE__namespace.Vector3,s=new THREE__namespace.Vector3;t.transform&&t.transform.decompose(o,new THREE__namespace.Quaternion,s);var u=o.toArray(),l=s.toArray();if(t.T!==void 0&&Object.keys(t.T.curves).length>0){var c=this.generateVectorTrack(t.modelName,t.T.curves,u,"position");c!==void 0&&r.push(c)}if(t.R!==void 0&&Object.keys(t.R.curves).length>0){var p=this.generateRotationTrack(t.modelName,t.R.curves,t.preRotation,t.postRotation,t.eulerOrder);p!==void 0&&r.push(p)}if(t.S!==void 0&&Object.keys(t.S.curves).length>0){var f=this.generateVectorTrack(t.modelName,t.S.curves,l,"scale");f!==void 0&&r.push(f)}if(t.DeformPercent!==void 0){var d=this.generateMorphTrack(t,e);d!==void 0&&r.push(d)}return r},n.prototype.generateVectorTrack=function(t,e,r,o){var s=this.getTimesForAllAxes(e),u=this.getKeyframeTrackValues(s,e,r);return new THREE__namespace.VectorKeyframeTrack(t+"."+o,s,u)},n.prototype.generateRotationTrack=function(t,e,r,o,s){var u,l;if(e.x!==void 0&&e.y!==void 0&&e.z!==void 0){var c=this.interpolateRotations(e.x,e.y,e.z,s);u=c[0],l=c[1]}var p=getEulerOrder(0),f=new THREE__namespace.Quaternion,d=new THREE__namespace.Quaternion;r!==void 0&&(r=r.map(THREE__namespace.MathUtils.degToRad),r.push(p),f.setFromEuler(new THREE__namespace.Euler().fromArray(r))),o!==void 0&&(o=o.map(THREE__namespace.MathUtils.degToRad),o.push(p),d.setFromEuler(new THREE__namespace.Euler().fromArray(o)),d.inverse());var h=new THREE__namespace.Quaternion,m=new THREE__namespace.Euler,g=[];if(!l||!u)return new THREE__namespace.QuaternionKeyframeTrack(t+".quaternion",[0],[0]);for(var A=0;A<l.length;A+=3){if(m.set(l[A],l[A+1],l[A+2],s),h.setFromEuler(m),h.premultiply(f),h.multiply(d),A>2){var E=new THREE__namespace.Quaternion().fromArray(g,(A-3)/3*4);E.dot(h)<0&&h.set(-h.x,-h.y,-h.z,-h.w)}h.toArray(g,A/3*4)}return new THREE__namespace.QuaternionKeyframeTrack(t+".quaternion",u,g)},n.prototype.generateMorphTrack=function(t,e){var r=t.DeformPercent.curves.morph,o=r.values.map(function(u){return u/100}),s=e.getObjectByName(t.modelName).morphTargetDictionary[t.morphName];return new THREE__namespace.NumberKeyframeTrack(t.modelName+".morphTargetInfluences["+s+"]",r.times,o)},n.prototype.getTimesForAllAxes=function(t){var e=[];if(t.x!==void 0&&(e=e.concat(t.x.times)),t.y!==void 0&&(e=e.concat(t.y.times)),t.z!==void 0&&(e=e.concat(t.z.times)),e=e.sort(function(l,c){return l-c}),e.length>1){for(var r=1,o=e[0],s=1;s<e.length;s++){var u=e[s];u!==o&&(e[r]=u,o=u,r++)}e=e.slice(0,r)}return e},n.prototype.getKeyframeTrackValues=function(t,e,r){var o=r,s=[],u=-1,l=-1,c=-1;return t.forEach(function(p){if(e.x&&(u=e.x.times.indexOf(p)),e.y&&(l=e.y.times.indexOf(p)),e.z&&(c=e.z.times.indexOf(p)),u!==-1){var f=e.x.values[u];s.push(f),o[0]=f}else s.push(o[0]);if(l!==-1){var d=e.y.values[l];s.push(d),o[1]=d}else s.push(o[1]);if(c!==-1){var h=e.z.values[c];s.push(h),o[2]=h}else s.push(o[2])}),s},n.prototype.interpolateRotations=function(t,e,r,o){var s=[],u=[];s.push(t.times[0]),u.push(THREE__namespace.MathUtils.degToRad(t.values[0])),u.push(THREE__namespace.MathUtils.degToRad(e.values[0])),u.push(THREE__namespace.MathUtils.degToRad(r.values[0]));for(var l=1;l<t.values.length;l++){var c=[t.values[l-1],e.values[l-1],r.values[l-1]];if(!(isNaN(c[0])||isNaN(c[1])||isNaN(c[2]))){var p=c.map(THREE__namespace.MathUtils.degToRad),f=[t.values[l],e.values[l],r.values[l]];if(!(isNaN(f[0])||isNaN(f[1])||isNaN(f[2]))){f.map(THREE__namespace.MathUtils.degToRad);var d=[f[0]-c[0],f[1]-c[1],f[2]-c[2]],h=[Math.abs(d[0]),Math.abs(d[1]),Math.abs(d[2])];if(h[0]>=180||h[1]>=180||h[2]>=180){var m=Math.max.apply(Math,h),g=m/180,A=new THREE__namespace.Euler(p[0],p[1],p[2],o),E=new THREE__namespace.Euler(p[0],p[1],p[2],o),v=new THREE__namespace.Quaternion().setFromEuler(A),y=new THREE__namespace.Quaternion().setFromEuler(E);v.dot(y)&&y.set(-y.x,-y.y,-y.z,-y.w);for(var b=t.times[l-1],T=t.times[l]-b,_=new THREE__namespace.Quaternion,S=new THREE__namespace.Euler,R=0;R<1;R+=1/g)_.copy(v.clone().slerp(y.clone(),R)),s.push(b+R*T),S.setFromQuaternion(_,o),u.push(S.x),u.push(S.y),u.push(S.z)}else s.push(t.times[l]),u.push(THREE__namespace.MathUtils.degToRad(t.values[l])),u.push(THREE__namespace.MathUtils.degToRad(e.values[l])),u.push(THREE__namespace.MathUtils.degToRad(r.values[l]))}}}return[s,u]},n}(),TextParser=function(){function n(){this.allNodes=new FBXTree,this.nodeStack=[],this.currentIndent=0,this.currentPropName=""}return n.prototype.getPrevNode=function(){return this.nodeStack[this.currentIndent-2]},n.prototype.getCurrentNode=function(){return this.nodeStack[this.currentIndent-1]},n.prototype.getCurrentProp=function(){return this.currentProp},n.prototype.pushStack=function(t){this.nodeStack.push(t),this.currentIndent+=1},n.prototype.popStack=function(){this.nodeStack.pop(),this.currentIndent-=1},n.prototype.setCurrentProp=function(t,e){this.currentProp=t,this.currentPropName=e},n.prototype.parse=function(t){this.currentIndent=0,this.allNodes=new FBXTree,this.nodeStack=[],this.currentProp=[],this.currentPropName="";var e=this,r=t.split(/[\r\n]+/);return r.forEach(function(o,s){var u=o.match(/^[\s\t]*;/),l=o.match(/^[\s\t]*$/);if(!(u||l)){var c=o.match("^\\t{"+e.currentIndent+"}(\\w+):(.*){"),p=o.match("^\\t{"+e.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),f=o.match("^\\t{"+(e.currentIndent-1)+"}}");c?e.parseNodeBegin(o,c):p?e.parseNodeProperty(o,p,r[++s]):f?e.popStack():o.match(/^[^\s\t}]/)&&e.parseNodePropertyContinued(o)}}),this.allNodes},n.prototype.parseNodeBegin=function(t,e){var r=e[1].trim().replace(/^"/,"").replace(/"$/,""),o=e[2].split(",").map(function(c){return c.trim().replace(/^"/,"").replace(/"$/,"")}),s={name:r},u=this.parseNodeAttr(o),l=this.getCurrentNode();this.currentIndent===0?this.allNodes.add(r,s):r in l?(r==="PoseNode"?l.PoseNode.push(s):l[r].id!==void 0&&(l[r]={},l[r][l[r].id]=l[r]),u.id!==""&&(l[r][u.id]=s)):typeof u.id=="number"?(l[r]={},l[r][u.id]=s):r!=="Properties70"&&(r==="PoseNode"?l[r]=[s]:l[r]=s),typeof u.id=="number"&&(s.id=u.id),u.name!==""&&(s.attrName=u.name),u.type!==""&&(s.attrType=u.type),this.pushStack(s)},n.prototype.parseNodeAttr=function(t){var e=t[0];t[0]!==""&&(e=parseInt(t[0]),isNaN(e)&&(e=t[0]));var r="",o="";return t.length>1&&(r=t[1].replace(/^(\w+)::/,""),o=t[2]),{id:e,name:r,type:o}},n.prototype.parseNodeProperty=function(t,e,r){var o=e[1].replace(/^"/,"").replace(/"$/,"").trim(),s=e[2].replace(/^"/,"").replace(/"$/,"").trim();o==="Content"&&s===","&&(s=r.replace(/"/g,"").replace(/,$/,"").trim());var u=this.getCurrentNode(),l=u.name;if(l==="Properties70"){this.parseNodeSpecialProperty(t,o,s);return}if(o==="C"){var c=s.split(",").slice(1),p=parseInt(c[0]),f=parseInt(c[1]),d=s.split(",").slice(3);d=d.map(function(h){return h.trim().replace(/^"/,"")}),o="connections",s=[p,f],append(s,d),u[o]===void 0&&(u[o]=[])}o==="Node"&&(u.id=s),o in u&&Array.isArray(u[o])?u[o].push(s):o!=="a"?u[o]=s:u.a=s,this.setCurrentProp(u,o),o==="a"&&s.slice(-1)!==","&&(u.a=parseNumberArray(s))},n.prototype.parseNodePropertyContinued=function(t){var e=this.getCurrentNode();e.a+=t,t.slice(-1)!==","&&(e.a=parseNumberArray(e.a))},n.prototype.parseNodeSpecialProperty=function(t,e,r){var o=r.split('",').map(function(f){return f.trim().replace(/^\"/,"").replace(/\s/,"_")}),s=o[0],u=o[1],l=o[2],c=o[3],p=o[4];switch(u){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":p=parseFloat(p);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":p=parseNumberArray(p);break}this.getPrevNode()[s]={type:u,type2:l,flag:c,value:p},this.setCurrentProp(this.getPrevNode(),s)},n}(),BinaryParser=function(){function n(){}return n.prototype.parse=function(t){var e=new BinaryReader(t);e.skip(23);var r=e.getUint32();if(r<6400)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+r);for(var o=new FBXTree;!this.endOfContent(e);){var s=this.parseNode(e,r);s!==null&&o.add(s.name,s)}return o},n.prototype.endOfContent=function(t){return t.size()%16===0?(t.getOffset()+160+16&-16)>=t.size():t.getOffset()+160+16>=t.size()},n.prototype.parseNode=function(t,e){var r={},o=e>=7500?t.getUint64():t.getUint32(),s=e>=7500?t.getUint64():t.getUint32();e>=7500?t.getUint64():t.getUint32();var u=t.getUint8(),l=t.getString(u);if(o===0)return null;for(var c=[],p=0;p<s;p++)c.push(this.parseProperty(t));var f=c.length>0?c[0]:"",d=c.length>1?c[1]:"",h=c.length>2?c[2]:"";for(r.singleProperty=s===1&&t.getOffset()===o;o>t.getOffset();){var m=this.parseNode(t,e);m!==null&&this.parseSubNode(l,r,m)}return r.propertyList=c,typeof f=="number"&&(r.id=f),d!==""&&(r.attrName=d),h!==""&&(r.attrType=h),l!==""&&(r.name=l),r},n.prototype.parseSubNode=function(t,e,r){if(r.singleProperty===!0){var o=r.propertyList[0];Array.isArray(o)?(e[r.name]=r,r.a=o):e[r.name]=o}else if(t==="Connections"&&r.name==="C"){var s=[];r.propertyList.forEach(function(h,m){m!==0&&s.push(h)}),e.connections===void 0&&(e.connections=[]),e.connections.push(s)}else if(r.name==="Properties70"){var u=Object.keys(r);u.forEach(function(h){e[h]=r[h]})}else if(t==="Properties70"&&r.name==="P"){var l=r.propertyList[0],c=r.propertyList[1],p=r.propertyList[2],f=r.propertyList[3],d=void 0;l.indexOf("Lcl ")===0&&(l=l.replace("Lcl ","Lcl_")),c.indexOf("Lcl ")===0&&(c=c.replace("Lcl ","Lcl_")),c==="Color"||c==="ColorRGB"||c==="Vector"||c==="Vector3D"||c.indexOf("Lcl_")===0?d=[r.propertyList[4],r.propertyList[5],r.propertyList[6]]:d=r.propertyList[4],e[l]={type:c,type2:p,flag:f,value:d}}else e[r.name]===void 0?typeof r.id=="number"?(e[r.name]={},e[r.name][r.id]=r):e[r.name]=r:r.name==="PoseNode"?(Array.isArray(e[r.name])||(e[r.name]=[e[r.name]]),e[r.name].push(r)):e[r.name][r.id]===void 0&&(e[r.name][r.id]=r)},n.prototype.parseProperty=function(t){var e=t.getString(1),r;switch(e){case"C":return t.getBoolean();case"D":return t.getFloat64();case"F":return t.getFloat32();case"I":return t.getInt32();case"L":return t.getInt64();case"R":return r=t.getUint32(),t.getArrayBuffer(r);case"S":return r=t.getUint32(),t.getString(r);case"Y":return t.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":var o=t.getUint32(),s=t.getUint32(),u=t.getUint32();if(s===0)switch(e){case"b":case"c":return t.getBooleanArray(o);case"d":return t.getFloat64Array(o);case"f":return t.getFloat32Array(o);case"i":return t.getInt32Array(o);case"l":return t.getInt64Array(o)}var l=unzlibSync(new Uint8Array(t.getArrayBuffer(u))),c=new BinaryReader(l.buffer);switch(e){case"b":case"c":return c.getBooleanArray(o);case"d":return c.getFloat64Array(o);case"f":return c.getFloat32Array(o);case"i":return c.getInt32Array(o);case"l":return c.getInt64Array(o)}break;default:throw new Error("THREE.FBXLoader: Unknown property type "+e)}},n}(),BinaryReader=function(){function n(t,e){this.dv=new DataView(t),this.offset=0,this.littleEndian=e!==void 0?e:!0,this._textDecoder=new TextDecoder}return n.prototype.getOffset=function(){return this.offset},n.prototype.size=function(){return this.dv.buffer.byteLength},n.prototype.skip=function(t){this.offset+=t},n.prototype.getBoolean=function(){return(this.getUint8()&1)===1},n.prototype.getBooleanArray=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getBoolean());return e},n.prototype.getUint8=function(){var t=this.dv.getUint8(this.offset);return this.offset+=1,t},n.prototype.getInt16=function(){var t=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,t},n.prototype.getInt32=function(){var t=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,t},n.prototype.getInt32Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getInt32());return e},n.prototype.getUint32=function(){var t=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,t},n.prototype.getInt64=function(){var t,e;return this.littleEndian?(t=this.getUint32(),e=this.getUint32()):(e=this.getUint32(),t=this.getUint32()),e&2147483648?(e=~e&4294967295,t=~t&4294967295,t===4294967295&&(e=e+1&4294967295),t=t+1&4294967295,-(e*4294967296+t)):e*4294967296+t},n.prototype.getInt64Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getInt64());return e},n.prototype.getUint64=function(){var t,e;return this.littleEndian?(t=this.getUint32(),e=this.getUint32()):(e=this.getUint32(),t=this.getUint32()),e*4294967296+t},n.prototype.getFloat32=function(){var t=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,t},n.prototype.getFloat32Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getFloat32());return e},n.prototype.getFloat64=function(){var t=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,t},n.prototype.getFloat64Array=function(t){for(var e=[],r=0;r<t;r++)e.push(this.getFloat64());return e},n.prototype.getArrayBuffer=function(t){var e=this.dv.buffer.slice(this.offset,this.offset+t);return this.offset+=t,e},n.prototype.getString=function(t){var e=this.offset,r=new Uint8Array(this.dv.buffer,e,t);this.skip(t);var o=r.indexOf(0);return o>=0&&(r=new Uint8Array(this.dv.buffer,e,o)),this._textDecoder.decode(r)},n}(),FBXTree=function(){function n(){this.Connections={connections:[]},this.Objects={Model:{},NodeAttribute:{},Geometry:{}},this.GlobalSettings={}}return n.prototype.add=function(t,e){this[t]=e},n}();function isFbxFormatBinary(n){var t="Kaydara FBX Binary \0";return n.byteLength>=t.length&&t===convertArrayBufferToString(n,0,t.length)}function isFbxFormatASCII(n){var t=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"],e=0;function r(u){var l=n[u-1];return n=n.slice(e+u),e++,l}for(var o=0;o<t.length;++o){var s=r(1);if(s===t[o])return!1}return!0}function getFbxVersion(n){var t=/FBXVersion: (\d+)/,e=n.match(t);if(e){var r=parseInt(e[1]);return r}throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.")}function convertFBXTimeToSeconds(n){return n/46186158e3}var dataArray=[];function getData(n,t,e,r){var o;switch(r.mappingType){case"ByPolygonVertex":o=n;break;case"ByPolygon":o=t;break;case"ByVertice":o=e;break;case"AllSame":o=r.indices[0];break;default:console.warn("THREE.FBXLoader: unknown attribute mapping type "+r.mappingType),o=0}r.referenceType==="IndexToDirect"&&(o=r.indices[o]);var s=o*r.dataSize,u=s+r.dataSize;return slice(dataArray,r.buffer,s,u)}var tempEuler=new THREE__namespace.Euler,tempVec=new THREE__namespace.Vector3;function generateTransform(n){var t=new THREE__namespace.Matrix4,e=new THREE__namespace.Matrix4,r=new THREE__namespace.Matrix4,o=new THREE__namespace.Matrix4,s=new THREE__namespace.Matrix4,u=new THREE__namespace.Matrix4,l=new THREE__namespace.Matrix4,c=new THREE__namespace.Matrix4,p=new THREE__namespace.Matrix4,f=new THREE__namespace.Matrix4,d=new THREE__namespace.Matrix4,h=new THREE__namespace.Matrix4,m=n.inheritType?n.inheritType:0;n.translation&&t.setPosition(tempVec.fromArray(n.translation));var g=getEulerOrder(0);if(n.preRotation){var A=n.preRotation.map(THREE__namespace.MathUtils.degToRad);A.push(g),e.makeRotationFromEuler(tempEuler.fromArray(A))}if(n.rotation){var A=n.rotation.map(THREE__namespace.MathUtils.degToRad);A.push(n.eulerOrder||g),r.makeRotationFromEuler(tempEuler.fromArray(A))}if(n.postRotation){var A=n.postRotation.map(THREE__namespace.MathUtils.degToRad);A.push(g),o.makeRotationFromEuler(tempEuler.fromArray(A)),o.copy(new THREE__namespace.Matrix4().getInverse(o))}n.scale&&s.scale(tempVec.fromArray(n.scale)),n.scalingOffset&&l.setPosition(tempVec.fromArray(n.scalingOffset)),n.scalingPivot&&u.setPosition(tempVec.fromArray(n.scalingPivot)),n.rotationOffset&&c.setPosition(tempVec.fromArray(n.rotationOffset)),n.rotationPivot&&p.setPosition(tempVec.fromArray(n.rotationPivot)),n.parentMatrixWorld&&(d.copy(n.parentMatrix),f.copy(n.parentMatrixWorld));var E=e.clone().multiply(r).multiply(o),v=new THREE__namespace.Matrix4;v.extractRotation(f);var y=new THREE__namespace.Matrix4;y.copyPosition(f);var b=new THREE__namespace.Matrix4().getInverse(y).multiply(f),T=new THREE__namespace.Matrix4().getInverse(v).multiply(b),_=s,S=new THREE__namespace.Matrix4;if(m===0)S.copy(v).multiply(E).multiply(T).multiply(_);else if(m===1)S.copy(v).multiply(T).multiply(E).multiply(_);else{var R=new THREE__namespace.Matrix4().scale(new THREE__namespace.Vector3().setFromMatrixScale(d)),M=new THREE__namespace.Matrix4().getInverse(R),H=T.clone().multiply(M);S.copy(v).multiply(E).multiply(H).multiply(_)}var B=new THREE__namespace.Matrix4().getInverse(p),C=new THREE__namespace.Matrix4().getInverse(u),w=t.clone().multiply(c).multiply(p).multiply(e).multiply(r).multiply(o).multiply(B).multiply(l).multiply(u).multiply(s).multiply(C),I=new THREE__namespace.Matrix4().copyPosition(w),O=f.clone().multiply(I);return h.copyPosition(O),w=h.clone().multiply(S),w.premultiply(new THREE__namespace.Matrix4().getInverse(f)),w}function getEulerOrder(n){n=n||0;var t=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return n===6?(console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),t[0]):t[n]}function parseNumberArray(n){var t=n.split(",").map(function(e){return parseFloat(e)});return t}function convertArrayBufferToString(n,t,e){return t===void 0&&(t=0),e===void 0&&(e=n.byteLength),new TextDecoder().decode(new Uint8Array(n,t,e))}function append(n,t){for(var e=0,r=n.length,o=t.length;e<o;e++,r++)n[r]=t[e]}function slice(n,t,e,r){for(var o=e,s=0;o<r;o++,s++)n[s]=t[o];return n}var NURBSCurve=function(n){__extends(t,n);function t(e,r,o,s,u){var l=n.call(this)||this,c=r?r.length-1:0,p=o?o.length:0;l.degree=e,l.knots=r,l.controlPoints=[],l.startKnot=s||0,l.endKnot=u||c;for(var f=0;f<p;++f){var d=o[f];l.controlPoints[f]=new THREE__namespace.Vector4(d.x,d.y,d.z,d.w)}return l}return t.prototype.getPoint=function(e,r){r===void 0&&(r=new THREE__namespace.Vector3);var o=r,s=this.knots[this.startKnot]+e*(this.knots[this.endKnot]-this.knots[this.startKnot]),u=calcBSplinePoint(this.degree,this.knots,this.controlPoints,s);return u.w!==1&&u.divideScalar(u.w),o.set(u.x,u.y,u.z)},t.prototype.getTangent=function(e,r){r===void 0&&(r=new THREE__namespace.Vector3);var o=r,s=this.knots[0]+e*(this.knots[this.knots.length-1]-this.knots[0]),u=calcNURBSDerivatives(this.degree,this.knots,this.controlPoints,s,1);return o.copy(u[1]).normalize(),o},t.prototype.toJSON=function(){var e=n.prototype.toJSON.call(this);return e.degree=this.degree,e.knots=__spreadArray([],this.knots,!0),e.controlPoints=this.controlPoints.map(function(r){return r.toArray()}),e.startKnot=this.startKnot,e.endKnot=this.endKnot,e},t.prototype.fromJSON=function(e){return n.prototype.fromJSON.call(this,e),this.degree=e.degree,this.knots=__spreadArray([],e.knots,!0),this.controlPoints=e.controlPoints.map(function(r){return new THREE__namespace.Vector4(r[0],r[1],r[2],r[3])}),this.startKnot=e.startKnot,this.endKnot=e.endKnot,this},t}(THREE__namespace.Curve);function findSpan(n,t,e){var r=e.length-n-1;if(t>=e[r])return r-1;if(t<=e[n])return n;for(var o=n,s=r,u=Math.floor((o+s)/2);t<e[u]||t>=e[u+1];)t<e[u]?s=u:o=u,u=Math.floor((o+s)/2);return u}function calcBasisFunctions(n,t,e,r){var o=[],s=[],u=[];o[0]=1;for(var l=1;l<=e;++l){s[l]=t-r[n+1-l],u[l]=r[n+l]-t;for(var c=0,p=0;p<l;++p){var f=u[p+1],d=s[l-p],h=o[p]/(f+d);o[p]=c+f*h,c=d*h}o[l]=c}return o}function calcBSplinePoint(n,t,e,r){for(var o=findSpan(n,r,t),s=calcBasisFunctions(o,r,n,t),u=new THREE__namespace.Vector4(0,0,0,0),l=0;l<=n;++l){var c=e[o-n+l],p=s[l],f=c.w*p;u.x+=c.x*f,u.y+=c.y*f,u.z+=c.z*f,u.w+=c.w*p}return u}function calcBasisFunctionDerivatives(n,t,e,r,o){for(var s=[],u=0;u<=e;++u)s[u]=0;for(var l=[],u=0;u<=r;++u)l[u]=s.slice(0);for(var c=[],u=0;u<=e;++u)c[u]=s.slice(0);c[0][0]=1;for(var p=s.slice(0),f=s.slice(0),d=1;d<=e;++d){p[d]=t-o[n+1-d],f[d]=o[n+d]-t;for(var h=0,m=0;m<d;++m){var g=f[m+1],A=p[d-m];c[d][m]=g+A;var E=c[m][d-1]/c[d][m];c[m][d]=h+g*E,h=A*E}c[d][d]=h}for(var d=0;d<=e;++d)l[0][d]=c[d][e];for(var v=0;v<=e;++v){for(var y=0,b=1,T=[],u=0;u<=e;++u)T[u]=s.slice(0);T[0][0]=1;for(var _=1;_<=r;++_){var S=0,R=v-_,M=e-_;v>=_&&(T[b][0]=T[y][0]/c[M+1][R],S=T[b][0]*c[R][M]);for(var H=R>=-1?1:-R,B=v-1<=M?_-1:e-v,C=H;C<=B;++C)T[b][C]=(T[y][C]-T[y][C-1])/c[M+1][R+C],S+=T[b][C]*c[R+C][M];v<=M&&(T[b][_]=-T[y][_-1]/c[M+1][v],S+=T[b][_]*c[v][M]),l[_][v]=S;var d=y;y=b,b=d}}for(var w=e,_=1;_<=r;++_){for(var d=0;d<=e;++d)l[_][d]*=w;w*=e-_}return l}function calcBSplineDerivatives(n,t,e,r,o){for(var s=o<n?o:n,u=[],l=findSpan(n,r,t),c=calcBasisFunctionDerivatives(l,r,n,s,t),p=[],f=0;f<e.length;++f){var d=e[f].clone(),h=d.w;d.x*=h,d.y*=h,d.z*=h,p[f]=d}for(var m=0;m<=s;++m){for(var d=p[l-n].clone().multiplyScalar(c[m][0]),g=1;g<=n;++g)d.add(p[l-n+g].clone().multiplyScalar(c[m][g]));u[m]=d}for(var m=s+1;m<=o+1;++m)u[m]=new THREE__namespace.Vector4(0,0,0);return u}function calcKoverI(n,t){for(var e=1,r=2;r<=n;++r)e*=r;for(var o=1,r=2;r<=t;++r)o*=r;for(var r=2;r<=n-t;++r)o*=r;return e/o}function calcRationalCurveDerivatives(n){for(var t=n.length,e=[],r=[],o=0;o<t;++o){var s=n[o];e[o]=new THREE__namespace.Vector3(s.x,s.y,s.z),r[o]=s.w}for(var u=[],l=0;l<t;++l){for(var c=e[l].clone(),o=1;o<=l;++o)c.sub(u[l-o].clone().multiplyScalar(calcKoverI(l,o)*r[o]));u[l]=c.divideScalar(r[0])}return u}function calcNURBSDerivatives(n,t,e,r,o){var s=calcBSplineDerivatives(n,t,e,r,o);return calcRationalCurveDerivatives(s)}var _vector=new THREE__namespace.Vector3;function getPointArray(n,t){switch(t){case"D":return new Float64Array(n);case"F":return new Float32Array(n);case"L":return new Int32Array(n);case"I":return new Int16Array(n);default:return new Uint8Array(n)}}function loadX3p(n,t){var e,r;t===void 0&&(t={});var o=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:new Fetcher({allowHosts:["*"]}),u={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"})}).then(function(l){var c,p;return u.byteLength=l.body.byteLength,parse$1(new Uint8Array(l.body),{light:(c=t.light)!==null&&c!==void 0?c:!0,color:t.color,resourcePath:n.slice(0,n.lastIndexOf("/")+1),search:(p=n.split("?")[1])!==null&&p!==void 0?p:"",fetcher:s})}).then(function(l){var c=new THREE__namespace.Group;return c.name=n,c.add(l.object),o==="Y"&&c.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"x3p",modelUpAxis:"Z",upAxis:o,uri:n,byteLength:u.byteLength,memoryUsage:getMemoryUsage(c),scene:c,textures:[],animations:[],dispose:function(){return l.dispose()}}})}function parse$1(n,t){for(var e,r,o,s,u,l,c,p,f,d,h,m,g,A,E,v,y,b,T,_,S,R,M,H,B,C,w,I,O,F,N,z,J,G,Q,U,V,X,Z,ee,K,re,Y,W,le,oe,ae,se,ie,fe,he,Te,ce,xe,j=unzipSync(n),te="",q=null,ve=0,me=Object.keys(j);ve<me.length;ve++){var ge=me[ve];/(^|\/)main\.xml$/i.test(ge)&&(q=j[ge],te=ge.slice(0,ge.lastIndexOf("/")+1))}if(!q)throw new Error("X3p: main.xml not found.");if(typeof DOMParser=="undefined")throw new Error("X3p: DOMParser not found.");var Ue=(e=t.color)!==null&&e!==void 0?e:new THREE__namespace.Color(10066329),Ke=new DOMParser,_e=decodeText(q),we=Ke.parseFromString(_e,"text/xml"),ne=we.querySelector("Record1 Axes"),pe={x:{type:(s=(o=(r=ne==null?void 0:ne.querySelector("CX AxisType"))===null||r===void 0?void 0:r.textContent)===null||o===void 0?void 0:o.toUpperCase())!==null&&s!==void 0?s:"I",dataType:(c=(l=(u=ne==null?void 0:ne.querySelector("CX DataType"))===null||u===void 0?void 0:u.textContent)===null||l===void 0?void 0:l.toUpperCase())!==null&&c!==void 0?c:"D",increment:Number((f=(p=ne==null?void 0:ne.querySelector("CX Increment"))===null||p===void 0?void 0:p.textContent)!==null&&f!==void 0?f:"1"),offset:Number((h=(d=ne==null?void 0:ne.querySelector("CX Offset"))===null||d===void 0?void 0:d.textContent)!==null&&h!==void 0?h:"0")},y:{type:(A=(g=(m=ne==null?void 0:ne.querySelector("CY AxisType"))===null||m===void 0?void 0:m.textContent)===null||g===void 0?void 0:g.toUpperCase())!==null&&A!==void 0?A:"I",dataType:(y=(v=(E=ne==null?void 0:ne.querySelector("CY DataType"))===null||E===void 0?void 0:E.textContent)===null||v===void 0?void 0:v.toUpperCase())!==null&&y!==void 0?y:"D",increment:Number((T=(b=ne==null?void 0:ne.querySelector("CY Increment"))===null||b===void 0?void 0:b.textContent)!==null&&T!==void 0?T:"1"),offset:Number((S=(_=ne==null?void 0:ne.querySelector("CY Offset"))===null||_===void 0?void 0:_.textContent)!==null&&S!==void 0?S:"0")},z:{type:(H=(M=(R=ne==null?void 0:ne.querySelector("CZ AxisType"))===null||R===void 0?void 0:R.textContent)===null||M===void 0?void 0:M.toUpperCase())!==null&&H!==void 0?H:"A",dataType:(w=(C=(B=ne==null?void 0:ne.querySelector("CZ DataType"))===null||B===void 0?void 0:B.textContent)===null||C===void 0?void 0:C.toUpperCase())!==null&&w!==void 0?w:"D",increment:Number((O=(I=ne==null?void 0:ne.querySelector("CZ Increment"))===null||I===void 0?void 0:I.textContent)!==null&&O!==void 0?O:"1"),offset:Number((N=(F=ne==null?void 0:ne.querySelector("CZ Offset"))===null||F===void 0?void 0:F.textContent)!==null&&N!==void 0?N:"0")}},Be=null,Se=we.querySelector("Record1 Axes Rotation");Se&&(Be=new THREE__namespace.Matrix3,Be.set(Number((J=(z=Se.querySelector("r11"))===null||z===void 0?void 0:z.textContent)!==null&&J!==void 0?J:0),Number((Q=(G=Se.querySelector("r12"))===null||G===void 0?void 0:G.textContent)!==null&&Q!==void 0?Q:0),Number((V=(U=Se.querySelector("r13"))===null||U===void 0?void 0:U.textContent)!==null&&V!==void 0?V:0),Number((Z=(X=Se.querySelector("r21"))===null||X===void 0?void 0:X.textContent)!==null&&Z!==void 0?Z:0),Number((K=(ee=Se.querySelector("r22"))===null||ee===void 0?void 0:ee.textContent)!==null&&K!==void 0?K:0),Number((Y=(re=Se.querySelector("r23"))===null||re===void 0?void 0:re.textContent)!==null&&Y!==void 0?Y:0),Number((le=(W=Se.querySelector("r31"))===null||W===void 0?void 0:W.textContent)!==null&&le!==void 0?le:0),Number((ae=(oe=Se.querySelector("r32"))===null||oe===void 0?void 0:oe.textContent)!==null&&ae!==void 0?ae:0),Number((ie=(se=Se.querySelector("r33"))===null||se===void 0?void 0:se.textContent)!==null&&ie!==void 0?ie:0)));var ke=(fe=we.querySelector("Record3 DataLink PointDataLink"))===null||fe===void 0?void 0:fe.textContent;if(typeof ke!="string")throw new Error("X3p: PointDataLink not found.");ke=pathJoin(te,ke);var Me=j[ke];if(!Me)throw new Error("X3p: ".concat(Me," not found."));for(var de=getPointArray(Me.buffer,pe.z.dataType),ye=Number((Te=(he=we.querySelector("Record3 MatrixDimension SizeX"))===null||he===void 0?void 0:he.textContent)!==null&&Te!==void 0?Te:"0"),He=Number((xe=(ce=we.querySelector("Record3 MatrixDimension SizeY"))===null||ce===void 0?void 0:ce.textContent)!==null&&xe!==void 0?xe:"0"),Ie=Math.floor(ye-1),Qe=Math.floor(He-1),Je=Ie+1,Le=Qe+1,Ne=new Float32Array(Je*Le*3),ft=new Float32Array(Je*Le*2),ze=new Uint32Array(Ie*Qe*6),it=new THREE__namespace.Box3,Re=0;Re<Le;Re++)for(var dt=Re*pe.y.increment+pe.y.offset,Ce=0;Ce<Je;Ce++){var Fe=Re*Je+Ce,ot=Ce*pe.x.increment+pe.x.offset,je=de[Fe],Xe=!isNaN(je),Oe=Xe?je:NaN;_vector.set(ot,-dt,Oe),Be&&_vector.applyMatrix3(Be),Xe&&it.expandByPoint(_vector),Ne[Fe*3+0]=_vector.x,Ne[Fe*3+1]=_vector.y,Ne[Fe*3+2]=_vector.z,ft[Fe*2+0]=Ce/Ie,ft[Fe*2+1]=1-Re/Qe}for(var Re=0;Re<Qe;Re++)for(var Ce=0;Ce<Ie;Ce++){var be=Ce+Je*Re,st=Ce+Je*(Re+1),At=Ce+1+Je*(Re+1),yt=Ce+1+Je*Re,We=(Re*Ie+Ce)*6;ze[We+0]=be,ze[We+1]=st,ze[We+2]=yt,ze[We+3]=st,ze[We+4]=At,ze[We+5]=yt}var De=new THREE__namespace.BufferGeometry;De.setAttribute("position",new THREE__namespace.BufferAttribute(Ne,3)),De.setAttribute("uv",new THREE__namespace.BufferAttribute(ft,2)),De.setIndex(new THREE__namespace.BufferAttribute(ze,1)),(!De.groups||De.groups.length===0)&&De.addGroup(0,De.index?De.index.count:De.attributes.position.count,0),De.boundingBox=it;var Ze=new PBMMeshMaterial(t.light?"phong":"basic");Ze.flatShading=!0,Ze.color.copy(Ue);var nt=new PBMMesh(De,[Ze]);return{object:nt,dispose:function(){De.dispose(),Ze.dispose()}}}var scratchMatrix4$4=new THREE__namespace.Matrix4,MAX_RETRY_DELAY$1=5e3,RETRY_DELAY_STEP$1=1e3;function attachTileAttributes(n,t){n.name=t.id;var e=t.tileset.properties.floorInfo;n.traverse(function(r){if("floor"in t.extras){if(r instanceof THREE__namespace.Mesh||r instanceof THREE__namespace.Points)for(var o=Array.isArray(r.material)?r.material:r.material?[r.material]:[],s=0,u=o;s<u.length;s++){var l=u[s];(l instanceof PBMMeshMaterial||l instanceof PBMPointCloudMaterial)&&(l.floorIndex=t.extras.floor)}}else if(!(r instanceof PBMPointCloud)){if((r instanceof PBMMesh||r instanceof PBMSkinnedMesh)&&e){for(var c=new THREE__namespace.Box3().expandByObject(r),p=c.getCenter(new THREE__namespace.Vector3),f=0,d=0;d<e.length;d++){var h=e[d],m=h.ground,g=h.height;if(p.y<m+g){f=d;break}}t.floor=f,t.tileset.floorLength=Math.max(t.tileset.floorLength,t.floor+1),r.material.forEach(function(A){return A.floorIndex=f})}}})}function loadTileContent(n,t){if(!n.content)return Promise.resolve(n);var e=n.content,r=appendSearch(e.uri,t.search);if(n.type==="TILESET"){var o=imageURL(r,{key:"model.".concat(n.siblingIndex)});return e.loadState="LOADING",e.loadStateUpdateTime=now(),t.fetcher.ajax(o,{responseType:"text"}).then(function(s){return s.body}).then(function(s){var u=r.slice(0,r.lastIndexOf("/")+1);return normalizeTilesetHeader(JSON.parse(s),u)}).then(function(s){e.loadState="READY",e.loadStateUpdateTime=now(),e.loadfailRetryDelay=0,n.children.length===0&&(n.children=[new Tile("".concat(n.id,".0"),s.root,n.tileset,n)])}).then(function(){return n}).catch(function(s){return e.loadState="FAILED",e.loadStateUpdateTime=now(),e.loadfailRetryDelay=Math.min(e.loadfailRetryDelay+1e3,5e3),Promise.reject(s)})}if(n.type==="SCENEGRAPH")return e.loadState="LOADING",e.loadStateUpdateTime=now(),Promise.resolve().then(function(){var s,u,l,c,p,f,d,h,m,g,A="",E=r.split("#"),v=E[0],y=E[1],b=(y||v).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);if(b&&(A=b[1]),A==="b3dm"){var T=imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadB3dm(T,{upAxis:"Z",modelUpAxis:n.tileset.asset.gltfUpAxis,light:t.light,fetcher:t.fetcher}).then(function(_){return _.scene.applyMatrix4(n.transform),_.scene.updateWorldMatrix(!1,!0),_.scene.matrixAutoUpdate=!1,attachTileAttributes(_.scene,n),_})}if(A==="pnts"){var T=imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadPnts(T,{upAxis:"Z",computeBoundingBox:!1,fetcher:t.fetcher}).then(function(S){if(S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,n.boundingVolume){var R=n.boundingVolume;S.scene.traverse(function(M){if(M instanceof PBMPointCloud){scratchMatrix4$4.getInverse(M.matrixWorld);var H=new THREE__namespace.Box3;R.getBoundingBox(H),H.applyMatrix4(scratchMatrix4$4),M.geometry.boundingBox=H}})}return attachTileAttributes(S.scene,n),S})}if(A==="glb"||A==="gltf"){var T=imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadGltf(T,{upAxis:"Z",modelUpAxis:n.tileset.asset.gltfUpAxis,light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,attachTileAttributes(S.scene,n),S})}if(A==="at3d"){var T=n.extras.at3d?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadAt3d(T,{upAxis:"Z",light:t.light,textureBaseUri:(s=n.extras.at3d)===null||s===void 0?void 0:s.textureBaseUri,textureArray:(u=n.extras.at3d)===null||u===void 0?void 0:u.textureArray,textureOptions:(l=n.extras.at3d)===null||l===void 0?void 0:l.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="pbm"){var T=n.extras.pbm?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadPbm(T,{upAxis:"Z",light:t.light,textureBaseUri:(c=n.extras.pbm)===null||c===void 0?void 0:c.textureBaseUri,textureArray:(p=n.extras.pbm)===null||p===void 0?void 0:p.textureArray,textureOptions:(f=n.extras.pbm)===null||f===void 0?void 0:f.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="dome"){var T=n.extras.dome?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadDome(T,{upAxis:"Z",light:t.light,textureBaseUri:(d=n.extras.dome)===null||d===void 0?void 0:d.textureBaseUri,textureOptions:(h=n.extras.dome)===null||h===void 0?void 0:h.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="domez"){var T=n.extras.domez?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadDomez(T,{upAxis:"Z",light:t.light,textureBaseUri:(m=n.extras.domez)===null||m===void 0?void 0:m.textureBaseUri,textureOptions:(g=n.extras.domez)===null||g===void 0?void 0:g.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="ply"){var T=n.extras.ply?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadPly(T,{upAxis:"Z",modelUpAxis:"Z",type:"pbmPointCloud",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="obj"){var T=n.extras.obj?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadObj(T,{upAxis:"Z",modelUpAxis:"Z",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="fbx"){var T=n.extras.obj?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadFbx(T,{upAxis:"Z",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="x3p"){var T=n.extras.x3p?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadX3p(T,{upAxis:"Z",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}throw new Error("Invalid Tile content: ".concat(r))}).then(function(s){var u={type:s.type,uri:s.uri,byteLength:s.byteLength,memoryUsage:s.memoryUsage,object:new TileNode(n.id,s.scene,s.dispose)};return Promise.resolve().then(function(){return Promise.all([u.object.generateBvhTree(),t.renderer&&s.textures.length<16?initTextures(s.textures,t.renderer,1024*1024):null])}).then(function(){return e.loadState="READY",e.loadStateUpdateTime=now(),e.loadfailRetryDelay=0,e.byteLength=u.byteLength,e.memoryUsage=u.memoryUsage,e.data=u,n}).catch(function(l){return unloadTileContent(n),Promise.reject(l)})}).catch(function(s){return e.loadState="FAILED",e.loadStateUpdateTime=now(),s instanceof NetworkResponseError&&s.httpStatus===0||s instanceof NetworkTimeoutError||s instanceof NetworkProxyError?e.loadfailRetryDelay=clamp$1(e.loadfailRetryDelay+RETRY_DELAY_STEP$1,RETRY_DELAY_STEP$1,MAX_RETRY_DELAY$1):e.loadfailRetryDelay=1/0,Promise.reject(s)});throw new Error("Invalid Tile type: ".concat(n.type))}function unloadTileContent(n){n.content&&(n.content.data&&n.content.data.object.dispose(),n.content.data=void 0,n.content.loadState="UNLOADED",n.content.loadStateUpdateTime=now(),n.content.byteLength=0,n.content.memoryUsage=0)}var TrajectoryNode=function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o=noop$1);var s=n.call(this)||this;return s.name=e,s.contentObject=r,s.name=e,s.add(r),s.disposers=[o],s}return t.prototype.update=function(e,r,o,s,u){var l=this.contentObject.material[2];return l.uniforms.dashOffset.value=(l.uniforms.dashOffset.value-.003)%(l.uniforms.dashSize.value.x+l.uniforms.dashSize.value.y),!0},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var o=r[e];o()}this.disposers.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject.clone())},t}(THREE__namespace.Object3D),MAX_RETRY_DELAY=5e3,RETRY_DELAY_STEP=1e3,TRAJECTOR_PIPE_SHADER={vertexShader:`
|
|
922
|
+
`),s={name:""},u=/\s+/,l={},c=0;c<o.length;c++){var p=o[c];if(p=p.trim(),!(p.length===0||p.charAt(0)==="#")){var f=p.indexOf(" "),d=f>=0?p.substring(0,f):p;d=d.toLowerCase();var h=f>=0?p.substring(f+1):"";if(h=h.trim(),d==="newmtl")s={name:h},l[h]=s;else if(d==="ka"||d==="kd"||d==="ks"||d==="ke"){var m=h.split(u,3);s[d]=[parseFloat(m[0]),parseFloat(m[1]),parseFloat(m[2])]}else(d==="map_kd"||d==="map_ks"||d==="map_ke"||d==="norm"||d==="map_bump"||d==="bump"||d==="map_d"||d==="ns"||d==="d"||d==="tr")&&(s[d]=h)}}function g(E){var v={url:"",scale:new THREE__namespace.Vector2(1,1),offset:new THREE__namespace.Vector2(0,0),bumpScale:1},y=E.split(/\s+/),b;return b=y.indexOf("-bm"),b>=0&&(v.bumpScale=parseFloat(y[b+1]),y.splice(b,2)),b=y.indexOf("-s"),b>=0&&(v.scale.set(parseFloat(y[b+1]),parseFloat(y[b+2])),y.splice(b,4)),b=y.indexOf("-o"),b>=0&&(v.offset.set(parseFloat(y[b+1]),parseFloat(y[b+2])),y.splice(b,4)),v.url=y.join(" ").trim(),v}function A(E,v,y){var b=g(y),T=pathJoin(e.path,b.url);return r.loadTexture(T,{fetcher:e.fetcher,encoding:v==="map"||v==="emissiveMap"?THREE__namespace.sRGBEncoding:THREE__namespace.LinearEncoding,minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping}).then(function(_){var S=_.body;return S.repeat.copy(b.scale),S.offset.copy(b.offset),E.bumpScale=b.bumpScale,E[v]=S,S})}return{name:n,create:function(E){var v=new PBMMeshMaterial(e.light?"phong":"basic"),y=[],b=l[E];if(b){if(b.kd!==void 0&&v.color.fromArray(b.kd),b.ks!==void 0&&v.specular.fromArray(b.ks),b.ke!==void 0&&v.emissive.fromArray(b.ke),b.map_kd!==void 0&&y.push(A(v,"map",b.map_kd)),b.map_ks!==void 0&&y.push(A(v,"specularMap",b.map_ks)),b.map_ke!==void 0&&y.push(A(v,"emissiveMap",b.map_ke)),b.norm!==void 0&&y.push(A(v,"normalMap",b.norm)),b.map_bump!==void 0&&y.push(A(v,"bumpMap",b.map_bump)),b.bump!==void 0&&y.push(A(v,"bumpMap",b.bump)),b.map_d!==void 0&&y.push(A(v,"alphaMap",b.map_d)),b.ns!==void 0&&(v.shininess=parseFloat(b.ns)),b.d!==void 0){var T=parseFloat(b.d);T<1&&(v.opacity=T,v.transparent=!0)}if(b.tr!==void 0){var T=parseFloat(b.tr);T>0&&(v.opacity=1-T,v.transparent=!0)}}var _=Promise.all(y).then(function(S){return S});return[v,_]}}}function build(n,t){for(var e,r=[],o=[],s=new THREE__namespace.Group,u=function(p,f){var d=n.objects[p],h=d.geometry,m=d.materials,g=!1;if(h.vertices.length===0)return"continue";var A=new THREE__namespace.BufferGeometry;o.push(function(){return A.dispose()}),A.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(h.vertices),3)),h.normals.length>0&&A.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(h.normals),3)),h.colors.length>0&&(g=!0,A.setAttribute("color",new THREE__namespace.BufferAttribute(new Float32Array(h.colors),3))),h.uvs.length>0&&A.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(h.uvs),2)),h.index.length>0&&A.setIndex(new THREE__namespace.BufferAttribute(new Uint32Array(h.index),1)),A.computeBoundingBox(),A.computeBoundingSphere();for(var E=[],v=function(S,R){var M=m[S],H=M.name+"_"+M.smooth+"_"+g,B=n.materials[H];if(!B){for(var C=null,w=0,I=t;w<I.length;w++){var O=I[w],F=O.name,N=O.create;F===M.mtllib&&(C=N(M.name))}if(!C){var z=new PBMMeshMaterial;C=[z,Promise.resolve([])]}B=C[0],B.name=M.name,B.flatShading=!(M.smooth||A.attributes.normal),B.vertexColors=g,n.materials[H]=B;var J=C[1];r.push(J),o.push(function(){return B.dispose()})}E.push(B)},y=0,b=m.length;y<b;y++)v(y);A.clearGroups();for(var y=0,b=m.length;y<b;y++){var T=m[y];T.groupCount&&A.addGroup((e=T.groupStart)!==null&&e!==void 0?e:0,T.groupCount,y)}(!A.groups||A.groups.length===0)&&A.addGroup(0,A.index?A.index.count:A.attributes.position.count,0);var _=new PBMMesh(A,E);_.name=d.name,s.add(_)},l=0,c=n.objects.length;l<c;l++)u(l);return Promise.all(r).then(function(p){for(var f=[],d=0,h=p;d<h.length;d++){var m=h[d];f=f.concat(m)}return{scene:s,textures:f,dispose:function(){return o.forEach(function(g){return g()})}}})}function loadObj(n,t){var e,r,o;t===void 0&&(t={});var s=(e=t.modelUpAxis)!==null&&e!==void 0?e:"Z",u=(r=t.upAxis)!==null&&r!==void 0?r:"Z",l=(o=t.fetcher)!==null&&o!==void 0?o:new Fetcher({allowHosts:["*"]}),c=n.slice(0,n.lastIndexOf("/")+1),p=0,f;return Promise.resolve().then(function(){return l.ajax(n,{responseType:"arraybuffer"})}).then(function(d){p=d.body.byteLength;var h=new TextDecoder;return h.decode(d.body)}).then(function(d){return f=parseObj(d),Promise.all(f.materialLibraries.map(function(h){var m=pathJoin(c,h),g=m.slice(0,m.lastIndexOf("/")+1);return l.ajax(m,{responseType:"text"}).then(function(A){var E;return parseMtl(h,A.body,{path:g,light:(E=t.light)!==null&&E!==void 0?E:!1,fetcher:l})})}))}).then(function(d){return build(f,d)}).then(function(d){return s==="Y"&&d.scene.applyMatrix4(ROTATE_X_MATRIX),u==="Y"&&d.scene.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"obj",modelUpAxis:s,upAxis:u,uri:n,byteLength:p,memoryUsage:getMemoryUsage(d.scene),scene:d.scene,textures:d.textures,animations:[],dispose:function(){return d.dispose()}}})}var scratchMatrix4$4=new THREE__namespace.Matrix4,MAX_RETRY_DELAY$1=5e3,RETRY_DELAY_STEP$1=1e3;function attachTileAttributes(n,t){n.name=t.id;var e=t.tileset.properties.floorInfo;n.traverse(function(r){if("floor"in t.extras){if(r instanceof THREE__namespace.Mesh||r instanceof THREE__namespace.Points)for(var o=Array.isArray(r.material)?r.material:r.material?[r.material]:[],s=0,u=o;s<u.length;s++){var l=u[s];(l instanceof PBMMeshMaterial||l instanceof PBMPointCloudMaterial)&&(l.floorIndex=t.extras.floor)}}else if(!(r instanceof PBMPointCloud)){if((r instanceof PBMMesh||r instanceof PBMSkinnedMesh)&&e){for(var c=new THREE__namespace.Box3().expandByObject(r),p=c.getCenter(new THREE__namespace.Vector3),f=0,d=0;d<e.length;d++){var h=e[d],m=h.ground,g=h.height;if(p.y<m+g){f=d;break}}t.floor=f,t.tileset.floorLength=Math.max(t.tileset.floorLength,t.floor+1),r.material.forEach(function(A){return A.floorIndex=f})}}})}function loadTileContent(n,t){if(!n.content)return Promise.resolve(n);var e=n.content,r=appendSearch(e.uri,t.search);if(n.type==="TILESET"){var o=imageURL(r,{key:"model.".concat(n.siblingIndex)});return e.loadState="LOADING",e.loadStateUpdateTime=now(),t.fetcher.ajax(o,{responseType:"text"}).then(function(s){return s.body}).then(function(s){var u=r.slice(0,r.lastIndexOf("/")+1);return normalizeTilesetHeader(JSON.parse(s),u)}).then(function(s){e.loadState="READY",e.loadStateUpdateTime=now(),e.loadfailRetryDelay=0,n.children.length===0&&(n.children=[new Tile("".concat(n.id,".0"),s.root,n.tileset,n)])}).then(function(){return n}).catch(function(s){return e.loadState="FAILED",e.loadStateUpdateTime=now(),e.loadfailRetryDelay=Math.min(e.loadfailRetryDelay+1e3,5e3),Promise.reject(s)})}if(n.type==="SCENEGRAPH")return e.loadState="LOADING",e.loadStateUpdateTime=now(),Promise.resolve().then(function(){var s,u,l,c,p,f,d,h,m,g,A="",E=r.split("#"),v=E[0],y=E[1],b=(y||v).split("?")[0].match(/\.([0-9a-zA-Z]+)$/);if(b&&(A=b[1]),A==="b3dm"){var T=imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadB3dm(T,{upAxis:"Z",modelUpAxis:n.tileset.asset.gltfUpAxis,light:t.light,fetcher:t.fetcher}).then(function(_){return _.scene.applyMatrix4(n.transform),_.scene.updateWorldMatrix(!1,!0),_.scene.matrixAutoUpdate=!1,attachTileAttributes(_.scene,n),_})}if(A==="pnts"){var T=imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadPnts(T,{upAxis:"Z",computeBoundingBox:!1,fetcher:t.fetcher}).then(function(S){if(S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,n.boundingVolume){var R=n.boundingVolume;S.scene.traverse(function(M){if(M instanceof PBMPointCloud){scratchMatrix4$4.getInverse(M.matrixWorld);var H=new THREE__namespace.Box3;R.getBoundingBox(H),H.applyMatrix4(scratchMatrix4$4),M.geometry.boundingBox=H}})}return attachTileAttributes(S.scene,n),S})}if(A==="glb"||A==="gltf"){var T=imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadGltf(T,{upAxis:"Z",modelUpAxis:n.tileset.asset.gltfUpAxis,light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,attachTileAttributes(S.scene,n),S})}if(A==="at3d"){var T=n.extras.at3d?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadAt3d(T,{upAxis:"Z",light:t.light,textureBaseUri:(s=n.extras.at3d)===null||s===void 0?void 0:s.textureBaseUri,textureArray:(u=n.extras.at3d)===null||u===void 0?void 0:u.textureArray,textureOptions:(l=n.extras.at3d)===null||l===void 0?void 0:l.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="pbm"){var T=n.extras.pbm?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadPbm(T,{upAxis:"Z",light:t.light,textureBaseUri:(c=n.extras.pbm)===null||c===void 0?void 0:c.textureBaseUri,textureArray:(p=n.extras.pbm)===null||p===void 0?void 0:p.textureArray,textureOptions:(f=n.extras.pbm)===null||f===void 0?void 0:f.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="dome"){var T=n.extras.dome?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadDome(T,{upAxis:"Z",light:t.light,textureBaseUri:(d=n.extras.dome)===null||d===void 0?void 0:d.textureBaseUri,textureOptions:(h=n.extras.dome)===null||h===void 0?void 0:h.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="domez"){var T=n.extras.domez?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadDomez(T,{upAxis:"Z",light:t.light,textureBaseUri:(m=n.extras.domez)===null||m===void 0?void 0:m.textureBaseUri,textureOptions:(g=n.extras.domez)===null||g===void 0?void 0:g.textureOptions,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="ply"){var T=n.extras.ply?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadPly(T,{upAxis:"Z",modelUpAxis:"Z",type:"pbmPointCloud",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="obj"){var T=n.extras.obj?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadObj(T,{upAxis:"Z",modelUpAxis:"Z",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="fbx"){var T=n.extras.obj?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadFbx(T,{upAxis:"Z",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}if(A==="x3p"){var T=n.extras.x3p?r:imageURL(r,{key:"model.".concat(n.siblingIndex)});return loadX3p(T,{upAxis:"Z",light:t.light,fetcher:t.fetcher}).then(function(S){return S.scene.applyMatrix4(n.transform),S.scene.updateWorldMatrix(!1,!0),S.scene.matrixAutoUpdate=!1,S})}throw new Error("Invalid Tile content: ".concat(r))}).then(function(s){var u={type:s.type,uri:s.uri,byteLength:s.byteLength,memoryUsage:s.memoryUsage,object:new TileNode(n.id,s.scene,s.dispose)};return Promise.resolve().then(function(){return Promise.all([u.object.generateBvhTree(),t.renderer&&s.textures.length<16?initTextures(s.textures,t.renderer,1024*1024):null])}).then(function(){return e.loadState="READY",e.loadStateUpdateTime=now(),e.loadfailRetryDelay=0,e.byteLength=u.byteLength,e.memoryUsage=u.memoryUsage,e.data=u,n}).catch(function(l){return unloadTileContent(n),Promise.reject(l)})}).catch(function(s){return e.loadState="FAILED",e.loadStateUpdateTime=now(),s instanceof NetworkResponseError&&s.httpStatus===0||s instanceof NetworkTimeoutError||s instanceof NetworkProxyError?e.loadfailRetryDelay=clamp$1(e.loadfailRetryDelay+RETRY_DELAY_STEP$1,RETRY_DELAY_STEP$1,MAX_RETRY_DELAY$1):e.loadfailRetryDelay=1/0,Promise.reject(s)});throw new Error("Invalid Tile type: ".concat(n.type))}function unloadTileContent(n){n.content&&(n.content.data&&n.content.data.object.dispose(),n.content.data=void 0,n.content.loadState="UNLOADED",n.content.loadStateUpdateTime=now(),n.content.byteLength=0,n.content.memoryUsage=0)}var MAX_RETRY_DELAY=5e3,RETRY_DELAY_STEP=1e3,TRAJECTOR_PIPE_SHADER={vertexShader:`
|
|
923
923
|
varying vec2 vUv;
|
|
924
924
|
uniform float displacementScalar;
|
|
925
925
|
#include <common>
|
|
@@ -1021,11 +1021,11 @@ void main() {
|
|
|
1021
1021
|
#include <fog_fragment>
|
|
1022
1022
|
#include <premultiplied_alpha_fragment>
|
|
1023
1023
|
}
|
|
1024
|
-
`,uniforms:{diffuse:{value:new THREE__namespace.Color},opacity:{value:1},displacementScalar:{value:0}}};function createPipeBufferGeometry(n,t,e,r){for(var o=new Float32Array((e+1)*(r+1)*3),s=new Float32Array((e+1)*(r+1)*3),u=new Float32Array((e+1)*(r+1)*2),l=new Uint32Array(e*r*6),c=n.computeFrenetFrames(e),p=new THREE__namespace.Vector3,f=new THREE__namespace.Vector3,d=new THREE__namespace.Vector2,h=new THREE__namespace.Vector3,m=0;m<=e;m++){h=n.getPointAt(m/e,h);for(var g=c.normals[m],A=c.binormals[m],E=0;E<=r;E++){var v=m*(r+1)+E,y=E/r*Math.PI*2,b=Math.sin(y),T=-Math.cos(y);f.x=T*g.x+b*A.x,f.y=T*g.y+b*A.y,f.z=T*g.z+b*A.z,f.normalize(),f.toArray(s,v*3),p.x=h.x+t*f.x,p.y=h.y+t*f.y,p.z=h.z+t*f.z,p.toArray(o,v*3),d.x=m/e,d.y=E/r,d.toArray(u,v*2)}}for(var m=0;m<e;m++)for(var E=0;E<r;E++){var _=(m*r+E)*6,S=(r+1)*m+E,R=(r+1)*(m+1)+E,M=(r+1)*(m+1)+(E+1),H=(r+1)*m+(E+1);l[_]=S,l[_+1]=R,l[_+2]=H,l[_+3]=R,l[_+4]=M,l[_+5]=H}var B=new THREE__namespace.BufferGeometry;return B.setIndex(new THREE__namespace.BufferAttribute(l,1)),B.setAttribute("position",new THREE__namespace.BufferAttribute(o,3)),B.setAttribute("normal",new THREE__namespace.BufferAttribute(s,3)),B.setAttribute("uv",new THREE__namespace.BufferAttribute(u,2)),B}function parseTrajectoryObject(n,t){for(var e=new THREE__namespace.Color(0).convertSRGBToLinear(),r=new THREE__namespace.Color(52949).convertSRGBToLinear(),o=new THREE__namespace.Color(3370495).convertSRGBToLinear(),s=new THREE__namespace.Color(16777215).convertSRGBToLinear(),u=0,l=new THREE__namespace.CurvePath,c=n.length,p=3;p<c;p+=3){var f=new THREE__namespace.Vector3().fromArray(n,p-3),d=new THREE__namespace.Vector3().fromArray(n,p);u+=f.distanceTo(d);var h=new THREE__namespace.LineCurve3(f,d);l.add(h)}var m=.03,g=Math.ceil(u*100),A=6,E=createPipeBufferGeometry(l,m,g,A);E.clearGroups(),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,0),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,1),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,2);var v=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});v.uniforms.totalLength.value=u,v.uniforms.diffuse.value=e,v.uniforms.diffuse2.value=e,v.uniforms.opacity.value=.5,v.transparent=!0;var y=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});y.uniforms.totalLength.value=u,y.uniforms.displacementScalar.value=-.01,y.uniforms.diffuse.value=r,y.uniforms.diffuse2.value=o;var b=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.DoubleSide});b.uniforms.totalLength.value=u,b.uniforms.displacementScalar.value=-.026,b.uniforms.dashSize.value=new THREE__namespace.Vector2(.06,.09),b.uniforms.diffuse.value=s,b.uniforms.diffuse2.value=s;var T=new THREE__namespace.Mesh(E,[v,y,b]),_=.08,S=24,R=new THREE__namespace.SphereBufferGeometry(_,S,S);R.clearGroups(),R.addGroup(0,E.index?E.index.count:E.attributes.position.count,0),R.addGroup(0,E.index?E.index.count:E.attributes.position.count,1);var M=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.BackSide});M.uniforms.diffuse.value=e,M.uniforms.opacity.value=.5,M.transparent=!0;var H=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});H.uniforms.displacementScalar.value=-.01,H.uniforms.diffuse.value=r;var B=new THREE__namespace.Mesh(R,[M,H]);B.position.fromArray(n,0),T.add(B);var C=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});C.uniforms.displacementScalar.value=-.01,C.uniforms.diffuse.value=o;var w=new THREE__namespace.Mesh(R,[M,C]);return w.position.fromArray(n,n.length-3),T.add(w),{scene:T,dispose:function(){E.dispose(),v.dispose(),y.dispose(),b.dispose(),R.dispose(),M.dispose(),H.dispose(),C.dispose()}}}function loadTrajectory(n,t){var e=n.name,r=appendSearch(n.content.uri,t.search),o=imageURL(r,{key:"model.0"});return n.content.loadState="LOADING",n.content.loadStateUpdateTime=now(),loadPly(o,{type:"geometry",customPropertyMapping:{time:{itemType:"uint32",itemNames:["time_milisec"]}},fetcher:t.fetcher}).then(function(s){var u,l,c,p,f=(l=(u=s.scene.attributes)===null||u===void 0?void 0:u.time.array)!==null&&l!==void 0?l:[],d=(p=(c=s.scene.attributes)===null||c===void 0?void 0:c.position.array)!==null&&p!==void 0?p:[],h=s.byteLength,m=s.memoryUsage,g=parseTrajectoryObject(d);g.scene.applyMatrix4(n.transform),g.scene.updateWorldMatrix(!1,!0),g.scene.matrixAutoUpdate=!1;var A=new TrajectoryNode(e,g.scene);return n.content.data={uri:o,byteLength:h,memoryUsage:m,positionArray:d,timeArray:f,object:A},n.content.byteLength=h,n.content.memoryUsage=m,n.content.loadState="READY",n.content.loadStateUpdateTime=now(),n}).catch(function(s){return n.content.data=void 0,n.content.loadState="FAILED",n.content.loadStateUpdateTime=now(),s instanceof NetworkResponseError&&s.httpStatus===0||s instanceof NetworkTimeoutError||s instanceof NetworkProxyError?n.content.loadfailRetryDelay=clamp$1(n.content.loadfailRetryDelay+RETRY_DELAY_STEP,RETRY_DELAY_STEP,MAX_RETRY_DELAY):n.content.loadfailRetryDelay=1/0,Promise.reject(s)})}function unloadTrajectory(n){n.content&&(n.content.data&&n.content.data.object.dispose(),n.content.data=void 0,n.content.loadState="UNLOADED",n.content.loadStateUpdateTime=now(),n.content.byteLength=0,n.content.memoryUsage=0)}var scratchVector3$2=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,scratchMatrix4$3=new THREE__namespace.Matrix4,a=6378137,invF=298.257223563;function ecefToLla(n){for(var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sqrt(n.x*n.x+n.y*n.y),o=1e-12,s=1e3,u=0,l=Math.atan2(n.z,r),c=0;u++<s;){var p=Math.sin(l),f=a/Math.sqrt(1-e*p*p);c=r/Math.cos(l)-f;var d=Math.atan2(n.z/(f*(1-e)+c),r/(f+c));if(isNaN(d))break;var h=Math.abs(d-l);if(h<o)break;l=d}return n.set(l,Math.atan2(n.y,n.x),c)}function llaToEcef(n){var t=n.x,e=n.y,r=n.z,o=a-a/invF,s=(a*a-o*o)/(a*a),u=Math.sin(t),l=Math.cos(t),c=Math.sin(e),p=Math.cos(e),f=a/Math.sqrt(1-s*u*u),d=(f+r)*l*p,h=(f+r)*l*c,m=(o*o/(a*a)*f+r)*u;return n.set(d,h,m)}function getEcefToEnuMatrix(n,t){var e=ecefToLla(scratchVector3$2.copy(n)),r=e.x,o=e.y,s=e.z,u=Math.sin(r),l=Math.sin(o),c=Math.cos(r),p=Math.cos(o);t.fromArray([-l,-u*p,c*p,0,+p,-u*l,c*l,0,0,c,u,0,0,0,0,1]);var f=scratchMatrix3.setFromMatrix4(t),d=scratchVector3$2.copy(n).applyMatrix3(f).multiplyScalar(-1);t.setPosition(d);var h=scratchMatrix4$3.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,s,1]);return t.premultiply(h),t}var ROTATE_X_90_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),ROTATE_X_90_MATRIX_INVERSE=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),enuToLocalMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX),localToEnuMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX_INVERSE);const gradientDataURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII=";function valueEqual(n,t){return n==t}function arrayValueEqual(n,t){if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return!1;for(var e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}return n===t}var parameterValueEqualFn={customShaders:arrayValueEqual,castShadow:valueEqual,receiveShadow:valueEqual,vertexMarks:valueEqual,pano0:valueEqual,pano1:valueEqual,pano0Depth:valueEqual,pano1Depth:valueEqual,refinedScreen:valueEqual,modelAlpha:valueEqual,progress:valueEqual,transition:valueEqual,opacity:valueEqual,floorStyle:valueEqual,colorStyle:valueEqual,constantColor:function(n,t){return n instanceof THREE__namespace.Vector3&&t instanceof THREE__namespace.Vector3?n.equals(t):n===t},shownFloorIndex:valueEqual,clippers:arrayValueEqual,brightness:valueEqual,useEDL:valueEqual,useHQWeight:valueEqual,useHQDepth:valueEqual,pointShape:valueEqual,pointSize:valueEqual,pointBack:valueEqual,pointScale:valueEqual,pointMinPixel:valueEqual,pointMaxPixel:valueEqual,pointAppearAnimation:valueEqual,colorSaturation:valueEqual,colorBrightness:valueEqual,useAddBlend:valueEqual,outlineGain:valueEqual,distanceGain:valueEqual,gradientTexture:valueEqual,tileDebug:valueEqual,minLevelOfDetail:valueEqual,maxLevelOfDetail:valueEqual,minGeometricError:valueEqual,maxGeometricError:valueEqual,panoramaMinGeometricError:valueEqual,skipLevelOfDetail:valueEqual,mostDetail:valueEqual,loadSiblings:valueEqual,loadAll:valueEqual,maxMemoryUsage:valueEqual,maxRequests:valueEqual,requestOrder:valueEqual,maxScreenSpaceError:valueEqual,memoryAdjustedOverflow:valueEqual,memoryAdjustedScreenSpaceError:valueEqual,cacheCameras:arrayValueEqual};function assignValue(n,t,e){Array.isArray(e)&&(e=e.slice());var r=n[t],o=parameterValueEqualFn[t];return o(r,e)?!1:(n[t]=e,!0)}var defaultGradientTexture=function(){var n;return typeof document!="undefined"?n=new THREE__namespace.TextureLoader().load(gradientDataURL):n=new THREE__namespace.Texture,n.minFilter=THREE__namespace.NearestFilter,n.magFilter=THREE__namespace.NearestFilter,n.wrapS=THREE__namespace.RepeatWrapping,n.wrapT=THREE__namespace.RepeatWrapping,n}(),defineConstantColor=Object.freeze(new THREE__namespace.Vector3(.6,.6,.6)),defineClippers=Object.freeze([]),defineCustomShaders=Object.freeze([]),defineCacheCameras=Object.freeze([]),Parameter=function(){function n(t){this.value=Object.create(null),this.id=createUuid(),this.versionNumber=0,t&&this.copy(t);for(var e=function(l){Object.defineProperty(r,l,{get:function(){return this.value[l]}})},r=this,o=0,s=Object.keys(n.createDefault());o<s.length;o++){var u=s[o];e(u)}}return n.createDefault=function(){return{customShaders:defineCustomShaders,castShadow:!1,receiveShadow:!1,vertexMarks:!0,pano0:null,pano1:null,pano0Depth:null,pano1Depth:null,refinedScreen:null,floorStyle:"OPACITY",colorStyle:"RGB",constantColor:defineConstantColor,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:defineClippers,brightness:1,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"CIRCLE",pointScale:.03,pointMaxPixel:40,pointMinPixel:1,pointAppearAnimation:!0,gradientTexture:defaultGradientTexture,colorSaturation:0,colorBrightness:0,outlineGain:0,distanceGain:0,useAddBlend:!1,tileDebug:"none",minLevelOfDetail:0,maxLevelOfDetail:20,minGeometricError:0,maxGeometricError:1e4,panoramaMinGeometricError:.03,skipLevelOfDetail:!1,mostDetail:!1,loadSiblings:!1,loadAll:!1,maxMemoryUsage:16,maxRequests:6,requestOrder:"SCREEN_SPACE_ERROR",maxScreenSpaceError:4,memoryAdjustedOverflow:4,memoryAdjustedScreenSpaceError:!1,cacheCameras:defineCacheCameras}},n.resolveValue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=__assign({versions:[]},this.createDefault()),o=Object.keys(r),s=0,u=t;s<u.length;s++){var l=u[s],c=l instanceof n?l.version:createUuid();r.versions.push(c);for(var p=0,f=o;p<f.length;p++){var d=f[p],h=l[d];h!==void 0&&(r[d]=h)}}return r},Object.defineProperty(n.prototype,"version",{get:function(){return"".concat(this.id,":").concat(this.versionNumber)},enumerable:!1,configurable:!0}),n.prototype.resolveValue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.resolveValue.apply(n,t.concat(this))},n.prototype.set=function(t,e){var r=!1;if(typeof t=="string"){if(e!==void 0){var o=assignValue(this.value,t,e);o&&(r=!0)}}else for(var s=t,u=Object.keys(s),l=0,c=u;l<c.length;l++){var p=c[l],f=s[p];if(f!==void 0){var o=assignValue(this.value,p,f);o&&(r=!0)}}return r&&this.versionNumber++,this},n.prototype.reset=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=!1,o=0,s=t;o<s.length;o++){var u=s[o];this.value!==void 0&&(delete this.value[u],r=!0)}return r&&this.versionNumber++,this},n.prototype.resetAll=function(){for(var t=!1,e=Object.keys(this.value),r=0,o=e;r<o.length;r++){var s=o[r];delete this.value[s],t=!0}return t&&this.versionNumber++,this},n.prototype.copy=function(t){for(var e=!0,r=Object.keys(this.value),o=0,s=r;o<s.length;o++){var u=s[o];delete this.value[u]}r=Object.keys(t);for(var l=0,c=r;l<c.length;l++){var p=c[l],f=t[p];if(f!==void 0){var d=assignValue(this.value,p,f);d&&(e=!0)}}return e&&this.versionNumber++,this},n}(),scratchVector3$1=new THREE__namespace.Vector3;new THREE__namespace.Box3;var scratchSphereBoundingVolume=new SphereBoundingVolume,scratchBoxBoundingVolume=new BoxBoundingVolume,parameterVersionMap=new WeakMap,tileVersionMap=new WeakMap,trajectoryVersionMap=new WeakMap,STENCIL_CONSTANT={TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15},SKIP_BACKFACE_MATERIAL=function(){var n=new THREE__namespace.MeshBasicMaterial;return n.side=THREE__namespace.BackSide,n.color.setHex(16711935),n.colorWrite=!1,n.stencilWrite=!0,n.polygonOffset=!0,n.polygonOffsetFactor=2,n.polygonOffsetUnits=2,n.stencilRef=STENCIL_CONSTANT.TILE_MASK,n.stencilFunc=THREE__namespace.AlwaysStencilFunc,n.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,n.stencilZPass=THREE__namespace.ReplaceStencilOp,n.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK,n}(),SKIP_BACKFACE_TRANSPARENT_MATERIAL=function(){var n=new THREE__namespace.MeshBasicMaterial;return n.visible=!1,n}(),CLEAR_STENCIL_GEOMETRY=new THREE__namespace.BufferGeometry,CLEAR_STENCIL_MATERIAL=new THREE__namespace.MeshBasicMaterial,Tile3DModel=function(n){__extends(t,n);function t(e,r){var o,s,u=n.call(this)||this;return u.parameter=new Parameter,u.renderObjects=[],u.backfaceObjects=[],u.debugObjects=[],u.tileObjects=[],u.error=(o=r.error)!==null&&o!==void 0?o:null,u.frameNumber=0,u.name=r.name,u.type=r.type,u.light=r.light,u.upAxis=r.upAxis,u.fetcher=r.fetcher,u.search=(s=r.search)!==null&&s!==void 0?s:"",u.groundHeight=r.groundHeight,u.enuToEcefMatrix=new THREE__namespace.Matrix4().copy(r.enuToEcefMatrix),u.ecefToEnuMatrix=new THREE__namespace.Matrix4().copy(r.ecefToEnuMatrix),u.boundingBox=new THREE__namespace.Box3,u.autoRefine=!0,u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.disposed=!1,u.clearStencilObject=new THREE__namespace.Mesh(CLEAR_STENCIL_GEOMETRY,CLEAR_STENCIL_MATERIAL),u.clearStencilObject.frustumCulled=!1,u.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},u.tileset=new Tileset(e,{referer:r.referer,tileLoader:function(l){return u.loadContent(l)},tileUnloader:function(l){return u.unloadContent(l)},onTileLoad:function(){},onTileUnload:function(l){},onTileError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Tile error",l.id,c)},trajectoryLoader:function(l){return u.loadTrajectory(l)},trajectoryUnloader:function(l){return u.unloadTrajectory(l)},onTrajectoryLoad:function(){},onTrajectoryUnload:function(l){},onTrajectoryError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Trajectory error",l,c)}}),u.tileset.root.boundingVolume&&u.tileset.root.boundingVolume.getBoundingBox(u.boundingBox),u}return Object.defineProperty(t.prototype,"tiles",{get:function(){return this.tileset.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trajectories",{get:function(){return this.tileset.trajectories},enumerable:!1,configurable:!0}),t.prototype.getRecommendProps=function(e){var r,o,s;e===void 0&&(e={});var u,l,c,p=128;e.powerPreference==="high"&&(p=512);var f=typeof this.tileset.rootMeta.creationTime=="string";if(f){var d=typeof this.tileset.rootMeta.numTotalPoints=="number"&&this.tileset.rootMeta.numTotalPoints>0;if(d){c=4,e.powerPreference==="high"&&(c=2),u=c/1.6;var h=0;if(((r=this.tileset.rootMeta.taskParameters)===null||r===void 0?void 0:r.point_homogenization)==="1"&&(!((o=this.tileset.rootMeta.taskParameters)===null||o===void 0)&&o.homo_point_density)){var m=Number((s=this.tileset.rootMeta.taskParameters)===null||s===void 0?void 0:s.homo_point_density);isFinite(m)&&!isNaN(m)&&(h=m)}h<=0&&(h=.02),l=h*1.4}else c=5,e.powerPreference==="high"&&(c=4),u=1,l=.03}else c=6,u=1,l=.03,this.name==="aerophoto"?(c=12,e.powerPreference==="high"&&(c=10)):this.tileset.asset.extras&&typeof this.tileset.asset.extras.name=="string"&&/^matterport\b/i.test(this.tileset.asset.extras.name)&&(c=5,e.powerPreference==="high"&&(c=4));return{pointScale:l,pointMinPixel:u,maxScreenSpaceError:c,maxMemoryUsage:p}},t.prototype.loadContent=function(e){var r=this;return loadTileContent(e,{light:this.light,fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){e.type==="SCENEGRAPH"&&(r.disposed||!e.content?unloadTileContent(e):e.content.data&&r.boundingBox.expandByObject(e.content.data.object))})},t.prototype.unloadContent=function(e){return unloadTileContent(e),Promise.resolve()},t.prototype.loadAllTilesets=function(){var e=this,r=function(o){var s=[];return e.tileset.root.traverse(function(u){var l;u.type==="TILESET"&&((l=u.content)===null||l===void 0?void 0:l.loadState)!=="READY"&&s.push(u)}),Promise.all(s.map(function(u){return e.loadContent(u).then(function(){return r()})})).then(function(){})};return r(this.tileset.root)},t.prototype.loadTrajectory=function(e){var r=this;return loadTrajectory(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){r.disposed&&unloadTrajectory(o)})},t.prototype.unloadTrajectory=function(e){return unloadTrajectory(e),Promise.resolve()},t.prototype.intersectRaycaster=function(e,r,o,s){var u=this;r===void 0&&(r=null),o===void 0&&(o=!0),s===void 0&&(s=[]);for(var l=[this.tileset.root],c=this.tileset.transform,p,f=[];p=l.pop();){var d=void 0;if(p.boundingVolume){var h=void 0;p.boundingVolume instanceof BoxBoundingVolume?h=scratchBoxBoundingVolume.copy(p.boundingVolume):p.boundingVolume instanceof SphereBoundingVolume?h=scratchSphereBoundingVolume.copy(p.boundingVolume):h=p.boundingVolume.clone(),h.applyMatrix4(c),d=h.intersectRay(e.ray,e.far)}else d=!0;if(d){for(var m=0,g=p.children.length;m<g;m++)l.push(p.children[m]);p.selected&&p.content&&p.content.data&&p.content.data.object.visible&&p.content.data.object.intersectRaycaster(e,r,!1,f)}}return o&&f.sort(function(A,E){return A.distance-E.distance}),f.map(function(A){var E;A.model=(E=u.parent)!==null&&E!==void 0?E:void 0,A.viewLayer=u}),s.push.apply(s,f),s},t.prototype.cloneSkipBackfaceObject=function(e){var r;e instanceof THREE__namespace.Mesh?r=new THREE__namespace.Mesh(e.geometry,Array.isArray(e.material)?e.material.map(function(l){return l.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL}):e.material&&e.material.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL):e instanceof THREE__namespace.Group?r=new THREE__namespace.Group:r=new THREE__namespace.Object3D,r.copy(e,!1);for(var o=0,s=e.children;o<s.length;o++){var u=s[o];r.add(this.cloneSkipBackfaceObject(u))}return r},t.prototype.update=function(e,r,o,s){var u,l,c,p=this,f,d,h,m,g;this.renderer=e,this.frameNumber++;var A=!1,E=this.parameter.resolveValue(o.parameter,s.parameter),v=E.versions.toString();parameterVersionMap.get(this)!==v&&(parameterVersionMap.set(this,v),A=!0);var y=E.maxLevelOfDetail;y=Math.max(y,0);var b=Math.min(E.minLevelOfDetail,y);(!this.visible||!this.loaded||!o.loaded)&&(y=Math.max(b,0));var T=E.minGeometricError,_=r.controllerMode;(_==="Panorama"||_==="VRPanorama"||_==="XRPanorama")&&E.modelAlpha<.1&&(T=E.panoramaMinGeometricError);var S=E.maxGeometricError;S=Math.max(T,S);var R={debug:E.tileDebug,time:now(),camera:{type:r.type,position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(r.up).applyQuaternion(r.quaternion),projectionMatrix:r.projectionMatrix.clone(),visible:r.visible,refine:r.refineModel},height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r),minLevelOfDetail:b,maxLevelOfDetail:y,minGeometricError:T,maxGeometricError:S,skipLevelOfDetail:E.skipLevelOfDetail,mostDetail:E.mostDetail,loadSiblings:E.loadSiblings,loadAll:E.loadAll,maxMemoryUsage:E.maxMemoryUsage,maxRequests:E.maxRequests,requestOrder:E.requestOrder,maxScreenSpaceError:E.maxScreenSpaceError,memoryAdjustedOverflow:E.memoryAdjustedOverflow,memoryAdjustedScreenSpaceError:E.memoryAdjustedScreenSpaceError},M=E.cacheCameras.map(function(j){return j.updateProjectionMatrix(),__assign(__assign({},R),{camera:{type:r.type,position:new THREE__namespace.Vector3().copy(j.position),direction:j.getWorldDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(j.up),projectionMatrix:j.projectionMatrix.clone(),visible:j.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(j)})});if(this.updateWorldMatrix(!0,!1),this.tileset.transform.equals(this.matrixWorld)||(this.tileset.transform.copy(this.matrixWorld),A=!0),this.autoRefine&&E.progress%1===0&&this.tileset.update(R,M),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(j){if(p.refineProgress[1]++,j.content){var te=j.content.loadState;if(te==="UNLOADED"||te==="LOADING"){p.refined=!1;return}}p.refineProgress[0]++}),this.loaded===!1&&this.autoRefine){this.loaded=!0;var H=!1;this.tileset.needsRefinedTiles.forEach(function(j){if(p.loaded!==!1&&j.content){if(j.state.visible&&(H=!0),R.skipLevelOfDetail){if(j.state.finalResolution){var te=j.state.ancestorWithContentAvailable,q=te&&te.content?te.content:j.content,ve=q.loadState;(ve==="UNLOADED"||ve==="LOADING")&&(p.loaded=!1)}}else if(j.state.visible&&j.levelOfContent<=0){var ve=j.content.loadState;(ve==="UNLOADED"||ve==="LOADING")&&(p.loaded=!1)}}}),H&&this.tileset.selectedTiles.length===0&&this.tileset.frameNumber<500&&(this.loaded=!1),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++)}this.renderObjects.length=0,this.backfaceObjects.length=0,this.debugObjects.length=0,this.tileObjects.length=0,this.remove.apply(this,this.children),R.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(j,te){return j.floor!==te.floor?j.floor-te.floor:j.levelOfContent!==te.levelOfContent?te.levelOfContent-j.levelOfContent:j.state.distanceToCamera!==te.state.distanceToCamera?j.state.distanceToCamera-te.state.distanceToCamera:j.state.centerZDepth-te.state.centerZDepth}),R.debug==="root-bounding-volume"&&this.tileset.root.boundingVolumeDebugObject&&this.debugObjects.push(this.tileset.root.boundingVolumeDebugObject);for(var B=[],C=0,w=this.tileset.selectedTiles;C<w.length;C++){var I=w[C];R.debug==="selected-bounding-volume"&&I.boundingVolumeDebugObject&&this.debugObjects.push(I.boundingVolumeDebugObject);var O=(d=(f=I.content)===null||f===void 0?void 0:f.data)===null||d===void 0?void 0:d.object;if(O){var F=O.update(e,r,o,I,E);if(B.push(I.id),F&&(A=!0),this.tileset.hasMixedContent&&R.skipLevelOfDetail){if(!I.state.finalResolution){var N=this.cloneSkipBackfaceObject(O);this.backfaceObjects.push(N)}for(var z=I.state.selectionDepth,J=STENCIL_CONSTANT.TILE_MASK|z<<STENCIL_CONSTANT.SKIP_LOD_BIT_SHIFT,G=THREE__namespace.GreaterEqualStencilFunc,Q=STENCIL_CONSTANT.SKIP_LOD_MASK,U=THREE__namespace.ReplaceStencilOp,V=STENCIL_CONSTANT.TILE_MASK|STENCIL_CONSTANT.SKIP_LOD_MASK,X=0,Z=O.materials;X<Z.length;X++){var ee=Z[X];ee.stencilWrite=!0,ee.stencilRef=J,ee.stencilFunc=G,ee.stencilFuncMask=Q,ee.stencilZPass=U,ee.stencilWriteMask=V}}else for(var K=0,re=O.materials;K<re.length;K++){var ee=re[K];ee.stencilWrite=!1,ee.stencilRef=STENCIL_CONSTANT.TILE_MASK,ee.stencilFunc=THREE__namespace.AlwaysStencilFunc,ee.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,ee.stencilZPass=THREE__namespace.ReplaceStencilOp,ee.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK}this.tileObjects.push(O)}}var Y=B.toString();tileVersionMap.get(this)!==Y&&(tileVersionMap.set(this,Y),A=!0),R.skipLevelOfDetail&&this.backfaceObjects.length&&(u=this.renderObjects).push.apply(u,this.backfaceObjects),this.tileObjects.length&&(l=this.renderObjects).push.apply(l,this.tileObjects),R.skipLevelOfDetail&&this.renderObjects.push(this.clearStencilObject);for(var W=[],le=0,oe=this.tileset.selectedTrajectories;le<oe.length;le++){var ae=oe[le],se=(h=ae.content.data)===null||h===void 0?void 0:h.object;if(se){var F=se.update(e,r,o,ae,E);W.push(ae.id),F&&(A=!0),this.renderObjects.push(se)}}var ie=W.toString();trajectoryVersionMap.get(this)!==ie&&(trajectoryVersionMap.set(this,ie),A=!0),R.debug&&(c=this.renderObjects).push.apply(c,this.debugObjects);for(var fe=Math.min(0,((g=(m=this.parent)===null||m===void 0?void 0:m.children)!==null&&g!==void 0?g:[]).indexOf(this)),he=fe*1e4,Te=function(j){var te=ce.renderObjects[j],q=j+he;te.traverse(function(ve){(ve instanceof THREE__namespace.Mesh||ve instanceof THREE__namespace.Line||ve instanceof THREE__namespace.Points)&&(ve.renderOrder=q)}),ce.add(te)},ce=this,xe=0;xe<this.renderObjects.length;xe++)Te(xe);return A},t.prototype.dispose=function(){this.disposed=!0,this.tileset.reset(),/^blob\:/.test(this.tileset.id)&&URL.revokeObjectURL(this.tileset.id),this.remove.apply(this,this.children),this.refined=!1,this.loaded=!1,this.refineProgress[0]=this.refineProgress[1]=0},Object.defineProperty(t.prototype,"model",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scene",{get:function(){return this},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayer",{get:function(){return this},enumerable:!1,configurable:!0}),t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.enuToEcef=function(e){return e.applyMatrix4(this.enuToEcefMatrix)},t.prototype.ecefToEnu=function(e){return e.applyMatrix4(this.ecefToEnuMatrix)},t.prototype.localToEcef=function(e){return this.enuToEcef(this.localToEnu(e))},t.prototype.ecefToLocal=function(e){return this.enuToLocal(this.ecefToEnu(e))},t.prototype.localToLla=function(e){return ecefToLla(this.enuToEcef(this.localToEnu(e)))},t.prototype.llaToLocal=function(e){return this.enuToLocal(this.ecefToEnu(llaToEcef(e)))},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},t.prototype.worldToEcef=function(e){return this.localToEcef(this.worldToLocal(e))},t.prototype.ecefToWorld=function(e){return this.localToWorld(this.ecefToLocal(e))},t.prototype.worldToLla=function(e){return this.localToLla(this.worldToLocal(e))},t.prototype.llaToWorld=function(e){return this.localToWorld(this.llaToLocal(e))},Object.defineProperty(t.prototype,"coordinates",{get:function(){scratchVector3$1.setScalar(0);var e=this.localToLla(scratchVector3$1),r=e.x,o=e.y;return[r,o].map(function(s){return(s/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),t.prototype.getTransformMatrix4=function(e){return e===void 0&&(e=new THREE__namespace.Matrix4),e.copy(this.ecefToEnuMatrix),e.premultiply(enuToLocalMatrix),e.premultiply(this.matrixWorld),e},t.prototype.coordinatesToWorldPoint=function(e){var r=new THREE__namespace.Vector3(e.latitude,e.longitude,e.altitude);return this.llaToWorld(r)},t.prototype.worldPointToCoordinates=function(e){return scratchVector3$1.copy(e),this.worldToLla(scratchVector3$1),{latitude:scratchVector3$1.x,longitude:scratchVector3$1.y,altitude:scratchVector3$1.z}},t.prototype.resetBrightness=function(){this.parameter.reset("brightness")},Object.defineProperty(t.prototype,"debug",{get:function(){return this.parameter.resolveValue().tileDebug},set:function(e){this.parameter.set("tileDebug",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLevelOfDetail",{get:function(){return this.parameter.resolveValue().minLevelOfDetail},set:function(e){this.parameter.set("minLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLevelOfDetail",{get:function(){return this.parameter.resolveValue().maxLevelOfDetail},set:function(e){this.parameter.set("maxLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minGeometricError",{get:function(){return this.parameter.resolveValue().minGeometricError},set:function(e){this.parameter.set("minGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxGeometricError",{get:function(){return this.parameter.resolveValue().maxGeometricError},set:function(e){this.parameter.set("maxGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoramaMinGeometricError",{get:function(){return this.parameter.resolveValue().panoramaMinGeometricError},set:function(e){this.parameter.set("panoramaMinGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skipLevelOfDetail",{get:function(){return this.parameter.resolveValue().skipLevelOfDetail},set:function(e){this.parameter.set("skipLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mostDetail",{get:function(){return this.parameter.resolveValue().mostDetail},set:function(e){this.parameter.set("mostDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){return this.parameter.resolveValue().loadSiblings},set:function(e){this.parameter.set("loadSiblings",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadAll",{get:function(){return this.parameter.resolveValue().loadAll},set:function(e){this.parameter.set("loadAll",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.parameter.resolveValue().maxMemoryUsage},set:function(e){this.parameter.set("maxMemoryUsage",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.parameter.resolveValue().maxRequests},set:function(e){this.parameter.set("maxRequests",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"requestOrder",{get:function(){return this.parameter.resolveValue().requestOrder},set:function(e){this.parameter.set("requestOrder",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.parameter.resolveValue().maxScreenSpaceError},set:function(e){this.parameter.set("maxScreenSpaceError",e)},enumerable:!1,configurable:!0}),t}(THREE__namespace.Object3D);function headingToLongitude(n){return-((n-.25)*360+90)/180*Math.PI}function equal(n,t){if(n===t)return!0;if(n&&t&&typeof n=="object"&&typeof t=="object"){if(n.constructor!==t.constructor)return!1;var e,r,o;if(Array.isArray(n)){if(e=n.length,e!=t.length)return!1;for(r=e;r--!==0;)if(!equal(n[r],t[r]))return!1;return!0}if(n.constructor===RegExp)return n.source===t.source&&n.flags===t.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===t.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===t.toString();if(o=Object.keys(n),e=o.length,e!==Object.keys(t).length)return!1;for(r=e;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=e;r--!==0;){var s=o[r];if(!equal(n[s],t[s]))return!1}return!0}return n!==n&&t!==t}function isNumber(n){return typeof n=="number"}var error_invalid_input=function(){return new Error("Invalid input.")},error_invalid_certificate=function(){return new Error("Invalid certificate.")},error_invalid_signature=function(){return new Error("Invalid signature.")},error_date_expired=function(n){return new Error("date(".concat(n.toString(),") expired."))},error_host_not_allowed=function(n){return new Error("host(".concat(JSON.stringify(n),") is not allowed."))};function ObjectOmit(n,t){for(var e={},r=0,o=Object.keys(n);r<o.length;r++){var s=o[r];t.indexOf(s)===-1&&(e[s]=n[s])}return e}function jsonStableNoneNumberStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableNoneNumberStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],p=jsonStableNoneNumberStrinfiy_(n[c],!0);p!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+p),s++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function jsonStableNoneNumberStrinfiy(n){return String(jsonStableNoneNumberStrinfiy_(n,!1))}function verify(n){var t,e,r;if(Array.isArray(n)){var o=void 0,s,u;if(n.length<=0)return error_invalid_input();for(var l=function(_){var S=verify(n[_]);if(S instanceof Error)return{value:S};if(!o)o=S.issuer;else if(o!==S.issuer)return{value:error_invalid_certificate()};s?S.expire.getTime()<s.getTime()&&(s=S.expire):s=S.expire,u?u=u.filter(function(R){return S.allowHosts.indexOf(R)!==-1}):u=S.allowHosts},c=0;c<n.length;c++){var p=l(c);if(typeof p=="object")return p.value}return deepFreeze({issuer:o,expire:s,allowHosts:u})}var f=JSON.parse(n),d=typeof location!="undefined"?location.hostname:"",h=Date.now();if(typeof f!="object")return error_invalid_input();var m=new Date(typeof f.expire_at=="string"&&/^\d+$/.test(f.expire_at)?Number(f.expire_at):f.expire_at),g=Array.isArray(f.allow_hosts)?f.allow_hosts:[];if(d.length===0||isIPDomain(d)||BUILDIN_ALLOW_HOST.filter(function(_){return matchDomain(_,d)}).length>0){var A=String((t=f.certificate)!==null&&t!==void 0?t:"");if(A){var E=new X509;return E.readCertPEM(A),deepFreeze({issuer:E.getSubjectString(),expire:m,allowHosts:g})}return deepFreeze({issuer:"none",expire:m,allowHosts:g})}var v=String((e=f.certificate)!==null&&e!==void 0?e:"");if(!v)return error_invalid_certificate();var y=new X509;y.readCertPEM(v);var b=String((r=f._signature)!==null&&r!==void 0?r:"");if(!b)return error_invalid_signature();var T=jsonStableNoneNumberStrinfiy(ObjectOmit(f,["_signature"]));return verifyMessage(T,b,y)===!1?error_invalid_signature():h<m.getTime()?g.filter(function(_){return matchDomain(_,d)}).length===0?error_host_not_allowed(d):deepFreeze({issuer:y.getSubjectString(),expire:m,allowHosts:g}):error_date_expired(m)}var PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(1,1,1),scratchMatrix4$2=new THREE__namespace.Matrix4,scratchObserverBox$1=new THREE__namespace.Box3,workRawMapping=new WeakMap,needsUpdateWorkCodeSet=new Set,Work=function(){function n(t,e){this.name="",this.baseURL="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],this.observerBox=new THREE__namespace.Box3,this.issuer="none",this.raw={works:[""],options:""},this.transform=new THREE__namespace.Matrix4;{var r=this;this.options={get transform(){return r.transform},set transform(s){r.transform.copy(s)}}}if(t!==null)if("up"in t&&typeof t.up=="string"&&"down"in t&&typeof t.down=="string"&&"right"in t&&typeof t.right=="string"&&"left"in t&&typeof t.left=="string"&&"front"in t&&typeof t.front=="string"&&"back"in t&&typeof t.back=="string"&&"size"in t&&typeof t.size=="number")parsePanoWork(t,this);else{var o=parse(t,e,this);if(o instanceof Error)throw new Error("[PARSE FAILED]: "+o.message+`
|
|
1024
|
+
`,uniforms:{diffuse:{value:new THREE__namespace.Color},opacity:{value:1},displacementScalar:{value:0}}};function createPipeBufferGeometry(n,t,e,r){for(var o=new Float32Array((e+1)*(r+1)*3),s=new Float32Array((e+1)*(r+1)*3),u=new Float32Array((e+1)*(r+1)*2),l=new Uint32Array(e*r*6),c=n.computeFrenetFrames(e),p=new THREE__namespace.Vector3,f=new THREE__namespace.Vector3,d=new THREE__namespace.Vector2,h=new THREE__namespace.Vector3,m=0;m<=e;m++){h=n.getPointAt(m/e,h);for(var g=c.normals[m],A=c.binormals[m],E=0;E<=r;E++){var v=m*(r+1)+E,y=E/r*Math.PI*2,b=Math.sin(y),T=-Math.cos(y);f.x=T*g.x+b*A.x,f.y=T*g.y+b*A.y,f.z=T*g.z+b*A.z,f.normalize(),f.toArray(s,v*3),p.x=h.x+t*f.x,p.y=h.y+t*f.y,p.z=h.z+t*f.z,p.toArray(o,v*3),d.x=m/e,d.y=E/r,d.toArray(u,v*2)}}for(var m=0;m<e;m++)for(var E=0;E<r;E++){var _=(m*r+E)*6,S=(r+1)*m+E,R=(r+1)*(m+1)+E,M=(r+1)*(m+1)+(E+1),H=(r+1)*m+(E+1);l[_]=S,l[_+1]=R,l[_+2]=H,l[_+3]=R,l[_+4]=M,l[_+5]=H}var B=new THREE__namespace.BufferGeometry;return B.setIndex(new THREE__namespace.BufferAttribute(l,1)),B.setAttribute("position",new THREE__namespace.BufferAttribute(o,3)),B.setAttribute("normal",new THREE__namespace.BufferAttribute(s,3)),B.setAttribute("uv",new THREE__namespace.BufferAttribute(u,2)),B}function parseTrajectoryObject(n,t){for(var e=new THREE__namespace.Color(0).convertSRGBToLinear(),r=new THREE__namespace.Color(52949).convertSRGBToLinear(),o=new THREE__namespace.Color(3370495).convertSRGBToLinear(),s=new THREE__namespace.Color(16777215).convertSRGBToLinear(),u=0,l=new THREE__namespace.CurvePath,c=n.length,p=3;p<c;p+=3){var f=new THREE__namespace.Vector3().fromArray(n,p-3),d=new THREE__namespace.Vector3().fromArray(n,p);u+=f.distanceTo(d);var h=new THREE__namespace.LineCurve3(f,d);l.add(h)}var m=.03,g=Math.ceil(u*100),A=6,E=createPipeBufferGeometry(l,m,g,A);E.clearGroups(),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,0),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,1),E.addGroup(0,E.index?E.index.count:E.attributes.position.count,2);var v=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});v.uniforms.totalLength.value=u,v.uniforms.diffuse.value=e,v.uniforms.diffuse2.value=e,v.uniforms.opacity.value=.5,v.transparent=!0;var y=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});y.uniforms.totalLength.value=u,y.uniforms.displacementScalar.value=-.01,y.uniforms.diffuse.value=r,y.uniforms.diffuse2.value=o;var b=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.DoubleSide});b.uniforms.totalLength.value=u,b.uniforms.displacementScalar.value=-.026,b.uniforms.dashSize.value=new THREE__namespace.Vector2(.06,.09),b.uniforms.diffuse.value=s,b.uniforms.diffuse2.value=s;var T=new THREE__namespace.Mesh(E,[v,y,b]),_=.08,S=24,R=new THREE__namespace.SphereBufferGeometry(_,S,S);R.clearGroups(),R.addGroup(0,E.index?E.index.count:E.attributes.position.count,0),R.addGroup(0,E.index?E.index.count:E.attributes.position.count,1);var M=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.BackSide});M.uniforms.diffuse.value=e,M.uniforms.opacity.value=.5,M.transparent=!0;var H=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});H.uniforms.displacementScalar.value=-.01,H.uniforms.diffuse.value=r;var B=new THREE__namespace.Mesh(R,[M,H]);B.position.fromArray(n,0),T.add(B);var C=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});C.uniforms.displacementScalar.value=-.01,C.uniforms.diffuse.value=o;var w=new THREE__namespace.Mesh(R,[M,C]);return w.position.fromArray(n,n.length-3),T.add(w),{scene:T,dispose:function(){E.dispose(),v.dispose(),y.dispose(),b.dispose(),R.dispose(),M.dispose(),H.dispose(),C.dispose()}}}function loadTrajectory(n,t){var e=n.name,r=appendSearch(n.content.uri,t.search),o=imageURL(r,{key:"model.0"});return n.content.loadState="LOADING",n.content.loadStateUpdateTime=now(),loadPly(o,{type:"geometry",customPropertyMapping:{time:{itemType:"uint32",itemNames:["time_milisec"]}},fetcher:t.fetcher}).then(function(s){var u,l,c,p,f=(l=(u=s.scene.attributes)===null||u===void 0?void 0:u.time.array)!==null&&l!==void 0?l:[],d=(p=(c=s.scene.attributes)===null||c===void 0?void 0:c.position.array)!==null&&p!==void 0?p:[],h=s.byteLength,m=s.memoryUsage,g=parseTrajectoryObject(d);g.scene.applyMatrix4(n.transform),g.scene.updateWorldMatrix(!1,!0),g.scene.matrixAutoUpdate=!1;var A=new TrajectoryNode(e,g.scene);return n.content.data={uri:o,byteLength:h,memoryUsage:m,positionArray:d,timeArray:f,object:A},n.content.byteLength=h,n.content.memoryUsage=m,n.content.loadState="READY",n.content.loadStateUpdateTime=now(),n}).catch(function(s){return n.content.data=void 0,n.content.loadState="FAILED",n.content.loadStateUpdateTime=now(),s instanceof NetworkResponseError&&s.httpStatus===0||s instanceof NetworkTimeoutError||s instanceof NetworkProxyError?n.content.loadfailRetryDelay=clamp$1(n.content.loadfailRetryDelay+RETRY_DELAY_STEP,RETRY_DELAY_STEP,MAX_RETRY_DELAY):n.content.loadfailRetryDelay=1/0,Promise.reject(s)})}function unloadTrajectory(n){n.content&&(n.content.data&&n.content.data.object.dispose(),n.content.data=void 0,n.content.loadState="UNLOADED",n.content.loadStateUpdateTime=now(),n.content.byteLength=0,n.content.memoryUsage=0)}var scratchVector3$2=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,scratchMatrix4$3=new THREE__namespace.Matrix4,a=6378137,invF=298.257223563;function ecefToLla(n){for(var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sqrt(n.x*n.x+n.y*n.y),o=1e-12,s=1e3,u=0,l=Math.atan2(n.z,r),c=0;u++<s;){var p=Math.sin(l),f=a/Math.sqrt(1-e*p*p);c=r/Math.cos(l)-f;var d=Math.atan2(n.z/(f*(1-e)+c),r/(f+c));if(isNaN(d))break;var h=Math.abs(d-l);if(h<o)break;l=d}return n.set(l,Math.atan2(n.y,n.x),c)}function llaToEcef(n){var t=n.x,e=n.y,r=n.z,o=a-a/invF,s=(a*a-o*o)/(a*a),u=Math.sin(t),l=Math.cos(t),c=Math.sin(e),p=Math.cos(e),f=a/Math.sqrt(1-s*u*u),d=(f+r)*l*p,h=(f+r)*l*c,m=(o*o/(a*a)*f+r)*u;return n.set(d,h,m)}function getEcefToEnuMatrix(n,t){var e=ecefToLla(scratchVector3$2.copy(n)),r=e.x,o=e.y,s=e.z,u=Math.sin(r),l=Math.sin(o),c=Math.cos(r),p=Math.cos(o);t.fromArray([-l,-u*p,c*p,0,+p,-u*l,c*l,0,0,c,u,0,0,0,0,1]);var f=scratchMatrix3.setFromMatrix4(t),d=scratchVector3$2.copy(n).applyMatrix3(f).multiplyScalar(-1);t.setPosition(d);var h=scratchMatrix4$3.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,s,1]);return t.premultiply(h),t}var ROTATE_X_90_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),ROTATE_X_90_MATRIX_INVERSE=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),enuToLocalMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX),localToEnuMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX_INVERSE);const gradientDataURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII=";function valueEqual(n,t){return n==t}function arrayValueEqual(n,t){if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return!1;for(var e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}return n===t}var parameterValueEqualFn={customShaders:arrayValueEqual,castShadow:valueEqual,receiveShadow:valueEqual,vertexMarks:valueEqual,pano0:valueEqual,pano1:valueEqual,pano0Depth:valueEqual,pano1Depth:valueEqual,refinedScreen:valueEqual,modelAlpha:valueEqual,progress:valueEqual,transition:valueEqual,opacity:valueEqual,floorStyle:valueEqual,colorStyle:valueEqual,constantColor:function(n,t){return n instanceof THREE__namespace.Vector3&&t instanceof THREE__namespace.Vector3?n.equals(t):n===t},shownFloorIndex:valueEqual,clippers:arrayValueEqual,brightness:valueEqual,useEDL:valueEqual,useHQWeight:valueEqual,useHQDepth:valueEqual,pointShape:valueEqual,pointSize:valueEqual,pointBack:valueEqual,pointScale:valueEqual,pointMinPixel:valueEqual,pointMaxPixel:valueEqual,pointAppearAnimation:valueEqual,colorSaturation:valueEqual,colorBrightness:valueEqual,useAddBlend:valueEqual,outlineGain:valueEqual,distanceGain:valueEqual,gradientTexture:valueEqual,tileDebug:valueEqual,minLevelOfDetail:valueEqual,maxLevelOfDetail:valueEqual,minGeometricError:valueEqual,maxGeometricError:valueEqual,panoramaMinGeometricError:valueEqual,skipLevelOfDetail:valueEqual,mostDetail:valueEqual,loadSiblings:valueEqual,loadAll:valueEqual,maxMemoryUsage:valueEqual,maxRequests:valueEqual,requestOrder:valueEqual,maxScreenSpaceError:valueEqual,memoryAdjustedOverflow:valueEqual,memoryAdjustedScreenSpaceError:valueEqual,cacheCameras:arrayValueEqual};function assignValue(n,t,e){Array.isArray(e)&&(e=e.slice());var r=n[t],o=parameterValueEqualFn[t];return o(r,e)?!1:(n[t]=e,!0)}var defaultGradientTexture=function(){var n;return typeof document!="undefined"?n=new THREE__namespace.TextureLoader().load(gradientDataURL):n=new THREE__namespace.Texture,n.minFilter=THREE__namespace.NearestFilter,n.magFilter=THREE__namespace.NearestFilter,n.wrapS=THREE__namespace.RepeatWrapping,n.wrapT=THREE__namespace.RepeatWrapping,n}(),defineConstantColor=Object.freeze(new THREE__namespace.Vector3(.6,.6,.6)),defineClippers=Object.freeze([]),defineCustomShaders=Object.freeze([]),defineCacheCameras=Object.freeze([]),Parameter=function(){function n(t){this.value=Object.create(null),this.id=createUuid(),this.versionNumber=0,t&&this.copy(t);for(var e=function(l){Object.defineProperty(r,l,{get:function(){return this.value[l]}})},r=this,o=0,s=Object.keys(n.createDefault());o<s.length;o++){var u=s[o];e(u)}}return n.createDefault=function(){return{customShaders:defineCustomShaders,castShadow:!1,receiveShadow:!1,vertexMarks:!0,pano0:null,pano1:null,pano0Depth:null,pano1Depth:null,refinedScreen:null,floorStyle:"OPACITY",colorStyle:"RGB",constantColor:defineConstantColor,shownFloorIndex:-1,modelAlpha:1,opacity:1,progress:0,transition:"FADE",clippers:defineClippers,brightness:1,useEDL:!1,useHQWeight:!1,useHQDepth:!1,pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"CIRCLE",pointScale:.03,pointMaxPixel:40,pointMinPixel:1,pointAppearAnimation:!0,gradientTexture:defaultGradientTexture,colorSaturation:0,colorBrightness:0,outlineGain:0,distanceGain:0,useAddBlend:!1,tileDebug:"none",minLevelOfDetail:0,maxLevelOfDetail:20,minGeometricError:0,maxGeometricError:1e4,panoramaMinGeometricError:.03,skipLevelOfDetail:!1,mostDetail:!1,loadSiblings:!1,loadAll:!1,maxMemoryUsage:16,maxRequests:6,requestOrder:"SCREEN_SPACE_ERROR",maxScreenSpaceError:4,memoryAdjustedOverflow:4,memoryAdjustedScreenSpaceError:!1,cacheCameras:defineCacheCameras}},n.resolveValue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=__assign({versions:[]},this.createDefault()),o=Object.keys(r),s=0,u=t;s<u.length;s++){var l=u[s],c=l instanceof n?l.version:createUuid();r.versions.push(c);for(var p=0,f=o;p<f.length;p++){var d=f[p],h=l[d];h!==void 0&&(r[d]=h)}}return r},Object.defineProperty(n.prototype,"version",{get:function(){return"".concat(this.id,":").concat(this.versionNumber)},enumerable:!1,configurable:!0}),n.prototype.resolveValue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.resolveValue.apply(n,t.concat(this))},n.prototype.set=function(t,e){var r=!1;if(typeof t=="string"){if(e!==void 0){var o=assignValue(this.value,t,e);o&&(r=!0)}}else for(var s=t,u=Object.keys(s),l=0,c=u;l<c.length;l++){var p=c[l],f=s[p];if(f!==void 0){var o=assignValue(this.value,p,f);o&&(r=!0)}}return r&&this.versionNumber++,this},n.prototype.reset=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=!1,o=0,s=t;o<s.length;o++){var u=s[o];this.value!==void 0&&(delete this.value[u],r=!0)}return r&&this.versionNumber++,this},n.prototype.resetAll=function(){for(var t=!1,e=Object.keys(this.value),r=0,o=e;r<o.length;r++){var s=o[r];delete this.value[s],t=!0}return t&&this.versionNumber++,this},n.prototype.copy=function(t){for(var e=!0,r=Object.keys(this.value),o=0,s=r;o<s.length;o++){var u=s[o];delete this.value[u]}r=Object.keys(t);for(var l=0,c=r;l<c.length;l++){var p=c[l],f=t[p];if(f!==void 0){var d=assignValue(this.value,p,f);d&&(e=!0)}}return e&&this.versionNumber++,this},n}(),scratchVector3$1=new THREE__namespace.Vector3,scratchSphereBoundingVolume=new SphereBoundingVolume,scratchBoxBoundingVolume=new BoxBoundingVolume,parameterVersionMap=new WeakMap,tileVersionMap=new WeakMap,trajectoryVersionMap=new WeakMap,STENCIL_CONSTANT={TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15},SKIP_BACKFACE_MATERIAL=function(){var n=new THREE__namespace.MeshBasicMaterial;return n.side=THREE__namespace.BackSide,n.color.setHex(16711935),n.colorWrite=!1,n.stencilWrite=!0,n.polygonOffset=!0,n.polygonOffsetFactor=2,n.polygonOffsetUnits=2,n.stencilRef=STENCIL_CONSTANT.TILE_MASK,n.stencilFunc=THREE__namespace.AlwaysStencilFunc,n.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,n.stencilZPass=THREE__namespace.ReplaceStencilOp,n.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK,n}(),SKIP_BACKFACE_TRANSPARENT_MATERIAL=function(){var n=new THREE__namespace.MeshBasicMaterial;return n.visible=!1,n}(),CLEAR_STENCIL_GEOMETRY=new THREE__namespace.BufferGeometry,CLEAR_STENCIL_MATERIAL=new THREE__namespace.MeshBasicMaterial,Tile3D=function(n){__extends(t,n);function t(e,r){var o,s,u=n.call(this)||this;return u.parameter=new Parameter,u.renderObjects=[],u.backfaceObjects=[],u.debugObjects=[],u.tileObjects=[],u.frameNumber=0,u.error=(o=r.error)!==null&&o!==void 0?o:null,u.name=r.name,u.type=r.type,u.upAxis=r.upAxis,u.light=r.light,u.fetcher=r.fetcher,u.search=(s=r.search)!==null&&s!==void 0?s:"",u.groundHeight=r.groundHeight,u.enuToEcefMatrix=new THREE__namespace.Matrix4().copy(r.enuToEcefMatrix),u.ecefToEnuMatrix=new THREE__namespace.Matrix4().copy(r.ecefToEnuMatrix),u.boundingBox=new THREE__namespace.Box3,u.autoRefine=!0,u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.disposed=!1,u.clearStencilObject=new THREE__namespace.Mesh(CLEAR_STENCIL_GEOMETRY,CLEAR_STENCIL_MATERIAL),u.clearStencilObject.frustumCulled=!1,u.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},u.tileset=new Tileset(e,{tileLoader:function(l){return u.loadContent(l)},tileUnloader:function(l){return u.unloadContent(l)},onTileLoad:function(){},onTileUnload:function(l){},onTileError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Tile error",l.id,c)},trajectoryLoader:function(l){return u.loadTrajectory(l)},trajectoryUnloader:function(l){return u.unloadTrajectory(l)},onTrajectoryLoad:function(){},onTrajectoryUnload:function(l){},onTrajectoryError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Trajectory error",l,c)}}),u.tileset.root.boundingVolume&&u.tileset.root.boundingVolume.getBoundingBox(u.boundingBox),u}return Object.defineProperty(t.prototype,"tiles",{get:function(){return this.tileset.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trajectories",{get:function(){return this.tileset.trajectories},enumerable:!1,configurable:!0}),t.prototype.getRecommendProps=function(e){var r,o,s;e===void 0&&(e={});var u,l,c,p=128;e.powerPreference==="high"&&(p=512);var f=typeof this.tileset.rootMeta.creationTime=="string";if(f){var d=typeof this.tileset.rootMeta.numTotalPoints=="number"&&this.tileset.rootMeta.numTotalPoints>0;if(d){c=4,e.powerPreference==="high"&&(c=2),u=c/1.6;var h=0;if(((r=this.tileset.rootMeta.taskParameters)===null||r===void 0?void 0:r.point_homogenization)==="1"&&(!((o=this.tileset.rootMeta.taskParameters)===null||o===void 0)&&o.homo_point_density)){var m=Number((s=this.tileset.rootMeta.taskParameters)===null||s===void 0?void 0:s.homo_point_density);isFinite(m)&&!isNaN(m)&&(h=m)}h<=0&&(h=.02),l=h*1.4}else c=5,e.powerPreference==="high"&&(c=4),u=1,l=.03}else c=6,u=1,l=.03,this.name==="aerophoto"?(c=12,e.powerPreference==="high"&&(c=10)):this.tileset.asset.extras&&typeof this.tileset.asset.extras.name=="string"&&/^matterport\b/i.test(this.tileset.asset.extras.name)&&(c=5,e.powerPreference==="high"&&(c=4));return{pointScale:l,pointMinPixel:u,maxScreenSpaceError:c,maxMemoryUsage:p}},t.prototype.loadContent=function(e){var r=this;return loadTileContent(e,{light:this.light,fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){e.type==="SCENEGRAPH"&&(r.disposed||!e.content?unloadTileContent(e):e.content.data&&r.boundingBox.expandByObject(e.content.data.object))})},t.prototype.unloadContent=function(e){return unloadTileContent(e),Promise.resolve()},t.prototype.loadAllTilesets=function(){var e=this,r=function(o){var s=[];return e.tileset.root.traverse(function(u){var l;u.type==="TILESET"&&((l=u.content)===null||l===void 0?void 0:l.loadState)!=="READY"&&s.push(u)}),Promise.all(s.map(function(u){return e.loadContent(u).then(function(){return r()})})).then(function(){})};return r(this.tileset.root)},t.prototype.loadTrajectory=function(e){var r=this;return loadTrajectory(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){r.disposed&&unloadTrajectory(o)})},t.prototype.unloadTrajectory=function(e){return unloadTrajectory(e),Promise.resolve()},t.prototype.intersectRaycaster=function(e,r,o,s){var u=this;r===void 0&&(r=null),o===void 0&&(o=!0),s===void 0&&(s=[]);for(var l=[this.tileset.root],c=this.tileset.transform,p,f=[];p=l.pop();){var d=void 0;if(p.boundingVolume){var h=void 0;p.boundingVolume instanceof BoxBoundingVolume?h=scratchBoxBoundingVolume.copy(p.boundingVolume):p.boundingVolume instanceof SphereBoundingVolume?h=scratchSphereBoundingVolume.copy(p.boundingVolume):h=p.boundingVolume.clone(),h.applyMatrix4(c),d=h.intersectRay(e.ray,e.far)}else d=!0;if(d){for(var m=0,g=p.children.length;m<g;m++)l.push(p.children[m]);p.selected&&p.content&&p.content.data&&p.content.data.object.visible&&p.content.data.object.intersectRaycaster(e,r,!1,f)}}return o&&f.sort(function(A,E){return A.distance-E.distance}),f.map(function(A){var E;A.model=(E=u.parent)!==null&&E!==void 0?E:void 0,A.viewLayer=u}),s.push.apply(s,f),s},t.prototype.cloneSkipBackfaceObject=function(e){var r;e instanceof THREE__namespace.Mesh?r=new THREE__namespace.Mesh(e.geometry,Array.isArray(e.material)?e.material.map(function(l){return l.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL}):e.material&&e.material.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL):e instanceof THREE__namespace.Group?r=new THREE__namespace.Group:r=new THREE__namespace.Object3D,r.copy(e,!1);for(var o=0,s=e.children;o<s.length;o++){var u=s[o];r.add(this.cloneSkipBackfaceObject(u))}return r},t.prototype.update=function(e,r,o,s){var u,l,c,p=this,f,d,h,m,g;this.renderer=e,this.frameNumber++;var A=!1,E=this.parameter.resolveValue(o.parameter,s.parameter),v=E.versions.toString();parameterVersionMap.get(this)!==v&&(parameterVersionMap.set(this,v),A=!0);var y=E.maxLevelOfDetail;y=Math.max(y,0);var b=Math.min(E.minLevelOfDetail,y);(!this.visible||!this.loaded||!o.loaded)&&(y=Math.max(b,0));var T=E.minGeometricError,_=r.controllerMode;(_==="Panorama"||_==="VRPanorama"||_==="XRPanorama")&&E.modelAlpha<.1&&(T=E.panoramaMinGeometricError);var S=E.maxGeometricError;S=Math.max(T,S);var R={debug:E.tileDebug,time:now(),camera:{type:r.type,position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(r.up).applyQuaternion(r.quaternion),projectionMatrix:r.projectionMatrix.clone(),visible:r.visible,refine:r.refineModel},height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r),minLevelOfDetail:b,maxLevelOfDetail:y,minGeometricError:T,maxGeometricError:S,skipLevelOfDetail:E.skipLevelOfDetail,mostDetail:E.mostDetail,loadSiblings:E.loadSiblings,loadAll:E.loadAll,maxMemoryUsage:E.maxMemoryUsage,maxRequests:E.maxRequests,requestOrder:E.requestOrder,maxScreenSpaceError:E.maxScreenSpaceError,memoryAdjustedOverflow:E.memoryAdjustedOverflow,memoryAdjustedScreenSpaceError:E.memoryAdjustedScreenSpaceError},M=E.cacheCameras.map(function(j){return j.updateProjectionMatrix(),__assign(__assign({},R),{camera:{type:r.type,position:new THREE__namespace.Vector3().copy(j.position),direction:j.getWorldDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(j.up),projectionMatrix:j.projectionMatrix.clone(),visible:j.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(j)})});if(this.updateWorldMatrix(!0,!1),this.tileset.transform.equals(this.matrixWorld)||(this.tileset.transform.copy(this.matrixWorld),A=!0),this.autoRefine&&E.progress%1===0&&this.tileset.update(R,M),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(j){if(p.refineProgress[1]++,j.content){var te=j.content.loadState;if(te==="UNLOADED"||te==="LOADING"){p.refined=!1;return}}p.refineProgress[0]++}),this.loaded===!1&&this.autoRefine){this.loaded=!0;var H=!1;this.tileset.needsRefinedTiles.forEach(function(j){if(p.loaded!==!1&&j.content){if(j.state.visible&&(H=!0),R.skipLevelOfDetail){if(j.state.finalResolution){var te=j.state.ancestorWithContentAvailable,q=te&&te.content?te.content:j.content,ve=q.loadState;(ve==="UNLOADED"||ve==="LOADING")&&(p.loaded=!1)}}else if(j.state.visible&&j.levelOfContent<=0){var ve=j.content.loadState;(ve==="UNLOADED"||ve==="LOADING")&&(p.loaded=!1)}}}),H&&this.tileset.selectedTiles.length===0&&this.tileset.frameNumber<500&&(this.loaded=!1),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++)}this.renderObjects.length=0,this.backfaceObjects.length=0,this.debugObjects.length=0,this.tileObjects.length=0,this.remove.apply(this,this.children),R.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(j,te){return j.floor!==te.floor?j.floor-te.floor:j.levelOfContent!==te.levelOfContent?te.levelOfContent-j.levelOfContent:j.state.distanceToCamera!==te.state.distanceToCamera?j.state.distanceToCamera-te.state.distanceToCamera:j.state.centerZDepth-te.state.centerZDepth}),R.debug==="root-bounding-volume"&&this.tileset.root.boundingVolumeDebugObject&&this.debugObjects.push(this.tileset.root.boundingVolumeDebugObject);for(var B=[],C=0,w=this.tileset.selectedTiles;C<w.length;C++){var I=w[C];R.debug==="selected-bounding-volume"&&I.boundingVolumeDebugObject&&this.debugObjects.push(I.boundingVolumeDebugObject);var O=(d=(f=I.content)===null||f===void 0?void 0:f.data)===null||d===void 0?void 0:d.object;if(O){var F=O.update(e,r,o,I,E);if(B.push(I.id),F&&(A=!0),this.tileset.hasMixedContent&&R.skipLevelOfDetail){if(!I.state.finalResolution){var N=this.cloneSkipBackfaceObject(O);this.backfaceObjects.push(N)}for(var z=I.state.selectionDepth,J=STENCIL_CONSTANT.TILE_MASK|z<<STENCIL_CONSTANT.SKIP_LOD_BIT_SHIFT,G=THREE__namespace.GreaterEqualStencilFunc,Q=STENCIL_CONSTANT.SKIP_LOD_MASK,U=THREE__namespace.ReplaceStencilOp,V=STENCIL_CONSTANT.TILE_MASK|STENCIL_CONSTANT.SKIP_LOD_MASK,X=0,Z=O.materials;X<Z.length;X++){var ee=Z[X];ee.stencilWrite=!0,ee.stencilRef=J,ee.stencilFunc=G,ee.stencilFuncMask=Q,ee.stencilZPass=U,ee.stencilWriteMask=V}}else for(var K=0,re=O.materials;K<re.length;K++){var ee=re[K];ee.stencilWrite=!1,ee.stencilRef=STENCIL_CONSTANT.TILE_MASK,ee.stencilFunc=THREE__namespace.AlwaysStencilFunc,ee.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,ee.stencilZPass=THREE__namespace.ReplaceStencilOp,ee.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK}this.tileObjects.push(O)}}var Y=B.toString();tileVersionMap.get(this)!==Y&&(tileVersionMap.set(this,Y),A=!0),R.skipLevelOfDetail&&this.backfaceObjects.length&&(u=this.renderObjects).push.apply(u,this.backfaceObjects),this.tileObjects.length&&(l=this.renderObjects).push.apply(l,this.tileObjects),R.skipLevelOfDetail&&this.renderObjects.push(this.clearStencilObject);for(var W=[],le=0,oe=this.tileset.selectedTrajectories;le<oe.length;le++){var ae=oe[le],se=(h=ae.content.data)===null||h===void 0?void 0:h.object;if(se){var F=se.update(e,r,o,ae,E);W.push(ae.id),F&&(A=!0),this.renderObjects.push(se)}}var ie=W.toString();trajectoryVersionMap.get(this)!==ie&&(trajectoryVersionMap.set(this,ie),A=!0),R.debug&&(c=this.renderObjects).push.apply(c,this.debugObjects);for(var fe=Math.min(0,((g=(m=this.parent)===null||m===void 0?void 0:m.children)!==null&&g!==void 0?g:[]).indexOf(this)),he=fe*1e4,Te=function(j){var te=ce.renderObjects[j],q=j+he;te.traverse(function(ve){(ve instanceof THREE__namespace.Mesh||ve instanceof THREE__namespace.Line||ve instanceof THREE__namespace.Points)&&(ve.renderOrder=q)}),ce.add(te)},ce=this,xe=0;xe<this.renderObjects.length;xe++)Te(xe);return A},t.prototype.dispose=function(){this.disposed=!0,this.tileset.reset(),/^blob\:/.test(this.tileset.id)&&URL.revokeObjectURL(this.tileset.id),this.remove.apply(this,this.children),this.refined=!1,this.loaded=!1,this.refineProgress[0]=this.refineProgress[1]=0},Object.defineProperty(t.prototype,"model",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scene",{get:function(){return this},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayer",{get:function(){return this},enumerable:!1,configurable:!0}),t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.enuToEcef=function(e){return e.applyMatrix4(this.enuToEcefMatrix)},t.prototype.ecefToEnu=function(e){return e.applyMatrix4(this.ecefToEnuMatrix)},t.prototype.localToEcef=function(e){return this.enuToEcef(this.localToEnu(e))},t.prototype.ecefToLocal=function(e){return this.enuToLocal(this.ecefToEnu(e))},t.prototype.localToLla=function(e){return ecefToLla(this.enuToEcef(this.localToEnu(e)))},t.prototype.llaToLocal=function(e){return this.enuToLocal(this.ecefToEnu(llaToEcef(e)))},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},t.prototype.worldToEcef=function(e){return this.localToEcef(this.worldToLocal(e))},t.prototype.ecefToWorld=function(e){return this.localToWorld(this.ecefToLocal(e))},t.prototype.worldToLla=function(e){return this.localToLla(this.worldToLocal(e))},t.prototype.llaToWorld=function(e){return this.localToWorld(this.llaToLocal(e))},Object.defineProperty(t.prototype,"coordinates",{get:function(){scratchVector3$1.setScalar(0);var e=this.localToLla(scratchVector3$1),r=e.x,o=e.y;return[r,o].map(function(s){return(s/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),t.prototype.getTransformMatrix4=function(e){return e===void 0&&(e=new THREE__namespace.Matrix4),e.copy(this.ecefToEnuMatrix),e.premultiply(enuToLocalMatrix),e.premultiply(this.matrixWorld),e},t.prototype.coordinatesToWorldPoint=function(e){var r=new THREE__namespace.Vector3(e.latitude,e.longitude,e.altitude);return this.llaToWorld(r)},t.prototype.worldPointToCoordinates=function(e){return scratchVector3$1.copy(e),this.worldToLla(scratchVector3$1),{latitude:scratchVector3$1.x,longitude:scratchVector3$1.y,altitude:scratchVector3$1.z}},t.prototype.resetBrightness=function(){this.parameter.reset("brightness")},Object.defineProperty(t.prototype,"debug",{get:function(){return this.parameter.resolveValue().tileDebug},set:function(e){this.parameter.set("tileDebug",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLevelOfDetail",{get:function(){return this.parameter.resolveValue().minLevelOfDetail},set:function(e){this.parameter.set("minLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLevelOfDetail",{get:function(){return this.parameter.resolveValue().maxLevelOfDetail},set:function(e){this.parameter.set("maxLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minGeometricError",{get:function(){return this.parameter.resolveValue().minGeometricError},set:function(e){this.parameter.set("minGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxGeometricError",{get:function(){return this.parameter.resolveValue().maxGeometricError},set:function(e){this.parameter.set("maxGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoramaMinGeometricError",{get:function(){return this.parameter.resolveValue().panoramaMinGeometricError},set:function(e){this.parameter.set("panoramaMinGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skipLevelOfDetail",{get:function(){return this.parameter.resolveValue().skipLevelOfDetail},set:function(e){this.parameter.set("skipLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mostDetail",{get:function(){return this.parameter.resolveValue().mostDetail},set:function(e){this.parameter.set("mostDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){return this.parameter.resolveValue().loadSiblings},set:function(e){this.parameter.set("loadSiblings",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadAll",{get:function(){return this.parameter.resolveValue().loadAll},set:function(e){this.parameter.set("loadAll",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.parameter.resolveValue().maxMemoryUsage},set:function(e){this.parameter.set("maxMemoryUsage",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.parameter.resolveValue().maxRequests},set:function(e){this.parameter.set("maxRequests",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"requestOrder",{get:function(){return this.parameter.resolveValue().requestOrder},set:function(e){this.parameter.set("requestOrder",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.parameter.resolveValue().maxScreenSpaceError},set:function(e){this.parameter.set("maxScreenSpaceError",e)},enumerable:!1,configurable:!0}),t}(THREE__namespace.Object3D);function headingToLongitude(n){return-((n-.25)*360+90)/180*Math.PI}function equal(n,t){if(n===t)return!0;if(n&&t&&typeof n=="object"&&typeof t=="object"){if(n.constructor!==t.constructor)return!1;var e,r,o;if(Array.isArray(n)){if(e=n.length,e!=t.length)return!1;for(r=e;r--!==0;)if(!equal(n[r],t[r]))return!1;return!0}if(n.constructor===RegExp)return n.source===t.source&&n.flags===t.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===t.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===t.toString();if(o=Object.keys(n),e=o.length,e!==Object.keys(t).length)return!1;for(r=e;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=e;r--!==0;){var s=o[r];if(!equal(n[s],t[s]))return!1}return!0}return n!==n&&t!==t}function isNumber(n){return typeof n=="number"}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],o=Math.floor(Number(r));if(!isNaN(o)&&isFinite(o))return{workCode:e,panoIndex:o}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var error_invalid_input=function(){return new Error("Invalid input.")},error_invalid_certificate=function(){return new Error("Invalid certificate.")},error_invalid_signature=function(){return new Error("Invalid signature.")},error_date_expired=function(n){return new Error("date(".concat(n.toString(),") expired."))},error_host_not_allowed=function(n){return new Error("host(".concat(JSON.stringify(n),") is not allowed."))};function ObjectOmit(n,t){for(var e={},r=0,o=Object.keys(n);r<o.length;r++){var s=o[r];t.indexOf(s)===-1&&(e[s]=n[s])}return e}function jsonStableNoneNumberStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableNoneNumberStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],p=jsonStableNoneNumberStrinfiy_(n[c],!0);p!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+p),s++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function jsonStableNoneNumberStrinfiy(n){return String(jsonStableNoneNumberStrinfiy_(n,!1))}function verify(n){var t,e,r;if(Array.isArray(n)){var o=void 0,s,u;if(n.length<=0)return error_invalid_input();for(var l=function(_){var S=verify(n[_]);if(S instanceof Error)return{value:S};if(!o)o=S.issuer;else if(o!==S.issuer)return{value:error_invalid_certificate()};s?S.expire.getTime()<s.getTime()&&(s=S.expire):s=S.expire,u?u=u.filter(function(R){return S.allowHosts.indexOf(R)!==-1}):u=S.allowHosts},c=0;c<n.length;c++){var p=l(c);if(typeof p=="object")return p.value}return deepFreeze({issuer:o,expire:s,allowHosts:u})}var f=JSON.parse(n),d=typeof location!="undefined"?location.hostname:"",h=Date.now();if(typeof f!="object")return error_invalid_input();var m=new Date(typeof f.expire_at=="string"&&/^\d+$/.test(f.expire_at)?Number(f.expire_at):f.expire_at),g=Array.isArray(f.allow_hosts)?f.allow_hosts:[];if(d.length===0||isIPDomain(d)||BUILDIN_ALLOW_HOST.filter(function(_){return matchDomain(_,d)}).length>0){var A=String((t=f.certificate)!==null&&t!==void 0?t:"");if(A){var E=new X509;return E.readCertPEM(A),deepFreeze({issuer:E.getSubjectString(),expire:m,allowHosts:g})}return deepFreeze({issuer:"none",expire:m,allowHosts:g})}var v=String((e=f.certificate)!==null&&e!==void 0?e:"");if(!v)return error_invalid_certificate();var y=new X509;y.readCertPEM(v);var b=String((r=f._signature)!==null&&r!==void 0?r:"");if(!b)return error_invalid_signature();var T=jsonStableNoneNumberStrinfiy(ObjectOmit(f,["_signature"]));return verifyMessage(T,b,y)===!1?error_invalid_signature():h<m.getTime()?g.filter(function(_){return matchDomain(_,d)}).length===0?error_host_not_allowed(d):deepFreeze({issuer:y.getSubjectString(),expire:m,allowHosts:g}):error_date_expired(m)}var PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(1,1,1),scratchMatrix4$2=new THREE__namespace.Matrix4,scratchObserverBox$1=new THREE__namespace.Box3,workRawMapping=new WeakMap,needsUpdateWorkCodeSet=new Set,Work=function(){function n(t,e){this.name="",this.baseURL="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],this.observerBox=new THREE__namespace.Box3,this.issuer="none",this.raw={works:[""],options:""},this.transform=new THREE__namespace.Matrix4;{var r=this;this.options={get transform(){return r.transform},set transform(s){r.transform.copy(s)}}}if(t!==null)if("up"in t&&typeof t.up=="string"&&"down"in t&&typeof t.down=="string"&&"right"in t&&typeof t.right=="string"&&"left"in t&&typeof t.left=="string"&&"front"in t&&typeof t.front=="string"&&"back"in t&&typeof t.back=="string"&&"size"in t&&typeof t.size=="number")parsePanoWork(t,this);else{var o=parse(t,e,this);if(o instanceof Error)throw new Error("[PARSE FAILED]: "+o.message+`
|
|
1025
1025
|
Error work input:
|
|
1026
1026
|
`+JSON.stringify(t))}else parseNull(t,this)}return n.prototype.toJSON=function(){return this.raw},n.parse=parseWork,n}();function getType(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function deepMerge(n,t){var e=getType(n),r=getType(t);if(r==="null")return n;if(r==="value")return t;if(r!==e)return JSON.parse(JSON.stringify(t));if(r==="array")for(var o=0;o<t.length;o++)n[o]=deepMerge(n[o],t[o]);else if(r==="dict")for(var s in t)n[s]=deepMerge(n[s],t[s]);return n}function startWithString(n,t){return n.indexOf(t)===0}function urlWithParseOptions(n,t,e,r){var o,s=t;if(r.jsonp===!0){s=t.replace(/([\?\#].*)?$/i,"");var u=sha256("".concat(s)).slice(0,7);s="".concat(s,".").concat(u,".jsonp")}if(r.shortPath===!0){var l=s.replace(n,"").split("."),c=(o=l.shift())!==null&&o!==void 0?o:"",p=l.join(".");s=pathJoin(n,sha256(c))+(p?"."+p:"")}var f=s.replace(n,"");return r.baseURL&&(s=pathJoin(r.baseURL,f)),r.traverseResource&&r.traverseResource({origin:t,absolute:s,relative:f,type:e}),s}function panoURL(n,t,e,r,o){var s=e;return isAbsoluteURL(e)||(t&&(t=pathJoin(t,String(r))),s=pathJoin(t,s)),isAbsoluteURL(s)||(s=pathJoin(n,s)),startWithString(s,n)||console.warn("".concat(s," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,s,"panorama",o)}function fileURL(n,t,e){var r=t;return isAbsoluteURL(r)||(r=pathJoin(n,t)),startWithString(r,n)||console.warn("".concat(r," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,r,"model",e)}function textureURL$1(n,t,e,r){var o=t;return isAbsoluteURL(o)||(o=pathJoin(e,o)),isAbsoluteURL(o)||(o=pathJoin(n,o)),startWithString(o,n)||console.warn("".concat(o," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,o,"texture",r)}var getTileLevel=function(n){for(var t=10;t>=0;t--){var e=512*Math.pow(2,t);if(e<=n)return t}return null},sortTile=function(n){n=n.slice().sort(function(u,l){return u.level-l.level});for(var t=[],e=0,r=n;e<r.length;e++){var o=r[e];if(t.length===0){t.push(o);continue}var s=t[t.length-1];if(o.level>s.level){t.push(o);continue}if(o.size>s.size){t[t.length-1]=o;continue}}return t};function parse(n,t,e){for(var r,o,s,u,l,c,p,f,d,h,m,g,A,E,v,y,b,T,_,S,R=JSON.stringify(t),M=[],H=0,B=[].concat(n);H<B.length;H++){var C=B[H];C instanceof Work?M.push.apply(M,C.raw.works):typeof C=="string"?M.push(C):M.push(JSON.stringify(C))}var w=verify(M);if(w instanceof Error)return w;Array.isArray(t.transform)?e.transform.fromArray(t.transform):t.transform&&e.transform.copy(t.transform),n=M.map(function(j){return JSON.parse(j)}).reduce(function(j,te){return deepMerge(j,te)}),defineProperty(e,"raw",{configurable:!1,get:function(){return{works:M,options:R}}});{var I;if(t.workCode&&(typeof t.workCode=="string"?I=t.workCode:typeof t.workCode=="function"&&(I=t.workCode(n))),typeof I=="undefined"&&(I=String(n.resource_code||n.basic_code||n.vr_code||n.code||n.project_id||n.work_code||n.workCode)),typeof I=="undefined")return new Error("WorkCode never matched.");defineProperty(e,"workCode",{configurable:!1,get:function(){return I}})}{var O=String(n.name);defineProperty(e,"name",{configurable:!1,get:function(){return O}})}if(w instanceof Error)return w;defineProperty(e,"issuer",{configurable:!1,get:function(){return w.issuer}}),defineProperty(e,"expire",{configurable:!1,get:function(){return w.expire}}),defineProperty(e,"allowHosts",{configurable:!1,get:function(){return w.allowHosts}});var F=(r=n.base_url)!==null&&r!==void 0?r:"";if(F&&F[F.length-1]!=="/"&&(F+="/"),e.baseURL=(o=t.baseURL)!==null&&o!==void 0?o:F,w instanceof Error)return w;if(n.model){var N={work:e,layers:[]},z;n.model.file?z=fileURL(F,n.model.file,t):n.model.file_url&&(z=fileURL(F,n.model.file_url,t)),defineProperty(N,"file",{configurable:!1,get:function(){return z}});var J;n.model.textureBase?J=textureURL$1(F,"",n.model.textureBase,t):n.model.material_base_url?J=textureURL$1(F,"",n.model.material_base_url,t):N.file&&(J=N.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),defineProperty(N,"textureBase",{configurable:!1,get:function(){return J}});var G;Array.isArray(n.model.textures)?(G=n.model.textures.map(function(j){var te,q;return textureURL$1(F,j,(q=(te=n.model.textureBase)!==null&&te!==void 0?te:n.model.material_base_url)!==null&&q!==void 0?q:"",t)}),Object.freeze(G)):Array.isArray(n.model.material_textures)&&(G=n.model.material_textures.map(function(j){var te,q;return textureURL$1(F,j,(q=(te=n.model.textureBase)!==null&&te!==void 0?te:n.model.material_base_url)!==null&&q!==void 0?q:"",t)}),Object.freeze(G)),defineProperty(N,"textures",{configurable:!1,get:function(){return G}});var Q=[];if(Array.isArray(n.model.tiles))for(var U=0,V=n.model.tiles;U<V.length;U++){var X=V[U];X&&(X.tileset||X.tileset_url)&&Q.push(Object.freeze({type:(s=X.type)!==null&&s!==void 0?s:"mesh",name:(u=X.name)!==null&&u!==void 0?u:"",upAxis:(c=(l=X.upAxis)!==null&&l!==void 0?l:X.up_axis)!==null&&c!==void 0?c:"-Y",tileset:fileURL(F,X.tileset||X.tileset_url,t)}))}else n.model.tiles&&(n.model.tiles.tileset||n.model.tiles.tileset_url)&&Q.push(Object.freeze({type:(p=n.model.tiles.type)!==null&&p!==void 0?p:"mesh",name:(f=n.model.tiles.name)!==null&&f!==void 0?f:"lod",upAxis:(h=(d=n.model.tiles.upAxis)!==null&&d!==void 0?d:n.model.tiles.up_axis)!==null&&h!==void 0?h:"-Y",tileset:fileURL(F,n.model.tiles.tileset||n.model.tiles.tileset_url,t)}));if(Array.isArray(n.model.layers))for(var Z=0,ee=n.model.layers;Z<ee.length;Z++){var K=ee[Z];K&&(K.tileset||K.tileset_url)&&Q.push(Object.freeze({type:(m=K.type)!==null&&m!==void 0?m:"mesh",name:(g=K.name)!==null&&g!==void 0?g:"",upAxis:(A=K.upAxis)!==null&&A!==void 0?A:K.up_axis,tileset:fileURL(F,K.tileset||K.tileset_url,t)}))}Object.freeze(Q),defineProperty(N,"layers",{configurable:!1,get:function(){return Q}}),defineProperty(e,"model",{configurable:!1,get:function(){if(N.file||N.layers.length)return N}})}if(w instanceof Error)return w;var re=new Set,Y=new Set;{var W=[];if(n.observers&&Array.isArray(n.observers)){var le=[];n.panorama&&(Array.isArray(n.panorama)?le=n.panorama:Array.isArray(n.panorama.list)?le=n.panorama.list:Array.isArray(n.panorama.info)&&(le=n.panorama.info));for(var oe=function(j){var te={getResolvedPosition:function(Ee){return Ee.copy(this.position).applyMatrix4(this.work.transform),Ee},getResolvedStandingPosition:function(Ee){return Ee.copy(this.standingPosition).applyMatrix4(this.work.transform),Ee},getResolvedQuaternion:function(Ee){return Ee.setFromRotationMatrix(scratchMatrix4$2.makeRotationFromQuaternion(this.quaternion).premultiply(this.work.transform)),Ee},getResolvedMatrix:function(Ee){return Ee.copy(this.matrix).premultiply(this.work.transform),Ee}},q=n.observers[j];if(!q)return"break";var ve=le[j];if(!ve)return"break";q=Object.assign({},q,ve,{active:q.active!==!1&&ve.active!==!1}),defineProperty(te,"work",{configurable:!1,get:function(){return e}}),defineProperty(te,"index",{configurable:!1,get:function(){return j}}),Y.add(j),defineProperty(te,"panoIndex",{configurable:!1,get:function(){return j}});var me=panoStringify({workCode:e.workCode,panoIndex:j});re.add(me),defineProperty(te,"panoId",{configurable:!1,get:function(){return me}});var ge=Object.freeze({workCode:e.workCode,panoIndex:j});defineProperty(te,"pano",{configurable:!1,get:function(){return ge}});var Ue=q.active!==!1;defineProperty(te,"active",{configurable:!1,get:function(){return Ue}});var Ke=q.loadable===!0;defineProperty(te,"loadable",{configurable:!1,get:function(){return Ke}});var _e=q.derived_id;defineProperty(te,"derivedId",{configurable:!1,get:function(){return _e}});var we=q.derived_id_str;defineProperty(te,"derivedIdStr",{configurable:!1,get:function(){return we}});var ne=(_=(b=(v=(E=n.panorama)===null||E===void 0?void 0:E.pano_high_cube_base_url)!==null&&v!==void 0?v:(y=n.panorama)===null||y===void 0?void 0:y.pano_cube_base_url)!==null&&b!==void 0?b:(T=n.panorama)===null||T===void 0?void 0:T.base_url)!==null&&_!==void 0?_:"",pe={up:panoURL(F,ne,q.images?q.images.up:q.up,j,t),down:panoURL(F,ne,q.images?q.images.down:q.down,j,t),right:panoURL(F,ne,q.images?q.images.right:q.right,j,t),left:panoURL(F,ne,q.images?q.images.left:q.left,j,t),front:panoURL(F,ne,q.images?q.images.front:q.front,j,t),back:panoURL(F,ne,q.images?q.images.back:q.back,j,t)};if(q.size_list)pe.sizeList=q.size_list.slice();else{var Be=getImageSizeFromURL(pe.up);if(Be&&(pe.sizeList=[Be],q.tiles))for(var Se=q.tiles.slice().sort(function(Ee,Ye){return Ee-Ye}).map(function(Ee){return 512*Math.pow(2,Ee)}),ke=0,Me=Se;ke<Me.length;ke++){var de=Me[ke];de>Be&&pe.sizeList.push(de)}}var ye=void 0;if(q.images)ye=q.images.tiles;else if(Array.isArray(q.size_list)){var He=q.size_list.slice().sort(function(Ee,Ye){return Ee-Ye});if(He[0]){var Ie=getTileLevel(He[0]);if(Ie)for(var Qe=Ie-1;Qe>=0;Qe--)He.unshift(512*Math.pow(2,Qe));ye=He}}else if(Array.isArray(q.tiles)&&(ye=q.tiles.slice(),typeof ye[0]=="number")){for(var Je=ye[0];--Je>=0;)ye.unshift(Je);ye=ye.sort(function(Ee,Ye){return Ee-Ye}).map(function(Ee){return 512*Math.pow(2,Ee)})}if(ye){for(var Le=[],Ne=0,ft=ye;Ne<ft.length;Ne++){var de=ft[Ne];if(typeof de=="number"){var ze=getTileLevel(de);if(typeof ze!="number")continue;var it=getImageSizeFromURL(pe.front);if(!it)continue;if(de>it){var Re=replaceImageSize(pe.up,de),dt=replaceImageSize(pe.down,de),Ce=replaceImageSize(pe.right,de),Fe=replaceImageSize(pe.left,de),ot=replaceImageSize(pe.front,de),je=replaceImageSize(pe.back,de);Le.push(Object.freeze({level:ze,size:de,scale:1,up:Re,down:dt,right:Ce,left:Fe,front:ot,back:je}))}else{var Re=pe.up,dt=pe.down,Ce=pe.right,Fe=pe.left,ot=pe.front,je=pe.back;Le.push(Object.freeze({level:ze,size:it,scale:de/it,up:Re,down:dt,right:Ce,left:Fe,front:ot,back:je}))}}else{var ze=de.level;if(typeof ze!="number")continue;var Be=de.size;if(typeof Be!="number")continue;var Re=panoURL(F,ne,de.up,j,t),dt=panoURL(F,ne,de.down,j,t),Ce=panoURL(F,ne,de.right,j,t),Fe=panoURL(F,ne,de.left,j,t),ot=panoURL(F,ne,de.front,j,t),je=panoURL(F,ne,de.back,j,t);Le.push(Object.freeze({level:ze,size:Be,scale:(S=de.scale)!==null&&S!==void 0?S:1,up:Re,down:dt,right:Ce,left:Fe,front:ot,back:je}))}}Le=sortTile(Le),Object.freeze(Le),defineProperty(pe,"tiles",{configurable:!1,get:function(){return Le}})}Object.freeze(pe),defineProperty(te,"images",{configurable:!1,get:function(){return pe}});var Xe=new THREE__namespace.Vector3;if(q.position instanceof THREE__namespace.Vector3)Xe.copy(q.position);else if(Array.isArray(q.position))Xe.fromArray(q.position);else return"break";Object.freeze(Xe),e.observerBox.expandByPoint(Xe),defineProperty(te,"position",{configurable:!1,get:function(){return Xe}});var Oe=new THREE__namespace.Vector3;if(q.standingPosition instanceof THREE__namespace.Vector3)Oe.copy(q.standingPosition);else if(Array.isArray(q.standingPosition))Oe.fromArray(q.standingPosition);else if(q.standing_position instanceof THREE__namespace.Vector3)Oe.copy(q.standing_position);else if(Array.isArray(q.standing_position))Oe.fromArray(q.standing_position);else return"break";Object.freeze(Oe),e.observerBox.expandByPoint(Oe),defineProperty(te,"standingPosition",{configurable:!1,get:function(){return Oe}});var be=new THREE__namespace.Quaternion;if(q.quaternion instanceof THREE__namespace.Quaternion)be.copy(q.quaternion);else if(Array.isArray(q.quaternion))be.fromArray(q.quaternion);else if(q.quaternion){var st=q.quaternion,At=st.x,yt=st.y,We=st.z,De=st.w;be.set(At,yt,We,De)}else return"break";Object.freeze(be),defineProperty(te,"quaternion",{configurable:!1,get:function(){return be}});var Ze=new THREE__namespace.Matrix4().compose(Xe,be,PANO_TEXTURE_SCALE);Object.freeze(Ze),defineProperty(te,"matrix",{configurable:!1,get:function(){return Ze}});var nt=0;isNumber(q.floorIndex)?nt=q.floorIndex:isNumber(q.floor_index)?nt=q.floor_index:isNumber(q.floor)&&(nt=q.floor),defineProperty(te,"floorIndex",{configurable:!1,get:function(){return nt}});var Ve;q.video&&(Ve={source:"",matrix:new THREE__namespace.Matrix4,size:new THREE__namespace.Vector2},typeof q.video.source=="string"&&(Ve.source=q.video.source),q.video.matrix instanceof THREE__namespace.Matrix4?Ve.matrix.copy(q.video.matrix):Array.isArray(q.video.matrix)&&Ve.matrix.fromArray(q.video.matrix),q.video.size instanceof THREE__namespace.Vector2?Ve.size.copy(q.video.size):Array.isArray(q.video.size)&&Ve.size.fromArray(q.video.size),Object.freeze(Ve)),defineProperty(te,"video",{configurable:!1,get:function(){return Ve}}),Array.isArray(q.accessibleNodes)?(te.accessibleNodes=q.accessibleNodes.slice(),te.accessibleIds=q.accessibleNodes.map(function(Ee){return panoStringify({workCode:e.workCode,panoIndex:Ee})})):Array.isArray(q.accessible_nodes)&&(te.accessibleNodes=q.accessible_nodes.slice(),te.accessibleIds=q.accessible_nodes.map(function(Ee){return panoStringify({workCode:e.workCode,panoIndex:Ee})})),Array.isArray(q.visibleNodes)?(te.visibleNodes=q.visibleNodes.slice(),te.visibleIds=q.visibleNodes.map(function(Ee){return panoStringify({workCode:e.workCode,panoIndex:Ee})})):Array.isArray(q.visible_nodes)&&(te.visibleNodes=q.visible_nodes.slice(),te.visibleIds=q.visible_nodes.map(function(Ee){return panoStringify({workCode:e.workCode,panoIndex:Ee})})),W[j]=te},ae=0;ae<n.observers.length;ae++){var se=oe(ae);if(se==="break")break}}for(var ie=function(j){if(j.accessibleIds){var ve=j.accessibleIds.filter(function(ne){return re.has(ne)});Object.freeze(ve),defineProperty(j,"accessibleIds",{configurable:!1,get:function(){return ve}})}else{for(var te=[],q=0;q<W.length;q++)W[q]!==j&&(Math.abs(W[q].position.y-j.position.y)>3||W[q].position.distanceTo(j.position)>10||te.push(W[q].panoId));Object.freeze(te),defineProperty(j,"accessibleIds",{configurable:!1,get:function(){return te}})}if(j.accessibleNodes){var ge=j.accessibleNodes.filter(function(ne){return Y.has(ne)});Object.freeze(ge),defineProperty(j,"accessibleNodes",{configurable:!1,get:function(){return ge}})}else{for(var me=[],q=0;q<W.length;q++)W[q]!==j&&(Math.abs(W[q].position.y-j.position.y)>3||W[q].position.distanceTo(j.position)>10||me.push(W[q].panoIndex));Object.freeze(me),defineProperty(j,"accessibleNodes",{configurable:!1,get:function(){return me}})}if(j.visibleIds){var Ke=j.visibleIds.filter(function(ne){return re.has(ne)});Object.freeze(Ke),defineProperty(j,"visibleIds",{configurable:!1,get:function(){return Ke}})}else{var Ue=j.accessibleIds.slice();Object.freeze(Ue),defineProperty(j,"visibleIds",{configurable:!1,get:function(){return Ue}})}if(j.visibleNodes){var we=j.visibleNodes.filter(function(ne){return Y.has(ne)});Object.freeze(we),defineProperty(j,"visibleNodes",{configurable:!1,get:function(){return we}})}else{var _e=j.accessibleNodes.slice();Object.freeze(_e),defineProperty(j,"visibleNodes",{configurable:!1,get:function(){return _e}})}},fe=0,he=W;fe<he.length;fe++){var Te=he[fe];ie(Te)}Object.freeze(W),defineProperty(e,"observers",{configurable:!1,get:function(){return W}})}if(w instanceof Error)return w;if(n.initial){if((n.initial.mode==="Panorama"&&e.observers.length===0||n.initial.mode==="Floorplan"||n.initial.mode==="Topview"||n.initial.mode==="Model"||n.initial.mode==="Mapview"||n.initial.mode==="DepthPanorama")&&(e.initial.mode=n.initial.mode),isNumber(n.initial.latitude)&&(e.initial.latitude=n.initial.latitude),isNumber(n.initial.longitude)?e.initial.longitude=n.initial.longitude:isNumber(n.initial.heading)&&(e.initial.longitude=headingToLongitude(n.initial.heading)),isNumber(n.initial.fov)&&(e.initial.fov=n.initial.fov),e.observers.length>0){var ce=void 0;isNumber(n.initial.panoIndex)?ce=n.initial.panoIndex:isNumber(n.initial.pano_index)?ce=n.initial.pano_index:isNumber(n.initial.pano)&&(ce=n.initial.pano),typeof ce=="number"&&(ce=clamp$1(ce,0,e.observers.length-1),e.initial.panoIndex=ce)}if(isNumber(n.initial.distance)&&(e.initial.distance=n.initial.distance),Array.isArray(n.initial.offset)){var xe=[0,0,0].map(function(j,te){var q=Number(n.initial.offset[te]);return isNaN(q)||!isFinite(q)?0:q});e.initial.offset=new THREE__namespace.Vector3().fromArray(xe)}else typeof n.initial.offset=="object"&&typeof n.initial.offset.x=="number"&&typeof n.initial.offset.y=="number"&&typeof n.initial.offset.z=="number"&&(e.initial.offset=new THREE__namespace.Vector3(n.initial.offset.x,n.initial.offset.y,n.initial.offset.z));!e.initial.mode&&typeof e.initial.panoIndex=="number"&&(e.initial.mode="Panorama")}return w instanceof Error?w:(workRawMapping.set(e,{works:M,options:R}),e)}function parseNull(n,t){return t.issuer="null",deepFreeze(t),workRawMapping.set(t,{works:["null"],options:"{}"}),t}function parsePanoWork(n,t){var e;t.issuer="null",t.allowHosts=["*"],t.workCode=(e=n.code)!==null&&e!==void 0?e:createUuid();var r=[n.size],o=[],s=getTileLevel(r[0]);if(s)for(var u=s-1;u>=0;u--)r.unshift(512*Math.pow(2,u));for(var l=0,c=r;l<c.length;l++){var p=c[l],f=getTileLevel(p);f&&o.push({level:f,size:n.size,scale:p/n.size,up:n.up,down:n.down,right:n.right,left:n.left,front:n.front,back:n.back})}var d={up:n.up,down:n.down,right:n.right,left:n.left,front:n.front,back:n.back,sizeList:r};o&&(d.tiles=o);var h=new THREE__namespace.Vector3(0,1.5,0),m=new THREE__namespace.Quaternion(0,1,0,0),g=new THREE__namespace.Vector3(0,0,0),A=new THREE__namespace.Matrix4().compose(h,m,PANO_TEXTURE_SCALE),E={work:t,accessibleIds:[],accessibleNodes:[],visibleIds:[],visibleNodes:[],active:!0,floorIndex:0,images:d,index:0,loadable:!1,pano:{workCode:t.workCode,panoIndex:0},panoId:"".concat(t.workCode,"[0]"),panoIndex:0,position:h,quaternion:m,standingPosition:g,matrix:A,getResolvedPosition:function(v){return v.copy(this.position).applyMatrix4(this.work.transform),v},getResolvedStandingPosition:function(v){return v.copy(this.standingPosition).applyMatrix4(this.work.transform),v},getResolvedQuaternion:function(v){return v.setFromRotationMatrix(scratchMatrix4$2.makeRotationFromQuaternion(this.quaternion).premultiply(this.work.transform)),v},getResolvedMatrix:function(v){return v.copy(this.matrix).premultiply(this.work.transform),v}};return t.observers=[E],deepFreeze(t),workRawMapping.set(t,{works:[JSON.stringify(n)],options:"{}"}),t}function parseWork(n,t){typeof n=="string"&&n.trim()[0]==="{"&&(n=JSON.parse(n));var e=workRawMapping.get(n);if(e){if(t&&!equal(JSON.parse(e.options),t))throw new Error("[PARSE FAILED]: work is parsed with different options.");return n}else try{return new Work(n,t!=null?t:{})}catch(r){throw new Error("[PARSE FAILED]: "+r.message+`
|
|
1027
1027
|
Error work input:
|
|
1028
|
-
`+JSON.stringify(n))}}function createWorks(n){for(var t={},e=new THREE__namespace.Box3,r=[],o={},s=0,u=n;s<u.length;s++){var l=u[s],c=t[l.workCode];c||(c=t[l.workCode]=new THREE__namespace.Matrix4().copy(l.transform));for(var p=0,f=l.observers;p<f.length;p++){var d=f[p],h={isResolved:!0,active:d.active,accessibleIds:d.accessibleIds,visibleIds:d.visibleIds,accessibleNodes:d.accessibleNodes,visibleNodes:d.visibleNodes,floorIndex:d.floorIndex,images:d.images,index:d.index,panoIndex:d.panoIndex,loadable:d.loadable,panoId:d.panoId,pano:d.pano,work:d.work,derivedId:d.derivedId,video:d.video,position:d.getResolvedPosition(new THREE__namespace.Vector3),standingPosition:d.getResolvedStandingPosition(new THREE__namespace.Vector3),quaternion:d.getResolvedQuaternion(new THREE__namespace.Quaternion),matrix:d.getResolvedMatrix(new THREE__namespace.Matrix4)};Object.freeze(h),r.push(h),o[h.panoId]=h}scratchObserverBox$1.copy(l.observerBox).applyMatrix4(l.transform),e.union(scratchObserverBox$1)}Object.freeze(r);for(var m=n.slice(),g={},A=0,E=m;A<E.length;A++){var l=E[A];g[l.workCode]=l}return Object.freeze(Object.assign(m,{get initial(){return m.length>0?m[0].initial:{work:{}}},get resolvedObservers(){return r},get resolvedObserverBox(){return e},getWork:function(v){return g[v]},getResolvedObserver:function(v){var y,b;return isPanoId(v)?o[v]:typeof v=="number"?o[panoStringify({workCode:(b=(y=n[0])===null||y===void 0?void 0:y.workCode)!==null&&b!==void 0?b:"",panoIndex:v})]:o[panoStringify(v)]},update:function(){for(var v=0,y=m;v<y.length;v++){var b=y[v],T=b.transform,_=t[b.workCode];_?_.equals(T)||(_.copy(T),needsUpdateWorkCodeSet.add(b.workCode)):(t[b.workCode]=new THREE__namespace.Matrix4().copy(T),needsUpdateWorkCodeSet.add(b.workCode))}if(needsUpdateWorkCodeSet.size>0){e.makeEmpty();for(var S=0,R=m;S<R.length;S++){var b=R[S];scratchObserverBox$1.copy(b.observerBox).applyMatrix4(b.transform),e.union(scratchObserverBox$1)}for(var M=0,H=r;M<H.length;M++){var B=H[M];if(needsUpdateWorkCodeSet.has(B.work.workCode)){var C=B.work.observers[B.index];C.getResolvedPosition(B.position),C.getResolvedStandingPosition(B.standingPosition),C.getResolvedQuaternion(B.quaternion),C.getResolvedMatrix(B.matrix)}}needsUpdateWorkCodeSet.clear()}}}))}var fetcherMap=new Map;function getFetcher(n){var t=fetcherMap.get(n);if(t)return t;throw new Error("fetcher never registered.")}function registerFetcher(n,t){return fetcherMap.set(n,t)}function isThirdPersonMode(n){switch(n){case"Floorplan":return!0;case"Mapview":return!0;default:return!1}}function isFristPersonMode(n){switch(n){case"Panorama":return!0;case"VRPanorama":return!0;case"XRPanorama":return!0;case"Model":return!0;default:return!1}}var scratchBoundingBox3=new THREE__namespace.Box3,scratchModelBoundingBox3=new THREE__namespace.Box3,ModelScene=function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.needsRender=!0,e.autoRefine=!0,e.boundingBox=new THREE__namespace.Box3,e.loaded=!1,e.refined=!1,e.refineProgress=[0,0],e.parameter=new Parameter;var r=e.models=[],o=e;return defineProperty(r,"autoUpdate",{get:function(){return o.autoRefine},set:function(s){o.autoRefine=s}}),defineProperty(r,"bounding",{get:function(){return o.boundingBox}}),defineProperty(r,"loaded",{get:function(){return o.loaded}}),defineProperty(r,"refined",{get:function(){return o.refined}}),defineProperty(r,"refineProgress",{get:function(){return o.refineProgress}}),defineProperty(r,"cacheCameras",{get:function(){return o.parameter.resolveValue().cacheCameras},set:function(s){o.parameter.set("cacheCameras",s)}}),defineProperty(r,"intersectRaycaster",{value:function(s){return o.intersectRaycaster(s)}}),defineProperty(r,"setMaterial",{value:function(s){return o.setMaterial(s)}}),defineProperty(r,"getMaterial",{value:function(){return o.getMaterial()}}),defineProperty(r,"resetBrightness",{value:function(){return o.resetBrightness()}}),e}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.prototype.add.apply(this,e),this.models.length=0;for(var o=0,s=this.children;o<s.length;o++){var u=s[o];u instanceof Model&&u.outdated!==!0&&this.models.push(u)}return this.needsRender=!0,this},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.prototype.remove.apply(this,e),this.models.length=0;for(var o=0,s=this.children;o<s.length;o++){var u=s[o];u instanceof Model&&u.outdated!==!0&&this.models.push(u)}scratchBoundingBox3.makeEmpty();for(var l=0,c=this.children;l<c.length;l++){var u=c[l];u instanceof Model&&(scratchModelBoundingBox3.copy(u.boundingBox).applyMatrix4(u.matrix),scratchBoundingBox3.union(scratchModelBoundingBox3))}return this.boundingBox.copy(scratchBoundingBox3),this.needsRender=!0,this},t.prototype.intersectRaycaster=function(e,r,o){o===void 0&&(o=!0);var s=this.children.filter(function(d){return d instanceof Model}),u;if(s.length===0)u=[];else if(s.length===1)u=s[0].intersectRaycaster(e,r,o);else{u=[];for(var l=0,c=s;l<c.length;l++){var p=c[l];if(p.visible){var f=p.intersectRaycaster(e,r,!1);f.length&&u.push.apply(u,f)}}o&&u.sort(function(d,h){return d.distance-h.distance})}return u},t.prototype.update=function(e,r){var o=!1;scratchBoundingBox3.makeEmpty(),this.loaded=this.models.length>0,this.refined=this.models.length>0,this.refineProgress[0]=this.refineProgress[1]=0,this.models.length=0;for(var s=0,u=this.children;s<u.length;s++){var l=u[s];if(l instanceof Model)if(l.outdated){l.autoRefine=!1;var c=l.update(e,r,this);c&&(o=!0)}else{this.models.push(l),l.autoRefine=this.autoRefine;var c=l.update(e,r,this);c&&(o=!0),l.loaded===!1&&(this.loaded=!1),l.refined===!1&&(this.refined=!1),this.refineProgress[0]+=l.refineProgress[0],this.refineProgress[1]+=l.refineProgress[1],scratchModelBoundingBox3.copy(l.boundingBox).applyMatrix4(l.matrix),scratchBoundingBox3.union(scratchModelBoundingBox3)}else if(l.update){var c=l.update(e,r,this);c&&(o=!0)}}return this.boundingBox.copy(scratchBoundingBox3),this.needsRender=o,o},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.models;e<r.length;e++){var o=r[e];o.resetBrightness()}},t}(THREE__namespace.Scene),scratchVector3=new THREE__namespace.Vector3,scratchMatrix4$1=new THREE__namespace.Matrix4;function getEcefToEnuMatrixFromUpAxis(n,t,e){switch(n){case"Z":e.identity();break;case"Y":e.fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);break;case"-Y":e.fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]);break;case"WGS84":case"GCJ02":case"BD09":getEcefToEnuMatrix(t,e);break;default:e.identity();break}return e}function getExt(n){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);if(t){var e=String(t[1]).trim().split(".").slice(1).reverse()[0];if(e)return e}return""}function loadViewLayer(n,t){var e,r=n.tileset,o=n.name,s=n.type,u=r.split("#"),l=u[0],c=u[1],p=(e=(c||l).split("?")[1])!==null&&e!==void 0?e:"";return t.fetcher.ajax(r,{responseType:"text"}).catch(function(f){return{error:f,body:JSON.stringify({asset:{version:"0.0"},geometricError:0,root:{geometricError:0}})}}).then(function(f){var d,h="error"in f?f.error:null,m=normalizeTilesetHeader(JSON.parse(f.body),r),g=m.root,A=m.rootMeta,E=A===void 0?{}:A,v=n.upAxis;E.upAxis&&E.upAxis!==v&&(v=E.upAxis),"lodVersion"in m&&(v="-Y","floorInfo"in m&&(m.properties=m.properties||{},m.properties.floorInfo=m.floorInfo.map(function(R){return{ground:-R.ground,height:R.height}}),delete m.floorInfo),m.asset.tilesetVersion=String(m.lodVersion),delete m.lodVersion);var y=g.boundingVolume?makeBoundingVolume(g.boundingVolume):void 0;y&&g.transform&&y.applyMatrix4(scratchMatrix4$1.fromArray(g.transform));var b=null,T=new THREE__namespace.Matrix4,_=new THREE__namespace.Matrix4;E.coordinate?(b=E.coordinate.ground_height,T.fromArray(E.coordinate.pose_ecef_to_enu),_.fromArray(E.coordinate.pose_enu_to_ecef)):(y?y.getCenter(scratchVector3):scratchVector3.setScalar(0),getEcefToEnuMatrixFromUpAxis(v,scratchVector3,T),_.getInverse(T)),m.root={refine:(d=g.refine)!==null&&d!==void 0?d:"REPLACE",geometricError:g.geometricError,transform:scratchMatrix4$1.copy(T).premultiply(enuToLocalMatrix).toArray(),boundingVolume:y?y.toJson():void 0,children:[g]};var S=new Tile3DModel(m,{name:o,light:t.light,type:s,upAxis:v,referer:r,search:p,fetcher:t.fetcher,groundHeight:b,enuToEcefMatrix:_,ecefToEnuMatrix:T,error:h});return S})}function loadViewLayers(n,t){var e,r,o=n.layers.slice();if(n.file){for(var s=!1,u=0,l=o;u<l.length;u++){var c=l[u];if(c.type==="mesh"){s=!0;break}}if(s===!1){var p=getExt(n.file)||"at3d",f=JSON.stringify({asset:{version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],content:{uri:n.file},extras:(e={},e[p]={textureBaseUri:n.textureBase,textureArray:n.textures,textureOptions:(r=t.textureOptions)!==null&&r!==void 0?r:{}},e)}});o.push({name:"fallback",type:"mesh",upAxis:"Z",tileset:URL.createObjectURL(new Blob([f],{type:"application/json"}))})}}return o.map(function(d){return loadViewLayer(d,{fetcher:t.fetcher,light:t.light}).then(function(h){return t.onError&&(h.error&&t.onError(h.error),h.onError=t.onError),h})})}var BufferGeometryUtils={computeTangents:function(n){var t=n.index,e=n.attributes;if(t===null||e.position===void 0||e.normal===void 0||e.uv===void 0){console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");return}var r=t.array,o=e.position.array,s=e.normal.array,u=e.uv.array,l=o.length/3;e.tangent===void 0&&n.setAttribute("tangent",new THREE__namespace.BufferAttribute(new Float32Array(4*l),4));for(var c=e.tangent.array,p=[],f=[],d=0;d<l;d++)p[d]=new THREE__namespace.Vector3,f[d]=new THREE__namespace.Vector3;var h=new THREE__namespace.Vector3,m=new THREE__namespace.Vector3,g=new THREE__namespace.Vector3,A=new THREE__namespace.Vector2,E=new THREE__namespace.Vector2,v=new THREE__namespace.Vector2,y=new THREE__namespace.Vector3,b=new THREE__namespace.Vector3;function T(Q,U,V){h.fromArray(o,Q*3),m.fromArray(o,U*3),g.fromArray(o,V*3),A.fromArray(u,Q*2),E.fromArray(u,U*2),v.fromArray(u,V*2);var X=m.x-h.x,Z=g.x-h.x,ee=m.y-h.y,K=g.y-h.y,re=m.z-h.z,Y=g.z-h.z,W=E.x-A.x,le=v.x-A.x,oe=E.y-A.y,ae=v.y-A.y,se=1/(W*ae-le*oe);y.set((ae*X-oe*Z)*se,(ae*ee-oe*K)*se,(ae*re-oe*Y)*se),b.set((W*Z-le*X)*se,(W*K-le*ee)*se,(W*Y-le*re)*se),p[Q].add(y),p[U].add(y),p[V].add(y),f[Q].add(b),f[U].add(b),f[V].add(b)}var _=n.groups;_.length===0&&(_=[{start:0,count:r.length}]);for(var d=0,S=_.length;d<S;++d)for(var R=_[d],M=R.start,H=R.count,B=M,C=M+H;B<C;B+=3)T(r[B+0],r[B+1],r[B+2]);var w=new THREE__namespace.Vector3,I=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3,F=new THREE__namespace.Vector3,N,z,J;function G(Q){O.fromArray(s,Q*3),F.copy(O),z=p[Q],w.copy(z),w.sub(O.multiplyScalar(O.dot(z))).normalize(),I.crossVectors(F,z),J=I.dot(f[Q]),N=J<0?-1:1,c[Q*4]=w.x,c[Q*4+1]=w.y,c[Q*4+2]=w.z,c[Q*4+3]=N}for(var d=0,S=_.length;d<S;++d)for(var R=_[d],M=R.start,H=R.count,B=M,C=M+H;B<C;B+=3)G(r[B+0]),G(r[B+1]),G(r[B+2])},mergeBufferGeometries:function(n,t){for(var e=n[0].index!==null,r=new Set(Object.keys(n[0].attributes)),o=new Set(Object.keys(n[0].morphAttributes)),s={},u={},l=new THREE__namespace.BufferGeometry,c=0,p=0;p<n.length;++p){var f=n[p];if(e!==(f.index!==null))return null;for(var d in f.attributes){if(!r.has(d))return null;s[d]===void 0&&(s[d]=[]),s[d].push(f.attributes[d])}for(var d in f.morphAttributes){if(!o.has(d))return null;u[d]===void 0&&(u[d]=[]),u[d].push(f.morphAttributes[d])}if(l.userData.mergedUserData=l.userData.mergedUserData||[],l.userData.mergedUserData.push(f.userData),t){var h;if(e)h=f.index.count;else if(f.attributes.position!==void 0)h=f.attributes.position.count;else return null;l.addGroup(c,h,p),c+=h}}if(e){for(var m=0,g=[],p=0;p<n.length;++p){for(var A=n[p].index,E=0;E<A.count;++E)g.push(A.getX(E)+m);m+=n[p].attributes.position.count}l.setIndex(g)}for(var d in s){var v=this.mergeBufferAttributes(s[d]);if(!v)return null;l.setAttribute(d,v)}for(var d in u){var y=u[d][0].length;if(y===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[d]=[];for(var p=0;p<y;++p){for(var b=[],E=0;E<u[d].length;++E)b.push(u[d][E][p]);var T=this.mergeBufferAttributes(b);if(!T)return null;l.morphAttributes[d].push(T)}}return l},mergeBufferAttributes:function(n){for(var t,e,r,o=0,s=0;s<n.length;++s){var u=n[s];if(u.isInterleavedBufferAttribute||(t===void 0&&(t=u.array.constructor),t!==u.array.constructor)||(e===void 0&&(e=u.itemSize),e!==u.itemSize)||(r===void 0&&(r=u.normalized),r!==u.normalized))return null;o+=u.array.length}for(var l=new t(o),c=0,s=0;s<n.length;++s)l.set(n[s].array,c),c+=n[s].array.length;return new THREE__namespace.BufferAttribute(l,e,r)},interleaveAttributes:function(n){for(var t,e=0,r=0,o=0,s=n.length;o<s;++o){var u=n[o];if(t===void 0&&(t=u.array.constructor),t!==u.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;e+=u.array.length,r+=u.itemSize}for(var l=new THREE__namespace.InterleavedBuffer(new t(e),r),c=0,p=[],f=["getX","getY","getZ","getW"],d=["setX","setY","setZ","setW"],h=0,s=n.length;h<s;h++){var u=n[h],m=u.itemSize,g=u.count,A=new THREE__namespace.InterleavedBufferAttribute(l,m,c,u.normalized);p.push(A),c+=m;for(var E=0;E<g;E++)for(var v=0;v<m;v++)A[d[v]](E,u[f[v]](E))}return p},estimateBytesUsed:function(n){var t=0;for(var e in n.attributes){var r=n.getAttribute(e);t+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}var o=n.getIndex();return t+=o?o.count*o.itemSize*o.array.BYTES_PER_ELEMENT:0,t},mergeVertices:function(n,t){t===void 0&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var e={},r=n.getIndex(),o=n.getAttribute("position"),s=r?r.count:o.count,u=0,l=Object.keys(n.attributes),c={},p={},f=[],d=["getX","getY","getZ","getW"],h=0,m=l.length;h<m;h++){var g=l[h];c[g]=[];var A=n.morphAttributes[g];A&&(p[g]=new Array(A.length).fill().map(function(){return[]}))}for(var E=Math.log10(1/t),v=Math.pow(10,E),h=0;h<s;h++){for(var y=r?r.getX(h):h,b="",T=0,m=l.length;T<m;T++)for(var g=l[T],_=n.getAttribute(g),S=_.itemSize,R=0;R<S;R++)b+="".concat(~~(_[d[R]](y)*v),",");if(b in e)f.push(e[b]);else{for(var T=0,m=l.length;T<m;T++)for(var g=l[T],_=n.getAttribute(g),A=n.morphAttributes[g],S=_.itemSize,M=c[g],H=p[g],R=0;R<S;R++){var B=d[R];if(M.push(_[B](y)),A)for(var C=0,w=A.length;C<w;C++)H[C].push(A[C][B](y))}e[b]=u,f.push(u),u++}}for(var I=n.clone(),h=0,m=l.length;h<m;h++){var g=l[h],O=n.getAttribute(g),F=new O.array.constructor(c[g]),_=new THREE__namespace.BufferAttribute(F,O.itemSize,O.normalized);if(I.setAttribute(g,_),g in p)for(var T=0;T<p[g].length;T++){var N=n.morphAttributes[g][T],F=new N.array.constructor(p[g][T]),z=new THREE__namespace.BufferAttribute(F,N.itemSize,N.normalized);I.morphAttributes[g][T]=z}}return I.setIndex(f),I}},scratchSphere=new THREE__namespace.Sphere,scratchMatrix4=new THREE__namespace.Matrix4,scratchMatrix4Inverse=new THREE__namespace.Matrix4;function getEdgesBySphere(n,t,e){e===void 0&&(e=30/180*Math.PI);for(var r=Math.cos(e),o=[],s=0,u=n.children;s<u.length;s++){var l=u[s];l instanceof Tile3DModel&&l.tileset.selectedTiles.forEach(function(c){var p,f,d;if(!(c.boundingVolume&&c.boundingVolume.distanceToPoint(t.center)>t.radius)){var h=(f=(p=c.content)===null||p===void 0?void 0:p.data)===null||f===void 0?void 0:f.object;if(h&&h.visible){var m=[];if(h.traverseVisible(function(U){if(U instanceof THREE__namespace.Mesh){var V=bvhMeshMap.get(U);if(V){scratchMatrix4.copy(U.matrixWorld),scratchMatrix4Inverse.getInverse(scratchMatrix4),scratchSphere.copy(t).applyMatrix4(scratchMatrix4Inverse);var X=V.trianglesInSphere(scratchSphere.center,scratchSphere.radius),Z=new THREE__namespace.BufferGeometry;Z.setAttribute("position",new THREE__namespace.BufferAttribute(X,3)),Z.applyMatrix4(U.matrixWorld),Z=BufferGeometryUtils.mergeVertices(Z,.01),m.push(Z)}}}),m.length===0)return;for(var g=["a","b","c"],A=BufferGeometryUtils.mergeBufferGeometries(m,!1),E=A.getAttribute("position").array,v=((d=A.getIndex())===null||d===void 0?void 0:d.array)||[],y=[],b=[],T=0,_=E.length;T<_;T+=3){var S=new THREE__namespace.Vector3(E[T],E[T+1],E[T+2]);y.push(S)}for(var T=0,_=v.length;T<_;T+=3){var R=v[T],M=v[T+1],H=v[T+2],B=new THREE__namespace.Vector3().crossVectors(y[M].clone().sub(y[R]),y[H].clone().sub(y[R])).normalize();b.push({a:R,b:M,c:H,normal:B})}for(var C={},T=0,_=b.length;T<_;T++)for(var w=b[T],I=0;I<3;I++){var O=w[g[I]],F=w[g[(I+1)%3]],N=[Math.min(O,F),Math.max(O,F)],z=N[0]+"-"+N[1];C[z]===void 0?C[z]={index1:N[0],index2:N[1],face1:T}:C[z].face2=T}for(var z in C){var J=C[z];if(J.face2===void 0||b[J.face1].normal.dot(b[J.face2].normal)<=r){var G=y[J.index1],Q=y[J.index2];o.push(new THREE__namespace.Line3(G,Q))}}y.length=0,b.length=0}}})}return o}var scratchBoundingBox$1=new THREE__namespace.Box3,scratchViewLayerBox=new THREE__namespace.Box3,scratchObserverBox=new THREE__namespace.Box3,Model=function(n){__extends(t,n);function t(e,r){r===void 0&&(r={});var o,s=n.call(this)||this;s.disposed=!1,s.parameter=new Parameter,s.outdated=!1,s.autoRefine=!0,s.metaPending=!1,s.loaded=!1,s.refined=!1,s.refineProgress=[0,0],s.boundingBox=new THREE__namespace.Box3,s.work=e,s.name=s.work.workCode;for(var u=0,l=0,c=e.observers;l<c.length;l++){var p=c[l];u=Math.max(u,p.floorIndex)}if(s.floorLength=u+1,e.model){s.metaPending=!0;var f=loadViewLayers(e.model,{fetcher:getFetcher(e),light:(o=r.light)!==null&&o!==void 0?o:!1,textureOptions:r.textureOptions,onError:function(d){return s.dispatchEvent({type:"error",error:d})}});s.initReady=Promise.all(f).then(function(d){if(s.metaPending=!1,s.disposed)for(var h=0,m=d;h<m.length;h++){var g=m[h];g.dispose()}else s.add.apply(s,d)}),s.loadedReady=new Promise(function(d){s.addEventListener("load",function(){return d()})})}else s.refined=!0,s.loaded=!0,s.initReady=Promise.resolve(),s.loadedReady=Promise.resolve();return s}return t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)e instanceof Tile3DModel&&e.dispose(),this.remove(e)},Object.defineProperty(t.prototype,"empty",{get:function(){return this.children.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayers",{get:function(){return this.children},enumerable:!1,configurable:!0}),t.prototype.getEdgesBySphere=function(e,r){return r===void 0&&(r=30/180*Math.PI),getEdgesBySphere(this,e,r)},t.prototype.intersectRaycaster=function(e,r,o){r===void 0&&(r=null),o===void 0&&(o=!0);for(var s=[],u=0,l=this.children.length;u<l;u++){var c=this.children[u];c.visible&&c instanceof Tile3DModel&&c.intersectRaycaster(e,r,!1,s)}return s=s.filter(function(p){return!(p.object instanceof PBMPointCloud&&p.object.material.pointBack==="HIDDEN"&&p.face&&p.face.normal.angleTo(e.ray.direction)<Math.PI/2)}),o&&s.sort(function(p,f){return p.distance-f.distance}),s},t.prototype.update=function(e,r,o){var s,u=!1,l=this.parameter.resolveValue(),c=this.loaded;this.refined=!this.metaPending,this.loaded=!this.metaPending,this.refineProgress[0]=this.refineProgress[1]=0,this.work.transform.equals(this.matrix)||(this.matrix.copy(this.work.transform),this.matrix.decompose(this.position,this.quaternion,this.scale),u=!0);for(var p=0,f=this.children;p<f.length;p++){var d=f[p];this.autoRefine===!1?d.autoRefine=!1:isFristPersonMode((s=r.controllerMode)!==null&&s!==void 0?s:"Mapview")?d.autoRefine=l.modelAlpha===0||l.modelAlpha===1:d.autoRefine=!0;var h=d.update(e,r,o,this);h&&(u=!0),d.refined===!1&&(this.refined=!1),d.loaded===!1&&(this.loaded=!1),this.refineProgress[0]+=d.refineProgress[0],this.refineProgress[1]+=d.refineProgress[1]}scratchBoundingBox$1.makeEmpty(),scratchObserverBox.copy(this.work.observerBox),scratchObserverBox.isEmpty()||(scratchObserverBox.max.x+=1,scratchObserverBox.max.z+=1,scratchObserverBox.max.y+=1,scratchObserverBox.min.x-=1,scratchObserverBox.min.z-=1,scratchBoundingBox$1.union(scratchObserverBox));for(var m=0,g=this.viewLayers;m<g.length;m++){var d=g[m];d.boundingBox.isEmpty()||(scratchViewLayerBox.copy(d.boundingBox).applyMatrix4(d.matrix),scratchBoundingBox$1.union(scratchViewLayerBox))}return this.boundingBox.copy(scratchBoundingBox$1),c===!1&&this.loaded===!0&&this.dispatchEvent({type:"load"}),u},t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},Object.defineProperty(t.prototype,"shownFloor",{get:function(){return this.shownFloorIndex===-1?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=e===null?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=e!=null?e:null,this.dispatchEvent({type:"shownFloorChange",shownFloor:e})},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){var e=[this.parameter];return this.parent instanceof ModelScene&&e.unshift(this.parent.parameter),Parameter.resolveValue.apply(Parameter,e).shownFloorIndex},set:function(e){this.parameter.set("shownFloorIndex",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"brightness",{get:function(){return this.parameter.resolveValue().brightness},set:function(e){this.parameter.set("brightness",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"clippers",{get:function(){return this.parameter.resolveValue().clippers},set:function(e){this.parameter.set("clippers",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"customShaders",{get:function(){return this.parameter.resolveValue().customShaders},set:function(e){this.parameter.set("customShaders",e)},enumerable:!1,configurable:!0}),t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.viewLayers;e<r.length;e++){var o=r[e];o.resetBrightness()}},t}(THREE__namespace.Object3D),easeOut$2=function(n){return n*(2-n)},sharedGeometry2$2=function(){var n=new Float32Array([-.18,0,-.18,.18,0,-.18,-.18,0,.18,.18,0,.18]),t=new Float32Array([1,0,0,0,1,1,0,1]),e=new Uint8Array([0,2,1,2,3,1]),r=new THREE__namespace.BufferGeometry;return r.setAttribute("position",new THREE__namespace.BufferAttribute(n,3)),r.setAttribute("uv",new THREE__namespace.BufferAttribute(t,2)),r.setIndex(new THREE__namespace.BufferAttribute(e,1)),r}(),vertexShader$4=`
|
|
1028
|
+
`+JSON.stringify(n))}}function createWorks(n){for(var t={},e=new THREE__namespace.Box3,r=[],o={},s=0,u=n;s<u.length;s++){var l=u[s],c=t[l.workCode];c||(c=t[l.workCode]=new THREE__namespace.Matrix4().copy(l.transform));for(var p=0,f=l.observers;p<f.length;p++){var d=f[p],h={isResolved:!0,active:d.active,accessibleIds:d.accessibleIds,visibleIds:d.visibleIds,accessibleNodes:d.accessibleNodes,visibleNodes:d.visibleNodes,floorIndex:d.floorIndex,images:d.images,index:d.index,panoIndex:d.panoIndex,loadable:d.loadable,panoId:d.panoId,pano:d.pano,work:d.work,derivedId:d.derivedId,video:d.video,position:d.getResolvedPosition(new THREE__namespace.Vector3),standingPosition:d.getResolvedStandingPosition(new THREE__namespace.Vector3),quaternion:d.getResolvedQuaternion(new THREE__namespace.Quaternion),matrix:d.getResolvedMatrix(new THREE__namespace.Matrix4)};Object.freeze(h),r.push(h),o[h.panoId]=h}scratchObserverBox$1.copy(l.observerBox).applyMatrix4(l.transform),e.union(scratchObserverBox$1)}Object.freeze(r);for(var m=n.slice(),g={},A=0,E=m;A<E.length;A++){var l=E[A];g[l.workCode]=l}return Object.freeze(Object.assign(m,{get initial(){return m.length>0?m[0].initial:{work:{}}},get resolvedObservers(){return r},get resolvedObserverBox(){return e},getWork:function(v){return g[v]},getResolvedObserver:function(v){var y,b;return isPanoId(v)?o[v]:typeof v=="number"?o[panoStringify({workCode:(b=(y=n[0])===null||y===void 0?void 0:y.workCode)!==null&&b!==void 0?b:"",panoIndex:v})]:o[panoStringify(v)]},update:function(){for(var v=0,y=m;v<y.length;v++){var b=y[v],T=b.transform,_=t[b.workCode];_?_.equals(T)||(_.copy(T),needsUpdateWorkCodeSet.add(b.workCode)):(t[b.workCode]=new THREE__namespace.Matrix4().copy(T),needsUpdateWorkCodeSet.add(b.workCode))}if(needsUpdateWorkCodeSet.size>0){e.makeEmpty();for(var S=0,R=m;S<R.length;S++){var b=R[S];scratchObserverBox$1.copy(b.observerBox).applyMatrix4(b.transform),e.union(scratchObserverBox$1)}for(var M=0,H=r;M<H.length;M++){var B=H[M];if(needsUpdateWorkCodeSet.has(B.work.workCode)){var C=B.work.observers[B.index];C.getResolvedPosition(B.position),C.getResolvedStandingPosition(B.standingPosition),C.getResolvedQuaternion(B.quaternion),C.getResolvedMatrix(B.matrix)}}needsUpdateWorkCodeSet.clear()}}}))}var fetcherMap=new Map;function getFetcher(n){var t=fetcherMap.get(n);if(t)return t;throw new Error("fetcher never registered.")}function registerFetcher(n,t){return fetcherMap.set(n,t)}function isThirdPersonMode(n){switch(n){case"Floorplan":return!0;case"Mapview":return!0;default:return!1}}function isFristPersonMode(n){switch(n){case"Panorama":return!0;case"VRPanorama":return!0;case"XRPanorama":return!0;case"Model":return!0;default:return!1}}var scratchBoundingBox3=new THREE__namespace.Box3,scratchModelBoundingBox3=new THREE__namespace.Box3,ModelScene=function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.needsRender=!0,e.autoRefine=!0,e.boundingBox=new THREE__namespace.Box3,e.loaded=!1,e.refined=!1,e.refineProgress=[0,0],e.parameter=new Parameter;var r=e.models=[],o=e;return defineProperty(r,"autoUpdate",{get:function(){return o.autoRefine},set:function(s){o.autoRefine=s}}),defineProperty(r,"bounding",{get:function(){return o.boundingBox}}),defineProperty(r,"loaded",{get:function(){return o.loaded}}),defineProperty(r,"refined",{get:function(){return o.refined}}),defineProperty(r,"refineProgress",{get:function(){return o.refineProgress}}),defineProperty(r,"cacheCameras",{get:function(){return o.parameter.resolveValue().cacheCameras},set:function(s){o.parameter.set("cacheCameras",s)}}),defineProperty(r,"intersectRaycaster",{value:function(s){return o.intersectRaycaster(s)}}),defineProperty(r,"setMaterial",{value:function(s){return o.setMaterial(s)}}),defineProperty(r,"getMaterial",{value:function(){return o.getMaterial()}}),defineProperty(r,"resetBrightness",{value:function(){return o.resetBrightness()}}),e}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.prototype.add.apply(this,e),this.models.length=0;for(var o=0,s=this.children;o<s.length;o++){var u=s[o];u instanceof Model&&u.outdated!==!0&&this.models.push(u)}return this.needsRender=!0,this},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.prototype.remove.apply(this,e),this.models.length=0;for(var o=0,s=this.children;o<s.length;o++){var u=s[o];u instanceof Model&&u.outdated!==!0&&this.models.push(u)}scratchBoundingBox3.makeEmpty();for(var l=0,c=this.children;l<c.length;l++){var u=c[l];u instanceof Model&&(scratchModelBoundingBox3.copy(u.boundingBox).applyMatrix4(u.matrix),scratchBoundingBox3.union(scratchModelBoundingBox3))}return this.boundingBox.copy(scratchBoundingBox3),this.needsRender=!0,this},t.prototype.intersectRaycaster=function(e,r,o){o===void 0&&(o=!0);var s=this.children.filter(function(d){return d instanceof Model}),u;if(s.length===0)u=[];else if(s.length===1)u=s[0].intersectRaycaster(e,r,o);else{u=[];for(var l=0,c=s;l<c.length;l++){var p=c[l];if(p.visible){var f=p.intersectRaycaster(e,r,!1);f.length&&u.push.apply(u,f)}}o&&u.sort(function(d,h){return d.distance-h.distance})}return u},t.prototype.update=function(e,r){var o=!1;scratchBoundingBox3.makeEmpty(),this.loaded=this.models.length>0,this.refined=this.models.length>0,this.refineProgress[0]=this.refineProgress[1]=0,this.models.length=0;for(var s=0,u=this.children;s<u.length;s++){var l=u[s];if(l instanceof Model)if(l.outdated){l.autoRefine=!1;var c=l.update(e,r,this);c&&(o=!0)}else{this.models.push(l),l.autoRefine=this.autoRefine;var c=l.update(e,r,this);c&&(o=!0),l.loaded===!1&&(this.loaded=!1),l.refined===!1&&(this.refined=!1),this.refineProgress[0]+=l.refineProgress[0],this.refineProgress[1]+=l.refineProgress[1],scratchModelBoundingBox3.copy(l.boundingBox).applyMatrix4(l.matrix),scratchBoundingBox3.union(scratchModelBoundingBox3)}else if(l.update){var c=l.update(e,r,this);c&&(o=!0)}}return this.boundingBox.copy(scratchBoundingBox3),this.needsRender=o,o},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.models;e<r.length;e++){var o=r[e];o.resetBrightness()}},t}(THREE__namespace.Scene),scratchVector3=new THREE__namespace.Vector3,scratchMatrix4$1=new THREE__namespace.Matrix4;function getEcefToEnuMatrixFromUpAxis(n,t,e){switch(n){case"Z":e.identity();break;case"Y":e.fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);break;case"-Y":e.fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]);break;case"WGS84":case"GCJ02":case"BD09":getEcefToEnuMatrix(t,e);break;default:e.identity();break}return e}function getExt(n){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);if(t){var e=String(t[1]).trim().split(".").slice(1).reverse()[0];if(e)return e}return""}function loadViewLayer(n,t){var e,r=n.tileset,o=n.name,s=n.type,u=r.split("#"),l=u[0],c=u[1],p=(e=(c||l).split("?")[1])!==null&&e!==void 0?e:"";return t.fetcher.ajax(r,{responseType:"text"}).catch(function(f){return{error:f,body:JSON.stringify({asset:{version:"0.0"},geometricError:0,root:{geometricError:0}})}}).then(function(f){var d,h="error"in f?f.error:null,m=normalizeTilesetHeader(JSON.parse(f.body),r),g=m.root,A=m.rootMeta,E=A===void 0?{}:A,v=n.upAxis;E.upAxis&&E.upAxis!==v&&(v=E.upAxis),"lodVersion"in m&&(v="-Y","floorInfo"in m&&(m.properties=m.properties||{},m.properties.floorInfo=m.floorInfo.map(function(R){return{ground:-R.ground,height:R.height}}),delete m.floorInfo),m.asset.tilesetVersion=String(m.lodVersion),delete m.lodVersion);var y=g.boundingVolume?makeBoundingVolume(g.boundingVolume):void 0;y&&g.transform&&y.applyMatrix4(scratchMatrix4$1.fromArray(g.transform));var b=null,T=new THREE__namespace.Matrix4,_=new THREE__namespace.Matrix4;E.coordinate?(b=E.coordinate.ground_height,T.fromArray(E.coordinate.pose_ecef_to_enu),_.fromArray(E.coordinate.pose_enu_to_ecef)):(y?y.getCenter(scratchVector3):scratchVector3.setScalar(0),getEcefToEnuMatrixFromUpAxis(v,scratchVector3,T),_.getInverse(T)),m.root={refine:(d=g.refine)!==null&&d!==void 0?d:"REPLACE",geometricError:g.geometricError,transform:scratchMatrix4$1.copy(T).premultiply(enuToLocalMatrix).toArray(),boundingVolume:y?y.toJson():void 0,children:[g]};var S=new Tile3D(m,{name:o,type:s,upAxis:v,light:t.light,fetcher:t.fetcher,search:p,groundHeight:b,enuToEcefMatrix:_,ecefToEnuMatrix:T,error:h});return S})}function loadViewLayers(n,t){var e,r,o=n.layers.slice();if(n.file){for(var s=!1,u=0,l=o;u<l.length;u++){var c=l[u];if(c.type==="mesh"){s=!0;break}}if(s===!1){var p=getExt(n.file)||"at3d",f=JSON.stringify({asset:{version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],content:{uri:n.file},extras:(e={},e[p]={textureBaseUri:n.textureBase,textureArray:n.textures,textureOptions:(r=t.textureOptions)!==null&&r!==void 0?r:{}},e)}});o.push({name:"fallback",type:"mesh",upAxis:"Z",tileset:URL.createObjectURL(new Blob([f],{type:"application/json"}))})}}return o.map(function(d){return loadViewLayer(d,{fetcher:t.fetcher,light:t.light}).then(function(h){return t.onError&&(h.error&&t.onError(h.error),h.onError=t.onError),h})})}var BufferGeometryUtils={computeTangents:function(n){var t=n.index,e=n.attributes;if(t===null||e.position===void 0||e.normal===void 0||e.uv===void 0){console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");return}var r=t.array,o=e.position.array,s=e.normal.array,u=e.uv.array,l=o.length/3;e.tangent===void 0&&n.setAttribute("tangent",new THREE__namespace.BufferAttribute(new Float32Array(4*l),4));for(var c=e.tangent.array,p=[],f=[],d=0;d<l;d++)p[d]=new THREE__namespace.Vector3,f[d]=new THREE__namespace.Vector3;var h=new THREE__namespace.Vector3,m=new THREE__namespace.Vector3,g=new THREE__namespace.Vector3,A=new THREE__namespace.Vector2,E=new THREE__namespace.Vector2,v=new THREE__namespace.Vector2,y=new THREE__namespace.Vector3,b=new THREE__namespace.Vector3;function T(Q,U,V){h.fromArray(o,Q*3),m.fromArray(o,U*3),g.fromArray(o,V*3),A.fromArray(u,Q*2),E.fromArray(u,U*2),v.fromArray(u,V*2);var X=m.x-h.x,Z=g.x-h.x,ee=m.y-h.y,K=g.y-h.y,re=m.z-h.z,Y=g.z-h.z,W=E.x-A.x,le=v.x-A.x,oe=E.y-A.y,ae=v.y-A.y,se=1/(W*ae-le*oe);y.set((ae*X-oe*Z)*se,(ae*ee-oe*K)*se,(ae*re-oe*Y)*se),b.set((W*Z-le*X)*se,(W*K-le*ee)*se,(W*Y-le*re)*se),p[Q].add(y),p[U].add(y),p[V].add(y),f[Q].add(b),f[U].add(b),f[V].add(b)}var _=n.groups;_.length===0&&(_=[{start:0,count:r.length}]);for(var d=0,S=_.length;d<S;++d)for(var R=_[d],M=R.start,H=R.count,B=M,C=M+H;B<C;B+=3)T(r[B+0],r[B+1],r[B+2]);var w=new THREE__namespace.Vector3,I=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3,F=new THREE__namespace.Vector3,N,z,J;function G(Q){O.fromArray(s,Q*3),F.copy(O),z=p[Q],w.copy(z),w.sub(O.multiplyScalar(O.dot(z))).normalize(),I.crossVectors(F,z),J=I.dot(f[Q]),N=J<0?-1:1,c[Q*4]=w.x,c[Q*4+1]=w.y,c[Q*4+2]=w.z,c[Q*4+3]=N}for(var d=0,S=_.length;d<S;++d)for(var R=_[d],M=R.start,H=R.count,B=M,C=M+H;B<C;B+=3)G(r[B+0]),G(r[B+1]),G(r[B+2])},mergeBufferGeometries:function(n,t){for(var e=n[0].index!==null,r=new Set(Object.keys(n[0].attributes)),o=new Set(Object.keys(n[0].morphAttributes)),s={},u={},l=new THREE__namespace.BufferGeometry,c=0,p=0;p<n.length;++p){var f=n[p];if(e!==(f.index!==null))return null;for(var d in f.attributes){if(!r.has(d))return null;s[d]===void 0&&(s[d]=[]),s[d].push(f.attributes[d])}for(var d in f.morphAttributes){if(!o.has(d))return null;u[d]===void 0&&(u[d]=[]),u[d].push(f.morphAttributes[d])}if(l.userData.mergedUserData=l.userData.mergedUserData||[],l.userData.mergedUserData.push(f.userData),t){var h;if(e)h=f.index.count;else if(f.attributes.position!==void 0)h=f.attributes.position.count;else return null;l.addGroup(c,h,p),c+=h}}if(e){for(var m=0,g=[],p=0;p<n.length;++p){for(var A=n[p].index,E=0;E<A.count;++E)g.push(A.getX(E)+m);m+=n[p].attributes.position.count}l.setIndex(g)}for(var d in s){var v=this.mergeBufferAttributes(s[d]);if(!v)return null;l.setAttribute(d,v)}for(var d in u){var y=u[d][0].length;if(y===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[d]=[];for(var p=0;p<y;++p){for(var b=[],E=0;E<u[d].length;++E)b.push(u[d][E][p]);var T=this.mergeBufferAttributes(b);if(!T)return null;l.morphAttributes[d].push(T)}}return l},mergeBufferAttributes:function(n){for(var t,e,r,o=0,s=0;s<n.length;++s){var u=n[s];if(u.isInterleavedBufferAttribute||(t===void 0&&(t=u.array.constructor),t!==u.array.constructor)||(e===void 0&&(e=u.itemSize),e!==u.itemSize)||(r===void 0&&(r=u.normalized),r!==u.normalized))return null;o+=u.array.length}for(var l=new t(o),c=0,s=0;s<n.length;++s)l.set(n[s].array,c),c+=n[s].array.length;return new THREE__namespace.BufferAttribute(l,e,r)},interleaveAttributes:function(n){for(var t,e=0,r=0,o=0,s=n.length;o<s;++o){var u=n[o];if(t===void 0&&(t=u.array.constructor),t!==u.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;e+=u.array.length,r+=u.itemSize}for(var l=new THREE__namespace.InterleavedBuffer(new t(e),r),c=0,p=[],f=["getX","getY","getZ","getW"],d=["setX","setY","setZ","setW"],h=0,s=n.length;h<s;h++){var u=n[h],m=u.itemSize,g=u.count,A=new THREE__namespace.InterleavedBufferAttribute(l,m,c,u.normalized);p.push(A),c+=m;for(var E=0;E<g;E++)for(var v=0;v<m;v++)A[d[v]](E,u[f[v]](E))}return p},estimateBytesUsed:function(n){var t=0;for(var e in n.attributes){var r=n.getAttribute(e);t+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}var o=n.getIndex();return t+=o?o.count*o.itemSize*o.array.BYTES_PER_ELEMENT:0,t},mergeVertices:function(n,t){t===void 0&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var e={},r=n.getIndex(),o=n.getAttribute("position"),s=r?r.count:o.count,u=0,l=Object.keys(n.attributes),c={},p={},f=[],d=["getX","getY","getZ","getW"],h=0,m=l.length;h<m;h++){var g=l[h];c[g]=[];var A=n.morphAttributes[g];A&&(p[g]=new Array(A.length).fill().map(function(){return[]}))}for(var E=Math.log10(1/t),v=Math.pow(10,E),h=0;h<s;h++){for(var y=r?r.getX(h):h,b="",T=0,m=l.length;T<m;T++)for(var g=l[T],_=n.getAttribute(g),S=_.itemSize,R=0;R<S;R++)b+="".concat(~~(_[d[R]](y)*v),",");if(b in e)f.push(e[b]);else{for(var T=0,m=l.length;T<m;T++)for(var g=l[T],_=n.getAttribute(g),A=n.morphAttributes[g],S=_.itemSize,M=c[g],H=p[g],R=0;R<S;R++){var B=d[R];if(M.push(_[B](y)),A)for(var C=0,w=A.length;C<w;C++)H[C].push(A[C][B](y))}e[b]=u,f.push(u),u++}}for(var I=n.clone(),h=0,m=l.length;h<m;h++){var g=l[h],O=n.getAttribute(g),F=new O.array.constructor(c[g]),_=new THREE__namespace.BufferAttribute(F,O.itemSize,O.normalized);if(I.setAttribute(g,_),g in p)for(var T=0;T<p[g].length;T++){var N=n.morphAttributes[g][T],F=new N.array.constructor(p[g][T]),z=new THREE__namespace.BufferAttribute(F,N.itemSize,N.normalized);I.morphAttributes[g][T]=z}}return I.setIndex(f),I}},scratchSphere=new THREE__namespace.Sphere,scratchMatrix4=new THREE__namespace.Matrix4,scratchMatrix4Inverse=new THREE__namespace.Matrix4;function getEdgesBySphere(n,t,e){e===void 0&&(e=30/180*Math.PI);for(var r=Math.cos(e),o=[],s=0,u=n.children;s<u.length;s++){var l=u[s];l instanceof Tile3D&&l.tileset.selectedTiles.forEach(function(c){var p,f,d;if(!(c.boundingVolume&&c.boundingVolume.distanceToPoint(t.center)>t.radius)){var h=(f=(p=c.content)===null||p===void 0?void 0:p.data)===null||f===void 0?void 0:f.object;if(h&&h.visible){var m=[];if(h.traverseVisible(function(U){if(U instanceof THREE__namespace.Mesh){var V=bvhMeshMap.get(U);if(V){scratchMatrix4.copy(U.matrixWorld),scratchMatrix4Inverse.getInverse(scratchMatrix4),scratchSphere.copy(t).applyMatrix4(scratchMatrix4Inverse);var X=V.trianglesInSphere(scratchSphere.center,scratchSphere.radius),Z=new THREE__namespace.BufferGeometry;Z.setAttribute("position",new THREE__namespace.BufferAttribute(X,3)),Z.applyMatrix4(U.matrixWorld),Z=BufferGeometryUtils.mergeVertices(Z,.01),m.push(Z)}}}),m.length===0)return;for(var g=["a","b","c"],A=BufferGeometryUtils.mergeBufferGeometries(m,!1),E=A.getAttribute("position").array,v=((d=A.getIndex())===null||d===void 0?void 0:d.array)||[],y=[],b=[],T=0,_=E.length;T<_;T+=3){var S=new THREE__namespace.Vector3(E[T],E[T+1],E[T+2]);y.push(S)}for(var T=0,_=v.length;T<_;T+=3){var R=v[T],M=v[T+1],H=v[T+2],B=new THREE__namespace.Vector3().crossVectors(y[M].clone().sub(y[R]),y[H].clone().sub(y[R])).normalize();b.push({a:R,b:M,c:H,normal:B})}for(var C={},T=0,_=b.length;T<_;T++)for(var w=b[T],I=0;I<3;I++){var O=w[g[I]],F=w[g[(I+1)%3]],N=[Math.min(O,F),Math.max(O,F)],z=N[0]+"-"+N[1];C[z]===void 0?C[z]={index1:N[0],index2:N[1],face1:T}:C[z].face2=T}for(var z in C){var J=C[z];if(J.face2===void 0||b[J.face1].normal.dot(b[J.face2].normal)<=r){var G=y[J.index1],Q=y[J.index2];o.push(new THREE__namespace.Line3(G,Q))}}y.length=0,b.length=0}}})}return o}var scratchBoundingBox$1=new THREE__namespace.Box3,scratchViewLayerBox=new THREE__namespace.Box3,scratchObserverBox=new THREE__namespace.Box3,Model=function(n){__extends(t,n);function t(e,r){r===void 0&&(r={});var o,s=n.call(this)||this;s.disposed=!1,s.parameter=new Parameter,s.outdated=!1,s.autoRefine=!0,s.metaPending=!1,s.loaded=!1,s.refined=!1,s.refineProgress=[0,0],s.boundingBox=new THREE__namespace.Box3,s.work=e,s.name=s.work.workCode;for(var u=0,l=0,c=e.observers;l<c.length;l++){var p=c[l];u=Math.max(u,p.floorIndex)}if(s.floorLength=u+1,e.model){s.metaPending=!0;var f=loadViewLayers(e.model,{fetcher:getFetcher(e),light:(o=r.light)!==null&&o!==void 0?o:!1,textureOptions:r.textureOptions,onError:function(d){return s.dispatchEvent({type:"error",error:d})}});s.initReady=Promise.all(f).then(function(d){if(s.metaPending=!1,s.disposed)for(var h=0,m=d;h<m.length;h++){var g=m[h];g.dispose()}else s.add.apply(s,d)}),s.loadedReady=new Promise(function(d){s.addEventListener("load",function(){return d()})})}else s.refined=!0,s.loaded=!0,s.initReady=Promise.resolve(),s.loadedReady=Promise.resolve();return s}return t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)typeof e.dispose=="function"&&e.dispose(),this.remove(e)},Object.defineProperty(t.prototype,"empty",{get:function(){return this.children.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayers",{get:function(){return this.children},enumerable:!1,configurable:!0}),t.prototype.getEdgesBySphere=function(e,r){return r===void 0&&(r=30/180*Math.PI),getEdgesBySphere(this,e,r)},t.prototype.intersectRaycaster=function(e,r,o){r===void 0&&(r=null),o===void 0&&(o=!0);for(var s=[],u=0,l=this.children.length;u<l;u++){var c=this.children[u];c.visible&&typeof c.intersectRaycaster=="function"&&c.intersectRaycaster(e,r,!1,s)}return s=s.filter(function(p){return!(p.object instanceof PBMPointCloud&&p.object.material.pointBack==="HIDDEN"&&p.face&&p.face.normal.angleTo(e.ray.direction)<Math.PI/2)}),o&&s.sort(function(p,f){return p.distance-f.distance}),s},t.prototype.update=function(e,r,o){var s,u=!1,l=this.parameter.resolveValue(),c=this.loaded;this.refined=!this.metaPending,this.loaded=!this.metaPending,this.refineProgress[0]=this.refineProgress[1]=0,this.work.transform.equals(this.matrix)||(this.matrix.copy(this.work.transform),this.matrix.decompose(this.position,this.quaternion,this.scale),u=!0);for(var p=0,f=this.children;p<f.length;p++){var d=f[p];this.autoRefine===!1?d.autoRefine=!1:isFristPersonMode((s=r.controllerMode)!==null&&s!==void 0?s:"Mapview")?d.autoRefine=l.modelAlpha===0||l.modelAlpha===1:d.autoRefine=!0;var h=d.update(e,r,o,this);h&&(u=!0),d.refined===!1&&(this.refined=!1),d.loaded===!1&&(this.loaded=!1),this.refineProgress[0]+=d.refineProgress[0],this.refineProgress[1]+=d.refineProgress[1]}scratchBoundingBox$1.makeEmpty(),scratchObserverBox.copy(this.work.observerBox),scratchObserverBox.isEmpty()||(scratchObserverBox.max.x+=1,scratchObserverBox.max.z+=1,scratchObserverBox.max.y+=1,scratchObserverBox.min.x-=1,scratchObserverBox.min.z-=1,scratchBoundingBox$1.union(scratchObserverBox));for(var m=0,g=this.viewLayers;m<g.length;m++){var d=g[m];d.boundingBox.isEmpty()||(scratchViewLayerBox.copy(d.boundingBox).applyMatrix4(d.matrix),scratchBoundingBox$1.union(scratchViewLayerBox))}return this.boundingBox.copy(scratchBoundingBox$1),c===!1&&this.loaded===!0&&this.dispatchEvent({type:"load"}),u},t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},Object.defineProperty(t.prototype,"shownFloor",{get:function(){return this.shownFloorIndex===-1?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=e===null?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=e!=null?e:null,this.dispatchEvent({type:"shownFloorChange",shownFloor:e})},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){var e=[this.parameter];return this.parent instanceof ModelScene&&e.unshift(this.parent.parameter),Parameter.resolveValue.apply(Parameter,e).shownFloorIndex},set:function(e){this.parameter.set("shownFloorIndex",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"brightness",{get:function(){return this.parameter.resolveValue().brightness},set:function(e){this.parameter.set("brightness",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"clippers",{get:function(){return this.parameter.resolveValue().clippers},set:function(e){this.parameter.set("clippers",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"customShaders",{get:function(){return this.parameter.resolveValue().customShaders},set:function(e){this.parameter.set("customShaders",e)},enumerable:!1,configurable:!0}),t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.viewLayers;e<r.length;e++){var o=r[e];o.resetBrightness()}},t}(THREE__namespace.Object3D),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,o=r===void 0?!0:r,s=e.premultipliedAlpha,u=s===void 0?!0:s,l=e.stencil,c=l===void 0?!0:l,p=e.backgroundColor,f=p===void 0?1579548:p,d=e.backgroundAlpha,h=d===void 0?1:d,m=e.pixelRatio,g=m===void 0?1:m,A=e.antialias,E=A===void 0?!1:A,v=e.webgl2,y=e.logarithmicDepthBuffer,b=e.precision,T=e.powerPreference,_=this,S={antialias:E,alpha:!0,depth:!0,preserveDrawingBuffer:o,stencil:c,premultipliedAlpha:u,powerPreference:T},R={logarithmicDepthBuffer:y,precision:b};if(v){var M=document.createElement("canvas"),H=M.getContext("webgl2",S);H?_=n.call(this,__assign(__assign(__assign({},S),R),{antialias:!0,canvas:M,context:H}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),_=n.call(this,__assign(__assign({},S),R))||this)}else _=n.call(this,__assign(__assign({},S),R))||this;return _.setPixelRatio(g),_.setClearColor(f,h),_.outputEncoding=THREE__namespace.sRGBEncoding,_.autoClear=!0,_}return t}(THREE__namespace.WebGLRenderer),sharedProjScreenMatrix=new THREE__namespace.Matrix4,sharedFrustum=new THREE__namespace.Frustum,renderResolution=new THREE__namespace.Vector2,clockForMixer=new WeakMap;function updateObject(n){var t=!1;return n.needsRender===!0?(n.needsRender=!1,t=!0):n.mixer&&n.mixer.stats.actions.inUse>0&&(t=!0),t}var Scene=function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.needsRender=!1,e}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t.prototype.update=function(e,r){var o=!1,s;return r instanceof Camera?(s=r.time,renderResolution.copy(r.resolution)):(s=now(),e.getSize(renderResolution)),sharedProjScreenMatrix.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),sharedFrustum.setFromProjectionMatrix(sharedProjScreenMatrix),this.traverseVisible(function(u){if(u.setResolution&&u.setResolution(renderResolution.x,renderResolution.y),u.setTime&&u.setTime(s),u.mixer instanceof THREE__namespace.AnimationMixer){var l=u.mixer,c=clockForMixer.get(l);c||(c=new THREE__namespace.Clock,clockForMixer.set(l,c)),l.update(c.getDelta())}if((u instanceof THREE__namespace.Mesh||u instanceof THREE__namespace.Line||u instanceof THREE__namespace.Points)&&(u instanceof THREE__namespace.ImmediateRenderObject||!u.frustumCulled||sharedFrustum.intersectsObject(u))){var p=updateObject(u);p&&(o=!0),u.traverseAncestors(function(f){var d=updateObject(f);d&&(o=!0)})}}),this.needsRender=o,o},t}(THREE__namespace.Scene),easeOut$2=function(n){return n*(2-n)},sharedGeometry2$2=function(){var n=new Float32Array([-.18,0,-.18,.18,0,-.18,-.18,0,.18,.18,0,.18]),t=new Float32Array([1,0,0,0,1,1,0,1]),e=new Uint8Array([0,2,1,2,3,1]),r=new THREE__namespace.BufferGeometry;return r.setAttribute("position",new THREE__namespace.BufferAttribute(n,3)),r.setAttribute("uv",new THREE__namespace.BufferAttribute(t,2)),r.setIndex(new THREE__namespace.BufferAttribute(e,1)),r}(),vertexShader$4=`
|
|
1029
1029
|
varying vec2 vUv;
|
|
1030
1030
|
#include <common>
|
|
1031
1031
|
#include <logdepthbuf_pars_vertex>
|
|
@@ -2197,7 +2197,7 @@ void main() {
|
|
|
2197
2197
|
#include <premultiplied_alpha_fragment>
|
|
2198
2198
|
|
|
2199
2199
|
}
|
|
2200
|
-
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,p=0,f=r.count;c<f;c++,p+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[p]=p===0?0:s[p-1],s[p+1]=s[p]+u.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,p=c.resolution,f=c.linewidth,d=l.attributes.instanceStart,h=l.attributes.instanceEnd,m=new THREE__namespace.Vector4,g=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,E=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,A),A.w=1,A.applyMatrix4(s.matrixWorldInverse),A.applyMatrix4(u),A.multiplyScalar(1/A.w),A.x*=p.x/2,A.y*=p.y/2,A.z=0,E.copy(A);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=d.count;_<S;_++){m.fromBufferAttribute(d,_),g.fromBufferAttribute(h,_),m.w=1,g.w=1,m.applyMatrix4(v),g.applyMatrix4(v),m.applyMatrix4(u),g.applyMatrix4(u),m.multiplyScalar(1/m.w),g.multiplyScalar(1/g.w);var R=m.z<-1&&g.z<-1,M=m.z>1&&g.z>1;if(!(R||M)){m.x*=p.x/2,m.y*=p.y/2,g.x*=p.x/2,g.y*=p.y/2,y.start.copy(m),y.start.z=0,y.end.copy(g),y.end.z=0;var H=y.closestPointToPointParameter(E,!0);y.at(H,b);var B=THREE__namespace.MathUtils.lerp(m.z,g.z,H),C=B>=-1&&B<=1,w=E.distanceTo(b)<f*.5;if(C&&w){y.start.fromBufferAttribute(d,_),y.end.fromBufferAttribute(h,_),y.start.applyMatrix4(T),y.end.applyMatrix4(T);var I=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3;o.distanceSqToSegment(y.start,y.end,O,I),r.push({point:O,pointOnLine:I,distance:o.origin.distanceTo(O),object:this,faceIndex:_})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.5.0-alpha.1"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,p,f,d;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(m){var g=u[m];return g&&(l={profileId:m,profilePath:"".concat(r,"/").concat(g.path),deprecated:!!g.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(p=h.sent(),s){if(d=void 0,d=p.layouts[e.handedness],!d)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));d.assetPath&&(f=l.profilePath.replace("profile.json",d.assetPath))}return[2,{profile:p,assetPath:f}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,p=o.valueNodeProperty;s&&(p===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:p===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(p){var f=p.valueNodeName,d=p.minNodeName,h=p.maxNodeName,m=p.valueNodeProperty;if(m===Constants.VisualResponseProperty.TRANSFORM){if(p.minNode=t.getObjectByName(d),p.maxNode=t.getObjectByName(h),!p.minNode){console.warn("Could not find ".concat(d," in the model"));return}if(!p.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}p.valueNode=t.getObjectByName(f),p.valueNode||console.warn("Could not find ".concat(f," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,p=l.assetPath;r.motionController=new MotionController(u,c,p);var f=e._assetCache[r.motionController.assetUrl];if(f)o=f.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(d){e._assetCache[r.motionController.assetUrl]=d,o=d.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n}(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300;new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI);var XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,p){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(f){var d;return parseGltf(f.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(d=c.split("?")[1])!==null&&d!==void 0?d:"",fetcher:internalFetcher})}).then(function(f){return p(f)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var p=r.xrManager.getControllerGrip(1);p.add(u.createControllerModel(p)),r.controllerWrappers[1].add(p)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c,p,f=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var d=this.works.getResolvedObserver(e);if(!d)throw new Error("Invalid PanoIndex");var h=getImageSizeFromURL(d.images.up),m=this.imageOptions.size;typeof m=="undefined"&&d&&h&&(m=Number(h)),typeof m=="undefined"&&(m=2048);var g=this.imageOptions.transform,A=function(B,C){return mapPanoResource(applyImageURLOptions(B,g,C))},E=__assign({key:"pano.".concat(d.panoId)},pick(this.imageOptions,["format","size","quality"])),v=d.images;c=(l=d.images.tiles)===null||l===void 0?void 0:l.filter(function(B){return B.size>m});var y="pano:"+jsonHash([v,E,g]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===y)return;var b=this.pendingTextureTask.panoId;(p=this.panoMeshes[b])===null||p===void 0||p.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:d.pano}))}var T=this.modelScene.parameter.resolveValue(),_=T.pano0,S=T.pano1,R;if((_==null?void 0:_.map.name)===y?R=_:(S==null?void 0:S.map.name)===y&&(R=S),R){var M={panoId:d.panoId,effect:f,leftPanoPicture:{panoId:R.panoId,map:R.map,mapSize:R.mapSize,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(d.pano,M,r);return}var H="move-to-pano-"+d.panoId;this.pending.add(H),this.pendingTextureTask={panoId:d.panoId,hash:y,onLoad:function(B){var C;s.pending.delete(H);var w=B.body;if(s.destroyed)w.dispose();else{w.name=y;var I=Array.isArray(w.image)?w.image[0]:w.image,O=(C=I==null?void 0:I.width)!==null&&C!==void 0?C:2048,F={panoId:d.panoId,effect:f,leftPanoPicture:{panoId:d.panoId,map:w,mapSize:O,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(d.pano,F,r)}},onError:function(B){s.pending.delete(H);var C=__assign(__assign(__assign({},d.pano),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:B,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(v,{imageURL:{transform:A,options:E},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(d.work)},void 0,void 0,function(B){var C,w;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===y&&((w=s.panoMeshes[d.panoId])===null||w===void 0||w.setProgress(B)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:B,meta:null,pano:d.pano}))},this.renderer).then(function(B){var C,w;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===y?(s.pendingTextureTask.onLoad(B),(w=s.panoMeshes[d.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:B.meta,pano:d.pano}))):B.body.dispose()}).catch(function(B){var C,w;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===y&&(s.pendingTextureTask.onError(B),(w=s.panoMeshes[d.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:B,progress:0,meta:null,pano:d.pano})),s.emit("error",B))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:d.pano}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,p,f,d,h,m,g,A;o===void 0&&(o={});var E=now(),v=createUuid();this.panoResources[v]=r;var y=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(E);S[0];var R=S[1],M=this.locationMotion.value,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position;b=Math.max(H.distanceTo(B),y),T=[{key:R.key,progress:0,value:__assign(__assign({},M),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var C=this.locationMotion.getKeyFrameSegment(E),w=C[0],R=C[1],M=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(w).position,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position,O=R.value.count-M.count,F=Math.max(I.distanceTo(H),y)*O,N=Math.max(H.distanceTo(B),y);b=F+N,T=[{key:w.key,progress:0,value:__assign({},M)},{key:R.key,progress:F/b,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var z=this.locationMotionKeyframesLength(this.locationMotion.keyframes),J=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(E)*z/J}var G=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),Q={longitude:o.longitude,latitude:o.latitude,fov:o.fov},U=__assign(__assign({},e),{mode:this.mode,longitude:(u=Q.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=Q.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=Q.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),V=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:V,progress:0,state:U,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(U),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(Q,G).catch(noop$1);else{var X=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),Z=coordinatesToVector({longitude:(p=Q.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(f=Q.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),ee=new THREE__namespace.Object3D;ee.lookAt(X);var K=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ee.quaternion);ee.lookAt(Z);var re=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ee.quaternion),Y=new THREE__namespace.Matrix4().getInverse(K).premultiply(re),W=this.cameraMotion.value.fov,le=(d=Q.fov)!==null&&d!==void 0?d:this.cameraMotion.value.fov,oe=1;r.effect==="zoomin"?oe=1.5:r.effect==="zoomout"&&(oe=.4);for(var ae=le*oe,se=0;se<T.length-1;se++){var ie=T[se].key;if(ie){var fe=this.panoResources[ie];fe&&(fe.fixCameraTransform.copy(Y),fe.leftPanoPicture&&(fe.leftPanoPicture.zoom=Math.tan(ae/2/180*Math.PI)/Math.tan(W/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=Q.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=Q.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ae}},{progress:1,value:{longitude:(g=Q.longitude)!==null&&g!==void 0?g:this.cameraMotion.value.longitude,latitude:(A=Q.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:le}}],G).catch(noop$1)}var he=this.locationMotion.setKeyframes(T,G,_);he.then(function(){for(var Te=0,ce=s.modelScene.children;Te<ce.length;Te++){var xe=ce[Te];xe instanceof Model&&xe.show()}var j=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:V,progress:1,state:j,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(j);var te=s.works.getResolvedObserver(s.currentPano);if(te&&te.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var q={map:s.videoTexture,size:te.video.size,matrix:te.video.matrix,panoMatrix:te.matrix,alpha:1},ve=createUuid(),me=s.videoTexture.image;me.setAttribute("uuid",ve),canplayVideo().then(function(ge){ge&&te.video&&me.getAttribute("uuid")===ve&&(me.oncanplay=function(){me.oncanplay=noop$1,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=noop$1,s.panoVideo.setMaterial(q))},me.src=te.video.source)}).catch(function(){me.removeAttribute("uuid")})}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:V,progress:0,state:U,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getResolvedObserver(this.currentPano);if(!u)return null;var l=u.accessibleIds.filter(function(b){var T=panoParse(b);if(panoEqual(T,r.currentPano))return!1;var _=r.works.getResolvedObserver(T);return!_||_.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:_.loadable||_.active}),c=this.modelScene.intersectRaycaster(e)[0];if(c){var p=arrayMin(l,function(b){var T=r.works.getResolvedObserver(b);if(!T)return 1/0;var _=T.standingPosition.clone();return _.distanceTo(c.point)},!0),f=p[0],d=p[1];f&&d<this.panoTapTriggerRadius&&(s=(o=this.works.getResolvedObserver(f))!==null&&o!==void 0?o:null)}if(isNil(s)){var h=this.getForwardObserverOrNot(e);h&&(s=h)}for(var m=0,g=this.locationMotion.keyframes;m<g.length;m++){var A=g[m],E=this.panoResourceFromLocationMotionKeyframe(A);if(!(A.progress<this.locationMotion.progress)&&s&&E.panoId===s.panoId){s=null;break}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var v=s.panoId;this.panoMeshes[v]&&(this.panoMeshes[v].setDisabled(!1),this.panoMeshes[v].setLoading(!0))}var y={workCode:s.pano.workCode,panoIndex:s.pano.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:y,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:y,options:{},error:null})),s.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,p,f,d,h=[],m=2;m<arguments.length;m++)h[m-2]=arguments[m];this.userAction=!0;var g={},A={},E=this.locationMotion.keyframes[0],v=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],y=this.locationMotion.getKeyFrameSegment(e),b=y[0],T=y[1];this.panoResourceFromLocationMotionKeyframe(b);var _=this.panoResourceFromLocationMotionKeyframe(T),S=this.panoResourceFromLocationMotionKeyframe(E),R=this.panoResourceFromLocationMotionKeyframe(v),M=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),A.longitude=this.cameraMotion.value.longitude,A.latitude=this.cameraMotion.value.latitude,A.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),g.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var H=this.locationMotion.getKeyFrameSegment(e),B=H[0],C=H[1],w=this.panoResourceFromLocationMotionKeyframe(B),I=this.panoResourceFromLocationMotionKeyframe(C),O=new THREE__namespace.Vector3().copy(w.position),F=new THREE__namespace.Vector3().copy(I.position),N=this.locationMotion.value.count-C.value.count+1;if(g.progress=N,I.leftPanoPicture&&(N<1?w.leftPanoPicture&&(g.pano0=w.leftPanoPicture):g.pano0=I.leftPanoPicture,g.pano1=I.leftPanoPicture),I.effect==="montage"?g.transition="BLACK":I.effect==="spread"?g.transition="SPREAD":g.transition="FADE",(I.effect==="zoomin"||I.effect==="zoomout")&&(g.progress=Math.pow(N,3)),N<1&&I.effect!=="fly"){if(g.pano0&&w.leftPanoPicture){var z={panoId:g.pano0.panoId,map:g.pano0.map,mapSize:g.pano0.mapSize,zoom:g.pano0.zoom,matrix:w.leftPanoPicture.matrix.clone().setPosition(I.position)},J=this.panoPictureObserverMap.get(g.pano0);J&&this.panoPictureObserverMap.set(z,J),g.pano0=z}O.copy(F),M=!0}A.distance=this.locationMotion.value.distance,A.offset=new THREE__namespace.Vector3(O.x+(F.x-O.x)*N,O.y+(F.y-O.y)*N,O.z+(F.z-O.z)*N);for(var G=[],Q=[],U=0,V=this.locationMotion.keyframes;U<V.length;U++){var X=V[U],Z=X.key,ee=X.progress;Z!==void 0&&(G.push(Z),ee>this.locationMotion.progress&&Q.push(Z))}for(var K=0,re=Object.keys(this.panoResources);K<re.length;K++){var Y=re[K];if(!(Q.indexOf(Y)>=0)){var W=this.panoResources[Y];if(W.leftPanoPicture){var le=W.leftPanoPicture.map;if(le){if(le===((s=g.pano0)===null||s===void 0?void 0:s.map)||le===((u=g.pano1)===null||u===void 0?void 0:u.map))continue;le.dispose(),W.leftPanoPicture=null}}G.indexOf(Y)>=0||delete this.panoResources[Y]}}this.currentPano=panoParse(I.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(S.panoId),state:__assign(__assign(__assign(__assign({},panoParse(R.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),A),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(g)===!1&&this.modelScene.parameter.set(g),isEmptyObject(A)===!1&&this.setCamera(A);var oe=this.works.getResolvedObserver(this.currentPano),ae=h[1];if(!ae){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var se=this.xrManager.referenceSpace;if(se){var ie=this.xrManager.cameraVR,fe=this.xrManager.cameraL,he=this.xrManager.cameraR,Te=[fe,he],ce=ae.getViewerPose(se),xe=new THREE__namespace.Vector3(0,0,0);if(ce){var j;j=this.xrManager.session.renderState.baseLayer;var te=ce.views;if(!j){console.error("no layer found");return}this.renderer.setFramebuffer(j.framebuffer);var q=!1;te.length!==ie.cameras.length&&(ie.cameras.length=0,q=!0),this.parallaxCameraMatrixs=[];var ve=new THREE__namespace.Vector3,me=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(te[0].transform.matrix).decompose(ve,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(te[1].transform.matrix).decompose(me,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),me.clone().sub(ve).normalize();var ge=new THREE__namespace.Vector3,Ue=new THREE__namespace.Quaternion,Ke=new THREE__namespace.Vector3;this.camera.matrix.decompose(ge,Ue,Ke);for(var _e=0;_e<te.length;_e++){var we=te[_e],ne=j.getViewport(we),pe=Te[_e];pe.matrix.fromArray(we.transform.matrix);var Be=new THREE__namespace.Vector3,Se=new THREE__namespace.Quaternion,ke=new THREE__namespace.Vector3;pe.matrix.decompose(Be,Se,ke),xe.copy(ge),pe.position.copy(ge),pe.quaternion.copy(Se),pe.scale.copy(ke),pe.updateMatrix(),pe.projectionMatrix.fromArray(we.projectionMatrix),pe.viewport.set(ne.x,ne.y,ne.width,ne.height),q===!0&&ie.cameras.push(pe)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var _e=0;_e<this.xrManager.session.inputSources.length;_e++)if(this.xrManager.session.inputSources[_e]&&this.xrManager.session.inputSources[_e].targetRayMode==="transient-pointer"){var Me=ae.getPose(this.xrManager.session.inputSources[_e].targetRaySpace,se);if(Me){var de=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(Me.transform.orientation),ye=new THREE__namespace.Raycaster(this.camera.position,de);this.gazeRay=ye}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var He=this.xrManager.session.inputSources,_e=0;_e<He.length;_e++){var Ie=this.xrManager.controllers[_e],Qe=He[_e];if(Qe){Ie&&Ie.update(Qe,ae,se);var ye=this.xrManager.getController(_e),Je=new THREE__namespace.Vector3(0,1.2,0),Le=ye.position.clone().add(xe).sub(Je);Qe.handedness==="left"?this.xrControllerRay.left.set(Le,new THREE__namespace.Vector3(0,0,-1).applyEuler(ye.rotation)):Qe.handedness==="right"&&this.xrControllerRay.right.set(Le,new THREE__namespace.Vector3(0,0,-1).applyEuler(ye.rotation)),this.controllerWrappers[_e].position.copy(new THREE__namespace.Vector3(0,0,0).add(xe).sub(Je));var Ne=this.modelScene.intersectRaycaster(this.xrControllerRay.right);if(Ne.length===0&&(Ne=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(wt){var xt;return __assign({floor:(xt=oe==null?void 0:oe.floorIndex)!==null&&xt!==void 0?xt:0},wt)})),Ne.length>=1&&Ne[0].face)if(Qe.handedness==="right"){var ft=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),ze=Ne[0].face.normal,it=ze.clone(),Re=Ne[0].point.clone();this.intersectMesh.position.copy(Re);var dt=Re.clone().add(it);if(this.intersectMesh.lookAt(dt),Math.abs(ze.y)>.99){var Ce=this.camera.position.clone().sub(Re);this.intersectMesh.rotation.z=-Math.atan2(Ce.z,Ce.x)}this.intersectMesh.visible=!0,this.needsRender=!0,ft.length>0?(this.pointerLines.right.setPoints(Le,ft[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Le,Ne[0].point));var Fe=Ne[0],ot=createEvent("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:Fe!=null?Fe:null,object:this.intersectMesh});if(this.emit("intersect.update",ot),ot.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Le,Ne[0].point)}}this.updateControllerHelper(He,e,r)}if(this.camera.pose.distance>.1||M)for(var je=0,Xe=Object.keys(this.panoMeshes);je<Xe.length;je++){var Oe=Xe[je],be=this.panoMeshes[Oe];be.setOpacity(0),be.setCurrent(!1),be.updateTime&&be.updateTime(e,r),be.visible=!1}else if(oe){var st=arrayMin(oe.visibleIds,function(Rt){var Ct=o.works.getResolvedObserver(Rt);return Ct?oe.standingPosition.distanceTo(Ct.standingPosition):1/0},!0),At=st[1];At=clamp$1(At,2.5,1/0);for(var yt=oe.visibleIds.concat(panoStringify(this.currentPano)),We=this.getForwardObserverOrNot(),De=this.camera.getDirection(new THREE__namespace.Vector3),Ze=0,nt=Object.keys(this.panoMeshes);Ze<nt.length;Ze++){var Oe=nt[Ze],be=this.panoMeshes[Oe],J=this.works.getResolvedObserver(Oe);if(yt.indexOf(Oe)===-1)be.setCurrent(!1),be.setOpacity(0);else if(!J)be.setCurrent(!1),be.setOpacity(0);else if(!J.loadable&&!J.active)be.setCurrent(!1),be.setOpacity(0);else{var Ve=be.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);be.setCurrent(!be.loading&&be.progress===0&&We!==null&&We.panoId===Oe),be.setOpacity(Ve<.01?0:clamp$1(At/Ve*1.2,.65,.98));var Ee=this.camera.position.clone().setY(be.position.y),de=new THREE__namespace.Vector3().copy(be.position).sub(Ee).normalize();if(Oe===panoStringify(this.currentPano)){var Ye=clamp$1((.5-Ee.distanceTo(be.position))/.5,0,1);de.multiplyScalar(1-Ye).add(De.clone().multiplyScalar(Ye))}de.length()>0&&be.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(de.x,de.z),0))}be.updateTime&&be.updateTime(e,r)}}{var N=(c=this.modelScene.parameter.progress)!==null&&c!==void 0?c:1,Tt=Math.round(N),$e=this.modelScene.parameter.pano0,ut=this.modelScene.parameter.pano1,Et=Tt===0?$e:ut,J=void 0;if(Et&&(J=this.works.getResolvedObserver(Et.panoId),J||(J=this.panoPictureObserverMap.get(Et))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=N<=.5?0:N<1?1:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!J||!Et||this.tileLevelForFov===!1)this.tiling.setObserver(null),this.tiling.update(this.renderer,this.camera,new THREE__namespace.Matrix4,1,0,0),this.modelScene.parameter.set("refinedScreen",null);else{var St=getImageSizeLevel(Et.mapSize),tt=St+1,bt=4;this.tiling.setObserver(J);var vt=this.tiling.update(this.renderer,this.camera,Et.matrix,Et.zoom,tt,bt),at={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:Tt,opacity:($e==null?void 0:$e.panoId)===(ut==null?void 0:ut.panoId)?1:easeInQuart(Math.abs(((p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:0)-.5)*2)},lt=this.modelScene.parameter.refinedScreen;(vt||at.pano!==(lt==null?void 0:lt.pano)||at.opacity!==(lt==null?void 0:lt.opacity))&&this.modelScene.parameter.set("refinedScreen",at)}}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e);{var ct=_.effect,pt=this.modelScene.parameter,$e=pt.pano0,ut=pt.pano1;if($e&&ut&&$e!==ut&&ct==="fly"&&this.flyEffectUseDepthBuffer){if(((f=this.modelScene.parameter.pano0Depth)===null||f===void 0?void 0:f.panoId)!==$e.panoId||((d=this.modelScene.parameter.pano1Depth)===null||d===void 0?void 0:d.panoId)!==ut.panoId){var _t=500,ht=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==ht&&this.pano0DepthCubeRenderTarget.setSize(ht,ht):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ht,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==ht&&this.pano1DepthCubeRenderTarget.setSize(ht,ht):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ht,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var mt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);mt.matrix.copy($e.matrix),mt.matrixWorld.copy(mt.matrix),mt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,mt,_t);var Ge=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);Ge.matrix.copy(ut.matrix),Ge.matrixWorld.copy(Ge.matrix),Ge.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,Ge,_t),this.modelScene.parameter.set({pano0Depth:{panoId:$e.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:_t},pano1Depth:{panoId:ut.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:_t}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var p=e[c].handedness,f=e[c].gamepad;switch(p){case"left":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"LeftAxesDown",r)),f!=null&&f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"X",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"Y",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"LeftTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"LeftPinch",r));var d={raycaster:s,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.buttons.X=f.buttons&&f.buttons[4]?f.buttons[4].pressed:!1,l.buttons.Y=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.LeftTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.LeftPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1,l.left=d;break;case"right":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"RightAxesDown",r)),f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"A",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"B",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"RightTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"RightPinch",r));var h={raycaster:u,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.right=h,l.buttons.A=f.buttons&&f.buttons[4]?f==null?void 0:f.buttons[4].pressed:!1,l.buttons.B=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.RightTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.RightPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),p=this.emit("xr.gesture.tap",c);!p&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(n){var t=new THREE__namespace.Group;t.name="internalLights";{var e=new THREE__namespace.DirectionalLight(16777215,.3);e.position.copy(new THREE__namespace.Vector3(1,1,1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);e.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);t.add(e)}{var e=new THREE__namespace.AmbientLight(16777215,.6);t.add(e)}n.add(t)}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),p=(t=c[0])===null||t===void 0?void 0:t.trim(),f=(e=c[1])===null||e===void 0?void 0:e.trim();p&&f&&(r[p]=f)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$3=new THREE__namespace.BufferGeometry;geometry$3.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry$3.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry$3.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$3=new THREE__namespace.Mesh(geometry$3,material);mesh$3.matrixAutoUpdate=!1;var scene$1=new THREE__namespace.Scene;scene$1.add(mesh$3),scene$1.matrixAutoUpdate=!1;var camera$1=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$1.position.set(0,0,.5),camera$1.lookAt(0,0,0),camera$1.updateMatrixWorld(!0),camera$1.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,p=imageSize[0]/3,f=imageSize[1]/3;n.setViewport(l,c,p,f),n.setScissor(l,c,p,f),n.setScissorTest(!0),n.autoClear=!1,n.render(scene$1,camera$1),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var FRAGMENT=`
|
|
2200
|
+
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,p=0,f=r.count;c<f;c++,p+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[p]=p===0?0:s[p-1],s[p+1]=s[p]+u.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,p=c.resolution,f=c.linewidth,d=l.attributes.instanceStart,h=l.attributes.instanceEnd,m=new THREE__namespace.Vector4,g=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,E=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,A),A.w=1,A.applyMatrix4(s.matrixWorldInverse),A.applyMatrix4(u),A.multiplyScalar(1/A.w),A.x*=p.x/2,A.y*=p.y/2,A.z=0,E.copy(A);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=d.count;_<S;_++){m.fromBufferAttribute(d,_),g.fromBufferAttribute(h,_),m.w=1,g.w=1,m.applyMatrix4(v),g.applyMatrix4(v),m.applyMatrix4(u),g.applyMatrix4(u),m.multiplyScalar(1/m.w),g.multiplyScalar(1/g.w);var R=m.z<-1&&g.z<-1,M=m.z>1&&g.z>1;if(!(R||M)){m.x*=p.x/2,m.y*=p.y/2,g.x*=p.x/2,g.y*=p.y/2,y.start.copy(m),y.start.z=0,y.end.copy(g),y.end.z=0;var H=y.closestPointToPointParameter(E,!0);y.at(H,b);var B=THREE__namespace.MathUtils.lerp(m.z,g.z,H),C=B>=-1&&B<=1,w=E.distanceTo(b)<f*.5;if(C&&w){y.start.fromBufferAttribute(d,_),y.end.fromBufferAttribute(h,_),y.start.applyMatrix4(T),y.end.applyMatrix4(T);var I=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3;o.distanceSqToSegment(y.start,y.end,O,I),r.push({point:O,pointOnLine:I,distance:o.origin.distanceTo(O),object:this,faceIndex:_})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.5.0-alpha.2"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,p,f,d;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(m){var g=u[m];return g&&(l={profileId:m,profilePath:"".concat(r,"/").concat(g.path),deprecated:!!g.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(p=h.sent(),s){if(d=void 0,d=p.layouts[e.handedness],!d)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));d.assetPath&&(f=l.profilePath.replace("profile.json",d.assetPath))}return[2,{profile:p,assetPath:f}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,p=o.valueNodeProperty;s&&(p===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:p===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(p){var f=p.valueNodeName,d=p.minNodeName,h=p.maxNodeName,m=p.valueNodeProperty;if(m===Constants.VisualResponseProperty.TRANSFORM){if(p.minNode=t.getObjectByName(d),p.maxNode=t.getObjectByName(h),!p.minNode){console.warn("Could not find ".concat(d," in the model"));return}if(!p.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}p.valueNode=t.getObjectByName(f),p.valueNode||console.warn("Could not find ".concat(f," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,p=l.assetPath;r.motionController=new MotionController(u,c,p);var f=e._assetCache[r.motionController.assetUrl];if(f)o=f.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(d){e._assetCache[r.motionController.assetUrl]=d,o=d.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n}(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300;new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI);var XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,p){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(f){var d;return parseGltf(f.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(d=c.split("?")[1])!==null&&d!==void 0?d:"",fetcher:internalFetcher})}).then(function(f){return p(f)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var p=r.xrManager.getControllerGrip(1);p.add(u.createControllerModel(p)),r.controllerWrappers[1].add(p)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c,p,f=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var d=this.works.getResolvedObserver(e);if(!d)throw new Error("Invalid PanoIndex");var h=getImageSizeFromURL(d.images.up),m=this.imageOptions.size;typeof m=="undefined"&&d&&h&&(m=Number(h)),typeof m=="undefined"&&(m=2048);var g=this.imageOptions.transform,A=function(B,C){return mapPanoResource(applyImageURLOptions(B,g,C))},E=__assign({key:"pano.".concat(d.panoId)},pick(this.imageOptions,["format","size","quality"])),v=d.images;c=(l=d.images.tiles)===null||l===void 0?void 0:l.filter(function(B){return B.size>m});var y="pano:"+jsonHash([v,E,g]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===y)return;var b=this.pendingTextureTask.panoId;(p=this.panoMeshes[b])===null||p===void 0||p.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:d.pano}))}var T=this.modelScene.parameter.resolveValue(),_=T.pano0,S=T.pano1,R;if((_==null?void 0:_.map.name)===y?R=_:(S==null?void 0:S.map.name)===y&&(R=S),R){var M={panoId:d.panoId,effect:f,leftPanoPicture:{panoId:R.panoId,map:R.map,mapSize:R.mapSize,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(d.pano,M,r);return}var H="move-to-pano-"+d.panoId;this.pending.add(H),this.pendingTextureTask={panoId:d.panoId,hash:y,onLoad:function(B){var C;s.pending.delete(H);var w=B.body;if(s.destroyed)w.dispose();else{w.name=y;var I=Array.isArray(w.image)?w.image[0]:w.image,O=(C=I==null?void 0:I.width)!==null&&C!==void 0?C:2048,F={panoId:d.panoId,effect:f,leftPanoPicture:{panoId:d.panoId,map:w,mapSize:O,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(d.pano,F,r)}},onError:function(B){s.pending.delete(H);var C=__assign(__assign(__assign({},d.pano),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:B,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:C})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(v,{imageURL:{transform:A,options:E},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(d.work)},void 0,void 0,function(B){var C,w;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===y&&((w=s.panoMeshes[d.panoId])===null||w===void 0||w.setProgress(B)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:B,meta:null,pano:d.pano}))},this.renderer).then(function(B){var C,w;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===y?(s.pendingTextureTask.onLoad(B),(w=s.panoMeshes[d.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:B.meta,pano:d.pano}))):B.body.dispose()}).catch(function(B){var C,w;((C=s.pendingTextureTask)===null||C===void 0?void 0:C.hash)===y&&(s.pendingTextureTask.onError(B),(w=s.panoMeshes[d.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:B,progress:0,meta:null,pano:d.pano})),s.emit("error",B))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:d.pano}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,p,f,d,h,m,g,A;o===void 0&&(o={});var E=now(),v=createUuid();this.panoResources[v]=r;var y=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(E);S[0];var R=S[1],M=this.locationMotion.value,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position;b=Math.max(H.distanceTo(B),y),T=[{key:R.key,progress:0,value:__assign(__assign({},M),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var C=this.locationMotion.getKeyFrameSegment(E),w=C[0],R=C[1],M=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(w).position,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position,O=R.value.count-M.count,F=Math.max(I.distanceTo(H),y)*O,N=Math.max(H.distanceTo(B),y);b=F+N,T=[{key:w.key,progress:0,value:__assign({},M)},{key:R.key,progress:F/b,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var z=this.locationMotionKeyframesLength(this.locationMotion.keyframes),J=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(E)*z/J}var G=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),Q={longitude:o.longitude,latitude:o.latitude,fov:o.fov},U=__assign(__assign({},e),{mode:this.mode,longitude:(u=Q.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=Q.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=Q.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),V=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:V,progress:0,state:U,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(U),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(Q,G).catch(noop$1);else{var X=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),Z=coordinatesToVector({longitude:(p=Q.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(f=Q.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),ee=new THREE__namespace.Object3D;ee.lookAt(X);var K=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ee.quaternion);ee.lookAt(Z);var re=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ee.quaternion),Y=new THREE__namespace.Matrix4().getInverse(K).premultiply(re),W=this.cameraMotion.value.fov,le=(d=Q.fov)!==null&&d!==void 0?d:this.cameraMotion.value.fov,oe=1;r.effect==="zoomin"?oe=1.5:r.effect==="zoomout"&&(oe=.4);for(var ae=le*oe,se=0;se<T.length-1;se++){var ie=T[se].key;if(ie){var fe=this.panoResources[ie];fe&&(fe.fixCameraTransform.copy(Y),fe.leftPanoPicture&&(fe.leftPanoPicture.zoom=Math.tan(ae/2/180*Math.PI)/Math.tan(W/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=Q.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=Q.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ae}},{progress:1,value:{longitude:(g=Q.longitude)!==null&&g!==void 0?g:this.cameraMotion.value.longitude,latitude:(A=Q.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:le}}],G).catch(noop$1)}var he=this.locationMotion.setKeyframes(T,G,_);he.then(function(){for(var Te=0,ce=s.modelScene.children;Te<ce.length;Te++){var xe=ce[Te];xe instanceof Model&&xe.show()}var j=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:V,progress:1,state:j,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(j);var te=s.works.getResolvedObserver(s.currentPano);if(te&&te.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var q={map:s.videoTexture,size:te.video.size,matrix:te.video.matrix,panoMatrix:te.matrix,alpha:1},ve=createUuid(),me=s.videoTexture.image;me.setAttribute("uuid",ve),canplayVideo().then(function(ge){ge&&te.video&&me.getAttribute("uuid")===ve&&(me.oncanplay=function(){me.oncanplay=noop$1,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=noop$1,s.panoVideo.setMaterial(q))},me.src=te.video.source)}).catch(function(){me.removeAttribute("uuid")})}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:V,progress:0,state:U,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getResolvedObserver(this.currentPano);if(!u)return null;var l=u.accessibleIds.filter(function(b){var T=panoParse(b);if(panoEqual(T,r.currentPano))return!1;var _=r.works.getResolvedObserver(T);return!_||_.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:_.loadable||_.active}),c=this.modelScene.intersectRaycaster(e)[0];if(c){var p=arrayMin(l,function(b){var T=r.works.getResolvedObserver(b);if(!T)return 1/0;var _=T.standingPosition.clone();return _.distanceTo(c.point)},!0),f=p[0],d=p[1];f&&d<this.panoTapTriggerRadius&&(s=(o=this.works.getResolvedObserver(f))!==null&&o!==void 0?o:null)}if(isNil(s)){var h=this.getForwardObserverOrNot(e);h&&(s=h)}for(var m=0,g=this.locationMotion.keyframes;m<g.length;m++){var A=g[m],E=this.panoResourceFromLocationMotionKeyframe(A);if(!(A.progress<this.locationMotion.progress)&&s&&E.panoId===s.panoId){s=null;break}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var v=s.panoId;this.panoMeshes[v]&&(this.panoMeshes[v].setDisabled(!1),this.panoMeshes[v].setLoading(!0))}var y={workCode:s.pano.workCode,panoIndex:s.pano.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:y,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:y,options:{},error:null})),s.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,p,f,d,h=[],m=2;m<arguments.length;m++)h[m-2]=arguments[m];this.userAction=!0;var g={},A={},E=this.locationMotion.keyframes[0],v=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],y=this.locationMotion.getKeyFrameSegment(e),b=y[0],T=y[1];this.panoResourceFromLocationMotionKeyframe(b);var _=this.panoResourceFromLocationMotionKeyframe(T),S=this.panoResourceFromLocationMotionKeyframe(E),R=this.panoResourceFromLocationMotionKeyframe(v),M=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),A.longitude=this.cameraMotion.value.longitude,A.latitude=this.cameraMotion.value.latitude,A.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),g.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var H=this.locationMotion.getKeyFrameSegment(e),B=H[0],C=H[1],w=this.panoResourceFromLocationMotionKeyframe(B),I=this.panoResourceFromLocationMotionKeyframe(C),O=new THREE__namespace.Vector3().copy(w.position),F=new THREE__namespace.Vector3().copy(I.position),N=this.locationMotion.value.count-C.value.count+1;if(g.progress=N,I.leftPanoPicture&&(N<1?w.leftPanoPicture&&(g.pano0=w.leftPanoPicture):g.pano0=I.leftPanoPicture,g.pano1=I.leftPanoPicture),I.effect==="montage"?g.transition="BLACK":I.effect==="spread"?g.transition="SPREAD":g.transition="FADE",(I.effect==="zoomin"||I.effect==="zoomout")&&(g.progress=Math.pow(N,3)),N<1&&I.effect!=="fly"){if(g.pano0&&w.leftPanoPicture){var z={panoId:g.pano0.panoId,map:g.pano0.map,mapSize:g.pano0.mapSize,zoom:g.pano0.zoom,matrix:w.leftPanoPicture.matrix.clone().setPosition(I.position)},J=this.panoPictureObserverMap.get(g.pano0);J&&this.panoPictureObserverMap.set(z,J),g.pano0=z}O.copy(F),M=!0}A.distance=this.locationMotion.value.distance,A.offset=new THREE__namespace.Vector3(O.x+(F.x-O.x)*N,O.y+(F.y-O.y)*N,O.z+(F.z-O.z)*N);for(var G=[],Q=[],U=0,V=this.locationMotion.keyframes;U<V.length;U++){var X=V[U],Z=X.key,ee=X.progress;Z!==void 0&&(G.push(Z),ee>this.locationMotion.progress&&Q.push(Z))}for(var K=0,re=Object.keys(this.panoResources);K<re.length;K++){var Y=re[K];if(!(Q.indexOf(Y)>=0)){var W=this.panoResources[Y];if(W.leftPanoPicture){var le=W.leftPanoPicture.map;if(le){if(le===((s=g.pano0)===null||s===void 0?void 0:s.map)||le===((u=g.pano1)===null||u===void 0?void 0:u.map))continue;le.dispose(),W.leftPanoPicture=null}}G.indexOf(Y)>=0||delete this.panoResources[Y]}}this.currentPano=panoParse(I.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(S.panoId),state:__assign(__assign(__assign(__assign({},panoParse(R.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),A),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(g)===!1&&this.modelScene.parameter.set(g),isEmptyObject(A)===!1&&this.setCamera(A);var oe=this.works.getResolvedObserver(this.currentPano),ae=h[1];if(!ae){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var se=this.xrManager.referenceSpace;if(se){var ie=this.xrManager.cameraVR,fe=this.xrManager.cameraL,he=this.xrManager.cameraR,Te=[fe,he],ce=ae.getViewerPose(se),xe=new THREE__namespace.Vector3(0,0,0);if(ce){var j;j=this.xrManager.session.renderState.baseLayer;var te=ce.views;if(!j){console.error("no layer found");return}this.renderer.setFramebuffer(j.framebuffer);var q=!1;te.length!==ie.cameras.length&&(ie.cameras.length=0,q=!0),this.parallaxCameraMatrixs=[];var ve=new THREE__namespace.Vector3,me=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(te[0].transform.matrix).decompose(ve,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(te[1].transform.matrix).decompose(me,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),me.clone().sub(ve).normalize();var ge=new THREE__namespace.Vector3,Ue=new THREE__namespace.Quaternion,Ke=new THREE__namespace.Vector3;this.camera.matrix.decompose(ge,Ue,Ke);for(var _e=0;_e<te.length;_e++){var we=te[_e],ne=j.getViewport(we),pe=Te[_e];pe.matrix.fromArray(we.transform.matrix);var Be=new THREE__namespace.Vector3,Se=new THREE__namespace.Quaternion,ke=new THREE__namespace.Vector3;pe.matrix.decompose(Be,Se,ke),xe.copy(ge),pe.position.copy(ge),pe.quaternion.copy(Se),pe.scale.copy(ke),pe.updateMatrix(),pe.projectionMatrix.fromArray(we.projectionMatrix),pe.viewport.set(ne.x,ne.y,ne.width,ne.height),q===!0&&ie.cameras.push(pe)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var _e=0;_e<this.xrManager.session.inputSources.length;_e++)if(this.xrManager.session.inputSources[_e]&&this.xrManager.session.inputSources[_e].targetRayMode==="transient-pointer"){var Me=ae.getPose(this.xrManager.session.inputSources[_e].targetRaySpace,se);if(Me){var de=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(Me.transform.orientation),ye=new THREE__namespace.Raycaster(this.camera.position,de);this.gazeRay=ye}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var He=this.xrManager.session.inputSources,_e=0;_e<He.length;_e++){var Ie=this.xrManager.controllers[_e],Qe=He[_e];if(Qe){Ie&&Ie.update(Qe,ae,se);var ye=this.xrManager.getController(_e),Je=new THREE__namespace.Vector3(0,1.2,0),Le=ye.position.clone().add(xe).sub(Je);Qe.handedness==="left"?this.xrControllerRay.left.set(Le,new THREE__namespace.Vector3(0,0,-1).applyEuler(ye.rotation)):Qe.handedness==="right"&&this.xrControllerRay.right.set(Le,new THREE__namespace.Vector3(0,0,-1).applyEuler(ye.rotation)),this.controllerWrappers[_e].position.copy(new THREE__namespace.Vector3(0,0,0).add(xe).sub(Je));var Ne=this.modelScene.intersectRaycaster(this.xrControllerRay.right);if(Ne.length===0&&(Ne=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(wt){var xt;return __assign({floor:(xt=oe==null?void 0:oe.floorIndex)!==null&&xt!==void 0?xt:0},wt)})),Ne.length>=1&&Ne[0].face)if(Qe.handedness==="right"){var ft=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),ze=Ne[0].face.normal,it=ze.clone(),Re=Ne[0].point.clone();this.intersectMesh.position.copy(Re);var dt=Re.clone().add(it);if(this.intersectMesh.lookAt(dt),Math.abs(ze.y)>.99){var Ce=this.camera.position.clone().sub(Re);this.intersectMesh.rotation.z=-Math.atan2(Ce.z,Ce.x)}this.intersectMesh.visible=!0,this.needsRender=!0,ft.length>0?(this.pointerLines.right.setPoints(Le,ft[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Le,Ne[0].point));var Fe=Ne[0],ot=createEvent("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:Fe!=null?Fe:null,object:this.intersectMesh});if(this.emit("intersect.update",ot),ot.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Le,Ne[0].point)}}this.updateControllerHelper(He,e,r)}if(this.camera.pose.distance>.1||M)for(var je=0,Xe=Object.keys(this.panoMeshes);je<Xe.length;je++){var Oe=Xe[je],be=this.panoMeshes[Oe];be.setOpacity(0),be.setCurrent(!1),be.updateTime&&be.updateTime(e,r),be.visible=!1}else if(oe){var st=arrayMin(oe.visibleIds,function(Rt){var Ct=o.works.getResolvedObserver(Rt);return Ct?oe.standingPosition.distanceTo(Ct.standingPosition):1/0},!0),At=st[1];At=clamp$1(At,2.5,1/0);for(var yt=oe.visibleIds.concat(panoStringify(this.currentPano)),We=this.getForwardObserverOrNot(),De=this.camera.getDirection(new THREE__namespace.Vector3),Ze=0,nt=Object.keys(this.panoMeshes);Ze<nt.length;Ze++){var Oe=nt[Ze],be=this.panoMeshes[Oe],J=this.works.getResolvedObserver(Oe);if(yt.indexOf(Oe)===-1)be.setCurrent(!1),be.setOpacity(0);else if(!J)be.setCurrent(!1),be.setOpacity(0);else if(!J.loadable&&!J.active)be.setCurrent(!1),be.setOpacity(0);else{var Ve=be.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);be.setCurrent(!be.loading&&be.progress===0&&We!==null&&We.panoId===Oe),be.setOpacity(Ve<.01?0:clamp$1(At/Ve*1.2,.65,.98));var Ee=this.camera.position.clone().setY(be.position.y),de=new THREE__namespace.Vector3().copy(be.position).sub(Ee).normalize();if(Oe===panoStringify(this.currentPano)){var Ye=clamp$1((.5-Ee.distanceTo(be.position))/.5,0,1);de.multiplyScalar(1-Ye).add(De.clone().multiplyScalar(Ye))}de.length()>0&&be.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(de.x,de.z),0))}be.updateTime&&be.updateTime(e,r)}}{var N=(c=this.modelScene.parameter.progress)!==null&&c!==void 0?c:1,Tt=Math.round(N),$e=this.modelScene.parameter.pano0,ut=this.modelScene.parameter.pano1,Et=Tt===0?$e:ut,J=void 0;if(Et&&(J=this.works.getResolvedObserver(Et.panoId),J||(J=this.panoPictureObserverMap.get(Et))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=N<=.5?0:N<1?1:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!J||!Et||this.tileLevelForFov===!1)this.tiling.setObserver(null),this.tiling.update(this.renderer,this.camera,new THREE__namespace.Matrix4,1,0,0),this.modelScene.parameter.set("refinedScreen",null);else{var St=getImageSizeLevel(Et.mapSize),tt=St+1,bt=4;this.tiling.setObserver(J);var vt=this.tiling.update(this.renderer,this.camera,Et.matrix,Et.zoom,tt,bt),at={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:Tt,opacity:($e==null?void 0:$e.panoId)===(ut==null?void 0:ut.panoId)?1:easeInQuart(Math.abs(((p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:0)-.5)*2)},lt=this.modelScene.parameter.refinedScreen;(vt||at.pano!==(lt==null?void 0:lt.pano)||at.opacity!==(lt==null?void 0:lt.opacity))&&this.modelScene.parameter.set("refinedScreen",at)}}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e);{var ct=_.effect,pt=this.modelScene.parameter,$e=pt.pano0,ut=pt.pano1;if($e&&ut&&$e!==ut&&ct==="fly"&&this.flyEffectUseDepthBuffer){if(((f=this.modelScene.parameter.pano0Depth)===null||f===void 0?void 0:f.panoId)!==$e.panoId||((d=this.modelScene.parameter.pano1Depth)===null||d===void 0?void 0:d.panoId)!==ut.panoId){var _t=500,ht=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==ht&&this.pano0DepthCubeRenderTarget.setSize(ht,ht):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ht,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==ht&&this.pano1DepthCubeRenderTarget.setSize(ht,ht):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ht,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var mt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);mt.matrix.copy($e.matrix),mt.matrixWorld.copy(mt.matrix),mt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,mt,_t);var Ge=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);Ge.matrix.copy(ut.matrix),Ge.matrixWorld.copy(Ge.matrix),Ge.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,Ge,_t),this.modelScene.parameter.set({pano0Depth:{panoId:$e.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:_t},pano1Depth:{panoId:ut.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:_t}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var p=e[c].handedness,f=e[c].gamepad;switch(p){case"left":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"LeftAxesDown",r)),f!=null&&f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"X",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"Y",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"LeftTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"LeftPinch",r));var d={raycaster:s,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.buttons.X=f.buttons&&f.buttons[4]?f.buttons[4].pressed:!1,l.buttons.Y=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.LeftTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.LeftPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1,l.left=d;break;case"right":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"RightAxesDown",r)),f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"A",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"B",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"RightTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"RightPinch",r));var h={raycaster:u,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.right=h,l.buttons.A=f.buttons&&f.buttons[4]?f==null?void 0:f.buttons[4].pressed:!1,l.buttons.B=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.RightTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.RightPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),p=this.emit("xr.gesture.tap",c);!p&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(n){var t=new THREE__namespace.Group;t.name="internalLights";{var e=new THREE__namespace.DirectionalLight(16777215,.3);e.position.copy(new THREE__namespace.Vector3(1,1,1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);e.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),t.add(e)}{var e=new THREE__namespace.DirectionalLight(16777215,.1);t.add(e)}{var e=new THREE__namespace.AmbientLight(16777215,.6);t.add(e)}n.add(t)}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),p=(t=c[0])===null||t===void 0?void 0:t.trim(),f=(e=c[1])===null||e===void 0?void 0:e.trim();p&&f&&(r[p]=f)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$3=new THREE__namespace.BufferGeometry;geometry$3.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry$3.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry$3.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$3=new THREE__namespace.Mesh(geometry$3,material);mesh$3.matrixAutoUpdate=!1;var scene$1=new THREE__namespace.Scene;scene$1.add(mesh$3),scene$1.matrixAutoUpdate=!1;var camera$1=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$1.position.set(0,0,.5),camera$1.lookAt(0,0,0),camera$1.updateMatrixWorld(!0),camera$1.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,p=imageSize[0]/3,f=imageSize[1]/3;n.setViewport(l,c,p,f),n.setScissor(l,c,p,f),n.setScissorTest(!0),n.autoClear=!1,n.render(scene$1,camera$1),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var FRAGMENT=`
|
|
2201
2201
|
precision mediump float;
|
|
2202
2202
|
precision mediump int;
|
|
2203
2203
|
uniform sampler2D depthBuffer;
|
|
@@ -2230,4 +2230,4 @@ void main() {
|
|
|
2230
2230
|
`,e},t.prototype.updateShaderSource=function(){var e=this.getDefines()+edlVertexShader,r=this.getDefines()+edlFragmentShader;this.setValues({vertexShader:e,fragmentShader:r}),this.needsUpdate=!0},__decorate([uniform$1("screenWidth"),__metadata("design:type",Number)],t.prototype,"screenWidth",void 0),__decorate([uniform$1("screenHeight"),__metadata("design:type",Number)],t.prototype,"screenHeight",void 0),__decorate([uniform$1("edlStrength"),__metadata("design:type",Number)],t.prototype,"edlStrength",void 0),__decorate([uniform$1("uNear"),__metadata("design:type",Number)],t.prototype,"uNear",void 0),__decorate([uniform$1("uFar"),__metadata("design:type",Number)],t.prototype,"uFar",void 0),__decorate([uniform$1("radius"),__metadata("design:type",Number)],t.prototype,"radius",void 0),__decorate([uniform$1("neighbours",!0),__metadata("design:type",Float32Array)],t.prototype,"neighbours",void 0),__decorate([uniform$1("depthMap"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"depthMap",void 0),__decorate([uniform$1("uEDLColor"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"uEDLColor",void 0),__decorate([uniform$1("uEDLDepth"),__metadata("design:type",THREE__namespace.Texture)],t.prototype,"uEDLDepth",void 0),__decorate([uniform$1("uProj"),__metadata("design:type",Array)],t.prototype,"uProj",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform$1(n,t){return{type:n,value:t}}function uniform$1(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(o){o!==this.getUniform(n)&&(this.setUniform(n,o),t&&this.updateShaderSource())}})}}var passCamera$1=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry$1=new THREE__namespace.BufferGeometry;geometry$1.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry$1.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh$1=new THREE__namespace.Mesh(geometry$1),edlEffectScene=new THREE__namespace.Scene;edlEffectScene.add(mesh$1);var EDLEffect=function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.sharedV2=new THREE__namespace.Vector2,u.renderer=e,u.material=new EDLMaterial,mesh$1.material=u.material,u.material.needsUpdate=!0,u}return t.prototype.render=function(e){this.modelScene.setMaterial({useEDL:!0}),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera);var r=this.camera,o=this.material.uniforms,s=this.renderer.getSize(this.sharedV2);o.screenWidth.value=s.x,o.screenHeight.value=s.y;var u=r.projectionMatrix,l=new Float32Array(16);l.set(u.elements);for(var c=new Float32Array(this.material.neighbourCount*2),p=0;p<this.material.neighbourCount;p++)c[2*p+0]=Math.cos(2*p*Math.PI/this.material.neighbourCount),c[2*p+1]=Math.sin(2*p*Math.PI/this.material.neighbourCount);o.neighbours.value=c,o.uNear.value=r.near,o.uFar.value=r.far,o.uEDLColor.value=e[0].texture,o.uProj.value=l,o.edlStrength.value=.5,o.radius.value=1,o.opacity.value=1,this.renderer.setRenderTarget(e[1]),this.renderer.render(edlEffectScene,passCamera$1)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Effect),shaderedV2$1=new THREE__namespace.Vector2,EDLRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="edl",s.edlEffect=new EDLEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(shaderedV2$1);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType}),s.enableFragDepth?s.modelRenderTarget:null],console.log(s.screenBuffers),s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&this.edlEffect.render(this.screenBuffers),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.edlEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0)},t.prototype.setSize=function(e,r){if(this.modelRenderTarget.width!==e||this.modelRenderTarget.height!==r){this.modelRenderTarget.setSize(e,r),this.modelRenderTarget.depthTexture.dispose();var o=new THREE__namespace.DepthTexture(e,r);o.generateMipmaps=!1,o.format=THREE__namespace.DepthStencilFormat,o.type=THREE__namespace.UnsignedInt248Type,this.modelRenderTarget.depthTexture=o,this.modelRenderTarget.depthTexture.needsUpdate=!0}for(var s=0,u=this.screenBuffers;s<u.length;s++){var l=u[s];l&&l.setSize(e,r)}},t.prototype.dispose=function(){this.screenBuffers.forEach(function(e){e&&e.dispose()}),this.screenBuffers=[],this.edlEffect.dispose()},t}(BaseRenderer);const fragment=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}(`}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{H{vs|z-nz}yr?Q-drvtuZn}H{vs|z-nz}yr?Q-Qr}uZn}Hn\bv{t-rp?-bH|vq-znv{56-
|
|
2231
2231
|
sy|n-qr}u-J-r\x07r?Q5Qr}uZn}9-b6;Hvs5qr}u-KJ->;=6
|
|
2232
2232
|
qvpnqH\frpA-p|y|-J-r\x07r?Q5drvtuZn}9-b6H-p|y|-J-p|y|-<-p|y|;HtylSntP|y|-J-rpA5p|y|;\x07\b 9->;=6H-\f`),vertex=function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}(`}rpvv|{-zrqvz}-sy|nH}rpvv|{-zrqvz}-v{Hnvor-rp@-}|vv|{Hnvor-rp?-H{vs|z-znA-}|wrpv|{Znv\x07H{vs|z-znA-z|qrycvrZnv\x07Hn\bv{t-rp?-bH|vq-znv{56-
|
|
2233
|
-
b-J-Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6H\f`);var HQMaterial=function(n){__extends(t,n);function t(){var e=n.call(this,{vertexShader:vertex,fragmentShader:fragment})||this;return e.uniforms={uDepthMap:makeUniform("t",null),uWeightMap:makeUniform("t",null)},e.depthTest=!0,e.depthWrite=!0,e.opacity=1,e}return t.prototype.getUniform=function(e){return this.uniforms===void 0?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,r){if(this.uniforms!==void 0){var o=this.uniforms[e];o.value=r}},__decorate([uniform("uDepthMap"),__metadata("design:type",Number)],t.prototype,"uDepthMap",void 0),__decorate([uniform("uWeightMap"),__metadata("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform(n,t){return{type:n,value:t}}function uniform(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(o){o!==this.getUniform(n)&&(this.setUniform(n,o),t&&this.updateShaderSource())}})}}var passCamera=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh=new THREE__namespace.Mesh(geometry),hqScene=new THREE__namespace.Scene;hqScene.add(mesh);var HQEffect=function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.sharedV2=new THREE__namespace.Vector2,u.renderer=e,u.material=new HQMaterial,u.camera=o,mesh.material=u.material,u}return t.prototype.render=function(e){this.modelScene.setMaterial({useHQDepth:!0,useHQWeight:!1}),this.modelScene.update(this.renderer,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.modelScene.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.modelScene.update(this.renderer,this.camera),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new THREE__namespace.Color(0,0,0)),this.renderer.setClearAlpha(0),this.renderer.setRenderTarget(e[1]),this.renderer.render(this.scene,this.camera),this.material.uniforms.uWeightMap.value=e[1].texture,this.material.uniforms.uDepthMap.value=e[0].depthTexture,this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new THREE__namespace.Color(0,0,0)),this.renderer.setClearAlpha(1),this.renderer.setRenderTarget(e[2]),this.renderer.render(hqScene,passCamera),this.modelScene.setMaterial({useHQWeight:!1,useHQDepth:!1})},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Effect),shaderedV2=new THREE__namespace.Vector2,HQRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="hq",s.hqEffect=new HQEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(shaderedV2),l=new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:new THREE__namespace.DepthTexture(u.x,u.y,THREE__namespace.UnsignedIntType)});l.depthTexture.format=THREE__namespace.DepthFormat,l.depthBuffer=!0;var c=new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:l.depthTexture});return s.screenBuffers=[l,c,s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&this.hqEffect.render(this.screenBuffers),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.hqEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0)},t.prototype.setSize=function(e,r){if(this.modelRenderTarget.width!==e||this.modelRenderTarget.height!==r){this.modelRenderTarget.setSize(e,r),this.modelRenderTarget.depthTexture.dispose();var o=new THREE__namespace.DepthTexture(e,r);o.generateMipmaps=!1,o.format=THREE__namespace.DepthStencilFormat,o.type=THREE__namespace.UnsignedInt248Type,this.modelRenderTarget.depthTexture=o,this.modelRenderTarget.depthTexture.needsUpdate=!0}for(var s=0,u=this.screenBuffers;s<u.length;s++){var l=u[s];l&&l.setSize(e,r)}},t.prototype.dispose=function(){this.screenBuffers.forEach(function(e){e&&(e.dispose(),e.depthTexture&&e.depthTexture.dispose())}),this.screenBuffers=[],this.hqEffect.dispose()},t}(BaseRenderer),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0)},t.prototype.setSize=function(e,r){},t}(BaseRenderer),DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},sharedVector2=new THREE__namespace.Vector2,sharedSphere=new THREE__namespace.Sphere;new THREE__namespace.Frustum,new THREE__namespace.Matrix4;var worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,p,f,d,h,m=n.call(this)||this;if(m.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[m.ident]=m),m.renderSwitch01=0,m.currentMode="Panorama",m.pano={workCode:"",panoIndex:0},m.needsRender=!1,m.modelSceneNeedsRender=!1,m.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,m.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),m.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),m.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,m.extraElements=[],m.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},m.fps={testCount:0,testTime:now()},m.info=null,m.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:DEFAULT_MODE_CHANGE_DURATION,m.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&m.throwError(new Error("cannot render a internal renderer")),m.renderer=e.renderer;else try{m.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var g=getViewportScale();m.renderer.setPixelRatio(g===1?window.devicePixelRatio:1),m.renderer.setSize(512,512)}catch(H){H instanceof Error&&m.throwError(H)}m.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(f=(p=m.renderer)===null||p===void 0?void 0:p.outputEncoding)!==null&&f!==void 0?f:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),m.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),m.camera=new Camera(DEFAULT_CAMERA_FOV),m.scene=new Scene,m.xrCustomObjectsScene=new THREE__namespace.Scene,m.scene.add(m.xrCustomObjectsScene),m.scene.matrixAutoUpdate=!1,m.loadWorkTask=Promise.resolve(),m.requestProxy=(d=e.requestProxy)!==null&&d!==void 0?d:DEFAULT_REQUEST_PROXY,m.networkSubscribe=new NetworkSubscribe,m.networkSubscribe.on("network",function(H,B,C,w){var I;m.emit("network.resource",createEvent("network.resource",{source:H,requestType:B,requestState:C,detail:w})),(I=m.analysis)===null||I===void 0||I.network(m.works,H,B,C,w)}),m.boundingMesh=new BoundingMesh,m.boundingMesh.name="bounding",m.readyCallbacks=[],m.syncingState=!1,m.helperGroup=new THREE__namespace.Group,m.helperGroup.name="helper",m.helperGroup.matrixAutoUpdate=!1,m.scene.add(m.helperGroup);var A=new Model(emptyWorks[0]);worksMap.set(m,emptyWorks),m.modelScene=new ModelScene,m.modelScene.add(A),m.modelScene.add(m.boundingMesh),m.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(m.scene),initLights(m.modelScene),m.state={mode:m.currentMode,workCode:m.pano.workCode,panoIndex:m.pano.panoIndex,longitude:m.camera.pose.longitude,latitude:m.camera.pose.latitude,fov:m.camera.pose.fov,offset:m.camera.pose.offset.clone(),distance:m.camera.pose.distance},m.stateSynced=!1,m.destroyed=!1,m.paused=!0,typeof window!="undefined"&&(e.play!==!1&&m.play(),m.stopAnimationLoop=AnimationFrameLoop.shared.add(function(H,B){for(var C=[],w=2;w<arguments.length;w++)C[w-2]=arguments[w];m.updateTime.apply(m,__spreadArray([H,B],C,!1))},!1,0,10));var E=function(){typeof document!="undefined"&&document.fullscreenElement===null&&m.currentMode==="VRPanorama"&&m.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},v=function(){m.needsRender=!0,m.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",E,!1),m.renderer&&m.renderer.domElement.addEventListener("webglcontextrestored",v,!1),m.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",E,!1),m.renderer&&m.renderer.domElement.removeEventListener("webglcontextrestored",v,!1)},m.plugins={},e.plugins&&e.plugins.length)for(var y=0,b=e.plugins;y<b.length;y++){var T=b[y];if(typeof T=="function")T(m);else if(Array.isArray(T)){var _=T[0],S=T[1],R=T[2];if(typeof _=="function"){var M=_(m,R);typeof S=="string"&&(m.plugins[S]?m.throwError(new Error("plugin name ".concat(S," is exists."))):m.plugins[S]=M)}}}return m.meshReplaceMaterialMap=new Map,m.meshOriginMaterialMap=new Map,initLegacyEvent(m),m.enableLayeringRendering=(h=e.enableLayeringRendering)!==null&&h!==void 0?h:!1,m._enablePostProcessing=!1,m._enableIOSEDR=!1,m._enableEDL=!1,m._enableHQ=!1,m.buildInRendererType="default",m._buildInRenderer=new DefaultRenderer({renderer:m.renderer,camera:m.camera,scene:m.scene,modelScene:m.modelScene,enableLayeringRendering:m.enableLayeringRendering}),m}return Object.defineProperty(t,"version",{get:function(){return"6.5.0-alpha.1"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),(e=this.renderer)===null||e===void 0||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var o=this.getElement();o&&o.parentNode&&o.parentNode.removeChild(o);var s=this.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((r=s.pano0)===null||r===void 0?void 0:r.map)&&s.pano1.map.dispose(),s.reset("pano0","pano1");for(var u=0,l=this.modelScene.children;u<l.length;u++){var c=l[u];c.dispose&&c.dispose(),this.modelScene.remove(c)}this.meshReplaceMaterialMap.forEach(function(p){p.dispose()}),this.meshOriginMaterialMap.forEach(function(p){p.dispose()}),this.renderer instanceof InternalWebGLRenderer&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){var r;if(Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize){var o=new THREE__namespace.Vector2;(r=this.renderer)===null||r===void 0||r.getDrawingBufferSize(o),this.controller.updateRenderSize(o)}},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return this._enableIOSEDR},set:function(e){this._enableIOSEDR!==e&&(this._enableIOSEDR=e,this.enablePostProcessing?this.buildInRendererType="luminance":this.buildInRendererType="default",this.currentMode&&this.currentMode==="Panorama"&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this._enableEDL},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");this._enableEDL!==e&&(this.buildInRendererType=e?"edl":"default",this._enableEDL=e,this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this._enableHQ},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");this._enableHQ!==e&&(this._enableHQ=e,this.buildInRendererType=e?"hq":"default",this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return this._enablePostProcessing},set:function(e){this._enablePostProcessing!==e&&(this._enablePostProcessing=e,this.enableIOSEDR?this.buildInRendererType="luminance":this.buildInRendererType="default"),this.needsRender=!0,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buildInRenderer",{get:function(){var e=this._buildInRenderer;if(e.type!==this.buildInRendererType)switch(this._buildInRenderer.dispose(),this.buildInRendererType){case"default":this._buildInRenderer=new DefaultRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._buildInRenderer=new EDLRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._buildInRenderer=new HQRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._buildInRenderer=new LuminanceRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._buildInRenderer},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);s||this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){if(e===void 0&&(e={}),!!this.renderer){var o=this.getElement();if(o){var s=o.parentNode;if(s&&s.nodeName){var u=e.width,l=u===void 0?s.offsetWidth:u,c=e.height,p=c===void 0?s.offsetHeight:c;this.renderer instanceof InternalWebGLRenderer&&(r&&this.renderer.setPixelRatio(r),this.renderer.setSize(l,p))}var f=new THREE__namespace.Vector2;this.renderer.getDrawingBufferSize(f),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(f),this.buildInRenderer.setSize(f.x,f.y),this.needsRender=!0,this.modelSceneNeedsRender=!0,this.render(noop$1,!0)}}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);if(!e)return emptyWorks;for(var r=0,o=e;r<o.length;r++){var s=o[r];if(!workRawMapping.has(s))return emptyWorks}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,p,f,d,h,m,g;s===void 0&&(s=!0);var A={};typeof o=="number"?A.duration=o:typeof o=="object"&&Object.assign(A,o),this.works===emptyWorks&&(A.duration===void 0&&(A.duration=0),A.effect===void 0&&(A.effect="instant"));var E=[];if(Array.isArray(e))for(var v=0,y=e;v<y.length;v++){var b=y[v];typeof b!="string"&&"work"in b?E.push(parseWork(b.work,b)):E.push(parseWork(b))}else E.push(parseWork(e));for(var T=createWorks(E),_=function(ee){var K=S,re=new Fetcher({allowHosts:ee.allowHosts,get requestProxy(){return K.requestProxy},get networkSubscribe(){return K.networkSubscribe}});registerFetcher(ee,re)},S=this,R=0,M=T;R<M.length;R++){var H=M[R];_(H)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var B=T.initial,C=B.work.observers[0],w=C?{workCode:C.work.workCode,panoIndex:C.panoIndex}:{workCode:B.work.workCode,panoIndex:0},I=(l=B.mode)!==null&&l!==void 0?l:C?"Panorama":"Mapview",O={};if(r==="inherit"){I=this.currentMode;var F=T.resolvedObservers[this.panoIndex];F?w={workCode:F.work.workCode,panoIndex:F.panoIndex}:typeof T.initial.panoIndex=="number"?w={workCode:T.initial.work.workCode,panoIndex:T.initial.panoIndex}:(I==="Panorama"||I==="VRPanorama"||I==="XRPanorama")&&(I="Mapview"),O={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof B.panoIndex=="number"&&(w={workCode:B.work.workCode,panoIndex:B.panoIndex}),B.mode&&(I=B.mode),O={longitude:B.longitude,latitude:B.latitude,fov:B.fov,distance:B.distance,offset:(c=B.offset)===null||c===void 0?void 0:c.clone()};else{if(I=(p=r.mode)!==null&&p!==void 0?p:this.currentMode,typeof r.panoIndex=="number"){var F=T.getResolvedObserver({workCode:(d=(f=r.workCode)!==null&&f!==void 0?f:B.work.workCode)!==null&&d!==void 0?d:"",panoIndex:r.panoIndex});F&&(w={workCode:F.work.workCode,panoIndex:F.panoIndex})}O={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var N=__assign(__assign(__assign({},w),{mode:I}),O),z=this.getCurrentState(),J=(h=A.duration)!==null&&h!==void 0?h:this.modeChangeDuration;(I==="Floorplan"||I==="Topview"||I==="Mapview")&&this.currentMode===I&&(J=0);var G="fly";(I==="Panorama"||I==="VRPanorama"||I==="XRPanorama")&&this.currentMode===I&&(G=(m=A.effect)!==null&&m!==void 0?m:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:T,state:N,userAction:s}));var Q=function(){u.pano=w;var ee=__assign(__assign({initial:{state:N,currentState:z,duration:J,effect:G,userAction:s}},u.commonParams()),u.controllerInits[I]),K=Controllers[I].initAnimationEndState(ee);if(u.controller&&u.currentMode===I)u.controller.updateWork(T,K,{effect:G,duration:J},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(I,ee));else{var re=u.currentMode;if(u.controller)u.controller.destroy();else{var Y=Controllers[I].initAnimationEndState(ee);u.camera.setFromPose(Y),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(I,ee);var W=createEvent("mode.change",{prevMode:re,mode:I,state:K,userAction:s});u.emit("mode.change",W)}};worksMap.set(this,T);var U=Promise.resolve();if(I===t.Mode.Floorplan||I===t.Mode.Topview||I===t.Mode.Mapview||I===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(N),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=I);var V=this.loadModels(T,A);U=Promise.all(V.map(function(ee){return ee.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,Q(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{Q();var X=!1;this.modelScene.autoRefine=!1;var Z=function(){u.works===T&&X===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),X=!0,u.modelScene.autoRefine=!0)},V=this.loadModels(T,A);U=Promise.all(V.map(function(K){return K.initReady})).then(noop$1),this.controller.once("pano.arrived",Z),this.controller.once("pano.cancel",Z),setTimeout(Z,((g=A.duration)!==null&&g!==void 0?g:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:T})),U.then(function(){return u.ready()}).then(function(){var ee;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:T})),(ee=u.analysis)===null||ee===void 0||ee.work(T)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),e.renderer&&e.modelScene.update(e.renderer,e.camera);for(var u=0,l=e.modelScene.children;u<l.length;u++){var c=l[u];c instanceof Model&&(c.dispose(),e.modelScene.remove(c))}e.needsRender=!0,e.modelSceneNeedsRender=!0,worksMap.delete(e);var p=parseWork(null),f=new Model(p);f.work=p,worksMap.set(e,createWorks([p])),e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,p){var f,d,h,m;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var g=0;l.controller&&(typeof o=="number"?g=o:g=(f=o==null?void 0:o.duration)!==null&&f!==void 0?f:l.modeChangeDuration);var A="fly";l.controller&&typeof o=="object"&&o.effect&&(A=o.effect);var E=typeof r.panoIndex=="number"?{workCode:(m=(d=r.workCode)!==null&&d!==void 0?d:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),p(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getResolvedObserver(E)){var v=new Error("PanoId ".concat(panoStringify(E)," not existed."));l.throwError(v),p(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&(l.modelScene.loaded||(g=0));var y=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,E)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(E,__assign({duration:g},r),s):l.controller.updateCamera(r,g,s).catch(noop$1):(panoEqual(l.pano,E)||(l.pano=E),l.controller.updateCamera(r,g,s).catch(noop$1));else{var S=__assign(__assign({},r),E),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:g,effect:A,userAction:s}},l.commonParams()),l.controllerInits[e]),M=Controllers[e].initAnimationEndState(R),H=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:M,userAction:s});if(l.emit("mode.change.request",H),!H.defaultPrevented){y&&y.destroy(),l.controller=l.applyController(e,R);var B=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:M,userAction:s});l.emit("mode.change",B)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){S instanceof Error&&(l.exitFullscreen(),l.throwError(S),p(S))});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){S instanceof Error&&(l.throwError(S),p(S))})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var p=this.renderer.getPixelRatio(),f=this.renderer.getRenderTarget(),d=this.renderer.getSize(new THREE__namespace.Vector2),h=0,m=0,g=1,A=1,E,v,y,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(m=r),typeof o=="number"&&(g=o),typeof s=="number"&&(A=s),E=u,v=l,T=c):(h=e.x,m=e.y,g=e.width,A=e.height,E=e.pixelRatio,v=e.flipY,y=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),m=Math.ceil(m),g=Math.ceil(g),A=Math.ceil(A),E=Math.ceil(E!=null?E:p),v=v!=null?v:!1;var _=this.getPixelsRenderTarget;_.setSize(g*E,A*E),this.renderer.setRenderTarget(_),this.camera.pixelRatio=E,this.camera.resolution.set(g,A),this.camera.setViewOffset(d.width,d.height,h,d.height-m-A,g,A);for(var S=0,R=this.scene.children;S<R.length;S++){var M=R[S];M instanceof THREE__namespace.Object3D&&M.traverseVisible(function(V){V.setResolution&&V.setResolution(g*E/p,A*E/p)})}this.modelScene.autoRefine=!1;var H;b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&(H=this.modelScene.parameter.modelAlpha,b===!0&&this.modelScene.parameter.set("modelAlpha",1));var B=this.helperVisible;y===!1&&(this.helperVisible=!1),this.modelScene.update(this.renderer,this.camera),this.controller?(this.controller.updateRenderSize(new THREE__namespace.Vector2(g*E,A*E)),this.controller.render(this.buildInRenderer,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0)):(this.renderer.render(this.scene,this.camera),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!1,this.renderer.render(this.modelScene,this.camera),this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0),this.helperVisible=B,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&(H===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",H)),this.modelScene.update(this.renderer,this.camera),this.modelScene.autoRefine=!0;var C=g*E,w=A*E,I=C*w,O=I*4,F;try{if(T){if(T.length!==O)throw new Error("buffer length is not equals pixels ".concat(O))}else T=new Uint8Array(O);if(this.renderer.readRenderTargetPixels(_,0,0,g*E,A*E,T),v)for(var N=I/2,z=0,J=0,G=0,Q=0;J<N;J++)for(Q=(w-Math.floor(J/C)-1)*C+J%C,G=0;G<4;G++)z=T[J*4+G],T[J*4+G]=T[Q*4+G],T[Q*4+G]=z}catch(V){F=V}if(this.renderer.setRenderTarget(f),this.controller&&this.controller.updateRenderSize){var U=new THREE__namespace.Vector2;this.renderer.getDrawingBufferSize(U),this.controller.updateRenderSize(U)}if(this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,F)throw F;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){var o=this;if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var s=this.renderer.getSize(sharedVector2);this.scene.traverseVisible(function(u){u.setResolution&&u.setResolution(s.x,s.y)})}return this.aroundScissor(function(){if(o.renderer){var u=o.scene.background;o.modelScene.background=o.camera.isOrthographicCamera?null:u,o.modelScene.environment=o.scene.environment,o.scene.background=null,o.controller?(o.controller.render(o.buildInRenderer,o.onlyRenderIfNeeds?o.modelSceneNeedsRender:!0),o.info={memory:__assign({},o.controller.renderer.info.memory),render:__assign({},o.controller.renderer.info.render)}):(o.renderer.render(o.scene,o.camera),o.info={memory:__assign({},o.renderer.info.memory),render:__assign({},o.renderer.info.render)}),o.scene.background=u,o.modelScene.background=null,o.modelScene.environment=null,o.poweredByRealsee&&o.currentMode!=="VRPanorama"&&o.currentMode!=="XRPanorama"&&o.renderer.getRenderTarget()!==o.getPixelsRenderTarget&&renderPoweredByRealsee(o.renderer)}e&&AnimationFrameLoop.shared.add(e,!0)}),null},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.autoNearFar){var c=this.modelScene.boundingBox.getBoundingSphere(sharedSphere),p=c.radius*2;c.containsPoint(this.camera.position)||(p=this.camera.position.distanceTo(c.center)+c.radius),p=clamp$1(p,800,5e4),this.camera.far!==p&&(this.camera.far=p);var f=p/1e4;f=clamp$1(f,.03,.1),this.camera.near!==f&&(this.camera.near=f)}if(this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var d=this.modelScene.loaded,h=this.modelScene.refined;if(this.modelScene.loaded){for(var m=[],g=0,A=this.modelScene.children;g<A.length;g++){var E=A[g];E instanceof Model&&E.outdated&&m.push(E)}for(var v=0,y=m;v<y.length;v++){var b=y[v];this.modelScene.remove(b),b.dispose()}if(m.length>0)for(var T=0,_=this.modelScene.children;T<_.length;T++){var E=_[T];E instanceof Model&&(E.visible=!0,this.modelSceneNeedsRender=!0)}}this.modelScene.update(this.renderer,this.camera),d===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),h===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.modelScene}))},!0,0,10)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var S=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;S>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var R=createEvent("render.prepare",{needsRender:this.needsRender,info:null});this.emit("render.prepare",R),R.defaultPrevented&&(this.needsRender=!1),this.renderer&&this.needsRender&&this.render(),this.emit("render",createEvent("render",{needsRender:this.needsRender,info:this.info})),this.needsRender=!1,this.modelSceneNeedsRender=!1,this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getResolvedObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var p={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in u&&typeof u.moveToPano=="function"?u.moveToPano(p,r,o):c&&(this.pano=p,this.once("initAnimation.start",function(f){r.moveStartCallback&&r.moveStartCallback(f.state)}),this.once("initAnimation.end",function(f){r.moveEndCallback&&r.moveEndCallback(f.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop$1);var s=this.works.getResolvedObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var p=__assign({key:"pano.".concat(s.panoId,".").concat(c)},pick(o.imageOptions,["size","format","quality","mappings"])),f=s.images[c],d=o.imageOptions.transform?o.imageOptions.transform(f,p):imageURL(f,p);return getFetcher(s.work).preload(d)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var p=this.renderer.getSize(new THREE__namespace.Vector2),f=p.x*this.scissor.width,d=p.y*this.scissor.height,h=p.x*this.scissor.left+(c.x+1)/2*f,m=p.y*(1-this.scissor.bottom-this.scissor.height)+(-c.y+1)/2*d;return new THREE__namespace.Vector2(h,m)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var s,u,l,c,p,f,d,h,m,g;r===void 0&&(r=!1),o===void 0&&(o=!0),e=Object.assign({},e),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var A;if(typeof e.panoIndex=="number")if(e.workCode)A={workCode:e.workCode,panoIndex:e.panoIndex};else{var E=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(w){return w.workCode===v}).length>0&&(E=v),A={workCode:E,panoIndex:e.panoIndex}}var y=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var M={workCode:A==null?void 0:A.workCode,panoIndex:A==null?void 0:A.panoIndex};typeof e.longitude=="number"&&(M.longitude=e.longitude),typeof e.latitude=="number"&&(M.latitude=e.latitude),typeof e.fov=="number"&&(M.fov=e.fov),typeof e.distance=="number"&&(M.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(M.offset=e.offset);var H=__assign(__assign({initial:{state:M,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),B=Controllers[y].initAnimationEndState(H);b=B.longitude,T=B.latitude,_=B.fov,S=B.offset,R=B.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(p=e.latitude)!==null&&p!==void 0?p:this.state.latitude,_=(f=e.fov)!==null&&f!==void 0?f:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var C={workCode:(A!=null?A:this.pano).workCode,panoIndex:(A!=null?A:this.pano).panoIndex,mode:y,longitude:b,latitude:T,fov:_,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:C})),stateEqual(this.state,C)||(this.controller&&C.mode==="VRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("VRPanorama")):this.controller&&C.mode==="XRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("XRPanorama")):(assignState(this.state,C),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(g=this.analysis)===null||g===void 0||g.state(this.works,this.state)))},t.prototype.aroundScissor=function(e){if(this.renderer){if(this.state.mode==="XRPanorama"){e();return}var r=new THREE__namespace.Vector2,o=this.scissor.left!==0||this.scissor.bottom!==0||this.scissor.width!==1||this.scissor.height!==1;if(o){this.renderer.getSize(r);var s=Math.floor(r.x*this.scissor.left),u=Math.floor(r.y*this.scissor.bottom),l=Math.floor(r.x*this.scissor.width),c=Math.floor(r.y*this.scissor.height);this.renderer.setViewport(s,u,l,c),this.renderer.setScissor(s,u,l,c),this.renderer.setScissorTest(!0)}e(),o&&(this.renderer.setViewport(0,0,r.x,r.y),this.renderer.setScissor(0,0,r.x,r.y),this.renderer.setScissorTest(!1))}},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var p=1,f=.2,d=.2,h=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,p),g=Math.abs(this.camera.pose.distance-this.state.distance),A=g>d*15?g/15:f,E=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,A),v=this.camera.pose.offset.distanceTo(this.state.offset),y=v>d*15?v/15:d,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(E,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:b.x,y:b.y,z:b.z},M={fov:m};return Object.assign(R,{distance:E}),Object.assign(M,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(M,0).catch(noop$1),this.controller.locationMotion.set(R,0).catch(noop$1),!0}}else{var H=1,B=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,H),C=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),_=C.longitude,S=C.latitude,E=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(E,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:m},0).catch(noop$1),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var w=this.currentMode,I=w===t.Mode.Floorplan||w===t.Mode.Topview||w===t.Mode.Mapview||w===t.Mode.Model;if(!I||this.modelScene.loaded){var O=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var F=0,N=O;F<N.length;F++){var z=N[F];this.controller instanceof Controllers.Panorama&&z.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(z):z()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady})},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModels=function(e,r){for(var o=this,s,u,l,c,p,f,d=new Map,h=!1,m=[],g=0,A=this.modelScene.children;g<A.length;g++){var E=A[g];E instanceof Model&&(E.outdated=!0,d.set(E.work.workCode,E),h=!0)}for(var v=function(S){var R=d.get(S.workCode);if(R)R.work=S,R.outdated=!1,d.delete(S.workCode),m.push(R);else{var M=(l=(u=(s=r.model)===null||s===void 0?void 0:s.textureOptions)!==null&&u!==void 0?u:r.textureOptions)!==null&&l!==void 0?l:y.textureOptions,H=(p=(c=r.model)===null||c===void 0?void 0:c["3d-tiles"])!==null&&p!==void 0?p:r["3d-tiles"],B=new Model(S,{light:(f=r.model)===null||f===void 0?void 0:f.light,textureOptions:M});if(m.push(B),H)if(typeof H=="function")for(var C=0,w=B.viewLayers;C<w.length;C++){var I=w[C],O=H(I,B);O&&(I.parameter.set(omit(O,["showLayers"])),O.showLayers===!1?I.visible=!1:Array.isArray(O.showLayers)&&(I.visible=O.showLayers.includes(I.name)))}else for(var F=0,N=B.viewLayers;F<N.length;F++){var I=N[F];I.parameter.set(omit(H,["showLayers"])),H.showLayers===!1?I.visible=!1:Array.isArray(H.showLayers)&&(I.visible=H.showLayers.includes(I.name))}h&&(B.visible=!1),y.modelScene.add(B),B.addEventListener("load",function(z){AnimationFrameLoop.shared.add(function(){o.emit("model.load",createEvent("model.load",{work:S,model:B,error:null}))},!0)}),B.addEventListener("changeShownFloor",function(z){o.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:S,model:B,error:null}))}),B.addEventListener("error",function(z){var J=z.error;o.emit("model.error",createEvent("model.error",{work:S,model:B,error:J})),o.throwError(J)}),y.emit("model.request",createEvent("model.request",{work:S,model:B,error:null}))}},y=this,b=0,T=e;b<T.length;b++){var _=T[b];v(_)}return this.modelScene.loaded=!1,this.modelScene.refined=!1,m},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,enableIOSEDR:this._enableIOSEDR,enableEDL:this.enableEDL,enableHQ:this.enableHQ,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");e!==t.Mode.Mapview&&(this.enableEDL=!1,this.enableHQ=!1);var s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(m){u.on(m,function(){for(var g=[],A=0;A<arguments.length;A++)g[A]=arguments[A];var E=o.emit.apply(o,__spreadArray([m],g,!1));if(E)return!1})},c=0,p=PROXY_CONTROLLER_EVENT_NAMES;c<p.length;c++){var f=p[c];l(f)}{var d=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,d)||(assignState(this.state,d),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return u.on("camera.update",function(m){var g;if(o.controller){var A=o.controller.getTargetState();m.userAction&&o.syncingState===!1&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:m.userAction,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:m.userAction,state:o.getCurrentState()}))}),u.on("initAnimation.start",function(m){var g,A=m.state,E=m.userAction;E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("initAnimation.end",function(m){var g,A=m.state,E=m.userAction;o.pano={workCode:A.workCode,panoIndex:A.panoIndex},E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var g,A=m.state,E=m.userAction;o.pano={workCode:A.workCode,panoIndex:A.panoIndex},E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.arrived",function(m){var g,A=m.state,E=m.userAction;o.pano={workCode:A.workCode,panoIndex:A.panoIndex},E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.cancel",function(m){var g,A=m.state,E=m.userAction;E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var g=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:g,state:o.getCurrentState()}))}),u.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(m){return o.throwError(m)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getResolvedObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;return r.position.copy(e.position),r.quaternion.copy(e.quaternion),r.scale.set(1,1,1),r.matrix.compose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1,cameraWorldToLocal(this.camera,r)}}return null},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t}(Subscribe),__FIVE_DEBUG__={instances:{},constructor:Five};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n}();exports.AnimationFrameLoop=AnimationFrameLoop,exports.Camera=Camera,exports.CustomShader=PBMCustomShader,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.Model=Model,exports.ModelScene=ModelScene,exports.Motion=Motion,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMCustomShader=PBMCustomShader,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PBMPointCloud=PBMPointCloud,exports.PBMPointCloudMaterial=PBMPointCloudMaterial,exports.PBMSkinnedMesh=PBMSkinnedMesh,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.Parameter=Parameter,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.Tile3DModel=Tile3DModel,exports.TileCache=TileCache,exports.TileNode=TileNode,exports.TileRequestScheduler=TileRequestScheduler,exports.Tileset=Tileset,exports.Trajectory=Trajectory,exports.TrajectoryNode=TrajectoryNode,exports.XRButton=XRButton,exports.controllersDefaultInitArgs=controllersDefaultInitArgs,exports.defaultImageURLTransform=imageURL,exports.draco=draco,exports.getViewportScale=getViewportScale,exports.imageSupport=imageSupport,exports.isPanoId=isPanoId,exports.ktx2=ktx2,exports.loadAt3d=loadAt3d,exports.loadB3dm=loadB3dm,exports.loadDome=loadDome,exports.loadDomez=loadDomez,exports.loadFbx=loadFbx,exports.loadGltf=loadGltf,exports.loadPbm=loadPbm,exports.loadPly=loadPly,exports.loadPnts=loadPnts,exports.loadX3p=loadX3p,exports.panoEqual=panoEqual,exports.panoParse=panoParse,exports.panoStringify=panoStringify,exports.parseWork=parseWork,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
|
|
2233
|
+
b-J-Htyl]|vv|{-J-}|wrpv|{Znv\x07-7-z|qrycvrZnv\x07-7-rpA5}|vv|{9>;=6H\f`);var HQMaterial=function(n){__extends(t,n);function t(){var e=n.call(this,{vertexShader:vertex,fragmentShader:fragment})||this;return e.uniforms={uDepthMap:makeUniform("t",null),uWeightMap:makeUniform("t",null)},e.depthTest=!0,e.depthWrite=!0,e.opacity=1,e}return t.prototype.getUniform=function(e){return this.uniforms===void 0?void 0:this.uniforms[e].value},t.prototype.setUniform=function(e,r){if(this.uniforms!==void 0){var o=this.uniforms[e];o.value=r}},__decorate([uniform("uDepthMap"),__metadata("design:type",Number)],t.prototype,"uDepthMap",void 0),__decorate([uniform("uWeightMap"),__metadata("design:type",Number)],t.prototype,"uWeightMap",void 0),t}(THREE__namespace.RawShaderMaterial);function makeUniform(n,t){return{type:n,value:t}}function uniform(n,t){return t===void 0&&(t=!1),function(e,r){Object.defineProperty(e,r,{get:function(){return this.getUniform(n)},set:function(o){o!==this.getUniform(n)&&(this.setUniform(n,o),t&&this.updateShaderSource())}})}}var passCamera=new THREE__namespace.OrthographicCamera(-1,1,1,-1,0,1),geometry=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry.setAttribute("uv",new THREE__namespace.Float32BufferAttribute([0,2,0,0,2,0],2));var mesh=new THREE__namespace.Mesh(geometry),hqScene=new THREE__namespace.Scene;hqScene.add(mesh);var HQEffect=function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.sharedV2=new THREE__namespace.Vector2,u.renderer=e,u.material=new HQMaterial,u.camera=o,mesh.material=u.material,u}return t.prototype.render=function(e){this.modelScene.setMaterial({useHQDepth:!0,useHQWeight:!1}),this.modelScene.update(this.renderer,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.modelScene.setMaterial({useHQWeight:!0,useHQDepth:!1}),this.modelScene.update(this.renderer,this.camera),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new THREE__namespace.Color(0,0,0)),this.renderer.setClearAlpha(0),this.renderer.setRenderTarget(e[1]),this.renderer.render(this.scene,this.camera),this.material.uniforms.uWeightMap.value=e[1].texture,this.material.uniforms.uDepthMap.value=e[0].depthTexture,this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0,this.renderer.setClearColor(new THREE__namespace.Color(0,0,0)),this.renderer.setClearAlpha(1),this.renderer.setRenderTarget(e[2]),this.renderer.render(hqScene,passCamera),this.modelScene.setMaterial({useHQWeight:!1,useHQDepth:!1})},t.prototype.dispose=function(){this.copyPass.dispose()},t}(Effect),shaderedV2=new THREE__namespace.Vector2,HQRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="hq",s.hqEffect=new HQEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(shaderedV2),l=new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:new THREE__namespace.DepthTexture(u.x,u.y,THREE__namespace.UnsignedIntType)});l.depthTexture.format=THREE__namespace.DepthFormat,l.depthBuffer=!0;var c=new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding,minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,format:THREE__namespace.RGBAFormat,type:THREE__namespace.FloatType,depthTexture:l.depthTexture});return s.screenBuffers=[l,c,s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&this.hqEffect.render(this.screenBuffers),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.hqEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0)},t.prototype.setSize=function(e,r){if(this.modelRenderTarget.width!==e||this.modelRenderTarget.height!==r){this.modelRenderTarget.setSize(e,r),this.modelRenderTarget.depthTexture.dispose();var o=new THREE__namespace.DepthTexture(e,r);o.generateMipmaps=!1,o.format=THREE__namespace.DepthStencilFormat,o.type=THREE__namespace.UnsignedInt248Type,this.modelRenderTarget.depthTexture=o,this.modelRenderTarget.depthTexture.needsUpdate=!0}for(var s=0,u=this.screenBuffers;s<u.length;s++){var l=u[s];l&&l.setSize(e,r)}},t.prototype.dispose=function(){this.screenBuffers.forEach(function(e){e&&(e.dispose(),e.depthTexture&&e.depthTexture.dispose())}),this.screenBuffers=[],this.hqEffect.dispose()},t}(BaseRenderer),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0)},t.prototype.setSize=function(e,r){},t}(BaseRenderer),DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},sharedVector2=new THREE__namespace.Vector2,sharedSphere=new THREE__namespace.Sphere;new THREE__namespace.Frustum,new THREE__namespace.Matrix4;var worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,p,f,d,h,m=n.call(this)||this;if(m.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[m.ident]=m),m.renderSwitch01=0,m.currentMode="Panorama",m.pano={workCode:"",panoIndex:0},m.needsRender=!1,m.modelSceneNeedsRender=!1,m.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,m.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),m.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),m.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,m.extraElements=[],m.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},m.fps={testCount:0,testTime:now()},m.info=null,m.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:DEFAULT_MODE_CHANGE_DURATION,m.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&m.throwError(new Error("cannot render a internal renderer")),m.renderer=e.renderer;else try{m.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var g=getViewportScale();m.renderer.setPixelRatio(g===1?window.devicePixelRatio:1),m.renderer.setSize(512,512)}catch(H){H instanceof Error&&m.throwError(H)}m.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(f=(p=m.renderer)===null||p===void 0?void 0:p.outputEncoding)!==null&&f!==void 0?f:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),m.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),m.camera=new Camera(DEFAULT_CAMERA_FOV),m.scene=new Scene,m.xrCustomObjectsScene=new THREE__namespace.Scene,m.scene.add(m.xrCustomObjectsScene),m.scene.matrixAutoUpdate=!1,m.loadWorkTask=Promise.resolve(),m.requestProxy=(d=e.requestProxy)!==null&&d!==void 0?d:DEFAULT_REQUEST_PROXY,m.networkSubscribe=new NetworkSubscribe,m.networkSubscribe.on("network",function(H,B,C,w){var I;m.emit("network.resource",createEvent("network.resource",{source:H,requestType:B,requestState:C,detail:w})),(I=m.analysis)===null||I===void 0||I.network(m.works,H,B,C,w)}),m.boundingMesh=new BoundingMesh,m.boundingMesh.name="bounding",m.readyCallbacks=[],m.syncingState=!1,m.helperGroup=new THREE__namespace.Group,m.helperGroup.name="helper",m.helperGroup.matrixAutoUpdate=!1,m.scene.add(m.helperGroup);var A=new Model(emptyWorks[0]);worksMap.set(m,emptyWorks),m.modelScene=new ModelScene,m.modelScene.add(A),m.modelScene.add(m.boundingMesh),m.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(m.scene),initLights(m.modelScene),m.state={mode:m.currentMode,workCode:m.pano.workCode,panoIndex:m.pano.panoIndex,longitude:m.camera.pose.longitude,latitude:m.camera.pose.latitude,fov:m.camera.pose.fov,offset:m.camera.pose.offset.clone(),distance:m.camera.pose.distance},m.stateSynced=!1,m.destroyed=!1,m.paused=!0,typeof window!="undefined"&&(e.play!==!1&&m.play(),m.stopAnimationLoop=AnimationFrameLoop.shared.add(function(H,B){for(var C=[],w=2;w<arguments.length;w++)C[w-2]=arguments[w];m.updateTime.apply(m,__spreadArray([H,B],C,!1))},!1,0,10));var E=function(){typeof document!="undefined"&&document.fullscreenElement===null&&m.currentMode==="VRPanorama"&&m.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},v=function(){m.needsRender=!0,m.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",E,!1),m.renderer&&m.renderer.domElement.addEventListener("webglcontextrestored",v,!1),m.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",E,!1),m.renderer&&m.renderer.domElement.removeEventListener("webglcontextrestored",v,!1)},m.plugins={},e.plugins&&e.plugins.length)for(var y=0,b=e.plugins;y<b.length;y++){var T=b[y];if(typeof T=="function")T(m);else if(Array.isArray(T)){var _=T[0],S=T[1],R=T[2];if(typeof _=="function"){var M=_(m,R);typeof S=="string"&&(m.plugins[S]?m.throwError(new Error("plugin name ".concat(S," is exists."))):m.plugins[S]=M)}}}return m.meshReplaceMaterialMap=new Map,m.meshOriginMaterialMap=new Map,initLegacyEvent(m),m.enableLayeringRendering=(h=e.enableLayeringRendering)!==null&&h!==void 0?h:!1,m._enablePostProcessing=!1,m._enableIOSEDR=!1,m._enableEDL=!1,m._enableHQ=!1,m.buildInRendererType="default",m._buildInRenderer=new DefaultRenderer({renderer:m.renderer,camera:m.camera,scene:m.scene,modelScene:m.modelScene,enableLayeringRendering:m.enableLayeringRendering}),m}return Object.defineProperty(t,"version",{get:function(){return"6.5.0-alpha.2"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),(e=this.renderer)===null||e===void 0||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var o=this.getElement();o&&o.parentNode&&o.parentNode.removeChild(o);var s=this.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((r=s.pano0)===null||r===void 0?void 0:r.map)&&s.pano1.map.dispose(),s.reset("pano0","pano1");for(var u=0,l=this.modelScene.children;u<l.length;u++){var c=l[u];c.dispose&&c.dispose(),this.modelScene.remove(c)}this.meshReplaceMaterialMap.forEach(function(p){p.dispose()}),this.meshOriginMaterialMap.forEach(function(p){p.dispose()}),this.renderer instanceof InternalWebGLRenderer&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setScissor=function(e){var r;if(Object.assign(this.scissor,e),this.controller&&this.controller.updateRenderSize){var o=new THREE__namespace.Vector2;(r=this.renderer)===null||r===void 0||r.getDrawingBufferSize(o),this.controller.updateRenderSize(o)}},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return this._enableIOSEDR},set:function(e){this._enableIOSEDR!==e&&(this._enableIOSEDR=e,this.enablePostProcessing?this.buildInRendererType="luminance":this.buildInRendererType="default",this.currentMode&&this.currentMode==="Panorama"&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this._enableEDL},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启EDL");this._enableEDL!==e&&(this.buildInRendererType=e?"edl":"default",this._enableEDL=e,this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this._enableHQ},set:function(e){if(e===!0&&this.currentMode!==t.Mode.Mapview)throw new Error("只支持Mapview下开启HQ");this._enableHQ!==e&&(this._enableHQ=e,this.buildInRendererType=e?"hq":"default",this.boundingMesh.visible=!e,this.needsRender=!0,this.modelSceneNeedsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return this._enablePostProcessing},set:function(e){this._enablePostProcessing!==e&&(this._enablePostProcessing=e,this.enableIOSEDR?this.buildInRendererType="luminance":this.buildInRendererType="default"),this.needsRender=!0,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buildInRenderer",{get:function(){var e=this._buildInRenderer;if(e.type!==this.buildInRendererType)switch(this._buildInRenderer.dispose(),this.buildInRendererType){case"default":this._buildInRenderer=new DefaultRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._buildInRenderer=new EDLRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._buildInRenderer=new HQRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._buildInRenderer=new LuminanceRenderer({renderer:this.renderer,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._buildInRenderer},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);s||this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){if(e===void 0&&(e={}),!!this.renderer){var o=this.getElement();if(o){var s=o.parentNode;if(s&&s.nodeName){var u=e.width,l=u===void 0?s.offsetWidth:u,c=e.height,p=c===void 0?s.offsetHeight:c;this.renderer instanceof InternalWebGLRenderer&&(r&&this.renderer.setPixelRatio(r),this.renderer.setSize(l,p))}var f=new THREE__namespace.Vector2;this.renderer.getDrawingBufferSize(f),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(f),this.buildInRenderer.setSize(f.x,f.y),this.needsRender=!0,this.modelSceneNeedsRender=!0,this.render(noop$1,!0)}}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.scissor.width,e.y*=this.scissor.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);if(!e)return emptyWorks;for(var r=0,o=e;r<o.length;r++){var s=o[r];if(!workRawMapping.has(s))return emptyWorks}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,p,f,d,h,m,g;s===void 0&&(s=!0);var A={};typeof o=="number"?A.duration=o:typeof o=="object"&&Object.assign(A,o),this.works===emptyWorks&&(A.duration===void 0&&(A.duration=0),A.effect===void 0&&(A.effect="instant"));var E=[];if(Array.isArray(e))for(var v=0,y=e;v<y.length;v++){var b=y[v];typeof b!="string"&&"work"in b?E.push(parseWork(b.work,b)):E.push(parseWork(b))}else E.push(parseWork(e));for(var T=createWorks(E),_=function(ee){var K=S,re=new Fetcher({allowHosts:ee.allowHosts,get requestProxy(){return K.requestProxy},get networkSubscribe(){return K.networkSubscribe}});registerFetcher(ee,re)},S=this,R=0,M=T;R<M.length;R++){var H=M[R];_(H)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var B=T.initial,C=B.work.observers[0],w=C?{workCode:C.work.workCode,panoIndex:C.panoIndex}:{workCode:B.work.workCode,panoIndex:0},I=(l=B.mode)!==null&&l!==void 0?l:C?"Panorama":"Mapview",O={};if(r==="inherit"){I=this.currentMode;var F=T.resolvedObservers[this.panoIndex];F?w={workCode:F.work.workCode,panoIndex:F.panoIndex}:typeof T.initial.panoIndex=="number"?w={workCode:T.initial.work.workCode,panoIndex:T.initial.panoIndex}:(I==="Panorama"||I==="VRPanorama"||I==="XRPanorama")&&(I="Mapview"),O={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof B.panoIndex=="number"&&(w={workCode:B.work.workCode,panoIndex:B.panoIndex}),B.mode&&(I=B.mode),O={longitude:B.longitude,latitude:B.latitude,fov:B.fov,distance:B.distance,offset:(c=B.offset)===null||c===void 0?void 0:c.clone()};else{if(I=(p=r.mode)!==null&&p!==void 0?p:this.currentMode,typeof r.panoIndex=="number"){var F=T.getResolvedObserver({workCode:(d=(f=r.workCode)!==null&&f!==void 0?f:B.work.workCode)!==null&&d!==void 0?d:"",panoIndex:r.panoIndex});F&&(w={workCode:F.work.workCode,panoIndex:F.panoIndex})}O={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var N=__assign(__assign(__assign({},w),{mode:I}),O),z=this.getCurrentState(),J=(h=A.duration)!==null&&h!==void 0?h:this.modeChangeDuration;(I==="Floorplan"||I==="Topview"||I==="Mapview")&&this.currentMode===I&&(J=0);var G="fly";(I==="Panorama"||I==="VRPanorama"||I==="XRPanorama")&&this.currentMode===I&&(G=(m=A.effect)!==null&&m!==void 0?m:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:T,state:N,userAction:s}));var Q=function(){u.pano=w;var ee=__assign(__assign({initial:{state:N,currentState:z,duration:J,effect:G,userAction:s}},u.commonParams()),u.controllerInits[I]),K=Controllers[I].initAnimationEndState(ee);if(u.controller&&u.currentMode===I)u.controller.updateWork(T,K,{effect:G,duration:J},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(I,ee));else{var re=u.currentMode;if(u.controller)u.controller.destroy();else{var Y=Controllers[I].initAnimationEndState(ee);u.camera.setFromPose(Y),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(I,ee);var W=createEvent("mode.change",{prevMode:re,mode:I,state:K,userAction:s});u.emit("mode.change",W)}};worksMap.set(this,T);var U=Promise.resolve();if(I===t.Mode.Floorplan||I===t.Mode.Topview||I===t.Mode.Mapview||I===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(N),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=I);var V=this.loadModels(T,A);U=Promise.all(V.map(function(ee){return ee.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,Q(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{Q();var X=!1;this.modelScene.autoRefine=!1;var Z=function(){u.works===T&&X===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),X=!0,u.modelScene.autoRefine=!0)},V=this.loadModels(T,A);U=Promise.all(V.map(function(K){return K.initReady})).then(noop$1),this.controller.once("pano.arrived",Z),this.controller.once("pano.cancel",Z),setTimeout(Z,((g=A.duration)!==null&&g!==void 0?g:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:T})),U.then(function(){return u.ready()}).then(function(){var ee;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:T})),(ee=u.analysis)===null||ee===void 0||ee.work(T)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),e.renderer&&e.modelScene.update(e.renderer,e.camera);for(var u=0,l=e.modelScene.children;u<l.length;u++){var c=l[u];c instanceof Model&&(c.dispose(),e.modelScene.remove(c))}e.needsRender=!0,e.modelSceneNeedsRender=!0,worksMap.delete(e);var p=parseWork(null),f=new Model(p);f.work=p,worksMap.set(e,createWorks([p])),e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,p){var f,d,h,m;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var g=0;l.controller&&(typeof o=="number"?g=o:g=(f=o==null?void 0:o.duration)!==null&&f!==void 0?f:l.modeChangeDuration);var A="fly";l.controller&&typeof o=="object"&&o.effect&&(A=o.effect);var E=typeof r.panoIndex=="number"?{workCode:(m=(d=r.workCode)!==null&&d!==void 0?d:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),p(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getResolvedObserver(E)){var v=new Error("PanoId ".concat(panoStringify(E)," not existed."));l.throwError(v),p(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&(l.modelScene.loaded||(g=0));var y=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,E)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(E,__assign({duration:g},r),s):l.controller.updateCamera(r,g,s).catch(noop$1):(panoEqual(l.pano,E)||(l.pano=E),l.controller.updateCamera(r,g,s).catch(noop$1));else{var S=__assign(__assign({},r),E),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:g,effect:A,userAction:s}},l.commonParams()),l.controllerInits[e]),M=Controllers[e].initAnimationEndState(R),H=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:M,userAction:s});if(l.emit("mode.change.request",H),!H.defaultPrevented){y&&y.destroy(),l.controller=l.applyController(e,R);var B=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:M,userAction:s});l.emit("mode.change",B)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){S instanceof Error&&(l.exitFullscreen(),l.throwError(S),p(S))});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){S instanceof Error&&(l.throwError(S),p(S))})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var p=this.renderer.getPixelRatio(),f=this.renderer.getRenderTarget(),d=this.renderer.getSize(new THREE__namespace.Vector2),h=0,m=0,g=1,A=1,E,v,y,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(m=r),typeof o=="number"&&(g=o),typeof s=="number"&&(A=s),E=u,v=l,T=c):(h=e.x,m=e.y,g=e.width,A=e.height,E=e.pixelRatio,v=e.flipY,y=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),m=Math.ceil(m),g=Math.ceil(g),A=Math.ceil(A),E=Math.ceil(E!=null?E:p),v=v!=null?v:!1;var _=this.getPixelsRenderTarget;_.setSize(g*E,A*E),this.renderer.setRenderTarget(_),this.camera.pixelRatio=E,this.camera.resolution.set(g,A),this.camera.setViewOffset(d.width,d.height,h,d.height-m-A,g,A);for(var S=0,R=this.scene.children;S<R.length;S++){var M=R[S];M instanceof THREE__namespace.Object3D&&M.traverseVisible(function(V){V.setResolution&&V.setResolution(g*E/p,A*E/p)})}this.modelScene.autoRefine=!1;var H;b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&(H=this.modelScene.parameter.modelAlpha,b===!0&&this.modelScene.parameter.set("modelAlpha",1));var B=this.helperVisible;y===!1&&(this.helperVisible=!1),this.modelScene.update(this.renderer,this.camera),this.controller?(this.controller.updateRenderSize(new THREE__namespace.Vector2(g*E,A*E)),this.controller.render(this.buildInRenderer,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0)):(this.renderer.render(this.scene,this.camera),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!1,this.renderer.render(this.modelScene,this.camera),this.renderer.autoClearDepth=!0,this.renderer.autoClearColor=!0),this.helperVisible=B,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&(H===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",H)),this.modelScene.update(this.renderer,this.camera),this.modelScene.autoRefine=!0;var C=g*E,w=A*E,I=C*w,O=I*4,F;try{if(T){if(T.length!==O)throw new Error("buffer length is not equals pixels ".concat(O))}else T=new Uint8Array(O);if(this.renderer.readRenderTargetPixels(_,0,0,g*E,A*E,T),v)for(var N=I/2,z=0,J=0,G=0,Q=0;J<N;J++)for(Q=(w-Math.floor(J/C)-1)*C+J%C,G=0;G<4;G++)z=T[J*4+G],T[J*4+G]=T[Q*4+G],T[Q*4+G]=z}catch(V){F=V}if(this.renderer.setRenderTarget(f),this.controller&&this.controller.updateRenderSize){var U=new THREE__namespace.Vector2;this.renderer.getDrawingBufferSize(U),this.controller.updateRenderSize(U)}if(this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,F)throw F;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){var o=this;if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var s=this.renderer.getSize(sharedVector2);this.scene.traverseVisible(function(u){u.setResolution&&u.setResolution(s.x,s.y)})}return this.aroundScissor(function(){if(o.renderer){var u=o.scene.background;o.modelScene.background=o.camera.isOrthographicCamera?null:u,o.modelScene.environment=o.scene.environment,o.scene.background=null,o.controller?(o.controller.render(o.buildInRenderer,o.onlyRenderIfNeeds?o.modelSceneNeedsRender:!0),o.info={memory:__assign({},o.controller.renderer.info.memory),render:__assign({},o.controller.renderer.info.render)}):(o.renderer.render(o.scene,o.camera),o.info={memory:__assign({},o.renderer.info.memory),render:__assign({},o.renderer.info.render)}),o.scene.background=u,o.modelScene.background=null,o.modelScene.environment=null,o.poweredByRealsee&&o.currentMode!=="VRPanorama"&&o.currentMode!=="XRPanorama"&&o.renderer.getRenderTarget()!==o.getPixelsRenderTarget&&renderPoweredByRealsee(o.renderer)}e&&AnimationFrameLoop.shared.add(e,!0)}),null},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.autoNearFar){var c=this.modelScene.boundingBox.getBoundingSphere(sharedSphere),p=c.radius*2;c.containsPoint(this.camera.position)||(p=this.camera.position.distanceTo(c.center)+c.radius),p=clamp$1(p,800,5e4),this.camera.far!==p&&(this.camera.far=p);var f=p/1e4;f=clamp$1(f,.03,.1),this.camera.near!==f&&(this.camera.near=f)}if(this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var d=this.modelScene.loaded,h=this.modelScene.refined;if(this.modelScene.loaded){for(var m=[],g=0,A=this.modelScene.children;g<A.length;g++){var E=A[g];E instanceof Model&&E.outdated&&m.push(E)}for(var v=0,y=m;v<y.length;v++){var b=y[v];this.modelScene.remove(b),b.dispose()}if(m.length>0)for(var T=0,_=this.modelScene.children;T<_.length;T++){var E=_[T];E instanceof Model&&(E.visible=!0,this.modelSceneNeedsRender=!0)}}this.modelScene.update(this.renderer,this.camera),d===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),h===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.modelScene}))},!0,0,10)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var S=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;S>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var R=createEvent("render.prepare",{needsRender:this.needsRender,info:null});this.emit("render.prepare",R),R.defaultPrevented&&(this.needsRender=!1),this.renderer&&this.needsRender&&this.render(),this.emit("render",createEvent("render",{needsRender:this.needsRender,info:this.info})),this.needsRender=!1,this.modelSceneNeedsRender=!1,this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getResolvedObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var p={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in u&&typeof u.moveToPano=="function"?u.moveToPano(p,r,o):c&&(this.pano=p,this.once("initAnimation.start",function(f){r.moveStartCallback&&r.moveStartCallback(f.state)}),this.once("initAnimation.end",function(f){r.moveEndCallback&&r.moveEndCallback(f.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop$1);var s=this.works.getResolvedObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var p=__assign({key:"pano.".concat(s.panoId,".").concat(c)},pick(o.imageOptions,["size","format","quality","mappings"])),f=s.images[c],d=o.imageOptions.transform?o.imageOptions.transform(f,p):imageURL(f,p);return getFetcher(s.work).preload(d)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var p=this.renderer.getSize(new THREE__namespace.Vector2),f=p.x*this.scissor.width,d=p.y*this.scissor.height,h=p.x*this.scissor.left+(c.x+1)/2*f,m=p.y*(1-this.scissor.bottom-this.scissor.height)+(-c.y+1)/2*d;return new THREE__namespace.Vector2(h,m)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var s,u,l,c,p,f,d,h,m,g;r===void 0&&(r=!1),o===void 0&&(o=!0),e=Object.assign({},e),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var A;if(typeof e.panoIndex=="number")if(e.workCode)A={workCode:e.workCode,panoIndex:e.panoIndex};else{var E=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(w){return w.workCode===v}).length>0&&(E=v),A={workCode:E,panoIndex:e.panoIndex}}var y=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var M={workCode:A==null?void 0:A.workCode,panoIndex:A==null?void 0:A.panoIndex};typeof e.longitude=="number"&&(M.longitude=e.longitude),typeof e.latitude=="number"&&(M.latitude=e.latitude),typeof e.fov=="number"&&(M.fov=e.fov),typeof e.distance=="number"&&(M.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(M.offset=e.offset);var H=__assign(__assign({initial:{state:M,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),B=Controllers[y].initAnimationEndState(H);b=B.longitude,T=B.latitude,_=B.fov,S=B.offset,R=B.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(p=e.latitude)!==null&&p!==void 0?p:this.state.latitude,_=(f=e.fov)!==null&&f!==void 0?f:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var C={workCode:(A!=null?A:this.pano).workCode,panoIndex:(A!=null?A:this.pano).panoIndex,mode:y,longitude:b,latitude:T,fov:_,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:C})),stateEqual(this.state,C)||(this.controller&&C.mode==="VRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("VRPanorama")):this.controller&&C.mode==="XRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("XRPanorama")):(assignState(this.state,C),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(g=this.analysis)===null||g===void 0||g.state(this.works,this.state)))},t.prototype.aroundScissor=function(e){if(this.renderer){if(this.state.mode==="XRPanorama"){e();return}var r=new THREE__namespace.Vector2,o=this.scissor.left!==0||this.scissor.bottom!==0||this.scissor.width!==1||this.scissor.height!==1;if(o){this.renderer.getSize(r);var s=Math.floor(r.x*this.scissor.left),u=Math.floor(r.y*this.scissor.bottom),l=Math.floor(r.x*this.scissor.width),c=Math.floor(r.y*this.scissor.height);this.renderer.setViewport(s,u,l,c),this.renderer.setScissor(s,u,l,c),this.renderer.setScissorTest(!0)}e(),o&&(this.renderer.setViewport(0,0,r.x,r.y),this.renderer.setScissor(0,0,r.x,r.y),this.renderer.setScissorTest(!1))}},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var p=1,f=.2,d=.2,h=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,p),g=Math.abs(this.camera.pose.distance-this.state.distance),A=g>d*15?g/15:f,E=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,A),v=this.camera.pose.offset.distanceTo(this.state.offset),y=v>d*15?v/15:d,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(E,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:b.x,y:b.y,z:b.z},M={fov:m};return Object.assign(R,{distance:E}),Object.assign(M,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(M,0).catch(noop$1),this.controller.locationMotion.set(R,0).catch(noop$1),!0}}else{var H=1,B=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,H),C=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),_=C.longitude,S=C.latitude,E=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(E,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:m},0).catch(noop$1),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var w=this.currentMode,I=w===t.Mode.Floorplan||w===t.Mode.Topview||w===t.Mode.Mapview||w===t.Mode.Model;if(!I||this.modelScene.loaded){var O=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var F=0,N=O;F<N.length;F++){var z=N[F];this.controller instanceof Controllers.Panorama&&z.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(z):z()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady})},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModels=function(e,r){for(var o=this,s,u,l,c,p,f,d=new Map,h=!1,m=[],g=0,A=this.modelScene.children;g<A.length;g++){var E=A[g];E instanceof Model&&(E.outdated=!0,d.set(E.work.workCode,E),h=!0)}for(var v=function(S){var R=d.get(S.workCode);if(R)R.work=S,R.outdated=!1,d.delete(S.workCode),m.push(R);else{var M=(l=(u=(s=r.model)===null||s===void 0?void 0:s.textureOptions)!==null&&u!==void 0?u:r.textureOptions)!==null&&l!==void 0?l:y.textureOptions,H=(p=(c=r.model)===null||c===void 0?void 0:c["3d-tiles"])!==null&&p!==void 0?p:r["3d-tiles"],B=new Model(S,{light:(f=r.model)===null||f===void 0?void 0:f.light,textureOptions:M});if(m.push(B),H)if(typeof H=="function")for(var C=0,w=B.viewLayers;C<w.length;C++){var I=w[C],O=H(I,B);O&&(I.parameter.set(omit(O,["showLayers"])),O.showLayers===!1?I.visible=!1:Array.isArray(O.showLayers)&&(I.visible=O.showLayers.includes(I.name)))}else for(var F=0,N=B.viewLayers;F<N.length;F++){var I=N[F];I.parameter.set(omit(H,["showLayers"])),H.showLayers===!1?I.visible=!1:Array.isArray(H.showLayers)&&(I.visible=H.showLayers.includes(I.name))}h&&(B.visible=!1),y.modelScene.add(B),B.addEventListener("load",function(z){AnimationFrameLoop.shared.add(function(){o.emit("model.load",createEvent("model.load",{work:S,model:B,error:null}))},!0)}),B.addEventListener("changeShownFloor",function(z){o.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:S,model:B,error:null}))}),B.addEventListener("error",function(z){var J=z.error;o.emit("model.error",createEvent("model.error",{work:S,model:B,error:J})),o.throwError(J)}),y.emit("model.request",createEvent("model.request",{work:S,model:B,error:null}))}},y=this,b=0,T=e;b<T.length;b++){var _=T[b];v(_)}return this.modelScene.loaded=!1,this.modelScene.refined=!1,m},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,enableIOSEDR:this._enableIOSEDR,enableEDL:this.enableEDL,enableHQ:this.enableHQ,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");e!==t.Mode.Mapview&&(this.enableEDL=!1,this.enableHQ=!1);var s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(m){u.on(m,function(){for(var g=[],A=0;A<arguments.length;A++)g[A]=arguments[A];var E=o.emit.apply(o,__spreadArray([m],g,!1));if(E)return!1})},c=0,p=PROXY_CONTROLLER_EVENT_NAMES;c<p.length;c++){var f=p[c];l(f)}{var d=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,d)||(assignState(this.state,d),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return u.on("camera.update",function(m){var g;if(o.controller){var A=o.controller.getTargetState();m.userAction&&o.syncingState===!1&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:m.userAction,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:m.userAction,state:o.getCurrentState()}))}),u.on("initAnimation.start",function(m){var g,A=m.state,E=m.userAction;E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("initAnimation.end",function(m){var g,A=m.state,E=m.userAction;o.pano={workCode:A.workCode,panoIndex:A.panoIndex},E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var g,A=m.state,E=m.userAction;o.pano={workCode:A.workCode,panoIndex:A.panoIndex},E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.arrived",function(m){var g,A=m.state,E=m.userAction;o.pano={workCode:A.workCode,panoIndex:A.panoIndex},E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.cancel",function(m){var g,A=m.state,E=m.userAction;E&&o.state.mode===A.mode&&!stateEqual(o.state,A)&&(assignState(o.state,A),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(g=o.analysis)===null||g===void 0||g.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var g=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:g,state:o.getCurrentState()}))}),u.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(m){return o.throwError(m)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getResolvedObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;return r.position.copy(e.position),r.quaternion.copy(e.quaternion),r.scale.set(1,1,1),r.matrix.compose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1,cameraWorldToLocal(this.camera,r)}}return null},t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t}(Subscribe),__FIVE_DEBUG__={instances:{},constructor:Five};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n}();exports.AnimationFrameLoop=AnimationFrameLoop,exports.Camera=Camera,exports.CustomShader=PBMCustomShader,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.Model=Model,exports.ModelScene=ModelScene,exports.Motion=Motion,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMCustomShader=PBMCustomShader,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PBMPointCloud=PBMPointCloud,exports.PBMPointCloudMaterial=PBMPointCloudMaterial,exports.PBMSkinnedMesh=PBMSkinnedMesh,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.Parameter=Parameter,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.Tile3DModel=Tile3D,exports.TileCache=TileCache,exports.TileNode=TileNode,exports.TileRequestScheduler=TileRequestScheduler,exports.Tileset=Tileset,exports.Trajectory=Trajectory,exports.TrajectoryNode=TrajectoryNode,exports.Work=Work,exports.XRButton=XRButton,exports.controllersDefaultInitArgs=controllersDefaultInitArgs,exports.createWorks=createWorks,exports.defaultImageURLTransform=imageURL,exports.draco=draco,exports.getFetcher=getFetcher,exports.getViewportScale=getViewportScale,exports.imageSupport=imageSupport,exports.isPanoId=isPanoId,exports.ktx2=ktx2,exports.loadAt3d=loadAt3d,exports.loadB3dm=loadB3dm,exports.loadDome=loadDome,exports.loadDomez=loadDomez,exports.loadFbx=loadFbx,exports.loadGltf=loadGltf,exports.loadPbm=loadPbm,exports.loadPly=loadPly,exports.loadPnts=loadPnts,exports.loadX3p=loadX3p,exports.panoEqual=panoEqual,exports.panoParse=panoParse,exports.panoStringify=panoStringify,exports.parseWork=parseWork,exports.registerFetcher=registerFetcher,exports.workRawMapping=workRawMapping,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
|