@realsee/five 6.3.0-alpha.4 → 6.3.0-alpha.5

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/umd/five.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 11/11/2024
5
- * Version: 6.3.0-alpha.4
4
+ * Generated: 11/12/2024
5
+ * Version: 6.3.0-alpha.5
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -414,7 +414,7 @@ varying vec2 vUv;
414
414
  void main() {
415
415
  gl_FragColor = texture2D(map, vUv);
416
416
  }
417
- `,cacheMaterials=[],cameraPX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPX.up.set(0,-1,0),cameraPX.lookAt(new THREE__namespace.Vector3(1,0,0)),cameraPX.updateMatrix(),cameraPX.matrixAutoUpdate=!1;var cameraNX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNX.up.set(0,-1,0),cameraNX.lookAt(new THREE__namespace.Vector3(-1,0,0)),cameraNX.updateMatrix(),cameraNX.matrixAutoUpdate=!1;var cameraPY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPY.up.set(0,0,1),cameraPY.lookAt(new THREE__namespace.Vector3(0,1,0)),cameraPY.updateMatrix(),cameraPY.matrixAutoUpdate=!1;var cameraNY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNY.up.set(0,0,-1),cameraNY.lookAt(new THREE__namespace.Vector3(0,-1,0)),cameraNY.updateMatrix(),cameraNY.matrixAutoUpdate=!1;var cameraPZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPZ.up.set(0,-1,0),cameraPZ.lookAt(new THREE__namespace.Vector3(0,0,1)),cameraPZ.updateMatrix(),cameraPZ.matrixAutoUpdate=!1;var cameraNZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNZ.up.set(0,-1,0),cameraNZ.lookAt(new THREE__namespace.Vector3(0,0,-1)),cameraNZ.updateMatrix(),cameraNZ.matrixAutoUpdate=!1;var FACES={front:{camera:cameraPZ,index:4},back:{camera:cameraNZ,index:5},up:{camera:cameraPY,index:2},down:{camera:cameraNY,index:3},left:{camera:cameraNX,index:1},right:{camera:cameraPX,index:0}};function getMaterial(){var n=cacheMaterials.pop();return n||new THREE__namespace.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:PLANE_VERTEX_SHADER,fragmentShader:PLANE_FRAGMENT_SHADER,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:THREE__namespace.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function releaseMaterial(n){n.uniforms.map.value=null,cacheMaterials.push(n)}function renderTexturesToCubeRenderTarget(n,t,e){var r=new THREE__namespace.Scene;r.matrixAutoUpdate=!1;var i=new THREE__namespace.Group;i.scale.set(1,1,-1),r.add(i);for(var o=[],s=new Set,u=0,c=n;u<c.length;u++){var l=c[u];s.add(l.face);var d=getMaterial();o.push(d),d.uniforms.map.value=l.texture,d.uniforms.flipY.value=l.flipY?1:0;var f=new THREE__namespace.Group,v=new THREE__namespace.Mesh(PLAME_GEOMETRY,d);v.position.set(l.position.x+l.size.x/2-.5,1-(l.position.y+l.size.y/2)-.5,-.5),v.scale.set(l.size.x,l.size.y,1),f.quaternion.copy(QUATERNION[l.face]),f.add(v),i.add(f)}var A=e.autoClear,p=e.sortObjects,h=e.xr.enabled,g=t.texture.generateMipmaps;e.autoClear=!1,e.sortObjects=!1,e.xr.enabled=!1,t.texture.generateMipmaps=!1;var m=e.getRenderTarget(),y=0;s.forEach(function(T){++y===s.size&&(t.texture.generateMipmaps=g),e.setRenderTarget(t,FACES[T].index),e.render(r,FACES[T].camera)}),e.setRenderTarget(m),e.autoClear=A,e.sortObjects=p,e.xr.enabled=h;for(var E=0,b=o;E<b.length;E++){var d=b[E];releaseMaterial(d)}}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),i=createImageBitmapLikeImage({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});i.onload=function(){i.src===r&&URL.revokeObjectURL(r),i.onload=i.onerror=noop$1,setTimeout(function(){t(i)},10)},i.onerror=function(){var o=i.src;i.onload=i.onerror=noop$1,i.close(),e(new Error("image load error: ".concat(o)))},i.decoding="async",i.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 i=new THREE__namespace.Texture(e);i.needsUpdate=!0,i.flipY=!0;var o=i.dispose;return i.dispose=function(){e.close(),o.call(i),i.dispose=o},i}else{var s=new THREE__namespace.Texture(n);s.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?s.flipY=!1:s.flipY=!0;var u=s.dispose;return s.dispose=function(){n.close(),u.call(s),s.dispose=u},s}}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,i=n;r<i.length;r++){var o=i[r];o.close()}e.call(t),t.dispose=e},t}var sharedSortVector3$1=new THREE__namespace.Vector3,FACE_ORDER=["right","left","up","down","front","back"],TileCubeTextureTarget=function(){function n(t,e,r,i,o){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=o,this.name="",this.needsRender=!1,this.maxRequest=n.DEFAULT_MAX_REQUEST,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.drawedCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.prepareToRender=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,o,s,u;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:THREE__namespace.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:THREE__namespace.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:THREE__namespace.LinearFilter,t.texture.wrapS=(o=this.options.wrapS)!==null&&o!==void 0?o:THREE__namespace.ClampToEdgeWrapping,t.texture.wrapT=(s=this.options.wrapT)!==null&&s!==void 0?s:THREE__namespace.ClampToEdgeWrapping,t.texture.generateMipmaps=(u=this.options.generateMipmaps)!==null&&u!==void 0?u:!0,this.baseCubeTexture&&(renderCubeTextureToCubeRenderTarget(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&renderCubeTextureToCubeRenderTarget(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,o,s,u,c,l=this.tileSources.filter(function(h){return h.level===t.level})[0];if(!l)return this.loadedCubeNodes.add(t),this.prepareToRender.push({node:t,texture:null}),!1;var d=l.size,f=Math.pow(2,t.level)*t.position.y,v=Math.pow(2,t.level)*t.position.x,A="".concat(((o=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&o!==void 0?o:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(v),p=__assign(__assign({},(u=(s=this.options.imageURL)===null||s===void 0?void 0:s.options)!==null&&u!==void 0?u:{key:"unknown"}),{key:A,size:l.scale>=1?void 0:d*t.size*l.scale,quality:void 0,cut:[d*t.position.x,d*t.position.y,d*t.size,d*t.size]});return this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(l[t.face],{imageURL:{transform:(c=this.options.imageURL)===null||c===void 0?void 0:c.transform,options:__assign({},p)},format:THREE__namespace.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(h){if(e.disposed){h.body.dispose();return}e.prepareToRender.push({node:t,texture:h.body}),e.loadedCubeNodes.add(t)}).catch(noop$1).then(function(){e.disposed||e.loadingCubeNodes.delete(t)}),!0},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=t.planes[5].normal,o=Math.max(this.maxRequest-this.loadingCubeNodes.size,0),s=[];traverseTileCubeNode(this.tileTree,function(h){if(h.level>e||!t.intersectsBox(h.box))return!1;!r.loadedCubeNodes.has(h)&&!r.loadingCubeNodes.has(h)&&s.push(h)}),s.sort(function(h,g){return h.level!==g.level?h.level-g.level:h.box.getCenter(sharedSortVector3$1).angleTo(i)-g.box.getCenter(sharedSortVector3$1).angleTo(i)});for(var u=0,c=s;u<c.length;u++){var l=c[u];if(o<=0)break;var d=this.requestTile(l);d&&o--}if(this.cubeRenderTarget&&this.prepareToRender.length){this.prepareToRender.sort(function(h,g){return h.node.level-g.node.level});for(var f=[],v=0;v<this.prepareToRender.length;v++){var A=this.prepareToRender[v],l=A.node,p=A.texture;(l.parent===null||this.drawedCubeNodes.has(l.parent))&&(this.drawedCubeNodes.add(l),p&&f.push({face:l.face,position:l.position,size:new THREE__namespace.Vector2(l.size,l.size),texture:p,flipY:!p.flipY}),this.prepareToRender.splice(v,1),v--)}f.length&&(renderTexturesToCubeRenderTarget(f,this.cubeRenderTarget,this.renderer),this.needsRender=!0)}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.prepareToRender;t<e.length;t++){var r=e[t];r.texture&&r.texture.dispose()}this.prepareToRender.length=0}},n.DEFAULT_MAX_REQUEST=3,n}(),TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,o,s){var u,c,l,d,f,v,A;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.flipY!="undefined"&&(p.flipY=e.flipY),typeof e.format!="undefined"&&(p.format=e.format),typeof e.encoding!="undefined"&&(p.encoding=e.encoding),p.generateMipmaps=(u=e.generateMipmaps)!==null&&u!==void 0?u:!1,p.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,p.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:THREE__namespace.LinearFilter;var h=(f=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&f!==void 0?f:{key:"unknown"};t=applyImageURLOptions(t,(v=e.imageURL)===null||v===void 0?void 0:v.transform,h);var g=getProtocol(t),m=(A=e.viaAjax)!==null&&A!==void 0?A:canUseNativeImageBitmap,y=isJsonpSource(t),E=/^https?:/.test(g);if(y?m=!0:E||(m=!1),m){var b=null,T="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:T},void 0,void 0,o).then(function(S){return createImageBitmapLike(S.body)}).then(function(S){return poolImageToTexture(S,e.maxSize)}).then(function(S){return Object.assign(S,p),S}).then(function(S){var P={meta:b,body:S};return r(P),P}).catch(function(S){return i(S),Promise.reject(S)})}else{var _=null,x;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(S){return x=S,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,o,S)}).then(function(S){return _=S.meta,poolImageToTexture(S.body,e.maxSize)}).then(function(S){return Object.assign(S,p),S}).then(function(S){var P={meta:_,body:S};return r(P),P}).catch(function(S){return x&&x.close(),i(S),Promise.reject(S)})}},n.prototype.loadCubeTexture=function(t,e,r,i,o,s){var u,c,l,d,f,v,A;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.format!="undefined"&&(p.format=e.format),p.generateMipmaps=(u=e.generateMipmaps)!==null&&u!==void 0?u:!1,p.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,p.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:THREE__namespace.LinearFilter;for(var h=[t[FACE_ORDER[0]],t[FACE_ORDER[1]],t[FACE_ORDER[2]],t[FACE_ORDER[3]],t[FACE_ORDER[4]],t[FACE_ORDER[5]]],g=[],m=[0,0,0,0,0,0],y=[],E=function(T){var _=(f=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&f!==void 0?f:{key:"unknown"},x=applyImageURLOptions(h[T],(v=e.imageURL)===null||v===void 0?void 0:v.transform,__assign(__assign({},_),{key:_.key+"."+FACE_ORDER[T]})),S=getProtocol(x),P=function(H){m[T]=H,o(m.reduce(function(k,z){return k+z},0)/6)},L=(A=e.viaAjax)!==null&&A!==void 0?A:!1,R=/^https?:$/.test(S),M=isJsonpSource(x);if(M?L=!0:R||(L=!1),L){var F="blob",C=e.fetcher.ajax(x,{timeout:e.timeout,responseType:F},void 0,void 0,P).then(function(H){return y[T]=H.meta,createImageBitmapLike(H.body)});g.push(C)}else{var B,C=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(k){return B=k,e.fetcher.loadImage(x,{timeout:e.timeout},void 0,void 0,P,k)}).then(function(k){return y[T]=k.meta,k.body}).catch(function(k){return B&&B.close(),Promise.reject(k)});g.push(C)}},b=0;b<6;b++)E(b);return Promise.all(g).then(function(T){return poolImagesToCubeTexture(T)}).then(function(T){return Object.assign(T,__assign({encoding:THREE__namespace.sRGBEncoding},p)),T}).then(function(T){var _={body:T,meta:y};return r(_),_}).catch(function(T){for(var _=0,x=g;_<x.length;_++){var S=x[_];S.then(function(P){return P.close()}).catch(noop$1)}return i(T),Promise.reject(T)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,o,s,u){var c=this;return i===void 0&&(i=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1),new Promise(function(l,d){var f,v;c.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(v=r.imageURL)===null||v===void 0?void 0:v.options},format:THREE__namespace.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(A){var p,h=A.meta,g=A.body,m=(p=r.tileMaxLevel)!==null&&p!==void 0?p:2,y=Math.max(1024*m,512),E=createTileCubeTree(m),b=new TileCubeTextureTarget(g,E,e,{textureSize:y,textureLoader:c,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},u),T={meta:h,body:b};i(T),l(T)},function(A){o(A),d(A)},s,u).catch(noop$1)})},n}();const meshNoneVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("n\bv{t-rpA-d|yq]|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\x07K|vq-znv{56-\n--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--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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\f"),meshNoneFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trHn\bv{t-rpA-d|yq]|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-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--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-\05z|qryNy}un66H--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K\f"),meshBasicVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{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\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--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--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),meshBasicFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{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-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||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-|}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@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{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-}-7- ||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\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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-|}npv\b-6H--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--_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--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--<<-颜色增益调整,在色调映射前--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--rp@-sv{nyU`c-J-rp@5uP|y|;\x079-uP|y|;\b-8-p|y|`nnv|{9-uP|y|; -8-p|y|Ovtu{r6H--tylSntP|y|;to-J-u?to5sv{nyU`c6H---<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--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\f"),meshPhongVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{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\x07K|vq-znv{56-\n--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-6H0r{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--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--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\f"),meshPhongFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{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-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||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-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{rH0v{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-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{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-}-7- ||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\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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-|}npv\b-6H--_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--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--<<-颜色增益调整,在色调映射前--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--rp@-sv{nyU`c-J-rp@5uP|y|;\x079-uP|y|;\b-8-p|y|`nnv|{9-uP|y|; -8-p|y|Ovtu{r6H--tylSntP|y|;to-J-u?to5sv{nyU`c6H---<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--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\f");new THREE__namespace.Vector4;var pbmUniforms={modelAlpha:new THREE__namespace.Uniform(0),progress:new THREE__namespace.Uniform(0),pano0_map:new THREE__namespace.Uniform(null),pano0_luminanceMap:new THREE__namespace.Uniform(null),pano0_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano0_zoom:new THREE__namespace.Uniform(1),pano1_map:new THREE__namespace.Uniform(null),pano1_luminanceMap:new THREE__namespace.Uniform(null),pano1_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano1_zoom:new THREE__namespace.Uniform(1),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0)},shaderLib={none:{vertexShader:meshNoneVertexShader,fragmentShader:meshNoneFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms,{opacity:{value:1}},THREE__namespace.UniformsLib.fog]),lights:!1},basic:{vertexShader:meshBasicVertexShader,fragmentShader:meshBasicFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms,THREE__namespace.ShaderLib.basic.uniforms]),lights:!1},phong:{vertexShader:meshPhongVertexShader,fragmentShader:meshPhongFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms,THREE__namespace.ShaderLib.phong.uniforms]),lights:!0}},PBMMeshMaterial=function(n){__extends(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var i=this,o,s,u,c,l,d,f,v,A,p,h,g,m,y,E,b,T,_,x,S,P,L,R,M,F,C,B,H=shaderLib[e];i=n.call(this,{vertexShader:H.vertexShader,fragmentShader:H.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(H.uniforms),lights:H.lights,defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,i.shaderType=e,i.color=new THREE__namespace.Color(16777215),i.map=null,i.lightMap=null,i.lightMapIntensity=1,i.aoMap=null,i.aoMapIntensity=1,i.specularMap=null,i.specular=new THREE__namespace.Color(1118481),i.alphaMap=null,i.envMap=null,i.reflectivity=1,i.refractionRatio=.98,i.emissiveMap=null,i.emissive=new THREE__namespace.Color(0),i.emissiveIntensity=1,i.bumpMap=null,i.bumpScale=1,i.normalMap=null,i.normalMapType=THREE__namespace.TangentSpaceNormalMap,i.normalScale=new THREE__namespace.Vector2(1,1),i.displacementMap=null,i.displacementScale=1,i.displacementBias=0,i.shininess=30;var k,z=null,V=null;return Object.defineProperties(i,{pano0:{get:function(){return z},set:function(N){if(z!==N){z=N,N===null?(this.uniforms.pano0_map.value=null,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=N.map instanceof TileCubeTextureTarget?N.map.texture:N.map,this.uniforms.pano0_luminanceMap.value=N.luminanceMap instanceof TileCubeTextureTarget?N.luminanceMap.texture:N.luminanceMap,this.uniforms.pano0_matrix.value.copy(N.matrix),this.uniforms.pano0_zoom.value=N.zoom);var D=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,q=this.defines.USE_LUMINANCE;q!==D&&(this.defines.USE_LUMINANCE=D,this.needsUpdate=!0)}}},pano1:{get:function(){return V},set:function(N){if(V!==N){V=N,N===null?(this.uniforms.pano1_map.value=null,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=N.map instanceof TileCubeTextureTarget?N.map.texture:N.map,this.uniforms.pano1_luminanceMap.value=N.luminanceMap instanceof TileCubeTextureTarget?N.luminanceMap.texture:N.luminanceMap,this.uniforms.pano1_matrix.value.copy(N.matrix),this.uniforms.pano1_zoom.value=N.zoom);var D=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,q=this.defines.USE_LUMINANCE;q!==D&&(this.defines.USE_LUMINANCE=D,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(N){this.uniforms.modelAlpha.value=N}},progress:{get:function(){return this.uniforms.progress.value},set:function(N){this.uniforms.progress.value=N}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(N){var D=this.defines.USE_BLACK_TRANSITION,q=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(N,"_TRANSITION")]=!0;var G=!1;D!==this.defines.USE_BLACK_TRANSITION&&(G=!0),q!==this.defines.USE_SPREAD_TRANSITION&&(G=!0),G&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(N){this.uniforms.constantColor.value=N;var D=this.defines.USE_CONSTANT_COLOR,q=N!==null;D!==q&&(this.defines.USE_CONSTANT_COLOR=q,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(N){this.uniforms.opacity.value=N}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(N){this.uniforms.shownFloorIndex.value=N}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(N){this.uniforms.brightness.value=N}},clippers:{get:function(){return k},set:function(N){k!==N&&(k=N,this.uniforms.clippers.value=(k||[]).map(function(D){var q=typeof D.floorIndex=="number"?D.floorIndex:-1,G=new THREE__namespace.Matrix4().getInverse(D.clippingBoxMatrix);return{matrixInverse:G,floorIndex:q}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(N){N!==this.defines.USE_EDL&&(this.defines.USE_EDL=N,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(N){N!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=N,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(N){N!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=N,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(N){this.uniforms.floor.value=N}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(N){this.uniforms.colorSaturation.value=N}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(N){this.uniforms.colorBrightness.value=N}}}),i.pano0=(o=r.pano0)!==null&&o!==void 0?o:defaultPbmParameters.pano0,i.pano1=(s=r.pano1)!==null&&s!==void 0?s:defaultPbmParameters.pano1,i.modelAlpha=(u=r.modelAlpha)!==null&&u!==void 0?u:defaultPbmParameters.modelAlpha,i.progress=(c=r.progress)!==null&&c!==void 0?c:defaultPbmParameters.progress,i.transition=(l=r.transition)!==null&&l!==void 0?l:defaultPbmParameters.transition,i.constantColor=(d=r.constantColor)!==null&&d!==void 0?d:defaultPbmParameters.constantColor,i.opacity=(f=r.opacity)!==null&&f!==void 0?f:defaultPbmParameters.opacity,i.floorStyle=(v=r.floorStyle)!==null&&v!==void 0?v:defaultPbmParameters.floorStyle,i.shownFloorIndex=(A=r.shownFloorIndex)!==null&&A!==void 0?A:defaultPbmParameters.shownFloorIndex,i.clippers=(p=r.clippers)!==null&&p!==void 0?p:defaultPbmParameters.clippers,i.useEDL=(h=r.useEDL)!==null&&h!==void 0?h:defaultPbmParameters.useEDL,i.useHQWeight=(g=r.useHQWeight)!==null&&g!==void 0?g:defaultPbmParameters.useHQWeight,i.useHQDepth=(m=r.useHQDepth)!==null&&m!==void 0?m:defaultPbmParameters.useHQDepth,i.pointSize=(y=r.pointSize)!==null&&y!==void 0?y:defaultPbmParameters.pointSize,i.pointColor=(E=r.pointColor)!==null&&E!==void 0?E:defaultPbmParameters.pointColor,i.pointShape=(b=r.pointShape)!==null&&b!==void 0?b:defaultPbmParameters.pointShape,i.pointScale=(T=r.pointScale)!==null&&T!==void 0?T:defaultPbmParameters.pointScale,i.pointBack=(_=r.pointBack)!==null&&_!==void 0?_:defaultPbmParameters.pointBack,i.pointAppearAnimationDuration=(x=r.pointAppearAnimationDuration)!==null&&x!==void 0?x:defaultPbmParameters.pointAppearAnimationDuration,i.pointEffect=(S=r.pointEffect)!==null&&S!==void 0?S:defaultPbmParameters.pointEffect,i.pointMinPixel=(P=r.pointMinPixel)!==null&&P!==void 0?P:defaultPbmParameters.pointMinPixel,i.pointMaxPixel=(L=r.pointMaxPixel)!==null&&L!==void 0?L:defaultPbmParameters.pointMaxPixel,i.gradientTexture=(R=r.gradientTexture)!==null&&R!==void 0?R:defaultPbmParameters.gradientTexture,i.brightness=(M=r.brightness)!==null&&M!==void 0?M:defaultPbmParameters.brightness,i.colorSaturation=(F=r.colorSaturation)!==null&&F!==void 0?F:defaultPbmParameters.colorSaturation,i.colorBrightness=(C=r.colorBrightness)!==null&&C!==void 0?C:defaultPbmParameters.colorBrightness,i.floor=0,i.transparent=!0,i.evennessPlane=(B=r.evennessPlane)!==null&&B!==void 0?B:defaultPbmParameters.evennessPlane,i}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.refreshUniforms=function(e){var r,i,o=this.uniforms;o.diffuse&&o.diffuse.value.copy(this.color),o.opacity&&(o.opacity.value=this.opacity),o.color&&o.diffuse.value.copy(this.color),o.emissive&&o.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),o.map&&(o.map.value=this.map),o.alphaMap&&(o.alphaMap.value=this.alphaMap),o.specularMap&&(o.specularMap.value=this.specularMap),o.envMap&&(o.envMap.value=this.envMap,o.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,o.reflectivity.value=this.reflectivity,o.refractionRatio.value=this.refractionRatio,o.maxMipLevel.value=this.envMap&&(i=e==null?void 0:e.properties.get(this.envMap).__maxMipLevel)!==null&&i!==void 0?i:0),o.lightMap&&(o.lightMap.value=this.lightMap,o.lightMapIntensity.value=this.lightMapIntensity),o.aoMap&&(o.aoMap.value=this.aoMap,o.aoMapIntensity.value=this.aoMapIntensity),o.specular&&o.specular.value.copy(this.specular),o.shininess&&(o.shininess.value=Math.max(this.shininess,1e-4)),o.emissiveMap&&(o.emissiveMap.value=this.emissiveMap),o.bumpMap&&(o.bumpMap.value=this.bumpMap,o.bumpScale.value=this.bumpScale,this.side===THREE__namespace.BackSide&&(o.bumpScale.value*=-1)),o.normalMap&&(o.normalMap.value=this.normalMap,o.normalScale.value.copy(this.normalScale),this.side===THREE__namespace.BackSide&&o.normalScale.value.negate()),o.displacementMap&&(o.displacementMap.value=this.displacementMap,o.displacementScale.value=this.displacementScale,o.displacementBias.value=this.displacementBias);var s;this.map?s=this.map:this.specularMap?s=this.specularMap:this.displacementMap?s=this.displacementMap:this.normalMap?s=this.normalMap:this.bumpMap?s=this.bumpMap:this.alphaMap?s=this.alphaMap:this.emissiveMap&&(s=this.emissiveMap),s!==void 0&&(s.matrixAutoUpdate===!0&&s.updateMatrix(),o.uvTransform.value.copy(s.matrix));var u;this.aoMap?u=this.aoMap:this.lightMap&&(u=this.lightMap),u!==void 0&&(u.matrixAutoUpdate===!0&&u.updateMatrix(),o.uv2Transform.value.copy(u.matrix))},t.prototype.update=function(e,r,i){var o="".concat(i.id,":").concat(i.materialVersion);o!==this.syncModelVersion&&(Object.assign(this,i.getMaterial()),this.syncModelVersion=o),this.visible=!0,this.refreshUniforms(e),this.shaderType==="none"?(this.depthWrite=!1,this.transparent=!0):(this.transparent=!1,this.depthWrite=!0,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.transparent&&(this.depthWrite=!1),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1)),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(i.bounding.max),this.uniforms.modelBoundingMin.value.copy(i.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.shininess=e.shininess,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.progress=e.progress,this.transition=e.transition,this.opacity=e.opacity,this.constantColor=e.constantColor,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointEffect=e.pointEffect,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.floor=e.floor,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.evennessPlane=e.evennessPlane,this},t}(THREE__namespace.ShaderMaterial);const pointCloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("{vs|z-sy|n-sy||H0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{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`Rl]YN[RlQV`aN[PR6--p-]yn{r-\n----rp@-{|znyH----sy|n-p|{n{H--\fH--{vs|z-]yn{r-rr{{r]yn{rhCjH--{vs|z-rp@-rr{{r]yn{r[|znyH--{vs|z-sy|n-rr{{r]yn{rQH--{vs|z-sy|n-rr{{r]yn{rQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@-nqwP|y|arz}rnr5rp@-p|y|9-sy|n-rz}rnr6\n----<<-将色温范围从-:>;=-到->;=-映射到实际的色温范围----sy|n-rz}-J-5rz}rnr-8->;=6-7-B===;=H-<<-范围从-=-到->====----<<-计算色温系数----sy|n-lsnp|9-tlsnp|9-olsnp|H----vs-5rz}-IJ-CC==;=6-\n--------lsnp|-J->;=H--------tlsnp|-J-=;@F==E>BDEDCF=>FC=DEA-7-y|t5rz}-<->==;=6-:-=;C@>EA>AA@DEEC?DAB=FEH--------olsnp|-J-rz}-IJ->F==;=-L-=;=-G-=;BA@?=CDEF>>=>FC=DEA@-7-y|t5rz}-<->==;=-:->=;=6-:->;>FC?BA=EF>AH----\f-ryr-\n--------lsnp|-J->;?F?F@C>EC=C?DAB=FE=A-7-}|5rz}-<->==;=-:-C=;=9-:=;>@@?=ADBF?6H--------tlsnp|-J->;>?FEF=EC=EFB?FA>>DCB-7-}|5rz}-<->==;=-:-C=;=9-:=;=DBB>AEAF?6H--------olsnp|-J->;=H----\f----<<-调整颜色----rp@-nqwrqP|y|H----nqwrqP|y|;-J-pynz}5p|y|;-7-lsnp|9-=;=9->;=6H----nqwrqP|y|;t-J-pynz}5p|y|;t-7-tlsnp|9-=;=9->;=6H----nqwrqP|y|;o-J-pynz}5p|y|;o-7-olsnp|9-=;=9->;=6H----r{-nqwrqP|y|H\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\f|vq-znv{56-\n--<<-JJJ-点大小剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--<<-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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;\x07-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v r-K-E;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-sv{nyP|y|-J-_TOa|Yv{rn5rpA5P|y|9-|}npv\b66H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|;\x07\b -J-sv{nyP|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--tylSntP|y|-J-sv{nyP|y|H--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\bH--<<-JJJJJJJJJJJJJJ--tylSntP|y|;n-J-tylSntP|y|;n-7-z|qryNy}unH--<<提取亮度--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--rp@-sv{nyU`c-J-rp@5uP|y|;\x079-uP|y|;\b-8-p|y|`nnv|{9-uP|y|; -8-p|y|Ovtu{r6H--tylSntP|y|;to-J-u?to5sv{nyU`c6H--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs--<<平整度着色--0vs-qrsv{rq5b`Rl]YN[RlQV`aN[PR6----o||y-v{vqr-J-rH----s|-5v{-v-J-=H-v-I-CH-v886-\n--------vs-5q|5rr{{r]yn{rhvj;{|zny9-d|yq]|vv|{;\x07\b 6-8-rr{{r]yn{rhvj;p|{n{-K-=;=6-\n------------v{vqr-J-snyrH------------ornxH--------\f----\f----vs-5v{vqr6-\n------sy|n-qvn{pra|]yn{r-J-5q|5rr{{r]yn{r[|zny9-d|yq]|vv|{;\x07\b 6-8-rr{{r]yn{rQ6-<-yr{tu5rr{{r]yn{r[|zny6H------sy|n-}|tr-J-qvn{pra|]yn{r-7-5>;=-<-rr{{r]yn{rQr}u6H------<<-}|tr-J-}|tr-7-}|tr-7-}|trH------vs5qvn{pra|]yn{r-K-=;=6-\n--------tylSntP|y|-J-zv\x075rpA5=;=9>;=9=;=9>;=69-rpA5>;=9=;=9=;=9>;=69-}|tr6H------\fryr\n--------tylSntP|y|-J-zv\x075rpA5=;=9>;=9=;=9>;=69-rpA5=;=9=;=9>;=9>;=69-}|tr6H------\f----\f--0r{qvs\f"),pointCloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{RssrpH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--<<-sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--sy|n--J-d|yq]|vv|{;\b-<->=;=H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\frpA-l}rzr5rpA-\x076-\n-r{-z|q555\x07-7-@A;=6-8->;=6-7-\x079-?EF;=6H-\frpA-ln\by|V{`\05rpA-6-\n-r{->;DF?EA?F>A==>BF-:-=;EB@D@AD?=FB@>A-7-H-\f<77-7-Tr{rnr-@Q-`vz}yr\x07-[|vr;-7-7-M{nzr-ty{lvz}yr\x07-7-Ms{pv|{-7-M}nnz-\nrp@\f---]|v{-|-nz}yr-`vz}yr\x07-[|vr-n;-7-Mr{-\nsy|n\f--cnyr-|s-`vz}yr\x07-[|vr-n-}|v{-/}/;-7-7-Mr\x07nz}yr-7-sy|n-{-J-ty{lvz}yr\x075}|vv|{;\x07\b 6H-7<sy|n-ty{lvz}yr\x075rp@-6-\n--p|{-rp?-P-J-rp?5>;=-<-C;=9->;=-<-@;=6H--p|{-rpA-Q-J-rpA5=;=9-=;B9->;=9-?;=6H--<<-Sv-p|{r--rp@-v-J-sy||5-8-q|59-P;\b\b\b66H--rp@-\x07=-J--:-v-8-q|5v9-P;\x07\x07\x076H--<<-\\ur-p|{r--rp@-t-J-r}5\x07=;\b \x079-\x07=;\x07\b 6H--rp@-y-J->;=-:-tH--rp@-v>-J-zv{5t;\x07\b 9-y; \x07\b6H--rp@-v?-J-zn\x075t;\x07\b 9-y; \x07\b6H--<<--\x07=-J-\x07=-:-=;-8-=;=-7-P--rp@-\x07>-J-\x07=-:-v>-8->;=-7-P;\x07\x07\x07H--rp@-\x07?-J-\x07=-:-v?-8-?;=-7-P;\x07\x07\x07H--rp@-\x07@-J-\x07=-:->;-8-@;=-7-P;\x07\x07\x07H--<<-]rznv|{--v-J-z|q5v9-?EF;=6H--rpA-}-J-l}rzr5l}rzr5l}rzr5v; -8-rpA5=;=9-v>; 9-v?; 9->;=66-8-v;\b-8-----------------------------rpA5=;=9-v>;\b9-v?;\b9->;=66-8--------------------v;\x07-8-rpA5=;=9-v>;\x079-v?;\x079->;=66H--<<-Tnqvr{--<<-5-[7[-}|v{-{vs|zy\b-|r-n-\0nr9-zn}}rq-|{|-n{-|pnurq|{;6--sy|n-{l-J->;=-<-D;=H-<<-[JD--rp@-{-J-{l-7-Q;\b -:-Q;\x07 \x07H--rpA-w-J-}-:-AF;=-7-sy||5}-7-{; -7-{; 6H-<<--z|q5}9[7[6--rpA-\x07l-J-sy||5w-7-{; 6H--rpA-\bl-J-sy||5w-:-D;=-7-\x07l6H-<<-z|q5w9[6--rpA-\x07-J-\x07l-7-{;\x07-8-{;\b\b\b\bH--rpA-\b-J-\bl-7-{;\x07-8-{;\b\b\b\bH--rpA-u-J->;=-:-no5\x076-:-no5\b6H--rpA-o=-J-rpA5\x07;\x07\b9-\b;\x07\b6H--rpA-o>-J-rpA5\x07; 9-\b; 6H--rpA-=-J-sy||5o=6-7-?;=-8->;=H--rpA->-J-sy||5o>6-7-?;=-8->;=H--rpA-u-J-:r}5u9-rpA5=;=66H--rpA-n=-J-o=;\x07 \b-8-=;\x07 \b-7-u;\x07\x07\b\bH--rpA-n>-J-o>;\x07 \b-8->;\x07 \b-7-u; H--rp@-}=-J-rp@5n=;\x07\b9-u;\x076H--rp@-}>-J-rp@5n=; 9-u;\b6H--rp@-}?-J-rp@5n>;\x07\b9-u; 6H--rp@-}@-J-rp@5n>; 9-u;6H--<<-[|znyvr-tnqvr{--rpA-{|z-J------ln\by|V{`\05rpA5q|5}=9-}=69-q|5}>9-}>69-q|5}?9-}?69-q|5}@9-}@666H--}=-7J-{|z;\x07H--}>-7J-{|z;\bH--}?-7J-{|z; H--}@-7J-{|z;H--<<-Zv\x07-sv{ny-{|vr-nyr--rpA-z-J------zn\x075=;C-:-rpA5q|5\x07=9-\x07=69-q|5\x07>9-\x07>69-q|5\x07?9-\x07?69-q|5\x07@9-\x07@669-=;=6H--z-J-z-7-zH--r{-A?;=-7---------q|5z-7-z9-rpA5q|5}=9-\x07=69-q|5}>9-\x07>69-q|5}?9-\x07?69-q|5}@9-\x07@666H\f|vq-znv{56-\n--0v{pyqr-Iortv{lrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--sy|n-}|v{Rssrp`v r`pnyr-J->;=H--sy|n-}|v{Rssrp`v rOnv-J-=;=H--<<-JJJJ-n-rssrp->-JJJJJ--<<-rpA-onv-J-rpA55z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=9->;=6H--<<-sy|n-o|{qv{t_nqv-J-yr{tu5z|qryO|{qv{tZn\x07-:-z|qryO|{qv{tZv{6-<-?;=H--<<-rpA-]|vv|{>-J-d|yq]|vv|{-:-onvH--<<-rpA-]|vv|{?-J-{|znyv r5]|vv|{>6-7-5o|{qv{t_nqv-7-?=;=6-7-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7-?=;=6H--<<-sy|n-}|tr-J-pynz}5}|v{Rssrp-7-}|v{Rssrp-7-}|v{Rssrp9-=;=9->;=6H--<<-rpA-]|vv|{-J-zv\x075]|vv|{>9-]|vv|{?9-}|tr6H--<<-sy|n-Yr{tu-J-yr{tu5]|vv|{;\x07 6H--<<-sy|n-nq-J-nn{5]|vv|{; 9-]|vv|{;\x076-8-\05yr{tu5]|vv|{-:-]|vv|{>6-<->==;=6H--<<-]|vv|{;\x07-J-p|5nq6-7-Yr{tuH--<<-]|vv|{; -J-v{5nq6-7-Yr{tuH--<<-d|yq]|vv|{-J-onv-8-]|vv|{H--<<-JJJJ-r{q-rssrp->-JJJJJ--<<-JJJJ-n-rssrp-?-JJJJJ--rpA-onv-J-rpA55z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=9->;=6H--sy|n-o|{qv{t_nqv-J-yr{tu5z|qryO|{qv{tZn\x07-:-z|qryO|{qv{tZv{6-<-?;=H--sy|n-}-J-yr{tu5d|yq]|vv|{-:-onv6-<-o|{qv{t_nqvH--sy|n-}|tr-J-z||ur}5}9-}-:-=;=@9->;=-:-}|v{Rssrp6H--sy|n-{|vr-J-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7->=;=6H--}|tr-J-r}5no5{|vr69-}|tr6H--}|v{Rssrp`v r`pnyr-J-zv\x075}|v{Rssrp`v r`pnyr9-=;=9-}|tr6H--sy|n-}|tr?-J-r}5}|v{Rssrp9->;=-:-}6H--}|v{Rssrp`v rOnv-J-zv\x075=;>-7-r}5no5{|vr69-=;B-<-o|{qv{t_nqv69-}|v{Rssrp`v rOnv9-}|tr?6H--<<-JJJJ-r{q-rssrp-?-JJJJJ--<<-JJJJ-n-rssrp-@-JJJJJ--<<-rpA-onv-J-rpA55z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=9->;=6H--<<-sy|n-o|{qv{t_nqv-J-yr{tu5z|qryO|{qv{tZn\x07-:-z|qryO|{qv{tZv{6-<-?;=H--<<-sy|n-o|{qv{t`v rg-J-yr{tu5z|qryO|{qv{tZn\x07; -:-z|qryO|{qv{tZv{; 6H--<<-sy|n-}-J->;=-:-yr{tu5d|yq]|vv|{; -:-z|qryO|{qv{tZv{; 6-<-o|{qv{t`v rgH--<<-sy|n-}|tr-J->;=-:-}|v{RssrpH--<<-}|tr-J-}|tr-7-=;F-8-=;>H--<<-}|tr-J-z||ur}5}9-}-:-=;=@9->;=-:-}|v{Rssrp6H--<<-sy|n-{|vr-J-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7->=;=6H--<<-}|tr-J-r}5no5{|vr69-}|tr6H--<<-}|v{Rssrp`v r`pnyr-J-zv\x075}|v{Rssrp`v r`pnyr9-=;=9-}|tr6H--<<-sy|n-}|tr?-J-r}5}|v{Rssrp9->;=-:-}6H--<<-sy|n-{|vr?-J-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7->=;=6H--<<-}|v{Rssrp`v rOnv-J-zv\x075=;D-7-r}5no5{|vr?69-=;?-<-o|{qv{t_nqv69-}|v{Rssrp`v rOnv9-}|tr?6H--<<-}|v{Rssrp`v rOnv-J-zv\x075=;=9-}|v{Rssrp`v rOnv9-r}5}-:-=;@9-5>;=-:-}|v{Rssrp6-7-=;F66H--<<-JJJJ-r{q-rssrp-@-JJJJJ--rpA-z]|vv|{-J-vrZnv\x07-7-d|yq]|vv|{H--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--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--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----rny]|v{`v r-7J-tr|zrvpR|H----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--tyl]|v{`v r-J-tyl]|v{`v r-7-}|v{Rssrp`v r`pnyr-8-}|v{Rssrp`v rOnvH--]|v{`v r-J-tyl]|v{`v rH--0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0ryr----P|y|-J-p|y|H--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f");var shaderUniforms=Object.assign({pointScale:new THREE__namespace.Uniform(1),pointEffect:new THREE__namespace.Uniform(0),pointMinPixel:new THREE__namespace.Uniform(1),pointMaxPixel:new THREE__namespace.Uniform(1),opacity:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),modelAlpha:new THREE__namespace.Uniform(0),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0),evennessPoints:new THREE__namespace.Uniform([]),evennessPlaneNormal:new THREE__namespace.Uniform(new THREE__namespace.Vector3),evennessPlaneD:new THREE__namespace.Uniform(0),evennessPlanes:new THREE__namespace.Uniform([]),evennessPlaneDepth:new THREE__namespace.Uniform(0)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.fog)),PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,v,A,p,h,g,m,y,E,b,T,_,x,S,P,L,R,M,F,C=n.call(this,{vertexShader:pointCloudVertexShader,fragmentShader:pointCloudFragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(shaderUniforms),lights:!1,defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1,USE_PLANE_DISTANCE:!1}})||this,B;return Object.defineProperties(C,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(H){this.uniforms.constantColor.value=H;var k=this.defines.USE_CONSTANT_COLOR,z=H!==null;k!==z&&(this.defines.USE_CONSTANT_COLOR=z,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(H){this.uniforms.opacity.value=H}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(H){this.uniforms.modelAlpha.value=H}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(H){this.uniforms.shownFloorIndex.value=H}},clippers:{get:function(){return B},set:function(H){B!==H&&(B=H,this.uniforms.clippers.value=(B||[]).map(function(k){var z=typeof k.floorIndex=="number"?k.floorIndex:-1,V=new THREE__namespace.Matrix4().getInverse(k.clippingBoxMatrix);return{matrixInverse:V,floorIndex:z}}),this.needsUpdate=!0)}},pointColor:{get:function(){return this.defines.USE_POINT_COLOR_ALTITUDE===!0?"ALTITUDE":"RGB"},set:function(H){var k=H==="ALTITUDE";this.defines.USE_POINT_COLOR_ALTITUDE!==k&&(this.defines.USE_POINT_COLOR_ALTITUDE=k,this.needsUpdate=!0)}},pointSize:{get:function(){return this.defines.USE_POINT_SIZE_GEOMETRIC===!0?"GEOMETRIC":this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(H){var k=H==="ATTENUATION",z=H==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==z&&(this.defines.USE_POINT_SIZE_GEOMETRIC=z,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==k&&(this.defines.USE_POINT_SIZE_ATTENUATION=k,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(H){var k=H==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==k&&(this.defines.USE_POINT_SHAPE_CIRCLE=k,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(H){this.uniforms.pointScale.value=H}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(H){var k=H==="HIDDEN",z=H==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==k&&(this.defines.USE_POINT_BACK_HIDDEN=k,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==z&&(this.defines.USE_POINT_BACK_DARK=z,this.needsUpdate=!0)}},pointEffect:{get:function(){return this.uniforms.pointEffect.value},set:function(H){this.uniforms.pointEffect.value=H}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(H){this.uniforms.pointMinPixel.value=H}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(H){this.uniforms.pointMaxPixel.value=H}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(H){H!==this.defines.USE_EDL&&(this.defines.USE_EDL=H,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(H){H!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=H,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(H){H!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=H,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(H){this.uniforms.gradientTexture.value=H}},floor:{get:function(){return this.uniforms.floor.value},set:function(H){this.uniforms.floor.value=H}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(H){this.uniforms.brightness.value=H}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(H){this.uniforms.colorSaturation.value=H}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(H){this.uniforms.colorBrightness.value=H}},evennessPlane:{get:function(){return{depth:this.uniforms.evennessPlaneDepth.value,points:this.uniforms.evennessPoints.value}},set:function(H){var k=H.points,z=H.depth,V=!1;if(k.length!==0&&k.length%4===0){V=!0;var N=k[0],D=k[1],q=k[2],G=k[3],J=new THREE__namespace.Vector3().subVectors(D,N),j=new THREE__namespace.Vector3().subVectors(q,N),K=new THREE__namespace.Vector3().crossVectors(J,j).normalize(),Z=-K.dot(N),X=z,ee=N.clone().add(K.clone().negate().multiplyScalar(X)),Y=N.clone().add(K.clone().multiplyScalar(X)),ne=D.clone().add(K.clone().negate().multiplyScalar(X)),te=D.clone().add(K.clone().multiplyScalar(X)),ce=q.clone().add(K.clone().negate().multiplyScalar(X)),ie=q.clone().add(K.clone().multiplyScalar(X)),se=G.clone().add(K.clone().negate().multiplyScalar(X)),Ae=G.clone().add(K.clone().multiplyScalar(X)),pe=new THREE__namespace.Plane().setFromCoplanarPoints(Y,te,ie),he=new THREE__namespace.Plane().setFromCoplanarPoints(ce,ne,ee),$=new THREE__namespace.Plane().setFromCoplanarPoints(te,Y,ee),re=new THREE__namespace.Plane().setFromCoplanarPoints(se,Ae,ie),U=new THREE__namespace.Plane().setFromCoplanarPoints(ie,te,ne),ge=new THREE__namespace.Plane().setFromCoplanarPoints(ee,Y,Ae);this.uniforms.evennessPlanes.value=[{normal:pe.normal,constant:pe.constant},{normal:he.normal,constant:he.constant},{normal:$.normal,constant:$.constant},{normal:re.normal,constant:re.constant},{normal:U.normal,constant:U.constant},{normal:ge.normal,constant:ge.constant}],this.uniforms.evennessPoints.value=H,this.uniforms.evennessPlaneDepth.value=z,this.uniforms.evennessPlaneNormal.value=K,this.uniforms.evennessPlaneD.value=Z}this.defines.USE_PLANE_DISTANCE!==V&&(this.needsUpdate=!0,this.defines.USE_PLANE_DISTANCE=V)}}}),C.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,C.pano1=(i=e.pano1)!==null&&i!==void 0?i:defaultPbmParameters.pano1,C.modelAlpha=(o=e.modelAlpha)!==null&&o!==void 0?o:defaultPbmParameters.modelAlpha,C.progress=(s=e.progress)!==null&&s!==void 0?s:defaultPbmParameters.progress,C.transition=(u=e.transition)!==null&&u!==void 0?u:defaultPbmParameters.transition,C.constantColor=(c=e.constantColor)!==null&&c!==void 0?c:defaultPbmParameters.constantColor,C.opacity=(l=e.opacity)!==null&&l!==void 0?l:defaultPbmParameters.opacity,C.floorStyle=(d=e.floorStyle)!==null&&d!==void 0?d:defaultPbmParameters.floorStyle,C.shownFloorIndex=(f=e.shownFloorIndex)!==null&&f!==void 0?f:defaultPbmParameters.shownFloorIndex,C.clippers=(v=e.clippers)!==null&&v!==void 0?v:defaultPbmParameters.clippers,C.useEDL=(A=e.useEDL)!==null&&A!==void 0?A:defaultPbmParameters.useEDL,C.useHQWeight=(p=e.useHQWeight)!==null&&p!==void 0?p:defaultPbmParameters.useHQWeight,C.useHQDepth=(h=e.useHQDepth)!==null&&h!==void 0?h:defaultPbmParameters.useHQDepth,C.pointColor=(g=e.pointColor)!==null&&g!==void 0?g:defaultPbmParameters.pointColor,C.pointShape=(m=e.pointShape)!==null&&m!==void 0?m:defaultPbmParameters.pointShape,C.pointSize=(y=e.pointSize)!==null&&y!==void 0?y:defaultPbmParameters.pointSize,C.pointScale=(E=e.pointScale)!==null&&E!==void 0?E:defaultPbmParameters.pointScale,C.pointBack=(b=e.pointBack)!==null&&b!==void 0?b:defaultPbmParameters.pointBack,C.pointAppearAnimationDuration=(T=e.pointAppearAnimationDuration)!==null&&T!==void 0?T:defaultPbmParameters.pointAppearAnimationDuration,C.pointEffect=(_=e.pointEffect)!==null&&_!==void 0?_:defaultPbmParameters.pointEffect,C.pointMinPixel=(x=e.pointMinPixel)!==null&&x!==void 0?x:defaultPbmParameters.pointMinPixel,C.pointMaxPixel=(S=e.pointMaxPixel)!==null&&S!==void 0?S:defaultPbmParameters.pointMaxPixel,C.gradientTexture=(P=e.gradientTexture)!==null&&P!==void 0?P:defaultPbmParameters.gradientTexture,C.brightness=(L=e.brightness)!==null&&L!==void 0?L:defaultPbmParameters.brightness,C.colorSaturation=(R=e.colorSaturation)!==null&&R!==void 0?R:defaultPbmParameters.colorSaturation,C.colorBrightness=(M=e.colorBrightness)!==null&&M!==void 0?M:defaultPbmParameters.colorBrightness,C.floor=0,C.transparent=!0,C.evennessPlane=(F=e.evennessPlane)!==null&&F!==void 0?F:defaultPbmParameters.evennessPlane,C}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.update=function(e,r,i){var o="".concat(i.id,":").concat(i.materialVersion);o!==this.syncModelVersion&&(Object.assign(this,i.getMaterial()),this.syncModelVersion=o),this.visible=!0,this.transparent=!1,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.modelAlpha<1&&(this.transparent=!0),this.opacity<1&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.depthWrite=!0,this.depthTest=!0,this.useEDL&&(this.transparent=!1),this.useHQWeight?(this.depthWrite=!1,this.blending=THREE__namespace.CustomBlending,this.blendSrc=THREE__namespace.SrcAlphaFactor,this.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,this.blendDst=THREE__namespace.OneFactor,this.blendDstAlpha=THREE__namespace.OneFactor):(this.blending=THREE__namespace.NormalBlending,this.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,this.blendEquation=THREE__namespace.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(i.bounding.max),this.uniforms.modelBoundingMin.value.copy(i.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,this),this.pano0=e.pano0,this.pano1=e.pano1,this.progress=e.progress,this.transition=e.transition,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.constantColor=e.constantColor,this.modelAlpha=e.modelAlpha,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointEffect=e.pointEffect,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.evennessPlane=e.evennessPlane,this},t}(THREE__namespace.ShaderMaterial),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,o=e.premultipliedAlpha,s=o===void 0?!1:o,u=e.stencil,c=u===void 0?!0:u,l=e.backgroundColor,d=l===void 0?1579548:l,f=e.backgroundAlpha,v=f===void 0?1:f,A=e.pixelRatio,p=A===void 0?1:A,h=e.antialias,g=e.webgl2,m=e.logarithmicDepthBuffer,y=e.precision,E=this,b={antialias:h,alpha:!0,depth:!0,preserveDrawingBuffer:i,stencil:c,premultipliedAlpha:s,powerPreference:"high-performance"},T={logarithmicDepthBuffer:m,precision:y};if(g){var _=document.createElement("canvas"),x=_.getContext("webgl2",b);x?E=n.call(this,__assign(__assign(__assign({},b),T),{antialias:!0,canvas:_,context:x}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),E=n.call(this,__assign(__assign({},b),T))||this)}else E=n.call(this,__assign(__assign({},b),T))||this;return E.setPixelRatio(p),E.setClearColor(d,v),E.outputEncoding=THREE__namespace.sRGBEncoding,E.autoClear=!0,E}return t}(THREE__namespace.WebGLRenderer),Scene=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}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}(THREE__namespace.Scene);function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),o=-Math.cos(n.longitude)*e;return t?t.set(r,i,o):new THREE__namespace.Vector3(r,i,o)}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 i=0;i<16;i++)r.elements[i]=n.elements[i]+(t.elements[i]-n.elements[i])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,i,o,s,u,c){r===void 0&&(r=DEFAULT_ASPECT),i===void 0&&(i=DEFAULT_NEAR),o===void 0&&(o=DEFAULT_FAR),s===void 0&&(s=new THREE__namespace.Vector2),u===void 0&&(u=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var l=n.call(this)||this;l.fov=e,l.aspect=r,l.near=i,l.far=o,l.perspToOrtho=s,l.resolution=u,l.pixelRatio=c,l.time=0,l.needsRender=!0,l.refineModel=!0,l.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},l.computePose(),l.perspectiveCamera=new THREE__namespace.PerspectiveCamera(l.fov,l.aspect,.001,l.far);var d=Math.max(l.orthoDistance,.01)*Math.tan(.5*l.fov/180*Math.PI),f=-.5*l.aspect*2*d;return l.orthographicCamera=new THREE__namespace.OrthographicCamera(f,-f,d,-d,.001,l.far),l.computeProjectionMatrix(),l.lastValues={position:l.position.clone(),quaternion:l.quaternion.clone(),scale:l.scale.clone(),fov:l.fov,aspect:l.aspect,near:l.near,far:l.far,orthoDistance:l.orthoDistance,perspToOrtho:l.perspToOrtho.clone()},l.type=l.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",l}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,i,o,s,u,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),l=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),d=(o=e.fov)!==null&&o!==void 0?o:this.pose.fov,f=(s=e.distance)!==null&&s!==void 0?s:this.pose.distance,v=(u=e.offset)!==null&&u!==void 0?u:this.pose.offset,A=coordinatesToVector({longitude:c,latitude:l}).normalize();return this.position.set(0,0,0),this.lookAt(A),this.position.add(v).sub(A.clone().setLength(f)),this.fov!==d&&(this.fov=d,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=c,this.pose.latitude=l,this.pose.fov=d,this.pose.distance=f,this.pose.offset.copy(v),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,i,o,s,u){this.perspectiveCamera.setViewOffset(e,r,i,o,s,u),this.orthographicCamera.setViewOffset(e,r,i,o,s,u),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,r){this.time=e;var i=!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(),i=!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(),i=!0}i&&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(),0),this},t}(THREE__namespace.Camera),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,scratchVector=new THREE__namespace.Vector3,scratchMatrix4$4=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$4.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$4.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$4),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var i=r[e];i.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,i=this.planes;r<i.length;r++){var o=i[r],s=t.intersectPlane(o);switch(s){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,i=Math.min(32,this.planes.length),o=0;o<i;++o){var s=1<<o;if(e&s){var u=this.planes[o],c=t.intersectPlane(u);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=s)}}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],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],d=e[10],f=e[11],v=Math.sqrt(r*r+i*i+o*o),A=Math.sqrt(s*s+u*u+c*c),p=Math.sqrt(l*l+d*d+f*f);this.halfSize.set(v,A,p);var h=this.halfSize.toArray().reduce(function(g,m){return g+m},0);return(isNaN(h)||h<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/v,i/v,o/v,s/A,u/A,c/A,l/p,d/p,f/p]),isNaN(this.rotation.toArray().reduce(function(g,m){return g+m},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 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$4.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,i=t.y-this.center.y,o=t.z-this.center.z,s=0,u;return u=r*e[0]+i*e[1]+o*e[2],u<0&&(u=-u),u-=this.halfSize.x,u>0&&(s+=u*u),u=r*e[3]+i*e[4]+o*e[5],u<0&&(u=-u),u-=this.halfSize.y,u>0&&(s+=u*u),u=r*e[6]+i*e[7]+o*e[8],u<0&&(u=-u),u-=this.halfSize.z,u>0&&(s+=u*u),s},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,i=this.rotation.elements,o=this.halfSize,s=r.x,u=r.y,c=r.z,l=Math.abs(s*i[0]*o.x+u*i[1]*o.x+c*i[2]*o.x)+Math.abs(s*i[3]*o.y+u*i[4]*o.y+c*i[5]*o.y)+Math.abs(s*i[6]*o.z+u*i[7]*o.z+c*i[8]*o.z),d=r.dot(e)+t.constant;return d<=-l?VolumePlaneIntersect.Outside:d>=l?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$4.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$4.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$4),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$4).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 i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+Math.sin(i)*this.radius,e[r*6+2]=this.center.z+0,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+Math.sin(i)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(i)*this.radius}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o},n.prototype.applyMatrix4=function(t){return 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,i=t.normal,o=i.dot(e)+t.constant;return o<-r?VolumePlaneIntersect.Outside:o<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 i=new THREE__namespace.BufferGeometry;return i.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();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$4=new THREE__namespace.Vector3,Tile=function(){function n(t,e,r,i){var o=this,s,u,c,l;this.parent=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=i!=null?i:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(s=e.refine)!==null&&s!==void 0?s: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=(u=this.parent)===null||u===void 0?void 0:u.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=makeBoundingVolume(e.content.boundingVolume).applyMatrix4(this.transform)),/\.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=(l=e.extras)!==null&&l!==void 0?l:{},typeof this.extras.floor!="number"&&i&&typeof i.extras.floor=="number"&&(this.extras.floor=i.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(d,f){return new n("".concat(o.id,".").concat(f),d,r,o)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var i=r[e];i.traverse(t)}},n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;if(t.camera.type==="OrthographicCamera"){var i=new THREE__namespace.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(i)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var o=r.getCenter(scratchVector3$4).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.state.distanceToCamera<t.camera.near&&(this.state.distanceToCamera=t.camera.near),this.levelOfContent<=0&&(this.state.visible=!0),this.viewerRequestVolume){var u=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;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}),n.prototype.getScreenSpaceError=function(t,e,r){var i=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),o=this.parent?this.parent.geometricError:this.tileset.geometricError,s=i*(r?o:this.geometricError);if(s===0)return 0;var u=Math.max(e,.001),c=s*t.height/(u*t.sseDenominator);return c},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1)return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),i=r?e.state.screenSpaceError:this.state.screenSpaceError,o=this.tileset.root?this.tileset.root.state.screenSpaceError:0,s=Math.max(o-i,0);return s},n}();function getPriority(n){var t=n.refine==="ADD"||n.tileset.skipLevelOfDetail,e=n.parent,r=e&&(!t||n.state.screenSpaceError===0),i=r?e.state.screenSpaceError:n.state.screenSpaceError,o=n.tileset.root?n.tileset.root.state.screenSpaceError:0,s=Math.max(o-i,0);return s}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 i=this,o=r.time,s=this.requestQueue,u=new Set(t),c=0;c<s.length;c++){var l=s[c];if(u.has(l.tile)){u.delete(l.tile);continue}l.status==="WAITING"&&(s.splice(c,1),c--,this.options.onTileSkip&&this.options.onTileSkip(l.tile))}u.size>0&&(u.forEach(function(p){s.push({tile:p,status:"WAITING",time:o,error:null})}),u.clear());for(var d=this.tileset.maxRequests,c=0;c<s.length&&d>0;c++){var l=s[c];if(l.status==="DONE")l.error!==null?this.options.onTileError&&this.options.onTileError(l.tile,l.error):(d--,l.tile.content&&(l.tile.content.loadState="READY"),this.options.onTileLoad&&this.options.onTileLoad(l.tile)),s.splice(c,1),c--;else if(l.status==="PENDING"&&o-l.time<1e3)break}switch(e){case"SCREEN_SPACE_ERROR":{var f=new Map;s.sort(function(p,h){if(p.tile.state.requestedFrameNumber!==h.tile.state.requestedFrameNumber)return h.tile.state.requestedFrameNumber-p.tile.state.requestedFrameNumber;if(p.tile.state.requestedFrameNumber===r.frameNumber){var g=f.get(p.tile.id);g===void 0&&(g=getPriority(p.tile),f.set(p.tile.id,g));var m=f.get(h.tile.id);return m===void 0&&(m=getPriority(h.tile),f.set(h.tile.id,m)),g-m}else return p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera});break}case"SCREEN_VERTICAL":{s.sort(function(p,h){return p.tile.state.requestedFrameNumber!==h.tile.state.requestedFrameNumber?h.tile.state.requestedFrameNumber-p.tile.state.requestedFrameNumber:p.tile.state.requestedFrameNumber===r.frameNumber?p.tile.state.centerScreenY!==h.tile.state.centerScreenY?p.tile.state.centerScreenY-h.tile.state.centerScreenY:p.tile.state.centerZDepth!==h.tile.state.centerZDepth?p.tile.state.centerZDepth-h.tile.state.centerZDepth:p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera:p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera});break}case"SCREEN_LEVEL_VERTICAL":{s.sort(function(p,h){return p.tile.state.requestedFrameNumber!==h.tile.state.requestedFrameNumber?h.tile.state.requestedFrameNumber-p.tile.state.requestedFrameNumber:p.tile.state.requestedFrameNumber===r.frameNumber?p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.centerScreenY!==h.tile.state.centerScreenY?p.tile.state.centerScreenY-h.tile.state.centerScreenY:p.tile.state.centerZDepth!==h.tile.state.centerZDepth?p.tile.state.centerZDepth-h.tile.state.centerZDepth:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera:p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera});break}}d=Math.max(this.tileset.maxRequests-this.activeRequests,0);for(var v=function(p){var h=s[p];h.status==="WAITING"&&(d--,h.status="PENDING",h.time=o,A.activeRequests++,A.tileset.options.tileLoader(h.tile).catch(function(g){h.error=g}).then(function(){h.status="DONE",h.tile.content&&h.tile.content.loadState==="READY"&&(h.tile.content.loadState="LOADING"),i.activeRequests--}))},A=this,c=0;c<s.length&&d>0;c++)v(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 i=r[e];i.item!=="sentinel"&&t.push(i.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,this.root=null}return n.prototype.traverse=function(t,e,r){this.root=t,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.hasUnloadedContent&&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.levelOfContent>=e.maxLevelOfDetail||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.maxScreenSpaceError},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 i=t.children[0];this.updateTileVisibility(i,e),t.state.visible=i.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}var o=t.refine==="REPLACE";if(o&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,i=t.children,o=0,s=i;o<s.length;o++){var u=s[o];u.updateState(e),r=r||u.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail?!1:r.levelOfContent>e.maxLevelOfDetail?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.maxScreenSpaceError},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 i=r.pop();i.hasUnloadedContent&&i.state.requestedFrameNumber<e.frameNumber&&this.tileset.requestedTiles.push(i),this.touchTile(i,e);for(var o=0,s=i.children;o<s.length;o++){var u=s[o];r.push(u)}}},n}(),TilesetNormalTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r._emptyTraversalStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var o=0,s=i;o<s.length;o++){var u=s[o];this._traversalStack.reset(),this._emptyTraversalStack.reset(),u.camera.refine&&(this._canSelectTile=u.camera.visible,this.updateTile(e,u),this.executeTraversal(e,u))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r)),this.tileset.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 i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var o=i.pop(),s=o.parent,u=!s||s.state.shouldRefine,c=!1;this.canTraverse(o,r)&&(c=this.updateAndPushChildren(o,r,i)&&u);var l=!c&&u;o.hasRenderContent?o.refine==="ADD"?(this.loadTile(o,r),this.selectDesiredTile(o,r)):o.refine==="REPLACE"&&(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)):(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)),this.touchTile(o,r),o.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,i){for(var o=e.children,s=0,u=o;s<u.length;s++){var c=u[s];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(o);for(var l=e.refine==="REPLACE"&&e.hasRenderContent,d=!1,f=!0,v=0,A=o;v<A.length;v++){var c=A[v];if(c.state.visible&&c.state.inRequestVolume?(i.find(c)&&i.delete(c),i.push(c),d===!1&&(d=!0)):(l||this.tileset.loadSiblings)&&(this.loadTile(c,r),this.touchTile(c,r)),l){var p=void 0;c.state.inRequestVolume?c.hasRenderContent?p=c.contentAvailable:p=this.executeEmptyTraversal(c,r):p=!1,f=f&&p}}return d||(f=!1),f},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var i=!0,o=this._emptyTraversalStack;for(o.push(e);o.length>0&&i;){var s=o.pop(),u=!s.hasRenderContent&&this.canTraverse(s,r);if(!u&&!s.contentAvailable&&(i=!1),this.updateTile(s,r),s.state.visible||(this.loadTile(s,r),this.touchTile(s,r)),u)for(var c=s.children,l=0,d=c;l<d.length;l++){var f=d[l];o.find(f)&&o.delete(f),o.push(f)}}return i},t}(TilesetBaseTraverser),TilesetSkipTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,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,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var o=0,s=i;o<s.length;o++){var u=s[o];this._traversalStack.reset(),u.camera.refine&&(this._canSelectTile=u.camera.visible,this.updateTile(e,u),this.executeTraversal(e,u),this.traverseAndSelect(e,u))}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)),this.tileset.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 i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var o=i.pop();this.updateTileAncestorContentLinks(o,r);var s=o.parent,u=!s||s.state.shouldRefine,c=!1;this.canTraverse(o,r)&&(c=this.updateAndPushChildren(o,r,i)&&u);var l=!c&&u;o.hasRenderContent?o.refine==="ADD"?(this.loadTile(o,r),this.selectDesiredTile(o,r)):o.refine==="REPLACE"&&(this.inBaseTraversal(o,this.baseScreenSpaceError)?(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)):l?(this.loadTile(o,r),this.selectDesiredTile(o,r)):this.reachedSkippingThreshold(o)&&this.loadTile(o,r)):(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)),this.touchTile(o,r),o.state.shouldRefine=c}this.loadAllTiles(e,r)},t.prototype.updateAndPushChildren=function(e,r,i){for(var o=e.children,s=0,u=o;s<u.length;s++){var c=u[s];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(o);for(var l=!1,d=0,f=o;d<f.length;d++){var c=f[d];c.state.visible&&c.state.inRequestVolume?(i.push(c),l===!1&&(l=!0)):this.tileset.loadSiblings&&(this.loadTile(c,r),this.touchTile(c,r))}return l},t.prototype.selectDesiredTile=function(e,r){var i=e.contentAvailable?e:e.state.ancestorWithContentAvailable;i&&(i.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var i=this._descendantTraversalStack;for(i.push(e);i.length>0;)for(var o=i.pop(),s=o.children,u=0,c=s;u<c.length;u++){var l=c[u];l.state.visible&&(l.contentAvailable?(this.updateTile(l,r),this.touchTile(l,r),this.selectTile(l,r)):i.push(l))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,i=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return i},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var i=e.parent;if(i){var o=!(i.hasRenderContent&&i.hasUnloadedContent)||i.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=o?i:i.state.ancestorWithContent,e.state.ancestorWithContentAvailable=i.contentAvailable?i:i.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 i=this._selectionTraversalStack,o=this._selectionTraversalancestorStack,s;for(i.push(e);i.length>0||o.length>0;){if(o.length>0){var u=o.peek();if(u.state.stackLength===i.length){o.pop(),u!==s&&(u.state.finalResolution=!1),this.selectTile(u,r);continue}}var c=i.pop();if(c){var l=this.canTraverse(c,r);if(c.state.shouldSelect)if(c.refine==="ADD")this.selectTile(c,r);else{if(c.state.selectionDepth=o.length,c.state.selectionDepth>0&&(c.tileset.hasMixedContent=!0),s=c,!l){this.selectTile(c,r);continue}o.push(c),c.state.stackLength=i.length}if(l)for(var d=0,f=c.children;d<f.length;d++){var v=f[d];v.state.visible&&i.push(v)}}}},t}(TilesetBaseTraverser),TilesetMostDetailTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r}return t.prototype.canTraverse=function(e,r){return!(e.levelOfContent>=r.maxLevelOfDetail||e.children.length===0)},t.prototype.traverse=function(e,r,i){n.prototype.traverse.call(this,e,r,[]),this._traversalStack.reset(),e.updateState(r);for(var o=0,s=i;o<s.length;o++){var u=s[o];this._traversalStack.reset(),u.camera.refine&&(this._canSelectTile=u.camera.visible,e.updateState(u),this.executeTraversal(e,u))}this._traversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,e.updateState(r),this.executeTraversal(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset()},t.prototype.executeTraversal=function(e,r){var i=this._traversalStack;for(i.push(e);i.length>0;){var o=i.pop(),s=o.refine==="ADD",u=o.refine==="REPLACE",c=this.canTraverse(o,r);c&&this.updateAndPushChildren(o,r,i),(s||u&&!c)&&(this.loadTile(o,r),this.touchTile(o,r),this.selectDesiredTile(o,r))}},t.prototype.updateAndPushChildren=function(e,r,i){for(var o=e.children,s=0;s<o.length;++s){var u=o[s];u.updateState(r),u.state.visible&&i.push(u)}},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t}(TilesetBaseTraverser),COLOR_MAP=[5635925,5592575,16733525],Trajectory=function(){function n(t,e,r){var i;this.index=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,color:new THREE__namespace.Color((i=e.color)!==null&&i!==void 0?i:COLOR_MAP[t%COLOR_MAP.length]),byteLength:0,loadState:"UNLOADED",data:void 0}}return n}(),identityMatrix4=new THREE__namespace.Matrix4,Tileset=function(){function n(t,e,r){var i=this,o,s,u,c,l,d,f,v,A;if(this.id=t,this.transform=new THREE__namespace.Matrix4,this.transformIsIdentity=!0,this.hasMixedContent=!1,this.url=(o=r.url)!==null&&o!==void 0?o:"",this.referer=(s=r.referer)!==null&&s!==void 0?s:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(u=e.asset.gltfUpAxis)!==null&&u!==void 0?u:"Y",overview:e.asset.overview,trajectories:(l=(c=e.asset.trajectories)===null||c===void 0?void 0:c.list)!==null&&l!==void 0?l:[]},this.rootMeta=(d=e.rootMeta)!==null&&d!==void 0?d:{},this.pointLength=(f=this.rootMeta.numTotalPoints)!==null&&f!==void 0?f:1/0,this.floorLength=(v=this.rootMeta.numFloors)!==null&&v!==void 0?v:1,this.properties=(A=e.properties)!==null&&A!==void 0?A:{},this.options=r,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.mostDetail=n.DEFAULT_MOST_DETAIL,this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.loadAll=n.DEFAULT_LOAD_ALL,this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.tileRequestOrder=n.DEFAULT_REQUEST_ORDER,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(g){i.memoryUsageInBytes+=g.contentByteLength},onTileUnload:function(g){i.memoryUsageInBytes-=g.contentByteLength,i.unloadTiles.push(g)}}),this.requestScheduler=new TileRequestScheduler(this,{onTileSkip:function(g){},onTileLoad:function(g){var m;!((m=g.content)===null||m===void 0)&&m.data&&(i.loadedTiles.add(g),i.cache.loadTile(g)),i.options.onTileLoad(g)},onTileError:function(g,m){i.options.onTileError(g,m)}}),this.frameNumber=0,this.loadedTiles=new Set,this.memoryUsageInBytes=0,this.root=new Tile("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.trajectories=[],this.asset.trajectories)for(var p=0;p<this.asset.trajectories.length;p++){var h=new Trajectory(p,this.asset.trajectories[p],this);this.trajectories.push(h)}}return Object.defineProperty(n.prototype,"traverser",{get:function(){return this.mostDetail?this.mostDetailTraverser:this.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,o=r.children.length;i<o;i++)e.push(r.children[i]);this.cache.unloadTile(r)}for(var s=function(){var d=u.unloadTiles.pop();d&&(u.loadedTiles.delete(d),u.memoryUsageInBytes-=d.contentByteLength,u.options.tileUnloader(d).catch(function(){}).then(function(){t.options.onTileUnload&&t.options.onTileUnload(d)}))},u=this;this.unloadTiles.length;)s();this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.loadedTiles.clear();for(var c=function(){var d=l.trajectories.pop();d&&l.options.trajectoryUnloader(d).catch(function(){}).then(function(){t.options.onTrajectoryUnload&&t.options.onTrajectoryUnload(d)})},l=this;this.trajectories.length;)c()},n.prototype.update=function(t,e){var r=this,i;e===void 0&&(e=[]),this.frameNumber=t.frameNumber,this.transformIsIdentity=this.transform.equals(identityMatrix4),this.traverser.traverse(this.root,t,e),this.cache.unloadTiles(function(){var v=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return v}),this.requestScheduler.update(this.requestedTiles,this.tileRequestOrder,t);for(var o=function(){var v=s.unloadTiles.pop();v&&(s.loadedTiles.delete(v),s.options.tileUnloader(v).catch(function(){}).then(function(){r.options.onTileUnload&&r.options.onTileUnload(v)}))},s=this;this.unloadTiles.length;)o();this.selectedTrajectories.length=0;for(var u=function(v){v.visible===!0&&v.content.loadState==="READY"&&(!((i=v.content.data)===null||i===void 0)&&i.object)?c.selectedTrajectories.push(v):v.visible===!0&&v.content.loadState==="UNLOADED"&&c.options.trajectoryLoader(v).then(function(){r.options.onTrajectoryLoad(v)}).catch(function(A){r.options.onTrajectoryError(v,A)})},c=this,l=0,d=this.trajectories;l<d.length;l++){var f=d[l];u(f)}},n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_MOST_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_LOAD_ALL=!1,n.DEFAULT_MAX_REQUESTS=6,n.DEFAULT_REQUEST_ORDER="SCREEN_SPACE_ERROR",n}(),BVHObject=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,i=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):i.array.length/((e=i.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,i,o,s,u=this.indices,c=this.position,l=t;if(u){var d=u.array,f=(r=u.stride)!==null&&r!==void 0?r:1,v=(i=u.offset)!==null&&i!==void 0?i:0;l=d[t*f+v]}var A=c.array,p=(o=c.stride)!==null&&o!==void 0?o:3,h=(s=c.offset)!==null&&s!==void 0?s:0;return l=l*p+h,e.x=A[l],e.y=A[l+1],e.z=A[l+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,i){throw new Error("not implemented")},n}(),BVHNode=function(){function n(t,e,r,i,o){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=o}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),i=new Uint32Array(e),o=new Uint16Array(e),s=[n],u,c;u=s.pop();)c=u.id*BYTES_PER_NODE/4,r[c]=u.extents[0],r[c+1]=u.extents[1],r[c+2]=u.extents[2],r[c+3]=u.extents[3],r[c+4]=u.extents[4],r[c+5]=u.extents[5],i[c+6]=u.startIndex,i[c+7]=u.endIndex,c=u.id*BYTES_PER_NODE/2,u.node0&&(o[c+16]=u.node0.id,s.push(u.node0)),u.node1&&(o[c+17]=u.node1.id,s.push(u.node1));return e}function intersectNodeBox(n,t,e,r,i,o,s,u,c){c===void 0&&(c=0),e=e-c,r=r-c,i=i-c,o=o+c,s=s+c,u=u+c;var l=0,d=0,f=0,v=0,A=0,p=0;return t.x>=0?(l=(e-n.x)*t.x,d=(o-n.x)*t.x):(l=(o-n.x)*t.x,d=(e-n.x)*t.x),t.y>=0?(f=(r-n.y)*t.y,v=(s-n.y)*t.y):(f=(s-n.y)*t.y,v=(r-n.y)*t.y),!(l>v||f>d||(f>l&&(l=f),v<d&&(d=v),t.z>=0?(A=(i-n.z)*t.z,p=(u-n.z)*t.z):(A=(u-n.z)*t.z,p=(i-n.z)*t.z),l>p||A>d)||(A>l&&(l=A),p<d&&(d=p),d<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,i=this.z;return this.x=r*t.z-i*t.y,this.y=i*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,o=t.z,s=e.x,u=e.y,c=e.z;return this.x=i*c-o*u,this.y=o*s-r*c,this.z=r*u-i*s,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,i=this.z-t.z;return e*e+r*r+i*i},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$3=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,i){r=Math.min(r,16);var o=this.getPositionCount()/3,s=o>65535?new Uint32Array(o):new Uint16Array(o),u=new Float32Array(o*6),c=[],l=0,d=-1;if(i)for(var f=0,v=0,A=0,p=void 0,h=void 0,g=void 0,m=void 0,y=void 0,E=void 0,b=void 0;f<o;f+=1,v+=3,A+=6)s[f]=f,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),p=m=scratchVector3A.x,b=scratchVector3B.x,b<p&&(p=b),b>m&&(m=b),b=scratchVector3C.x,b<p&&(p=b),b>m&&(m=b),h=y=scratchVector3A.y,b=scratchVector3B.y,b<h&&(h=b),b>y&&(y=b),b=scratchVector3C.y,b<h&&(h=b),b>y&&(y=b),g=E=scratchVector3A.z,b=scratchVector3B.z,b<g&&(g=b),b>E&&(E=b),b=scratchVector3C.z,b<g&&(g=b),b>E&&(E=b),u[A]=p,u[A+1]=h,u[A+2]=g,u[A+3]=m,u[A+4]=y,u[A+5]=E;else{for(var T=1/0,_=1/0,x=1/0,S=-1/0,P=-1/0,L=-1/0,f=0,v=0,A=0,p=void 0,h=void 0,g=void 0,m=void 0,y=void 0,E=void 0,b=void 0;f<o;f+=1,v+=3,A+=6)s[f]=f,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),p=m=scratchVector3A.x,b=scratchVector3B.x,b<p&&(p=b),b>m&&(m=b),b=scratchVector3C.x,b<p&&(p=b),b>m&&(m=b),h=y=scratchVector3A.y,b=scratchVector3B.y,b<h&&(h=b),b>y&&(y=b),b=scratchVector3C.y,b<h&&(h=b),b>y&&(y=b),g=E=scratchVector3A.z,b=scratchVector3B.z,b<g&&(g=b),b>E&&(E=b),b=scratchVector3C.z,b<g&&(g=b),b>E&&(E=b),u[A]=p,u[A+1]=h,u[A+2]=g,u[A+3]=m,u[A+4]=y,u[A+5]=E,p<T&&(T=p),m>S&&(S=m),h<_&&(_=h),y>P&&(P=y),g<x&&(x=g),E>L&&(L=E);i=[T,_,x,S,P,L]}var R=new BVHNode(++d,i,0,o,0);c[l++]=R;var M=[],F=[0,1,2],C=function(H,k){return M[k]-M[H]};function B(H){var k=H.startIndex,z=H.endIndex,V=H.extents;M[0]=V[3]-V[0],M[1]=V[4]-V[1],M[2]=V[5]-V[2],F.sort(C);for(var N=0;N<3;N++){for(var D=F[N],q=V[D]+V[D+3],G=k,J=z-1,j=-1,K=void 0;G<=J;)j===-1?(K=s[G],u[K*6+D]+u[K*6+D+3]<q?G++:j=K):(K=s[J],u[K*6+D]+u[K*6+D+3]>=q||(s[G]=K,s[J]=j,j=-1,G++),J--);if(G>k&&G<z){var Z=new BVHNode(++d,calcExtents(s,u,k,G,EPSILON$1),k,G,H.deepth+1);Z.deepth<r&&Z.endIndex-Z.startIndex>e&&(c[l++]=Z);var X=new BVHNode(++d,calcExtents(s,u,G,z,EPSILON$1),G,z,H.deepth+1);X.deepth<r&&X.endIndex-X.startIndex>e&&(c[l++]=X),H.node0=Z,H.node1=X,H.startIndex=0,H.endIndex=0;break}}}for(;l;)B(c[--l]);return this.offsetArray=s,this.rootNodePacked=packBVHNode(R,d+1),c.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var i=this.offsetArray,o=this.rootNodePacked,s=new Float32Array(o),u=new Uint32Array(o),c=new Uint16Array(o),l=[0],d=[],f,v,A,p;(f=l.pop())!==void 0;){p=f*BYTES_PER_NODE/4;var h=clamp(e.x,s[p],s[p+3])-e.x,g=clamp(e.y,s[p+1],s[p+4])-e.y,m=clamp(e.z,s[p+2],s[p+5])-e.z;if(h*h+g*g+m*m<=r*r){for(var y=u[p+6];y<u[p+7];y++)d.push(i[y]);p=f*BYTES_PER_NODE/2,v=c[p+16],A=c[p+17],v&&l.push(v),A&&l.push(A)}}for(var E=d.length,b=new Float32Array(E*9),y=0;y<E;y++){var T=d[y];this.getPositionByIndex(T,scratchVector3$3),b[y*9]=scratchVector3$3.x,b[y*9+1]=scratchVector3$3.y,b[y*9+2]=scratchVector3$3.z,this.getPositionByIndex(T+1,scratchVector3$3),b[y*9+3]=scratchVector3$3.x,b[y*9+4]=scratchVector3$3.y,b[y*9+5]=scratchVector3$3.z,this.getPositionByIndex(T+2,scratchVector3$3),b[y*9+6]=scratchVector3$3.x,b[y*9+7]=scratchVector3$3.y,b[y*9+8]=scratchVector3$3.z}return b},t.prototype.intersectRay=function(e,r,i,o){for(var s=this.offsetArray,u=this.rootNodePacked,c=new Float32Array(u),l=new Uint32Array(u),d=new Uint16Array(u),f=new BVHVector3(1/r.x,1/r.y,1/r.z),v=[0],A,p,h,g;(A=v.pop())!==void 0;)if(g=A*BYTES_PER_NODE/4,intersectNodeBox(e,f,c[g],c[g+1],c[g+2],c[g+3],c[g+4],c[g+5])){for(var m=l[g+6],y=l[g+7],E=void 0,b=void 0,T=void 0,_=e.x,x=e.y,S=e.z,P=r.x,L=r.y,R=r.z,M=void 0,F=void 0,C=void 0,B=void 0,H=void 0,k=void 0,z=void 0,V=void 0,N=void 0,D=void 0,q=void 0,G=void 0,J=void 0,j=void 0,K=void 0,Z=void 0,X=void 0,ee=void 0,Y=void 0,ne=void 0,te=void 0,ce=void 0,ie=void 0,se=void 0,Ae=void 0,pe=void 0,he=void 0;m<y;m++){if(E=s[m],b=E*3,this.getPositionByIndex(b,scratchVector3$3),M=scratchVector3$3.x,F=scratchVector3$3.y,C=scratchVector3$3.z,this.getPositionByIndex(b+1,scratchVector3$3),B=scratchVector3$3.x,H=scratchVector3$3.y,k=scratchVector3$3.z,this.getPositionByIndex(b+2,scratchVector3$3),z=scratchVector3$3.x,V=scratchVector3$3.y,N=scratchVector3$3.z,D=B-M,q=H-F,G=k-C,J=z-M,j=V-F,K=N-C,Z=q*K-G*j,X=G*J-D*K,ee=D*j-q*J,ie=P*Z+L*X+R*ee,ie>0)ce=1;else if(ie<0)ce=-1,ie=-ie;else continue;Y=_-M,ne=x-F,te=S-C,se=ce*(P*(ne*K-te*j)+L*(te*J-Y*K)+R*(Y*j-ne*J)),!(se<0)&&(Ae=ce*(P*(q*te-G*ne)+L*(G*Y-D*te)+R*(D*ne-q*Y)),!(Ae<0)&&(se+Ae>ie||(pe=-ce*(Y*Z+ne*X+te*ee),!(pe<0)&&(he=pe/ie,o.push(new BVHIntersect([M,F,C,B,H,k,z,V,N],[_+P*he,x+L*he,S+R*he],E))))))}g=A*BYTES_PER_NODE/2,p=d[g+16],h=d[g+17],p&&v.push(p),h&&v.push(h)}return o},t}(BVHObject);function clamp(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var o=1/0,s=1/0,u=1/0,c=-1/0,l=-1/0,d=-1/0,f=e,v=void 0,A=void 0;f<r;f++)v=n[f]*6,A=t[v],A<o&&(o=A),A=t[v+1],A<s&&(s=A),A=t[v+2],A<u&&(u=A),A=t[v+3],A>c&&(c=A),A=t[v+4],A>l&&(l=A),A=t[v+5],A>d&&(d=A);return[o-i,s-i,u-i,c+i,l+i,d+i]}var EPSILON=1e-6,ORDER_AXISES=["x","y","z"],scratchVector3$2=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,i){r=Math.min(r,16);var o=this.getPositionByIndex.bind(this),s=this.getPositionCount(),u=s>65535?new Uint32Array(s):new Uint16Array(s),c=[],l=0,d=-1;if(i)for(var f=0;f<s;f+=1)u[f]=f;else{o(0,scratchVector3$2);for(var v=scratchVector3$2.x,A=scratchVector3$2.y,p=scratchVector3$2.z,h=v,g=A,m=p,f=0,y=void 0,E=void 0,b=void 0;f<s;f+=1)u[f]=f,o(f,scratchVector3$2),y=scratchVector3$2.x,E=scratchVector3$2.y,b=scratchVector3$2.z,y<v?v=y:y>h&&(h=y),E<A?A=E:E>g&&(g=E),b<p?p=b:b>m&&(m=b);i=[v,A,p,h,g,m]}var T=new BVHNode(++d,i,0,s,0);c[l++]=T;var _=[],x=[0,1,2],S=function(L,R){return _[R]-_[L]};function P(L){var R=L.startIndex,M=L.endIndex,F=L.extents;_[0]=F[3]-F[0],_[1]=F[4]-F[1],_[2]=F[5]-F[2];for(var C=x.sort(S)[0],B=ORDER_AXISES[C],H=(F[C]+F[C+3])/2,k=R,z=M-1,V=-1,N;k<=z;)V===-1?(N=u[k],o(N,scratchVector3$2),scratchVector3$2[B]<H?k++:V=N):(N=u[z],o(N,scratchVector3$2),scratchVector3$2[B]>=H||(u[k]=N,u[z]=V,V=-1,k++),z--);if(k>R){var D=F.slice();D[C+3]=H+EPSILON;var q=new BVHNode(++d,D,R,k,L.deepth+1);q.deepth<r&&q.endIndex-q.startIndex>e&&(c[l++]=q),L.node0=q}if(M>k){var G=F.slice();G[C]=H-EPSILON;var J=new BVHNode(++d,G,k,M,L.deepth+1);J.deepth<r&&J.endIndex-J.startIndex>e&&(c[l++]=J),L.node1=J}L.startIndex=0,L.endIndex=0}for(;l;)P(c[--l]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(T,d+1),c.length=0,this},t.prototype.intersectRay=function(e,r,i,o){for(var s=this.offsetArray,u=this.rootNodePacked,c=new Float32Array(u),l=new Uint32Array(u),d=new Uint16Array(u),f=i*i,v=new BVHVector3(1/r.x,1/r.y,1/r.z),A=[0],p,h,g,m;(p=A.pop())!==void 0;)if(m=p*BYTES_PER_NODE/4,intersectNodeBox(e,v,c[m],c[m+1],c[m+2],c[m+3],c[m+4],c[m+5],i)){for(var y=l[m+6],E=l[m+7],b=void 0,T=void 0,_=void 0,x=void 0,S=void 0,P=void 0,L=void 0,R=void 0,M=void 0,F=void 0,C=void 0,B=void 0;y<E;y++)b=s[y],this.getPositionByIndex(b,scratchVector3$2),T=scratchVector3$2.x,_=scratchVector3$2.y,x=scratchVector3$2.z,S=e.x,P=e.y,L=e.z,R=r.x,M=r.y,F=r.z,C=R*(T-S)+M*(_-P)+F*(x-L),C>0&&(S+=R*C,P+=M*C,L+=F*C),R=T-S,M=_-P,F=x-L,C=R*R+M*M+F*F,C<=f&&o.push(new BVHIntersect([T,_,x,T,_,x,T,_,x],[S,P,L],b));m=p*BYTES_PER_NODE/2,h=d[m+16],g=d[m+17],h&&A.push(h),g&&A.push(g)}return o},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],i=r.resolve,o=r.reject;if(e.data&&"$$error"in e.data?o(e.data.$$error):i(e.data),this.queue.length){var s=this.queue.shift(),u=s.resolve,c=s.reject,l=s.input,d=s.transfer;this.workersResolver[t]={resolve:u,reject:c},this.workers[t].postMessage(l,d)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,o){var s=r.getIdleWorker();s!==-1?(r.initWorker(s),r.workerStatus|=1<<s,r.workersResolver[s]={resolve:i,reject:o},r.workers[s].postMessage(t,e)):r.queue.push({resolve:i,reject:o,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 i,o=n.matrixWorld;scratchInverseMatrix.getInverse(o),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var s=t.intersectRay(scratchRay.origin,scratchRay.direction,0,[]),u=n.geometry,c=n.material,l=u.groups,d=u.index,f=0,v=s.length;f<v;f++){var A=s[f],p=A.triangle,h=A.index,g=A.intersectionPoint,m=new THREE__namespace.Vector3(g[0],g[1],g[2]).applyMatrix4(o),y=e.ray.origin.distanceTo(m);if(!(y<e.near||y>e.far)){var E=void 0;if(Array.isArray(c)){if(l)for(var b=h*3,T=0,_=l;T<_.length;T++){var x=_[T];if(b>=x.start&&b-x.start<x.count){E=c[(i=x.materialIndex)!==null&&i!==void 0?i:0];break}}}else E=c;if(E){var S=scratchIntersectionTriangle.set(scratchIntersectionFaceA.set(p[0],p[1],p[2]).applyMatrix4(o),scratchIntersectionFaceB.set(p[3],p[4],p[5]).applyMatrix4(o),scratchIntersectionFaceC.set(p[6],p[7],p[8]).applyMatrix4(o)).getNormal(new THREE__namespace.Vector3),P=h*3,L=new THREE__namespace.Face3(d?d.array[P]:P,d?d.array[P+1]:P+1,d?d.array[P+2]:P+2,S),R=e.ray.direction.dot(S);E.side===THREE__namespace.FrontSide&&R>=0||E.side===THREE__namespace.BackSide&&R<=0||r.push({distance:y,object:n,face:L,point:m,distanceToRay:0,faceIndex:h})}}}}function raycastPoints(n,t,e,r){var i,o,s=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(s),scratchInverseMatrix.getInverse(s);var u=((o=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&o!==void 0?o:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,u,[]),l=n.geometry,d=l.index,f=l.getAttribute("normal"),v=0,A=c.length;v<A;v++){var p=c[v],h=p.triangle,g=p.index,m=p.intersectionPoint,y=new THREE__namespace.Vector3(m[0],m[1],m[2]).applyMatrix4(s),E=e.ray.origin.distanceTo(y);if(!(E<e.near||E>e.far)){var b=scratchIntersectionFaceA.set(h[0],h[1],h[2]).applyMatrix4(s),T=d?d.array[g]:g,_=void 0;if(f instanceof THREE__namespace.BufferAttribute){var x=new THREE__namespace.Vector3().fromBufferAttribute(f,T).applyNormalMatrix(scratchNormalMatrix);_=new THREE__namespace.Face3(T,T,T,x)}r.push({distance:E,object:n,face:_,point:y,distanceToRay:y.distanceTo(b),index:g})}}}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 i=[];return n.traverse(function(o){(o instanceof THREE__namespace.Mesh||o instanceof THREE__namespace.Points)&&o.geometry instanceof THREE__namespace.BufferGeometry&&i.push(o)}),Promise.resolve().then(function(){for(var o=[],s=new Set,u=null,c=0;c<i.length;c++){var l=i[c],d=l.geometry;if(d instanceof THREE__namespace.BufferGeometry){var f=void 0;if(l instanceof THREE__namespace.Mesh?f="mesh":l instanceof THREE__namespace.Points&&(f="points"),!!f){var v=d.boundingBox,A=v?[v.min.x,v.min.y,v.min.z,v.max.x,v.max.y,v.max.z]:void 0,p={};for(var h in d.attributes){var g=d.attributes[h];g instanceof THREE__namespace.InterleavedBufferAttribute?(p[h]={array:g.data.array,stride:g.data.stride,offset:g.offset},u=g.data.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer)):(p[h]={array:g.array},u=g.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer))}var m=void 0,y=d.getIndex();y&&(y instanceof THREE__namespace.InterleavedBufferAttribute?(m={array:y.data.array,stride:y.data.stride,offset:y.offset},u=y.data.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer)):(m={array:y.array},u=y.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer)));var E={type:f,attributes:p,indices:m,maxItemPerNode:e,maxTreeDepth:r,extents:A};o.push(E)}}}return bvhWorkerPool.postMessage(o,Array.from(s))}).then(function(o){for(var s=0;s<i.length;s++){var u=i[s],c=u.geometry,l=o[s];if(c instanceof THREE__namespace.BufferGeometry){for(var d in l.attributes){var f=l.attributes[d].array,v=c.attributes[d];v instanceof THREE__namespace.InterleavedBufferAttribute?v.data.array=f:v.array=f}var A=c.getIndex();if(A&&l.indices){var f=l.indices.array;A instanceof THREE__namespace.InterleavedBufferAttribute?A.data.array=f:A.array=f}if(u instanceof THREE__namespace.Mesh){var p=new BVHMesh(l.attributes.position,l.indices);p.offsetArray=l.offsetArray,p.rootNodePacked=l.rootNodePacked,bindBvhTreeForMesh(u,p)}else if(u instanceof THREE__namespace.Points){var p=new BVHPoints(l.attributes.position,l.indices);p.offsetArray=l.offsetArray,p.rootNodePacked=l.rootNodePacked,bindBvhTreeForPoints(u,p)}}}return n})}var TileNode=function(n){__extends(t,n);function t(e,r,i){i===void 0&&(i=noop$1);var o=n.call(this)||this;return o.contentObject=r,o.disposer=i,o.name=e,o.materials=[],o.pbmObjects=[],o.disposers=[i],o.add(r),r.traverse(function(s){var u;if(s instanceof THREE__namespace.Mesh||s instanceof THREE__namespace.Points){var c=s.material;Array.isArray(c)?(u=o.materials).push.apply(u,c):o.materials.push(c)}(s instanceof PBMMesh||s instanceof PBMPointCloud)&&o.pbmObjects.push(s)}),o}return t.prototype.generateBvhTree=function(){return generateBvhTree(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=this.children.slice(),s,u=[];s=o.pop();)if(s.visible){s.raycast(e,u);for(var c=0,l=s.children.length;c<l;c++)o.push(s.children[c])}return u.forEach(function(d){var f=0;if((d.object instanceof PBMMesh||d.object instanceof PBMPointCloud)&&d.face){var v=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;v&&(f=v.floor)}d.floor=f}),r&&u.sort(function(d,f){return d.distance-f.distance}),i.push.apply(i,u),i},t.prototype.update=function(e,r,i){for(var o=0,s=this.pbmObjects;o<s.length;o++){var u=s[o];u.update(e,r,i)}},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var i=r[e];i()}this.disposers.length=0,this.pbmObjects.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject,this.disposer)},t}(THREE__namespace.Object3D);function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(u){return(u!=null?u:"").trim()}).filter(function(u){return u.length>0&&!/^\/+$/.test(u)});for(var r=0;r<n.length;r++){var i=r===0,o=r===n.length-1,s=n[r];i||(s=s.replace(/^\.\//,"").replace(/^\/+/,"")),o||(s=s.replace(/\/+$/,"")),e.push(s)}return e.join("/")}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",i=n.slice(r.length+2),o=i.indexOf("#");o>=0&&(n.slice(o),i=n.slice(0,o));var s=i.indexOf("?");s>=0&&(n.slice(s),i=n.slice(0,s));for(var u=i.split("/"),c=u.shift(),l=(t=u.pop())!==null&&t!==void 0?t:"",d=[],f=0,v=u;f<v.length;f++){var A=v[f];if(!(A===""||A===".")){if(A===".."){d.pop();continue}d.push(A)}}return r+"//"+c+"/"+d.join("/")+"/"+l}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t,e){if(n.content&&n.content.uri&&(isAbsoluteURL(n.content.uri)||(n.content.uri=normalizeURL(pathJoin(t,n.content.uri)))),n.transform){for(var r=!1,i=0;i<16;i++){var o=n.transform[i];if(typeof o!="number"||isNaN(o)||!isFinite(o)){r=!0;break}}if(n.transform[15]===0&&(r=!0),r)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var s=0,u=n.children;s<u.length;s++){var c=u[s];normalizeTileHeader(c,t)}return n}function normalizeTilesetHeader(n,t){if(n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.asset.overview){var e=n.asset.overview;isAbsoluteURL(e.imageFile)||(e.imageFile=normalizeURL(pathJoin(t,e.imageFile))),isAbsoluteURL(e.worldFile)||(e.worldFile=normalizeURL(pathJoin(t,e.worldFile)))}if(n.asset.trajectories)for(var r=0;r<n.asset.trajectories.list.length;r++){var i=n.asset.trajectories.list[r];i.file=normalizeURL(pathJoin(t,i.file))}return normalizeTileHeader(n.root,t),n}function initTextures(n,t,e){for(var r,i,o=Promise.resolve(),s=n.slice(),u=function(){for(var c=[],l=0,d=void 0;d=s.shift();){c.push(d);var f=((r=d.image)===null||r===void 0?void 0:r.width)*((i=d.image)===null||i===void 0?void 0:i.height);if(!isNaN(f)&&isFinite(f)&&(l+=f),l>=e)break}o=o.then(function(){return new Promise(function(v){AnimationFrameLoop.shared.add(function(){for(var A=0,p=c;A<p.length;A++){var h=p[A];t.initTexture(h)}v()},!0)})}).catch(function(){})};s.length>0;)u();return o}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 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$3,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$3={},_a$3[GL_TYPE.DOUBLE]=Float64Array,_a$3[GL_TYPE.FLOAT]=Float32Array,_a$3[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$3[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$3[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$3[GL_TYPE.BYTE]=Int8Array,_a$3[GL_TYPE.SHORT]=Int16Array,_a$3[GL_TYPE.INT]=Int32Array,_a$3),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 i=getArrayType(n);if(e%getByteSize(n)!==0){var o=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new i(o)}else return new i(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 i=this.json[t];if(typeof i=="number"){var o=getArrayType(e);return new o([i])}else if(Array.isArray(i)){var o=getArrayType(e);return new o(i)}else if(i&&Number.isFinite(i.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,i.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(e=glTypeFromName(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,o){var s=this.json[t];if(!s)return null;var u=this.getPropertyArray(t,e,r);if(r===1)return o[0]=u[i],o;for(var c=0;c<r;++c)o[c]=u[r*i+c];return o},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,o){var s=this.cachedTypedArrays,u=s[t];return u||(u=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+o,i*r),s[t]=u),u},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,o=i[t];return o||(o=createTypedArray(e,r),i[t]=o),o},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),o=r.decode(i);return o}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),i=0;n.header=n.header||{};var o=r.getUint32(e,!0);e+=SIZEOF_UINT32;var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,u>=570425344?(e-=SIZEOF_UINT32*2,i=o,u=s,c=0,o=0,s=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,i=u,u=o,c=s,o=0,s=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=o,n.header.featureTableBinaryByteLength=s,n.header.batchTableJsonByteLength=u,n.header.batchTableBinaryByteLength=c,n.header.batchLength=i,e}function parseFeatureTable(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,o=r.featureTableBinaryByteLength,s=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){var u=getStringFromArrayBuffer(t,e,i);n.featureTableJson=JSON.parse(u)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,o),e+=o||0,n.rtcCenter=[0,0,0];var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var l=c.json.RTC_CENTER;n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2]}else{var l=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);l&&(n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2])}return e}function parseBatchTable(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,o=r.batchTableBinaryByteLength;if(i&&i>0){var s=getStringFromArrayBuffer(t,e,i);n.batchTableJson=JSON.parse(s),e+=i,o&&o>0&&(n.batchTableBinary=new Uint8Array(t,e,o),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=o)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),i=new Uint8Array(r);return i.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(i){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",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 composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var i=r[e];typeof i.dispose=="function"&&i.dispose(),typeof i.close=="function"&&i.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||[],i=0,o=e.length;i<o;i++)for(var s=e[i].joints,u=0,c=s.length;u<c;u++)t[s[u]].isBone=!0;for(var l=0,d=t.length;l<d;l++){var f=t[l];f.mesh!==void 0&&f.skin!==void 0&&(r[f.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,o=values(r);i<o.length;i++){var s=o[i];s.markDefs(this)}return Promise.all(values(r).map(function(u){return u.prepare(t)})).then(function(){var u,c,l;return Promise.all([Promise.all(((u=e.scenes)!==null&&u!==void 0?u:[]).map(function(d,f){return t.loadScene(f)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(d,f){return t.loadAnimation(f)})),Promise.all(((l=e.cameras)!==null&&l!==void 0?l:[]).map(function(d,f){return t.loadCamera(f)}))])}).then(function(u){var c=u[0],l=u[1],d=u[2],f={json:e,scene:c[e.scene||0],scenes:c,animations:l,cameras:d,textures:[],dispose:noop$1};return f}).then(function(u){return Promise.all(values(r).map(function(c){return c.emitResult(u,t)})).then(function(){return u})}).then(function(u){var c=Array.from(t.textureSet),l=composeDsiposeSet(t.disposeSet);return Object.assign(u,{textures:c,dispose:l}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),u})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadCamera(t,this),i)break}if(!i){var c=void 0,l=this.json.cameras[t],d=l[l.type];d?l.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(d.yfov),d.aspectRatio||1,d.znear||1,d.zfar||2e6):l.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-d.xmag,d.xmag,d.ymag,-d.ymag,d.znear,d.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),l.name&&(c.name=this.createUniqueName(l.name)),i=Promise.resolve(c)}return this.cache.set(e,i),i},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var i,o=this.json.skins[t],s={joints:o.joints};return o.inverseBindMatrices===void 0?i=Promise.resolve(s):i=this.loadAccessor(o.inverseBindMatrices).then(function(u){return u&&(s.inverseBindMatrices=u),s}),this.cache.set(e,i),i},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadAnimation(t,this),i)break}if(!i){for(var c=this.json,l=c.animations[t],d=[],f=[],v=[],A=[],p=[],h=0,g=l.channels.length;h<g;h++){var m=l.channels[h],y=l.samplers[m.sampler],E=m.target,b=E.node!==void 0?E.node:E.id,T=l.parameters!==void 0?l.parameters[y.input]:y.input,_=l.parameters!==void 0?l.parameters[y.output]:y.output;d.push(this.loadNode(b)),f.push(this.loadAccessor(T)),v.push(this.loadAccessor(_)),A.push(y),p.push(E)}i=Promise.all([Promise.all(d),Promise.all(f),Promise.all(v),Promise.all(A),Promise.all(p)]).then(function(x){for(var S=x[0],P=x[1],L=x[2],R=x[3],M=x[4],F=[],C=function(z,V){var N=S[z],D=P[z],q=L[z],G=R[z],J=M[z];if(N===void 0)return"continue";N.updateMatrix(),N.matrixAutoUpdate=!0;var j=void 0;switch(PATH_PROPERTIES[J.path]){case PATH_PROPERTIES.weights:j=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:j=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:j=THREE__namespace.VectorKeyframeTrack;break}var K=N.name?N.name:N.uuid,Z=G.interpolation!==void 0?INTERPOLATION[G.interpolation]:THREE__namespace.InterpolateLinear,X=[];PATH_PROPERTIES[J.path]===PATH_PROPERTIES.weights?N.traverse(function(se){se.morphTargetInfluences&&X.push(se.name?se.name:se.uuid)}):X.push(K);var ee=q.array;if(q.normalized){for(var Y=getNormalizedComponentScale(ee.constructor),ne=new Float32Array(ee.length),te=0,ce=ee.length;te<ce;te++)ne[te]=ee[te]*Y;ee=ne}for(var te=0,ce=X.length;te<ce;te++){var ie=new j(X[te]+"."+PATH_PROPERTIES[J.path],D.array,ee,Z);F.push(ie)}},B=0,H=S.length;B<H;B++)C(B);var k=l.name?l.name:"animation_"+t;return new THREE__namespace.AnimationClip(k,void 0,F)})}return this.cache.set(e,i),i},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,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var c=u[s];if(o=c.loadBuffer(t,this),o)break}if(!o){var l=this.json.buffers[t];o=this.options.fetcher.ajax(this.resolveResouce(l.uri),{responseType:"arraybuffer"}).then(function(d){return d.body})}return this.cache.set(r,o),o},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadBufferView(t,this),i)break}if(!i){var c=this.json.bufferViews[t];i=this.loadBuffer(c.buffer).then(function(l){var d=c.byteLength||0,f=c.byteOffset||0;return l.slice(f,f+d)})}return this.cache.set(e,i),i},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,i=this.cache.get(r);if(i)return i;var o=null;if(!o){var s=this.json.accessors[t];if(s.bufferView===void 0&&s.sparse===void 0)o=Promise.resolve(null);else{var u=[];s.bufferView!==void 0?u.push(this.loadBufferView(s.bufferView)):u.push(Promise.resolve(null)),s.sparse!==void 0&&(u.push(this.loadBufferView(s.sparse.indices.bufferView)),u.push(this.loadBufferView(s.sparse.values.bufferView))),o=Promise.all(u).then(function(c){var l=c[0],d=WEBGL_TYPE_SIZES[s.type],f=WEBGL_COMPONENT_TYPES[s.componentType],v=f.BYTES_PER_ELEMENT,A=v*d,p=s.byteOffset||0,h=s.bufferView!==void 0?e.json.bufferViews[s.bufferView].byteStride:void 0,g=s.normalized===!0,m,y;if(h&&h!==A){var E=Math.floor(p/h),b="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+E+":"+s.count,T=e.cache.get(b);T||(m=new f(l,E*h,s.count*h/v),T=new THREE__namespace.InterleavedBuffer(m,h/v),e.cache.set(b,T)),y=new THREE__namespace.InterleavedBufferAttribute(T,d,p%h/v,g)}else l===null?m=new f(s.count*d):m=new f(l,p,s.count*d),y=new THREE__namespace.BufferAttribute(m,d,g);if(s.sparse!==void 0){var _=WEBGL_TYPE_SIZES.SCALAR,x=WEBGL_COMPONENT_TYPES[s.sparse.indices.componentType],S=s.sparse.indices.byteOffset||0,P=s.sparse.values.byteOffset||0,L=new x(c[1],S,s.sparse.count*_),R=new f(c[2],P,s.sparse.count*d);l!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var M=0,F=L.length;M<F;M++){var C=L[M];if(y.setX(C,R[M*d]),d>=2&&y.setY(C,R[M*d+1]),d>=3&&y.setZ(C,R[M*d+2]),d>=4&&y.setW(C,R[M*d+3]),d>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,o),o},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var i=r[e],o=i.createPrimitiveKey(t,this);if(o)return o}for(var s="",u=Object.keys(t.attributes).sort(),c=0,l=u.length;c<l;c++)s+=u[c]+":"+t.attributes[u[c]]+";";return t.indices+":"+s+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(u){return e.disposeSet.add(u),u}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadImage(t,this),r)break}if(!r){var u=this.json.images[t];if(u.bufferView!==void 0){var c=this.json.bufferViews[u.bufferView];r=this.loadBuffer(c.buffer).then(function(d){var f=c.byteOffset||0,v=c.byteLength||0,A=new Uint8Array(d,f,v),p=new Blob([A],{type:u.mimeType});return createImageBitmapLike(p)})}else if(u.uri){var l=this.resolveResouce(u.uri);r=this.options.fetcher.loadImage(l,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(d){return d.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(d){return e.disposeSet.add(d),d}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new THREE__namespace.MeshStandardMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.map=d,e.disposeSet.add(d)})),i.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,i.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(s.metallicRoughnessTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.metalnessMap=d,i.roughnessMap=d,e.disposeSet.add(d)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var c=o.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,c===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&(r.push(this.createMaterialTexture(o.normalTexture).then(function(d){i.normalMap=d,e.disposeSet.add(d)})),i.normalScale=new THREE__namespace.Vector2(1,1),o.normalTexture.scale!==void 0)){var l=o.normalTexture.scale;i.normalScale.set(l,l)}o.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(o.occlusionTexture).then(function(d){i.aoMap=d,e.disposeSet.add(d)})),o.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&(i.emissive=new THREE__namespace.Color().fromArray(o.emissiveFactor)),o.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(o.emissiveTexture).then(function(d){i.emissiveMap=d,e.disposeSet.add(d)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},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,Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var i=this.json.materials[t.material];i.name&&(r.name=i.name);var o=i.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;r.color.fromArray(s),r.opacity=s[3]}i.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var u=i.alphaMode||ALPHA_MODES.OPAQUE;u===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,u===ALPHA_MODES.MASK&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],i=new THREE__namespace.PointsMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(l){l.encoding=THREE__namespace.sRGBEncoding,i.map=l,e.disposeSet.add(l)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var c=o.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,c===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:WEBGL_CONSTANTS.TRIANGLES,i="material:"+this.createPrimitiveKey(t),o=this.cache.get(i);if(o)return o;for(var s=null,u=0,c=values(this.extensions);u<c.length;u++){var l=c[u];if(s=l.loadMaterial(t,this),s)break}if(r===WEBGL_CONSTANTS.TRIANGLES||r===WEBGL_CONSTANTS.TRIANGLE_STRIP||r===WEBGL_CONSTANTS.TRIANGLE_FAN)s=this.loadMaterialAsMeshStandardMaterial(t);else if(r===WEBGL_CONSTANTS.LINES||r===WEBGL_CONSTANTS.LINE_STRIP||r===WEBGL_CONSTANTS.LINE_LOOP)s=this.loadMaterialAsLineBasicMaterial(t);else if(r===WEBGL_CONSTANTS.POINTS)s=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,s),s},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var c=u[s];if(o=c.loadTexture(t,this),o)break}if(!o){var l=this.json.textures[t];o=this.loadImage(l.source).then(function(d){var f=new THREE__namespace.Texture(d);f.needsUpdate=!0,f.flipY=!1,l.name&&(f.name=l.name);var v=e.json.samplers||{},A=v[l.sampler]||{};return f.magFilter=WEBGL_FILTERS[A.magFilter]||THREE__namespace.LinearFilter,f.minFilter=WEBGL_FILTERS[A.minFilter]||THREE__namespace.LinearMipmapLinearFilter,f.wrapS=WEBGL_WRAPPINGS[A.wrapS]||THREE__namespace.RepeatWrapping,f.wrapT=WEBGL_WRAPPINGS[A.wrapT]||THREE__namespace.RepeatWrapping,f.onUpdate=function(){d.close()},f})}return o=o.then(function(d){return e.disposeSet.add(d),d}),this.cache.set(r,o),o},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadMesh(t,this),r)break}if(!r){var u=this.json.meshes[t],c=u.primitives,l=Promise.all(c.map(function(f){return e.loadGeometry(f)})),d=Promise.all(c.map(function(f){return e.loadMaterial(f)}));r=Promise.all([l,d]).then(function(f){for(var v=f[0],A=f[1],p=[],h=0;h<c.length;h++){var g=c[h],m=v[h],y=A[h],E=g.mode||WEBGL_CONSTANTS.TRIANGLES,b=void 0;if(E===WEBGL_CONSTANTS.TRIANGLES||E===WEBGL_CONSTANTS.TRIANGLE_STRIP||E===WEBGL_CONSTANTS.TRIANGLE_FAN)if(E===WEBGL_CONSTANTS.TRIANGLE_STRIP?m=e.toGeometryTrianglesDrawMode(m,THREE__namespace.TriangleStripDrawMode):E===WEBGL_CONSTANTS.TRIANGLE_FAN&&(m=e.toGeometryTrianglesDrawMode(m,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(m),u.isSkinnedMesh){var T=new THREE__namespace.SkinnedMesh(m,y);m.attributes.skinWeight.normalized||T.normalizeSkinWeights(),b=T}else b=new THREE__namespace.Mesh(m,y);else if(E===WEBGL_CONSTANTS.POINTS)b=new THREE__namespace.Points(m,y);else if(E===WEBGL_CONSTANTS.LINES)b=new THREE__namespace.LineSegments(m,y);else if(E===WEBGL_CONSTANTS.LINE_STRIP)b=new THREE__namespace.Line(m,y);else if(E===WEBGL_CONSTANTS.LINE_LOOP)b=new THREE__namespace.LineLoop(m,y);else throw new Error("glTF: Primitive mode unsupported: "+E);if(Object.keys(m.morphAttributes).length>0){if(u.weights!==void 0)for(var _=0,x=u.weights.length;_<x;_++)b.morphTargetInfluences[_]=u.weights[_];if(u.extras&&Array.isArray(u.extras.targetNames)){var S=u.extras.targetNames;if(b.morphTargetInfluences.length===S.length){b.morphTargetDictionary={};for(var _=0,x=S.length;_<x;_++)b.morphTargetDictionary[S[_]]=_}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}b.name=e.createUniqueName(u.name||"mesh_"+t),p.push(b)}if(p.length===1)return p[0];for(var P=new THREE__namespace.Group,L=0,R=p;L<R.length;L++){var b=R[L];P.add(b)}return P})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=values(this.extensions);r<i.length;r++){var o=i[r],s=o.loadNodeAttachments(t,this);s&&e.push(s)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,o=i.nodes[t],s=o.name?this.createUniqueName(o.name):"",u=[];o.mesh!==void 0&&u.push(this.loadMesh(o.mesh).then(function(v){if(o.weights!==void 0){var A=o.weights;v.traverse(function(p){if(p instanceof THREE__namespace.Mesh||p instanceof THREE__namespace.Line||p instanceof THREE__namespace.Points)for(var h=0,g=A.length;h<g;h++)p.morphTargetInfluences[h]=A[h]})}return v})),o.camera!==void 0&&u.push(this.loadCamera(o.camera));for(var c=this.loadNodeAttachments(t),l=0,d=c;l<d.length;l++){var f=d[l];u.push(f)}return Promise.all(u).then(function(v){var A;if(o.isBone===!0?A=new THREE__namespace.Bone:v.length>1?A=new THREE__namespace.Group:v.length===1?A=v[0]:A=new THREE__namespace.Object3D,A!==v[0])for(var p=0,h=v.length;p<h;p++)A.add(v[p]);if(o.name&&(A.name=s),o.matrix!==void 0){var g=new THREE__namespace.Matrix4;g.fromArray(o.matrix),A.applyMatrix4(g)}else o.translation!==void 0&&A.position.fromArray(o.translation),o.rotation!==void 0&&A.quaternion.fromArray(o.rotation),o.scale!==void 0&&A.scale.fromArray(o.scale);return A})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new THREE__namespace.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var o=r.nodes||[],s=[],u=0,c=o.length;u<c;u++)s.push(this.buildNodeHierarchy(o[u],i));return Promise.all(s).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,o=values(e.extensions);i<o.length;i++){var s=o[i],u=s.extendTexture(r,t,e);u&&(r=u,e.disposeSet.add(r))}return e.textureSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,o=[],s=function(T){var _=ATTRIBUTES[T]||T.toLowerCase();if(_ in t.attributes)return"continue";o.push(u.loadAccessor(i[T]).then(function(x){x&&t.setAttribute(_,x)}))},u=this;for(var c in i)s(c);e.indices!==void 0&&!t.index&&o.push(this.loadAccessor(e.indices).then(function(T){T&&t.setIndex(T)}));var l=new THREE__namespace.Box3;if(i.POSITION!==void 0){var d=this.json.accessors[i.POSITION],f=d.min,v=d.max;if(f!==void 0&&v!==void 0){if(l.set(new THREE__namespace.Vector3(f[0],f[1],f[2]),new THREE__namespace.Vector3(v[0],v[1],v[2])),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);l.min.multiplyScalar(A),l.max.multiplyScalar(A)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var p=e.targets;if(p!==void 0){for(var h=new THREE__namespace.Vector3,g=new THREE__namespace.Vector3,m=0,y=p.length;m<y;m++){var E=p[m];if(E.POSITION!==void 0){var d=this.json.accessors[E.POSITION],f=d.min,v=d.max;if(f!==void 0&&v!==void 0){if(g.setX(Math.max(Math.abs(f[0]),Math.abs(v[0]))),g.setY(Math.max(Math.abs(f[1]),Math.abs(v[1]))),g.setZ(Math.max(Math.abs(f[2]),Math.abs(v[2]))),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);g.multiplyScalar(A)}h.max(g)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}l.expandByVector(h)}t.boundingBox=l;var b=new THREE__namespace.Sphere;return l.getCenter(b.center),b.radius=l.min.distanceTo(l.max)/2,t.boundingSphere=b,Promise.all(o).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var T=!1,_=!1,x=0,S=e.targets.length;x<S;x++){var P=e.targets[x];if(P.POSITION!==void 0&&(T=!0),P.NORMAL!==void 0&&(_=!0),T&&_)break}if(!T&&!_)return t;var L=[];t.morphTargetsRelative=!0;for(var R=function(M,F){var C=e.targets[M];T?L.push(r.loadAccessor(C.POSITION).then(function(B){B&&(t.morphAttributes.position[M]=B)})):t.morphAttributes.position[M]=t.attributes.position,_?L.push(r.loadAccessor(C.NORMAL).then(function(B){B&&(t.morphAttributes.normal[M]=B)})):t.morphAttributes.normal[M]=t.attributes.normal},x=0,S=e.targets.length;x<S;x++)R(x,S);return Promise.all(L).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,i=this.json.nodes[t];return this.loadNode(t).then(function(o){if(i.skin===void 0)return o;var s;return r.loadSkin(i.skin).then(function(u){s=u;for(var c=[],l=0,d=s.joints.length;l<d;l++)c.push(r.loadNode(s.joints[l]));return Promise.all(c)}).then(function(u){return o.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var l=[],d=[],f=0,v=u.length;f<v;f++){var A=u[f];if(A instanceof THREE__namespace.Bone){l.push(A);var p=new THREE__namespace.Matrix4;s.inverseBindMatrices!==void 0&&p.fromArray(s.inverseBindMatrices.array,f*16),d.push(p)}else console.warn('glTF: Joint "%s" could not be found.',s.joints[f])}c.bind(new THREE__namespace.Skeleton(l,d),c.matrixWorld)}}),o})}).then(function(o){e.add(o);var s=[];if(i.children)for(var u=i.children,c=0,l=u.length;c<l;c++){var d=u[c];s.push(r.buildNodeHierarchy(d,o))}return Promise.all(s).then(function(){return o})})},n.prototype.createUniqueName=function(t){for(var e=THREE__namespace.PropertyBinding.sanitizeNodeName(t||""),r=e,i=1;this.nodeNamesUsed[r];++i)r=e+"_"+i;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],o=t.getAttribute("position");if(o!==void 0){for(var s=0;s<o.count;s++)i.push(s);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var u=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var s=1;s<=u;s++)c.push(r.getX(0)),c.push(r.getX(s)),c.push(r.getX(s+1));else for(var s=0;s<u;s++)s%2===0?(c.push(r.getX(s)),c.push(r.getX(s+1)),c.push(r.getX(s+2))):(c.push(r.getX(s+2)),c.push(r.getX(s+1)),c.push(r.getX(s)));c.length/3!==u&&console.error("glTF: Unable to generate correct amount of triangles.");var l=t.clone();return l.setIndex(c),this.disposeSet.add(l),l},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.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 i=new DataView(e,t.HEADER_LENGTH),o=0,s=null,u=null;o<i.byteLength;){var c=i.getUint32(o,!0);if(o+=4,c!==0){var l=i.getUint32(o,!0);if(o+=4,l===t.CHUNK_TYPES.JSON){var d=new Uint8Array(e,t.HEADER_LENGTH+o,c);s=decodeText(d)}else if(l===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+o;u=e.slice(f,f+c)}o+=c}}if(s===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=s,this.body=u},t.prototype.loadBuffer=function(e,r){var i=r.json.buffers[e];return i.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,i){var o={attributeIDs:r||defaultAttributeIDs,attributeTypes:i||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,o).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var i in e.attributeTypes){var o=e.attributeTypes[i];o.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=o.name)}var s,u=this.workerNextTaskID++,c=t.byteLength,l=this._getWorker(u,c).then(function(d){return s=d,new Promise(function(f,v){s._callbacks[u]={resolve:f,reject:v},s.postMessage({type:"decode",id:u,taskConfig:e,buffer:t},[t])})}).then(function(d){return r._createGeometry(d.geometry)});return l.catch(function(){return!0}).then(function(){s&&u&&r._releaseTask(s,u)}),l},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 i=t.attributes[r],o=i.name,s=i.array,u=i.itemSize;e.setAttribute(o,new THREE__namespace.BufferAttribute(s,u))}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(o){return o.body});this.decoderPending=r.then(function(o){var s=["/* draco decoder */",o,"","/* worker */",DRACOWorker].join(`
417
+ `,cacheMaterials=[],cameraPX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPX.up.set(0,-1,0),cameraPX.lookAt(new THREE__namespace.Vector3(1,0,0)),cameraPX.updateMatrix(),cameraPX.matrixAutoUpdate=!1;var cameraNX=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNX.up.set(0,-1,0),cameraNX.lookAt(new THREE__namespace.Vector3(-1,0,0)),cameraNX.updateMatrix(),cameraNX.matrixAutoUpdate=!1;var cameraPY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPY.up.set(0,0,1),cameraPY.lookAt(new THREE__namespace.Vector3(0,1,0)),cameraPY.updateMatrix(),cameraPY.matrixAutoUpdate=!1;var cameraNY=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNY.up.set(0,0,-1),cameraNY.lookAt(new THREE__namespace.Vector3(0,-1,0)),cameraNY.updateMatrix(),cameraNY.matrixAutoUpdate=!1;var cameraPZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraPZ.up.set(0,-1,0),cameraPZ.lookAt(new THREE__namespace.Vector3(0,0,1)),cameraPZ.updateMatrix(),cameraPZ.matrixAutoUpdate=!1;var cameraNZ=new THREE__namespace.PerspectiveCamera(90,1,.1,2);cameraNZ.up.set(0,-1,0),cameraNZ.lookAt(new THREE__namespace.Vector3(0,0,-1)),cameraNZ.updateMatrix(),cameraNZ.matrixAutoUpdate=!1;var FACES={front:{camera:cameraPZ,index:4},back:{camera:cameraNZ,index:5},up:{camera:cameraPY,index:2},down:{camera:cameraNY,index:3},left:{camera:cameraNX,index:1},right:{camera:cameraPX,index:0}};function getMaterial(){var n=cacheMaterials.pop();return n||new THREE__namespace.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:PLANE_VERTEX_SHADER,fragmentShader:PLANE_FRAGMENT_SHADER,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:THREE__namespace.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function releaseMaterial(n){n.uniforms.map.value=null,cacheMaterials.push(n)}function renderTexturesToCubeRenderTarget(n,t,e){var r=new THREE__namespace.Scene;r.matrixAutoUpdate=!1;var i=new THREE__namespace.Group;i.scale.set(1,1,-1),r.add(i);for(var o=[],s=new Set,u=0,c=n;u<c.length;u++){var l=c[u];s.add(l.face);var d=getMaterial();o.push(d),d.uniforms.map.value=l.texture,d.uniforms.flipY.value=l.flipY?1:0;var f=new THREE__namespace.Group,v=new THREE__namespace.Mesh(PLAME_GEOMETRY,d);v.position.set(l.position.x+l.size.x/2-.5,1-(l.position.y+l.size.y/2)-.5,-.5),v.scale.set(l.size.x,l.size.y,1),f.quaternion.copy(QUATERNION[l.face]),f.add(v),i.add(f)}var A=e.autoClear,p=e.sortObjects,h=e.xr.enabled,g=t.texture.generateMipmaps;e.autoClear=!1,e.sortObjects=!1,e.xr.enabled=!1,t.texture.generateMipmaps=!1;var m=e.getRenderTarget(),y=0;s.forEach(function(T){++y===s.size&&(t.texture.generateMipmaps=g),e.setRenderTarget(t,FACES[T].index),e.render(r,FACES[T].camera)}),e.setRenderTarget(m),e.autoClear=A,e.sortObjects=p,e.xr.enabled=h;for(var E=0,b=o;E<b.length;E++){var d=b[E];releaseMaterial(d)}}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),i=createImageBitmapLikeImage({onClose:function(){this.src===r&&URL.revokeObjectURL(r)}});i.onload=function(){i.src===r&&URL.revokeObjectURL(r),i.onload=i.onerror=noop$1,setTimeout(function(){t(i)},10)},i.onerror=function(){var o=i.src;i.onload=i.onerror=noop$1,i.close(),e(new Error("image load error: ".concat(o)))},i.decoding="async",i.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 i=new THREE__namespace.Texture(e);i.needsUpdate=!0,i.flipY=!0;var o=i.dispose;return i.dispose=function(){e.close(),o.call(i),i.dispose=o},i}else{var s=new THREE__namespace.Texture(n);s.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?s.flipY=!1:s.flipY=!0;var u=s.dispose;return s.dispose=function(){n.close(),u.call(s),s.dispose=u},s}}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,i=n;r<i.length;r++){var o=i[r];o.close()}e.call(t),t.dispose=e},t}var sharedSortVector3$1=new THREE__namespace.Vector3,FACE_ORDER=["right","left","up","down","front","back"],TileCubeTextureTarget=function(){function n(t,e,r,i,o){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=o,this.name="",this.needsRender=!1,this.maxRequest=n.DEFAULT_MAX_REQUEST,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.drawedCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.prepareToRender=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,o,s,u;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:THREE__namespace.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:THREE__namespace.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:THREE__namespace.LinearFilter,t.texture.wrapS=(o=this.options.wrapS)!==null&&o!==void 0?o:THREE__namespace.ClampToEdgeWrapping,t.texture.wrapT=(s=this.options.wrapT)!==null&&s!==void 0?s:THREE__namespace.ClampToEdgeWrapping,t.texture.generateMipmaps=(u=this.options.generateMipmaps)!==null&&u!==void 0?u:!0,this.baseCubeTexture&&(renderCubeTextureToCubeRenderTarget(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&renderCubeTextureToCubeRenderTarget(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,o,s,u,c,l=this.tileSources.filter(function(h){return h.level===t.level})[0];if(!l)return this.loadedCubeNodes.add(t),this.prepareToRender.push({node:t,texture:null}),!1;var d=l.size,f=Math.pow(2,t.level)*t.position.y,v=Math.pow(2,t.level)*t.position.x,A="".concat(((o=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&o!==void 0?o:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(v),p=__assign(__assign({},(u=(s=this.options.imageURL)===null||s===void 0?void 0:s.options)!==null&&u!==void 0?u:{key:"unknown"}),{key:A,size:l.scale>=1?void 0:d*t.size*l.scale,quality:void 0,cut:[d*t.position.x,d*t.position.y,d*t.size,d*t.size]});return this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(l[t.face],{imageURL:{transform:(c=this.options.imageURL)===null||c===void 0?void 0:c.transform,options:__assign({},p)},format:THREE__namespace.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(h){if(e.disposed){h.body.dispose();return}e.prepareToRender.push({node:t,texture:h.body}),e.loadedCubeNodes.add(t)}).catch(noop$1).then(function(){e.disposed||e.loadingCubeNodes.delete(t)}),!0},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=t.planes[5].normal,o=Math.max(this.maxRequest-this.loadingCubeNodes.size,0),s=[];traverseTileCubeNode(this.tileTree,function(h){if(h.level>e||!t.intersectsBox(h.box))return!1;!r.loadedCubeNodes.has(h)&&!r.loadingCubeNodes.has(h)&&s.push(h)}),s.sort(function(h,g){return h.level!==g.level?h.level-g.level:h.box.getCenter(sharedSortVector3$1).angleTo(i)-g.box.getCenter(sharedSortVector3$1).angleTo(i)});for(var u=0,c=s;u<c.length;u++){var l=c[u];if(o<=0)break;var d=this.requestTile(l);d&&o--}if(this.cubeRenderTarget&&this.prepareToRender.length){this.prepareToRender.sort(function(h,g){return h.node.level-g.node.level});for(var f=[],v=0;v<this.prepareToRender.length;v++){var A=this.prepareToRender[v],l=A.node,p=A.texture;(l.parent===null||this.drawedCubeNodes.has(l.parent))&&(this.drawedCubeNodes.add(l),p&&f.push({face:l.face,position:l.position,size:new THREE__namespace.Vector2(l.size,l.size),texture:p,flipY:!p.flipY}),this.prepareToRender.splice(v,1),v--)}f.length&&(renderTexturesToCubeRenderTarget(f,this.cubeRenderTarget,this.renderer),this.needsRender=!0)}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.prepareToRender;t<e.length;t++){var r=e[t];r.texture&&r.texture.dispose()}this.prepareToRender.length=0}},n.DEFAULT_MAX_REQUEST=3,n}(),TextureLoader=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,o,s){var u,c,l,d,f,v,A;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.flipY!="undefined"&&(p.flipY=e.flipY),typeof e.format!="undefined"&&(p.format=e.format),typeof e.encoding!="undefined"&&(p.encoding=e.encoding),p.generateMipmaps=(u=e.generateMipmaps)!==null&&u!==void 0?u:!1,p.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,p.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:THREE__namespace.LinearFilter;var h=(f=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&f!==void 0?f:{key:"unknown"};t=applyImageURLOptions(t,(v=e.imageURL)===null||v===void 0?void 0:v.transform,h);var g=getProtocol(t),m=(A=e.viaAjax)!==null&&A!==void 0?A:canUseNativeImageBitmap,y=isJsonpSource(t),E=/^https?:/.test(g);if(y?m=!0:E||(m=!1),m){var b=null,T="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:T},void 0,void 0,o).then(function(S){return createImageBitmapLike(S.body)}).then(function(S){return poolImageToTexture(S,e.maxSize)}).then(function(S){return Object.assign(S,p),S}).then(function(S){var P={meta:b,body:S};return r(P),P}).catch(function(S){return i(S),Promise.reject(S)})}else{var _=null,x;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(S){return x=S,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,o,S)}).then(function(S){return _=S.meta,poolImageToTexture(S.body,e.maxSize)}).then(function(S){return Object.assign(S,p),S}).then(function(S){var P={meta:_,body:S};return r(P),P}).catch(function(S){return x&&x.close(),i(S),Promise.reject(S)})}},n.prototype.loadCubeTexture=function(t,e,r,i,o,s){var u,c,l,d,f,v,A;r===void 0&&(r=noop$1),i===void 0&&(i=noop$1),o===void 0&&(o=noop$1);var p={};typeof e.format!="undefined"&&(p.format=e.format),p.generateMipmaps=(u=e.generateMipmaps)!==null&&u!==void 0?u:!1,p.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,p.magFilter=(l=e.magFilter)!==null&&l!==void 0?l:THREE__namespace.LinearFilter;for(var h=[t[FACE_ORDER[0]],t[FACE_ORDER[1]],t[FACE_ORDER[2]],t[FACE_ORDER[3]],t[FACE_ORDER[4]],t[FACE_ORDER[5]]],g=[],m=[0,0,0,0,0,0],y=[],E=function(T){var _=(f=(d=e.imageURL)===null||d===void 0?void 0:d.options)!==null&&f!==void 0?f:{key:"unknown"},x=applyImageURLOptions(h[T],(v=e.imageURL)===null||v===void 0?void 0:v.transform,__assign(__assign({},_),{key:_.key+"."+FACE_ORDER[T]})),S=getProtocol(x),P=function(H){m[T]=H,o(m.reduce(function(k,z){return k+z},0)/6)},L=(A=e.viaAjax)!==null&&A!==void 0?A:!1,R=/^https?:$/.test(S),M=isJsonpSource(x);if(M?L=!0:R||(L=!1),L){var F="blob",C=e.fetcher.ajax(x,{timeout:e.timeout,responseType:F},void 0,void 0,P).then(function(H){return y[T]=H.meta,createImageBitmapLike(H.body)});g.push(C)}else{var B,C=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(k){return B=k,e.fetcher.loadImage(x,{timeout:e.timeout},void 0,void 0,P,k)}).then(function(k){return y[T]=k.meta,k.body}).catch(function(k){return B&&B.close(),Promise.reject(k)});g.push(C)}},b=0;b<6;b++)E(b);return Promise.all(g).then(function(T){return poolImagesToCubeTexture(T)}).then(function(T){return Object.assign(T,__assign({encoding:THREE__namespace.sRGBEncoding},p)),T}).then(function(T){var _={body:T,meta:y};return r(_),_}).catch(function(T){for(var _=0,x=g;_<x.length;_++){var S=x[_];S.then(function(P){return P.close()}).catch(noop$1)}return i(T),Promise.reject(T)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,o,s,u){var c=this;return i===void 0&&(i=noop$1),o===void 0&&(o=noop$1),s===void 0&&(s=noop$1),new Promise(function(l,d){var f,v;c.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(v=r.imageURL)===null||v===void 0?void 0:v.options},format:THREE__namespace.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(A){var p,h=A.meta,g=A.body,m=(p=r.tileMaxLevel)!==null&&p!==void 0?p:2,y=Math.max(1024*m,512),E=createTileCubeTree(m),b=new TileCubeTextureTarget(g,E,e,{textureSize:y,textureLoader:c,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},u),T={meta:h,body:b};i(T),l(T)},function(A){o(A),d(A)},s,u).catch(noop$1)})},n}();const meshNoneVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("n\bv{t-rpA-d|yq]|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\x07K|vq-znv{56-\n--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--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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\f"),meshNoneFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trHn\bv{t-rpA-d|yq]|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-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--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-\05z|qryNy}un66H--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K\f"),meshBasicVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{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\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--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--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),meshBasicFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{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-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||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-|}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@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{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-}-7- ||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\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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-|}npv\b-6H--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--_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--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--<<-颜色增益调整,在色调映射前--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--rp@-sv{nyU`c-J-rp@5uP|y|;\x079-uP|y|;\b-8-p|y|`nnv|{9-uP|y|; -8-p|y|Ovtu{r6H--tylSntP|y|;to-J-u?to5sv{nyU`c6H---<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--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\f"),meshPhongVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs0vs-qrsv{rq5b`RlcR_aRelZN_X6--nvor-sy|n-znxH0r{qvsn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{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\x07K|vq-znv{56-\n--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-6H0r{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--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|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--V_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----V_||sZnx-J-r}5no5znx-:->;=69-=;>6H--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\f"),meshPhongFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=6{vs|z-sy|n-sy||H{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{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-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-V_||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-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{rH0v{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-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{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-}-7- ||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\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----V_||sZnx-K-=;B-33----d|yq]|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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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-|}npv\b-6H--_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--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--<<-颜色增益调整,在色调映射前--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--rp@-sv{nyU`c-J-rp@5uP|y|;\x079-uP|y|;\b-8-p|y|`nnv|{9-uP|y|; -8-p|y|Ovtu{r6H--tylSntP|y|;to-J-u?to5sv{nyU`c6H---<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--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\f");new THREE__namespace.Vector4;var pbmUniforms={modelAlpha:new THREE__namespace.Uniform(0),progress:new THREE__namespace.Uniform(0),pano0_map:new THREE__namespace.Uniform(null),pano0_luminanceMap:new THREE__namespace.Uniform(null),pano0_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano0_zoom:new THREE__namespace.Uniform(1),pano1_map:new THREE__namespace.Uniform(null),pano1_luminanceMap:new THREE__namespace.Uniform(null),pano1_matrix:new THREE__namespace.Uniform(new THREE__namespace.Matrix4),pano1_zoom:new THREE__namespace.Uniform(1),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0)},shaderLib={none:{vertexShader:meshNoneVertexShader,fragmentShader:meshNoneFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms,{opacity:{value:1}},THREE__namespace.UniformsLib.fog]),lights:!1,clipping:!1},basic:{vertexShader:meshBasicVertexShader,fragmentShader:meshBasicFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms,THREE__namespace.ShaderLib.basic.uniforms]),lights:!1,clipping:!0},phong:{vertexShader:meshPhongVertexShader,fragmentShader:meshPhongFragmentShader,uniforms:THREE__namespace.UniformsUtils.merge([pbmUniforms,THREE__namespace.ShaderLib.phong.uniforms]),lights:!0,clipping:!0}},PBMMeshMaterial=function(n){__extends(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var i=this,o,s,u,c,l,d,f,v,A,p,h,g,m,y,E,b,T,_,x,S,P,L,R,M,F,C,B,H=shaderLib[e];i=n.call(this,{vertexShader:H.vertexShader,fragmentShader:H.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(H.uniforms),lights:H.lights,clipping:H.clipping,defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,i.shaderType=e,i.color=new THREE__namespace.Color(16777215),i.map=null,i.lightMap=null,i.lightMapIntensity=1,i.aoMap=null,i.aoMapIntensity=1,i.specularMap=null,i.specular=new THREE__namespace.Color(1118481),i.alphaMap=null,i.envMap=null,i.reflectivity=1,i.refractionRatio=.98,i.emissiveMap=null,i.emissive=new THREE__namespace.Color(0),i.emissiveIntensity=1,i.bumpMap=null,i.bumpScale=1,i.normalMap=null,i.normalMapType=THREE__namespace.TangentSpaceNormalMap,i.normalScale=new THREE__namespace.Vector2(1,1),i.displacementMap=null,i.displacementScale=1,i.displacementBias=0,i.shininess=30;var k,z=null,V=null;return Object.defineProperties(i,{pano0:{get:function(){return z},set:function(N){if(z!==N){z=N,N===null?(this.uniforms.pano0_map.value=null,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=N.map instanceof TileCubeTextureTarget?N.map.texture:N.map,this.uniforms.pano0_luminanceMap.value=N.luminanceMap instanceof TileCubeTextureTarget?N.luminanceMap.texture:N.luminanceMap,this.uniforms.pano0_matrix.value.copy(N.matrix),this.uniforms.pano0_zoom.value=N.zoom);var D=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,q=this.defines.USE_LUMINANCE;q!==D&&(this.defines.USE_LUMINANCE=D,this.needsUpdate=!0)}}},pano1:{get:function(){return V},set:function(N){if(V!==N){V=N,N===null?(this.uniforms.pano1_map.value=null,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=N.map instanceof TileCubeTextureTarget?N.map.texture:N.map,this.uniforms.pano1_luminanceMap.value=N.luminanceMap instanceof TileCubeTextureTarget?N.luminanceMap.texture:N.luminanceMap,this.uniforms.pano1_matrix.value.copy(N.matrix),this.uniforms.pano1_zoom.value=N.zoom);var D=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,q=this.defines.USE_LUMINANCE;q!==D&&(this.defines.USE_LUMINANCE=D,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(N){this.uniforms.modelAlpha.value=N}},progress:{get:function(){return this.uniforms.progress.value},set:function(N){this.uniforms.progress.value=N}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(N){var D=this.defines.USE_BLACK_TRANSITION,q=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(N,"_TRANSITION")]=!0;var G=!1;D!==this.defines.USE_BLACK_TRANSITION&&(G=!0),q!==this.defines.USE_SPREAD_TRANSITION&&(G=!0),G&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(N){this.uniforms.constantColor.value=N;var D=this.defines.USE_CONSTANT_COLOR,q=N!==null;D!==q&&(this.defines.USE_CONSTANT_COLOR=q,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(N){this.uniforms.opacity.value=N}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(N){this.uniforms.shownFloorIndex.value=N}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(N){this.uniforms.brightness.value=N}},clippers:{get:function(){return k},set:function(N){k!==N&&(k=N,this.uniforms.clippers.value=(k||[]).map(function(D){var q=typeof D.floorIndex=="number"?D.floorIndex:-1,G=new THREE__namespace.Matrix4().getInverse(D.clippingBoxMatrix);return{matrixInverse:G,floorIndex:q}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(N){N!==this.defines.USE_EDL&&(this.defines.USE_EDL=N,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(N){N!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=N,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(N){N!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=N,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(N){this.uniforms.floor.value=N}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(N){this.uniforms.colorSaturation.value=N}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(N){this.uniforms.colorBrightness.value=N}}}),i.pano0=(o=r.pano0)!==null&&o!==void 0?o:defaultPbmParameters.pano0,i.pano1=(s=r.pano1)!==null&&s!==void 0?s:defaultPbmParameters.pano1,i.modelAlpha=(u=r.modelAlpha)!==null&&u!==void 0?u:defaultPbmParameters.modelAlpha,i.progress=(c=r.progress)!==null&&c!==void 0?c:defaultPbmParameters.progress,i.transition=(l=r.transition)!==null&&l!==void 0?l:defaultPbmParameters.transition,i.constantColor=(d=r.constantColor)!==null&&d!==void 0?d:defaultPbmParameters.constantColor,i.opacity=(f=r.opacity)!==null&&f!==void 0?f:defaultPbmParameters.opacity,i.floorStyle=(v=r.floorStyle)!==null&&v!==void 0?v:defaultPbmParameters.floorStyle,i.shownFloorIndex=(A=r.shownFloorIndex)!==null&&A!==void 0?A:defaultPbmParameters.shownFloorIndex,i.clippers=(p=r.clippers)!==null&&p!==void 0?p:defaultPbmParameters.clippers,i.useEDL=(h=r.useEDL)!==null&&h!==void 0?h:defaultPbmParameters.useEDL,i.useHQWeight=(g=r.useHQWeight)!==null&&g!==void 0?g:defaultPbmParameters.useHQWeight,i.useHQDepth=(m=r.useHQDepth)!==null&&m!==void 0?m:defaultPbmParameters.useHQDepth,i.pointSize=(y=r.pointSize)!==null&&y!==void 0?y:defaultPbmParameters.pointSize,i.pointColor=(E=r.pointColor)!==null&&E!==void 0?E:defaultPbmParameters.pointColor,i.pointShape=(b=r.pointShape)!==null&&b!==void 0?b:defaultPbmParameters.pointShape,i.pointScale=(T=r.pointScale)!==null&&T!==void 0?T:defaultPbmParameters.pointScale,i.pointBack=(_=r.pointBack)!==null&&_!==void 0?_:defaultPbmParameters.pointBack,i.pointAppearAnimationDuration=(x=r.pointAppearAnimationDuration)!==null&&x!==void 0?x:defaultPbmParameters.pointAppearAnimationDuration,i.pointEffect=(S=r.pointEffect)!==null&&S!==void 0?S:defaultPbmParameters.pointEffect,i.pointMinPixel=(P=r.pointMinPixel)!==null&&P!==void 0?P:defaultPbmParameters.pointMinPixel,i.pointMaxPixel=(L=r.pointMaxPixel)!==null&&L!==void 0?L:defaultPbmParameters.pointMaxPixel,i.gradientTexture=(R=r.gradientTexture)!==null&&R!==void 0?R:defaultPbmParameters.gradientTexture,i.brightness=(M=r.brightness)!==null&&M!==void 0?M:defaultPbmParameters.brightness,i.colorSaturation=(F=r.colorSaturation)!==null&&F!==void 0?F:defaultPbmParameters.colorSaturation,i.colorBrightness=(C=r.colorBrightness)!==null&&C!==void 0?C:defaultPbmParameters.colorBrightness,i.floor=0,i.transparent=!0,i.evennessPlane=(B=r.evennessPlane)!==null&&B!==void 0?B:defaultPbmParameters.evennessPlane,i}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.refreshUniforms=function(e){var r,i,o=this.uniforms;o.diffuse&&o.diffuse.value.copy(this.color),o.opacity&&(o.opacity.value=this.opacity),o.color&&o.diffuse.value.copy(this.color),o.emissive&&o.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),o.map&&(o.map.value=this.map),o.alphaMap&&(o.alphaMap.value=this.alphaMap),o.specularMap&&(o.specularMap.value=this.specularMap),o.envMap&&(o.envMap.value=this.envMap,o.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,o.reflectivity.value=this.reflectivity,o.refractionRatio.value=this.refractionRatio,o.maxMipLevel.value=this.envMap&&(i=e==null?void 0:e.properties.get(this.envMap).__maxMipLevel)!==null&&i!==void 0?i:0),o.lightMap&&(o.lightMap.value=this.lightMap,o.lightMapIntensity.value=this.lightMapIntensity),o.aoMap&&(o.aoMap.value=this.aoMap,o.aoMapIntensity.value=this.aoMapIntensity),o.specular&&o.specular.value.copy(this.specular),o.shininess&&(o.shininess.value=Math.max(this.shininess,1e-4)),o.emissiveMap&&(o.emissiveMap.value=this.emissiveMap),o.bumpMap&&(o.bumpMap.value=this.bumpMap,o.bumpScale.value=this.bumpScale,this.side===THREE__namespace.BackSide&&(o.bumpScale.value*=-1)),o.normalMap&&(o.normalMap.value=this.normalMap,o.normalScale.value.copy(this.normalScale),this.side===THREE__namespace.BackSide&&o.normalScale.value.negate()),o.displacementMap&&(o.displacementMap.value=this.displacementMap,o.displacementScale.value=this.displacementScale,o.displacementBias.value=this.displacementBias);var s;this.map?s=this.map:this.specularMap?s=this.specularMap:this.displacementMap?s=this.displacementMap:this.normalMap?s=this.normalMap:this.bumpMap?s=this.bumpMap:this.alphaMap?s=this.alphaMap:this.emissiveMap&&(s=this.emissiveMap),s!==void 0&&(s.matrixAutoUpdate===!0&&s.updateMatrix(),o.uvTransform.value.copy(s.matrix));var u;this.aoMap?u=this.aoMap:this.lightMap&&(u=this.lightMap),u!==void 0&&(u.matrixAutoUpdate===!0&&u.updateMatrix(),o.uv2Transform.value.copy(u.matrix))},t.prototype.update=function(e,r,i){var o="".concat(i.id,":").concat(i.materialVersion);o!==this.syncModelVersion&&(Object.assign(this,i.getMaterial()),this.syncModelVersion=o),this.visible=!0,this.refreshUniforms(e),this.shaderType==="none"?(this.depthWrite=!1,this.transparent=!0):(this.transparent=!1,this.depthWrite=!0,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.transparent&&(this.depthWrite=!1),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1)),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(i.bounding.max),this.uniforms.modelBoundingMin.value.copy(i.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.shininess=e.shininess,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.progress=e.progress,this.transition=e.transition,this.opacity=e.opacity,this.constantColor=e.constantColor,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointEffect=e.pointEffect,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.floor=e.floor,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.evennessPlane=e.evennessPlane,this},t}(THREE__namespace.ShaderMaterial);const pointCloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("{vs|z-sy|n-sy||H0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{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`Rl]YN[RlQV`aN[PR6--p-]yn{r-\n----rp@-{|znyH----sy|n-p|{n{H--\fH--{vs|z-]yn{r-rr{{r]yn{rhCjH--{vs|z-rp@-rr{{r]yn{r[|znyH--{vs|z-sy|n-rr{{r]yn{rQH--{vs|z-sy|n-rr{{r]yn{rQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@-nqwP|y|arz}rnr5rp@-p|y|9-sy|n-rz}rnr6\n----<<-将色温范围从-:>;=-到->;=-映射到实际的色温范围----sy|n-rz}-J-5rz}rnr-8->;=6-7-B===;=H-<<-范围从-=-到->====----<<-计算色温系数----sy|n-lsnp|9-tlsnp|9-olsnp|H----vs-5rz}-IJ-CC==;=6-\n--------lsnp|-J->;=H--------tlsnp|-J-=;@F==E>BDEDCF=>FC=DEA-7-y|t5rz}-<->==;=6-:-=;C@>EA>AA@DEEC?DAB=FEH--------olsnp|-J-rz}-IJ->F==;=-L-=;=-G-=;BA@?=CDEF>>=>FC=DEA@-7-y|t5rz}-<->==;=-:->=;=6-:->;>FC?BA=EF>AH----\f-ryr-\n--------lsnp|-J->;?F?F@C>EC=C?DAB=FE=A-7-}|5rz}-<->==;=-:-C=;=9-:=;>@@?=ADBF?6H--------tlsnp|-J->;>?FEF=EC=EFB?FA>>DCB-7-}|5rz}-<->==;=-:-C=;=9-:=;=DBB>AEAF?6H--------olsnp|-J->;=H----\f----<<-调整颜色----rp@-nqwrqP|y|H----nqwrqP|y|;-J-pynz}5p|y|;-7-lsnp|9-=;=9->;=6H----nqwrqP|y|;t-J-pynz}5p|y|;t-7-tlsnp|9-=;=9->;=6H----nqwrqP|y|;o-J-pynz}5p|y|;o-7-olsnp|9-=;=9->;=6H----r{-nqwrqP|y|H\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\f|vq-znv{56-\n--<<-JJJ-点大小剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--<<-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-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||-:-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--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----sy|n--J-?;=-7-tyl]|v{P||q;\x07-:->;=H----sy|n--J-?;=-7-tyl]|v{P||q;\b-:->;=H----sy|n-pp-J-7-8-7H----vs-5]|v{`v r-K-E;=-33-pp-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-sv{nyP|y|-J-_TOa|Yv{rn5rpA5P|y|9-|}npv\b66H--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------qvpnqH------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-d|yq]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------sv{nyP|y|;\x07\b -J-sv{nyP|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--tylSntP|y|-J-sv{nyP|y|H--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-K-:=;=>-33-no5sy||-:-u|{Sy||V{qr\x076-K-=;FF6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\bH--<<-JJJJJJJJJJJJJJ--tylSntP|y|;n-J-tylSntP|y|;n-7-z|qryNy}unH--<<提取亮度--rp@-toP|y|-J-tylSntP|y|;toH--rp@-uP|y|-J-to?u5toP|y|6H--rp@-sv{nyU`c-J-rp@5uP|y|;\x079-uP|y|;\b-8-p|y|`nnv|{9-uP|y|; -8-p|y|Ovtu{r6H--tylSntP|y|;to-J-u?to5sv{nyU`c6H--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs--<<平整度着色--0vs-qrsv{rq5b`Rl]YN[RlQV`aN[PR6----o||y-v{vqr-J-rH----s|-5v{-v-J-=H-v-I-CH-v886-\n--------vs-5q|5rr{{r]yn{rhvj;{|zny9-d|yq]|vv|{;\x07\b 6-8-rr{{r]yn{rhvj;p|{n{-K-=;=6-\n------------v{vqr-J-snyrH------------ornxH--------\f----\f----vs-5v{vqr6-\n------sy|n-qvn{pra|]yn{r-J-5q|5rr{{r]yn{r[|zny9-d|yq]|vv|{;\x07\b 6-8-rr{{r]yn{rQ6-<-yr{tu5rr{{r]yn{r[|zny6H------sy|n-}|tr-J-qvn{pra|]yn{r-7-5>;=-<-rr{{r]yn{rQr}u6H------<<-}|tr-J-}|tr-7-}|tr-7-}|trH------vs5qvn{pra|]yn{r-K-=;=6-\n--------tylSntP|y|-J-zv\x075rpA5=;=9>;=9=;=9>;=69-rpA5>;=9=;=9=;=9>;=69-}|tr6H------\fryr\n--------tylSntP|y|-J-zv\x075rpA5=;=9>;=9=;=9>;=69-rpA5=;=9=;=9>;=9>;=69-}|tr6H------\f----\f--0r{qvs\f"),pointCloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,o=0,s="";return t[o].split(s).map(function(u){return u.charCodeAt(o)>i?u:String.fromCharCode((u.charCodeAt(o)+r)%i)}).join(s)}("nvor-rp@-p|y|H0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{RssrpH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-tr|zrvpR|H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-d|yq]|vv|{6-\n--<<-sy|n--J-5d|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--sy|n--J-d|yq]|vv|{;\b-<->=;=H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\frpA-l}rzr5rpA-\x076-\n-r{-z|q555\x07-7-@A;=6-8->;=6-7-\x079-?EF;=6H-\frpA-ln\by|V{`\05rpA-6-\n-r{->;DF?EA?F>A==>BF-:-=;EB@D@AD?=FB@>A-7-H-\f<77-7-Tr{rnr-@Q-`vz}yr\x07-[|vr;-7-7-M{nzr-ty{lvz}yr\x07-7-Ms{pv|{-7-M}nnz-\nrp@\f---]|v{-|-nz}yr-`vz}yr\x07-[|vr-n;-7-Mr{-\nsy|n\f--cnyr-|s-`vz}yr\x07-[|vr-n-}|v{-/}/;-7-7-Mr\x07nz}yr-7-sy|n-{-J-ty{lvz}yr\x075}|vv|{;\x07\b 6H-7<sy|n-ty{lvz}yr\x075rp@-6-\n--p|{-rp?-P-J-rp?5>;=-<-C;=9->;=-<-@;=6H--p|{-rpA-Q-J-rpA5=;=9-=;B9->;=9-?;=6H--<<-Sv-p|{r--rp@-v-J-sy||5-8-q|59-P;\b\b\b66H--rp@-\x07=-J--:-v-8-q|5v9-P;\x07\x07\x076H--<<-\\ur-p|{r--rp@-t-J-r}5\x07=;\b \x079-\x07=;\x07\b 6H--rp@-y-J->;=-:-tH--rp@-v>-J-zv{5t;\x07\b 9-y; \x07\b6H--rp@-v?-J-zn\x075t;\x07\b 9-y; \x07\b6H--<<--\x07=-J-\x07=-:-=;-8-=;=-7-P--rp@-\x07>-J-\x07=-:-v>-8->;=-7-P;\x07\x07\x07H--rp@-\x07?-J-\x07=-:-v?-8-?;=-7-P;\x07\x07\x07H--rp@-\x07@-J-\x07=-:->;-8-@;=-7-P;\x07\x07\x07H--<<-]rznv|{--v-J-z|q5v9-?EF;=6H--rpA-}-J-l}rzr5l}rzr5l}rzr5v; -8-rpA5=;=9-v>; 9-v?; 9->;=66-8-v;\b-8-----------------------------rpA5=;=9-v>;\b9-v?;\b9->;=66-8--------------------v;\x07-8-rpA5=;=9-v>;\x079-v?;\x079->;=66H--<<-Tnqvr{--<<-5-[7[-}|v{-{vs|zy\b-|r-n-\0nr9-zn}}rq-|{|-n{-|pnurq|{;6--sy|n-{l-J->;=-<-D;=H-<<-[JD--rp@-{-J-{l-7-Q;\b -:-Q;\x07 \x07H--rpA-w-J-}-:-AF;=-7-sy||5}-7-{; -7-{; 6H-<<--z|q5}9[7[6--rpA-\x07l-J-sy||5w-7-{; 6H--rpA-\bl-J-sy||5w-:-D;=-7-\x07l6H-<<-z|q5w9[6--rpA-\x07-J-\x07l-7-{;\x07-8-{;\b\b\b\bH--rpA-\b-J-\bl-7-{;\x07-8-{;\b\b\b\bH--rpA-u-J->;=-:-no5\x076-:-no5\b6H--rpA-o=-J-rpA5\x07;\x07\b9-\b;\x07\b6H--rpA-o>-J-rpA5\x07; 9-\b; 6H--rpA-=-J-sy||5o=6-7-?;=-8->;=H--rpA->-J-sy||5o>6-7-?;=-8->;=H--rpA-u-J-:r}5u9-rpA5=;=66H--rpA-n=-J-o=;\x07 \b-8-=;\x07 \b-7-u;\x07\x07\b\bH--rpA-n>-J-o>;\x07 \b-8->;\x07 \b-7-u; H--rp@-}=-J-rp@5n=;\x07\b9-u;\x076H--rp@-}>-J-rp@5n=; 9-u;\b6H--rp@-}?-J-rp@5n>;\x07\b9-u; 6H--rp@-}@-J-rp@5n>; 9-u;6H--<<-[|znyvr-tnqvr{--rpA-{|z-J------ln\by|V{`\05rpA5q|5}=9-}=69-q|5}>9-}>69-q|5}?9-}?69-q|5}@9-}@666H--}=-7J-{|z;\x07H--}>-7J-{|z;\bH--}?-7J-{|z; H--}@-7J-{|z;H--<<-Zv\x07-sv{ny-{|vr-nyr--rpA-z-J------zn\x075=;C-:-rpA5q|5\x07=9-\x07=69-q|5\x07>9-\x07>69-q|5\x07?9-\x07?69-q|5\x07@9-\x07@669-=;=6H--z-J-z-7-zH--r{-A?;=-7---------q|5z-7-z9-rpA5q|5}=9-\x07=69-q|5}>9-\x07>69-q|5}?9-\x07?69-q|5}@9-\x07@666H\f|vq-znv{56-\n--0v{pyqr-Iortv{lrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--sy|n-}|v{Rssrp`v r`pnyr-J->;=H--sy|n-}|v{Rssrp`v rOnv-J-=;=H--<<-JJJJ-n-rssrp->-JJJJJ--<<-rpA-onv-J-rpA55z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=9->;=6H--<<-sy|n-o|{qv{t_nqv-J-yr{tu5z|qryO|{qv{tZn\x07-:-z|qryO|{qv{tZv{6-<-?;=H--<<-rpA-]|vv|{>-J-d|yq]|vv|{-:-onvH--<<-rpA-]|vv|{?-J-{|znyv r5]|vv|{>6-7-5o|{qv{t_nqv-7-?=;=6-7-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7-?=;=6H--<<-sy|n-}|tr-J-pynz}5}|v{Rssrp-7-}|v{Rssrp-7-}|v{Rssrp9-=;=9->;=6H--<<-rpA-]|vv|{-J-zv\x075]|vv|{>9-]|vv|{?9-}|tr6H--<<-sy|n-Yr{tu-J-yr{tu5]|vv|{;\x07 6H--<<-sy|n-nq-J-nn{5]|vv|{; 9-]|vv|{;\x076-8-\05yr{tu5]|vv|{-:-]|vv|{>6-<->==;=6H--<<-]|vv|{;\x07-J-p|5nq6-7-Yr{tuH--<<-]|vv|{; -J-v{5nq6-7-Yr{tuH--<<-d|yq]|vv|{-J-onv-8-]|vv|{H--<<-JJJJ-r{q-rssrp->-JJJJJ--<<-JJJJ-n-rssrp-?-JJJJJ--rpA-onv-J-rpA55z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=9->;=6H--sy|n-o|{qv{t_nqv-J-yr{tu5z|qryO|{qv{tZn\x07-:-z|qryO|{qv{tZv{6-<-?;=H--sy|n-}-J-yr{tu5d|yq]|vv|{-:-onv6-<-o|{qv{t_nqvH--sy|n-}|tr-J-z||ur}5}9-}-:-=;=@9->;=-:-}|v{Rssrp6H--sy|n-{|vr-J-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7->=;=6H--}|tr-J-r}5no5{|vr69-}|tr6H--}|v{Rssrp`v r`pnyr-J-zv\x075}|v{Rssrp`v r`pnyr9-=;=9-}|tr6H--sy|n-}|tr?-J-r}5}|v{Rssrp9->;=-:-}6H--}|v{Rssrp`v rOnv-J-zv\x075=;>-7-r}5no5{|vr69-=;B-<-o|{qv{t_nqv69-}|v{Rssrp`v rOnv9-}|tr?6H--<<-JJJJ-r{q-rssrp-?-JJJJJ--<<-JJJJ-n-rssrp-@-JJJJJ--<<-rpA-onv-J-rpA55z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=9->;=6H--<<-sy|n-o|{qv{t_nqv-J-yr{tu5z|qryO|{qv{tZn\x07-:-z|qryO|{qv{tZv{6-<-?;=H--<<-sy|n-o|{qv{t`v rg-J-yr{tu5z|qryO|{qv{tZn\x07; -:-z|qryO|{qv{tZv{; 6H--<<-sy|n-}-J->;=-:-yr{tu5d|yq]|vv|{; -:-z|qryO|{qv{tZv{; 6-<-o|{qv{t`v rgH--<<-sy|n-}|tr-J->;=-:-}|v{RssrpH--<<-}|tr-J-}|tr-7-=;F-8-=;>H--<<-}|tr-J-z||ur}5}9-}-:-=;=@9->;=-:-}|v{Rssrp6H--<<-sy|n-{|vr-J-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7->=;=6H--<<-}|tr-J-r}5no5{|vr69-}|tr6H--<<-}|v{Rssrp`v r`pnyr-J-zv\x075}|v{Rssrp`v r`pnyr9-=;=9-}|tr6H--<<-sy|n-}|tr?-J-r}5}|v{Rssrp9->;=-:-}6H--<<-sy|n-{|vr?-J-ty{lvz}yr\x075d|yq]|vv|{;\x07\b -7->=;=6H--<<-}|v{Rssrp`v rOnv-J-zv\x075=;D-7-r}5no5{|vr?69-=;?-<-o|{qv{t_nqv69-}|v{Rssrp`v rOnv9-}|tr?6H--<<-}|v{Rssrp`v rOnv-J-zv\x075=;=9-}|v{Rssrp`v rOnv9-r}5}-:-=;@9-5>;=-:-}|v{Rssrp6-7-=;F66H--<<-JJJJ-r{q-rssrp-@-JJJJJ--rpA-z]|vv|{-J-vrZnv\x07-7-d|yq]|vv|{H--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--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--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlTR\\ZRa_VP6----rny]|v{`v r-7J-tr|zrvpR|H----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0ryvs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--tyl]|v{`v r-J-tyl]|v{`v r-7-}|v{Rssrp`v r`pnyr-8-}|v{Rssrp`v rOnvH--]|v{`v r-J-tyl]|v{`v rH--0vs-qrsv{rq5b`Rl]\\V[alP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-d|yq]|vv|{6H--0ryr----P|y|-J-p|y|H--0r{qvs--0vs-qrsv{rq5b`Rl]\\V[al[\\_ZNY6----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f");var shaderUniforms=Object.assign({pointScale:new THREE__namespace.Uniform(1),pointEffect:new THREE__namespace.Uniform(0),pointMinPixel:new THREE__namespace.Uniform(1),pointMaxPixel:new THREE__namespace.Uniform(1),opacity:new THREE__namespace.Uniform(1),gradientTexture:new THREE__namespace.Uniform(null),modelAlpha:new THREE__namespace.Uniform(0),clippers:new THREE__namespace.Uniform([]),shownFloorIndex:new THREE__namespace.Uniform(-1),constantColor:new THREE__namespace.Uniform(null),geometricError:new THREE__namespace.Uniform(0),pixelRatio:new THREE__namespace.Uniform(1),resolution:new THREE__namespace.Uniform(new THREE__namespace.Vector2(512,512)),floor:new THREE__namespace.Uniform(0),brightness:new THREE__namespace.Uniform(1),modelBoundingMin:new THREE__namespace.Uniform(new THREE__namespace.Vector3),modelBoundingMax:new THREE__namespace.Uniform(new THREE__namespace.Vector3),colorSaturation:new THREE__namespace.Uniform(0),colorBrightness:new THREE__namespace.Uniform(0),evennessPoints:new THREE__namespace.Uniform([]),evennessPlaneNormal:new THREE__namespace.Uniform(new THREE__namespace.Vector3),evennessPlaneD:new THREE__namespace.Uniform(0),evennessPlanes:new THREE__namespace.Uniform([]),evennessPlaneDepth:new THREE__namespace.Uniform(0)},THREE__namespace.UniformsUtils.clone(THREE__namespace.UniformsLib.fog)),PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,v,A,p,h,g,m,y,E,b,T,_,x,S,P,L,R,M,F,C=n.call(this,{vertexShader:pointCloudVertexShader,fragmentShader:pointCloudFragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(shaderUniforms),lights:!1,clipping:!0,defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_MARK:!1,USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_SIZE_GEOMETRIC:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1,USE_PLANE_DISTANCE:!1}})||this,B;return Object.defineProperties(C,{constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(H){this.uniforms.constantColor.value=H;var k=this.defines.USE_CONSTANT_COLOR,z=H!==null;k!==z&&(this.defines.USE_CONSTANT_COLOR=z,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(H){this.uniforms.opacity.value=H}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(H){this.uniforms.modelAlpha.value=H}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(H){this.uniforms.shownFloorIndex.value=H}},clippers:{get:function(){return B},set:function(H){B!==H&&(B=H,this.uniforms.clippers.value=(B||[]).map(function(k){var z=typeof k.floorIndex=="number"?k.floorIndex:-1,V=new THREE__namespace.Matrix4().getInverse(k.clippingBoxMatrix);return{matrixInverse:V,floorIndex:z}}),this.needsUpdate=!0)}},pointColor:{get:function(){return this.defines.USE_POINT_COLOR_ALTITUDE===!0?"ALTITUDE":"RGB"},set:function(H){var k=H==="ALTITUDE";this.defines.USE_POINT_COLOR_ALTITUDE!==k&&(this.defines.USE_POINT_COLOR_ALTITUDE=k,this.needsUpdate=!0)}},pointSize:{get:function(){return this.defines.USE_POINT_SIZE_GEOMETRIC===!0?"GEOMETRIC":this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(H){var k=H==="ATTENUATION",z=H==="GEOMETRIC";this.defines.USE_POINT_SIZE_GEOMETRIC!==z&&(this.defines.USE_POINT_SIZE_GEOMETRIC=z,this.needsUpdate=!0),this.defines.USE_POINT_SIZE_ATTENUATION!==k&&(this.defines.USE_POINT_SIZE_ATTENUATION=k,this.needsUpdate=!0)}},pointShape:{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(H){var k=H==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==k&&(this.defines.USE_POINT_SHAPE_CIRCLE=k,this.needsUpdate=!0)}},pointScale:{get:function(){return this.uniforms.pointScale.value},set:function(H){this.uniforms.pointScale.value=H}},pointBack:{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(H){var k=H==="HIDDEN",z=H==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==k&&(this.defines.USE_POINT_BACK_HIDDEN=k,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==z&&(this.defines.USE_POINT_BACK_DARK=z,this.needsUpdate=!0)}},pointEffect:{get:function(){return this.uniforms.pointEffect.value},set:function(H){this.uniforms.pointEffect.value=H}},pointMinPixel:{get:function(){return this.uniforms.pointMinPixel.value},set:function(H){this.uniforms.pointMinPixel.value=H}},pointMaxPixel:{get:function(){return this.uniforms.pointMaxPixel.value},set:function(H){this.uniforms.pointMaxPixel.value=H}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(H){H!==this.defines.USE_EDL&&(this.defines.USE_EDL=H,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(H){H!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=H,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(H){H!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=H,this.needsUpdate=!0)}},gradientTexture:{get:function(){return this.uniforms.gradientTexture.value},set:function(H){this.uniforms.gradientTexture.value=H}},floor:{get:function(){return this.uniforms.floor.value},set:function(H){this.uniforms.floor.value=H}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(H){this.uniforms.brightness.value=H}},colorSaturation:{get:function(){return this.uniforms.colorSaturation.value},set:function(H){this.uniforms.colorSaturation.value=H}},colorBrightness:{get:function(){return this.uniforms.colorBrightness.value},set:function(H){this.uniforms.colorBrightness.value=H}},evennessPlane:{get:function(){return{depth:this.uniforms.evennessPlaneDepth.value,points:this.uniforms.evennessPoints.value}},set:function(H){var k=H.points,z=H.depth,V=!1;if(k.length!==0&&k.length%4===0){V=!0;var N=k[0],D=k[1],q=k[2],G=k[3],J=new THREE__namespace.Vector3().subVectors(D,N),j=new THREE__namespace.Vector3().subVectors(q,N),K=new THREE__namespace.Vector3().crossVectors(J,j).normalize(),Z=-K.dot(N),X=z,ee=N.clone().add(K.clone().negate().multiplyScalar(X)),Y=N.clone().add(K.clone().multiplyScalar(X)),ne=D.clone().add(K.clone().negate().multiplyScalar(X)),te=D.clone().add(K.clone().multiplyScalar(X)),ce=q.clone().add(K.clone().negate().multiplyScalar(X)),ie=q.clone().add(K.clone().multiplyScalar(X)),se=G.clone().add(K.clone().negate().multiplyScalar(X)),Ae=G.clone().add(K.clone().multiplyScalar(X)),pe=new THREE__namespace.Plane().setFromCoplanarPoints(Y,te,ie),he=new THREE__namespace.Plane().setFromCoplanarPoints(ce,ne,ee),$=new THREE__namespace.Plane().setFromCoplanarPoints(te,Y,ee),re=new THREE__namespace.Plane().setFromCoplanarPoints(se,Ae,ie),U=new THREE__namespace.Plane().setFromCoplanarPoints(ie,te,ne),ge=new THREE__namespace.Plane().setFromCoplanarPoints(ee,Y,Ae);this.uniforms.evennessPlanes.value=[{normal:pe.normal,constant:pe.constant},{normal:he.normal,constant:he.constant},{normal:$.normal,constant:$.constant},{normal:re.normal,constant:re.constant},{normal:U.normal,constant:U.constant},{normal:ge.normal,constant:ge.constant}],this.uniforms.evennessPoints.value=H,this.uniforms.evennessPlaneDepth.value=z,this.uniforms.evennessPlaneNormal.value=K,this.uniforms.evennessPlaneD.value=Z}this.defines.USE_PLANE_DISTANCE!==V&&(this.needsUpdate=!0,this.defines.USE_PLANE_DISTANCE=V)}}}),C.pano0=(r=e.pano0)!==null&&r!==void 0?r:defaultPbmParameters.pano0,C.pano1=(i=e.pano1)!==null&&i!==void 0?i:defaultPbmParameters.pano1,C.modelAlpha=(o=e.modelAlpha)!==null&&o!==void 0?o:defaultPbmParameters.modelAlpha,C.progress=(s=e.progress)!==null&&s!==void 0?s:defaultPbmParameters.progress,C.transition=(u=e.transition)!==null&&u!==void 0?u:defaultPbmParameters.transition,C.constantColor=(c=e.constantColor)!==null&&c!==void 0?c:defaultPbmParameters.constantColor,C.opacity=(l=e.opacity)!==null&&l!==void 0?l:defaultPbmParameters.opacity,C.floorStyle=(d=e.floorStyle)!==null&&d!==void 0?d:defaultPbmParameters.floorStyle,C.shownFloorIndex=(f=e.shownFloorIndex)!==null&&f!==void 0?f:defaultPbmParameters.shownFloorIndex,C.clippers=(v=e.clippers)!==null&&v!==void 0?v:defaultPbmParameters.clippers,C.useEDL=(A=e.useEDL)!==null&&A!==void 0?A:defaultPbmParameters.useEDL,C.useHQWeight=(p=e.useHQWeight)!==null&&p!==void 0?p:defaultPbmParameters.useHQWeight,C.useHQDepth=(h=e.useHQDepth)!==null&&h!==void 0?h:defaultPbmParameters.useHQDepth,C.pointColor=(g=e.pointColor)!==null&&g!==void 0?g:defaultPbmParameters.pointColor,C.pointShape=(m=e.pointShape)!==null&&m!==void 0?m:defaultPbmParameters.pointShape,C.pointSize=(y=e.pointSize)!==null&&y!==void 0?y:defaultPbmParameters.pointSize,C.pointScale=(E=e.pointScale)!==null&&E!==void 0?E:defaultPbmParameters.pointScale,C.pointBack=(b=e.pointBack)!==null&&b!==void 0?b:defaultPbmParameters.pointBack,C.pointAppearAnimationDuration=(T=e.pointAppearAnimationDuration)!==null&&T!==void 0?T:defaultPbmParameters.pointAppearAnimationDuration,C.pointEffect=(_=e.pointEffect)!==null&&_!==void 0?_:defaultPbmParameters.pointEffect,C.pointMinPixel=(x=e.pointMinPixel)!==null&&x!==void 0?x:defaultPbmParameters.pointMinPixel,C.pointMaxPixel=(S=e.pointMaxPixel)!==null&&S!==void 0?S:defaultPbmParameters.pointMaxPixel,C.gradientTexture=(P=e.gradientTexture)!==null&&P!==void 0?P:defaultPbmParameters.gradientTexture,C.brightness=(L=e.brightness)!==null&&L!==void 0?L:defaultPbmParameters.brightness,C.colorSaturation=(R=e.colorSaturation)!==null&&R!==void 0?R:defaultPbmParameters.colorSaturation,C.colorBrightness=(M=e.colorBrightness)!==null&&M!==void 0?M:defaultPbmParameters.colorBrightness,C.floor=0,C.transparent=!0,C.evennessPlane=(F=e.evennessPlane)!==null&&F!==void 0?F:defaultPbmParameters.evennessPlane,C}return t.prototype.onBeforeCompile=function(e,r){var i,o,s=String((o=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&o!==void 0?o:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,s),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,s)},t.prototype.update=function(e,r,i){var o="".concat(i.id,":").concat(i.materialVersion);o!==this.syncModelVersion&&(Object.assign(this,i.getMaterial()),this.syncModelVersion=o),this.visible=!0,this.transparent=!1,this.shownFloorIndex>-1&&(this.transparent=this.shownFloorIndex!==this.floor),this.modelAlpha<1&&(this.transparent=!0),this.opacity<1&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.depthWrite=!0,this.depthTest=!0,this.useEDL&&(this.transparent=!1),this.useHQWeight?(this.depthWrite=!1,this.blending=THREE__namespace.CustomBlending,this.blendSrc=THREE__namespace.SrcAlphaFactor,this.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,this.blendDst=THREE__namespace.OneFactor,this.blendDstAlpha=THREE__namespace.OneFactor):(this.blending=THREE__namespace.NormalBlending,this.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,this.blendEquation=THREE__namespace.AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null),this.floorStyle==="VISIBILITY"&&this.shownFloorIndex!==-1&&this.floor!==this.shownFloorIndex&&(this.visible=!1),this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution),this.uniforms.modelBoundingMax.value.copy(i.bounding.max),this.uniforms.modelBoundingMin.value.copy(i.bounding.min)},t.prototype.copy=function(e){return n.prototype.copy.call(this,this),this.pano0=e.pano0,this.pano1=e.pano1,this.progress=e.progress,this.transition=e.transition,this.shownFloorIndex=e.shownFloorIndex,this.brightness=e.brightness,this.clippers=e.clippers,this.constantColor=e.constantColor,this.modelAlpha=e.modelAlpha,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.pointColor=e.pointColor,this.pointSize=e.pointSize,this.pointShape=e.pointShape,this.pointScale=e.pointScale,this.pointBack=e.pointBack,this.pointEffect=e.pointEffect,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.gradientTexture=e.gradientTexture,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.evennessPlane=e.evennessPlane,this},t}(THREE__namespace.ShaderMaterial),InternalWebGLRenderer=function(n){__extends(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,o=e.premultipliedAlpha,s=o===void 0?!0:o,u=e.stencil,c=u===void 0?!0:u,l=e.backgroundColor,d=l===void 0?1579548:l,f=e.backgroundAlpha,v=f===void 0?1:f,A=e.pixelRatio,p=A===void 0?1:A,h=e.antialias,g=e.webgl2,m=e.logarithmicDepthBuffer,y=e.precision,E=this,b={antialias:h,alpha:!0,depth:!0,preserveDrawingBuffer:i,stencil:c,premultipliedAlpha:s,powerPreference:"high-performance"},T={logarithmicDepthBuffer:m,precision:y};if(g){var _=document.createElement("canvas"),x=_.getContext("webgl2",b);x?E=n.call(this,__assign(__assign(__assign({},b),T),{antialias:!0,canvas:_,context:x}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),E=n.call(this,__assign(__assign({},b),T))||this)}else E=n.call(this,__assign(__assign({},b),T))||this;return E.setPixelRatio(p),E.setClearColor(d,v),E.outputEncoding=THREE__namespace.sRGBEncoding,E.autoClear=!0,E}return t}(THREE__namespace.WebGLRenderer),Scene=function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}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}(THREE__namespace.Scene);function coordinatesToVector(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),o=-Math.cos(n.longitude)*e;return t?t.set(r,i,o):new THREE__namespace.Vector3(r,i,o)}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 i=0;i<16;i++)r.elements[i]=n.elements[i]+(t.elements[i]-n.elements[i])*e;return r}var Camera=function(n){__extends(t,n);function t(e,r,i,o,s,u,c){r===void 0&&(r=DEFAULT_ASPECT),i===void 0&&(i=DEFAULT_NEAR),o===void 0&&(o=DEFAULT_FAR),s===void 0&&(s=new THREE__namespace.Vector2),u===void 0&&(u=new THREE__namespace.Vector2(512,512)),c===void 0&&(c=1);var l=n.call(this)||this;l.fov=e,l.aspect=r,l.near=i,l.far=o,l.perspToOrtho=s,l.resolution=u,l.pixelRatio=c,l.time=0,l.needsRender=!0,l.refineModel=!0,l.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new THREE__namespace.Vector3},l.computePose(),l.perspectiveCamera=new THREE__namespace.PerspectiveCamera(l.fov,l.aspect,.001,l.far);var d=Math.max(l.orthoDistance,.01)*Math.tan(.5*l.fov/180*Math.PI),f=-.5*l.aspect*2*d;return l.orthographicCamera=new THREE__namespace.OrthographicCamera(f,-f,d,-d,.001,l.far),l.computeProjectionMatrix(),l.lastValues={position:l.position.clone(),quaternion:l.quaternion.clone(),scale:l.scale.clone(),fov:l.fov,aspect:l.aspect,near:l.near,far:l.far,orthoDistance:l.orthoDistance,perspToOrtho:l.perspToOrtho.clone()},l.type=l.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",l}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,i,o,s,u,c=formatRad$1((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),l=Math.max(-PI_2+1e-4,Math.min(PI_2-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),d=(o=e.fov)!==null&&o!==void 0?o:this.pose.fov,f=(s=e.distance)!==null&&s!==void 0?s:this.pose.distance,v=(u=e.offset)!==null&&u!==void 0?u:this.pose.offset,A=coordinatesToVector({longitude:c,latitude:l}).normalize();return this.position.set(0,0,0),this.lookAt(A),this.position.add(v).sub(A.clone().setLength(f)),this.fov!==d&&(this.fov=d,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=c,this.pose.latitude=l,this.pose.fov=d,this.pose.distance=f,this.pose.offset.copy(v),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,i,o,s,u){this.perspectiveCamera.setViewOffset(e,r,i,o,s,u),this.orthographicCamera.setViewOffset(e,r,i,o,s,u),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,r){this.time=e;var i=!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(),i=!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(),i=!0}i&&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(),0),this},t}(THREE__namespace.Camera),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,scratchVector=new THREE__namespace.Vector3,scratchMatrix4$4=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$4.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$4.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),scratchFrustum.setFromProjectionMatrix(scratchMatrix4$4),this.setFromFrustum(scratchFrustum),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var i=r[e];i.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,i=this.planes;r<i.length;r++){var o=i[r],s=t.intersectPlane(o);switch(s){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,i=Math.min(32,this.planes.length),o=0;o<i;++o){var s=1<<o;if(e&s){var u=this.planes[o],c=t.intersectPlane(u);if(c===VolumePlaneIntersect.Outside)return n.MASK_OUTSIDE;c===VolumePlaneIntersect.Intersecting&&(r|=s)}}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],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],d=e[10],f=e[11],v=Math.sqrt(r*r+i*i+o*o),A=Math.sqrt(s*s+u*u+c*c),p=Math.sqrt(l*l+d*d+f*f);this.halfSize.set(v,A,p);var h=this.halfSize.toArray().reduce(function(g,m){return g+m},0);return(isNaN(h)||h<=0)&&this.halfSize.setScalar(EPSILON$2),this.rotation.fromArray([r/v,i/v,o/v,s/A,u/A,c/A,l/p,d/p,f/p]),isNaN(this.rotation.toArray().reduce(function(g,m){return g+m},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 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$4.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,i=t.y-this.center.y,o=t.z-this.center.z,s=0,u;return u=r*e[0]+i*e[1]+o*e[2],u<0&&(u=-u),u-=this.halfSize.x,u>0&&(s+=u*u),u=r*e[3]+i*e[4]+o*e[5],u<0&&(u=-u),u-=this.halfSize.y,u>0&&(s+=u*u),u=r*e[6]+i*e[7]+o*e[8],u<0&&(u=-u),u-=this.halfSize.z,u>0&&(s+=u*u),s},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,i=this.rotation.elements,o=this.halfSize,s=r.x,u=r.y,c=r.z,l=Math.abs(s*i[0]*o.x+u*i[1]*o.x+c*i[2]*o.x)+Math.abs(s*i[3]*o.y+u*i[4]*o.y+c*i[5]*o.y)+Math.abs(s*i[6]*o.z+u*i[7]*o.z+c*i[8]*o.z),d=r.dot(e)+t.constant;return d<=-l?VolumePlaneIntersect.Outside:d>=l?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$4.makeBasis(scratchXAxis,scratchYAxis,scratchZAxis),scratchMatrix4$4.setPosition(this.center),scratchMatrix4Inverse$1.getInverse(scratchMatrix4$4),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$4).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 i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+Math.sin(i)*this.radius,e[r*6+2]=this.center.z+0,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+Math.sin(i)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(i)*this.radius}var o=new THREE__namespace.BufferGeometry;return o.setAttribute("position",new THREE__namespace.BufferAttribute(e,3)),o.computeBoundingBox(),o.computeBoundingSphere(),o},n.prototype.applyMatrix4=function(t){return 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,i=t.normal,o=i.dot(e)+t.constant;return o<-r?VolumePlaneIntersect.Outside:o<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 i=new THREE__namespace.BufferGeometry;return i.setAttribute("position",new THREE__namespace.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();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$4=new THREE__namespace.Vector3,Tile=function(){function n(t,e,r,i){var o=this,s,u,c,l;this.parent=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=i!=null?i:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(s=e.refine)!==null&&s!==void 0?s: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=(u=this.parent)===null||u===void 0?void 0:u.geometricError)!==null&&c!==void 0?c:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=makeBoundingVolume(e.content.boundingVolume).applyMatrix4(this.transform)),/\.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=(l=e.extras)!==null&&l!==void 0?l:{},typeof this.extras.floor!="number"&&i&&typeof i.extras.floor=="number"&&(this.extras.floor=i.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(d,f){return new n("".concat(o.id,".").concat(f),d,r,o)}):this.children=[]}return n.prototype.traverse=function(t){t(this);for(var e=0,r=this.children;e<r.length;e++){var i=r[e];i.traverse(t)}},n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;if(t.camera.type==="OrthographicCamera"){var i=new THREE__namespace.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(i)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var o=r.getCenter(scratchVector3$4).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<=0&&(this.state.visible=!0),this.viewerRequestVolume){var u=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;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}),n.prototype.getScreenSpaceError=function(t,e,r){var i=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),o=this.parent?this.parent.geometricError:this.tileset.geometricError,s=i*(r?o:this.geometricError);if(s===0)return 0;var u=Math.max(e,.001),c=s*t.height/(u*t.sseDenominator);return c},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1)return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),i=r?e.state.screenSpaceError:this.state.screenSpaceError,o=this.tileset.root?this.tileset.root.state.screenSpaceError:0,s=Math.max(o-i,0);return s},n}();function getPriority(n){var t=n.refine==="ADD"||n.tileset.skipLevelOfDetail,e=n.parent,r=e&&(!t||n.state.screenSpaceError===0),i=r?e.state.screenSpaceError:n.state.screenSpaceError,o=n.tileset.root?n.tileset.root.state.screenSpaceError:0,s=Math.max(o-i,0);return s}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 i=this,o=r.time,s=this.requestQueue,u=new Set(t),c=0;c<s.length;c++){var l=s[c];if(u.has(l.tile)){u.delete(l.tile);continue}l.status==="WAITING"&&(s.splice(c,1),c--,this.options.onTileSkip&&this.options.onTileSkip(l.tile))}u.size>0&&(u.forEach(function(p){s.push({tile:p,status:"WAITING",time:o,error:null})}),u.clear());for(var d=this.tileset.maxRequests,c=0;c<s.length&&d>0;c++){var l=s[c];if(l.status==="DONE")l.error!==null?this.options.onTileError&&this.options.onTileError(l.tile,l.error):(d--,l.tile.content&&(l.tile.content.loadState="READY"),this.options.onTileLoad&&this.options.onTileLoad(l.tile)),s.splice(c,1),c--;else if(l.status==="PENDING"&&o-l.time<1e3)break}switch(e){case"SCREEN_SPACE_ERROR":{var f=new Map;s.sort(function(p,h){if(p.tile.state.requestedFrameNumber!==h.tile.state.requestedFrameNumber)return h.tile.state.requestedFrameNumber-p.tile.state.requestedFrameNumber;if(p.tile.state.requestedFrameNumber===r.frameNumber){var g=f.get(p.tile.id);g===void 0&&(g=getPriority(p.tile),f.set(p.tile.id,g));var m=f.get(h.tile.id);return m===void 0&&(m=getPriority(h.tile),f.set(h.tile.id,m)),g-m}else return p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera});break}case"SCREEN_VERTICAL":{s.sort(function(p,h){return p.tile.state.requestedFrameNumber!==h.tile.state.requestedFrameNumber?h.tile.state.requestedFrameNumber-p.tile.state.requestedFrameNumber:p.tile.state.requestedFrameNumber===r.frameNumber?p.tile.state.centerScreenY!==h.tile.state.centerScreenY?p.tile.state.centerScreenY-h.tile.state.centerScreenY:p.tile.state.centerZDepth!==h.tile.state.centerZDepth?p.tile.state.centerZDepth-h.tile.state.centerZDepth:p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera:p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera});break}case"SCREEN_LEVEL_VERTICAL":{s.sort(function(p,h){return p.tile.state.requestedFrameNumber!==h.tile.state.requestedFrameNumber?h.tile.state.requestedFrameNumber-p.tile.state.requestedFrameNumber:p.tile.state.requestedFrameNumber===r.frameNumber?p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.centerScreenY!==h.tile.state.centerScreenY?p.tile.state.centerScreenY-h.tile.state.centerScreenY:p.tile.state.centerZDepth!==h.tile.state.centerZDepth?p.tile.state.centerZDepth-h.tile.state.centerZDepth:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera:p.tile.level!==h.tile.level?p.tile.level-h.tile.level:p.tile.state.distanceToCamera-h.tile.state.distanceToCamera});break}}d=Math.max(this.tileset.maxRequests-this.activeRequests,0);for(var v=function(p){var h=s[p];h.status==="WAITING"&&(d--,h.status="PENDING",h.time=o,A.activeRequests++,A.tileset.options.tileLoader(h.tile).catch(function(g){h.error=g}).then(function(){h.status="DONE",h.tile.content&&h.tile.content.loadState==="READY"&&(h.tile.content.loadState="LOADING"),i.activeRequests--}))},A=this,c=0;c<s.length&&d>0;c++)v(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 i=r[e];i.item!=="sentinel"&&t.push(i.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,this.root=null}return n.prototype.traverse=function(t,e,r){this.root=t,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.hasUnloadedContent&&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.levelOfContent>=e.maxLevelOfDetail||t.children.length===0?!1:t.levelOfContent<=e.minLevelOfDetail||t.hasTilesetContent?!0:t.state.screenSpaceError>this.tileset.maxScreenSpaceError},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 i=t.children[0];this.updateTileVisibility(i,e),t.state.visible=i.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}var o=t.refine==="REPLACE";if(o&&r&&!this.anyChildrenVisible(t,e)){t.state.visible=!1;return}}},n.prototype.anyChildrenVisible=function(t,e){for(var r=!1,i=t.children,o=0,s=i;o<s.length;o++){var u=s[o];u.updateState(e),r=r||u.state.visible}return r},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"||r.levelOfContent<e.minLevelOfDetail?!1:r.levelOfContent>e.maxLevelOfDetail?!0:t.getScreenSpaceError(e,t.state.distanceToCamera,!0)<this.tileset.maxScreenSpaceError},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 i=r.pop();i.hasUnloadedContent&&i.state.requestedFrameNumber<e.frameNumber&&this.tileset.requestedTiles.push(i),this.touchTile(i,e);for(var o=0,s=i.children;o<s.length;o++){var u=s[o];r.push(u)}}},n}(),TilesetNormalTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r._emptyTraversalStack=new ManagedArray,r}return t.prototype.traverse=function(e,r,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var o=0,s=i;o<s.length;o++){var u=s[o];this._traversalStack.reset(),this._emptyTraversalStack.reset(),u.camera.refine&&(this._canSelectTile=u.camera.visible,this.updateTile(e,u),this.executeTraversal(e,u))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,this.updateTile(e,r),this.executeTraversal(e,r)),this.tileset.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 i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var o=i.pop(),s=o.parent,u=!s||s.state.shouldRefine,c=!1;this.canTraverse(o,r)&&(c=this.updateAndPushChildren(o,r,i)&&u);var l=!c&&u;o.hasRenderContent?o.refine==="ADD"?(this.loadTile(o,r),this.selectDesiredTile(o,r)):o.refine==="REPLACE"&&(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)):(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)),this.touchTile(o,r),o.state.shouldRefine=c}},t.prototype.updateAndPushChildren=function(e,r,i){for(var o=e.children,s=0,u=o;s<u.length;s++){var c=u[s];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(o);for(var l=e.refine==="REPLACE"&&e.hasRenderContent,d=!1,f=!0,v=0,A=o;v<A.length;v++){var c=A[v];if(c.state.visible&&c.state.inRequestVolume?(i.find(c)&&i.delete(c),i.push(c),d===!1&&(d=!0)):(l||this.tileset.loadSiblings)&&(this.loadTile(c,r),this.touchTile(c,r)),l){var p=void 0;c.state.inRequestVolume?c.hasRenderContent?p=c.contentAvailable:p=this.executeEmptyTraversal(c,r):p=!1,f=f&&p}}return d||(f=!1),f},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t.prototype.executeEmptyTraversal=function(e,r){var i=!0,o=this._emptyTraversalStack;for(o.push(e);o.length>0&&i;){var s=o.pop(),u=!s.hasRenderContent&&this.canTraverse(s,r);if(!u&&!s.contentAvailable&&(i=!1),this.updateTile(s,r),s.state.visible||(this.loadTile(s,r),this.touchTile(s,r)),u)for(var c=s.children,l=0,d=c;l<d.length;l++){var f=d[l];o.find(f)&&o.delete(f),o.push(f)}}return i},t}(TilesetBaseTraverser),TilesetSkipTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,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,i){i===void 0&&(i=[]),n.prototype.traverse.call(this,e,r,i);for(var o=0,s=i;o<s.length;o++){var u=s[o];this._traversalStack.reset(),u.camera.refine&&(this._canSelectTile=u.camera.visible,this.updateTile(e,u),this.executeTraversal(e,u),this.traverseAndSelect(e,u))}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)),this.tileset.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 i=this._traversalStack;for(e.state.visible&&e.state.inRequestVolume&&i.push(e);i.length>0;){var o=i.pop();this.updateTileAncestorContentLinks(o,r);var s=o.parent,u=!s||s.state.shouldRefine,c=!1;this.canTraverse(o,r)&&(c=this.updateAndPushChildren(o,r,i)&&u);var l=!c&&u;o.hasRenderContent?o.refine==="ADD"?(this.loadTile(o,r),this.selectDesiredTile(o,r)):o.refine==="REPLACE"&&(this.inBaseTraversal(o,this.baseScreenSpaceError)?(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)):l?(this.loadTile(o,r),this.selectDesiredTile(o,r)):this.reachedSkippingThreshold(o)&&this.loadTile(o,r)):(this.loadTile(o,r),l&&this.selectDesiredTile(o,r)),this.touchTile(o,r),o.state.shouldRefine=c}this.loadAllTiles(e,r)},t.prototype.updateAndPushChildren=function(e,r,i){for(var o=e.children,s=0,u=o;s<u.length;s++){var c=u[s];this.updateTile(c,r)}this.sortTilesByDistanceToCamera(o);for(var l=!1,d=0,f=o;d<f.length;d++){var c=f[d];c.state.visible&&c.state.inRequestVolume?(i.push(c),l===!1&&(l=!0)):this.tileset.loadSiblings&&(this.loadTile(c,r),this.touchTile(c,r))}return l},t.prototype.selectDesiredTile=function(e,r){var i=e.contentAvailable?e:e.state.ancestorWithContentAvailable;i&&(i.state.shouldSelect=!0),e.contentAvailable||this.selectDescendants(e,r)},t.prototype.selectDescendants=function(e,r){var i=this._descendantTraversalStack;for(i.push(e);i.length>0;)for(var o=i.pop(),s=o.children,u=0,c=s;u<c.length;u++){var l=c[u];l.state.visible&&(l.contentAvailable?(this.updateTile(l,r),this.touchTile(l,r),this.selectTile(l,r)):i.push(l))}},t.prototype.reachedSkippingThreshold=function(e){var r=e.state.ancestorWithContent,i=r!==null&&e.state.screenSpaceError<r.state.screenSpaceError/this.skipScreenSpaceErrorFactor&&e.levelOfContent>r.levelOfContent+this.skipLevels;return i},t.prototype.updateTileAncestorContentLinks=function(e,r){e.state.ancestorWithContent=null,e.state.ancestorWithContentAvailable=null;var i=e.parent;if(i){var o=!(i.hasRenderContent&&i.hasUnloadedContent)||i.state.requestedFrameNumber===r.frameNumber;e.state.ancestorWithContent=o?i:i.state.ancestorWithContent,e.state.ancestorWithContentAvailable=i.contentAvailable?i:i.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 i=this._selectionTraversalStack,o=this._selectionTraversalancestorStack,s;for(i.push(e);i.length>0||o.length>0;){if(o.length>0){var u=o.peek();if(u.state.stackLength===i.length){o.pop(),u!==s&&(u.state.finalResolution=!1),this.selectTile(u,r);continue}}var c=i.pop();if(c){var l=this.canTraverse(c,r);if(c.state.shouldSelect)if(c.refine==="ADD")this.selectTile(c,r);else{if(c.state.selectionDepth=o.length,c.state.selectionDepth>0&&(c.tileset.hasMixedContent=!0),s=c,!l){this.selectTile(c,r);continue}o.push(c),c.state.stackLength=i.length}if(l)for(var d=0,f=c.children;d<f.length;d++){var v=f[d];v.state.visible&&i.push(v)}}}},t}(TilesetBaseTraverser),TilesetMostDetailTraverser=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;return r.tileset=e,r._traversalStack=new ManagedArray,r}return t.prototype.canTraverse=function(e,r){return!(e.levelOfContent>=r.maxLevelOfDetail||e.children.length===0)},t.prototype.traverse=function(e,r,i){n.prototype.traverse.call(this,e,r,[]),this._traversalStack.reset(),e.updateState(r);for(var o=0,s=i;o<s.length;o++){var u=s[o];this._traversalStack.reset(),u.camera.refine&&(this._canSelectTile=u.camera.visible,e.updateState(u),this.executeTraversal(e,u))}this._traversalStack.reset(),r.camera.refine&&(this._canSelectTile=r.camera.visible,e.updateState(r),this.executeTraversal(e,r)),this.tileset.loadAll&&this.loadAllTiles(e,r)},t.prototype.reset=function(){n.prototype.reset.call(this),this._traversalStack.reset()},t.prototype.executeTraversal=function(e,r){var i=this._traversalStack;for(i.push(e);i.length>0;){var o=i.pop(),s=o.refine==="ADD",u=o.refine==="REPLACE",c=this.canTraverse(o,r);c&&this.updateAndPushChildren(o,r,i),(s||u&&!c)&&(this.loadTile(o,r),this.touchTile(o,r),this.selectDesiredTile(o,r))}},t.prototype.updateAndPushChildren=function(e,r,i){for(var o=e.children,s=0;s<o.length;++s){var u=o[s];u.updateState(r),u.state.visible&&i.push(u)}},t.prototype.selectDesiredTile=function(e,r){e.contentAvailable&&n.prototype.selectTile.call(this,e,r)},t}(TilesetBaseTraverser),COLOR_MAP=[5635925,5592575,16733525],Trajectory=function(){function n(t,e,r){var i;this.index=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,color:new THREE__namespace.Color((i=e.color)!==null&&i!==void 0?i:COLOR_MAP[t%COLOR_MAP.length]),byteLength:0,loadState:"UNLOADED",data:void 0}}return n}(),identityMatrix4=new THREE__namespace.Matrix4,Tileset=function(){function n(t,e,r){var i=this,o,s,u,c,l,d,f,v,A;if(this.id=t,this.transform=new THREE__namespace.Matrix4,this.transformIsIdentity=!0,this.hasMixedContent=!1,this.url=(o=r.url)!==null&&o!==void 0?o:"",this.referer=(s=r.referer)!==null&&s!==void 0?s:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(u=e.asset.gltfUpAxis)!==null&&u!==void 0?u:"Y",overview:e.asset.overview,trajectories:(l=(c=e.asset.trajectories)===null||c===void 0?void 0:c.list)!==null&&l!==void 0?l:[]},this.rootMeta=(d=e.rootMeta)!==null&&d!==void 0?d:{},this.pointLength=(f=this.rootMeta.numTotalPoints)!==null&&f!==void 0?f:1/0,this.floorLength=(v=this.rootMeta.numFloors)!==null&&v!==void 0?v:1,this.properties=(A=e.properties)!==null&&A!==void 0?A:{},this.options=r,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.mostDetail=n.DEFAULT_MOST_DETAIL,this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.loadAll=n.DEFAULT_LOAD_ALL,this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.tileRequestOrder=n.DEFAULT_REQUEST_ORDER,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(g){i.memoryUsageInBytes+=g.contentByteLength},onTileUnload:function(g){i.memoryUsageInBytes-=g.contentByteLength,i.unloadTiles.push(g)}}),this.requestScheduler=new TileRequestScheduler(this,{onTileSkip:function(g){},onTileLoad:function(g){var m;!((m=g.content)===null||m===void 0)&&m.data&&(i.loadedTiles.add(g),i.cache.loadTile(g)),i.options.onTileLoad(g)},onTileError:function(g,m){i.options.onTileError(g,m)}}),this.frameNumber=0,this.loadedTiles=new Set,this.memoryUsageInBytes=0,this.root=new Tile("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.trajectories=[],this.asset.trajectories)for(var p=0;p<this.asset.trajectories.length;p++){var h=new Trajectory(p,this.asset.trajectories[p],this);this.trajectories.push(h)}}return Object.defineProperty(n.prototype,"traverser",{get:function(){return this.mostDetail?this.mostDetailTraverser:this.skipLevelOfDetail?this.skipTraverser:this.normalTraverser},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,o=r.children.length;i<o;i++)e.push(r.children[i]);this.cache.unloadTile(r)}for(var s=function(){var d=u.unloadTiles.pop();d&&(u.loadedTiles.delete(d),u.memoryUsageInBytes-=d.contentByteLength,u.options.tileUnloader(d).catch(function(){}).then(function(){t.options.onTileUnload&&t.options.onTileUnload(d)}))},u=this;this.unloadTiles.length;)s();this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.loadedTiles.clear();for(var c=function(){var d=l.trajectories.pop();d&&l.options.trajectoryUnloader(d).catch(function(){}).then(function(){t.options.onTrajectoryUnload&&t.options.onTrajectoryUnload(d)})},l=this;this.trajectories.length;)c()},n.prototype.update=function(t,e){var r=this,i;e===void 0&&(e=[]),this.frameNumber=t.frameNumber,this.transformIsIdentity=this.transform.equals(identityMatrix4),this.traverser.traverse(this.root,t,e),this.cache.unloadTiles(function(){var v=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return v}),this.requestScheduler.update(this.requestedTiles,this.tileRequestOrder,t);for(var o=function(){var v=s.unloadTiles.pop();v&&(s.loadedTiles.delete(v),s.options.tileUnloader(v).catch(function(){}).then(function(){r.options.onTileUnload&&r.options.onTileUnload(v)}))},s=this;this.unloadTiles.length;)o();this.selectedTrajectories.length=0;for(var u=function(v){v.visible===!0&&v.content.loadState==="READY"&&(!((i=v.content.data)===null||i===void 0)&&i.object)?c.selectedTrajectories.push(v):v.visible===!0&&v.content.loadState==="UNLOADED"&&c.options.trajectoryLoader(v).then(function(){r.options.onTrajectoryLoad(v)}).catch(function(A){r.options.onTrajectoryError(v,A)})},c=this,l=0,d=this.trajectories;l<d.length;l++){var f=d[l];u(f)}},n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_MOST_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_LOAD_ALL=!1,n.DEFAULT_MAX_REQUESTS=6,n.DEFAULT_REQUEST_ORDER="SCREEN_SPACE_ERROR",n}(),BVHObject=function(){function n(t,e){this.position=t,this.indices=e}return n.prototype.getPositionCount=function(){var t,e,r=this.indices,i=this.position;return r?r.array.length/((t=r.stride)!==null&&t!==void 0?t:1):i.array.length/((e=i.stride)!==null&&e!==void 0?e:3)},n.prototype.getPositionByIndex=function(t,e){var r,i,o,s,u=this.indices,c=this.position,l=t;if(u){var d=u.array,f=(r=u.stride)!==null&&r!==void 0?r:1,v=(i=u.offset)!==null&&i!==void 0?i:0;l=d[t*f+v]}var A=c.array,p=(o=c.stride)!==null&&o!==void 0?o:3,h=(s=c.offset)!==null&&s!==void 0?s:0;return l=l*p+h,e.x=A[l],e.y=A[l+1],e.z=A[l+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,i){throw new Error("not implemented")},n}(),BVHNode=function(){function n(t,e,r,i,o){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=o}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),i=new Uint32Array(e),o=new Uint16Array(e),s=[n],u,c;u=s.pop();)c=u.id*BYTES_PER_NODE/4,r[c]=u.extents[0],r[c+1]=u.extents[1],r[c+2]=u.extents[2],r[c+3]=u.extents[3],r[c+4]=u.extents[4],r[c+5]=u.extents[5],i[c+6]=u.startIndex,i[c+7]=u.endIndex,c=u.id*BYTES_PER_NODE/2,u.node0&&(o[c+16]=u.node0.id,s.push(u.node0)),u.node1&&(o[c+17]=u.node1.id,s.push(u.node1));return e}function intersectNodeBox(n,t,e,r,i,o,s,u,c){c===void 0&&(c=0),e=e-c,r=r-c,i=i-c,o=o+c,s=s+c,u=u+c;var l=0,d=0,f=0,v=0,A=0,p=0;return t.x>=0?(l=(e-n.x)*t.x,d=(o-n.x)*t.x):(l=(o-n.x)*t.x,d=(e-n.x)*t.x),t.y>=0?(f=(r-n.y)*t.y,v=(s-n.y)*t.y):(f=(s-n.y)*t.y,v=(r-n.y)*t.y),!(l>v||f>d||(f>l&&(l=f),v<d&&(d=v),t.z>=0?(A=(i-n.z)*t.z,p=(u-n.z)*t.z):(A=(u-n.z)*t.z,p=(i-n.z)*t.z),l>p||A>d)||(A>l&&(l=A),p<d&&(d=p),d<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,i=this.z;return this.x=r*t.z-i*t.y,this.y=i*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,o=t.z,s=e.x,u=e.y,c=e.z;return this.x=i*c-o*u,this.y=o*s-r*c,this.z=r*u-i*s,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,i=this.z-t.z;return e*e+r*r+i*i},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$3=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,i){r=Math.min(r,16);var o=this.getPositionCount()/3,s=o>65535?new Uint32Array(o):new Uint16Array(o),u=new Float32Array(o*6),c=[],l=0,d=-1;if(i)for(var f=0,v=0,A=0,p=void 0,h=void 0,g=void 0,m=void 0,y=void 0,E=void 0,b=void 0;f<o;f+=1,v+=3,A+=6)s[f]=f,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),p=m=scratchVector3A.x,b=scratchVector3B.x,b<p&&(p=b),b>m&&(m=b),b=scratchVector3C.x,b<p&&(p=b),b>m&&(m=b),h=y=scratchVector3A.y,b=scratchVector3B.y,b<h&&(h=b),b>y&&(y=b),b=scratchVector3C.y,b<h&&(h=b),b>y&&(y=b),g=E=scratchVector3A.z,b=scratchVector3B.z,b<g&&(g=b),b>E&&(E=b),b=scratchVector3C.z,b<g&&(g=b),b>E&&(E=b),u[A]=p,u[A+1]=h,u[A+2]=g,u[A+3]=m,u[A+4]=y,u[A+5]=E;else{for(var T=1/0,_=1/0,x=1/0,S=-1/0,P=-1/0,L=-1/0,f=0,v=0,A=0,p=void 0,h=void 0,g=void 0,m=void 0,y=void 0,E=void 0,b=void 0;f<o;f+=1,v+=3,A+=6)s[f]=f,this.getPositionByIndex(v,scratchVector3A),this.getPositionByIndex(v+1,scratchVector3B),this.getPositionByIndex(v+2,scratchVector3C),p=m=scratchVector3A.x,b=scratchVector3B.x,b<p&&(p=b),b>m&&(m=b),b=scratchVector3C.x,b<p&&(p=b),b>m&&(m=b),h=y=scratchVector3A.y,b=scratchVector3B.y,b<h&&(h=b),b>y&&(y=b),b=scratchVector3C.y,b<h&&(h=b),b>y&&(y=b),g=E=scratchVector3A.z,b=scratchVector3B.z,b<g&&(g=b),b>E&&(E=b),b=scratchVector3C.z,b<g&&(g=b),b>E&&(E=b),u[A]=p,u[A+1]=h,u[A+2]=g,u[A+3]=m,u[A+4]=y,u[A+5]=E,p<T&&(T=p),m>S&&(S=m),h<_&&(_=h),y>P&&(P=y),g<x&&(x=g),E>L&&(L=E);i=[T,_,x,S,P,L]}var R=new BVHNode(++d,i,0,o,0);c[l++]=R;var M=[],F=[0,1,2],C=function(H,k){return M[k]-M[H]};function B(H){var k=H.startIndex,z=H.endIndex,V=H.extents;M[0]=V[3]-V[0],M[1]=V[4]-V[1],M[2]=V[5]-V[2],F.sort(C);for(var N=0;N<3;N++){for(var D=F[N],q=V[D]+V[D+3],G=k,J=z-1,j=-1,K=void 0;G<=J;)j===-1?(K=s[G],u[K*6+D]+u[K*6+D+3]<q?G++:j=K):(K=s[J],u[K*6+D]+u[K*6+D+3]>=q||(s[G]=K,s[J]=j,j=-1,G++),J--);if(G>k&&G<z){var Z=new BVHNode(++d,calcExtents(s,u,k,G,EPSILON$1),k,G,H.deepth+1);Z.deepth<r&&Z.endIndex-Z.startIndex>e&&(c[l++]=Z);var X=new BVHNode(++d,calcExtents(s,u,G,z,EPSILON$1),G,z,H.deepth+1);X.deepth<r&&X.endIndex-X.startIndex>e&&(c[l++]=X),H.node0=Z,H.node1=X,H.startIndex=0,H.endIndex=0;break}}}for(;l;)B(c[--l]);return this.offsetArray=s,this.rootNodePacked=packBVHNode(R,d+1),c.length=0,this},t.prototype.trianglesInSphere=function(e,r){for(var i=this.offsetArray,o=this.rootNodePacked,s=new Float32Array(o),u=new Uint32Array(o),c=new Uint16Array(o),l=[0],d=[],f,v,A,p;(f=l.pop())!==void 0;){p=f*BYTES_PER_NODE/4;var h=clamp(e.x,s[p],s[p+3])-e.x,g=clamp(e.y,s[p+1],s[p+4])-e.y,m=clamp(e.z,s[p+2],s[p+5])-e.z;if(h*h+g*g+m*m<=r*r){for(var y=u[p+6];y<u[p+7];y++)d.push(i[y]);p=f*BYTES_PER_NODE/2,v=c[p+16],A=c[p+17],v&&l.push(v),A&&l.push(A)}}for(var E=d.length,b=new Float32Array(E*9),y=0;y<E;y++){var T=d[y];this.getPositionByIndex(T,scratchVector3$3),b[y*9]=scratchVector3$3.x,b[y*9+1]=scratchVector3$3.y,b[y*9+2]=scratchVector3$3.z,this.getPositionByIndex(T+1,scratchVector3$3),b[y*9+3]=scratchVector3$3.x,b[y*9+4]=scratchVector3$3.y,b[y*9+5]=scratchVector3$3.z,this.getPositionByIndex(T+2,scratchVector3$3),b[y*9+6]=scratchVector3$3.x,b[y*9+7]=scratchVector3$3.y,b[y*9+8]=scratchVector3$3.z}return b},t.prototype.intersectRay=function(e,r,i,o){for(var s=this.offsetArray,u=this.rootNodePacked,c=new Float32Array(u),l=new Uint32Array(u),d=new Uint16Array(u),f=new BVHVector3(1/r.x,1/r.y,1/r.z),v=[0],A,p,h,g;(A=v.pop())!==void 0;)if(g=A*BYTES_PER_NODE/4,intersectNodeBox(e,f,c[g],c[g+1],c[g+2],c[g+3],c[g+4],c[g+5])){for(var m=l[g+6],y=l[g+7],E=void 0,b=void 0,T=void 0,_=e.x,x=e.y,S=e.z,P=r.x,L=r.y,R=r.z,M=void 0,F=void 0,C=void 0,B=void 0,H=void 0,k=void 0,z=void 0,V=void 0,N=void 0,D=void 0,q=void 0,G=void 0,J=void 0,j=void 0,K=void 0,Z=void 0,X=void 0,ee=void 0,Y=void 0,ne=void 0,te=void 0,ce=void 0,ie=void 0,se=void 0,Ae=void 0,pe=void 0,he=void 0;m<y;m++){if(E=s[m],b=E*3,this.getPositionByIndex(b,scratchVector3$3),M=scratchVector3$3.x,F=scratchVector3$3.y,C=scratchVector3$3.z,this.getPositionByIndex(b+1,scratchVector3$3),B=scratchVector3$3.x,H=scratchVector3$3.y,k=scratchVector3$3.z,this.getPositionByIndex(b+2,scratchVector3$3),z=scratchVector3$3.x,V=scratchVector3$3.y,N=scratchVector3$3.z,D=B-M,q=H-F,G=k-C,J=z-M,j=V-F,K=N-C,Z=q*K-G*j,X=G*J-D*K,ee=D*j-q*J,ie=P*Z+L*X+R*ee,ie>0)ce=1;else if(ie<0)ce=-1,ie=-ie;else continue;Y=_-M,ne=x-F,te=S-C,se=ce*(P*(ne*K-te*j)+L*(te*J-Y*K)+R*(Y*j-ne*J)),!(se<0)&&(Ae=ce*(P*(q*te-G*ne)+L*(G*Y-D*te)+R*(D*ne-q*Y)),!(Ae<0)&&(se+Ae>ie||(pe=-ce*(Y*Z+ne*X+te*ee),!(pe<0)&&(he=pe/ie,o.push(new BVHIntersect([M,F,C,B,H,k,z,V,N],[_+P*he,x+L*he,S+R*he],E))))))}g=A*BYTES_PER_NODE/2,p=d[g+16],h=d[g+17],p&&v.push(p),h&&v.push(h)}return o},t}(BVHObject);function clamp(n,t,e){return n<t?t:n>e?e:n}function calcExtents(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var o=1/0,s=1/0,u=1/0,c=-1/0,l=-1/0,d=-1/0,f=e,v=void 0,A=void 0;f<r;f++)v=n[f]*6,A=t[v],A<o&&(o=A),A=t[v+1],A<s&&(s=A),A=t[v+2],A<u&&(u=A),A=t[v+3],A>c&&(c=A),A=t[v+4],A>l&&(l=A),A=t[v+5],A>d&&(d=A);return[o-i,s-i,u-i,c+i,l+i,d+i]}var EPSILON=1e-6,ORDER_AXISES=["x","y","z"],scratchVector3$2=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,i){r=Math.min(r,16);var o=this.getPositionByIndex.bind(this),s=this.getPositionCount(),u=s>65535?new Uint32Array(s):new Uint16Array(s),c=[],l=0,d=-1;if(i)for(var f=0;f<s;f+=1)u[f]=f;else{o(0,scratchVector3$2);for(var v=scratchVector3$2.x,A=scratchVector3$2.y,p=scratchVector3$2.z,h=v,g=A,m=p,f=0,y=void 0,E=void 0,b=void 0;f<s;f+=1)u[f]=f,o(f,scratchVector3$2),y=scratchVector3$2.x,E=scratchVector3$2.y,b=scratchVector3$2.z,y<v?v=y:y>h&&(h=y),E<A?A=E:E>g&&(g=E),b<p?p=b:b>m&&(m=b);i=[v,A,p,h,g,m]}var T=new BVHNode(++d,i,0,s,0);c[l++]=T;var _=[],x=[0,1,2],S=function(L,R){return _[R]-_[L]};function P(L){var R=L.startIndex,M=L.endIndex,F=L.extents;_[0]=F[3]-F[0],_[1]=F[4]-F[1],_[2]=F[5]-F[2];for(var C=x.sort(S)[0],B=ORDER_AXISES[C],H=(F[C]+F[C+3])/2,k=R,z=M-1,V=-1,N;k<=z;)V===-1?(N=u[k],o(N,scratchVector3$2),scratchVector3$2[B]<H?k++:V=N):(N=u[z],o(N,scratchVector3$2),scratchVector3$2[B]>=H||(u[k]=N,u[z]=V,V=-1,k++),z--);if(k>R){var D=F.slice();D[C+3]=H+EPSILON;var q=new BVHNode(++d,D,R,k,L.deepth+1);q.deepth<r&&q.endIndex-q.startIndex>e&&(c[l++]=q),L.node0=q}if(M>k){var G=F.slice();G[C]=H-EPSILON;var J=new BVHNode(++d,G,k,M,L.deepth+1);J.deepth<r&&J.endIndex-J.startIndex>e&&(c[l++]=J),L.node1=J}L.startIndex=0,L.endIndex=0}for(;l;)P(c[--l]);return this.offsetArray=u,this.rootNodePacked=packBVHNode(T,d+1),c.length=0,this},t.prototype.intersectRay=function(e,r,i,o){for(var s=this.offsetArray,u=this.rootNodePacked,c=new Float32Array(u),l=new Uint32Array(u),d=new Uint16Array(u),f=i*i,v=new BVHVector3(1/r.x,1/r.y,1/r.z),A=[0],p,h,g,m;(p=A.pop())!==void 0;)if(m=p*BYTES_PER_NODE/4,intersectNodeBox(e,v,c[m],c[m+1],c[m+2],c[m+3],c[m+4],c[m+5],i)){for(var y=l[m+6],E=l[m+7],b=void 0,T=void 0,_=void 0,x=void 0,S=void 0,P=void 0,L=void 0,R=void 0,M=void 0,F=void 0,C=void 0,B=void 0;y<E;y++)b=s[y],this.getPositionByIndex(b,scratchVector3$2),T=scratchVector3$2.x,_=scratchVector3$2.y,x=scratchVector3$2.z,S=e.x,P=e.y,L=e.z,R=r.x,M=r.y,F=r.z,C=R*(T-S)+M*(_-P)+F*(x-L),C>0&&(S+=R*C,P+=M*C,L+=F*C),R=T-S,M=_-P,F=x-L,C=R*R+M*M+F*F,C<=f&&o.push(new BVHIntersect([T,_,x,T,_,x,T,_,x],[S,P,L],b));m=p*BYTES_PER_NODE/2,h=d[m+16],g=d[m+17],h&&A.push(h),g&&A.push(g)}return o},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],i=r.resolve,o=r.reject;if(e.data&&"$$error"in e.data?o(e.data.$$error):i(e.data),this.queue.length){var s=this.queue.shift(),u=s.resolve,c=s.reject,l=s.input,d=s.transfer;this.workersResolver[t]={resolve:u,reject:c},this.workers[t].postMessage(l,d)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,o){var s=r.getIdleWorker();s!==-1?(r.initWorker(s),r.workerStatus|=1<<s,r.workersResolver[s]={resolve:i,reject:o},r.workers[s].postMessage(t,e)):r.queue.push({resolve:i,reject:o,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 i,o=n.matrixWorld;scratchInverseMatrix.getInverse(o),scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var s=t.intersectRay(scratchRay.origin,scratchRay.direction,0,[]),u=n.geometry,c=n.material,l=u.groups,d=u.index,f=0,v=s.length;f<v;f++){var A=s[f],p=A.triangle,h=A.index,g=A.intersectionPoint,m=new THREE__namespace.Vector3(g[0],g[1],g[2]).applyMatrix4(o),y=e.ray.origin.distanceTo(m);if(!(y<e.near||y>e.far)){var E=void 0;if(Array.isArray(c)){if(l)for(var b=h*3,T=0,_=l;T<_.length;T++){var x=_[T];if(b>=x.start&&b-x.start<x.count){E=c[(i=x.materialIndex)!==null&&i!==void 0?i:0];break}}}else E=c;if(E){var S=scratchIntersectionTriangle.set(scratchIntersectionFaceA.set(p[0],p[1],p[2]).applyMatrix4(o),scratchIntersectionFaceB.set(p[3],p[4],p[5]).applyMatrix4(o),scratchIntersectionFaceC.set(p[6],p[7],p[8]).applyMatrix4(o)).getNormal(new THREE__namespace.Vector3),P=h*3,L=new THREE__namespace.Face3(d?d.array[P]:P,d?d.array[P+1]:P+1,d?d.array[P+2]:P+2,S),R=e.ray.direction.dot(S);E.side===THREE__namespace.FrontSide&&R>=0||E.side===THREE__namespace.BackSide&&R<=0||r.push({distance:y,object:n,face:L,point:m,distanceToRay:0,faceIndex:h})}}}}function raycastPoints(n,t,e,r){var i,o,s=n.matrixWorld;scratchNormalMatrix.getNormalMatrix(s),scratchInverseMatrix.getInverse(s);var u=((o=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&o!==void 0?o:1)*scratchInverseMatrix.getMaxScaleOnAxis();scratchRay.copy(e.ray).applyMatrix4(scratchInverseMatrix);for(var c=t.intersectRay(scratchRay.origin,scratchRay.direction,u,[]),l=n.geometry,d=l.index,f=l.getAttribute("normal"),v=0,A=c.length;v<A;v++){var p=c[v],h=p.triangle,g=p.index,m=p.intersectionPoint,y=new THREE__namespace.Vector3(m[0],m[1],m[2]).applyMatrix4(s),E=e.ray.origin.distanceTo(y);if(!(E<e.near||E>e.far)){var b=scratchIntersectionFaceA.set(h[0],h[1],h[2]).applyMatrix4(s),T=d?d.array[g]:g,_=void 0;if(f instanceof THREE__namespace.BufferAttribute){var x=new THREE__namespace.Vector3().fromBufferAttribute(f,T).applyNormalMatrix(scratchNormalMatrix);_=new THREE__namespace.Face3(T,T,T,x)}r.push({distance:E,object:n,face:_,point:y,distanceToRay:y.distanceTo(b),index:g})}}}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 i=[];return n.traverse(function(o){(o instanceof THREE__namespace.Mesh||o instanceof THREE__namespace.Points)&&o.geometry instanceof THREE__namespace.BufferGeometry&&i.push(o)}),Promise.resolve().then(function(){for(var o=[],s=new Set,u=null,c=0;c<i.length;c++){var l=i[c],d=l.geometry;if(d instanceof THREE__namespace.BufferGeometry){var f=void 0;if(l instanceof THREE__namespace.Mesh?f="mesh":l instanceof THREE__namespace.Points&&(f="points"),!!f){var v=d.boundingBox,A=v?[v.min.x,v.min.y,v.min.z,v.max.x,v.max.y,v.max.z]:void 0,p={};for(var h in d.attributes){var g=d.attributes[h];g instanceof THREE__namespace.InterleavedBufferAttribute?(p[h]={array:g.data.array,stride:g.data.stride,offset:g.offset},u=g.data.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer)):(p[h]={array:g.array},u=g.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer))}var m=void 0,y=d.getIndex();y&&(y instanceof THREE__namespace.InterleavedBufferAttribute?(m={array:y.data.array,stride:y.data.stride,offset:y.offset},u=y.data.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer)):(m={array:y.array},u=y.array,u&&u.buffer instanceof ArrayBuffer&&s.add(u.buffer)));var E={type:f,attributes:p,indices:m,maxItemPerNode:e,maxTreeDepth:r,extents:A};o.push(E)}}}return bvhWorkerPool.postMessage(o,Array.from(s))}).then(function(o){for(var s=0;s<i.length;s++){var u=i[s],c=u.geometry,l=o[s];if(c instanceof THREE__namespace.BufferGeometry){for(var d in l.attributes){var f=l.attributes[d].array,v=c.attributes[d];v instanceof THREE__namespace.InterleavedBufferAttribute?v.data.array=f:v.array=f}var A=c.getIndex();if(A&&l.indices){var f=l.indices.array;A instanceof THREE__namespace.InterleavedBufferAttribute?A.data.array=f:A.array=f}if(u instanceof THREE__namespace.Mesh){var p=new BVHMesh(l.attributes.position,l.indices);p.offsetArray=l.offsetArray,p.rootNodePacked=l.rootNodePacked,bindBvhTreeForMesh(u,p)}else if(u instanceof THREE__namespace.Points){var p=new BVHPoints(l.attributes.position,l.indices);p.offsetArray=l.offsetArray,p.rootNodePacked=l.rootNodePacked,bindBvhTreeForPoints(u,p)}}}return n})}var TileNode=function(n){__extends(t,n);function t(e,r,i){i===void 0&&(i=noop$1);var o=n.call(this)||this;return o.contentObject=r,o.disposer=i,o.name=e,o.materials=[],o.pbmObjects=[],o.disposers=[i],o.add(r),r.traverse(function(s){var u;if(s instanceof THREE__namespace.Mesh||s instanceof THREE__namespace.Points){var c=s.material;Array.isArray(c)?(u=o.materials).push.apply(u,c):o.materials.push(c)}(s instanceof PBMMesh||s instanceof PBMPointCloud)&&o.pbmObjects.push(s)}),o}return t.prototype.generateBvhTree=function(){return generateBvhTree(this,!0,200,10)},t.prototype.intersectRaycaster=function(e,r,i){r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=this.children.slice(),s,u=[];s=o.pop();)if(s.visible){s.raycast(e,u);for(var c=0,l=s.children.length;c<l;c++)o.push(s.children[c])}return u.forEach(function(d){var f=0;if((d.object instanceof PBMMesh||d.object instanceof PBMPointCloud)&&d.face){var v=Array.isArray(d.object.material)?d.object.material[d.face.materialIndex]:d.object.material;v&&(f=v.floor)}d.floor=f}),r&&u.sort(function(d,f){return d.distance-f.distance}),i.push.apply(i,u),i},t.prototype.update=function(e,r,i){for(var o=0,s=this.pbmObjects;o<s.length;o++){var u=s[o];u.update(e,r,i)}},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var i=r[e];i()}this.disposers.length=0,this.pbmObjects.length=0},t.prototype.clone=function(){return new t(this.name,this.contentObject,this.disposer)},t}(THREE__namespace.Object3D);function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(u){return(u!=null?u:"").trim()}).filter(function(u){return u.length>0&&!/^\/+$/.test(u)});for(var r=0;r<n.length;r++){var i=r===0,o=r===n.length-1,s=n[r];i||(s=s.replace(/^\.\//,"").replace(/^\/+/,"")),o||(s=s.replace(/\/+$/,"")),e.push(s)}return e.join("/")}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",i=n.slice(r.length+2),o=i.indexOf("#");o>=0&&(n.slice(o),i=n.slice(0,o));var s=i.indexOf("?");s>=0&&(n.slice(s),i=n.slice(0,s));for(var u=i.split("/"),c=u.shift(),l=(t=u.pop())!==null&&t!==void 0?t:"",d=[],f=0,v=u;f<v.length;f++){var A=v[f];if(!(A===""||A===".")){if(A===".."){d.pop();continue}d.push(A)}}return r+"//"+c+"/"+d.join("/")+"/"+l}function isAbsoluteURL(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function normalizeTileHeader(n,t,e){if(n.content&&n.content.uri&&(isAbsoluteURL(n.content.uri)||(n.content.uri=normalizeURL(pathJoin(t,n.content.uri)))),n.transform){for(var r=!1,i=0;i<16;i++){var o=n.transform[i];if(typeof o!="number"||isNaN(o)||!isFinite(o)){r=!0;break}}if(n.transform[15]===0&&(r=!0),r)throw new Error("Invalid Tile Transform: "+JSON.stringify(n.transform))}if(n.children)for(var s=0,u=n.children;s<u.length;s++){var c=u[s];normalizeTileHeader(c,t)}return n}function normalizeTilesetHeader(n,t){if(n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.asset.overview){var e=n.asset.overview;isAbsoluteURL(e.imageFile)||(e.imageFile=normalizeURL(pathJoin(t,e.imageFile))),isAbsoluteURL(e.worldFile)||(e.worldFile=normalizeURL(pathJoin(t,e.worldFile)))}if(n.asset.trajectories)for(var r=0;r<n.asset.trajectories.list.length;r++){var i=n.asset.trajectories.list[r];i.file=normalizeURL(pathJoin(t,i.file))}return normalizeTileHeader(n.root,t),n}function initTextures(n,t,e){for(var r,i,o=Promise.resolve(),s=n.slice(),u=function(){for(var c=[],l=0,d=void 0;d=s.shift();){c.push(d);var f=((r=d.image)===null||r===void 0?void 0:r.width)*((i=d.image)===null||i===void 0?void 0:i.height);if(!isNaN(f)&&isFinite(f)&&(l+=f),l>=e)break}o=o.then(function(){return new Promise(function(v){AnimationFrameLoop.shared.add(function(){for(var A=0,p=c;A<p.length;A++){var h=p[A];t.initTexture(h)}v()},!0)})}).catch(function(){})};s.length>0;)u();return o}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 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$3,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$3={},_a$3[GL_TYPE.DOUBLE]=Float64Array,_a$3[GL_TYPE.FLOAT]=Float32Array,_a$3[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$3[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$3[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$3[GL_TYPE.BYTE]=Int8Array,_a$3[GL_TYPE.SHORT]=Int16Array,_a$3[GL_TYPE.INT]=Int32Array,_a$3),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 i=getArrayType(n);if(e%getByteSize(n)!==0){var o=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new i(o)}else return new i(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 i=this.json[t];if(typeof i=="number"){var o=getArrayType(e);return new o([i])}else if(Array.isArray(i)){var o=getArrayType(e);return new o(i)}else if(i&&Number.isFinite(i.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,i.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(e=glTypeFromName(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,o){var s=this.json[t];if(!s)return null;var u=this.getPropertyArray(t,e,r);if(r===1)return o[0]=u[i],o;for(var c=0;c<r;++c)o[c]=u[r*i+c];return o},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,o){var s=this.cachedTypedArrays,u=s[t];return u||(u=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+o,i*r),s[t]=u),u},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,o=i[t];return o||(o=createTypedArray(e,r),i[t]=o),o},n}(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),o=r.decode(i);return o}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),i=0;n.header=n.header||{};var o=r.getUint32(e,!0);e+=SIZEOF_UINT32;var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,u>=570425344?(e-=SIZEOF_UINT32*2,i=o,u=s,c=0,o=0,s=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,i=u,u=o,c=s,o=0,s=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=o,n.header.featureTableBinaryByteLength=s,n.header.batchTableJsonByteLength=u,n.header.batchTableBinaryByteLength=c,n.header.batchLength=i,e}function parseFeatureTable(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,o=r.featureTableBinaryByteLength,s=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:s||0},i&&i>0){var u=getStringFromArrayBuffer(t,e,i);n.featureTableJson=JSON.parse(u)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,o),e+=o||0,n.rtcCenter=[0,0,0];var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var l=c.json.RTC_CENTER;n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2]}else{var l=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);l&&(n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2])}return e}function parseBatchTable(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,o=r.batchTableBinaryByteLength;if(i&&i>0){var s=getStringFromArrayBuffer(t,e,i);n.batchTableJson=JSON.parse(s),e+=i,o&&o>0&&(n.batchTableBinary=new Uint8Array(t,e,o),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=o)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),i=new Uint8Array(r);return i.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(i){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",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 composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var i=r[e];typeof i.dispose=="function"&&i.dispose(),typeof i.close=="function"&&i.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||[],i=0,o=e.length;i<o;i++)for(var s=e[i].joints,u=0,c=s.length;u<c;u++)t[s[u]].isBone=!0;for(var l=0,d=t.length;l<d;l++){var f=t[l];f.mesh!==void 0&&f.skin!==void 0&&(r[f.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,o=values(r);i<o.length;i++){var s=o[i];s.markDefs(this)}return Promise.all(values(r).map(function(u){return u.prepare(t)})).then(function(){var u,c,l;return Promise.all([Promise.all(((u=e.scenes)!==null&&u!==void 0?u:[]).map(function(d,f){return t.loadScene(f)})),Promise.all(((c=e.animations)!==null&&c!==void 0?c:[]).map(function(d,f){return t.loadAnimation(f)})),Promise.all(((l=e.cameras)!==null&&l!==void 0?l:[]).map(function(d,f){return t.loadCamera(f)}))])}).then(function(u){var c=u[0],l=u[1],d=u[2],f={json:e,scene:c[e.scene||0],scenes:c,animations:l,cameras:d,textures:[],dispose:noop$1};return f}).then(function(u){return Promise.all(values(r).map(function(c){return c.emitResult(u,t)})).then(function(){return u})}).then(function(u){var c=Array.from(t.textureSet),l=composeDsiposeSet(t.disposeSet);return Object.assign(u,{textures:c,dispose:l}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),u})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadCamera(t,this),i)break}if(!i){var c=void 0,l=this.json.cameras[t],d=l[l.type];d?l.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(d.yfov),d.aspectRatio||1,d.znear||1,d.zfar||2e6):l.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-d.xmag,d.xmag,d.ymag,-d.ymag,d.znear,d.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),l.name&&(c.name=this.createUniqueName(l.name)),i=Promise.resolve(c)}return this.cache.set(e,i),i},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var i,o=this.json.skins[t],s={joints:o.joints};return o.inverseBindMatrices===void 0?i=Promise.resolve(s):i=this.loadAccessor(o.inverseBindMatrices).then(function(u){return u&&(s.inverseBindMatrices=u),s}),this.cache.set(e,i),i},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadAnimation(t,this),i)break}if(!i){for(var c=this.json,l=c.animations[t],d=[],f=[],v=[],A=[],p=[],h=0,g=l.channels.length;h<g;h++){var m=l.channels[h],y=l.samplers[m.sampler],E=m.target,b=E.node!==void 0?E.node:E.id,T=l.parameters!==void 0?l.parameters[y.input]:y.input,_=l.parameters!==void 0?l.parameters[y.output]:y.output;d.push(this.loadNode(b)),f.push(this.loadAccessor(T)),v.push(this.loadAccessor(_)),A.push(y),p.push(E)}i=Promise.all([Promise.all(d),Promise.all(f),Promise.all(v),Promise.all(A),Promise.all(p)]).then(function(x){for(var S=x[0],P=x[1],L=x[2],R=x[3],M=x[4],F=[],C=function(z,V){var N=S[z],D=P[z],q=L[z],G=R[z],J=M[z];if(N===void 0)return"continue";N.updateMatrix(),N.matrixAutoUpdate=!0;var j=void 0;switch(PATH_PROPERTIES[J.path]){case PATH_PROPERTIES.weights:j=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:j=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:j=THREE__namespace.VectorKeyframeTrack;break}var K=N.name?N.name:N.uuid,Z=G.interpolation!==void 0?INTERPOLATION[G.interpolation]:THREE__namespace.InterpolateLinear,X=[];PATH_PROPERTIES[J.path]===PATH_PROPERTIES.weights?N.traverse(function(se){se.morphTargetInfluences&&X.push(se.name?se.name:se.uuid)}):X.push(K);var ee=q.array;if(q.normalized){for(var Y=getNormalizedComponentScale(ee.constructor),ne=new Float32Array(ee.length),te=0,ce=ee.length;te<ce;te++)ne[te]=ee[te]*Y;ee=ne}for(var te=0,ce=X.length;te<ce;te++){var ie=new j(X[te]+"."+PATH_PROPERTIES[J.path],D.array,ee,Z);F.push(ie)}},B=0,H=S.length;B<H;B++)C(B);var k=l.name?l.name:"animation_"+t;return new THREE__namespace.AnimationClip(k,void 0,F)})}return this.cache.set(e,i),i},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,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var c=u[s];if(o=c.loadBuffer(t,this),o)break}if(!o){var l=this.json.buffers[t];o=this.options.fetcher.ajax(this.resolveResouce(l.uri),{responseType:"arraybuffer"}).then(function(d){return d.body})}return this.cache.set(r,o),o},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,o=0,s=values(this.extensions);o<s.length;o++){var u=s[o];if(i=u.loadBufferView(t,this),i)break}if(!i){var c=this.json.bufferViews[t];i=this.loadBuffer(c.buffer).then(function(l){var d=c.byteLength||0,f=c.byteOffset||0;return l.slice(f,f+d)})}return this.cache.set(e,i),i},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,i=this.cache.get(r);if(i)return i;var o=null;if(!o){var s=this.json.accessors[t];if(s.bufferView===void 0&&s.sparse===void 0)o=Promise.resolve(null);else{var u=[];s.bufferView!==void 0?u.push(this.loadBufferView(s.bufferView)):u.push(Promise.resolve(null)),s.sparse!==void 0&&(u.push(this.loadBufferView(s.sparse.indices.bufferView)),u.push(this.loadBufferView(s.sparse.values.bufferView))),o=Promise.all(u).then(function(c){var l=c[0],d=WEBGL_TYPE_SIZES[s.type],f=WEBGL_COMPONENT_TYPES[s.componentType],v=f.BYTES_PER_ELEMENT,A=v*d,p=s.byteOffset||0,h=s.bufferView!==void 0?e.json.bufferViews[s.bufferView].byteStride:void 0,g=s.normalized===!0,m,y;if(h&&h!==A){var E=Math.floor(p/h),b="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+E+":"+s.count,T=e.cache.get(b);T||(m=new f(l,E*h,s.count*h/v),T=new THREE__namespace.InterleavedBuffer(m,h/v),e.cache.set(b,T)),y=new THREE__namespace.InterleavedBufferAttribute(T,d,p%h/v,g)}else l===null?m=new f(s.count*d):m=new f(l,p,s.count*d),y=new THREE__namespace.BufferAttribute(m,d,g);if(s.sparse!==void 0){var _=WEBGL_TYPE_SIZES.SCALAR,x=WEBGL_COMPONENT_TYPES[s.sparse.indices.componentType],S=s.sparse.indices.byteOffset||0,P=s.sparse.values.byteOffset||0,L=new x(c[1],S,s.sparse.count*_),R=new f(c[2],P,s.sparse.count*d);l!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var M=0,F=L.length;M<F;M++){var C=L[M];if(y.setX(C,R[M*d]),d>=2&&y.setY(C,R[M*d+1]),d>=3&&y.setZ(C,R[M*d+2]),d>=4&&y.setW(C,R[M*d+3]),d>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,o),o},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var i=r[e],o=i.createPrimitiveKey(t,this);if(o)return o}for(var s="",u=Object.keys(t.attributes).sort(),c=0,l=u.length;c<l;c++)s+=u[c]+":"+t.attributes[u[c]]+";";return t.indices+":"+s+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(u){return e.disposeSet.add(u),u}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadImage(t,this),r)break}if(!r){var u=this.json.images[t];if(u.bufferView!==void 0){var c=this.json.bufferViews[u.bufferView];r=this.loadBuffer(c.buffer).then(function(d){var f=c.byteOffset||0,v=c.byteLength||0,A=new Uint8Array(d,f,v),p=new Blob([A],{type:u.mimeType});return createImageBitmapLike(p)})}else if(u.uri){var l=this.resolveResouce(u.uri);r=this.options.fetcher.loadImage(l,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(d){return d.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(d){return e.disposeSet.add(d),d}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new THREE__namespace.MeshStandardMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(d){return ATTRIBUTES[d]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.map=d,e.disposeSet.add(d)})),i.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,i.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(s.metallicRoughnessTexture).then(function(d){d.encoding=THREE__namespace.sRGBEncoding,i.metalnessMap=d,i.roughnessMap=d,e.disposeSet.add(d)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var c=o.alphaMode||ALPHA_MODES.OPAQUE;if(c===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,c===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&(r.push(this.createMaterialTexture(o.normalTexture).then(function(d){i.normalMap=d,e.disposeSet.add(d)})),i.normalScale=new THREE__namespace.Vector2(1,1),o.normalTexture.scale!==void 0)){var l=o.normalTexture.scale;i.normalScale.set(l,l)}o.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(o.occlusionTexture).then(function(d){i.aoMap=d,e.disposeSet.add(d)})),o.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&(i.emissive=new THREE__namespace.Color().fromArray(o.emissiveFactor)),o.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(o.emissiveTexture).then(function(d){i.emissiveMap=d,e.disposeSet.add(d)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},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,Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return ATTRIBUTES[c]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var i=this.json.materials[t.material];i.name&&(r.name=i.name);var o=i.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;r.color.fromArray(s),r.opacity=s[3]}i.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var u=i.alphaMode||ALPHA_MODES.OPAQUE;u===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,u===ALPHA_MODES.MASK&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],i=new THREE__namespace.PointsMaterial;if(i.color=new THREE__namespace.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return ATTRIBUTES[l]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var o=this.json.materials[t.material];o.name&&(i.name=o.name);var s=o.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var u=s.baseColorFactor;i.color.fromArray(u),i.opacity=u[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(l){l.encoding=THREE__namespace.sRGBEncoding,i.map=l,e.disposeSet.add(l)})),o.doubleSided===!0&&(i.side=THREE__namespace.DoubleSide);var c=o.alphaMode||ALPHA_MODES.OPAQUE;c===ALPHA_MODES.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,c===ALPHA_MODES.MASK&&(i.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:WEBGL_CONSTANTS.TRIANGLES,i="material:"+this.createPrimitiveKey(t),o=this.cache.get(i);if(o)return o;for(var s=null,u=0,c=values(this.extensions);u<c.length;u++){var l=c[u];if(s=l.loadMaterial(t,this),s)break}if(r===WEBGL_CONSTANTS.TRIANGLES||r===WEBGL_CONSTANTS.TRIANGLE_STRIP||r===WEBGL_CONSTANTS.TRIANGLE_FAN)s=this.loadMaterialAsMeshStandardMaterial(t);else if(r===WEBGL_CONSTANTS.LINES||r===WEBGL_CONSTANTS.LINE_STRIP||r===WEBGL_CONSTANTS.LINE_LOOP)s=this.loadMaterialAsLineBasicMaterial(t);else if(r===WEBGL_CONSTANTS.POINTS)s=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,s),s},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var o=null,s=0,u=values(this.extensions);s<u.length;s++){var c=u[s];if(o=c.loadTexture(t,this),o)break}if(!o){var l=this.json.textures[t];o=this.loadImage(l.source).then(function(d){var f=new THREE__namespace.Texture(d);f.needsUpdate=!0,f.flipY=!1,l.name&&(f.name=l.name);var v=e.json.samplers||{},A=v[l.sampler]||{};return f.magFilter=WEBGL_FILTERS[A.magFilter]||THREE__namespace.LinearFilter,f.minFilter=WEBGL_FILTERS[A.minFilter]||THREE__namespace.LinearMipmapLinearFilter,f.wrapS=WEBGL_WRAPPINGS[A.wrapS]||THREE__namespace.RepeatWrapping,f.wrapT=WEBGL_WRAPPINGS[A.wrapT]||THREE__namespace.RepeatWrapping,f.onUpdate=function(){d.close()},f})}return o=o.then(function(d){return e.disposeSet.add(d),d}),this.cache.set(r,o),o},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,o=values(this.extensions);i<o.length;i++){var s=o[i];if(r=s.loadMesh(t,this),r)break}if(!r){var u=this.json.meshes[t],c=u.primitives,l=Promise.all(c.map(function(f){return e.loadGeometry(f)})),d=Promise.all(c.map(function(f){return e.loadMaterial(f)}));r=Promise.all([l,d]).then(function(f){for(var v=f[0],A=f[1],p=[],h=0;h<c.length;h++){var g=c[h],m=v[h],y=A[h],E=g.mode||WEBGL_CONSTANTS.TRIANGLES,b=void 0;if(E===WEBGL_CONSTANTS.TRIANGLES||E===WEBGL_CONSTANTS.TRIANGLE_STRIP||E===WEBGL_CONSTANTS.TRIANGLE_FAN)if(E===WEBGL_CONSTANTS.TRIANGLE_STRIP?m=e.toGeometryTrianglesDrawMode(m,THREE__namespace.TriangleStripDrawMode):E===WEBGL_CONSTANTS.TRIANGLE_FAN&&(m=e.toGeometryTrianglesDrawMode(m,THREE__namespace.TriangleFanDrawMode)),e.disposeSet.add(m),u.isSkinnedMesh){var T=new THREE__namespace.SkinnedMesh(m,y);m.attributes.skinWeight.normalized||T.normalizeSkinWeights(),b=T}else b=new THREE__namespace.Mesh(m,y);else if(E===WEBGL_CONSTANTS.POINTS)b=new THREE__namespace.Points(m,y);else if(E===WEBGL_CONSTANTS.LINES)b=new THREE__namespace.LineSegments(m,y);else if(E===WEBGL_CONSTANTS.LINE_STRIP)b=new THREE__namespace.Line(m,y);else if(E===WEBGL_CONSTANTS.LINE_LOOP)b=new THREE__namespace.LineLoop(m,y);else throw new Error("glTF: Primitive mode unsupported: "+E);if(Object.keys(m.morphAttributes).length>0){if(u.weights!==void 0)for(var _=0,x=u.weights.length;_<x;_++)b.morphTargetInfluences[_]=u.weights[_];if(u.extras&&Array.isArray(u.extras.targetNames)){var S=u.extras.targetNames;if(b.morphTargetInfluences.length===S.length){b.morphTargetDictionary={};for(var _=0,x=S.length;_<x;_++)b.morphTargetDictionary[S[_]]=_}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}b.name=e.createUniqueName(u.name||"mesh_"+t),p.push(b)}if(p.length===1)return p[0];for(var P=new THREE__namespace.Group,L=0,R=p;L<R.length;L++){var b=R[L];P.add(b)}return P})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=values(this.extensions);r<i.length;r++){var o=i[r],s=o.loadNodeAttachments(t,this);s&&e.push(s)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,o=i.nodes[t],s=o.name?this.createUniqueName(o.name):"",u=[];o.mesh!==void 0&&u.push(this.loadMesh(o.mesh).then(function(v){if(o.weights!==void 0){var A=o.weights;v.traverse(function(p){if(p instanceof THREE__namespace.Mesh||p instanceof THREE__namespace.Line||p instanceof THREE__namespace.Points)for(var h=0,g=A.length;h<g;h++)p.morphTargetInfluences[h]=A[h]})}return v})),o.camera!==void 0&&u.push(this.loadCamera(o.camera));for(var c=this.loadNodeAttachments(t),l=0,d=c;l<d.length;l++){var f=d[l];u.push(f)}return Promise.all(u).then(function(v){var A;if(o.isBone===!0?A=new THREE__namespace.Bone:v.length>1?A=new THREE__namespace.Group:v.length===1?A=v[0]:A=new THREE__namespace.Object3D,A!==v[0])for(var p=0,h=v.length;p<h;p++)A.add(v[p]);if(o.name&&(A.name=s),o.matrix!==void 0){var g=new THREE__namespace.Matrix4;g.fromArray(o.matrix),A.applyMatrix4(g)}else o.translation!==void 0&&A.position.fromArray(o.translation),o.rotation!==void 0&&A.quaternion.fromArray(o.rotation),o.scale!==void 0&&A.scale.fromArray(o.scale);return A})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new THREE__namespace.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var o=r.nodes||[],s=[],u=0,c=o.length;u<c;u++)s.push(this.buildNodeHierarchy(o[u],i));return Promise.all(s).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,o=values(e.extensions);i<o.length;i++){var s=o[i],u=s.extendTexture(r,t,e);u&&(r=u,e.disposeSet.add(r))}return e.textureSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,o=[],s=function(T){var _=ATTRIBUTES[T]||T.toLowerCase();if(_ in t.attributes)return"continue";o.push(u.loadAccessor(i[T]).then(function(x){x&&t.setAttribute(_,x)}))},u=this;for(var c in i)s(c);e.indices!==void 0&&!t.index&&o.push(this.loadAccessor(e.indices).then(function(T){T&&t.setIndex(T)}));var l=new THREE__namespace.Box3;if(i.POSITION!==void 0){var d=this.json.accessors[i.POSITION],f=d.min,v=d.max;if(f!==void 0&&v!==void 0){if(l.set(new THREE__namespace.Vector3(f[0],f[1],f[2]),new THREE__namespace.Vector3(v[0],v[1],v[2])),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);l.min.multiplyScalar(A),l.max.multiplyScalar(A)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var p=e.targets;if(p!==void 0){for(var h=new THREE__namespace.Vector3,g=new THREE__namespace.Vector3,m=0,y=p.length;m<y;m++){var E=p[m];if(E.POSITION!==void 0){var d=this.json.accessors[E.POSITION],f=d.min,v=d.max;if(f!==void 0&&v!==void 0){if(g.setX(Math.max(Math.abs(f[0]),Math.abs(v[0]))),g.setY(Math.max(Math.abs(f[1]),Math.abs(v[1]))),g.setZ(Math.max(Math.abs(f[2]),Math.abs(v[2]))),d.normalized){var A=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[d.componentType]);g.multiplyScalar(A)}h.max(g)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}l.expandByVector(h)}t.boundingBox=l;var b=new THREE__namespace.Sphere;return l.getCenter(b.center),b.radius=l.min.distanceTo(l.max)/2,t.boundingSphere=b,Promise.all(o).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var T=!1,_=!1,x=0,S=e.targets.length;x<S;x++){var P=e.targets[x];if(P.POSITION!==void 0&&(T=!0),P.NORMAL!==void 0&&(_=!0),T&&_)break}if(!T&&!_)return t;var L=[];t.morphTargetsRelative=!0;for(var R=function(M,F){var C=e.targets[M];T?L.push(r.loadAccessor(C.POSITION).then(function(B){B&&(t.morphAttributes.position[M]=B)})):t.morphAttributes.position[M]=t.attributes.position,_?L.push(r.loadAccessor(C.NORMAL).then(function(B){B&&(t.morphAttributes.normal[M]=B)})):t.morphAttributes.normal[M]=t.attributes.normal},x=0,S=e.targets.length;x<S;x++)R(x,S);return Promise.all(L).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,i=this.json.nodes[t];return this.loadNode(t).then(function(o){if(i.skin===void 0)return o;var s;return r.loadSkin(i.skin).then(function(u){s=u;for(var c=[],l=0,d=s.joints.length;l<d;l++)c.push(r.loadNode(s.joints[l]));return Promise.all(c)}).then(function(u){return o.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var l=[],d=[],f=0,v=u.length;f<v;f++){var A=u[f];if(A instanceof THREE__namespace.Bone){l.push(A);var p=new THREE__namespace.Matrix4;s.inverseBindMatrices!==void 0&&p.fromArray(s.inverseBindMatrices.array,f*16),d.push(p)}else console.warn('glTF: Joint "%s" could not be found.',s.joints[f])}c.bind(new THREE__namespace.Skeleton(l,d),c.matrixWorld)}}),o})}).then(function(o){e.add(o);var s=[];if(i.children)for(var u=i.children,c=0,l=u.length;c<l;c++){var d=u[c];s.push(r.buildNodeHierarchy(d,o))}return Promise.all(s).then(function(){return o})})},n.prototype.createUniqueName=function(t){for(var e=THREE__namespace.PropertyBinding.sanitizeNodeName(t||""),r=e,i=1;this.nodeNamesUsed[r];++i)r=e+"_"+i;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],o=t.getAttribute("position");if(o!==void 0){for(var s=0;s<o.count;s++)i.push(s);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var u=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var s=1;s<=u;s++)c.push(r.getX(0)),c.push(r.getX(s)),c.push(r.getX(s+1));else for(var s=0;s<u;s++)s%2===0?(c.push(r.getX(s)),c.push(r.getX(s+1)),c.push(r.getX(s+2))):(c.push(r.getX(s+2)),c.push(r.getX(s+1)),c.push(r.getX(s)));c.length/3!==u&&console.error("glTF: Unable to generate correct amount of triangles.");var l=t.clone();return l.setIndex(c),this.disposeSet.add(l),l},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.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 i=new DataView(e,t.HEADER_LENGTH),o=0,s=null,u=null;o<i.byteLength;){var c=i.getUint32(o,!0);if(o+=4,c!==0){var l=i.getUint32(o,!0);if(o+=4,l===t.CHUNK_TYPES.JSON){var d=new Uint8Array(e,t.HEADER_LENGTH+o,c);s=decodeText(d)}else if(l===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+o;u=e.slice(f,f+c)}o+=c}}if(s===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=s,this.body=u},t.prototype.loadBuffer=function(e,r){var i=r.json.buffers[e];return i.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,i){var o={attributeIDs:r||defaultAttributeIDs,attributeTypes:i||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,o).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var i in e.attributeTypes){var o=e.attributeTypes[i];o.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=o.name)}var s,u=this.workerNextTaskID++,c=t.byteLength,l=this._getWorker(u,c).then(function(d){return s=d,new Promise(function(f,v){s._callbacks[u]={resolve:f,reject:v},s.postMessage({type:"decode",id:u,taskConfig:e,buffer:t},[t])})}).then(function(d){return r._createGeometry(d.geometry)});return l.catch(function(){return!0}).then(function(){s&&u&&r._releaseTask(s,u)}),l},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 i=t.attributes[r],o=i.name,s=i.array,u=i.itemSize;e.setAttribute(o,new THREE__namespace.BufferAttribute(s,u))}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(o){return o.body});this.decoderPending=r.then(function(o){var s=["/* draco decoder */",o,"","/* worker */",DRACOWorker].join(`
418
418
  `);t.workerSourceURL=URL.createObjectURL(new Blob([s]))})}else{var r=ajax(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(s){return s.body}),i=ajax(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(s){return s.body});this.decoderPending=Promise.all([r,i]).then(function(s){var u=s[0],c=s[1];t.decoderConfig.wasmBinary=c;var l=["/* draco decoder */",u,"","/* worker */",DRACOWorker].join(`
419
419
  `);t.workerSourceURL=URL.createObjectURL(new Blob([l]))})}return this.decoderPending},n.prototype._getWorker=function(t,e){var r=this;return this._initDecoder().then(function(){if(r.workerPool.length<r.workerLimit){var i=new Worker(r.workerSourceURL);i._callbacks={},i._taskCosts={},i._taskLoad=0,i.postMessage({type:"init",decoderConfig:r.decoderConfig}),i.onmessage=function(s){var u=s.data;switch(u.type){case"decode":i._callbacks[u.id].resolve(u);break;case"error":i._callbacks[u.id].reject(u);break;default:console.error('DRACO: Unexpected message, "'+u.type+'"')}},r.workerPool.push(i)}else r.workerPool.sort(function(s,u){return s._taskLoad>u._taskLoad?-1:1});var o=r.workerPool[r.workerPool.length-1];return o._taskCosts[t]=e,o._taskLoad+=e,o})},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=`
420
420
  let decoderConfig;
@@ -1024,7 +1024,7 @@ void main() {
1024
1024
  #include <fog_fragment>
1025
1025
  #include <premultiplied_alpha_fragment>
1026
1026
  }
1027
- `,uniforms:{diffuse:{value:new THREE__namespace.Color},size:{value:1}}},EdgePoints=function(n){__extends(t,n);function t(e,r,i,o){var s=new Float32Array([e.x,e.y,e.z,r.x,r.y,r.z]),u=new Float32Array([0,1]),c=new THREE__namespace.BufferGeometry;c.setAttribute("position",new THREE__namespace.BufferAttribute(s,3)),c.setAttribute("start",new THREE__namespace.BufferAttribute(u,1));var l=new THREE__namespace.ShaderMaterial({vertexShader:EDGE_POINTS_SHADER.vertexShader,fragmentShader:EDGE_POINTS_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(EDGE_POINTS_SHADER.uniforms)});return l.uniforms.size.value=i,l.uniforms.diffuse.value.copy(o),n.call(this,c,l)||this}return t}(THREE__namespace.Points);function loadTrajectory(n,t){var e=n.name,r=appendSearch(n.content.uri,t.search),i=imageURL(r,{key:"model.0"}),o=n.content.color;return n.content.loadState="LOADING",loadPly(i,{type:"geometry",fetcher:t.fetcher}).then(function(s){var u=s.scene,c=new THREE__namespace.ShaderMaterial({vertexShader:LINE_SHADER.vertexShader,fragmentShader:LINE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(LINE_SHADER.uniforms)});c.uniforms.diffuse.value.set(o),c.uniforms.totalSize.value=.2,c.uniforms.dashSize.value=c.uniforms.totalSize.value/2;var l=new THREE__namespace.Line(u,c);l.computeLineDistances(),l.applyMatrix4(n.transform),l.updateWorldMatrix(!1,!0),l.matrixAutoUpdate=!1;var d=u.attributes.position.array,f=new EdgePoints(new THREE__namespace.Vector3().fromArray(d,0),new THREE__namespace.Vector3().fromArray(d,d.length-3),12,o);f.applyMatrix4(n.transform),f.updateWorldMatrix(!1,!0),f.matrixAutoUpdate=!1;var v=new TrajectoryNode(e,l,f);return n.content.data={byteLength:s.byteLength,object:v,uri:i},n.content.byteLength=s.byteLength,n.content.loadState="READY",n}).catch(function(s){return n.content.data=void 0,n.content.loadState="FAILED",n.content.byteLength=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.byteLength=0)}function jsonStableStrinfiy_(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="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var c=s[o],l=jsonStableStrinfiy_(n[c],!0);l!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+l),o++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonHash(n){return"hash::".concat(jsonStableStrinfiy_(n,!1))}var scratchVector3$1=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,scratchMatrix4$2=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),i=1e-12,o=1e3,s=0,u=Math.atan2(n.z,r),c=0;s++<o;){var l=Math.sin(u),d=a/Math.sqrt(1-e*l*l);c=r/Math.cos(u)-d;var f=Math.atan2(n.z/(d*(1-e)+c),r/(d+c));if(isNaN(f))break;var v=Math.abs(f-u);if(v<i)break;u=f}return n.set(u,Math.atan2(n.y,n.x),c)}function llaToEcef(n){var t=n.x,e=n.y,r=n.z,i=a-a/invF,o=(a*a-i*i)/(a*a),s=Math.sin(t),u=Math.cos(t),c=Math.sin(e),l=Math.cos(e),d=a/Math.sqrt(1-o*s*s),f=(d+r)*u*l,v=(d+r)*u*c,A=(i*i/(a*a)*d+r)*s;return n.set(f,v,A)}function getEcefToEnuMatrix(n,t){var e=ecefToLla(scratchVector3$1.copy(n)),r=e.x,i=e.y,o=e.z,s=Math.sin(r),u=Math.sin(i),c=Math.cos(r),l=Math.cos(i);t.fromArray([-u,-s*l,c*l,0,+l,-s*u,c*u,0,0,c,s,0,0,0,0,1]);var d=scratchMatrix3.setFromMatrix4(t),f=scratchVector3$1.copy(n).applyMatrix3(d).multiplyScalar(-1);t.setPosition(f);var v=scratchMatrix4$2.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,o,1]);return t.premultiply(v),t}var StencilConstants={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=StencilConstants.TILE_MASK,n.stencilFunc=THREE__namespace.AlwaysStencilFunc,n.stencilFuncMask=StencilConstants.TILE_MASK,n.stencilZPass=THREE__namespace.ReplaceStencilOp,n.stencilWriteMask=StencilConstants.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,i){var o,s,u,c=n.call(this)||this;return c.modelIndex=0,c.renderObjects=[],c.backfaceObjects=[],c.debugObjects=[],c.tileObjects=[],c.debug=!1,c.name=i.name,c.type=i.type,c.upAxis=i.upAxis,c.model=e,c.fetcher=i.fetcher,c.search=(o=i.search)!==null&&o!==void 0?o:"",c.groundHeight=i.groundHeight,c.coordinateTransform=i.coordinateTransform,c.boundingBox=new THREE__namespace.Box3,c.idle=!1,c.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,c.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,c.needsRefined=!0,c.refined=!1,c.refineProgress=[0,0],c.loaded=!1,c.disposed=!1,c.needsRender=!0,c.lastRenderHash="",c.matrixAutoUpdate=!1,c.cacheCameras=[],c.clearStencilObject=new THREE__namespace.Mesh(CLEAR_STENCIL_GEOMETRY,CLEAR_STENCIL_MATERIAL),c.clearStencilObject.frustumCulled=!1,c.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},c.tileset=new Tileset((u=(s=c.model.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",r,{referer:i.referer,tileLoader:function(l){return c.loadContent(l)},tileUnloader:function(l){return c.unloadContent(l)},onTileLoad:function(){},onTileUnload:function(l){},onTileError:function(l,d){i.onError&&i.onError(Object.assign(d,{error:d})),console.error("Tile error",l.id,d)},trajectoryLoader:function(l){return c.loadTrajectory(l)},trajectoryUnloader:function(l){return c.unloadTrajectory(l)},onTrajectoryLoad:function(){},onTrajectoryUnload:function(l){},onTrajectoryError:function(l,d){i.onError&&i.onError(Object.assign(d,{error:d})),console.error("Trajectory error",l,d)}}),c.tileset.root.boundingVolume&&c.tileset.root.boundingVolume.getBoundingBox(c.boundingBox),c}return t.prototype.getRenderHash=function(){return jsonHash([this.tileset.id,this.tileset.skipLevelOfDetail,this.tileset.selectedTiles.map(function(e){return e.id}),this.debug])},Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.tileset.maxMemoryUsage},set:function(e){this.tileset.maxMemoryUsage=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.tileset.maxRequests},set:function(e){this.tileset.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"requestOrder",{get:function(){return this.tileset.tileRequestOrder},set:function(e){this.tileset.tileRequestOrder=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skipLevelOfDetail",{get:function(){return this.tileset.skipLevelOfDetail},set:function(e){this.tileset.skipLevelOfDetail=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mostDetail",{get:function(){return this.tileset.mostDetail},set:function(e){this.tileset.mostDetail=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){return this.tileset.loadSiblings},set:function(e){this.tileset.loadSiblings=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadAll",{get:function(){return this.tileset.loadAll},set:function(e){this.tileset.loadAll=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.tileset.maxScreenSpaceError},set:function(e){this.tileset.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trajectories",{get:function(){return this.tileset.trajectories},enumerable:!1,configurable:!0}),t.prototype.localToEnu=function(e){return e.applyMatrix4(this.coordinateTransform.localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.enuToLocalMatrix)},t.prototype.localToEcef=function(e){return e.applyMatrix4(this.coordinateTransform.localToEcefMatrix)},t.prototype.ecefToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.ecefToLocalMatrix)},t.prototype.localToLla=function(e){return ecefToLla(this.localToEcef(e))},t.prototype.llaToLocal=function(e){return this.ecefToLocal(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))},t.prototype.loadContent=function(e){var r=this;return loadTileContent(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(i){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(i){var o=[];return e.tileset.root.traverse(function(s){var u;s.type==="TILESET"&&((u=s.content)===null||u===void 0?void 0:u.loadState)!=="READY"&&o.push(s)}),Promise.all(o.map(function(s){return e.loadContent(s).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(i){r.disposed&&unloadTrajectory(i)})},t.prototype.unloadTrajectory=function(e){return unloadTrajectory(e),Promise.resolve()},t.prototype.intersectRaycaster=function(e,r,i){var o=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var s=[this.tileset.root],u=this.tileset.transform,c=this.tileset.transformIsIdentity,l,d=[];l=s.pop();){var f=void 0;if(l.boundingVolume){var v=c?l.boundingVolume:l.boundingVolume.clone().applyMatrix4(u);f=v.intersectRay(e.ray,e.far)}else f=!0;if(f){for(var A=0,p=l.children.length;A<p;A++)s.push(l.children[A]);l.selected&&l.content&&l.content.data&&l.content.data.object.visible&&l.content.data.object.intersectRaycaster(e,!1,d)}}return this.model.shownFloorIndex>=0&&(d=d.filter(function(h){return h.floor===o.model.shownFloorIndex})),r&&d.sort(function(h,g){return h.distance-g.distance}),d.map(function(h){h.model=o.model,h.viewLayer=o.viewLayer}),i.push.apply(i,d),i},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(u){return u.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 i=0,o=e.children;i<o.length;i++){var s=o[i];r.add(this.cloneSkipBackfaceObject(s))}return r},t.prototype.update=function(e,r){var i,o,s,u=this,c,l,d;this.renderObjects.length=0,this.backfaceObjects.length=0,this.debugObjects.length=0,this.tileObjects.length=0,this.renderer=e,this.tileset.transform.equals(this.matrixWorld)||this.tileset.transform.copy(this.matrixWorld),this.tileset.cache.reset();var f=this.tileset.frameNumber+1,v=this.visible,A=Math.max(this.maxLevelOfDetail,0),p=Math.min(this.minLevelOfDetail,A),h=Math.max(p,0),g={time:now(),camera:{type:r.type,position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),near:r.near,far:r.far,up:new THREE__namespace.Vector3().copy(r.up).applyQuaternion(r.quaternion),visible:r.visible,refine:r.refineModel},minLevelOfDetail:p,maxLevelOfDetail:v&&!this.idle&&this.loaded?A:h,height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:f,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r)},m=this.cacheCameras.map(function(Z){return __assign(__assign({},g),{camera:{type:r.type,position:new THREE__namespace.Vector3().copy(Z.position),direction:Z.getWorldDirection(new THREE__namespace.Vector3),near:r.near,far:r.far,up:new THREE__namespace.Vector3().copy(Z.up),visible:Z.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(Z)})});this.tileset.update(g,m),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(Z){if(u.refineProgress[1]++,Z.content){var X=Z.content.loadState;if(X==="UNLOADED"||X==="LOADING"){u.refined=!1;return}}u.refineProgress[0]++}),this.loaded===!1&&this.tileset.needsRefinedTiles.size>0&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach(function(Z){if(u.loaded!==!1){if(u.tileset.skipLevelOfDetail){if(Z.state.finalResolution&&Z.content){var X=Z.state.ancestorWithContentAvailable,ee=X&&X.content?X.content:Z.content,Y=ee.loadState;(Y==="UNLOADED"||Y==="LOADING")&&(u.loaded=!1)}}else if(Z.state.visible&&Z.content&&Z.levelOfContent<=0){var Y=Z.content.loadState;(Y==="UNLOADED"||Y==="LOADING")&&(u.loaded=!1)}}}),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++)),this.remove.apply(this,this.children),this.tileset.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(Z,X){return Z.floor-X.floor});for(var y=0,E=this.tileset.selectedTiles;y<E.length;y++){var b=E[y];this.debug&&b.boundingVolumeDebugObject&&this.debugObjects.push(b.boundingVolumeDebugObject);var T=(l=(c=b.content)===null||c===void 0?void 0:c.data)===null||l===void 0?void 0:l.object;if(T){if(T.update(e,r,this.model),this.tileset.hasMixedContent&&this.tileset.skipLevelOfDetail){if(!b.state.finalResolution){var _=this.cloneSkipBackfaceObject(T);this.backfaceObjects.push(_)}for(var x=b.state.selectionDepth,S=StencilConstants.TILE_MASK|x<<StencilConstants.SKIP_LOD_BIT_SHIFT,P=THREE__namespace.GreaterEqualStencilFunc,L=StencilConstants.SKIP_LOD_MASK,R=THREE__namespace.ReplaceStencilOp,M=StencilConstants.TILE_MASK|StencilConstants.SKIP_LOD_MASK,F=0,C=T.materials;F<C.length;F++){var B=C[F];B.stencilWrite=!0,B.stencilRef=S,B.stencilFunc=P,B.stencilFuncMask=L,B.stencilZPass=R,B.stencilWriteMask=M}}else for(var H=0,k=T.materials;H<k.length;H++){var B=k[H];B.stencilWrite=!1,B.stencilRef=StencilConstants.TILE_MASK,B.stencilFunc=THREE__namespace.AlwaysStencilFunc,B.stencilFuncMask=StencilConstants.TILE_MASK,B.stencilZPass=THREE__namespace.ReplaceStencilOp,B.stencilWriteMask=StencilConstants.TILE_MASK}this.tileObjects.push(T)}}this.tileset.skipLevelOfDetail&&this.backfaceObjects.length&&(i=this.renderObjects).push.apply(i,this.backfaceObjects),this.tileObjects.length&&(o=this.renderObjects).push.apply(o,this.tileObjects),this.tileset.skipLevelOfDetail&&this.renderObjects.push(this.clearStencilObject);for(var z=0,V=this.tileset.selectedTrajectories;z<V.length;z++){var N=V[z],D=(d=N.content.data)===null||d===void 0?void 0:d.object;D&&(D.update(e,r,this.model),this.renderObjects.push(D))}this.debug&&(s=this.renderObjects).push.apply(s,this.debugObjects);for(var q=this.modelIndex*1e4,G=function(Z){var X=J.renderObjects[Z],ee=Z+q;X.traverse(function(Y){(Y instanceof THREE__namespace.Mesh||Y instanceof THREE__namespace.Line||Y instanceof THREE__namespace.Points)&&(Y.renderOrder=ee)}),J.add(X)},J=this,j=0;j<this.renderObjects.length;j++)G(j);var K=this.getRenderHash();this.lastRenderHash!==K&&(this.needsRender=!0,this.lastRenderHash=K)},t.prototype.dispose=function(){this.disposed=!0,this.viewLayer=void 0,this.tileset.reset(),this.remove.apply(this,this.children),this.refineProgress[0]=0,this.refineProgress[1]=0,this.refined=!1,this.loaded=!1},t.DEFAULT_MIN_LEVEL_OF_DETAIL=0,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=Tileset.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_SKIP_LEVEL_OF_DETAIL=Tileset.DEFAULT_SKIP_LEVEL_OF_DETAIL,t.DEFAULT_MOST_DETAIL=Tileset.DEFAULT_MOST_DETAIL,t.DEFAULT_LOAD_SIBLINGS=Tileset.DEFAULT_LOAD_SIBLINGS,t.DEFAULT_LOAD_ALL=Tileset.DEFAULT_LOAD_ALL,t.DEFAULT_MAX_REQUESTS=Tileset.DEFAULT_MAX_REQUESTS,t.DEFAULT_REQUEST_ORDER=Tileset.DEFAULT_REQUEST_ORDER,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,i;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(i=Object.keys(n),e=i.length,e!==Object.keys(t).length)return!1;for(r=e;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=e;r--!==0;){var o=i[r];if(!equal(n[o],t[o]))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,i=Object.keys(n);r<i.length;r++){var o=i[r];t.indexOf(o)===-1&&(e[o]=n[o])}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="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableNoneNumberStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var c=s[o],l=jsonStableNoneNumberStrinfiy_(n[c],!0);l!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+l),o++}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 i=void 0,o,s;if(n.length<=0)return error_invalid_input();for(var u=function(T){var _=verify(n[T]);if(_ instanceof Error)return{value:_};if(!i)i=_.issuer;else if(i!==_.issuer)return{value:error_invalid_certificate()};o?_.expire.getTime()<o.getTime()&&(o=_.expire):o=_.expire,s?s=s.filter(function(x){return _.allowHosts.indexOf(x)!==-1}):s=_.allowHosts},c=0;c<n.length;c++){var l=u(c);if(typeof l=="object")return l.value}return deepFreeze({issuer:i,expire:o,allowHosts:s})}var d=JSON.parse(n),f=typeof location!="undefined"?location.hostname:"",v=Date.now();if(typeof d!="object")return error_invalid_input();var A=new Date(typeof d.expire_at=="string"&&/^\d+$/.test(d.expire_at)?Number(d.expire_at):d.expire_at),p=Array.isArray(d.allow_hosts)?d.allow_hosts:[];if(f.length===0||isIPDomain(f)||BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,f)}).length>0){var h=String((t=d.certificate)!==null&&t!==void 0?t:"");if(h){var g=new X509;return g.readCertPEM(h),deepFreeze({issuer:g.getSubjectString(),expire:A,allowHosts:p})}return deepFreeze({issuer:"none",expire:A,allowHosts:p})}var m=String((e=d.certificate)!==null&&e!==void 0?e:"");if(!m)return error_invalid_certificate();var y=new X509;y.readCertPEM(m);var E=String((r=d._signature)!==null&&r!==void 0?r:"");if(!E)return error_invalid_signature();var b=jsonStableNoneNumberStrinfiy(ObjectOmit(d,["_signature"]));return verifyMessage(b,E,y)===!1?error_invalid_signature():v<A.getTime()?p.filter(function(T){return matchDomain(T,f)}).length===0?error_host_not_allowed(f):deepFreeze({issuer:y.getSubjectString(),expire:A,allowHosts:p}):error_date_expired(A)}var scratchMatrix4$1=new THREE__namespace.Matrix4,workRawMapping=new WeakMap,Work=function(){function n(t,e){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],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(o){r.transform.copy(o)}}}var i=parse(t,e,this);if(i instanceof Error)throw new Error("[PARSE FAILED]: "+i.message+`
1027
+ `,uniforms:{diffuse:{value:new THREE__namespace.Color},size:{value:1}}},EdgePoints=function(n){__extends(t,n);function t(e,r,i,o){var s=new Float32Array([e.x,e.y,e.z,r.x,r.y,r.z]),u=new Float32Array([0,1]),c=new THREE__namespace.BufferGeometry;c.setAttribute("position",new THREE__namespace.BufferAttribute(s,3)),c.setAttribute("start",new THREE__namespace.BufferAttribute(u,1));var l=new THREE__namespace.ShaderMaterial({vertexShader:EDGE_POINTS_SHADER.vertexShader,fragmentShader:EDGE_POINTS_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(EDGE_POINTS_SHADER.uniforms)});return l.uniforms.size.value=i,l.uniforms.diffuse.value.copy(o),n.call(this,c,l)||this}return t}(THREE__namespace.Points);function loadTrajectory(n,t){var e=n.name,r=appendSearch(n.content.uri,t.search),i=imageURL(r,{key:"model.0"}),o=n.content.color;return n.content.loadState="LOADING",loadPly(i,{type:"geometry",fetcher:t.fetcher}).then(function(s){var u=s.scene,c=new THREE__namespace.ShaderMaterial({vertexShader:LINE_SHADER.vertexShader,fragmentShader:LINE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(LINE_SHADER.uniforms)});c.uniforms.diffuse.value.set(o),c.uniforms.totalSize.value=.2,c.uniforms.dashSize.value=c.uniforms.totalSize.value/2;var l=new THREE__namespace.Line(u,c);l.computeLineDistances(),l.applyMatrix4(n.transform),l.updateWorldMatrix(!1,!0),l.matrixAutoUpdate=!1;var d=u.attributes.position.array,f=new EdgePoints(new THREE__namespace.Vector3().fromArray(d,0),new THREE__namespace.Vector3().fromArray(d,d.length-3),12,o);f.applyMatrix4(n.transform),f.updateWorldMatrix(!1,!0),f.matrixAutoUpdate=!1;var v=new TrajectoryNode(e,l,f);return n.content.data={byteLength:s.byteLength,object:v,uri:i},n.content.byteLength=s.byteLength,n.content.loadState="READY",n}).catch(function(s){return n.content.data=void 0,n.content.loadState="FAILED",n.content.byteLength=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.byteLength=0)}function jsonStableStrinfiy_(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="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var c=s[o],l=jsonStableStrinfiy_(n[c],!0);l!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+l),o++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonHash(n){return"hash::".concat(jsonStableStrinfiy_(n,!1))}var scratchVector3$1=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,scratchMatrix4$2=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),i=1e-12,o=1e3,s=0,u=Math.atan2(n.z,r),c=0;s++<o;){var l=Math.sin(u),d=a/Math.sqrt(1-e*l*l);c=r/Math.cos(u)-d;var f=Math.atan2(n.z/(d*(1-e)+c),r/(d+c));if(isNaN(f))break;var v=Math.abs(f-u);if(v<i)break;u=f}return n.set(u,Math.atan2(n.y,n.x),c)}function llaToEcef(n){var t=n.x,e=n.y,r=n.z,i=a-a/invF,o=(a*a-i*i)/(a*a),s=Math.sin(t),u=Math.cos(t),c=Math.sin(e),l=Math.cos(e),d=a/Math.sqrt(1-o*s*s),f=(d+r)*u*l,v=(d+r)*u*c,A=(i*i/(a*a)*d+r)*s;return n.set(f,v,A)}function getEcefToEnuMatrix(n,t){var e=ecefToLla(scratchVector3$1.copy(n)),r=e.x,i=e.y,o=e.z,s=Math.sin(r),u=Math.sin(i),c=Math.cos(r),l=Math.cos(i);t.fromArray([-u,-s*l,c*l,0,+l,-s*u,c*u,0,0,c,s,0,0,0,0,1]);var d=scratchMatrix3.setFromMatrix4(t),f=scratchVector3$1.copy(n).applyMatrix3(d).multiplyScalar(-1);t.setPosition(f);var v=scratchMatrix4$2.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,o,1]);return t.premultiply(v),t}var StencilConstants={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=StencilConstants.TILE_MASK,n.stencilFunc=THREE__namespace.AlwaysStencilFunc,n.stencilFuncMask=StencilConstants.TILE_MASK,n.stencilZPass=THREE__namespace.ReplaceStencilOp,n.stencilWriteMask=StencilConstants.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,i){var o,s,u,c=n.call(this)||this;return c.modelIndex=0,c.renderObjects=[],c.backfaceObjects=[],c.debugObjects=[],c.tileObjects=[],c.debug=!1,c.name=i.name,c.type=i.type,c.upAxis=i.upAxis,c.model=e,c.fetcher=i.fetcher,c.search=(o=i.search)!==null&&o!==void 0?o:"",c.groundHeight=i.groundHeight,c.coordinateTransform=i.coordinateTransform,c.boundingBox=new THREE__namespace.Box3,c.idle=!1,c.minLevelOfDetail=t.DEFAULT_MIN_LEVEL_OF_DETAIL,c.maxLevelOfDetail=t.DEFAULT_MAX_LEVEL_OF_DETAIL,c.needsRefined=!0,c.refined=!1,c.refineProgress=[0,0],c.loaded=!1,c.disposed=!1,c.needsRender=!0,c.lastRenderHash="",c.matrixAutoUpdate=!1,c.cacheCameras=[],c.clearStencilObject=new THREE__namespace.Mesh(CLEAR_STENCIL_GEOMETRY,CLEAR_STENCIL_MATERIAL),c.clearStencilObject.frustumCulled=!1,c.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},c.tileset=new Tileset((u=(s=c.model.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",r,{referer:i.referer,tileLoader:function(l){return c.loadContent(l)},tileUnloader:function(l){return c.unloadContent(l)},onTileLoad:function(){},onTileUnload:function(l){},onTileError:function(l,d){i.onError&&i.onError(Object.assign(d,{error:d})),console.error("Tile error",l.id,d)},trajectoryLoader:function(l){return c.loadTrajectory(l)},trajectoryUnloader:function(l){return c.unloadTrajectory(l)},onTrajectoryLoad:function(){},onTrajectoryUnload:function(l){},onTrajectoryError:function(l,d){i.onError&&i.onError(Object.assign(d,{error:d})),console.error("Trajectory error",l,d)}}),c.tileset.root.boundingVolume&&c.tileset.root.boundingVolume.getBoundingBox(c.boundingBox),c}return t.prototype.getRenderHash=function(){return jsonHash([this.tileset.id,this.tileset.skipLevelOfDetail,this.tileset.selectedTiles.map(function(e){return e.id}),this.tileset.trajectories.map(function(e){return e.index}),this.debug])},Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){return this.tileset.maxMemoryUsage},set:function(e){this.tileset.maxMemoryUsage=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){return this.tileset.maxRequests},set:function(e){this.tileset.maxRequests=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"requestOrder",{get:function(){return this.tileset.tileRequestOrder},set:function(e){this.tileset.tileRequestOrder=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skipLevelOfDetail",{get:function(){return this.tileset.skipLevelOfDetail},set:function(e){this.tileset.skipLevelOfDetail=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mostDetail",{get:function(){return this.tileset.mostDetail},set:function(e){this.tileset.mostDetail=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){return this.tileset.loadSiblings},set:function(e){this.tileset.loadSiblings=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadAll",{get:function(){return this.tileset.loadAll},set:function(e){this.tileset.loadAll=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){return this.tileset.maxScreenSpaceError},set:function(e){this.tileset.maxScreenSpaceError=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trajectories",{get:function(){return this.tileset.trajectories},enumerable:!1,configurable:!0}),t.prototype.localToEnu=function(e){return e.applyMatrix4(this.coordinateTransform.localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.enuToLocalMatrix)},t.prototype.localToEcef=function(e){return e.applyMatrix4(this.coordinateTransform.localToEcefMatrix)},t.prototype.ecefToLocal=function(e){return e.applyMatrix4(this.coordinateTransform.ecefToLocalMatrix)},t.prototype.localToLla=function(e){return ecefToLla(this.localToEcef(e))},t.prototype.llaToLocal=function(e){return this.ecefToLocal(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))},t.prototype.loadContent=function(e){var r=this;return loadTileContent(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(i){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(i){var o=[];return e.tileset.root.traverse(function(s){var u;s.type==="TILESET"&&((u=s.content)===null||u===void 0?void 0:u.loadState)!=="READY"&&o.push(s)}),Promise.all(o.map(function(s){return e.loadContent(s).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(i){r.disposed&&unloadTrajectory(i)})},t.prototype.unloadTrajectory=function(e){return unloadTrajectory(e),Promise.resolve()},t.prototype.intersectRaycaster=function(e,r,i){var o=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var s=[this.tileset.root],u=this.tileset.transform,c=this.tileset.transformIsIdentity,l,d=[];l=s.pop();){var f=void 0;if(l.boundingVolume){var v=c?l.boundingVolume:l.boundingVolume.clone().applyMatrix4(u);f=v.intersectRay(e.ray,e.far)}else f=!0;if(f){for(var A=0,p=l.children.length;A<p;A++)s.push(l.children[A]);l.selected&&l.content&&l.content.data&&l.content.data.object.visible&&l.content.data.object.intersectRaycaster(e,!1,d)}}return this.model.shownFloorIndex>=0&&(d=d.filter(function(h){return h.floor===o.model.shownFloorIndex})),r&&d.sort(function(h,g){return h.distance-g.distance}),d.map(function(h){h.model=o.model,h.viewLayer=o.viewLayer}),i.push.apply(i,d),i},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(u){return u.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 i=0,o=e.children;i<o.length;i++){var s=o[i];r.add(this.cloneSkipBackfaceObject(s))}return r},t.prototype.update=function(e,r){var i,o,s,u=this,c,l,d;this.renderObjects.length=0,this.backfaceObjects.length=0,this.debugObjects.length=0,this.tileObjects.length=0,this.renderer=e,this.tileset.transform.equals(this.matrixWorld)||this.tileset.transform.copy(this.matrixWorld),this.tileset.cache.reset();var f=this.tileset.frameNumber+1,v=this.visible,A=Math.max(this.maxLevelOfDetail,0),p=Math.min(this.minLevelOfDetail,A),h=Math.max(p,0),g={time:now(),camera:{type:r.type,position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),near:r.near,far:r.far,up:new THREE__namespace.Vector3().copy(r.up).applyQuaternion(r.quaternion),visible:r.visible,refine:r.refineModel},minLevelOfDetail:p,maxLevelOfDetail:v&&!this.idle&&this.loaded?A:h,height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:f,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r)},m=this.cacheCameras.map(function(Z){return __assign(__assign({},g),{camera:{type:r.type,position:new THREE__namespace.Vector3().copy(Z.position),direction:Z.getWorldDirection(new THREE__namespace.Vector3),near:r.near,far:r.far,up:new THREE__namespace.Vector3().copy(Z.up),visible:Z.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(Z)})});this.tileset.update(g,m),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(Z){if(u.refineProgress[1]++,Z.content){var X=Z.content.loadState;if(X==="UNLOADED"||X==="LOADING"){u.refined=!1;return}}u.refineProgress[0]++}),this.loaded===!1&&this.tileset.needsRefinedTiles.size>0&&(this.loaded=!0,this.tileset.needsRefinedTiles.forEach(function(Z){if(u.loaded!==!1){if(u.tileset.skipLevelOfDetail){if(Z.state.finalResolution&&Z.content){var X=Z.state.ancestorWithContentAvailable,ee=X&&X.content?X.content:Z.content,Y=ee.loadState;(Y==="UNLOADED"||Y==="LOADING")&&(u.loaded=!1)}}else if(Z.state.visible&&Z.content&&Z.levelOfContent<=0){var Y=Z.content.loadState;(Y==="UNLOADED"||Y==="LOADING")&&(u.loaded=!1)}}}),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++)),this.remove.apply(this,this.children),this.tileset.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(Z,X){return Z.floor-X.floor});for(var y=0,E=this.tileset.selectedTiles;y<E.length;y++){var b=E[y];this.debug&&b.boundingVolumeDebugObject&&this.debugObjects.push(b.boundingVolumeDebugObject);var T=(l=(c=b.content)===null||c===void 0?void 0:c.data)===null||l===void 0?void 0:l.object;if(T){if(T.update(e,r,this.model),this.tileset.hasMixedContent&&this.tileset.skipLevelOfDetail){if(!b.state.finalResolution){var _=this.cloneSkipBackfaceObject(T);this.backfaceObjects.push(_)}for(var x=b.state.selectionDepth,S=StencilConstants.TILE_MASK|x<<StencilConstants.SKIP_LOD_BIT_SHIFT,P=THREE__namespace.GreaterEqualStencilFunc,L=StencilConstants.SKIP_LOD_MASK,R=THREE__namespace.ReplaceStencilOp,M=StencilConstants.TILE_MASK|StencilConstants.SKIP_LOD_MASK,F=0,C=T.materials;F<C.length;F++){var B=C[F];B.stencilWrite=!0,B.stencilRef=S,B.stencilFunc=P,B.stencilFuncMask=L,B.stencilZPass=R,B.stencilWriteMask=M}}else for(var H=0,k=T.materials;H<k.length;H++){var B=k[H];B.stencilWrite=!1,B.stencilRef=StencilConstants.TILE_MASK,B.stencilFunc=THREE__namespace.AlwaysStencilFunc,B.stencilFuncMask=StencilConstants.TILE_MASK,B.stencilZPass=THREE__namespace.ReplaceStencilOp,B.stencilWriteMask=StencilConstants.TILE_MASK}this.tileObjects.push(T)}}this.tileset.skipLevelOfDetail&&this.backfaceObjects.length&&(i=this.renderObjects).push.apply(i,this.backfaceObjects),this.tileObjects.length&&(o=this.renderObjects).push.apply(o,this.tileObjects),this.tileset.skipLevelOfDetail&&this.renderObjects.push(this.clearStencilObject);for(var z=0,V=this.tileset.selectedTrajectories;z<V.length;z++){var N=V[z],D=(d=N.content.data)===null||d===void 0?void 0:d.object;D&&(D.update(e,r,this.model),this.renderObjects.push(D))}this.debug&&(s=this.renderObjects).push.apply(s,this.debugObjects);for(var q=this.modelIndex*1e4,G=function(Z){var X=J.renderObjects[Z],ee=Z+q;X.traverse(function(Y){(Y instanceof THREE__namespace.Mesh||Y instanceof THREE__namespace.Line||Y instanceof THREE__namespace.Points)&&(Y.renderOrder=ee)}),J.add(X)},J=this,j=0;j<this.renderObjects.length;j++)G(j);var K=this.getRenderHash();this.lastRenderHash!==K&&(this.needsRender=!0,this.lastRenderHash=K)},t.prototype.dispose=function(){this.disposed=!0,this.viewLayer=void 0,this.tileset.reset(),this.remove.apply(this,this.children),this.refineProgress[0]=0,this.refineProgress[1]=0,this.refined=!1,this.loaded=!1},t.DEFAULT_MIN_LEVEL_OF_DETAIL=0,t.DEFAULT_MAX_LEVEL_OF_DETAIL=20,t.DEFAULT_MAX_MEMORY_USAGE=16,t.DEFAULT_MAX_SCREEN_SPACE_ERROR=Tileset.DEFAULT_MAX_SCREEN_SPACE_ERROR,t.DEFAULT_SKIP_LEVEL_OF_DETAIL=Tileset.DEFAULT_SKIP_LEVEL_OF_DETAIL,t.DEFAULT_MOST_DETAIL=Tileset.DEFAULT_MOST_DETAIL,t.DEFAULT_LOAD_SIBLINGS=Tileset.DEFAULT_LOAD_SIBLINGS,t.DEFAULT_LOAD_ALL=Tileset.DEFAULT_LOAD_ALL,t.DEFAULT_MAX_REQUESTS=Tileset.DEFAULT_MAX_REQUESTS,t.DEFAULT_REQUEST_ORDER=Tileset.DEFAULT_REQUEST_ORDER,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,i;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(i=Object.keys(n),e=i.length,e!==Object.keys(t).length)return!1;for(r=e;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=e;r--!==0;){var o=i[r];if(!equal(n[o],t[o]))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,i=Object.keys(n);r<i.length;r++){var o=i[r];t.indexOf(o)===-1&&(e[o]=n[o])}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="[",i=n.length-1,o=0;o<i;o++)r+=jsonStableNoneNumberStrinfiy_(n[o],!1)+",";return i>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[o],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var s=Object.keys(n).sort(),u=s.length,r="",o=0;o<u;){var c=s[o],l=jsonStableNoneNumberStrinfiy_(n[c],!0);l!==void 0&&(o&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+l),o++}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 i=void 0,o,s;if(n.length<=0)return error_invalid_input();for(var u=function(T){var _=verify(n[T]);if(_ instanceof Error)return{value:_};if(!i)i=_.issuer;else if(i!==_.issuer)return{value:error_invalid_certificate()};o?_.expire.getTime()<o.getTime()&&(o=_.expire):o=_.expire,s?s=s.filter(function(x){return _.allowHosts.indexOf(x)!==-1}):s=_.allowHosts},c=0;c<n.length;c++){var l=u(c);if(typeof l=="object")return l.value}return deepFreeze({issuer:i,expire:o,allowHosts:s})}var d=JSON.parse(n),f=typeof location!="undefined"?location.hostname:"",v=Date.now();if(typeof d!="object")return error_invalid_input();var A=new Date(typeof d.expire_at=="string"&&/^\d+$/.test(d.expire_at)?Number(d.expire_at):d.expire_at),p=Array.isArray(d.allow_hosts)?d.allow_hosts:[];if(f.length===0||isIPDomain(f)||BUILDIN_ALLOW_HOST.filter(function(T){return matchDomain(T,f)}).length>0){var h=String((t=d.certificate)!==null&&t!==void 0?t:"");if(h){var g=new X509;return g.readCertPEM(h),deepFreeze({issuer:g.getSubjectString(),expire:A,allowHosts:p})}return deepFreeze({issuer:"none",expire:A,allowHosts:p})}var m=String((e=d.certificate)!==null&&e!==void 0?e:"");if(!m)return error_invalid_certificate();var y=new X509;y.readCertPEM(m);var E=String((r=d._signature)!==null&&r!==void 0?r:"");if(!E)return error_invalid_signature();var b=jsonStableNoneNumberStrinfiy(ObjectOmit(d,["_signature"]));return verifyMessage(b,E,y)===!1?error_invalid_signature():v<A.getTime()?p.filter(function(T){return matchDomain(T,f)}).length===0?error_host_not_allowed(f):deepFreeze({issuer:y.getSubjectString(),expire:A,allowHosts:p}):error_date_expired(A)}var scratchMatrix4$1=new THREE__namespace.Matrix4,workRawMapping=new WeakMap,Work=function(){function n(t,e){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={work:this},this.observers=[],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(o){r.transform.copy(o)}}}var i=parse(t,e,this);if(i instanceof Error)throw new Error("[PARSE FAILED]: "+i.message+`
1028
1028
  Error work input:
1029
1029
  `+JSON.stringify(t))}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 i=0;i<t.length;i++)n[i]=deepMerge(n[i],t[i]);else if(r==="dict")for(var o in t)n[o]=deepMerge(n[o],t[o]);return n}function startWithString(n,t){return n.indexOf(t)===0}function urlWithParseOptions(n,t,e,r){var i,o=t;if(r.jsonp===!0){o=t.replace(/([\?\#].*)?$/i,"");var s=sha256("".concat(o)).slice(0,7);o="".concat(o,".").concat(s,".jsonp")}if(r.shortPath===!0){var u=o.replace(n,"").split("."),c=(i=u.shift())!==null&&i!==void 0?i:"",l=u.join(".");o=pathJoin(n,sha256(c))+(l?"."+l:"")}var d=o.replace(n,"");return r.baseURL&&(o=pathJoin(r.baseURL,d)),r.traverseResource&&r.traverseResource({origin:t,absolute:o,relative:d,type:e}),o}function panoURL(n,t,e,r,i){var o=e;return isAbsoluteURL(e)||(t&&(t=pathJoin(t,String(r))),o=pathJoin(t,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,"panorama",i)}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 i=t;return isAbsoluteURL(i)||(i=pathJoin(e,i)),isAbsoluteURL(i)||(i=pathJoin(n,i)),startWithString(i,n)||console.warn("".concat(i," is not start with base_url(").concat(n,").")),urlWithParseOptions(n,i,"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(s,u){return s.level-u.level});for(var t=[],e=0,r=n;e<r.length;e++){var i=r[e];if(t.length===0){t.push(i);continue}var o=t[t.length-1];if(i.level>o.level){t.push(i);continue}if(i.size>o.size){t[t.length-1]=i;continue}}return t};function parse(n,t,e){for(var r,i,o,s,u,c,l,d,f,v,A,p,h,g,m,y,E,b,T,_=JSON.stringify(t),x=[],S=0,P=[].concat(n);S<P.length;S++){var L=P[S];L instanceof Work?x.push.apply(x,L.raw.works):typeof L=="string"?x.push(L):x.push(JSON.stringify(L))}var R=verify(x);if(R instanceof Error)return R;Array.isArray(t.transform)?e.transform.fromArray(t.transform):t.transform&&e.transform.copy(t.transform),n=x.map(function($){return JSON.parse($)}).reduce(function($,re){return deepMerge($,re)}),Object.defineProperty(e,"raw",{configurable:!1,get:function(){return{works:x,options:_}}});{var M;if(t.workCode&&(typeof t.workCode=="string"?M=t.workCode:typeof t.workCode=="function"&&(M=t.workCode(n))),typeof M=="undefined"&&(M=String(n.resource_code||n.basic_code||n.vr_code||n.code||n.project_id||n.work_code||n.workCode)),typeof M=="undefined")return new Error("WorkCode never matched.");Object.defineProperty(e,"workCode",{configurable:!1,get:function(){return M}})}{var F=String(n.name);Object.defineProperty(e,"name",{configurable:!1,get:function(){return F}})}if(R instanceof Error)return R;Object.defineProperty(e,"issuer",{configurable:!1,get:function(){return R.issuer}}),Object.defineProperty(e,"expire",{configurable:!1,get:function(){return R.expire}}),Object.defineProperty(e,"allowHosts",{configurable:!1,get:function(){return R.allowHosts}});var C=(r=n.base_url)!==null&&r!==void 0?r:"";if(C&&C[C.length-1]!=="/"&&(C+="/"),R instanceof Error)return R;if(n.model){var B={work:e,layers:[]},H;n.model.file?H=fileURL(C,n.model.file,t):n.model.file_url&&(H=fileURL(C,n.model.file_url,t)),Object.defineProperty(B,"file",{configurable:!1,get:function(){return H}});var k;n.model.textureBase?k=textureURL$1(C,"",n.model.textureBase,t):n.model.material_base_url?k=textureURL$1(C,"",n.model.material_base_url,t):B.file&&(k=B.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Object.defineProperty(B,"textureBase",{configurable:!1,get:function(){return k}});var z;Array.isArray(n.model.textures)?(z=n.model.textures.map(function($){var re,U;return textureURL$1(C,$,(U=(re=n.model.textureBase)!==null&&re!==void 0?re:n.model.material_base_url)!==null&&U!==void 0?U:"",t)}),Object.freeze(z)):Array.isArray(n.model.material_textures)&&(z=n.model.material_textures.map(function($){var re,U;return textureURL$1(C,$,(U=(re=n.model.textureBase)!==null&&re!==void 0?re:n.model.material_base_url)!==null&&U!==void 0?U:"",t)}),Object.freeze(z)),Object.defineProperty(B,"textures",{configurable:!1,get:function(){return z}});var V=[];if(Array.isArray(n.model.tiles))for(var N=0,D=n.model.tiles;N<D.length;N++){var q=D[N];q&&(q.tileset||q.tileset_url)&&V.push(Object.freeze({type:(i=q.type)!==null&&i!==void 0?i:"mesh",name:(o=q.name)!==null&&o!==void 0?o:"",upAxis:(u=(s=q.upAxis)!==null&&s!==void 0?s:q.up_axis)!==null&&u!==void 0?u:"-Y",tileset:fileURL(C,q.tileset||q.tileset_url,t)}))}else n.model.tiles&&(n.model.tiles.tileset||n.model.tiles.tileset_url)&&V.push(Object.freeze({type:(c=n.model.tiles.type)!==null&&c!==void 0?c:"mesh",name:(l=n.model.tiles.name)!==null&&l!==void 0?l:"lod",upAxis:(f=(d=n.model.tiles.upAxis)!==null&&d!==void 0?d:n.model.tiles.up_axis)!==null&&f!==void 0?f:"-Y",tileset:fileURL(C,n.model.tiles.tileset||n.model.tiles.tileset_url,t)}));if(Array.isArray(n.model.layers))for(var G=0,J=n.model.layers;G<J.length;G++){var j=J[G];j&&(j.tileset||j.tileset_url)&&V.push(Object.freeze({type:(v=j.type)!==null&&v!==void 0?v:"mesh",name:(A=j.name)!==null&&A!==void 0?A:"",upAxis:(p=j.upAxis)!==null&&p!==void 0?p:j.up_axis,tileset:fileURL(C,j.tileset||j.tileset_url,t)}))}Object.freeze(V),Object.defineProperty(B,"layers",{configurable:!1,get:function(){return V}}),Object.defineProperty(e,"model",{configurable:!1,get:function(){if(B.file||B.layers.length)return B}})}if(R instanceof Error)return R;var K=new Set,Z=new Set;{var X=[];if(n.observers&&Array.isArray(n.observers)){var ee=[];n.panorama&&(Array.isArray(n.panorama)?ee=n.panorama:Array.isArray(n.panorama.list)?ee=n.panorama.list:Array.isArray(n.panorama.info)&&(ee=n.panorama.info));for(var Y=function($){var re={},U=n.observers[$];if(!U)return"break";var ge=ee[$];if(!ge)return"break";U=Object.assign({},U,ge,{active:U.active!==!1&&ge.active!==!1}),Object.defineProperty(re,"work",{configurable:!1,get:function(){return e}}),Object.defineProperty(re,"index",{configurable:!1,get:function(){return $}}),Z.add($),Object.defineProperty(re,"panoIndex",{configurable:!1,get:function(){return $}});var ye=panoStringify({workCode:e.workCode,panoIndex:$});K.add(ye),Object.defineProperty(re,"panoId",{configurable:!1,get:function(){return ye}});var me=Object.freeze({workCode:e.workCode,panoIndex:$});Object.defineProperty(re,"pano",{configurable:!1,get:function(){return me}});var Re=U.active!==!1;Object.defineProperty(re,"active",{configurable:!1,get:function(){return Re}});var de=U.loadable===!0;Object.defineProperty(re,"loadable",{configurable:!1,get:function(){return de}});var oe=U.derived_id;Object.defineProperty(re,"derivedId",{configurable:!1,get:function(){return oe}});var fe=U.derived_id_str;Object.defineProperty(re,"derivedIdStr",{configurable:!1,get:function(){return fe}});var le=(b=(y=(g=(h=n.panorama)===null||h===void 0?void 0:h.pano_high_cube_base_url)!==null&&g!==void 0?g:(m=n.panorama)===null||m===void 0?void 0:m.pano_cube_base_url)!==null&&y!==void 0?y:(E=n.panorama)===null||E===void 0?void 0:E.base_url)!==null&&b!==void 0?b:"",ue={up:panoURL(C,le,U.images?U.images.up:U.up,$,t),down:panoURL(C,le,U.images?U.images.down:U.down,$,t),right:panoURL(C,le,U.images?U.images.right:U.right,$,t),left:panoURL(C,le,U.images?U.images.left:U.left,$,t),front:panoURL(C,le,U.images?U.images.front:U.front,$,t),back:panoURL(C,le,U.images?U.images.back:U.back,$,t)};if(U.size_list)ue.sizeList=U.size_list.slice();else{var Te=getImageSizeFromURL(ue.up);if(Te&&(ue.sizeList=[Te],U.tiles))for(var xe=U.tiles.slice().sort(function(_e,Pe){return _e-Pe}).map(function(_e){return 512*Math.pow(2,_e)}),Ie=0,lt=xe;Ie<lt.length;Ie++){var be=lt[Ie];be>Te&&ue.sizeList.push(be)}}var we=U.images?U.images.luminance:U.luminance;we&&(ue.luminance=Object.freeze({up:panoURL(C,le,we.up,$,t),down:panoURL(C,le,we.down,$,t),right:panoURL(C,le,we.right,$,t),left:panoURL(C,le,we.left,$,t),front:panoURL(C,le,we.front,$,t),back:panoURL(C,le,we.back,$,t)}));var Be=void 0;if(U.images)Be=U.images.tiles;else if(Array.isArray(U.size_list)){var Ke=U.size_list.slice().sort(function(_e,Pe){return _e-Pe});if(Ke[0]){var pt=getTileLevel(Ke[0]);if(pt)for(var je=pt-1;je>=0;je--)Ke.unshift(512*Math.pow(2,je));Be=Ke}}else Array.isArray(U.tiles)&&(Be=U.tiles.slice(),typeof Be[0]=="number"&&(Be=Be.sort(function(_e,Pe){return _e-Pe}).map(function(_e){return 512*Math.pow(2,_e)})));if(Be){for(var Ve=[],Xe=0,it=Be;Xe<it.length;Xe++){var be=it[Xe];if(typeof be=="number"){var ze=getTileLevel(be);if(typeof ze!="number")continue;var We=getImageSizeFromURL(ue.front);if(!We)continue;if(be>We){var Ue=replaceImageSize(ue.up,be),He=replaceImageSize(ue.down,be),Ee=replaceImageSize(ue.right,be),$e=replaceImageSize(ue.left,be),Fe=replaceImageSize(ue.front,be),et=replaceImageSize(ue.back,be);Ve.push(Object.freeze({level:ze,size:be,scale:1,up:Ue,down:He,right:Ee,left:$e,front:Fe,back:et}))}else{var Ue=ue.up,He=ue.down,Ee=ue.right,$e=ue.left,Fe=ue.front,et=ue.back;Ve.push(Object.freeze({level:ze,size:We,scale:be/We,up:Ue,down:He,right:Ee,left:$e,front:Fe,back:et}))}}else{var ze=be.level;if(typeof ze!="number")continue;var Te=be.size;if(typeof Te!="number")continue;var Ue=panoURL(C,le,be.up,$,t),He=panoURL(C,le,be.down,$,t),Ee=panoURL(C,le,be.right,$,t),$e=panoURL(C,le,be.left,$,t),Fe=panoURL(C,le,be.front,$,t),et=panoURL(C,le,be.back,$,t);Ve.push(Object.freeze({level:ze,size:Te,scale:(T=be.scale)!==null&&T!==void 0?T:1,up:Ue,down:He,right:Ee,left:$e,front:Fe,back:et}))}}Ve=sortTile(Ve),Object.freeze(Ve),Object.defineProperty(ue,"tiles",{configurable:!1,get:function(){return Ve}})}Object.freeze(ue),Object.defineProperty(re,"images",{configurable:!1,get:function(){return ue}});var tt=new THREE__namespace.Vector3;if(U.position instanceof THREE__namespace.Vector3)tt.copy(U.position);else if(Array.isArray(U.position))tt.fromArray(U.position);else return"break";Object.freeze(tt),Object.defineProperty(re,"position",{configurable:!1,get:function(){return tt}});var Qe=new THREE__namespace.Vector3;if(U.standingPosition instanceof THREE__namespace.Vector3)Qe.copy(U.standingPosition);else if(Array.isArray(U.standingPosition))Qe.fromArray(U.standingPosition);else if(U.standing_position instanceof THREE__namespace.Vector3)Qe.copy(U.standing_position);else if(Array.isArray(U.standing_position))Qe.fromArray(U.standing_position);else return"break";Object.freeze(Qe),Object.defineProperty(re,"standingPosition",{configurable:!1,get:function(){return Qe}});var Ne=new THREE__namespace.Quaternion;if(U.quaternion instanceof THREE__namespace.Quaternion)Ne.copy(U.quaternion);else if(Array.isArray(U.quaternion))Ne.fromArray(U.quaternion);else if(U.quaternion){var rt=U.quaternion,ot=rt.x,ht=rt.y,ct=rt.z,dt=rt.w;Ne.set(ot,ht,ct,dt)}else return"break";Object.freeze(Ne),Object.defineProperty(re,"quaternion",{configurable:!1,get:function(){return Ne}});var qe=0;isNumber(U.floorIndex)?qe=U.floorIndex:isNumber(U.floor_index)?qe=U.floor_index:isNumber(U.floor)&&(qe=U.floor),Object.defineProperty(re,"floorIndex",{configurable:!1,get:function(){return qe}});var Ce;U.video&&(Ce={},typeof U.video.source=="string"&&(Ce.source=U.video.source),U.video.matrix instanceof THREE__namespace.Matrix4?Ce.matrix=U.video.matrix.clone():Array.isArray(U.video.matrix)&&(Ce.matrix=new THREE__namespace.Matrix4().fromArray(U.video.matrix)),U.video.size instanceof THREE__namespace.Vector2?Ce.size=U.video.size.clone():Array.isArray(U.video.size)&&(Ce.size=new THREE__namespace.Vector2().fromArray(U.video.size)),Ce.source&&Ce.matrix&&Ce.size&&(re.video=Ce)),Object.freeze(Ce),Object.defineProperty(re,"video",{configurable:!1,get:function(){return Ce}}),Array.isArray(U.accessibleNodes)?(re.accessibleNodes=U.accessibleNodes.slice(),re.accessibleIds=U.accessibleNodes.map(function(_e){return panoStringify({workCode:e.workCode,panoIndex:_e})})):Array.isArray(U.accessible_nodes)&&(re.accessibleNodes=U.accessible_nodes.slice(),re.accessibleIds=U.accessible_nodes.map(function(_e){return panoStringify({workCode:e.workCode,panoIndex:_e})})),Array.isArray(U.visibleNodes)?(re.visibleNodes=U.visibleNodes.slice(),re.visibleIds=U.visibleNodes.map(function(_e){return panoStringify({workCode:e.workCode,panoIndex:_e})})):Array.isArray(U.visible_nodes)&&(re.visibleNodes=U.visible_nodes.slice(),re.visibleIds=U.visible_nodes.map(function(_e){return panoStringify({workCode:e.workCode,panoIndex:_e})})),X[$]=re},ne=0;ne<n.observers.length;ne++){var te=Y(ne);if(te==="break")break}}for(var ce=function($){if($.accessibleIds){var ge=$.accessibleIds.filter(function(le){return K.has(le)});Object.freeze(ge),Object.defineProperty($,"accessibleIds",{configurable:!1,get:function(){return ge}})}else{for(var re=[],U=0;U<X.length;U++)X[U]!==$&&(Math.abs(X[U].position.y-$.position.y)>3||X[U].position.distanceTo($.position)>10||re.push(X[U].panoId));Object.freeze(re),Object.defineProperty($,"accessibleIds",{configurable:!1,get:function(){return re}})}if($.accessibleNodes){var me=$.accessibleNodes.filter(function(le){return Z.has(le)});Object.freeze(me),Object.defineProperty($,"accessibleNodes",{configurable:!1,get:function(){return me}})}else{for(var ye=[],U=0;U<X.length;U++)X[U]!==$&&(Math.abs(X[U].position.y-$.position.y)>3||X[U].position.distanceTo($.position)>10||ye.push(X[U].panoIndex));Object.freeze(ye),Object.defineProperty($,"accessibleNodes",{configurable:!1,get:function(){return ye}})}if($.visibleIds){var de=$.visibleIds.filter(function(le){return K.has(le)});Object.freeze(de),Object.defineProperty($,"visibleIds",{configurable:!1,get:function(){return de}})}else{var Re=$.accessibleIds.slice();Object.freeze(Re),Object.defineProperty($,"visibleIds",{configurable:!1,get:function(){return Re}})}if($.visibleNodes){var fe=$.visibleNodes.filter(function(le){return Z.has(le)});Object.freeze(fe),Object.defineProperty($,"visibleNodes",{configurable:!1,get:function(){return fe}})}else{var oe=$.accessibleNodes.slice();Object.freeze(oe),Object.defineProperty($,"visibleNodes",{configurable:!1,get:function(){return oe}})}},ie=0,se=X;ie<se.length;ie++){var Ae=se[ie];ce(Ae)}Object.freeze(X),Object.defineProperty(e,"observers",{configurable:!1,get:function(){return X}})}if(R instanceof Error)return R;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 pe=void 0;isNumber(n.initial.panoIndex)?pe=n.initial.panoIndex:isNumber(n.initial.pano_index)?pe=n.initial.pano_index:isNumber(n.initial.pano)&&(pe=n.initial.pano),typeof pe=="number"&&(pe=clamp$1(pe,0,e.observers.length-1),e.initial.panoIndex=pe)}if(isNumber(n.initial.distance)&&(e.initial.distance=n.initial.distance),Array.isArray(n.initial.offset)){var he=[0,0,0].map(function($,re){var U=Number(n.initial.offset[re]);return isNaN(U)||!isFinite(U)?0:U});e.initial.offset=new THREE__namespace.Vector3().fromArray(he)}!e.initial.mode&&typeof e.initial.panoIndex=="number"&&(e.initial.mode="Panorama")}return R instanceof Error?R:(workRawMapping.set(e,{works:x,options:_}),e)}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+`
1030
1030
  Error work input:
@@ -2157,7 +2157,7 @@ void main() {
2157
2157
  #include <premultiplied_alpha_fragment>
2158
2158
 
2159
2159
  }
2160
- `},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(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),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 i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new LineSegmentsGeometry,i.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,o=new Float32Array(2*r.count),s=new THREE__namespace.Vector3,u=new THREE__namespace.Vector3,c=0,l=0,d=r.count;c<d;c++,l+=2)s.fromBufferAttribute(r,c),u.fromBufferAttribute(i,c),o[l]=l===0?0:o[l-1],o[l+1]=o[l]+s.distanceTo(u);var f=new THREE__namespace.InstancedInterleavedBuffer(o,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(f,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 i=e.ray,o=e.camera,s=o.projectionMatrix,u=this.geometry,c=this.material,l=c.resolution,d=c.linewidth,f=u.attributes.instanceStart,v=u.attributes.instanceEnd,A=new THREE__namespace.Vector4,p=new THREE__namespace.Vector4,h=new THREE__namespace.Vector4,g=new THREE__namespace.Vector3,m=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,E=new THREE__namespace.Vector3;i.at(1,h),h.w=1,h.applyMatrix4(o.matrixWorldInverse),h.applyMatrix4(s),h.multiplyScalar(1/h.w),h.x*=l.x/2,h.y*=l.y/2,h.z=0,g.copy(h);var b=this.matrixWorld;m.multiplyMatrices(o.matrixWorldInverse,b);for(var T=0,_=f.count;T<_;T++){A.fromBufferAttribute(f,T),p.fromBufferAttribute(v,T),A.w=1,p.w=1,A.applyMatrix4(m),p.applyMatrix4(m),A.applyMatrix4(s),p.applyMatrix4(s),A.multiplyScalar(1/A.w),p.multiplyScalar(1/p.w);var x=A.z<-1&&p.z<-1,S=A.z>1&&p.z>1;if(!(x||S)){A.x*=l.x/2,A.y*=l.y/2,p.x*=l.x/2,p.y*=l.y/2,y.start.copy(A),y.start.z=0,y.end.copy(p),y.end.z=0;var P=y.closestPointToPointParameter(g,!0);y.at(P,E);var L=THREE__namespace.MathUtils.lerp(A.z,p.z,P),R=L>=-1&&L<=1,M=g.distanceTo(E)<d*.5;if(R&&M){y.start.fromBufferAttribute(f,T),y.end.fromBufferAttribute(v,T),y.start.applyMatrix4(b),y.end.applyMatrix4(b);var F=new THREE__namespace.Vector3,C=new THREE__namespace.Vector3;i.distanceSqToSegment(y.start,y.end,C,F),r.push({point:C,pointOnLine:F,distance:i.origin.distanceTo(C),object:this,faceIndex:T})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}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,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var i=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(i.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 i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var o=new LineGeometry,s=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});i.line=new Line2(o,s);var u=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 i.points=new THREE__namespace.Points(u,c),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.3.0-alpha.4"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),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 i in e)if(e.hasOwnProperty(i)){var o=e[i];i==="dashed"?(r.dashed=o,o?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.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,i,o){var s,u,c,l,d,f;return i===void 0&&(i=null),o===void 0&&(o=!0),__generator(this,function(v){switch(v.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(s=v.sent(),e.profiles.some(function(A){var p=s[A];return p&&(u={profileId:A,profilePath:"".concat(r,"/").concat(p.path),deprecated:!!p.deprecated}),!!u}),!u){if(!i)throw new Error("No matching profile name found");if(c=s[i],!c)throw new Error('No matching profile name found and default profile "'.concat(i,'" missing.'));u={profileId:i,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(u.profilePath)];case 2:if(l=v.sent(),o){if(f=void 0,f=l.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(u.profileId));f.assetPath&&(d=u.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:l,assetPath:d}]}})})}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,i=Math.sqrt(n*n+t*t);if(i>1){var o=Math.atan2(t,n);e=Math.cos(o),r=Math.sin(o)}var s={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return s}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,i=t.button,o=t.state,s=normalizeAxes(e,r),u=s.normalizedXAxis,c=s.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(o)?u:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(o)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(o)?i:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(o):this.value=this.states.includes(o)?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(i){var o=new VisualResponse(e.visualResponses[i]);r.visualResponses[i]=o}),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(i){i.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var i=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(o){var s=i.layoutDescription.components[o];i.components[o]=new Component(o,s)}),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(i){i instanceof THREE__namespace.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.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(i){var o=i.valueNode,s=i.minNode,u=i.maxNode,c=i.value,l=i.valueNodeProperty;o&&(l===Constants.VisualResponseProperty.VISIBILITY?o.visible=c:l===Constants.VisualResponseProperty.TRANSFORM&&(o.quaternion.copy(s.quaternion).slerp(u.quaternion,c),o.position.lerpVectors(s.position,u.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,o=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var s=new THREE.SphereGeometry(.001),u=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(s,u);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(o).forEach(function(l){var d=l.valueNodeName,f=l.minNodeName,v=l.maxNodeName,A=l.valueNodeProperty;if(A===Constants.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(v),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(v," in the model"));return}}l.valueNode=t.getObjectByName(d),l.valueNode||console.warn("Could not find ".concat(d," 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,i=null;return t.addEventListener("connected",function(o){var s=o.data;s.targetRayMode!=="tracked-pointer"||!s.gamepad||fetchProfile(s,e.path,DEFAULT_PROFILE).then(function(u){var c=u.profile,l=u.assetPath;r.motionController=new MotionController(s,c,l);var d=e._assetCache[r.motionController.assetUrl];if(d)i=d.scene.clone(),addAssetSceneToControllerModel(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),addAssetSceneToControllerModel(r,i)})}}).catch(function(u){console.warn(u)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,ROTATE_Y_PI_MATRIX=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(-1,1,1),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 i=r.xrManager.getController(0);r.controllerWrappers[0].add(i);var o=r.xrManager.getController(1);r.controllerWrappers[1].add(o);var s=new XRControllerModelFactory;s.gltfLoader={load:function(c,l){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var f;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(f=c.split("?")[1])!==null&&f!==void 0?f:"",fetcher:internalFetcher})}).then(function(d){return l(d)})}},(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 u=AnimationFrameLoop.shared.getContext();return u?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(u),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(s.createControllerModel(c)),r.controllerWrappers[0].add(c);var l=r.xrManager.getControllerGrip(1);l.add(s.createControllerModel(l)),r.controllerWrappers[1].add(l)}),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),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var o=this,s,u,c,l,d=(s=r.effect)!==null&&s!==void 0?s:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var v=getImageSizeFromURL(f.images.up),A=this.imageOptions.size;typeof A=="undefined"&&f&&v&&(A=Number(v)),typeof A=="undefined"&&(A=2048);var p=this.imageOptions.transform,h=function(R,M){return mapPanoResource(applyImageURLOptions(R,p,M))},g=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality"])),m=f.images,y=(c=(u=f.images.tiles)===null||u===void 0?void 0:u.filter(function(R){return R.size>A}))!==null&&c!==void 0?c:null,E="pano:"+jsonHash([m,g,p]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===E)return;var b=this.pendingTextureTask.panoId;(l=this.panoMeshes[b])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano}))}var T=this.models.getMaterial()||{},_=T.pano0,x=T.pano1,S;if((_==null?void 0:_.map.name)===E?S=_:(x==null?void 0:x.map.name)===E&&(S=x),S){var P={panoId:f.panoId,effect:d,leftPanoPicture:{zoom:1,map:S.map,luminanceMap:S.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(f.pano,P,r);return}var L="move-to-pano-"+f.panoId;this.pending.add(L),this.pendingTextureTask={panoId:f.panoId,hash:E,onLoad:function(R){if(o.pending.delete(L),o.destroyed)R.body.dispose();else{R.body.name=E;var M={panoId:f.panoId,effect:d,leftPanoPicture:{zoom:1,map:R.body,luminanceMap:null,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};o.doMoveToPano(f.pano,M,r)}},onError:function(R){o.pending.delete(L);var M=__assign(__assign(__assign({},f.pano),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.error",createEvent("pano.error",{error:R,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:M})),o.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:M})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(m,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:h,options:g},format:THREE__namespace.RGBAFormat,minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var M,F;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:f.pano})),((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E&&((F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(R))},this.renderer):this.textureLoader.loadCubeTexture(m,{imageURL:{transform:h,options:g},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var M,F;((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E&&((F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(R)),o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:f.pano}))},this.renderer)]).then(function(R){var M,F,C=R[0];((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E?(o.pendingTextureTask.onLoad(C),(F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:C.meta,pano:f.pano}))):C.body.dispose()}).catch(function(R){var M,F;((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E&&(o.pendingTextureTask.onError(R),(F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:f.pano})),o.emit("error",R))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var o=this,s,u,c,l,d,f,v,A,p,h;i===void 0&&(i={});var g=now(),m=createUuid();this.panoResources[m]=r;var y=1,E,b,T;if(this.locationMotion.ended){var _=this.locationMotion.getKeyFrameSegment(g);_[0];var x=_[1],S=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(x).position,L=r.position;E=Math.max(P.distanceTo(L),y),b=[{key:x.key,progress:0,value:__assign(__assign({},S),{count:0})},{key:m,progress:1,value:{distance:0,count:1}}],T=0}else{var R=this.locationMotion.getKeyFrameSegment(g),M=R[0],x=R[1],S=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(M).position,P=this.panoResourceFromLocationMotionKeyframe(x).position,L=r.position,C=x.value.count-S.count,B=Math.max(F.distanceTo(P),y)*C,H=Math.max(P.distanceTo(L),y);E=B+H,b=[{key:M.key,progress:0,value:__assign({},S)},{key:x.key,progress:B/E,value:x.value},{key:m,progress:1,value:{count:x.value.count+1,distance:0}}];var k=this.locationMotionKeyframesLength(this.locationMotion.keyframes),z=this.locationMotionKeyframesLength(b);T=this.locationMotion.getProgressVelocity(g)*k/z}var V=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?E:0),N={longitude:i.longitude,latitude:i.latitude,fov:i.fov},D=__assign(__assign({},e),{mode:this.mode,longitude:(s=N.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=N.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(c=N.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),q=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:i,prevPano:q,progress:0,state:D,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(D),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(N,V).catch(noop$1);else{var G=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=coordinatesToVector({longitude:(l=N.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(d=N.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),j=new THREE__namespace.Object3D;j.lookAt(G);var K=new THREE__namespace.Matrix4().makeRotationFromQuaternion(j.quaternion);j.lookAt(J);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(j.quaternion),X=new THREE__namespace.Matrix4().getInverse(K).premultiply(Z),ee=this.cameraMotion.value.fov,Y=(f=N.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,ne=1;r.effect==="zoomin"?ne=1.5:r.effect==="zoomout"&&(ne=.4);for(var te=Y*ne,ce=0;ce<b.length-1;ce++){var ie=b[ce].key;if(ie){var se=this.panoResources[ie];se&&(se.fixCameraTransform.copy(X),se.leftPanoPicture&&(se.leftPanoPicture.zoom=Math.tan(ee/2/180*Math.PI)/Math.tan(te/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:(v=N.longitude)!==null&&v!==void 0?v:this.cameraMotion.value.longitude,latitude:(A=N.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:te}},{progress:1,value:{longitude:(p=N.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(h=N.latitude)!==null&&h!==void 0?h:this.cameraMotion.value.latitude,fov:Y}}],V).catch(noop$1)}var Ae=this.locationMotion.setKeyframes(b,V,T);Ae.then(function(){for(var pe,he,$,re=0,U=o.models;re<U.length;re++){var ge=U[re];ge.show()}var ye=__assign(__assign({},e),{mode:o.mode,longitude:o.camera.pose.longitude,latitude:o.camera.pose.latitude,fov:o.camera.pose.fov,offset:o.camera.pose.offset.clone(),distance:0});o.emit("pano.arrived",createEvent("pano.arrived",{options:i,prevPano:q,progress:1,state:ye,userAction:o.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(ye);var me=o.works.getResolvedObserver(o.currentPano);if(me&&me.video&&o.videoTexture&&o.videoTexture.image instanceof HTMLVideoElement){var Re=ROTATE_Y_PI_MATRIX.clone().multiply(($=(he=(pe=o.models.getMaterial())===null||pe===void 0?void 0:pe.pano1)===null||he===void 0?void 0:he.matrix)!==null&&$!==void 0?$:new THREE__namespace.Matrix4).multiply(me.video.matrix),de={map:o.videoTexture,size:me.video.size,matrix:Re,alpha:1},oe=createUuid(),fe=o.videoTexture.image;fe.setAttribute("uuid",oe),canplayVideo().then(function(le){le&&me.video&&fe.getAttribute("uuid")===oe&&(fe.oncanplay=function(){fe.oncanplay=noop$1,fe.play()},fe.ontimeupdate=function(){fe.currentTime>.5&&(fe.ontimeupdate=noop$1,o.panoVideo.setMaterial(de))},fe.src=me.video.source)}).catch(function(){fe.removeAttribute("uuid")})}},function(){o.emit("pano.cancel",createEvent("pano.cancel",{options:i,prevPano:q,progress:0,state:D,userAction:o.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,o,s,u;this.stopMomentumMovement();var c=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),l=null,d=this.works.getResolvedObserver(this.currentPano);if(!d)return null;var f=d.accessibleIds.filter(function(J){var j=panoParse(J);if(panoEqual(j,r.currentPano))return!1;var K=r.works.getResolvedObserver(j);return!K||K.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:K.loadable||K.active}),v=this.models.intersectRaycaster(e)[0];if(v){var A=arrayMin(f,function(J){var j=r.works.getResolvedObserver(J);if(!j)return 1/0;var K=j.standingPosition.clone();return K.distanceTo(v.point)},!0),p=A[0],h=A[1];p&&h<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(p))!==null&&i!==void 0?i:null)}if(isNil(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var m=0,y=this.locationMotion.keyframes;m<y.length;m++){var E=y[m],b=this.panoResourceFromLocationMotionKeyframe(E);if(!(E.progress<this.locationMotion.progress)&&l&&b.panoId===l.panoId){l=null;break}}if(isNil(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var T=l.panoId;this.panoMeshes[T]&&(this.panoMeshes[T].setDisabled(!1),this.panoMeshes[T].setLoading(!0))}var _={};if(l){for(var x=Math.PI/6,S=Math.PI/12,P=new THREE__namespace.Vector3(0,1,0),L=l.position.clone().setY(0).sub(d.position.clone().setY(0)).normalize(),R=L.clone().applyAxisAngle(P,x),M=L.clone().applyAxisAngle(P,-x),F=[],C=[],B=[],H=0,k=l.accessibleIds;H<k.length;H++){var p=k[H],z=panoParse(p);if(!(panoEqual(z,this.currentPano)||panoEqual(z,l.pano))){var V=this.works.getResolvedObserver(p);if(V){var N=V.position.clone().sub(l.position).setY(0);L.angleTo(N)<x?B.push(N):R.angleTo(N)<x?F.push(N):M.angleTo(N)<x&&C.push(N)}}}var D=B.length>0?B:__spreadArray(__spreadArray([],F,!0),C,!0),q=D.slice().sort(function(J,j){return J.angleTo(L)-j.angleTo(L)})[0];q&&q.angleTo(c)>S&&(_.longitude=Math.atan2(-q.x,-q.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(_.latitude=clamp$1(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(_.fov=this.defaultFov);var G={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:(o=_.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=_.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=_.fov)!==null&&u!==void 0?u:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:G,userAction:!0,options:_,progress:0,error:null})),l&&l.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:G,options:_,error:null})),l.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,o,s,u,c,l,d,f,v,A=[],p=2;p<arguments.length;p++)A[p-2]=arguments[p];this.userAction=!0;var h={},g={},m=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),E=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),h.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 b=this.locationMotion.getKeyFrameSegment(e),T=b[0],_=b[1],x=this.panoResourceFromLocationMotionKeyframe(T),S=this.panoResourceFromLocationMotionKeyframe(_),P=new THREE__namespace.Vector3().copy(x.position),L=new THREE__namespace.Vector3().copy(S.position),R=this.locationMotion.value.count-_.value.count+1;h.progress=R,S.leftPanoPicture&&(R<1?x.leftPanoPicture&&(h.pano0=x.leftPanoPicture):h.pano0=S.leftPanoPicture,h.pano1=S.leftPanoPicture),S.effect==="montage"?h.transition="BLACK":S.effect==="spread"?h.transition="SPREAD":h.transition="FADE",(S.effect==="zoomin"||S.effect==="zoomout")&&(h.progress=Math.pow(R,3)),R<1&&S.effect!=="fly"&&(h.pano0&&x.leftPanoPicture&&(h.pano0={map:h.pano0.map,zoom:h.pano0.zoom,luminanceMap:h.pano0.luminanceMap,matrix:x.leftPanoPicture.matrix.clone().setPosition(S.position)}),P.copy(L),E=!0),g.distance=this.locationMotion.value.distance,g.offset=new THREE__namespace.Vector3(P.x+(L.x-P.x)*R,P.y+(L.y-P.y)*R,P.z+(L.z-P.z)*R);for(var M=[],F=[],C=0,B=this.locationMotion.keyframes;C<B.length;C++){var H=B[C],k=H.key,z=H.progress;k!==void 0&&(M.push(k),z>this.locationMotion.progress&&F.push(k))}for(var V=0,N=Object.keys(this.panoResources);V<N.length;V++){var D=N[V];if(!(F.indexOf(D)>=0)){var q=this.panoResources[D];if(q.leftPanoPicture){var G=q.leftPanoPicture.map;if(G){if(G===((o=h.pano0)===null||o===void 0?void 0:o.map)||G===((s=h.pano1)===null||s===void 0?void 0:s.map))continue;G instanceof TileCubeTextureTarget&&G.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(G.cubeRenderTarget),G.dispose(),q.leftPanoPicture=null}}M.indexOf(D)>=0||delete this.panoResources[D]}}this.currentPano=panoParse(S.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(m.panoId),state:__assign(__assign(__assign(__assign({},panoParse(y.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(h)===!1&&(!((u=h.pano0)===null||u===void 0)&&u.map&&h.pano0.map instanceof TileCubeTextureTarget&&!h.pano0.map.cubeRenderTarget&&(h.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=h.pano1)===null||c===void 0)&&c.map&&h.pano1.map instanceof TileCubeTextureTarget&&!h.pano1.map.cubeRenderTarget&&(h.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(h)),isEmptyObject(g)===!1&&this.setCamera(g);var J=this.works.getResolvedObserver(this.currentPano),j=A[1];if(!j){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var K=this.xrManager.referenceSpace;if(K){var Z=this.xrManager.cameraVR,X=this.xrManager.cameraL,ee=this.xrManager.cameraR,Y=[X,ee],ne=j.getViewerPose(K),te=new THREE__namespace.Vector3(0,0,0);if(ne){var ce;ce=this.xrManager.session.renderState.baseLayer;var ie=ne.views;if(!ce){console.error("no layer found");return}this.renderer.setFramebuffer(ce.framebuffer);var se=!1;ie.length!==Z.cameras.length&&(Z.cameras.length=0,se=!0),this.parallaxCameraMatrixs=[];var Ae=new THREE__namespace.Vector3,pe=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(ie[0].transform.matrix).decompose(Ae,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(ie[1].transform.matrix).decompose(pe,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),pe.clone().sub(Ae).normalize();var he=new THREE__namespace.Vector3,$=new THREE__namespace.Quaternion,re=new THREE__namespace.Vector3;this.camera.matrix.decompose(he,$,re);for(var U=0;U<ie.length;U++){var ge=ie[U],ye=ce.getViewport(ge),me=Y[U];me.matrix.fromArray(ge.transform.matrix);var Re=new THREE__namespace.Vector3,de=new THREE__namespace.Quaternion,oe=new THREE__namespace.Vector3;me.matrix.decompose(Re,de,oe),te.copy(he),me.position.copy(he),me.quaternion.copy(de),me.scale.copy(oe),me.updateMatrix(),me.projectionMatrix.fromArray(ge.projectionMatrix),me.viewport.set(ye.x,ye.y,ye.width,ye.height),se===!0&&Z.cameras.push(me)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var U=0;U<this.xrManager.session.inputSources.length;U++)if(this.xrManager.session.inputSources[U]&&this.xrManager.session.inputSources[U].targetRayMode==="transient-pointer"){var fe=j.getPose(this.xrManager.session.inputSources[U].targetRaySpace,K);if(fe){var le=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(fe.transform.orientation),ue=new THREE__namespace.Raycaster(this.camera.position,le);this.gazeRay=ue}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Te=this.xrManager.session.inputSources,U=0;U<Te.length;U++){var xe=this.xrManager.controllers[U],Ie=Te[U];if(Ie){xe&&xe.update(Ie,j,K);var ue=this.xrManager.getController(U),lt=new THREE__namespace.Vector3(0,1.2,0),be=ue.position.clone().add(te).sub(lt);Ie.handedness==="left"?this.xrControllerRay.left.set(be,new THREE__namespace.Vector3(0,0,-1).applyEuler(ue.rotation)):Ie.handedness==="right"&&this.xrControllerRay.right.set(be,new THREE__namespace.Vector3(0,0,-1).applyEuler(ue.rotation)),this.controllerWrappers[U].position.copy(new THREE__namespace.Vector3(0,0,0).add(te).sub(lt));var we=this.models.intersectRaycaster(this.xrControllerRay.right);if(we.length===0&&(we=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(st){var ft;return __assign({floor:(ft=J==null?void 0:J.floorIndex)!==null&&ft!==void 0?ft:0},st)})),we.length>=1&&we[0].face)if(Ie.handedness==="right"){var Be=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Ke=we[0].face.normal,pt=Ke.clone(),je=we[0].point.clone();this.intersectMesh.position.copy(je);var Ve=je.clone().add(pt);if(this.intersectMesh.lookAt(Ve),Math.abs(Ke.y)>.99){var Xe=this.camera.position.clone().sub(je);this.intersectMesh.rotation.z=-Math.atan2(Xe.z,Xe.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Be.length>0?(this.pointerLines.right.setPoints(be,Be[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(be,we[0].point));var it=we[0],ze=createEvent("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:it!=null?it:null,object:this.intersectMesh});if(this.emit("intersect.update",ze),ze.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(be,we[0].point)}}this.updateControllerHelper(Te,e,r)}if(this.camera.pose.distance>.1||E)for(var We=0,Ue=Object.keys(this.panoMeshes);We<Ue.length;We++){var He=Ue[We],Ee=this.panoMeshes[He];Ee.setOpacity(0),Ee.setCurrent(!1),Ee.updateTime&&Ee.updateTime(e,r),Ee.visible=!1}else if(J){var $e=arrayMin(J.visibleIds,function(Le){var Ge=i.works.getResolvedObserver(Le);return Ge?J.standingPosition.distanceTo(Ge.standingPosition):1/0},!0),Fe=$e[1];Fe=clamp$1(Fe,2.5,1/0);for(var et=J.visibleIds.concat(panoStringify(this.currentPano)),tt=this.getForwardObserverOrNot(),Qe=this.camera.getDirection(new THREE__namespace.Vector3),Ne=0,rt=Object.keys(this.panoMeshes);Ne<rt.length;Ne++){var He=rt[Ne],Ee=this.panoMeshes[He],ot=this.works.getResolvedObserver(He);if(et.indexOf(He)===-1)Ee.setCurrent(!1),Ee.setOpacity(0);else if(!ot)Ee.setCurrent(!1),Ee.setOpacity(0);else if(!ot.loadable&&!ot.active)Ee.setCurrent(!1),Ee.setOpacity(0);else{var ht=Ee.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Ee.setCurrent(!Ee.loading&&Ee.progress===0&&tt!==null&&tt.panoId===He),Ee.setOpacity(ht<.01?0:clamp$1(Fe/ht*1.2,.65,.98));var ct=this.camera.position.clone().setY(Ee.position.y),le=new THREE__namespace.Vector3().copy(Ee.position).sub(ct).normalize();if(He===panoStringify(this.currentPano)){var dt=clamp$1((.5-ct.distanceTo(Ee.position))/.5,0,1);le.multiplyScalar(1-dt).add(Qe.clone().multiplyScalar(dt))}le.length()>0&&Ee.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(le.x,le.z),0))}Ee.updateTime&&Ee.updateTime(e,r)}}var qe=function(){return 4}(),Ce=function(){var Le=new THREE__namespace.PerspectiveCamera;Le.applyMatrix4(Z.matrix),Le.position.set(0,0,0);var Ge=i.works.getResolvedObserver(y.panoId),st=Ge!=null?Ge:J;st&&Le.quaternion.premultiply(st.quaternion.clone().inverse()),Le.updateProjectionMatrix(),Le.updateMatrixWorld(!0);var ft=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(Le.projectionMatrix,Le.matrixWorldInverse));return ft}();y.panoId===panoStringify(this.currentPano)&&((d=y.leftPanoPicture)===null||d===void 0?void 0:d.map)instanceof TileCubeTextureTarget&&(y.leftPanoPicture.map.maxRequest=this.tileMaxRequest,y.leftPanoPicture.map.update(Ce,qe),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var _e=this.tiling.object.visible;if(this.initAnimationed){var Pe=y.panoId,ke=this.works.getResolvedObserver(Pe);ke?isSimilarVector3(this.camera.position,ke.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Pe&&this.tiling.cleanup(),this.tiling.panoId=Pe,this.tiling.setResource((v=(f=ke.images)===null||f===void 0?void 0:f.tiles)!==null&&v!==void 0?v:[],this.enableIOSEDR&&ke.images.luminance?ke.images.luminance:null),this.tiling.setFetcher(getFetcher(ke.work)),this.tiling.setRotation(ke.quaternion),this.tiling.setPosition(ke.position),this.tiling.maxRequest=this.tileMaxRequest,qe>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(Ce,qe,e):this.tiling.update(Ce,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;_e!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},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,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var u={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var l=e[c].handedness,d=e[c].gamepad;switch(l){case"left":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"LeftPinch",r));var f={raycaster:o,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,u.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,u.left=f;break;case"right":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"RightPinch",r));var v={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.right=v,u.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,u.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",u))}},t.prototype.emitHandleEvent=function(e,r,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=i,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:o,rightRay:s}}}));else{var u=i-this.xrHandleState[r].touchStartTime;u>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:o,rightRay:s}}}))}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:o,rightRay:s}}}));var u=i-this.xrHandleState[r].touchStartTime;if(u<=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:o,rightRay:s}}}),l=this.emit("xr.gesture.tap",c);!l&&!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},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.DirectionalLight(16777215,.3);t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);n.add(t)}}function parseKeyValue(n){for(var t,e,r={},i=n.split(/(\;|\,)/),o=0,s=i;o<s.length;o++){var u=s[o],c=u.split("="),l=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();l&&d&&(r[l]=d)}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 i=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),o=Number(i["initial-scale"]);if(!isNaN(o))return o}}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=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh=new THREE__namespace.Mesh(geometry,material);mesh.matrixAutoUpdate=!1;var scene=new THREE__namespace.Scene;scene.add(mesh),scene.matrixAutoUpdate=!1;var camera=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera.position.set(0,0,.5),camera.lookAt(0,0,0),camera.updateMatrixWorld(!0),camera.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),i=n.getScissor(prevScissor),o=n.getScissorTest(),s=n.autoClear,u=i.x+imageOffset[0]/3,c=i.y+imageOffset[1]/3,l=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(u,c,l,d),n.setScissor(u,c,l,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(i),n.setScissorTest(o),n.autoClear=s}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 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,sharedFrustum=new THREE__namespace.Frustum,sharedProjScreenMatrix=new THREE__namespace.Matrix4,clockForMixer=new WeakMap,worksMap=new WeakMap,emptyWorks=createWorks([]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,v,A,p=n.call(this)||this;if(p.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[p.ident]=p),p.renderSwitch01=0,p.currentMode="Panorama",p.pano={workCode:"",panoIndex:0},p.needsRender=!1,p.modelSceneNeedsRender=!1,p.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,p.imageOptions=__assign({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),p.textureOptions=__assign({},(o=e.textureOptions)!==null&&o!==void 0?o:{}),p.poweredByRealsee=(s=e.poweredByRealsee)!==null&&s!==void 0?s:!0,p.extraElements=[],p.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)},p.fps={testCount:0,testTime:now()},p.info=null,p.modeChangeDuration=(u=e.modeChangeDuration)!==null&&u!==void 0?u:DEFAULT_MODE_CHANGE_DURATION,p.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&p.throwError(new Error("cannot render a internal renderer")),p.renderer=e.renderer;else try{p.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision});var h=getViewportScale();p.renderer.setPixelRatio(h===1?window.devicePixelRatio:1),p.renderer.setSize(512,512)}catch(L){L instanceof Error&&p.throwError(L)}p.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(d=(l=p.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&d!==void 0?d:THREE__namespace.sRGBEncoding,generateMipmaps:!1});var g=new THREE__namespace.DepthTexture(1,1);g.generateMipmaps=!1,g.format=THREE__namespace.DepthStencilFormat,g.type=THREE__namespace.UnsignedInt248Type,p.modelRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(v=(f=p.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&v!==void 0?v:THREE__namespace.sRGBEncoding,depthTexture:g,generateMipmaps:!1,depthBuffer:!0,stencilBuffer:!0}),p.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),p.camera=new Camera(DEFAULT_CAMERA_FOV),p.scene=new Scene,p.xrCustomObjectsScene=new THREE__namespace.Scene,p.scene.add(p.xrCustomObjectsScene),p.scene.matrixAutoUpdate=!1,p.lastLoadWorkTask=Promise.resolve(),p.requestProxy=(A=e.requestProxy)!==null&&A!==void 0?A:DEFAULT_REQUEST_PROXY,p.networkSubscribe=new NetworkSubscribe,p.networkSubscribe.on("network",function(L,R,M,F){var C;p.emit("network.resource",createEvent("network.resource",{source:L,requestType:R,requestState:M,detail:F})),(C=p.analysis)===null||C===void 0||C.network(p.works,L,R,M,F)}),p.boundingMesh=generateBoundingMesh(new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5))),p.boundingMesh.name="bounding",p.models=createModels(),p.models.push(new Model),p.lastModels=createModels(),p.lastWorks=createWorks([]),p.readyCallbacks=[],p.syncingState=!1,p.helperGroup=new THREE__namespace.Group,p.helperGroup.name="helper",p.helperGroup.matrixAutoUpdate=!1,p.scene.add(p.helperGroup),p.modelGroup=new THREE__namespace.Group,p.modelGroup.visible=!1,p.modelGroup.name="model",p.modelGroup.matrixAutoUpdate=!1,p.modelScene=new THREE__namespace.Scene,p.modelScene.add(p.modelGroup),p.modelScene.add(p.boundingMesh),p.modelScene.matrixAutoUpdate=!1,p.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(p.scene),initLights(p.modelScene),p.state={mode:p.currentMode,workCode:p.pano.workCode,panoIndex:p.pano.panoIndex,longitude:p.camera.pose.longitude,latitude:p.camera.pose.latitude,fov:p.camera.pose.fov,offset:p.camera.pose.offset.clone(),distance:p.camera.pose.distance},p.stateSynced=!1,p._enablePostProcessing=!1,p._enableIOSEDR=!1,p._enableEDL=!1,p._enableHQ=!1,p.destroyed=!1,p.paused=!0,typeof window!="undefined"&&(e.play!==!1&&p.play(),p.stopAnimationLoop=AnimationFrameLoop.shared.add(function(L,R){for(var M=[],F=2;F<arguments.length;F++)M[F-2]=arguments[F];p.updateTime.apply(p,__spreadArray([L,R],M,!1))},!1,0,10));var m=function(){typeof document!="undefined"&&document.fullscreenElement===null&&p.currentMode==="VRPanorama"&&p.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},y=function(){p.needsRender=!0,p.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",m,!1),p.renderer&&p.renderer.domElement.addEventListener("webglcontextrestored",y,!1),p.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",m,!1),p.renderer&&p.renderer.domElement.removeEventListener("webglcontextrestored",y,!1)},p.plugins={},e.plugins&&e.plugins.length)for(var E=0,b=e.plugins;E<b.length;E++){var T=b[E];if(typeof T=="function")T(p);else if(Array.isArray(T)){var _=T[0],x=T[1],S=T[2];if(typeof _=="function"){var P=_(p,S);typeof x=="string"&&(p.plugins[x]?p.throwError(new Error("plugin name ".concat(x," is exists."))):p.plugins[x]=P)}}}return p.gpuPickingRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{generateMipmaps:!1}),p.meshReplaceMaterialMap=new Map,p.meshOriginMaterialMap=new Map,initLegacyEvent(p),p}return Object.defineProperty(t,"version",{get:function(){return"6.3.0-alpha.4"},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.getGPUPicking=function(e,r,i,o,s){var u=this;if(o===void 0&&(o=1),s===void 0&&(s=new THREE__namespace.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:s}),this.scene.traverse(function(f){if(!(!(f instanceof THREE__namespace.Mesh)||f instanceof PBMMesh)){var v=Object.keys(i).filter(function(p){return p===f.uuid})[0];if(v)if(u.meshOriginMaterialMap.set(v,f.material),u.meshReplaceMaterialMap.get(v))f.material=u.meshReplaceMaterialMap.get(v);else{var A=new THREE__namespace.ShaderMaterial({uniforms:{color:{value:i[v]}},vertexShader:`
2160
+ `},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(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),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 i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new LineSegmentsGeometry,i.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,o=new Float32Array(2*r.count),s=new THREE__namespace.Vector3,u=new THREE__namespace.Vector3,c=0,l=0,d=r.count;c<d;c++,l+=2)s.fromBufferAttribute(r,c),u.fromBufferAttribute(i,c),o[l]=l===0?0:o[l-1],o[l+1]=o[l]+s.distanceTo(u);var f=new THREE__namespace.InstancedInterleavedBuffer(o,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(f,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 i=e.ray,o=e.camera,s=o.projectionMatrix,u=this.geometry,c=this.material,l=c.resolution,d=c.linewidth,f=u.attributes.instanceStart,v=u.attributes.instanceEnd,A=new THREE__namespace.Vector4,p=new THREE__namespace.Vector4,h=new THREE__namespace.Vector4,g=new THREE__namespace.Vector3,m=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,E=new THREE__namespace.Vector3;i.at(1,h),h.w=1,h.applyMatrix4(o.matrixWorldInverse),h.applyMatrix4(s),h.multiplyScalar(1/h.w),h.x*=l.x/2,h.y*=l.y/2,h.z=0,g.copy(h);var b=this.matrixWorld;m.multiplyMatrices(o.matrixWorldInverse,b);for(var T=0,_=f.count;T<_;T++){A.fromBufferAttribute(f,T),p.fromBufferAttribute(v,T),A.w=1,p.w=1,A.applyMatrix4(m),p.applyMatrix4(m),A.applyMatrix4(s),p.applyMatrix4(s),A.multiplyScalar(1/A.w),p.multiplyScalar(1/p.w);var x=A.z<-1&&p.z<-1,S=A.z>1&&p.z>1;if(!(x||S)){A.x*=l.x/2,A.y*=l.y/2,p.x*=l.x/2,p.y*=l.y/2,y.start.copy(A),y.start.z=0,y.end.copy(p),y.end.z=0;var P=y.closestPointToPointParameter(g,!0);y.at(P,E);var L=THREE__namespace.MathUtils.lerp(A.z,p.z,P),R=L>=-1&&L<=1,M=g.distanceTo(E)<d*.5;if(R&&M){y.start.fromBufferAttribute(f,T),y.end.fromBufferAttribute(v,T),y.start.applyMatrix4(b),y.end.applyMatrix4(b);var F=new THREE__namespace.Vector3,C=new THREE__namespace.Vector3;i.distanceSqToSegment(y.start,y.end,C,F),r.push({point:C,pointOnLine:F,distance:i.origin.distanceTo(C),object:this,faceIndex:T})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}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,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),o=0;o<r;o+=3)i[2*o]=e[o],i[2*o+1]=e[o+1],i[2*o+2]=e[o+2],i[2*o+3]=e[o+3],i[2*o+4]=e[o+4],i[2*o+5]=e[o+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var i=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(i.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 i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var o=new LineGeometry,s=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});i.line=new Line2(o,s);var u=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 i.points=new THREE__namespace.Points(u,c),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.3.0-alpha.5"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),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 i in e)if(e.hasOwnProperty(i)){var o=e[i];i==="dashed"?(r.dashed=o,o?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.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,i,o){var s,u,c,l,d,f;return i===void 0&&(i=null),o===void 0&&(o=!0),__generator(this,function(v){switch(v.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(s=v.sent(),e.profiles.some(function(A){var p=s[A];return p&&(u={profileId:A,profilePath:"".concat(r,"/").concat(p.path),deprecated:!!p.deprecated}),!!u}),!u){if(!i)throw new Error("No matching profile name found");if(c=s[i],!c)throw new Error('No matching profile name found and default profile "'.concat(i,'" missing.'));u={profileId:i,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(u.profilePath)];case 2:if(l=v.sent(),o){if(f=void 0,f=l.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(u.profileId));f.assetPath&&(d=u.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:l,assetPath:d}]}})})}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,i=Math.sqrt(n*n+t*t);if(i>1){var o=Math.atan2(t,n);e=Math.cos(o),r=Math.sin(o)}var s={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return s}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,i=t.button,o=t.state,s=normalizeAxes(e,r),u=s.normalizedXAxis,c=s.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(o)?u:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(o)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(o)?i:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(o):this.value=this.states.includes(o)?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(i){var o=new VisualResponse(e.visualResponses[i]);r.visualResponses[i]=o}),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(i){i.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var i=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(o){var s=i.layoutDescription.components[o];i.components[o]=new Component(o,s)}),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(i){i instanceof THREE__namespace.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.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(i){var o=i.valueNode,s=i.minNode,u=i.maxNode,c=i.value,l=i.valueNodeProperty;o&&(l===Constants.VisualResponseProperty.VISIBILITY?o.visible=c:l===Constants.VisualResponseProperty.TRANSFORM&&(o.quaternion.copy(s.quaternion).slerp(u.quaternion,c),o.position.lerpVectors(s.position,u.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,o=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var s=new THREE.SphereGeometry(.001),u=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(s,u);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(o).forEach(function(l){var d=l.valueNodeName,f=l.minNodeName,v=l.maxNodeName,A=l.valueNodeProperty;if(A===Constants.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(v),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(v," in the model"));return}}l.valueNode=t.getObjectByName(d),l.valueNode||console.warn("Could not find ".concat(d," 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,i=null;return t.addEventListener("connected",function(o){var s=o.data;s.targetRayMode!=="tracked-pointer"||!s.gamepad||fetchProfile(s,e.path,DEFAULT_PROFILE).then(function(u){var c=u.profile,l=u.assetPath;r.motionController=new MotionController(s,c,l);var d=e._assetCache[r.motionController.assetUrl];if(d)i=d.scene.clone(),addAssetSceneToControllerModel(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),addAssetSceneToControllerModel(r,i)})}}).catch(function(u){console.warn(u)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,ROTATE_Y_PI_MATRIX=new THREE__namespace.Matrix4().makeRotationAxis(new THREE__namespace.Vector3(0,1,0),Math.PI),PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(-1,1,1),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 i=r.xrManager.getController(0);r.controllerWrappers[0].add(i);var o=r.xrManager.getController(1);r.controllerWrappers[1].add(o);var s=new XRControllerModelFactory;s.gltfLoader={load:function(c,l){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var f;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(f=c.split("?")[1])!==null&&f!==void 0?f:"",fetcher:internalFetcher})}).then(function(d){return l(d)})}},(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 u=AnimationFrameLoop.shared.getContext();return u?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(u),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(s.createControllerModel(c)),r.controllerWrappers[0].add(c);var l=r.xrManager.getControllerGrip(1);l.add(s.createControllerModel(l)),r.controllerWrappers[1].add(l)}),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),i=n.initAnimationEndState.call(this,r);return __assign(__assign({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var o=this,s,u,c,l,d=(s=r.effect)!==null&&s!==void 0?s:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var v=getImageSizeFromURL(f.images.up),A=this.imageOptions.size;typeof A=="undefined"&&f&&v&&(A=Number(v)),typeof A=="undefined"&&(A=2048);var p=this.imageOptions.transform,h=function(R,M){return mapPanoResource(applyImageURLOptions(R,p,M))},g=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality"])),m=f.images,y=(c=(u=f.images.tiles)===null||u===void 0?void 0:u.filter(function(R){return R.size>A}))!==null&&c!==void 0?c:null,E="pano:"+jsonHash([m,g,p]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===E)return;var b=this.pendingTextureTask.panoId;(l=this.panoMeshes[b])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano}))}var T=this.models.getMaterial()||{},_=T.pano0,x=T.pano1,S;if((_==null?void 0:_.map.name)===E?S=_:(x==null?void 0:x.map.name)===E&&(S=x),S){var P={panoId:f.panoId,effect:d,leftPanoPicture:{zoom:1,map:S.map,luminanceMap:S.luminanceMap,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(f.pano,P,r);return}var L="move-to-pano-"+f.panoId;this.pending.add(L),this.pendingTextureTask={panoId:f.panoId,hash:E,onLoad:function(R){if(o.pending.delete(L),o.destroyed)R.body.dispose();else{R.body.name=E;var M={panoId:f.panoId,effect:d,leftPanoPicture:{zoom:1,map:R.body,luminanceMap:null,matrix:new THREE__namespace.Matrix4().compose(f.position,f.quaternion,PANO_TEXTURE_SCALE)},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};o.doMoveToPano(f.pano,M,r)}},onError:function(R){o.pending.delete(L);var M=__assign(__assign(__assign({},f.pano),{mode:o.mode}),clonePose(o.camera.pose));o.emit("pano.error",createEvent("pano.error",{error:R,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:M})),o.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:o.userAction,options:r,prevPano:o.currentPano,progress:0,state:M})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(m,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:h,options:g},format:THREE__namespace.RGBAFormat,minFilter:THREE__namespace.LinearFilter,magFilter:THREE__namespace.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var M,F;o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:f.pano})),((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E&&((F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(R))},this.renderer):this.textureLoader.loadCubeTexture(m,{imageURL:{transform:h,options:g},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var M,F;((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E&&((F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(R)),o.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:f.pano}))},this.renderer)]).then(function(R){var M,F,C=R[0];((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E?(o.pendingTextureTask.onLoad(C),(F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:C.meta,pano:f.pano}))):C.body.dispose()}).catch(function(R){var M,F;((M=o.pendingTextureTask)===null||M===void 0?void 0:M.hash)===E&&(o.pendingTextureTask.onError(R),(F=o.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete o.pendingTextureTask,o.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:f.pano})),o.emit("error",R))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var o=this,s,u,c,l,d,f,v,A,p,h;i===void 0&&(i={});var g=now(),m=createUuid();this.panoResources[m]=r;var y=1,E,b,T;if(this.locationMotion.ended){var _=this.locationMotion.getKeyFrameSegment(g);_[0];var x=_[1],S=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(x).position,L=r.position;E=Math.max(P.distanceTo(L),y),b=[{key:x.key,progress:0,value:__assign(__assign({},S),{count:0})},{key:m,progress:1,value:{distance:0,count:1}}],T=0}else{var R=this.locationMotion.getKeyFrameSegment(g),M=R[0],x=R[1],S=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(M).position,P=this.panoResourceFromLocationMotionKeyframe(x).position,L=r.position,C=x.value.count-S.count,B=Math.max(F.distanceTo(P),y)*C,H=Math.max(P.distanceTo(L),y);E=B+H,b=[{key:M.key,progress:0,value:__assign({},S)},{key:x.key,progress:B/E,value:x.value},{key:m,progress:1,value:{count:x.value.count+1,distance:0}}];var k=this.locationMotionKeyframesLength(this.locationMotion.keyframes),z=this.locationMotionKeyframesLength(b);T=this.locationMotion.getProgressVelocity(g)*k/z}var V=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?E:0),N={longitude:i.longitude,latitude:i.latitude,fov:i.fov},D=__assign(__assign({},e),{mode:this.mode,longitude:(s=N.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(u=N.latitude)!==null&&u!==void 0?u:this.camera.pose.latitude,fov:(c=N.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),q=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:i,prevPano:q,progress:0,state:D,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(D),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(N,V).catch(noop$1);else{var G=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=coordinatesToVector({longitude:(l=N.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(d=N.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),j=new THREE__namespace.Object3D;j.lookAt(G);var K=new THREE__namespace.Matrix4().makeRotationFromQuaternion(j.quaternion);j.lookAt(J);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(j.quaternion),X=new THREE__namespace.Matrix4().getInverse(K).premultiply(Z),ee=this.cameraMotion.value.fov,Y=(f=N.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,ne=1;r.effect==="zoomin"?ne=1.5:r.effect==="zoomout"&&(ne=.4);for(var te=Y*ne,ce=0;ce<b.length-1;ce++){var ie=b[ce].key;if(ie){var se=this.panoResources[ie];se&&(se.fixCameraTransform.copy(X),se.leftPanoPicture&&(se.leftPanoPicture.zoom=Math.tan(ee/2/180*Math.PI)/Math.tan(te/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:(v=N.longitude)!==null&&v!==void 0?v:this.cameraMotion.value.longitude,latitude:(A=N.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:te}},{progress:1,value:{longitude:(p=N.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(h=N.latitude)!==null&&h!==void 0?h:this.cameraMotion.value.latitude,fov:Y}}],V).catch(noop$1)}var Ae=this.locationMotion.setKeyframes(b,V,T);Ae.then(function(){for(var pe,he,$,re=0,U=o.models;re<U.length;re++){var ge=U[re];ge.show()}var ye=__assign(__assign({},e),{mode:o.mode,longitude:o.camera.pose.longitude,latitude:o.camera.pose.latitude,fov:o.camera.pose.fov,offset:o.camera.pose.offset.clone(),distance:0});o.emit("pano.arrived",createEvent("pano.arrived",{options:i,prevPano:q,progress:1,state:ye,userAction:o.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(ye);var me=o.works.getResolvedObserver(o.currentPano);if(me&&me.video&&o.videoTexture&&o.videoTexture.image instanceof HTMLVideoElement){var Re=ROTATE_Y_PI_MATRIX.clone().multiply(($=(he=(pe=o.models.getMaterial())===null||pe===void 0?void 0:pe.pano1)===null||he===void 0?void 0:he.matrix)!==null&&$!==void 0?$:new THREE__namespace.Matrix4).multiply(me.video.matrix),de={map:o.videoTexture,size:me.video.size,matrix:Re,alpha:1},oe=createUuid(),fe=o.videoTexture.image;fe.setAttribute("uuid",oe),canplayVideo().then(function(le){le&&me.video&&fe.getAttribute("uuid")===oe&&(fe.oncanplay=function(){fe.oncanplay=noop$1,fe.play()},fe.ontimeupdate=function(){fe.currentTime>.5&&(fe.ontimeupdate=noop$1,o.panoVideo.setMaterial(de))},fe.src=me.video.source)}).catch(function(){fe.removeAttribute("uuid")})}},function(){o.emit("pano.cancel",createEvent("pano.cancel",{options:i,prevPano:q,progress:0,state:D,userAction:o.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,o,s,u;this.stopMomentumMovement();var c=this.camera.getDirection(new THREE__namespace.Vector3).setY(0),l=null,d=this.works.getResolvedObserver(this.currentPano);if(!d)return null;var f=d.accessibleIds.filter(function(J){var j=panoParse(J);if(panoEqual(j,r.currentPano))return!1;var K=r.works.getResolvedObserver(j);return!K||K.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:K.loadable||K.active}),v=this.models.intersectRaycaster(e)[0];if(v){var A=arrayMin(f,function(J){var j=r.works.getResolvedObserver(J);if(!j)return 1/0;var K=j.standingPosition.clone();return K.distanceTo(v.point)},!0),p=A[0],h=A[1];p&&h<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(p))!==null&&i!==void 0?i:null)}if(isNil(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var m=0,y=this.locationMotion.keyframes;m<y.length;m++){var E=y[m],b=this.panoResourceFromLocationMotionKeyframe(E);if(!(E.progress<this.locationMotion.progress)&&l&&b.panoId===l.panoId){l=null;break}}if(isNil(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var T=l.panoId;this.panoMeshes[T]&&(this.panoMeshes[T].setDisabled(!1),this.panoMeshes[T].setLoading(!0))}var _={};if(l){for(var x=Math.PI/6,S=Math.PI/12,P=new THREE__namespace.Vector3(0,1,0),L=l.position.clone().setY(0).sub(d.position.clone().setY(0)).normalize(),R=L.clone().applyAxisAngle(P,x),M=L.clone().applyAxisAngle(P,-x),F=[],C=[],B=[],H=0,k=l.accessibleIds;H<k.length;H++){var p=k[H],z=panoParse(p);if(!(panoEqual(z,this.currentPano)||panoEqual(z,l.pano))){var V=this.works.getResolvedObserver(p);if(V){var N=V.position.clone().sub(l.position).setY(0);L.angleTo(N)<x?B.push(N):R.angleTo(N)<x?F.push(N):M.angleTo(N)<x&&C.push(N)}}}var D=B.length>0?B:__spreadArray(__spreadArray([],F,!0),C,!0),q=D.slice().sort(function(J,j){return J.angleTo(L)-j.angleTo(L)})[0];q&&q.angleTo(c)>S&&(_.longitude=Math.atan2(-q.x,-q.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(_.latitude=clamp$1(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(_.fov=this.defaultFov);var G={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:(o=_.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=_.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=_.fov)!==null&&u!==void 0?u:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:G,userAction:!0,options:_,progress:0,error:null})),l&&l.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:G,options:_,error:null})),l.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,o,s,u,c,l,d,f,v,A=[],p=2;p<arguments.length;p++)A[p-2]=arguments[p];this.userAction=!0;var h={},g={},m=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),E=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),h.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 b=this.locationMotion.getKeyFrameSegment(e),T=b[0],_=b[1],x=this.panoResourceFromLocationMotionKeyframe(T),S=this.panoResourceFromLocationMotionKeyframe(_),P=new THREE__namespace.Vector3().copy(x.position),L=new THREE__namespace.Vector3().copy(S.position),R=this.locationMotion.value.count-_.value.count+1;h.progress=R,S.leftPanoPicture&&(R<1?x.leftPanoPicture&&(h.pano0=x.leftPanoPicture):h.pano0=S.leftPanoPicture,h.pano1=S.leftPanoPicture),S.effect==="montage"?h.transition="BLACK":S.effect==="spread"?h.transition="SPREAD":h.transition="FADE",(S.effect==="zoomin"||S.effect==="zoomout")&&(h.progress=Math.pow(R,3)),R<1&&S.effect!=="fly"&&(h.pano0&&x.leftPanoPicture&&(h.pano0={map:h.pano0.map,zoom:h.pano0.zoom,luminanceMap:h.pano0.luminanceMap,matrix:x.leftPanoPicture.matrix.clone().setPosition(S.position)}),P.copy(L),E=!0),g.distance=this.locationMotion.value.distance,g.offset=new THREE__namespace.Vector3(P.x+(L.x-P.x)*R,P.y+(L.y-P.y)*R,P.z+(L.z-P.z)*R);for(var M=[],F=[],C=0,B=this.locationMotion.keyframes;C<B.length;C++){var H=B[C],k=H.key,z=H.progress;k!==void 0&&(M.push(k),z>this.locationMotion.progress&&F.push(k))}for(var V=0,N=Object.keys(this.panoResources);V<N.length;V++){var D=N[V];if(!(F.indexOf(D)>=0)){var q=this.panoResources[D];if(q.leftPanoPicture){var G=q.leftPanoPicture.map;if(G){if(G===((o=h.pano0)===null||o===void 0?void 0:o.map)||G===((s=h.pano1)===null||s===void 0?void 0:s.map))continue;G instanceof TileCubeTextureTarget&&G.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(G.cubeRenderTarget),G.dispose(),q.leftPanoPicture=null}}M.indexOf(D)>=0||delete this.panoResources[D]}}this.currentPano=panoParse(S.panoId),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(m.panoId),state:__assign(__assign(__assign(__assign({},panoParse(y.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(h)===!1&&(!((u=h.pano0)===null||u===void 0)&&u.map&&h.pano0.map instanceof TileCubeTextureTarget&&!h.pano0.map.cubeRenderTarget&&(h.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((c=h.pano1)===null||c===void 0)&&c.map&&h.pano1.map instanceof TileCubeTextureTarget&&!h.pano1.map.cubeRenderTarget&&(h.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(h)),isEmptyObject(g)===!1&&this.setCamera(g);var J=this.works.getResolvedObserver(this.currentPano),j=A[1];if(!j){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var K=this.xrManager.referenceSpace;if(K){var Z=this.xrManager.cameraVR,X=this.xrManager.cameraL,ee=this.xrManager.cameraR,Y=[X,ee],ne=j.getViewerPose(K),te=new THREE__namespace.Vector3(0,0,0);if(ne){var ce;ce=this.xrManager.session.renderState.baseLayer;var ie=ne.views;if(!ce){console.error("no layer found");return}this.renderer.setFramebuffer(ce.framebuffer);var se=!1;ie.length!==Z.cameras.length&&(Z.cameras.length=0,se=!0),this.parallaxCameraMatrixs=[];var Ae=new THREE__namespace.Vector3,pe=new THREE__namespace.Vector3;new THREE__namespace.Matrix4().fromArray(ie[0].transform.matrix).decompose(Ae,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),new THREE__namespace.Matrix4().fromArray(ie[1].transform.matrix).decompose(pe,new THREE__namespace.Quaternion,new THREE__namespace.Vector3),pe.clone().sub(Ae).normalize();var he=new THREE__namespace.Vector3,$=new THREE__namespace.Quaternion,re=new THREE__namespace.Vector3;this.camera.matrix.decompose(he,$,re);for(var U=0;U<ie.length;U++){var ge=ie[U],ye=ce.getViewport(ge),me=Y[U];me.matrix.fromArray(ge.transform.matrix);var Re=new THREE__namespace.Vector3,de=new THREE__namespace.Quaternion,oe=new THREE__namespace.Vector3;me.matrix.decompose(Re,de,oe),te.copy(he),me.position.copy(he),me.quaternion.copy(de),me.scale.copy(oe),me.updateMatrix(),me.projectionMatrix.fromArray(ge.projectionMatrix),me.viewport.set(ye.x,ye.y,ye.width,ye.height),se===!0&&Z.cameras.push(me)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var U=0;U<this.xrManager.session.inputSources.length;U++)if(this.xrManager.session.inputSources[U]&&this.xrManager.session.inputSources[U].targetRayMode==="transient-pointer"){var fe=j.getPose(this.xrManager.session.inputSources[U].targetRaySpace,K);if(fe){var le=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(fe.transform.orientation),ue=new THREE__namespace.Raycaster(this.camera.position,le);this.gazeRay=ue}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Te=this.xrManager.session.inputSources,U=0;U<Te.length;U++){var xe=this.xrManager.controllers[U],Ie=Te[U];if(Ie){xe&&xe.update(Ie,j,K);var ue=this.xrManager.getController(U),lt=new THREE__namespace.Vector3(0,1.2,0),be=ue.position.clone().add(te).sub(lt);Ie.handedness==="left"?this.xrControllerRay.left.set(be,new THREE__namespace.Vector3(0,0,-1).applyEuler(ue.rotation)):Ie.handedness==="right"&&this.xrControllerRay.right.set(be,new THREE__namespace.Vector3(0,0,-1).applyEuler(ue.rotation)),this.controllerWrappers[U].position.copy(new THREE__namespace.Vector3(0,0,0).add(te).sub(lt));var we=this.models.intersectRaycaster(this.xrControllerRay.right);if(we.length===0&&(we=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(st){var ft;return __assign({floor:(ft=J==null?void 0:J.floorIndex)!==null&&ft!==void 0?ft:0},st)})),we.length>=1&&we[0].face)if(Ie.handedness==="right"){var Be=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Ke=we[0].face.normal,pt=Ke.clone(),je=we[0].point.clone();this.intersectMesh.position.copy(je);var Ve=je.clone().add(pt);if(this.intersectMesh.lookAt(Ve),Math.abs(Ke.y)>.99){var Xe=this.camera.position.clone().sub(je);this.intersectMesh.rotation.z=-Math.atan2(Xe.z,Xe.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Be.length>0?(this.pointerLines.right.setPoints(be,Be[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(be,we[0].point));var it=we[0],ze=createEvent("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:it!=null?it:null,object:this.intersectMesh});if(this.emit("intersect.update",ze),ze.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(be,we[0].point)}}this.updateControllerHelper(Te,e,r)}if(this.camera.pose.distance>.1||E)for(var We=0,Ue=Object.keys(this.panoMeshes);We<Ue.length;We++){var He=Ue[We],Ee=this.panoMeshes[He];Ee.setOpacity(0),Ee.setCurrent(!1),Ee.updateTime&&Ee.updateTime(e,r),Ee.visible=!1}else if(J){var $e=arrayMin(J.visibleIds,function(Le){var Ge=i.works.getResolvedObserver(Le);return Ge?J.standingPosition.distanceTo(Ge.standingPosition):1/0},!0),Fe=$e[1];Fe=clamp$1(Fe,2.5,1/0);for(var et=J.visibleIds.concat(panoStringify(this.currentPano)),tt=this.getForwardObserverOrNot(),Qe=this.camera.getDirection(new THREE__namespace.Vector3),Ne=0,rt=Object.keys(this.panoMeshes);Ne<rt.length;Ne++){var He=rt[Ne],Ee=this.panoMeshes[He],ot=this.works.getResolvedObserver(He);if(et.indexOf(He)===-1)Ee.setCurrent(!1),Ee.setOpacity(0);else if(!ot)Ee.setCurrent(!1),Ee.setOpacity(0);else if(!ot.loadable&&!ot.active)Ee.setCurrent(!1),Ee.setOpacity(0);else{var ht=Ee.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Ee.setCurrent(!Ee.loading&&Ee.progress===0&&tt!==null&&tt.panoId===He),Ee.setOpacity(ht<.01?0:clamp$1(Fe/ht*1.2,.65,.98));var ct=this.camera.position.clone().setY(Ee.position.y),le=new THREE__namespace.Vector3().copy(Ee.position).sub(ct).normalize();if(He===panoStringify(this.currentPano)){var dt=clamp$1((.5-ct.distanceTo(Ee.position))/.5,0,1);le.multiplyScalar(1-dt).add(Qe.clone().multiplyScalar(dt))}le.length()>0&&Ee.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(le.x,le.z),0))}Ee.updateTime&&Ee.updateTime(e,r)}}var qe=function(){return 4}(),Ce=function(){var Le=new THREE__namespace.PerspectiveCamera;Le.applyMatrix4(Z.matrix),Le.position.set(0,0,0);var Ge=i.works.getResolvedObserver(y.panoId),st=Ge!=null?Ge:J;st&&Le.quaternion.premultiply(st.quaternion.clone().inverse()),Le.updateProjectionMatrix(),Le.updateMatrixWorld(!0);var ft=new THREE__namespace.Frustum().setFromProjectionMatrix(new THREE__namespace.Matrix4().multiplyMatrices(Le.projectionMatrix,Le.matrixWorldInverse));return ft}();y.panoId===panoStringify(this.currentPano)&&((d=y.leftPanoPicture)===null||d===void 0?void 0:d.map)instanceof TileCubeTextureTarget&&(y.leftPanoPicture.map.maxRequest=this.tileMaxRequest,y.leftPanoPicture.map.update(Ce,qe),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var _e=this.tiling.object.visible;if(this.initAnimationed){var Pe=y.panoId,ke=this.works.getResolvedObserver(Pe);ke?isSimilarVector3(this.camera.position,ke.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Pe&&this.tiling.cleanup(),this.tiling.panoId=Pe,this.tiling.setResource((v=(f=ke.images)===null||f===void 0?void 0:f.tiles)!==null&&v!==void 0?v:[],this.enableIOSEDR&&ke.images.luminance?ke.images.luminance:null),this.tiling.setFetcher(getFetcher(ke.work)),this.tiling.setRotation(ke.quaternion),this.tiling.setPosition(ke.position),this.tiling.maxRequest=this.tileMaxRequest,qe>this.TILED_CUBE_TEXTURE_LEVEL?this.tiling.update(Ce,qe,e):this.tiling.update(Ce,0,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;_e!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},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,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var u={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var l=e[c].handedness,d=e[c].gamepad;switch(l){case"left":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"LeftPinch",r));var f={raycaster:o,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,u.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,u.left=f;break;case"right":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"RightPinch",r));var v={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:i};u.right=v,u.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,u.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,u.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,u.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",u))}},t.prototype.emitHandleEvent=function(e,r,i){var o=this.xrControllerRay.left,s=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=i,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:o,rightRay:s}}}));else{var u=i-this.xrHandleState[r].touchStartTime;u>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:o,rightRay:s}}}))}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:o,rightRay:s}}}));var u=i-this.xrHandleState[r].touchStartTime;if(u<=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:o,rightRay:s}}}),l=this.emit("xr.gesture.tap",c);!l&&!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},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.DirectionalLight(16777215,.3);t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);n.add(t)}}function parseKeyValue(n){for(var t,e,r={},i=n.split(/(\;|\,)/),o=0,s=i;o<s.length;o++){var u=s[o],c=u.split("="),l=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();l&&d&&(r[l]=d)}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 i=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),o=Number(i["initial-scale"]);if(!isNaN(o))return o}}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=new THREE__namespace.BufferGeometry;geometry.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh=new THREE__namespace.Mesh(geometry,material);mesh.matrixAutoUpdate=!1;var scene=new THREE__namespace.Scene;scene.add(mesh),scene.matrixAutoUpdate=!1;var camera=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera.position.set(0,0,.5),camera.lookAt(0,0,0),camera.updateMatrixWorld(!0),camera.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),i=n.getScissor(prevScissor),o=n.getScissorTest(),s=n.autoClear,u=i.x+imageOffset[0]/3,c=i.y+imageOffset[1]/3,l=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(u,c,l,d),n.setScissor(u,c,l,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(i),n.setScissorTest(o),n.autoClear=s}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 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,sharedFrustum=new THREE__namespace.Frustum,sharedProjScreenMatrix=new THREE__namespace.Matrix4,clockForMixer=new WeakMap,worksMap=new WeakMap,emptyWorks=createWorks([]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,i,o,s,u,c,l,d,f,v,A,p=n.call(this)||this;if(p.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[p.ident]=p),p.renderSwitch01=0,p.currentMode="Panorama",p.pano={workCode:"",panoIndex:0},p.needsRender=!1,p.modelSceneNeedsRender=!1,p.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,p.imageOptions=__assign({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),p.textureOptions=__assign({},(o=e.textureOptions)!==null&&o!==void 0?o:{}),p.poweredByRealsee=(s=e.poweredByRealsee)!==null&&s!==void 0?s:!0,p.extraElements=[],p.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)},p.fps={testCount:0,testTime:now()},p.info=null,p.modeChangeDuration=(u=e.modeChangeDuration)!==null&&u!==void 0?u:DEFAULT_MODE_CHANGE_DURATION,p.enableWheel=(c=e.enableWheel)!==null&&c!==void 0?c:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&p.throwError(new Error("cannot render a internal renderer")),p.renderer=e.renderer;else try{p.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision});var h=getViewportScale();p.renderer.setPixelRatio(h===1?window.devicePixelRatio:1),p.renderer.setSize(512,512)}catch(L){L instanceof Error&&p.throwError(L)}p.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(d=(l=p.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&d!==void 0?d:THREE__namespace.sRGBEncoding,generateMipmaps:!1});var g=new THREE__namespace.DepthTexture(1,1);g.generateMipmaps=!1,g.format=THREE__namespace.DepthStencilFormat,g.type=THREE__namespace.UnsignedInt248Type,p.modelRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(v=(f=p.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&v!==void 0?v:THREE__namespace.sRGBEncoding,depthTexture:g,generateMipmaps:!1,depthBuffer:!0,stencilBuffer:!0}),p.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),p.camera=new Camera(DEFAULT_CAMERA_FOV),p.scene=new Scene,p.xrCustomObjectsScene=new THREE__namespace.Scene,p.scene.add(p.xrCustomObjectsScene),p.scene.matrixAutoUpdate=!1,p.lastLoadWorkTask=Promise.resolve(),p.requestProxy=(A=e.requestProxy)!==null&&A!==void 0?A:DEFAULT_REQUEST_PROXY,p.networkSubscribe=new NetworkSubscribe,p.networkSubscribe.on("network",function(L,R,M,F){var C;p.emit("network.resource",createEvent("network.resource",{source:L,requestType:R,requestState:M,detail:F})),(C=p.analysis)===null||C===void 0||C.network(p.works,L,R,M,F)}),p.boundingMesh=generateBoundingMesh(new THREE__namespace.Box3(new THREE__namespace.Vector3(-.5,-.5,-.5),new THREE__namespace.Vector3(.5,.5,.5))),p.boundingMesh.name="bounding",p.models=createModels(),p.models.push(new Model),p.lastModels=createModels(),p.lastWorks=createWorks([]),p.readyCallbacks=[],p.syncingState=!1,p.helperGroup=new THREE__namespace.Group,p.helperGroup.name="helper",p.helperGroup.matrixAutoUpdate=!1,p.scene.add(p.helperGroup),p.modelGroup=new THREE__namespace.Group,p.modelGroup.visible=!1,p.modelGroup.name="model",p.modelGroup.matrixAutoUpdate=!1,p.modelScene=new THREE__namespace.Scene,p.modelScene.add(p.modelGroup),p.modelScene.add(p.boundingMesh),p.modelScene.matrixAutoUpdate=!1,p.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement()),initLights(p.scene),initLights(p.modelScene),p.state={mode:p.currentMode,workCode:p.pano.workCode,panoIndex:p.pano.panoIndex,longitude:p.camera.pose.longitude,latitude:p.camera.pose.latitude,fov:p.camera.pose.fov,offset:p.camera.pose.offset.clone(),distance:p.camera.pose.distance},p.stateSynced=!1,p._enablePostProcessing=!1,p._enableIOSEDR=!1,p._enableEDL=!1,p._enableHQ=!1,p.destroyed=!1,p.paused=!0,typeof window!="undefined"&&(e.play!==!1&&p.play(),p.stopAnimationLoop=AnimationFrameLoop.shared.add(function(L,R){for(var M=[],F=2;F<arguments.length;F++)M[F-2]=arguments[F];p.updateTime.apply(p,__spreadArray([L,R],M,!1))},!1,0,10));var m=function(){typeof document!="undefined"&&document.fullscreenElement===null&&p.currentMode==="VRPanorama"&&p.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},y=function(){p.needsRender=!0,p.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",m,!1),p.renderer&&p.renderer.domElement.addEventListener("webglcontextrestored",y,!1),p.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",m,!1),p.renderer&&p.renderer.domElement.removeEventListener("webglcontextrestored",y,!1)},p.plugins={},e.plugins&&e.plugins.length)for(var E=0,b=e.plugins;E<b.length;E++){var T=b[E];if(typeof T=="function")T(p);else if(Array.isArray(T)){var _=T[0],x=T[1],S=T[2];if(typeof _=="function"){var P=_(p,S);typeof x=="string"&&(p.plugins[x]?p.throwError(new Error("plugin name ".concat(x," is exists."))):p.plugins[x]=P)}}}return p.gpuPickingRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{generateMipmaps:!1}),p.meshReplaceMaterialMap=new Map,p.meshOriginMaterialMap=new Map,initLegacyEvent(p),p}return Object.defineProperty(t,"version",{get:function(){return"6.3.0-alpha.5"},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.getGPUPicking=function(e,r,i,o,s){var u=this;if(o===void 0&&(o=1),s===void 0&&(s=new THREE__namespace.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:s}),this.scene.traverse(function(f){if(!(!(f instanceof THREE__namespace.Mesh)||f instanceof PBMMesh)){var v=Object.keys(i).filter(function(p){return p===f.uuid})[0];if(v)if(u.meshOriginMaterialMap.set(v,f.material),u.meshReplaceMaterialMap.get(v))f.material=u.meshReplaceMaterialMap.get(v);else{var A=new THREE__namespace.ShaderMaterial({uniforms:{color:{value:i[v]}},vertexShader:`
2161
2161
  void main() {
2162
2162
  vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
2163
2163
  gl_Position = projectionMatrix * mvPosition;