@realsee/five 6.8.0-alpha.10 → 6.8.0-alpha.11

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/five/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2/27/2026
5
- * Version: 6.8.0-alpha.10
4
+ * Generated: 2/28/2026
5
+ * Version: 6.8.0-alpha.11
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -447,7 +447,7 @@ self.onmessage = function(event) {
447
447
  }
448
448
  postMessage({ id: packet.id, error: "type never matched." });
449
449
  };
450
- `),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob$4=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob$4)}catch(n){}var LZMAWorker=(function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var o=r.data,u=o.id,s=o.result,l=o.error,c=t.getKey(u);t.requests[c]&&(l?t.requests[c](new Error(l)):t.requests[c](null,s),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n})();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(s){var l={data:n[s],offset:0,readByte:function(){return this.data[this.offset++]}},c=l.data.length,f={data:[],offset:0,writeByte:function(d){var h=Math.floor(this.offset/c);this.data[h]||(this.data[h]=new Uint8Array(c)),this.data[h][this.offset%c]=d,this.offset++}};LZMA.decompressFile(l,f),o=new Uint8Array(f.offset);for(var p=0;p<f.offset;p++)o[p]=f.data[Math.floor(p/c)][p%c];t.push(o)},o,u=0;u<e;u++)r(u);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(u){t.push(new Promise(function(s,l){var c=new LZMAWorker;c.decompress(n[u],function(f,p){if(c.terminate(),f)return l(f);s(p)})}))},o=0;o<e;o++)r(o);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],o=[],u=4+e*4,s=0;s<e;s++)o[s]=readUint32(t.slice(4+s*4,8+s*4)),s===e-1?r[s]=t.subarray(u,u+o[s]):r[s]=t.slice(u,u+o[s]),u+=o[s];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}function loadAt3d(n,t){var e,r,o,u,s,l,c;t===void 0&&(t={});for(var f=(e=t.upAxis)!==null&&e!==void 0?e:"Z",p=(r=t.light)!==null&&r!==void 0?r:!1,d=(o=t.fetcher)!==null&&o!==void 0?o:internalFetcher,h=(u=t.onDownloadProgress)!==null&&u!==void 0?u:noop,m=(s=t.textureBaseUri)!==null&&s!==void 0?s:guessTextureBaseUriFromFileUrl(n),A=t.textureBaseUri===void 0?[]:((l=t.textureArray)!==null&&l!==void 0?l:[]).slice(),g=autoRestImageOptionsByTextureLength((c=t.textureOptions)!==null&&c!==void 0?c:{},A.length),b=new Map,v=0,y=A;v<y.length;v++){var E=y[v],_=isAbsoluteURL(E)?E:pathJoin(m,E);b.set(_,loadTexture$1(_,g,d))}var T={byteLength:0};return Promise.resolve().then(function(){return d.ajax(n,{responseType:"arraybuffer"},void 0,void 0,h)}).then(function(S){return lzma(S.body)}).then(function(S){for(var R={chunks:[],createAt:void 0,description:void 0},w=0,I=S;w<I.length;w++){var P=I[w],C=Model$2.decode(P);if(C.chunks.length){for(var M=0;M<C.chunks.length;M++)R.chunks.push(C.chunks[M]);R.createAt=C.createAt,R.description=C.description}}return R}).then(function(S){return parse$4(S,p,m,A,g,b,d)}).then(function(S){b.clear();var R=new THREE__namespace.Group;R.name=n;for(var w=0,I=S.objects;w<I.length;w++){var P=I[w];R.add(P)}return f==="Y"&&R.applyMatrix4(ROTATE_X_MATRIX_INVERSE$1),{type:"at3d",modelUpAxis:"Z",upAxis:f,uri:n,byteLength:T.byteLength,memoryUsage:getMemoryUsage(R),scene:R,textures:S.textures,animations:[],dispose:function(){return S.dispose()}}})}const $Reader=minimalExports.Reader,$util=minimalExports.util,$root=minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/dome.proto"]||(minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Model;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.meshes&&s.meshes.length||(s.meshes=[]),s.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Mesh;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.name=e.string();break}case 2:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{s.matrix&&s.matrix.length||(s.matrix=[]),s.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})();$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Matrix;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.elements&&s.elements.length||(s.elements=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.elements.push(e.float())}else s.elements.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})();$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Chunk;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 2:{s.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{s.material&&s.material.length||(s.material=[]),s.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})();$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Geometry;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.position=$root.Position.decode(e,e.uint32());break}case 2:{s.uv=$root.UV.decode(e,e.uint32());break}case 3:{s.uv2=$root.UV.decode(e,e.uint32());break}case 4:{s.normal=$root.Normal.decode(e,e.uint32());break}case 5:{s.groups&&s.groups.length||(s.groups=[]),s.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:s});if(!s.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})();$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Position;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})();$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.UV;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})();$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Normal;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})();$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Group;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.start=e.uint32();break}case 2:{s.count=e.uint32();break}case 3:{s.materialIndex=e.uint32();break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:s});if(!s.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:s});if(!s.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})();$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Material;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.kd=$root.Color.decode(e,e.uint32());break}case 2:{s.ks=$root.Color.decode(e,e.uint32());break}case 3:{s.ke=$root.Color.decode(e,e.uint32());break}case 4:{s.mapkd=e.string();break}case 5:{s.mapks=e.string();break}case 6:{s.mapke=e.string();break}case 7:{s.norm=e.string();break}case 8:{s.mapbump=e.string();break}case 9:{s.bump=e.string();break}case 10:{s.mapd=e.string();break}case 11:{s.ns=e.float();break}case 12:{s.d=e.float();break}case 13:{s.tr=e.float();break}case 14:{s.mapkdrepeat=e.string();break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})();$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Color;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.rgb&&s.rgb.length||(s.rgb=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.rgb.push(e.float())}else s.rgb.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function loadDome(n,t){var e,r,o;t===void 0&&(t={});var u=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:internalFetcher,l=(o=t.onDownloadProgress)!==null&&o!==void 0?o:noop,c={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"},void 0,void 0,l)}).then(function(f){var p,d;return c.byteLength=f.body.byteLength,parse$3(new Uint8Array(f.body),(p=t.light)!==null&&p!==void 0?p:!0,t.textureBaseUri||"",(d=t.textureOptions)!==null&&d!==void 0?d:{},s)}).then(function(f){var p=new THREE__namespace.Group;p.matrixAutoUpdate=!1,u==="Z"&&p.applyMatrix4(ROTATE_X_MATRIX$1),p.matrix.compose(p.position,p.quaternion,p.scale),p.name=n;for(var d=0,h=f.objects;d<h.length;d++){var m=h[d];p.add(m)}return{type:"dome",modelUpAxis:"Y",upAxis:u,uri:n,byteLength:c.byteLength,memoryUsage:getMemoryUsage(p),scene:p,textures:f.textures,animations:[],dispose:function(){return f.dispose()}}})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,o=n.uv2,u=n.groups,s=new THREE__namespace.BufferGeometry;s.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&s.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&s.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),o&&s.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=u;l<c.length;l++){var f=c[l];s.addGroup(f.start,f.count,f.materialIndex)}return s}function loadTexture(n,t,e,r,o,u,s){if(s.hasOwnProperty(n))return s[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var l=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","forceUseExifOrientation","mappings"])),c=s[n]=o.loadTexture(n,{imageURL:{transform:e.transform,options:l},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:u}).then(function(f){var p=f.body;return r&&p.repeat.copy(r),p.needsUpdate=!0,p.updateMatrix(),p});return c}function parseMaterial(n,t,e,r,o,u,s,l,c){var f=[],p=new PBMMeshMaterial(t?"phong":"basic");if(l.add(p),n.kd&&(p.color=new THREE__namespace.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var d=null;if(n.mapkdrepeat){var h=n.mapkdrepeat.split(/\s+/).map(function(b){return Number(b)}),m=h[0],A=h[1];d=new THREE__namespace.Vector2(m,A)}f.push(loadTexture(n.mapkd,e,r,d,o,u,s).then(function(b){b.encoding=THREE__namespace.sRGBEncoding,p.map=b,l.add(b),c.add(b),p.needsUpdate=!0}).catch(noop))}if(n.ks&&(p.specular=new THREE__namespace.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&f.push(loadTexture(n.mapks,e,r,null,o,u,s).then(function(b){p.specularMap=b,l.add(b),c.add(b)}).catch(noop)),n.ke&&(p.emissive=new THREE__namespace.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&f.push(loadTexture(n.mapke,e,r,null,o,u,s).then(function(b){b.encoding=THREE__namespace.sRGBEncoding,p.emissiveMap=b,l.add(b),c.add(b)}).catch(noop)),n.norm&&f.push(loadTexture(n.norm,e,r,null,o,u,s).then(function(b){p.normalMap=b,l.add(b),c.add(b)}).catch(noop)),n.mapbump&&f.push(loadTexture(n.mapbump,e,r,null,o,u,s).then(function(b){p.bumpMap=b,l.add(b),c.add(b)}).catch(noop)),n.bump&&f.push(loadTexture(n.bump,e,r,null,o,u,s).then(function(b){p.bumpMap=b,l.add(b),c.add(b)}).catch(noop)),typeof n.ns=="number"&&(p.shininess=n.ns),typeof n.d=="number"){var g=n.d;g>0&&g<1&&(p.opacity=g)}return p.floorIndex=0,{material:p,textureReady:Promise.all(f).then(noop)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$3(n,t,e,r,o){for(var u=[],s=[],l=new Set,c=fromProtoBuf(n),f=new TextureLoader,p=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,h=new THREE__namespace.Quaternion,m=new THREE__namespace.Vector3,A={},g=new Set,b=0,v=c;b<v.length;b++){var y=v[b],E=y.name,_=y.chunks,T=y.matrix;if(!(E==="Ceiling"||E==="CeilingDrop"))for(var S=0,R=T;S<R.length;S++){var w=R[S];p.elements=w.elements;for(var I=new THREE__namespace.Group,P=0;P<_.length;P++){var C=parseGeometry(_[P].geometry);C.applyMatrix4(p),p.decompose(d,h,m),m.x*m.y*m.z<0&&C.attributes.normal&&C.attributes.position&&C.attributes.uv&&flipBufferGeometryNormals(C),l.add(C);for(var M=[],F=0,k=_[P].material;F<k.length;F++){var O=k[F],N=parseMaterial(O,t,e||"",r,f,o,A,l,g),q=N.material,j=N.textureReady;s.push(j),M.push(q)}var L=new PBMMesh(C,M);L.name="chunk_"+P,L.matrix.compose(L.position,L.quaternion,L.scale),L.matrixAutoUpdate=!1,L.frustumCulled=!1,I.add(L)}I.name=E,u.push(I)}}return Promise.all(s).catch(noop).then(function(){return{createAt:0,description:"",objects:u,textures:Array.from(g),dispose:function(){l.forEach(function(z){z.dispose()}),l.clear()}}})}function loadDomez(n,t){var e,r,o;t===void 0&&(t={});var u=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:internalFetcher,l=(o=t.onDownloadProgress)!==null&&o!==void 0?o:noop,c={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"},void 0,void 0,l)}).then(function(f){return c.byteLength=f.body.byteLength,lzma(f.body)}).then(function(f){var p=f.reduce(function(m,A){return m+A.length},0),d=new Uint8Array(p),h=0;return f.forEach(function(m){d.set(m,h),h+=m.length}),d}).then(function(f){var p,d;return parse$3(f,(p=t.light)!==null&&p!==void 0?p:!0,t.textureBaseUri||"",(d=t.textureOptions)!==null&&d!==void 0?d:{},s)}).then(function(f){var p=new THREE__namespace.Group;p.matrixAutoUpdate=!1,u==="Z"&&p.applyMatrix4(ROTATE_X_MATRIX$1),p.matrix.compose(p.position,p.quaternion,p.scale),p.name=n;for(var d=0,h=f.objects;d<h.length;d++){var m=h[d];p.add(m)}return{type:"domez",modelUpAxis:"Y",upAxis:"Z",uri:n,byteLength:c.byteLength,memoryUsage:getMemoryUsage(p),scene:p,textures:f.textures,animations:[],dispose:function(){return f.dispose()}}})}var SIZEOF_UINT32$1=4;function parseHeader$1(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$4,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$4={},_a$4[GL_TYPE.DOUBLE]=Float64Array,_a$4[GL_TYPE.FLOAT]=Float32Array,_a$4[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$4[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$4[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$4[GL_TYPE.BYTE]=Int8Array,_a$4[GL_TYPE.SHORT]=Int16Array,_a$4[GL_TYPE.INT]=Int32Array,_a$4),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var o=getArrayType(n);if(e%getByteSize(n)!==0){var u=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new o(u)}else return new o(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=(function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var o=this.json[t];if(typeof o=="number"){var u=getArrayType(e);return new u([o])}else if(Array.isArray(o)){var u=getArrayType(e);return new u(o)}else if(o&&Number.isFinite(o.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,o.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(e=glTypeFromName(o.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,o.byteOffset)):this.getTypedArrayFromArray(t,e,o)},n.prototype.getProperty=function(t,e,r,o,u){var s=this.json[t];if(!s)return null;var l=this.getPropertyArray(t,e,r);if(r===1)return u[0]=l[o],u;for(var c=0;c<r;++c)u[c]=l[r*o+c];return u},n.prototype.getTypedArrayFromBinary=function(t,e,r,o,u){var s=this.cachedTypedArrays,l=s[t];return l||(l=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+u,o*r),s[t]=l),l},n.prototype.getTypedArrayFromArray=function(t,e,r){var o=this.cachedTypedArrays,u=o[t];return u||(u=createTypedArray(e,r),o[t]=u),u},n})(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),o=new Uint8Array(n,t,e),u=r.decode(o);return u}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),o=0;n.header=n.header||{};var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,l>=570425344?(e-=SIZEOF_UINT32*2,o=u,l=s,c=0,u=0,s=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,o=l,l=u,c=s,u=0,s=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=u,n.header.featureTableBinaryByteLength=s,n.header.batchTableJsonByteLength=l,n.header.batchTableBinaryByteLength=c,n.header.batchLength=o,e}function parseFeatureTable(n,t,e){var r=n.header||{},o=r.featureTableJsonByteLength,u=r.featureTableBinaryByteLength,s=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:s||0},o&&o>0){var l=getStringFromArrayBuffer(t,e,o);n.featureTableJson=JSON.parse(l)}e+=o||0,n.featureTableBinary=new Uint8Array(t,e,u),e+=u||0;var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var f=c.json.RTC_CENTER;n.rtcCenter=[f[0],f[1],f[2]]}else{var f=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);f&&(n.rtcCenter=[f[0],f[1],f[2]])}return e}function parseBatchTable(n,t,e){var r=n.header||{},o=r.batchTableJsonByteLength,u=r.batchTableBinaryByteLength;if(o&&o>0){var s=getStringFromArrayBuffer(t,e,o);n.batchTableJson=JSON.parse(s),e+=o,u&&u>0&&(n.batchTableBinary=new Uint8Array(t,e,u),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=u)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),o=new Uint8Array(r);return o.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(o){return t}}var WEBGL_CONSTANTS={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",TEXCOORD_2:"uv3",TEXCOORD_3:"uv4",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}function composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var o=r[e];typeof o.dispose=="function"&&o.dispose(),typeof o.close=="function"&&o.close()}}}var Parser=(function(){function n(t,e,r){if(this.json=t,this.json.materials){for(var o=new Set,u=0,s=this.json.materials;u<s.length;u++){var l=s[u];if(typeof l.name=="string")for(var c=0;;){var f=l.name+(c>0?"__".concat(c):"");if(!o.has(f)){o.add(f),l.name=f;break}console.warn('glTF: material name "'.concat(l.name,'" duplicated.')),c++}}o.clear()}if(this.json.nodes){for(var o=new Set,p=0,d=this.json.nodes;p<d.length;p++){var h=d[p];if(typeof h.name=="string")for(var c=0;;){var m=h.name+(c>0?"__".concat(c):"");if(!o.has(m)){o.add(m),h.name=m;break}console.warn('glTF: node name "'.concat(h.name,'" duplicated.')),c++}}o.clear()}this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],o=0,u=e.length;o<u;o++)for(var s=e[o].joints,l=0,c=s.length;l<c;l++)t[s[l]].isBone=!0;for(var f=0,p=t.length;f<p;f++){var d=t[f];d.mesh!==void 0&&d.skin!==void 0&&(r[d.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var o=0,u=values(r);o<u.length;o++){var s=u[o];s.markDefs(this)}return Promise.all(values(r).map(function(l){return l.prepare(t)})).then(function(){var l,c,f;return Promise.all([Promise.all(((l=e.scenes)!==null&&l!==void 0?l:[]).map(function(p,d){return t.loadScene(d)})),Promise.all(((c=e.cameras)!==null&&c!==void 0?c:[]).map(function(p,d){return t.loadCamera(d)})),Promise.all(((f=e.animations)!==null&&f!==void 0?f:[]).map(function(p,d){return t.loadAnimation(d)}))])}).then(function(l){var c=l[0],f=l[1],p=l[2],d={json:e,scene:c[e.scene||0],scenes:c,animations:p,cameras:f,textures:[],dispose:noop};return d}).then(function(l){return Promise.all(values(r).map(function(c){return c.emitResult(l,t)})).then(function(){return l})}).then(function(l){var c=Array.from(t.textureSet),f=composeDsiposeSet(t.disposeSet);return Object.assign(l,{textures:c,dispose:f}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),l})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,u=0,s=values(this.extensions);u<s.length;u++){var l=s[u];if(o=l.loadCamera(t,this),o)break}if(!o){var c=void 0,f=this.json.cameras[t],p=f[f.type];p?f.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(p.yfov),p.aspectRatio||1,p.znear||1,p.zfar||2e6):f.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-p.xmag,p.xmag,p.ymag,-p.ymag,p.znear,p.zfar):(console.warn("glTF: Invalid camera type ".concat(f.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),f.name&&(c.name=f.name),o=Promise.resolve(c)}return this.cache.set(e,o),o},n.prototype.loadSkin=function(t){var e="skin:"+t,r=this.cache.get(e);if(r)return r;var o,u=this.json.skins[t],s={joints:u.joints};return u.inverseBindMatrices===void 0?o=Promise.resolve(s):o=this.loadAccessor(u.inverseBindMatrices).then(function(l){return l&&(s.inverseBindMatrices=l),s}),this.cache.set(e,o),o},n.prototype.loadAnimation=function(t){var e=this,r,o="animation:"+t,u=this.cache.get(o);if(u)return u;for(var s=null,l=0,c=values(this.extensions);l<c.length;l++){var f=c[l];if(s=f.loadAnimation(t,this),s)break}if(!s){for(var p=this.json,d=p.animations[t],h=d.name?d.name:"animation_"+t,m=[],A=[],g=[],b=[],v=[],y=0,E=d.channels.length;y<E;y++){var _=d.channels[y],T=d.samplers[_.sampler],S=_.target,R=S.node!==void 0?S.node:S.id,w=d.parameters!==void 0?d.parameters[T.input]:T.input,I=d.parameters!==void 0?d.parameters[T.output]:T.output,P=(r=S.extensions)!==null&&r!==void 0?r:{};if(P.KHR_animation_pointer&&_ensurePropertyBindingPatch(),S.path==="pointer"&&P.KHR_animation_pointer&&P.KHR_animation_pointer.pointer&&/^\/nodes\/\d+\//.test(P.KHR_animation_pointer.pointer)){var C=P.KHR_animation_pointer.pointer.slice(1).split("/"),M=Number(C[1]);m.push(this.loadNode(M))}else R!==void 0?m.push(this.loadNode(R)):m.push(Promise.resolve(null));A.push(this.loadAccessor(w)),g.push(this.loadAccessor(I)),b.push(T),v.push(S)}s=Promise.all([Promise.all(m),Promise.all(A),Promise.all(g),Promise.all(b),Promise.all(v)]).then(function(F){for(var k,O=F[0],N=F[1],q=F[2],j=F[3],L=F[4],z=[],V=function(K,ue){var ae=O[K],ne=N[K],te=q[K],ee=j[K],se=L[K];ae&&(ae.updateMatrix(),ae.matrixAutoUpdate=!0);var W=te.array;if(te.normalized){for(var Q=getNormalizedComponentScale(W.constructor),X=new Float32Array(W.length),$=0,ie=W.length;$<ie;$++)X[$]=W[$]*Q;W=X}var de=ee.interpolation!==void 0?INTERPOLATION[ee.interpolation]:THREE__namespace.InterpolateLinear,oe=(k=se.extensions)!==null&&k!==void 0?k:{};if(oe.KHR_animation_pointer&&se.path&&se.path==="pointer"){var le=oe.KHR_animation_pointer.pointer;if(le.indexOf("/nodes/")===0){var he=le.match(/^\/nodes\/(\d+)\/(.+)/);if(!he)return"continue";Number(he[1]);var Y=he[2],Z=void 0;switch(Y){case"weights":Y="morphTargetInfluences",Z=THREE__namespace.NumberKeyframeTrack;break;case"rotation":Y="quaternion",Z=THREE__namespace.QuaternionKeyframeTrack;break;case"translation":Y="position",Z=THREE__namespace.VectorKeyframeTrack;break;case"scale":Y="scale",Z=THREE__namespace.VectorKeyframeTrack;break;case"extensions/KHR_node_visibility/visible":Y="visible",Z=THREE__namespace.BooleanKeyframeTrack;break}if(!Z)return"continue";var ve=[];if(ae){var ye=ae.name?ae.name:ae.uuid;Y==="morphTargetInfluences"?ae.traverse(function(je){je.morphTargetInfluences&&ve.push(je.name?je.name:je.uuid)}):ve.push(ye)}for(var $=0,ie=ve.length;$<ie;$++){var me=new Z(".nodes.".concat(ve[$],".").concat(Y),ne.array,Z===THREE__namespace.BooleanKeyframeTrack?Array.from(W).map(function(Fe){return Fe>0}):W,de);z.push(me)}}else if(le.indexOf("/materials/")===0){var he=le.match(/^\/materials\/(\d+)\/(.+)/);if(!he)return"continue";var Ee=Number(he[1]),Y=he[2],Be=e.json.materials[Ee],Ae=Be.name,Z=void 0;switch(Y){case"pbrMetallicRoughness/baseColorFactor":Y="color",Z=THREE__namespace.ColorKeyframeTrack;break;case"pbrMetallicRoughness/roughnessFactor":Y="roughness",Z=THREE__namespace.NumberKeyframeTrack;break;case"pbrMetallicRoughness/metallicFactor":Y="metalness",Z=THREE__namespace.NumberKeyframeTrack;break;case"emissiveFactor":Y="emissive",Z=THREE__namespace.NumberKeyframeTrack;break;case"alphaCutoff":Y="alphaTest",Z=THREE__namespace.NumberKeyframeTrack;break;case"occlusionTexture/strength":Y="aoMapIntensity",Z=THREE__namespace.NumberKeyframeTrack;break;case"normalTexture/scale":Y="normalScale",Z=THREE__namespace.VectorKeyframeTrack;break;case"pbrMetallicRoughness/baseColorTexture/extensions/KHR_texture_transform/scale":Y="map.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"pbrMetallicRoughness/baseColorTexture/extensions/KHR_texture_transform/offset":Y="map.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"pbrMetallicRoughness/baseColorTexture/extensions/KHR_texture_transform/rotation":Y="map.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"normalTexture/extensions/KHR_texture_transform/scale":Y="normalMap.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"normalTexture/extensions/KHR_texture_transform/offset":Y="normalMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"normalTexture/extensions/KHR_texture_transform/rotation":Y="normalMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"emissiveTexture/extensions/KHR_texture_transform/scale":Y="emissiveMap.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"emissiveTexture/extensions/KHR_texture_transform/offset":Y="emissiveMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"emissiveTexture/extensions/KHR_texture_transform/rotation":Y="emissiveMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"occlusionTexture/extensions/KHR_texture_transform/scale":Y="aoMap.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"occlusionTexture/extensions/KHR_texture_transform/offset":Y="aoMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"occlusionTexture/extensions/KHR_texture_transform/rotation":Y="aoMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"extensions/KHR_materials_clearcoat/clearcoatNormalTexture/extensions/KHR_texture_transform/scale":Y="clearcoatNormalMap.scale",Z=THREE__namespace.NumberKeyframeTrack;break;case"extensions/KHR_materials_clearcoat/clearcoatNormalTexture/extensions/KHR_texture_transform/offset":Y="clearcoatNormalMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"extensions/KHR_materials_clearcoat/clearcoatNormalTexture/extensions/KHR_texture_transform/rotation":Y="clearcoatNormalMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break}if(!Z)return"continue";var me=new Z(".materials.".concat(Ae,".").concat(Y),ne.array,W,de);if(z.push(me),Y==="color"&&te.itemSize===4){for(var _e=new Float32Array(W.length/4),$=0,ie=W.length/4;$<ie;$+=1)_e[$]=W[$*4+3];var xe=new THREE__namespace.NumberKeyframeTrack(".materials.".concat(Ae,".opacity"),ne.array,_e,de);z.push(xe)}}else if(le.indexOf("/cameras/")===0){var he=le.match(/^\/cameras\/(\d+)\/(.+)/);if(!he)return"continue";var ce=Number(he[1]),Y=he[2],ze=e.json.cameras[ce],be=ze.name,Z=void 0;switch(Y){case"perspective/yfov":Y="fov",Z=THREE__namespace.NumberKeyframeTrack;break;case"perspective/znear":case"orthographic/znear":Y="near",Z=THREE__namespace.NumberKeyframeTrack;break;case"perspective/zfar":case"orthographic/zfar":Y="far",Z=THREE__namespace.NumberKeyframeTrack;break;case"perspective/aspect":Y="aspect",Z=THREE__namespace.NumberKeyframeTrack;break}if(!Z)return"continue";var me=new Z(".cameras.".concat(be,".").concat(Y),ne.array,W,de);z.push(me)}}else{var Z=void 0;switch(PATH_PROPERTIES[se.path]){case PATH_PROPERTIES.weights:Z=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:Z=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:Z=THREE__namespace.VectorKeyframeTrack;break}var Me=[];if(ae){var ye=ae.name?ae.name:ae.uuid;PATH_PROPERTIES[se.path]===PATH_PROPERTIES.weights?ae.traverse(function(Fe){Fe.morphTargetInfluences&&Me.push(Fe.name?Fe.name:Fe.uuid)}):Me.push(ye)}var Se=te.array;if(te.normalized){for(var Q=getNormalizedComponentScale(Se.constructor),X=new Float32Array(Se.length),$=0,ie=Se.length;$<ie;$++)X[$]=Se[$]*Q;Se=X}for(var $=0,ie=Me.length;$<ie;$++){var me=new Z(Me[$]+"."+PATH_PROPERTIES[se.path],ne.array,Se,de);z.push(me)}}},U=0,J=O.length;U<J;U++)V(U);return new THREE__namespace.AnimationClip(h,void 0,z)})}return this.cache.set(o,s),s},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,o=this.cache.get(r);if(o)return o;for(var u=null,s=0,l=values(this.extensions);s<l.length;s++){var c=l[s];if(u=c.loadBuffer(t,this),u)break}if(!u){var f=this.json.buffers[t];u=this.options.fetcher.ajax(this.resolveResouce(f.uri),{responseType:"arraybuffer"}).then(function(p){return p.body})}return this.cache.set(r,u),u},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,u=0,s=values(this.extensions);u<s.length;u++){var l=s[u];if(o=l.loadBufferView(t,this),o)break}if(!o){var c=this.json.bufferViews[t];o=this.loadBuffer(c.buffer).then(function(f){var p=c.byteLength||0,d=c.byteOffset||0;return f.slice(d,d+p)})}return this.cache.set(e,o),o},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,o=this.cache.get(r);if(o)return o;var u=null;if(!u){var s=this.json.accessors[t];if(s.bufferView===void 0&&s.sparse===void 0)u=Promise.resolve(null);else{var l=[];s.bufferView!==void 0?l.push(this.loadBufferView(s.bufferView)):l.push(Promise.resolve(null)),s.sparse!==void 0&&(l.push(this.loadBufferView(s.sparse.indices.bufferView)),l.push(this.loadBufferView(s.sparse.values.bufferView))),u=Promise.all(l).then(function(c){var f=c[0],p=WEBGL_TYPE_SIZES[s.type],d=WEBGL_COMPONENT_TYPES[s.componentType],h=d.BYTES_PER_ELEMENT,m=h*p,A=s.byteOffset||0,g=s.bufferView!==void 0?e.json.bufferViews[s.bufferView].byteStride:void 0,b=s.normalized===!0,v,y;if(g&&g!==m){var E=Math.floor(A/g),_="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+E+":"+s.count,T=e.cache.get(_);T||(v=new d(f,E*g,s.count*g/h),T=new THREE__namespace.InterleavedBuffer(v,g/h),e.cache.set(_,T)),y=new THREE__namespace.InterleavedBufferAttribute(T,p,A%g/h,b)}else f===null?v=new d(s.count*p):v=new d(f,A,s.count*p),y=new THREE__namespace.BufferAttribute(v,p,b);if(s.sparse!==void 0){var S=WEBGL_TYPE_SIZES.SCALAR,R=WEBGL_COMPONENT_TYPES[s.sparse.indices.componentType],w=s.sparse.indices.byteOffset||0,I=s.sparse.values.byteOffset||0,P=new R(c[1],w,s.sparse.count*S),C=new d(c[2],I,s.sparse.count*p);f!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var M=0,F=P.length;M<F;M++){var k=P[M];if(y.setX(k,C[M*p]),p>=2&&y.setY(k,C[M*p+1]),p>=3&&y.setZ(k,C[M*p+2]),p>=4&&y.setW(k,C[M*p+3]),p>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,u),u},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var o=r[e],u=o.createPrimitiveKey(t,this);if(u)return u}for(var s="",l=Object.keys(t.attributes).sort(),c=0,f=l.length;c<f;c++)s+=l[c]+":"+t.attributes[l[c]]+";";return t.indices+":"+s+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,o=0,u=values(this.extensions);o<u.length;o++){var s=u[o];if(r=s.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(l){return e.disposeSet.add(l),l}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,o=0,u=values(this.extensions);o<u.length;o++){var s=u[o];if(r=s.loadImage(t,this),r)break}if(!r){var l=this.json.images[t];if(l.bufferView!==void 0){var c=this.json.bufferViews[l.bufferView];r=this.loadBuffer(c.buffer).then(function(p){var d=c.byteOffset||0,h=c.byteLength||0,m=new Uint8Array(p,d,h),A=new Blob([m],{type:l.mimeType});return createImageBitmapLike(A)})}else if(l.uri){var f=this.resolveResouce(l.uri);canUseNativeImageBitmap()?r=this.options.fetcher.ajax(f,{responseType:"blob"}).then(function(p){var d=p.body;return createImageBitmapLike(d)}):r=this.options.fetcher.loadImage(f,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(p){return p.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(p){return e.disposeSet.add(p),p}),r},n.prototype.loadMesh=function(t){for(var e=this,r=null,o=0,u=values(this.extensions);o<u.length;o++){var s=u[o];if(r=s.loadMesh(t,this),r)break}if(!r){var l=this.json.meshes[t],c=l.primitives,f=Promise.all(c.map(function(d){return e.loadGeometry(d)})),p=Promise.all(c.map(function(d){return e.loadMaterial(d)}));r=Promise.all([f,p]).then(function(d){for(var h,m=d[0],A=d[1],g=[],b=0;b<c.length;b++){var v=c[b],y=m[b],E=A[b],_=(h=v.mode)!==null&&h!==void 0?h:WEBGL_CONSTANTS.TRIANGLES,T=void 0;if(_===WEBGL_CONSTANTS.TRIANGLES||_===WEBGL_CONSTANTS.TRIANGLE_STRIP||_===WEBGL_CONSTANTS.TRIANGLE_FAN)if(_===WEBGL_CONSTANTS.TRIANGLE_STRIP?y=e.toGeometryTrianglesDrawMode(y,THREE__namespace.TriangleStripDrawMode):_===WEBGL_CONSTANTS.TRIANGLE_FAN&&(y=e.toGeometryTrianglesDrawMode(y,THREE__namespace.TriangleFanDrawMode)),y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),e.disposeSet.add(y),l.isSkinnedMesh){var S=new PBMSkinnedMesh(y,[E]);e.normalizeSkinWeights(S),T=S}else T=new PBMMesh(y,[E]);else if(_===WEBGL_CONSTANTS.LINES)T=new THREE__namespace.LineSegments(y,E);else if(_===WEBGL_CONSTANTS.LINE_STRIP)T=new THREE__namespace.Line(y,E);else if(_===WEBGL_CONSTANTS.LINE_LOOP)T=new THREE__namespace.LineLoop(y,E);else if(_===WEBGL_CONSTANTS.POINTS)T=new PBMPointCloud(y,E);else throw new Error("glTF: Primitive mode unsupported: "+_);if(Object.keys(y.morphAttributes).length>0){if(l.weights!==void 0)for(var R=0,w=l.weights.length;R<w;R++)T.morphTargetInfluences[R]=l.weights[R];if(l.extras&&Array.isArray(l.extras.targetNames)){var I=l.extras.targetNames;if(T.morphTargetInfluences.length===I.length){T.morphTargetDictionary={};for(var R=0,w=I.length;R<w;R++)T.morphTargetDictionary[I[R]]=R}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}T.name=l.name||"mesh_"+t,e.assignFinalMaterial(T),g.push(T)}if(g.length===1)return g[0];for(var P=new THREE__namespace.Group,C=0,M=g;C<M.length;C++){var T=M[C];P.add(T)}return P})}return r},n.prototype.loadMaterial=function(t){var e=this,r,o=(r=t.mode)!==null&&r!==void 0?r:WEBGL_CONSTANTS.TRIANGLES,u="material:"+this.createPrimitiveKey(t),s=this.cache.get(u);if(s)return s;for(var l=null,c=0,f=values(this.extensions);c<f.length;c++){var p=f[c];if(l=p.loadMaterial(t,this),l)break}if(!l){if(o===WEBGL_CONSTANTS.TRIANGLES||o===WEBGL_CONSTANTS.TRIANGLE_STRIP||o===WEBGL_CONSTANTS.TRIANGLE_FAN)l=this.loadMaterialAsPBMMeshMaterial(t);else if(o===WEBGL_CONSTANTS.LINES||o===WEBGL_CONSTANTS.LINE_STRIP||o===WEBGL_CONSTANTS.LINE_LOOP)l=this.loadMaterialAsLineBasicMaterial(t);else if(o===WEBGL_CONSTANTS.POINTS)l=this.loadMaterialAsPBMPointCloudMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+o);l=l.then(function(d){return Promise.all(values(e.extensions).map(function(h){return h.extendMaterial(d,t,e)})).then(function(){return d})})}return l},n.prototype.loadMaterialAsPBMPointCloudMaterial=function(t){var e=new PBMPointCloudMaterial;return this.disposeSet.add(e),Promise.resolve(e)},n.prototype.loadMaterialAsPBMMeshMaterial=function(t){var e=this,r=[],o=new PBMMeshMaterial("standard");if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,o.colorAlpha=1,t.material!==void 0){var u=this.json.materials[t.material];u.name&&(o.name=u.name);var s=u.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var l=s.baseColorFactor;o.color=new THREE__namespace.Color().fromArray(l),o.colorAlpha=l[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(p){p.encoding=THREE__namespace.sRGBEncoding,o.map=p,u.alphaMode===ALPHA_MODES.MASK&&!(p instanceof THREE__namespace.CompressedTexture)&&p.minFilter!==THREE__namespace.LinearMipmapLinearFilter&&(p.minFilter=THREE__namespace.LinearMipmapLinearFilter,p.generateMipmaps=!0),e.disposeSet.add(p)})),o.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,o.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(s.metallicRoughnessTexture).then(function(p){p.format=THREE__namespace.RGBFormat,o.roughnessMap=p,o.metalnessMap=p,e.disposeSet.add(p)})),u.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=u.alphaMode||ALPHA_MODES.OPAQUE;if(o.alphaMode="OPAQUE",c===ALPHA_MODES.BLEND?(o.alphaMode="BLEND",o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaMode="MASK",o.alphaTest=u.alphaCutoff!==void 0?u.alphaCutoff:.5)),u.normalTexture!==void 0&&(r.push(this.createMaterialTexture(u.normalTexture).then(function(p){e.disposeSet.add(p),o.normalMap=p})),o.normalScale=new THREE__namespace.Vector2(1,1),u.normalTexture.scale!==void 0)){var f=u.normalTexture.scale;o.normalScale.set(f,f)}u.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(u.occlusionTexture).then(function(p){p.format=THREE__namespace.RGBFormat,o.aoMap=p,e.disposeSet.add(p)})),u.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=u.occlusionTexture.strength)),u.emissiveFactor!==void 0&&(o.emissive=new THREE__namespace.Color().fromArray(u.emissiveFactor)),u.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(u.emissiveTexture).then(function(p){p.format=THREE__namespace.RGBFormat,o.emissiveMap=p,e.disposeSet.add(p)}))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,t.material!==void 0){var o=this.json.materials[t.material];o.name&&(r.name=o.name);var u=o.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var s=u.baseColorFactor;r.color.fromArray(s),r.opacity=s[3]}o.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,l===ALPHA_MODES.MASK&&(r.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,o=this.cache.get(r);if(o)return o;for(var u=null,s=0,l=values(this.extensions);s<l.length;s++){var c=l[s];if(u=c.loadTexture(t,this),u)break}if(!u){var f=this.json.textures[t];u=this.loadImage(f.source).then(function(p){var d=new THREE__namespace.Texture(p);d.needsUpdate=!0,d.flipY=!1,f.name&&(d.name=f.name);var h=e.json.samplers||{},m=h[f.sampler]||{};return d.magFilter=WEBGL_FILTERS[m.magFilter]||THREE__namespace.LinearFilter,d.minFilter=WEBGL_FILTERS[m.minFilter]||THREE__namespace.LinearMipmapLinearFilter,d.wrapS=WEBGL_WRAPPINGS[m.wrapS]||THREE__namespace.RepeatWrapping,d.wrapT=WEBGL_WRAPPINGS[m.wrapT]||THREE__namespace.RepeatWrapping,d.onUpdate=function(){p.close()},d})}return u=u.then(function(p){return e.disposeSet.add(p),p}),this.cache.set(r,u),u},n.prototype.normalizeSkinWeights=function(t){var e=t.geometry,r=e.attributes.skinWeight;if(!r.normalized)t.normalizeSkinWeights();else{var o=0;if(r.array instanceof Uint8Array)o=255;else if(r.array instanceof Uint16Array)o=65535;else if(r.array instanceof Uint32Array)o=4294967295;else return;for(var u=new THREE__namespace.Vector4,s=0,l=r.count;s<l;s++){u.x=r.getX(s),u.y=r.getY(s),u.z=r.getZ(s),u.w=r.getW(s);var c=o/u.manhattanLength();c!==1&&(!isNaN(c)&&isFinite(c)?u.multiplyScalar(c):u.set(o,0,0,0),r.setXYZW(s,u.x,u.y,u.z,u.w))}}},n.prototype.assignFinalMaterial=function(t){var e=this,r=t.geometry,o=[].concat(t.material),u=r.attributes.tangent!==void 0,s=r.attributes.color!==void 0,l=r.attributes.normal===void 0,c=t instanceof THREE__namespace.SkinnedMesh,f=Object.keys(r.morphAttributes).length>0,p=f&&r.morphAttributes.normal!==void 0;o=o.map(function(d){if(u||s||l||c||f||p){var h="cloned-material:"+d.uuid+":";u&&(h+="vertex-tangents:"),s&&(h+="vertex-colors:"),l&&(h+="flat-shading:"),c&&(h+="skinning:"),f&&(h+="morph-targets:"),p&&(h+="morph-normals:");var m=e.cache.get(h);m||(m=d.clone(),u&&(m.vertexTangents=!0),s&&(m.vertexColors=!0),l&&(m.flatShading=!0),c&&(m.skinning=!0),f&&(m.morphTargets=!0),p&&(m.morphNormals=!0),u&&(m.normalScale&&(m.normalScale.y*=-1),m.clearcoatNormalScale&&(m.clearcoatNormalScale.y*=-1)),e.cache.set(h,m)),d=m}return d}),Array.isArray(t.material)?t.material=o:t.material=o[0]},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,o=values(this.extensions);r<o.length;r++){var u=o[r],s=u.loadNodeAttachments(t,this);s&&e.push(s)}return e},n.prototype.loadNode=function(t){var e=this,r="node:"+t,o=this.cache.get(r);if(o)return o;var u=this.json,s=u.nodes[t],l=[];s.mesh!==void 0&&l.push(this.loadMesh(s.mesh).then(function(m){if(s.weights!==void 0){var A=s.weights;m.traverse(function(g){if(g instanceof THREE__namespace.Mesh||g instanceof THREE__namespace.Line||g instanceof THREE__namespace.Points)for(var b=0,v=A.length;b<v;b++)g.morphTargetInfluences[b]=A[b]})}return m})),s.camera!==void 0&&l.push(this.loadCamera(s.camera));for(var c=this.loadNodeAttachments(t),f=0,p=c;f<p.length;f++){var d=p[f];l.push(d)}var h=Promise.all(l).then(function(m){var A;if(s.isBone===!0?A=new THREE__namespace.Bone:m.length>1?A=new THREE__namespace.Group:m.length===1?A=m[0]:A=new THREE__namespace.Object3D,A!==m[0])for(var g=0,b=m.length;g<b;g++)A.add(m[g]);if(s.name&&(A.userData.name=s.name,A.name=THREE__namespace.PropertyBinding.sanitizeNodeName(s.name)),s.matrix!==void 0){var v=new THREE__namespace.Matrix4;v.fromArray(s.matrix),A.applyMatrix4(v)}else s.translation!==void 0&&A.position.fromArray(s.translation),s.rotation!==void 0&&A.quaternion.fromArray(s.rotation),s.scale!==void 0&&A.scale.fromArray(s.scale);return h=h.then(function(y){return Promise.all(values(e.extensions).map(function(E){return E.extendNode(y,s,e)})).then(function(){return y})}),A});return this.cache.set(r,h),h},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],o=new THREE__namespace.Group;r.name&&(o.name=r.name);for(var u=r.nodes||[],s=[],l=0,c=u.length;l<c;l++)s.push(this.buildNodeHierarchy(u[l],o));return Promise.all(s).then(function(){return o})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){r instanceof THREE__namespace.CompressedTexture||(r.minFilter=THREE__namespace.LinearFilter,r.magFilter=THREE__namespace.LinearFilter,r.generateMipmaps=!1);for(var o=0,u=values(e.extensions);o<u.length;o++){var s=u[o],l=s.extendTexture(r,t,e);l&&(r=l)}return e.textureSet.add(r),e.disposeSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,o=e.attributes,u=[],s=function(T){var S=ATTRIBUTES[T]||T.toLowerCase();if(S in t.attributes)return"continue";u.push(l.loadAccessor(o[T]).then(function(R){R&&t.setAttribute(S,R)}))},l=this;for(var c in o)s(c);e.indices!==void 0&&!t.index&&u.push(this.loadAccessor(e.indices).then(function(T){T&&t.setIndex(T)}));var f=new THREE__namespace.Box3;if(o.POSITION!==void 0){var p=this.json.accessors[o.POSITION],d=p.min,h=p.max;if(d!==void 0&&h!==void 0){if(f.set(new THREE__namespace.Vector3(d[0],d[1],d[2]),new THREE__namespace.Vector3(h[0],h[1],h[2])),p.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[p.componentType]);f.min.multiplyScalar(m),f.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var A=e.targets;if(A!==void 0){for(var g=new THREE__namespace.Vector3,b=new THREE__namespace.Vector3,v=0,y=A.length;v<y;v++){var E=A[v];if(E.POSITION!==void 0){var p=this.json.accessors[E.POSITION],d=p.min,h=p.max;if(d!==void 0&&h!==void 0){if(b.setX(Math.max(Math.abs(d[0]),Math.abs(h[0]))),b.setY(Math.max(Math.abs(d[1]),Math.abs(h[1]))),b.setZ(Math.max(Math.abs(d[2]),Math.abs(h[2]))),p.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[p.componentType]);b.multiplyScalar(m)}g.max(b)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}f.expandByVector(g)}t.boundingBox=f;var _=new THREE__namespace.Sphere;return f.getCenter(_.center),_.radius=f.min.distanceTo(f.max)/2,t.boundingSphere=_,Promise.all(u).then(function(){var T=!1;if(e.material!==void 0){var S=r.json.materials[e.material];S.occlusionTexture&&(T=!0)}if((T||r.options.copyUV2)&&t.attributes.uv&&!t.attributes.uv2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var R=!1,w=!1,I=0,P=e.targets.length;I<P;I++){var C=e.targets[I];if(C.POSITION!==void 0&&(R=!0),C.NORMAL!==void 0&&(w=!0),R&&w)break}if(!R&&!w)return t;var M=[];t.morphTargetsRelative=!0;for(var F=function(k,O){var N=e.targets[k];R?M.push(r.loadAccessor(N.POSITION).then(function(q){q&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[k]=q)})):t.attributes.position&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[k]=t.attributes.position),w?M.push(r.loadAccessor(N.NORMAL).then(function(q){q&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[k]=q)})):t.attributes.normal&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[k]=t.attributes.normal)},I=0,P=e.targets.length;I<P;I++)F(I,P);return Promise.all(M).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,o=this.json.nodes[t];return this.loadNode(t).then(function(u){if(o.skin===void 0)return u;var s;return r.loadSkin(o.skin).then(function(l){s=l;for(var c=[],f=0,p=s.joints.length;f<p;f++)c.push(r.loadNode(s.joints[f]));return Promise.all(c)}).then(function(l){return u.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var f=[],p=[],d=0,h=l.length;d<h;d++){var m=l[d];if(m instanceof THREE__namespace.Bone){f.push(m);var A=new THREE__namespace.Matrix4;s.inverseBindMatrices!==void 0&&A.fromArray(s.inverseBindMatrices.array,d*16),p.push(A)}else console.warn('glTF: Joint "%s" could not be found.',s.joints[d])}var g=new THREE__namespace.Skeleton(f,p);c.bind(g,c.matrixWorld)}}),u})}).then(function(u){e.add(u);var s=[];if(o.children)for(var l=o.children,c=0,f=l.length;c<f;c++){var p=l[c];s.push(r.buildNodeHierarchy(p,u))}return Promise.all(s).then(function(){return u})})},n.prototype.resolveResouce=function(t){return/^[a-z]{0,8}\:/i.test(t)?t:pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var o=[],u=t.getAttribute("position");if(u!==void 0){for(var s=0;s<u.count;s++)o.push(s);t.setIndex(o),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var l=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var s=1;s<=l;s++)c.push(r.getX(0)),c.push(r.getX(s)),c.push(r.getX(s+1));else for(var s=0;s<l;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!==l&&console.error("glTF: Unable to generate correct amount of triangles.");var f=t.clone();return f.setIndex(c),this.disposeSet.add(f),f},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 _havePatchedPropertyBindings=!1,findNodeFn=null;function _ensurePropertyBindingPatch(){if(!_havePatchedPropertyBindings){_havePatchedPropertyBindings=!0;var n=findNodeFn||(findNodeFn=THREE__namespace.PropertyBinding.findNode);THREE__namespace.PropertyBinding.findNode=function(t,e){if(!e)return n(t,e);if(e.startsWith(".materials.")){var r=e.substring(11).substring(e.indexOf(".")),o=r.indexOf("."),u=o<0?r:r.substring(0,o),s=o<0?null:r.slice(o+1),l=null;return t.traverse(function(v){if(!(l!==null||v.type!=="Mesh"&&v.type!=="SkinnedMesh"))for(var y=[].concat(v.material),E=0,_=y;E<_.length;E++){var T=_[E];T&&(T.uuid===u||T.name===u)&&(l=T,l!==null&&s&&(l=l[s]))}}),l}else if(e.startsWith(".nodes.")||e.startsWith(".lights.")||e.startsWith(".cameras.")){for(var c=e.split("."),f=void 0,p=1;p<c.length;p++){var d=c[p],h=d.length==36;if(h)f=t.getObjectByProperty("uuid",d);else if(f&&f[d]){var m=Number.parseInt(d),A=d;m>=0&&(A=m),f=f[A]}else{var g=t.getObjectByName(d);g&&(f=g)}}if(!f){var b=n(t,c[2]);return b||console.warn("KHR_animation_pointer: Property binding not found",e,t,t.name,c),b}return f}return n(t,e)}}}var BaseExtension=(function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.extendMaterial=function(t,e,r){return Promise.resolve()},n.prototype.loadMesh=function(t,e){return null},n.prototype.extendNode=function(t,e,r){return Promise.resolve()},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})(),EXTENSION_NAME$d="KHR_binary_glTF",KHR_binary_glTF=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var o=new DataView(e,t.HEADER_LENGTH),u=0,s=null,l=null;u<o.byteLength;){var c=o.getUint32(u,!0);if(u+=4,c!==0){var f=o.getUint32(u,!0);if(u+=4,f===t.CHUNK_TYPES.JSON){var p=new Uint8Array(e,t.HEADER_LENGTH+u,c);s=decodeText(p)}else if(f===t.CHUNK_TYPES.BIN){var d=t.HEADER_LENGTH+u;l=e.slice(d,d+c)}u+=c}}if(s===null)throw new Error("glTF:".concat(EXTENSION_NAME$d,": JSON content not found."));this.content=s,this.body=l},t.prototype.loadBuffer=function(e,r){var o=r.json.buffers[e];return o.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t})(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=(function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,o){var u={attributeIDs:r||defaultAttributeIDs,attributeTypes:o||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,u).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var o in e.attributeTypes){var u=e.attributeTypes[o];u.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[o]=u.name)}var s,l=this.workerNextTaskID++,c=t.byteLength,f=this._getWorker(l,c).then(function(p){return s=p,new Promise(function(d,h){s._callbacks[l]={resolve:d,reject:h},s.postMessage({type:"decode",id:l,taskConfig:e,buffer:t},[t])})}).then(function(p){return r._createGeometry(p.geometry)});return f.catch(function(){return!0}).then(function(){s&&l&&r._releaseTask(s,l)}),f},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var o=t.attributes[r],u=o.name,s=o.array,l=o.itemSize,c=!(s instanceof Float32Array||s instanceof Float64Array);e.setAttribute(u,new THREE__namespace.BufferAttribute(s,l,c))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=internalFetcher.ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(u){return u.body});this.decoderPending=r.then(function(u){var s=["/* draco decoder */",u,"","/* worker */",DRACOWorker].join(`
450
+ `),support=typeof Worker!="undefined"&&typeof Blob!="undefined",lzmaWorkerURL="";if(support)try{var blob$4=new Blob([lzmaWorkerSource],{type:"text/javascript"});lzmaWorkerURL=URL.createObjectURL(blob$4)}catch(n){}var LZMAWorker=(function(){function n(){var t=this;if(!support)throw new Error("LZMAWorker cannot work in this broswer.");this.callCounter=0,this.requests={};var e=this.worker=new Worker(lzmaWorkerURL);e.onmessage=function(r){var o=r.data,u=o.id,s=o.result,l=o.error,c=t.getKey(u);t.requests[c]&&(l?t.requests[c](new Error(l)):t.requests[c](null,s),delete t.requests[c])},e.onerror=function(r){return console.error(r)}}return n.prototype.getKey=function(t){return"key_"+String(t)},n.prototype.decompress=function(t,e){var r=++this.callCounter;this.requests[this.getKey(r)]=e,this.worker.postMessage({type:"decompress",id:r,data:t},[t.buffer])},n.prototype.terminate=function(){this.worker.terminate()},n.support=support,n})();function readUint32(n){return Array.prototype.reduce.call(n,function(t,e,r){return t|e<<r*8},0)}function binaryArrays(n){for(var t=[],e=n.length,r=function(s){var l={data:n[s],offset:0,readByte:function(){return this.data[this.offset++]}},c=l.data.length,f={data:[],offset:0,writeByte:function(d){var h=Math.floor(this.offset/c);this.data[h]||(this.data[h]=new Uint8Array(c)),this.data[h][this.offset%c]=d,this.offset++}};LZMA.decompressFile(l,f),o=new Uint8Array(f.offset);for(var p=0;p<f.offset;p++)o[p]=f.data[Math.floor(p/c)][p%c];t.push(o)},o,u=0;u<e;u++)r(u);return t}function binaryArraysWithWorker(n){for(var t=[],e=n.length,r=function(u){t.push(new Promise(function(s,l){var c=new LZMAWorker;c.decompress(n[u],function(f,p){if(c.terminate(),f)return l(f);s(p)})}))},o=0;o<e;o++)r(o);return Promise.all(t)}function lzma(n){var t=new Uint8Array(n),e=readUint32(t.slice(0,4));if(e>10)return Promise.reject(new Error("LZMA got too many sub chunks."));for(var r=[],o=[],u=4+e*4,s=0;s<e;s++)o[s]=readUint32(t.slice(4+s*4,8+s*4)),s===e-1?r[s]=t.subarray(u,u+o[s]):r[s]=t.slice(u,u+o[s]),u+=o[s];return LZMAWorker.support?binaryArraysWithWorker(r):Promise.resolve(binaryArrays(r))}function loadAt3d(n,t){var e,r,o,u,s,l,c;t===void 0&&(t={});for(var f=(e=t.upAxis)!==null&&e!==void 0?e:"Z",p=(r=t.light)!==null&&r!==void 0?r:!1,d=(o=t.fetcher)!==null&&o!==void 0?o:internalFetcher,h=(u=t.onDownloadProgress)!==null&&u!==void 0?u:noop,m=(s=t.textureBaseUri)!==null&&s!==void 0?s:guessTextureBaseUriFromFileUrl(n),A=t.textureBaseUri===void 0?[]:((l=t.textureArray)!==null&&l!==void 0?l:[]).slice(),g=autoRestImageOptionsByTextureLength((c=t.textureOptions)!==null&&c!==void 0?c:{},A.length),b=new Map,v=0,y=A;v<y.length;v++){var E=y[v],_=isAbsoluteURL(E)?E:pathJoin(m,E);b.set(_,loadTexture$1(_,g,d))}var T={byteLength:0};return Promise.resolve().then(function(){return d.ajax(n,{responseType:"arraybuffer"},void 0,void 0,h)}).then(function(S){return lzma(S.body)}).then(function(S){for(var R={chunks:[],createAt:void 0,description:void 0},w=0,I=S;w<I.length;w++){var P=I[w],C=Model$2.decode(P);if(C.chunks.length){for(var M=0;M<C.chunks.length;M++)R.chunks.push(C.chunks[M]);R.createAt=C.createAt,R.description=C.description}}return R}).then(function(S){return parse$4(S,p,m,A,g,b,d)}).then(function(S){b.clear();var R=new THREE__namespace.Group;R.name=n;for(var w=0,I=S.objects;w<I.length;w++){var P=I[w];R.add(P)}return f==="Y"&&R.applyMatrix4(ROTATE_X_MATRIX_INVERSE$1),{type:"at3d",modelUpAxis:"Z",upAxis:f,uri:n,byteLength:T.byteLength,memoryUsage:getMemoryUsage(R),scene:R,textures:S.textures,animations:[],dispose:function(){return S.dispose()}}})}const $Reader=minimalExports.Reader,$util=minimalExports.util,$root=minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/dome.proto"]||(minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/dome.proto"]={}),Model$1=$root.Model=(()=>{function n(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.meshes=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Model;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.meshes&&s.meshes.length||(s.meshes=[]),s.meshes.push($root.Mesh.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root.Mesh=(()=>{function n(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.name="",n.prototype.chunks=$util.emptyArray,n.prototype.matrix=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Mesh;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.name=e.string();break}case 2:{s.chunks&&s.chunks.length||(s.chunks=[]),s.chunks.push($root.Chunk.decode(e,e.uint32()));break}case 3:{s.matrix&&s.matrix.length||(s.matrix=[]),s.matrix.push($root.Matrix.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("name"))throw $util.ProtocolError("missing required 'name'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Mesh"},n})();$root.Matrix=(()=>{function n(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.elements=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Matrix;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.elements&&s.elements.length||(s.elements=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.elements.push(e.float())}else s.elements.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Matrix"},n})();$root.Chunk=(()=>{function n(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.geometry=null,n.prototype.material=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Chunk;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 2:{s.geometry=$root.Geometry.decode(e,e.uint32());break}case 3:{s.material&&s.material.length||(s.material=[]),s.material.push($root.Material.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("geometry"))throw $util.ProtocolError("missing required 'geometry'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})();$root.Geometry=(()=>{function n(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.position=null,n.prototype.uv=null,n.prototype.uv2=null,n.prototype.normal=null,n.prototype.groups=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Geometry;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.position=$root.Position.decode(e,e.uint32());break}case 2:{s.uv=$root.UV.decode(e,e.uint32());break}case 3:{s.uv2=$root.UV.decode(e,e.uint32());break}case 4:{s.normal=$root.Normal.decode(e,e.uint32());break}case 5:{s.groups&&s.groups.length||(s.groups=[]),s.groups.push($root.Group.decode(e,e.uint32()));break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("position"))throw $util.ProtocolError("missing required 'position'",{instance:s});if(!s.hasOwnProperty("normal"))throw $util.ProtocolError("missing required 'normal'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Geometry"},n})();$root.Position=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Position;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Position"},n})();$root.UV=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.UV;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/UV"},n})();$root.Normal=(()=>{function n(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.array=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Normal;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.array&&s.array.length||(s.array=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.array.push(e.float())}else s.array.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Normal"},n})();$root.Group=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.start=0,n.prototype.count=0,n.prototype.materialIndex=0,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Group;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.start=e.uint32();break}case 2:{s.count=e.uint32();break}case 3:{s.materialIndex=e.uint32();break}default:e.skipType(l&7);break}}if(!s.hasOwnProperty("start"))throw $util.ProtocolError("missing required 'start'",{instance:s});if(!s.hasOwnProperty("count"))throw $util.ProtocolError("missing required 'count'",{instance:s});if(!s.hasOwnProperty("materialIndex"))throw $util.ProtocolError("missing required 'materialIndex'",{instance:s});return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Group"},n})();$root.Material=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.kd=null,n.prototype.ks=null,n.prototype.ke=null,n.prototype.mapkd="",n.prototype.mapks="",n.prototype.mapke="",n.prototype.norm="",n.prototype.mapbump="",n.prototype.bump="",n.prototype.mapd="",n.prototype.ns=0,n.prototype.d=0,n.prototype.tr=0,n.prototype.mapkdrepeat="",n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Material;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{s.kd=$root.Color.decode(e,e.uint32());break}case 2:{s.ks=$root.Color.decode(e,e.uint32());break}case 3:{s.ke=$root.Color.decode(e,e.uint32());break}case 4:{s.mapkd=e.string();break}case 5:{s.mapks=e.string();break}case 6:{s.mapke=e.string();break}case 7:{s.norm=e.string();break}case 8:{s.mapbump=e.string();break}case 9:{s.bump=e.string();break}case 10:{s.mapd=e.string();break}case 11:{s.ns=e.float();break}case 12:{s.d=e.float();break}case 13:{s.tr=e.float();break}case 14:{s.mapkdrepeat=e.string();break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Material"},n})();$root.Color=(()=>{function n(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.rgb=$util.emptyArray,n.decode=function(e,r,o){e instanceof $Reader||(e=$Reader.create(e));let u=r===void 0?e.len:e.pos+r,s=new $root.Color;for(;e.pos<u;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(s.rgb&&s.rgb.length||(s.rgb=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)s.rgb.push(e.float())}else s.rgb.push(e.float());break}default:e.skipType(l&7);break}}return s},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Color"},n})();function loadDome(n,t){var e,r,o;t===void 0&&(t={});var u=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:internalFetcher,l=(o=t.onDownloadProgress)!==null&&o!==void 0?o:noop,c={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"},void 0,void 0,l)}).then(function(f){var p,d;return c.byteLength=f.body.byteLength,parse$3(new Uint8Array(f.body),(p=t.light)!==null&&p!==void 0?p:!0,t.textureBaseUri||"",(d=t.textureOptions)!==null&&d!==void 0?d:{},s)}).then(function(f){var p=new THREE__namespace.Group;p.matrixAutoUpdate=!1,u==="Z"&&p.applyMatrix4(ROTATE_X_MATRIX$1),p.matrix.compose(p.position,p.quaternion,p.scale),p.name=n;for(var d=0,h=f.objects;d<h.length;d++){var m=h[d];p.add(m)}return{type:"dome",modelUpAxis:"Y",upAxis:u,uri:n,byteLength:c.byteLength,memoryUsage:getMemoryUsage(p),scene:p,textures:f.textures,animations:[],dispose:function(){return f.dispose()}}})}function flipBufferGeometryNormals(n){for(var t=[0,0,0],e=0;e<n.attributes.normal.array.length/9;e++)t[0]=n.attributes.normal.array[e*9],t[1]=n.attributes.normal.array[e*9+1],t[2]=n.attributes.normal.array[e*9+2],n.attributes.normal.array[e*9]=n.attributes.normal.array[e*9+6],n.attributes.normal.array[e*9+1]=n.attributes.normal.array[e*9+7],n.attributes.normal.array[e*9+2]=n.attributes.normal.array[e*9+8],n.attributes.normal.array[e*9+6]=t[0],n.attributes.normal.array[e*9+7]=t[1],n.attributes.normal.array[e*9+8]=t[2];for(var e=0;e<n.attributes.position.array.length/9;e++)t[0]=n.attributes.position.array[e*9],t[1]=n.attributes.position.array[e*9+1],t[2]=n.attributes.position.array[e*9+2],n.attributes.position.array[e*9]=n.attributes.position.array[e*9+6],n.attributes.position.array[e*9+1]=n.attributes.position.array[e*9+7],n.attributes.position.array[e*9+2]=n.attributes.position.array[e*9+8],n.attributes.position.array[e*9+6]=t[0],n.attributes.position.array[e*9+7]=t[1],n.attributes.position.array[e*9+8]=t[2];for(var e=0;e<n.attributes.uv.array.length/6;e++)t[0]=n.attributes.uv.array[e*6],t[1]=n.attributes.uv.array[e*6+1],n.attributes.uv.array[e*6]=n.attributes.uv.array[e*6+4],n.attributes.uv.array[e*6+1]=n.attributes.uv.array[e*6+5],n.attributes.uv.array[e*6+4]=t[0],n.attributes.uv.array[e*6+5]=t[1];n.attributes.normal.needsUpdate=!0,n.attributes.position.needsUpdate=!0,n.attributes.uv.needsUpdate=!0}function parseGeometry(n){var t=n.position,e=n.normal,r=n.uv,o=n.uv2,u=n.groups,s=new THREE__namespace.BufferGeometry;s.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(t.array),3)),e&&s.setAttribute("normal",new THREE__namespace.BufferAttribute(new Float32Array(e.array),3)),r&&s.setAttribute("uv",new THREE__namespace.BufferAttribute(new Float32Array(r.array),2)),o&&s.setAttribute("uv2",new THREE__namespace.BufferAttribute(new Float32Array(o.array),2));for(var l=0,c=u;l<c.length;l++){var f=c[l];s.addGroup(f.start,f.count,f.materialIndex)}return s}function loadTexture(n,t,e,r,o,u,s){if(s.hasOwnProperty(n))return s[n];n=n.split("?")[0],isAbsoluteURL(n)||(n=pathJoin(t,n)),n=n.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/"),n.indexOf("//")===0&&(n="https:"+n);var l=__assign({key:"texture.dome",size:64},pick(e,["quality","format","sharpen","forceUseExifOrientation","mappings"])),c=s[n]=o.loadTexture(n,{imageURL:{transform:e.transform,options:l},wrapS:THREE__namespace.RepeatWrapping,wrapT:THREE__namespace.RepeatWrapping,fetcher:u}).then(function(f){var p=f.body;return r&&p.repeat.copy(r),p.needsUpdate=!0,p.updateMatrix(),p});return c}function parseMaterial(n,t,e,r,o,u,s,l,c){var f=[],p=new PBMMeshMaterial(t?"phong":"basic");if(l.add(p),n.kd&&(p.color=new THREE__namespace.Color().fromArray(n.kd.rgb).convertLinearToSRGB()),n.mapkd){var d=null;if(n.mapkdrepeat){var h=n.mapkdrepeat.split(/\s+/).map(function(b){return Number(b)}),m=h[0],A=h[1];d=new THREE__namespace.Vector2(m,A)}f.push(loadTexture(n.mapkd,e,r,d,o,u,s).then(function(b){b.encoding=THREE__namespace.sRGBEncoding,p.map=b,l.add(b),c.add(b),p.needsUpdate=!0}).catch(noop))}if(n.ks&&(p.specular=new THREE__namespace.Color().fromArray(n.ks.rgb).convertLinearToSRGB()),n.mapks&&f.push(loadTexture(n.mapks,e,r,null,o,u,s).then(function(b){p.specularMap=b,l.add(b),c.add(b)}).catch(noop)),n.ke&&(p.emissive=new THREE__namespace.Color().fromArray(n.ke.rgb).convertLinearToSRGB()),n.mapke&&f.push(loadTexture(n.mapke,e,r,null,o,u,s).then(function(b){b.encoding=THREE__namespace.sRGBEncoding,p.emissiveMap=b,l.add(b),c.add(b)}).catch(noop)),n.norm&&f.push(loadTexture(n.norm,e,r,null,o,u,s).then(function(b){p.normalMap=b,l.add(b),c.add(b)}).catch(noop)),n.mapbump&&f.push(loadTexture(n.mapbump,e,r,null,o,u,s).then(function(b){p.bumpMap=b,l.add(b),c.add(b)}).catch(noop)),n.bump&&f.push(loadTexture(n.bump,e,r,null,o,u,s).then(function(b){p.bumpMap=b,l.add(b),c.add(b)}).catch(noop)),typeof n.ns=="number"&&(p.shininess=n.ns),typeof n.d=="number"){var g=n.d;g>0&&g<1&&(p.opacity=g)}return p.floorIndex=0,{material:p,textureReady:Promise.all(f).then(noop)}}function fromProtoBuf(n){return Model$1.decode(n).meshes}function parse$3(n,t,e,r,o){for(var u=[],s=[],l=new Set,c=fromProtoBuf(n),f=new TextureLoader,p=new THREE__namespace.Matrix4,d=new THREE__namespace.Vector3,h=new THREE__namespace.Quaternion,m=new THREE__namespace.Vector3,A={},g=new Set,b=0,v=c;b<v.length;b++){var y=v[b],E=y.name,_=y.chunks,T=y.matrix;if(!(E==="Ceiling"||E==="CeilingDrop"))for(var S=0,R=T;S<R.length;S++){var w=R[S];p.elements=w.elements;for(var I=new THREE__namespace.Group,P=0;P<_.length;P++){var C=parseGeometry(_[P].geometry);C.applyMatrix4(p),p.decompose(d,h,m),m.x*m.y*m.z<0&&C.attributes.normal&&C.attributes.position&&C.attributes.uv&&flipBufferGeometryNormals(C),l.add(C);for(var M=[],F=0,k=_[P].material;F<k.length;F++){var O=k[F],N=parseMaterial(O,t,e||"",r,f,o,A,l,g),q=N.material,j=N.textureReady;s.push(j),M.push(q)}var L=new PBMMesh(C,M);L.name="chunk_"+P,L.matrix.compose(L.position,L.quaternion,L.scale),L.matrixAutoUpdate=!1,L.frustumCulled=!1,I.add(L)}I.name=E,u.push(I)}}return Promise.all(s).catch(noop).then(function(){return{createAt:0,description:"",objects:u,textures:Array.from(g),dispose:function(){l.forEach(function(z){z.dispose()}),l.clear()}}})}function loadDomez(n,t){var e,r,o;t===void 0&&(t={});var u=(e=t.upAxis)!==null&&e!==void 0?e:"Z",s=(r=t.fetcher)!==null&&r!==void 0?r:internalFetcher,l=(o=t.onDownloadProgress)!==null&&o!==void 0?o:noop,c={byteLength:0};return Promise.resolve().then(function(){return s.ajax(n,{responseType:"arraybuffer"},void 0,void 0,l)}).then(function(f){return c.byteLength=f.body.byteLength,lzma(f.body)}).then(function(f){var p=f.reduce(function(m,A){return m+A.length},0),d=new Uint8Array(p),h=0;return f.forEach(function(m){d.set(m,h),h+=m.length}),d}).then(function(f){var p,d;return parse$3(f,(p=t.light)!==null&&p!==void 0?p:!0,t.textureBaseUri||"",(d=t.textureOptions)!==null&&d!==void 0?d:{},s)}).then(function(f){var p=new THREE__namespace.Group;p.matrixAutoUpdate=!1,u==="Z"&&p.applyMatrix4(ROTATE_X_MATRIX$1),p.matrix.compose(p.position,p.quaternion,p.scale),p.name=n;for(var d=0,h=f.objects;d<h.length;d++){var m=h[d];p.add(m)}return{type:"domez",modelUpAxis:"Y",upAxis:"Z",uri:n,byteLength:c.byteLength,memoryUsage:getMemoryUsage(p),scene:p,textures:f.textures,animations:[],dispose:function(){return f.dispose()}}})}var SIZEOF_UINT32$1=4;function parseHeader$1(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.byteLength=r.getUint32(e,!0),e+=SIZEOF_UINT32$1,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var _a$4,GL_TYPE;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(GL_TYPE||(GL_TYPE={}));var GL_TYPE_TO_ARRAY_TYPE=(_a$4={},_a$4[GL_TYPE.DOUBLE]=Float64Array,_a$4[GL_TYPE.FLOAT]=Float32Array,_a$4[GL_TYPE.UNSIGNED_SHORT]=Uint16Array,_a$4[GL_TYPE.UNSIGNED_INT]=Uint32Array,_a$4[GL_TYPE.UNSIGNED_BYTE]=Uint8Array,_a$4[GL_TYPE.BYTE]=Int8Array,_a$4[GL_TYPE.SHORT]=Int16Array,_a$4[GL_TYPE.INT]=Int32Array,_a$4),NAME_TO_GL_TYPE={DOUBLE:GL_TYPE.DOUBLE,FLOAT:GL_TYPE.FLOAT,UNSIGNED_SHORT:GL_TYPE.UNSIGNED_SHORT,UNSIGNED_INT:GL_TYPE.UNSIGNED_INT,UNSIGNED_BYTE:GL_TYPE.UNSIGNED_BYTE,BYTE:GL_TYPE.BYTE,SHORT:GL_TYPE.SHORT,INT:GL_TYPE.INT};function getArrayType(n){var t=GL_TYPE_TO_ARRAY_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}function getByteSize(n){var t=getArrayType(n);return t.BYTES_PER_ELEMENT}function createTypedArray(n,t,e,r){e===void 0&&(e=0);var o=getArrayType(n);if(e%getByteSize(n)!==0){var u=r?t.slice(e,e+r*getByteSize(n)):t.slice(e);return new o(u)}else return new o(t,e,r!=null?r:(t.byteLength-e)/getByteSize(n))}function glTypeFromName(n){var t=NAME_TO_GL_TYPE[n];if(!t)throw new Error("Failed to convert GL type");return t}var FeatureTable=(function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",GL_TYPE.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var o=this.json[t];if(typeof o=="number"){var u=getArrayType(e);return new u([o])}else if(Array.isArray(o)){var u=getArrayType(e);return new u(o)}else if(o&&Number.isFinite(o.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,o.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(e=glTypeFromName(o.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,o.byteOffset)):this.getTypedArrayFromArray(t,e,o)},n.prototype.getProperty=function(t,e,r,o,u){var s=this.json[t];if(!s)return null;var l=this.getPropertyArray(t,e,r);if(r===1)return u[0]=l[o],u;for(var c=0;c<r;++c)u[c]=l[r*o+c];return u},n.prototype.getTypedArrayFromBinary=function(t,e,r,o,u){var s=this.cachedTypedArrays,l=s[t];return l||(l=createTypedArray(e,this.buffer.buffer,this.buffer.byteOffset+u,o*r),s[t]=l),l},n.prototype.getTypedArrayFromArray=function(t,e,r){var o=this.cachedTypedArrays,u=o[t];return u||(u=createTypedArray(e,r),o[t]=u),u},n})(),SIZEOF_UINT32=4,DEPRECATION_WARNING="b3dm tile in legacy format.";function getStringFromArrayBuffer(n,t,e){var r=new TextDecoder("utf8"),o=new Uint8Array(n,t,e),u=r.decode(o);return u}function parseTable(n,t,e){return e=parseTablesHeader(n,t,e),e=parseFeatureTable(n,t,e),e=parseBatchTable(n,t,e),e}function parseTablesHeader(n,t,e){var r=new DataView(t),o=0;n.header=n.header||{};var u=r.getUint32(e,!0);e+=SIZEOF_UINT32;var s=r.getUint32(e,!0);e+=SIZEOF_UINT32;var l=r.getUint32(e,!0);e+=SIZEOF_UINT32;var c=r.getUint32(e,!0);return e+=SIZEOF_UINT32,l>=570425344?(e-=SIZEOF_UINT32*2,o=u,l=s,c=0,u=0,s=0,console.warn(DEPRECATION_WARNING)):c>=570425344&&(e-=SIZEOF_UINT32,o=l,l=u,c=s,u=0,s=0,console.warn(DEPRECATION_WARNING)),n.header.featureTableJsonByteLength=u,n.header.featureTableBinaryByteLength=s,n.header.batchTableJsonByteLength=l,n.header.batchTableBinaryByteLength=c,n.header.batchLength=o,e}function parseFeatureTable(n,t,e){var r=n.header||{},o=r.featureTableJsonByteLength,u=r.featureTableBinaryByteLength,s=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:s||0},o&&o>0){var l=getStringFromArrayBuffer(t,e,o);n.featureTableJson=JSON.parse(l)}e+=o||0,n.featureTableBinary=new Uint8Array(t,e,u),e+=u||0;var c=new FeatureTable(n.featureTableJson,n.featureTableBinary);if(Array.isArray(c.json.RTC_CENTER)){var f=c.json.RTC_CENTER;n.rtcCenter=[f[0],f[1],f[2]]}else{var f=c.getGlobalProperty("RTC_CENTER",GL_TYPE.FLOAT,3);f&&(n.rtcCenter=[f[0],f[1],f[2]])}return e}function parseBatchTable(n,t,e){var r=n.header||{},o=r.batchTableJsonByteLength,u=r.batchTableBinaryByteLength;if(o&&o>0){var s=getStringFromArrayBuffer(t,e,o);n.batchTableJson=JSON.parse(s),e+=o,u&&u>0&&(n.batchTableBinary=new Uint8Array(t,e,u),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=u)}return e}function sliceArrayBuffer(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),o=new Uint8Array(r);return o.buffer}function parseGlTFArrayBuffer(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=sliceArrayBuffer(t,e,r),n.byteLength}function decodeText(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(o){return t}}var WEBGL_CONSTANTS={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WEBGL_FILTERS={9728:THREE__namespace.NearestFilter,9729:THREE__namespace.LinearFilter,9984:THREE__namespace.NearestMipmapNearestFilter,9985:THREE__namespace.LinearMipmapNearestFilter,9986:THREE__namespace.NearestMipmapLinearFilter,9987:THREE__namespace.LinearMipmapLinearFilter},WEBGL_WRAPPINGS={33071:THREE__namespace.ClampToEdgeWrapping,33648:THREE__namespace.MirroredRepeatWrapping,10497:THREE__namespace.RepeatWrapping},WEBGL_TYPE_SIZES={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",TEXCOORD_2:"uv3",TEXCOORD_3:"uv4",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},INTERPOLATION={CUBICSPLINE:void 0,LINEAR:THREE__namespace.InterpolateLinear,STEP:THREE__namespace.InterpolateDiscrete},ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function values(n){var t=[];for(var e in n)t.push(n[e]);return t}function composeDsiposeSet(n){var t=Array.from(n);return function(){for(var e=0,r=t;e<r.length;e++){var o=r[e];typeof o.dispose=="function"&&o.dispose(),typeof o.close=="function"&&o.close()}}}var Parser=(function(){function n(t,e,r){if(this.json=t,this.json.materials){for(var o=new Set,u=0,s=this.json.materials;u<s.length;u++){var l=s[u];if(typeof l.name=="string")for(var c=0;;){var f=l.name+(c>0?"__".concat(c):"");if(!o.has(f)){o.add(f),l.name=f;break}console.warn('glTF: material name "'.concat(l.name,'" duplicated.')),c++}}o.clear()}if(this.json.nodes){for(var o=new Set,p=0,d=this.json.nodes;p<d.length;p++){var h=d[p];if(typeof h.name=="string")for(var c=0;;){var m=h.name+(c>0?"__".concat(c):"");if(!o.has(m)){o.add(m),h.name=m;break}console.warn('glTF: node name "'.concat(h.name,'" duplicated.')),c++}}o.clear()}this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.textureSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),this.textureSet.clear(),this.extensions={},this.json={asset:{version:"unknown"}}},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],o=0,u=e.length;o<u;o++)for(var s=e[o].joints,l=0,c=s.length;l<c;l++)t[s[l]].isBone=!0;for(var f=0,p=t.length;f<p;f++){var d=t[f];d.mesh!==void 0&&d.skin!==void 0&&(r[d.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var o=0,u=values(r);o<u.length;o++){var s=u[o];s.markDefs(this)}return Promise.all(values(r).map(function(l){return l.prepare(t)})).then(function(){var l,c,f;return Promise.all([Promise.all(((l=e.scenes)!==null&&l!==void 0?l:[]).map(function(p,d){return t.loadScene(d)})),Promise.all(((c=e.cameras)!==null&&c!==void 0?c:[]).map(function(p,d){return t.loadCamera(d)})),Promise.all(((f=e.animations)!==null&&f!==void 0?f:[]).map(function(p,d){return t.loadAnimation(d)}))])}).then(function(l){var c=l[0],f=l[1],p=l[2],d={json:e,scene:c[e.scene||0],scenes:c,animations:p,cameras:f,textures:[],dispose:noop};return d}).then(function(l){return Promise.all(values(r).map(function(c){return c.emitResult(l,t)})).then(function(){return l})}).then(function(l){var c=Array.from(t.textureSet),f=composeDsiposeSet(t.disposeSet);return Object.assign(l,{textures:c,dispose:f}),t.textureSet.clear(),t.disposeSet.clear(),t.dispose(),l})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,u=0,s=values(this.extensions);u<s.length;u++){var l=s[u];if(o=l.loadCamera(t,this),o)break}if(!o){var c=void 0,f=this.json.cameras[t],p=f[f.type];p?f.type==="perspective"?c=new THREE__namespace.PerspectiveCamera(THREE__namespace.MathUtils.radToDeg(p.yfov),p.aspectRatio||1,p.znear||1,p.zfar||2e6):f.type==="orthographic"?c=new THREE__namespace.OrthographicCamera(-p.xmag,p.xmag,p.ymag,-p.ymag,p.znear,p.zfar):(console.warn("glTF: Invalid camera type ".concat(f.type,".")),c=new THREE__namespace.Camera):(console.warn("glTF: Missing camera parameters."),c=new THREE__namespace.Camera),f.name&&(c.name=f.name),o=Promise.resolve(c)}return this.cache.set(e,o),o},n.prototype.loadSkin=function(t){var e="skin:"+t,r=this.cache.get(e);if(r)return r;var o,u=this.json.skins[t],s={joints:u.joints};return u.inverseBindMatrices===void 0?o=Promise.resolve(s):o=this.loadAccessor(u.inverseBindMatrices).then(function(l){return l&&(s.inverseBindMatrices=l),s}),this.cache.set(e,o),o},n.prototype.loadAnimation=function(t){var e=this,r,o="animation:"+t,u=this.cache.get(o);if(u)return u;for(var s=null,l=0,c=values(this.extensions);l<c.length;l++){var f=c[l];if(s=f.loadAnimation(t,this),s)break}if(!s){for(var p=this.json,d=p.animations[t],h=d.name?d.name:"animation_"+t,m=[],A=[],g=[],b=[],v=[],y=0,E=d.channels.length;y<E;y++){var _=d.channels[y],T=d.samplers[_.sampler],S=_.target,R=S.node!==void 0?S.node:S.id,w=d.parameters!==void 0?d.parameters[T.input]:T.input,I=d.parameters!==void 0?d.parameters[T.output]:T.output,P=(r=S.extensions)!==null&&r!==void 0?r:{};if(S.path==="pointer"&&P.KHR_animation_pointer&&P.KHR_animation_pointer.pointer&&/^\/nodes\/\d+\//.test(P.KHR_animation_pointer.pointer)){var C=P.KHR_animation_pointer.pointer.slice(1).split("/"),M=Number(C[1]);m.push(this.loadNode(M))}else R!==void 0?m.push(this.loadNode(R)):m.push(Promise.resolve(null));A.push(this.loadAccessor(w)),g.push(this.loadAccessor(I)),b.push(T),v.push(S)}s=Promise.all([Promise.all(m),Promise.all(A),Promise.all(g),Promise.all(b),Promise.all(v)]).then(function(F){for(var k,O=F[0],N=F[1],q=F[2],j=F[3],L=F[4],z=[],V=function(K,ue){var ae=O[K],ne=N[K],te=q[K],ee=j[K],se=L[K];ae&&(ae.updateMatrix(),ae.matrixAutoUpdate=!0);var W=te.array;if(te.normalized){for(var Q=getNormalizedComponentScale(W.constructor),X=new Float32Array(W.length),$=0,ie=W.length;$<ie;$++)X[$]=W[$]*Q;W=X}var de=ee.interpolation!==void 0?INTERPOLATION[ee.interpolation]:THREE__namespace.InterpolateLinear,oe=(k=se.extensions)!==null&&k!==void 0?k:{};if(oe.KHR_animation_pointer&&se.path&&se.path==="pointer"){var le=oe.KHR_animation_pointer.pointer;if(le.indexOf("/nodes/")===0){var he=le.match(/^\/nodes\/(\d+)\/(.+)/);if(!he)return"continue";Number(he[1]);var Y=he[2],Z=void 0;switch(Y){case"weights":Y="morphTargetInfluences",Z=THREE__namespace.NumberKeyframeTrack;break;case"rotation":Y="quaternion",Z=THREE__namespace.QuaternionKeyframeTrack;break;case"translation":Y="position",Z=THREE__namespace.VectorKeyframeTrack;break;case"scale":Y="scale",Z=THREE__namespace.VectorKeyframeTrack;break;case"extensions/KHR_node_visibility/visible":Y="visible",Z=THREE__namespace.BooleanKeyframeTrack;break}if(!Z)return"continue";var ve=[];if(ae){var ye=ae.name?ae.name:ae.uuid;Y==="morphTargetInfluences"?ae.traverse(function(je){je.morphTargetInfluences&&ve.push(je.name?je.name:je.uuid)}):ve.push(ye)}for(var $=0,ie=ve.length;$<ie;$++){var me=new Z(".nodes.".concat(ve[$],".").concat(Y),ne.array,Z===THREE__namespace.BooleanKeyframeTrack?Array.from(W).map(function(Fe){return Fe>0}):W,de);z.push(me)}}else if(le.indexOf("/materials/")===0){var he=le.match(/^\/materials\/(\d+)\/(.+)/);if(!he)return"continue";var Ee=Number(he[1]),Y=he[2],Be=e.json.materials[Ee],Ae=Be.name,Z=void 0;switch(Y){case"pbrMetallicRoughness/baseColorFactor":Y="color",Z=THREE__namespace.ColorKeyframeTrack;break;case"pbrMetallicRoughness/roughnessFactor":Y="roughness",Z=THREE__namespace.NumberKeyframeTrack;break;case"pbrMetallicRoughness/metallicFactor":Y="metalness",Z=THREE__namespace.NumberKeyframeTrack;break;case"emissiveFactor":Y="emissive",Z=THREE__namespace.NumberKeyframeTrack;break;case"alphaCutoff":Y="alphaTest",Z=THREE__namespace.NumberKeyframeTrack;break;case"occlusionTexture/strength":Y="aoMapIntensity",Z=THREE__namespace.NumberKeyframeTrack;break;case"normalTexture/scale":Y="normalScale",Z=THREE__namespace.VectorKeyframeTrack;break;case"pbrMetallicRoughness/baseColorTexture/extensions/KHR_texture_transform/scale":Y="map.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"pbrMetallicRoughness/baseColorTexture/extensions/KHR_texture_transform/offset":Y="map.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"pbrMetallicRoughness/baseColorTexture/extensions/KHR_texture_transform/rotation":Y="map.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"normalTexture/extensions/KHR_texture_transform/scale":Y="normalMap.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"normalTexture/extensions/KHR_texture_transform/offset":Y="normalMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"normalTexture/extensions/KHR_texture_transform/rotation":Y="normalMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"emissiveTexture/extensions/KHR_texture_transform/scale":Y="emissiveMap.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"emissiveTexture/extensions/KHR_texture_transform/offset":Y="emissiveMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"emissiveTexture/extensions/KHR_texture_transform/rotation":Y="emissiveMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"occlusionTexture/extensions/KHR_texture_transform/scale":Y="aoMap.repeat",Z=THREE__namespace.VectorKeyframeTrack;break;case"occlusionTexture/extensions/KHR_texture_transform/offset":Y="aoMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"occlusionTexture/extensions/KHR_texture_transform/rotation":Y="aoMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break;case"extensions/KHR_materials_clearcoat/clearcoatNormalTexture/extensions/KHR_texture_transform/scale":Y="clearcoatNormalMap.scale",Z=THREE__namespace.NumberKeyframeTrack;break;case"extensions/KHR_materials_clearcoat/clearcoatNormalTexture/extensions/KHR_texture_transform/offset":Y="clearcoatNormalMap.offset",Z=THREE__namespace.VectorKeyframeTrack;break;case"extensions/KHR_materials_clearcoat/clearcoatNormalTexture/extensions/KHR_texture_transform/rotation":Y="clearcoatNormalMap.rotation",Z=THREE__namespace.NumberKeyframeTrack;break}if(!Z)return"continue";var me=new Z(".materials.".concat(Ae,".").concat(Y),ne.array,W,de);if(z.push(me),Y==="color"&&te.itemSize===4){for(var _e=new Float32Array(W.length/4),$=0,ie=W.length/4;$<ie;$+=1)_e[$]=W[$*4+3];var xe=new THREE__namespace.NumberKeyframeTrack(".materials.".concat(Ae,".opacity"),ne.array,_e,de);z.push(xe)}}else if(le.indexOf("/cameras/")===0){var he=le.match(/^\/cameras\/(\d+)\/(.+)/);if(!he)return"continue";var ce=Number(he[1]),Y=he[2],ze=e.json.cameras[ce],be=ze.name,Z=void 0;switch(Y){case"perspective/yfov":Y="fov",Z=THREE__namespace.NumberKeyframeTrack;break;case"perspective/znear":case"orthographic/znear":Y="near",Z=THREE__namespace.NumberKeyframeTrack;break;case"perspective/zfar":case"orthographic/zfar":Y="far",Z=THREE__namespace.NumberKeyframeTrack;break;case"perspective/aspect":Y="aspect",Z=THREE__namespace.NumberKeyframeTrack;break}if(!Z)return"continue";var me=new Z(".cameras.".concat(be,".").concat(Y),ne.array,W,de);z.push(me)}}else{var Z=void 0;switch(PATH_PROPERTIES[se.path]){case PATH_PROPERTIES.weights:Z=THREE__namespace.NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:Z=THREE__namespace.QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:Z=THREE__namespace.VectorKeyframeTrack;break}var Me=[];if(ae){var ye=ae.name?ae.name:ae.uuid;PATH_PROPERTIES[se.path]===PATH_PROPERTIES.weights?ae.traverse(function(Fe){Fe.morphTargetInfluences&&Me.push(Fe.name?Fe.name:Fe.uuid)}):Me.push(ye)}var Se=te.array;if(te.normalized){for(var Q=getNormalizedComponentScale(Se.constructor),X=new Float32Array(Se.length),$=0,ie=Se.length;$<ie;$++)X[$]=Se[$]*Q;Se=X}for(var $=0,ie=Me.length;$<ie;$++){var me=new Z(Me[$]+"."+PATH_PROPERTIES[se.path],ne.array,Se,de);z.push(me)}}},U=0,J=O.length;U<J;U++)V(U);return new THREE__namespace.AnimationClip(h,void 0,z)})}return this.cache.set(o,s),s},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,o=this.cache.get(r);if(o)return o;for(var u=null,s=0,l=values(this.extensions);s<l.length;s++){var c=l[s];if(u=c.loadBuffer(t,this),u)break}if(!u){var f=this.json.buffers[t];u=this.options.fetcher.ajax(this.resolveResouce(f.uri),{responseType:"arraybuffer"}).then(function(p){return p.body})}return this.cache.set(r,u),u},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var o=null,u=0,s=values(this.extensions);u<s.length;u++){var l=s[u];if(o=l.loadBufferView(t,this),o)break}if(!o){var c=this.json.bufferViews[t];o=this.loadBuffer(c.buffer).then(function(f){var p=c.byteLength||0,d=c.byteOffset||0;return f.slice(d,d+p)})}return this.cache.set(e,o),o},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,o=this.cache.get(r);if(o)return o;var u=null;if(!u){var s=this.json.accessors[t];if(s.bufferView===void 0&&s.sparse===void 0)u=Promise.resolve(null);else{var l=[];s.bufferView!==void 0?l.push(this.loadBufferView(s.bufferView)):l.push(Promise.resolve(null)),s.sparse!==void 0&&(l.push(this.loadBufferView(s.sparse.indices.bufferView)),l.push(this.loadBufferView(s.sparse.values.bufferView))),u=Promise.all(l).then(function(c){var f=c[0],p=WEBGL_TYPE_SIZES[s.type],d=WEBGL_COMPONENT_TYPES[s.componentType],h=d.BYTES_PER_ELEMENT,m=h*p,A=s.byteOffset||0,g=s.bufferView!==void 0?e.json.bufferViews[s.bufferView].byteStride:void 0,b=s.normalized===!0,v,y;if(g&&g!==m){var E=Math.floor(A/g),_="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+E+":"+s.count,T=e.cache.get(_);T||(v=new d(f,E*g,s.count*g/h),T=new THREE__namespace.InterleavedBuffer(v,g/h),e.cache.set(_,T)),y=new THREE__namespace.InterleavedBufferAttribute(T,p,A%g/h,b)}else f===null?v=new d(s.count*p):v=new d(f,A,s.count*p),y=new THREE__namespace.BufferAttribute(v,p,b);if(s.sparse!==void 0){var S=WEBGL_TYPE_SIZES.SCALAR,R=WEBGL_COMPONENT_TYPES[s.sparse.indices.componentType],w=s.sparse.indices.byteOffset||0,I=s.sparse.values.byteOffset||0,P=new R(c[1],w,s.sparse.count*S),C=new d(c[2],I,s.sparse.count*p);f!==null&&(y=new THREE__namespace.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var M=0,F=P.length;M<F;M++){var k=P[M];if(y.setX(k,C[M*p]),p>=2&&y.setY(k,C[M*p+1]),p>=3&&y.setZ(k,C[M*p+2]),p>=4&&y.setW(k,C[M*p+3]),p>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,u),u},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=values(this.extensions);e<r.length;e++){var o=r[e],u=o.createPrimitiveKey(t,this);if(u)return u}for(var s="",l=Object.keys(t.attributes).sort(),c=0,f=l.length;c<f;c++)s+=l[c]+":"+t.attributes[l[c]]+";";return t.indices+":"+s+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,o=0,u=values(this.extensions);o<u.length;o++){var s=u[o];if(r=s.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new THREE__namespace.BufferGeometry,t)),r=r.then(function(l){return e.disposeSet.add(l),l}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,o=0,u=values(this.extensions);o<u.length;o++){var s=u[o];if(r=s.loadImage(t,this),r)break}if(!r){var l=this.json.images[t];if(l.bufferView!==void 0){var c=this.json.bufferViews[l.bufferView];r=this.loadBuffer(c.buffer).then(function(p){var d=c.byteOffset||0,h=c.byteLength||0,m=new Uint8Array(p,d,h),A=new Blob([m],{type:l.mimeType});return createImageBitmapLike(A)})}else if(l.uri){var f=this.resolveResouce(l.uri);canUseNativeImageBitmap()?r=this.options.fetcher.ajax(f,{responseType:"blob"}).then(function(p){var d=p.body;return createImageBitmapLike(d)}):r=this.options.fetcher.loadImage(f,{},void 0,void 0,void 0,createImageBitmapLikeImage()).then(function(p){return p.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(p){return e.disposeSet.add(p),p}),r},n.prototype.loadMesh=function(t){for(var e=this,r=null,o=0,u=values(this.extensions);o<u.length;o++){var s=u[o];if(r=s.loadMesh(t,this),r)break}if(!r){var l=this.json.meshes[t],c=l.primitives,f=Promise.all(c.map(function(d){return e.loadGeometry(d)})),p=Promise.all(c.map(function(d){return e.loadMaterial(d)}));r=Promise.all([f,p]).then(function(d){for(var h,m=d[0],A=d[1],g=[],b=0;b<c.length;b++){var v=c[b],y=m[b],E=A[b],_=(h=v.mode)!==null&&h!==void 0?h:WEBGL_CONSTANTS.TRIANGLES,T=void 0;if(_===WEBGL_CONSTANTS.TRIANGLES||_===WEBGL_CONSTANTS.TRIANGLE_STRIP||_===WEBGL_CONSTANTS.TRIANGLE_FAN)if(_===WEBGL_CONSTANTS.TRIANGLE_STRIP?y=e.toGeometryTrianglesDrawMode(y,THREE__namespace.TriangleStripDrawMode):_===WEBGL_CONSTANTS.TRIANGLE_FAN&&(y=e.toGeometryTrianglesDrawMode(y,THREE__namespace.TriangleFanDrawMode)),y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),e.disposeSet.add(y),l.isSkinnedMesh){var S=new PBMSkinnedMesh(y,[E]);e.normalizeSkinWeights(S),T=S}else T=new PBMMesh(y,[E]);else if(_===WEBGL_CONSTANTS.LINES)T=new THREE__namespace.LineSegments(y,E);else if(_===WEBGL_CONSTANTS.LINE_STRIP)T=new THREE__namespace.Line(y,E);else if(_===WEBGL_CONSTANTS.LINE_LOOP)T=new THREE__namespace.LineLoop(y,E);else if(_===WEBGL_CONSTANTS.POINTS)T=new PBMPointCloud(y,E);else throw new Error("glTF: Primitive mode unsupported: "+_);if(Object.keys(y.morphAttributes).length>0){if(l.weights!==void 0)for(var R=0,w=l.weights.length;R<w;R++)T.morphTargetInfluences[R]=l.weights[R];if(l.extras&&Array.isArray(l.extras.targetNames)){var I=l.extras.targetNames;if(T.morphTargetInfluences.length===I.length){T.morphTargetDictionary={};for(var R=0,w=I.length;R<w;R++)T.morphTargetDictionary[I[R]]=R}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}T.name=l.name||"mesh_"+t,e.assignFinalMaterial(T),g.push(T)}if(g.length===1)return g[0];for(var P=new THREE__namespace.Group,C=0,M=g;C<M.length;C++){var T=M[C];P.add(T)}return P})}return r},n.prototype.loadMaterial=function(t){var e=this,r,o=(r=t.mode)!==null&&r!==void 0?r:WEBGL_CONSTANTS.TRIANGLES,u="material:"+this.createPrimitiveKey(t),s=this.cache.get(u);if(s)return s;for(var l=null,c=0,f=values(this.extensions);c<f.length;c++){var p=f[c];if(l=p.loadMaterial(t,this),l)break}if(!l){if(o===WEBGL_CONSTANTS.TRIANGLES||o===WEBGL_CONSTANTS.TRIANGLE_STRIP||o===WEBGL_CONSTANTS.TRIANGLE_FAN)l=this.loadMaterialAsPBMMeshMaterial(t);else if(o===WEBGL_CONSTANTS.LINES||o===WEBGL_CONSTANTS.LINE_STRIP||o===WEBGL_CONSTANTS.LINE_LOOP)l=this.loadMaterialAsLineBasicMaterial(t);else if(o===WEBGL_CONSTANTS.POINTS)l=this.loadMaterialAsPBMPointCloudMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+o);l=l.then(function(d){return Promise.all(values(e.extensions).map(function(h){return h.extendMaterial(d,t,e)})).then(function(){return d})})}return l},n.prototype.loadMaterialAsPBMPointCloudMaterial=function(t){var e=new PBMPointCloudMaterial;return this.disposeSet.add(e),Promise.resolve(e)},n.prototype.loadMaterialAsPBMMeshMaterial=function(t){var e=this,r=[],o=new PBMMeshMaterial("standard");if(o.color=new THREE__namespace.Color(1,1,1),o.opacity=1,o.colorAlpha=1,t.material!==void 0){var u=this.json.materials[t.material];u.name&&(o.name=u.name);var s=u.pbrMetallicRoughness||{};if(Array.isArray(s.baseColorFactor)){var l=s.baseColorFactor;o.color=new THREE__namespace.Color().fromArray(l),o.colorAlpha=l[3]}s.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(s.baseColorTexture).then(function(p){p.encoding=THREE__namespace.sRGBEncoding,o.map=p,u.alphaMode===ALPHA_MODES.MASK&&!(p instanceof THREE__namespace.CompressedTexture)&&p.minFilter!==THREE__namespace.LinearMipmapLinearFilter&&(p.minFilter=THREE__namespace.LinearMipmapLinearFilter,p.generateMipmaps=!0),e.disposeSet.add(p)})),o.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,o.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(s.metallicRoughnessTexture).then(function(p){p.format=THREE__namespace.RGBFormat,o.roughnessMap=p,o.metalnessMap=p,e.disposeSet.add(p)})),u.doubleSided===!0&&(o.side=THREE__namespace.DoubleSide);var c=u.alphaMode||ALPHA_MODES.OPAQUE;if(o.alphaMode="OPAQUE",c===ALPHA_MODES.BLEND?(o.alphaMode="BLEND",o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,c===ALPHA_MODES.MASK&&(o.alphaMode="MASK",o.alphaTest=u.alphaCutoff!==void 0?u.alphaCutoff:.5)),u.normalTexture!==void 0&&(r.push(this.createMaterialTexture(u.normalTexture).then(function(p){e.disposeSet.add(p),o.normalMap=p})),o.normalScale=new THREE__namespace.Vector2(1,1),u.normalTexture.scale!==void 0)){var f=u.normalTexture.scale;o.normalScale.set(f,f)}u.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(u.occlusionTexture).then(function(p){p.format=THREE__namespace.RGBFormat,o.aoMap=p,e.disposeSet.add(p)})),u.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=u.occlusionTexture.strength)),u.emissiveFactor!==void 0&&(o.emissive=new THREE__namespace.Color().fromArray(u.emissiveFactor)),u.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(u.emissiveTexture).then(function(p){p.format=THREE__namespace.RGBFormat,o.emissiveMap=p,e.disposeSet.add(p)}))}return this.disposeSet.add(o),Promise.all(r).then(function(){return o})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new THREE__namespace.LineBasicMaterial;if(r.color=new THREE__namespace.Color(1,1,1),r.opacity=1,t.material!==void 0){var o=this.json.materials[t.material];o.name&&(r.name=o.name);var u=o.pbrMetallicRoughness||{};if(Array.isArray(u.baseColorFactor)){var s=u.baseColorFactor;r.color.fromArray(s),r.opacity=s[3]}o.doubleSided===!0&&(r.side=THREE__namespace.DoubleSide);var l=o.alphaMode||ALPHA_MODES.OPAQUE;l===ALPHA_MODES.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,l===ALPHA_MODES.MASK&&(r.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,o=this.cache.get(r);if(o)return o;for(var u=null,s=0,l=values(this.extensions);s<l.length;s++){var c=l[s];if(u=c.loadTexture(t,this),u)break}if(!u){var f=this.json.textures[t];u=this.loadImage(f.source).then(function(p){var d=new THREE__namespace.Texture(p);d.needsUpdate=!0,d.flipY=!1,f.name&&(d.name=f.name);var h=e.json.samplers||{},m=h[f.sampler]||{};return d.magFilter=WEBGL_FILTERS[m.magFilter]||THREE__namespace.LinearFilter,d.minFilter=WEBGL_FILTERS[m.minFilter]||THREE__namespace.LinearMipmapLinearFilter,d.wrapS=WEBGL_WRAPPINGS[m.wrapS]||THREE__namespace.RepeatWrapping,d.wrapT=WEBGL_WRAPPINGS[m.wrapT]||THREE__namespace.RepeatWrapping,d.onUpdate=function(){p.close()},d})}return u=u.then(function(p){return e.disposeSet.add(p),p}),this.cache.set(r,u),u},n.prototype.normalizeSkinWeights=function(t){var e=t.geometry,r=e.attributes.skinWeight;if(!r.normalized)t.normalizeSkinWeights();else{var o=0;if(r.array instanceof Uint8Array)o=255;else if(r.array instanceof Uint16Array)o=65535;else if(r.array instanceof Uint32Array)o=4294967295;else return;for(var u=new THREE__namespace.Vector4,s=0,l=r.count;s<l;s++){u.x=r.getX(s),u.y=r.getY(s),u.z=r.getZ(s),u.w=r.getW(s);var c=o/u.manhattanLength();c!==1&&(!isNaN(c)&&isFinite(c)?u.multiplyScalar(c):u.set(o,0,0,0),r.setXYZW(s,u.x,u.y,u.z,u.w))}}},n.prototype.assignFinalMaterial=function(t){var e=this,r=t.geometry,o=[].concat(t.material),u=r.attributes.tangent!==void 0,s=r.attributes.color!==void 0,l=r.attributes.normal===void 0,c=t instanceof THREE__namespace.SkinnedMesh,f=Object.keys(r.morphAttributes).length>0,p=f&&r.morphAttributes.normal!==void 0;o=o.map(function(d){if(u||s||l||c||f||p){var h="cloned-material:"+d.uuid+":";u&&(h+="vertex-tangents:"),s&&(h+="vertex-colors:"),l&&(h+="flat-shading:"),c&&(h+="skinning:"),f&&(h+="morph-targets:"),p&&(h+="morph-normals:");var m=e.cache.get(h);m||(m=d.clone(),u&&(m.vertexTangents=!0),s&&(m.vertexColors=!0),l&&(m.flatShading=!0),c&&(m.skinning=!0),f&&(m.morphTargets=!0),p&&(m.morphNormals=!0),u&&(m.normalScale&&(m.normalScale.y*=-1),m.clearcoatNormalScale&&(m.clearcoatNormalScale.y*=-1)),e.cache.set(h,m)),d=m}return d}),Array.isArray(t.material)?t.material=o:t.material=o[0]},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,o=values(this.extensions);r<o.length;r++){var u=o[r],s=u.loadNodeAttachments(t,this);s&&e.push(s)}return e},n.prototype.loadNode=function(t){var e=this,r="node:"+t,o=this.cache.get(r);if(o)return o;var u=this.json,s=u.nodes[t],l=[];s.mesh!==void 0&&l.push(this.loadMesh(s.mesh).then(function(m){if(s.weights!==void 0){var A=s.weights;m.traverse(function(g){if(g instanceof THREE__namespace.Mesh||g instanceof THREE__namespace.Line||g instanceof THREE__namespace.Points)for(var b=0,v=A.length;b<v;b++)g.morphTargetInfluences[b]=A[b]})}return m})),s.camera!==void 0&&l.push(this.loadCamera(s.camera));for(var c=this.loadNodeAttachments(t),f=0,p=c;f<p.length;f++){var d=p[f];l.push(d)}var h=Promise.all(l).then(function(m){var A;if(s.isBone===!0?A=new THREE__namespace.Bone:m.length>1?A=new THREE__namespace.Group:m.length===1?A=m[0]:A=new THREE__namespace.Object3D,A!==m[0])for(var g=0,b=m.length;g<b;g++)A.add(m[g]);if(s.name&&(A.userData.name=s.name,A.name=THREE__namespace.PropertyBinding.sanitizeNodeName(s.name)),s.matrix!==void 0){var v=new THREE__namespace.Matrix4;v.fromArray(s.matrix),A.applyMatrix4(v)}else s.translation!==void 0&&A.position.fromArray(s.translation),s.rotation!==void 0&&A.quaternion.fromArray(s.rotation),s.scale!==void 0&&A.scale.fromArray(s.scale);return h=h.then(function(y){return Promise.all(values(e.extensions).map(function(E){return E.extendNode(y,s,e)})).then(function(){return y})}),A});return this.cache.set(r,h),h},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],o=new THREE__namespace.Group;r.name&&(o.name=r.name);for(var u=r.nodes||[],s=[],l=0,c=u.length;l<c;l++)s.push(this.buildNodeHierarchy(u[l],o));return Promise.all(s).then(function(){return o})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){r instanceof THREE__namespace.CompressedTexture||(r.minFilter=THREE__namespace.LinearFilter,r.magFilter=THREE__namespace.LinearFilter,r.generateMipmaps=!1);for(var o=0,u=values(e.extensions);o<u.length;o++){var s=u[o],l=s.extendTexture(r,t,e);l&&(r=l)}return e.textureSet.add(r),e.disposeSet.add(r),r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,o=e.attributes,u=[],s=function(T){var S=ATTRIBUTES[T]||T.toLowerCase();if(S in t.attributes)return"continue";u.push(l.loadAccessor(o[T]).then(function(R){R&&t.setAttribute(S,R)}))},l=this;for(var c in o)s(c);e.indices!==void 0&&!t.index&&u.push(this.loadAccessor(e.indices).then(function(T){T&&t.setIndex(T)}));var f=new THREE__namespace.Box3;if(o.POSITION!==void 0){var p=this.json.accessors[o.POSITION],d=p.min,h=p.max;if(d!==void 0&&h!==void 0){if(f.set(new THREE__namespace.Vector3(d[0],d[1],d[2]),new THREE__namespace.Vector3(h[0],h[1],h[2])),p.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[p.componentType]);f.min.multiplyScalar(m),f.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var A=e.targets;if(A!==void 0){for(var g=new THREE__namespace.Vector3,b=new THREE__namespace.Vector3,v=0,y=A.length;v<y;v++){var E=A[v];if(E.POSITION!==void 0){var p=this.json.accessors[E.POSITION],d=p.min,h=p.max;if(d!==void 0&&h!==void 0){if(b.setX(Math.max(Math.abs(d[0]),Math.abs(h[0]))),b.setY(Math.max(Math.abs(d[1]),Math.abs(h[1]))),b.setZ(Math.max(Math.abs(d[2]),Math.abs(h[2]))),p.normalized){var m=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[p.componentType]);b.multiplyScalar(m)}g.max(b)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}f.expandByVector(g)}t.boundingBox=f;var _=new THREE__namespace.Sphere;return f.getCenter(_.center),_.radius=f.min.distanceTo(f.max)/2,t.boundingSphere=_,Promise.all(u).then(function(){var T=!1;if(e.material!==void 0){var S=r.json.materials[e.material];S.occlusionTexture&&(T=!0)}if((T||r.options.copyUV2)&&t.attributes.uv&&!t.attributes.uv2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var R=!1,w=!1,I=0,P=e.targets.length;I<P;I++){var C=e.targets[I];if(C.POSITION!==void 0&&(R=!0),C.NORMAL!==void 0&&(w=!0),R&&w)break}if(!R&&!w)return t;var M=[];t.morphTargetsRelative=!0;for(var F=function(k,O){var N=e.targets[k];R?M.push(r.loadAccessor(N.POSITION).then(function(q){q&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[k]=q)})):t.attributes.position&&(t.morphAttributes.position=t.morphAttributes.position||[],t.morphAttributes.position[k]=t.attributes.position),w?M.push(r.loadAccessor(N.NORMAL).then(function(q){q&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[k]=q)})):t.attributes.normal&&(t.morphAttributes.normal=t.morphAttributes.normal||[],t.morphAttributes.normal[k]=t.attributes.normal)},I=0,P=e.targets.length;I<P;I++)F(I,P);return Promise.all(M).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,o=this.json.nodes[t];return this.loadNode(t).then(function(u){if(o.skin===void 0)return u;var s;return r.loadSkin(o.skin).then(function(l){s=l;for(var c=[],f=0,p=s.joints.length;f<p;f++)c.push(r.loadNode(s.joints[f]));return Promise.all(c)}).then(function(l){return u.traverse(function(c){if(c instanceof THREE__namespace.SkinnedMesh){for(var f=[],p=[],d=0,h=l.length;d<h;d++){var m=l[d];if(m instanceof THREE__namespace.Bone){f.push(m);var A=new THREE__namespace.Matrix4;s.inverseBindMatrices!==void 0&&A.fromArray(s.inverseBindMatrices.array,d*16),p.push(A)}else console.warn('glTF: Joint "%s" could not be found.',s.joints[d])}var g=new THREE__namespace.Skeleton(f,p);c.bind(g,c.matrixWorld)}}),u})}).then(function(u){e.add(u);var s=[];if(o.children)for(var l=o.children,c=0,f=l.length;c<f;c++){var p=l[c];s.push(r.buildNodeHierarchy(p,u))}return Promise.all(s).then(function(){return u})})},n.prototype.resolveResouce=function(t){return/^[a-z]{0,8}\:/i.test(t)?t:pathJoin(this.options.resourcePath,appendSearch(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var o=[],u=t.getAttribute("position");if(u!==void 0){for(var s=0;s<u.count;s++)o.push(s);t.setIndex(o),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var l=r.count-2,c=[];if(e===THREE__namespace.TriangleFanDrawMode)for(var s=1;s<=l;s++)c.push(r.getX(0)),c.push(r.getX(s)),c.push(r.getX(s+1));else for(var s=0;s<l;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!==l&&console.error("glTF: Unable to generate correct amount of triangles.");var f=t.clone();return f.setIndex(c),this.disposeSet.add(f),f},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 _havePatchedPropertyBindings=!1,findNodeFn=null;function _ensurePropertyBindingPatch(){if(!_havePatchedPropertyBindings){_havePatchedPropertyBindings=!0;var n=findNodeFn||(findNodeFn=THREE__namespace.PropertyBinding.findNode);THREE__namespace.PropertyBinding.findNode=function(t,e){if(!e)return n(t,e);if(e.startsWith(".materials.")){var r=e.substring(11).substring(e.indexOf(".")),o=r.indexOf("."),u=o<0?r:r.substring(0,o),s=o<0?null:r.slice(o+1),l=null;return t.traverse(function(y){if(!(l!==null||y.type!=="Mesh"&&y.type!=="SkinnedMesh"))for(var E=[].concat(y.material),_=0,T=E;_<T.length;_++){var S=T[_];S&&(S.uuid===u||S.name===u)&&(l=S,l!==null&&s&&(l=l[s]))}}),l}else if(e.startsWith(".nodes.")||e.startsWith(".lights.")||e.startsWith(".cameras.")){for(var c=e.split("."),f=void 0,p=1;p<c.length;p++){var d=c[p],h=d.length==36;if(h)f=t.getObjectByProperty("uuid",d);else if(f&&f[d]){var m=Number.parseInt(d),A=d;m>=0&&(A=m),f=f[A]}else{var g=t.getObjectByName(d);g&&(f=g)}}if(!f){var b=n(t,c[2]);return b||console.warn("KHR_animation_pointer: Property binding not found",e,t,t.name,c),b}return f}var v=n(t,e);return v||(console.error("THREE.PropertyBinding: Trying to update node for track: "+e+" but it wasn't found."),v=new THREE__namespace.Object3D,v.name=e,v.visible=!1,t.add(v)),v=n(t,e),v}}}_ensurePropertyBindingPatch();var BaseExtension=(function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.extendMaterial=function(t,e,r){return Promise.resolve()},n.prototype.loadMesh=function(t,e){return null},n.prototype.extendNode=function(t,e,r){return Promise.resolve()},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})(),EXTENSION_NAME$d="KHR_binary_glTF",KHR_binary_glTF=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return decodeText(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var o=new DataView(e,t.HEADER_LENGTH),u=0,s=null,l=null;u<o.byteLength;){var c=o.getUint32(u,!0);if(u+=4,c!==0){var f=o.getUint32(u,!0);if(u+=4,f===t.CHUNK_TYPES.JSON){var p=new Uint8Array(e,t.HEADER_LENGTH+u,c);s=decodeText(p)}else if(f===t.CHUNK_TYPES.BIN){var d=t.HEADER_LENGTH+u;l=e.slice(d,d+c)}u+=c}}if(s===null)throw new Error("glTF:".concat(EXTENSION_NAME$d,": JSON content not found."));this.content=s,this.body=l},t.prototype.loadBuffer=function(e,r){var o=r.json.buffers[e];return o.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t})(BaseExtension),defaultDecoderPath="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},Draco=(function(){function n(){this.decoderPath=defaultDecoderPath,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,o){var u={attributeIDs:r||defaultAttributeIDs,attributeTypes:o||defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(t,u).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:defaultAttributeIDs,attributeTypes:defaultAttributeTypes,useUniqueIDs:!1});for(var o in e.attributeTypes){var u=e.attributeTypes[o];u.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[o]=u.name)}var s,l=this.workerNextTaskID++,c=t.byteLength,f=this._getWorker(l,c).then(function(p){return s=p,new Promise(function(d,h){s._callbacks[l]={resolve:d,reject:h},s.postMessage({type:"decode",id:l,taskConfig:e,buffer:t},[t])})}).then(function(p){return r._createGeometry(p.geometry)});return f.catch(function(){return!0}).then(function(){s&&l&&r._releaseTask(s,l)}),f},n.prototype._createGeometry=function(t){var e=new THREE__namespace.BufferGeometry;t.index&&e.setIndex(new THREE__namespace.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var o=t.attributes[r],u=o.name,s=o.array,l=o.itemSize,c=!(s instanceof Float32Array||s instanceof Float64Array);e.setAttribute(u,new THREE__namespace.BufferAttribute(s,l,c))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=internalFetcher.ajax(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(u){return u.body});this.decoderPending=r.then(function(u){var s=["/* draco decoder */",u,"","/* worker */",DRACOWorker].join(`
451
451
  `);t.workerSourceURL=URL.createObjectURL(new Blob([s]))})}else{var r=internalFetcher.ajax(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(s){return s.body}),o=internalFetcher.ajax(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(s){return s.body});this.decoderPending=Promise.all([r,o]).then(function(s){var l=s[0],c=s[1];t.decoderConfig.wasmBinary=c;var f=["/* draco decoder */",l,"","/* worker */",DRACOWorker].join(`
452
452
  `);t.workerSourceURL=URL.createObjectURL(new Blob([f]))})}return this.decoderPending},n.prototype._getWorker=function(t,e){var r=this;return this._initDecoder().then(function(){if(r.workerPool.length<r.workerLimit){var o=new Worker(r.workerSourceURL);o._callbacks={},o._taskCosts={},o._taskLoad=0,o.postMessage({type:"init",decoderConfig:r.decoderConfig}),o.onmessage=function(s){var l=s.data;switch(l.type){case"decode":o._callbacks[l.id].resolve(l);break;case"error":o._callbacks[l.id].reject(l);break;default:console.error('DRACO: Unexpected message, "'+l.type+'"')}},r.workerPool.push(o)}else r.workerPool.sort(function(s,l){return s._taskLoad>l._taskLoad?-1:1});var u=r.workerPool[r.workerPool.length-1];return u._taskCosts[t]=e,u._taskLoad+=e,u})},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=`
453
453
  let decoderConfig;
@@ -2772,7 +2772,7 @@ void main() {
2772
2772
  #include <premultiplied_alpha_fragment>
2773
2773
 
2774
2774
  }
2775
- `},LineMaterial=(function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t})(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,u=new Float32Array(2*r.count),s=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,f=0,p=r.count;c<p;c++,f+=2)s.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),u[f]=f===0?0:u[f-1],u[f+1]=u[f]+s.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(u,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,u=e.camera,s=u.projectionMatrix,l=this.geometry,c=this.material,f=c.resolution,p=c.linewidth,d=l.attributes.instanceStart,h=l.attributes.instanceEnd,m=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,g=new THREE__namespace.Vector4,b=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,E=new THREE__namespace.Vector3;o.at(1,g),g.w=1,g.applyMatrix4(u.matrixWorldInverse),g.applyMatrix4(s),g.multiplyScalar(1/g.w),g.x*=f.x/2,g.y*=f.y/2,g.z=0,b.copy(g);var _=this.matrixWorld;v.multiplyMatrices(u.matrixWorldInverse,_);for(var T=0,S=d.count;T<S;T++){m.fromBufferAttribute(d,T),A.fromBufferAttribute(h,T),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(s),A.applyMatrix4(s),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var R=m.z<-1&&A.z<-1,w=m.z>1&&A.z>1;if(!(R||w)){m.x*=f.x/2,m.y*=f.y/2,A.x*=f.x/2,A.y*=f.y/2,y.start.copy(m),y.start.z=0,y.end.copy(A),y.end.z=0;var I=y.closestPointToPointParameter(b,!0);y.at(I,E);var P=THREE__namespace.MathUtils.lerp(m.z,A.z,I),C=P>=-1&&P<=1,M=b.distanceTo(E)<p*.5;if(C&&M){y.start.fromBufferAttribute(d,T),y.end.fromBufferAttribute(h,T),y.start.applyMatrix4(_),y.end.applyMatrix4(_);var F=new THREE__namespace.Vector3,k=new THREE__namespace.Vector3;o.distanceSqToSegment(y.start,y.end,k,F),r.push({point:k,pointOnLine:F,distance:o.origin.distanceTo(k),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 o=n.call(this,e,r)||this;return o.type="Line2",o}return t})(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),u=0;u<r;u+=3)o[2*u]=e[u],o[2*u+1]=e[u+1],o[2*u+2]=e[u+2],o[2*u+3]=e[u+3],o[2*u+4]=e[u+4],o[2*u+5]=e[u+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),u=0;u<r;u+=3)o[2*u]=e[u],o[2*u+1]=e[u+1],o[2*u+2]=e[u+2],o[2*u+3]=e[u+3],o[2*u+4]=e[u+4],o[2*u+5]=e[u+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t})(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=(function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var u=new LineGeometry,s=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(u,s);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.8.0-alpha.10"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var u=e[o];o==="dashed"?(r.dashed=u,u?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t})(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,u){var s,l,c,f,p,d;return o===void 0&&(o=null),u===void 0&&(u=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(s=h.sent(),e.profiles.some(function(m){var A=s[m];return A&&(l={profileId:m,profilePath:"".concat(r,"/").concat(A.path),deprecated:!!A.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=s[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(f=h.sent(),u){if(d=void 0,d=f.layouts[e.handedness],!d)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));d.assetPath&&(p=l.profilePath.replace("profile.json",d.assetPath))}return[2,{profile:f,assetPath:p}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var u=Math.atan2(t,n);e=Math.cos(u),r=Math.sin(u)}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,o=t.button,u=t.state,s=normalizeAxes(e,r),l=s.normalizedXAxis,c=s.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(u)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(u)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(u)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(u):this.value=this.states.includes(u)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n})(),Component=(function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var u=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=u}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n})(),MotionController=(function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(u){var s=o.layoutDescription.components[u];o.components[u]=new Component(u,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(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var u=o.valueNode,s=o.minNode,l=o.maxNode,c=o.value,f=o.valueNodeProperty;u&&(f===Constants.VisualResponseProperty.VISIBILITY?u.visible=c:f===Constants.VisualResponseProperty.TRANSFORM&&(u.quaternion.copy(s.quaternion).slerp(l.quaternion,c),u.position.lerpVectors(s.position,l.position,c)))})}))},t})(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,u=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var s=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(s,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(u).forEach(function(f){var p=f.valueNodeName,d=f.minNodeName,h=f.maxNodeName,m=f.valueNodeProperty;if(m===Constants.VisualResponseProperty.TRANSFORM){if(f.minNode=t.getObjectByName(d),f.maxNode=t.getObjectByName(h),!f.minNode){console.warn("Could not find ".concat(d," in the model"));return}if(!f.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}f.valueNode=t.getObjectByName(p),f.valueNode||console.warn("Could not find ".concat(p," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=(function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(u){var s=u.data;s.targetRayMode!=="tracked-pointer"||!s.gamepad||fetchProfile(s,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,f=l.assetPath;r.motionController=new MotionController(s,c,f);var p=e._assetCache[r.motionController.assetUrl];if(p)o=p.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(d){e._assetCache[r.motionController.assetUrl]=d,o=d.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n})(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,scratchRaycaster=new THREE__namespace.Raycaster,scratchVector3=new THREE__namespace.Vector3,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.left.firstHitOnly=!0,r.xrControllerRay.left.floorIndex=-1,r.xrControllerRay.right.params.Points={threshold:.1},r.xrControllerRay.right.firstHitOnly=!0,r.xrControllerRay.right.floorIndex=-1,r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var u=r.xrManager.getController(1);r.controllerWrappers[1].add(u);var s=new XRControllerModelFactory;s.gltfLoader={load:function(c,f){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(p){var d;return parseGltf(p.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(d=c.split("?")[1])!==null&&d!==void 0?d:"",fetcher:internalFetcher})}).then(function(p){return f(p)})}},(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$1()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",effectEasing:defaultEffectEase,fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(s.createControllerModel(c)),r.controllerWrappers[0].add(c);var f=r.xrManager.getControllerGrip(1);f.add(s.createControllerModel(f)),r.controllerWrappers[1].add(f)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var u=this,s,l,c,f=(s=r.effect)!==null&&s!==void 0?s:"fade";this.userAction=o,this.stopMomentumMovement();var p=panoStringify(e),d=this.works.getObserver(e);if(!d)throw new Error("Invalid PanoIndex");getImageSizeFromURL(d.images.up),this.imageOptions.size;var h=this.imageOptions.transform,m=function(I,P){return mapPanoResource(applyImageURLOptions(I,h,P))},A=__assign({key:"pano.".concat(p)},pick(this.imageOptions,["format","size","quality"])),g={right:d.images.work.getURL(d.images.right),left:d.images.work.getURL(d.images.left),up:d.images.work.getURL(d.images.up),down:d.images.work.getURL(d.images.down),front:d.images.work.getURL(d.images.front),back:d.images.work.getURL(d.images.back)},b="pano:"+jsonHash([g,A,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var v=this.pendingTextureTask.panoId;(l=this.panoMeshes.get(v))===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:e}))}var y=this.modelScene.parameter.resolveValue(),E=y.pano0,_=y.pano1,T;if((E==null?void 0:E.map.name)===b?T=E:(_==null?void 0:_.map.name)===b&&(T=_),T){var S={panoId:p,effect:f,effectEasing:(c=r.effectEasing)!==null&&c!==void 0?c:defaultEffectEase,leftPanoPicture:{panoId:T.panoId,map:T.map,mapSize:T.mapSize,matrix:d.matrix.clone().premultiply(d.work.transform),zoom:1},position:d.position.clone().applyMatrix4(d.work.transform),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(e,S,r);return}var R="move-to-pano-"+p;this.pending.add(R),this.pendingTextureTask={panoId:p,hash:b,onLoad:function(I){var P,C,M=I.body;if(u.destroyed)M.dispose();else{M.name=b;var F=Array.isArray(M.image)?M.image[0]:M.image,k=(P=F==null?void 0:F.width)!==null&&P!==void 0?P:2048,O={panoId:p,effect:f,effectEasing:(C=r.effectEasing)!==null&&C!==void 0?C:defaultEffectEase,leftPanoPicture:{panoId:p,map:M,mapSize:k,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};u.doMoveToPano(e,O,r)}},onError:function(I){var P=__assign(__assign(__assign({},e),{mode:u.mode}),clonePose(u.camera.pose));u.emit("pano.error",createEvent("pano.error",{error:I,userAction:u.userAction,options:r,prevPano:u.currentPano,progress:0,state:P})),u.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:u.userAction,options:r,prevPano:u.currentPano,progress:0,state:P})),r.moveCancelCallback&&r.moveCancelCallback()}};var w=this.panoMeshes.get(p);w&&w.tap&&w.tap(),this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:A},format:THREE__namespace.RGBFormat,fetcher:getFetcher(this.fiveId,d.work)},void 0,void 0,function(I){var P,C;((P=u.pendingTextureTask)===null||P===void 0?void 0:P.hash)===b&&((C=u.panoMeshes.get(p))===null||C===void 0||C.setProgress(I)),u.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:I,meta:null,pano:e}))},this.renderer).then(function(I){var P,C;u.pending.delete(R),((P=u.pendingTextureTask)===null||P===void 0?void 0:P.hash)===b?(u.pendingTextureTask.onLoad(I),u.pendingTextureTask=void 0,(C=u.panoMeshes.get(p))===null||C===void 0||C.setProgress(0)):I.body.dispose(),u.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:I.meta,pano:e}))}).catch(function(I){var P,C;u.pending.delete(R),((P=u.pendingTextureTask)===null||P===void 0?void 0:P.hash)===b&&(u.pendingTextureTask.onError(I),u.pendingTextureTask=void 0,(C=u.panoMeshes.get(p))===null||C===void 0||C.setProgress(0)),u.emit("pano.texture.error",createEvent("pano.texture.error",{error:I,progress:0,meta:null,pano:e})),u.emit("error",I)}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:e}))},t.prototype.doMoveToPano=function(e,r,o){var u=this,s,l,c,f,p,d,h,m,A,g;o===void 0&&(o={});var b=now(),v=createUuid$1();this.panoResources[v]=r;var y=1,E,_,T;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(b);S[0];var R=S[1],w=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(R).position,P=r.position;E=Math.max(I.distanceTo(P),y),_=[{key:R.key,progress:0,value:__assign(__assign({},w),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],T=0}else{var C=this.locationMotion.getKeyFrameSegment(b),M=C[0],R=C[1],w=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(M).position,I=this.panoResourceFromLocationMotionKeyframe(R).position,P=r.position,k=R.value.count-w.count,O=Math.max(F.distanceTo(I),y)*k,N=Math.max(I.distanceTo(P),y);E=O+N,_=[{key:M.key,progress:0,value:__assign({},w)},{key:R.key,progress:O/E,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var q=this.locationMotionKeyframesLength(this.locationMotion.keyframes),j=this.locationMotionKeyframesLength(_);T=this.locationMotion.getProgressVelocity(b)*q/j}var L=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"||r.effect==="model"?E:0),z={longitude:o.longitude,latitude:o.latitude,fov:o.fov},V=__assign(__assign({},e),{mode:this.mode,longitude:(s=z.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(l=z.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=z.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),U=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:U,progress:0,state:V,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(V),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,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly"||r.effect==="model")this.cameraMotion.set(z,L).catch(noop);else{var J=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),K=coordinatesToVector({longitude:(f=z.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(p=z.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude}),ue=new THREE__namespace.Object3D;ue.lookAt(J);var ae=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ue.quaternion);ue.lookAt(K);var ne=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ue.quaternion),te=new THREE__namespace.Matrix4().getInverse(ae).premultiply(ne),ee=this.cameraMotion.value.fov,se=(d=z.fov)!==null&&d!==void 0?d:this.cameraMotion.value.fov,W=1;r.effect==="zoomin"?W=1.5:r.effect==="zoomout"&&(W=.4);for(var Q=se*W,X=0;X<_.length-1;X++){var $=_[X].key;if($){var ie=this.panoResources[$];ie&&(ie.fixCameraTransform.copy(te),ie.leftPanoPicture&&(ie.leftPanoPicture.zoom=Math.tan(Q/2/180*Math.PI)/Math.tan(ee/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=z.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=z.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:Q}},{progress:1,value:{longitude:(A=z.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(g=z.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:se}}],L).catch(noop)}var de=this.locationMotion.setKeyframes(_,L,T);de.then(function(){for(var oe=0,le=u.modelScene.children;oe<le.length;oe++){var he=le[oe];he instanceof Model&&he.show()}var Y=__assign(__assign({},e),{mode:u.mode,longitude:u.camera.pose.longitude,latitude:u.camera.pose.latitude,fov:u.camera.pose.fov,offset:u.camera.pose.offset.clone(),distance:0});u.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:U,progress:1,state:Y,userAction:u.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(Y);var Z=u.works.getObserver(u.currentPano);if(Z&&Z.images.video&&u.videoTexture&&u.videoTexture.image instanceof HTMLVideoElement){var ve={map:u.videoTexture,size:Z.images.video.size.clone(),matrix:Z.images.video.matrix.clone(),panoMatrix:Z.matrix.clone().premultiply(Z.work.transform),alpha:1},ye=createUuid$1(),me=u.videoTexture.image;me.setAttribute("uuid",ye),canplayVideo().then(function(Ee){Ee&&Z.images.video&&me.getAttribute("uuid")===ye&&(me.oncanplay=function(){me.oncanplay=noop,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=noop,u.panoVideo.setMaterial(ve))},me.src=Z.images.video.source)}).catch((function(){me.removeAttribute("uuid")}))}},function(){u.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:U,progress:0,state:V,userAction:u.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var u=null,s=this.works.getObserver(this.currentPano);if(!s)return null;var l=s.work.observers,c=s.accessibleNodes.filter(function(T){if(T===r.currentPano.panoIndex&&s.work.workCode===r.currentPano.workCode)return!1;var S=l[T];if(!S)return!1;var R=scratchVector3.copy(S.position).applyMatrix4(S.work.transform);return R.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:S.loadable||S.active}),f=this.modelScene.intersectRaycaster(e)[0];if(f){var p=arrayMin(c,function(T){var S=l[T];if(!S)return 1/0;var R=scratchVector3.copy(S.standingPosition).applyMatrix4(S.work.transform);return R.distanceTo(f.point)},!0),d=p[0],h=p[1];typeof d=="number"&&h<this.panoTapTriggerRadius&&(u=(o=l[d])!==null&&o!==void 0?o:null)}if(isNil(u)){var m=this.getForwardObserverOrNot(this.xrManager.cameraVR,e);m&&(u=m)}for(var A=0,g=this.locationMotion.keyframes;A<g.length;A++){var b=g[A],v=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&u){var y=panoStringify({panoIndex:u.panoIndex,workCode:u.work.workCode});if(v.panoId===y){u=null;break}}}if(isNil(u))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!u.active){var y=panoStringify({panoIndex:u.panoIndex,workCode:u.work.workCode}),E=this.panoMeshes.get(y);E&&(E.setDisabled(!1),E.setLoading(!0))}var _={workCode:u.work.workCode,panoIndex:u.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:u?u.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:_,userAction:!0,options:{},progress:0,error:null})),u&&u.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:_,options:{},error:null})),{workCode:u.work.workCode,panoIndex:u.panoIndex}):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,u,s,l,c,f,p,d,h,m,A=[],g=2;g<arguments.length;g++)A[g-2]=arguments[g];this.userAction=!0;var b={},v={},y=this.camera.getDirection(new THREE__namespace.Vector3),E=this.locationMotion.keyframes[0],_=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],T=this.locationMotion.getKeyFrameSegment(e),S=T[0],R=T[1],w=this.panoResourceFromLocationMotionKeyframe(S),I=this.panoResourceFromLocationMotionKeyframe(R),P=this.panoResourceFromLocationMotionKeyframe(E),C=this.panoResourceFromLocationMotionKeyframe(_),M=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),v.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),b.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 F=this.locationMotion.value.count-R.value.count+1,k=new THREE__namespace.Vector3().copy(w.position),O=new THREE__namespace.Vector3().copy(I.position);if(b.progress=F,F>=.01&&F<=.99&&(b.progress=clamp$1(I.effectEasing(F),.01,.99)),I.leftPanoPicture&&(F<1?w.leftPanoPicture&&(b.pano0=w.leftPanoPicture):b.pano0=I.leftPanoPicture,b.pano1=I.leftPanoPicture),I.effect==="montage"?b.transition="BLACK":I.effect==="spread"?b.transition="SPREAD":b.transition="FADE",I.effect==="zoomin"||I.effect==="zoomout")b.progress=Math.pow(F,3);else if(I.effect==="model"&&this.camera.pose.distance<.01){var N=1-Math.pow(clamp$1(Math.abs(F-.5)*2,0,1),4);b.modelAlpha=N}if(F<1&&I.effect!=="fly"){if(b.pano0&&w.leftPanoPicture){var q={panoId:b.pano0.panoId,map:b.pano0.map,mapSize:b.pano0.mapSize,zoom:b.pano0.zoom,matrix:w.leftPanoPicture.matrix.clone().setPosition(I.position)},j=this.panoPictureObserverMap.get(b.pano0);j&&this.panoPictureObserverMap.set(q,j),b.pano0=q}k.copy(O),M=!0}v.distance=this.locationMotion.value.distance,v.offset=new THREE__namespace.Vector3(k.x+(O.x-k.x)*F,k.y+(O.y-k.y)*F,k.z+(O.z-k.z)*F);for(var L=[],z=[],V=0,U=this.locationMotion.keyframes;V<U.length;V++){var J=U[V],K=J.key,ue=J.progress;K!==void 0&&(L.push(K),ue>this.locationMotion.progress&&z.push(K))}for(var ae=0,ne=Object.keys(this.panoResources);ae<ne.length;ae++){var te=ne[ae];if(!(z.indexOf(te)>=0)){var ee=this.panoResources[te];if(ee.leftPanoPicture){var se=ee.leftPanoPicture.map;if(se){if(se===((u=b.pano0)===null||u===void 0?void 0:u.map)||se===((s=b.pano1)===null||s===void 0?void 0:s.map))continue;se.dispose(),ee.leftPanoPicture=null}}L.indexOf(te)>=0||delete this.panoResources[te]}}var W=panoParse(I.panoId);W!==this.currentPano&&(this.currentPano=W,this.accessibleObserverFloorCheckCount=0),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(P.panoId),state:__assign(__assign(__assign(__assign({},panoParse(C.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}this.camera.setFromPose(v),this.xrManager.cameraVR.projectionMatrix.copy(this.camera.projectionMatrix),this.xrManager.cameraVR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.xrManager.cameraVR.matrix.copy(this.camera.matrix),this.xrManager.cameraVR.position.copy(this.camera.position),this.xrManager.cameraVR.quaternion.copy(this.camera.quaternion),this.xrManager.cameraVR.scale.copy(this.camera.scale),this.xrManager.cameraVR.matrixAutoUpdate=!1,this.xrManager.cameraVR.matrixWorld.copy(this.camera.matrixWorld);var Q=A,X=Q[1],$=new THREE__namespace.Vector3(0,0,0),ie=new THREE__namespace.Vector2().copy(this.camera.resolution);if(X&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){for(var de=this.xrManager.cameraVR,oe=this.xrManager.referenceSpace,le=this.xrManager.session.renderState.baseLayer,he=X.getViewerPose(oe),Y=(l=he==null?void 0:he.views)!==null&&l!==void 0?l:[],Z=0;Z<Y.length;Z++){var ve=Y[Z],ye=de.cameras[Z],me=le.getViewport(ve);me&&(ye.projectionMatrix.fromArray(ve.projectionMatrix),ye.projectionMatrixInverse.getInverse(ye.projectionMatrix),ye.matrix.fromArray(ve.transform.matrix),ye.matrix.setPosition(this.camera.position),ye.matrix.decompose(ye.position,ye.quaternion,ye.scale),ye.matrixWorld.copy(ye.matrix),ye.matrixWorldInverse.getInverse(ye.matrixWorld),ye.matrixAutoUpdate=!1,$.copy(ye.position),ye.viewport.set(me.x,me.y,me.width,me.height),ie.set(me.width,me.height))}if(this.xrManager.setProjectionFromUnion(this.xrManager.cameraVR,this.xrManager.cameraL,this.xrManager.cameraR),this.camera.quaternion.copy(this.xrManager.cameraVR.quaternion),this.camera.scale.copy(this.xrManager.cameraVR.scale),this.camera.matrix.compose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.computePose((c=v.distance)!==null&&c!==void 0?c:this.camera.pose.distance),this.xrManager.session.inputSources){for(var Z=0;Z<this.xrManager.session.inputSources.length;Z++)if(this.xrManager.session.inputSources[Z]&&this.xrManager.session.inputSources[Z].targetRayMode==="transient-pointer"){var Ee=X.getPose(this.xrManager.session.inputSources[Z].targetRaySpace,oe);if(Ee){var Be=Ee.transform.orientation,Ae=new THREE__namespace.Quaternion(Be.x,Be.y,Be.z,Be.w),_e=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(Ae),xe=new THREE__namespace.Raycaster(this.camera.position,_e);this.gazeRay=xe}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var ce=this.xrManager.session.inputSources,ze=function(ge){var Pe=be.xrManager.controllers[ge],we=ce[ge];if(!we)return"continue";Pe&&Pe.update(we,X,oe);var Ue=be.xrManager.getController(ge),Ze=new THREE__namespace.Vector3(0,1.2,0),st=Ue.position.clone().add($).sub(Ze);we.handedness==="left"?be.xrControllerRay.left.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Ue.rotation)):we.handedness==="right"&&be.xrControllerRay.right.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Ue.rotation)),be.controllerWrappers[ge].position.copy(new THREE__namespace.Vector3(0,0,0).add($).sub(Ze));var We=be.modelScene.intersectRaycaster(be.xrControllerRay.right);if(We.length===0){var dt=be.works.getResolvedObserver(be.currentPano);We=be.xrControllerRay.right.intersectObject(be.modelScene.boundingMesh,!0).map(function(Ke){var $e,qe=($e=dt==null?void 0:dt.floorIndex)!==null&&$e!==void 0?$e:0;return __assign({floorIndex:qe,floor:qe},Ke)})}if(We.length>=1&&We[0].face)if(we.handedness==="right"){var Pt=be.xrControllerRay.right.intersectObject(be.xrCustomObjectsScene,!0),B=We[0].face.normal,H=B.clone(),D=We[0].point.clone();be.intersectMesh.position.copy(D);var G=D.clone().add(H);if(be.intersectMesh.lookAt(G),Math.abs(B.y)>.99){var re=be.camera.position.clone().sub(D);be.intersectMesh.rotation.z=-Math.atan2(re.z,re.x)}be.intersectMesh.visible=!0,be.needsRender=!0,Pt.length>0?(be.pointerLines.right.setPoints(st,Pt[0].point),be.pointerLines.right.points.visible=!0,be.intersectMesh.visible=!1):(be.pointerLines.right.points.visible=!1,be.pointerLines.right.setPoints(st,We[0].point));var fe=We[0],Te=createEvent("intersect.update",{raycaster:(f=be.xrControllerRay.right)!==null&&f!==void 0?f:null,intersection:fe!=null?fe:null,object:be.intersectMesh});if(be.emit("intersect.update",Te),Te.defaultPrevented)return be.hideIntersectMesh(),{value:void 0}}else be.pointerLines.left.setPoints(st,We[0].point)},be=this,Z=0;Z<ce.length;Z++){var Me=ze(Z);if(typeof Me=="object")return Me.value}this.updateControllerHelper(ce,e,r)}}else X||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");isEmptyObject(b)===!1&&this.modelScene.parameter.set(b),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))}));var Se=this.works.getResolvedObserver(this.currentPano),je=this.locationMotion.ended?this.getForwardObserverOrNot(this.xrManager.cameraVR):null,Re=this.works.getObserver(w.panoId),Fe=this.works.getObserver(I.panoId);if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Se){for(var Oe=[],ke=Se.work.observers,Le=0,Ve=Se.accessibleNodes;Le<Ve.length;Le++){var tt=Ve[Le],j=ke[tt];j&&Oe.push(j)}var lt=new Map;if(Oe.sort(function(ge,Pe){var we=lt.get(ge);typeof we=="undefined"&&(we=ge.standingPosition.distanceTo(Se.standingPosition),lt.set(ge,we));var Ue=lt.get(ge);return typeof Ue=="undefined"&&(Ue=Pe.standingPosition.distanceTo(Se.standingPosition),lt.set(Pe,Ue)),we-Ue}),Oe.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%Oe.length;var nt=Oe[this.accessibleObserverFloorCheckCount],ot=this.modelScene.models.find(function(ge){return ge.work===(nt==null?void 0:nt.work)});if(nt&&ot&&ot.visible){var gt=.3,Xe=.05,Mt=.005,He=nt.standingPosition.clone().applyMatrix4(nt.work.transform),De=panoStringify({panoIndex:nt.panoIndex,workCode:nt.work.workCode}),Et=adjustPanoCircleMeshVectors.map(function(ge){scratchRaycaster.ray.origin.copy(He),scratchRaycaster.ray.origin.add(scratchVector3.copy(ge).setY(gt)),scratchRaycaster.ray.direction.set(0,-1,0),scratchRaycaster.firstHitOnly=!0,scratchRaycaster.floorIndex=-1;var Pe=ot.intersectRaycaster(scratchRaycaster)[0];return Pe&&Pe.distance-Mt<=gt?new THREE__namespace.Vector3().copy(He).setY(Pe.point.y+Mt):He});Et.sort(function(ge,Pe){return Pe.y-ge.y});var Ct=Et[Math.floor(Et.length/2)],xt=Et.filter(function(ge){return ge.distanceTo(Ct)<=Xe})[0];if(xt){var yt=new THREE__namespace.Vector4(He.x,He.y,He.z,xt.y-He.y),St=this.adjustPanoCircleMeshPositionFix.get(De);St&&!yt.equals(St)&&(this.needsRender=!0),this.adjustPanoCircleMeshPositionFix.set(De,yt)}}this.accessibleObserverFloorCheckCount++}}var rt=new Map;if(Re)for(var at=0,ct=Re.accessibleNodes;at<ct.length;at++){var tt=ct[at],j=Re.work.observers[tt];if(j){var De=panoStringify({panoIndex:j.panoIndex,workCode:j.work.workCode});rt.set(De,j)}}if(Fe)for(var Ye=0,pe=Fe.accessibleNodes;Ye<pe.length;Ye++){var tt=pe[Ye],j=Fe.work.observers[tt];if(j){var De=panoStringify({panoIndex:j.panoIndex,workCode:j.work.workCode});rt.set(De,j)}}if(this.panoMeshes.forEach(function(ge,Pe){var we=rt.get(Pe);we?rt.delete(Pe):(o.helper.remove(ge),ge.dispose(),o.panoMeshes.delete(Pe))}),rt.forEach(function(ge,Pe){var we=o.panoCircleMeshCreator(ge,{aerialObserverMinHeight:o.aerialObserverMinHeight});o.panoMeshes.set(Pe,we),o.helper.add(we),rt.delete(Pe)}),this.panoMeshes.forEach(function(ge,Pe){var we=o.works.getObserver(Pe);if(we){var Ue=we.position.distanceTo(we.standingPosition)>o.aerialObserverMinHeight;if(Ue)ge.position.copy(we.position).applyMatrix4(we.work.transform),ge.scale.setScalar(18);else{ge.position.copy(we.standingPosition).applyMatrix4(we.work.transform);var Ze=o.adjustPanoCircleMeshPositionFix.get(we.panoId);Ze&&(scratchVector3.set(Ze.x,Ze.y,Ze.z),scratchVector3.equals(ge.position)&&(ge.position.y+=Ze.w)),ge.scale.setScalar(1.2)}var st=o.camera.position.clone().setY(ge.position.y),We=new THREE__namespace.Vector3().copy(ge.position).sub(st).normalize();if(Pe===panoStringify(o.currentPano)){var dt=clamp$1((.5-st.distanceTo(ge.position))/.5,0,1);We.multiplyScalar(1-dt).add(y.clone().multiplyScalar(dt))}if(We.length()>0){var Pt=Ue?-Math.PI/2:0,B=Math.atan2(We.x,We.z);ge.quaternion.setFromEuler(new THREE__namespace.Euler(Pt,B,0,"YXZ"))}}else ge.visible=!1}),this.camera.pose.distance>.1||M)this.panoMeshes.forEach(function(ge){ge.setOpacity(0),ge.setCurrent(!1),ge.updateTime&&ge.updateTime(e,r),ge.visible=!1});else if(Se){var Ce=Se.work.observers,Ie=arrayMin(Se.accessibleNodes,function(ge){var Pe=Ce[ge];return!Pe||!Pe.active?1/0:Se.standingPosition.distanceTo(Pe.standingPosition)},!0),Ne=Ie[1];Ne=clamp$1(Ne,2.5,1/0);var Ge=Se.accessibleNodes.concat(Se.panoIndex).map(function(ge){return panoStringify({panoIndex:ge,workCode:Se.work.workCode})});this.panoMeshes.forEach(function(ge,Pe){var we=o.works.getObserver(Pe),Ue=!1,Ze=1;if(Ge.indexOf(Pe)===-1)Ue=!1,Ze=0;else if(!we)Ue=!1,Ze=0;else if(!we.loadable&&!we.active)Ue=!1,Ze=0;else{var st=ge.position.clone().project(o.camera),We=Math.abs(st.x)<1&&Math.abs(st.y)<1&&Math.abs(st.z)<1;Ue=We&&!ge.loading&&ge.progress===0&&je!==null&&panoStringify({panoIndex:je.panoIndex,workCode:je.work.workCode})===Pe;var dt=ge.position.clone().setY(o.camera.position.y).distanceTo(o.camera.position);Ze=dt<.01?0:clamp$1(Ne/dt,.1,.85)}if(we&&we===Fe){var Pt=we.position.distanceTo(we.standingPosition)>o.aerialObserverMinHeight;if(Pt){var dt=ge.position.distanceTo(o.camera.position);dt<35&&(Ze=0)}}o.modelScene.parameter.resolveValue().modelAlpha>0&&(Ze=0),ge.setCurrent(Ue),ge.setOpacity(Ze),ge.updateTime&&ge.updateTime(e,r)})}{var F=(p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:1,ut=Math.round(F),Qe=this.modelScene.parameter.pano0,Je=this.modelScene.parameter.pano1,ft=ut===0?Qe:Je,j=void 0;if(ft&&(j=this.works.getObserver(ft.panoId),j||(j=this.panoPictureObserverMap.get(ft))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=F<(canUseNativeImageBitmap()?.6:.99)?0:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!j||!ft||this.tileLevelForFov===!1||this.camera.perspToOrtho.x>0){this.tiling.setObserver(null);var Bt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:null,panoMatrix:new THREE__namespace.Matrix4,panoZoom:1,minLevel:0,level:0};this.tiling.update(Bt),this.modelScene.parameter.set("refinedScreen",null)}else{var Ht=getImageSizeLevel(ft.mapSize),pt=Ht+1,It=4;this.tiling.setObserver(j);var Bt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:ft.map,panoMatrix:ft.matrix,panoZoom:ft.zoom,minLevel:pt,level:It},_t=this.tiling.update(Bt),ht={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:ut,opacity:(Qe==null?void 0:Qe.panoId)===(Je==null?void 0:Je.panoId)?1:easeInQuart(Math.abs(((d=this.modelScene.parameter.progress)!==null&&d!==void 0?d:0)-.5)*2)},mt=this.modelScene.parameter.refinedScreen;(_t||ht.pano!==(mt==null?void 0:mt.pano)||ht.opacity!==(mt==null?void 0:mt.opacity))&&this.modelScene.parameter.set("refinedScreen",ht)}}if(this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.intersectMesh&&this.intersectMesh.parent&&Se&&Se.position.y-Se.standingPosition.y>10){var At=this.camera.position.distanceTo(this.intersectMesh.position),bt=2*Math.tan(.5*this.camera.fov/180*Math.PI),kt=clamp$1(At*bt/5,.5);this.intersectMesh.scale.setScalar(kt)}else this.intersectMesh.scale.setScalar(1);{var Ot=I.effect,Ft=this.modelScene.parameter,Qe=Ft.pano0,Je=Ft.pano1;if(Qe&&Je&&Qe!==Je&&(Ot==="fly"||Ot==="model")&&this.flyEffectUseDepthBuffer){if(((h=this.modelScene.parameter.pano0Depth)===null||h===void 0?void 0:h.panoId)!==Qe.panoId||((m=this.modelScene.parameter.pano1Depth)===null||m===void 0?void 0:m.panoId)!==Je.panoId){var it=500,vt=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==vt&&this.pano0DepthCubeRenderTarget.setSize(vt,vt):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(vt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==vt&&this.pano1DepthCubeRenderTarget.setSize(vt,vt):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(vt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var Rt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);Rt.matrix.copy(Qe.matrix),Rt.matrixWorld.copy(Rt.matrix),Rt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,Rt,it);var wt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);wt.matrix.copy(Je.matrix),wt.matrixWorld.copy(wt.matrix),wt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,wt,it),this.modelScene.parameter.set({pano0Depth:{panoId:Qe.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:it},pano1Depth:{panoId:Je.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:it}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}},t.prototype.render=function(){if(this.xrManager.session&&this.xrManager.session.renderState.baseLayer){var e=this.xrManager.session.renderState.baseLayer;return this.renderer.setRenderTarget(null),this.renderer.setScissorTest(!1),this.renderer.setFramebuffer(e.framebuffer),this.renderer.render(this.scene,this.xrManager.cameraVR),this.renderer.setFramebuffer(null),!0}return!1},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var u=this.xrControllerRay.left,s=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var f=e[c].handedness,p=e[c].gamepad;switch(f){case"left":p.axes&&(this.emitHandleEvent(p.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(p.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(p.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(p.axes[3]===1,"LeftAxesDown",r)),p!=null&&p.buttons&&(p.buttons[4]&&this.emitHandleEvent(p.buttons[4].pressed,"X",r),p.buttons[5]&&this.emitHandleEvent(p.buttons[5].pressed,"Y",r),p.buttons[0]&&this.emitHandleEvent(p.buttons[0].pressed,"LeftTrigger",r),p.buttons[1]&&this.emitHandleEvent(p.buttons[1].pressed,"LeftPinch",r));var d={raycaster:u,axes:{up:p.axes&&p.axes[3]<0?Math.abs(p.axes[3]):0,down:p.axes&&p.axes[3]<0?0:Math.abs(p.axes[3]),left:p.axes&&p.axes[2]<0?Math.abs(p.axes[2]):0,right:p.axes&&p.axes[2]<0?0:Math.abs(p.axes[2])},deltaTime:o};l.buttons.X=p.buttons&&p.buttons[4]?p.buttons[4].pressed:!1,l.buttons.Y=p.buttons&&p.buttons[5]?p==null?void 0:p.buttons[5].pressed:!1,l.buttons.LeftTrigger=p.buttons&&p.buttons[0]?p==null?void 0:p.buttons[0].pressed:!1,l.buttons.LeftPinch=p.buttons&&p.buttons[1]?p==null?void 0:p.buttons[1].pressed:!1,l.left=d;break;case"right":p.axes&&(this.emitHandleEvent(p.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(p.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(p.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(p.axes[3]===1,"RightAxesDown",r)),p.buttons&&(p.buttons[4]&&this.emitHandleEvent(p.buttons[4].pressed,"A",r),p.buttons[5]&&this.emitHandleEvent(p.buttons[5].pressed,"B",r),p.buttons[0]&&this.emitHandleEvent(p.buttons[0].pressed,"RightTrigger",r),p.buttons[1]&&this.emitHandleEvent(p.buttons[1].pressed,"RightPinch",r));var h={raycaster:s,axes:{up:p.axes&&p.axes[3]<0?Math.abs(p.axes[3]):0,down:p.axes&&p.axes[3]<0?0:Math.abs(p.axes[3]),left:p.axes&&p.axes[2]<0?Math.abs(p.axes[2]):0,right:p.axes&&p.axes[2]<0?0:Math.abs(p.axes[2])},deltaTime:o};l.right=h,l.buttons.A=p.buttons&&p.buttons[4]?p==null?void 0:p.buttons[4].pressed:!1,l.buttons.B=p.buttons&&p.buttons[5]?p==null?void 0:p.buttons[5].pressed:!1,l.buttons.RightTrigger=p.buttons&&p.buttons[0]?p==null?void 0:p.buttons[0].pressed:!1,l.buttons.RightPinch=p.buttons&&p.buttons[1]?p==null?void 0:p.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var u=this.xrControllerRay.left,s=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:u,rightRay:s}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:u,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:u,rightRay:s}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:u,rightRay:s}}}),f=this.emit("xr.gesture.tap",c);!f&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t})(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],n.getCurrentState())}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],n.getCurrentState())}),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(){var n=new THREE__namespace.Group;n.name="internalLights";{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction0",t.position.copy(new THREE__namespace.Vector3(0,1,0)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction1",t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);t.name="direction2",t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);t.name="ambient0",n.add(t)}return n}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),u=0,s=o;u<s.length;u++){var l=s[u],c=l.split("="),f=(t=c[0])===null||t===void 0?void 0:t.trim(),p=(e=c[1])===null||e===void 0?void 0:e.trim();f&&p&&(r[f]=p)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),u=Number(o["initial-scale"]);if(!isNaN(u))return u}}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),o=n.getScissor(prevScissor),u=n.getScissorTest(),s=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,f=imageSize[0]/3,p=imageSize[1]/3;n.setViewport(l,c,f,p),n.setScissor(l,c,f,p),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(o),n.setScissorTest(u),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},e.src=textureURL,material.map=t}}const jsContent$1=`var L=(P,g,M)=>new Promise((a,x)=>{var c=q=>{try{k(M.next(q))}catch(y){x(y)}},m=q=>{try{k(M.throw(q))}catch(y){x(y)}},k=q=>q.done?a(q.value):Promise.resolve(q.value).then(c,m);k((M=M.apply(P,g)).next())});(function(){"use strict";function P(n,j,A,i){function u(t){return t instanceof A?t:new A(function(s){s(t)})}return new(A||(A=Promise))(function(t,s){function d(o){try{e(i.next(o))}catch(h){s(h)}}function w(o){try{e(i.throw(o))}catch(h){s(h)}}function e(o){o.done?t(o.value):u(o.value).then(d,w)}e((i=i.apply(n,j||[])).next())})}function g(n,j){var A={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},i,u,t,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=d(0),s.throw=d(1),s.return=d(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function d(e){return function(o){return w([e,o])}}function w(e){if(i)throw new TypeError("Generator is already executing.");for(;s&&(s=0,e[0]&&(A=0)),A;)try{if(i=1,u&&(t=e[0]&2?u.return:e[0]?u.throw||((t=u.return)&&t.call(u),0):u.next)&&!(t=t.call(u,e[1])).done)return t;switch(u=0,t&&(e=[e[0]&2,t.value]),e[0]){case 0:case 1:t=e;break;case 4:return A.label++,{value:e[1],done:!1};case 5:A.label++,u=e[1],e=[0];continue;case 7:e=A.ops.pop(),A.trys.pop();continue;default:if(t=A.trys,!(t=t.length>0&&t[t.length-1])&&(e[0]===6||e[0]===2)){A=0;continue}if(e[0]===3&&(!t||e[1]>t[0]&&e[1]<t[3])){A.label=e[1];break}if(e[0]===6&&A.label<t[1]){A.label=t[1],t=e;break}if(t&&A.label<t[2]){A.label=t[2],A.ops.push(e);break}t[2]&&A.ops.pop(),A.trys.pop();continue}e=j.call(n,A)}catch(o){e=[6,o],u=0}finally{i=t=0}if(e[0]&5)throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}typeof SuppressedError=="function"&&SuppressedError;function M(){return L(this,arguments,function*(n={}){var j,A=n,i=self.location.href,u="";try{u=new URL(".",i).href}catch(r){}console.log.bind(console),console.error.bind(console);function t(r){for(var f=0,l=r.length,v=new Uint8Array(l),E;f<l;++f)E=r.charCodeAt(f),v[f]=~E>>8&E;return v}var s,d,w=!1;function e(){var r=W.buffer;A.HEAPU8=d=new Uint8Array(r),A.HEAPU32=new Uint32Array(r),A.HEAPF32=new Float32Array(r),new BigInt64Array(r),new BigUint64Array(r)}function o(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)AA(A.preRun.shift());$(V)}function h(){w=!0,p.c()}function O(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)Z(A.postRun.shift());$(K)}var S;function Q(){return t(\`\\0asm\\0\\0\\0&\\\`\\\`}}\\\`}\\\`\\0\\\`\\v\\0\\\`\\0\\0\\x07aa\\0\\0\\b\\x07\\0\\0\\x07‚€€\\bA€Œ\\v\\x07b\\0c\\0\\x07d\\0e\\0f\\0\\f
2775
+ `},LineMaterial=(function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t})(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,u=new Float32Array(2*r.count),s=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,f=0,p=r.count;c<p;c++,f+=2)s.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),u[f]=f===0?0:u[f-1],u[f+1]=u[f]+s.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(u,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,u=e.camera,s=u.projectionMatrix,l=this.geometry,c=this.material,f=c.resolution,p=c.linewidth,d=l.attributes.instanceStart,h=l.attributes.instanceEnd,m=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,g=new THREE__namespace.Vector4,b=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,E=new THREE__namespace.Vector3;o.at(1,g),g.w=1,g.applyMatrix4(u.matrixWorldInverse),g.applyMatrix4(s),g.multiplyScalar(1/g.w),g.x*=f.x/2,g.y*=f.y/2,g.z=0,b.copy(g);var _=this.matrixWorld;v.multiplyMatrices(u.matrixWorldInverse,_);for(var T=0,S=d.count;T<S;T++){m.fromBufferAttribute(d,T),A.fromBufferAttribute(h,T),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(s),A.applyMatrix4(s),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var R=m.z<-1&&A.z<-1,w=m.z>1&&A.z>1;if(!(R||w)){m.x*=f.x/2,m.y*=f.y/2,A.x*=f.x/2,A.y*=f.y/2,y.start.copy(m),y.start.z=0,y.end.copy(A),y.end.z=0;var I=y.closestPointToPointParameter(b,!0);y.at(I,E);var P=THREE__namespace.MathUtils.lerp(m.z,A.z,I),C=P>=-1&&P<=1,M=b.distanceTo(E)<p*.5;if(C&&M){y.start.fromBufferAttribute(d,T),y.end.fromBufferAttribute(h,T),y.start.applyMatrix4(_),y.end.applyMatrix4(_);var F=new THREE__namespace.Vector3,k=new THREE__namespace.Vector3;o.distanceSqToSegment(y.start,y.end,k,F),r.push({point:k,pointOnLine:F,distance:o.origin.distanceTo(k),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 o=n.call(this,e,r)||this;return o.type="Line2",o}return t})(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),u=0;u<r;u+=3)o[2*u]=e[u],o[2*u+1]=e[u+1],o[2*u+2]=e[u+2],o[2*u+3]=e[u+3],o[2*u+4]=e[u+4],o[2*u+5]=e[u+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),u=0;u<r;u+=3)o[2*u]=e[u],o[2*u+1]=e[u+1],o[2*u+2]=e[u+2],o[2*u+3]=e[u+3],o[2*u+4]=e[u+4],o[2*u+5]=e[u+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t})(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=(function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var u=new LineGeometry,s=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(u,s);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.8.0-alpha.11"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var u=e[o];o==="dashed"?(r.dashed=u,u?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t})(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,u){var s,l,c,f,p,d;return o===void 0&&(o=null),u===void 0&&(u=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(s=h.sent(),e.profiles.some(function(m){var A=s[m];return A&&(l={profileId:m,profilePath:"".concat(r,"/").concat(A.path),deprecated:!!A.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=s[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(f=h.sent(),u){if(d=void 0,d=f.layouts[e.handedness],!d)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));d.assetPath&&(p=l.profilePath.replace("profile.json",d.assetPath))}return[2,{profile:f,assetPath:p}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var u=Math.atan2(t,n);e=Math.cos(u),r=Math.sin(u)}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,o=t.button,u=t.state,s=normalizeAxes(e,r),l=s.normalizedXAxis,c=s.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(u)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(u)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(u)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(u):this.value=this.states.includes(u)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n})(),Component=(function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var u=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=u}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n})(),MotionController=(function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(u){var s=o.layoutDescription.components[u];o.components[u]=new Component(u,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(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var u=o.valueNode,s=o.minNode,l=o.maxNode,c=o.value,f=o.valueNodeProperty;u&&(f===Constants.VisualResponseProperty.VISIBILITY?u.visible=c:f===Constants.VisualResponseProperty.TRANSFORM&&(u.quaternion.copy(s.quaternion).slerp(l.quaternion,c),u.position.lerpVectors(s.position,l.position,c)))})}))},t})(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,u=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var s=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(s,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(u).forEach(function(f){var p=f.valueNodeName,d=f.minNodeName,h=f.maxNodeName,m=f.valueNodeProperty;if(m===Constants.VisualResponseProperty.TRANSFORM){if(f.minNode=t.getObjectByName(d),f.maxNode=t.getObjectByName(h),!f.minNode){console.warn("Could not find ".concat(d," in the model"));return}if(!f.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}f.valueNode=t.getObjectByName(p),f.valueNode||console.warn("Could not find ".concat(p," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=(function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(u){var s=u.data;s.targetRayMode!=="tracked-pointer"||!s.gamepad||fetchProfile(s,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,f=l.assetPath;r.motionController=new MotionController(s,c,f);var p=e._assetCache[r.motionController.assetUrl];if(p)o=p.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(d){e._assetCache[r.motionController.assetUrl]=d,o=d.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n})(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,scratchRaycaster=new THREE__namespace.Raycaster,scratchVector3=new THREE__namespace.Vector3,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.left.firstHitOnly=!0,r.xrControllerRay.left.floorIndex=-1,r.xrControllerRay.right.params.Points={threshold:.1},r.xrControllerRay.right.firstHitOnly=!0,r.xrControllerRay.right.floorIndex=-1,r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var u=r.xrManager.getController(1);r.controllerWrappers[1].add(u);var s=new XRControllerModelFactory;s.gltfLoader={load:function(c,f){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(p){var d;return parseGltf(p.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(d=c.split("?")[1])!==null&&d!==void 0?d:"",fetcher:internalFetcher})}).then(function(p){return f(p)})}},(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$1()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",effectEasing:defaultEffectEase,fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(s.createControllerModel(c)),r.controllerWrappers[0].add(c);var f=r.xrManager.getControllerGrip(1);f.add(s.createControllerModel(f)),r.controllerWrappers[1].add(f)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var u=this,s,l,c,f=(s=r.effect)!==null&&s!==void 0?s:"fade";this.userAction=o,this.stopMomentumMovement();var p=panoStringify(e),d=this.works.getObserver(e);if(!d)throw new Error("Invalid PanoIndex");getImageSizeFromURL(d.images.up),this.imageOptions.size;var h=this.imageOptions.transform,m=function(I,P){return mapPanoResource(applyImageURLOptions(I,h,P))},A=__assign({key:"pano.".concat(p)},pick(this.imageOptions,["format","size","quality"])),g={right:d.images.work.getURL(d.images.right),left:d.images.work.getURL(d.images.left),up:d.images.work.getURL(d.images.up),down:d.images.work.getURL(d.images.down),front:d.images.work.getURL(d.images.front),back:d.images.work.getURL(d.images.back)},b="pano:"+jsonHash([g,A,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var v=this.pendingTextureTask.panoId;(l=this.panoMeshes.get(v))===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:e}))}var y=this.modelScene.parameter.resolveValue(),E=y.pano0,_=y.pano1,T;if((E==null?void 0:E.map.name)===b?T=E:(_==null?void 0:_.map.name)===b&&(T=_),T){var S={panoId:p,effect:f,effectEasing:(c=r.effectEasing)!==null&&c!==void 0?c:defaultEffectEase,leftPanoPicture:{panoId:T.panoId,map:T.map,mapSize:T.mapSize,matrix:d.matrix.clone().premultiply(d.work.transform),zoom:1},position:d.position.clone().applyMatrix4(d.work.transform),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(e,S,r);return}var R="move-to-pano-"+p;this.pending.add(R),this.pendingTextureTask={panoId:p,hash:b,onLoad:function(I){var P,C,M=I.body;if(u.destroyed)M.dispose();else{M.name=b;var F=Array.isArray(M.image)?M.image[0]:M.image,k=(P=F==null?void 0:F.width)!==null&&P!==void 0?P:2048,O={panoId:p,effect:f,effectEasing:(C=r.effectEasing)!==null&&C!==void 0?C:defaultEffectEase,leftPanoPicture:{panoId:p,map:M,mapSize:k,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};u.doMoveToPano(e,O,r)}},onError:function(I){var P=__assign(__assign(__assign({},e),{mode:u.mode}),clonePose(u.camera.pose));u.emit("pano.error",createEvent("pano.error",{error:I,userAction:u.userAction,options:r,prevPano:u.currentPano,progress:0,state:P})),u.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:u.userAction,options:r,prevPano:u.currentPano,progress:0,state:P})),r.moveCancelCallback&&r.moveCancelCallback()}};var w=this.panoMeshes.get(p);w&&w.tap&&w.tap(),this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:A},format:THREE__namespace.RGBFormat,fetcher:getFetcher(this.fiveId,d.work)},void 0,void 0,function(I){var P,C;((P=u.pendingTextureTask)===null||P===void 0?void 0:P.hash)===b&&((C=u.panoMeshes.get(p))===null||C===void 0||C.setProgress(I)),u.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:I,meta:null,pano:e}))},this.renderer).then(function(I){var P,C;u.pending.delete(R),((P=u.pendingTextureTask)===null||P===void 0?void 0:P.hash)===b?(u.pendingTextureTask.onLoad(I),u.pendingTextureTask=void 0,(C=u.panoMeshes.get(p))===null||C===void 0||C.setProgress(0)):I.body.dispose(),u.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:I.meta,pano:e}))}).catch(function(I){var P,C;u.pending.delete(R),((P=u.pendingTextureTask)===null||P===void 0?void 0:P.hash)===b&&(u.pendingTextureTask.onError(I),u.pendingTextureTask=void 0,(C=u.panoMeshes.get(p))===null||C===void 0||C.setProgress(0)),u.emit("pano.texture.error",createEvent("pano.texture.error",{error:I,progress:0,meta:null,pano:e})),u.emit("error",I)}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:e}))},t.prototype.doMoveToPano=function(e,r,o){var u=this,s,l,c,f,p,d,h,m,A,g;o===void 0&&(o={});var b=now(),v=createUuid$1();this.panoResources[v]=r;var y=1,E,_,T;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(b);S[0];var R=S[1],w=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(R).position,P=r.position;E=Math.max(I.distanceTo(P),y),_=[{key:R.key,progress:0,value:__assign(__assign({},w),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],T=0}else{var C=this.locationMotion.getKeyFrameSegment(b),M=C[0],R=C[1],w=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(M).position,I=this.panoResourceFromLocationMotionKeyframe(R).position,P=r.position,k=R.value.count-w.count,O=Math.max(F.distanceTo(I),y)*k,N=Math.max(I.distanceTo(P),y);E=O+N,_=[{key:M.key,progress:0,value:__assign({},w)},{key:R.key,progress:O/E,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var q=this.locationMotionKeyframesLength(this.locationMotion.keyframes),j=this.locationMotionKeyframesLength(_);T=this.locationMotion.getProgressVelocity(b)*q/j}var L=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"||r.effect==="model"?E:0),z={longitude:o.longitude,latitude:o.latitude,fov:o.fov},V=__assign(__assign({},e),{mode:this.mode,longitude:(s=z.longitude)!==null&&s!==void 0?s:this.camera.pose.longitude,latitude:(l=z.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=z.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),U=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:U,progress:0,state:V,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(V),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,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly"||r.effect==="model")this.cameraMotion.set(z,L).catch(noop);else{var J=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),K=coordinatesToVector({longitude:(f=z.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(p=z.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude}),ue=new THREE__namespace.Object3D;ue.lookAt(J);var ae=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ue.quaternion);ue.lookAt(K);var ne=new THREE__namespace.Matrix4().makeRotationFromQuaternion(ue.quaternion),te=new THREE__namespace.Matrix4().getInverse(ae).premultiply(ne),ee=this.cameraMotion.value.fov,se=(d=z.fov)!==null&&d!==void 0?d:this.cameraMotion.value.fov,W=1;r.effect==="zoomin"?W=1.5:r.effect==="zoomout"&&(W=.4);for(var Q=se*W,X=0;X<_.length-1;X++){var $=_[X].key;if($){var ie=this.panoResources[$];ie&&(ie.fixCameraTransform.copy(te),ie.leftPanoPicture&&(ie.leftPanoPicture.zoom=Math.tan(Q/2/180*Math.PI)/Math.tan(ee/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=z.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=z.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:Q}},{progress:1,value:{longitude:(A=z.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(g=z.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:se}}],L).catch(noop)}var de=this.locationMotion.setKeyframes(_,L,T);de.then(function(){for(var oe=0,le=u.modelScene.children;oe<le.length;oe++){var he=le[oe];he instanceof Model&&he.show()}var Y=__assign(__assign({},e),{mode:u.mode,longitude:u.camera.pose.longitude,latitude:u.camera.pose.latitude,fov:u.camera.pose.fov,offset:u.camera.pose.offset.clone(),distance:0});u.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:U,progress:1,state:Y,userAction:u.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(Y);var Z=u.works.getObserver(u.currentPano);if(Z&&Z.images.video&&u.videoTexture&&u.videoTexture.image instanceof HTMLVideoElement){var ve={map:u.videoTexture,size:Z.images.video.size.clone(),matrix:Z.images.video.matrix.clone(),panoMatrix:Z.matrix.clone().premultiply(Z.work.transform),alpha:1},ye=createUuid$1(),me=u.videoTexture.image;me.setAttribute("uuid",ye),canplayVideo().then(function(Ee){Ee&&Z.images.video&&me.getAttribute("uuid")===ye&&(me.oncanplay=function(){me.oncanplay=noop,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=noop,u.panoVideo.setMaterial(ve))},me.src=Z.images.video.source)}).catch((function(){me.removeAttribute("uuid")}))}},function(){u.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:U,progress:0,state:V,userAction:u.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var u=null,s=this.works.getObserver(this.currentPano);if(!s)return null;var l=s.work.observers,c=s.accessibleNodes.filter(function(T){if(T===r.currentPano.panoIndex&&s.work.workCode===r.currentPano.workCode)return!1;var S=l[T];if(!S)return!1;var R=scratchVector3.copy(S.position).applyMatrix4(S.work.transform);return R.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:S.loadable||S.active}),f=this.modelScene.intersectRaycaster(e)[0];if(f){var p=arrayMin(c,function(T){var S=l[T];if(!S)return 1/0;var R=scratchVector3.copy(S.standingPosition).applyMatrix4(S.work.transform);return R.distanceTo(f.point)},!0),d=p[0],h=p[1];typeof d=="number"&&h<this.panoTapTriggerRadius&&(u=(o=l[d])!==null&&o!==void 0?o:null)}if(isNil(u)){var m=this.getForwardObserverOrNot(this.xrManager.cameraVR,e);m&&(u=m)}for(var A=0,g=this.locationMotion.keyframes;A<g.length;A++){var b=g[A],v=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&u){var y=panoStringify({panoIndex:u.panoIndex,workCode:u.work.workCode});if(v.panoId===y){u=null;break}}}if(isNil(u))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!u.active){var y=panoStringify({panoIndex:u.panoIndex,workCode:u.work.workCode}),E=this.panoMeshes.get(y);E&&(E.setDisabled(!1),E.setLoading(!0))}var _={workCode:u.work.workCode,panoIndex:u.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:u?u.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:_,userAction:!0,options:{},progress:0,error:null})),u&&u.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:_,options:{},error:null})),{workCode:u.work.workCode,panoIndex:u.panoIndex}):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,u,s,l,c,f,p,d,h,m,A=[],g=2;g<arguments.length;g++)A[g-2]=arguments[g];this.userAction=!0;var b={},v={},y=this.camera.getDirection(new THREE__namespace.Vector3),E=this.locationMotion.keyframes[0],_=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],T=this.locationMotion.getKeyFrameSegment(e),S=T[0],R=T[1],w=this.panoResourceFromLocationMotionKeyframe(S),I=this.panoResourceFromLocationMotionKeyframe(R),P=this.panoResourceFromLocationMotionKeyframe(E),C=this.panoResourceFromLocationMotionKeyframe(_),M=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),v.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),b.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 F=this.locationMotion.value.count-R.value.count+1,k=new THREE__namespace.Vector3().copy(w.position),O=new THREE__namespace.Vector3().copy(I.position);if(b.progress=F,F>=.01&&F<=.99&&(b.progress=clamp$1(I.effectEasing(F),.01,.99)),I.leftPanoPicture&&(F<1?w.leftPanoPicture&&(b.pano0=w.leftPanoPicture):b.pano0=I.leftPanoPicture,b.pano1=I.leftPanoPicture),I.effect==="montage"?b.transition="BLACK":I.effect==="spread"?b.transition="SPREAD":b.transition="FADE",I.effect==="zoomin"||I.effect==="zoomout")b.progress=Math.pow(F,3);else if(I.effect==="model"&&this.camera.pose.distance<.01){var N=1-Math.pow(clamp$1(Math.abs(F-.5)*2,0,1),4);b.modelAlpha=N}if(F<1&&I.effect!=="fly"){if(b.pano0&&w.leftPanoPicture){var q={panoId:b.pano0.panoId,map:b.pano0.map,mapSize:b.pano0.mapSize,zoom:b.pano0.zoom,matrix:w.leftPanoPicture.matrix.clone().setPosition(I.position)},j=this.panoPictureObserverMap.get(b.pano0);j&&this.panoPictureObserverMap.set(q,j),b.pano0=q}k.copy(O),M=!0}v.distance=this.locationMotion.value.distance,v.offset=new THREE__namespace.Vector3(k.x+(O.x-k.x)*F,k.y+(O.y-k.y)*F,k.z+(O.z-k.z)*F);for(var L=[],z=[],V=0,U=this.locationMotion.keyframes;V<U.length;V++){var J=U[V],K=J.key,ue=J.progress;K!==void 0&&(L.push(K),ue>this.locationMotion.progress&&z.push(K))}for(var ae=0,ne=Object.keys(this.panoResources);ae<ne.length;ae++){var te=ne[ae];if(!(z.indexOf(te)>=0)){var ee=this.panoResources[te];if(ee.leftPanoPicture){var se=ee.leftPanoPicture.map;if(se){if(se===((u=b.pano0)===null||u===void 0?void 0:u.map)||se===((s=b.pano1)===null||s===void 0?void 0:s.map))continue;se.dispose(),ee.leftPanoPicture=null}}L.indexOf(te)>=0||delete this.panoResources[te]}}var W=panoParse(I.panoId);W!==this.currentPano&&(this.currentPano=W,this.accessibleObserverFloorCheckCount=0),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(P.panoId),state:__assign(__assign(__assign(__assign({},panoParse(C.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}this.camera.setFromPose(v),this.xrManager.cameraVR.projectionMatrix.copy(this.camera.projectionMatrix),this.xrManager.cameraVR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.xrManager.cameraVR.matrix.copy(this.camera.matrix),this.xrManager.cameraVR.position.copy(this.camera.position),this.xrManager.cameraVR.quaternion.copy(this.camera.quaternion),this.xrManager.cameraVR.scale.copy(this.camera.scale),this.xrManager.cameraVR.matrixAutoUpdate=!1,this.xrManager.cameraVR.matrixWorld.copy(this.camera.matrixWorld);var Q=A,X=Q[1],$=new THREE__namespace.Vector3(0,0,0),ie=new THREE__namespace.Vector2().copy(this.camera.resolution);if(X&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){for(var de=this.xrManager.cameraVR,oe=this.xrManager.referenceSpace,le=this.xrManager.session.renderState.baseLayer,he=X.getViewerPose(oe),Y=(l=he==null?void 0:he.views)!==null&&l!==void 0?l:[],Z=0;Z<Y.length;Z++){var ve=Y[Z],ye=de.cameras[Z],me=le.getViewport(ve);me&&(ye.projectionMatrix.fromArray(ve.projectionMatrix),ye.projectionMatrixInverse.getInverse(ye.projectionMatrix),ye.matrix.fromArray(ve.transform.matrix),ye.matrix.setPosition(this.camera.position),ye.matrix.decompose(ye.position,ye.quaternion,ye.scale),ye.matrixWorld.copy(ye.matrix),ye.matrixWorldInverse.getInverse(ye.matrixWorld),ye.matrixAutoUpdate=!1,$.copy(ye.position),ye.viewport.set(me.x,me.y,me.width,me.height),ie.set(me.width,me.height))}if(this.xrManager.setProjectionFromUnion(this.xrManager.cameraVR,this.xrManager.cameraL,this.xrManager.cameraR),this.camera.quaternion.copy(this.xrManager.cameraVR.quaternion),this.camera.scale.copy(this.xrManager.cameraVR.scale),this.camera.matrix.compose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.computePose((c=v.distance)!==null&&c!==void 0?c:this.camera.pose.distance),this.xrManager.session.inputSources){for(var Z=0;Z<this.xrManager.session.inputSources.length;Z++)if(this.xrManager.session.inputSources[Z]&&this.xrManager.session.inputSources[Z].targetRayMode==="transient-pointer"){var Ee=X.getPose(this.xrManager.session.inputSources[Z].targetRaySpace,oe);if(Ee){var Be=Ee.transform.orientation,Ae=new THREE__namespace.Quaternion(Be.x,Be.y,Be.z,Be.w),_e=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(Ae),xe=new THREE__namespace.Raycaster(this.camera.position,_e);this.gazeRay=xe}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var ce=this.xrManager.session.inputSources,ze=function(ge){var Pe=be.xrManager.controllers[ge],we=ce[ge];if(!we)return"continue";Pe&&Pe.update(we,X,oe);var Ue=be.xrManager.getController(ge),Ze=new THREE__namespace.Vector3(0,1.2,0),st=Ue.position.clone().add($).sub(Ze);we.handedness==="left"?be.xrControllerRay.left.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Ue.rotation)):we.handedness==="right"&&be.xrControllerRay.right.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Ue.rotation)),be.controllerWrappers[ge].position.copy(new THREE__namespace.Vector3(0,0,0).add($).sub(Ze));var We=be.modelScene.intersectRaycaster(be.xrControllerRay.right);if(We.length===0){var dt=be.works.getResolvedObserver(be.currentPano);We=be.xrControllerRay.right.intersectObject(be.modelScene.boundingMesh,!0).map(function(Ke){var $e,qe=($e=dt==null?void 0:dt.floorIndex)!==null&&$e!==void 0?$e:0;return __assign({floorIndex:qe,floor:qe},Ke)})}if(We.length>=1&&We[0].face)if(we.handedness==="right"){var Pt=be.xrControllerRay.right.intersectObject(be.xrCustomObjectsScene,!0),B=We[0].face.normal,H=B.clone(),D=We[0].point.clone();be.intersectMesh.position.copy(D);var G=D.clone().add(H);if(be.intersectMesh.lookAt(G),Math.abs(B.y)>.99){var re=be.camera.position.clone().sub(D);be.intersectMesh.rotation.z=-Math.atan2(re.z,re.x)}be.intersectMesh.visible=!0,be.needsRender=!0,Pt.length>0?(be.pointerLines.right.setPoints(st,Pt[0].point),be.pointerLines.right.points.visible=!0,be.intersectMesh.visible=!1):(be.pointerLines.right.points.visible=!1,be.pointerLines.right.setPoints(st,We[0].point));var fe=We[0],Te=createEvent("intersect.update",{raycaster:(f=be.xrControllerRay.right)!==null&&f!==void 0?f:null,intersection:fe!=null?fe:null,object:be.intersectMesh});if(be.emit("intersect.update",Te),Te.defaultPrevented)return be.hideIntersectMesh(),{value:void 0}}else be.pointerLines.left.setPoints(st,We[0].point)},be=this,Z=0;Z<ce.length;Z++){var Me=ze(Z);if(typeof Me=="object")return Me.value}this.updateControllerHelper(ce,e,r)}}else X||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");isEmptyObject(b)===!1&&this.modelScene.parameter.set(b),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))}));var Se=this.works.getResolvedObserver(this.currentPano),je=this.locationMotion.ended?this.getForwardObserverOrNot(this.xrManager.cameraVR):null,Re=this.works.getObserver(w.panoId),Fe=this.works.getObserver(I.panoId);if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Se){for(var Oe=[],ke=Se.work.observers,Le=0,Ve=Se.accessibleNodes;Le<Ve.length;Le++){var tt=Ve[Le],j=ke[tt];j&&Oe.push(j)}var lt=new Map;if(Oe.sort(function(ge,Pe){var we=lt.get(ge);typeof we=="undefined"&&(we=ge.standingPosition.distanceTo(Se.standingPosition),lt.set(ge,we));var Ue=lt.get(ge);return typeof Ue=="undefined"&&(Ue=Pe.standingPosition.distanceTo(Se.standingPosition),lt.set(Pe,Ue)),we-Ue}),Oe.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%Oe.length;var nt=Oe[this.accessibleObserverFloorCheckCount],ot=this.modelScene.models.find(function(ge){return ge.work===(nt==null?void 0:nt.work)});if(nt&&ot&&ot.visible){var gt=.3,Xe=.05,Mt=.005,He=nt.standingPosition.clone().applyMatrix4(nt.work.transform),De=panoStringify({panoIndex:nt.panoIndex,workCode:nt.work.workCode}),Et=adjustPanoCircleMeshVectors.map(function(ge){scratchRaycaster.ray.origin.copy(He),scratchRaycaster.ray.origin.add(scratchVector3.copy(ge).setY(gt)),scratchRaycaster.ray.direction.set(0,-1,0),scratchRaycaster.firstHitOnly=!0,scratchRaycaster.floorIndex=-1;var Pe=ot.intersectRaycaster(scratchRaycaster)[0];return Pe&&Pe.distance-Mt<=gt?new THREE__namespace.Vector3().copy(He).setY(Pe.point.y+Mt):He});Et.sort(function(ge,Pe){return Pe.y-ge.y});var Ct=Et[Math.floor(Et.length/2)],xt=Et.filter(function(ge){return ge.distanceTo(Ct)<=Xe})[0];if(xt){var yt=new THREE__namespace.Vector4(He.x,He.y,He.z,xt.y-He.y),St=this.adjustPanoCircleMeshPositionFix.get(De);St&&!yt.equals(St)&&(this.needsRender=!0),this.adjustPanoCircleMeshPositionFix.set(De,yt)}}this.accessibleObserverFloorCheckCount++}}var rt=new Map;if(Re)for(var at=0,ct=Re.accessibleNodes;at<ct.length;at++){var tt=ct[at],j=Re.work.observers[tt];if(j){var De=panoStringify({panoIndex:j.panoIndex,workCode:j.work.workCode});rt.set(De,j)}}if(Fe)for(var Ye=0,pe=Fe.accessibleNodes;Ye<pe.length;Ye++){var tt=pe[Ye],j=Fe.work.observers[tt];if(j){var De=panoStringify({panoIndex:j.panoIndex,workCode:j.work.workCode});rt.set(De,j)}}if(this.panoMeshes.forEach(function(ge,Pe){var we=rt.get(Pe);we?rt.delete(Pe):(o.helper.remove(ge),ge.dispose(),o.panoMeshes.delete(Pe))}),rt.forEach(function(ge,Pe){var we=o.panoCircleMeshCreator(ge,{aerialObserverMinHeight:o.aerialObserverMinHeight});o.panoMeshes.set(Pe,we),o.helper.add(we),rt.delete(Pe)}),this.panoMeshes.forEach(function(ge,Pe){var we=o.works.getObserver(Pe);if(we){var Ue=we.position.distanceTo(we.standingPosition)>o.aerialObserverMinHeight;if(Ue)ge.position.copy(we.position).applyMatrix4(we.work.transform),ge.scale.setScalar(18);else{ge.position.copy(we.standingPosition).applyMatrix4(we.work.transform);var Ze=o.adjustPanoCircleMeshPositionFix.get(we.panoId);Ze&&(scratchVector3.set(Ze.x,Ze.y,Ze.z),scratchVector3.equals(ge.position)&&(ge.position.y+=Ze.w)),ge.scale.setScalar(1.2)}var st=o.camera.position.clone().setY(ge.position.y),We=new THREE__namespace.Vector3().copy(ge.position).sub(st).normalize();if(Pe===panoStringify(o.currentPano)){var dt=clamp$1((.5-st.distanceTo(ge.position))/.5,0,1);We.multiplyScalar(1-dt).add(y.clone().multiplyScalar(dt))}if(We.length()>0){var Pt=Ue?-Math.PI/2:0,B=Math.atan2(We.x,We.z);ge.quaternion.setFromEuler(new THREE__namespace.Euler(Pt,B,0,"YXZ"))}}else ge.visible=!1}),this.camera.pose.distance>.1||M)this.panoMeshes.forEach(function(ge){ge.setOpacity(0),ge.setCurrent(!1),ge.updateTime&&ge.updateTime(e,r),ge.visible=!1});else if(Se){var Ce=Se.work.observers,Ie=arrayMin(Se.accessibleNodes,function(ge){var Pe=Ce[ge];return!Pe||!Pe.active?1/0:Se.standingPosition.distanceTo(Pe.standingPosition)},!0),Ne=Ie[1];Ne=clamp$1(Ne,2.5,1/0);var Ge=Se.accessibleNodes.concat(Se.panoIndex).map(function(ge){return panoStringify({panoIndex:ge,workCode:Se.work.workCode})});this.panoMeshes.forEach(function(ge,Pe){var we=o.works.getObserver(Pe),Ue=!1,Ze=1;if(Ge.indexOf(Pe)===-1)Ue=!1,Ze=0;else if(!we)Ue=!1,Ze=0;else if(!we.loadable&&!we.active)Ue=!1,Ze=0;else{var st=ge.position.clone().project(o.camera),We=Math.abs(st.x)<1&&Math.abs(st.y)<1&&Math.abs(st.z)<1;Ue=We&&!ge.loading&&ge.progress===0&&je!==null&&panoStringify({panoIndex:je.panoIndex,workCode:je.work.workCode})===Pe;var dt=ge.position.clone().setY(o.camera.position.y).distanceTo(o.camera.position);Ze=dt<.01?0:clamp$1(Ne/dt,.1,.85)}if(we&&we===Fe){var Pt=we.position.distanceTo(we.standingPosition)>o.aerialObserverMinHeight;if(Pt){var dt=ge.position.distanceTo(o.camera.position);dt<35&&(Ze=0)}}o.modelScene.parameter.resolveValue().modelAlpha>0&&(Ze=0),ge.setCurrent(Ue),ge.setOpacity(Ze),ge.updateTime&&ge.updateTime(e,r)})}{var F=(p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:1,ut=Math.round(F),Qe=this.modelScene.parameter.pano0,Je=this.modelScene.parameter.pano1,ft=ut===0?Qe:Je,j=void 0;if(ft&&(j=this.works.getObserver(ft.panoId),j||(j=this.panoPictureObserverMap.get(ft))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=F<(canUseNativeImageBitmap()?.6:.99)?0:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!j||!ft||this.tileLevelForFov===!1||this.camera.perspToOrtho.x>0){this.tiling.setObserver(null);var Bt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:null,panoMatrix:new THREE__namespace.Matrix4,panoZoom:1,minLevel:0,level:0};this.tiling.update(Bt),this.modelScene.parameter.set("refinedScreen",null)}else{var Ht=getImageSizeLevel(ft.mapSize),pt=Ht+1,It=4;this.tiling.setObserver(j);var Bt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:ft.map,panoMatrix:ft.matrix,panoZoom:ft.zoom,minLevel:pt,level:It},_t=this.tiling.update(Bt),ht={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:ut,opacity:(Qe==null?void 0:Qe.panoId)===(Je==null?void 0:Je.panoId)?1:easeInQuart(Math.abs(((d=this.modelScene.parameter.progress)!==null&&d!==void 0?d:0)-.5)*2)},mt=this.modelScene.parameter.refinedScreen;(_t||ht.pano!==(mt==null?void 0:mt.pano)||ht.opacity!==(mt==null?void 0:mt.opacity))&&this.modelScene.parameter.set("refinedScreen",ht)}}if(this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.intersectMesh&&this.intersectMesh.parent&&Se&&Se.position.y-Se.standingPosition.y>10){var At=this.camera.position.distanceTo(this.intersectMesh.position),bt=2*Math.tan(.5*this.camera.fov/180*Math.PI),kt=clamp$1(At*bt/5,.5);this.intersectMesh.scale.setScalar(kt)}else this.intersectMesh.scale.setScalar(1);{var Ot=I.effect,Ft=this.modelScene.parameter,Qe=Ft.pano0,Je=Ft.pano1;if(Qe&&Je&&Qe!==Je&&(Ot==="fly"||Ot==="model")&&this.flyEffectUseDepthBuffer){if(((h=this.modelScene.parameter.pano0Depth)===null||h===void 0?void 0:h.panoId)!==Qe.panoId||((m=this.modelScene.parameter.pano1Depth)===null||m===void 0?void 0:m.panoId)!==Je.panoId){var it=500,vt=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==vt&&this.pano0DepthCubeRenderTarget.setSize(vt,vt):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(vt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==vt&&this.pano1DepthCubeRenderTarget.setSize(vt,vt):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(vt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var Rt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);Rt.matrix.copy(Qe.matrix),Rt.matrixWorld.copy(Rt.matrix),Rt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,Rt,it);var wt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);wt.matrix.copy(Je.matrix),wt.matrixWorld.copy(wt.matrix),wt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,wt,it),this.modelScene.parameter.set({pano0Depth:{panoId:Qe.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:it},pano1Depth:{panoId:Je.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:it}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}},t.prototype.render=function(){if(this.xrManager.session&&this.xrManager.session.renderState.baseLayer){var e=this.xrManager.session.renderState.baseLayer;return this.renderer.setRenderTarget(null),this.renderer.setScissorTest(!1),this.renderer.setFramebuffer(e.framebuffer),this.renderer.render(this.scene,this.xrManager.cameraVR),this.renderer.setFramebuffer(null),!0}return!1},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var u=this.xrControllerRay.left,s=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var f=e[c].handedness,p=e[c].gamepad;switch(f){case"left":p.axes&&(this.emitHandleEvent(p.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(p.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(p.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(p.axes[3]===1,"LeftAxesDown",r)),p!=null&&p.buttons&&(p.buttons[4]&&this.emitHandleEvent(p.buttons[4].pressed,"X",r),p.buttons[5]&&this.emitHandleEvent(p.buttons[5].pressed,"Y",r),p.buttons[0]&&this.emitHandleEvent(p.buttons[0].pressed,"LeftTrigger",r),p.buttons[1]&&this.emitHandleEvent(p.buttons[1].pressed,"LeftPinch",r));var d={raycaster:u,axes:{up:p.axes&&p.axes[3]<0?Math.abs(p.axes[3]):0,down:p.axes&&p.axes[3]<0?0:Math.abs(p.axes[3]),left:p.axes&&p.axes[2]<0?Math.abs(p.axes[2]):0,right:p.axes&&p.axes[2]<0?0:Math.abs(p.axes[2])},deltaTime:o};l.buttons.X=p.buttons&&p.buttons[4]?p.buttons[4].pressed:!1,l.buttons.Y=p.buttons&&p.buttons[5]?p==null?void 0:p.buttons[5].pressed:!1,l.buttons.LeftTrigger=p.buttons&&p.buttons[0]?p==null?void 0:p.buttons[0].pressed:!1,l.buttons.LeftPinch=p.buttons&&p.buttons[1]?p==null?void 0:p.buttons[1].pressed:!1,l.left=d;break;case"right":p.axes&&(this.emitHandleEvent(p.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(p.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(p.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(p.axes[3]===1,"RightAxesDown",r)),p.buttons&&(p.buttons[4]&&this.emitHandleEvent(p.buttons[4].pressed,"A",r),p.buttons[5]&&this.emitHandleEvent(p.buttons[5].pressed,"B",r),p.buttons[0]&&this.emitHandleEvent(p.buttons[0].pressed,"RightTrigger",r),p.buttons[1]&&this.emitHandleEvent(p.buttons[1].pressed,"RightPinch",r));var h={raycaster:s,axes:{up:p.axes&&p.axes[3]<0?Math.abs(p.axes[3]):0,down:p.axes&&p.axes[3]<0?0:Math.abs(p.axes[3]),left:p.axes&&p.axes[2]<0?Math.abs(p.axes[2]):0,right:p.axes&&p.axes[2]<0?0:Math.abs(p.axes[2])},deltaTime:o};l.right=h,l.buttons.A=p.buttons&&p.buttons[4]?p==null?void 0:p.buttons[4].pressed:!1,l.buttons.B=p.buttons&&p.buttons[5]?p==null?void 0:p.buttons[5].pressed:!1,l.buttons.RightTrigger=p.buttons&&p.buttons[0]?p==null?void 0:p.buttons[0].pressed:!1,l.buttons.RightPinch=p.buttons&&p.buttons[1]?p==null?void 0:p.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var u=this.xrControllerRay.left,s=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:u,rightRay:s}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:u,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:u,rightRay:s}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:u,rightRay:s}}}),f=this.emit("xr.gesture.tap",c);!f&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t})(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],n.getCurrentState())}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],n.getCurrentState())}),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(){var n=new THREE__namespace.Group;n.name="internalLights";{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction0",t.position.copy(new THREE__namespace.Vector3(0,1,0)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction1",t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);t.name="direction2",t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);t.name="ambient0",n.add(t)}return n}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),u=0,s=o;u<s.length;u++){var l=s[u],c=l.split("="),f=(t=c[0])===null||t===void 0?void 0:t.trim(),p=(e=c[1])===null||e===void 0?void 0:e.trim();f&&p&&(r[f]=p)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),u=Number(o["initial-scale"]);if(!isNaN(u))return u}}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),o=n.getScissor(prevScissor),u=n.getScissorTest(),s=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,f=imageSize[0]/3,p=imageSize[1]/3;n.setViewport(l,c,f,p),n.setScissor(l,c,f,p),n.setScissorTest(!0),n.autoClear=!1,n.render(scene,camera),n.setViewport(r),n.setScissor(o),n.setScissorTest(u),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},e.src=textureURL,material.map=t}}const jsContent$1=`var L=(P,g,M)=>new Promise((a,x)=>{var c=q=>{try{k(M.next(q))}catch(y){x(y)}},m=q=>{try{k(M.throw(q))}catch(y){x(y)}},k=q=>q.done?a(q.value):Promise.resolve(q.value).then(c,m);k((M=M.apply(P,g)).next())});(function(){"use strict";function P(n,j,A,i){function u(t){return t instanceof A?t:new A(function(s){s(t)})}return new(A||(A=Promise))(function(t,s){function d(o){try{e(i.next(o))}catch(h){s(h)}}function w(o){try{e(i.throw(o))}catch(h){s(h)}}function e(o){o.done?t(o.value):u(o.value).then(d,w)}e((i=i.apply(n,j||[])).next())})}function g(n,j){var A={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},i,u,t,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=d(0),s.throw=d(1),s.return=d(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function d(e){return function(o){return w([e,o])}}function w(e){if(i)throw new TypeError("Generator is already executing.");for(;s&&(s=0,e[0]&&(A=0)),A;)try{if(i=1,u&&(t=e[0]&2?u.return:e[0]?u.throw||((t=u.return)&&t.call(u),0):u.next)&&!(t=t.call(u,e[1])).done)return t;switch(u=0,t&&(e=[e[0]&2,t.value]),e[0]){case 0:case 1:t=e;break;case 4:return A.label++,{value:e[1],done:!1};case 5:A.label++,u=e[1],e=[0];continue;case 7:e=A.ops.pop(),A.trys.pop();continue;default:if(t=A.trys,!(t=t.length>0&&t[t.length-1])&&(e[0]===6||e[0]===2)){A=0;continue}if(e[0]===3&&(!t||e[1]>t[0]&&e[1]<t[3])){A.label=e[1];break}if(e[0]===6&&A.label<t[1]){A.label=t[1],t=e;break}if(t&&A.label<t[2]){A.label=t[2],A.ops.push(e);break}t[2]&&A.ops.pop(),A.trys.pop();continue}e=j.call(n,A)}catch(o){e=[6,o],u=0}finally{i=t=0}if(e[0]&5)throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}typeof SuppressedError=="function"&&SuppressedError;function M(){return L(this,arguments,function*(n={}){var j,A=n,i=self.location.href,u="";try{u=new URL(".",i).href}catch(r){}console.log.bind(console),console.error.bind(console);function t(r){for(var f=0,l=r.length,v=new Uint8Array(l),E;f<l;++f)E=r.charCodeAt(f),v[f]=~E>>8&E;return v}var s,d,w=!1;function e(){var r=W.buffer;A.HEAPU8=d=new Uint8Array(r),A.HEAPU32=new Uint32Array(r),A.HEAPF32=new Float32Array(r),new BigInt64Array(r),new BigUint64Array(r)}function o(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)AA(A.preRun.shift());$(V)}function h(){w=!0,p.c()}function O(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)Z(A.postRun.shift());$(K)}var S;function Q(){return t(\`\\0asm\\0\\0\\0&\\\`\\\`}}\\\`}\\\`\\0\\\`\\v\\0\\\`\\0\\0\\x07aa\\0\\0\\b\\x07\\0\\0\\x07‚€€\\bA€Œ\\v\\x07b\\0c\\0\\x07d\\0e\\0f\\0\\f
2776
2776
  ™@\\x07T~@A€\\b(\\0"­ \\0­B\\x07|Bøÿÿÿƒ|"BÿÿÿÿX@ §"\\0?\\0AtM\\r \\0\\0\\r\\vA„\\bA06\\0A\\vA€\\b \\x006\\0 \\v\\0 \\0 Atr\\vr \\0¼"Aÿÿÿq!@ AvAÿq"E\\r\\0 Að\\0M@ A€€€rAñ\\0 kv!\\f\\v AK@A€ø!A\\0!\\f\\v A
2777
2777
  tA€€\\x07k!\\v  AvA€€qr A\\rvr\\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk" \\0Ak(\\0"Axq"\\0j!@ Aq\\r\\0 AqE\\r  (\\0"k"A˜\\b(\\0I\\r \\0 j!\\0@@@Aœ\\b(\\0 G@ (\\f! AÿM@  (\\b"G\\rAˆ\\bAˆ\\b(\\0A~ Avwq6\\0\\f\\v (!\\x07  G@ (\\b" 6\\f  6\\b\\f\\v (" Aj ("E\\r Aj\\v!@ ! "Aj! ("\\r\\0 Aj! ("\\r\\0\\v A\\x006\\0\\f\\v ("AqAG\\rA\\b \\x006\\0  A~q6  \\0Ar6  \\x006\\0\\v  6\\f  6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ ("At"(¸
2778
2778
  F@ A¸
@@ -2860,4 +2860,4 @@ At"j \\b Aj"j(\\0  \\x07j(\\0j6\\0
2860
2860
  Ak!
2861
2861
  \\f\\v\\v\\v\\0\\v\\v \\0A\\b\\v\`)}function lA(r){return r}function AA(r,o){var l,c=r;l=new WebAssembly.Module(c);var d=new WebAssembly.Instance(l,o);return[d,l]}function rA(){var r={a:fA};return r}function tA(){function r(c,d){return b=c.exports,uA(b),n(),b}var o=rA();if(A.instantiateWasm)return new Promise((c,d)=>{A.instantiateWasm(o,(K,X)=>{c(r(K))})});C!=null||(C=L());var l=AA(C,o);return r(l[0])}for(var z=r=>{for(;r.length>0;)r.shift()(A)},J=[],nA=r=>J.push(r),N=[],eA=r=>N.push(r),aA=()=>2147483648,iA=(r,o)=>Math.ceil(r/o)*o,oA=r=>{var o=H.buffer.byteLength,l=(r-o+65535)/65536|0;try{return H.grow(l),n(),1}catch(c){}},sA=r=>{var o=k.length;r>>>=0;var l=aA();if(r>l)return!1;for(var c=1;c<=4;c*=2){var d=o*(1+.2/c);d=Math.min(d,r+100663296);var K=Math.min(l,iA(Math.max(r,d),65536)),X=oA(K);if(X)return!0}return!1},I=new Uint8Array(123),w=25;w>=0;--w)I[48+w]=52+w,I[65+w]=w,I[97+w]=26+w;if(I[43]=62,I[47]=63,A.noExitRuntime&&A.noExitRuntime,A.print&&A.print,A.printErr&&A.printErr,A.wasmBinary&&A.wasmBinary,A.arguments&&A.arguments,A.thisProgram&&A.thisProgram,A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.shift()();var H;function uA(r){A._sort=r.d,A._malloc=r.e,A._free=r.f,H=r.b,r.__indirect_function_table}var fA={a:sA};function jA(){j();function r(){var o;A.calledRun=!0,g(),u==null||u(A),(o=A.onRuntimeInitialized)==null||o.call(A),Z()}A.setStatus?(A.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>A.setStatus(""),1),r()},1)):r()}var b;return b=tA(),jA(),F?i=A:i=new Promise((r,o)=>{u=r}),i})}var e;function R(){return P(this,void 0,void 0,function(){return _(this,function(a){switch(a.label){case 0:return[4,y()];case 1:return e=a.sent(),[2]}})})}var q,p,h,v,E,S,G,W,O,m=0,B=0,D=[],U=!0,M=!1,x=!1,T=!1,V=function(){return P(void 0,void 0,void 0,function(){var a;return _(this,function(i){switch(i.label){case 0:return M?(x=!0,[2]):(M=!0,x=!1,e?[3,2]:[4,R()]);case 1:i.sent(),i.label=2;case 2:return a=Math.pow(2,Math.ceil(Math.log2(q.vertexCount))),m<a&&(m>0&&(e._free(p),e._free(v),e._free(E),e._free(S),e._free(G),e._free(W),e._free(O)),m=a,p=e._malloc(64),v=e._malloc(m*4),E=e._malloc(3*m*4),S=e._malloc(m*4),G=e._malloc(m*4),W=e._malloc(m*4),O=e._malloc(m*4)),B<q.transforms.length&&(B>0&&e._free(h),B=q.transforms.length,h=e._malloc(B*4)),M=!1,x?(x=!1,[4,V()]):[3,4];case 3:i.sent(),i.label=4;case 4:return[2]}})})},Y=function(){if(!(M||x||!e)){M=!0,e.HEAPF32.set(q.positions,E/4),e.HEAPF32.set(q.transforms,h/4),e.HEAPU32.set(q.transformIndices,v/4),e.HEAPF32.set(new Float32Array(D),p/4),e._sort(p,h,v,q.vertexCount,E,S,G,W,O);var a=new Uint32Array(e.HEAPU32.buffer,G,q.vertexCount),i=new Uint32Array(a.slice().buffer);self.postMessage({depthIndex:i},[i.buffer]),M=!1,U=!1}},$=function(){T||(T=!0,U&&Y(),setTimeout(function(){T=!1,$()}))};self.onmessage=function(a){return new Promise(function(i,A){a.data.sortData&&(q={positions:new Float32Array(a.data.sortData.positions),transforms:new Float32Array(a.data.sortData.transforms),transformIndices:new Uint32Array(a.data.sortData.transformIndices),vertexCount:a.data.sortData.vertexCount},U=!0,V()),a.data.viewProj&&(a.data.viewProj.every(function(s){return D.includes(s)})===!1&&(D=a.data.viewProj,U=!0),$(),i(!0))})}})();
2862
2862
  `,blob=typeof self!="undefined"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",jsContent],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(n){let t;try{if(t=blob&&(self.URL||self.webkitURL).createObjectURL(blob),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(jsContent),{name:n==null?void 0:n.name})}}const vertexShader=(function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,u=0,s="";return t[u].split(s).map(function(l){return l.charCodeAt(u)>o?l:String.fromCharCode((l.charCodeAt(u)+r)%o)}).join(s)})("}rpvv|{-uvtu}-sy|nH}rpvv|{-uvtu}-v{Hnvor-v{-}ynV{qr\x07H{vs|z-uvtu}-nz}yr?Q-lr\x07rH{vs|z-uvtu}-nz}yr?Q-ln{s|zH{vs|z-uvtu}-nz}yr?Q-ln{s|zV{qvprH{vs|z-uvtu}-nz}yr?Q-luar\x07rH{vs|z-rp?-luar\x07r`v rH{vs|z-v{-lzn\x07`uQrtrrH{vs|z-rp?-r|yv|{Hn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH<<参考Tnvn{`}yn@qp|{-sy|n-\0E-J-\05E;=6H<<原版的固定xr{ry`v r,不要轻易调整这个数p|{-sy|n-xr{ry?Q`v r-J-=;@Hp|{-sy|n-zn\x07`prr{`}npr`}yn`v r-J-?=AE;=H<<固定的u相关系数p|{-sy|n-`UlP>-J-=;AEEC=?B>>F=?F>FFHp|{-sy|n-`UlP?l=-J->;=F?BAEAHp|{-sy|n-`UlP?l>-J-:>;=F?BAEAHp|{-sy|n-`UlP?l?-J-=;@>B@F>CHp|{-sy|n-`UlP?l@-J-:>;=F?BAEAHp|{-sy|n-`UlP?lA-J-=;BAC?DA?Hrp?-tr`UQnnbc5v{-}ynVq\x079-v{-p|z}|{r{\\ssr9-rp?-r\x07r`v r6-\n----v{-uP|z}|{r{P|{-J-=H----vs-5lzn\x07`uQrtrr-KJ->6-uP|z}|{r{P|{-8J-FH----vs-5lzn\x07`uQrtrr-KJ-?6-uP|z}|{r{P|{-8J->BH----vs-5lzn\x07`uQrtrr-KJ-@6-uP|z}|{r{P|{-8J-?>H--------v{-}nqqrqP|z}|{r{P|{-J-uP|z}|{r{P|{H----vs-5}nqqrqP|z}|{r{P|{-2-A-.J-=6-\n--------}nqqrqP|z}|{r{P|{-J-55}nqqrqP|z}|{r{P|{-<-A6-8->6-7-AH----\f--------sy|n-yv{rnP|z}|{r{V{qr\x07-J-sy|n5}ynVq\x07-7-}nqqrqP|z}|{r{P|{-8-p|z}|{r{\\ssr6H----sy|n-r\x07ryV{qr\x07-J-yv{rnP|z}|{r{V{qr\x07-<-A;=H------sy|n-q-J-r\x07ryV{qr\x07-<-r\x07r`v r;\x07H----sy|n-\b-J-sy||5q6-<-r\x07r`v r;\bH----sy|n-\x07-J-snp5q6H----r{-rp?5\x079-\b6H\f|vq-znv{-56-\n----rpA-pr{-J-r\x07rySrpu5lr\x07r9-vrp?55v{5}ynV{qr\x076-3-=\x07@ss6-II->9-v{5}ynV{qr\x076-KK->=69-=6H--------v{-n{s|zV{qr\x07-J-r\x07rySrpu5ln{s|zV{qvpr9-vrp?5v{5}ynV{qr\x076-3-=\x07@ss9-v{5}ynV{qr\x076-KK->=69-=6;\x07H----znA-n{s|z-J-znA5--------r\x07rySrpu5ln{s|z9-vrp?5=9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5>9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5?9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5@9-n{s|zV{qr\x0769-=6----6H----znA-n{s|zZ|qrycvrZnv\x07-J-vrZnv\x07-7-n{s|zH----rp@-}ynPr{r-J-v{Ova|Sy|n5pr{;\x07\b 6H----rpA-vrPr{r-J-n{s|zZ|qrycvrZnv\x07-7-rpA5}ynPr{r9->;=6H----rpA-pyv}Pr{r-J-}|wrpv|{Znv\x07-7-vrPr{rH----<<剔除超出视锥体的}yn----sy|n-pyv}-J->;?-7-pyv}Pr{r;H----vs-5pyv}Pr{r; -I-:pyv}Pr{r;-\v\v-pyv}Pr{r; -K-pyv}Pr{r;-\v\v---------pyv}Pr{r;\x07-I-:pyv}-\v\v-pyv}Pr{r;\x07-K-pyv}-\v\v---------pyv}Pr{r;\b-I-:pyv}-\v\v-pyv}Pr{r;\b-K-pyv}6-\n--------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------r{H----\f----rp@-{qpPr{r-J-pyv}Pr{r;\x07\b -<-pyv}Pr{r;H----rp?-s|pny-J-rp?5--------}|wrpv|{Znv\x07h=jh=j-7-r|yv|{;\x07-7-=;B9--------}|wrpv|{Znv\x07h>jh>j-7-r|yv|{;\b-7-=;B----6H--------]|vv|{-J-}|vv|{;\x07\bH----<<-读取协方差数据(使用-unys?\x07>C-打包)----rpA-p|-J-r\x07rySrpu5lr\x07r9-vrp?555v{5}ynV{qr\x076-3-=\x07@ss6-II->6-\v->9-v{5}ynV{qr\x076-KK->=69-=6H----rp?->-J-{}npxUnys?\x07>C5p|;\x076H-----rp?-?-J-{}npxUnys?\x07>C5p|;\b6H------rp?-@-J-{}npxUnys?\x07>C5p|; 6H----------sy|n-Z>>-J->;\x07-<-A;=H----sy|n-Z>?-J->;\b-<-A;=H----sy|n-Z>@-J-?;\x07-<-A;=H----sy|n-Z??-J-?;\b-<-A;=H----sy|n-Z?@-J-@;\x07-<-A;=H----sy|n-Z@@-J-@;\b-<-A;=H--------zn@-cx-J-zn@5--------Z>>9-Z>?9-Z>@9--------Z>?9-Z??9-Z?@9----------Z>@9-Z?@9-Z@@-------6H----<<-判断是否是正交模式:透视时-}|wrpv|{Znv\x07h@jh@j-J-=,正交时-J->----o||y-v\\u|tn}uvp-J-}|wrpv|{Znv\x07h@jh@j-K-=;DH----sy|n-n{vznv|{]|tr-J--}|wrpv|{Znv\x07h@jh@jH----zn@-WH----vs-5v\\u|tn}uvp6-\n--------<<-正交模式的雅可比矩阵--------W-J-n{}|r5zn@5------------s|pny;\x079-=;=9-=;=9------------=;=9-s|pny;\b9-=;=9------------=;=9-=;=9-=;=--------66H----\f-ryr-\n--------<<-透视模式的雅可比矩阵--------sy|n--J->;=-<-5vrPr{r; -7-vrPr{r; 6H--------W-J-zn@5------------s|pny;\x07-<-vrPr{r; 9-=;=9-:5s|pny;\x07-7-vrPr{r;\x076-7-9------------=;=9-s|pny;\b-<-vrPr{r; 9-:5s|pny;\b-7-vrPr{r;\b6-7-9------------=;=9-=;=9-=;=--------6H----\f----zn@-d-J-n{}|r5zn@5n{s|zZ|qrycvrZnv\x0766H----zn@-a-J-d-7-WH----<<-将-@Q-协方差矩阵变换为-?Q-协方差矩阵----zn@-p|?Qz-J-n{}|r5a6-7-cx-7-aH----p|?Qzh=jh=j-8J-xr{ry?Q`v rH----p|?Qzh>jh>j-8J-xr{ry?Q`v rH----rp@-p|?Q-J-rp@5p|?Qzh=jh=j9-p|?Qzh=jh>j9-p|?Qzh>jh>j6H----sy|n-n-J-p|?Q;\x07H----sy|n-q-J-p|?Q; H----sy|n-o-J-p|?Q;\bH----sy|n-Q-J-n-7-q-:-o-7-oH----sy|n-npr-J-n-8-qH----sy|n-npr\\r?-J-=;B-7-nprH----sy|n-rz?-J-\05zn\x075=;>9-npr\\r?-7-npr\\r?-:-Q66H----sy|n-rvtr{cnyr>-J-npr\\r?-8-rz?H----sy|n-rvtr{cnyr?-J-npr\\r?-:-rz?H----vs-5rvtr{cnyr?-IJ-=;=6-\n--------r{H----\f----rp?-rvtr{crp|>-J-{|znyv r5rp?5o9-rvtr{cnyr>-:-n66H----rp?-rvtr{crp|?-J-rp?5rvtr{crp|>;\b9-:rvtr{crp|>;\x076H----rp?-onvcrp|>-J-rvtr{crp|>--7-zv{5\0E-7-\05rvtr{cnyr>69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcrp|?-J-rvtr{crp|?--7-zv{5\0E-7-\05rvtr{cnyr?69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcvr}|-J-rp?5>;=-<-r|yv|{;\x079->;=-<-r|yv|{;\b6H----rp?-{qp\\ssr-J-rp?5]|vv|{;\x07-7-onvcrp|>-8-]|vv|{;\b-7-onvcrp|?6-7---------------------onvcvr}|-7-?;=H----rpA-\0nq]|-J-rpA5{qpPr{r;\x07\b-8-{qp\\ssr9-{qpPr{r; 9->;=6H----tyl]|vv|{-J-\0nq]|H----<<-读取颜色----rpA-p|y|-J-rpA5--------5p|;6-3-=\x07ss9--------5p|;-KK-E6-3-=\x07ss9--------5p|;-KK->C6-3-=\x07ss9--------5p|;-KK-?A6-3-=\x07ss----6-<-?BB;=H----<<应用球谐光照,目前只兼容=>?----vs-5lzn\x07`uQrtrr-KJ->6-\n--------rp@-pnzrn]|V{\\owrp-J-rp@5v{rr5n{s|z6-7-rpA5pnzrn]|vv|{9->;=66H--------rp@-|owrpcvrQv-J-{|znyv r5}ynPr{r-:-pnzrn]|V{\\owrp6H----------------rpA-u=>?@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x079-=9-luar\x07r`v r66H----------rpA-uABCD-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x079-A9-luar\x07r`v r66H----------rpA-uEF>=>>-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x079-E9-luar\x07r`v r66H-----------------rp@-u>-J-u=>?@;toH-----------------------------------rp@-u?-J-rp@5u=>?@;n9-uABCD;t6H---------------------rp@-u@-J-rp@5uABCD;on9-uEF>=>>;6H-----------------------------sy|n-\x07-J-|owrpcvrQv;\x07H--------sy|n-\b-J-|owrpcvrQv;\bH--------sy|n- -J-|owrpcvrQv; H--------rp@-uP|y|-J-u>-7-5:=;AEEC=?B-7-\b6-8-u?-7-5=;AEEC=?B-7- 6-8-u@-7-5:=;AEEC=?B-7-\x076H--------p|y|;to-8J-uP|y|H----------------vs-5lzn\x07`uQrtrr-KJ-?6-\n----------------------rpA-u>?>@>A>B-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x079->?9-luar\x07r`v r66H------------rpA-u>C>D>E>F-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x079->C9-luar\x07r`v r66H-------------rpA-u?=?>???@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x079-?=9-luar\x07r`v r66H-------------------------rp@-uA-J-uEF>=>>;tonH------------------------------------rp@-uB-J-u>?>@>A>B;toH----------------------------------rp@-uC-J-rp@5u>?>@>A>B;n9-u>C>D>E>F;t6H---------------rp@-uD-J-rp@5u>C>D>E>F;on9-u?=?>???@;6H---------------rp@-uElqrt?-J-u?=?>???@;tonH-----------------------------------------sy|n-\x07\x07-J-\x07-7-\x07H------------sy|n-\b\b-J-\b-7-\bH------------sy|n- -J- -7- H------------sy|n-\x07\b-J-\x07-7-\bH------------sy|n-\b -J-\b-7- H------------sy|n-\x07 -J-\x07-7- H------------------------p|y|;to-8J----------------5`UlP?l=-7-\x07\b6-7-uA-8----------------5`UlP?l>-7-\b 6-7-uB-8----------------5`UlP?l?-7-5?;=-7- -:-\x07\x07-:-\b\b66-7-uC-8----------------5`UlP?l@-7-\x07 6-7-uD-8----------------5`UlP?lA-7-5\x07\x07-:-\b\b66-7-uElqrt?H--------\f----\f--------p|y|;to-J-pynz}5p|y|;to9-rp@5=;=69-rp@5>;=66H----P|y|-J-p|y|H----]|vv|{-7J-\0EH----b-J-}|vv|{;\x07\bH\f"),fragmentShader=(function n(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,u=0,s="";return t[u].split(s).map(function(l){return l.charCodeAt(u)>o?l:String.fromCharCode((l.charCodeAt(u)+r)%o)}).join(s)})(`}rpvv|{-uvtu}-sy|nH0v{pyqr-Ip|zz|{Kn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH|vq-znv{-56-
2863
- ----<<-计算从-}yn-中心到当前片段的平方距离----<<-由于-]|vv|{-已经按-\05E6-缩放,平方结果会被缩放-E-倍----<<-如果平方结果大于-E,说明在椭圆外,距离均值超过-\05E6-个标准差----sy|n-N-J-q|5]|vv|{9-]|vv|{6H----vs-5N-K-E;=6-qvpnqH--------rp@-p|y|-J-P|y|;toH--------<<-由于渲染的-}yn-按-\05E6-缩放,高斯公式中的逆协方差矩阵部分变成单位矩阵----<<-因此只剩下-5e-:-zrn{6-7-5e-:-zrn{6,而-zrn{-为零,所以是-e-7-e,即-N----sy|n-|}npv\b-J-r\x07}5:=;B-7-N6-7-P|y|;nH--------tylSntP|y|-J-rpA5p|y|;to9-|}npv\b6H\f`);var PBMGSRenderMesh=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.renderData=null,e.needsRender=!1,e.sortWorker=null,e.depthIndex=new Uint32Array,e.splatIndexCapacity=0,e.dataTexture=null,e.transformsTexture=null,e.transformIndicesTexture=null,e.shTexture=null,e.usedSHDegree=0,e.onBeforeRender=function(u,s,l){var c,f,p=l,d=e.collectObjects(s);if(d.length===0){e.geometry.instanceCount=0;return}var h=0;if(d.forEach(function(y){y.usedSHDegree>h&&(h=y.usedSHDegree)}),e.setMaxShDegree(h),e.isSceneNeedsRebuild(d)&&(e.renderData&&e.renderData.dispose(),e.shTexture&&(e.shTexture.dispose(),e.shTexture=null),e.renderData=new RenderData(d),e.createTextures(),e.ensureSplatIndexCapacity(e.renderData.numPoints)),!!e.renderData){if(d.forEach(function(y){y.transformChanged&&e.renderData.updateTransform(y)}),e.renderData.dataChanged||e.renderData.transformsChanged){var m=new Float32Array(e.renderData.positions.slice().buffer),A=new Float32Array(e.renderData.transforms.slice().buffer),g=new Uint32Array(e.renderData.transformIndices.slice().buffer);(c=e.sortWorker)===null||c===void 0||c.postMessage({sortData:{positions:m,transforms:A,transformIndices:g,vertexCount:e.renderData.numPoints}},[m.buffer,A.buffer,g.buffer])}e.renderData.dataChanged&&e.dataTexture&&(e.dataTexture.needsUpdate=!0,e.renderData.dataChanged=!1),e.renderData.transformsChanged&&e.transformsTexture&&e.transformIndicesTexture&&(e.transformsTexture.needsUpdate=!0,e.transformIndicesTexture.needsUpdate=!0,e.renderData.transformsChanged=!1);var b=Math.min(e.usedSHDegree,e.renderData.maxShDegree);e.material.uniforms.u_maxShDegree.value=b,b>0&&!e.shTexture?e.createSHTexture():b===0&&e.shTexture&&(e.shTexture.dispose(),e.shTexture=null,e.material.uniforms.u_shTexture.value=null);var v=new THREE__namespace.Matrix4().multiplyMatrices(p.perspectiveProjectionMatrix,p.matrixWorldInverse);(f=e.sortWorker)===null||f===void 0||f.postMessage({viewProj:v.elements}),e.material.uniforms.resolution.value.set(p.resolution.x,p.resolution.y)}};var r=e.createGeometry(),o=e.createMaterial();return e.geometry=r,e.material=o,e.frustumCulled=!1,e.renderOrder=-99999999999,e.gsSceneState={lastObjectsHash:""},e.sortWorker=new WorkerWrapper,e.sortWorker.onmessage=function(u){if(u.data.depthIndex){e.depthIndex=u.data.depthIndex;var s=e.depthIndex.length,l=e.ensureSplatIndexCapacity(s),c=l.array;c.set(e.depthIndex,0),l.count=e.depthIndex.length,l.updateRange.offset=0,l.updateRange.count=s,l.needsUpdate=!0,e.geometry.instanceCount=e.depthIndex.length,e.needsRender=!0}},e}return t.prototype.ensureSplatIndexCapacity=function(e){var r=this.geometry.getAttribute("splatIndex");if(e<=this.splatIndexCapacity)return r;var o=this.getExpandedCapacity(e),u=r.array,s=new Int32Array(o);s.set(u.subarray(0,Math.min(u.length,o)));var l=new THREE__namespace.InstancedBufferAttribute(s,1,!1,1);return l.setUsage(THREE__namespace.DynamicDrawUsage),this.geometry.setAttribute("splatIndex",l),this.splatIndexCapacity=o,this.geometry._maxInstanceCount=o,l},t.prototype.getExpandedCapacity=function(e){for(var r=Math.max(this.splatIndexCapacity,1);r<e;)r*=2;return r},t.prototype.createGeometry=function(){var e=new THREE__namespace.InstancedBufferGeometry,r=new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0]);e.setAttribute("position",new THREE__namespace.BufferAttribute(r,3));var o=new Uint16Array([0,1,2,0,2,3]);e.setIndex(new THREE__namespace.BufferAttribute(o,1)),this.splatIndexCapacity=1;for(var u=new Int32Array(this.splatIndexCapacity),s=0;s<u.length;s++)u[s]=s;var l=new THREE__namespace.InstancedBufferAttribute(u,1,!1,1);return l.setUsage(THREE__namespace.DynamicDrawUsage),e.setAttribute("splatIndex",l),e._maxInstanceCount=this.splatIndexCapacity,e.instanceCount=0,e},t.prototype.createMaterial=function(){var e=new THREE__namespace.ShaderMaterial({vertexShader,fragmentShader,uniforms:{u_texture:{value:null},u_transforms:{value:null},u_transformIndices:{value:null},u_shTexture:{value:null},u_shTextureSize:{value:new THREE__namespace.Vector2},u_maxShDegree:{value:0},resolution:{value:new THREE__namespace.Vector2}},side:THREE__namespace.DoubleSide,transparent:!0,blending:THREE__namespace.NormalBlending,depthTest:!0,depthWrite:!1});return e},t.prototype.createTextures=function(){this.renderData&&(this.dataTexture=new THREE__namespace.DataTexture(this.renderData.data,this.renderData.width,this.renderData.height,THREE__namespace.RGBAIntegerFormat,THREE__namespace.UnsignedIntType),this.dataTexture.internalFormat="RGBA32UI",this.dataTexture.minFilter=THREE__namespace.NearestFilter,this.dataTexture.magFilter=THREE__namespace.NearestFilter,this.dataTexture.needsUpdate=!0,this.transformsTexture=new THREE__namespace.DataTexture(this.renderData.transforms,this.renderData.transformsWidth,this.renderData.transformsHeight,THREE__namespace.RGBAFormat,THREE__namespace.FloatType),this.transformsTexture.internalFormat="RGBA32F",this.transformsTexture.minFilter=THREE__namespace.NearestFilter,this.transformsTexture.magFilter=THREE__namespace.NearestFilter,this.transformsTexture.needsUpdate=!0,this.transformIndicesTexture=new THREE__namespace.DataTexture(this.renderData.transformIndices,this.renderData.transformIndicesWidth,this.renderData.transformIndicesHeight,THREE__namespace.RedIntegerFormat,THREE__namespace.UnsignedIntType),this.transformIndicesTexture.internalFormat="R32UI",this.transformIndicesTexture.minFilter=THREE__namespace.NearestFilter,this.transformIndicesTexture.magFilter=THREE__namespace.NearestFilter,this.transformIndicesTexture.needsUpdate=!0,this.material.uniforms.u_texture.value=this.dataTexture,this.material.uniforms.u_transforms.value=this.transformsTexture,this.material.uniforms.u_transformIndices.value=this.transformIndicesTexture,this.usedSHDegree>0&&this.renderData.maxShDegree>0&&this.createSHTexture())},t.prototype.createSHTexture=function(){if(this.renderData){this.shTexture&&(this.shTexture.dispose(),this.shTexture=null);var e=Math.min(this.usedSHDegree,this.renderData.maxShDegree),r=0;if(e>=1&&(r+=9),e>=2&&(r+=15),e>=3&&(r+=21),r!==0){var o=4,u=r;u%o!==0&&(u=Math.ceil(u/o)*o);for(var s=this.renderData.numPoints*u/o,l=2048,c=Math.ceil(s/l),f=new Float32Array(l*c*o),p=0;p<this.renderData.numPoints;p++){var d=p*(u/o),h=0;if(this.renderData.sh1&&e>=1)for(var m=0;m<9;m++){var A=d+Math.floor(h/o),g=h%o,b=A*o+g;f[b]=this.renderData.sh1[p*9+m],h++}if(this.renderData.sh2&&e>=2)for(var m=0;m<15;m++){var A=d+Math.floor(h/o),g=h%o,b=A*o+g;f[b]=this.renderData.sh2[p*15+m],h++}if(this.renderData.sh3&&e>=3)for(var m=0;m<21;m++){var A=d+Math.floor(h/o),g=h%o,b=A*o+g;f[b]=this.renderData.sh3[p*21+m],h++}}this.shTexture=new THREE__namespace.DataTexture(f,l,c,THREE__namespace.RGBAFormat,THREE__namespace.FloatType),this.shTexture.internalFormat="RGBA32F",this.shTexture.minFilter=THREE__namespace.NearestFilter,this.shTexture.magFilter=THREE__namespace.NearestFilter,this.shTexture.needsUpdate=!0,this.material.uniforms.u_shTexture.value=this.shTexture,this.material.uniforms.u_shTextureSize.value.set(l,c),this.material.uniforms.u_maxShDegree.value=e}}},t.prototype.setMaxShDegree=function(e){if(e<0||e>2){console.warn("现在只支持012三种阶数,你输入的是".concat(e));return}var r=this.usedSHDegree;this.usedSHDegree=e,r!==e&&(this.shTexture&&(this.shTexture.dispose(),this.shTexture=null),this.material.uniforms.u_maxShDegree.value=e,e===0?this.material.uniforms.u_shTexture.value=null:this.renderData&&this.renderData.maxShDegree>0&&this.createSHTexture())},t.prototype.collectObjects=function(e){var r=[];return e.traverse(function(o){o instanceof PBMGSObject&&o.visible&&r.push(o)}),r},t.prototype.isSceneNeedsRebuild=function(e){var r=e.reduce(function(u,s){return u+s.uuid},""),o=r!==this.gsSceneState.lastObjectsHash;return this.gsSceneState.lastObjectsHash=r,o},t.prototype.dispose=function(){this.renderData&&this.renderData.dispose(),this.sortWorker&&this.sortWorker.terminate(),this.dataTexture&&this.dataTexture.dispose(),this.transformsTexture&&this.transformsTexture.dispose(),this.transformIndicesTexture&&this.transformIndicesTexture.dispose(),this.shTexture&&this.shTexture.dispose(),this.geometry.dispose(),this.material.dispose()},t})(THREE__namespace.Mesh),DEFAULT_MODE_CHANGE_DURATION=1e3,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/")},scratchSphere=new THREE__namespace.Sphere,scratchBox3=new THREE__namespace.Box3,scratchViewport=new THREE__namespace.Vector4,scratchScissor=new THREE__namespace.Vector4,scratchClearColor=new THREE__namespace.Color,scratchRenderSize=new THREE__namespace.Vector2,worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five_Instances={},Five=(function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,u,s,l,c,f,p,d,h,m,A=n.call(this)||this;if(A.pbmGSRenderMesh=null,A.fiveId=createUuid$1(),Five_Instances[A.fiveId]=A,A.currentUpdateArgs={time:now(),args:[]},A.currentMode="Panorama",A.pano={workCode:"",panoIndex:0},A.needsRender=!1,A.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,A.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),A.textureOptions=__assign({},(u=e.textureOptions)!==null&&u!==void 0?u:{}),A.poweredByRealsee=(s=e.poweredByRealsee)!==null&&s!==void 0?s:!0,A.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),A.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,A.extraElements=[],A.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)},A.fps={testCount:0,testTime:now()},A.modeChangeDuration=(f=e.modeChangeDuration)!==null&&f!==void 0?f:DEFAULT_MODE_CHANGE_DURATION,A.enableWheel=(p=e.enableWheel)!==null&&p!==void 0?p:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&A.throwError(new Error("cannot render a internal renderer")),A.renderer=e.renderer;else try{A.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var g=getViewportScale();A.renderer.setPixelRatio(g===1?window.devicePixelRatio:1),A.renderer.setSize(512,512),A.renderer.setClearColor(A.backgroundColor,A.backgroundAlpha)}catch(M){var b=M instanceof Error?M:new Error(String(M));A.throwError(b)}A.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(d=A.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),A.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),A.camera=new Camera(DEFAULT_CAMERA_FOV),A.scene=new Scene,A.xrCustomObjectsScene=new THREE__namespace.Scene,A.scene.add(A.xrCustomObjectsScene),A.scene.matrixAutoUpdate=!1,A.loadWorkTask=Promise.resolve(),A.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,A.networkSubscribe=new NetworkSubscribe,A.networkSubscribe.on("network",function(M,F,k,O){var N;A.emit("network.resource",createEvent("network.resource",{source:M,requestType:F,requestState:k,detail:O})),(N=A.analysis)===null||N===void 0||N.network(A.works,M,F,k,O)}),A.readyCallbacks=[],A.syncingState=!1,A.helperGroup=new THREE__namespace.Group,A.helperGroup.name="helper",A.helperGroup.matrixAutoUpdate=!1,A.scene.add(A.helperGroup),worksMap.set(A,emptyWorks),A.modelScene=new ModelScene({fiveId:A.fiveId}),A.modelScene.addEventListener("model.create",function(M){A.bindModel(M.model)}),A.scene.add(A.modelScene);var v=A.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0})[0];defineProperty(v,"loaded",{get:function(){return!1},set:function(M){}}),A.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var y=initLights();A.scene.add(y),A.state={mode:A.currentMode,workCode:A.pano.workCode,panoIndex:A.pano.panoIndex,longitude:A.camera.pose.longitude,latitude:A.camera.pose.latitude,fov:A.camera.pose.fov,offset:A.camera.pose.offset.clone(),distance:A.camera.pose.distance},A.stateSynced=!1,A.destroyed=!1,A.paused=!0,typeof window!="undefined"&&(e.play!==!1&&A.play(),A.stopAnimationLoop=AnimationFrameLoop.shared.add(function(M,F){for(var k=[],O=2;O<arguments.length;O++)k[O-2]=arguments[O];A.updateTime.apply(A,__spreadArray([M,F],k,!1))},!1,0,10));var E=function(){typeof document!="undefined"&&document.fullscreenElement===null&&A.currentMode==="VRPanorama"&&A.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},_=function(){A.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",E,!1),A.renderer&&A.renderer.domElement.addEventListener("webglcontextrestored",_,!1),A.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",E,!1),A.renderer&&A.renderer.domElement.removeEventListener("webglcontextrestored",_,!1)},A.plugins={},e.plugins&&e.plugins.length)for(var T=0,S=e.plugins;T<S.length;T++){var R=S[T];if(typeof R=="function")R(A);else if(Array.isArray(R)){var w=R[0],I=R[1],P=R[2];if(typeof w=="function"){var C=w(A,P);typeof I=="string"&&(A.plugins[I]?A.throwError(new Error("plugin name ".concat(I," is exists."))):A.plugins[I]=C)}}}return initLegacyEvent(A),A.fiveRenderer=new FiveRenderer,A.adaptiveLuminancePass=new AdaptiveLuminancePass,A.adaptiveLuminancePass.enabled=!1,A.fiveRenderer.composer.addPass(A.adaptiveLuminancePass),A.eyeDomeLightingPass=new EyeDomeLightingPass(A.camera),A.eyeDomeLightingPass.enabled=!1,A.fiveRenderer.composer.addPass(A.eyeDomeLightingPass),e.webgl2?(A.pbmGSRenderMesh=new PBMGSRenderMesh,A.scene.add(A.pbmGSRenderMesh)):console.warn("未开启webgl2,3dgs功能不可用"),A}return Object.defineProperty(t,"version",{get:function(){return"6.8.0-alpha.10"},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,"useNativeImageBitmap",{get:function(){return canUseNativeImageBitmap()},set:function(e){useNativeImageBitmap(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ident",{get:function(){return this.fiveId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e;if(this.destroyed!==!0){delete Five_Instances[this.fiveId],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),this.stopAnimationLoop=void 0),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var r=this.getElement();r&&r.parentNode&&r.parentNode.removeChild(r);var o=this.modelScene.parameter;o.pano0&&o.pano0.map.dispose(),o.pano1&&o.pano1.map!==((e=o.pano0)===null||e===void 0?void 0:e.map)&&o.pano1.map.dispose(),o.reset("pano0","pano1"),this.modelScene.dispose(),this.scene.dispose(),this.xrCustomObjectsScene.dispose(),worksMap.set(this,emptyWorks),this.renderer&&this.renderer.render(new THREE__namespace.Scene,new THREE__namespace.Camera),this.fiveRenderer.dispose(),this.renderer instanceof InternalWebGLRenderer&&(this.renderer.forceContextLoss&&this.renderer.forceContextLoss(),this.renderer.dispose())}},t.prototype.setViewport=function(e){Object.assign(this.viewport,e),this.needsRender=!0},Object.defineProperty(t.prototype,"boundingMesh",{get:function(){return this.modelScene.boundingMesh},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1,u=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(u=!0,o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);(!s||u)&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var u=window.getComputedStyle(e).position;u!=="relative"&&u!=="absolute"&&u!=="fixed"&&u!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,u,s;if(e===void 0&&(e={}),!!this.renderer){var l=this.renderer.domElement,c=l.parentNode,f=e.width,p=f===void 0?(o=c==null?void 0:c.offsetWidth)!==null&&o!==void 0?o:512:f,d=e.height,h=d===void 0?(u=c==null?void 0:c.offsetHeight)!==null&&u!==void 0?u:512:d;if(p=Math.max(1,p),h=Math.max(1,h),!r){var m=getViewportScale(),A=typeof window!="undefined"?window.devicePixelRatio:1;if(r=(s=m===1?A:1)!==null&&s!==void 0?s:1,r>1){var g=Math.max(p,h)*r,b=Math.min(this.renderer.capabilities.maxTextureSize,4096);g>b&&(r=Math.max(r/g*b,1),r=Math.floor(r*100)/100)}}this.renderer.setPixelRatio(r),this.renderer.setSize(p,h),this.needsRender=!0;var v=now(),y=v-this.currentUpdateArgs.time,E=this.currentUpdateArgs.args;this.updateTime.apply(this,__spreadArray([v,y],E,!1))}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);return e||emptyWorks},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"observers",{get:function(){return this.work.observers},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,u){var s=this;if(u===void 0&&(u=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return s.load_(c,r,o,u)}):s.load_(e,r,o,u)});return this.loadWorkTask=l.catch(function(c){s.throwError(c)}),l},t.prototype.load_=function(e,r,o,u){var s=this,l,c,f,p,d,h,m,A,g,b;u===void 0&&(u=!0);var v={};typeof o=="number"?v.duration=o:typeof o=="object"&&Object.assign(v,o),this.works===emptyWorks&&(v.duration===void 0&&(v.duration=0),v.effect===void 0&&(v.effect="instant"));var y={};Object.assign(y,v.model),!y["3d-tiles"]&&v["3d-tiles"]&&(y["3d-tiles"]=v["3d-tiles"]),!y.textureOptions&&v.textureOptions&&(y.textureOptions=v.textureOptions),!y.textureOptions&&this.textureOptions&&(y.textureOptions=this.textureOptions);var E=[];if(Array.isArray(e))for(var _=0,T=e;_<T.length;_++){var S=T[_];S instanceof Work?E.push(S):typeof S!="string"&&"work"in S?E.push(parseWork(S.work,S)):E.push(parseWork(S))}else e instanceof Work?E.push(e):E.push(parseWork(e));v.mode==="add"&&(E=[].concat(this.works,E));var R;try{R=createWorks(E)}catch(te){return this.throwError(te),Promise.reject(te)}for(var w=0,I=R;w<I.length;w++){var P=I[w];this.bindWorkFetcher(P)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var C=this.currentMode,M=R.initial,F=M.work.observers[0],k=F?{workCode:F.work.workCode,panoIndex:F.panoIndex}:{workCode:M.work.workCode,panoIndex:0},O=(l=M.mode)!==null&&l!==void 0?l:F?"Panorama":"Mapview",N={};if(r==="inherit"){var q=this.getCurrentState(),j=R.filter(function(te){return te.workCode===q.workCode})[0];if(j)k={workCode:q.workCode,panoIndex:q.panoIndex},O=q.mode,N={longitude:q.latitude,latitude:q.latitude,fov:q.fov,distance:q.distance,offset:q.offset.clone()};else{r={mode:C};var L=(f=(c=R[0])===null||c===void 0?void 0:c.observers)===null||f===void 0?void 0:f[this.panoIndex];L?(r.workCode=L.work.workCode,r.panoIndex=L.panoIndex):typeof R.initial.panoIndex=="number"?(r.workCode=R.initial.work.workCode,r.panoIndex=R.initial.panoIndex):(r.mode==="Panorama"||r.mode==="VRPanorama"||r.mode==="XRPanorama")&&(r.mode="Mapview"),r.mode===C&&(r.longitude=this.camera.pose.longitude,r.latitude=this.camera.pose.latitude,r.fov=this.camera.pose.fov)}}if(r==="initial"&&(typeof M.panoIndex=="number"&&(k={workCode:M.work.workCode,panoIndex:M.panoIndex}),M.mode&&(O=M.mode),N={longitude:M.longitude,latitude:M.latitude,fov:M.fov,distance:M.distance,offset:(p=M.offset)===null||p===void 0?void 0:p.clone()}),typeof r=="object"){if(O=(d=r.mode)!==null&&d!==void 0?d:C,typeof r.panoIndex=="number"){var L=R.getObserver({workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:M.work.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex});L&&(k={workCode:L.work.workCode,panoIndex:L.panoIndex})}N={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset?new THREE__namespace.Vector3().copy(r.offset):void 0}}var z=(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration;(O==="Floorplan"||O==="Topview"||O==="Mapview")&&C===O&&(z=0);var V="fly";(O==="Panorama"||O==="VRPanorama"||O==="XRPanorama")&&C===O&&(V=(g=v.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:R,userAction:u}));var U=function(te,ee,se){var W=s.getCurrentState(),Q=__assign(__assign({mode:te},ee),se);r==="inherit"&&(Q=s.getCurrentState()),s.pano=ee;var X=__assign(__assign({initial:{state:Q,currentState:W,duration:z,effect:V,userAction:u}},s.commonParams()),s.controllerInits[te]),$=Controllers[Q.mode].initAnimationEndState(X);if(s.controller&&C===te)s.controller.updateWork(R,$,{effect:V,duration:z},u)===!1&&(s.controller.destroy(),s.controller=s.applyController(te,X));else{if(s.controller)s.controller.destroy();else{var ie=Controllers[te].initAnimationEndState(X);s.camera.setFromPose(ie),s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:u}))}s.controller=s.applyController(te,X);var de=createEvent("mode.change",{prevMode:C,mode:te,state:$,userAction:u});try{s.emit("mode.change",de)}catch(oe){console.error(oe)}}s.updateTime.apply(s,__spreadArray([s.currentUpdateArgs.time,0],s.currentUpdateArgs.args,!1))};worksMap.set(this,R);var J=Promise.resolve();if(O===t.Mode.Floorplan||O===t.Mode.Topview||O===t.Mode.Mapview||O===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(N),assignPose(this.state,this.camera.pose));var K=this.modelScene.setModels(R,y);J=Promise.all(K.map(function(te){return te.loadedReady})).then(function(){s.needsRender=!0,U(O,k,N),s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:u}))})}else{U(O,k,N);var ue=this.controller,ae=!1;this.modelScene.autoRefine=!1;var ne=function(){s.works===R&&ae===!1&&(s.needsRender=!0,s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:u})),ae=!0,s.modelScene.autoRefine=!0),ue.off("pano.arrived",ne),ue.off("pano.cancel",ne)},K=this.modelScene.setModels(R,y);J=Promise.all(K.map(function(ee){return ee.initReady})).then(noop),ue.once("pano.arrived",ne),ue.once("pano.cancel",ne),setTimeout(ne,((b=v.duration)!==null&&b!==void 0?b:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,userAction:u,works:R})),J.then(function(){return s.ready()}).then(function(){var te;s.emit("works.ready",createEvent("works.ready",{input:e,userAction:u,works:R})),(te=s.analysis)===null||te===void 0||te.work(R)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var u=e.modelScene.parameter;u.pano0&&u.pano0.map.dispose(),u.pano1&&u.pano1.map!==((o=u.pano0)===null||o===void 0?void 0:o.map)&&u.pano1.map.dispose(),u.set({pano0:null,pano1:null,modelAlpha:1}),worksMap.set(e,emptyWorks),e.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0}),e.renderer&&e.modelScene.update(e.renderer,e.camera),e.needsRender=!0,e.currentMode="Panorama",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,u,s){var l=this;return r===void 0&&(r={}),u===void 0&&(u=!0),s===void 0&&(s=!1),new Promise(function(c,f){var p,d,h,m;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;l.controller&&(typeof o=="number"?A=o:A=(p=o==null?void 0:o.duration)!==null&&p!==void 0?p:l.modeChangeDuration);var g="fly";l.controller&&typeof o=="object"&&o.effect&&(g=o.effect);var b=typeof r.panoIndex=="number"?{workCode:(m=(d=r.workCode)!==null&&d!==void 0?d:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),f(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getObserver(b)){var v=new Error("PanoId ".concat(panoStringify(b)," not existed."));l.throwError(v),f(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&l.modelScene.empty&&(A=0);var y=l.controller,E=l.currentMode,_=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&s===!1&&E===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,b)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(b,__assign({duration:A},r),u):l.controller.updateCamera(r,A,u).catch(noop):(panoEqual(l.pano,b)||(l.pano=b),l.controller.updateCamera(r,A,u).catch(noop));else{var S=__assign(__assign({},r),b),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:g,userAction:u}},l.commonParams()),l.controllerInits[e]),w=Controllers[e].initAnimationEndState(R),I=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:w,userAction:u});if(l.emit("mode.change.request",I),!I.defaultPrevented){y&&y.destroy(),l.controller=l.applyController(e,R);var P=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:w,userAction:u});l.emit("mode.change",P)}}c()},T=AnimationFrameLoop.shared.getContext();T&&(typeof XRSession!="undefined"&&T instanceof XRSession&&T.end(),AnimationFrameLoop.shared.setContext(null)),e===t.Mode.VRPanorama?(l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return _()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.exitFullscreen(),l.throwError(R),f(R)})):e===t.Mode.XRPanorama?requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),s=!0,_()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.throwError(R),f(R)}):_()})},t.prototype.getPixels=function(e,r,o,u,s,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var f=now(),p=this.renderer.getPixelRatio(),d=this.renderer.getRenderTarget(),h=this.getSize(new THREE__namespace.Vector2),m=0,A=0,g=1,b=1,v,y,E,_,T;typeof e=="number"?(m=e,typeof r=="number"&&(A=r),typeof o=="number"&&(g=o),typeof u=="number"&&(b=u),v=s,y=l,T=c):(m=e.x,A=e.y,g=e.width,b=e.height,v=e.pixelRatio,y=e.flipY,E=e.helperVisible,_=e.skipPanorama,T=e.buffer),m=Math.floor(m),A=Math.floor(A),g=Math.floor(g),b=Math.floor(b),v=Math.floor(v!=null?v:p),y=y!=null?y:!1;var S=this.helperVisible,R=this.modelScene.parameter.modelAlpha;this.helperVisible=E!=null?E:this.helperVisible,_&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&_===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var w=this.getPixelsRenderTarget;w.setSize(g*v,b*v),this.renderer.setRenderTarget(w),this.camera.pixelRatio=v,this.camera.resolution.set(g,b),this.camera.setViewOffset(h.width,h.height,m,h.height-A-b,g,b),this.camera.aspect=h.width/h.height,this.camera.updateTime(f),this.scene.update(this.renderer,this.camera);var I=this.renderer.autoClear,P=this.renderer.autoClearColor,C=this.renderer.autoClearDepth,M=this.renderer.autoClearStencil,F=scratchClearColor.copy(this.renderer.getClearColor()),k=this.renderer.getClearAlpha(),O=this.renderer.getScissorTest();this.renderer.autoClear=!0,this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.autoClearStencil=!0,this.renderer.setScissorTest(!1);var N=this.scene.background;this.scene.background=this.camera.isOrthographicCamera?null:N,this.renderer.render(this.scene,this.camera),this.scene.background=N,this.renderer.autoClear=I,this.renderer.autoClearColor=P,this.renderer.autoClearDepth=C,this.renderer.autoClearStencil=M,this.renderer.setClearColor(F,k),this.renderer.setScissorTest(O),this.helperVisible=S,R===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",R),this.renderer.setRenderTarget(d),this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.camera.resolution.copy(h),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.camera.updateTime(f),this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var q=g*v,j=b*v,L=q*j,z=L*4;if(T){if(T.length!==z)throw new Error("buffer length is not equals pixels ".concat(z))}else T=new Uint8Array(z);if(this.renderer.readRenderTargetPixels(w,0,0,g*v,b*v,T),y)for(var V=L/2,U=0,J=0,K=0,ue=0;J<V;J++)for(ue=(j-Math.floor(J/q)-1)*q+J%q,K=0;K<4;K++)U=T[J*4+K],T[J*4+K]=T[ue*4+K],T[ue*4+K]=U;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},t.prototype.render=function(e){var r=this.renderer;if(r){var o=r.getRenderTarget();r.setRenderTarget(null);var u=r.autoClear,s=r.autoClearColor,l=r.autoClearDepth,c=r.autoClearStencil,f=scratchClearColor.copy(r.getClearColor()),p=r.getClearAlpha(),d=r.getViewport(scratchViewport),h=r.getScissor(scratchScissor),m=r.getScissorTest();r.autoClear=!0,r.autoClearColor=!0,r.autoClearDepth=!0,r.autoClearStencil=!0;var A=r.getSize(scratchRenderSize),g=Math.floor(A.x*this.viewport.left),b=Math.floor(A.y*this.viewport.bottom),v=Math.floor(A.x*this.viewport.width),y=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(g,b,v,y),r.setScissor(g,b,v,y);var E=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(E);var _=this.scene.background;this.scene.background=this.camera.isOrthographicCamera?null:_;var T=!0;if(this.controller){var S=this.controller.render();S&&(T=!1)}if(T){var R=this.fiveRenderer.render(r,this.scene,this.modelScene,this.camera,this.needsRender);this.poweredByRealsee&&R&&renderPoweredByRealsee(r)}this.scene.background=_,r.autoClear=u,r.autoClearColor=s,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(f,p),r.setViewport(d),r.setScissor(h),r.setScissorTest(m),r.setRenderTarget(o),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,u=this,s=[],l=2;l<arguments.length;l++)s[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:s},!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],s,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var c=this.modelScene.loaded,f=this.modelScene.refined;this.modelScene.update(this.renderer,this.camera),c===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){u.emit("models.load",createEvent("models.load",{modelScene:u.modelScene}))},!0,0,10)),f===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){u.emit("models.refined",createEvent("models.refined",{modelScene:u.modelScene}))},!0,0,10)}if(this.camera.autoNearFar){scratchBox3.makeEmpty(),scratchBox3.expandByObject(this.modelScene.boundingMesh);var p=scratchBox3.getBoundingSphere(scratchSphere),d=p.radius*2;p.containsPoint(this.camera.position)||(d=this.camera.position.distanceTo(p.center)+p.radius),d=clamp$1(d,800);var h=d/1e4;h=clamp$1(h,.03,.1),this.camera.near!==h&&(this.camera.near=h),this.camera.far!==d&&(this.camera.far=d),this.camera.updateTime(e)}if(this.renderer){var m=this.modelScene.visible;this.modelScene.visible=!1,this.scene.update(this.renderer,this.camera),this.modelScene.visible=m}if(this.syncingState=!1,this.controller&&this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.pbmGSRenderMesh&&this.pbmGSRenderMesh.needsRender===!0&&(this.pbmGSRenderMesh.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0),this.paused!==!0){var A=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",A),A.defaultPrevented&&(this.needsRender=!1);var g=this.needsRender;this.render(),this.needsRender=!1,this.emit("render",createEvent("render",{needsRender:g})),this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var u=this,s=u.controller,l=u.renderer;if(!s)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();typeof e=="number"&&this.pano.workCode&&(e={workCode:this.pano.workCode,panoIndex:e});var c=this.works.getObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var f={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in s&&typeof s.moveToPano=="function"?s.moveToPano(f,r,o):c&&(this.pano=f,this.once("initAnimation.start",function(p){r.moveStartCallback&&r.moveStartCallback(p.state)}),this.once("initAnimation.end",function(p){r.moveEndCallback&&r.moveEndCallback(p.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop);var u=this.works.getObserver(e);if(!u)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var s=["right","left","up","down","front","back"],l=now();return Promise.all(s.map(function(c){var f=panoStringify({panoIndex:u.panoIndex,workCode:u.work.workCode}),p=__assign({key:"pano.".concat(f,".").concat(c)},pick(o.imageOptions,["size","format","quality","forceUseExifOrientation","mappings"])),d=u.work.getURL(u.images[c]),h=o.imageOptions.transform?o.imageOptions.transform(d,p):imageURL(d,p);return getFetcher(o.fiveId,u.work).preload(h)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,u=e.clone().sub(o),s=new THREE__namespace.Raycaster(o,u.clone().normalize());s.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(s)[0];if(l&&l.distance+.01<u.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var f=this.renderer.getSize(new THREE__namespace.Vector2),p=f.x*this.viewport.width,d=f.y*this.viewport.height,h=f.x*this.viewport.left+(c.x+1)/2*p,m=f.y*(1-this.viewport.bottom-this.viewport.height)+(-c.y+1)/2*d;return new THREE__namespace.Vector2(h,m)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var u,s,l,c,f,p,d,h,m,A;r===void 0&&(r=!1),o===void 0&&(o=!0),e=pick(e,["mode","workCode","panoIndex","longitude","latitude","fov","offset","distance"]),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var g;if(typeof e.panoIndex=="number")if(e.workCode)g={workCode:e.workCode,panoIndex:e.panoIndex};else{var b=(s=(u=this.work)===null||u===void 0?void 0:u.workCode)!==null&&s!==void 0?s:"",v=this.state.workCode;this.works.filter(function(M){return M.workCode===v}).length>0&&(b=v),g={workCode:b,panoIndex:e.panoIndex}}var y=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,E,_,T,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var w={workCode:g==null?void 0:g.workCode,panoIndex:g==null?void 0:g.panoIndex};typeof e.longitude=="number"&&(w.longitude=e.longitude),typeof e.latitude=="number"&&(w.latitude=e.latitude),typeof e.fov=="number"&&(w.fov=e.fov),typeof e.distance=="number"&&(w.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(w.offset=e.offset);var I=__assign(__assign({initial:{state:w,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),P=Controllers[y].initAnimationEndState(I);E=P.longitude,_=P.latitude,T=P.fov,S=P.offset,R=P.distance}else E=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,_=(f=e.latitude)!==null&&f!==void 0?f:this.state.latitude,T=(p=e.fov)!==null&&p!==void 0?p:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var C={workCode:(g!=null?g:this.pano).workCode,panoIndex:(g!=null?g:this.pano).panoIndex,mode:y,longitude:E,latitude:_,fov:T,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:C})),stateEqual(this.state,C)||(this.controller&&C.mode==="VRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("VRPanorama")):this.controller&&C.mode==="XRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("XRPanorama")):(assignState(this.state,C),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var u=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var s={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,s,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var f=1,p=.2,d=.2,h=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,f),A=Math.abs(this.camera.pose.distance-this.state.distance),g=A>d*15?A/15:p,b=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,g),v=this.camera.pose.offset.distanceTo(this.state.offset),y=v>d*15?v/15:d,E=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),_=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),T=_.longitude,S=_.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(E,this.camera.pose.offset)||notSimilarValue(b,this.camera.pose.distance)||notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:E.x,y:E.y,z:E.z},w={fov:m};return Object.assign(R,{distance:b}),Object.assign(w,{longitude:T,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(w,0).catch(noop),this.controller.locationMotion.set(R,0).catch(noop),!0}}else{var I=1,P=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,I),C=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},P),T=C.longitude,S=C.latitude,b=this.state.distance,E=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(b,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(E,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:T,latitude:S,fov:m},0).catch(noop),!0}if(this.stateSynced=!0,u===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var M=this.currentMode,F=M===t.Mode.Floorplan||M===t.Mode.Topview||M===t.Mode.Mapview||M===t.Mode.Model;if(!F||this.modelScene.loaded){var k=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var O=0,N=k;O<N.length;O++){var q=N[O];this.controller instanceof Controllers.Panorama&&q.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(q):q()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var u;r.readyCallbacks.push(Object.assign(o,{tile:(u=e.tile)!==null&&u!==void 0?u:!1}))}).then(function(){return r.model.initReady}).then(noop)},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.bindModel=function(e){var r=this,o=function(){AnimationFrameLoop.shared.add(function(){r.emit("model.load",createEvent("model.load",{work:e.work,model:e,error:null}))},!0)},u=function(p){var d=p.error;r.emit("model.error",createEvent("model.error",{work:e.work,model:e,error:d})),r.throwError(d)},s=function(){r.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:e.work,model:e,error:null}))},l=function(p){r.emit("models.tileLoad",createEvent("model.tileLoad",{work:e.work,model:e,tile:p.tile}))},c=function(p){r.emit("models.tileUnload",createEvent("model.tileUnload",{work:e.work,model:e,tile:p.tile}))},f=function(){e.removeEventListener("load",o),e.removeEventListener("error",u),e.removeEventListener("changeShownFloor",s),e.removeEventListener("tileLoad",l),e.removeEventListener("tileUnload",c),e.removeEventListener("dispose",f)};e.addEventListener("load",o),e.addEventListener("error",u),e.addEventListener("changeShownFloor",s),e.addEventListener("tileLoad",l),e.addEventListener("tileUnload",c),e.addEventListener("dispose",f),this.emit("model.request",createEvent("model.request",{work:e.work,model:e,error:null}))},t.prototype.bindWorkFetcher=function(e){var r=this,o=e.workCode,u=e.allowHosts,s=new Fetcher({get networkSubscribe(){return r.networkSubscribe},requestProxy:function(l){return Promise.resolve(l).then(function(c){return r.requestProxy(c,o)}).then(function(c){var f=verifyURL(c,u);return f instanceof Error?Promise.reject(f):f})}});registerFetcher(this.fiveId,e,s)},t.prototype.commonParams=function(){return{fiveId:this.fiveId,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,camera:this.camera,renderer:this.renderer,viewport:this.viewport,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");var u=Controllers[e];this.currentMode=e;for(var s=new u(r),l=function(m){s.on(m,function(){for(var A=[],g=0;g<arguments.length;g++)A[g]=arguments[g];var b=o.emit.apply(o,__spreadArray([m],A,!1));if(b)return!1})},c=0,f=PROXY_CONTROLLER_EVENT_NAMES;c<f.length;c++){var p=f[c];l(p)}{var d=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,d)||(assignState(this.state,d),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return s.on("camera.update",function(m){var A;if(o.controller){var g=o.controller.getTargetState();m.userAction&&o.syncingState===!1&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:m.userAction,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:m.userAction,state:o.getCurrentState()}))}),s.on("initAnimation.start",function(m){var A,g=m.state,b=m.userAction;b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("initAnimation.end",function(m){var A,g=m.state,b=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.moveTo",function(m){var A,g=m.state,b=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.arrived",function(m){var A,g=m.state,b=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.cancel",function(m){var A,g=m.state,b=m.userAction;b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.moveTo",function(m){var A=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),s.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),s.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),s.on("error",function(m){return o.throwError(m)}),s},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scissor",{get:function(){return this.viewport},enumerable:!1,configurable:!0}),t.prototype.setScissor=function(e){return this.setViewport(e)},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,u=e.fov,s=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:u,offset:s.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;r.matrix.copy(e.matrix).premultiply(e.work.transform),r.matrix.decompose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1;var o=new THREE__namespace.Vector3(0,0,-1);o.applyQuaternion(this.camera.quaternion);var u=r.quaternion.clone().inverse();o.applyQuaternion(u);var s=Math.atan2(o.x,-o.z),l=-Math.asin(o.y);return{theta:s,phi:l,lookAtVector:o}}}return null},t.prototype.addPass=function(e){this.fiveRenderer.composer.addPass(e)},t.prototype.removePass=function(e){var r=this.fiveRenderer.composer.passes.indexOf(e);r!==-1&&this.fiveRenderer.composer.passes.splice(r,1)},t.prototype.insertPass=function(e,r){this.fiveRenderer.composer.insertPass(e,r)},Object.defineProperty(t.prototype,"renderMode",{get:function(){return this.fiveRenderer.renderMode},set:function(e){this.fiveRenderer.renderMode=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.fiveRenderer.renderMode==="point-cloud-high-quality"},set:function(e){this.fiveRenderer.renderMode=e?"point-cloud-high-quality":"default",this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.eyeDomeLightingPass.enabled},set:function(e){this.eyeDomeLightingPass.enabled=e,this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableAdaptiveLuminance",{get:function(){return this.adaptiveLuminancePass.enabled},set:function(e){this.adaptiveLuminancePass.enabled=e,this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!0},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"modelSceneNeedsRender",{get:function(){return this.modelScene.needsRender},set:function(e){this.modelScene.needsRender=e},enumerable:!1,configurable:!0}),t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t})(Subscribe);if(typeof window!="undefined"){var __FIVE_DEBUG__={THREE:THREE__namespace,constructor:Five,instances:Five_Instances};Object.assign(window,{__FIVE_DEBUG__})}var XRButton=(function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function u(){o(),e.textContent="VR NOT SUPPORTED"}function s(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",s(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():u()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",s(l),l},n})();exports.AdaptiveLuminancePass=AdaptiveLuminancePass;exports.AnimationFrameLoop=AnimationFrameLoop;exports.BoundingMesh=BoundingMesh$1;exports.Camera=Camera;exports.CustomShader=PBMCustomShader;exports.EffectComposer=EffectComposer;exports.EyeDomeLightingPass=EyeDomeLightingPass;exports.Fetcher=Fetcher;exports.Five=Five;exports.FivePass=FivePass;exports.FiveRenderer=FiveRenderer;exports.FullScreenQuad=FullScreenQuad;exports.InternalWebGLRenderer=InternalWebGLRenderer;exports.Model=Model;exports.ModelScene=ModelScene;exports.Motion=Motion;exports.NetworkSubscribe=NetworkSubscribe;exports.PBMContainer=PBMContainer;exports.PBMCustomShader=PBMCustomShader;exports.PBMGSObject=PBMGSObject;exports.PBMGroup=PBMGroup;exports.PBMMesh=PBMMesh;exports.PBMMeshMaterial=PBMMeshMaterial;exports.PBMPointCloud=PBMPointCloud;exports.PBMPointCloudMaterial=PBMPointCloudMaterial;exports.PBMSkinnedMesh=PBMSkinnedMesh;exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES;exports.PanoCircleMesh=PanoCircleMesh;exports.PanoCircleMeshCustom=PanoCircleMeshCustom;exports.PanoCircleMeshSolid=PanoCircleMeshSolid;exports.Parameter=Parameter;exports.Scene=Scene;exports.Subscribe=Subscribe;exports.TextureLoader=TextureLoader;exports.Tile=Tile;exports.Tile3D=Tile3D;exports.Tile3DModel=Tile3D;exports.TileCache=TileCache;exports.TileNode=TileNode;exports.TileRequestScheduler=TileRequestScheduler;exports.Tileset=Tileset;exports.Trajectory=Trajectory;exports.TrajectoryNode=TrajectoryNode;exports.Work=Work;exports.WorkResolvedObserver=WorkResolvedObserver;exports.XRButton=XRButton;exports.controllersDefaultInitArgs=controllersDefaultInitArgs;exports.coordinatesToVector=coordinatesToVector;exports.createDebugBoundingMesh=createDebugBoundingMesh;exports.createWorks=createWorks;exports.defaultImageURLTransform=imageURL;exports.draco=draco;exports.getViewportScale=getViewportScale;exports.headingToLongitude=headingToLongitude;exports.imageSupport=imageSupport;exports.isBoundingVolume=isBoundingVolume;exports.isPanoId=isPanoId;exports.ktx2=ktx2;exports.loadAt3d=loadAt3d;exports.loadB3dm=loadB3dm;exports.loadDome=loadDome;exports.loadDomez=loadDomez;exports.loadFbx=loadFbx;exports.loadGltf=loadGltf;exports.loadPbm=loadPbm;exports.loadPly=loadPly;exports.loadPnts=loadPnts;exports.loadSplat=loadSplat;exports.loadSpz=loadSpz;exports.loadX3p=loadX3p;exports.longitudeToHeading=longitudeToHeading;exports.makeBoundingVolume=makeBoundingVolume;exports.panoEqual=panoEqual;exports.panoParse=panoParse;exports.panoStringify=panoStringify;exports.parseWork=parseWork;exports.vectorToCoordinates=vectorToCoordinates;exports.workToJson=workToJson;
2863
+ ----<<-计算从-}yn-中心到当前片段的平方距离----<<-由于-]|vv|{-已经按-\05E6-缩放,平方结果会被缩放-E-倍----<<-如果平方结果大于-E,说明在椭圆外,距离均值超过-\05E6-个标准差----sy|n-N-J-q|5]|vv|{9-]|vv|{6H----vs-5N-K-E;=6-qvpnqH--------rp@-p|y|-J-P|y|;toH--------<<-由于渲染的-}yn-按-\05E6-缩放,高斯公式中的逆协方差矩阵部分变成单位矩阵----<<-因此只剩下-5e-:-zrn{6-7-5e-:-zrn{6,而-zrn{-为零,所以是-e-7-e,即-N----sy|n-|}npv\b-J-r\x07}5:=;B-7-N6-7-P|y|;nH--------tylSntP|y|-J-rpA5p|y|;to9-|}npv\b6H\f`);var PBMGSRenderMesh=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;e.renderData=null,e.needsRender=!1,e.sortWorker=null,e.depthIndex=new Uint32Array,e.splatIndexCapacity=0,e.dataTexture=null,e.transformsTexture=null,e.transformIndicesTexture=null,e.shTexture=null,e.usedSHDegree=0,e.onBeforeRender=function(u,s,l){var c,f,p=l,d=e.collectObjects(s);if(d.length===0){e.geometry.instanceCount=0;return}var h=0;if(d.forEach(function(y){y.usedSHDegree>h&&(h=y.usedSHDegree)}),e.setMaxShDegree(h),e.isSceneNeedsRebuild(d)&&(e.renderData&&e.renderData.dispose(),e.shTexture&&(e.shTexture.dispose(),e.shTexture=null),e.renderData=new RenderData(d),e.createTextures(),e.ensureSplatIndexCapacity(e.renderData.numPoints)),!!e.renderData){if(d.forEach(function(y){y.transformChanged&&e.renderData.updateTransform(y)}),e.renderData.dataChanged||e.renderData.transformsChanged){var m=new Float32Array(e.renderData.positions.slice().buffer),A=new Float32Array(e.renderData.transforms.slice().buffer),g=new Uint32Array(e.renderData.transformIndices.slice().buffer);(c=e.sortWorker)===null||c===void 0||c.postMessage({sortData:{positions:m,transforms:A,transformIndices:g,vertexCount:e.renderData.numPoints}},[m.buffer,A.buffer,g.buffer])}e.renderData.dataChanged&&e.dataTexture&&(e.dataTexture.needsUpdate=!0,e.renderData.dataChanged=!1),e.renderData.transformsChanged&&e.transformsTexture&&e.transformIndicesTexture&&(e.transformsTexture.needsUpdate=!0,e.transformIndicesTexture.needsUpdate=!0,e.renderData.transformsChanged=!1);var b=Math.min(e.usedSHDegree,e.renderData.maxShDegree);e.material.uniforms.u_maxShDegree.value=b,b>0&&!e.shTexture?e.createSHTexture():b===0&&e.shTexture&&(e.shTexture.dispose(),e.shTexture=null,e.material.uniforms.u_shTexture.value=null);var v=new THREE__namespace.Matrix4().multiplyMatrices(p.perspectiveProjectionMatrix,p.matrixWorldInverse);(f=e.sortWorker)===null||f===void 0||f.postMessage({viewProj:v.elements}),e.material.uniforms.resolution.value.set(p.resolution.x,p.resolution.y)}};var r=e.createGeometry(),o=e.createMaterial();return e.geometry=r,e.material=o,e.frustumCulled=!1,e.renderOrder=-99999999999,e.gsSceneState={lastObjectsHash:""},e.sortWorker=new WorkerWrapper,e.sortWorker.onmessage=function(u){if(u.data.depthIndex){e.depthIndex=u.data.depthIndex;var s=e.depthIndex.length,l=e.ensureSplatIndexCapacity(s),c=l.array;c.set(e.depthIndex,0),l.count=e.depthIndex.length,l.updateRange.offset=0,l.updateRange.count=s,l.needsUpdate=!0,e.geometry.instanceCount=e.depthIndex.length,e.needsRender=!0}},e}return t.prototype.ensureSplatIndexCapacity=function(e){var r=this.geometry.getAttribute("splatIndex");if(e<=this.splatIndexCapacity)return r;var o=this.getExpandedCapacity(e),u=r.array,s=new Int32Array(o);s.set(u.subarray(0,Math.min(u.length,o)));var l=new THREE__namespace.InstancedBufferAttribute(s,1,!1,1);return l.setUsage(THREE__namespace.DynamicDrawUsage),this.geometry.setAttribute("splatIndex",l),this.splatIndexCapacity=o,this.geometry._maxInstanceCount=o,l},t.prototype.getExpandedCapacity=function(e){for(var r=Math.max(this.splatIndexCapacity,1);r<e;)r*=2;return r},t.prototype.createGeometry=function(){var e=new THREE__namespace.InstancedBufferGeometry,r=new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0]);e.setAttribute("position",new THREE__namespace.BufferAttribute(r,3));var o=new Uint16Array([0,1,2,0,2,3]);e.setIndex(new THREE__namespace.BufferAttribute(o,1)),this.splatIndexCapacity=1;for(var u=new Int32Array(this.splatIndexCapacity),s=0;s<u.length;s++)u[s]=s;var l=new THREE__namespace.InstancedBufferAttribute(u,1,!1,1);return l.setUsage(THREE__namespace.DynamicDrawUsage),e.setAttribute("splatIndex",l),e._maxInstanceCount=this.splatIndexCapacity,e.instanceCount=0,e},t.prototype.createMaterial=function(){var e=new THREE__namespace.ShaderMaterial({vertexShader,fragmentShader,uniforms:{u_texture:{value:null},u_transforms:{value:null},u_transformIndices:{value:null},u_shTexture:{value:null},u_shTextureSize:{value:new THREE__namespace.Vector2},u_maxShDegree:{value:0},resolution:{value:new THREE__namespace.Vector2}},side:THREE__namespace.DoubleSide,transparent:!0,blending:THREE__namespace.NormalBlending,depthTest:!0,depthWrite:!1});return e},t.prototype.createTextures=function(){this.renderData&&(this.dataTexture=new THREE__namespace.DataTexture(this.renderData.data,this.renderData.width,this.renderData.height,THREE__namespace.RGBAIntegerFormat,THREE__namespace.UnsignedIntType),this.dataTexture.internalFormat="RGBA32UI",this.dataTexture.minFilter=THREE__namespace.NearestFilter,this.dataTexture.magFilter=THREE__namespace.NearestFilter,this.dataTexture.needsUpdate=!0,this.transformsTexture=new THREE__namespace.DataTexture(this.renderData.transforms,this.renderData.transformsWidth,this.renderData.transformsHeight,THREE__namespace.RGBAFormat,THREE__namespace.FloatType),this.transformsTexture.internalFormat="RGBA32F",this.transformsTexture.minFilter=THREE__namespace.NearestFilter,this.transformsTexture.magFilter=THREE__namespace.NearestFilter,this.transformsTexture.needsUpdate=!0,this.transformIndicesTexture=new THREE__namespace.DataTexture(this.renderData.transformIndices,this.renderData.transformIndicesWidth,this.renderData.transformIndicesHeight,THREE__namespace.RedIntegerFormat,THREE__namespace.UnsignedIntType),this.transformIndicesTexture.internalFormat="R32UI",this.transformIndicesTexture.minFilter=THREE__namespace.NearestFilter,this.transformIndicesTexture.magFilter=THREE__namespace.NearestFilter,this.transformIndicesTexture.needsUpdate=!0,this.material.uniforms.u_texture.value=this.dataTexture,this.material.uniforms.u_transforms.value=this.transformsTexture,this.material.uniforms.u_transformIndices.value=this.transformIndicesTexture,this.usedSHDegree>0&&this.renderData.maxShDegree>0&&this.createSHTexture())},t.prototype.createSHTexture=function(){if(this.renderData){this.shTexture&&(this.shTexture.dispose(),this.shTexture=null);var e=Math.min(this.usedSHDegree,this.renderData.maxShDegree),r=0;if(e>=1&&(r+=9),e>=2&&(r+=15),e>=3&&(r+=21),r!==0){var o=4,u=r;u%o!==0&&(u=Math.ceil(u/o)*o);for(var s=this.renderData.numPoints*u/o,l=2048,c=Math.ceil(s/l),f=new Float32Array(l*c*o),p=0;p<this.renderData.numPoints;p++){var d=p*(u/o),h=0;if(this.renderData.sh1&&e>=1)for(var m=0;m<9;m++){var A=d+Math.floor(h/o),g=h%o,b=A*o+g;f[b]=this.renderData.sh1[p*9+m],h++}if(this.renderData.sh2&&e>=2)for(var m=0;m<15;m++){var A=d+Math.floor(h/o),g=h%o,b=A*o+g;f[b]=this.renderData.sh2[p*15+m],h++}if(this.renderData.sh3&&e>=3)for(var m=0;m<21;m++){var A=d+Math.floor(h/o),g=h%o,b=A*o+g;f[b]=this.renderData.sh3[p*21+m],h++}}this.shTexture=new THREE__namespace.DataTexture(f,l,c,THREE__namespace.RGBAFormat,THREE__namespace.FloatType),this.shTexture.internalFormat="RGBA32F",this.shTexture.minFilter=THREE__namespace.NearestFilter,this.shTexture.magFilter=THREE__namespace.NearestFilter,this.shTexture.needsUpdate=!0,this.material.uniforms.u_shTexture.value=this.shTexture,this.material.uniforms.u_shTextureSize.value.set(l,c),this.material.uniforms.u_maxShDegree.value=e}}},t.prototype.setMaxShDegree=function(e){if(e<0||e>2){console.warn("现在只支持012三种阶数,你输入的是".concat(e));return}var r=this.usedSHDegree;this.usedSHDegree=e,r!==e&&(this.shTexture&&(this.shTexture.dispose(),this.shTexture=null),this.material.uniforms.u_maxShDegree.value=e,e===0?this.material.uniforms.u_shTexture.value=null:this.renderData&&this.renderData.maxShDegree>0&&this.createSHTexture())},t.prototype.collectObjects=function(e){var r=[];return e.traverse(function(o){o instanceof PBMGSObject&&o.visible&&r.push(o)}),r},t.prototype.isSceneNeedsRebuild=function(e){var r=e.reduce(function(u,s){return u+s.uuid},""),o=r!==this.gsSceneState.lastObjectsHash;return this.gsSceneState.lastObjectsHash=r,o},t.prototype.dispose=function(){this.renderData&&this.renderData.dispose(),this.sortWorker&&this.sortWorker.terminate(),this.dataTexture&&this.dataTexture.dispose(),this.transformsTexture&&this.transformsTexture.dispose(),this.transformIndicesTexture&&this.transformIndicesTexture.dispose(),this.shTexture&&this.shTexture.dispose(),this.geometry.dispose(),this.material.dispose()},t})(THREE__namespace.Mesh),DEFAULT_MODE_CHANGE_DURATION=1e3,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/")},scratchSphere=new THREE__namespace.Sphere,scratchBox3=new THREE__namespace.Box3,scratchViewport=new THREE__namespace.Vector4,scratchScissor=new THREE__namespace.Vector4,scratchClearColor=new THREE__namespace.Color,scratchRenderSize=new THREE__namespace.Vector2,worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five_Instances={},Five=(function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,u,s,l,c,f,p,d,h,m,A=n.call(this)||this;if(A.pbmGSRenderMesh=null,A.fiveId=createUuid$1(),Five_Instances[A.fiveId]=A,A.currentUpdateArgs={time:now(),args:[]},A.currentMode="Panorama",A.pano={workCode:"",panoIndex:0},A.needsRender=!1,A.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,A.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),A.textureOptions=__assign({},(u=e.textureOptions)!==null&&u!==void 0?u:{}),A.poweredByRealsee=(s=e.poweredByRealsee)!==null&&s!==void 0?s:!0,A.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),A.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,A.extraElements=[],A.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)},A.fps={testCount:0,testTime:now()},A.modeChangeDuration=(f=e.modeChangeDuration)!==null&&f!==void 0?f:DEFAULT_MODE_CHANGE_DURATION,A.enableWheel=(p=e.enableWheel)!==null&&p!==void 0?p:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&A.throwError(new Error("cannot render a internal renderer")),A.renderer=e.renderer;else try{A.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var g=getViewportScale();A.renderer.setPixelRatio(g===1?window.devicePixelRatio:1),A.renderer.setSize(512,512),A.renderer.setClearColor(A.backgroundColor,A.backgroundAlpha)}catch(M){var b=M instanceof Error?M:new Error(String(M));A.throwError(b)}A.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(d=A.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),A.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),A.camera=new Camera(DEFAULT_CAMERA_FOV),A.scene=new Scene,A.xrCustomObjectsScene=new THREE__namespace.Scene,A.scene.add(A.xrCustomObjectsScene),A.scene.matrixAutoUpdate=!1,A.loadWorkTask=Promise.resolve(),A.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,A.networkSubscribe=new NetworkSubscribe,A.networkSubscribe.on("network",function(M,F,k,O){var N;A.emit("network.resource",createEvent("network.resource",{source:M,requestType:F,requestState:k,detail:O})),(N=A.analysis)===null||N===void 0||N.network(A.works,M,F,k,O)}),A.readyCallbacks=[],A.syncingState=!1,A.helperGroup=new THREE__namespace.Group,A.helperGroup.name="helper",A.helperGroup.matrixAutoUpdate=!1,A.scene.add(A.helperGroup),worksMap.set(A,emptyWorks),A.modelScene=new ModelScene({fiveId:A.fiveId}),A.modelScene.addEventListener("model.create",function(M){A.bindModel(M.model)}),A.scene.add(A.modelScene);var v=A.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0})[0];defineProperty(v,"loaded",{get:function(){return!1},set:function(M){}}),A.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var y=initLights();A.scene.add(y),A.state={mode:A.currentMode,workCode:A.pano.workCode,panoIndex:A.pano.panoIndex,longitude:A.camera.pose.longitude,latitude:A.camera.pose.latitude,fov:A.camera.pose.fov,offset:A.camera.pose.offset.clone(),distance:A.camera.pose.distance},A.stateSynced=!1,A.destroyed=!1,A.paused=!0,typeof window!="undefined"&&(e.play!==!1&&A.play(),A.stopAnimationLoop=AnimationFrameLoop.shared.add(function(M,F){for(var k=[],O=2;O<arguments.length;O++)k[O-2]=arguments[O];A.updateTime.apply(A,__spreadArray([M,F],k,!1))},!1,0,10));var E=function(){typeof document!="undefined"&&document.fullscreenElement===null&&A.currentMode==="VRPanorama"&&A.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},_=function(){A.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",E,!1),A.renderer&&A.renderer.domElement.addEventListener("webglcontextrestored",_,!1),A.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",E,!1),A.renderer&&A.renderer.domElement.removeEventListener("webglcontextrestored",_,!1)},A.plugins={},e.plugins&&e.plugins.length)for(var T=0,S=e.plugins;T<S.length;T++){var R=S[T];if(typeof R=="function")R(A);else if(Array.isArray(R)){var w=R[0],I=R[1],P=R[2];if(typeof w=="function"){var C=w(A,P);typeof I=="string"&&(A.plugins[I]?A.throwError(new Error("plugin name ".concat(I," is exists."))):A.plugins[I]=C)}}}return initLegacyEvent(A),A.fiveRenderer=new FiveRenderer,A.adaptiveLuminancePass=new AdaptiveLuminancePass,A.adaptiveLuminancePass.enabled=!1,A.fiveRenderer.composer.addPass(A.adaptiveLuminancePass),A.eyeDomeLightingPass=new EyeDomeLightingPass(A.camera),A.eyeDomeLightingPass.enabled=!1,A.fiveRenderer.composer.addPass(A.eyeDomeLightingPass),e.webgl2?(A.pbmGSRenderMesh=new PBMGSRenderMesh,A.scene.add(A.pbmGSRenderMesh)):console.warn("未开启webgl2,3dgs功能不可用"),A}return Object.defineProperty(t,"version",{get:function(){return"6.8.0-alpha.11"},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,"useNativeImageBitmap",{get:function(){return canUseNativeImageBitmap()},set:function(e){useNativeImageBitmap(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ident",{get:function(){return this.fiveId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e;if(this.destroyed!==!0){delete Five_Instances[this.fiveId],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),this.stopAnimationLoop=void 0),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var r=this.getElement();r&&r.parentNode&&r.parentNode.removeChild(r);var o=this.modelScene.parameter;o.pano0&&o.pano0.map.dispose(),o.pano1&&o.pano1.map!==((e=o.pano0)===null||e===void 0?void 0:e.map)&&o.pano1.map.dispose(),o.reset("pano0","pano1"),this.modelScene.dispose(),this.scene.dispose(),this.xrCustomObjectsScene.dispose(),worksMap.set(this,emptyWorks),this.renderer&&this.renderer.render(new THREE__namespace.Scene,new THREE__namespace.Camera),this.fiveRenderer.dispose(),this.renderer instanceof InternalWebGLRenderer&&(this.renderer.forceContextLoss&&this.renderer.forceContextLoss(),this.renderer.dispose())}},t.prototype.setViewport=function(e){Object.assign(this.viewport,e),this.needsRender=!0},Object.defineProperty(t.prototype,"boundingMesh",{get:function(){return this.modelScene.boundingMesh},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1,u=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(u=!0,o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);(!s||u)&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var u=window.getComputedStyle(e).position;u!=="relative"&&u!=="absolute"&&u!=="fixed"&&u!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,u,s;if(e===void 0&&(e={}),!!this.renderer){var l=this.renderer.domElement,c=l.parentNode,f=e.width,p=f===void 0?(o=c==null?void 0:c.offsetWidth)!==null&&o!==void 0?o:512:f,d=e.height,h=d===void 0?(u=c==null?void 0:c.offsetHeight)!==null&&u!==void 0?u:512:d;if(p=Math.max(1,p),h=Math.max(1,h),!r){var m=getViewportScale(),A=typeof window!="undefined"?window.devicePixelRatio:1;if(r=(s=m===1?A:1)!==null&&s!==void 0?s:1,r>1){var g=Math.max(p,h)*r,b=Math.min(this.renderer.capabilities.maxTextureSize,4096);g>b&&(r=Math.max(r/g*b,1),r=Math.floor(r*100)/100)}}this.renderer.setPixelRatio(r),this.renderer.setSize(p,h),this.needsRender=!0;var v=now(),y=v-this.currentUpdateArgs.time,E=this.currentUpdateArgs.args;this.updateTime.apply(this,__spreadArray([v,y],E,!1))}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);return e||emptyWorks},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"observers",{get:function(){return this.work.observers},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,u){var s=this;if(u===void 0&&(u=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return s.load_(c,r,o,u)}):s.load_(e,r,o,u)});return this.loadWorkTask=l.catch(function(c){s.throwError(c)}),l},t.prototype.load_=function(e,r,o,u){var s=this,l,c,f,p,d,h,m,A,g,b;u===void 0&&(u=!0);var v={};typeof o=="number"?v.duration=o:typeof o=="object"&&Object.assign(v,o),this.works===emptyWorks&&(v.duration===void 0&&(v.duration=0),v.effect===void 0&&(v.effect="instant"));var y={};Object.assign(y,v.model),!y["3d-tiles"]&&v["3d-tiles"]&&(y["3d-tiles"]=v["3d-tiles"]),!y.textureOptions&&v.textureOptions&&(y.textureOptions=v.textureOptions),!y.textureOptions&&this.textureOptions&&(y.textureOptions=this.textureOptions);var E=[];if(Array.isArray(e))for(var _=0,T=e;_<T.length;_++){var S=T[_];S instanceof Work?E.push(S):typeof S!="string"&&"work"in S?E.push(parseWork(S.work,S)):E.push(parseWork(S))}else e instanceof Work?E.push(e):E.push(parseWork(e));v.mode==="add"&&(E=[].concat(this.works,E));var R;try{R=createWorks(E)}catch(te){return this.throwError(te),Promise.reject(te)}for(var w=0,I=R;w<I.length;w++){var P=I[w];this.bindWorkFetcher(P)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var C=this.currentMode,M=R.initial,F=M.work.observers[0],k=F?{workCode:F.work.workCode,panoIndex:F.panoIndex}:{workCode:M.work.workCode,panoIndex:0},O=(l=M.mode)!==null&&l!==void 0?l:F?"Panorama":"Mapview",N={};if(r==="inherit"){var q=this.getCurrentState(),j=R.filter(function(te){return te.workCode===q.workCode})[0];if(j)k={workCode:q.workCode,panoIndex:q.panoIndex},O=q.mode,N={longitude:q.latitude,latitude:q.latitude,fov:q.fov,distance:q.distance,offset:q.offset.clone()};else{r={mode:C};var L=(f=(c=R[0])===null||c===void 0?void 0:c.observers)===null||f===void 0?void 0:f[this.panoIndex];L?(r.workCode=L.work.workCode,r.panoIndex=L.panoIndex):typeof R.initial.panoIndex=="number"?(r.workCode=R.initial.work.workCode,r.panoIndex=R.initial.panoIndex):(r.mode==="Panorama"||r.mode==="VRPanorama"||r.mode==="XRPanorama")&&(r.mode="Mapview"),r.mode===C&&(r.longitude=this.camera.pose.longitude,r.latitude=this.camera.pose.latitude,r.fov=this.camera.pose.fov)}}if(r==="initial"&&(typeof M.panoIndex=="number"&&(k={workCode:M.work.workCode,panoIndex:M.panoIndex}),M.mode&&(O=M.mode),N={longitude:M.longitude,latitude:M.latitude,fov:M.fov,distance:M.distance,offset:(p=M.offset)===null||p===void 0?void 0:p.clone()}),typeof r=="object"){if(O=(d=r.mode)!==null&&d!==void 0?d:C,typeof r.panoIndex=="number"){var L=R.getObserver({workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:M.work.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex});L&&(k={workCode:L.work.workCode,panoIndex:L.panoIndex})}N={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset?new THREE__namespace.Vector3().copy(r.offset):void 0}}var z=(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration;(O==="Floorplan"||O==="Topview"||O==="Mapview")&&C===O&&(z=0);var V="fly";(O==="Panorama"||O==="VRPanorama"||O==="XRPanorama")&&C===O&&(V=(g=v.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:R,userAction:u}));var U=function(te,ee,se){var W=s.getCurrentState(),Q=__assign(__assign({mode:te},ee),se);r==="inherit"&&(Q=s.getCurrentState()),s.pano=ee;var X=__assign(__assign({initial:{state:Q,currentState:W,duration:z,effect:V,userAction:u}},s.commonParams()),s.controllerInits[te]),$=Controllers[Q.mode].initAnimationEndState(X);if(s.controller&&C===te)s.controller.updateWork(R,$,{effect:V,duration:z},u)===!1&&(s.controller.destroy(),s.controller=s.applyController(te,X));else{if(s.controller)s.controller.destroy();else{var ie=Controllers[te].initAnimationEndState(X);s.camera.setFromPose(ie),s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:u}))}s.controller=s.applyController(te,X);var de=createEvent("mode.change",{prevMode:C,mode:te,state:$,userAction:u});try{s.emit("mode.change",de)}catch(oe){console.error(oe)}}s.updateTime.apply(s,__spreadArray([s.currentUpdateArgs.time,0],s.currentUpdateArgs.args,!1))};worksMap.set(this,R);var J=Promise.resolve();if(O===t.Mode.Floorplan||O===t.Mode.Topview||O===t.Mode.Mapview||O===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(N),assignPose(this.state,this.camera.pose));var K=this.modelScene.setModels(R,y);J=Promise.all(K.map(function(te){return te.loadedReady})).then(function(){s.needsRender=!0,U(O,k,N),s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:u}))})}else{U(O,k,N);var ue=this.controller,ae=!1;this.modelScene.autoRefine=!1;var ne=function(){s.works===R&&ae===!1&&(s.needsRender=!0,s.emit("camera.update",createEvent("camera.update",{state:s.getCurrentState(),userAction:u})),ae=!0,s.modelScene.autoRefine=!0),ue.off("pano.arrived",ne),ue.off("pano.cancel",ne)},K=this.modelScene.setModels(R,y);J=Promise.all(K.map(function(ee){return ee.initReady})).then(noop),ue.once("pano.arrived",ne),ue.once("pano.cancel",ne),setTimeout(ne,((b=v.duration)!==null&&b!==void 0?b:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,userAction:u,works:R})),J.then(function(){return s.ready()}).then(function(){var te;s.emit("works.ready",createEvent("works.ready",{input:e,userAction:u,works:R})),(te=s.analysis)===null||te===void 0||te.work(R)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var u=e.modelScene.parameter;u.pano0&&u.pano0.map.dispose(),u.pano1&&u.pano1.map!==((o=u.pano0)===null||o===void 0?void 0:o.map)&&u.pano1.map.dispose(),u.set({pano0:null,pano1:null,modelAlpha:1}),worksMap.set(e,emptyWorks),e.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0}),e.renderer&&e.modelScene.update(e.renderer,e.camera),e.needsRender=!0,e.currentMode="Panorama",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,u,s){var l=this;return r===void 0&&(r={}),u===void 0&&(u=!0),s===void 0&&(s=!1),new Promise(function(c,f){var p,d,h,m;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;l.controller&&(typeof o=="number"?A=o:A=(p=o==null?void 0:o.duration)!==null&&p!==void 0?p:l.modeChangeDuration);var g="fly";l.controller&&typeof o=="object"&&o.effect&&(g=o.effect);var b=typeof r.panoIndex=="number"?{workCode:(m=(d=r.workCode)!==null&&d!==void 0?d:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),f(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getObserver(b)){var v=new Error("PanoId ".concat(panoStringify(b)," not existed."));l.throwError(v),f(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&l.modelScene.empty&&(A=0);var y=l.controller,E=l.currentMode,_=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&s===!1&&E===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,b)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(b,__assign({duration:A},r),u):l.controller.updateCamera(r,A,u).catch(noop):(panoEqual(l.pano,b)||(l.pano=b),l.controller.updateCamera(r,A,u).catch(noop));else{var S=__assign(__assign({},r),b),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:g,userAction:u}},l.commonParams()),l.controllerInits[e]),w=Controllers[e].initAnimationEndState(R),I=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:w,userAction:u});if(l.emit("mode.change.request",I),!I.defaultPrevented){y&&y.destroy(),l.controller=l.applyController(e,R);var P=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:w,userAction:u});l.emit("mode.change",P)}}c()},T=AnimationFrameLoop.shared.getContext();T&&(typeof XRSession!="undefined"&&T instanceof XRSession&&T.end(),AnimationFrameLoop.shared.setContext(null)),e===t.Mode.VRPanorama?(l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return _()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.exitFullscreen(),l.throwError(R),f(R)})):e===t.Mode.XRPanorama?requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),s=!0,_()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.throwError(R),f(R)}):_()})},t.prototype.getPixels=function(e,r,o,u,s,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var f=now(),p=this.renderer.getPixelRatio(),d=this.renderer.getRenderTarget(),h=this.getSize(new THREE__namespace.Vector2),m=0,A=0,g=1,b=1,v,y,E,_,T;typeof e=="number"?(m=e,typeof r=="number"&&(A=r),typeof o=="number"&&(g=o),typeof u=="number"&&(b=u),v=s,y=l,T=c):(m=e.x,A=e.y,g=e.width,b=e.height,v=e.pixelRatio,y=e.flipY,E=e.helperVisible,_=e.skipPanorama,T=e.buffer),m=Math.floor(m),A=Math.floor(A),g=Math.floor(g),b=Math.floor(b),v=Math.floor(v!=null?v:p),y=y!=null?y:!1;var S=this.helperVisible,R=this.modelScene.parameter.modelAlpha;this.helperVisible=E!=null?E:this.helperVisible,_&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&_===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var w=this.getPixelsRenderTarget;w.setSize(g*v,b*v),this.renderer.setRenderTarget(w),this.camera.pixelRatio=v,this.camera.resolution.set(g,b),this.camera.setViewOffset(h.width,h.height,m,h.height-A-b,g,b),this.camera.aspect=h.width/h.height,this.camera.updateTime(f),this.scene.update(this.renderer,this.camera);var I=this.renderer.autoClear,P=this.renderer.autoClearColor,C=this.renderer.autoClearDepth,M=this.renderer.autoClearStencil,F=scratchClearColor.copy(this.renderer.getClearColor()),k=this.renderer.getClearAlpha(),O=this.renderer.getScissorTest();this.renderer.autoClear=!0,this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0,this.renderer.autoClearStencil=!0,this.renderer.setScissorTest(!1);var N=this.scene.background;this.scene.background=this.camera.isOrthographicCamera?null:N,this.renderer.render(this.scene,this.camera),this.scene.background=N,this.renderer.autoClear=I,this.renderer.autoClearColor=P,this.renderer.autoClearDepth=C,this.renderer.autoClearStencil=M,this.renderer.setClearColor(F,k),this.renderer.setScissorTest(O),this.helperVisible=S,R===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",R),this.renderer.setRenderTarget(d),this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.camera.resolution.copy(h),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.camera.updateTime(f),this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var q=g*v,j=b*v,L=q*j,z=L*4;if(T){if(T.length!==z)throw new Error("buffer length is not equals pixels ".concat(z))}else T=new Uint8Array(z);if(this.renderer.readRenderTargetPixels(w,0,0,g*v,b*v,T),y)for(var V=L/2,U=0,J=0,K=0,ue=0;J<V;J++)for(ue=(j-Math.floor(J/q)-1)*q+J%q,K=0;K<4;K++)U=T[J*4+K],T[J*4+K]=T[ue*4+K],T[ue*4+K]=U;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},t.prototype.render=function(e){var r=this.renderer;if(r){var o=r.getRenderTarget();r.setRenderTarget(null);var u=r.autoClear,s=r.autoClearColor,l=r.autoClearDepth,c=r.autoClearStencil,f=scratchClearColor.copy(r.getClearColor()),p=r.getClearAlpha(),d=r.getViewport(scratchViewport),h=r.getScissor(scratchScissor),m=r.getScissorTest();r.autoClear=!0,r.autoClearColor=!0,r.autoClearDepth=!0,r.autoClearStencil=!0;var A=r.getSize(scratchRenderSize),g=Math.floor(A.x*this.viewport.left),b=Math.floor(A.y*this.viewport.bottom),v=Math.floor(A.x*this.viewport.width),y=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(g,b,v,y),r.setScissor(g,b,v,y);var E=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(E);var _=this.scene.background;this.scene.background=this.camera.isOrthographicCamera?null:_;var T=!0;if(this.controller){var S=this.controller.render();S&&(T=!1)}if(T){var R=this.fiveRenderer.render(r,this.scene,this.modelScene,this.camera,this.needsRender);this.poweredByRealsee&&R&&renderPoweredByRealsee(r)}this.scene.background=_,r.autoClear=u,r.autoClearColor=s,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(f,p),r.setViewport(d),r.setScissor(h),r.setScissorTest(m),r.setRenderTarget(o),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,u=this,s=[],l=2;l<arguments.length;l++)s[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:s},!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],s,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var c=this.modelScene.loaded,f=this.modelScene.refined;this.modelScene.update(this.renderer,this.camera),c===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){u.emit("models.load",createEvent("models.load",{modelScene:u.modelScene}))},!0,0,10)),f===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){u.emit("models.refined",createEvent("models.refined",{modelScene:u.modelScene}))},!0,0,10)}if(this.camera.autoNearFar){scratchBox3.makeEmpty(),scratchBox3.expandByObject(this.modelScene.boundingMesh);var p=scratchBox3.getBoundingSphere(scratchSphere),d=p.radius*2;p.containsPoint(this.camera.position)||(d=this.camera.position.distanceTo(p.center)+p.radius),d=clamp$1(d,800);var h=d/1e4;h=clamp$1(h,.03,.1),this.camera.near!==h&&(this.camera.near=h),this.camera.far!==d&&(this.camera.far=d),this.camera.updateTime(e)}if(this.renderer){var m=this.modelScene.visible;this.modelScene.visible=!1,this.scene.update(this.renderer,this.camera),this.modelScene.visible=m}if(this.syncingState=!1,this.controller&&this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.pbmGSRenderMesh&&this.pbmGSRenderMesh.needsRender===!0&&(this.pbmGSRenderMesh.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0),this.paused!==!0){var A=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",A),A.defaultPrevented&&(this.needsRender=!1);var g=this.needsRender;this.render(),this.needsRender=!1,this.emit("render",createEvent("render",{needsRender:g})),this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var u=this,s=u.controller,l=u.renderer;if(!s)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();typeof e=="number"&&this.pano.workCode&&(e={workCode:this.pano.workCode,panoIndex:e});var c=this.works.getObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var f={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in s&&typeof s.moveToPano=="function"?s.moveToPano(f,r,o):c&&(this.pano=f,this.once("initAnimation.start",function(p){r.moveStartCallback&&r.moveStartCallback(p.state)}),this.once("initAnimation.end",function(p){r.moveEndCallback&&r.moveEndCallback(p.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop);var u=this.works.getObserver(e);if(!u)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var s=["right","left","up","down","front","back"],l=now();return Promise.all(s.map(function(c){var f=panoStringify({panoIndex:u.panoIndex,workCode:u.work.workCode}),p=__assign({key:"pano.".concat(f,".").concat(c)},pick(o.imageOptions,["size","format","quality","forceUseExifOrientation","mappings"])),d=u.work.getURL(u.images[c]),h=o.imageOptions.transform?o.imageOptions.transform(d,p):imageURL(d,p);return getFetcher(o.fiveId,u.work).preload(h)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,u=e.clone().sub(o),s=new THREE__namespace.Raycaster(o,u.clone().normalize());s.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(s)[0];if(l&&l.distance+.01<u.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var f=this.renderer.getSize(new THREE__namespace.Vector2),p=f.x*this.viewport.width,d=f.y*this.viewport.height,h=f.x*this.viewport.left+(c.x+1)/2*p,m=f.y*(1-this.viewport.bottom-this.viewport.height)+(-c.y+1)/2*d;return new THREE__namespace.Vector2(h,m)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var u,s,l,c,f,p,d,h,m,A;r===void 0&&(r=!1),o===void 0&&(o=!0),e=pick(e,["mode","workCode","panoIndex","longitude","latitude","fov","offset","distance"]),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var g;if(typeof e.panoIndex=="number")if(e.workCode)g={workCode:e.workCode,panoIndex:e.panoIndex};else{var b=(s=(u=this.work)===null||u===void 0?void 0:u.workCode)!==null&&s!==void 0?s:"",v=this.state.workCode;this.works.filter(function(M){return M.workCode===v}).length>0&&(b=v),g={workCode:b,panoIndex:e.panoIndex}}var y=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,E,_,T,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var w={workCode:g==null?void 0:g.workCode,panoIndex:g==null?void 0:g.panoIndex};typeof e.longitude=="number"&&(w.longitude=e.longitude),typeof e.latitude=="number"&&(w.latitude=e.latitude),typeof e.fov=="number"&&(w.fov=e.fov),typeof e.distance=="number"&&(w.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(w.offset=e.offset);var I=__assign(__assign({initial:{state:w,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),P=Controllers[y].initAnimationEndState(I);E=P.longitude,_=P.latitude,T=P.fov,S=P.offset,R=P.distance}else E=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,_=(f=e.latitude)!==null&&f!==void 0?f:this.state.latitude,T=(p=e.fov)!==null&&p!==void 0?p:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var C={workCode:(g!=null?g:this.pano).workCode,panoIndex:(g!=null?g:this.pano).panoIndex,mode:y,longitude:E,latitude:_,fov:T,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:C})),stateEqual(this.state,C)||(this.controller&&C.mode==="VRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("VRPanorama")):this.controller&&C.mode==="XRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("XRPanorama")):(assignState(this.state,C),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var u=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var s={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,s,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var f=1,p=.2,d=.2,h=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,f),A=Math.abs(this.camera.pose.distance-this.state.distance),g=A>d*15?A/15:p,b=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,g),v=this.camera.pose.offset.distanceTo(this.state.offset),y=v>d*15?v/15:d,E=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),_=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),T=_.longitude,S=_.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(E,this.camera.pose.offset)||notSimilarValue(b,this.camera.pose.distance)||notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:E.x,y:E.y,z:E.z},w={fov:m};return Object.assign(R,{distance:b}),Object.assign(w,{longitude:T,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(w,0).catch(noop),this.controller.locationMotion.set(R,0).catch(noop),!0}}else{var I=1,P=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,I),C=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},P),T=C.longitude,S=C.latitude,b=this.state.distance,E=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(b,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(E,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(T,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:T,latitude:S,fov:m},0).catch(noop),!0}if(this.stateSynced=!0,u===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var M=this.currentMode,F=M===t.Mode.Floorplan||M===t.Mode.Topview||M===t.Mode.Mapview||M===t.Mode.Model;if(!F||this.modelScene.loaded){var k=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var O=0,N=k;O<N.length;O++){var q=N[O];this.controller instanceof Controllers.Panorama&&q.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(q):q()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var u;r.readyCallbacks.push(Object.assign(o,{tile:(u=e.tile)!==null&&u!==void 0?u:!1}))}).then(function(){return r.model.initReady}).then(noop)},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.bindModel=function(e){var r=this,o=function(){AnimationFrameLoop.shared.add(function(){r.emit("model.load",createEvent("model.load",{work:e.work,model:e,error:null}))},!0)},u=function(p){var d=p.error;r.emit("model.error",createEvent("model.error",{work:e.work,model:e,error:d})),r.throwError(d)},s=function(){r.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:e.work,model:e,error:null}))},l=function(p){r.emit("models.tileLoad",createEvent("model.tileLoad",{work:e.work,model:e,tile:p.tile}))},c=function(p){r.emit("models.tileUnload",createEvent("model.tileUnload",{work:e.work,model:e,tile:p.tile}))},f=function(){e.removeEventListener("load",o),e.removeEventListener("error",u),e.removeEventListener("changeShownFloor",s),e.removeEventListener("tileLoad",l),e.removeEventListener("tileUnload",c),e.removeEventListener("dispose",f)};e.addEventListener("load",o),e.addEventListener("error",u),e.addEventListener("changeShownFloor",s),e.addEventListener("tileLoad",l),e.addEventListener("tileUnload",c),e.addEventListener("dispose",f),this.emit("model.request",createEvent("model.request",{work:e.work,model:e,error:null}))},t.prototype.bindWorkFetcher=function(e){var r=this,o=e.workCode,u=e.allowHosts,s=new Fetcher({get networkSubscribe(){return r.networkSubscribe},requestProxy:function(l){return Promise.resolve(l).then(function(c){return r.requestProxy(c,o)}).then(function(c){var f=verifyURL(c,u);return f instanceof Error?Promise.reject(f):f})}});registerFetcher(this.fiveId,e,s)},t.prototype.commonParams=function(){return{fiveId:this.fiveId,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,camera:this.camera,renderer:this.renderer,viewport:this.viewport,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");var u=Controllers[e];this.currentMode=e;for(var s=new u(r),l=function(m){s.on(m,function(){for(var A=[],g=0;g<arguments.length;g++)A[g]=arguments[g];var b=o.emit.apply(o,__spreadArray([m],A,!1));if(b)return!1})},c=0,f=PROXY_CONTROLLER_EVENT_NAMES;c<f.length;c++){var p=f[c];l(p)}{var d=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,d)||(assignState(this.state,d),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return s.on("camera.update",function(m){var A;if(o.controller){var g=o.controller.getTargetState();m.userAction&&o.syncingState===!1&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:m.userAction,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:m.userAction,state:o.getCurrentState()}))}),s.on("initAnimation.start",function(m){var A,g=m.state,b=m.userAction;b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("initAnimation.end",function(m){var A,g=m.state,b=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.moveTo",function(m){var A,g=m.state,b=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.arrived",function(m){var A,g=m.state,b=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.cancel",function(m){var A,g=m.state,b=m.userAction;b&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:b,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),s.on("pano.moveTo",function(m){var A=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),s.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),s.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),s.on("error",function(m){return o.throwError(m)}),s},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scissor",{get:function(){return this.viewport},enumerable:!1,configurable:!0}),t.prototype.setScissor=function(e){return this.setViewport(e)},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,u=e.fov,s=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:u,offset:s.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;r.matrix.copy(e.matrix).premultiply(e.work.transform),r.matrix.decompose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1;var o=new THREE__namespace.Vector3(0,0,-1);o.applyQuaternion(this.camera.quaternion);var u=r.quaternion.clone().inverse();o.applyQuaternion(u);var s=Math.atan2(o.x,-o.z),l=-Math.asin(o.y);return{theta:s,phi:l,lookAtVector:o}}}return null},t.prototype.addPass=function(e){this.fiveRenderer.composer.addPass(e)},t.prototype.removePass=function(e){var r=this.fiveRenderer.composer.passes.indexOf(e);r!==-1&&this.fiveRenderer.composer.passes.splice(r,1)},t.prototype.insertPass=function(e,r){this.fiveRenderer.composer.insertPass(e,r)},Object.defineProperty(t.prototype,"renderMode",{get:function(){return this.fiveRenderer.renderMode},set:function(e){this.fiveRenderer.renderMode=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.fiveRenderer.renderMode==="point-cloud-high-quality"},set:function(e){this.fiveRenderer.renderMode=e?"point-cloud-high-quality":"default",this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.eyeDomeLightingPass.enabled},set:function(e){this.eyeDomeLightingPass.enabled=e,this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableAdaptiveLuminance",{get:function(){return this.adaptiveLuminancePass.enabled},set:function(e){this.adaptiveLuminancePass.enabled=e,this.needsRender=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!0},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"modelSceneNeedsRender",{get:function(){return this.modelScene.needsRender},set:function(e){this.modelScene.needsRender=e},enumerable:!1,configurable:!0}),t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t})(Subscribe);if(typeof window!="undefined"){var __FIVE_DEBUG__={THREE:THREE__namespace,constructor:Five,instances:Five_Instances};Object.assign(window,{__FIVE_DEBUG__})}var XRButton=(function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function u(){o(),e.textContent="VR NOT SUPPORTED"}function s(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",s(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():u()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",s(l),l},n})();exports.AdaptiveLuminancePass=AdaptiveLuminancePass;exports.AnimationFrameLoop=AnimationFrameLoop;exports.BoundingMesh=BoundingMesh$1;exports.Camera=Camera;exports.CustomShader=PBMCustomShader;exports.EffectComposer=EffectComposer;exports.EyeDomeLightingPass=EyeDomeLightingPass;exports.Fetcher=Fetcher;exports.Five=Five;exports.FivePass=FivePass;exports.FiveRenderer=FiveRenderer;exports.FullScreenQuad=FullScreenQuad;exports.InternalWebGLRenderer=InternalWebGLRenderer;exports.Model=Model;exports.ModelScene=ModelScene;exports.Motion=Motion;exports.NetworkSubscribe=NetworkSubscribe;exports.PBMContainer=PBMContainer;exports.PBMCustomShader=PBMCustomShader;exports.PBMGSObject=PBMGSObject;exports.PBMGroup=PBMGroup;exports.PBMMesh=PBMMesh;exports.PBMMeshMaterial=PBMMeshMaterial;exports.PBMPointCloud=PBMPointCloud;exports.PBMPointCloudMaterial=PBMPointCloudMaterial;exports.PBMSkinnedMesh=PBMSkinnedMesh;exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES;exports.PanoCircleMesh=PanoCircleMesh;exports.PanoCircleMeshCustom=PanoCircleMeshCustom;exports.PanoCircleMeshSolid=PanoCircleMeshSolid;exports.Parameter=Parameter;exports.Scene=Scene;exports.Subscribe=Subscribe;exports.TextureLoader=TextureLoader;exports.Tile=Tile;exports.Tile3D=Tile3D;exports.Tile3DModel=Tile3D;exports.TileCache=TileCache;exports.TileNode=TileNode;exports.TileRequestScheduler=TileRequestScheduler;exports.Tileset=Tileset;exports.Trajectory=Trajectory;exports.TrajectoryNode=TrajectoryNode;exports.Work=Work;exports.WorkResolvedObserver=WorkResolvedObserver;exports.XRButton=XRButton;exports.controllersDefaultInitArgs=controllersDefaultInitArgs;exports.coordinatesToVector=coordinatesToVector;exports.createDebugBoundingMesh=createDebugBoundingMesh;exports.createWorks=createWorks;exports.defaultImageURLTransform=imageURL;exports.draco=draco;exports.getViewportScale=getViewportScale;exports.headingToLongitude=headingToLongitude;exports.imageSupport=imageSupport;exports.isBoundingVolume=isBoundingVolume;exports.isPanoId=isPanoId;exports.ktx2=ktx2;exports.loadAt3d=loadAt3d;exports.loadB3dm=loadB3dm;exports.loadDome=loadDome;exports.loadDomez=loadDomez;exports.loadFbx=loadFbx;exports.loadGltf=loadGltf;exports.loadPbm=loadPbm;exports.loadPly=loadPly;exports.loadPnts=loadPnts;exports.loadSplat=loadSplat;exports.loadSpz=loadSpz;exports.loadX3p=loadX3p;exports.longitudeToHeading=longitudeToHeading;exports.makeBoundingVolume=makeBoundingVolume;exports.panoEqual=panoEqual;exports.panoParse=panoParse;exports.panoStringify=panoStringify;exports.parseWork=parseWork;exports.vectorToCoordinates=vectorToCoordinates;exports.workToJson=workToJson;