@realsee/five 6.7.0-alpha.18 → 6.7.0-alpha.19

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.
Files changed (101) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/classes/five.Five.html +11 -11
  3. package/docs/classes/five.Model.html +1 -1
  4. package/docs/classes/five.ModelScene.html +5 -5
  5. package/docs/classes/five.PBMContainer.html +1 -1
  6. package/docs/classes/five.PBMGroup.html +1 -1
  7. package/docs/classes/five.PBMMesh.html +1 -1
  8. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  9. package/docs/classes/five.PBMPointCloud.html +1 -1
  10. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  11. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  12. package/docs/classes/five.Parameter.html +1 -1
  13. package/docs/classes/five.Tile3D.html +1 -1
  14. package/docs/classes/five.TileNode.html +1 -1
  15. package/docs/classes/five.TrajectoryNode.html +1 -1
  16. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  17. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  18. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  19. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  20. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  21. package/docs/classes/line.LineGeometry.html +1 -1
  22. package/docs/classes/line.LineMaterial.html +1 -1
  23. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  24. package/docs/classes/line.THREE_Line2.html +1 -1
  25. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  26. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  27. package/docs/classes/vfx.Airflow.html +1 -1
  28. package/docs/classes/vfx.Flame.html +1 -1
  29. package/docs/classes/vfx.Particle.html +1 -1
  30. package/docs/classes/vfx.ParticleGPU.html +1 -1
  31. package/docs/classes/vfx.SpotLight.html +1 -1
  32. package/docs/hierarchy.html +1 -1
  33. package/docs/interfaces/five.EventCallback.html +1 -1
  34. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  35. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  36. package/docs/interfaces/five.PBMMaterial.html +1 -1
  37. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  38. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  39. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  40. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  41. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  42. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  43. package/docs/interfaces/five.ParameterValue.html +1 -1
  44. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  45. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  46. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  47. package/docs/interfaces/five.ViewLayer.html +1 -1
  48. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  49. package/docs/interfaces/five.WorkImage.html +1 -1
  50. package/docs/interfaces/five.WorkObserver.html +1 -1
  51. package/docs/interfaces/five.WorkTile.html +1 -1
  52. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  53. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  54. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  55. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  56. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  57. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  58. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  59. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  60. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  61. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  62. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  63. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  64. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  65. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  66. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  67. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  68. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  69. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  70. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  71. package/docs/types/five.ParseOptions.html +1 -1
  72. package/five/index.js +4 -4
  73. package/five/index.mjs +15 -13
  74. package/gltf-loader/index.js +2 -2
  75. package/gltf-loader/index.mjs +2 -2
  76. package/line/index.js +2 -2
  77. package/line/index.mjs +2 -2
  78. package/package.json +1 -1
  79. package/plugins/index.js +1 -1
  80. package/plugins/index.mjs +1 -1
  81. package/react/index.js +1 -1
  82. package/react/index.mjs +1 -1
  83. package/shader-lib/index.js +1 -1
  84. package/shader-lib/index.mjs +1 -1
  85. package/sticker/index.js +2 -2
  86. package/sticker/index.mjs +2 -2
  87. package/umd/five-gltf-loader.js +2 -2
  88. package/umd/five-line.js +2 -2
  89. package/umd/five-plugins.js +1 -1
  90. package/umd/five-react.js +1 -1
  91. package/umd/five-shader-lib.js +1 -1
  92. package/umd/five-sticker.js +2 -2
  93. package/umd/five-vfx.js +1 -1
  94. package/umd/five-vue.js +1 -1
  95. package/umd/five.js +4 -4
  96. package/vfx/index.js +1 -1
  97. package/vfx/index.mjs +1 -1
  98. package/vue/index.js +1 -1
  99. package/vue/index.mjs +1 -1
  100. package/work-downloader/index.js +1 -1
  101. package/work-downloader/index.mjs +1 -1
package/umd/five.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 11/26/2025
5
- * Version: 6.7.0-alpha.18
5
+ * Version: 6.7.0-alpha.19
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1023,7 +1023,7 @@ void main() {
1023
1023
  #include <fog_fragment>
1024
1024
  #include <premultiplied_alpha_fragment>
1025
1025
  }
1026
- `,uniforms:{diffuse:{value:new THREE__namespace.Color},opacity:{value:1},displacementScalar:{value:0}}};function createPipeBufferGeometry(n,t,e,r){for(var o=new Float32Array((e+1)*(r+1)*3),s=new Float32Array((e+1)*(r+1)*3),u=new Float32Array((e+1)*(r+1)*2),l=new Uint32Array(e*r*6),c=n.computeFrenetFrames(e),f=new THREE__namespace.Vector3,p=new THREE__namespace.Vector3,d=new THREE__namespace.Vector2,h=new THREE__namespace.Vector3,m=0;m<=e;m++){h=n.getPointAt(m/e,h);for(var A=c.normals[m],g=c.binormals[m],y=0;y<=r;y++){var v=m*(r+1)+y,E=y/r*Math.PI*2,b=Math.sin(E),T=-Math.cos(E);p.x=T*A.x+b*g.x,p.y=T*A.y+b*g.y,p.z=T*A.z+b*g.z,p.normalize(),p.toArray(s,v*3),f.x=h.x+t*p.x,f.y=h.y+t*p.y,f.z=h.z+t*p.z,f.toArray(o,v*3),d.x=m/e,d.y=y/r,d.toArray(u,v*2)}}for(var m=0;m<e;m++)for(var y=0;y<r;y++){var _=(m*r+y)*6,S=(r+1)*m+y,w=(r+1)*(m+1)+y,R=(r+1)*(m+1)+(y+1),I=(r+1)*m+(y+1);l[_]=S,l[_+1]=w,l[_+2]=I,l[_+3]=w,l[_+4]=R,l[_+5]=I}var O=new THREE__namespace.BufferGeometry;return O.setIndex(new THREE__namespace.BufferAttribute(l,1)),O.setAttribute("position",new THREE__namespace.BufferAttribute(o,3)),O.setAttribute("normal",new THREE__namespace.BufferAttribute(s,3)),O.setAttribute("uv",new THREE__namespace.BufferAttribute(u,2)),O}function parseTrajectoryObject(n,t){for(var e=new THREE__namespace.Color(0).convertSRGBToLinear(),r=new THREE__namespace.Color(52949).convertSRGBToLinear(),o=new THREE__namespace.Color(3370495).convertSRGBToLinear(),s=new THREE__namespace.Color(16777215).convertSRGBToLinear(),u=0,l=new THREE__namespace.CurvePath,c=n.length,f=3;f<c;f+=3){var p=new THREE__namespace.Vector3().fromArray(n,f-3),d=new THREE__namespace.Vector3().fromArray(n,f);u+=p.distanceTo(d);var h=new THREE__namespace.LineCurve3(p,d);l.add(h)}var m=.03,A=Math.ceil(u*100),g=6,y=createPipeBufferGeometry(l,m,A,g);y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,1),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,2);var v=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});v.uniforms.totalLength.value=u,v.uniforms.diffuse.value=e,v.uniforms.diffuse2.value=e,v.uniforms.opacity.value=.5,v.transparent=!0;var E=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});E.uniforms.totalLength.value=u,E.uniforms.displacementScalar.value=-.01,E.uniforms.diffuse.value=r,E.uniforms.diffuse2.value=o;var b=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.DoubleSide});b.uniforms.totalLength.value=u,b.uniforms.displacementScalar.value=-.026,b.uniforms.dashSize.value=new THREE__namespace.Vector2(.06,.09),b.uniforms.diffuse.value=s,b.uniforms.diffuse2.value=s;var T=new THREE__namespace.Mesh(y,[v,E,b]),_=.08,S=24,w=new THREE__namespace.SphereBufferGeometry(_,S,S);w.clearGroups(),w.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),w.addGroup(0,y.index?y.index.count:y.attributes.position.count,1);var R=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.BackSide});R.uniforms.diffuse.value=e,R.uniforms.opacity.value=.5,R.transparent=!0;var I=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});I.uniforms.displacementScalar.value=-.01,I.uniforms.diffuse.value=r;var O=new THREE__namespace.Mesh(w,[R,I]);O.position.fromArray(n,0),T.add(O);var M=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});M.uniforms.displacementScalar.value=-.01,M.uniforms.diffuse.value=o;var C=new THREE__namespace.Mesh(w,[R,M]);return C.position.fromArray(n,n.length-3),T.add(C),{scene:T,dispose:function(){y.dispose(),v.dispose(),E.dispose(),b.dispose(),w.dispose(),R.dispose(),I.dispose(),M.dispose()}}}function loadTrajectory(n,t){var e=n.name,r=appendSearch(n.content.uri,t.search),o=imageURL(r,{key:"model.0"});return n.content.loadState="LOADING",n.content.loadStateUpdateTime=now(),loadPly(o,{type:"geometry",customPropertyMapping:{time:{itemType:"uint32",itemNames:["time_milisec"]}},fetcher:t.fetcher}).then(function(s){var u,l,c,f,p=(l=(u=s.scene.attributes)===null||u===void 0?void 0:u.time.array)!==null&&l!==void 0?l:[],d=(f=(c=s.scene.attributes)===null||c===void 0?void 0:c.position.array)!==null&&f!==void 0?f:[],h=s.byteLength,m=s.memoryUsage,A=parseTrajectoryObject(d);A.scene.applyMatrix4(n.transform),A.scene.updateWorldMatrix(!1,!0),A.scene.matrixAutoUpdate=!1;var g=new TrajectoryNode(e,A.scene);return n.content.data={uri:o,byteLength:h,memoryUsage:m,positionArray:d,timeArray:p,object:g},n.content.byteLength=h,n.content.memoryUsage=m,n.content.loadState="READY",n.content.loadStateUpdateTime=now(),n}).catch(function(s){return n.content.data=void 0,n.content.loadState="FAILED",n.content.loadStateUpdateTime=now(),s instanceof NetworkResponseError&&s.httpStatus===0||s instanceof NetworkTimeoutError||s instanceof NetworkProxyError?n.content.loadfailRetryDelay=clamp$1(n.content.loadfailRetryDelay+RETRY_DELAY_STEP,RETRY_DELAY_STEP,MAX_RETRY_DELAY):n.content.loadfailRetryDelay=1/0,Promise.reject(s)})}function unloadTrajectory(n){n.content&&(n.content.data&&n.content.data.object.dispose(),n.content.data=void 0,n.content.loadState="UNLOADED",n.content.loadStateUpdateTime=now(),n.content.byteLength=0,n.content.memoryUsage=0)}var scratchVector3$7=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,scratchMatrix4$3=new THREE__namespace.Matrix4,a=6378137,invF=298.257223563;function ecefToLla(n){for(var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sqrt(n.x*n.x+n.y*n.y),o=1e-12,s=1e3,u=0,l=Math.atan2(n.z,r),c=0;u++<s;){var f=Math.sin(l),p=a/Math.sqrt(1-e*f*f);c=r/Math.cos(l)-p;var d=Math.atan2(n.z/(p*(1-e)+c),r/(p+c));if(isNaN(d))break;var h=Math.abs(d-l);if(h<o)break;l=d}return n.set(l,Math.atan2(n.y,n.x),c)}function llaToEcef(n){var t=n.x,e=n.y,r=n.z,o=a-a/invF,s=(a*a-o*o)/(a*a),u=Math.sin(t),l=Math.cos(t),c=Math.sin(e),f=Math.cos(e),p=a/Math.sqrt(1-s*u*u),d=(p+r)*l*f,h=(p+r)*l*c,m=(o*o/(a*a)*p+r)*u;return n.set(d,h,m)}function getEcefToEnuMatrix(n,t){var e=ecefToLla(scratchVector3$7.copy(n)),r=e.x,o=e.y,s=e.z,u=Math.sin(r),l=Math.sin(o),c=Math.cos(r),f=Math.cos(o);t.fromArray([-l,-u*f,c*f,0,+f,-u*l,c*l,0,0,c,u,0,0,0,0,1]);var p=scratchMatrix3.setFromMatrix4(t),d=scratchVector3$7.copy(n).applyMatrix3(p).multiplyScalar(-1);t.setPosition(d);var h=scratchMatrix4$3.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,s,1]);return t.premultiply(h),t}var ROTATE_X_90_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),ROTATE_X_90_MATRIX_INVERSE=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),enuToLocalMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX),localToEnuMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX_INVERSE);function getRecommendTile3dProps(n,t){var e,r,o;t===void 0&&(t={});var s,u,l,c=typeof n.tileset.rootMeta.creationTime=="string";if(c){var f=typeof n.tileset.rootMeta.numTotalPoints=="number"&&n.tileset.rootMeta.numTotalPoints>0;if(f){l=4,t.powerPreference==="high"&&(l=2),s=l/1.6;var p=0;if(((e=n.tileset.rootMeta.taskParameters)===null||e===void 0?void 0:e.point_homogenization)==="1"&&(!((r=n.tileset.rootMeta.taskParameters)===null||r===void 0)&&r.homo_point_density)){var d=Number((o=n.tileset.rootMeta.taskParameters)===null||o===void 0?void 0:o.homo_point_density);isFinite(d)&&!isNaN(d)&&(p=d)}p<=0&&(p=.02),u=p*1.4}else l=5,t.powerPreference==="high"&&(l=4),s=0,u=.03}else l=6,s=0,u=.03,n.name==="aerophoto"?(l=12,t.powerPreference==="high"&&(l=10)):n.tileset.asset.extras&&typeof n.tileset.asset.extras.name=="string"&&/^matterport\b/i.test(n.tileset.asset.extras.name)&&(l=5,t.powerPreference==="high"&&(l=4));return{pointScale:u,pointMinPixel:s,maxScreenSpaceError:l}}var scratchVector3$6=new THREE__namespace.Vector3,scratchSphereBoundingVolume=new SphereBoundingVolume,scratchBoxBoundingVolume=new BoxBoundingVolume,parameterVersionMap=new WeakMap,tileVersionMap=new WeakMap,trajectoryVersionMap=new WeakMap,STENCIL_CONSTANT={TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4},SKIP_BACKFACE_MATERIAL=(function(){var n=new THREE__namespace.MeshBasicMaterial;return n.side=THREE__namespace.BackSide,n.color.setHex(16711935),n.colorWrite=!1,n.stencilWrite=!0,n.polygonOffset=!0,n.polygonOffsetFactor=2,n.polygonOffsetUnits=2,n.stencilRef=STENCIL_CONSTANT.TILE_MASK,n.stencilFunc=THREE__namespace.AlwaysStencilFunc,n.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,n.stencilZPass=THREE__namespace.ReplaceStencilOp,n.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK,n})(),SKIP_BACKFACE_TRANSPARENT_MATERIAL=(function(){var n=new THREE__namespace.MeshBasicMaterial;return n.visible=!1,n})(),CLEAR_STENCIL_GEOMETRY=new THREE__namespace.BufferGeometry,CLEAR_STENCIL_MATERIAL=new THREE__namespace.MeshBasicMaterial;function cloneSkipBackfaceObject(n){var t;n instanceof THREE__namespace.Mesh?t=new THREE__namespace.Mesh(n.geometry,Array.isArray(n.material)?n.material.map(function(s){return s.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL}):n.material&&n.material.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL):n instanceof THREE__namespace.Group?t=new THREE__namespace.Group:t=new THREE__namespace.Object3D,t.position.copy(n.position),t.quaternion.copy(n.quaternion),t.scale.copy(n.scale),t.matrix.compose(n.position,n.quaternion,n.scale),t.matrixAutoUpdate=!1,t.frustumCulled=n.frustumCulled,t.visible=n.visible;for(var e=0,r=n.children;e<r.length;e++){var o=r[e];t.add(cloneSkipBackfaceObject(o))}return t}var Tile3D=(function(n){__extends(t,n);function t(e,r){var o,s,u=n.call(this)||this;return u.parameter=new Parameter,u.renderObjects=[],u.backfaceObjects=[],u.tileObjects=[],u.frameNumber=0,u.error=(o=r.error)!==null&&o!==void 0?o:null,u.name=r.name,u.type=r.type,u.upAxis=r.upAxis,u.light=r.light,u.fetcher=r.fetcher,u.search=(s=r.search)!==null&&s!==void 0?s:"",u.groundHeight=r.groundHeight,u.coordinateSystem=r.coordinateSystem,u.boundingBox=new THREE__namespace.Box3,u.autoRefine=!0,u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.disposed=!1,u.clearStencilObject=new THREE__namespace.Mesh(CLEAR_STENCIL_GEOMETRY,CLEAR_STENCIL_MATERIAL),u.clearStencilObject.frustumCulled=!1,u.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},u.tileset=new Tileset(e,{tileLoader:function(l){return u.loadContent(l)},tileUnloader:function(l){return u.unloadContent(l)},onTileLoad:function(){},onTileUnload:function(l){},onTileError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Tile error",l.id,c)},trajectoryLoader:function(l){return u.loadTrajectory(l)},trajectoryUnloader:function(l){return u.unloadTrajectory(l)},onTrajectoryLoad:function(){},onTrajectoryUnload:function(l){},onTrajectoryError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Trajectory error",l,c)}}),u.tileset.root.boundingVolume&&u.tileset.root.boundingVolume.getBoundingBox(u.boundingBox),u}return Object.defineProperty(t.prototype,"viewerRequestVolume",{get:function(){return this.tileset.root.viewerRequestVolume},set:function(e){this.tileset.root.viewerRequestVolume=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tiles",{get:function(){return this.tileset.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trajectories",{get:function(){return this.tileset.trajectories},enumerable:!1,configurable:!0}),t.prototype.getRecommendProps=function(e){return e===void 0&&(e={}),getRecommendTile3dProps(this,e)},t.prototype.loadContent=function(e){var r=this;return loadTileContent(e,{light:this.light,fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){e.type==="SCENEGRAPH"&&(r.disposed||!e.content?unloadTileContent(e):e.content.data&&r.boundingBox.expandByObject(e.content.data.object))})},t.prototype.unloadContent=function(e){return unloadTileContent(e),Promise.resolve()},t.prototype.loadAllTilesets=function(){var e=this,r=function(o){var s=[];return e.tileset.root.traverse(function(u){var l;u.type==="TILESET"&&((l=u.content)===null||l===void 0?void 0:l.loadState)!=="READY"&&s.push(u)}),Promise.all(s.map(function(u){return e.loadContent(u).then(function(){return r()})})).then(function(){})};return r(this.tileset.root)},t.prototype.loadTrajectory=function(e){var r=this;return loadTrajectory(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){r.disposed&&unloadTrajectory(o)})},t.prototype.unloadTrajectory=function(e){return unloadTrajectory(e),Promise.resolve()},t.prototype.intersectRaycaster=function(e,r){var o=this,s,u,l=r!=null?r:[],c=[this.tileset.root],f=this.tileset.transform,p=(u=(s=e.params.Points)===null||s===void 0?void 0:s.threshold)!==null&&u!==void 0?u:0,d=e.hitFilter;e.hitFilter=function(T){var _;return Object.assign(T,{model:(_=o.parent)!==null&&_!==void 0?_:void 0,viewLayer:o}),d?d.call(e,T):!0};var h=e.sortByDistance;e.sortByDistance=!1;for(var m,A=1/0;m=c.pop();){var g=void 0;if(m.boundingVolume){var y=void 0;m.boundingVolume instanceof BoxBoundingVolume?y=scratchBoxBoundingVolume.copy(m.boundingVolume):m.boundingVolume instanceof SphereBoundingVolume?y=scratchSphereBoundingVolume.copy(m.boundingVolume):y=m.boundingVolume.clone(),y.applyMatrix4(f),g=y.intersectRay(e.ray,p,A)}else g=!0;if(g){for(var v=0,E=m.children.length;v<E;v++)c.push(m.children[v]);if(m.selected&&m.content&&m.content.data&&m.content.data.object.visible&&(m.content.data.object.intersectRaycaster(e,l),e.firstHitOnly)){var b=l[0];b&&A>b.distance&&(A=b.distance)}}}return e.hitFilter=d,e.sortByDistance=h,sortIntersects(l,e.sortByDistance,e.firstHitOnly),l},t.prototype.update=function(e,r,o,s){var u=this,l,c,f,p,d,h,m;this.renderer=e,this.frameNumber++;var A=!1,g=this.parameter.resolveValue(o.parameter,s.parameter);parameterVersionMap.get(this)!==g.version&&(parameterVersionMap.set(this,g.version),A=!0);var y=(p=this.visible&&((l=this.parent)===null||l===void 0?void 0:l.visible)&&((f=(c=this.parent)===null||c===void 0?void 0:c.parent)===null||f===void 0?void 0:f.visible))!==null&&p!==void 0?p:!1,v=g.maxLevelOfDetail;v=Math.max(v,0);var E=Math.min(g.minLevelOfDetail,v);(!y||!this.loaded||!o.loaded)&&(v=Math.max(E,0));var b=g.minGeometricError,T=g.maxRequests,_=r.controllerMode;(_==="Panorama"||_==="VRPanorama"||_==="XRPanorama")&&(g.modelAlpha<.1&&(b=g.panoramaMinGeometricError),g.progress>=.01&&g.progress<=.99&&(T=0));var S=g.maxGeometricError;S=Math.max(b,S);var w={time:r.time,camera:{type:r.type,position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(r.up).applyQuaternion(r.quaternion),projectionMatrix:r.projectionMatrix.clone(),visible:r.visible,refine:r.refineModel},height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r),minLevelOfDetail:E,maxLevelOfDetail:v,minGeometricError:b,maxGeometricError:S,skipLevelOfDetail:g.skipLevelOfDetail,mostDetail:g.mostDetail,loadSiblings:g.loadSiblings,cameraCulling:g.cameraCulling,maxMemoryUsage:g.maxMemoryUsage,maxRequests:T,requestOrder:g.requestOrder,maxScreenSpaceError:g.maxScreenSpaceError,memoryAdjustedOverflow:g.memoryAdjustedOverflow,memoryAdjustedScreenSpaceError:g.memoryAdjustedScreenSpaceError},R=g.cacheCameras.map(function(ue){return ue.updateProjectionMatrix(),__assign(__assign({},w),{camera:{type:r.type,position:new THREE__namespace.Vector3().copy(ue.position),direction:ue.getWorldDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(ue.up),projectionMatrix:ue.projectionMatrix.clone(),visible:ue.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(ue)})});this.updateWorldMatrix(!0,!1),this.tileset.transform.equals(this.matrixWorld)||(this.tileset.transform.copy(this.matrixWorld),A=!0);var I=!this.autoRefine;if(I===!1){var O=g.progress>=.01&&g.progress<=.99;if(O){var M=new THREE__namespace.Vector3;g.pano0&&M.setFromMatrixPosition(g.pano0.matrix);var C=M.clone();g.pano1&&C.setFromMatrixPosition(g.pano1.matrix),M.distanceTo(C)<10&&(I=!0)}}if(I||this.tileset.update(w,R),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(ue){if(u.refineProgress[1]++,ue.content){var be=ue.content.loadState;if(be==="UNLOADED"||be==="LOADING"){u.refined=!1;return}}u.refineProgress[0]++}),this.loaded===!1&&this.autoRefine){this.loaded=!0;var H=!1;this.tileset.needsRefinedTiles.forEach(function(ue){if(u.loaded!==!1&&ue.content&&(ue.state.visible&&(H=!0),g.minLevelOfDetail>=0)){if(w.skipLevelOfDetail){if(ue.state.finalResolution){var be=ue.state.ancestorWithContentAvailable,Be=be&&be.content?be.content:ue.content,Me=Be.loadState;(Me==="UNLOADED"||Me==="LOADING")&&(u.loaded=!1)}}else if(ue.state.visible&&ue.levelOfContent<=0){var Me=ue.content.loadState;(Me==="UNLOADED"||Me==="LOADING")&&(u.loaded=!1)}}}),H&&this.tileset.selectedTiles.length===0&&this.tileset.frameNumber<500&&(this.loaded=!1),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++)}this.renderObjects.length=0,this.backfaceObjects.length=0,this.tileObjects.length=0;for(var B=this.children.length-1;B>=0;B--)this.remove(this.children[B]);w.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(ue,be){return ue.floor!==be.floor?ue.floor-be.floor:ue.levelOfContent!==be.levelOfContent?be.levelOfContent-ue.levelOfContent:ue.state.distanceToCamera!==be.state.distanceToCamera?ue.state.distanceToCamera-be.state.distanceToCamera:ue.state.centerZDepth-be.state.centerZDepth});for(var L=[],k=0,D=this.tileset.selectedTiles;k<D.length;k++){var q=D[k],z=(h=(d=q.content)===null||d===void 0?void 0:d.data)===null||h===void 0?void 0:h.object;if(z){var J=z.update(e,r,o,this,q,g);if(L.push(q.id),J&&(A=!0),this.tileset.hasMixedContent&&w.skipLevelOfDetail){if(!q.state.finalResolution){var Q=cloneSkipBackfaceObject(z);Q.name="skipBackface:"+z.name,this.backfaceObjects.push(Q)}for(var U=q.state.selectionDepth,j=STENCIL_CONSTANT.TILE_MASK|U<<STENCIL_CONSTANT.SKIP_LOD_BIT_SHIFT,G=THREE__namespace.GreaterEqualStencilFunc,oe=STENCIL_CONSTANT.SKIP_LOD_MASK,ee=THREE__namespace.ReplaceStencilOp,Z=STENCIL_CONSTANT.TILE_MASK|STENCIL_CONSTANT.SKIP_LOD_MASK,$=0,X=z.materials;$<X.length;$++){var ne=X[$];ne.stencilWrite=!0,ne.stencilRef=j,ne.stencilFunc=G,ne.stencilFuncMask=oe,ne.stencilZPass=ee,ne.stencilWriteMask=Z}}else for(var W=0,K=z.materials;W<K.length;W++){var ne=K[W];ne.stencilWrite=!1,ne.stencilRef=STENCIL_CONSTANT.TILE_MASK,ne.stencilFunc=THREE__namespace.AlwaysStencilFunc,ne.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,ne.stencilZPass=THREE__namespace.ReplaceStencilOp,ne.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK}this.tileObjects.push(z)}}var re=L.toString();if(tileVersionMap.get(this)!==re&&(tileVersionMap.set(this,re),A=!0),w.skipLevelOfDetail&&this.backfaceObjects.length)for(var B=0;B<this.backfaceObjects.length;B++)this.renderObjects.push(this.backfaceObjects[B]);if(this.tileObjects.length)for(var B=0;B<this.tileObjects.length;B++)this.renderObjects.push(this.tileObjects[B]);w.skipLevelOfDetail&&this.renderObjects.push(this.clearStencilObject);for(var te=[],ae=0,ve=this.tileset.selectedTrajectories;ae<ve.length;ae++){var ie=ve[ae],fe=(m=ie.content.data)===null||m===void 0?void 0:m.object;if(fe){var J=fe.update(e,r,o,this,ie,g);te.push(ie.id),J&&(A=!0),this.renderObjects.push(fe)}}var Ee=te.toString();if(trajectoryVersionMap.get(this)!==Ee&&(trajectoryVersionMap.set(this,Ee),A=!0),this.parent)for(var se=this.parent.children.length+1,le=Math.min(0,this.parent.children.indexOf(this)),me=(le-se)*1e4+1,ge=function(ue){var be=Ae.renderObjects[ue],Be=ue+me;be.traverse(function(Me){(Me instanceof THREE__namespace.Mesh||Me instanceof THREE__namespace.Line||Me instanceof THREE__namespace.Points)&&(Me.renderOrder=Be)})},Ae=this,B=0;B<this.renderObjects.length;B++)ge(B);if(this.loaded)for(var B=0;B<this.renderObjects.length;B++)this.add(this.renderObjects[B]);return A},t.prototype.dispose=function(){this.disposed=!0,this.tileset.reset(),this.tileset.root.children.length=0,/^blob\:/.test(this.tileset.id)&&URL.revokeObjectURL(this.tileset.id);for(var e=this.children.length-1;e>=0;e--)this.remove(this.children[e]);this.refined=!1,this.loaded=!1,this.refineProgress[0]=this.refineProgress[1]=0,this.error=null,this.onError=void 0,this.renderer=void 0},Object.defineProperty(t.prototype,"model",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scene",{get:function(){return this},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayer",{get:function(){return this},enumerable:!1,configurable:!0}),t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.enuToEcef=function(e){return e.applyMatrix4(this.coordinateSystem.enuToEcefMatrix)},t.prototype.ecefToEnu=function(e){return e.applyMatrix4(this.coordinateSystem.ecefToEnuMatrix)},t.prototype.localToEcef=function(e){return this.enuToEcef(this.localToEnu(e))},t.prototype.ecefToLocal=function(e){return this.enuToLocal(this.ecefToEnu(e))},t.prototype.localToLla=function(e){return ecefToLla(this.enuToEcef(this.localToEnu(e)))},t.prototype.llaToLocal=function(e){return this.enuToLocal(this.ecefToEnu(llaToEcef(e)))},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},t.prototype.worldToEcef=function(e){return this.localToEcef(this.worldToLocal(e))},t.prototype.ecefToWorld=function(e){return this.localToWorld(this.ecefToLocal(e))},t.prototype.worldToLla=function(e){return this.localToLla(this.worldToLocal(e))},t.prototype.llaToWorld=function(e){return this.localToWorld(this.llaToLocal(e))},Object.defineProperty(t.prototype,"coordinates",{get:function(){scratchVector3$6.setScalar(0);var e=this.localToLla(scratchVector3$6),r=e.x,o=e.y;return[r,o].map(function(s){return(s/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),t.prototype.getTransformMatrix4=function(e){return e===void 0&&(e=new THREE__namespace.Matrix4),e.copy(this.coordinateSystem.ecefToEnuMatrix),e.premultiply(enuToLocalMatrix),e.premultiply(this.matrixWorld),e},t.prototype.coordinatesToWorldPoint=function(e){var r=new THREE__namespace.Vector3(e.latitude,e.longitude,e.altitude);return this.llaToWorld(r)},t.prototype.worldPointToCoordinates=function(e){return scratchVector3$6.copy(e),this.worldToLla(scratchVector3$6),{latitude:scratchVector3$6.x,longitude:scratchVector3$6.y,altitude:scratchVector3$6.z}},t.prototype.resetBrightness=function(){this.parameter.reset("brightness")},Object.defineProperty(t.prototype,"minLevelOfDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).minLevelOfDetail},set:function(e){this.parameter.set("minLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLevelOfDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxLevelOfDetail},set:function(e){this.parameter.set("maxLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minGeometricError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).minGeometricError},set:function(e){this.parameter.set("minGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxGeometricError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxGeometricError},set:function(e){this.parameter.set("maxGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoramaMinGeometricError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).panoramaMinGeometricError},set:function(e){this.parameter.set("panoramaMinGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skipLevelOfDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).skipLevelOfDetail},set:function(e){this.parameter.set("skipLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mostDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).mostDetail},set:function(e){this.parameter.set("mostDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).loadSiblings},set:function(e){this.parameter.set("loadSiblings",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxMemoryUsage},set:function(e){this.parameter.set("maxMemoryUsage",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxRequests},set:function(e){this.parameter.set("maxRequests",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"requestOrder",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).requestOrder},set:function(e){this.parameter.set("requestOrder",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxScreenSpaceError},set:function(e){this.parameter.set("maxScreenSpaceError",e)},enumerable:!1,configurable:!0}),t})(THREE__namespace.Object3D),fetchers={};function getFetcher(n,t){var e=fetchers[n];if(e){var r=e.get(t);if(r)return r}throw new Error("fetcher workCode:".concat(t.workCode," never registered."))}function registerFetcher(n,t,e){var r=fetchers[n];r||(r=fetchers[n]=new WeakMap),r.has(t)||r.set(t,e)}var identityMatrix4=new THREE__namespace.Matrix4,scratchVector3$5=new THREE__namespace.Vector3,scratchMatrix4$2=new THREE__namespace.Matrix4;function getEcefToEnuMatrixFromUpAxis(n,t,e){switch(n){case"Z":e.identity();break;case"WGS84":case"GCJ02":case"BD09":getEcefToEnuMatrix(t,e);break;default:e.identity();break}return e}function getExt(n){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);if(t){var e=String(t[1]).trim().split(".").slice(1).reverse()[0];if(e)return e}return""}function loadViewLayer(n){var t,e=n.tilesetUrl.split("#"),r=e[0],o=e[1],s=(t=(o||r).split("?")[1])!==null&&t!==void 0?t:"";return n.fetcher.ajax(n.tilesetUrl,{responseType:"text"}).catch(function(u){return{error:u,body:JSON.stringify({asset:{version:"0.0"},geometricError:0,root:{geometricError:0}})}}).then(function(u){var l,c="error"in u?u.error:null,f=normalizeTilesetHeader(JSON.parse(u.body),n.tilesetUrl),p=f.root,d=f.rootMeta,h=d===void 0?{}:d,m=n.upAxis;h.upAxis&&h.upAxis!==m&&(m=h.upAxis),"lodVersion"in f&&(m="-Y","floorInfo"in f&&(f.properties=f.properties||{},f.properties.floorInfo=f.floorInfo.map(function(_){return{ground:-_.ground,height:_.height}}),f.floorInfo=void 0),f.asset.tilesetVersion=String(f.lodVersion),f.lodVersion=void 0);var A=m,g=new THREE__namespace.Matrix4;A==="Y"?(A="Z",g.fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1])):A==="-Y"&&(A="Z",g.fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]));var y=p.boundingVolume?makeBoundingVolume(p.boundingVolume):void 0;y&&p.transform&&y.applyMatrix4(scratchMatrix4$2.fromArray(p.transform));var v=null,E=new THREE__namespace.Matrix4,b=new THREE__namespace.Matrix4;h.coordinate?(v=h.coordinate.ground_height,E.fromArray(h.coordinate.pose_ecef_to_enu),b.fromArray(h.coordinate.pose_enu_to_ecef)):(y?y.getCenter(scratchVector3$5):scratchVector3$5.setScalar(0),scratchVector3$5.applyMatrix4(g),getEcefToEnuMatrixFromUpAxis(A,scratchVector3$5,E),b.getInverse(E)),f.root={refine:(l=p.refine)!==null&&l!==void 0?l:"REPLACE",geometricError:p.geometricError,transform:scratchMatrix4$2.copy(g).premultiply(A==="Z"?identityMatrix4:E).premultiply(enuToLocalMatrix).toArray(),boundingVolume:y?y.toJson():void 0,children:[p]};var T=new Tile3D(f,{name:n.name,type:n.type,upAxis:m,light:n.light,fetcher:n.fetcher,search:s,groundHeight:v,coordinateSystem:{enuToEcefMatrix:b,ecefToEnuMatrix:E},error:c});return T})}function loadViewLayers(n,t){var e,r,o=n.layers.map(function(d){return{tilesetUrl:d.work.getURL(d.tileset),name:d.name,type:d.type,upAxis:d.upAxis,light:t.light,fetcher:t.fetcher}});if(n.file){for(var s=!1,u=0,l=o;u<l.length;u++){var c=l[u];if(c.type==="mesh"){s=!0;break}}if(s===!1){var f=getExt(n.file)||"at3d",p=JSON.stringify({tilesetUrl:"",asset:{version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],content:{uri:n.work.getURL(n.file)},extras:(e={},e[f]={upAxis:n.upAxis,textureBaseUri:typeof n.textureBase=="string"?n.work.getURL(n.textureBase):void 0,textureArray:n.textures,textureOptions:(r=t.textureOptions)!==null&&r!==void 0?r:{}},e)},rootMeta:{coordinate:n.coordinate}});o.push({name:"fallback",type:"mesh",upAxis:"Z",tilesetUrl:URL.createObjectURL(new Blob([p],{type:"application/json"})),fetcher:t.fetcher,light:t.light})}}return o.map(function(d){return loadViewLayer(d).then(function(h){return t.onError&&(h.error&&t.onError(h.error),h.onError=t.onError),h})})}function createSimpleBoxBufferGeometry(n,t,e){n===void 0&&(n=1),t===void 0&&(t=1),e===void 0&&(e=1);var r=n/2,o=t/2,s=e/2,u=new Float32Array([-r,+o,+s,+r,+o,+s,+r,+o,-s,-r,+o,-s,-r,-o,+s,+r,-o,+s,+r,-o,-s,-r,-o,-s]),l=new Uint32Array([0,4,1,1,4,5,1,5,2,2,5,6,2,6,3,3,6,7,3,7,0,0,7,4,3,0,2,2,0,1,4,7,5,5,7,6]),c=new THREE__namespace.BufferGeometry;return c.setAttribute("position",new THREE__namespace.BufferAttribute(u,3)),c.setIndex(new THREE__namespace.BufferAttribute(l,1)),c.addGroup(0,c.index.count,0),c.computeBoundingBox(),c.computeBoundingSphere(),c}function mergeBufferGeometries(n,t){for(var e=n[0].index!==null,r=new Set(Object.keys(n[0].attributes)),o=new Set(Object.keys(n[0].morphAttributes)),s={},u={},l=new THREE__namespace.BufferGeometry,c=0;c<n.length;++c){var f=n[c];if(e!==(f.index!==null))return null;for(var p in f.attributes){if(!r.has(p))return null;s[p]===void 0&&(s[p]=[]),s[p].push(f.attributes[p])}for(var p in f.morphAttributes){if(!o.has(p))return null;u[p]===void 0&&(u[p]=[]),u[p].push(f.morphAttributes[p])}l.userData.mergedUserData=l.userData.mergedUserData||[],l.userData.mergedUserData.push(f.userData)}if(e){for(var d=0,h=[],c=0;c<n.length;++c){for(var m=n[c].index,A=0;A<m.count;++A)h.push(m.getX(A)+d);d+=n[c].attributes.position.count}l.setIndex(h)}for(var p in s){var g=mergeBufferAttributes(s[p]);if(!g)return null;l.setAttribute(p,g)}for(var p in u){var y=u[p][0].length;if(y===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[p]=[];for(var c=0;c<y;++c){for(var v=[],A=0;A<u[p].length;++A)v.push(u[p][A][c]);var E=mergeBufferAttributes(v);if(!E)return null;l.morphAttributes[p].push(E)}}return l}function mergeBufferAttributes(n){for(var t,e,r,o=0,s=0;s<n.length;++s){var u=n[s];if(u.isInterleavedBufferAttribute||(t===void 0&&(t=u.array.constructor),t!==u.array.constructor)||(e===void 0&&(e=u.itemSize),e!==u.itemSize)||(r===void 0&&(r=u.normalized),r!==u.normalized))return null;o+=u.array.length}for(var l=new t(o),c=0,s=0;s<n.length;++s)l.set(n[s].array,c),c+=n[s].array.length;return new THREE__namespace.BufferAttribute(l,e,r)}function mergeVertices(n,t){t===void 0&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var e={},r=n.getIndex(),o=n.getAttribute("position"),s=r?r.count:o.count,u=0,l=Object.keys(n.attributes),c={},f={},p=[],d=["getX","getY","getZ","getW"],h=0,m=l.length;h<m;h++){var A=l[h];c[A]=[];var g=n.morphAttributes[A];g&&(f[A]=new Array(g.length).fill().map(function(){return[]}))}for(var y=Math.log10(1/t),v=Math.pow(10,y),h=0;h<s;h++){for(var E=r?r.getX(h):h,b="",T=0,m=l.length;T<m;T++)for(var A=l[T],_=n.getAttribute(A),S=_.itemSize,w=0;w<S;w++)b+="".concat(~~(_[d[w]](E)*v),",");if(b in e)p.push(e[b]);else{for(var T=0,m=l.length;T<m;T++)for(var A=l[T],_=n.getAttribute(A),g=n.morphAttributes[A],S=_.itemSize,R=c[A],I=f[A],w=0;w<S;w++){var O=d[w];if(R.push(_[O](E)),g)for(var M=0,C=g.length;M<C;M++)I[M].push(g[M][O](E))}e[b]=u,p.push(u),u++}}for(var H=n.clone(),h=0,m=l.length;h<m;h++){var A=l[h],B=n.getAttribute(A),L=new B.array.constructor(c[A]),_=new THREE__namespace.BufferAttribute(L,B.itemSize,B.normalized);if(H.setAttribute(A,_),A in f)for(var T=0;T<f[A].length;T++){var k=n.morphAttributes[A][T],L=new k.array.constructor(f[A][T]),D=new THREE__namespace.BufferAttribute(L,k.itemSize,k.normalized);H.morphAttributes[A][T]=D}}return H.setIndex(p),H}var scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4$1=new THREE__namespace.Matrix4,scratchMatrix4Inverse=new THREE__namespace.Matrix4;function getEdgesBySphere(n,t,e){e===void 0&&(e=30/180*Math.PI);for(var r=Math.cos(e),o=[],s=0,u=n.children;s<u.length;s++){var l=u[s];l instanceof Tile3D&&l.tileset.selectedTiles.forEach(function(c){var f,p,d,h=(p=(f=c.content)===null||f===void 0?void 0:f.data)===null||p===void 0?void 0:p.object;if(h&&h.visible){var m=[];if(h.traverseVisible(function(Q){if(Q instanceof THREE__namespace.Mesh){var U=getBvhTreeForMesh(Q);if(U){scratchMatrix4$1.copy(Q.matrixWorld),scratchMatrix4Inverse.getInverse(scratchMatrix4$1),scratchSphere$1.copy(t).applyMatrix4(scratchMatrix4Inverse);var j=U.trianglesInSphere(scratchSphere$1.center,scratchSphere$1.radius),G=new THREE__namespace.BufferGeometry;G.setAttribute("position",new THREE__namespace.BufferAttribute(j,3)),G.applyMatrix4(Q.matrixWorld),G=mergeVertices(G,.01),m.push(G)}}}),m.length===0)return;for(var A=["a","b","c"],g=mergeBufferGeometries(m),y=g.getAttribute("position").array,v=((d=g.getIndex())===null||d===void 0?void 0:d.array)||[],E=[],b=[],T=0,_=y.length;T<_;T+=3){var S=new THREE__namespace.Vector3(y[T],y[T+1],y[T+2]);E.push(S)}for(var T=0,_=v.length;T<_;T+=3){var w=v[T],R=v[T+1],I=v[T+2],O=new THREE__namespace.Vector3().crossVectors(E[R].clone().sub(E[w]),E[I].clone().sub(E[w])).normalize();b.push({a:w,b:R,c:I,normal:O})}for(var M={},T=0,_=b.length;T<_;T++)for(var C=b[T],H=0;H<3;H++){var B=C[A[H]],L=C[A[(H+1)%3]],k=[Math.min(B,L),Math.max(B,L)],D=k[0]+"-"+k[1];M[D]===void 0?M[D]={index1:k[0],index2:k[1],face1:T}:M[D].face2=T}for(var D in M){var q=M[D];if(q.face2===void 0||b[q.face1].normal.dot(b[q.face2].normal)<=r){var z=E[q.index1],J=E[q.index2];o.push(new THREE__namespace.Line3(z,J))}}E.length=0,b.length=0}})}return o}var scratchBoundingBox$1=new THREE__namespace.Box3,scratchViewLayerBox=new THREE__namespace.Box3,scratchObserverBox$3=new THREE__namespace.Box3,Model=(function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o={});var s,u=n.call(this)||this;u.disposed=!1,u.parameter=new Parameter,u.outdated=!1,u.autoRefine=!0,u.metaPending=!1,u.loaded=!1,u.refined=!1,u.refineProgress=[0,0],u.boundingBox=new THREE__namespace.Box3,u.fiveId=e,u.needsRender=!1,u.work=r,u.name=r.workCode;for(var l=0,c=0,f=r.observers;c<f.length;c++){var p=f[c];l=Math.max(l,p.floorIndex)}if(u.floorLength=l+1,r.model){u.metaPending=!0;var d=loadViewLayers(r.model,{fetcher:getFetcher(u.fiveId,r),light:(s=o.light)!==null&&s!==void 0?s:!1,textureOptions:o.textureOptions,onError:function(h){return u.dispatchEvent({type:"error",error:h})}});u.initReady=Promise.all(d).then(function(h){if(u.metaPending=!1,h.length)if(u.disposed)for(var m=0,A=h;m<A.length;m++){var g=A[m];g.dispose()}else u.add.apply(u,h);return u}),u.loadedReady=new Promise(function(h){var m=function(){h(u),u.removeEventListener("load",m),u.removeEventListener("dispose",m)};u.addEventListener("load",m),u.addEventListener("dispose",m)})}else u.refined=!0,u.loaded=!0,u.initReady=Promise.resolve(u),u.loadedReady=Promise.resolve(u);return u.parameter.set("boundingBox",u.boundingBox.clone()),u}return t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)typeof e.dispose=="function"&&e.dispose(),this.remove(e);this.dispatchEvent({type:"dispose"})},Object.defineProperty(t.prototype,"empty",{get:function(){return this.children.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayers",{get:function(){return this.children},enumerable:!1,configurable:!0}),t.prototype.getEdgesBySphere=function(e,r){return r===void 0&&(r=30/180*Math.PI),getEdgesBySphere(this,e,r)},t.prototype.intersectRaycaster=function(e,r){var o=r!=null?r:[],s=e.sortByDistance;e.sortByDistance=!1;for(var u=0,l=this.children.length;u<l;u++){var c=this.children[u];c.visible&&typeof c.intersectRaycaster=="function"&&c.intersectRaycaster(e,o)}return e.sortByDistance=s,sortIntersects(o,e.sortByDistance,e.firstHitOnly),o},t.prototype.update=function(e,r,o){var s=!1;this.needsRender===!0&&(this.needsRender=!1,s=!0);var u=this.loaded;this.refined=!this.metaPending,this.loaded=!this.metaPending,this.refineProgress[0]=this.refineProgress[1]=0,this.work.transform.equals(this.matrix)||(this.matrix.copy(this.work.transform),this.matrix.decompose(this.position,this.quaternion,this.scale),this.matrixAutoUpdate=!1,s=!0);for(var l=0,c=this.children;l<c.length;l++){var f=c[l];f.autoRefine=this.autoRefine;var p=f.update(e,r,o,this);p&&(s=!0),f.refined===!1&&(this.refined=!1),f.loaded===!1&&(this.loaded=!1),this.refineProgress[0]+=f.refineProgress[0],this.refineProgress[1]+=f.refineProgress[1]}scratchBoundingBox$1.makeEmpty(),scratchObserverBox$3.copy(this.work.observerBox),scratchObserverBox$3.isEmpty()||(scratchObserverBox$3.max.x+=1,scratchObserverBox$3.max.z+=1,scratchObserverBox$3.max.y+=1,scratchObserverBox$3.min.x-=1,scratchObserverBox$3.min.z-=1,scratchBoundingBox$1.union(scratchObserverBox$3));for(var d=0,h=this.viewLayers;d<h.length;d++){var f=h[d];f.boundingBox.isEmpty()||(scratchViewLayerBox.copy(f.boundingBox),scratchBoundingBox$1.union(scratchViewLayerBox))}return scratchBoundingBox$1.applyMatrix4(this.matrix),scratchBoundingBox$1.equals(this.boundingBox)||(this.boundingBox.copy(scratchBoundingBox$1),this.parameter.set("boundingBox",scratchBoundingBox$1.clone())),u===!1&&this.loaded===!0&&this.dispatchEvent({type:"load"}),s},t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},Object.defineProperty(t.prototype,"shownFloor",{get:function(){return this.shownFloorIndex===-1?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=e===null?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=e!=null?e:null,this.dispatchEvent({type:"changeShownFloor",shownFloor:e})},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r)},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).shownFloorIndex},set:function(e){this.parameter.set("shownFloorIndex",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"brightness",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).brightness},set:function(e){this.parameter.set("brightness",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"clippers",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).clippers},set:function(e){this.parameter.set("clippers",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"customShaders",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).customShaders},set:function(e){this.parameter.set("customShaders",e)},enumerable:!1,configurable:!0}),t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.viewLayers;e<r.length;e++){var o=r[e];o.resetBrightness()}},t})(THREE__namespace.Object3D),scratchGeometry=createSimpleBoxBufferGeometry(1,1,1);scratchGeometry.applyMatrix4(new THREE__namespace.Matrix4().makeScale(-1,1,1));var versionMap=new WeakMap,cameraBoxSize=new THREE__namespace.Vector3(1,1,1),scratchBoundingBox=new THREE__namespace.Box3,scratchBoundingBoxSize=new THREE__namespace.Vector3,scratchCameraBox=new THREE__namespace.Box3,scratchPosition=new THREE__namespace.Vector3,scratchScale=new THREE__namespace.Vector3,BoundingMesh$1=(function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r=this,o,s=new PBMMeshMaterial("none");return s.flatShading=!0,s.depthWrite=!1,s.transparent=!1,s.blending=THREE__namespace.CustomBlending,s.blendSrc=THREE__namespace.SrcAlphaFactor,s.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,s.blendSrcAlpha=THREE__namespace.OneFactor,s.blendDstAlpha=THREE__namespace.OneMinusSrcAlphaFactor,r=n.call(this,scratchGeometry,[s])||this,r.name=(o=e.name)!==null&&o!==void 0?o:"",r.frustumCulled=!1,r.renderOrder=-999999,r}return t.prototype.update=function(e,r,o){var s=!1,u=Parameter.resolveValue(o.parameter);scratchBoundingBox.copy(u.boundingBox),scratchBoundingBox.getSize(scratchBoundingBoxSize);var l=Math.min(scratchBoundingBoxSize.x/2,500);scratchBoundingBox.min.x-=l,scratchBoundingBox.max.x+=l;var c=Math.min(scratchBoundingBoxSize.y/2,500);scratchBoundingBox.min.z-=c,scratchBoundingBox.max.z+=c;var f=scratchBoundingBoxSize.length()/2;if(scratchBoundingBox.max.y=Math.max(scratchBoundingBox.max.y,f),scratchBoundingBox.union(scratchCameraBox.setFromCenterAndSize(r.position,cameraBoxSize)),scratchBoundingBox.expandByScalar(1),scratchBoundingBox.getCenter(scratchPosition),scratchBoundingBox.getSize(scratchScale),scratchPosition.equals(this.position)||(this.position.copy(scratchPosition),s=!0),scratchScale.equals(this.scale)||(this.scale.copy(scratchScale),s=!0),versionMap.get(this)!==u.version){versionMap.set(this,u.version),s=!0;for(var p=this.material,d=0,h=p;d<h.length;d++){var m=h[d];m.customShaders=u.customShaders,m.pano0=u.pano0,m.pano1=u.pano1,m.refinedScreen=u.refinedScreen,m.modelAlpha=u.modelAlpha,m.progress=u.progress,m.transition=u.transition,m.opacity=u.opacity,m.floorStyle=u.floorStyle,m.constantColor=u.constantColor,m.shownFloorIndex=u.shownFloorIndex,m.clippers=u.clippers,m.brightness=u.brightness,m.logDepthAlpha=u.logDepthAlpha,m.useHQWeight=u.useHQWeight,m.useHQDepth=u.useHQDepth,m.colorSaturation=u.colorSaturation,m.colorBrightness=u.colorBrightness,m.gradientTexture=u.gradientTexture,m.transparent=!1,m.modelBoundingMax.copy(u.boundingBox.max),m.modelBoundingMin.copy(u.boundingBox.min),u.useAddBlend&&(m.opacity=0),m.opacity===0&&(m.visible=!1)}}return s},t.prototype.dispose=function(){for(var e=0,r=this.material;e<r.length;e++){var o=r[e];o.dispose(),o.pano0=null,o.pano1=null}},t})(PBMMesh),scratchBoundingBox3=new THREE__namespace.Box3,ModelScene=(function(n){__extends(t,n);function t(e){var r=n.call(this)||this;r.needsRender=!0,r.autoRefine=!0,r.boundingBox=new THREE__namespace.Box3,r.loaded=!1,r.refined=!1,r.refineProgress=[0,0],r.parameter=new Parameter,r.fiveId=e.fiveId,r.boundingMesh=new BoundingMesh$1({name:"bounding"}),r.add(r.boundingMesh);var o=r.models=[];r.shownModels=[],r.updateModelMap=new Map,r.parameter.set("boundingBox",r.boundingBox.clone());var s=r;return defineProperty(o,"autoUpdate",{get:function(){return s.autoRefine},set:function(u){s.autoRefine=u}}),defineProperty(o,"bounding",{get:function(){return s.boundingBox}}),defineProperty(o,"loaded",{get:function(){return s.loaded}}),defineProperty(o,"refined",{get:function(){return s.refined}}),defineProperty(o,"refineProgress",{get:function(){return s.refineProgress}}),defineProperty(o,"cacheCameras",{get:function(){return s.parameter.resolveValue().cacheCameras},set:function(u){s.parameter.set("cacheCameras",u)}}),defineProperty(o,"intersectRaycaster",{value:function(u){return s.intersectRaycaster(u)}}),defineProperty(o,"setMaterial",{value:function(u){return s.setMaterial(u)}}),defineProperty(o,"getMaterial",{value:function(){return s.getMaterial()}}),defineProperty(o,"resetBrightness",{value:function(){return s.resetBrightness()}}),r}return t.prototype.setModels=function(e,r){for(var o=this,s=e.map(function(c){var f=o.shownModels.filter(function(d){return d.work.workCode===c.workCode})[0];if(f||(f=o.models.filter(function(d){return d.work.workCode===c.workCode})[0],f))return f.work=c,f;f=new Model(o.fiveId,c,{light:r.light,textureOptions:r.textureOptions});var p=r["3d-tiles"];return f.initReady.then(function(){if(p)if(typeof p=="function")for(var d=0,h=f.viewLayers;d<h.length;d++){var m=h[d],A=p(m,f);A&&(A.viewerRequestVolume&&(m.viewerRequestVolume=makeBoundingVolume(A.viewerRequestVolume)),m.parameter.set(omit(A,["showLayers"])),A.showLayers===!1?m.visible=!1:Array.isArray(A.showLayers)&&(m.visible=A.showLayers.includes(m.name)))}else for(var g=0,y=f.viewLayers;g<y.length;g++){var m=y[g];p.viewerRequestVolume&&(m.viewerRequestVolume=makeBoundingVolume(p.viewerRequestVolume)),m.parameter.set(omit(p,["showLayers"])),p.showLayers===!1?m.visible=!1:Array.isArray(p.showLayers)&&(m.visible=p.showLayers.includes(m.name))}}),o.dispatchEvent({type:"model.create",model:f}),f}),u=0;u<this.models.length;u++){var l=this.models[u];s.indexOf(l)===-1&&this.shownModels.indexOf(l)===-1&&(l.dispose(),this.dispatchEvent({type:"model.dispose",model:l}))}this.models.length=0;for(var u=0;u<s.length;u++){var l=s[u];this.models.push(l)}if(r.forceReplaceImmediately&&!arrayEqual(this.models,this.shownModels)){for(var u=0;u<this.shownModels.length;u++){var l=this.shownModels[u];this.models.indexOf(l)===-1&&(l.dispose(),this.dispatchEvent({type:"model.dispose",model:l}))}this.shownModels.length=0;for(var u=0;u<this.models.length;u++)this.shownModels.push(this.models[u])}return this.loaded=!1,this.refined=!1,this.models},t.prototype.intersectRaycaster=function(e,r){var o=r!=null?r:[],s=this.shownModels.filter(function(p){return p.visible});if(s.length===1)s[0].intersectRaycaster(e,o);else{var u=e.sortByDistance;e.sortByDistance=!1;for(var l=0,c=s;l<c.length;l++){var f=c[l];f.intersectRaycaster(e,o)}e.sortByDistance=u,sortIntersects(o,e.sortByDistance,e.firstHitOnly)}return o},t.prototype.update=function(e,r){var o=!1;scratchBoundingBox3.makeEmpty(),this.loaded=this.models.length>0,this.refined=this.models.length>0,this.refineProgress[0]=this.refineProgress[1]=0,this.updateModelMap.clear();for(var s=0;s<this.models.length;s++){var u=this.models[s];if(!this.updateModelMap.has(u)){var l=u.autoRefine;this.autoRefine===!1&&(u.autoRefine=!1);var c=u.update(e,r,this);u.autoRefine=l,this.updateModelMap.set(u,c)}u.loaded===!1&&(this.loaded=!1),u.refined===!1&&(this.refined=!1),this.refineProgress[0]+=u.refineProgress[0],this.refineProgress[1]+=u.refineProgress[1]}if((this.loaded===!0||this.models.length===0)&&!arrayEqual(this.models,this.shownModels)){for(var s=0;s<this.shownModels.length;s++){var u=this.shownModels[s];this.models.indexOf(u)===-1&&(u.dispose(),this.dispatchEvent({type:"model.dispose",model:u}))}this.shownModels.length=0;for(var s=0;s<this.models.length;s++)this.shownModels.push(this.models[s]);o=!0}for(var s=0;s<this.shownModels.length;s++){var u=this.shownModels[s];if(!this.updateModelMap.has(u)){var l=u.autoRefine;(this.autoRefine===!1||this.models.indexOf(u)<0)&&(u.autoRefine=!1);var c=u.update(e,r,this);u.autoRefine=l,this.updateModelMap.set(u,c)}}for(var s=this.children.length-1;s>=0;s--){var u=this.children[s];u instanceof Model&&this.remove(u)}for(var s=0;s<this.shownModels.length;s++){var u=this.shownModels[s];this.updateModelMap.get(u)===!0&&(o=!0),scratchBoundingBox3.union(u.boundingBox),this.add(u)}scratchBoundingBox3.equals(this.boundingBox)||(this.boundingBox.copy(scratchBoundingBox3),this.parameter.set("boundingBox",this.boundingBox.clone()),o=!0);var f=this.boundingMesh.update(e,r,this);return f&&(o=!0),this.updateModelMap.clear(),this.needsRender=o,o},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.models;e<r.length;e++){var o=r[e];o.resetBrightness()}},t.prototype.dispose=function(){this.remove(this.boundingMesh),this.boundingMesh.dispose();for(var e=this.children.length-1;e>=0;e--){var r=this.children[e];r instanceof Model&&this.remove(r)}for(var o=arrayUnique(this.models.concat(this.shownModels)),e=0;e<this.shownModels.length;e++)o[e].dispose();this.models.length=0,this.shownModels.length=0,n.prototype.dispose.call(this)},t})(THREE__namespace.Scene);function workInitialToJson(n){var t={};return typeof n.mode!="undefined"&&(t.mode=n.mode),typeof n.panoIndex!="undefined"&&(t.pano_index=n.panoIndex),typeof n.longitude!="undefined"&&(t.longitude=n.longitude),typeof n.latitude!="undefined"&&(t.latitude=n.latitude),typeof n.fov!="undefined"&&(t.fov=n.fov),typeof n.distance!="undefined"&&(t.distance=n.distance),typeof n.offset!="undefined"&&(t.offset=n.offset.toArray()),t}function workModelToJson(n){var t;if(n)return{file_url:n.file,material_base_url:n.textureBase,material_textures:(t=n.textures)===null||t===void 0?void 0:t.slice(),up_axis:n.upAxis,layers:n.layers.map(function(e){return{tileset_url:e.tileset,up_axis:e.upAxis,name:e.name,type:e.type}})}}function workObserverToObserverJson(n){return{index:n.index,derived_id:n.derivedId,derived_id_str:n.derivedIdStr,floor_index:n.floorIndex,position:n.position.toArray(),standing_position:n.standingPosition.toArray(),quaternion:{x:n.quaternion.x,y:n.quaternion.y,z:n.quaternion.z,w:n.quaternion.w},visible_nodes:n.accessibleNodes.slice(),accessible_nodes:n.accessibleNodes.slice()}}function workObserverToPanoramaJson(n){return{index:n.index,active:n.active,loadable:n.loadable,derived_id:n.derivedId,derived_id_str:n.derivedIdStr,size_list:n.images.sizeList.slice(),up:n.images.up,down:n.images.down,right:n.images.right,left:n.images.left,front:n.images.front,back:n.images.back,video:n.images.video?{matrix:n.images.video.matrix.toArray(),size:n.images.video.size.toArray(),source:n.images.video.source}:void 0}}function workToJson(n){return{allow_hosts:n.allowHosts.slice(),expire_at:n.expire.getTime().toString(),project_id:n.projectId,code:n.workCode,name:n.name,base_url:n.baseURL,initial:workInitialToJson(n.initial),model:workModelToJson(n.model),observers:n.observers.map(function(t){return workObserverToObserverJson(t)}),panorama:{count:n.observers.length,list:n.observers.map(function(t){return workObserverToPanoramaJson(t)})}}}function isNumber(n){return typeof n=="number"}function jsonClone(n){if(typeof n!="object"||n===null)return n;if(Array.isArray(n))return n.map(function(o){return typeof o!="object"||o===null?o:jsonClone(o)});var t={};for(var e in n){var r=n[e];t[e]=typeof r!="object"||r===null?r:jsonClone(r)}return t}function getType(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function jsonMerge(n,t){var e=getType(n),r=getType(t);if(r==="null")return n;if(r==="value")return t;if(r!==e)return jsonClone(t);if(r==="array")for(var o=0;o<t.length;o++)n[o]=jsonMerge(n[o],t[o]);else if(r==="dict")for(var s in t)n[s]=jsonMerge(n[s],t[s]);return n}function jsonStableStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],f=jsonStableStrinfiy_(n[c],!0);f!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+f),s++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonStableStrinfiy(n){return jsonStableStrinfiy_(n,!1)}function jsonHash(n){return"hash::".concat(sha256(jsonStableStrinfiy(n)))}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],o=Math.floor(Number(r));if(!isNaN(o)&&isFinite(o))return{workCode:e,panoIndex:o}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var REG_STR="\\{([^\\}]+)\\}";function escapeRegexp(n){return n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function createRegExp(n){return new RegExp("^"+n.map(function(t){return escapeRegexp(t)}).join("(.+)")+"$")}var StringPattern=(function(){function n(t){this.strings=[],this.keys=[];for(var e=new RegExp(REG_STR,"g"),r,o=0;(r=e.exec(t))!==null;)this.strings.push(t.slice(o,r.index)),this.keys.push(r[1]),o=r.index+r[0].length;this.strings.push(t.slice(o))}return n.prototype.stringify=function(t){for(var e=[this.strings[0]],r=0;r<this.keys.length;r++){var o=t[this.keys[r]];e.push(String(o),this.strings[r+1])}return e.join("")},n.prototype.match=function(t){var e;this.matchRegexp=(e=this.matchRegexp)!==null&&e!==void 0?e:createRegExp(this.strings);var r=t.match(this.matchRegexp);if(!r)return null;for(var o={},s=0;s<this.keys.length;s++){var u=this.keys[s],l=r[s+1];if(o[u]!==l){if(o[u]!==void 0)return null;o[u]=l}}return o},n})();function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var URL_REGEXP=/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i,BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse((function n(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)})("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/rnyrr;p{/9/rnyrr;p|z/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),domainRegex=/^([^.]+)(\.([^.]+))*$/,currentHostname=typeof location!="undefined"?location.hostname:"localhost";function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){if(!domainRegex.test(n)||!domainRegex.test(t))return!1;if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var o=0;o<e.length;o++)if(e[o]!==r[o])return!1;return!0}function hostnameFromURL(n){if(/^blob\:/i.test(n)||/^data\:/i.test(n))return currentHostname;var t=n.match(URL_REGEXP);return t?t[2]:currentHostname}var error_invalid_input=function(){return new Error("Invalid input.")},error_invalid_certificate=function(){return new Error("Invalid certificate.")},error_invalid_signature=function(){return new Error("Invalid signature.")},error_date_expired=function(n){return new Error("Date(".concat(n.toString(),") expired."))},error_host_not_allowed=function(n){return new Error("Host(".concat(JSON.stringify(n),") is not allowed."))};function ObjectOmit(n,t){for(var e={},r=0,o=Object.keys(n);r<o.length;r++){var s=o[r];t.indexOf(s)===-1&&(e[s]=n[s])}return e}function jsonStableNoneNumberStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableNoneNumberStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],f=jsonStableNoneNumberStrinfiy_(n[c],!0);f!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+f),s++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function jsonStableNoneNumberStrinfiy(n){return String(jsonStableNoneNumberStrinfiy_(n,!1))}function verify(n){var t,e,r,o={};try{o=typeof n=="string"?JSON.parse(n):n}catch(y){return error_invalid_input()}if(typeof o!="object")return error_invalid_input();var s=currentHostname,u=Date.now(),l=new Date(typeof o.expire_at=="string"&&/^\d+$/.test(o.expire_at)?Number(o.expire_at):o.expire_at),c=Array.isArray(o.allow_hosts)?o.allow_hosts:[];if(s.length===0||isIPDomain(s)||BUILDIN_ALLOW_HOST.filter(function(y){return matchDomain(y,s)}).length>0){var f=String((t=o.certificate)!==null&&t!==void 0?t:"");if(f)try{var p=new X509;return p.readCertPEM(f),deepFreeze({issuer:p.getSubjectString(),expire:l,allowHosts:c})}catch(y){var d=y instanceof Error?y.message:String(y);console.warn("[PARSE Error]: Invalid Certificate. "+d)}return deepFreeze({issuer:"none",expire:l,allowHosts:c})}var h=String((e=o.certificate)!==null&&e!==void 0?e:"");if(!h)return error_invalid_certificate();var m=new X509;m.readCertPEM(h);var A=String((r=o._signature)!==null&&r!==void 0?r:"");if(!A)return error_invalid_signature();var g=jsonStableNoneNumberStrinfiy(ObjectOmit(o,["_signature"]));return verifyMessage(g,A,m)===!1?error_invalid_signature():u<l.getTime()?BUILDIN_ALLOW_HOST.concat(c).filter(function(y){return matchDomain(y,s)}).length===0?error_host_not_allowed(s):deepFreeze({issuer:m.getSubjectString(),expire:l,allowHosts:c}):error_date_expired(l)}function verifyURL(n,t){var e=hostnameFromURL(n);return currentHostname.length!==0&&!isIPDomain(currentHostname)&&BUILDIN_ALLOW_HOST.filter(function(r){return matchDomain(r,currentHostname)}).length===0&&!isIPDomain(e)&&BUILDIN_ALLOW_HOST.concat(t).filter(function(r){return matchDomain(r,e)}).length===0?error_host_not_allowed(e):n}var accessibleNodesSet=new Set,PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(1,1,1),FACE_ORDER$1=["right","left","up","down","front","back"];function relativeURL(n,t){if(!isAbsoluteURL(n))return n;if(n.indexOf(t)===0)return n.slice(t.length);var e=t.replace(/^https\:/,"http:");if(n.indexOf(e)===0)return n.slice(e.length);var r=t.replace(/^http\:/,"https:");return n.indexOf(r)===0?n.slice(r.length):(console.warn("".concat(n," is not start with base_url(").concat(t,").")),n)}function panoURL(n,t,e){return!isAbsoluteURL(n)&&typeof t=="string"&&t.length>0&&(n=pathJoin(t,String(e),n)),n}function getTileLevel(n){for(var t=10;t>=0;t--){var e=512*Math.pow(2,t);if(e<=n)return t}return null}function sortTile(n){n=n.slice().sort(function(u,l){return u.level-l.level});for(var t=[],e=0,r=n;e<r.length;e++){var o=r[e];if(t.length===0){t.push(o);continue}var s=t[t.length-1];if(o.level>s.level){t.push(o);continue}if(o.size>s.size){t[t.length-1]=o;continue}}return t}function parse(n,t){for(var e,r,o,s,u,l,c,f,p,d,h,m,A,g,y,v,E,b,T,_=[],S=null,w=0,R=[].concat(n);w<R.length;w++){var I=R[w];if("getURL"in I)S={allowHosts:I.allowHosts,expire:I.expire,issuer:I.issuer},_.push(workToJson(I));else{var O=typeof I=="string"?JSON.parse(I):jsonClone(I),M=verify(O);if(M instanceof Error)return M;S===null&&(S=M),_.push(O)}}if(S===null)return new Error("Empty");defineProperty(t,"issuer",{enumerable:!0,configurable:!1,writable:!1,value:S.issuer}),defineProperty(t,"expire",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(S.expire)}),defineProperty(t,"allowHosts",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(S.allowHosts)});var C=_.reduce(function(W,K){return jsonMerge(W,K)});defineProperty(t,"name",{enumerable:!0,configurable:!1,writable:!1,value:String((e=C.name)!==null&&e!==void 0?e:"Unknown")}),defineProperty(t,"workCode",{enumerable:!0,writable:!0,value:String(C.resource_code||C.basic_code||C.vr_code||C.code||C.project_id||C.work_code||C.workCode||createUuid())}),defineProperty(t,"projectId",{enumerable:!0,writable:!0,value:C.project_id}),defineProperty(t,"baseURL",{enumerable:!0,writable:!0,value:(function(){var W,K=(W=C.base_url)!==null&&W!==void 0?W:"";return K&&K[K.length-1]!=="/"&&(K+="/"),K})()});var H=void 0;typeof C.model=="object"&&(H={},defineProperty(H,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(H,"file",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W=C.model.file_url;if(W)return relativeURL(W,t.baseURL)})()}),defineProperty(H,"textureBase",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W=C.model.material_base_url;return W&&(W=relativeURL(W,t.baseURL)),W})()}),defineProperty(H,"textures",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W=void 0;return Array.isArray(C.model.material_textures)&&(W=C.model.material_textures.slice(),Object.freeze(W)),W})()}),defineProperty(H,"upAxis",{enumerable:!0,configurable:!1,writable:!1,value:C.model.up_axis}),defineProperty(H,"coordinate",{enumerable:!0,configurable:!1,writable:!1,value:(function(){return jsonClone(C.model.coordinate)})()}),defineProperty(H,"layers",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W,K,re,te=[];if(Array.isArray(C.model.layers))for(var ae=0,ve=C.model.layers;ae<ve.length;ae++){var ie=ve[ae];if(ie&&ie.tileset_url){var fe={};defineProperty(fe,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(fe,"name",{enumerable:!0,configurable:!1,writable:!1,value:(W=ie.name)!==null&&W!==void 0?W:""}),defineProperty(fe,"type",{enumerable:!0,configurable:!1,writable:!1,value:(K=ie.type)!==null&&K!==void 0?K:"mesh"}),defineProperty(fe,"upAxis",{enumerable:!0,configurable:!1,writable:!1,value:(re=ie.up_axis)!==null&&re!==void 0?re:"Z"}),defineProperty(fe,"tileset",{enumerable:!0,configurable:!1,writable:!1,value:relativeURL(ie.tileset_url,t.baseURL)}),te.push(fe)}}if(typeof C.model.tiles=="object"){var ie=C.model.tiles;if(ie&&ie.tileset_url){var fe={};defineProperty(fe,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(fe,"name",{enumerable:!0,configurable:!1,writable:!1,value:"lod"}),defineProperty(fe,"type",{enumerable:!0,configurable:!1,writable:!1,value:"mesh"}),defineProperty(fe,"upAxis",{enumerable:!0,configurable:!1,writable:!1,value:"-Y"}),defineProperty(fe,"tileset",{enumerable:!0,configurable:!1,writable:!1,value:relativeURL(ie.tileset_url,t.baseURL)}),te.push(fe)}}return Object.freeze(te)})()})),defineProperty(t,"model",{enumerable:!0,configurable:!1,writable:!1,value:H});var B=[];if(Array.isArray(C.observers)&&C.panorama&&Array.isArray(C.panorama.list||C.panorama.info)){for(var L=C.observers,k=(r=C.panorama.list||C.panorama.info)!==null&&r!==void 0?r:[],D=(f=(l=(s=(o=C.panorama)===null||o===void 0?void 0:o.pano_high_cube_base_url)!==null&&s!==void 0?s:(u=C.panorama)===null||u===void 0?void 0:u.pano_cube_base_url)!==null&&l!==void 0?l:(c=C.panorama)===null||c===void 0?void 0:c.base_url)!==null&&f!==void 0?f:"",q=Math.min(L.length,k.length),z={},J=function(W){var K=W,re=C.panorama.pattern[K];if(typeof re=="string"){var te=new StringPattern(re);z[K]=function(ae){return te.stringify(ae)}}else z[K]=function(){return re}},Q=0,U=Object.keys((p=C.panorama.pattern)!==null&&p!==void 0?p:{});Q<U.length;Q++){var j=U[Q];J(j)}for(var G=function(W,K){var re,te=z[K];return(re=W[K])!==null&&re!==void 0?re:te?te(W):void 0},oe=function(W){var K=L[W],re=k[W],te={};defineProperty(te,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(te,"index",{enumerable:!0,configurable:!1,writable:!1,value:W}),defineProperty(te,"panoIndex",{enumerable:!0,configurable:!1,writable:!1,value:W}),defineProperty(te,"panoId",{enumerable:!0,configurable:!1,writable:!1,value:panoStringify({workCode:t.workCode,panoIndex:W})}),defineProperty(te,"floorIndex",{enumerable:!0,configurable:!1,writable:!1,value:(d=K.floor_index)!==null&&d!==void 0?d:K.floor}),defineProperty(te,"derivedId",{enumerable:!0,configurable:!1,writable:!1,value:(m=(h=K.derived_id)!==null&&h!==void 0?h:G(re,"derived_id"))!==null&&m!==void 0?m:0}),defineProperty(te,"derivedIdStr",{enumerable:!0,configurable:!1,writable:!1,value:(g=(A=K.derived_id_str)!==null&&A!==void 0?A:G(re,"derived_id_str"))!==null&&g!==void 0?g:String(te.derivedId)}),defineProperty(te,"active",{enumerable:!0,configurable:!1,writable:!1,value:K.active!==!1&&G(re,"active")!==!1}),defineProperty(te,"loadable",{enumerable:!0,configurable:!1,writable:!1,value:(v=(y=K.loadable)!==null&&y!==void 0?y:G(re,"loadable"))!==null&&v!==void 0?v:!1}),defineProperty(te,"position",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Vector3().fromArray((E=K.position)!==null&&E!==void 0?E:[0,0,0]))}),defineProperty(te,"standingPosition",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Vector3().fromArray((T=(b=K.standing_position)!==null&&b!==void 0?b:K.standingPosition)!==null&&T!==void 0?T:[0,0,0]))}),defineProperty(te,"quaternion",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Quaternion().fromArray(K.quaternion?[K.quaternion.x,K.quaternion.y,K.quaternion.z,K.quaternion.w]:[0,0,0,1]))}),defineProperty(te,"matrix",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Matrix4().compose(te.position,te.quaternion,PANO_TEXTURE_SCALE))}),defineProperty(te,"accessibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:(function(){if(accessibleNodesSet.clear(),K.accessible_nodes&&Array.isArray(K.accessible_nodes))for(var ae=0,ve=K.accessible_nodes;ae<ve.length;ae++){var ie=ve[ae];ie>=q||ie===W||accessibleNodesSet.add(ie)}else if(K.accessibleNodes&&Array.isArray(K.accessibleNodes))for(var fe=0,Ee=K.accessibleNodes;fe<Ee.length;fe++){var ie=Ee[fe];ie>=q||ie===W||accessibleNodesSet.add(ie)}else if(K.visible_nodes&&Array.isArray(K.visible_nodes))for(var se=0,le=K.visible_nodes;se<le.length;se++){var ie=le[se];ie>=q||ie===W||accessibleNodesSet.add(ie)}else if(K.visibleNodes&&Array.isArray(K.visibleNodes))for(var me=0,ge=K.visibleNodes;me<ge.length;me++){var ie=ge[me];ie>=q||ie===W||accessibleNodesSet.add(ie)}if(accessibleNodesSet.size===0)for(var Ae=0;Ae<q;Ae++)Ae!==W&&accessibleNodesSet.add(Ae);var ue=Array.from(accessibleNodesSet);return accessibleNodesSet.clear(),Object.freeze(ue)})()}),defineProperty(te,"visibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:te.accessibleNodes}),defineProperty(te,"images",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var ae={};defineProperty(ae,"work",{enumerable:!1,configurable:!1,writable:!1,value:t});for(var ve=function(se){defineProperty(ae,se,{enumerable:!0,configurable:!1,writable:!1,value:(function(){var le;return relativeURL(panoURL((le=G(re,se))!==null&&le!==void 0?le:"",D,W),t.baseURL)})()})},ie=0,fe=FACE_ORDER$1;ie<fe.length;ie++){var Ee=fe[ie];ve(Ee)}return defineProperty(ae,"sizeList",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var se=getImageSizeFromURL(ae[FACE_ORDER$1[0]]),le=G(re,"size_list"),me=G(re,"tiles");if(se){if(le){var ge=le.slice().sort(function(_e,de){return _e-de});return Object.freeze(ge)}else if(me){for(var ge=[se],Ae=me.slice().sort(function(de,Ve){return de-Ve}),ue=0,be=Ae;ue<be.length;ue++){var Be=be[ue],Me=512*Math.pow(2,Be);Me>se&&ge.push(Me)}return Object.freeze(ge)}return Object.freeze([se])}return Object.freeze([])})()}),defineProperty(ae,"tiles",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var se=getImageSizeFromURL(ae.front);if(se){var le=ae.sizeList.slice();if(le[0]){var me=getTileLevel(le[0]);if(me)for(var ge=me-1;ge>=0;ge--)le.unshift(512*Math.pow(2,ge))}if(!(le.length<=0)){for(var Ae=[],ue=0,be=le;ue<be.length;ue++){var Be=be[ue],Me=getTileLevel(Be);if(typeof Me=="number"){var _e={};if(defineProperty(_e,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(_e,"level",{enumerable:!0,configurable:!1,writable:!1,value:Me}),Be>se){defineProperty(_e,"size",{enumerable:!0,configurable:!1,writable:!1,value:Be}),defineProperty(_e,"scale",{enumerable:!0,configurable:!1,writable:!1,value:1});for(var de=0,Ve=FACE_ORDER$1;de<Ve.length;de++){var ye=Ve[de];defineProperty(_e,ye,{enumerable:!0,configurable:!1,writable:!1,value:replaceImageSize(ae[ye],Be)})}}else{defineProperty(_e,"size",{enumerable:!0,configurable:!1,writable:!1,value:se}),defineProperty(_e,"scale",{enumerable:!0,configurable:!1,writable:!1,value:Be/se});for(var Pe=0,Ce=FACE_ORDER$1;Pe<Ce.length;Pe++){var ye=Ce[Pe];defineProperty(_e,ye,{enumerable:!0,configurable:!1,writable:!1,value:ae[ye]})}}Ae.push(_e)}}return Ae=sortTile(Ae),Object.freeze(Ae)}}})()}),defineProperty(ae,"video",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var se=G(re,"video"),le=void 0;return se&&(le={},defineProperty(le,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(le,"source",{enumerable:!0,configurable:!1,writable:!1,value:se.source}),defineProperty(le,"matrix",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Matrix4().fromArray(se.matrix)}),defineProperty(le,"size",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Vector2().fromArray(se.size)})),le})()}),ae})()}),B.push(te)},ee=0;ee<q;ee++)oe(ee)}defineProperty(t,"observers",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(B)});var Z={};if(defineProperty(Z,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),C.initial){if(t.observers.length>0){var $=void 0;isNumber(C.initial.panoIndex)?$=C.initial.panoIndex:isNumber(C.initial.pano_index)?$=C.initial.pano_index:isNumber(C.initial.pano)&&($=C.initial.pano),typeof $=="number"&&($=clamp$1($,0,t.observers.length-1),defineProperty(Z,"panoIndex",{enumerable:!0,writable:!0,value:$}))}if(C.initial.mode==="Panorama"&&t.observers.length===0||C.initial.mode==="Floorplan"||C.initial.mode==="Topview"||C.initial.mode==="Model"||C.initial.mode==="Mapview"?defineProperty(Z,"mode",{enumerable:!0,writable:!0,value:C.initial.mode}):typeof Z.panoIndex=="number"?defineProperty(Z,"mode",{enumerable:!0,writable:!0,value:"Panorama"}):defineProperty(Z,"mode",{enumerable:!0,writable:!0,value:"Mapview"}),isNumber(C.initial.latitude)&&defineProperty(Z,"latitude",{enumerable:!0,writable:!0,value:C.initial.latitude}),isNumber(C.initial.longitude)?defineProperty(Z,"longitude",{enumerable:!0,writable:!0,value:C.initial.longitude}):isNumber(C.initial.heading)&&defineProperty(Z,"longitude",{enumerable:!0,writable:!0,value:headingToLongitude(C.initial.heading)}),isNumber(C.initial.fov)&&defineProperty(Z,"fov",{enumerable:!0,writable:!0,value:C.initial.fov}),isNumber(C.initial.distance)&&defineProperty(Z,"distance",{enumerable:!0,writable:!0,value:C.initial.distance}),Array.isArray(C.initial.offset)){var X=C.initial.offset,ne=[0,0,0].map(function(W,K){var re=Number(X[K]);return isNaN(re)||!isFinite(re)?0:re});defineProperty(Z,"offset",{enumerable:!0,writable:!0,value:new THREE__namespace.Vector3().fromArray(ne)})}else typeof C.initial.offset=="object"&&typeof C.initial.offset.x=="number"&&typeof C.initial.offset.y=="number"&&typeof C.initial.offset.z=="number"&&defineProperty(Z,"offset",{enumerable:!0,writable:!0,value:new THREE__namespace.Vector3().fromArray([C.initial.offset.x,C.initial.offset.y,C.initial.offset.z])})}return defineProperty(t,"initial",{enumerable:!0,configurable:!1,writable:!1,value:Z}),t}function parseNull(n,t){return defineProperty(t,"issuer",{enumerable:!0,configurable:!1,writable:!1,value:"null"}),defineProperty(t,"expire",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new Date)}),defineProperty(t,"allowHosts",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(["*"])}),defineProperty(t,"name",{enumerable:!0,configurable:!1,writable:!1,value:"Null"}),defineProperty(t,"workCode",{enumerable:!0,value:"null-"+createUuid()}),defineProperty(t,"baseURL",{enumerable:!0,value:"/"}),defineProperty(t,"model",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(t,"observers",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze([])}),defineProperty(t,"initial",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var e={};return defineProperty(e,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(e,"mode",{enumerable:!0,writable:!0,value:"Mapview"}),e})()}),t}function parsePano(n,t){var e,r;return defineProperty(t,"issuer",{enumerable:!0,configurable:!1,writable:!1,value:"null"}),defineProperty(t,"expire",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new Date)}),defineProperty(t,"allowHosts",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(["*"])}),defineProperty(t,"name",{enumerable:!0,configurable:!1,writable:!1,value:String((e=n.name)!==null&&e!==void 0?e:"Unknown")}),defineProperty(t,"workCode",{enumerable:!0,writable:!0,value:(r=n.code)!==null&&r!==void 0?r:createUuid()}),defineProperty(t,"baseURL",{enumerable:!0,writable:!0,value:"/"}),defineProperty(t,"model",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(t,"observers",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var o={};return defineProperty(o,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(o,"index",{enumerable:!0,configurable:!1,writable:!1,value:0}),defineProperty(o,"panoIndex",{enumerable:!0,configurable:!1,writable:!1,value:0}),defineProperty(o,"panoId",{enumerable:!0,configurable:!1,writable:!1,value:panoStringify({workCode:t.workCode,panoIndex:0})}),defineProperty(o,"floorIndex",{enumerable:!0,configurable:!1,writable:!1,value:0}),defineProperty(o,"derivedId",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(o,"derivedIdStr",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(o,"active",{enumerable:!0,configurable:!1,writable:!1,value:!0}),defineProperty(o,"loadable",{enumerable:!0,configurable:!1,writable:!1,value:!1}),defineProperty(o,"position",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Vector3(0,1.5,0)}),defineProperty(o,"standingPosition",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Vector3(0,0,0)}),defineProperty(o,"quaternion",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Quaternion(0,1,0,0)}),defineProperty(o,"matrix",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Matrix4().compose(o.position,o.quaternion,PANO_TEXTURE_SCALE)}),defineProperty(o,"accessibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze([])}),defineProperty(o,"visibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:o.accessibleNodes}),defineProperty(o,"images",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var s={};defineProperty(s,"work",{enumerable:!1,configurable:!1,writable:!1,value:t});for(var u=0,l=FACE_ORDER$1;u<l.length;u++){var c=l[u];defineProperty(s,c,{enumerable:!0,configurable:!1,writable:!1,value:n[c]})}return defineProperty(s,"sizeList",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze([n.size])}),defineProperty(s,"tiles",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var f=getImageSizeFromURL(s.front);if(f){var p=s.sizeList.slice();if(p[0]){var d=getTileLevel(p[0]);if(d)for(var h=d-1;h>=0;h--)p.unshift(512*Math.pow(2,h))}if(!(p.length<=0)){for(var m=[],A=0,g=p;A<g.length;A++){var y=g[A],v=getTileLevel(y);if(typeof v=="number"){var E={};if(defineProperty(E,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(E,"level",{enumerable:!0,configurable:!1,writable:!1,value:v}),y>f){defineProperty(E,"size",{enumerable:!0,configurable:!1,writable:!1,value:y}),defineProperty(E,"scale",{enumerable:!0,configurable:!1,writable:!1,value:1});for(var b=0,T=FACE_ORDER$1;b<T.length;b++){var _=T[b];defineProperty(E,_,{enumerable:!0,configurable:!1,writable:!1,value:replaceImageSize(s[_],y)})}}else{defineProperty(E,"size",{enumerable:!0,configurable:!1,writable:!1,value:f}),defineProperty(E,"scale",{enumerable:!0,configurable:!1,writable:!1,value:y/f});for(var S=0,w=FACE_ORDER$1;S<w.length;S++){var _=w[S];defineProperty(E,_,{enumerable:!0,configurable:!1,writable:!1,value:s[_]})}}m.push(E)}}return m=sortTile(m),Object.freeze(m)}}})()}),defineProperty(s,"video",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),s})()}),Object.freeze([o])})()}),defineProperty(t,"initial",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var o={};return defineProperty(o,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(o,"mode",{enumerable:!0,writable:!0,value:"Panorama"}),defineProperty(o,"panoIndex",{enumerable:!0,writable:!0,value:0}),o})()}),t}var workVerifySet=new WeakSet,Work=(function(){function n(t,e){this.observerBox=new THREE__namespace.Box3,this.observerBox=new THREE__namespace.Box3,this.transform=new THREE__namespace.Matrix4,this.shortPath=!1,this.jsonp=!1;var r;if(t!==null?typeof t=="object"&&typeof t.size=="number"&&typeof t.up=="string"&&typeof t.down=="string"&&typeof t.right=="string"&&typeof t.left=="string"&&typeof t.front=="string"&&typeof t.back=="string"?r=parsePano(t,this):r=parse(t,this):r=parseNull(t,this),r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message+`
1026
+ `,uniforms:{diffuse:{value:new THREE__namespace.Color},opacity:{value:1},displacementScalar:{value:0}}};function createPipeBufferGeometry(n,t,e,r){for(var o=new Float32Array((e+1)*(r+1)*3),s=new Float32Array((e+1)*(r+1)*3),u=new Float32Array((e+1)*(r+1)*2),l=new Uint32Array(e*r*6),c=n.computeFrenetFrames(e),f=new THREE__namespace.Vector3,p=new THREE__namespace.Vector3,d=new THREE__namespace.Vector2,h=new THREE__namespace.Vector3,m=0;m<=e;m++){h=n.getPointAt(m/e,h);for(var A=c.normals[m],g=c.binormals[m],y=0;y<=r;y++){var v=m*(r+1)+y,E=y/r*Math.PI*2,b=Math.sin(E),T=-Math.cos(E);p.x=T*A.x+b*g.x,p.y=T*A.y+b*g.y,p.z=T*A.z+b*g.z,p.normalize(),p.toArray(s,v*3),f.x=h.x+t*p.x,f.y=h.y+t*p.y,f.z=h.z+t*p.z,f.toArray(o,v*3),d.x=m/e,d.y=y/r,d.toArray(u,v*2)}}for(var m=0;m<e;m++)for(var y=0;y<r;y++){var _=(m*r+y)*6,S=(r+1)*m+y,w=(r+1)*(m+1)+y,R=(r+1)*(m+1)+(y+1),I=(r+1)*m+(y+1);l[_]=S,l[_+1]=w,l[_+2]=I,l[_+3]=w,l[_+4]=R,l[_+5]=I}var O=new THREE__namespace.BufferGeometry;return O.setIndex(new THREE__namespace.BufferAttribute(l,1)),O.setAttribute("position",new THREE__namespace.BufferAttribute(o,3)),O.setAttribute("normal",new THREE__namespace.BufferAttribute(s,3)),O.setAttribute("uv",new THREE__namespace.BufferAttribute(u,2)),O}function parseTrajectoryObject(n,t){for(var e=new THREE__namespace.Color(0).convertSRGBToLinear(),r=new THREE__namespace.Color(52949).convertSRGBToLinear(),o=new THREE__namespace.Color(3370495).convertSRGBToLinear(),s=new THREE__namespace.Color(16777215).convertSRGBToLinear(),u=0,l=new THREE__namespace.CurvePath,c=n.length,f=3;f<c;f+=3){var p=new THREE__namespace.Vector3().fromArray(n,f-3),d=new THREE__namespace.Vector3().fromArray(n,f);u+=p.distanceTo(d);var h=new THREE__namespace.LineCurve3(p,d);l.add(h)}var m=.03,A=Math.ceil(u*100),g=6,y=createPipeBufferGeometry(l,m,A,g);y.clearGroups(),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,1),y.addGroup(0,y.index?y.index.count:y.attributes.position.count,2);var v=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});v.uniforms.totalLength.value=u,v.uniforms.diffuse.value=e,v.uniforms.diffuse2.value=e,v.uniforms.opacity.value=.5,v.transparent=!0;var E=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.BackSide});E.uniforms.totalLength.value=u,E.uniforms.displacementScalar.value=-.01,E.uniforms.diffuse.value=r,E.uniforms.diffuse2.value=o;var b=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_PIPE_SHADER.vertexShader,fragmentShader:TRAJECTOR_PIPE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_PIPE_SHADER.uniforms),side:THREE__namespace.DoubleSide});b.uniforms.totalLength.value=u,b.uniforms.displacementScalar.value=-.026,b.uniforms.dashSize.value=new THREE__namespace.Vector2(.06,.09),b.uniforms.diffuse.value=s,b.uniforms.diffuse2.value=s;var T=new THREE__namespace.Mesh(y,[v,E,b]),_=.08,S=24,w=new THREE__namespace.SphereBufferGeometry(_,S,S);w.clearGroups(),w.addGroup(0,y.index?y.index.count:y.attributes.position.count,0),w.addGroup(0,y.index?y.index.count:y.attributes.position.count,1);var R=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.BackSide});R.uniforms.diffuse.value=e,R.uniforms.opacity.value=.5,R.transparent=!0;var I=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});I.uniforms.displacementScalar.value=-.01,I.uniforms.diffuse.value=r;var O=new THREE__namespace.Mesh(w,[R,I]);O.position.fromArray(n,0),T.add(O);var M=new THREE__namespace.ShaderMaterial({vertexShader:TRAJECTOR_SPHERE_SHADER.vertexShader,fragmentShader:TRAJECTOR_SPHERE_SHADER.fragmentShader,uniforms:THREE__namespace.UniformsUtils.clone(TRAJECTOR_SPHERE_SHADER.uniforms),side:THREE__namespace.FrontSide});M.uniforms.displacementScalar.value=-.01,M.uniforms.diffuse.value=o;var C=new THREE__namespace.Mesh(w,[R,M]);return C.position.fromArray(n,n.length-3),T.add(C),{scene:T,dispose:function(){y.dispose(),v.dispose(),E.dispose(),b.dispose(),w.dispose(),R.dispose(),I.dispose(),M.dispose()}}}function loadTrajectory(n,t){var e=n.name,r=appendSearch(n.content.uri,t.search),o=imageURL(r,{key:"model.0"});return n.content.loadState="LOADING",n.content.loadStateUpdateTime=now(),loadPly(o,{type:"geometry",customPropertyMapping:{time:{itemType:"uint32",itemNames:["time_milisec"]}},fetcher:t.fetcher}).then(function(s){var u,l,c,f,p=(l=(u=s.scene.attributes)===null||u===void 0?void 0:u.time.array)!==null&&l!==void 0?l:[],d=(f=(c=s.scene.attributes)===null||c===void 0?void 0:c.position.array)!==null&&f!==void 0?f:[],h=s.byteLength,m=s.memoryUsage,A=parseTrajectoryObject(d);A.scene.applyMatrix4(n.transform),A.scene.updateWorldMatrix(!1,!0),A.scene.matrixAutoUpdate=!1;var g=new TrajectoryNode(e,A.scene);return n.content.data={uri:o,byteLength:h,memoryUsage:m,positionArray:d,timeArray:p,object:g},n.content.byteLength=h,n.content.memoryUsage=m,n.content.loadState="READY",n.content.loadStateUpdateTime=now(),n}).catch(function(s){return n.content.data=void 0,n.content.loadState="FAILED",n.content.loadStateUpdateTime=now(),s instanceof NetworkResponseError&&s.httpStatus===0||s instanceof NetworkTimeoutError||s instanceof NetworkProxyError?n.content.loadfailRetryDelay=clamp$1(n.content.loadfailRetryDelay+RETRY_DELAY_STEP,RETRY_DELAY_STEP,MAX_RETRY_DELAY):n.content.loadfailRetryDelay=1/0,Promise.reject(s)})}function unloadTrajectory(n){n.content&&(n.content.data&&n.content.data.object.dispose(),n.content.data=void 0,n.content.loadState="UNLOADED",n.content.loadStateUpdateTime=now(),n.content.byteLength=0,n.content.memoryUsage=0)}var scratchVector3$7=new THREE__namespace.Vector3,scratchMatrix3=new THREE__namespace.Matrix3,scratchMatrix4$3=new THREE__namespace.Matrix4,a=6378137,invF=298.257223563;function ecefToLla(n){for(var t=a-a/invF,e=(a*a-t*t)/(a*a),r=Math.sqrt(n.x*n.x+n.y*n.y),o=1e-12,s=1e3,u=0,l=Math.atan2(n.z,r),c=0;u++<s;){var f=Math.sin(l),p=a/Math.sqrt(1-e*f*f);c=r/Math.cos(l)-p;var d=Math.atan2(n.z/(p*(1-e)+c),r/(p+c));if(isNaN(d))break;var h=Math.abs(d-l);if(h<o)break;l=d}return n.set(l,Math.atan2(n.y,n.x),c)}function llaToEcef(n){var t=n.x,e=n.y,r=n.z,o=a-a/invF,s=(a*a-o*o)/(a*a),u=Math.sin(t),l=Math.cos(t),c=Math.sin(e),f=Math.cos(e),p=a/Math.sqrt(1-s*u*u),d=(p+r)*l*f,h=(p+r)*l*c,m=(o*o/(a*a)*p+r)*u;return n.set(d,h,m)}function getEcefToEnuMatrix(n,t){var e=ecefToLla(scratchVector3$7.copy(n)),r=e.x,o=e.y,s=e.z,u=Math.sin(r),l=Math.sin(o),c=Math.cos(r),f=Math.cos(o);t.fromArray([-l,-u*f,c*f,0,+f,-u*l,c*l,0,0,c,u,0,0,0,0,1]);var p=scratchMatrix3.setFromMatrix4(t),d=scratchVector3$7.copy(n).applyMatrix3(p).multiplyScalar(-1);t.setPosition(d);var h=scratchMatrix4$3.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,s,1]);return t.premultiply(h),t}var ROTATE_X_90_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),ROTATE_X_90_MATRIX_INVERSE=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),enuToLocalMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX),localToEnuMatrix=new THREE__namespace.Matrix4().copy(ROTATE_X_90_MATRIX_INVERSE);function getRecommendTile3dProps(n,t){var e,r,o;t===void 0&&(t={});var s,u,l,c=typeof n.tileset.rootMeta.creationTime=="string";if(c){var f=typeof n.tileset.rootMeta.numTotalPoints=="number"&&n.tileset.rootMeta.numTotalPoints>0;if(f){l=4,t.powerPreference==="high"&&(l=2),s=l/1.6;var p=0;if(((e=n.tileset.rootMeta.taskParameters)===null||e===void 0?void 0:e.point_homogenization)==="1"&&(!((r=n.tileset.rootMeta.taskParameters)===null||r===void 0)&&r.homo_point_density)){var d=Number((o=n.tileset.rootMeta.taskParameters)===null||o===void 0?void 0:o.homo_point_density);isFinite(d)&&!isNaN(d)&&(p=d)}p<=0&&(p=.02),u=p*1.4}else l=5,t.powerPreference==="high"&&(l=4),s=0,u=.03}else l=6,s=0,u=.03,n.name==="aerophoto"?(l=12,t.powerPreference==="high"&&(l=10)):n.tileset.asset.extras&&typeof n.tileset.asset.extras.name=="string"&&/^matterport\b/i.test(n.tileset.asset.extras.name)&&(l=5,t.powerPreference==="high"&&(l=4));return{pointScale:u,pointMinPixel:s,maxScreenSpaceError:l}}var scratchVector3$6=new THREE__namespace.Vector3,scratchSphereBoundingVolume=new SphereBoundingVolume,scratchBoxBoundingVolume=new BoxBoundingVolume,parameterVersionMap=new WeakMap,tileVersionMap=new WeakMap,trajectoryVersionMap=new WeakMap,STENCIL_CONSTANT={TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4},SKIP_BACKFACE_MATERIAL=(function(){var n=new THREE__namespace.MeshBasicMaterial;return n.side=THREE__namespace.BackSide,n.color.setHex(16711935),n.colorWrite=!1,n.stencilWrite=!0,n.polygonOffset=!0,n.polygonOffsetFactor=2,n.polygonOffsetUnits=2,n.stencilRef=STENCIL_CONSTANT.TILE_MASK,n.stencilFunc=THREE__namespace.AlwaysStencilFunc,n.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,n.stencilZPass=THREE__namespace.ReplaceStencilOp,n.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK,n})(),SKIP_BACKFACE_TRANSPARENT_MATERIAL=(function(){var n=new THREE__namespace.MeshBasicMaterial;return n.visible=!1,n})(),CLEAR_STENCIL_GEOMETRY=new THREE__namespace.BufferGeometry,CLEAR_STENCIL_MATERIAL=new THREE__namespace.MeshBasicMaterial;function cloneSkipBackfaceObject(n){var t;n instanceof THREE__namespace.Mesh?t=new THREE__namespace.Mesh(n.geometry,Array.isArray(n.material)?n.material.map(function(s){return s.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL}):n.material&&n.material.transparent?SKIP_BACKFACE_TRANSPARENT_MATERIAL:SKIP_BACKFACE_MATERIAL):n instanceof THREE__namespace.Group?t=new THREE__namespace.Group:t=new THREE__namespace.Object3D,t.position.copy(n.position),t.quaternion.copy(n.quaternion),t.scale.copy(n.scale),t.matrix.compose(n.position,n.quaternion,n.scale),t.matrixAutoUpdate=!1,t.frustumCulled=n.frustumCulled,t.visible=n.visible;for(var e=0,r=n.children;e<r.length;e++){var o=r[e];t.add(cloneSkipBackfaceObject(o))}return t}var Tile3D=(function(n){__extends(t,n);function t(e,r){var o,s,u=n.call(this)||this;return u.parameter=new Parameter,u.renderObjects=[],u.backfaceObjects=[],u.tileObjects=[],u.frameNumber=0,u.error=(o=r.error)!==null&&o!==void 0?o:null,u.name=r.name,u.type=r.type,u.upAxis=r.upAxis,u.light=r.light,u.fetcher=r.fetcher,u.search=(s=r.search)!==null&&s!==void 0?s:"",u.groundHeight=r.groundHeight,u.coordinateSystem=r.coordinateSystem,u.boundingBox=new THREE__namespace.Box3,u.autoRefine=!0,u.refined=!1,u.refineProgress=[0,0],u.loaded=!1,u.disposed=!1,u.clearStencilObject=new THREE__namespace.Mesh(CLEAR_STENCIL_GEOMETRY,CLEAR_STENCIL_MATERIAL),u.clearStencilObject.frustumCulled=!1,u.clearStencilObject.onAfterRender=function(l){return l.clearStencil()},u.tileset=new Tileset(e,{tileLoader:function(l){return u.loadContent(l)},tileUnloader:function(l){return u.unloadContent(l)},onTileLoad:function(){},onTileUnload:function(l){},onTileError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Tile error",l.id,c)},trajectoryLoader:function(l){return u.loadTrajectory(l)},trajectoryUnloader:function(l){return u.unloadTrajectory(l)},onTrajectoryLoad:function(){},onTrajectoryUnload:function(l){},onTrajectoryError:function(l,c){u.onError&&u.onError(Object.assign(c,{error:c})),console.error("Trajectory error",l,c)}}),u.tileset.root.boundingVolume&&u.tileset.root.boundingVolume.getBoundingBox(u.boundingBox),u}return Object.defineProperty(t.prototype,"viewerRequestVolume",{get:function(){return this.tileset.root.viewerRequestVolume},set:function(e){this.tileset.root.viewerRequestVolume=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tiles",{get:function(){return this.tileset.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trajectories",{get:function(){return this.tileset.trajectories},enumerable:!1,configurable:!0}),t.prototype.getRecommendProps=function(e){return e===void 0&&(e={}),getRecommendTile3dProps(this,e)},t.prototype.loadContent=function(e){var r=this;return loadTileContent(e,{light:this.light,fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){e.type==="SCENEGRAPH"&&(r.disposed||!e.content?unloadTileContent(e):e.content.data&&r.boundingBox.expandByObject(e.content.data.object))})},t.prototype.unloadContent=function(e){return unloadTileContent(e),Promise.resolve()},t.prototype.loadAllTilesets=function(){var e=this,r=function(o){var s=[];return e.tileset.root.traverse(function(u){var l;u.type==="TILESET"&&((l=u.content)===null||l===void 0?void 0:l.loadState)!=="READY"&&s.push(u)}),Promise.all(s.map(function(u){return e.loadContent(u).then(function(){return r()})})).then(function(){})};return r(this.tileset.root)},t.prototype.loadTrajectory=function(e){var r=this;return loadTrajectory(e,{fetcher:this.fetcher,search:this.search,renderer:this.renderer}).then(function(o){r.disposed&&unloadTrajectory(o)})},t.prototype.unloadTrajectory=function(e){return unloadTrajectory(e),Promise.resolve()},t.prototype.intersectRaycaster=function(e,r){var o=this,s,u,l=r!=null?r:[],c=[this.tileset.root],f=this.tileset.transform,p=(u=(s=e.params.Points)===null||s===void 0?void 0:s.threshold)!==null&&u!==void 0?u:0,d=e.hitFilter;e.hitFilter=function(T){var _;return Object.assign(T,{model:(_=o.parent)!==null&&_!==void 0?_:void 0,viewLayer:o}),d?d.call(e,T):!0};var h=e.sortByDistance;e.sortByDistance=!1;for(var m,A=1/0;m=c.pop();){var g=void 0;if(m.boundingVolume){var y=void 0;m.boundingVolume instanceof BoxBoundingVolume?y=scratchBoxBoundingVolume.copy(m.boundingVolume):m.boundingVolume instanceof SphereBoundingVolume?y=scratchSphereBoundingVolume.copy(m.boundingVolume):y=m.boundingVolume.clone(),y.applyMatrix4(f),g=y.intersectRay(e.ray,p,A)}else g=!0;if(g){for(var v=0,E=m.children.length;v<E;v++)c.push(m.children[v]);if(m.selected&&m.content&&m.content.data&&m.content.data.object.visible&&(m.content.data.object.intersectRaycaster(e,l),e.firstHitOnly)){var b=l[0];b&&A>b.distance&&(A=b.distance)}}}return e.hitFilter=d,e.sortByDistance=h,sortIntersects(l,e.sortByDistance,e.firstHitOnly),l},t.prototype.update=function(e,r,o,s){var u=this,l,c,f,p,d,h,m;this.renderer=e,this.frameNumber++;var A=!1,g=this.parameter.resolveValue(o.parameter,s.parameter);parameterVersionMap.get(this)!==g.version&&(parameterVersionMap.set(this,g.version),A=!0);var y=(p=this.visible&&((l=this.parent)===null||l===void 0?void 0:l.visible)&&((f=(c=this.parent)===null||c===void 0?void 0:c.parent)===null||f===void 0?void 0:f.visible))!==null&&p!==void 0?p:!1,v=g.maxLevelOfDetail;v=Math.max(v,0);var E=Math.min(g.minLevelOfDetail,v);(!y||!this.loaded||!o.loaded)&&(v=Math.max(E,0));var b=g.minGeometricError,T=g.maxRequests,_=r.controllerMode;(_==="Panorama"||_==="VRPanorama"||_==="XRPanorama")&&(g.modelAlpha<.1&&(b=g.panoramaMinGeometricError),g.progress>=.01&&g.progress<=.99&&(T=0));var S=g.maxGeometricError;S=Math.max(b,S);var w={time:r.time,camera:{type:r.type,position:new THREE__namespace.Vector3().copy(r.position),direction:r.getDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(r.up).applyQuaternion(r.quaternion),projectionMatrix:r.projectionMatrix.clone(),visible:r.visible,refine:r.refineModel},height:r.resolution.height,pixelRatio:r.pixelRatio,frameNumber:this.frameNumber,sseDenominator:2*Math.tan(.5*r.fov/180*Math.PI),cullingVolume:new CullingVolume().setFromCamera(r),minLevelOfDetail:E,maxLevelOfDetail:v,minGeometricError:b,maxGeometricError:S,skipLevelOfDetail:g.skipLevelOfDetail,mostDetail:g.mostDetail,loadSiblings:g.loadSiblings,cameraCulling:g.cameraCulling,maxMemoryUsage:g.maxMemoryUsage,maxRequests:T,requestOrder:g.requestOrder,maxScreenSpaceError:g.maxScreenSpaceError,memoryAdjustedOverflow:g.memoryAdjustedOverflow,memoryAdjustedScreenSpaceError:g.memoryAdjustedScreenSpaceError},R=g.cacheCameras.map(function(ue){return ue.updateProjectionMatrix(),__assign(__assign({},w),{camera:{type:r.type,position:new THREE__namespace.Vector3().copy(ue.position),direction:ue.getWorldDirection(new THREE__namespace.Vector3),up:new THREE__namespace.Vector3().copy(ue.up),projectionMatrix:ue.projectionMatrix.clone(),visible:ue.visible,refine:!0},cullingVolume:new CullingVolume().setFromCamera(ue)})});this.updateWorldMatrix(!0,!1),this.tileset.transform.equals(this.matrixWorld)||(this.tileset.transform.copy(this.matrixWorld),A=!0);var I=!this.autoRefine;if(I===!1){var O=g.progress>=.01&&g.progress<=.99;if(O){var M=new THREE__namespace.Vector3;g.pano0&&M.setFromMatrixPosition(g.pano0.matrix);var C=M.clone();g.pano1&&C.setFromMatrixPosition(g.pano1.matrix),M.distanceTo(C)<10&&(I=!0)}}if(I||this.tileset.update(w,R),this.refined=!0,this.refineProgress[0]=0,this.refineProgress[1]=0,this.tileset.needsRefinedTiles.forEach(function(ue){if(u.refineProgress[1]++,ue.content){var be=ue.content.loadState;if(be==="UNLOADED"||be==="LOADING"){u.refined=!1;return}}u.refineProgress[0]++}),this.loaded===!1&&this.autoRefine){this.loaded=!0;var H=!1;this.tileset.needsRefinedTiles.forEach(function(ue){if(u.loaded!==!1&&ue.content&&(ue.state.visible&&(H=!0),g.minLevelOfDetail>=0)){if(w.skipLevelOfDetail){if(ue.state.finalResolution){var be=ue.state.ancestorWithContentAvailable,Be=be&&be.content?be.content:ue.content,Me=Be.loadState;(Me==="UNLOADED"||Me==="LOADING")&&(u.loaded=!1)}}else if(ue.state.visible&&ue.levelOfContent<=0){var Me=ue.content.loadState;(Me==="UNLOADED"||Me==="LOADING")&&(u.loaded=!1)}}}),H&&this.tileset.selectedTiles.length===0&&this.tileset.frameNumber<500&&(this.loaded=!1),this.loaded===!0&&(this.refined=!1,this.refineProgress[1]++)}this.renderObjects.length=0,this.backfaceObjects.length=0,this.tileObjects.length=0;for(var B=this.children.length-1;B>=0;B--)this.remove(this.children[B]);w.skipLevelOfDetail||this.tileset.selectedTiles.sort(function(ue,be){return ue.floor!==be.floor?ue.floor-be.floor:ue.levelOfContent!==be.levelOfContent?be.levelOfContent-ue.levelOfContent:ue.state.distanceToCamera!==be.state.distanceToCamera?ue.state.distanceToCamera-be.state.distanceToCamera:ue.state.centerZDepth-be.state.centerZDepth});for(var L=[],k=0,D=this.tileset.selectedTiles;k<D.length;k++){var q=D[k],z=(h=(d=q.content)===null||d===void 0?void 0:d.data)===null||h===void 0?void 0:h.object;if(z){var J=z.update(e,r,o,this,q,g);if(L.push(q.id),J&&(A=!0),this.tileset.hasMixedContent&&w.skipLevelOfDetail){if(!q.state.finalResolution){var Q=cloneSkipBackfaceObject(z);Q.name="skipBackface:"+z.name,this.backfaceObjects.push(Q)}for(var U=q.state.selectionDepth,j=STENCIL_CONSTANT.TILE_MASK|U<<STENCIL_CONSTANT.SKIP_LOD_BIT_SHIFT,G=THREE__namespace.GreaterEqualStencilFunc,oe=STENCIL_CONSTANT.SKIP_LOD_MASK,ee=THREE__namespace.ReplaceStencilOp,Z=STENCIL_CONSTANT.TILE_MASK|STENCIL_CONSTANT.SKIP_LOD_MASK,$=0,X=z.materials;$<X.length;$++){var ne=X[$];ne.stencilWrite=!0,ne.stencilRef=j,ne.stencilFunc=G,ne.stencilFuncMask=oe,ne.stencilZPass=ee,ne.stencilWriteMask=Z}}else for(var W=0,K=z.materials;W<K.length;W++){var ne=K[W];ne.stencilWrite=!1,ne.stencilRef=STENCIL_CONSTANT.TILE_MASK,ne.stencilFunc=THREE__namespace.AlwaysStencilFunc,ne.stencilFuncMask=STENCIL_CONSTANT.TILE_MASK,ne.stencilZPass=THREE__namespace.ReplaceStencilOp,ne.stencilWriteMask=STENCIL_CONSTANT.TILE_MASK}this.tileObjects.push(z)}}var re=L.toString();if(tileVersionMap.get(this)!==re&&(tileVersionMap.set(this,re),A=!0),w.skipLevelOfDetail&&this.backfaceObjects.length)for(var B=0;B<this.backfaceObjects.length;B++)this.renderObjects.push(this.backfaceObjects[B]);if(this.tileObjects.length)for(var B=0;B<this.tileObjects.length;B++)this.renderObjects.push(this.tileObjects[B]);w.skipLevelOfDetail&&this.renderObjects.push(this.clearStencilObject);for(var te=[],ae=0,ve=this.tileset.selectedTrajectories;ae<ve.length;ae++){var ie=ve[ae],fe=(m=ie.content.data)===null||m===void 0?void 0:m.object;if(fe){var J=fe.update(e,r,o,this,ie,g);te.push(ie.id),J&&(A=!0),this.renderObjects.push(fe)}}var Ee=te.toString();if(trajectoryVersionMap.get(this)!==Ee&&(trajectoryVersionMap.set(this,Ee),A=!0),this.parent)for(var se=this.parent.children.length+1,le=Math.min(0,this.parent.children.indexOf(this)),me=(le-se)*1e4+1,ge=function(ue){var be=Ae.renderObjects[ue],Be=ue+me;be.traverse(function(Me){(Me instanceof THREE__namespace.Mesh||Me instanceof THREE__namespace.Line||Me instanceof THREE__namespace.Points)&&(Me.renderOrder=Be)})},Ae=this,B=0;B<this.renderObjects.length;B++)ge(B);if(this.loaded)for(var B=0;B<this.renderObjects.length;B++)this.add(this.renderObjects[B]);return A},t.prototype.dispose=function(){this.disposed=!0,this.tileset.reset(),this.tileset.root.children.length=0,/^blob\:/.test(this.tileset.id)&&URL.revokeObjectURL(this.tileset.id);for(var e=this.children.length-1;e>=0;e--)this.remove(this.children[e]);this.refined=!1,this.loaded=!1,this.refineProgress[0]=this.refineProgress[1]=0,this.error=null,this.onError=void 0,this.renderer=void 0},Object.defineProperty(t.prototype,"model",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scene",{get:function(){return this},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayer",{get:function(){return this},enumerable:!1,configurable:!0}),t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.enuToEcef=function(e){return e.applyMatrix4(this.coordinateSystem.enuToEcefMatrix)},t.prototype.ecefToEnu=function(e){return e.applyMatrix4(this.coordinateSystem.ecefToEnuMatrix)},t.prototype.localToEcef=function(e){return this.enuToEcef(this.localToEnu(e))},t.prototype.ecefToLocal=function(e){return this.enuToLocal(this.ecefToEnu(e))},t.prototype.localToLla=function(e){return ecefToLla(this.enuToEcef(this.localToEnu(e)))},t.prototype.llaToLocal=function(e){return this.enuToLocal(this.ecefToEnu(llaToEcef(e)))},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},t.prototype.worldToEcef=function(e){return this.localToEcef(this.worldToLocal(e))},t.prototype.ecefToWorld=function(e){return this.localToWorld(this.ecefToLocal(e))},t.prototype.worldToLla=function(e){return this.localToLla(this.worldToLocal(e))},t.prototype.llaToWorld=function(e){return this.localToWorld(this.llaToLocal(e))},Object.defineProperty(t.prototype,"coordinates",{get:function(){scratchVector3$6.setScalar(0);var e=this.localToLla(scratchVector3$6),r=e.x,o=e.y;return[r,o].map(function(s){return(s/Math.PI*180).toFixed(6)}).join(",")},enumerable:!1,configurable:!0}),t.prototype.getTransformMatrix4=function(e){return e===void 0&&(e=new THREE__namespace.Matrix4),e.copy(this.coordinateSystem.ecefToEnuMatrix),e.premultiply(enuToLocalMatrix),e.premultiply(this.matrixWorld),e},t.prototype.coordinatesToWorldPoint=function(e){var r=new THREE__namespace.Vector3(e.latitude,e.longitude,e.altitude);return this.llaToWorld(r)},t.prototype.worldPointToCoordinates=function(e){return scratchVector3$6.copy(e),this.worldToLla(scratchVector3$6),{latitude:scratchVector3$6.x,longitude:scratchVector3$6.y,altitude:scratchVector3$6.z}},t.prototype.resetBrightness=function(){this.parameter.reset("brightness")},Object.defineProperty(t.prototype,"minLevelOfDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).minLevelOfDetail},set:function(e){this.parameter.set("minLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLevelOfDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxLevelOfDetail},set:function(e){this.parameter.set("maxLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minGeometricError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).minGeometricError},set:function(e){this.parameter.set("minGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxGeometricError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxGeometricError},set:function(e){this.parameter.set("maxGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoramaMinGeometricError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).panoramaMinGeometricError},set:function(e){this.parameter.set("panoramaMinGeometricError",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skipLevelOfDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).skipLevelOfDetail},set:function(e){this.parameter.set("skipLevelOfDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mostDetail",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).mostDetail},set:function(e){this.parameter.set("mostDetail",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadSiblings",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).loadSiblings},set:function(e){this.parameter.set("loadSiblings",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxMemoryUsage",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxMemoryUsage},set:function(e){this.parameter.set("maxMemoryUsage",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxRequests",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxRequests},set:function(e){this.parameter.set("maxRequests",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"requestOrder",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).requestOrder},set:function(e){this.parameter.set("requestOrder",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxScreenSpaceError",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&(r.unshift(this.parent.parameter),this.parent.parent&&this.parent.parent.parameter instanceof Parameter&&r.unshift(this.parent.parent.parameter)),(e=this.parameter).resolveValue.apply(e,r).maxScreenSpaceError},set:function(e){this.parameter.set("maxScreenSpaceError",e)},enumerable:!1,configurable:!0}),t})(THREE__namespace.Object3D),fetchers={};function getFetcher(n,t){var e=fetchers[n];if(e){var r=e.get(t);if(r)return r}throw new Error("fetcher workCode:".concat(t.workCode," never registered."))}function registerFetcher(n,t,e){var r=fetchers[n];r||(r=fetchers[n]=new WeakMap),r.has(t)||r.set(t,e)}var identityMatrix4=new THREE__namespace.Matrix4,scratchVector3$5=new THREE__namespace.Vector3,scratchMatrix4$2=new THREE__namespace.Matrix4;function getEcefToEnuMatrixFromUpAxis(n,t,e){switch(n){case"Z":e.identity();break;case"WGS84":case"GCJ02":case"BD09":getEcefToEnuMatrix(t,e);break;default:e.identity();break}return e}function getExt(n){var t=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);if(t){var e=String(t[1]).trim().split(".").slice(1).reverse()[0];if(e)return e}return""}function loadViewLayer(n){var t,e=n.tilesetUrl.split("#"),r=e[0],o=e[1],s=(t=(o||r).split("?")[1])!==null&&t!==void 0?t:"";return n.fetcher.ajax(n.tilesetUrl,{responseType:"text"}).catch(function(u){return{error:u,body:JSON.stringify({asset:{version:"0.0"},geometricError:0,root:{geometricError:0}})}}).then(function(u){var l,c="error"in u?u.error:null,f=normalizeTilesetHeader(JSON.parse(u.body),n.tilesetUrl),p=f.root,d=f.rootMeta,h=d===void 0?{}:d,m=n.upAxis;h.upAxis&&h.upAxis!==m&&(m=h.upAxis),"lodVersion"in f&&(m="-Y","floorInfo"in f&&(f.properties=f.properties||{},f.properties.floorInfo=f.floorInfo.map(function(_){return{ground:-_.ground,height:_.height}}),f.floorInfo=void 0),f.asset.tilesetVersion=String(f.lodVersion),f.lodVersion=void 0);var A=m,g=new THREE__namespace.Matrix4;A==="Y"?(A="Z",g.fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1])):A==="-Y"&&(A="Z",g.fromArray([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]));var y=p.boundingVolume?makeBoundingVolume(p.boundingVolume):void 0;y&&p.transform&&y.applyMatrix4(scratchMatrix4$2.fromArray(p.transform));var v=null,E=new THREE__namespace.Matrix4,b=new THREE__namespace.Matrix4;h.coordinate?(v=h.coordinate.ground_height,E.fromArray(h.coordinate.pose_ecef_to_enu),b.fromArray(h.coordinate.pose_enu_to_ecef)):(y?y.getCenter(scratchVector3$5):scratchVector3$5.setScalar(0),scratchVector3$5.applyMatrix4(g),getEcefToEnuMatrixFromUpAxis(A,scratchVector3$5,E),b.getInverse(E)),f.root={refine:(l=p.refine)!==null&&l!==void 0?l:"REPLACE",geometricError:p.geometricError,transform:scratchMatrix4$2.copy(g).premultiply(A==="Z"?identityMatrix4:E).premultiply(enuToLocalMatrix).toArray(),boundingVolume:y?y.toJson():void 0,children:[p]};var T=new Tile3D(f,{name:n.name,type:n.type,upAxis:m,light:n.light,fetcher:n.fetcher,search:s,groundHeight:v,coordinateSystem:{enuToEcefMatrix:b,ecefToEnuMatrix:E},error:c});return T})}function loadViewLayers(n,t){var e,r,o=n.layers.map(function(d){return{tilesetUrl:d.work.getURL(d.tileset),name:d.name,type:d.type,upAxis:d.upAxis,light:t.light,fetcher:t.fetcher}});if(n.file){for(var s=!1,u=0,l=o;u<l.length;u++){var c=l[u];if(c.type==="mesh"){s=!0;break}}if(s===!1){var f=getExt(n.file)||"at3d",p=JSON.stringify({tilesetUrl:"",asset:{version:"0.0"},geometricError:0,root:{refine:"REPLACE",geometricError:0,transform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],content:{uri:n.work.getURL(n.file)},extras:(e={},e[f]={upAxis:n.upAxis,textureBaseUri:typeof n.textureBase=="string"?n.work.getURL(n.textureBase):void 0,textureArray:n.textures,textureOptions:(r=t.textureOptions)!==null&&r!==void 0?r:{}},e)},rootMeta:{coordinate:n.coordinate}});o.push({name:"fallback",type:"mesh",upAxis:"Z",tilesetUrl:URL.createObjectURL(new Blob([p],{type:"application/json"})),fetcher:t.fetcher,light:t.light})}}return o.map(function(d){return loadViewLayer(d).then(function(h){return t.onError&&(h.error&&t.onError(h.error),h.onError=t.onError),h})})}function createSimpleBoxBufferGeometry(n,t,e){n===void 0&&(n=1),t===void 0&&(t=1),e===void 0&&(e=1);var r=n/2,o=t/2,s=e/2,u=new Float32Array([-r,+o,+s,+r,+o,+s,+r,+o,-s,-r,+o,-s,-r,-o,+s,+r,-o,+s,+r,-o,-s,-r,-o,-s]),l=new Uint32Array([0,4,1,1,4,5,1,5,2,2,5,6,2,6,3,3,6,7,3,7,0,0,7,4,3,0,2,2,0,1,4,7,5,5,7,6]),c=new THREE__namespace.BufferGeometry;return c.setAttribute("position",new THREE__namespace.BufferAttribute(u,3)),c.setIndex(new THREE__namespace.BufferAttribute(l,1)),c.addGroup(0,c.index.count,0),c.computeBoundingBox(),c.computeBoundingSphere(),c}function mergeBufferGeometries(n,t){for(var e=n[0].index!==null,r=new Set(Object.keys(n[0].attributes)),o=new Set(Object.keys(n[0].morphAttributes)),s={},u={},l=new THREE__namespace.BufferGeometry,c=0;c<n.length;++c){var f=n[c];if(e!==(f.index!==null))return null;for(var p in f.attributes){if(!r.has(p))return null;s[p]===void 0&&(s[p]=[]),s[p].push(f.attributes[p])}for(var p in f.morphAttributes){if(!o.has(p))return null;u[p]===void 0&&(u[p]=[]),u[p].push(f.morphAttributes[p])}l.userData.mergedUserData=l.userData.mergedUserData||[],l.userData.mergedUserData.push(f.userData)}if(e){for(var d=0,h=[],c=0;c<n.length;++c){for(var m=n[c].index,A=0;A<m.count;++A)h.push(m.getX(A)+d);d+=n[c].attributes.position.count}l.setIndex(h)}for(var p in s){var g=mergeBufferAttributes(s[p]);if(!g)return null;l.setAttribute(p,g)}for(var p in u){var y=u[p][0].length;if(y===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[p]=[];for(var c=0;c<y;++c){for(var v=[],A=0;A<u[p].length;++A)v.push(u[p][A][c]);var E=mergeBufferAttributes(v);if(!E)return null;l.morphAttributes[p].push(E)}}return l}function mergeBufferAttributes(n){for(var t,e,r,o=0,s=0;s<n.length;++s){var u=n[s];if(u.isInterleavedBufferAttribute||(t===void 0&&(t=u.array.constructor),t!==u.array.constructor)||(e===void 0&&(e=u.itemSize),e!==u.itemSize)||(r===void 0&&(r=u.normalized),r!==u.normalized))return null;o+=u.array.length}for(var l=new t(o),c=0,s=0;s<n.length;++s)l.set(n[s].array,c),c+=n[s].array.length;return new THREE__namespace.BufferAttribute(l,e,r)}function mergeVertices(n,t){t===void 0&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var e={},r=n.getIndex(),o=n.getAttribute("position"),s=r?r.count:o.count,u=0,l=Object.keys(n.attributes),c={},f={},p=[],d=["getX","getY","getZ","getW"],h=0,m=l.length;h<m;h++){var A=l[h];c[A]=[];var g=n.morphAttributes[A];g&&(f[A]=new Array(g.length).fill().map(function(){return[]}))}for(var y=Math.log10(1/t),v=Math.pow(10,y),h=0;h<s;h++){for(var E=r?r.getX(h):h,b="",T=0,m=l.length;T<m;T++)for(var A=l[T],_=n.getAttribute(A),S=_.itemSize,w=0;w<S;w++)b+="".concat(~~(_[d[w]](E)*v),",");if(b in e)p.push(e[b]);else{for(var T=0,m=l.length;T<m;T++)for(var A=l[T],_=n.getAttribute(A),g=n.morphAttributes[A],S=_.itemSize,R=c[A],I=f[A],w=0;w<S;w++){var O=d[w];if(R.push(_[O](E)),g)for(var M=0,C=g.length;M<C;M++)I[M].push(g[M][O](E))}e[b]=u,p.push(u),u++}}for(var H=n.clone(),h=0,m=l.length;h<m;h++){var A=l[h],B=n.getAttribute(A),L=new B.array.constructor(c[A]),_=new THREE__namespace.BufferAttribute(L,B.itemSize,B.normalized);if(H.setAttribute(A,_),A in f)for(var T=0;T<f[A].length;T++){var k=n.morphAttributes[A][T],L=new k.array.constructor(f[A][T]),D=new THREE__namespace.BufferAttribute(L,k.itemSize,k.normalized);H.morphAttributes[A][T]=D}}return H.setIndex(p),H}var scratchSphere$1=new THREE__namespace.Sphere,scratchMatrix4$1=new THREE__namespace.Matrix4,scratchMatrix4Inverse=new THREE__namespace.Matrix4;function getEdgesBySphere(n,t,e){e===void 0&&(e=30/180*Math.PI);for(var r=Math.cos(e),o=[],s=0,u=n.children;s<u.length;s++){var l=u[s];l instanceof Tile3D&&l.tileset.selectedTiles.forEach(function(c){var f,p,d,h=(p=(f=c.content)===null||f===void 0?void 0:f.data)===null||p===void 0?void 0:p.object;if(h&&h.visible){var m=[];if(h.traverseVisible(function(Q){if(Q instanceof THREE__namespace.Mesh){var U=getBvhTreeForMesh(Q);if(U){scratchMatrix4$1.copy(Q.matrixWorld),scratchMatrix4Inverse.getInverse(scratchMatrix4$1),scratchSphere$1.copy(t).applyMatrix4(scratchMatrix4Inverse);var j=U.trianglesInSphere(scratchSphere$1.center,scratchSphere$1.radius),G=new THREE__namespace.BufferGeometry;G.setAttribute("position",new THREE__namespace.BufferAttribute(j,3)),G.applyMatrix4(Q.matrixWorld),G=mergeVertices(G,.01),m.push(G)}}}),m.length===0)return;for(var A=["a","b","c"],g=mergeBufferGeometries(m),y=g.getAttribute("position").array,v=((d=g.getIndex())===null||d===void 0?void 0:d.array)||[],E=[],b=[],T=0,_=y.length;T<_;T+=3){var S=new THREE__namespace.Vector3(y[T],y[T+1],y[T+2]);E.push(S)}for(var T=0,_=v.length;T<_;T+=3){var w=v[T],R=v[T+1],I=v[T+2],O=new THREE__namespace.Vector3().crossVectors(E[R].clone().sub(E[w]),E[I].clone().sub(E[w])).normalize();b.push({a:w,b:R,c:I,normal:O})}for(var M={},T=0,_=b.length;T<_;T++)for(var C=b[T],H=0;H<3;H++){var B=C[A[H]],L=C[A[(H+1)%3]],k=[Math.min(B,L),Math.max(B,L)],D=k[0]+"-"+k[1];M[D]===void 0?M[D]={index1:k[0],index2:k[1],face1:T}:M[D].face2=T}for(var D in M){var q=M[D];if(q.face2===void 0||b[q.face1].normal.dot(b[q.face2].normal)<=r){var z=E[q.index1],J=E[q.index2];o.push(new THREE__namespace.Line3(z,J))}}E.length=0,b.length=0}})}return o}var scratchBoundingBox$1=new THREE__namespace.Box3,scratchViewLayerBox=new THREE__namespace.Box3,scratchObserverBox$3=new THREE__namespace.Box3,Model=(function(n){__extends(t,n);function t(e,r,o){o===void 0&&(o={});var s,u=n.call(this)||this;u.disposed=!1,u.parameter=new Parameter,u.outdated=!1,u.autoRefine=!0,u.metaPending=!1,u.loaded=!1,u.refined=!1,u.refineProgress=[0,0],u.boundingBox=new THREE__namespace.Box3,u.fiveId=e,u.needsRender=!1,u.work=r,u.name=r.workCode;for(var l=0,c=0,f=r.observers;c<f.length;c++){var p=f[c];l=Math.max(l,p.floorIndex)}if(u.floorLength=l+1,r.model){u.metaPending=!0;var d=loadViewLayers(r.model,{fetcher:getFetcher(u.fiveId,r),light:(s=o.light)!==null&&s!==void 0?s:!1,textureOptions:o.textureOptions,onError:function(h){return u.dispatchEvent({type:"error",error:h})}});u.initReady=Promise.all(d).then(function(h){if(u.metaPending=!1,h.length)if(u.disposed)for(var m=0,A=h;m<A.length;m++){var g=A[m];g.dispose()}else u.add.apply(u,h);return u}),u.loadedReady=new Promise(function(h){var m=function(){h(u),u.removeEventListener("load",m),u.removeEventListener("dispose",m)};u.addEventListener("load",m),u.addEventListener("dispose",m)})}else u.refined=!0,u.loaded=!0,u.initReady=Promise.resolve(u),u.loadedReady=Promise.resolve(u);return u.parameter.set("boundingBox",u.boundingBox.clone()),u}return t.prototype.dispose=function(){this.disposed=!0;for(var e;e=this.children[0];)typeof e.dispose=="function"&&e.dispose(),this.remove(e);this.dispatchEvent({type:"dispose"})},Object.defineProperty(t.prototype,"empty",{get:function(){return this.children.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewLayers",{get:function(){return this.children},enumerable:!1,configurable:!0}),t.prototype.getEdgesBySphere=function(e,r){return r===void 0&&(r=30/180*Math.PI),getEdgesBySphere(this,e,r)},t.prototype.intersectRaycaster=function(e,r){var o=r!=null?r:[],s=e.sortByDistance;e.sortByDistance=!1;for(var u=0,l=this.children.length;u<l;u++){var c=this.children[u];c.visible&&typeof c.intersectRaycaster=="function"&&c.intersectRaycaster(e,o)}return e.sortByDistance=s,sortIntersects(o,e.sortByDistance,e.firstHitOnly),o},t.prototype.update=function(e,r,o){var s=!1;this.needsRender===!0&&(this.needsRender=!1,s=!0);var u=this.loaded;this.refined=!this.metaPending,this.loaded=!this.metaPending,this.refineProgress[0]=this.refineProgress[1]=0,this.work.transform.equals(this.matrix)||(this.matrix.copy(this.work.transform),this.matrix.decompose(this.position,this.quaternion,this.scale),this.matrixAutoUpdate=!1,s=!0);for(var l=0,c=this.children;l<c.length;l++){var f=c[l];f.autoRefine=this.autoRefine;var p=f.update(e,r,o,this);p&&(s=!0),f.refined===!1&&(this.refined=!1),f.loaded===!1&&(this.loaded=!1),this.refineProgress[0]+=f.refineProgress[0],this.refineProgress[1]+=f.refineProgress[1]}scratchBoundingBox$1.makeEmpty(),scratchObserverBox$3.copy(this.work.observerBox),scratchObserverBox$3.isEmpty()||(scratchObserverBox$3.max.x+=1,scratchObserverBox$3.max.z+=1,scratchObserverBox$3.max.y+=1,scratchObserverBox$3.min.x-=1,scratchObserverBox$3.min.z-=1,scratchBoundingBox$1.union(scratchObserverBox$3));for(var d=0,h=this.viewLayers;d<h.length;d++){var f=h[d];f.boundingBox.isEmpty()||(scratchViewLayerBox.copy(f.boundingBox),scratchBoundingBox$1.union(scratchViewLayerBox))}return scratchBoundingBox$1.applyMatrix4(this.matrix),scratchBoundingBox$1.equals(this.boundingBox)||(this.boundingBox.copy(scratchBoundingBox$1),this.parameter.set("boundingBox",scratchBoundingBox$1.clone())),u===!1&&this.loaded===!0&&this.dispatchEvent({type:"load"}),s},t.prototype.localToEnu=function(e){return e.applyMatrix4(localToEnuMatrix)},t.prototype.enuToLocal=function(e){return e.applyMatrix4(enuToLocalMatrix)},t.prototype.worldToEnu=function(e){return this.localToEnu(this.worldToLocal(e))},t.prototype.enuToWorld=function(e){return this.localToWorld(this.enuToLocal(e))},Object.defineProperty(t.prototype,"shownFloor",{get:function(){return this.shownFloorIndex===-1?null:this.shownFloorIndex},set:function(e){this.shownFloorIndex=e===null?-1:e},enumerable:!1,configurable:!0}),t.prototype.show=function(e){this.shownFloor=e!=null?e:null,this.dispatchEvent({type:"changeShownFloor",shownFloor:e})},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r)},Object.defineProperty(t.prototype,"shownFloorIndex",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).shownFloorIndex},set:function(e){this.parameter.set("shownFloorIndex",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"brightness",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).brightness},set:function(e){this.parameter.set("brightness",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"clippers",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).clippers},set:function(e){this.parameter.set("clippers",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"customShaders",{get:function(){var e,r=[];return this.parent&&this.parent.parameter instanceof Parameter&&r.unshift(this.parent.parameter),(e=this.parameter).resolveValue.apply(e,r).customShaders},set:function(e){this.parameter.set("customShaders",e)},enumerable:!1,configurable:!0}),t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.viewLayers;e<r.length;e++){var o=r[e];o.resetBrightness()}},t})(THREE__namespace.Object3D),scratchGeometry=createSimpleBoxBufferGeometry(1,1,1);scratchGeometry.applyMatrix4(new THREE__namespace.Matrix4().makeScale(-1,1,1));var versionMap=new WeakMap,cameraBoxSize=new THREE__namespace.Vector3(1,1,1),scratchBoundingBox=new THREE__namespace.Box3,scratchBoundingBoxSize=new THREE__namespace.Vector3,scratchCameraBox=new THREE__namespace.Box3,scratchPosition=new THREE__namespace.Vector3,scratchScale=new THREE__namespace.Vector3,BoundingMesh$1=(function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r=this,o,s=new PBMMeshMaterial("none");return s.flatShading=!0,s.depthWrite=!1,s.transparent=!1,s.blending=THREE__namespace.CustomBlending,s.blendSrc=THREE__namespace.SrcAlphaFactor,s.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,s.blendSrcAlpha=THREE__namespace.OneFactor,s.blendDstAlpha=THREE__namespace.OneMinusSrcAlphaFactor,r=n.call(this,scratchGeometry,[s])||this,r.name=(o=e.name)!==null&&o!==void 0?o:"",r.frustumCulled=!1,r.renderOrder=-999999,r}return t.prototype.update=function(e,r,o){var s=!1,u=Parameter.resolveValue(o.parameter);scratchBoundingBox.copy(u.boundingBox),scratchBoundingBox.getSize(scratchBoundingBoxSize);var l=Math.min(scratchBoundingBoxSize.x/2,500);scratchBoundingBox.min.x-=l,scratchBoundingBox.max.x+=l;var c=Math.min(scratchBoundingBoxSize.y/2,500);scratchBoundingBox.min.z-=c,scratchBoundingBox.max.z+=c;var f=scratchBoundingBoxSize.length()/2;if(scratchBoundingBox.max.y=Math.max(scratchBoundingBox.max.y,f),scratchBoundingBox.union(scratchCameraBox.setFromCenterAndSize(r.position,cameraBoxSize)),scratchBoundingBox.expandByScalar(1),scratchBoundingBox.getCenter(scratchPosition),scratchBoundingBox.getSize(scratchScale),scratchPosition.equals(this.position)||(this.position.copy(scratchPosition),s=!0),scratchScale.equals(this.scale)||(this.scale.copy(scratchScale),s=!0),versionMap.get(this)!==u.version){versionMap.set(this,u.version),s=!0;for(var p=this.material,d=0,h=p;d<h.length;d++){var m=h[d];m.customShaders=u.customShaders,m.pano0=u.pano0,m.pano1=u.pano1,m.refinedScreen=u.refinedScreen,m.modelAlpha=u.modelAlpha,m.progress=u.progress,m.transition=u.transition,m.opacity=u.opacity,m.floorStyle=u.floorStyle,m.constantColor=u.constantColor,m.shownFloorIndex=u.shownFloorIndex,m.clippers=u.clippers,m.brightness=u.brightness,m.logDepthAlpha=u.logDepthAlpha,m.useHQWeight=u.useHQWeight,m.useHQDepth=u.useHQDepth,m.colorSaturation=u.colorSaturation,m.colorBrightness=u.colorBrightness,m.gradientTexture=u.gradientTexture,m.transparent=!1,m.modelBoundingMax.copy(u.boundingBox.max),m.modelBoundingMin.copy(u.boundingBox.min),u.useAddBlend&&(m.opacity=0),m.opacity===0&&(m.visible=!1)}}return s},t.prototype.dispose=function(){for(var e=0,r=this.material;e<r.length;e++){var o=r[e];o.dispose(),o.pano0=null,o.pano1=null}},t})(PBMMesh),scratchBoundingBox3=new THREE__namespace.Box3,ModelScene=(function(n){__extends(t,n);function t(e){var r=n.call(this)||this;r.needsRender=!0,r.autoRefine=!0,r.boundingBox=new THREE__namespace.Box3,r.loaded=!1,r.refined=!1,r.refineProgress=[0,0],r.parameter=new Parameter,r.fiveId=e.fiveId,r.boundingMesh=new BoundingMesh$1({name:"bounding"}),r.add(r.boundingMesh);var o=r.models=[];r.shownModels=[],r.updateModelMap=new Map,r.parameter.set("boundingBox",r.boundingBox.clone());var s=r;return defineProperty(o,"autoUpdate",{get:function(){return s.autoRefine},set:function(u){s.autoRefine=u}}),defineProperty(o,"bounding",{get:function(){return s.boundingBox}}),defineProperty(o,"loaded",{get:function(){return s.loaded}}),defineProperty(o,"refined",{get:function(){return s.refined}}),defineProperty(o,"refineProgress",{get:function(){return s.refineProgress}}),defineProperty(o,"cacheCameras",{get:function(){return s.parameter.resolveValue().cacheCameras},set:function(u){s.parameter.set("cacheCameras",u)}}),defineProperty(o,"intersectRaycaster",{value:function(u){return s.intersectRaycaster(u)}}),defineProperty(o,"setMaterial",{value:function(u){return s.setMaterial(u)}}),defineProperty(o,"getMaterial",{value:function(){return s.getMaterial()}}),defineProperty(o,"resetBrightness",{value:function(){return s.resetBrightness()}}),r}return t.prototype.setModels=function(e,r){for(var o=this,s=e.map(function(c){var f=o.shownModels.filter(function(d){return d.work.workCode===c.workCode})[0];if(f||(f=o.models.filter(function(d){return d.work.workCode===c.workCode})[0],f))return f.work=c,f;f=new Model(o.fiveId,c,{light:r.light,textureOptions:r.textureOptions});var p=r["3d-tiles"];return f.initReady.then(function(){if(p)if(typeof p=="function")for(var d=0,h=f.viewLayers;d<h.length;d++){var m=h[d],A=p(m,f);A&&(A.viewerRequestVolume&&(m.viewerRequestVolume=makeBoundingVolume(A.viewerRequestVolume)),m.parameter.set(omit(A,["showLayers"])),A.showLayers===!1?m.visible=!1:Array.isArray(A.showLayers)&&(m.visible=A.showLayers.includes(m.name)))}else for(var g=0,y=f.viewLayers;g<y.length;g++){var m=y[g];p.viewerRequestVolume&&(m.viewerRequestVolume=makeBoundingVolume(p.viewerRequestVolume)),m.parameter.set(omit(p,["showLayers"])),p.showLayers===!1?m.visible=!1:Array.isArray(p.showLayers)&&(m.visible=p.showLayers.includes(m.name))}}),o.dispatchEvent({type:"model.create",model:f}),f}),u=0;u<this.models.length;u++){var l=this.models[u];s.indexOf(l)===-1&&this.shownModels.indexOf(l)===-1&&(l.dispose(),this.dispatchEvent({type:"model.dispose",model:l}))}this.models.length=0;for(var u=0;u<s.length;u++){var l=s[u];this.models.push(l)}if(r.forceReplaceImmediately&&!arrayEqual(this.models,this.shownModels)){for(var u=0;u<this.shownModels.length;u++){var l=this.shownModels[u];this.models.indexOf(l)===-1&&(l.dispose(),this.dispatchEvent({type:"model.dispose",model:l}))}this.shownModels.length=0;for(var u=0;u<this.models.length;u++)this.shownModels.push(this.models[u])}return this.loaded=!1,this.refined=!1,this.models},t.prototype.intersectRaycaster=function(e,r){var o=r!=null?r:[],s=this.shownModels.filter(function(p){return p.visible});if(s.length===1)s[0].intersectRaycaster(e,o);else{var u=e.sortByDistance;e.sortByDistance=!1;for(var l=0,c=s;l<c.length;l++){var f=c[l];f.intersectRaycaster(e,o)}e.sortByDistance=u,sortIntersects(o,e.sortByDistance,e.firstHitOnly)}return o},t.prototype.update=function(e,r){var o=!1;scratchBoundingBox3.makeEmpty(),this.loaded=this.models.length>0,this.refined=this.models.length>0,this.refineProgress[0]=this.refineProgress[1]=0,this.updateModelMap.clear();for(var s=0;s<this.models.length;s++){var u=this.models[s];if(!this.updateModelMap.has(u)){var l=u.autoRefine;this.autoRefine===!1&&(u.autoRefine=!1);var c=u.update(e,r,this);u.autoRefine=l,this.updateModelMap.set(u,c)}u.loaded===!1&&(this.loaded=!1),u.refined===!1&&(this.refined=!1),this.refineProgress[0]+=u.refineProgress[0],this.refineProgress[1]+=u.refineProgress[1]}if((this.loaded===!0||this.models.length===0)&&!arrayEqual(this.models,this.shownModels)){for(var s=0;s<this.shownModels.length;s++){var u=this.shownModels[s];this.models.indexOf(u)===-1&&(u.dispose(),this.dispatchEvent({type:"model.dispose",model:u}))}this.shownModels.length=0;for(var s=0;s<this.models.length;s++)this.shownModels.push(this.models[s]);o=!0}for(var s=0;s<this.shownModels.length;s++){var u=this.shownModels[s];if(!this.updateModelMap.has(u)){var l=u.autoRefine;(this.autoRefine===!1||this.models.indexOf(u)<0)&&(u.autoRefine=!1);var c=u.update(e,r,this);u.autoRefine=l,this.updateModelMap.set(u,c)}}for(var s=this.children.length-1;s>=0;s--){var u=this.children[s];u instanceof Model&&this.remove(u)}for(var s=0;s<this.shownModels.length;s++){var u=this.shownModels[s];this.updateModelMap.get(u)===!0&&(o=!0),scratchBoundingBox3.union(u.boundingBox),this.add(u)}for(var s=0;s<this.models.length;s++){var u=this.models[s];this.shownModels.indexOf(u)<0&&scratchBoundingBox3.union(u.boundingBox)}scratchBoundingBox3.equals(this.boundingBox)||(this.boundingBox.copy(scratchBoundingBox3),this.parameter.set("boundingBox",this.boundingBox.clone()),o=!0);var f=this.boundingMesh.update(e,r,this);return f&&(o=!0),this.updateModelMap.clear(),this.needsRender=o,o},Object.defineProperty(t.prototype,"bounding",{get:function(){return this.boundingBox},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e)},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},t.prototype.resetBrightness=function(){this.parameter.reset("brightness");for(var e=0,r=this.models;e<r.length;e++){var o=r[e];o.resetBrightness()}},t.prototype.dispose=function(){this.remove(this.boundingMesh),this.boundingMesh.dispose();for(var e=this.children.length-1;e>=0;e--){var r=this.children[e];r instanceof Model&&this.remove(r)}for(var o=arrayUnique(this.models.concat(this.shownModels)),e=0;e<this.shownModels.length;e++)o[e].dispose();this.models.length=0,this.shownModels.length=0,n.prototype.dispose.call(this)},t})(THREE__namespace.Scene);function workInitialToJson(n){var t={};return typeof n.mode!="undefined"&&(t.mode=n.mode),typeof n.panoIndex!="undefined"&&(t.pano_index=n.panoIndex),typeof n.longitude!="undefined"&&(t.longitude=n.longitude),typeof n.latitude!="undefined"&&(t.latitude=n.latitude),typeof n.fov!="undefined"&&(t.fov=n.fov),typeof n.distance!="undefined"&&(t.distance=n.distance),typeof n.offset!="undefined"&&(t.offset=n.offset.toArray()),t}function workModelToJson(n){var t;if(n)return{file_url:n.file,material_base_url:n.textureBase,material_textures:(t=n.textures)===null||t===void 0?void 0:t.slice(),up_axis:n.upAxis,layers:n.layers.map(function(e){return{tileset_url:e.tileset,up_axis:e.upAxis,name:e.name,type:e.type}})}}function workObserverToObserverJson(n){return{index:n.index,derived_id:n.derivedId,derived_id_str:n.derivedIdStr,floor_index:n.floorIndex,position:n.position.toArray(),standing_position:n.standingPosition.toArray(),quaternion:{x:n.quaternion.x,y:n.quaternion.y,z:n.quaternion.z,w:n.quaternion.w},visible_nodes:n.accessibleNodes.slice(),accessible_nodes:n.accessibleNodes.slice()}}function workObserverToPanoramaJson(n){return{index:n.index,active:n.active,loadable:n.loadable,derived_id:n.derivedId,derived_id_str:n.derivedIdStr,size_list:n.images.sizeList.slice(),up:n.images.up,down:n.images.down,right:n.images.right,left:n.images.left,front:n.images.front,back:n.images.back,video:n.images.video?{matrix:n.images.video.matrix.toArray(),size:n.images.video.size.toArray(),source:n.images.video.source}:void 0}}function workToJson(n){return{allow_hosts:n.allowHosts.slice(),expire_at:n.expire.getTime().toString(),project_id:n.projectId,code:n.workCode,name:n.name,base_url:n.baseURL,initial:workInitialToJson(n.initial),model:workModelToJson(n.model),observers:n.observers.map(function(t){return workObserverToObserverJson(t)}),panorama:{count:n.observers.length,list:n.observers.map(function(t){return workObserverToPanoramaJson(t)})}}}function isNumber(n){return typeof n=="number"}function jsonClone(n){if(typeof n!="object"||n===null)return n;if(Array.isArray(n))return n.map(function(o){return typeof o!="object"||o===null?o:jsonClone(o)});var t={};for(var e in n){var r=n[e];t[e]=typeof r!="object"||r===null?r:jsonClone(r)}return t}function getType(n){return n==null?"null":Array.isArray(n)?"array":typeof n=="object"?"dict":"value"}function jsonMerge(n,t){var e=getType(n),r=getType(t);if(r==="null")return n;if(r==="value")return t;if(r!==e)return jsonClone(t);if(r==="array")for(var o=0;o<t.length;o++)n[o]=jsonMerge(n[o],t[o]);else if(r==="dict")for(var s in t)n[s]=jsonMerge(n[s],t[s]);return n}function jsonStableStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],f=jsonStableStrinfiy_(n[c],!0);f!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+f),s++}return"{"+r+"}"}switch(e){case"function":return JSON.stringify(n.toString());case"undefined":return t?void 0:null;case"number":return n;default:return isFinite(n)?n:null}}function jsonStableStrinfiy(n){return jsonStableStrinfiy_(n,!1)}function jsonHash(n){return"hash::".concat(sha256(jsonStableStrinfiy(n)))}var PANO_ID_REG=/^(.*)\[(\d+)\]$/;function panoStringify(n){if(!isNaN(n.panoIndex)&&isFinite(n.panoIndex))return"".concat(n.workCode,"[").concat(n.panoIndex,"]");throw new Error("Invalid Pano")}function panoParse(n){var t=n.match(PANO_ID_REG);if(t){t[0];var e=t[1],r=t[2],o=Math.floor(Number(r));if(!isNaN(o)&&isFinite(o))return{workCode:e,panoIndex:o}}throw new Error("Invalid PanoId")}function panoEqual(n,t){return panoStringify(n)===panoStringify(t)}function isPanoId(n){return typeof n=="string"&&PANO_ID_REG.test(n)}var REG_STR="\\{([^\\}]+)\\}";function escapeRegexp(n){return n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function createRegExp(n){return new RegExp("^"+n.map(function(t){return escapeRegexp(t)}).join("(.+)")+"$")}var StringPattern=(function(){function n(t){this.strings=[],this.keys=[];for(var e=new RegExp(REG_STR,"g"),r,o=0;(r=e.exec(t))!==null;)this.strings.push(t.slice(o,r.index)),this.keys.push(r[1]),o=r.index+r[0].length;this.strings.push(t.slice(o))}return n.prototype.stringify=function(t){for(var e=[this.strings[0]],r=0;r<this.keys.length;r++){var o=t[this.keys[r]];e.push(String(o),this.strings[r+1])}return e.join("")},n.prototype.match=function(t){var e;this.matchRegexp=(e=this.matchRegexp)!==null&&e!==void 0?e:createRegExp(this.strings);var r=t.match(this.matchRegexp);if(!r)return null;for(var o={},s=0;s<this.keys.length;s++){var u=this.keys[s],l=r[s+1];if(o[u]!==l){if(o[u]!==void 0)return null;o[u]=l}}return o},n})();function deepFreeze(n){Object.freeze(n);var t=typeof n=="function",e=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(r){e.call(n,r)&&(!t||r!=="caller"&&r!=="callee"&&r!=="arguments")&&n[r]!==null&&(typeof n[r]=="object"||typeof n[r]=="function")&&!Object.isFrozen(n[r])&&deepFreeze(n[r])}),n}var URL_REGEXP=/^[0-9a-z]+\:\/\/(([^:/?#]*)(?::[0-9]+)?)/i,BUILDIN_ALLOW_HOST=deepFreeze(JSON.parse((function n(){var t=113,e=126,r=0,o="";return arguments[r].split(o).map(function(s){return s.charCodeAt(r)>e?s:String.fromCharCode((s.charCodeAt(r)+t)%e)}).join(o)})("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/rnyrr;p{/9/rnyrr;p|z/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/rnyrr;nv/9/;p{/9/pq{;p{/9/pnyp{|qr;vr/j"))),domainRegex=/^([^.]+)(\.([^.]+))*$/,currentHostname=typeof location!="undefined"?location.hostname:"localhost";function isIPDomain(n){return/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(n)}function matchDomain(n,t){if(!domainRegex.test(n)||!domainRegex.test(t))return!1;if(n==="*")return!0;var e=n.split(".").reverse(),r=t.split(".").reverse();if(e.length<=1)return n===t;for(var o=0;o<e.length;o++)if(e[o]!==r[o])return!1;return!0}function hostnameFromURL(n){if(/^blob\:/i.test(n)||/^data\:/i.test(n))return currentHostname;var t=n.match(URL_REGEXP);return t?t[2]:currentHostname}var error_invalid_input=function(){return new Error("Invalid input.")},error_invalid_certificate=function(){return new Error("Invalid certificate.")},error_invalid_signature=function(){return new Error("Invalid signature.")},error_date_expired=function(n){return new Error("Date(".concat(n.toString(),") expired."))},error_host_not_allowed=function(n){return new Error("Host(".concat(JSON.stringify(n),") is not allowed."))};function ObjectOmit(n,t){for(var e={},r=0,o=Object.keys(n);r<o.length;r++){var s=o[r];t.indexOf(s)===-1&&(e[s]=n[s])}return e}function jsonStableNoneNumberStrinfiy_(n,t){t===void 0&&(t=!1);var e=typeof n;if(e==="string")return JSON.stringify(n);if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(n instanceof Array){for(var r="[",o=n.length-1,s=0;s<o;s++)r+=jsonStableNoneNumberStrinfiy_(n[s],!1)+",";return o>-1&&(r+=jsonStableNoneNumberStrinfiy_(n[s],!1)),r+"]"}if(n instanceof Object){if(typeof n.toJSON=="function")return jsonStableNoneNumberStrinfiy_(n.toJSON(),t);for(var u=Object.keys(n).sort(),l=u.length,r="",s=0;s<l;){var c=u[s],f=jsonStableNoneNumberStrinfiy_(n[c],!0);f!==void 0&&(s&&r!==""&&(r+=","),r+=JSON.stringify(c)+":"+f),s++}return"{"+r+"}"}switch(e){case"function":case"undefined":return t?void 0:null;case"number":return 0;default:return isFinite(n)?n:null}}function jsonStableNoneNumberStrinfiy(n){return String(jsonStableNoneNumberStrinfiy_(n,!1))}function verify(n){var t,e,r,o={};try{o=typeof n=="string"?JSON.parse(n):n}catch(y){return error_invalid_input()}if(typeof o!="object")return error_invalid_input();var s=currentHostname,u=Date.now(),l=new Date(typeof o.expire_at=="string"&&/^\d+$/.test(o.expire_at)?Number(o.expire_at):o.expire_at),c=Array.isArray(o.allow_hosts)?o.allow_hosts:[];if(s.length===0||isIPDomain(s)||BUILDIN_ALLOW_HOST.filter(function(y){return matchDomain(y,s)}).length>0){var f=String((t=o.certificate)!==null&&t!==void 0?t:"");if(f)try{var p=new X509;return p.readCertPEM(f),deepFreeze({issuer:p.getSubjectString(),expire:l,allowHosts:c})}catch(y){var d=y instanceof Error?y.message:String(y);console.warn("[PARSE Error]: Invalid Certificate. "+d)}return deepFreeze({issuer:"none",expire:l,allowHosts:c})}var h=String((e=o.certificate)!==null&&e!==void 0?e:"");if(!h)return error_invalid_certificate();var m=new X509;m.readCertPEM(h);var A=String((r=o._signature)!==null&&r!==void 0?r:"");if(!A)return error_invalid_signature();var g=jsonStableNoneNumberStrinfiy(ObjectOmit(o,["_signature"]));return verifyMessage(g,A,m)===!1?error_invalid_signature():u<l.getTime()?BUILDIN_ALLOW_HOST.concat(c).filter(function(y){return matchDomain(y,s)}).length===0?error_host_not_allowed(s):deepFreeze({issuer:m.getSubjectString(),expire:l,allowHosts:c}):error_date_expired(l)}function verifyURL(n,t){var e=hostnameFromURL(n);return currentHostname.length!==0&&!isIPDomain(currentHostname)&&BUILDIN_ALLOW_HOST.filter(function(r){return matchDomain(r,currentHostname)}).length===0&&!isIPDomain(e)&&BUILDIN_ALLOW_HOST.concat(t).filter(function(r){return matchDomain(r,e)}).length===0?error_host_not_allowed(e):n}var accessibleNodesSet=new Set,PANO_TEXTURE_SCALE=new THREE__namespace.Vector3(1,1,1),FACE_ORDER$1=["right","left","up","down","front","back"];function relativeURL(n,t){if(!isAbsoluteURL(n))return n;if(n.indexOf(t)===0)return n.slice(t.length);var e=t.replace(/^https\:/,"http:");if(n.indexOf(e)===0)return n.slice(e.length);var r=t.replace(/^http\:/,"https:");return n.indexOf(r)===0?n.slice(r.length):(console.warn("".concat(n," is not start with base_url(").concat(t,").")),n)}function panoURL(n,t,e){return!isAbsoluteURL(n)&&typeof t=="string"&&t.length>0&&(n=pathJoin(t,String(e),n)),n}function getTileLevel(n){for(var t=10;t>=0;t--){var e=512*Math.pow(2,t);if(e<=n)return t}return null}function sortTile(n){n=n.slice().sort(function(u,l){return u.level-l.level});for(var t=[],e=0,r=n;e<r.length;e++){var o=r[e];if(t.length===0){t.push(o);continue}var s=t[t.length-1];if(o.level>s.level){t.push(o);continue}if(o.size>s.size){t[t.length-1]=o;continue}}return t}function parse(n,t){for(var e,r,o,s,u,l,c,f,p,d,h,m,A,g,y,v,E,b,T,_=[],S=null,w=0,R=[].concat(n);w<R.length;w++){var I=R[w];if("getURL"in I)S={allowHosts:I.allowHosts,expire:I.expire,issuer:I.issuer},_.push(workToJson(I));else{var O=typeof I=="string"?JSON.parse(I):jsonClone(I),M=verify(O);if(M instanceof Error)return M;S===null&&(S=M),_.push(O)}}if(S===null)return new Error("Empty");defineProperty(t,"issuer",{enumerable:!0,configurable:!1,writable:!1,value:S.issuer}),defineProperty(t,"expire",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(S.expire)}),defineProperty(t,"allowHosts",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(S.allowHosts)});var C=_.reduce(function(W,K){return jsonMerge(W,K)});defineProperty(t,"name",{enumerable:!0,configurable:!1,writable:!1,value:String((e=C.name)!==null&&e!==void 0?e:"Unknown")}),defineProperty(t,"workCode",{enumerable:!0,writable:!0,value:String(C.resource_code||C.basic_code||C.vr_code||C.code||C.project_id||C.work_code||C.workCode||createUuid())}),defineProperty(t,"projectId",{enumerable:!0,writable:!0,value:C.project_id}),defineProperty(t,"baseURL",{enumerable:!0,writable:!0,value:(function(){var W,K=(W=C.base_url)!==null&&W!==void 0?W:"";return K&&K[K.length-1]!=="/"&&(K+="/"),K})()});var H=void 0;typeof C.model=="object"&&(H={},defineProperty(H,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(H,"file",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W=C.model.file_url;if(W)return relativeURL(W,t.baseURL)})()}),defineProperty(H,"textureBase",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W=C.model.material_base_url;return W&&(W=relativeURL(W,t.baseURL)),W})()}),defineProperty(H,"textures",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W=void 0;return Array.isArray(C.model.material_textures)&&(W=C.model.material_textures.slice(),Object.freeze(W)),W})()}),defineProperty(H,"upAxis",{enumerable:!0,configurable:!1,writable:!1,value:C.model.up_axis}),defineProperty(H,"coordinate",{enumerable:!0,configurable:!1,writable:!1,value:(function(){return jsonClone(C.model.coordinate)})()}),defineProperty(H,"layers",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var W,K,re,te=[];if(Array.isArray(C.model.layers))for(var ae=0,ve=C.model.layers;ae<ve.length;ae++){var ie=ve[ae];if(ie&&ie.tileset_url){var fe={};defineProperty(fe,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(fe,"name",{enumerable:!0,configurable:!1,writable:!1,value:(W=ie.name)!==null&&W!==void 0?W:""}),defineProperty(fe,"type",{enumerable:!0,configurable:!1,writable:!1,value:(K=ie.type)!==null&&K!==void 0?K:"mesh"}),defineProperty(fe,"upAxis",{enumerable:!0,configurable:!1,writable:!1,value:(re=ie.up_axis)!==null&&re!==void 0?re:"Z"}),defineProperty(fe,"tileset",{enumerable:!0,configurable:!1,writable:!1,value:relativeURL(ie.tileset_url,t.baseURL)}),te.push(fe)}}if(typeof C.model.tiles=="object"){var ie=C.model.tiles;if(ie&&ie.tileset_url){var fe={};defineProperty(fe,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(fe,"name",{enumerable:!0,configurable:!1,writable:!1,value:"lod"}),defineProperty(fe,"type",{enumerable:!0,configurable:!1,writable:!1,value:"mesh"}),defineProperty(fe,"upAxis",{enumerable:!0,configurable:!1,writable:!1,value:"-Y"}),defineProperty(fe,"tileset",{enumerable:!0,configurable:!1,writable:!1,value:relativeURL(ie.tileset_url,t.baseURL)}),te.push(fe)}}return Object.freeze(te)})()})),defineProperty(t,"model",{enumerable:!0,configurable:!1,writable:!1,value:H});var B=[];if(Array.isArray(C.observers)&&C.panorama&&Array.isArray(C.panorama.list||C.panorama.info)){for(var L=C.observers,k=(r=C.panorama.list||C.panorama.info)!==null&&r!==void 0?r:[],D=(f=(l=(s=(o=C.panorama)===null||o===void 0?void 0:o.pano_high_cube_base_url)!==null&&s!==void 0?s:(u=C.panorama)===null||u===void 0?void 0:u.pano_cube_base_url)!==null&&l!==void 0?l:(c=C.panorama)===null||c===void 0?void 0:c.base_url)!==null&&f!==void 0?f:"",q=Math.min(L.length,k.length),z={},J=function(W){var K=W,re=C.panorama.pattern[K];if(typeof re=="string"){var te=new StringPattern(re);z[K]=function(ae){return te.stringify(ae)}}else z[K]=function(){return re}},Q=0,U=Object.keys((p=C.panorama.pattern)!==null&&p!==void 0?p:{});Q<U.length;Q++){var j=U[Q];J(j)}for(var G=function(W,K){var re,te=z[K];return(re=W[K])!==null&&re!==void 0?re:te?te(W):void 0},oe=function(W){var K=L[W],re=k[W],te={};defineProperty(te,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(te,"index",{enumerable:!0,configurable:!1,writable:!1,value:W}),defineProperty(te,"panoIndex",{enumerable:!0,configurable:!1,writable:!1,value:W}),defineProperty(te,"panoId",{enumerable:!0,configurable:!1,writable:!1,value:panoStringify({workCode:t.workCode,panoIndex:W})}),defineProperty(te,"floorIndex",{enumerable:!0,configurable:!1,writable:!1,value:(d=K.floor_index)!==null&&d!==void 0?d:K.floor}),defineProperty(te,"derivedId",{enumerable:!0,configurable:!1,writable:!1,value:(m=(h=K.derived_id)!==null&&h!==void 0?h:G(re,"derived_id"))!==null&&m!==void 0?m:0}),defineProperty(te,"derivedIdStr",{enumerable:!0,configurable:!1,writable:!1,value:(g=(A=K.derived_id_str)!==null&&A!==void 0?A:G(re,"derived_id_str"))!==null&&g!==void 0?g:String(te.derivedId)}),defineProperty(te,"active",{enumerable:!0,configurable:!1,writable:!1,value:K.active!==!1&&G(re,"active")!==!1}),defineProperty(te,"loadable",{enumerable:!0,configurable:!1,writable:!1,value:(v=(y=K.loadable)!==null&&y!==void 0?y:G(re,"loadable"))!==null&&v!==void 0?v:!1}),defineProperty(te,"position",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Vector3().fromArray((E=K.position)!==null&&E!==void 0?E:[0,0,0]))}),defineProperty(te,"standingPosition",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Vector3().fromArray((T=(b=K.standing_position)!==null&&b!==void 0?b:K.standingPosition)!==null&&T!==void 0?T:[0,0,0]))}),defineProperty(te,"quaternion",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Quaternion().fromArray(K.quaternion?[K.quaternion.x,K.quaternion.y,K.quaternion.z,K.quaternion.w]:[0,0,0,1]))}),defineProperty(te,"matrix",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new THREE__namespace.Matrix4().compose(te.position,te.quaternion,PANO_TEXTURE_SCALE))}),defineProperty(te,"accessibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:(function(){if(accessibleNodesSet.clear(),K.accessible_nodes&&Array.isArray(K.accessible_nodes))for(var ae=0,ve=K.accessible_nodes;ae<ve.length;ae++){var ie=ve[ae];ie>=q||ie===W||accessibleNodesSet.add(ie)}else if(K.accessibleNodes&&Array.isArray(K.accessibleNodes))for(var fe=0,Ee=K.accessibleNodes;fe<Ee.length;fe++){var ie=Ee[fe];ie>=q||ie===W||accessibleNodesSet.add(ie)}else if(K.visible_nodes&&Array.isArray(K.visible_nodes))for(var se=0,le=K.visible_nodes;se<le.length;se++){var ie=le[se];ie>=q||ie===W||accessibleNodesSet.add(ie)}else if(K.visibleNodes&&Array.isArray(K.visibleNodes))for(var me=0,ge=K.visibleNodes;me<ge.length;me++){var ie=ge[me];ie>=q||ie===W||accessibleNodesSet.add(ie)}if(accessibleNodesSet.size===0)for(var Ae=0;Ae<q;Ae++)Ae!==W&&accessibleNodesSet.add(Ae);var ue=Array.from(accessibleNodesSet);return accessibleNodesSet.clear(),Object.freeze(ue)})()}),defineProperty(te,"visibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:te.accessibleNodes}),defineProperty(te,"images",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var ae={};defineProperty(ae,"work",{enumerable:!1,configurable:!1,writable:!1,value:t});for(var ve=function(se){defineProperty(ae,se,{enumerable:!0,configurable:!1,writable:!1,value:(function(){var le;return relativeURL(panoURL((le=G(re,se))!==null&&le!==void 0?le:"",D,W),t.baseURL)})()})},ie=0,fe=FACE_ORDER$1;ie<fe.length;ie++){var Ee=fe[ie];ve(Ee)}return defineProperty(ae,"sizeList",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var se=getImageSizeFromURL(ae[FACE_ORDER$1[0]]),le=G(re,"size_list"),me=G(re,"tiles");if(se){if(le){var ge=le.slice().sort(function(_e,de){return _e-de});return Object.freeze(ge)}else if(me){for(var ge=[se],Ae=me.slice().sort(function(de,Ve){return de-Ve}),ue=0,be=Ae;ue<be.length;ue++){var Be=be[ue],Me=512*Math.pow(2,Be);Me>se&&ge.push(Me)}return Object.freeze(ge)}return Object.freeze([se])}return Object.freeze([])})()}),defineProperty(ae,"tiles",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var se=getImageSizeFromURL(ae.front);if(se){var le=ae.sizeList.slice();if(le[0]){var me=getTileLevel(le[0]);if(me)for(var ge=me-1;ge>=0;ge--)le.unshift(512*Math.pow(2,ge))}if(!(le.length<=0)){for(var Ae=[],ue=0,be=le;ue<be.length;ue++){var Be=be[ue],Me=getTileLevel(Be);if(typeof Me=="number"){var _e={};if(defineProperty(_e,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(_e,"level",{enumerable:!0,configurable:!1,writable:!1,value:Me}),Be>se){defineProperty(_e,"size",{enumerable:!0,configurable:!1,writable:!1,value:Be}),defineProperty(_e,"scale",{enumerable:!0,configurable:!1,writable:!1,value:1});for(var de=0,Ve=FACE_ORDER$1;de<Ve.length;de++){var ye=Ve[de];defineProperty(_e,ye,{enumerable:!0,configurable:!1,writable:!1,value:replaceImageSize(ae[ye],Be)})}}else{defineProperty(_e,"size",{enumerable:!0,configurable:!1,writable:!1,value:se}),defineProperty(_e,"scale",{enumerable:!0,configurable:!1,writable:!1,value:Be/se});for(var Pe=0,Ce=FACE_ORDER$1;Pe<Ce.length;Pe++){var ye=Ce[Pe];defineProperty(_e,ye,{enumerable:!0,configurable:!1,writable:!1,value:ae[ye]})}}Ae.push(_e)}}return Ae=sortTile(Ae),Object.freeze(Ae)}}})()}),defineProperty(ae,"video",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var se=G(re,"video"),le=void 0;return se&&(le={},defineProperty(le,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(le,"source",{enumerable:!0,configurable:!1,writable:!1,value:se.source}),defineProperty(le,"matrix",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Matrix4().fromArray(se.matrix)}),defineProperty(le,"size",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Vector2().fromArray(se.size)})),le})()}),ae})()}),B.push(te)},ee=0;ee<q;ee++)oe(ee)}defineProperty(t,"observers",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(B)});var Z={};if(defineProperty(Z,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),C.initial){if(t.observers.length>0){var $=void 0;isNumber(C.initial.panoIndex)?$=C.initial.panoIndex:isNumber(C.initial.pano_index)?$=C.initial.pano_index:isNumber(C.initial.pano)&&($=C.initial.pano),typeof $=="number"&&($=clamp$1($,0,t.observers.length-1),defineProperty(Z,"panoIndex",{enumerable:!0,writable:!0,value:$}))}if(C.initial.mode==="Panorama"&&t.observers.length===0||C.initial.mode==="Floorplan"||C.initial.mode==="Topview"||C.initial.mode==="Model"||C.initial.mode==="Mapview"?defineProperty(Z,"mode",{enumerable:!0,writable:!0,value:C.initial.mode}):typeof Z.panoIndex=="number"?defineProperty(Z,"mode",{enumerable:!0,writable:!0,value:"Panorama"}):defineProperty(Z,"mode",{enumerable:!0,writable:!0,value:"Mapview"}),isNumber(C.initial.latitude)&&defineProperty(Z,"latitude",{enumerable:!0,writable:!0,value:C.initial.latitude}),isNumber(C.initial.longitude)?defineProperty(Z,"longitude",{enumerable:!0,writable:!0,value:C.initial.longitude}):isNumber(C.initial.heading)&&defineProperty(Z,"longitude",{enumerable:!0,writable:!0,value:headingToLongitude(C.initial.heading)}),isNumber(C.initial.fov)&&defineProperty(Z,"fov",{enumerable:!0,writable:!0,value:C.initial.fov}),isNumber(C.initial.distance)&&defineProperty(Z,"distance",{enumerable:!0,writable:!0,value:C.initial.distance}),Array.isArray(C.initial.offset)){var X=C.initial.offset,ne=[0,0,0].map(function(W,K){var re=Number(X[K]);return isNaN(re)||!isFinite(re)?0:re});defineProperty(Z,"offset",{enumerable:!0,writable:!0,value:new THREE__namespace.Vector3().fromArray(ne)})}else typeof C.initial.offset=="object"&&typeof C.initial.offset.x=="number"&&typeof C.initial.offset.y=="number"&&typeof C.initial.offset.z=="number"&&defineProperty(Z,"offset",{enumerable:!0,writable:!0,value:new THREE__namespace.Vector3().fromArray([C.initial.offset.x,C.initial.offset.y,C.initial.offset.z])})}return defineProperty(t,"initial",{enumerable:!0,configurable:!1,writable:!1,value:Z}),t}function parseNull(n,t){return defineProperty(t,"issuer",{enumerable:!0,configurable:!1,writable:!1,value:"null"}),defineProperty(t,"expire",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new Date)}),defineProperty(t,"allowHosts",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(["*"])}),defineProperty(t,"name",{enumerable:!0,configurable:!1,writable:!1,value:"Null"}),defineProperty(t,"workCode",{enumerable:!0,value:"null-"+createUuid()}),defineProperty(t,"baseURL",{enumerable:!0,value:"/"}),defineProperty(t,"model",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(t,"observers",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze([])}),defineProperty(t,"initial",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var e={};return defineProperty(e,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(e,"mode",{enumerable:!0,writable:!0,value:"Mapview"}),e})()}),t}function parsePano(n,t){var e,r;return defineProperty(t,"issuer",{enumerable:!0,configurable:!1,writable:!1,value:"null"}),defineProperty(t,"expire",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(new Date)}),defineProperty(t,"allowHosts",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze(["*"])}),defineProperty(t,"name",{enumerable:!0,configurable:!1,writable:!1,value:String((e=n.name)!==null&&e!==void 0?e:"Unknown")}),defineProperty(t,"workCode",{enumerable:!0,writable:!0,value:(r=n.code)!==null&&r!==void 0?r:createUuid()}),defineProperty(t,"baseURL",{enumerable:!0,writable:!0,value:"/"}),defineProperty(t,"model",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(t,"observers",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var o={};return defineProperty(o,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(o,"index",{enumerable:!0,configurable:!1,writable:!1,value:0}),defineProperty(o,"panoIndex",{enumerable:!0,configurable:!1,writable:!1,value:0}),defineProperty(o,"panoId",{enumerable:!0,configurable:!1,writable:!1,value:panoStringify({workCode:t.workCode,panoIndex:0})}),defineProperty(o,"floorIndex",{enumerable:!0,configurable:!1,writable:!1,value:0}),defineProperty(o,"derivedId",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(o,"derivedIdStr",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),defineProperty(o,"active",{enumerable:!0,configurable:!1,writable:!1,value:!0}),defineProperty(o,"loadable",{enumerable:!0,configurable:!1,writable:!1,value:!1}),defineProperty(o,"position",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Vector3(0,1.5,0)}),defineProperty(o,"standingPosition",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Vector3(0,0,0)}),defineProperty(o,"quaternion",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Quaternion(0,1,0,0)}),defineProperty(o,"matrix",{enumerable:!0,configurable:!1,writable:!1,value:new THREE__namespace.Matrix4().compose(o.position,o.quaternion,PANO_TEXTURE_SCALE)}),defineProperty(o,"accessibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze([])}),defineProperty(o,"visibleNodes",{enumerable:!0,configurable:!1,writable:!1,value:o.accessibleNodes}),defineProperty(o,"images",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var s={};defineProperty(s,"work",{enumerable:!1,configurable:!1,writable:!1,value:t});for(var u=0,l=FACE_ORDER$1;u<l.length;u++){var c=l[u];defineProperty(s,c,{enumerable:!0,configurable:!1,writable:!1,value:n[c]})}return defineProperty(s,"sizeList",{enumerable:!0,configurable:!1,writable:!1,value:Object.freeze([n.size])}),defineProperty(s,"tiles",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var f=getImageSizeFromURL(s.front);if(f){var p=s.sizeList.slice();if(p[0]){var d=getTileLevel(p[0]);if(d)for(var h=d-1;h>=0;h--)p.unshift(512*Math.pow(2,h))}if(!(p.length<=0)){for(var m=[],A=0,g=p;A<g.length;A++){var y=g[A],v=getTileLevel(y);if(typeof v=="number"){var E={};if(defineProperty(E,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(E,"level",{enumerable:!0,configurable:!1,writable:!1,value:v}),y>f){defineProperty(E,"size",{enumerable:!0,configurable:!1,writable:!1,value:y}),defineProperty(E,"scale",{enumerable:!0,configurable:!1,writable:!1,value:1});for(var b=0,T=FACE_ORDER$1;b<T.length;b++){var _=T[b];defineProperty(E,_,{enumerable:!0,configurable:!1,writable:!1,value:replaceImageSize(s[_],y)})}}else{defineProperty(E,"size",{enumerable:!0,configurable:!1,writable:!1,value:f}),defineProperty(E,"scale",{enumerable:!0,configurable:!1,writable:!1,value:y/f});for(var S=0,w=FACE_ORDER$1;S<w.length;S++){var _=w[S];defineProperty(E,_,{enumerable:!0,configurable:!1,writable:!1,value:s[_]})}}m.push(E)}}return m=sortTile(m),Object.freeze(m)}}})()}),defineProperty(s,"video",{enumerable:!0,configurable:!1,writable:!1,value:void 0}),s})()}),Object.freeze([o])})()}),defineProperty(t,"initial",{enumerable:!0,configurable:!1,writable:!1,value:(function(){var o={};return defineProperty(o,"work",{enumerable:!1,configurable:!1,writable:!1,value:t}),defineProperty(o,"mode",{enumerable:!0,writable:!0,value:"Panorama"}),defineProperty(o,"panoIndex",{enumerable:!0,writable:!0,value:0}),o})()}),t}var workVerifySet=new WeakSet,Work=(function(){function n(t,e){this.observerBox=new THREE__namespace.Box3,this.observerBox=new THREE__namespace.Box3,this.transform=new THREE__namespace.Matrix4,this.shortPath=!1,this.jsonp=!1;var r;if(t!==null?typeof t=="object"&&typeof t.size=="number"&&typeof t.up=="string"&&typeof t.down=="string"&&typeof t.right=="string"&&typeof t.left=="string"&&typeof t.front=="string"&&typeof t.back=="string"?r=parsePano(t,this):r=parse(t,this):r=parseNull(t,this),r instanceof Error)throw new Error("[PARSE FAILED]: "+r.message+`
1027
1027
  Error work input:
1028
1028
  `+JSON.stringify(t));workVerifySet.add(this);for(var o=0,s=this.observers;o<s.length;o++){var u=s[o];this.observerBox.expandByPoint(u.position),this.observerBox.expandByPoint(u.standingPosition)}e.baseURL&&(this.baseURL=e.baseURL),e.transform&&(Array.isArray(e.transform)?this.transform.fromArray(e.transform):this.transform.copy(e.transform)),typeof e.jsonp=="boolean"&&(this.jsonp=e.jsonp),typeof e.shortPath=="boolean"&&(this.shortPath=e.shortPath),e.workCode&&(typeof e.workCode=="string"?this.workCode=e.workCode:typeof e.workCode=="function"&&(this.workCode=e.workCode(t)));{var l=this;this.options={get transform(){return l.transform}},this.raw={get works(){return[JSON.stringify(workToJson(l))]}}}}return n.prototype.getURL=function(t){var e;if(!isAbsoluteURL(t)){if(this.jsonp===!0){t=t.replace(/([\?\#].*)?$/i,"");var r=sha256("".concat(t)).slice(0,7);t="".concat(t,".").concat(r,".jsonp")}if(this.shortPath===!0){var o=t.replace(t,"").split("."),s=(e=o.shift())!==null&&e!==void 0?e:"",u=o.join(".");t=sha256(s)+(u?"."+u:"")}t=pathJoin(this.baseURL,t)}return t=getFullURL(t),t},n.prototype.verifyURL=function(t){return typeof verifyURL(this.getURL(t),this.allowHosts)=="string"},n.prototype.toJSON=function(){return workToJson(this)},n.parse=parseWork,n})();function parseWork(n,t){typeof n=="string"&&n.trim()[0]==="{"&&(n=JSON.parse(n));try{return new Work(n,t!=null?t:{})}catch(r){console.log(r);var e=r instanceof Error?r.message:String(r);throw new Error("[PARSE Error]: "+e+`
1029
1029
  Error work input:
@@ -2140,7 +2140,7 @@ void main() {
2140
2140
  #include <premultiplied_alpha_fragment>
2141
2141
 
2142
2142
  }
2143
- `},LineMaterial=(function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t})(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,f=0,p=r.count;c<p;c++,f+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[f]=f===0?0:s[f-1],s[f+1]=s[f]+u.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,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,y=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,E=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,g),g.w=1,g.applyMatrix4(s.matrixWorldInverse),g.applyMatrix4(u),g.multiplyScalar(1/g.w),g.x*=f.x/2,g.y*=f.y/2,g.z=0,y.copy(g);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=d.count;_<S;_++){m.fromBufferAttribute(d,_),A.fromBufferAttribute(h,_),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(u),A.applyMatrix4(u),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var w=m.z<-1&&A.z<-1,R=m.z>1&&A.z>1;if(!(w||R)){m.x*=f.x/2,m.y*=f.y/2,A.x*=f.x/2,A.y*=f.y/2,E.start.copy(m),E.start.z=0,E.end.copy(A),E.end.z=0;var I=E.closestPointToPointParameter(y,!0);E.at(I,b);var O=THREE__namespace.MathUtils.lerp(m.z,A.z,I),M=O>=-1&&O<=1,C=y.distanceTo(b)<p*.5;if(M&&C){E.start.fromBufferAttribute(d,_),E.end.fromBufferAttribute(h,_),E.start.applyMatrix4(T),E.end.applyMatrix4(T);var H=new THREE__namespace.Vector3,B=new THREE__namespace.Vector3;o.distanceSqToSegment(E.start,E.end,B,H),r.push({point:B,pointOnLine:H,distance:o.origin.distanceTo(B),object:this,faceIndex:_})}}}},t})(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t})(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t})(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=(function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.18"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t})(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,f,p,d;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(m){var A=u[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=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(f=h.sent(),s){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 s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=(function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n})(),Component=(function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n})(),MotionController=(function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n})(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,f=o.valueNodeProperty;s&&(f===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:f===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t})(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(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(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,f=l.assetPath;r.motionController=new MotionController(u,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 s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.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()]={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(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var f=r.xrManager.getControllerGrip(1);f.add(u.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 s=this,u,l,c,f=(u=r.effect)!==null&&u!==void 0?u:"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(R,I){return mapPanoResource(applyImageURLOptions(R,h,I))},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)},y="pano:"+jsonHash([g,A,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===y)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 E=this.modelScene.parameter.resolveValue(),b=E.pano0,T=E.pano1,_;if((b==null?void 0:b.map.name)===y?_=b:(T==null?void 0:T.map.name)===y&&(_=T),_){var S={panoId:p,effect:f,effectEasing:(c=r.effectEasing)!==null&&c!==void 0?c:defaultEffectEase,leftPanoPicture:{panoId:_.panoId,map:_.map,mapSize:_.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 w="move-to-pano-"+p;this.pending.add(w),this.pendingTextureTask={panoId:p,hash:y,onLoad:function(R){var I,O,M=R.body;if(s.destroyed)M.dispose();else{M.name=y;var C=Array.isArray(M.image)?M.image[0]:M.image,H=(I=C==null?void 0:C.width)!==null&&I!==void 0?I:2048,B={panoId:p,effect:f,effectEasing:(O=r.effectEasing)!==null&&O!==void 0?O:defaultEffectEase,leftPanoPicture:{panoId:p,map:M,mapSize:H,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(e,B,r)}},onError:function(R){var I=__assign(__assign(__assign({},e),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:R,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:I})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:I})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:A},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(this.fiveId,d.work)},void 0,void 0,function(R){var I,O;((I=s.pendingTextureTask)===null||I===void 0?void 0:I.hash)===y&&((O=s.panoMeshes.get(p))===null||O===void 0||O.setProgress(R)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:e}))},this.renderer).then(function(R){var I,O;s.pending.delete(w),((I=s.pendingTextureTask)===null||I===void 0?void 0:I.hash)===y?(s.pendingTextureTask.onLoad(R),s.pendingTextureTask=void 0,(O=s.panoMeshes.get(p))===null||O===void 0||O.setProgress(0)):R.body.dispose(),s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:R.meta,pano:e}))}).catch(function(R){var I,O;s.pending.delete(w),((I=s.pendingTextureTask)===null||I===void 0?void 0:I.hash)===y&&(s.pendingTextureTask.onError(R),s.pendingTextureTask=void 0,(O=s.panoMeshes.get(p))===null||O===void 0||O.setProgress(0)),s.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:e})),s.emit("error",R)}),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 s=this,u,l,c,f,p,d,h,m,A,g;o===void 0&&(o={});var y=now(),v=createUuid();this.panoResources[v]=r;var E=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(y);S[0];var w=S[1],R=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(w).position,O=r.position;b=Math.max(I.distanceTo(O),E),T=[{key:w.key,progress:0,value:__assign(__assign({},R),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var M=this.locationMotion.getKeyFrameSegment(y),C=M[0],w=M[1],R=this.locationMotion.value,H=this.panoResourceFromLocationMotionKeyframe(C).position,I=this.panoResourceFromLocationMotionKeyframe(w).position,O=r.position,B=w.value.count-R.count,L=Math.max(H.distanceTo(I),E)*B,k=Math.max(I.distanceTo(O),E);b=L+k,T=[{key:C.key,progress:0,value:__assign({},R)},{key:w.key,progress:L/b,value:w.value},{key:v,progress:1,value:{count:w.value.count+1,distance:0}}];var D=this.locationMotionKeyframesLength(this.locationMotion.keyframes),q=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(y)*D/q}var z=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"||r.effect==="model"?b:0),J={longitude:o.longitude,latitude:o.latitude,fov:o.fov},Q=__assign(__assign({},e),{mode:this.mode,longitude:(u=J.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=J.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=J.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:Q,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(Q),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(J,z).catch(noop);else{var j=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),G=coordinatesToVector({longitude:(f=J.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(p=J.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude}),oe=new THREE__namespace.Object3D;oe.lookAt(j);var ee=new THREE__namespace.Matrix4().makeRotationFromQuaternion(oe.quaternion);oe.lookAt(G);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(oe.quaternion),$=new THREE__namespace.Matrix4().getInverse(ee).premultiply(Z),X=this.cameraMotion.value.fov,ne=(d=J.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 K=ne*W,re=0;re<T.length-1;re++){var te=T[re].key;if(te){var ae=this.panoResources[te];ae&&(ae.fixCameraTransform.copy($),ae.leftPanoPicture&&(ae.leftPanoPicture.zoom=Math.tan(K/2/180*Math.PI)/Math.tan(X/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=J.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=J.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:K}},{progress:1,value:{longitude:(A=J.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(g=J.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:ne}}],z).catch(noop)}var ve=this.locationMotion.setKeyframes(T,z,_);ve.then(function(){for(var ie=0,fe=s.modelScene.children;ie<fe.length;ie++){var Ee=fe[ie];Ee instanceof Model&&Ee.show()}var se=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:U,progress:1,state:se,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(se);var le=s.works.getObserver(s.currentPano);if(le&&le.images.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var me={map:s.videoTexture,size:le.images.video.size.clone(),matrix:le.images.video.matrix.clone(),panoMatrix:le.matrix.clone().premultiply(le.work.transform),alpha:1},ge=createUuid(),Ae=s.videoTexture.image;Ae.setAttribute("uuid",ge),canplayVideo().then(function(ue){ue&&le.images.video&&Ae.getAttribute("uuid")===ge&&(Ae.oncanplay=function(){Ae.oncanplay=noop,Ae.play()},Ae.ontimeupdate=function(){Ae.currentTime>.5&&(Ae.ontimeupdate=noop,s.panoVideo.setMaterial(me))},Ae.src=le.images.video.source)}).catch((function(){Ae.removeAttribute("uuid")}))}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:U,progress:0,state:Q,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getObserver(this.currentPano);if(!u)return null;var l=u.work.observers,c=u.accessibleNodes.filter(function(_){if(_===r.currentPano.panoIndex&&u.work.workCode===r.currentPano.workCode)return!1;var S=l[_];if(!S)return!1;var w=scratchVector3.copy(S.position).applyMatrix4(S.work.transform);return w.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:S.loadable||S.active}),f=this.modelScene.intersectRaycaster(e)[0];if(f){var p=arrayMin(c,function(_){var S=l[_];if(!S)return 1/0;var w=scratchVector3.copy(S.standingPosition).applyMatrix4(S.work.transform);return w.distanceTo(f.point)},!0),d=p[0],h=p[1];typeof d=="number"&&h<this.panoTapTriggerRadius&&(s=(o=l[d])!==null&&o!==void 0?o:null)}if(isNil(s)){var m=this.getForwardObserverOrNot(this.xrManager.cameraVR,e);m&&(s=m)}for(var A=0,g=this.locationMotion.keyframes;A<g.length;A++){var y=g[A],v=this.panoResourceFromLocationMotionKeyframe(y);if(!(y.progress<this.locationMotion.progress)&&s){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode});if(v.panoId===E){s=null;break}}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),b=this.panoMeshes.get(E);b&&(b.setDisabled(!1),b.setLoading(!0))}var T={workCode:s.work.workCode,panoIndex:s.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:T,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:T,options:{},error:null})),{workCode:s.work.workCode,panoIndex:s.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,s,u,l,c,f,p,d,h,m,A=[],g=2;g<arguments.length;g++)A[g-2]=arguments[g];this.userAction=!0;var y={},v={},E=this.camera.getDirection(new THREE__namespace.Vector3),b=this.locationMotion.keyframes[0],T=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],_=this.locationMotion.getKeyFrameSegment(e),S=_[0],w=_[1],R=this.panoResourceFromLocationMotionKeyframe(S),I=this.panoResourceFromLocationMotionKeyframe(w),O=this.panoResourceFromLocationMotionKeyframe(b),M=this.panoResourceFromLocationMotionKeyframe(T),C=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),v.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),y.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var H=this.locationMotion.value.count-w.value.count+1,B=new THREE__namespace.Vector3().copy(R.position),L=new THREE__namespace.Vector3().copy(I.position);if(y.progress=H,H>=.01&&H<=.99&&(y.progress=clamp$1(I.effectEasing(H),.01,.99)),I.leftPanoPicture&&(H<1?R.leftPanoPicture&&(y.pano0=R.leftPanoPicture):y.pano0=I.leftPanoPicture,y.pano1=I.leftPanoPicture),I.effect==="montage"?y.transition="BLACK":I.effect==="spread"?y.transition="SPREAD":y.transition="FADE",I.effect==="zoomin"||I.effect==="zoomout")y.progress=Math.pow(H,3);else if(I.effect==="model"&&this.camera.pose.distance<.01){var k=1-Math.pow(clamp$1(Math.abs(H-.5)*2,0,1),4);y.modelAlpha=k}if(H<1&&I.effect!=="fly"){if(y.pano0&&R.leftPanoPicture){var D={panoId:y.pano0.panoId,map:y.pano0.map,mapSize:y.pano0.mapSize,zoom:y.pano0.zoom,matrix:R.leftPanoPicture.matrix.clone().setPosition(I.position)},q=this.panoPictureObserverMap.get(y.pano0);q&&this.panoPictureObserverMap.set(D,q),y.pano0=D}B.copy(L),C=!0}v.distance=this.locationMotion.value.distance,v.offset=new THREE__namespace.Vector3(B.x+(L.x-B.x)*H,B.y+(L.y-B.y)*H,B.z+(L.z-B.z)*H);for(var z=[],J=[],Q=0,U=this.locationMotion.keyframes;Q<U.length;Q++){var j=U[Q],G=j.key,oe=j.progress;G!==void 0&&(z.push(G),oe>this.locationMotion.progress&&J.push(G))}for(var ee=0,Z=Object.keys(this.panoResources);ee<Z.length;ee++){var $=Z[ee];if(!(J.indexOf($)>=0)){var X=this.panoResources[$];if(X.leftPanoPicture){var ne=X.leftPanoPicture.map;if(ne){if(ne===((s=y.pano0)===null||s===void 0?void 0:s.map)||ne===((u=y.pano1)===null||u===void 0?void 0:u.map))continue;ne.dispose(),X.leftPanoPicture=null}}z.indexOf($)>=0||delete this.panoResources[$]}}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(O.panoId),state:__assign(__assign(__assign(__assign({},panoParse(M.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 K=A,re=K[1],te=new THREE__namespace.Vector3(0,0,0),ae=new THREE__namespace.Vector2().copy(this.camera.resolution);if(re&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){var ve=this.xrManager.cameraVR,ie=this.xrManager.referenceSpace,fe=this.xrManager.session.renderState.baseLayer,Ee=re.getViewerPose(ie),se=(l=Ee==null?void 0:Ee.views)!==null&&l!==void 0?l:[];this.renderer.setFramebuffer(fe.framebuffer);for(var le=0;le<se.length;le++){var me=se[le],ge=ve.cameras[le],Ae=fe.getViewport(me);Ae&&(ge.projectionMatrix.fromArray(me.projectionMatrix),ge.projectionMatrixInverse.getInverse(ge.projectionMatrix),ge.matrix.fromArray(me.transform.matrix),ge.matrix.setPosition(this.camera.position),ge.matrix.decompose(ge.position,ge.quaternion,ge.scale),ge.matrixWorld.copy(ge.matrix),ge.matrixWorldInverse.getInverse(ge.matrixWorld),ge.matrixAutoUpdate=!1,te.copy(ge.position),ge.viewport.set(Ae.x,Ae.y,Ae.width,Ae.height),ae.set(Ae.width,Ae.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&&this.xrManager.session.inputSources){for(var le=0;le<this.xrManager.session.inputSources.length;le++)if(this.xrManager.session.inputSources[le]&&this.xrManager.session.inputSources[le].targetRayMode==="transient-pointer"){var ue=re.getPose(this.xrManager.session.inputSources[le].targetRaySpace,ie);if(ue){var be=ue.transform.orientation,Be=new THREE__namespace.Quaternion(be.x,be.y,be.z,be.w),Me=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(Be),_e=new THREE__namespace.Raycaster(this.camera.position,Me);this.gazeRay=_e}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var de=this.xrManager.session.inputSources,Ve=function(he){var Ie=ye.xrManager.controllers[he],Se=de[he];if(!Se)return"continue";Ie&&Ie.update(Se,re,ie);var qe=ye.xrManager.getController(he),rt=new THREE__namespace.Vector3(0,1.2,0),ut=qe.position.clone().add(te).sub(rt);Se.handedness==="left"?ye.xrControllerRay.left.set(ut,new THREE__namespace.Vector3(0,0,-1).applyEuler(qe.rotation)):Se.handedness==="right"&&ye.xrControllerRay.right.set(ut,new THREE__namespace.Vector3(0,0,-1).applyEuler(qe.rotation)),ye.controllerWrappers[he].position.copy(new THREE__namespace.Vector3(0,0,0).add(te).sub(rt));var Ke=ye.modelScene.intersectRaycaster(ye.xrControllerRay.right);if(Ke.length===0){var dt=ye.works.getResolvedObserver(ye.currentPano);Ke=ye.xrControllerRay.right.intersectObject(ye.modelScene.boundingMesh,!0).map(function(je){var Ye,De=(Ye=dt==null?void 0:dt.floorIndex)!==null&&Ye!==void 0?Ye:0;return __assign({floorIndex:De,floor:De},je)})}if(Ke.length>=1&&Ke[0].face)if(Se.handedness==="right"){var Pt=ye.xrControllerRay.right.intersectObject(ye.xrCustomObjectsScene,!0),P=Ke[0].face.normal,F=P.clone(),N=Ke[0].point.clone();ye.intersectMesh.position.copy(N);var V=N.clone().add(F);if(ye.intersectMesh.lookAt(V),Math.abs(P.y)>.99){var Y=ye.camera.position.clone().sub(N);ye.intersectMesh.rotation.z=-Math.atan2(Y.z,Y.x)}ye.intersectMesh.visible=!0,ye.needsRender=!0,Pt.length>0?(ye.pointerLines.right.setPoints(ut,Pt[0].point),ye.pointerLines.right.points.visible=!0,ye.intersectMesh.visible=!1):(ye.pointerLines.right.points.visible=!1,ye.pointerLines.right.setPoints(ut,Ke[0].point));var ce=Ke[0],Te=createEvent("intersect.update",{raycaster:(f=ye.xrControllerRay.right)!==null&&f!==void 0?f:null,intersection:ce!=null?ce:null,object:ye.intersectMesh});if(ye.emit("intersect.update",Te),Te.defaultPrevented)return ye.hideIntersectMesh(),{value:void 0}}else ye.pointerLines.left.setPoints(ut,Ke[0].point)},ye=this,le=0;le<de.length;le++){var Pe=Ve(le);if(typeof Pe=="object")return Pe.value}this.updateControllerHelper(de,e,r)}}else re||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");isEmptyObject(y)===!1&&this.modelScene.parameter.set(y),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))}));var Ce=this.works.getResolvedObserver(this.currentPano),Ze=this.locationMotion.ended?this.getForwardObserverOrNot(this.xrManager.cameraVR):null,xe=this.works.getObserver(R.panoId),ze=this.works.getObserver(I.panoId);if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Ce){for(var Fe=[],Oe=Ce.work.observers,Le=0,Ue=Ce.accessibleNodes;Le<Ue.length;Le++){var $e=Ue[Le],q=Oe[$e];q&&Fe.push(q)}var lt=new Map;if(Fe.sort(function(he,Ie){var Se=lt.get(he);typeof Se=="undefined"&&(Se=he.standingPosition.distanceTo(Ce.standingPosition),lt.set(he,Se));var qe=lt.get(he);return typeof qe=="undefined"&&(qe=Ie.standingPosition.distanceTo(Ce.standingPosition),lt.set(Ie,qe)),Se-qe}),Fe.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%Fe.length;var nt=Fe[this.accessibleObserverFloorCheckCount],ot=this.modelScene.models.find(function(he){return he.work===(nt==null?void 0:nt.work)});if(nt&&ot&&ot.visible){var At=.3,We=.05,Mt=.005,He=nt.standingPosition.clone().applyMatrix4(nt.work.transform),Ne=panoStringify({panoIndex:nt.panoIndex,workCode:nt.work.workCode}),bt=adjustPanoCircleMeshVectors.map(function(he){scratchRaycaster.ray.origin.copy(He),scratchRaycaster.ray.origin.add(scratchVector3.copy(he).setY(At)),scratchRaycaster.ray.direction.set(0,-1,0),scratchRaycaster.firstHitOnly=!0,scratchRaycaster.floorIndex=-1;var Ie=ot.intersectRaycaster(scratchRaycaster)[0];return Ie&&Ie.distance-Mt<=At?new THREE__namespace.Vector3().copy(He).setY(Ie.point.y+Mt):He});bt.sort(function(he,Ie){return Ie.y-he.y});var Ct=bt[Math.floor(bt.length/2)],Tt=bt.filter(function(he){return he.distanceTo(Ct)<=We})[0];if(Tt){var yt=new THREE__namespace.Vector4(He.x,He.y,He.z,Tt.y-He.y),St=this.adjustPanoCircleMeshPositionFix.get(Ne);St&&!yt.equals(St)&&(this.needsRender=!0),this.adjustPanoCircleMeshPositionFix.set(Ne,yt)}}this.accessibleObserverFloorCheckCount++}}var tt=new Map;if(xe)for(var at=0,ct=xe.accessibleNodes;at<ct.length;at++){var $e=ct[at],q=xe.work.observers[$e];if(q){var Ne=panoStringify({panoIndex:q.panoIndex,workCode:q.work.workCode});tt.set(Ne,q)}}if(ze)for(var Xe=0,pe=ze.accessibleNodes;Xe<pe.length;Xe++){var $e=pe[Xe],q=ze.work.observers[$e];if(q){var Ne=panoStringify({panoIndex:q.panoIndex,workCode:q.work.workCode});tt.set(Ne,q)}}if(this.panoMeshes.forEach(function(he,Ie){var Se=tt.get(Ie);Se?tt.delete(Ie):(o.helper.remove(he),he.dispose(),o.panoMeshes.delete(Ie))}),tt.forEach(function(he,Ie){var Se=o.panoCircleMeshCreator(he,{aerialObserverMinHeight:o.aerialObserverMinHeight});o.panoMeshes.set(Ie,Se),o.helper.add(Se),tt.delete(Ie)}),this.panoMeshes.forEach(function(he,Ie){var Se=o.works.getObserver(Ie);if(Se){var qe=Se.position.distanceTo(Se.standingPosition)>o.aerialObserverMinHeight;if(qe)he.position.copy(Se.position).applyMatrix4(Se.work.transform),he.scale.setScalar(18);else{he.position.copy(Se.standingPosition).applyMatrix4(Se.work.transform);var rt=o.adjustPanoCircleMeshPositionFix.get(Se.panoId);rt&&(scratchVector3.set(rt.x,rt.y,rt.z),scratchVector3.equals(he.position)&&(he.position.y+=rt.w)),he.scale.setScalar(1.2)}var ut=o.camera.position.clone().setY(he.position.y),Ke=new THREE__namespace.Vector3().copy(he.position).sub(ut).normalize();if(Ie===panoStringify(o.currentPano)){var dt=clamp$1((.5-ut.distanceTo(he.position))/.5,0,1);Ke.multiplyScalar(1-dt).add(E.clone().multiplyScalar(dt))}if(Ke.length()>0){var Pt=qe?-Math.PI/2:0,P=Math.atan2(Ke.x,Ke.z);he.quaternion.setFromEuler(new THREE__namespace.Euler(Pt,P,0,"YXZ"))}}else he.visible=!1}),this.camera.pose.distance>.1||C)this.panoMeshes.forEach(function(he){he.setOpacity(0),he.setCurrent(!1),he.updateTime&&he.updateTime(e,r),he.visible=!1});else if(Ce){var Re=Ce.work.observers,we=arrayMin(Ce.accessibleNodes,function(he){var Ie=Re[he];return Ie?Ce.standingPosition.distanceTo(Ie.standingPosition):1/0},!0),ke=we[1];ke=clamp$1(ke,2.5,1/0);var Ge=Ce.accessibleNodes.concat(Ce.panoIndex).map(function(he){return panoStringify({panoIndex:he,workCode:Ce.work.workCode})});this.panoMeshes.forEach(function(he,Ie){var Se=o.works.getObserver(Ie),qe=!1,rt=1;if(Ge.indexOf(Ie)===-1)qe=!1,rt=0;else if(!Se)qe=!1,rt=0;else if(!Se.loadable&&!Se.active)qe=!1,rt=0;else{var ut=he.position.clone().project(o.camera),Ke=Math.abs(ut.x)<1&&Math.abs(ut.y)<1&&Math.abs(ut.z)<1;qe=Ke&&!he.loading&&he.progress===0&&Ze!==null&&panoStringify({panoIndex:Ze.panoIndex,workCode:Ze.work.workCode})===Ie;var dt=he.position.clone().setY(o.camera.position.y).distanceTo(o.camera.position);rt=dt<.01?0:clamp$1(ke/dt,.1,.85)}if(Se&&Se===ze){var Pt=Se.position.distanceTo(Se.standingPosition)>o.aerialObserverMinHeight;if(Pt){var dt=he.position.distanceTo(o.camera.position);dt<35&&(rt=0)}}he.setCurrent(qe),he.setOpacity(rt),he.updateTime&&he.updateTime(e,r)})}{var H=(p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:1,st=Math.round(H),Qe=this.modelScene.parameter.pano0,Je=this.modelScene.parameter.pano1,ft=st===0?Qe:Je,q=void 0;if(ft&&(q=this.works.getObserver(ft.panoId),q||(q=this.panoPictureObserverMap.get(ft))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=H<(canUseNativeImageBitmap()?.6:.99)?0:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!q||!ft||this.tileLevelForFov===!1||this.camera.perspToOrtho.x>0){this.tiling.setObserver(null);var Bt={renderer:this.renderer,resolution:ae,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 Ft=getImageSizeLevel(ft.mapSize),pt=Ft+1,It=4;this.tiling.setObserver(q);var Bt={renderer:this.renderer,resolution:ae,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:st,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&&Ce&&Ce.position.y-Ce.standingPosition.y>10){var gt=this.camera.position.distanceTo(this.intersectMesh.position),Et=2*Math.tan(.5*this.camera.fov/180*Math.PI),Lt=gt*Et/5;this.intersectMesh.scale.setScalar(Lt)}else this.intersectMesh.scale.setScalar(1);{var Ot=I.effect,Ht=this.modelScene.parameter,Qe=Ht.pano0,Je=Ht.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(){this.renderer.setScissorTest(!1);var e=this.xrManager.cameraVR;this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var 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: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.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: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.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 s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),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],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(){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(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],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:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry$4.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry$4.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$4=new THREE__namespace.Mesh(geometry$4,material);mesh$4.matrixAutoUpdate=!1;var scene$2=new THREE__namespace.Scene;scene$2.add(mesh$4),scene$2.matrixAutoUpdate=!1;var camera$2=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$2.position.set(0,0,.5),camera$2.lookAt(0,0,0),camera$2.updateMatrixWorld(!0),camera$2.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,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$2,camera$2),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop},e.src=textureURL,material.map=t}}var FRAGMENT$2=`
2143
+ `},LineMaterial=(function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t})(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,f=0,p=r.count;c<p;c++,f+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[f]=f===0?0:s[f-1],s[f+1]=s[f]+u.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,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,y=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,E=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,g),g.w=1,g.applyMatrix4(s.matrixWorldInverse),g.applyMatrix4(u),g.multiplyScalar(1/g.w),g.x*=f.x/2,g.y*=f.y/2,g.z=0,y.copy(g);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=d.count;_<S;_++){m.fromBufferAttribute(d,_),A.fromBufferAttribute(h,_),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(u),A.applyMatrix4(u),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var w=m.z<-1&&A.z<-1,R=m.z>1&&A.z>1;if(!(w||R)){m.x*=f.x/2,m.y*=f.y/2,A.x*=f.x/2,A.y*=f.y/2,E.start.copy(m),E.start.z=0,E.end.copy(A),E.end.z=0;var I=E.closestPointToPointParameter(y,!0);E.at(I,b);var O=THREE__namespace.MathUtils.lerp(m.z,A.z,I),M=O>=-1&&O<=1,C=y.distanceTo(b)<p*.5;if(M&&C){E.start.fromBufferAttribute(d,_),E.end.fromBufferAttribute(h,_),E.start.applyMatrix4(T),E.end.applyMatrix4(T);var H=new THREE__namespace.Vector3,B=new THREE__namespace.Vector3;o.distanceSqToSegment(E.start,E.end,B,H),r.push({point:B,pointOnLine:H,distance:o.origin.distanceTo(B),object:this,faceIndex:_})}}}},t})(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t})(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t})(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=(function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.19"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t})(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,f,p,d;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(m){var A=u[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=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(f=h.sent(),s){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 s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=(function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n})(),Component=(function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n})(),MotionController=(function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n})(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=(function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,f=o.valueNodeProperty;s&&(f===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:f===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t})(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(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(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,f=l.assetPath;r.motionController=new MotionController(u,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 s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.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()]={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(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var f=r.xrManager.getControllerGrip(1);f.add(u.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 s=this,u,l,c,f=(u=r.effect)!==null&&u!==void 0?u:"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(R,I){return mapPanoResource(applyImageURLOptions(R,h,I))},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)},y="pano:"+jsonHash([g,A,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===y)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 E=this.modelScene.parameter.resolveValue(),b=E.pano0,T=E.pano1,_;if((b==null?void 0:b.map.name)===y?_=b:(T==null?void 0:T.map.name)===y&&(_=T),_){var S={panoId:p,effect:f,effectEasing:(c=r.effectEasing)!==null&&c!==void 0?c:defaultEffectEase,leftPanoPicture:{panoId:_.panoId,map:_.map,mapSize:_.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 w="move-to-pano-"+p;this.pending.add(w),this.pendingTextureTask={panoId:p,hash:y,onLoad:function(R){var I,O,M=R.body;if(s.destroyed)M.dispose();else{M.name=y;var C=Array.isArray(M.image)?M.image[0]:M.image,H=(I=C==null?void 0:C.width)!==null&&I!==void 0?I:2048,B={panoId:p,effect:f,effectEasing:(O=r.effectEasing)!==null&&O!==void 0?O:defaultEffectEase,leftPanoPicture:{panoId:p,map:M,mapSize:H,matrix:d.matrix.clone(),zoom:1},position:d.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(e,B,r)}},onError:function(R){var I=__assign(__assign(__assign({},e),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:R,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:I})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:I})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(g,{imageURL:{transform:m,options:A},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(this.fiveId,d.work)},void 0,void 0,function(R){var I,O;((I=s.pendingTextureTask)===null||I===void 0?void 0:I.hash)===y&&((O=s.panoMeshes.get(p))===null||O===void 0||O.setProgress(R)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:e}))},this.renderer).then(function(R){var I,O;s.pending.delete(w),((I=s.pendingTextureTask)===null||I===void 0?void 0:I.hash)===y?(s.pendingTextureTask.onLoad(R),s.pendingTextureTask=void 0,(O=s.panoMeshes.get(p))===null||O===void 0||O.setProgress(0)):R.body.dispose(),s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:R.meta,pano:e}))}).catch(function(R){var I,O;s.pending.delete(w),((I=s.pendingTextureTask)===null||I===void 0?void 0:I.hash)===y&&(s.pendingTextureTask.onError(R),s.pendingTextureTask=void 0,(O=s.panoMeshes.get(p))===null||O===void 0||O.setProgress(0)),s.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:e})),s.emit("error",R)}),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 s=this,u,l,c,f,p,d,h,m,A,g;o===void 0&&(o={});var y=now(),v=createUuid();this.panoResources[v]=r;var E=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(y);S[0];var w=S[1],R=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(w).position,O=r.position;b=Math.max(I.distanceTo(O),E),T=[{key:w.key,progress:0,value:__assign(__assign({},R),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var M=this.locationMotion.getKeyFrameSegment(y),C=M[0],w=M[1],R=this.locationMotion.value,H=this.panoResourceFromLocationMotionKeyframe(C).position,I=this.panoResourceFromLocationMotionKeyframe(w).position,O=r.position,B=w.value.count-R.count,L=Math.max(H.distanceTo(I),E)*B,k=Math.max(I.distanceTo(O),E);b=L+k,T=[{key:C.key,progress:0,value:__assign({},R)},{key:w.key,progress:L/b,value:w.value},{key:v,progress:1,value:{count:w.value.count+1,distance:0}}];var D=this.locationMotionKeyframesLength(this.locationMotion.keyframes),q=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(y)*D/q}var z=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"||r.effect==="model"?b:0),J={longitude:o.longitude,latitude:o.latitude,fov:o.fov},Q=__assign(__assign({},e),{mode:this.mode,longitude:(u=J.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=J.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=J.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:Q,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(Q),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(J,z).catch(noop);else{var j=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),G=coordinatesToVector({longitude:(f=J.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(p=J.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude}),oe=new THREE__namespace.Object3D;oe.lookAt(j);var ee=new THREE__namespace.Matrix4().makeRotationFromQuaternion(oe.quaternion);oe.lookAt(G);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(oe.quaternion),$=new THREE__namespace.Matrix4().getInverse(ee).premultiply(Z),X=this.cameraMotion.value.fov,ne=(d=J.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 K=ne*W,re=0;re<T.length-1;re++){var te=T[re].key;if(te){var ae=this.panoResources[te];ae&&(ae.fixCameraTransform.copy($),ae.leftPanoPicture&&(ae.leftPanoPicture.zoom=Math.tan(K/2/180*Math.PI)/Math.tan(X/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=J.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=J.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:K}},{progress:1,value:{longitude:(A=J.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(g=J.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:ne}}],z).catch(noop)}var ve=this.locationMotion.setKeyframes(T,z,_);ve.then(function(){for(var ie=0,fe=s.modelScene.children;ie<fe.length;ie++){var Ee=fe[ie];Ee instanceof Model&&Ee.show()}var se=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:U,progress:1,state:se,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(se);var le=s.works.getObserver(s.currentPano);if(le&&le.images.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var me={map:s.videoTexture,size:le.images.video.size.clone(),matrix:le.images.video.matrix.clone(),panoMatrix:le.matrix.clone().premultiply(le.work.transform),alpha:1},ge=createUuid(),Ae=s.videoTexture.image;Ae.setAttribute("uuid",ge),canplayVideo().then(function(ue){ue&&le.images.video&&Ae.getAttribute("uuid")===ge&&(Ae.oncanplay=function(){Ae.oncanplay=noop,Ae.play()},Ae.ontimeupdate=function(){Ae.currentTime>.5&&(Ae.ontimeupdate=noop,s.panoVideo.setMaterial(me))},Ae.src=le.images.video.source)}).catch((function(){Ae.removeAttribute("uuid")}))}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:U,progress:0,state:Q,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getObserver(this.currentPano);if(!u)return null;var l=u.work.observers,c=u.accessibleNodes.filter(function(_){if(_===r.currentPano.panoIndex&&u.work.workCode===r.currentPano.workCode)return!1;var S=l[_];if(!S)return!1;var w=scratchVector3.copy(S.position).applyMatrix4(S.work.transform);return w.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:S.loadable||S.active}),f=this.modelScene.intersectRaycaster(e)[0];if(f){var p=arrayMin(c,function(_){var S=l[_];if(!S)return 1/0;var w=scratchVector3.copy(S.standingPosition).applyMatrix4(S.work.transform);return w.distanceTo(f.point)},!0),d=p[0],h=p[1];typeof d=="number"&&h<this.panoTapTriggerRadius&&(s=(o=l[d])!==null&&o!==void 0?o:null)}if(isNil(s)){var m=this.getForwardObserverOrNot(this.xrManager.cameraVR,e);m&&(s=m)}for(var A=0,g=this.locationMotion.keyframes;A<g.length;A++){var y=g[A],v=this.panoResourceFromLocationMotionKeyframe(y);if(!(y.progress<this.locationMotion.progress)&&s){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode});if(v.panoId===E){s=null;break}}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),b=this.panoMeshes.get(E);b&&(b.setDisabled(!1),b.setLoading(!0))}var T={workCode:s.work.workCode,panoIndex:s.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:T,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:T,options:{},error:null})),{workCode:s.work.workCode,panoIndex:s.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,s,u,l,c,f,p,d,h,m,A=[],g=2;g<arguments.length;g++)A[g-2]=arguments[g];this.userAction=!0;var y={},v={},E=this.camera.getDirection(new THREE__namespace.Vector3),b=this.locationMotion.keyframes[0],T=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],_=this.locationMotion.getKeyFrameSegment(e),S=_[0],w=_[1],R=this.panoResourceFromLocationMotionKeyframe(S),I=this.panoResourceFromLocationMotionKeyframe(w),O=this.panoResourceFromLocationMotionKeyframe(b),M=this.panoResourceFromLocationMotionKeyframe(T),C=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),v.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),y.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var H=this.locationMotion.value.count-w.value.count+1,B=new THREE__namespace.Vector3().copy(R.position),L=new THREE__namespace.Vector3().copy(I.position);if(y.progress=H,H>=.01&&H<=.99&&(y.progress=clamp$1(I.effectEasing(H),.01,.99)),I.leftPanoPicture&&(H<1?R.leftPanoPicture&&(y.pano0=R.leftPanoPicture):y.pano0=I.leftPanoPicture,y.pano1=I.leftPanoPicture),I.effect==="montage"?y.transition="BLACK":I.effect==="spread"?y.transition="SPREAD":y.transition="FADE",I.effect==="zoomin"||I.effect==="zoomout")y.progress=Math.pow(H,3);else if(I.effect==="model"&&this.camera.pose.distance<.01){var k=1-Math.pow(clamp$1(Math.abs(H-.5)*2,0,1),4);y.modelAlpha=k}if(H<1&&I.effect!=="fly"){if(y.pano0&&R.leftPanoPicture){var D={panoId:y.pano0.panoId,map:y.pano0.map,mapSize:y.pano0.mapSize,zoom:y.pano0.zoom,matrix:R.leftPanoPicture.matrix.clone().setPosition(I.position)},q=this.panoPictureObserverMap.get(y.pano0);q&&this.panoPictureObserverMap.set(D,q),y.pano0=D}B.copy(L),C=!0}v.distance=this.locationMotion.value.distance,v.offset=new THREE__namespace.Vector3(B.x+(L.x-B.x)*H,B.y+(L.y-B.y)*H,B.z+(L.z-B.z)*H);for(var z=[],J=[],Q=0,U=this.locationMotion.keyframes;Q<U.length;Q++){var j=U[Q],G=j.key,oe=j.progress;G!==void 0&&(z.push(G),oe>this.locationMotion.progress&&J.push(G))}for(var ee=0,Z=Object.keys(this.panoResources);ee<Z.length;ee++){var $=Z[ee];if(!(J.indexOf($)>=0)){var X=this.panoResources[$];if(X.leftPanoPicture){var ne=X.leftPanoPicture.map;if(ne){if(ne===((s=y.pano0)===null||s===void 0?void 0:s.map)||ne===((u=y.pano1)===null||u===void 0?void 0:u.map))continue;ne.dispose(),X.leftPanoPicture=null}}z.indexOf($)>=0||delete this.panoResources[$]}}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(O.panoId),state:__assign(__assign(__assign(__assign({},panoParse(M.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 K=A,re=K[1],te=new THREE__namespace.Vector3(0,0,0),ae=new THREE__namespace.Vector2().copy(this.camera.resolution);if(re&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){var ve=this.xrManager.cameraVR,ie=this.xrManager.referenceSpace,fe=this.xrManager.session.renderState.baseLayer,Ee=re.getViewerPose(ie),se=(l=Ee==null?void 0:Ee.views)!==null&&l!==void 0?l:[];this.renderer.setFramebuffer(fe.framebuffer);for(var le=0;le<se.length;le++){var me=se[le],ge=ve.cameras[le],Ae=fe.getViewport(me);Ae&&(ge.projectionMatrix.fromArray(me.projectionMatrix),ge.projectionMatrixInverse.getInverse(ge.projectionMatrix),ge.matrix.fromArray(me.transform.matrix),ge.matrix.setPosition(this.camera.position),ge.matrix.decompose(ge.position,ge.quaternion,ge.scale),ge.matrixWorld.copy(ge.matrix),ge.matrixWorldInverse.getInverse(ge.matrixWorld),ge.matrixAutoUpdate=!1,te.copy(ge.position),ge.viewport.set(Ae.x,Ae.y,Ae.width,Ae.height),ae.set(Ae.width,Ae.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&&this.xrManager.session.inputSources){for(var le=0;le<this.xrManager.session.inputSources.length;le++)if(this.xrManager.session.inputSources[le]&&this.xrManager.session.inputSources[le].targetRayMode==="transient-pointer"){var ue=re.getPose(this.xrManager.session.inputSources[le].targetRaySpace,ie);if(ue){var be=ue.transform.orientation,Be=new THREE__namespace.Quaternion(be.x,be.y,be.z,be.w),Me=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(Be),_e=new THREE__namespace.Raycaster(this.camera.position,Me);this.gazeRay=_e}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var de=this.xrManager.session.inputSources,Ve=function(he){var Ie=ye.xrManager.controllers[he],Se=de[he];if(!Se)return"continue";Ie&&Ie.update(Se,re,ie);var qe=ye.xrManager.getController(he),rt=new THREE__namespace.Vector3(0,1.2,0),ut=qe.position.clone().add(te).sub(rt);Se.handedness==="left"?ye.xrControllerRay.left.set(ut,new THREE__namespace.Vector3(0,0,-1).applyEuler(qe.rotation)):Se.handedness==="right"&&ye.xrControllerRay.right.set(ut,new THREE__namespace.Vector3(0,0,-1).applyEuler(qe.rotation)),ye.controllerWrappers[he].position.copy(new THREE__namespace.Vector3(0,0,0).add(te).sub(rt));var Ke=ye.modelScene.intersectRaycaster(ye.xrControllerRay.right);if(Ke.length===0){var dt=ye.works.getResolvedObserver(ye.currentPano);Ke=ye.xrControllerRay.right.intersectObject(ye.modelScene.boundingMesh,!0).map(function(je){var Ye,De=(Ye=dt==null?void 0:dt.floorIndex)!==null&&Ye!==void 0?Ye:0;return __assign({floorIndex:De,floor:De},je)})}if(Ke.length>=1&&Ke[0].face)if(Se.handedness==="right"){var Pt=ye.xrControllerRay.right.intersectObject(ye.xrCustomObjectsScene,!0),P=Ke[0].face.normal,F=P.clone(),N=Ke[0].point.clone();ye.intersectMesh.position.copy(N);var V=N.clone().add(F);if(ye.intersectMesh.lookAt(V),Math.abs(P.y)>.99){var Y=ye.camera.position.clone().sub(N);ye.intersectMesh.rotation.z=-Math.atan2(Y.z,Y.x)}ye.intersectMesh.visible=!0,ye.needsRender=!0,Pt.length>0?(ye.pointerLines.right.setPoints(ut,Pt[0].point),ye.pointerLines.right.points.visible=!0,ye.intersectMesh.visible=!1):(ye.pointerLines.right.points.visible=!1,ye.pointerLines.right.setPoints(ut,Ke[0].point));var ce=Ke[0],Te=createEvent("intersect.update",{raycaster:(f=ye.xrControllerRay.right)!==null&&f!==void 0?f:null,intersection:ce!=null?ce:null,object:ye.intersectMesh});if(ye.emit("intersect.update",Te),Te.defaultPrevented)return ye.hideIntersectMesh(),{value:void 0}}else ye.pointerLines.left.setPoints(ut,Ke[0].point)},ye=this,le=0;le<de.length;le++){var Pe=Ve(le);if(typeof Pe=="object")return Pe.value}this.updateControllerHelper(de,e,r)}}else re||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");isEmptyObject(y)===!1&&this.modelScene.parameter.set(y),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))}));var Ce=this.works.getResolvedObserver(this.currentPano),Ze=this.locationMotion.ended?this.getForwardObserverOrNot(this.xrManager.cameraVR):null,xe=this.works.getObserver(R.panoId),ze=this.works.getObserver(I.panoId);if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Ce){for(var Fe=[],Oe=Ce.work.observers,Le=0,Ue=Ce.accessibleNodes;Le<Ue.length;Le++){var $e=Ue[Le],q=Oe[$e];q&&Fe.push(q)}var lt=new Map;if(Fe.sort(function(he,Ie){var Se=lt.get(he);typeof Se=="undefined"&&(Se=he.standingPosition.distanceTo(Ce.standingPosition),lt.set(he,Se));var qe=lt.get(he);return typeof qe=="undefined"&&(qe=Ie.standingPosition.distanceTo(Ce.standingPosition),lt.set(Ie,qe)),Se-qe}),Fe.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%Fe.length;var nt=Fe[this.accessibleObserverFloorCheckCount],ot=this.modelScene.models.find(function(he){return he.work===(nt==null?void 0:nt.work)});if(nt&&ot&&ot.visible){var At=.3,We=.05,Mt=.005,He=nt.standingPosition.clone().applyMatrix4(nt.work.transform),Ne=panoStringify({panoIndex:nt.panoIndex,workCode:nt.work.workCode}),bt=adjustPanoCircleMeshVectors.map(function(he){scratchRaycaster.ray.origin.copy(He),scratchRaycaster.ray.origin.add(scratchVector3.copy(he).setY(At)),scratchRaycaster.ray.direction.set(0,-1,0),scratchRaycaster.firstHitOnly=!0,scratchRaycaster.floorIndex=-1;var Ie=ot.intersectRaycaster(scratchRaycaster)[0];return Ie&&Ie.distance-Mt<=At?new THREE__namespace.Vector3().copy(He).setY(Ie.point.y+Mt):He});bt.sort(function(he,Ie){return Ie.y-he.y});var Ct=bt[Math.floor(bt.length/2)],Tt=bt.filter(function(he){return he.distanceTo(Ct)<=We})[0];if(Tt){var yt=new THREE__namespace.Vector4(He.x,He.y,He.z,Tt.y-He.y),St=this.adjustPanoCircleMeshPositionFix.get(Ne);St&&!yt.equals(St)&&(this.needsRender=!0),this.adjustPanoCircleMeshPositionFix.set(Ne,yt)}}this.accessibleObserverFloorCheckCount++}}var tt=new Map;if(xe)for(var at=0,ct=xe.accessibleNodes;at<ct.length;at++){var $e=ct[at],q=xe.work.observers[$e];if(q){var Ne=panoStringify({panoIndex:q.panoIndex,workCode:q.work.workCode});tt.set(Ne,q)}}if(ze)for(var Xe=0,pe=ze.accessibleNodes;Xe<pe.length;Xe++){var $e=pe[Xe],q=ze.work.observers[$e];if(q){var Ne=panoStringify({panoIndex:q.panoIndex,workCode:q.work.workCode});tt.set(Ne,q)}}if(this.panoMeshes.forEach(function(he,Ie){var Se=tt.get(Ie);Se?tt.delete(Ie):(o.helper.remove(he),he.dispose(),o.panoMeshes.delete(Ie))}),tt.forEach(function(he,Ie){var Se=o.panoCircleMeshCreator(he,{aerialObserverMinHeight:o.aerialObserverMinHeight});o.panoMeshes.set(Ie,Se),o.helper.add(Se),tt.delete(Ie)}),this.panoMeshes.forEach(function(he,Ie){var Se=o.works.getObserver(Ie);if(Se){var qe=Se.position.distanceTo(Se.standingPosition)>o.aerialObserverMinHeight;if(qe)he.position.copy(Se.position).applyMatrix4(Se.work.transform),he.scale.setScalar(18);else{he.position.copy(Se.standingPosition).applyMatrix4(Se.work.transform);var rt=o.adjustPanoCircleMeshPositionFix.get(Se.panoId);rt&&(scratchVector3.set(rt.x,rt.y,rt.z),scratchVector3.equals(he.position)&&(he.position.y+=rt.w)),he.scale.setScalar(1.2)}var ut=o.camera.position.clone().setY(he.position.y),Ke=new THREE__namespace.Vector3().copy(he.position).sub(ut).normalize();if(Ie===panoStringify(o.currentPano)){var dt=clamp$1((.5-ut.distanceTo(he.position))/.5,0,1);Ke.multiplyScalar(1-dt).add(E.clone().multiplyScalar(dt))}if(Ke.length()>0){var Pt=qe?-Math.PI/2:0,P=Math.atan2(Ke.x,Ke.z);he.quaternion.setFromEuler(new THREE__namespace.Euler(Pt,P,0,"YXZ"))}}else he.visible=!1}),this.camera.pose.distance>.1||C)this.panoMeshes.forEach(function(he){he.setOpacity(0),he.setCurrent(!1),he.updateTime&&he.updateTime(e,r),he.visible=!1});else if(Ce){var Re=Ce.work.observers,we=arrayMin(Ce.accessibleNodes,function(he){var Ie=Re[he];return Ie?Ce.standingPosition.distanceTo(Ie.standingPosition):1/0},!0),ke=we[1];ke=clamp$1(ke,2.5,1/0);var Ge=Ce.accessibleNodes.concat(Ce.panoIndex).map(function(he){return panoStringify({panoIndex:he,workCode:Ce.work.workCode})});this.panoMeshes.forEach(function(he,Ie){var Se=o.works.getObserver(Ie),qe=!1,rt=1;if(Ge.indexOf(Ie)===-1)qe=!1,rt=0;else if(!Se)qe=!1,rt=0;else if(!Se.loadable&&!Se.active)qe=!1,rt=0;else{var ut=he.position.clone().project(o.camera),Ke=Math.abs(ut.x)<1&&Math.abs(ut.y)<1&&Math.abs(ut.z)<1;qe=Ke&&!he.loading&&he.progress===0&&Ze!==null&&panoStringify({panoIndex:Ze.panoIndex,workCode:Ze.work.workCode})===Ie;var dt=he.position.clone().setY(o.camera.position.y).distanceTo(o.camera.position);rt=dt<.01?0:clamp$1(ke/dt,.1,.85)}if(Se&&Se===ze){var Pt=Se.position.distanceTo(Se.standingPosition)>o.aerialObserverMinHeight;if(Pt){var dt=he.position.distanceTo(o.camera.position);dt<35&&(rt=0)}}he.setCurrent(qe),he.setOpacity(rt),he.updateTime&&he.updateTime(e,r)})}{var H=(p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:1,st=Math.round(H),Qe=this.modelScene.parameter.pano0,Je=this.modelScene.parameter.pano1,ft=st===0?Qe:Je,q=void 0;if(ft&&(q=this.works.getObserver(ft.panoId),q||(q=this.panoPictureObserverMap.get(ft))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=H<(canUseNativeImageBitmap()?.6:.99)?0:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!q||!ft||this.tileLevelForFov===!1||this.camera.perspToOrtho.x>0){this.tiling.setObserver(null);var Bt={renderer:this.renderer,resolution:ae,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 Ft=getImageSizeLevel(ft.mapSize),pt=Ft+1,It=4;this.tiling.setObserver(q);var Bt={renderer:this.renderer,resolution:ae,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:st,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&&Ce&&Ce.position.y-Ce.standingPosition.y>10){var gt=this.camera.position.distanceTo(this.intersectMesh.position),Et=2*Math.tan(.5*this.camera.fov/180*Math.PI),Lt=gt*Et/5;this.intersectMesh.scale.setScalar(Lt)}else this.intersectMesh.scale.setScalar(1);{var Ot=I.effect,Ht=this.modelScene.parameter,Qe=Ht.pano0,Je=Ht.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(){this.renderer.setScissorTest(!1);var e=this.xrManager.cameraVR;this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var 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: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.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: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.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 s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),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],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(){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(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],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:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry$4.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry$4.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$4=new THREE__namespace.Mesh(geometry$4,material);mesh$4.matrixAutoUpdate=!1;var scene$2=new THREE__namespace.Scene;scene$2.add(mesh$4),scene$2.matrixAutoUpdate=!1;var camera$2=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$2.position.set(0,0,.5),camera$2.lookAt(0,0,0),camera$2.updateMatrixWorld(!0),camera$2.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,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$2,camera$2),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop},e.src=textureURL,material.map=t}}var FRAGMENT$2=`
2144
2144
  precision mediump float;
2145
2145
  precision mediump int;
2146
2146
  uniform sampler2D depthBuffer;
@@ -2256,4 +2256,4 @@ void main() {
2256
2256
  rgb = clamp(lumCompressed * rgb, 0.0, 1.0);
2257
2257
  gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);
2258
2258
  }
2259
- `})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t})(Pass),LuminanceAdaptiveEffect=(function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.enableTime=now(),u.renderer=e,u.valuePass=new ValuePass(u.renderer),u.luminancePass=new LuminancePass(u.renderer,Math.sqrt(1/3)),u.nextStepPass=new NextStepPass(u.renderer,.01),u.luminanceAdaptivePass=new LuminanceAdaptivePass(u.renderer),u}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=now()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new THREE__namespace.WebGLRenderTarget(128,128,{minFilter:THREE__namespace.LinearMipmapLinearFilter,magFilter:THREE__namespace.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:THREE__namespace.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((now()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,o;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(o=this.luminanceNextBuffer)===null||o===void 0||o.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t})(Effect),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=(function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0),this.modelScene.needsRender=!0},t})(BaseRenderer),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,s,u,l,c,f,p,d,h,m,A,g=n.call(this)||this;if(g.fiveId=createUuid(),Five_Instances[g.fiveId]=g,g.renderSwitch01=0,g.currentUpdateArgs={time:now(),args:[]},g.currentMode="Panorama",g.pano={workCode:"",panoIndex:0},g.needsRender=!1,g.modelSceneNeedsRender=!1,g.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,g.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),g.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),g.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,g.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),g.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,g.extraElements=[],g.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)},g.fps={testCount:0,testTime:now()},g.modeChangeDuration=(f=e.modeChangeDuration)!==null&&f!==void 0?f:DEFAULT_MODE_CHANGE_DURATION,g.enableWheel=(p=e.enableWheel)!==null&&p!==void 0?p:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&g.throwError(new Error("cannot render a internal renderer")),g.renderer=e.renderer;else try{g.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var y=getViewportScale();g.renderer.setPixelRatio(y===1?window.devicePixelRatio:1),g.renderer.setSize(512,512),g.renderer.setClearColor(g.backgroundColor,g.backgroundAlpha)}catch(B){var v=B instanceof Error?B:new Error(String(B));g.throwError(v)}g.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(d=g.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),g.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),g.camera=new Camera(DEFAULT_CAMERA_FOV),g.scene=new Scene,g.xrCustomObjectsScene=new THREE__namespace.Scene,g.scene.add(g.xrCustomObjectsScene),g.scene.matrixAutoUpdate=!1,g.loadWorkTask=Promise.resolve(),g.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,g.networkSubscribe=new NetworkSubscribe,g.networkSubscribe.on("network",function(B,L,k,D){var q;g.emit("network.resource",createEvent("network.resource",{source:B,requestType:L,requestState:k,detail:D})),(q=g.analysis)===null||q===void 0||q.network(g.works,B,L,k,D)}),g.readyCallbacks=[],g.syncingState=!1,g.helperGroup=new THREE__namespace.Group,g.helperGroup.name="helper",g.helperGroup.matrixAutoUpdate=!1,g.scene.add(g.helperGroup),worksMap.set(g,emptyWorks),g.modelScene=new ModelScene({fiveId:g.fiveId}),g.modelScene.addEventListener("model.create",function(B){g.bindModel(B.model)});var E=g.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0})[0];defineProperty(E,"loaded",{get:function(){return!1},set:function(B){}}),g.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var b=initLights();g.scene.add(b);var T=new THREE__namespace.Group;defineProperty(T,"children",{get:function(){return b.children},set:function(B){b.children=B}}),defineProperty(T,"visible",{get:function(){return b.visible},set:function(B){b.visible=B}}),defineProperty(T,"name",{get:function(){return b.name},set:function(B){b.name=B}}),g.modelScene.add(T),g.state={mode:g.currentMode,workCode:g.pano.workCode,panoIndex:g.pano.panoIndex,longitude:g.camera.pose.longitude,latitude:g.camera.pose.latitude,fov:g.camera.pose.fov,offset:g.camera.pose.offset.clone(),distance:g.camera.pose.distance},g.stateSynced=!1,g.destroyed=!1,g.paused=!0,typeof window!="undefined"&&(e.play!==!1&&g.play(),g.stopAnimationLoop=AnimationFrameLoop.shared.add(function(B,L){for(var k=[],D=2;D<arguments.length;D++)k[D-2]=arguments[D];g.updateTime.apply(g,__spreadArray([B,L],k,!1))},!1,0,10));var _=function(){typeof document!="undefined"&&document.fullscreenElement===null&&g.currentMode==="VRPanorama"&&g.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},S=function(){g.needsRender=!0,g.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.addEventListener("webglcontextrestored",S,!1),g.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.removeEventListener("webglcontextrestored",S,!1)},g.plugins={},e.plugins&&e.plugins.length)for(var w=0,R=e.plugins;w<R.length;w++){var I=R[w];if(typeof I=="function")I(g);else if(Array.isArray(I)){var O=I[0],M=I[1],C=I[2];if(typeof O=="function"){var H=O(g,C);typeof M=="string"&&(g.plugins[M]?g.throwError(new Error("plugin name ".concat(M," is exists."))):g.plugins[M]=H)}}}return initLegacyEvent(g),g.enableLayeringRendering=(A=e.enableLayeringRendering)!==null&&A!==void 0?A:!1,g._buildInRendererType="default",g._builtinRenderer=null,g}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.18"},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.renderer.setAnimationLoop(null)),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,this.modelSceneNeedsRender=!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.getBuiltinRenderer=function(e){var r=this._builtinRenderer;if((r==null?void 0:r.type)!==this._buildInRendererType)switch(r&&r.dispose(),this._buildInRendererType){case"default":this._builtinRenderer=new DefaultRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._builtinRenderer=new EDLRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._builtinRenderer=new HQRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._builtinRenderer=new LuminanceRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._builtinRenderer},Object.defineProperty(t.prototype,"renderEffect",{get:function(){return this._buildInRendererType},set:function(e){this._buildInRendererType=e,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1,s=!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")&&(s=!0,o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var u=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);(!u||s)&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,s;if(e===void 0&&(e={}),!!this.renderer){var u=this.renderer.domElement,l=u.parentNode,c=e.width,f=c===void 0?(o=l==null?void 0:l.offsetWidth)!==null&&o!==void 0?o:512:c,p=e.height,d=p===void 0?(s=l==null?void 0:l.offsetHeight)!==null&&s!==void 0?s:512:p;r=r!=null?r:this.renderer.getPixelRatio();var h=this.renderer.capabilities.maxTextureSize,m=Math.max(f,d)*r;m>h&&(r=r/m*h,r=Math.floor(r*100)/100),this.renderer.setPixelRatio(r),this.renderer.setSize(f,d),this.needsRender=!0,this.modelSceneNeedsRender=!0;var A=now(),g=A-this.currentUpdateArgs.time,y=this.currentUpdateArgs.args;this.updateTime(A,g,y)}},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,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,f,p,d,h,m,A,g,y;s===void 0&&(s=!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 E={};Object.assign(E,v.model),v["3d-tiles"]&&!E["3d-tiles"]&&(E["3d-tiles"]=v["3d-tiles"]),v.textureOptions&&!E.textureOptions&&(E.textureOptions=v.textureOptions);var b=[];if(Array.isArray(e))for(var T=0,_=e;T<_.length;T++){var S=_[T];S instanceof Work?b.push(S):typeof S!="string"&&"work"in S?b.push(parseWork(S.work,S)):b.push(parseWork(S))}else e instanceof Work?b.push(e):b.push(parseWork(e));v.mode==="add"&&(b=[].concat(this.works,b));var w;try{w=createWorks(b)}catch(Z){return this.throwError(Z),Promise.reject(Z)}for(var R=0,I=w;R<I.length;R++){var O=I[R];this.bindWorkFetcher(O)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var M=w.initial,C=M.work.observers[0],H=C?{workCode:C.work.workCode,panoIndex:C.panoIndex}:{workCode:M.work.workCode,panoIndex:0},B=(l=M.mode)!==null&&l!==void 0?l:C?"Panorama":"Mapview",L={};if(r==="inherit"){B=this.currentMode;var k=(f=(c=w[0])===null||c===void 0?void 0:c.observers)===null||f===void 0?void 0:f[this.panoIndex];k?H={workCode:k.work.workCode,panoIndex:k.panoIndex}:typeof w.initial.panoIndex=="number"?H={workCode:w.initial.work.workCode,panoIndex:w.initial.panoIndex}:(B==="Panorama"||B==="VRPanorama"||B==="XRPanorama")&&(B="Mapview"),L={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof M.panoIndex=="number"&&(H={workCode:M.work.workCode,panoIndex:M.panoIndex}),M.mode&&(B=M.mode),L={longitude:M.longitude,latitude:M.latitude,fov:M.fov,distance:M.distance,offset:(p=M.offset)===null||p===void 0?void 0:p.clone()};else{if(B=(d=r.mode)!==null&&d!==void 0?d:this.currentMode,typeof r.panoIndex=="number"){var k=w.getObserver({workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:M.work.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex});k&&(H={workCode:k.work.workCode,panoIndex:k.panoIndex})}L={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var D=__assign(__assign(__assign({},H),{mode:B}),L),q=this.getCurrentState(),z=(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration;(B==="Floorplan"||B==="Topview"||B==="Mapview")&&this.currentMode===B&&(z=0);var J="fly";(B==="Panorama"||B==="VRPanorama"||B==="XRPanorama")&&this.currentMode===B&&(J=(g=v.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:w,state:D,userAction:s}));var Q=function(){u.pano=H;var Z=__assign(__assign({initial:{state:D,currentState:q,duration:z,effect:J,userAction:s}},u.commonParams()),u.controllerInits[B]),$=Controllers[B].initAnimationEndState(Z);if(u.controller&&u.currentMode===B)u.controller.updateWork(w,$,{effect:J,duration:z},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(B,Z));else{var X=u.currentMode;if(u.controller)u.controller.destroy();else{var ne=Controllers[B].initAnimationEndState(Z);u.camera.setFromPose(ne),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(B,Z);var W=createEvent("mode.change",{prevMode:X,mode:B,state:$,userAction:s});try{u.emit("mode.change",W)}catch(K){console.error(K)}}u.updateTime(u.currentUpdateArgs.time,0,u.currentUpdateArgs.args)};worksMap.set(this,w);var U=Promise.resolve();if(B===t.Mode.Floorplan||B===t.Mode.Topview||B===t.Mode.Mapview||B===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(D),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=B);var j=this.modelScene.setModels(w,E);U=Promise.all(j.map(function(Z){return Z.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,Q(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{Q();var G=this.controller,oe=!1;this.modelScene.autoRefine=!1;var ee=function(){u.works===w&&oe===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),oe=!0,u.modelScene.autoRefine=!0),G.off("pano.arrived",ee),G.off("pano.cancel",ee)},j=this.modelScene.setModels(w,E);U=Promise.all(j.map(function($){return $.initReady})).then(noop),G.once("pano.arrived",ee),G.once("pano.cancel",ee),setTimeout(ee,((y=v.duration)!==null&&y!==void 0?y:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:w})),U.then(function(){return u.ready()}).then(function(){var Z;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:w})),(Z=u.analysis)===null||Z===void 0||Z.work(w)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),worksMap.set(e,emptyWorks),e.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0}),e.renderer&&e.modelScene.update(e.renderer,e.camera),e.needsRender=!0,e.modelSceneNeedsRender=!0,e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,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 y=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(y)){var v=new Error("PanoId ".concat(panoStringify(y)," 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.loaded||(A=0));var E=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,y)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(y,__assign({duration:A},r),s):l.controller.updateCamera(r,A,s).catch(noop):(panoEqual(l.pano,y)||(l.pano=y),l.controller.updateCamera(r,A,s).catch(noop));else{var S=__assign(__assign({},r),y),w=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:g,userAction:s}},l.commonParams()),l.controllerInits[e]),R=Controllers[e].initAnimationEndState(w),I=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:R,userAction:s});if(l.emit("mode.change.request",I),!I.defaultPrevented){E&&E.destroy(),l.controller=l.applyController(e,w);var O=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:R,userAction:s});l.emit("mode.change",O)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){var w=S instanceof Error?S:new Error(String(S));l.exitFullscreen(),l.throwError(w),f(w)});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){var w=S instanceof Error?S:new Error(String(S));l.throwError(w),f(w)})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var f=this.renderer.getPixelRatio(),p=this.renderer.getRenderTarget(),d=this.renderer.getSize(new THREE__namespace.Vector2),h=0,m=0,A=1,g=1,y,v,E,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(m=r),typeof o=="number"&&(A=o),typeof s=="number"&&(g=s),y=u,v=l,T=c):(h=e.x,m=e.y,A=e.width,g=e.height,y=e.pixelRatio,v=e.flipY,E=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),m=Math.ceil(m),A=Math.ceil(A),g=Math.ceil(g),y=Math.ceil(y!=null?y:f),v=v!=null?v:!1;var _=this.helperVisible,S=this.modelScene.parameter.modelAlpha;this.helperVisible=E!=null?E:this.helperVisible,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var w=this.getPixelsRenderTarget;w.setSize(A*y,g*y),this.renderer.setRenderTarget(w),this.camera.pixelRatio=y,this.camera.resolution.set(A,g),this.camera.setViewOffset(d.width,d.height,h,d.height-m-g,A,g),this.scene.update(this.renderer,this.camera),this.render(),this.helperVisible=_,S===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",S),this.renderer.setRenderTarget(p),this.camera.clearViewOffset(),this.camera.pixelRatio=f,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var R=A*y,I=g*y,O=R*I,M=O*4;if(T){if(T.length!==M)throw new Error("buffer length is not equals pixels ".concat(M))}else T=new Uint8Array(M);if(this.renderer.readRenderTargetPixels(w,0,0,A*y,g*y,T),v)for(var C=O/2,H=0,B=0,L=0,k=0;B<C;B++)for(k=(I-Math.floor(B/R)-1)*R+B%R,L=0;L<4;L++)H=T[B*4+L],T[B*4+L]=T[k*4+L],T[k*4+L]=H;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(),s=r.autoClear,u=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(),A=r.getSize(scratchRenderSize),g=r.getPixelRatio(),y=Math.floor(A.x*this.viewport.left),v=Math.floor(A.y*this.viewport.bottom),E=Math.floor(A.x*this.viewport.width),b=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(y,v,E,b),r.setScissor(y,v,E,b);var T=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(T);var _=this.scene.background;this.modelScene.background=this.camera.isOrthographicCamera?null:_,this.modelScene.environment=this.scene.environment,this.scene.background=null;var S=this.getBuiltinRenderer(r);S.setSize(A.x,A.y,g),this.controller?this.controller.render(S,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0):S.render(this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0),this.scene.background=_,this.modelScene.background=null,this.modelScene.environment=null,this.poweredByRealsee&&this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&r.getRenderTarget()!==this.getPixelsRenderTarget&&renderPoweredByRealsee(r),r.setRenderTarget(o),r.autoClear=s,r.autoClearColor=u,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(f,p),r.setViewport(d),r.setScissor(h),r.setScissorTest(m),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:u},!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],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.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(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),f===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.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)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var m=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;m>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var A=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",A),A.defaultPrevented&&(this.needsRender=!1);var g=this.needsRender;this.renderer&&g&&this.render(),this.needsRender=!1,this.modelSceneNeedsRender=!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.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.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 u&&typeof u.moveToPano=="function"?u.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 s=this.works.getObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var f=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),p=__assign({key:"pano.".concat(f,".").concat(c)},pick(o.imageOptions,["size","format","quality","forceUseExifOrientation","mappings"])),d=s.work.getURL(s.images[c]),h=o.imageOptions.transform?o.imageOptions.transform(d,p):imageURL(d,p);return getFetcher(o.fiveId,s.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,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var 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 s,u,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 y=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(C){return C.workCode===v}).length>0&&(y=v),g={workCode:y,panoIndex:e.panoIndex}}var E=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,w;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==E){if(E==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var R={workCode:g==null?void 0:g.workCode,panoIndex:g==null?void 0:g.panoIndex};typeof e.longitude=="number"&&(R.longitude=e.longitude),typeof e.latitude=="number"&&(R.latitude=e.latitude),typeof e.fov=="number"&&(R.fov=e.fov),typeof e.distance=="number"&&(R.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(R.offset=e.offset);var I=__assign(__assign({initial:{state:R,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[E]),O=Controllers[E].initAnimationEndState(I);b=O.longitude,T=O.latitude,_=O.fov,S=O.offset,w=O.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(f=e.latitude)!==null&&f!==void 0?f:this.state.latitude,_=(p=e.fov)!==null&&p!==void 0?p:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,w=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var M={workCode:(g!=null?g:this.pano).workCode,panoIndex:(g!=null?g:this.pano).panoIndex,mode:E,longitude:b,latitude:T,fov:_,offset:S,distance:w};this.emit("state.set",createEvent("state.set",{userAction:o,state:M})),stateEqual(this.state,M)||(this.controller&&M.mode==="VRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("VRPanorama")):this.controller&&M.mode==="XRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("XRPanorama")):(assignState(this.state,M),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===M.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 s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var 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,y=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,g),v=this.camera.pose.offset.distanceTo(this.state.offset),E=v>d*15?v/15:d,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,E),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(y,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var w={x:b.x,y:b.y,z:b.z},R={fov:m};return Object.assign(w,{distance:y}),Object.assign(R,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(R,0).catch(noop),this.controller.locationMotion.set(w,0).catch(noop),!0}}else{var I=1,O=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,I),M=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},O),_=M.longitude,S=M.latitude,y=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(y,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:m},0).catch(noop),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var C=this.currentMode,H=C===t.Mode.Floorplan||C===t.Mode.Topview||C===t.Mode.Mapview||C===t.Mode.Model;if(!H||this.modelScene.loaded){var B=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var L=0,k=B;L<k.length;L++){var D=k[L];this.controller instanceof Controllers.Panorama&&D.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(D):D()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady}).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)},s=function(c){var f=c.error;r.emit("model.error",createEvent("model.error",{work:e.work,model:e,error:f})),r.throwError(f)},u=function(){r.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:e.work,model:e,error:null}))},l=function(){e.removeEventListener("load",o),e.removeEventListener("error",s),e.removeEventListener("changeShownFloor",u),e.removeEventListener("dispose",l)};e.addEventListener("load",o),e.addEventListener("error",s),e.addEventListener("changeShownFloor",u),e.addEventListener("dispose",l),this.emit("model.request",createEvent("model.request",{work:e.work,model:e,error:null}))},t.prototype.bindWorkFetcher=function(e){var r=this,o=e.allowHosts,s=new Fetcher({get networkSubscribe(){return r.networkSubscribe},requestProxy:function(u){return Promise.resolve(u).then(function(l){return r.requestProxy(l)}).then(function(l){var c=verifyURL(l,o);if(c instanceof Error)throw c;return c})}});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 s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(m){u.on(m,function(){for(var A=[],g=0;g<arguments.length;g++)A[g]=arguments[g];var y=o.emit.apply(o,__spreadArray([m],A,!1));if(y)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 u.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()}))}),u.on("initAnimation.start",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("initAnimation.end",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.arrived",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.cancel",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),u.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(m){return o.throwError(m)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),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,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.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 s=r.quaternion.clone().inverse();o.applyQuaternion(s);var u=Math.atan2(o.x,-o.z),l=-Math.asin(o.y);return{theta:u,phi:l,lookAtVector:o}}}return null},Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.renderEffect==="edl"},set:function(e){this.renderEffect=e?"edl":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.renderEffect==="hq"},set:function(e){this.renderEffect=e?"hq":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!1},set:function(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 s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n})();exports.AnimationFrameLoop=AnimationFrameLoop,exports.BoundingMesh=BoundingMesh$1,exports.Camera=Camera,exports.CustomShader=PBMCustomShader,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.Model=Model,exports.ModelScene=ModelScene,exports.Motion=Motion,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMCustomShader=PBMCustomShader,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PBMPointCloud=PBMPointCloud,exports.PBMPointCloudMaterial=PBMPointCloudMaterial,exports.PBMSkinnedMesh=PBMSkinnedMesh,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.Parameter=Parameter,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.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.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,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));
2259
+ `})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t})(Pass),LuminanceAdaptiveEffect=(function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.enableTime=now(),u.renderer=e,u.valuePass=new ValuePass(u.renderer),u.luminancePass=new LuminancePass(u.renderer,Math.sqrt(1/3)),u.nextStepPass=new NextStepPass(u.renderer,.01),u.luminanceAdaptivePass=new LuminanceAdaptivePass(u.renderer),u}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=now()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new THREE__namespace.WebGLRenderTarget(128,128,{minFilter:THREE__namespace.LinearMipmapLinearFilter,magFilter:THREE__namespace.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:THREE__namespace.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((now()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,o;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(o=this.luminanceNextBuffer)===null||o===void 0||o.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t})(Effect),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=(function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0),this.modelScene.needsRender=!0},t})(BaseRenderer),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,s,u,l,c,f,p,d,h,m,A,g=n.call(this)||this;if(g.fiveId=createUuid(),Five_Instances[g.fiveId]=g,g.renderSwitch01=0,g.currentUpdateArgs={time:now(),args:[]},g.currentMode="Panorama",g.pano={workCode:"",panoIndex:0},g.needsRender=!1,g.modelSceneNeedsRender=!1,g.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,g.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),g.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),g.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,g.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),g.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,g.extraElements=[],g.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)},g.fps={testCount:0,testTime:now()},g.modeChangeDuration=(f=e.modeChangeDuration)!==null&&f!==void 0?f:DEFAULT_MODE_CHANGE_DURATION,g.enableWheel=(p=e.enableWheel)!==null&&p!==void 0?p:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&g.throwError(new Error("cannot render a internal renderer")),g.renderer=e.renderer;else try{g.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var y=getViewportScale();g.renderer.setPixelRatio(y===1?window.devicePixelRatio:1),g.renderer.setSize(512,512),g.renderer.setClearColor(g.backgroundColor,g.backgroundAlpha)}catch(B){var v=B instanceof Error?B:new Error(String(B));g.throwError(v)}g.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(d=g.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),g.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),g.camera=new Camera(DEFAULT_CAMERA_FOV),g.scene=new Scene,g.xrCustomObjectsScene=new THREE__namespace.Scene,g.scene.add(g.xrCustomObjectsScene),g.scene.matrixAutoUpdate=!1,g.loadWorkTask=Promise.resolve(),g.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,g.networkSubscribe=new NetworkSubscribe,g.networkSubscribe.on("network",function(B,L,k,D){var q;g.emit("network.resource",createEvent("network.resource",{source:B,requestType:L,requestState:k,detail:D})),(q=g.analysis)===null||q===void 0||q.network(g.works,B,L,k,D)}),g.readyCallbacks=[],g.syncingState=!1,g.helperGroup=new THREE__namespace.Group,g.helperGroup.name="helper",g.helperGroup.matrixAutoUpdate=!1,g.scene.add(g.helperGroup),worksMap.set(g,emptyWorks),g.modelScene=new ModelScene({fiveId:g.fiveId}),g.modelScene.addEventListener("model.create",function(B){g.bindModel(B.model)});var E=g.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0})[0];defineProperty(E,"loaded",{get:function(){return!1},set:function(B){}}),g.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var b=initLights();g.scene.add(b);var T=new THREE__namespace.Group;defineProperty(T,"children",{get:function(){return b.children},set:function(B){b.children=B}}),defineProperty(T,"visible",{get:function(){return b.visible},set:function(B){b.visible=B}}),defineProperty(T,"name",{get:function(){return b.name},set:function(B){b.name=B}}),g.modelScene.add(T),g.state={mode:g.currentMode,workCode:g.pano.workCode,panoIndex:g.pano.panoIndex,longitude:g.camera.pose.longitude,latitude:g.camera.pose.latitude,fov:g.camera.pose.fov,offset:g.camera.pose.offset.clone(),distance:g.camera.pose.distance},g.stateSynced=!1,g.destroyed=!1,g.paused=!0,typeof window!="undefined"&&(e.play!==!1&&g.play(),g.stopAnimationLoop=AnimationFrameLoop.shared.add(function(B,L){for(var k=[],D=2;D<arguments.length;D++)k[D-2]=arguments[D];g.updateTime.apply(g,__spreadArray([B,L],k,!1))},!1,0,10));var _=function(){typeof document!="undefined"&&document.fullscreenElement===null&&g.currentMode==="VRPanorama"&&g.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},S=function(){g.needsRender=!0,g.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.addEventListener("webglcontextrestored",S,!1),g.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.removeEventListener("webglcontextrestored",S,!1)},g.plugins={},e.plugins&&e.plugins.length)for(var w=0,R=e.plugins;w<R.length;w++){var I=R[w];if(typeof I=="function")I(g);else if(Array.isArray(I)){var O=I[0],M=I[1],C=I[2];if(typeof O=="function"){var H=O(g,C);typeof M=="string"&&(g.plugins[M]?g.throwError(new Error("plugin name ".concat(M," is exists."))):g.plugins[M]=H)}}}return initLegacyEvent(g),g.enableLayeringRendering=(A=e.enableLayeringRendering)!==null&&A!==void 0?A:!1,g._buildInRendererType="default",g._builtinRenderer=null,g}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.19"},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.renderer.setAnimationLoop(null)),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,this.modelSceneNeedsRender=!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.getBuiltinRenderer=function(e){var r=this._builtinRenderer;if((r==null?void 0:r.type)!==this._buildInRendererType)switch(r&&r.dispose(),this._buildInRendererType){case"default":this._builtinRenderer=new DefaultRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._builtinRenderer=new EDLRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._builtinRenderer=new HQRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._builtinRenderer=new LuminanceRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._builtinRenderer},Object.defineProperty(t.prototype,"renderEffect",{get:function(){return this._buildInRendererType},set:function(e){this._buildInRendererType=e,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1,s=!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")&&(s=!0,o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var u=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);(!u||s)&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,s;if(e===void 0&&(e={}),!!this.renderer){var u=this.renderer.domElement,l=u.parentNode,c=e.width,f=c===void 0?(o=l==null?void 0:l.offsetWidth)!==null&&o!==void 0?o:512:c,p=e.height,d=p===void 0?(s=l==null?void 0:l.offsetHeight)!==null&&s!==void 0?s:512:p;r=r!=null?r:this.renderer.getPixelRatio();var h=this.renderer.capabilities.maxTextureSize,m=Math.max(f,d)*r;m>h&&(r=r/m*h,r=Math.floor(r*100)/100),this.renderer.setPixelRatio(r),this.renderer.setSize(f,d),this.needsRender=!0,this.modelSceneNeedsRender=!0;var A=now(),g=A-this.currentUpdateArgs.time,y=this.currentUpdateArgs.args;this.updateTime(A,g,y)}},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,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,f,p,d,h,m,A,g,y;s===void 0&&(s=!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 E={};Object.assign(E,v.model),v["3d-tiles"]&&!E["3d-tiles"]&&(E["3d-tiles"]=v["3d-tiles"]),v.textureOptions&&!E.textureOptions&&(E.textureOptions=v.textureOptions);var b=[];if(Array.isArray(e))for(var T=0,_=e;T<_.length;T++){var S=_[T];S instanceof Work?b.push(S):typeof S!="string"&&"work"in S?b.push(parseWork(S.work,S)):b.push(parseWork(S))}else e instanceof Work?b.push(e):b.push(parseWork(e));v.mode==="add"&&(b=[].concat(this.works,b));var w;try{w=createWorks(b)}catch(Z){return this.throwError(Z),Promise.reject(Z)}for(var R=0,I=w;R<I.length;R++){var O=I[R];this.bindWorkFetcher(O)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var M=w.initial,C=M.work.observers[0],H=C?{workCode:C.work.workCode,panoIndex:C.panoIndex}:{workCode:M.work.workCode,panoIndex:0},B=(l=M.mode)!==null&&l!==void 0?l:C?"Panorama":"Mapview",L={};if(r==="inherit"){B=this.currentMode;var k=(f=(c=w[0])===null||c===void 0?void 0:c.observers)===null||f===void 0?void 0:f[this.panoIndex];k?H={workCode:k.work.workCode,panoIndex:k.panoIndex}:typeof w.initial.panoIndex=="number"?H={workCode:w.initial.work.workCode,panoIndex:w.initial.panoIndex}:(B==="Panorama"||B==="VRPanorama"||B==="XRPanorama")&&(B="Mapview"),L={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof M.panoIndex=="number"&&(H={workCode:M.work.workCode,panoIndex:M.panoIndex}),M.mode&&(B=M.mode),L={longitude:M.longitude,latitude:M.latitude,fov:M.fov,distance:M.distance,offset:(p=M.offset)===null||p===void 0?void 0:p.clone()};else{if(B=(d=r.mode)!==null&&d!==void 0?d:this.currentMode,typeof r.panoIndex=="number"){var k=w.getObserver({workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:M.work.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex});k&&(H={workCode:k.work.workCode,panoIndex:k.panoIndex})}L={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var D=__assign(__assign(__assign({},H),{mode:B}),L),q=this.getCurrentState(),z=(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration;(B==="Floorplan"||B==="Topview"||B==="Mapview")&&this.currentMode===B&&(z=0);var J="fly";(B==="Panorama"||B==="VRPanorama"||B==="XRPanorama")&&this.currentMode===B&&(J=(g=v.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:w,state:D,userAction:s}));var Q=function(){u.pano=H;var Z=__assign(__assign({initial:{state:D,currentState:q,duration:z,effect:J,userAction:s}},u.commonParams()),u.controllerInits[B]),$=Controllers[B].initAnimationEndState(Z);if(u.controller&&u.currentMode===B)u.controller.updateWork(w,$,{effect:J,duration:z},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(B,Z));else{var X=u.currentMode;if(u.controller)u.controller.destroy();else{var ne=Controllers[B].initAnimationEndState(Z);u.camera.setFromPose(ne),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(B,Z);var W=createEvent("mode.change",{prevMode:X,mode:B,state:$,userAction:s});try{u.emit("mode.change",W)}catch(K){console.error(K)}}u.updateTime(u.currentUpdateArgs.time,0,u.currentUpdateArgs.args)};worksMap.set(this,w);var U=Promise.resolve();if(B===t.Mode.Floorplan||B===t.Mode.Topview||B===t.Mode.Mapview||B===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(D),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=B);var j=this.modelScene.setModels(w,E);U=Promise.all(j.map(function(Z){return Z.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,Q(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{Q();var G=this.controller,oe=!1;this.modelScene.autoRefine=!1;var ee=function(){u.works===w&&oe===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),oe=!0,u.modelScene.autoRefine=!0),G.off("pano.arrived",ee),G.off("pano.cancel",ee)},j=this.modelScene.setModels(w,E);U=Promise.all(j.map(function($){return $.initReady})).then(noop),G.once("pano.arrived",ee),G.once("pano.cancel",ee),setTimeout(ee,((y=v.duration)!==null&&y!==void 0?y:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:w})),U.then(function(){return u.ready()}).then(function(){var Z;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:w})),(Z=u.analysis)===null||Z===void 0||Z.work(w)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),worksMap.set(e,emptyWorks),e.modelScene.setModels(emptyWorks,{forceReplaceImmediately:!0}),e.renderer&&e.modelScene.update(e.renderer,e.camera),e.needsRender=!0,e.modelSceneNeedsRender=!0,e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,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 y=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(y)){var v=new Error("PanoId ".concat(panoStringify(y)," 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.loaded||(A=0));var E=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,y)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(y,__assign({duration:A},r),s):l.controller.updateCamera(r,A,s).catch(noop):(panoEqual(l.pano,y)||(l.pano=y),l.controller.updateCamera(r,A,s).catch(noop));else{var S=__assign(__assign({},r),y),w=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:g,userAction:s}},l.commonParams()),l.controllerInits[e]),R=Controllers[e].initAnimationEndState(w),I=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:R,userAction:s});if(l.emit("mode.change.request",I),!I.defaultPrevented){E&&E.destroy(),l.controller=l.applyController(e,w);var O=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:R,userAction:s});l.emit("mode.change",O)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){var w=S instanceof Error?S:new Error(String(S));l.exitFullscreen(),l.throwError(w),f(w)});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){var w=S instanceof Error?S:new Error(String(S));l.throwError(w),f(w)})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var f=this.renderer.getPixelRatio(),p=this.renderer.getRenderTarget(),d=this.renderer.getSize(new THREE__namespace.Vector2),h=0,m=0,A=1,g=1,y,v,E,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(m=r),typeof o=="number"&&(A=o),typeof s=="number"&&(g=s),y=u,v=l,T=c):(h=e.x,m=e.y,A=e.width,g=e.height,y=e.pixelRatio,v=e.flipY,E=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),m=Math.ceil(m),A=Math.ceil(A),g=Math.ceil(g),y=Math.ceil(y!=null?y:f),v=v!=null?v:!1;var _=this.helperVisible,S=this.modelScene.parameter.modelAlpha;this.helperVisible=E!=null?E:this.helperVisible,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var w=this.getPixelsRenderTarget;w.setSize(A*y,g*y),this.renderer.setRenderTarget(w),this.camera.pixelRatio=y,this.camera.resolution.set(A,g),this.camera.setViewOffset(d.width,d.height,h,d.height-m-g,A,g),this.scene.update(this.renderer,this.camera),this.render(),this.helperVisible=_,S===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",S),this.renderer.setRenderTarget(p),this.camera.clearViewOffset(),this.camera.pixelRatio=f,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var R=A*y,I=g*y,O=R*I,M=O*4;if(T){if(T.length!==M)throw new Error("buffer length is not equals pixels ".concat(M))}else T=new Uint8Array(M);if(this.renderer.readRenderTargetPixels(w,0,0,A*y,g*y,T),v)for(var C=O/2,H=0,B=0,L=0,k=0;B<C;B++)for(k=(I-Math.floor(B/R)-1)*R+B%R,L=0;L<4;L++)H=T[B*4+L],T[B*4+L]=T[k*4+L],T[k*4+L]=H;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(),s=r.autoClear,u=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(),A=r.getSize(scratchRenderSize),g=r.getPixelRatio(),y=Math.floor(A.x*this.viewport.left),v=Math.floor(A.y*this.viewport.bottom),E=Math.floor(A.x*this.viewport.width),b=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(y,v,E,b),r.setScissor(y,v,E,b);var T=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(T);var _=this.scene.background;this.modelScene.background=this.camera.isOrthographicCamera?null:_,this.modelScene.environment=this.scene.environment,this.scene.background=null;var S=this.getBuiltinRenderer(r);S.setSize(A.x,A.y,g),this.controller?this.controller.render(S,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0):S.render(this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0),this.scene.background=_,this.modelScene.background=null,this.modelScene.environment=null,this.poweredByRealsee&&this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&r.getRenderTarget()!==this.getPixelsRenderTarget&&renderPoweredByRealsee(r),r.setRenderTarget(o),r.autoClear=s,r.autoClearColor=u,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(f,p),r.setViewport(d),r.setScissor(h),r.setScissorTest(m),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:u},!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],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.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(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),f===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.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)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var m=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;m>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var A=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",A),A.defaultPrevented&&(this.needsRender=!1);var g=this.needsRender;this.renderer&&g&&this.render(),this.needsRender=!1,this.modelSceneNeedsRender=!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.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.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 u&&typeof u.moveToPano=="function"?u.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 s=this.works.getObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var f=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),p=__assign({key:"pano.".concat(f,".").concat(c)},pick(o.imageOptions,["size","format","quality","forceUseExifOrientation","mappings"])),d=s.work.getURL(s.images[c]),h=o.imageOptions.transform?o.imageOptions.transform(d,p):imageURL(d,p);return getFetcher(o.fiveId,s.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,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var 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 s,u,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 y=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(C){return C.workCode===v}).length>0&&(y=v),g={workCode:y,panoIndex:e.panoIndex}}var E=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,w;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==E){if(E==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var R={workCode:g==null?void 0:g.workCode,panoIndex:g==null?void 0:g.panoIndex};typeof e.longitude=="number"&&(R.longitude=e.longitude),typeof e.latitude=="number"&&(R.latitude=e.latitude),typeof e.fov=="number"&&(R.fov=e.fov),typeof e.distance=="number"&&(R.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(R.offset=e.offset);var I=__assign(__assign({initial:{state:R,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[E]),O=Controllers[E].initAnimationEndState(I);b=O.longitude,T=O.latitude,_=O.fov,S=O.offset,w=O.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(f=e.latitude)!==null&&f!==void 0?f:this.state.latitude,_=(p=e.fov)!==null&&p!==void 0?p:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,w=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var M={workCode:(g!=null?g:this.pano).workCode,panoIndex:(g!=null?g:this.pano).panoIndex,mode:E,longitude:b,latitude:T,fov:_,offset:S,distance:w};this.emit("state.set",createEvent("state.set",{userAction:o,state:M})),stateEqual(this.state,M)||(this.controller&&M.mode==="VRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("VRPanorama")):this.controller&&M.mode==="XRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("XRPanorama")):(assignState(this.state,M),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===M.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 s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var 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,y=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,g),v=this.camera.pose.offset.distanceTo(this.state.offset),E=v>d*15?v/15:d,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,E),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(y,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var w={x:b.x,y:b.y,z:b.z},R={fov:m};return Object.assign(w,{distance:y}),Object.assign(R,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(R,0).catch(noop),this.controller.locationMotion.set(w,0).catch(noop),!0}}else{var I=1,O=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,I),M=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},O),_=M.longitude,S=M.latitude,y=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(y,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:m},0).catch(noop),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var C=this.currentMode,H=C===t.Mode.Floorplan||C===t.Mode.Topview||C===t.Mode.Mapview||C===t.Mode.Model;if(!H||this.modelScene.loaded){var B=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var L=0,k=B;L<k.length;L++){var D=k[L];this.controller instanceof Controllers.Panorama&&D.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(D):D()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady}).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)},s=function(c){var f=c.error;r.emit("model.error",createEvent("model.error",{work:e.work,model:e,error:f})),r.throwError(f)},u=function(){r.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:e.work,model:e,error:null}))},l=function(){e.removeEventListener("load",o),e.removeEventListener("error",s),e.removeEventListener("changeShownFloor",u),e.removeEventListener("dispose",l)};e.addEventListener("load",o),e.addEventListener("error",s),e.addEventListener("changeShownFloor",u),e.addEventListener("dispose",l),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,s=e.allowHosts,u=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,s);return f instanceof Error?Promise.reject(f):f})}});registerFetcher(this.fiveId,e,u)},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 s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(m){u.on(m,function(){for(var A=[],g=0;g<arguments.length;g++)A[g]=arguments[g];var y=o.emit.apply(o,__spreadArray([m],A,!1));if(y)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 u.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()}))}),u.on("initAnimation.start",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("initAnimation.end",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.arrived",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.cancel",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),u.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(m){return o.throwError(m)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),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,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.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 s=r.quaternion.clone().inverse();o.applyQuaternion(s);var u=Math.atan2(o.x,-o.z),l=-Math.asin(o.y);return{theta:u,phi:l,lookAtVector:o}}}return null},Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.renderEffect==="edl"},set:function(e){this.renderEffect=e?"edl":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.renderEffect==="hq"},set:function(e){this.renderEffect=e?"hq":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!1},set:function(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 s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n})();exports.AnimationFrameLoop=AnimationFrameLoop,exports.BoundingMesh=BoundingMesh$1,exports.Camera=Camera,exports.CustomShader=PBMCustomShader,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.Model=Model,exports.ModelScene=ModelScene,exports.Motion=Motion,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMCustomShader=PBMCustomShader,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PBMPointCloud=PBMPointCloud,exports.PBMPointCloudMaterial=PBMPointCloudMaterial,exports.PBMSkinnedMesh=PBMSkinnedMesh,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.Parameter=Parameter,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.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.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,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));