@realsee/five 5.0.0-alpha.15 → 5.0.0-alpha.151

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 (238) hide show
  1. package/README.md +21 -11
  2. package/docs/.nojekyll +1 -0
  3. package/docs/assets/highlight.css +134 -0
  4. package/docs/assets/icons.css +1043 -0
  5. package/docs/assets/{images/icons.png → icons.png} +0 -0
  6. package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
  7. package/docs/assets/main.js +52 -0
  8. package/docs/assets/search.js +1 -0
  9. package/docs/assets/style.css +1414 -0
  10. package/docs/assets/{images/widgets.png → widgets.png} +0 -0
  11. package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
  12. package/docs/classes/five.AnimationFrameLoop.html +15 -0
  13. package/docs/classes/five.BVH.html +10 -0
  14. package/docs/classes/five.BVHIntersect.html +1 -0
  15. package/docs/classes/five.BVHNode.html +7 -0
  16. package/docs/classes/five.BVHVector3.html +1 -0
  17. package/docs/classes/five.Camera.html +11 -0
  18. package/docs/classes/five.Clipper.html +1 -0
  19. package/docs/classes/five.Five.html +323 -0
  20. package/docs/classes/five.InternalWebGLRenderer.html +1 -0
  21. package/docs/classes/five.IntersectMesh.html +1 -0
  22. package/docs/classes/five.LegacyPanoCircleMesh.html +5 -0
  23. package/docs/classes/five.Model.html +87 -0
  24. package/docs/classes/five.NetworkSubscribe.html +50 -0
  25. package/docs/classes/five.PBMContainer.html +17 -0
  26. package/docs/classes/five.PBMGroup.html +19 -0
  27. package/docs/classes/five.PBMMaterial.html +27 -0
  28. package/docs/classes/five.PBMMesh.html +7 -0
  29. package/docs/classes/five.PanoCircleMesh.html +7 -0
  30. package/docs/classes/five.PanoCircleMeshDark.html +7 -0
  31. package/docs/classes/five.PanoCircleMeshSolid.html +7 -0
  32. package/docs/classes/five.Scene.html +3 -0
  33. package/docs/classes/five.Subscribe.html +56 -0
  34. package/docs/classes/five.TextureLoader.html +1 -0
  35. package/docs/classes/five.Tile3D.html +34 -0
  36. package/docs/classes/five.Tile3DModel.html +15 -0
  37. package/docs/classes/five.TileBoundingSphere.html +1 -0
  38. package/docs/classes/five.TileCacheNode.html +1 -0
  39. package/docs/classes/five.TileCubeTextureTarget.html +1 -0
  40. package/docs/classes/five.TileCullingVolume.html +1 -0
  41. package/docs/classes/five.TileOrientedBoundingBox.html +1 -0
  42. package/docs/classes/five.TilePlane.html +1 -0
  43. package/docs/classes/five.TileRequestScheduler.html +16 -0
  44. package/docs/classes/five.Tileset3D.html +11 -0
  45. package/docs/classes/five.Tileset3DTraverser.html +1 -0
  46. package/docs/classes/five.TilesetCache.html +1 -0
  47. package/docs/classes/five.Work.html +30 -0
  48. package/docs/classes/five.XRButton.html +1 -0
  49. package/docs/classes/gltf_loader.DDSLoader.html +1 -0
  50. package/docs/classes/gltf_loader.DRACOLoader.html +1 -0
  51. package/docs/classes/gltf_loader.GLTFLoader.html +17 -0
  52. package/docs/classes/gltf_loader.GLTFObject.html +7 -0
  53. package/docs/classes/gltf_loader.GLTFParser.html +1 -0
  54. package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -0
  55. package/docs/classes/line.Line.html +1 -0
  56. package/docs/classes/line.LineGeometry.html +1 -0
  57. package/docs/classes/line.LineMaterial.html +1 -0
  58. package/docs/classes/line.LineSegmentsGeometry.html +1 -0
  59. package/docs/classes/line.THREE_Line2.html +1 -0
  60. package/docs/classes/line.THREE_LineSegments2.html +1 -0
  61. package/docs/classes/react.Store.html +29 -0
  62. package/docs/classes/server.BVH.html +10 -0
  63. package/docs/classes/server.BVHIntersect.html +1 -0
  64. package/docs/classes/server.BVHNode.html +7 -0
  65. package/docs/classes/server.BVHVector3.html +1 -0
  66. package/docs/classes/server.Model.html +63 -0
  67. package/docs/classes/server.PBMGroup.html +9 -0
  68. package/docs/classes/server.PBMMesh.html +7 -0
  69. package/docs/classes/sticker.Sticker.html +32 -0
  70. package/docs/index.html +166 -422
  71. package/docs/interfaces/five.AddableObject.html +1 -0
  72. package/docs/interfaces/five.AnimationFrame.html +1 -0
  73. package/docs/interfaces/five.CameraPose.html +1 -0
  74. package/docs/interfaces/five.ClipperParameter.html +1 -0
  75. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +28 -0
  76. package/docs/interfaces/five.EventCallback.html +399 -0
  77. package/docs/interfaces/five.FiveInitArgs.html +109 -0
  78. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +15 -0
  79. package/docs/interfaces/five.ImageOptions.html +18 -0
  80. package/docs/interfaces/five.ImageURLMappings.html +1 -0
  81. package/docs/interfaces/five.ImageURLOptions.html +17 -0
  82. package/docs/interfaces/five.IntersectMeshInterface.html +3 -0
  83. package/docs/interfaces/five.Intersection.html +7 -0
  84. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +15 -0
  85. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +20 -0
  86. package/docs/interfaces/five.ModelEventCallback.html +22 -0
  87. package/docs/interfaces/five.MovePanoOptions.html +42 -0
  88. package/docs/interfaces/five.NetworkOptions.html +9 -0
  89. package/docs/interfaces/five.PBMPanoPicture.html +7 -0
  90. package/docs/interfaces/five.PBMParameters.html +27 -0
  91. package/docs/interfaces/five.PanoCircleMeshInterface.html +19 -0
  92. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +33 -0
  93. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +20 -0
  94. package/docs/interfaces/five.Pose.html +37 -0
  95. package/docs/interfaces/five.Scissor.html +14 -0
  96. package/docs/interfaces/five.State.html +21 -0
  97. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -0
  98. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -0
  99. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -0
  100. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -0
  101. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -0
  102. package/docs/interfaces/five.TextureOptions.html +20 -0
  103. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +3 -0
  104. package/docs/interfaces/five.TileBoundingVolume.html +19 -0
  105. package/docs/interfaces/five.TileContent.html +1 -0
  106. package/docs/interfaces/five.TileCubeNode.html +1 -0
  107. package/docs/interfaces/five.TileCubeTree.html +1 -0
  108. package/docs/interfaces/five.Tileset3dOptions.html +1 -0
  109. package/docs/interfaces/five.TilesetJSON.html +1 -0
  110. package/docs/interfaces/five.TilesetJSONNode.html +1 -0
  111. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -0
  112. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +29 -0
  113. package/docs/interfaces/five.WorkCubeImage.html +13 -0
  114. package/docs/interfaces/five.WorkImage.html +21 -0
  115. package/docs/interfaces/five.WorkInitial.html +13 -0
  116. package/docs/interfaces/five.WorkModel.html +11 -0
  117. package/docs/interfaces/five.WorkModelTiles.html +3 -0
  118. package/docs/interfaces/five.WorkObserver.html +25 -0
  119. package/docs/interfaces/five.WorkTile.html +1 -0
  120. package/docs/interfaces/five.WorkVideo.html +9 -0
  121. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +29 -0
  122. package/docs/interfaces/gltf_loader.DDS.html +1 -0
  123. package/docs/interfaces/gltf_loader.GLTF.html +7 -0
  124. package/docs/interfaces/gltf_loader.GLTFReference.html +1 -0
  125. package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -0
  126. package/docs/interfaces/react.FiveActionReactCallbacks.html +62 -0
  127. package/docs/interfaces/react.FiveInjectionTypes.html +191 -0
  128. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -0
  129. package/docs/interfaces/server.Intersection.html +7 -0
  130. package/docs/interfaces/server.ModelEventCallback.html +18 -0
  131. package/docs/interfaces/sticker.IntersectionLike.html +8 -0
  132. package/docs/interfaces/vue.FiveActionVueCallbacks.html +62 -0
  133. package/docs/modules/five.SubscribeMixinType.html +1 -0
  134. package/docs/modules/five.html +496 -0
  135. package/docs/modules/gltf_loader.html +1 -0
  136. package/docs/modules/line.html +1 -0
  137. package/docs/modules/react.html +133 -1374
  138. package/docs/modules/server.html +18 -0
  139. package/docs/modules/sticker.html +1 -0
  140. package/docs/modules/vue.html +112 -0
  141. package/docs/modules.html +1 -120
  142. package/exporters/staticify.js +210 -0
  143. package/five/index.d.ts +2922 -0
  144. package/five/index.js +372 -0
  145. package/gltf-loader/index.d.ts +160 -0
  146. package/gltf-loader/index.js +260 -0
  147. package/line/index.d.ts +69 -0
  148. package/line/index.js +260 -0
  149. package/package.json +25 -17
  150. package/react/index.d.ts +86 -24
  151. package/react/index.js +260 -1
  152. package/resource/{basis_transcoder.js → basis/basis_transcoder.js} +0 -0
  153. package/resource/{basis_transcoder.wasm → basis/basis_transcoder.wasm} +0 -0
  154. package/resource/gltf/draco_decoder.js +31 -0
  155. package/resource/gltf/draco_decoder.wasm +0 -0
  156. package/resource/gltf/draco_wasm_wrapper.js +119 -0
  157. package/scripts/five-staticify.js +26 -0
  158. package/server/index.d.ts +197 -26
  159. package/server/index.js +367 -1
  160. package/sticker/index.d.ts +71 -0
  161. package/sticker/index.js +260 -0
  162. package/templates/quick-start/README.md +1 -1
  163. package/templates/quick-start/package.json +1 -1
  164. package/templates/react-component/lib/index.tsx +3 -3
  165. package/umd/five-gltf-loader.js +1 -0
  166. package/umd/five-gltf-loader.js.LICENSE.txt +14 -0
  167. package/umd/five-line.js +1 -0
  168. package/umd/five-line.js.LICENSE.txt +14 -0
  169. package/umd/five-react.js +1 -0
  170. package/umd/five-react.js.LICENSE.txt +14 -0
  171. package/umd/five-sticker.js +1 -0
  172. package/umd/five-sticker.js.LICENSE.txt +14 -0
  173. package/umd/five-vue.js +1 -0
  174. package/umd/five.js +2 -0
  175. package/umd/five.js.LICENSE.txt +107 -0
  176. package/vue/index.d.ts +440 -0
  177. package/vue/index.js +260 -0
  178. package/bundles/five.js +0 -2
  179. package/bundles/five.js.LICENSE.txt +0 -160
  180. package/docs/assets/css/main.css +0 -2660
  181. package/docs/assets/js/main.js +0 -248
  182. package/docs/assets/js/search.js +0 -1
  183. package/docs/classes/index.five.html +0 -2498
  184. package/docs/classes/index.fivecamera.html +0 -311
  185. package/docs/classes/index.fivehashcubetexture.html +0 -240
  186. package/docs/classes/index.fiveline.html +0 -342
  187. package/docs/classes/index.fivelinegeometry.html +0 -500
  188. package/docs/classes/index.fivelinematerial.html +0 -276
  189. package/docs/classes/index.fivelinesegmentsgeometry.html +0 -447
  190. package/docs/classes/index.fivescene.html +0 -186
  191. package/docs/classes/index.internalwebglrenderer.html +0 -200
  192. package/docs/classes/index.model.html +0 -883
  193. package/docs/classes/index.pbmgroup.html +0 -415
  194. package/docs/classes/index.pbmmaterial.html +0 -521
  195. package/docs/classes/index.pbmmesh.html +0 -242
  196. package/docs/classes/index.subscribe.html +0 -556
  197. package/docs/classes/react.store.html +0 -584
  198. package/docs/interfaces/index.depthpanoramacontrollercustominitargs.html +0 -408
  199. package/docs/interfaces/index.eventcallback.html +0 -2452
  200. package/docs/interfaces/index.fiveinitargs.html +0 -695
  201. package/docs/interfaces/index.floorplancontrollercustominitargs.html +0 -283
  202. package/docs/interfaces/index.imageoptions.html +0 -320
  203. package/docs/interfaces/index.intersection.html +0 -215
  204. package/docs/interfaces/index.intersectmeshinterface.html +0 -176
  205. package/docs/interfaces/index.modelcontrollercustominitargs.html +0 -354
  206. package/docs/interfaces/index.modeleventcallback.html +0 -316
  207. package/docs/interfaces/index.movepanooptions.html +0 -457
  208. package/docs/interfaces/index.panocirclemeshinterface.html +0 -349
  209. package/docs/interfaces/index.panoramacontrollercustominitargs.html +0 -433
  210. package/docs/interfaces/index.panoramalikecontrollercustominitargs.html +0 -352
  211. package/docs/interfaces/index.pbmparameters.html +0 -462
  212. package/docs/interfaces/index.pose.html +0 -258
  213. package/docs/interfaces/index.scissor.html +0 -240
  214. package/docs/interfaces/index.state.html +0 -288
  215. package/docs/interfaces/index.subscribemixintype.emit.html +0 -180
  216. package/docs/interfaces/index.subscribemixintype.haslistener.html +0 -171
  217. package/docs/interfaces/index.subscribemixintype.off.html +0 -198
  218. package/docs/interfaces/index.subscribemixintype.on.html +0 -213
  219. package/docs/interfaces/index.subscribemixintype.once.html +0 -210
  220. package/docs/interfaces/index.topviewcontrollercustominitargs.html +0 -214
  221. package/docs/interfaces/index.vrpanoramacontrollercustominitargs.html +0 -420
  222. package/docs/interfaces/react.fiveactionreactcallbacks.html +0 -559
  223. package/docs/interfaces/react.fiveinjectiontypes.html +0 -1473
  224. package/docs/interfaces/react.injectfivetoprops.html +0 -259
  225. package/docs/modules/index.html +0 -3027
  226. package/docs/modules/index.subscribemixintype.html +0 -143
  227. package/five.js.LICENSE.txt +0 -160
  228. package/index.d.ts +0 -1807
  229. package/index.js +0 -1
  230. package/scripts/export-five-resource/chfs.exe +0 -0
  231. package/scripts/export-five-resource/fileify.js +0 -192
  232. package/scripts/export-five-resource/format-work.js +0 -71
  233. package/scripts/export-five-resource/staticify.js +0 -327
  234. package/scripts/transcode-model/BufferGeometryUtils.js +0 -832
  235. package/scripts/transcode-model/LoaderSupport.js +0 -1545
  236. package/scripts/transcode-model/MTLLoader.js +0 -602
  237. package/scripts/transcode-model/OBJLoader2.js +0 -1470
  238. package/scripts/transcode-model/obj2pbm.js +0 -65
package/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("tslib"),n=require("protobufjs"),i=require("@tweenjs/tween.js"),r=require("json-hash"),o=require("webvr-polyfill"),s=require("hammerjs");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function M(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var u=M(e),c=M(n),l=a(i),d=M(r),N=a(o),p=a(s),h=Number(u.REVISION);if(h<115||h>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');var D=2*Math.PI;function y(e){return(e%D+D)%D}var g=function(e){function n(t){var n=e.call(this,t,1,.1,1e3)||this;return n.pose={longitude:0,latitude:0,fov:t,offset:new u.Vector3},n.computePose(),n}return t.__extends(n,e),n.prototype.computePose=function(){var e=this.getWorldDirection(new u.Vector3);this.pose.longitude=y(-Math.atan2(e.x,-e.z)),this.pose.latitude=-Math.asin(e.y/1),this.pose.fov=this.fov,this.pose.offset.copy(this.position)},n.prototype.setFromPose=function(e){var t,n,i,r,o=y(null!==(t=e.longitude)&&void 0!==t?t:this.pose.longitude),s=Math.max(-Math.PI/2+.01,Math.min(Math.PI/2-.01,null!==(n=e.latitude)&&void 0!==n?n:this.pose.latitude)),a=null!==(i=e.fov)&&void 0!==i?i:this.pose.fov,M=null!==(r=e.offset)&&void 0!==r?r:this.pose.offset;this.position.copy(M);var c=Math.abs(Math.cos(s)),l=new u.Vector3(-Math.sin(o)*c,-Math.sin(s),-Math.cos(o)*c);this.lookAt(M.clone().add(l)),this.fov!==a&&(this.fov=a,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=o,this.pose.latitude=s,this.pose.fov=a,this.pose.offset.copy(M)},n.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,offset:this.pose.offset.clone()}},n}(u.PerspectiveCamera),z=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t.__extends(n,e),n}(u.Scene),T=function(e){function n(t){var n=t.preserveDrawingBuffer,i=void 0===n||n,r=t.backgroundColor,o=void 0===r?1579548:r,s=t.backgroundAlpha,a=void 0===s?1:s,M=t.pixelRatio,u=void 0===M?1:M,c=t.antialias,l=void 0!==c&&c,d=e.call(this,{antialias:l,preserveDrawingBuffer:i,alpha:a<1})||this;return d.setPixelRatio(u),d.setClearColor(o,a),d.autoClear=!0,d}return t.__extends(n,e),n}(u.WebGLRenderer);function j(e){return null==e}function f(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]}function v(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function m(){return(v()+v()+"-"+v()+"-4"+v().substr(0,3)+"-"+v()+"-"+v()+v()+v()).toLowerCase()}var w="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),I="undefined"!=typeof performance?function(){return w+performance.now()}:function(){return Date.now()},x=window,L=x.requestAnimationFrame||x.mozRequestAnimationFrame||x.webkitRequestAnimationFrame||x.msRequestAnimationFrame||function(e){return setTimeout(e,16)};function A(e,t){void 0===e&&(e=f),void 0===t&&(t=0),L(t<=0?e:function(){return A(e,t-1)})}function O(e,n){void 0===e&&(e=f);for(var i=[],r=2;r<arguments.length;r++)i[r-2]=arguments[r];var o=!1,s=function(r){e.call.apply(e,t.__spreadArray([n,r],i)),o||"function"!=typeof s||L(s)};return L(s),function(){s=null,o=!0}}var E=0;function C(e){E&&e(E);var t=I();L((function(){e(E=I()-t)}))}C(f);var k=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.floorIndex=0,t.needsRender=!0,t}return t.__extends(n,e),n}(u.Mesh),S=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.floorIndex=0,t.needsRender=!0,t}return t.__extends(n,e),n.prototype.getTransparent=function(){var e;return this.traverse((function(t){void 0===e&&t instanceof k&&t.material.forEach((function(t){void 0===e&&1===t.uniforms.originOpacity.value&&(e=t.transparent)}))})),null!=e&&e},n.prototype.setTransparent=function(e){this.traverse((function(t){t instanceof k&&t.material.forEach((function(t){1===t.uniforms.originOpacity.value&&(t.transparent=e)}))}))},n.prototype.getMaterial=function(){var e=null;return this.traverse((function(t){if(null===e&&t instanceof k){var n=t.material[0];e={pano0Map:n.pano0Map,pano0Matrix:n.pano0Matrix,pano1Map:n.pano1Map,pano1Matrix:n.pano1Matrix,modelAlpha:n.modelAlpha,progress:n.progress,useBlackTransition:n.useBlackTransition,perspToOrtho:n.perspToOrtho,opacity:n.opacity,pano0DepthMap:n.pano0DepthMap,panoVideoMap:n.panoVideoMap,panoVideoSize:n.panoVideoSize,panoVideoMatrix:n.panoVideoMatrix,panoVideoAlpha:n.panoVideoAlpha,panoTileMap:n.panoTileMap,panoTileMappings:n.panoTileMappings}}})),e},n.prototype.setMaterial=function(e){this.traverse((function(t){t instanceof k&&t.material.forEach((function(t){void 0!==e.pano0Map&&(t.pano0Map=e.pano0Map),void 0!==e.pano0Matrix&&(t.pano0Matrix=e.pano0Matrix),void 0!==e.pano1Map&&(t.pano1Map=e.pano1Map),void 0!==e.pano1Matrix&&(t.pano1Matrix=e.pano1Matrix),void 0!==e.modelAlpha&&(t.modelAlpha=e.modelAlpha),void 0!==e.progress&&(t.progress=e.progress),void 0!==e.useBlackTransition&&(t.useBlackTransition=e.useBlackTransition),void 0!==e.perspToOrtho&&(t.perspToOrtho=e.perspToOrtho),void 0!==e.opacity&&(t.opacity=e.opacity),void 0!==e.pano0DepthMap&&(t.pano0DepthMap=e.pano0DepthMap),void 0!==e.panoVideoMap&&(t.panoVideoMap=e.panoVideoMap),void 0!==e.panoVideoSize&&(t.panoVideoSize=e.panoVideoSize),void 0!==e.panoVideoMatrix&&(t.panoVideoMatrix=e.panoVideoMatrix),void 0!==e.panoVideoAlpha&&(t.panoVideoAlpha=e.panoVideoAlpha),void 0!==e.panoTileMap&&(t.panoTileMap=e.panoTileMap),void 0!==e.panoTileMappings&&(t.panoTileMappings=e.panoTileMappings)}))}))},n.prototype.disposeMaterial=function(){this.traverse((function(e){if(e instanceof k){var t=[];e.material.forEach((function(e){var n=e.uniforms;Object.keys(n).map((function(e){if(["pano0Map","pano1Map","pano0DepthMap","panoVideoMap","panoTileMap"].indexOf(e)>=0)n[e].value=null;else{var i=n[e].value;i&&"function"==typeof i.dispose&&-1===t.indexOf(i)&&(n[e].value=null,t.push(i))}})),e.dispose()})),t.forEach((function(e){return e.dispose()}))}}))},n.prototype.disposeGeometry=function(){this.traverse((function(e){e instanceof k&&e.geometry.dispose()}))},n}(u.Group),U=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=113,i=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>i?e:String.fromCharCode((e.charCodeAt(r)+n)%i)})).join(o)}("n\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{H{vs|z-znA-}n{|=ZnvH{vs|z-znA-}n{|>ZnvH{vs|z-rp@-z|qryPr{rH{vs|z-sy|n-}r}a|\\u|Hn\bv{t-rp@-}n{|=a|crrHn\bv{t-rp@-}n{|>a|crrH0vs-.qrsv{rq5b`RlOYNPXla_N[`VaV\\[6-33-qrsv{rq-5b`Rl]N[\\=lQR]aUlZN]6--n\bv{t-rp@-pnzrna|crrH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--cvr]|vv|{-J-:-z]|vv|{;\b\tH--rp@-|yq]|vv|{-J-5z|qryZnv-7-n{s|zrq6;\b\tH--0vs-.qrsv{rq5b`RlOYNPXla_N[`VaV\\[6-33-qrsv{rq-5b`Rl]N[\\=lQR]aUlZN]6----pnzrna|crr-J-|yq]|vv|{-:-pnzrn]|vv|{H--0r{qvs--}n{|=a|crr-J-5|yq]|vv|{-:-}n{|=Znvh@j;\b\t6-7-zn@5}n{|=Znv6H--}n{|>a|crr-J-5|yq]|vv|{-:-}n{|>Znvh@j;\b\t6-7-zn@5}n{|>Znv6H--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--rp@-pnzrn[|zny-J-5z|qrycvrZnv-7-rpA5=;=9-=;=9->;=9-=;=66;\b\tH--sy|n-|u|Qvn{pr-J-zn5=;=>9-q|5pnzrn[|zny9-z|qryPr{r-:-pnzrn]|vv|{66H--tyl]|vv|{;-J-zv5-tyl]|vv|{;9-tyl]|vv|{;-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H--tyl]|vv|{;\b-J-zv5-tyl]|vv|{;\b9-tyl]|vv|{;\b-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H\f"),b=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=113,i=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>i?e:String.fromCharCode((e.charCodeAt(r)+n)%i)})).join(o)}("{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-|vtv{\\}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-nz}yrPor-}n{|=Zn}H{vs|z-nz}yrPor-}n{|>Zn}H{vs|z-nz}yrPor-}n{|=Qr}uZn}H{vs|z-rp?-}n{|cvqr|`v\trH{vs|z-znA-}n{|cvqr|ZnvH{vs|z-sy|n-}n{|cvqr|Ny}unH{vs|z-nz}yr?Q-}n{|cvqr|Zn}H0vs-qrsv{rq5b`RlaVYR6--{vs|z-nz}yr?Q-}n{|avyrZn}H--{vs|z-rpA-}n{|avyrPyv}Zn}}v{thaVYRlZN]]V[TlYR[TaUjH--{vs|z-rpA-}n{|avyrQnNZn}}v{thaVYRlZN]]V[TlYR[TaUjH0r{qvs0vs-.qrsv{rq5b`RlOYNPXla_N[`VaV\\[6-33-qrsv{rq5b`Rl]N[\\=lQR]aUlZN]6--n\bv{t-rp@-pnzrna|crrH0r{qvsn\bv{t-rp@-}n{|=a|crrHn\bv{t-rp@-}n{|>a|crrH0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=9-=;=9-=;=9->;=60qrsv{r-]Vl?-C;?E@>EB?rp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-]Vl?9-urn-<-]V6H\f|vq-znv{56-\n--rpA-qvssrP|y|-J-rpA5qvssr9-|vtv{\\}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=Zn}9-}n{|=a|crr6H--0vs-qrsv{rq5b`RlaVYR6----rp?-vyrlp||q-J-|P||q5}n{|=a|crr6H----rpA-vyrlpyv}H----rpA-vyrlqnNH----rp?-vyrlH----sy|n-vyrlny}unH----0}ntzn-{|yyly||}lnH----s|-5v{-v-J-=H-v-I-aVYRlZN]]V[TlYR[TaUH-v886-\n------vyrlpyv}-J-}n{|avyrPyv}Zn}}v{thvjH------vyrlqnN-J-}n{|avyrQnNZn}}v{thvjH------vyrl;-J-5vyrlp||q;-:-vyrlpyv}h=j6-<-vyrlpyv}h?jH------vyrl;\b-J-5vyrlp||q;\b-:-vyrlpyv}h>j6-<-vyrlpyv}h@jH------vyrlny}un-J-5>;=-:-r}5=;B9-no5vyrl;-:-=;B666-7-5>;=-:-r}5=;B9-no5vyrl;\b-:-=;B666H------vyrl;-J-vyrlqnNh=j-8-vyrl;-7-vyrlqnNh?jH------vyrl;\b-J-vyrlqnNh>j-8-vyrl;\b-7-vyrlqnNh@jH------vyrlny}un-J-prvy5vyrlny}un-7-vyrlqnNh?j6H------}n{|=P|y|-J-zv5}n{|=P|y|9-rr?Q5}n{|avyrZn}9-vyrl69-vyrlny}un6H----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--rpA-}n{|>P|y|-J-rrPor5}n{|>Zn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-zn5=;=9-oynpx]|tr-:-?;=66H--0ryr----0vs-qrsv{rq5b`Rl]N[\\=lQR]aUlZN]6------rpA-}n{|=Qr}uP|y|-J-rrPor5}n{|=Qr}uZn}9-pnzrna|crr6H------sy|n-qrynQvn{pr=-J-no5{}npx_TONa|Qr}u5}n{|=Qr}uP|y|6-7->=;=-:-yr{tu5}n{|=a|crr66H------sy|n-ynry-J-pynz}5}|tr-7-5>;=-8-qrynQvn{pr=-7-=;FB69-=;=9->;=6H----0ryr------sy|n-ynry-J-}|trH----0r{qvs----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-ynry6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\lZN]6----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|ZnvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|`v\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|`v\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|Zn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|Ny}un6H--0r{qvs--tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b6H\f"),Q=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.hash=m(),t}return t.__extends(n,e),n}(u.CubeTexture);function Y(){return document.createElementNS("http://www.w3.org/1999/xhtml","img")}var _=Y();_.width=_.height=8;var P=new u.Texture(_),B=new Q([_,_,_,_,_,_]);P.dispose=B.dispose=function(){};var R=function(e){return{value:e}},V=Object.assign({modelAlpha:R(0),originOpacity:R(1),progress:R(0),pano0Map:R(null),pano0Matrix:R(new u.Matrix4),pano1Map:R(null),pano1Matrix:R(new u.Matrix4),pano0DepthMap:R(null),panoVideoMap:R(null),panoVideoSize:R(new u.Vector2),panoVideoMatrix:R(new u.Matrix4),panoVideoAlpha:R(0),modelCenter:R(new u.Vector3),perspToOrtho:R(0),panoTileMap:R(null),panoTileClipMappings:R([]),panoTileDrawAtMappings:R([])},{emissive:R(new u.Color(0)),emissiveMap:R(null),specular:R(new u.Color(1118481)),specularMap:R(null),normalMap:R(null),bumpMap:R(null),shininess:R(30)},u.UniformsLib.common,u.UniformsLib.lights),F=function(e){function n(t){var n,i,r,o,s,a,M,c,l,d,N,p,h,D,y,g;void 0===t&&(t={});var z=e.call(this,{vertexShader:U,fragmentShader:b,uniforms:u.UniformsUtils.clone(V),defines:{USE_MAP:!0,USE_UV:!0,USE_TILE:!1,TILE_MAPPING_LENGTH:0,USE_BLACK_TRANSITION:!1,USE_PANO0_DEPTH_MAP:!1,USE_PANO_VIDEO_MAP:!1},lights:!0})||this;return Object.defineProperties(z,{pano0Map:{get:function(){var e=this.uniforms.pano0Map.value;return e===B?null:e},set:function(e){this.uniforms.pano0Map.value=null===e?B:e}},pano0Matrix:{get:function(){return this.uniforms.pano0Matrix.value.clone()},set:function(e){this.uniforms.pano0Matrix.value.copy(e)}},pano1Map:{get:function(){var e=this.uniforms.pano1Map.value;return e===B?null:e},set:function(e){this.uniforms.pano1Map.value=null===e?B:e}},pano1Matrix:{get:function(){return this.uniforms.pano1Matrix.value.clone()},set:function(e){this.uniforms.pano1Matrix.value.copy(e)}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(e){this.uniforms.modelAlpha.value=e}},progress:{get:function(){return this.uniforms.progress.value},set:function(e){this.uniforms.progress.value=e}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(e){this.defines.USE_BLACK_TRANSITION!==e&&(this.defines.USE_BLACK_TRANSITION=e,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},perspToOrtho:{get:function(){return this.uniforms.perspToOrtho.value},set:function(e){this.uniforms.perspToOrtho.value=e}},pano0DepthMap:{get:function(){return this.uniforms.pano0DepthMap.value},set:function(e){this.uniforms.pano0DepthMap.value=e;var t=null!==e;t!==this.defines.USE_PANO0_DEPTH_MAP&&(this.defines.USE_PANO0_DEPTH_MAP=t,this.needsUpdate=!0)}},panoVideoMap:{get:function(){return this.uniforms.panoVideoMap.value},set:function(e){this.uniforms.panoVideoMap.value=e;var t=null!==e;t!==this.defines.USE_PANO_VIDEO_MAP&&(this.defines.USE_PANO_VIDEO_MAP=t,this.needsUpdate=!0)}},panoVideoSize:{get:function(){return this.uniforms.panoVideoSize.value.clone()},set:function(e){this.uniforms.panoVideoSize.value.copy(e)}},panoVideoMatrix:{get:function(){return this.uniforms.panoVideoMatrix.value.clone()},set:function(e){this.uniforms.panoVideoMatrix.value.copy(e)}},panoVideoAlpha:{get:function(){return this.uniforms.panoVideoAlpha.value},set:function(e){this.uniforms.panoVideoAlpha.value=e}},panoTileMap:{get:function(){return this.uniforms.panoTileMap.value},set:function(e){this.uniforms.panoTileMap.value=e;var t=null!==e;t!==this.defines.USE_TILE&&(this.defines.USE_TILE=t,this.needsUpdate=!0)}},panoTileMappings:{get:function(){var e=this.uniforms.panoTileClipMappings.value,t=this.uniforms.panoTileDrawAtMappings.value;if(null===e)return null;for(var n=[],i=0;i<e.length;i++)n[i]=[e[i].clone(),t[i].clone()];return n},set:function(e){var t=this.defines.TILE_MAPPING_LENGTH;if(null===e)this.uniforms.panoTileClipMappings.value=null,this.uniforms.panoTileDrawAtMappings.value=null;else{for(var n=[],i=[],r=0;r<e.length;r++)n[r]=e[r][0].clone(),i[r]=e[r][1].clone();this.uniforms.panoTileClipMappings.value=n,this.uniforms.panoTileDrawAtMappings.value=i}var o=null!==e?e.length:0;o!==t&&(this.defines.TILE_MAPPING_LENGTH=o,this.needsUpdate=!0)}}}),z.pano0Map=null!==(n=t.pano0Map)&&void 0!==n?n:B,z.pano0Matrix=null!==(i=t.pano0Matrix)&&void 0!==i?i:new u.Matrix4,z.pano1Map=null!==(r=t.pano1Map)&&void 0!==r?r:B,z.pano1Matrix=null!==(o=t.pano1Matrix)&&void 0!==o?o:new u.Matrix4,z.modelAlpha=null!==(s=t.modelAlpha)&&void 0!==s?s:1,z.progress=null!==(a=t.progress)&&void 0!==a?a:0,z.useBlackTransition=null!==(M=t.useBlackTransition)&&void 0!==M&&M,z.perspToOrtho=null!==(c=t.perspToOrtho)&&void 0!==c?c:0,z.opacity=null!==(l=t.opacity)&&void 0!==l?l:1,z.pano0DepthMap=null!==(d=t.pano0DepthMap)&&void 0!==d?d:null,z.panoVideoSize=null!==(N=t.panoVideoSize)&&void 0!==N?N:new u.Vector2,z.panoVideoMap=null!==(p=t.panoVideoMap)&&void 0!==p?p:null,z.panoVideoMatrix=null!==(h=t.panoVideoMatrix)&&void 0!==h?h:new u.Matrix4,z.panoVideoAlpha=null!==(D=t.panoVideoAlpha)&&void 0!==D?D:0,z.panoTileMap=null!==(y=t.panoTileMap)&&void 0!==y?y:null,z.panoTileMappings=null!==(g=t.panoTileMappings)&&void 0!==g?g:null,z}return t.__extends(n,e),n}(u.ShaderMaterial),H=new u.Vector3(0,0,0),G=function(e){function n(t,n){void 0===n&&(n=H);var i=e.call(this)||this,r=new u.BoxBufferGeometry(t.max.x-t.min.x+2*n.x,t.max.y-t.min.y+2*n.y,t.max.z-t.min.z+2*n.z,1,1);r.groups.length=0,r.groups.push({start:0,count:36,materialIndex:0}),r.applyMatrix4((new u.Matrix4).makeScale(-1,1,1));var o=new F;o.defines.USE_MAP=!1,o.defines.USE_UV=!1,o.uniforms.diffuse.value=new u.Color(16777215);var s=new k(r,[o]);return s.floorIndex=-1,s.position.copy(t.getCenter(new u.Vector3)),s.frustumCulled=!1,i.add(s),i}return t.__extends(n,e),n.prototype.dispose=function(){this.disposeMaterial(),this.disposeGeometry()},n}(S);function q(e,t){return void 0===t&&(t=H),new G(e,t)}var W,Z,J,X,K={};K.EPSILON=1e-6,K.BVHVector3=function(e,t,n){this.x=e||0,this.y=t||0,this.z=n||0},K.BVHVector3.prototype={constructor:K.BVHVector3,copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},set:function(e,t,n){return this.x=e,this.y=t,this.z=n,this},setFromArray:function(e,t){this.x=e[t],this.y=e[t+1],this.z=e[t+2]},add:function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},cross:function(e){var t=this.x,n=this.y,i=this.z;return this.x=n*e.z-i*e.y,this.y=i*e.x-t*e.z,this.z=t*e.y-n*e.x,this},crossVectors:function(e,t){var n=e.x,i=e.y,r=e.z,o=t.x,s=t.y,a=t.z;return this.x=i*a-r*s,this.y=r*o-n*a,this.z=n*s-i*o,this},clone:function(){return new K.BVHVector3(this.x,this.y,this.z)}},K.BVH=function(e,t){this._trianglesArray=e,this._maxTrianglesPerNode=t||10,this._bboxArray=this.calcBoundingBoxes(e),this._bboxHelper=new Float32Array(this._bboxArray.length),this._bboxHelper.set(this._bboxArray);var n=e.length/9,i=this.calcExtents(0,n,K.EPSILON);this._rootNode=new K.BVHNode(i[0],i[1],0,n,0),this._nodesToSplit=[this._rootNode]},K.BVH.prototype.splitNode=function(e){if(e){var t=0,n=function(){t++;var i=this._nodesToSplit.pop();i?(this._splitNode(i),t%255==0?setTimeout(n):n()):(t=0,e())}.bind(this);n()}else for(;this._nodesToSplit.length>0;)this._splitNode(this._nodesToSplit.pop())},K.BVH.prototype.dispose=function(){this._trianglesArray=new Float32Array,this._bboxArray=new Float32Array,this._bboxHelper=new Float32Array,this._rootNode=null,this._nodesToSplit=null},K.BVH.prototype.intersectRay=function(e,t,n){for(var i,r=[this._rootNode],o=[],s=[],a=new K.BVHVector3(1/t.x,1/t.y,1/t.z);r.length>0;){var M=r.pop();if(K.BVH.intersectNodeBox(e,a,M))for(M._node0&&r.push(M._node0),M._node1&&r.push(M._node1),i=M._startIndex;i<M._endIndex;i++)o.push(this._bboxArray[7*i])}var u=new K.BVHVector3,c=new K.BVHVector3,l=new K.BVHVector3,d=new K.BVHVector3(e.x,e.y,e.z),N=new K.BVHVector3(t.x,t.y,t.z);for(i=0;i<o.length;i++){var p=o[i];u.setFromArray(this._trianglesArray,9*p),c.setFromArray(this._trianglesArray,9*p+3),l.setFromArray(this._trianglesArray,9*p+6);var h=K.BVH.intersectRayTriangle(u,c,l,d,N,n);h&&s.push({triangle:[u.clone(),c.clone(),l.clone()],triangleIndex:p,intersectionPoint:h})}return s},K.BVH.prototype.calcBoundingBoxes=function(e){for(var t,n,i,r,o,s,a,M,u,c,l,d,N,p,h,D=e.length/9,y=new Float32Array(7*D),g=0;g<D;g++)t=e[9*g],n=e[9*g+1],i=e[9*g+2],r=e[9*g+3],o=e[9*g+4],s=e[9*g+5],a=e[9*g+6],M=e[9*g+7],u=e[9*g+8],c=Math.min(Math.min(t,r),a),l=Math.min(Math.min(n,o),M),d=Math.min(Math.min(i,s),u),N=Math.max(Math.max(t,r),a),p=Math.max(Math.max(n,o),M),h=Math.max(Math.max(i,s),u),K.BVH.setBox(y,g,g,c,l,d,N,p,h);return y},K.BVH.prototype.calcExtents=function(e,t,n){if(n=n||0,e>=t)return[{x:0,y:0,z:0},{x:0,y:0,z:0}];for(var i=Number.MAX_VALUE,r=Number.MAX_VALUE,o=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=-Number.MAX_VALUE,M=-Number.MAX_VALUE,u=e;u<t;u++)i=Math.min(this._bboxArray[7*u+1],i),r=Math.min(this._bboxArray[7*u+2],r),o=Math.min(this._bboxArray[7*u+3],o),s=Math.max(this._bboxArray[7*u+4],s),a=Math.max(this._bboxArray[7*u+5],a),M=Math.max(this._bboxArray[7*u+6],M);return[{x:i-n,y:r-n,z:o-n},{x:s+n,y:a+n,z:M+n}]},K.BVH.prototype._splitNode=function(e){if(!(e.elementCount()<=this._maxTrianglesPerNode||0===e.elementCount())){var t=e._startIndex,n=e._endIndex,i=[[],[],[]],r=[[],[],[]],o=[e.centerX(),e.centerY(),e.centerZ()],s=[e._extentsMax.x-e._extentsMin.x,e._extentsMax.y-e._extentsMin.y,e._extentsMax.z-e._extentsMin.z],a=[];a.length=3;for(var M=t;M<n;M++){a[0]=.5*(this._bboxArray[7*M+1]+this._bboxArray[7*M+4]),a[1]=.5*(this._bboxArray[7*M+2]+this._bboxArray[7*M+5]),a[2]=.5*(this._bboxArray[7*M+3]+this._bboxArray[7*M+6]);for(var u=0;u<3;u++)a[u]<o[u]?i[u].push(M):r[u].push(M)}var c=[];if(c.length=3,c[0]=0===i[0].length||0===r[0].length,c[1]=0===i[1].length||0===r[1].length,c[2]=0===i[2].length||0===r[2].length,!(c[0]&&c[1]&&c[2])){var l,d,N=[0,1,2];for(N.sort((function(e,t){return s[t]-s[e]})),u=0;u<3;u++){var p=N[u];if(!c[p]){l=i[p],d=r[p];break}}var h,D=t,y=D+l.length,g=y,z=n,T=e._startIndex,j=l.concat(d);for(M=0;M<j.length;M++)h=j[M],K.BVH.copyBox(this._bboxArray,h,this._bboxHelper,T),T++;var f=this._bboxHelper.subarray(7*e._startIndex,7*e._endIndex);this._bboxArray.set(f,7*e._startIndex);var v=this.calcExtents(D,y,K.EPSILON),m=this.calcExtents(g,z,K.EPSILON),w=new K.BVHNode(v[0],v[1],D,y,e._level+1),I=new K.BVHNode(m[0],m[1],g,z,e._level+1);e._node0=w,e._node1=I,e.clearShapes(),this._nodesToSplit.push(w),this._nodesToSplit.push(I)}}},K.BVH._calcTValues=function(e,t,n,i){var r={min:0,max:0};return i>=0?(r.min=(e-n)*i,r.max=(t-n)*i):(r.min=(t-n)*i,r.max=(e-n)*i),r},K.BVH.intersectNodeBox=function(e,t,n){var i=K.BVH._calcTValues(n._extentsMin.x,n._extentsMax.x,e.x,t.x),r=K.BVH._calcTValues(n._extentsMin.y,n._extentsMax.y,e.y,t.y);if(i.min>r.max||r.min>i.max)return!1;(r.min>i.min||i.min!=i.min)&&(i.min=r.min),(r.max<i.max||i.max!=i.max)&&(i.max=r.max);var o=K.BVH._calcTValues(n._extentsMin.z,n._extentsMax.z,e.z,t.z);return!(i.min>o.max||o.min>i.max)&&((o.min>i.min||i.min!=i.min)&&(i.min=o.min),(o.max<i.max||i.max!=i.max)&&(i.max=o.max),!(i.max<0))},K.BVH.intersectRayTriangle=(W=new K.BVHVector3,Z=new K.BVHVector3,J=new K.BVHVector3,X=new K.BVHVector3,function(e,t,n,i,r,o){Z.subVectors(t,e),J.subVectors(n,e),X.crossVectors(Z,J);var s,a=r.dot(X);if(a>0){if(o)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}W.subVectors(i,e);var M=s*r.dot(J.crossVectors(W,J));if(M<0)return null;var u=s*r.dot(Z.cross(W));if(u<0)return null;if(M+u>a)return null;var c=-s*W.dot(X);if(c<0)return null;var l=c/a;return(new K.BVHVector3).copy(r).multiplyScalar(l).add(i)}),K.BVH.setBox=function(e,t,n,i,r,o,s,a,M){e[7*t]=n,e[7*t+1]=i,e[7*t+2]=r,e[7*t+3]=o,e[7*t+4]=s,e[7*t+5]=a,e[7*t+6]=M},K.BVH.copyBox=function(e,t,n,i){n[7*i]=e[7*t],n[7*i+1]=e[7*t+1],n[7*i+2]=e[7*t+2],n[7*i+3]=e[7*t+3],n[7*i+4]=e[7*t+4],n[7*i+5]=e[7*t+5],n[7*i+6]=e[7*t+6]},K.BVH.getBox=function(e,t,n){n.triangleId=e[7*t],n.minX=e[7*t+1],n.minY=e[7*t+2],n.minZ=e[7*t+3],n.maxX=e[7*t+4],n.maxY=e[7*t+5],n.maxZ=e[7*t+6]},K.BVHNode=function(e,t,n,i,r){this._extentsMin=e,this._extentsMax=t,this._startIndex=n,this._endIndex=i,this._level=r,this._node0=null,this._node1=null},K.BVHNode.prototype.elementCount=function(){return this._endIndex-this._startIndex},K.BVHNode.prototype.centerX=function(){return.5*(this._extentsMin.x+this._extentsMax.x)},K.BVHNode.prototype.centerY=function(){return.5*(this._extentsMin.y+this._extentsMax.y)},K.BVHNode.prototype.centerZ=function(){return.5*(this._extentsMin.z+this._extentsMax.z)},K.BVHNode.prototype.clearShapes=function(){this._startIndex=-1,this._endIndex=-1},K.BVHNode.calcBoundingSphereRadius=function(e,t){var n=.5*(e.x+t.x),i=.5*(e.y+t.y),r=.5*(e.z+t.z),o=(n-e.x)*(n-e.x)+(i-e.y)*(i-e.y)+(r-e.z)*(r-e.z),s=(n-t.x)*(n-t.x)+(i-t.y)*(i-t.y)+(r-t.z)*(r-t.z);return Math.sqrt(Math.max(o,s))};var $=K.BVH,ee=window;function te(e,t,n,i,r){void 0===t&&(t={}),void 0===n&&(n=f),void 0===i&&(i=f),void 0===r&&(r=f);var o=function(e){var t=/jsonp_([0-9a-z]+)([\?\#].*)?$/i.exec(e);return t&&t[0]}(e);if(o){var s=document.createElement("script");return ee[o]=function(e){delete ee[o],s.parentNode&&s.parentNode.removeChild(s),0!==e.indexOf("data:")&&n(new Error("json needs a dataURL"));var i=e.split(","),r=(i[0].match(/:(.*?);/)||[])[1],a=i[1];if("arraybuffer"===t.responseType||"blob"===t.responseType){for(var M=atob(i[1]),u=M.length,c=new Uint8Array(u),l=0;l<u;l++)c[l]=M.charCodeAt(l);a="arraybuffer"===t.responseType?c.buffer:new Blob([c],{type:r})}A((function(){return n(null,a)}))},s.src=e,document.body.appendChild(s),{abort:function(){delete ee[o],s.parentNode&&s.parentNode.removeChild(s)}}}var a=new XMLHttpRequest;function M(){a.ontimeout=f,a.onreadystatechange=f,a.onprogress=f,a.onabort=f}return a.ontimeout=function(){n&&n(new Error("timeout"),null),M()},a.onreadystatechange=function(){4===this.readyState&&(0!==this.status||this.response)&&(200===this.status||0===this.status?(n&&n(null,this.response),M()):(n&&n(new Error("status:"+this.status),null),M()))},a.onprogress=function(e){if(e.lengthComputable){var t=e.loaded,n=e.total;i(t/n,t,n)}},a.onabort=function(){M(),r()},a.open("GET",e,!0),t.responseType&&(a.responseType=t.responseType),a.send(null),a}te.async=function(e,t){return new Promise((function(n,i){te(e,t,(function(e,t){return e?i(e):n(t)}))}))};function ne(e,t){if(void 0===t&&(t={}),"function"==typeof t.transform)return t.transform(e,t);if(e.indexOf("//vrlab-public.ljcdn.com")>=0&&(/\.basis(\?|$)/.test(e)&&!0!==t.basisLoaderInitialized&&(e=e.replace(/\.basis(\?|$)/,".jpg$1")),/\.(jpg|png)$/.test(e))){var n=t.size,i=t.quality,r=t.format;if(n||i||r){var o="?imageMogr2";i&&(o+="/quality/"+i),n&&(o+="/thumbnail/"+n+"x"),r&&(o+="/format/"+r),e=e.replace("//vrlab-public.ljcdn.com","//vrlab-image4.ljcdn.com")+o}}return e}var ie=function(){function e(){}return e.prototype.load=function(e,t,n,i){return void 0===t&&(t=f),void 0===n&&(n=f),void 0===i&&(i=f),this.loadToImage(Y(),e,t,n,i)},e.prototype.loadToImage=function(e,t,n,i,r){if(void 0===n&&(n=f),void 0===r&&(r=f),e.src)throw new Error("image is loaded");te(t,{responseType:"blob"},(function(i,o){i?r(i):(e.onload=function(){n(e),e.onload=e.onerror=function(){}},e.onerror=function(){r(new Error("image parse error "+t)),e.onload=e.onerror=function(){}},e.src=URL.createObjectURL(o))}))},e}(),re=null,oe=!1,se=[];function ae(e){if(void 0===e&&(e=!1),e||!oe)if(re)oe=!1;else{oe=!0;var t=se.shift();if(t){try{t()}catch(e){}A((function(){return ae(!0)}))}else oe=!1}}function Me(){re=null,ae()}function ue(){(re||0!==se.length)&&(re&&clearTimeout(re),re=window.setTimeout(Me,200))}function ce(e){return new Promise((function(t){se.push((function(){return t(e())})),ae()}))}var le,de={computeTangents:function(e){var t=e.index,n=e.attributes;if(null!==t&&void 0!==n.position&&void 0!==n.normal&&void 0!==n.uv){var i=t.array,r=n.position.array,o=n.normal.array,s=n.uv.array,a=r.length/3;void 0===n.tangent&&e.setAttribute("tangent",new u.BufferAttribute(new Float32Array(4*a),4));for(var M=n.tangent.array,c=[],l=[],d=0;d<a;d++)c[d]=new u.Vector3,l[d]=new u.Vector3;var N=new u.Vector3,p=new u.Vector3,h=new u.Vector3,D=new u.Vector2,y=new u.Vector2,g=new u.Vector2,z=new u.Vector3,T=new u.Vector3,j=e.groups;0===j.length&&(j=[{start:0,count:i.length}]);d=0;for(var f=j.length;d<f;++d)for(var v=k=(C=j[d]).start,m=k+C.count;v<m;v+=3)S(i[v+0],i[v+1],i[v+2]);var w,I,x,L=new u.Vector3,A=new u.Vector3,O=new u.Vector3,E=new u.Vector3;for(d=0,f=j.length;d<f;++d){var C,k;for(v=k=(C=j[d]).start,m=k+C.count;v<m;v+=3)U(i[v+0]),U(i[v+1]),U(i[v+2])}}else console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");function S(e,t,n){N.fromArray(r,3*e),p.fromArray(r,3*t),h.fromArray(r,3*n),D.fromArray(s,2*e),y.fromArray(s,2*t),g.fromArray(s,2*n);var i=p.x-N.x,o=h.x-N.x,a=p.y-N.y,M=h.y-N.y,u=p.z-N.z,d=h.z-N.z,j=y.x-D.x,f=g.x-D.x,v=y.y-D.y,m=g.y-D.y,w=1/(j*m-f*v);z.set((m*i-v*o)*w,(m*a-v*M)*w,(m*u-v*d)*w),T.set((j*o-f*i)*w,(j*M-f*a)*w,(j*d-f*u)*w),c[e].add(z),c[t].add(z),c[n].add(z),l[e].add(T),l[t].add(T),l[n].add(T)}function U(e){O.fromArray(o,3*e),E.copy(O),I=c[e],L.copy(I),L.sub(O.multiplyScalar(O.dot(I))).normalize(),A.crossVectors(E,I),x=A.dot(l[e]),w=x<0?-1:1,M[4*e]=L.x,M[4*e+1]=L.y,M[4*e+2]=L.z,M[4*e+3]=w}},mergeBufferGeometries:function(e,t){for(var n=null!==e[0].index,i=new Set(Object.keys(e[0].attributes)),r=new Set(Object.keys(e[0].morphAttributes)),o={},s={},a=new u.BufferGeometry,M=0,c=0;c<e.length;++c){var l=e[c];if(n!==(null!==l.index))return null;for(var d in l.attributes){if(!i.has(d))return null;void 0===o[d]&&(o[d]=[]),o[d].push(l.attributes[d])}for(var d in l.morphAttributes){if(!r.has(d))return null;void 0===s[d]&&(s[d]=[]),s[d].push(l.morphAttributes[d])}if(a.userData.mergedUserData=a.userData.mergedUserData||[],a.userData.mergedUserData.push(l.userData),t){var N;if(n)N=l.index.count;else{if(void 0===l.attributes.position)return null;N=l.attributes.position.count}a.addGroup(M,N,c),M+=N}}if(n){var p=0,h=[];for(c=0;c<e.length;++c){for(var D=e[c].index,y=0;y<D.count;++y)h.push(D.getX(y)+p);p+=e[c].attributes.position.count}a.setIndex(h)}for(var d in o){var g=this.mergeBufferAttributes(o[d]);if(!g)return null;a.setAttribute(d,g)}for(var d in s){var z=s[d][0].length;if(0===z)break;a.morphAttributes=a.morphAttributes||{},a.morphAttributes[d]=[];for(c=0;c<z;++c){var T=[];for(y=0;y<s[d].length;++y)T.push(s[d][y][c]);var j=this.mergeBufferAttributes(T);if(!j)return null;a.morphAttributes[d].push(j)}}return a},mergeBufferAttributes:function(e){for(var t,n,i,r=0,o=0;o<e.length;++o){var s=e[o];if(s.isInterleavedBufferAttribute)return null;if(void 0===t&&(t=s.array.constructor),t!==s.array.constructor)return null;if(void 0===n&&(n=s.itemSize),n!==s.itemSize)return null;if(void 0===i&&(i=s.normalized),i!==s.normalized)return null;r+=s.array.length}var a=new t(r),M=0;for(o=0;o<e.length;++o)a.set(e[o].array,M),M+=e[o].array.length;return new u.BufferAttribute(a,n,i)},interleaveAttributes:function(e){for(var t,n=0,i=0,r=0,o=e.length;r<o;++r){var s=e[r];if(void 0===t&&(t=s.array.constructor),t!==s.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;n+=s.array.length,i+=s.itemSize}var a=new u.InterleavedBuffer(new t(n),i),M=0,c=[],l=["getX","getY","getZ","getW"],d=["setX","setY","setZ","setW"],N=0;for(o=e.length;N<o;N++){var p=(s=e[N]).itemSize,h=s.count,D=new u.InterleavedBufferAttribute(a,p,M,s.normalized);c.push(D),M+=p;for(var y=0;y<h;y++)for(var g=0;g<p;g++)D[d[g]](y,s[l[g]](y))}return c},estimateBytesUsed:function(e){var t=0;for(var n in e.attributes){var i=e.getAttribute(n);t+=i.count*i.itemSize*i.array.BYTES_PER_ELEMENT}var r=e.getIndex();return t+=r?r.count*r.itemSize*r.array.BYTES_PER_ELEMENT:0},mergeVertices:function(e,t){void 0===t&&(t=1e-4),t=Math.max(t,Number.EPSILON);for(var n={},i=e.getIndex(),r=e.getAttribute("position"),o=i?i.count:r.count,s=0,a=Object.keys(e.attributes),M={},c={},l=[],d=["getX","getY","getZ","getW"],N=0,p=a.length;N<p;N++){M[T=a[N]]=[],(m=e.morphAttributes[T])&&(c[T]=new Array(m.length).fill().map((function(){return[]})))}var h=Math.log10(1/t),D=Math.pow(10,h);for(N=0;N<o;N++){var y=i?i.getX(N):N,g="",z=0;for(p=a.length;z<p;z++)for(var T=a[z],j=(v=e.getAttribute(T)).itemSize,f=0;f<j;f++)g+=~~(v[d[f]](y)*D)+",";if(g in n)l.push(n[g]);else{for(z=0,p=a.length;z<p;z++){T=a[z];var v=e.getAttribute(T),m=e.morphAttributes[T],w=(j=v.itemSize,M[T]),I=c[T];for(f=0;f<j;f++){var x=d[f];if(w.push(v[x](y)),m)for(var L=0,A=m.length;L<A;L++)I[L].push(m[L][x](y))}}n[g]=s,l.push(s),s++}}var O=e.clone();for(N=0,p=a.length;N<p;N++){T=a[N];var E=e.getAttribute(T),C=new E.array.constructor(M[T]);v=new u.BufferAttribute(C,E.itemSize,E.normalized);if(O.setAttribute(T,v),T in c)for(z=0;z<c[T].length;z++){var k=e.morphAttributes[T][z],S=(C=new k.array.constructor(c[T][z]),new u.BufferAttribute(C,k.itemSize,k.normalized));O.morphAttributes[T][z]=S}}return O.setIndex(l),O}},Ne=function(e){function n(t){var n=e.call(this,t)||this;return n._callbacks={},n._initialized=!1,n._taskLoad=0,n}return t.__extends(n,e),n}(Worker),pe='\nvar config, transcoderPending, _BasisFile;\nself.onmessage = function(e) {\n var message = e.data;\n switch (message.type) {\n case "init":\n config = message.config;\n init(message.transcoderBinary);\n break;\n case "transcode":\n transcoderPending.then(function() {\n try {\n var result = transcode(message.buffer);\n var width = result.width;\n var height = result.height;\n var hasAlpha = result.hasAlpha;\n var mipmaps = result.mipmaps;\n var format = result.format;\n var buffers = [];\n for (var i = 0; i < mipmaps.length; ++i) {\n buffers.push(mipmaps[i].data.buffer);\n }\n self.postMessage({ type: "transcode", id: message.id, width, height, hasAlpha, mipmaps, format }, buffers);\n } catch (error) {\n console.error(error);\n self.postMessage({ type: "error", id: message.id, error: error.message });\n }\n });\n break;\n default: break;\n }\n};\n\nfunction init(wasmBinary) {\n var BasisModule;\n transcoderPending = new Promise(function(resolve) {\n BasisModule = { wasmBinary, onRuntimeInitialized: resolve };\n BASIS(BasisModule); // eslint-disable-line no-undef\n }).then(function() {\n _BasisFile = BasisModule.BasisFile;\n BasisModule.initializeBasis();\n self.postMessage({ type: "initialized" });\n });\n}\n\nfunction transcode(buffer) {\n var basisFile = new _BasisFile(new Uint8Array(buffer));\n var width = basisFile.getImageWidth(0, 0);\n var height = basisFile.getImageHeight(0, 0);\n var levels = basisFile.getNumLevels(0);\n var hasAlpha = basisFile.getHasAlpha();\n function cleanup() {\n basisFile.close();\n basisFile.delete();\n }\n if (!hasAlpha) {\n switch (config.format) {\n case 9: // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGBA\n config.format = 8; // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGB;\n break;\n default: break;\n }\n }\n if (!width || !height || !levels) {\n cleanup();\n throw new Error("BasisTextureLoader: Invalid .basis file");\n }\n if (!basisFile.startTranscoding()) {\n cleanup();\n throw new Error("BasisTextureLoader: .startTranscoding failed");\n }\n var mipmaps = [];\n for (var mip = 0; mip < levels; mip++) {\n var mipWidth = basisFile.getImageWidth(0, mip);\n var mipHeight = basisFile.getImageHeight(0, mip);\n var dst = new Uint8Array(basisFile.getImageTranscodedSizeInBytes(0, mip, config.format));\n var status = basisFile.transcodeImage(dst, 0, mip, config.format, 0, hasAlpha);\n if (!status) {\n cleanup();\n throw new Error("BasisTextureLoader: .transcodeImage failed.");\n }\n mipmaps.push({ data: dst, width: mipWidth, height: mipHeight });\n }\n cleanup();\n return { width, height, hasAlpha, mipmaps, format: config.format };\n}\n',he={cTFETC1:0,cTFETC2:1,cTFBC1:2,cTFBC3:3,cTFBC4:4,cTFBC5:5,cTFBC7_M6_OPAQUE_ONLY:6,cTFBC7_M5:7,cTFPVRTC1_4_RGB:8,cTFPVRTC1_4_RGBA:9,cTFASTC_4x4:10,cTFATC_RGB:11,cTFATC_RGBA_INTERPOLATED_ALPHA:12,cTFRGBA32:13,cTFRGB565:14,cTFBGR565:15,cTFRGBA4444:16},De={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779},ye=((le={})[he.cTFBC1]=De.COMPRESSED_RGB_S3TC_DXT1_EXT,le[he.cTFBC3]=De.COMPRESSED_RGBA_S3TC_DXT5_EXT,le),ge=new(function(e){function n(t){var n=e.call(this,t)||this;return n.transcoderPath="",n.transcoderBinary=null,n.transcoderPending=null,n.workerLimit=4,n.workerPool=[],n.workerNextTaskID=1,n.workerSourceURL="",n.workerConfig={format:null,astcSupported:!1,bptcSupported:!1,etcSupported:!1,dxtSupported:!1,pvrtcSupported:!1},n}return t.__extends(n,e),n.prototype.setTranscoderPath=function(e){return this.transcoderPath=e,this},n.prototype.setWorkerLimit=function(e){return this.workerLimit=e,this},n.prototype.isInitialized=function(){return 0!==this.workerPool.filter((function(e){return e._initialized})).length},n.prototype.detectSupport=function(e){var t=this.workerConfig;if(t.astcSupported=!!e.extensions.get("WEBGL_compressed_texture_astc"),t.bptcSupported=!!e.extensions.get("EXT_texture_compression_bptc"),t.etcSupported=!!e.extensions.get("WEBGL_compressed_texture_etc1"),t.dxtSupported=!!e.extensions.get("WEBGL_compressed_texture_s3tc"),t.pvrtcSupported=!!e.extensions.get("WEBGL_compressed_texture_pvrtc")||!!e.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc"),t.astcSupported)t.format=n.BASIS_FORMAT.cTFASTC_4x4;else if(t.bptcSupported)t.format=n.BASIS_FORMAT.cTFBC7_M5;else if(t.dxtSupported)t.format=n.BASIS_FORMAT.cTFBC3;else if(t.pvrtcSupported)t.format=n.BASIS_FORMAT.cTFPVRTC1_4_RGBA;else{if(!t.etcSupported)throw new Error("BasisTextureLoader: No suitable compressed texture format found.");t.format=n.BASIS_FORMAT.cTFETC1}return this},n.prototype.load=function(e,t,i,r){var o=this,s=new u.FileLoader(this.manager);s.setResponseType("arraybuffer"),s.load(e,(function(i){var s=i;if(n.taskCache.has(s))return n.taskCache.get(s).promise.then(t).catch(r);o._createTexture(s,e).then(t).catch(r)}),i,r)},n.prototype._createTexture=function(e,t){var i,r,o=this,s=e.byteLength,a=this._allocateWorker(s).then((function(t){return i=t,r=o.workerNextTaskID++,new Promise((function(t,n){i._callbacks[r]={resolve:t,reject:n},i.postMessage({type:"transcode",id:r,buffer:e},[e])}))})).then((function(e){var t,n=o.workerConfig,i=e.width,r=e.height,s=e.mipmaps;switch(e.format){case he.cTFASTC_4x4:t=new u.CompressedTexture(s,i,r,u.RGBA_ASTC_4x4_Format);break;case he.cTFBC1:case he.cTFBC3:t=new u.CompressedTexture(s,i,r,ye[n.format],u.UnsignedByteType);break;case he.cTFETC1:t=new u.CompressedTexture(s,i,r,u.RGB_ETC1_Format);break;case he.cTFPVRTC1_4_RGB:t=new u.CompressedTexture(s,i,r,u.RGB_PVRTC_4BPPV1_Format);break;case he.cTFPVRTC1_4_RGBA:t=new u.CompressedTexture(s,i,r,u.RGBA_PVRTC_4BPPV1_Format);break;default:throw new Error("BasisTextureLoader: No supported format available.")}return t.minFilter=1===s.length?u.LinearFilter:u.LinearMipmapLinearFilter,t.magFilter=u.LinearFilter,t.generateMipmaps=!1,t.needsUpdate=!0,t}));return a.catch((function(){return!0})).then((function(){i&&r&&(i._taskLoad-=s,delete i._callbacks[r])})),n.taskCache.set(e,{url:t,promise:a}),a},n.prototype._initTranscoder=function(){var e=this;if(!this.transcoderPending){var t=new u.FileLoader(this.manager);t.setPath(this.transcoderPath);var n=new Promise((function(e,n){t.load("basis_transcoder.js",e,void 0,n)})),i=new u.FileLoader(this.manager);i.setPath(this.transcoderPath),i.setResponseType("arraybuffer");var r=new Promise((function(e,t){i.load("basis_transcoder.wasm",e,void 0,t)}));this.transcoderPending=Promise.all([n,r]).then((function(t){var n=t[0],i=t[1],r=["/* basis_transcoder.js */",n,"/* worker */",pe].join("\n");e.workerSourceURL=URL.createObjectURL(new Blob([r])),e.transcoderBinary=i}))}return this.transcoderPending},n.prototype._allocateWorker=function(e){var t=this;return this._initTranscoder().then((function(){if(t.workerPool.length<t.workerLimit){var n=new Ne(t.workerSourceURL);n._callbacks={},n._initialized=!1,n._taskLoad=0,n.postMessage({type:"init",config:t.workerConfig,transcoderBinary:t.transcoderBinary}),n.onmessage=function(e){var t=e.data;switch(t.type){case"initialized":n._initialized=!0,console.log("BasisTextureLoader: basis loader initialized");break;case"transcode":n._callbacks[t.id].resolve(t);break;case"error":n._callbacks[t.id].reject(t);break;default:console.error('BasisTextureLoader: Unexpected message, "'+t.type+'"')}},t.workerPool.push(n)}else t.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1}));var i=t.workerPool[t.workerPool.length-1];return i._taskLoad+=e,i}))},n.prototype.dispose=function(){for(var e=0;e<this.workerPool.length;e++)this.workerPool[e].terminate();return this.workerPool.length=0,this},n.taskCache=new WeakMap,n.BASIS_FORMAT=he,n.DXT_FORMAT=De,n.DXT_FORMAT_MAP=ye,n}(u.Loader));ge.setWorkerLimit(1),ge.setTranscoderPath("https://vrlab-public.ljcdn.com/release/static/image/release/five/basis/");var ze=(new u.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function Te(e,t){return new u.BufferAttribute(e,t)}function je(e){var t=e.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function fe(e){var t=e.indices,n=e.vertices,i=e.uvs,r=new u.BufferGeometry;return r.setIndex(Te(new Uint32Array(t),1)),r.setAttribute("position",Te(new Float32Array(n),3)),j(i)||r.setAttribute("uv",Te(new Float32Array(i),2)),r.applyMatrix4(ze),r.computeVertexNormals(),r}function ve(e,t){var n=ge.isInitialized();if(e=ne(e,Object.assign({key:"texture",basisLoaderInitialized:n},t)),/\.basis(\?|$)/.test(e)){var i={sourceFile:e,needsUpdate:!0,wrapS:u.ClampToEdgeWrapping,wrapT:u.ClampToEdgeWrapping,minFilter:u.LinearFilter};return new Promise((function(t,n){ge.load(e,(function(e){t(Object.assign(e,i))}),(function(){}),(function(e){n(e.error)}))}))}var r={sourceFile:e,needsUpdate:!0,wrapS:u.ClampToEdgeWrapping,wrapT:u.ClampToEdgeWrapping,minFilter:u.LinearFilter},o=new ie;return new Promise((function(t,n){o.load(e,(function(e){var n=new u.Texture(e),i=n.dispose;n.dispose=function(){i.call(n),/^blob\:/.test(e.src)&&URL.revokeObjectURL(e.src)},t(Object.assign(n,r))}),f,(function(e){return n(e)}))}))}function me(e){var t=new F;return e.then((function(e){return t.uniforms.map.value=e})),t}var we=c.parse("\nmessage Model {\n repeated Chunk chunks = 1;\n}\nmessage Chunk {\n required Vertices vertices = 1;\n required Faces faces = 2;\n required string name = 3;\n optional string texture = 4;\n}\nmessage Vertices {\n repeated float xyz = 1 [packed=true];\n repeated float uvs = 2 [packed=true];\n}\nmessage Faces {\n repeated uint32 indices = 1 [packed=true];\n}\n").root.lookup("Model");function Ie(e,t,n,i){for(var r=0,o=e;r<o.length;r++){var s=o[r];s.chunkName=(a=s.name,M=void 0,(M=a.match(/(chunk)-?(\d+)/))?parseInt(M[2],10):0),s.floorName=je(s.name),s.texture&&(s.texture=n[s.chunkName]=n[s.chunkName]||t+s.texture)}var a,M;e.sort((function(e,t){return 1e3*e.floorName+e.chunkName-(1e3*t.floorName+t.chunkName)})),!1!==(i=Object.assign({},i)).autoResize&&(n.length>96?i.size=Math.min(i.size||1/0,100):n.length>48?i.size=Math.min(i.size||1/0,200):n.length>24?i.size=Math.min(i.size||1/0,400):n.length>12&&(i.size=Math.min(i.size||1/0,800)));var c=[],l={},d=[],N=Promise.resolve();return(N=(N=N.then((function(){return ce((function(){for(var t=0;t<e.length;t++){var n=e[t],r=je(n.name),o=c[r]=c[r]||{geometries:[],materials:[]},s=fe({vertices:n.vertices.xyz,uvs:n.vertices.uvs,indices:n.faces.indices});if(s.name="model_geo_chunk_"+t,o.geometries.push(s),n.texture){(a=me(l[n.texture]?l[n.texture]:l[n.texture]=ve(n.texture,i))).name="model_mtl_chunk_"+t,o.materials.push(a)}else{var a;(a=new F).defines.USE_MAP=!1,a.uniforms.color.value=new u.Color(16777215),a.name="model_mtl_chunk_"+t,o.materials.push(a)}}}))}))).then((function(){return ce((function(){for(var e=0;e<c.length;e++){var t=c[e];if(t){var n=de.mergeBufferGeometries(t.geometries,!0);t.geometries.forEach((function(e){return e.dispose()}));var i=new k(n,t.materials);i.floorIndex=e,i.name="model_floor_"+e,d.push(i)}}}))}))).then((function(){var e=Object.keys(l).map((function(e){return l[e]})),t=Promise.all(e).then((function(){}));return{objects:d,textureReady:t}}))}var xe={OutWindow:function(){this._windowSize=0}};xe.OutWindow.prototype.create=function(e){this._buffer&&this._windowSize===e||(this._buffer=[]),this._windowSize=e,this._pos=0,this._streamPos=0},xe.OutWindow.prototype.flush=function(){var e=this._pos-this._streamPos;if(0!==e){for(;e--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},xe.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},xe.OutWindow.prototype.setStream=function(e){this.releaseStream(),this._stream=e},xe.OutWindow.prototype.init=function(e){e||(this._streamPos=0,this._pos=0)},xe.OutWindow.prototype.copyBlock=function(e,t){var n=this._pos-e-1;for(n<0&&(n+=this._windowSize);t--;)n>=this._windowSize&&(n=0),this._buffer[this._pos++]=this._buffer[n++],this._pos>=this._windowSize&&this.flush()},xe.OutWindow.prototype.putByte=function(e){this._buffer[this._pos++]=e,this._pos>=this._windowSize&&this.flush()},xe.OutWindow.prototype.getByte=function(e){var t=this._pos-e-1;return t<0&&(t+=this._windowSize),this._buffer[t]},xe.RangeDecoder=function(){},xe.RangeDecoder.prototype.setStream=function(e){this._stream=e},xe.RangeDecoder.prototype.releaseStream=function(){this._stream=null},xe.RangeDecoder.prototype.init=function(){var e=5;for(this._code=0,this._range=-1;e--;)this._code=this._code<<8|this._stream.readByte()},xe.RangeDecoder.prototype.decodeDirectBits=function(e){for(var t,n=0,i=e;i--;)this._range>>>=1,t=this._code-this._range>>>31,this._code-=this._range&t-1,n=n<<1|1-t,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return n},xe.RangeDecoder.prototype.decodeBit=function(e,t){var n=e[t],i=(this._range>>>11)*n;return(2147483648^this._code)<(2147483648^i)?(this._range=i,e[t]+=2048-n>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=i,this._code-=i,e[t]-=n>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},xe.initBitModels=function(e,t){for(;t--;)e[t]=1024},xe.BitTreeDecoder=function(e){this._models=[],this._numBitLevels=e},xe.BitTreeDecoder.prototype.init=function(){xe.initBitModels(this._models,1<<this._numBitLevels)},xe.BitTreeDecoder.prototype.decode=function(e){for(var t=1,n=this._numBitLevels;n--;)t=t<<1|e.decodeBit(this._models,t);return t-(1<<this._numBitLevels)},xe.BitTreeDecoder.prototype.reverseDecode=function(e){for(var t,n=1,i=0,r=0;r<this._numBitLevels;++r)n=n<<1|(t=e.decodeBit(this._models,n)),i|=t<<r;return i},xe.reverseDecode2=function(e,t,n,i){for(var r,o=1,s=0,a=0;a<i;++a)o=o<<1|(r=n.decodeBit(e,t+o)),s|=r<<a;return s},xe.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new xe.BitTreeDecoder(8),this._numPosStates=0},xe.LenDecoder.prototype.create=function(e){for(;this._numPosStates<e;++this._numPosStates)this._lowCoder[this._numPosStates]=new xe.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new xe.BitTreeDecoder(3)},xe.LenDecoder.prototype.init=function(){var e=this._numPosStates;for(xe.initBitModels(this._choice,2);e--;)this._lowCoder[e].init(),this._midCoder[e].init();this._highCoder.init()},xe.LenDecoder.prototype.decode=function(e,t){return 0===e.decodeBit(this._choice,0)?this._lowCoder[t].decode(e):0===e.decodeBit(this._choice,1)?8+this._midCoder[t].decode(e):16+this._highCoder.decode(e)},xe.Decoder2=function(){this._decoders=[]},xe.Decoder2.prototype.init=function(){xe.initBitModels(this._decoders,768)},xe.Decoder2.prototype.decodeNormal=function(e){var t=1;do{t=t<<1|e.decodeBit(this._decoders,t)}while(t<256);return 255&t},xe.Decoder2.prototype.decodeWithMatchByte=function(e,t){var n,i,r=1;do{if(n=t>>7&1,t<<=1,r=r<<1|(i=e.decodeBit(this._decoders,(1+n<<8)+r)),n!==i){for(;r<256;)r=r<<1|e.decodeBit(this._decoders,r);break}}while(r<256);return 255&r},xe.LiteralDecoder=function(){},xe.LiteralDecoder.prototype.create=function(e,t){var n;if(!this._coders||this._numPrevBits!==t||this._numPosBits!==e)for(this._numPosBits=e,this._posMask=(1<<e)-1,this._numPrevBits=t,this._coders=[],n=1<<this._numPrevBits+this._numPosBits;n--;)this._coders[n]=new xe.Decoder2},xe.LiteralDecoder.prototype.init=function(){for(var e=1<<this._numPrevBits+this._numPosBits;e--;)this._coders[e].init()},xe.LiteralDecoder.prototype.getDecoder=function(e,t){return this._coders[((e&this._posMask)<<this._numPrevBits)+((255&t)>>>8-this._numPrevBits)]},xe.Decoder=function(){this._outWindow=new xe.OutWindow,this._rangeDecoder=new xe.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new xe.BitTreeDecoder(4),this._lenDecoder=new xe.LenDecoder,this._repLenDecoder=new xe.LenDecoder,this._literalDecoder=new xe.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new xe.BitTreeDecoder(6),this._posSlotDecoder[1]=new xe.BitTreeDecoder(6),this._posSlotDecoder[2]=new xe.BitTreeDecoder(6),this._posSlotDecoder[3]=new xe.BitTreeDecoder(6)},xe.Decoder.prototype.setDictionarySize=function(e){return!(e<0)&&(this._dictionarySize!==e&&(this._dictionarySize=e,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},xe.Decoder.prototype.setLcLpPb=function(e,t,n){var i=1<<n;return!(e>8||t>4||n>4)&&(this._literalDecoder.create(t,e),this._lenDecoder.create(i),this._repLenDecoder.create(i),this._posStateMask=i-1,!0)},xe.Decoder.prototype.init=function(){var e=4;for(this._outWindow.init(!1),xe.initBitModels(this._isMatchDecoders,192),xe.initBitModels(this._isRep0LongDecoders,192),xe.initBitModels(this._isRepDecoders,12),xe.initBitModels(this._isRepG0Decoders,12),xe.initBitModels(this._isRepG1Decoders,12),xe.initBitModels(this._isRepG2Decoders,12),xe.initBitModels(this._posDecoders,114),this._literalDecoder.init();e--;)this._posSlotDecoder[e].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},xe.Decoder.prototype.decode=function(e,t,n){var i,r,o,s,a,M,u=0,c=0,l=0,d=0,N=0,p=0,h=0;for(this._rangeDecoder.setStream(e),this._outWindow.setStream(t),this.init();n<0||p<n;)if(i=p&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(u<<4)+i))r=this._literalDecoder.getDecoder(p++,h),h=u>=7?r.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(c)):r.decodeNormal(this._rangeDecoder),this._outWindow.putByte(h),u=u<4?0:u-(u<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,u))o=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,u)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(u<<4)+i)&&(u=u<7?9:11,o=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,u)?s=l:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,u)?s=d:(s=N,N=d),d=l),l=c,c=s),0===o&&(o=2+this._repLenDecoder.decode(this._rangeDecoder,i),u=u<7?8:11);else if(N=d,d=l,l=c,o=2+this._lenDecoder.decode(this._rangeDecoder,i),u=u<7?7:10,(a=this._posSlotDecoder[o<=5?o-2:3].decode(this._rangeDecoder))>=4){if(c=(2|1&a)<<(M=(a>>1)-1),a<14)c+=xe.reverseDecode2(this._posDecoders,c-a-1,this._rangeDecoder,M);else if(c+=this._rangeDecoder.decodeDirectBits(M-4)<<4,(c+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===c)break;return!1}}else c=a;if(c>=p||c>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(c,o),p+=o,h=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},xe.Decoder.prototype.setDecoderProperties=function(e){var t,n,i,r,o;return!(e.size<5)&&(n=(t=e.readByte())%9,i=(t=~~(t/9))%5,r=~~(t/5),!!this.setLcLpPb(n,i,r)&&(o=e.readByte(),o|=e.readByte()<<8,o|=e.readByte()<<16,o+=16777216*e.readByte(),this.setDictionarySize(o)))},xe.decompress=function(e,t,n,i){var r=new xe.Decoder;if(!r.setDecoderProperties(e))throw"Incorrect stream properties";if(!r.decode(t,n,i))throw"Error in data stream";return!0},xe.decompressFile=function(e,t){var n,i=new xe.Decoder;if(!i.setDecoderProperties(e))throw"Incorrect stream properties";if(n=e.readByte(),n|=e.readByte()<<8,n|=e.readByte()<<16,n+=16777216*e.readByte(),e.readByte(),e.readByte(),e.readByte(),e.readByte(),!i.decode(e,t,n))throw"Error in data stream";return!0};var Le="undefined"!=typeof Worker&&"undefined"!=typeof Blob,Ae="";if(Le)try{var Oe=new Blob(['\n self.onmessage = function (event) {\n var Packet = event.data;\n var Result = null;\n try {\n if (!Packet.PacketID) {\n throw new Error(\'No incoming id.\');\n }\n if (!Packet.Data) {\n throw new Error(\'No input data.\');\n }\n if (Packet.Type == \'compress\') {\n // C: checking if input is valid\n if (Packet.Data.constructor != Uint8Array) {\n throw new Error(\'Input data is not Uint8Array.\');\n }\n // C: encoding data\n Result = Util.compressFile(Packet.Data, null, Packet.Level, null);\n } else if (Packet.Type == \'decompress\') {\n // C: checking if input is valid\n if (Packet.Data.constructor != Uint8Array) {\n throw new Error(\'Input data is not Uint8Array.\');\n }\n var inStream = {\n data: Packet.Data,\n offset: 0,\n readByte () {\n return this.data[this.offset++];\n }\n };\n var partLength = inStream.data.length;\n var outStream = {\n data: [],\n offset: 0,\n writeByte (value) {\n var partIndex = Math.floor(this.offset / partLength);\n if (!this.data[partIndex]) {\n this.data[partIndex] = new Uint8Array(partLength);\n }\n this.data[partIndex][this.offset % partLength] = value;\n this.offset++;\n }\n }\n // C: decoding data\n\n LZMA.decompressFile(inStream, outStream);\n Result = new Uint8Array(outStream.offset)\n for (var i = 0; i < outStream.offset; i++) {\n Result[i] = outStream.data[Math.floor(i / partLength)][i % partLength];\n }\n }\n postMessage({ PacketID: Packet.PacketID, Result, Error: null }, [Result.buffer]);\n } catch (error) {\n postMessage({ PacketID: Packet.PacketID, Error: error.toString() });\n }\n };\n\n\n /*\n Copyright (c) 2011 Juan Mellado\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the "Software"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n /*\n References:\n - "LZMA SDK" by Igor Pavlov\n http://www.7-zip.org/sdk.html\n */\n\n var LZMA = LZMA || {};\n\n LZMA.OutWindow = function(){\n this._windowSize = 0;\n };\n\n LZMA.OutWindow.prototype.create = function(windowSize){\n if ( (!this._buffer) || (this._windowSize !== windowSize) ){\n this._buffer = [];\n }\n this._windowSize = windowSize;\n this._pos = 0;\n this._streamPos = 0;\n };\n\n LZMA.OutWindow.prototype.flush = function(){\n var size = this._pos - this._streamPos;\n if (size !== 0){\n while(size --){\n this._stream.writeByte(this._buffer[this._streamPos ++]);\n }\n if (this._pos >= this._windowSize){\n this._pos = 0;\n }\n this._streamPos = this._pos;\n }\n };\n\n LZMA.OutWindow.prototype.releaseStream = function(){\n this.flush();\n this._stream = null;\n };\n\n LZMA.OutWindow.prototype.setStream = function(stream){\n this.releaseStream();\n this._stream = stream;\n };\n\n LZMA.OutWindow.prototype.init = function(solid){\n if (!solid){\n this._streamPos = 0;\n this._pos = 0;\n }\n };\n\n LZMA.OutWindow.prototype.copyBlock = function(distance, len){\n var pos = this._pos - distance - 1;\n if (pos < 0){\n pos += this._windowSize;\n }\n while(len --){\n if (pos >= this._windowSize){\n pos = 0;\n }\n this._buffer[this._pos ++] = this._buffer[pos ++];\n if (this._pos >= this._windowSize){\n this.flush();\n }\n }\n };\n\n LZMA.OutWindow.prototype.putByte = function(b){\n this._buffer[this._pos ++] = b;\n if (this._pos >= this._windowSize){\n this.flush();\n }\n };\n\n LZMA.OutWindow.prototype.getByte = function(distance){\n var pos = this._pos - distance - 1;\n if (pos < 0){\n pos += this._windowSize;\n }\n return this._buffer[pos];\n };\n\n LZMA.RangeDecoder = function(){\n };\n\n LZMA.RangeDecoder.prototype.setStream = function(stream){\n this._stream = stream;\n };\n\n LZMA.RangeDecoder.prototype.releaseStream = function(){\n this._stream = null;\n };\n\n LZMA.RangeDecoder.prototype.init = function(){\n var i = 5;\n\n this._code = 0;\n this._range = -1;\n\n while(i --){\n this._code = (this._code << 8) | this._stream.readByte();\n }\n };\n\n LZMA.RangeDecoder.prototype.decodeDirectBits = function(numTotalBits){\n var result = 0, i = numTotalBits, t;\n\n while(i --){\n this._range >>>= 1;\n t = (this._code - this._range) >>> 31;\n this._code -= this._range & (t - 1);\n result = (result << 1) | (1 - t);\n\n if ( (this._range & 0xff000000) === 0){\n this._code = (this._code << 8) | this._stream.readByte();\n this._range <<= 8;\n }\n }\n\n return result;\n };\n\n LZMA.RangeDecoder.prototype.decodeBit = function(probs, index){\n var prob = probs[index],\n newBound = (this._range >>> 11) * prob;\n\n if ( (this._code ^ 0x80000000) < (newBound ^ 0x80000000) ){\n this._range = newBound;\n probs[index] += (2048 - prob) >>> 5;\n if ( (this._range & 0xff000000) === 0){\n this._code = (this._code << 8) | this._stream.readByte();\n this._range <<= 8;\n }\n return 0;\n }\n\n this._range -= newBound;\n this._code -= newBound;\n probs[index] -= prob >>> 5;\n if ( (this._range & 0xff000000) === 0){\n this._code = (this._code << 8) | this._stream.readByte();\n this._range <<= 8;\n }\n return 1;\n };\n\n LZMA.initBitModels = function(probs, len){\n while(len --){\n probs[len] = 1024;\n }\n };\n\n LZMA.BitTreeDecoder = function(numBitLevels){\n this._models = [];\n this._numBitLevels = numBitLevels;\n };\n\n LZMA.BitTreeDecoder.prototype.init = function(){\n LZMA.initBitModels(this._models, 1 << this._numBitLevels);\n };\n\n LZMA.BitTreeDecoder.prototype.decode = function(rangeDecoder){\n var m = 1, i = this._numBitLevels;\n\n while(i --){\n m = (m << 1) | rangeDecoder.decodeBit(this._models, m);\n }\n return m - (1 << this._numBitLevels);\n };\n\n LZMA.BitTreeDecoder.prototype.reverseDecode = function(rangeDecoder){\n var m = 1, symbol = 0, i = 0, bit;\n\n for (; i < this._numBitLevels; ++ i){\n bit = rangeDecoder.decodeBit(this._models, m);\n m = (m << 1) | bit;\n symbol |= bit << i;\n }\n return symbol;\n };\n\n LZMA.reverseDecode2 = function(models, startIndex, rangeDecoder, numBitLevels){\n var m = 1, symbol = 0, i = 0, bit;\n\n for (; i < numBitLevels; ++ i){\n bit = rangeDecoder.decodeBit(models, startIndex + m);\n m = (m << 1) | bit;\n symbol |= bit << i;\n }\n return symbol;\n };\n\n LZMA.LenDecoder = function(){\n this._choice = [];\n this._lowCoder = [];\n this._midCoder = [];\n this._highCoder = new LZMA.BitTreeDecoder(8);\n this._numPosStates = 0;\n };\n\n LZMA.LenDecoder.prototype.create = function(numPosStates){\n for (; this._numPosStates < numPosStates; ++ this._numPosStates){\n this._lowCoder[this._numPosStates] = new LZMA.BitTreeDecoder(3);\n this._midCoder[this._numPosStates] = new LZMA.BitTreeDecoder(3);\n }\n };\n\n LZMA.LenDecoder.prototype.init = function(){\n var i = this._numPosStates;\n LZMA.initBitModels(this._choice, 2);\n while(i --){\n this._lowCoder[i].init();\n this._midCoder[i].init();\n }\n this._highCoder.init();\n };\n\n LZMA.LenDecoder.prototype.decode = function(rangeDecoder, posState){\n if (rangeDecoder.decodeBit(this._choice, 0) === 0){\n return this._lowCoder[posState].decode(rangeDecoder);\n }\n if (rangeDecoder.decodeBit(this._choice, 1) === 0){\n return 8 + this._midCoder[posState].decode(rangeDecoder);\n }\n return 16 + this._highCoder.decode(rangeDecoder);\n };\n\n LZMA.Decoder2 = function(){\n this._decoders = [];\n };\n\n LZMA.Decoder2.prototype.init = function(){\n LZMA.initBitModels(this._decoders, 0x300);\n };\n\n LZMA.Decoder2.prototype.decodeNormal = function(rangeDecoder){\n var symbol = 1;\n\n do{\n symbol = (symbol << 1) | rangeDecoder.decodeBit(this._decoders, symbol);\n }while(symbol < 0x100);\n\n return symbol & 0xff;\n };\n\n LZMA.Decoder2.prototype.decodeWithMatchByte = function(rangeDecoder, matchByte){\n var symbol = 1, matchBit, bit;\n\n do{\n matchBit = (matchByte >> 7) & 1;\n matchByte <<= 1;\n bit = rangeDecoder.decodeBit(this._decoders, ( (1 + matchBit) << 8) + symbol);\n symbol = (symbol << 1) | bit;\n if (matchBit !== bit){\n while(symbol < 0x100){\n symbol = (symbol << 1) | rangeDecoder.decodeBit(this._decoders, symbol);\n }\n break;\n }\n }while(symbol < 0x100);\n\n return symbol & 0xff;\n };\n\n LZMA.LiteralDecoder = function(){\n };\n\n LZMA.LiteralDecoder.prototype.create = function(numPosBits, numPrevBits){\n var i;\n\n if (this._coders\n && (this._numPrevBits === numPrevBits)\n && (this._numPosBits === numPosBits) ){\n return;\n }\n this._numPosBits = numPosBits;\n this._posMask = (1 << numPosBits) - 1;\n this._numPrevBits = numPrevBits;\n\n this._coders = [];\n\n i = 1 << (this._numPrevBits + this._numPosBits);\n while(i --){\n this._coders[i] = new LZMA.Decoder2();\n }\n };\n\n LZMA.LiteralDecoder.prototype.init = function(){\n var i = 1 << (this._numPrevBits + this._numPosBits);\n while(i --){\n this._coders[i].init();\n }\n };\n\n LZMA.LiteralDecoder.prototype.getDecoder = function(pos, prevByte){\n return this._coders[( (pos & this._posMask) << this._numPrevBits)\n + ( (prevByte & 0xff) >>> (8 - this._numPrevBits) )];\n };\n\n LZMA.Decoder = function(){\n this._outWindow = new LZMA.OutWindow();\n this._rangeDecoder = new LZMA.RangeDecoder();\n this._isMatchDecoders = [];\n this._isRepDecoders = [];\n this._isRepG0Decoders = [];\n this._isRepG1Decoders = [];\n this._isRepG2Decoders = [];\n this._isRep0LongDecoders = [];\n this._posSlotDecoder = [];\n this._posDecoders = [];\n this._posAlignDecoder = new LZMA.BitTreeDecoder(4);\n this._lenDecoder = new LZMA.LenDecoder();\n this._repLenDecoder = new LZMA.LenDecoder();\n this._literalDecoder = new LZMA.LiteralDecoder();\n this._dictionarySize = -1;\n this._dictionarySizeCheck = -1;\n\n this._posSlotDecoder[0] = new LZMA.BitTreeDecoder(6);\n this._posSlotDecoder[1] = new LZMA.BitTreeDecoder(6);\n this._posSlotDecoder[2] = new LZMA.BitTreeDecoder(6);\n this._posSlotDecoder[3] = new LZMA.BitTreeDecoder(6);\n };\n\n LZMA.Decoder.prototype.setDictionarySize = function(dictionarySize){\n if (dictionarySize < 0){\n return false;\n }\n if (this._dictionarySize !== dictionarySize){\n this._dictionarySize = dictionarySize;\n this._dictionarySizeCheck = Math.max(this._dictionarySize, 1);\n this._outWindow.create( Math.max(this._dictionarySizeCheck, 4096) );\n }\n return true;\n };\n\n LZMA.Decoder.prototype.setLcLpPb = function(lc, lp, pb){\n var numPosStates = 1 << pb;\n\n if (lc > 8 || lp > 4 || pb > 4){\n return false;\n }\n\n this._literalDecoder.create(lp, lc);\n\n this._lenDecoder.create(numPosStates);\n this._repLenDecoder.create(numPosStates);\n this._posStateMask = numPosStates - 1;\n\n return true;\n };\n\n LZMA.Decoder.prototype.init = function(){\n var i = 4;\n\n this._outWindow.init(false);\n\n LZMA.initBitModels(this._isMatchDecoders, 192);\n LZMA.initBitModels(this._isRep0LongDecoders, 192);\n LZMA.initBitModels(this._isRepDecoders, 12);\n LZMA.initBitModels(this._isRepG0Decoders, 12);\n LZMA.initBitModels(this._isRepG1Decoders, 12);\n LZMA.initBitModels(this._isRepG2Decoders, 12);\n LZMA.initBitModels(this._posDecoders, 114);\n\n this._literalDecoder.init();\n\n while(i --){\n this._posSlotDecoder[i].init();\n }\n\n this._lenDecoder.init();\n this._repLenDecoder.init();\n this._posAlignDecoder.init();\n this._rangeDecoder.init();\n };\n\n LZMA.Decoder.prototype.decode = function(inStream, outStream, outSize){\n var state = 0, rep0 = 0, rep1 = 0, rep2 = 0, rep3 = 0, nowPos64 = 0, prevByte = 0,\n posState, decoder2, len, distance, posSlot, numDirectBits;\n\n this._rangeDecoder.setStream(inStream);\n this._outWindow.setStream(outStream);\n\n this.init();\n\n while(outSize < 0 || nowPos64 < outSize){\n posState = nowPos64 & this._posStateMask;\n\n if (this._rangeDecoder.decodeBit(this._isMatchDecoders, (state << 4) + posState) === 0){\n decoder2 = this._literalDecoder.getDecoder(nowPos64 ++, prevByte);\n\n if (state >= 7){\n prevByte = decoder2.decodeWithMatchByte(this._rangeDecoder, this._outWindow.getByte(rep0) );\n }else{\n prevByte = decoder2.decodeNormal(this._rangeDecoder);\n }\n this._outWindow.putByte(prevByte);\n\n state = state < 4? 0: state - (state < 10? 3: 6);\n\n }else{\n\n if (this._rangeDecoder.decodeBit(this._isRepDecoders, state) === 1){\n len = 0;\n if (this._rangeDecoder.decodeBit(this._isRepG0Decoders, state) === 0){\n if (this._rangeDecoder.decodeBit(this._isRep0LongDecoders, (state << 4) + posState) === 0){\n state = state < 7? 9: 11;\n len = 1;\n }\n }else{\n if (this._rangeDecoder.decodeBit(this._isRepG1Decoders, state) === 0){\n distance = rep1;\n }else{\n if (this._rangeDecoder.decodeBit(this._isRepG2Decoders, state) === 0){\n distance = rep2;\n }else{\n distance = rep3;\n rep3 = rep2;\n }\n rep2 = rep1;\n }\n rep1 = rep0;\n rep0 = distance;\n }\n if (len === 0){\n len = 2 + this._repLenDecoder.decode(this._rangeDecoder, posState);\n state = state < 7? 8: 11;\n }\n }else{\n rep3 = rep2;\n rep2 = rep1;\n rep1 = rep0;\n\n len = 2 + this._lenDecoder.decode(this._rangeDecoder, posState);\n state = state < 7? 7: 10;\n\n posSlot = this._posSlotDecoder[len <= 5? len - 2: 3].decode(this._rangeDecoder);\n if (posSlot >= 4){\n\n numDirectBits = (posSlot >> 1) - 1;\n rep0 = (2 | (posSlot & 1) ) << numDirectBits;\n\n if (posSlot < 14){\n rep0 += LZMA.reverseDecode2(this._posDecoders,\n rep0 - posSlot - 1, this._rangeDecoder, numDirectBits);\n }else{\n rep0 += this._rangeDecoder.decodeDirectBits(numDirectBits - 4) << 4;\n rep0 += this._posAlignDecoder.reverseDecode(this._rangeDecoder);\n if (rep0 < 0){\n if (rep0 === -1){\n break;\n }\n return false;\n }\n }\n }else{\n rep0 = posSlot;\n }\n }\n\n if (rep0 >= nowPos64 || rep0 >= this._dictionarySizeCheck){\n return false;\n }\n\n this._outWindow.copyBlock(rep0, len);\n nowPos64 += len;\n prevByte = this._outWindow.getByte(0);\n }\n }\n\n this._outWindow.flush();\n this._outWindow.releaseStream();\n this._rangeDecoder.releaseStream();\n\n return true;\n };\n\n LZMA.Decoder.prototype.setDecoderProperties = function(properties){\n var value, lc, lp, pb, dictionarySize;\n\n if (properties.size < 5){\n return false;\n }\n\n value = properties.readByte();\n lc = value % 9;\n value = ~~(value / 9);\n lp = value % 5;\n pb = ~~(value / 5);\n\n if ( !this.setLcLpPb(lc, lp, pb) ){\n return false;\n }\n\n dictionarySize = properties.readByte();\n dictionarySize |= properties.readByte() << 8;\n dictionarySize |= properties.readByte() << 16;\n dictionarySize += properties.readByte() * 16777216;\n\n return this.setDictionarySize(dictionarySize);\n };\n\n LZMA.decompress = function(properties, inStream, outStream, outSize){\n var decoder = new LZMA.Decoder();\n\n if ( !decoder.setDecoderProperties(properties) ){\n throw "Incorrect stream properties";\n }\n\n if ( !decoder.decode(inStream, outStream, outSize) ){\n throw "Error in data stream";\n }\n\n return true;\n };\n\n LZMA.decompressFile = function(inStream, outStream){\n var decoder = new LZMA.Decoder(), outSize;\n\n if ( !decoder.setDecoderProperties(inStream) ){\n throw "Incorrect stream properties";\n }\n\n outSize = inStream.readByte();\n outSize |= inStream.readByte() << 8;\n outSize |= inStream.readByte() << 16;\n outSize += inStream.readByte() * 16777216;\n\n inStream.readByte();\n inStream.readByte();\n inStream.readByte();\n inStream.readByte();\n\n if ( !decoder.decode(inStream, outStream, outSize) ){\n throw "Error in data stream";\n }\n\n return true;\n };\n'],{type:"text/javascript"});Ae=URL.createObjectURL(Oe)}catch(e){}var Ee=function(){function e(){var e=this;if(this.callCounter=0,this.requests=[],!Le)throw new Error("LZMACaller cannot work in this broswer.");var t=this.worker=new Worker(Ae);t.onmessage=function(t){var n,i,r=t.data,o=r.PacketID,s=r.Result,a=r.Error;a?null===(i=e.requests[o])||void 0===i||i.onCompleteCallback(new Error(a)):null===(n=e.requests[o])||void 0===n||n.onCompleteCallback(null,s),delete e.requests[o]},t.onerror=function(e){return console.error(e)}}return e.prototype.compress=function(e,t,n){var i=++this.callCounter;this.requests[i]={onCompleteCallback:n},this.worker.postMessage({Type:"compress",PacketID:i,Data:e,Level:t},[e.buffer])},e.prototype.decompress=function(e,t){var n=++this.callCounter;this.requests[n]={onCompleteCallback:t},this.worker.postMessage({Type:"decompress",PacketID:n,Data:e},[e.buffer])},e.prototype.terminate=function(){this.worker.terminate()},e.support=Le,e}();function Ce(e){return Array.prototype.reduce.call(e,(function(e,t,n){return e|t<<8*n}),0)}function ke(e){for(var t=new Uint8Array(e),n=Ce(t.slice(0,4)),i=[],r=[],o=4+4*n,s=0;s<n;s++)r[s]=Ce(t.slice(4+4*s,8+4*s)),i[s]=s===n-1?t.subarray(o,o+r[s]):t.slice(o,o+r[s]),o+=r[s];return Ee.support?function(e){for(var t=[],n=e.length,i=function(n){t.push(new Promise((function(t,i){var r=new Ee;r.decompress(e[n],(function(e,n){if(r.terminate(),e)return i(e);t(n)}))})))},r=0;r<n;r++)i(r);return Promise.all(t)}(i):Promise.resolve(function(e){for(var t,n=[],i=e.length,r=function(i){var r={data:e[i],offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(e){var t=Math.floor(this.offset/o);this.data[t]||(this.data[t]=new Uint8Array(o)),this.data[t][this.offset%o]=e,this.offset++}};xe.decompressFile(r,s),t=new Uint8Array(s.offset);for(var a=0;a<s.offset;a++)t[a]=s.data[Math.floor(a/o)][a%o];n.push(t)},o=0;o<i;o++)r(o);return n}(i))}function Se(e){return 0===e.indexOf("//")||/^[0-9a-z]+\:\/\//i.test(e)}var Ue=c.parse("\nmessage Model {\n repeated Mesh meshes = 1;\n}\nmessage Mesh {\n required string name = 1;\n repeated Chunk chunks = 2;\n repeated Matrix matrix = 3;\n}\nmessage Matrix {\n repeated float elements = 1;\n}\nmessage Chunk {\n required Geometry geometry = 2;\n repeated Material material = 3;\n}\nmessage Geometry {\n required Position position = 1;\n optional UV uv = 2;\n optional UV uv2 = 3;\n required Normal normal = 4;\n repeated Group groups = 5;\n}\nmessage Position {\n repeated float array = 1[packed=true];\n}\nmessage UV {\n repeated float array = 1[packed=true];\n}\nmessage Normal {\n repeated float array = 1[packed=true];\n}\nmessage Group {\n required uint32 start = 1;\n required uint32 count = 2;\n required uint32 materialIndex = 3;\n}\nmessage Material {\n optional Color kd = 1;\n optional Color ks = 2;\n optional Color ke = 3;\n optional string mapkd = 4;\n optional string mapks = 5;\n optional string mapke = 6;\n optional string norm = 7;\n optional string mapbump = 8;\n optional string bump = 9;\n optional string mapd = 10;\n optional float ns = 11;\n optional float d = 12;\n optional float tr = 13;\n optional string mapkdrepeat = 14;\n}\nmessage Color {\n repeated float rgb = 1;\n}\n").root.lookup("Model");var be={};function Qe(e,t,n){var i,r=[],o=[];function s(e,i,r){var s=function(e){var t=e.position,n=e.normal,i=e.uv,r=e.uv2,o=e.groups,s=new u.BufferGeometry;return s.setAttribute("position",new u.BufferAttribute(new Float32Array(t.array),3)),n&&s.setAttribute("normal",new u.BufferAttribute(new Float32Array(n.array),3)),i&&s.setAttribute("uv",new u.BufferAttribute(new Float32Array(i.array),2)),r&&s.setAttribute("uv2",new u.BufferAttribute(new Float32Array(r.array),2)),o.forEach((function(e){return s.addGroup(e.start,e.count,e.materialIndex)})),s}(e);s.applyMatrix4(r);var a=new u.Vector3,M=new u.Quaternion,c=new u.Vector3;r.decompose(a,M,c),c.x*c.y*c.z<0&&s.attributes.normal&&s.attributes.position&&s.attributes.uv&&function(e){for(var t=[0,0,0],n=0;n<e.attributes.normal.array.length/9;n++)t[0]=e.attributes.normal.array[9*n],t[1]=e.attributes.normal.array[9*n+1],t[2]=e.attributes.normal.array[9*n+2],e.attributes.normal.array[9*n]=e.attributes.normal.array[9*n+6],e.attributes.normal.array[9*n+1]=e.attributes.normal.array[9*n+7],e.attributes.normal.array[9*n+2]=e.attributes.normal.array[9*n+8],e.attributes.normal.array[9*n+6]=t[0],e.attributes.normal.array[9*n+7]=t[1],e.attributes.normal.array[9*n+8]=t[2];for(n=0;n<e.attributes.position.array.length/9;n++)t[0]=e.attributes.position.array[9*n],t[1]=e.attributes.position.array[9*n+1],t[2]=e.attributes.position.array[9*n+2],e.attributes.position.array[9*n]=e.attributes.position.array[9*n+6],e.attributes.position.array[9*n+1]=e.attributes.position.array[9*n+7],e.attributes.position.array[9*n+2]=e.attributes.position.array[9*n+8],e.attributes.position.array[9*n+6]=t[0],e.attributes.position.array[9*n+7]=t[1],e.attributes.position.array[9*n+8]=t[2];for(n=0;n<e.attributes.uv.array.length/6;n++)t[0]=e.attributes.uv.array[6*n],t[1]=e.attributes.uv.array[6*n+1],e.attributes.uv.array[6*n]=e.attributes.uv.array[6*n+4],e.attributes.uv.array[6*n+1]=e.attributes.uv.array[6*n+5],e.attributes.uv.array[6*n+4]=t[0],e.attributes.uv.array[6*n+5]=t[1];e.attributes.normal.needsUpdate=!0,e.attributes.position.needsUpdate=!0,e.attributes.uv.needsUpdate=!0}(s);var l=i.map((function(e){var i=function(e,t,n){var i={sourceFile:null,needsUpdate:!0,wrapS:u.RepeatWrapping,wrapT:u.RepeatWrapping};function r(e,r){return be[e]?Promise.resolve(be[e]):new Promise((function(o,s){var a=new ie;Se(e)||(e=t+e),-1!==(e=(e=e.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/")).split("?")[0]).indexOf(".png")&&(e=e.split(".png")[0]+".png"),-1!==e.indexOf(".jpg")&&(e=e.split(".jpg")[0]+".jpg"),0===e.indexOf("//")&&(e="https:"+e),e=ne(e,Object.assign({key:"texture"},n,{size:64})),a.load(e,(function(t){var n=new u.Texture(t),s=n.dispose;n.dispose=function(){s.call(n),/^blob\:/.test(t.src)&&URL.revokeObjectURL(t.src)},r&&Object.assign(n.repeat,r),Object.assign(n,i,{sourceFile:e}),n.updateMatrix(),be[e]=n,o(n)}),f,(function(e){return s(e.error)}))}))}var o,s=[],a=new F,M=a.uniforms;if(e.hasOwnProperty("kd")&&(M.diffuse.value=(new u.Color).fromArray(e.kd.rgb)),e.hasOwnProperty("mapkd")){var c=void 0;if(e.mapkdrepeat){var l=e.mapkdrepeat.split(/\s+/).map((function(e){return Number(e)})),d=l[0],N=l[1];c=new u.Vector2(d,N)}s.push(r(e.mapkd,c).then((function(e){M.map.value=e,M.uvTransform.value=e.matrix})).catch((function(e){})))}return e.hasOwnProperty("ks")&&(M.specular.value=(new u.Color).fromArray(e.ks.rgb)),e.hasOwnProperty("mapks")&&s.push(r(e.mapks).then((function(e){M.specularMap.value=e})).catch((function(e){}))),e.hasOwnProperty("ke")&&(M.emissive.value=(new u.Color).fromArray(e.ke.rgb)),e.hasOwnProperty("mapke")&&s.push(r(e.mapke).then((function(e){M.emissiveMap.value=e})).catch((function(e){}))),e.hasOwnProperty("norm")&&s.push(r(e.norm).then((function(e){M.normalMap.value=e})).catch((function(e){}))),e.hasOwnProperty("mapbump")&&s.push(r(e.mapbump).then((function(e){M.bumpMap.value=e})).catch((function(e){}))),e.hasOwnProperty("bump")&&s.push(r(e.bump).then((function(e){M.bumpMap.value=e})).catch((function(e){}))),e.hasOwnProperty("ns")&&(M.shininess.value=e.ns),e.hasOwnProperty("d")&&(o=e.d)>=0&&o<1&&(M.originOpacity.value=o),e.hasOwnProperty("tr")&&(o=1-e.tr)>=0&&o<1&&(M.originOpacity.value=o),M.originOpacity.value<1&&(a.transparent=!0),{material:a,textureReady:Promise.all(s).then((function(){}))}}(e,t,n),r=i.material,s=i.textureReady;return o.push(s),r}));return new k(s,l)}return(i=e,Ue.decode(i)).meshes.forEach((function(e){var t=e.name,n=e.chunks,i=e.matrix;"Ceiling"!==t&&"CeilingDrop"!==t&&i.map((function(e){var i,o=new u.Matrix4;if(o.elements=e.elements,1===n.length){var a=n[0],M=a.geometry,c=a.material;i=s(M,c,o)}else i=new S,n.forEach((function(e,t){var n=s(e.geometry,e.material,o);n.name="chunk"+t,i.add(n)}));i.floorIndex=0,i.name=t,r.push(i)}))})),{objects:r,textureReady:Promise.all(o).then((function(){}))}}function Ye(){Object.keys(be).forEach((function(e){be[e].dispose(),delete be[e]}))}function _e(e){return e.$$FIVE_EVENT$$||(e.$$FIVE_EVENT$$={}),e.$$FIVE_EVENT$$}var Pe=function(){function e(){}return e.prototype.hasListener=function(e){var t=_e(this);return t&&t[e]&&t[e].length>0},e.prototype.on=function(e,t,n){var i=this,r=_e(this);return r[e]||(r[e]=[]),r[e].push([t,n||!1]),function(){return i.off(e,t)}},e.prototype.once=function(e,t){return this.on(e,t,!0)},e.prototype.off=function(e,t){if(void 0!==e){var n,i=_e(this);if(i[e]||(i[e]=[]),void 0!==t){for(var r=0;r<i[e].length&&i[e][r][0]!==t;r++);r<i[e].length&&i[e].splice(r,1)}else i[e].length=0}else(n=this).$$FIVE_EVENT$$||delete n.$$FIVE_EVENT$$},e.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=!1,r=_e(this),o=r[e]||[],s=0,a=o.slice();s<a.length;s++){var M=a[s],u=M[0],c=M[1],l=void 0!==c&&c,d=u.apply(void 0,t);l&&this.off(e,u),!1===d&&(i=!0)}return i},e}();function Be(e){var n;return new((n=u.Triangle).bind.apply(n,t.__spreadArray([void 0],e.map((function(e){return new u.Vector3(e.x,e.y,e.z)})))))}var Re={at3d:function(e,t){return Promise.resolve().then((function(){return te.async(e.file,{responseType:"arraybuffer"})})).then((function(e){return ke(e)})).then((function(e){return ce((function(){for(var t=[],n=0,i=e;n<i.length;n++){var r=i[n],o=we.decode(r);t.push.apply(t,o.chunks)}return t}))})).then((function(n){return ce((function(){return Ie(n,e.textureBase,e.textures,t)}))}))},pbm:function(e,t){return Promise.resolve().then((function(){return te.async(e.file,{responseType:"arraybuffer"})})).then((function(e){return ce((function(){var t=new Uint8Array(e),n=we.decode(t);return[].concat(n.chunks)}))})).then((function(n){return ce((function(){return Ie(n,e.textureBase,e.textures,t)}))}))},dome:function(e,t){return Promise.resolve().then((function(){return Ye()})).then((function(){return te.async(e.file,{responseType:"arraybuffer"})})).then((function(n){return Qe(new Uint8Array(n),e.textureBase,t)}))},domez:function(e,t){return Promise.resolve().then((function(){return Ye()})).then((function(){return te.async(e.file,{responseType:"arraybuffer"})})).then((function(e){return ke(e)})).then((function(e){var t=e.reduce((function(e,t){return e+t.length}),0),n=new Uint8Array(t),i=0;return e.forEach((function(e){n.set(e,i),i+=e.length})),n})).then((function(n){return Qe(n,e.textureBase,t)}))}},Ve=function(e){function n(){var t=e.call(this)||this;return t.empty=!1,t.name="model",t.loaded=!1,t.bvhs=[],t.bounding=new u.Box3,t.shownfloor=null,t}return t.__extends(n,e),n.prototype.getEdges=function(e){var t;void 0===e&&(e=30/180*Math.PI);for(var n=Math.cos(e),i=[],r=0,o=this.children;r<o.length;r++){var s=o[r];if(s instanceof k){for(var a={},M=["a","b","c"],c=de.mergeVertices(s.geometry),l=c.getAttribute("position").array,d=(null===(t=c.getIndex())||void 0===t?void 0:t.array)||[],N=[],p=[],h=0,D=l.length;h<D;h+=3)N.push(new u.Vector3(l[h],l[h+1],l[h+2]));for(h=0,D=d.length;h<D;h+=3){var y=d[h],g=d[h+1],z=d[h+2],T=(new u.Vector3).crossVectors(N[g].clone().sub(N[y]),N[z].clone().sub(N[y])).normalize();p.push({a:y,b:g,c:z,normal:T})}for(h=0,D=p.length;h<D;h++)for(var j=p[h],f=0;f<3;f++){var v=j[M[f]],m=j[M[(f+1)%3]],w=[Math.min(v,m),Math.max(v,m)];void 0===a[I=w[0]+"-"+w[1]]?a[I]={index1:w[0],index2:w[1],face1:h}:a[I].face2=h}for(var I in a){var x=a[I];if(void 0===x.face2||p[x.face1].normal.dot(p[x.face2].normal)<=n){var L=N[x.index1],A=N[x.index2];i.push(new u.Line3(L,A))}}c.dispose(),N.length=0,p.length=0}}return i},n.prototype.hasFloors=function(){var e=[];return this.traverse((function(t){t instanceof k&&(e[t.floorIndex]=!0)})),e.length},n.prototype.show=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=null,r=null!==(e=t[1])&&void 0!==e?e:.1,o=0!==t.length;this.shownfloor=i=o?t[0]:null,this.traverse((function(e){e instanceof k&&e.material.forEach((function(t){null===i||i===e.floorIndex?t.opacity=1:t.opacity=r}))})),this.needsRender=!0},n.prototype.intersectRaycaster=function(e,t){var n=e.ray,i=n.origin,r=n.direction;if(j(t))if(j(this.shownfloor)){var o=this.hasFloors();t=[];for(var s=0;s<o;s++)t.push(s)}else t=[this.shownfloor];var a=[],M=[];Array.isArray(t)?M.push.apply(M,t):M.push(t);for(var c=function(t){var n=l.bvhs&&l.bvhs[t];if(n){(o=n.intersectRay(i,r,!0).map((function(e){var t=e.intersectionPoint,n=e.triangle,r=new u.Vector3(t.x,t.y,t.z);return{point:r,face:{normal:Be(n).getNormal(new u.Vector3)},distance:i.distanceTo(r)}}))).length&&a.push.apply(a,o)}else{var o,s=[];l.traverse((function(e){e instanceof k&&e.floorIndex===t&&s.push(e)})),(o=e.intersectObjects(s).map((function(e){var t=e.face?{normal:e.face.normal}:void 0;return{point:e.point,face:t,distance:e.distance}}))).length&&a.push.apply(a,o)}},l=this,d=0,N=M;d<N.length;d++){c(N[d])}return a.filter((function(t){var n=t.distance;return n<=e.far&&n>=e.near})).sort((function(e,t){return e.distance-t.distance}))},n.prototype.buildBVH=function(){var e=this,t=[];this.traverse((function(e){e instanceof k&&(t[e.floorIndex]=t[e.floorIndex]||[],t[e.floorIndex].push(e.geometry))}));var n=t.map((function(e){var t=e.reduce((function(e,t){return e+(t.index?t.index.array.length:t.attributes.position.array.length)}),0),n=new Float32Array(3*t);return e.reduce((function(e,t){for(var i=t.index?t.index.array:null,r=t.attributes.position.array,o=i?i.length:r.length/3,s=0;s<o;s++){var a=3*(e+s),M=i?3*i[s]:3*s;n[a+0]=r[M+0],n[a+1]=r[M+1],n[a+2]=r[M+2]}return e+o}),0),new $(n,5)}));return this.bvhs=[],Promise.all(n.map((function(e){return new Promise((function(t){return e.splitNode(t)}))}))).then((function(){e.bvhs=n,e.bvhs.loaded=!0,e.emit("bvhLoaded")}))},n.prototype.load=function(e,t){var n=this;if(void 0===t&&(t={}),!0===this.loaded)throw new Error("model 只能被 load 一次");var i=Re[function(e,t){void 0===t&&(t=[]);var n=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(e);if(n)for(var i=String(n[1]).trim().split("."),r=0,o=t;r<o.length;r++){var s=o[r];if(i.indexOf(s)>=0)return s}}(e.file,Object.keys(Re))||""];if(!i)throw new Error("文件类型错误");i(e,t).then((function(e){for(var t=e.objects,i=e.textureReady,r=[],o=0,s=t;o<s.length;o++){(l=s[o]).traverse((function(e){e instanceof k&&(e.geometry.computeBoundingBox(),e.geometry.computeBoundingSphere(),r.push(e.geometry.boundingBox))})),n.add(l)}n.emit("geometryLoaded"),i.then((function(){return n.emit("materialLoaded")})),n.bounding=function(e){for(var t=new u.Box3,n=0,i=e;n<i.length;n++){var r=i[n];t.union(r)}return t}(r);for(var a=n.bounding.getCenter(new u.Vector3),M=0,c=t;M<c.length;M++){var l;(l=c[M]).traverse((function(e){e instanceof k&&e.material.forEach((function(e){e.uniforms.modelCenter.value=a}))}))}r.length=0,i.then((function(){n.emit("loaded"),n.loaded=!0}))})).catch((function(e){n.emit("error",e)}))},n.prototype.dispose=function(){for(this.off(),this.disposeGeometry(),this.disposeMaterial();this.children.length;)this.remove(this.children[0]);this.bvhs.length=0,delete this.bvhs.loaded},n}(S);function Fe(e){switch(e.getError()){case e.INVALID_ENUM:return new Error("webgl error: INVALID_ENUM");case e.INVALID_VALUE:return new Error("webgl error: INVALID_VALUE");case e.INVALID_OPERATION:return new Error("webgl error: INVALID_OPERATION");case e.INVALID_FRAMEBUFFER_OPERATION:return new Error("webgl error: INVALID_FRAMEBUFFER_OPERATION");case e.OUT_OF_MEMORY:return new Error("webgl error: OUT_OF_MEMORY");case e.CONTEXT_LOST_WEBGL:return new Error("webgl error: CONTEXT_LOST_WEBGL");default:return null}}Object.assign(Ve.prototype,{on:Pe.prototype.on,once:Pe.prototype.once,off:Pe.prototype.off,emit:Pe.prototype.emit,hasListener:Pe.prototype.hasListener});var He=document.head||document.getElementsByTagName("head")[0],Ge={};var qe=l.default.Tween,We=l.default.Easing;function Ze(e,t,n,i){void 0===i&&(i=We.Linear.None);var r=[],o=[],s=[],a=[],M=Object.assign(new qe(e).to(t,n).easing(i),{completed:!1,onCancel:function(e){return r.push(e),M},destroy:function(){if(M.stop(),Object.assign(this,{_onStartCallback:null,_onUpdateCallback:null,_onCompleteCallback:null,_onStopCallback:null}),!M.completed)for(var e=0,t=r;e<t.length;e++){(0,t[e])()}r.length=0,u()}});Object.assign(M,{onStart:function(e){return o.push(e),M},onUpdate:function(e){return s.push(e),M},onComplete:function(e){return a.push(e),M},_onStartCallback:function(e){for(var t=0,n=o;t<n.length;t++){(0,n[t])(e)}},_onUpdateCallback:function(e,t){for(var n=0,i=s;n<i.length;n++){(0,i[n])(e,t)}1===t&&0===M._repeat&&(M.completed=!0)},_onCompleteCallback:function(e){for(var t=0,n=a;t<n.length;t++){(0,n[t])(e)}}}),A((function(){return M.start()}));var u=O((function(e){!1===M.update(e)&&u()}));return M}function Je(e,t){return Ze({progress:0},{progress:1},e,t)}var Xe=2*Math.PI;function Ke(e){return(e%Xe+Xe)%Xe}var $e=Math.PI,et=2*$e;function tt(e,t,n){return e+(t-e)*n}function nt(e,t,n){return e=Ke(e),tt((t=Ke(t))-e>$e?e+et:e-t>$e?e-et:e,t,n)}function it(e,t,n){if(e===t)return t;var i=t-e;return Math.abs(i)<=n?t:e+(i>0?1:-1)*n}var rt=function(e){function n(){var t=e.call(this)||this;t.type="LineSegmentsGeometry";return t.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),t.setAttribute("position",new u.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),t.setAttribute("uv",new u.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2)),t}return t.__extends(n,e),n.prototype.applyMatrix4=function(e){var t=this.attributes.instanceStart,n=this.attributes.instanceEnd;return void 0!==t&&(t.applyMatrix4(e),n.applyMatrix4(e),t.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},n.prototype.setPositions=function(e){var t;t=e instanceof Float32Array?e:Array.isArray(e)?new Float32Array(e):new Float32Array;var n=new u.InstancedInterleavedBuffer(t,6,1);return this.setAttribute("instanceStart",new u.InterleavedBufferAttribute(n,3,0)),this.setAttribute("instanceEnd",new u.InterleavedBufferAttribute(n,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},n.prototype.setColors=function(e){var t;t=e instanceof Float32Array?e:Array.isArray(e)?new Float32Array(e):new Float32Array;var n=new u.InstancedInterleavedBuffer(t,6,1);return this.setAttribute("instanceColorStart",new u.InterleavedBufferAttribute(n,3,0)),this.setAttribute("instanceColorEnd",new u.InterleavedBufferAttribute(n,3,3)),this},n.prototype.fromWireframeGeometry=function(e){return this.setPositions(e.attributes.position.array),this},n.prototype.fromEdgesGeometry=function(e){return this.setPositions(e.attributes.position.array),this},n.prototype.fromMesh=function(e){return this.fromWireframeGeometry(new u.WireframeGeometry(e.geometry)),this},n.prototype.fromLineSegments=function(e){var t=e.geometry;if(t instanceof u.Geometry){var n=(new u.BufferGeometry).fromGeometry(t);this.setPositions(n.attributes.position.array)}else t instanceof u.BufferGeometry&&this.setPositions(t.attributes.position.array);return this},n.prototype.computeBoundingBox=function(){null===this.boundingBox&&(this.boundingBox=new u.Box3);var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var n=new u.Box3;this.boundingBox.setFromBufferAttribute(e),n.setFromBufferAttribute(t),this.boundingBox.union(n)}},n.prototype.computeBoundingSphere=function(){null===this.boundingSphere&&(this.boundingSphere=new u.Sphere),null===this.boundingBox&&this.computeBoundingBox();var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var n=this.boundingSphere.center;this.boundingBox.getCenter(n);for(var i=0,r=new u.Vector3,o=0,s=e.count;o<s;o++)r.fromBufferAttribute(e,o),i=Math.max(i,n.distanceToSquared(r)),r.fromBufferAttribute(t,o),i=Math.max(i,n.distanceToSquared(r));this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}},n.prototype.toJSON=function(){},n}(u.InstancedBufferGeometry);Object.assign(rt.prototype,{isLineSegmentsGeometry:!0});var ot={uniforms:u.UniformsUtils.merge([u.UniformsLib.common,u.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new u.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:"\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\tvarying vec2 vUv;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\tvUv = uv;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec2 ndcStart = clipStart.xy / clipStart.w;\n\t\t\tvec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd - ndcStart;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t// perpendicular to dir\n\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\n\t\t\t// undo aspect ratio adjustment\n\t\t\tdir.x /= aspect;\n\t\t\toffset.x /= aspect;\n\n\t\t\t// sign flip\n\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t// endcaps\n\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\toffset += - dir;\n\n\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\toffset += dir;\n\n\t\t\t}\n\n\t\t\t// adjust for linewidth\n\t\t\toffset *= linewidth;\n\n\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\toffset /= resolution.y;\n\n\t\t\t// select end\n\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t// back to clip space\n\t\t\toffset *= clip.w;\n\n\t\t\tclip.xy += offset;\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\tfloat a = vUv.x;\n\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t}\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <encodings_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t"},st=function(e){function n(t){var n=e.call(this,{uniforms:u.UniformsUtils.clone(ot.uniforms),vertexShader:ot.vertexShader,fragmentShader:ot.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return t.__extends(n,e),n}(u.ShaderMaterial);Object.assign(st.prototype,{isLineMaterial:!0});var at=function(e){function n(t,n){var i=e.call(this)||this;return i.type="LineSegments2",i.geometry=void 0!==t?t:new rt,i.material=void 0!==n?n:new st({color:16777215*Math.random()}),i}return t.__extends(n,e),n.prototype.computeLineDistances=function(){for(var e=this.geometry,t=e.attributes.instanceStart,n=e.attributes.instanceEnd,i=new Float32Array(2*t.count),r=new u.Vector3,o=new u.Vector3,s=0,a=0,M=t.count;s<M;s++,a+=2)r.fromBufferAttribute(t,s),o.fromBufferAttribute(n,s),i[a]=0===a?0:i[a-1],i[a+1]=i[a]+r.distanceTo(o);var c=new u.InstancedInterleavedBuffer(i,2,1);return e.setAttribute("instanceDistanceStart",new u.InterleavedBufferAttribute(c,1,0)),e.setAttribute("instanceDistanceEnd",new u.InterleavedBufferAttribute(c,1,1)),this},n.prototype.raycast=function(e,t){null===e.camera&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var n=e.ray,i=e.camera,r=i.projectionMatrix,o=this.geometry,s=this.material,a=s.resolution,M=s.linewidth,c=o.attributes.instanceStart,l=o.attributes.instanceEnd,d=new u.Vector4,N=new u.Vector4,p=new u.Vector4,h=new u.Vector3,D=new u.Matrix4,y=new u.Line3,g=new u.Vector3;n.at(1,p),p.w=1,p.applyMatrix4(i.matrixWorldInverse),p.applyMatrix4(r),p.multiplyScalar(1/p.w),p.x*=a.x/2,p.y*=a.y/2,p.z=0,h.copy(p);var z=this.matrixWorld;D.multiplyMatrices(i.matrixWorldInverse,z);for(var T=0,j=c.count;T<j;T++){d.fromBufferAttribute(c,T),N.fromBufferAttribute(l,T),d.w=1,N.w=1,d.applyMatrix4(D),N.applyMatrix4(D),d.applyMatrix4(r),N.applyMatrix4(r),d.multiplyScalar(1/d.w),N.multiplyScalar(1/N.w);var f=d.z<-1&&N.z<-1,v=d.z>1&&N.z>1;if(!f&&!v){d.x*=a.x/2,d.y*=a.y/2,N.x*=a.x/2,N.y*=a.y/2,y.start.copy(d),y.start.z=0,y.end.copy(N),y.end.z=0;var m=y.closestPointToPointParameter(h,!0);y.at(m,g);var w=u.MathUtils.lerp(d.z,N.z,m),I=w>=-1&&w<=1,x=h.distanceTo(g)<.5*M;if(I&&x){y.start.fromBufferAttribute(c,T),y.end.fromBufferAttribute(l,T),y.start.applyMatrix4(z),y.end.applyMatrix4(z);var L=new u.Vector3,A=new u.Vector3;n.distanceSqToSegment(y.start,y.end,A,L),t.push({point:A,pointOnLine:L,distance:n.origin.distanceTo(A),object:this,faceIndex:T})}}}},n}(u.Mesh);Object.assign(at.prototype,{isLineSegments2:!0});var Mt=function(e){function n(t,n){var i=e.call(this,t,n)||this;return i.type="Line2",i}return t.__extends(n,e),n}(at);Object.assign(Mt.prototype,{isLine2:!0});var ut=function(e){function n(){var t=e.call(this)||this;return t.type="LineGeometry",t}return t.__extends(n,e),n.prototype.setPositions=function(t){for(var n=t.length-3,i=new Float32Array(2*n),r=0;r<n;r+=3)i[2*r]=t[r],i[2*r+1]=t[r+1],i[2*r+2]=t[r+2],i[2*r+3]=t[r+3],i[2*r+4]=t[r+4],i[2*r+5]=t[r+5];return e.prototype.setPositions.call(this,i),this},n.prototype.setColors=function(t){for(var n=t.length-3,i=new Float32Array(2*n),r=0;r<n;r+=3)i[2*r]=t[r],i[2*r+1]=t[r+1],i[2*r+2]=t[r+2],i[2*r+3]=t[r+3],i[2*r+4]=t[r+4],i[2*r+5]=t[r+5];return e.prototype.setColors.call(this,i),this},n.prototype.fromLine=function(e){var t=e.geometry;if(t instanceof u.Geometry){var n=(new u.BufferGeometry).fromGeometry(t);this.setPositions(n.attributes.position.array)}else t instanceof u.BufferGeometry&&this.setPositions(t.attributes.position.array);return this},n.prototype.copy=function(){return this},n}(rt);Object.assign(ut.prototype,{isLineGeometry:!0});var ct=null,lt=function(e){function n(t,n){void 0===t&&(t=new u.Vector3),void 0===n&&(n=new u.Vector3);var i=e.call(this)||this;i.type="FiveLine";var r=new ut,o=new st({color:14467195,linewidth:2,dashScale:20,dashed:!1});i.line=new Mt(r,o);var s=new u.BufferGeometry,a=new u.PointsMaterial({color:14467195,size:8,map:ct||(ct=(new u.TextureLoader).load("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==")),sizeAttenuation:!1,transparent:!0});return i.points=new u.Points(s,a),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(t,n),i.add(i.line,i.points),i}return t.__extends(n,e),n.prototype.setPoints=function(e,t){var n=[].concat(e.toArray(),t.toArray());this.points.geometry.setAttribute("position",new u.BufferAttribute(new Float32Array(n),3)),this.line.geometry.setPositions(n),this.line.computeLineDistances()},n.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new u.Vector3(e[0],e[1],e[2]),new u.Vector3(e[3],e[4],e[5])]},n.prototype.setMaterial=function(e){var t=this.line.material;for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];"dashed"===n?(t.dashed=i,i?t.defines.USE_DASH="":delete t.defines.USE_DASH,t.needsUpdate=!0):t[n]=e[n]}},n.prototype.setResolution=function(e,t){this.line.material.resolution.set(e,t)},n}(u.Object3D);Object.assign(lt.prototype,{isFiveLine:!0});function dt(e){return"number"==typeof e}function Nt(e){"string"==typeof e&&"{"===e.trim()[0]&&(e=JSON.parse(e));var t={uuid:m(),initial:{mode:"Panorama",latitude:0,longitude:0,panoIndex:0,fov:80},observers:[]},n=e.base_url||"",i=function(t,i){var r,o;if(Se(t))return t;var s=(null===(r=e.panorama)||void 0===r?void 0:r.base_url)||n||"",a=(null===(o=e.panorama)||void 0===o?void 0:o.pano_high_cube_base_url)||"";return a||s?s+a+i+"/"+t:n+t},r=function(e){return Se(e)?e:n+e},o=function(e,t){return Se(e)?e:t?t+e:n+e};if(e.initial&&(dt(e.initial.latitude)&&(t.initial.latitude=e.initial.latitude),dt(e.initial.longitude)?t.initial.longitude=e.initial.longitude:dt(e.initial.heading)&&(t.initial.longitude=-(360*(e.initial.heading-.25)+90)/180*Math.PI),dt(e.initial.fov)&&(t.initial.fov=e.initial.fov),dt(e.initial.panoIndex)?t.initial.panoIndex=e.initial.panoIndex:dt(e.initial.pano_index)?t.initial.panoIndex=e.initial.pano_index:dt(e.initial.pano)&&(t.initial.panoIndex=e.initial.pano)),e.model){var s={bvh:!0,async:!1,textureBase:"",textures:[]};"boolean"==typeof e.model.bvh?s.bvh=e.model.bvh:"boolean"==typeof e.bvh&&(s.bvh=e.bvh),"boolean"==typeof e.model.async?s.async=e.model.async:"boolean"==typeof e.modelAsync&&(s.async=e.modelAsync),e.model.file?s.file=r(e.model.file):e.model.file_url&&(s.file=r(e.model.file_url)),e.model.textureBase?s.textureBase=e.model.textureBase:e.model.material_base_url&&(s.textureBase=e.model.material_base_url),Array.isArray(e.model.textures)?s.textures=e.model.textures.map((function(e){return o(e,s.textureBase)})):Array.isArray(e.model.material_textures)&&(s.textures=e.model.material_textures.map((function(e){return o(e,s.textureBase)}))),s.file&&(t.model=s)}if(e.observers&&Array.isArray(e.observers)){var a=[];e.panorama&&(Array.isArray(e.panorama)?a=e.panorama:Array.isArray(e.panorama.list)?a=e.panorama.list:Array.isArray(e.panorama.info)&&(a=e.panorama.info));for(var M=0;M<e.observers.length;M++){var c={},l=e.observers[M];if(!l)break;var d=a[M]||{};l=Object.assign({},l,d,{active:!1!==l.active&&!1!==d.active}),c.panoIndex=M,c.active=!1!==l.active,c.loadable=!0===l.loadable,c.images={up:i(l.images?l.images.up:l.up,M),down:i(l.images?l.images.down:l.down,M),right:i(l.images?l.images.right:l.right,M),left:i(l.images?l.images.left:l.left,M),front:i(l.images?l.images.front:l.front,M),back:i(l.images?l.images.back:l.back,M)};var N=l.images?l.images.depth:l.depth;N&&(c.images.depth=i(N,M));var p=l.images?l.images.tiles:l.tiles;if(p&&(c.images.tiles=i(p,M)),l.position instanceof u.Vector3)c.position=l.position.clone();else{if(!Array.isArray(l.position))break;c.position=(new u.Vector3).fromArray(l.position)}if(l.standingPosition instanceof u.Vector3)c.standingPosition=l.standingPosition.clone();else if(Array.isArray(l.standingPosition))c.standingPosition=(new u.Vector3).fromArray(l.standingPosition);else if(l.standing_position instanceof u.Vector3)c.standingPosition=l.standing_position.clone();else{if(!Array.isArray(l.standing_position))break;c.standingPosition=(new u.Vector3).fromArray(l.standing_position)}if(l.quaternion instanceof u.Quaternion)c.quaternion=l.quaternion.clone();else if(Array.isArray(l.quaternion))c.quaternion=(new u.Quaternion).fromArray(l.quaternion);else{if(!l.quaternion)break;var h=l.quaternion,D=h.x,y=h.y,g=h.z,z=h.w;c.quaternion=new u.Quaternion(D,y,g,z)}if(Array.isArray(l.accessibleNodes)?c.accessibleNodes=l.accessibleNodes.slice():Array.isArray(l.accessible_nodes)&&(c.accessibleNodes=l.accessible_nodes.slice()),Array.isArray(l.visibleNodes)?c.visibleNodes=l.visibleNodes.slice():Array.isArray(l.visible_nodes)&&(c.visibleNodes=l.visible_nodes.slice()),dt(l.floorIndex)?c.floorIndex=l.floorIndex:dt(l.floor_index)?c.floorIndex=l.floor_index:c.floorIndex=0,l.video){var T={};"string"==typeof l.video.source&&(T.source=l.video.source),l.video.matrix instanceof u.Matrix4?T.matrix=l.video.matrix.clone():Array.isArray(l.video.matrix)&&(T.matrix=(new u.Matrix4).fromArray(l.video.matrix)),l.video.size instanceof u.Vector2?T.size=l.video.size.clone():Array.isArray(l.video.size)&&(T.size=(new u.Vector2).fromArray(l.video.size)),T.source&&T.matrix&&T.size&&(c.video=T)}t.observers[M]=c}}for(var j=0,f=t.observers;j<f.length;j++){if(!(c=f[j]).accessibleNodes){c.accessibleNodes=[];for(var v=0;v<t.observers.length;v++)t.observers[v]!==c&&c.accessibleNodes.push(v)}if(!c.visibleNodes){c.visibleNodes=[];for(v=0;v<t.observers.length;v++)t.observers[v]!==c&&c.visibleNodes.push(v)}}return Object.freeze(t),t}var pt=function(e){return Number(e)};function ht(e,t,n){var i;void 0===t&&(t=pt),void 0===n&&(n=!1);for(var r,o=1/0,s=0,a=e;s<a.length;s++){var M=a[s],u=t(M);u<=o&&(r=(i=[M,u])[0],o=i[1])}return n?[r,o]:r}var Dt=document.mozFullScreen?"DOMMouseScroll":"mousewheel",yt=!!window.addEventListener,gt=!!window.attachEvent;function zt(e,t){var n=function(e,t){return t.__mouseWheelWrapper=function(n){if(n=n||window.event,yt&&n.preventDefault(),gt&&(n.returnValue=!1),"DOMMouseScroll"==Dt||"mousewheel"==Dt){var i=n.wheelDelta;n.delta=i?i/120:-(n.delta||0)/3}t.call(e,n)}}(e,t);yt?e.addEventListener(Dt,n,!1):gt&&e.attachEvent("on"+Dt,n)}function Tt(e,t,n){var i=t.offsetWidth,r=t.offsetHeight,o=t.getBoundingClientRect(),s=o.top,a=o.left;return n&&(a+=i*n.left,s+=r*(1-n.bottom-n.height),i*=n.width,r*=n.height),new u.Vector2((e.x-a)/i*2-1,-(e.y-s)/r*2+1)}var jt=navigator.userAgent.toLowerCase(),ft=document.createElement("canvas");!function(){try{!window.WebGLRenderingContext||!ft.getContext("webgl")&&ft.getContext("experimental-webgl")}catch(e){return!1}}();var vt=jt.match(/android/i)||jt.match(/webos/i)||jt.match(/ipad|iphone|ipod/i)||jt.match(/iemobile/i)||jt.match(/opera mini/i)||jt.match(/blackberry/i)||jt.match(/windows phone/i),mt=function(e){function n(t){var i=e.call(this)||this,r=n.parseArgs(t);return i.ready=!1,i.destroyed=!1,i.ident=r.ident,i.scene=r.scene,i.camera=r.camera,i.renderer=r.renderer,i.scissor=r.scissor,i.element=r.element,i.model=r.model,i.work=r.work,i.imageOptions=r.imageOptions,i.videoTexture=r.videoTexture,i.needsRender=!0,i.preventPanGesture=!1,i.preventTapGesture=!1,i.preventPinchGesture=!1,i.currentPanoIndex=r.panoIndex,j(i.work.observers[i.currentPanoIndex])&&(i.currentPanoIndex=0),i.eventUnbinds=[r.element].concat(r.extraElements||[]).map((function(e){return i.bindEvents(e)})),A((function(){return i.initAnimation.apply(i,r.initial).then((function(){return i.ready=!0}))})),i}return t.__extends(n,e),n.parseArgs=function(e){return t.__assign({},e)},n.initAnimationEndPose=function(e){return this.parseArgs(e).camera.copyPose()},n.prototype.initAnimation=function(e,t,n){return Promise.resolve()},n.prototype.bindExtraElement=function(e){for(var t=0,n=this.eventUnbinds;t<n.length;t++){if(n[t].element===e)return}this.eventUnbinds.push(this.bindEvents(e))},n.prototype.unbindExtraElement=function(e){for(var t=null,n=-1,i=0,r=this.eventUnbinds;i<r.length;i++){var o=r[i];if(n++,o.element===e){t=o;break}}t&&(t(),this.eventUnbinds.splice(n,1))},n.prototype.resize=function(){this.needsRender=!0},n.prototype.resetModel=function(e,t){this.model=e,this.needsRender=!0},n.prototype.updateWork=function(e,t,n,i){return!1},n.prototype.render=function(){this.renderer.render(this.scene,this.camera)},n.prototype.destroy=function(){this.destroyed=!0,this.ready=!1,this.off();for(var e=0,t=this.eventUnbinds;e<t.length;e++){(0,t[e])()}this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenCoordinates)},n.prototype.moveToPano=function(e,t,n){void 0===t&&(t={});var i={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()};t.moveStartCallback&&t.moveStartCallback(e,i),this.emit("moveToPano",e,n),this.currentPanoIndex=e,this.emit("panoArrived",e,{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()},n),t.moveEndCallback&&t.moveEndCallback(e,i)},n.prototype.updateCamera=function(e,t,n){var i,r,o,s;void 0===e&&(e={});var a=null!==(i=e.longitude)&&void 0!==i?i:this.camera.pose.longitude,M=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,u=null!==(o=e.fov)&&void 0!==o?o:this.camera.pose.fov,c=null!==(s=e.offset)&&void 0!==s?s:this.camera.pose.offset,l=a!==this.camera.pose.longitude||M!==this.camera.pose.latitude,d=u!==this.camera.pose.fov,N=!c.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:a,latitude:M,fov:u,offset:c}),d&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),l&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),N&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(d||l||N)&&this.emit("cameraUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()},t),this.needsRender=!0},n.prototype.onPanGesture=function(e){},n.prototype.onTapGesture=function(e){},n.prototype.onPinchGesture=function(e){},n.prototype.onMouseWheel=function(e){},n.prototype.onMouseMove=function(e){},n.prototype.onMouseOut=function(){},n.prototype.relativeClientPosition=function(e){return Tt(e,this.element,this.scissor)},n.prototype.bindEvents=function(e){var t=this,n=function(e){var n=Tt(e,t.element,t.scissor);return!(Math.abs(n.x)>1||Math.abs(n.y)>1)},i=new Hammer.Manager(e),r=function(e){return e.session.firstInput||null};i.add(new Hammer.Pan({threshold:10,pointers:0})),i.add(new Hammer.Tap({interval:410})),i.add(new Hammer.Pinch({threshold:0,pointers:2}).recognizeWith(i.get("pan"))),i.on("panstart pan",(function(e){var o=r(i);o&&!n(o.center)||!0!==t.preventPanGesture&&t.onPanGesture(e)})),i.on("tap",(function(e){var o=r(i);o&&!n(o.center)||!0!==t.preventTapGesture&&t.onTapGesture(e)})),i.on("pinchstart pinch pinchend",(function(e){var o=r(i);o&&!n(o.center)||!0!==t.preventPinchGesture&&t.onPinchGesture(e)}));var o=function(e){var i={x:e.clientX,y:e.clientY};n(i)&&t.onMouseWheel(e)},s=function(e){var i={x:e.clientX,y:e.clientY};n(i)?t.onMouseMove(e):t.onMouseOut()},a=function(){t.onMouseOut()};zt(e,o),vt||(Hammer.on(e,"mousemove",s),Hammer.on(e,"mouseout",a));return Object.assign((function(){i.destroy(),function(e,t){t.__mouseWheelWrapper&&(yt?e.removeEventListener(Dt,t.__mouseWheelWrapper,!1):gt&&e.detachEvent("on"+Dt,t.__mouseWheelWrapper),delete t.__mouseWheelWrapper)}(e,o),vt||(Hammer.off(e,"mousemove",s),Hammer.off(e,"mouseout",a))}),{element:e})},n}(Pe),wt=function(e){function n(t){var i=this,r=n.parseArgs(t);return(i=e.call(this,r)||this).defaultLongitude=r.defaultLongitude,i.defaultLatitude=r.defaultLatitude,i.defaultFov=r.defaultFov,i.maxFov=r.maxFov,i.minFov=r.minFov,i.maxLatitude=r.maxLatitude,i.minLatitude=r.minLatitude,i}return t.__extends(n,e),n.parseArgs=function(n){var i,r,o,s,a,M,u,c=e.parseArgs.call(this,n);return t.__assign(t.__assign({},c),{defaultLongitude:null!==(i=n.defaultLongitude)&&void 0!==i?i:Math.PI/4,defaultLatitude:null!==(r=n.defaultLatitude)&&void 0!==r?r:Math.PI/4,defaultFov:null!==(o=n.defaultFov)&&void 0!==o?o:80,maxFov:null!==(s=n.maxFov)&&void 0!==s?s:120,minFov:null!==(a=n.minFov)&&void 0!==a?a:40,maxLatitude:null!==(M=n.maxLatitude)&&void 0!==M?M:+Math.PI/2,minLatitude:null!==(u=n.minLatitude)&&void 0!==u?u:-Math.PI/2})},n.initAnimationEndPose=function(e){var t,i,r,o=this.parseArgs(e),s=e.initial[0],a=null!==(t=s.longitude)&&void 0!==t?t:o.defaultLongitude,M=Math.max(o.minLatitude,Math.min(o.maxLatitude,null!==(i=s.latitude)&&void 0!==i?i:o.defaultLatitude)),u=null!==(r=s.fov)&&void 0!==r?r:o.defaultFov,c=n.prototype.cameraDistance.call(o);return{longitude:a,latitude:M,fov:u,offset:n.prototype.calculateCameraPosition.call(o,{longitude:M,latitude:M},c,null,!1).clone()}},n.prototype.destroy=function(){e.prototype.destroy.call(this)},n.prototype.updateWork=function(e,t,n,i){return this.work=e,this.currentPanoIndex=t.panoIndex,!0},n.prototype.resetModel=function(t,n){e.prototype.resetModel.call(this,t,n),this.updateCamera({longitude:this.defaultLongitude,latitude:this.defaultLatitude,fov:this.defaultFov},n,!1)},n.prototype.initAnimation=function(e,t,n){var i,r,o,s,a,M,c=this;if(this.destroyed)return Promise.resolve();var l=this.camera,d=this.model;this.preventPanGesture=!0,this.preventTapGesture=!0,this.preventPinchGesture=!0;var N=l.pose.longitude,p=l.pose.latitude,h=l.pose.fov,D=l.pose.offset.clone(),y=(null===(i=d.getMaterial())||void 0===i?void 0:i.modelAlpha)||0,g=null!==(o=null===(r=this.model.getMaterial())||void 0===r?void 0:r.perspToOrtho)&&void 0!==o?o:0,z=null!==(s=e.longitude)&&void 0!==s?s:this.defaultLongitude,T=Math.max(this.minLatitude,Math.min(this.maxLatitude,null!==(a=e.latitude)&&void 0!==a?a:this.defaultLatitude)),j=null!==(M=e.fov)&&void 0!==M?M:this.defaultFov,f=d.bounding.getCenter(new u.Vector3),v=this.cameraDistance(),m=this.calculateCameraPosition({longitude:T,latitude:T},v,null,!1),w={longitude:z,latitude:T,fov:j,offset:m.clone()};return this.emit("initAnimationWillStart",this.currentPanoIndex,w,n),new Promise((function(e){c.tweenCoordinates&&(c.tweenCoordinates.destroy(),delete c.tweenCoordinates);var i=function(e){var t=e.progress,i=nt(N,z,t),r=tt(p,T,t),o=tt(h,j,t);c.updateCamera({longitude:i,latitude:r,fov:o,offset:c.camera.pose.offset},n,!1)},r=function(){i({progress:1}),c.tweenCoordinates&&(c.tweenCoordinates.destroy(),delete c.tweenCoordinates)};t>0?c.tweenCoordinates=Je(t,We.Quadratic.InOut).onUpdate(i).onComplete(r):r(),c.tweenPosition&&(c.tweenPosition.destroy(),delete c.tweenPosition);var o=function(e){var t=e.progress,i=tt(0,v,t),r=new u.Vector3(tt(D.x-f.x,0,t),tt(D.y-f.y,0,t),tt(D.z-f.z,0,t)),o=tt(y,1,t),s=tt(g,0,t);d.setMaterial({modelAlpha:o,perspToOrtho:s});var a=c.calculateCameraPosition(c.camera.pose,i,r,!1);c.updateCamera({offset:a},n,!1)};r=function(){o({progress:1}),c.updateCamera(c.camera.copyPose(),n,!1),c.tweenPosition&&(c.tweenPosition.destroy(),delete c.tweenPosition),c.needsRender=!0,c.preventPanGesture=!1,c.preventTapGesture=!1,c.preventPinchGesture=!1,e(),c.emit("initAnimationEnded",c.currentPanoIndex,c.camera.copyPose(),n)};t>0?c.tweenPosition=Je(t,We.Quadratic.InOut).onUpdate(o).onComplete(r).onCancel((function(){c.preventPanGesture=!1,c.preventTapGesture=!1,c.preventPinchGesture=!1,e(),c.emit("initAnimationEnded",c.currentPanoIndex,c.camera.copyPose(),n)})):r()}))},n.prototype.cameraDistance=function(){var e=this.model.bounding,t=this.camera.aspect,n=Math.pow(Math.pow(e.max.x-e.min.x+2,2)+Math.pow(e.max.y-e.min.y+2,2)+Math.pow(e.max.z-e.min.z+2,2),.5),i=n/2/Math.tan(Math.PI*this.defaultFov/360);return t<1&&(i/=t),isNaN(i)?n:i},n.prototype.calculateCameraPosition=function(e,t,n,i){var r=e.longitude,o=Math.max(-Math.PI/2+.01,Math.min(Math.PI/2-.01,e.latitude));i&&(o=Math.max(this.minLatitude,Math.min(this.maxLatitude,o)));var s=this.model.bounding.getCenter(new u.Vector3),a=t*Math.cos(o),M=new u.Vector3(Math.sin(r)*a+s.x,Math.sin(o)*t+s.y,Math.cos(r)*a+s.z);return null!==n&&M.add(n),M},n.prototype.updateCamera=function(e,t,n){var i,r,o;void 0===e&&(e={});var s=this,a=s.minFov,M=s.maxFov,u=s.maxLatitude,c=s.minLatitude,l=null!==(i=e.longitude)&&void 0!==i?i:this.camera.pose.longitude,d=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,N=void 0===e.fov||this.emit("wantsChangeCameraFov",e.fov)?this.camera.pose.fov:e.fov,p=null!==(o=e.offset)&&void 0!==o?o:this.calculateCameraPosition({longitude:l,latitude:d},this.cameraDistance(),null,n);n&&(d=Math.max(c,Math.min(u,d)),N=Math.max(a,Math.min(M,N)));var h=l!==this.camera.pose.longitude||d!==this.camera.pose.latitude,D=N!==this.camera.pose.fov,y=!p.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:l,latitude:d,fov:N,offset:p}),D&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),h&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),y&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(D||h||y)&&this.emit("cameraUpdate",this.camera.copyPose(),t),this.needsRender=!0,ue()},n.prototype.getForwardPanoIndexOrNot=function(e){var t=this.work.observers.filter((function(e){return e.active})),n=this.model.intersectRaycaster(e)[0];if(!n)return null;var i=ht(t,(function(e){return e.standingPosition.distanceTo(n.point)}),!0),r=i[0];return i[1]<5?this.work.observers.indexOf(r):null},n.prototype.coordinatesChangeWithOffset=function(e,t){var n=this.element,i=this.camera,r=n.offsetWidth,o=n.offsetHeight,s=2*t.x/r*i.fov/30,a=2*t.y/o*i.fov/30;return{longitude:Ke(e.longitude+s),latitude:Math.max(this.minLatitude,Math.min(this.maxLatitude,e.latitude+a))}},n.prototype.requestInteriaMovement=function(e,t){var n=this;if(!1!==this.interiaMovement){var i=this.coordinatesChangeWithOffset(this.camera.pose,e),r=i.longitude,o=i.latitude;this.updateCamera({longitude:r,latitude:o},t,!0);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",this.camera.copyPose(),!s),s&&A((function(){n.requestInteriaMovement({x:.8*e.x,y:.8*e.y},t)}))}},n.prototype.onPanGesture=function(e){var t=this;if(!this.tweenCoordinates){this.interiaMovement=!1;var n=this.lastPanPoint&&this.lastPanPoint.pointerLength===e.pointers.length?{x:e.center.x-this.lastPanPoint.x,y:e.center.y-this.lastPanPoint.y}:{x:0,y:0},i=this.relativeClientPosition(e.center),r=this.camera.pose.latitude<Math.PI/6||i.y<0?-1:1,o=this.coordinatesChangeWithOffset(this.camera.pose,{x:n.x*r,y:n.y}),s=o.longitude,a=o.latitude,M=this.calculateCameraPosition({longitude:s,latitude:a},this.cameraDistance(),null,!0),u=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!(this.emit("wantsGesture","pan",u,e.isFinal)||this.emit("wantsPanGesture",{longitude:s,latitude:a,fov:this.camera.pose.fov,offset:M.clone()},e.isFinal)))if(this.updateCamera({longitude:s,latitude:a,offset:M},!0,!0),this.emit("gesture","pan",u,e.isFinal),this.emit("panGesture",this.camera.copyPose(),e.isFinal),this.lastPanPoint=e.isFinal?void 0:{pointerLength:e.pointers.length,x:e.center.x,y:e.center.y},e.isFinal)this.emit("wantsInteriaPan",this.camera.copyPose())||(this.interiaMovement=!0,C((function(n){var i=e.velocityX*n*r,o=e.velocityY*n,s=Math.sqrt(i*i+o*o);s>100&&(i=i/s*100,o=o/s*100),t.requestInteriaMovement({x:i,y:o},!0)})))}},n.prototype.onTapGesture=function(e){if(this.interiaMovement=!1,!this.tweenPosition){var t=this.relativeClientPosition(e.center),n=new u.Raycaster;n.setFromCamera(t,this.camera);var i=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!(this.emit("wantsGesture","tap",i,!0)||this.emit("wantsTapGesture",n,t))){this.emit("gesture","tap",i,!0),this.emit("tapGesture",n,t);var r;j(r=this.getForwardPanoIndexOrNot(n))||(this.emit("panoSelected",r),this.emit("wantsMoveToPano",r,{longitude:this.camera.pose.longitude,latitude:0},!0))}}},n.prototype.onPinchGesture=function(e){this.interiaMovement=!1;var t=this.camera,n=this.lastPinchPoint;if("pinchstart"===e.type)return delete this.lastPanPoint,void(this.lastPinchPoint=t.fov);"pinchend"===e.type&&(delete this.lastPanPoint,delete this.lastPinchPoint);var i="pinchend"===e.type;if(n){var r=n/e.scale,o=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(this.emit("wantsGesture","pinch",o,i)||this.emit("wantsPinchGesture",e.scale,r,i))return;this.updateCamera({fov:r},!0,!0),this.emit("gesture","pinch",o,i),this.emit("pinchGesture",e.scale,r,i)}},n.prototype.onMouseWheel=function(e){var t=this;this.interiaMovement=!1;var n=e.delta,i=this.minFov,r=this.maxFov,o=Math.max(i,Math.min(r,this.camera.fov-n)),s=[{x:e.clientX,y:e.clientY}];this.emit("wantsGesture","mouseWheel",s,!1)||this.emit("wantsMouseWheel",n,o,!1)||(this.updateCamera({fov:o},!0,!0),this.emit("gesture","mouseWheel",s,!1),this.emit("mouseWheel",n,o,!1),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){t.emit("wantsGesture","mouseWheel",s,!0)||t.emit("wantsMouseWheel",n,o,!0)||(t.emit("gesture","mouseWheel",s,!0),t.emit("mouseWheel",0,o,!0))}),200))},n}(mt),It=function(e){function n(t){var i=n.parseArgs(t);return e.call(this,i)||this}return t.__extends(n,e),n.parseArgs=function(n){var i=[t.__assign(t.__assign({},n.initial[0]),{longitude:0,latitude:Math.PI/2}),n.initial[1],n.initial[2]],r=t.__assign(t.__assign({},n),{initial:i,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return e.parseArgs.call(this,r)},n.initAnimationEndPose=function(t){var n=this.parseArgs(t);return e.initAnimationEndPose.call(this,n)},n.prototype.initAnimation=function(t,n,i){var r=this;return e.prototype.initAnimation.call(this,t,n,i).then((function(){var e,t;if(!r.destroyed){var i=null!==(t=null===(e=r.model.getMaterial())||void 0===e?void 0:e.perspToOrtho)&&void 0!==t?t:0;if(0===n)r.model.setMaterial({perspToOrtho:1}),r.needsRender=!0;else var o=Je(250,We.Linear.None).onUpdate((function(e){var t=e.progress;r.destroyed||(r.model.setMaterial({perspToOrtho:tt(i,1,t)}),r.needsRender=!0)})).onComplete((function(){return o.destroy()}))}}))},n.prototype.resetModel=function(e,t){this.model=e,this.needsRender=!0;var n=this.calculateCameraPosition({longitude:this.defaultLongitude,latitude:this.defaultLatitude},this.cameraDistance(),null,!1);this.updateCamera({offset:n},t,!1)},n.prototype.getZoomOffsetFromFov=function(e,t,n){var i=new u.Vector3(0,-1,0),r=Math.tan(n/2*Math.PI/180),o=Math.tan(t.fov/2*Math.PI/180),s=(o-r)/o,a=new u.Raycaster;a.setFromCamera(e,t);var M=a.ray.direction,c=M.angleTo(i),l=this.cameraDistance(),d=l*Math.tan(c),N=M.clone().setLength(l*Math.cos(c)).projectOnPlane(i),p=N.length(),h=s/p*N.x*d,D=s/p*N.z*d;return new u.Vector3(h,0,D)},n.prototype.onPanGesture=function(e){if(!this.tweenCoordinates){var t=this.element,n=this.camera,i=n.fov,r=n.matrix,o=n.up,s=t.offsetHeight,a=this.lastPanPoint&&this.lastPanPoint.pointerLength===e.pointers.length?{x:e.center.x-this.lastPanPoint.x,y:e.center.y-this.lastPanPoint.y}:{x:0,y:0},M=this.camera.pose.offset.clone(),c=n.position.y*Math.tan(i/2*Math.PI/180);M.add(function(e,t){var n=new u.Vector3;return n.setFromMatrixColumn(t,0),n.multiplyScalar(-e),n}(2*a.x*c/s,r)),M.add(function(e,t,n){var i=new u.Vector3;return i.setFromMatrixColumn(n,0),i.crossVectors(t,i),i.multiplyScalar(e),i}(2*a.y*c/s,o,r));var l=this.model.bounding,d=l.getCenter(new u.Vector3),N=(l.max.x-l.min.x)/this.defaultFov*n.fov,p=(l.max.y,l.min.y,this.defaultFov,n.fov,(l.max.z-l.min.z)/this.defaultFov*n.fov);M.x=Math.max(d.x-N,Math.min(d.x+N,M.x)),M.z=Math.max(d.z-p,Math.min(d.z+p,M.z));var h=e.pointers.map((function(e){return{x:e.x,y:e.y}}));this.emit("wantsGesture","pan",h,e.isFinal)||this.emit("wantsPanGesture",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:M},e.isFinal)||(this.updateCamera({offset:M},!0,!0),this.emit("gesture","pan",h,e.isFinal),this.emit("panGesture",this.camera.copyPose(),e.isFinal),this.lastPanPoint=e.isFinal?void 0:{pointerLength:e.pointers.length,x:e.center.x,y:e.center.y})}},n.prototype.onMouseWheel=function(e){var t=this,n=e.delta,i=e.clientX,r=e.clientY,o=this.camera,s=this.minFov,a=this.maxFov,M=Math.max(s,Math.min(a,this.camera.fov-n)),u=[{x:e.clientX,y:e.clientY}];if(!(this.emit("wantsGesture","mouseWheel",u,!1)||this.emit("wantsMouseWheel",n,M,!1))){var c=this.relativeClientPosition({x:i,y:r}),l=this.getZoomOffsetFromFov(c,o,M),d=this.camera.pose.offset.clone().add(l);this.updateCamera({offset:d,fov:M},!0,!0),this.emit("gesture","mouseWheel",u,!1),this.emit("mouseWheel",n,M,!1),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){t.emit("wantsGesture","mouseWheel",u,!0)||t.emit("wantsMouseWheel",n,M,!0)||(t.emit("gesture","mouseWheel",u,!0),t.emit("mouseWheel",0,M,!0))}),200)}},n.prototype.onPinchGesture=function(e){var t=this.camera,n=this.lastPinchPoint,i=e.scale,r=e.type,o=e.center,s=this.minFov,a=this.maxFov;if("pinchstart"===r)return delete this.lastPanPoint,void(this.lastPinchPoint=t.fov);"pinchend"===r&&(delete this.lastPanPoint,delete this.lastPinchPoint);var M="pinchend"===r;if(n){var u=n/i,c=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(this.emit("wantsGesture","pinch",c,M)||this.emit("wantsPinchGesture",i,u,M))return;u=Math.max(s,Math.min(a,u));var l=this.relativeClientPosition(o),d=this.getZoomOffsetFromFov(l,t,u),N=this.camera.pose.offset.clone().add(d);this.updateCamera({longitude:0,latitude:Math.PI/2,offset:N,fov:u},!0,!0),this.emit("gesture","pinch",c,M),this.emit("pinchGesture",i,u,M)}},n.prototype.__requestInteriaMovement=function(){},n}(wt),xt=[];function Lt(e){return e.onload=e.onerror=f,e.crossOrigin="",/^blob\:/.test(e.src)&&URL.revokeObjectURL(e.src),e.removeAttribute("src"),e}function At(e){e instanceof u.Texture?e.dispose():(Lt(e),0===xt.indexOf(e)&&xt.push(e))}function Ot(e,t,n,i,r){if(void 0===e&&(e=""),void 0===t&&(t=f),void 0===n&&(n=f),void 0===i&&(i=f),void 0===r&&(r=f),/\.basis(\?|$)/.test(e)){var o=!1,s=!1;return ge.load(e,(function(e){t(e),i(1),!0===s&&e.dispose(),o=!0}),(function(e){i(e.loaded/e.total)}),(function(e){n(e.error),o=!0})),{abort:function(){o||r(),s=!0}}}var a=!1;return te(e,{responseType:"blob"},(function(e,r){if(!a){if(e)return n(e),void(a=!0);var o=URL.createObjectURL(r),s=Lt(xt.shift()||Y());s.onload=function(){s.onload=s.onerror=f,a?At(s):(A((function(){return t(s)})),i(1),a=!0)},s.onerror=function(){s.onload=s.onerror=f,a||(n(new Error("image load error.")),a=!0),At(s)},s.src=o}}),i,(function(){a||(a=!1,r())}))}var Et=["right","left","up","down","front","back"];var Ct=function(e){function n(t){var n=e.call(this)||this;return n.images=[null,null,null,null,null,null],n.xhr=[null,null,null,null,null,null],n.aborted=!1,n.renderer=t,n}return t.__extends(n,e),n.prototype.load=function(e,t){var n=this,i=d.digest(e),r=f,o=f,s=f,a=f;"function"==typeof t?(r=t.bind(this,null),s=t.bind(this),a=t.bind(this)):(t.onLoad&&(r=t.onLoad),t.onProgress&&(o=t.onProgress),t.onError&&(s=t.onError),t.onAbort&&(a=t.onAbort)),this.abort(),this.disposeImages(),this.aborted=!1;for(var M=[0,0,0,0,0,0],u=function(t,i){M[i]=t,t=M.reduce((function(e,t){return e+t}),0)/M.length,o(t),n.emit("progress",t,e)},c=function(t){var o=function(e,t){var n=t.index,i=void 0===n?0:n,r=t.images,o=void 0===r?{}:r,s=t.imageOptions,a=void 0===s?{}:s,M=o[e],u=["cube",i,e].join("."),c=ge.isInitialized();return ne(M,Object.assign({key:u,basisLoaderInitialized:c},a))}(Et[t],e);l.xhr[t]=Ot(o,(function(o){return function(t,o){u(1,o),n.images[o]=t,n.xhr[o]=null;for(var s=0,a=n.images;s<a.length;s++)if(!a[s])return;var M=n.toCubeTexture();M.hash=i,r(M),n.emit("load",M,e)}(o,t)}),(function(i){return function(t,i){n.aborted||(s(t),n.emit("error",t,e),n.xhr[i]=null,n.xhr.forEach((function(e,t,n){e&&e.abort(),n[t]=null})),n.disposeImages())}(i,t)}),(function(e){return u(e,t)}),(function(){n.aborted||(n.aborted=!0,n.xhr.forEach((function(e,t,n){e&&e.abort(),n[t]=null})),n.disposeImages(),a(new Error("image aborted")),n.emit("abort",e))}))},l=this,N=0;N<this.images.length;N++)c(N);this.emit("start",e)},n.prototype.abort=function(){this.xhr.forEach((function(e,t,n){e&&e.abort(),n[t]=null}))},n.prototype.disposeImages=function(){for(var e=0;e<this.images.length;e++)if(this.images[e]){var t=this.images[e];t&&At(t),this.images[e]=null}},n.prototype.toCubeTexture=function(){var e=new Q;e.generateMipmaps=!0;var n=e.dispose;return this.images[0]instanceof u.Texture?(e.format=this.images[0].format,e.encoding=this.images[0].encoding,e.minFilter=this.images[0].minFilter,e.magFilter=this.images[0].magFilter,e.isCompressedTexture=!0):e.minFilter=u.LinearFilter,this.images.forEach((function(t,n,i){e.images[n]=t,i[n]=null})),e.needsUpdate=!0,e.dispose=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return this.images.forEach((function(e){e&&At(e)})),this.images=[],n.call.apply(n,t.__spreadArray([this],e))},e},n}(Pe),kt=function(e){function n(t,n){var i=e.call(this)||this;i.disposed=!1,i.size=t.clone(),i.image=new ImageData(new Uint8ClampedArray([0,0,0,0]),1,1),i.generateMipmaps=!0,i.unpackAlignment=1,i.needsUpdate=!0,i.wrapS=u.ClampToEdgeWrapping,i.wrapT=u.ClampToEdgeWrapping,i.minFilter=u.NearestFilter,i.magFilter=u.NearestFilter,i.renderer=n;var r=i.gl=n.getContext(),o=i.utils=u.WebGLUtils(r,n.extensions,n.capabilities);n.initTexture(i);var s=n.properties.get(i),a=r.getParameter(r.TEXTURE_BINDING_2D);return r.bindTexture(r.TEXTURE_2D,s.__webglTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,o.convert(i.format),t.x,t.y,0,o.convert(i.format),o.convert(i.type),null),r.bindTexture(r.TEXTURE_2D,a),i.update(i.image,new u.Vector2),i}return t.__extends(n,e),n.prototype.update=function(e,t){if(!this.disposed){var n=this;n.size;var i=n.gl,r=n.utils,o=n.renderer.properties.get(this);if(!o.__webglTexture)throw new Error("UpdatableTexture never initialized");var s=i.getParameter(i.TEXTURE_BINDING_2D);i.bindTexture(i.TEXTURE_2D,o.__webglTexture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.texSubImage2D(i.TEXTURE_2D,0,t.x,t.y,r.convert(this.format),r.convert(this.type),e),i.generateMipmap(i.TEXTURE_2D),i.bindTexture(i.TEXTURE_2D,s)}},n.prototype.dispose=function(){this.disposed=!0,e.prototype.dispose.call(this)},n}(u.Texture);var St=new ie,Ut=Y();Ut.crossOrigin="";var bt=Promise.resolve(),Qt=function(e){function n(t){var n=e.call(this)||this;n.texutre=new kt(new u.Vector2(2048,2048),t),n.mappings=[];for(var i,r,o=I(),s=0;s<16;s++){var a=(i=s,r=4,[Math.floor(i%r),Math.floor(i/r)]),M=a[0],c=a[1];n.mappings[s]={idle:!0,loaded:!0,resource:"",timestamp:o,clip:new u.Vector4(0,0,0,0),drawAt:new u.Vector4(M/4,c/4,1/4,1/4)}}return n}return t.__extends(n,e),n.prototype.requestResource=function(e){var t=this;bt=bt.then((function(){return new Promise((function(n){var i=function(){/^blob\:/.test(Ut.src)&&URL.revokeObjectURL(Ut.src),Ut.removeAttribute("src"),n()};St.loadToImage(Ut,e,(function(){if(512!==Ut.width||512!==Ut.height)t.emit("error",new Error("tile image size must be 512 x 512."));else{var n=t.getMaddpingByResource(e);if(n&&!0!==n.loaded){n.loaded=!0;var r=new u.Vector2(2048*n.drawAt.x,2048*n.drawAt.y);t.texutre.update(Ut,r),t.emit("update",t.getVisibleMappings())}}i()}),(function(){}),i)}))}))},n.prototype.getMaddpingByResource=function(e){return this.mappings.filter((function(t){return e===t.resource}))[0]},n.prototype.getIdleMapping=function(){return this.mappings.filter((function(e){return e.idle})).sort((function(e,t){return e.timestamp-t.timestamp}))[0]},n.prototype.getHash=function(){return d.digest(this.getVisibleMappings().map((function(e){return e.map((function(e){return e.toArray()}))})))},n.prototype.cleanTiles=function(){for(var e=this.getHash(),t=0,n=this.mappings;t<n.length;t++){n[t].idle=!0}e!==this.getHash&&this.emit("update",this.getVisibleMappings())},n.prototype.loadTiles=function(e){var t=this.getHash(),n=Math.pow(4,2),i=I();e.length>n&&((e=e.slice()).length=n);for(var r=0,o=this.mappings;r<o.length;r++){(N=o[r]).idle=!0}for(var s=[],a=0,M=e;a<M.length;a++){var u=ne((d=M[a]).resource);(N=this.getMaddpingByResource(u))?(N.idle=!1,N.timestamp=i):s.push(d)}for(var c=0,l=s;c<l.length;c++){var d,N;u=ne((d=l[c]).resource);(N=this.getIdleMapping()).idle=!1,N.resource=u,N.clip=d.clip,N.loaded=!1,N.timestamp=i,this.requestResource(u)}t!==this.getHash&&this.emit("update",this.getVisibleMappings())},n.prototype.getVisibleMappings=function(){return this.mappings.map((function(e){var t=!1===e.idle&&!0===e.loaded?e.drawAt.clone():new u.Vector4(0,0,0,0);return[e.clip.clone(),t.clone()]}))},n.prototype.dispose=function(){this.emit("dispose"),this.mappings.length=0,this.texutre.dispose()},n}(Pe);var Yt=function(e){function n(){var t=e.call(this)||this,n=new u.RingBufferGeometry(.04,.08,32),i=new u.MeshBasicMaterial({color:1245179,opacity:.8,side:u.DoubleSide,transparent:!0});return t.ringMesh=new u.Mesh(n,i),t.ringMesh.renderOrder=10,t.add(t.ringMesh),t}return t.__extends(n,e),n.prototype.dispose=function(){this.remove(this.ringMesh),this.ringMesh.geometry.dispose(),Array.isArray(this.ringMesh.material)?this.ringMesh.material.forEach((function(e){return e.dispose()})):this.ringMesh.material.dispose()},n}(u.Object3D);function _t(){return new Yt}var Pt=function(e){function n(t){var i=this,r=n.parseArgs(t);return(i=e.call(this,r)||this).defaultLongitude=r.defaultLongitude,i.defaultLatitude=r.defaultLongitude,i.defaultFov=r.defaultFov,i.maxFov=r.maxFov,i.minFov=r.minFov,i.maxLatitude=r.maxLatitude,i.minLatitude=r.minLatitude,i.moveSpeed=r.moveSpeed,i.intersectMeshCreator=r.intersectMeshCreator,i.interiaMovement=!1,i.intersectMesh=i.intersectMeshCreator(),i.intersectMesh.name="intersect",i.intersectMesh.visible=!1,i.scene.add(i.intersectMesh),i}return t.__extends(n,e),n.parseArgs=function(n){var i,r,o,s,a,M,u,c,l,d=e.parseArgs.call(this,n);return t.__assign(t.__assign({},d),{defaultLongitude:null!==(i=n.defaultLongitude)&&void 0!==i?i:0,defaultLatitude:null!==(r=n.defaultLongitude)&&void 0!==r?r:0,defaultFov:null!==(o=n.defaultFov)&&void 0!==o?o:80,maxFov:null!==(s=n.maxFov)&&void 0!==s?s:120,minFov:null!==(a=n.minFov)&&void 0!==a?a:40,maxLatitude:null!==(M=n.maxLatitude)&&void 0!==M?M:+Math.PI/2,minLatitude:null!==(u=n.minLatitude)&&void 0!==u?u:-Math.PI/2,moveSpeed:null!==(c=n.moveSpeed)&&void 0!==c?c:3.2,intersectMeshCreator:null!==(l=n.intersectMeshCreator)&&void 0!==l?l:_t})},n.initAnimationEndPose=function(e){var t,n,i,r=this.parseArgs(e),o=e.initial[0];return{longitude:null!==(t=o.longitude)&&void 0!==t?t:r.defaultLongitude,latitude:null!==(n=o.latitude)&&void 0!==n?n:r.defaultLatitude,fov:null!==(i=o.fov)&&void 0!==i?i:r.defaultFov,offset:r.work.observers[r.panoIndex].position.clone()}},n.prototype.destroy=function(){e.prototype.destroy.call(this),this.interiaMovement=!1,this.hideIntersectMesh(),this.intersectMesh&&(this.scene.remove(this.intersectMesh),this.intersectMesh.dispose())},n.prototype.updateCamera=function(e,t,n){var i,r,o;void 0===e&&(e={});var s=this,a=s.minFov,M=s.maxFov,u=s.maxLatitude,c=s.minLatitude,l=null!==(i=e.longitude)&&void 0!==i?i:this.camera.pose.longitude,d=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,N=void 0===e.fov||this.emit("wantsChangeCameraFov",e.fov)?this.camera.pose.fov:e.fov,p=null!==(o=e.offset)&&void 0!==o?o:this.camera.pose.offset;n&&(d=Math.max(c,Math.min(u,d)),N=Math.max(a,Math.min(M,N)));var h=l!==this.camera.pose.longitude||d!==this.camera.pose.latitude,D=N!==this.camera.pose.fov,y=!p.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:l,latitude:d,fov:N,offset:p}),D&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),h&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),y&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(D||h||y)&&this.emit("cameraUpdate",this.camera.copyPose(),t),this.needsRender=!0,ue()},n.prototype.calculateMovingDuration=function(e,t){switch(typeof e){case"function":return e(t,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return Math.floor(Math.max(Math.min(t/this.moveSpeed*1e3,1500),500))}},n.prototype.initAnimation=function(e,t,n){var i,r,o,s=this;if(this.destroyed)return Promise.resolve();var a=null!==(i=e.longitude)&&void 0!==i?i:this.defaultLongitude,M=null!==(r=e.latitude)&&void 0!==r?r:this.defaultLatitude,u=null!==(o=e.fov)&&void 0!==o?o:this.defaultFov;return new Promise((function(e){s.moveToPano(s.currentPanoIndex,{longitude:a,latitude:M,fov:u,limit:!1,duration:t,moveStartCallback:function(e,t){s.preventPanGesture=!0,s.preventTapGesture=!0,s.emit("initAnimationWillStart",e,t,n)},moveEndCallback:function(t,i){s.preventPanGesture=!1,s.preventTapGesture=!1,e(),s.emit("initAnimationEnded",t,i,n)},moveCancelCallback:function(){s.preventPanGesture=!1,s.preventTapGesture=!1,e(),s.emit("initAnimationEnded",s.currentPanoIndex,s.camera.copyPose(),n)}},n)}))},n.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.emit("intersectionHidden"),this.needsRender=!0},n.prototype.coordinatesChangeWithOffset=function(e,t){var n=2*t.x/this.element.offsetWidth*this.camera.fov/95*this.camera.aspect,i=-2*t.y/this.element.offsetHeight*this.camera.fov/95;return{longitude:e.longitude+n,latitude:e.latitude+i}},n.prototype.requestInteriaMovement=function(e,t){var n=this;if(!1!==this.interiaMovement){var i=this.coordinatesChangeWithOffset(this.camera.pose,e),r=i.longitude,o=i.latitude;this.updateCamera({longitude:r,latitude:o},t,!0);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",this.camera.copyPose(),!s),s?A((function(){n.requestInteriaMovement({x:.9*e.x,y:.9*e.y*.7},t)})):this.interiaMovement=!1}},n.prototype.onPanGesture=function(e){var t=this;this.interiaMovement=!1,this.hideIntersectMesh();var n=this.lastPanPoint&&this.lastPanPoint.pointerLength===e.pointers.length?{x:e.center.x-this.lastPanPoint.x,y:e.center.y-this.lastPanPoint.y}:{x:0,y:0},i=this.coordinatesChangeWithOffset(this.camera.pose,n),r=i.longitude,o=i.latitude;Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(o=this.camera.pose.latitude);var s=e.pointers.map((function(e){return{x:e.x,y:e.y}}));this.emit("wantsGesture","pan",s,e.isFinal)||this.emit("wantsPanGesture",this.camera.copyPose(),e.isFinal)||(this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.updateCamera({longitude:r,latitude:o},!0,!0),this.emit("gesture","pan",s,e.isFinal),this.emit("panGesture",this.camera.copyPose(),e.isFinal),this.lastPanPoint=e.isFinal?void 0:{pointerLength:e.pointers.length,x:e.center.x,y:e.center.y},e.isFinal&&(this.emit("wantsInteriaPan",this.camera.copyPose())||C((function(n){t.interiaMovement=!0;var i=e.velocityX*n,r=e.velocityY*n,o=Math.sqrt(i*i+r*r);o>100&&(i=i/o*100,r=r/o*100),Math.abs(r/i)<Math.tan(20/180*Math.PI)&&(r=0),t.requestInteriaMovement({x:i,y:r},!0)}))))},n.prototype.onPinchGesture=function(e){this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.interiaMovement=!1;var t=this.camera,n=this.lastPinchFov,i=e.scale,r=e.type;if("pinchstart"===r)return this.lastPinchFov=t.fov,void delete this.lastPanPoint;"pinchend"===r&&(delete this.lastPanPoint,delete this.lastPinchFov);var o="pinchend"===r;if(n){var s=n/i,a=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(this.emit("wantsGesture","pinch",a,o)||this.emit("wantsPinchGesture",i,s,o))return;this.updateCamera({fov:s},!0,!0),this.emit("gesture","pinch",a,o),this.emit("pinchGesture",i,s,o)}},n.prototype.onMouseWheel=function(e){var t=this;this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.interiaMovement=!1;var n=e.delta,i=this.minFov,r=this.maxFov,o=Math.max(i,Math.min(r,this.camera.fov-n)),s=[{x:e.clientX,y:e.clientY}];this.emit("wantsGesture","mouseWheel",s,!1)||this.emit("wantsMouseWheel",n,o,!1)||(this.updateCamera({fov:o},!0,!0),this.emit("gesture","mouseWheel",s,!1),this.emit("mouseWheel",n,o,!1),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){t.emit("wantsGesture","mouseWheel",s,!0)||t.emit("wantsMouseWheel",n,o,!0)||(t.emit("gesture","mouseWheel",s,!0),t.emit("mouseWheel",0,o,!0))}),200))},n.prototype.onMouseMove=function(e){var t=this,n=t.camera,i=t.model,r=t.intersectMesh,o=t.lastPanPoint;if(r&&!i.empty&&i.bvhs&&!0===i.bvhs.loaded&&!o){var s=this.relativeClientPosition({x:e.clientX,y:e.clientY}),a=new u.Raycaster;if(a.setFromCamera(s,n),this.emit("wantsShowIntersectionOnModel",a))return this.hideIntersectMesh(),void(this.needsRender=!0);var M=i.intersectRaycaster(a)[0];if(M&&M.face){var c=M.face.normal,l=c.clone().multiplyScalar(.05),d=M.point.clone().add(l);r.position.copy(d);var N=d.clone().add(l);if(r.lookAt(N),Math.abs(c.y)>.99){var p=n.pose.offset.clone().sub(d);r.rotation.z=-Math.atan2(p.z,p.x)}r.visible=!0,this.emit("intersectionOnModelUpdate",M,r),this.needsRender=!0}else this.hideIntersectMesh(),this.needsRender=!0;this.lastMouseMoveEvent={clientX:e.clientX,clientY:e.clientY}}},n.prototype.onMouseOut=function(){this.intersectMesh&&!0===this.intersectMesh.visible&&this.hideIntersectMesh()},n}(mt),Bt=Y(),Rt=new u.Texture(Bt);Bt.onload=function(){return Rt.needsUpdate=!0},Bt.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC";var Vt=new u.RingBufferGeometry(.06,.07,32).rotateX(-Math.PI/2),Ft=new u.MeshBasicMaterial({map:Rt,transparent:!0});function Ht(){var e=document.createElement("canvas"),t=512,n=256,i=190;e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var r=new u.Texture(e),o=e.getContext("2d");if(!o)throw Error("cannot create canvas context");var s=o.createRadialGradient(n,n,150,n,n,0);function a(){var e=Math.PI/12,t=2*Math.PI/3;o&&(o.beginPath(),o.arc(n,n,i,0*t,1*t-e),o.stroke(),o.beginPath(),o.arc(n,n,i,1*t,2*t-e),o.stroke(),o.beginPath(),o.arc(n,n,i,2*t,3*t-e),o.stroke())}function M(e){o&&(o.clearRect(0,0,t,t),o.lineWidth=20,-1!==e&&(o.globalCompositeOperation="source-over",o.strokeStyle="rgba(255, 255, 255, 1)",a(),o.globalCompositeOperation="source-in",o.beginPath(),o.arc(n,n,i,0,2*Math.PI*e),o.strokeStyle="rgba(255, 255, 255, 1)",o.stroke(),o.globalCompositeOperation="source-over",o.strokeStyle="rgba(255, 255, 255, "+(e?.5:1)+")",a()),o.beginPath(),o.arc(n,n,150,0,2*Math.PI),o.closePath(),o.fillStyle=s,o.fill(),o.fillStyle="rgba(255, 255, 255, 0.01)",o.fillRect(0,0,t,t),r.needsUpdate=!0)}return s.addColorStop(0,"rgba(255, 255, 255, 1)"),s.addColorStop(.15,"rgba(255, 255, 255, 1)"),s.addColorStop(.15,"rgba(255, 255, 255, 0.5)"),s.addColorStop(.4,"rgba(255, 255, 255, 0.0)"),s.addColorStop(1,"rgba(255, 255, 255, 0.0)"),M(0),Object.assign(r,{draw:M,retain:!1,pool:!1})}var Gt=[];var qt=Ht();qt.draw(0);var Wt=Ht();Wt.draw(1);var Zt=Ht();Zt.draw(-1);var Jt=new u.CircleBufferGeometry(.12,32).rotateX(-Math.PI/2);function Xt(){return new u.Mesh(Jt,new u.MeshBasicMaterial({map:qt,transparent:!0}))}var Kt=function(e){function n(){var t=e.call(this)||this;return t.needsRender=!0,t.loading=!1,t.disabled=!1,t.centerMesh=Xt(),t.centerMesh.position.y+=.01,t.add(t.centerMesh),t.loadingMesh=new u.Mesh(Vt,Ft),t.loadingMesh.position.y+=.011,t}return t.__extends(n,e),n.prototype.setLoading=function(e){var t=this;this.loading=e,this.stopInterval&&this.stopInterval(),e?(this.add(this.loadingMesh),this.stopInterval=O((function(){t.loadingMesh.rotateOnAxis(new u.Vector3(0,1,0),.1),t.needsRender=!0}))):this.remove(this.loadingMesh),this.needsRender=!0},n.prototype.setDisabled=function(e){function t(t){var n=t.map;!0===n.pool&&(n.retain=!1),t.map=e?Zt:qt}this.disabled=e,Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){t(e)})):t(this.centerMesh.material),this.needsRender=!0},n.prototype.setProgress=function(e){function t(e,t){var n=e.map;0===t||1===t?(!0===n.pool&&(n.retain=!1),0===t&&(e.map=qt),1===t&&(e.map=Wt)):(!0!==n.pool&&(e.map=function(){for(var e=0,t=Gt;e<t.length;e++){var n=t[e];if(!1===n.retain)return n}var i=Ht();return i.pool=!0,i.retain=!0,Gt.push(i),i}()),e.map.draw(t))}this.setLoading(!1),this.setDisabled(!1),e=Math.max(0,Math.min(1,e)),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(n){t(n,e)})):t(this.centerMesh.material,e),this.needsRender=!0},n.prototype.setOpacity=function(e){Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(t){t.opacity=e})):this.centerMesh.material.opacity=e,this.needsRender=!0},n.prototype.dispose=function(){this.setLoading(!1),this.remove(this.centerMesh),this.remove(this.loadingMesh),this.centerMesh.geometry.dispose(),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){e.dispose()})):this.centerMesh.material.dispose(),this.loadingMesh.geometry.dispose(),Array.isArray(this.loadingMesh.material)?this.loadingMesh.material.forEach((function(e){e.dispose()})):this.loadingMesh.material.dispose()},n}(u.Object3D);function $t(){return new Kt}function en(e){var t=Math.abs(Math.cos(e.latitude));return new u.Vector3(-Math.sin(e.longitude)*t,-Math.sin(e.latitude),-Math.cos(e.longitude)*t)}for(var tn=(new u.Matrix4).makeRotationAxis(new u.Vector3(0,1,0),Math.PI),nn=new u.Vector2(16,8),rn=[],on=0;on<nn.x;on++)for(var sn=0;sn<nn.y;sn++){rn[sn*nn.x+on]=[];var an=en({longitude:2*Math.PI/nn.x*(on+.5),latitude:Math.PI/nn.y*(sn+.5)-Math.PI/2});rn[sn*nn.x+on].push(an);for(var Mn=0;Mn<=8;Mn++)for(var un=0;un<=8;un++){var cn=en({longitude:2*Math.PI/nn.x*(on+Mn/8),latitude:Math.PI/nn.y*(sn+un/8)-Math.PI/2});rn[sn*nn.x+on].push(cn)}}var ln=new u.MeshDistanceMaterial({nearDistance:0,farDistance:10}),dn=function(e){function n(t){var i=this,r=n.parseArgs(t);(i=e.call(this,r)||this).maxAccessibleDistance=r.maxAccessibleDistance,i.panoTapTriggerRadius=r.panoTapTriggerRadius,i.panoCircleMeshCreator=r.panoCircleMeshCreator;var o=i.model.getMaterial()||{},s=o.pano0Map,a=o.pano1Map;return a&&a!==s&&(i.model.setMaterial({pano1Map:s}),a.dispose()),i.boundingMesh=i.generateBoundingMesh(),i.boundingMesh.setMaterial(i.model.getMaterial()||{}),i.boundingMesh.name="bounding",i.boundingMesh.visible=!1,i.scene.add(i.boundingMesh),i.panoCircleMeshes=[],i.updatePanoCircleMeshes(),i.model.loaded||i.panoCircleMeshes.forEach((function(e){return e.visible=!1})),i.depthCamera=new u.CubeCamera(.01,10,new u.WebGLCubeRenderTarget(64)),i.cubeTextureLoader=new Ct(i.renderer),i.cubeTextureLoader.on("start",(function(e){var t,n=e.index;null===(t=i.panoCircleMeshes[n])||void 0===t||t.setProgress(0),i.emit("textureStartLoad",n,i.work.observers[n])})),i.cubeTextureLoader.on("progress",(function(e,t){var n,r=t.index;null===(n=i.panoCircleMeshes[r])||void 0===n||n.setProgress(e),i.emit("textureLoading",e,r,i.work.observers[r])})),i.cubeTextureLoader.on("abort",(function(e){var t,n=e.index;null===(t=i.panoCircleMeshes[n])||void 0===t||t.setProgress(0),i.emit("textureAbort",n,i.work.observers[n])})),i.cubeTextureLoader.on("load",(function(e,t){var n,r=t.index;null===(n=i.panoCircleMeshes[r])||void 0===n||n.setProgress(1),i.emit("textureLoaded",r,i.work.observers[r])})),i.cubeTextureLoader.on("error",(function(e,t){var n,r=t.index;null===(n=i.panoCircleMeshes[r])||void 0===n||n.setProgress(0),i.emit("textureError",e,r,i.work.observers[r]),i.emit("error",e)})),i.once("initAnimationWillStart",(function(){(new u.Box3).expandByObject(i.boundingMesh).containsPoint(i.camera.position)&&(i.boundingMesh.visible=!0)})),i.once("panoArrived",(function(){return i.boundingMesh.visible=!0})),i.on("panoWillArrive",(function(){return i.ready=!1})),i.on("moveToPanoCanceled",(function(){return i.ready=!0})),i.on("panoArrived",(function(){return i.ready=!0})),i}return t.__extends(n,e),n.parseArgs=function(n){var i,r,o,s=e.parseArgs.call(this,n);return t.__assign(t.__assign({},s),{maxAccessibleDistance:null!==(i=n.maxAccessibleDistance)&&void 0!==i?i:5,panoTapTriggerRadius:null!==(r=n.panoTapTriggerRadius)&&void 0!==r?r:1,panoCircleMeshCreator:null!==(o=n.panoCircleMeshCreator)&&void 0!==o?o:$t})},n.initAnimationEndPose=function(t){var n=this.parseArgs(t);return e.initAnimationEndPose.call(this,n)},n.prototype.getCurrentTileIndicesInCamera=function(){for(var e=this.work.observers[this.currentPanoIndex],t=(new u.Matrix4).compose(e.position,e.quaternion,new u.Vector3(-1,1,1)),n=this.camera.getWorldDirection(new u.Vector3),i=(new u.Matrix4).multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),r=(new u.Frustum).setFromProjectionMatrix(i),o=[],s=0;s<rn.length;s++)for(var a=0,M=rn[s];a<M.length;a++){var c=M[a];if(r.containsPoint(c.clone().applyMatrix4(t))){o.push(s);break}}return o.sort((function(e,t){return rn[e][0].angleTo(n)-rn[t][0].angleTo(n)})),o},n.prototype.tilingPanoIfNeeds=function(){var e,t=this,n=this.camera.pose.fov<=70,i=this.work.observers[this.currentPanoIndex],r=i.images.tiles;if(n&&r&&i.position.equals(this.camera.pose.offset)){this.tileTextureLoader||(this.tileTextureLoader=new Qt(this.renderer),this.tileTextureLoader.on("update",(function(e){t.setModelAndBoundingMaterial({panoTileMap:t.tileTextureLoader.texutre,panoTileMappings:e}),t.needsRender=!0})));for(var o=this.getCurrentTileIndicesInCamera(),s=[],a=0;a<nn.x*nn.y;a++)if(-1!==o.indexOf(a)){var M=Math.floor(a%nn.x),c=Math.floor(a/nn.x),l=new u.Vector4(M/nn.x,c/nn.y,1/nn.x,1/nn.y),d=r+"/row-"+(c+1)+"-column-"+(M+1)+".jpg";s.push({resource:d,clip:l})}this.tileTextureLoader.loadTiles(s)}else null===(e=this.tileTextureLoader)||void 0===e||e.cleanTiles()},n.prototype.updateWork=function(e,t,n,i){var r=this;this.ready=!1,this.work=e,this.currentPanoIndex=t.panoIndex;var o={},s=!0;return this.boundingMesh&&(o=this.boundingMesh.getMaterial()||{},s=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.name="bounding",this.boundingMesh.visible=s,this.boundingMesh.setMaterial(o),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.moveToPano(t.panoIndex,{effect:"fade",duration:n,longitude:t.longitude,latitude:t.latitude,fov:t.fov,moveStartCallback:function(){return r.updatePanoCircleMeshes(!1)}},i),!0},n.prototype.updatePanoCircleMeshes=function(e){var t=this;void 0===e&&(e=!0);var n=[];this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(e){e.loading&&n.push(e.panoIndex),t.scene.remove(e),e.dispose()})),this.panoCircleMeshes.length=0);var i=new u.Vector3(0,-1,0);this.panoCircleMeshes=this.work.observers.map((function(r,o){var s=t.panoCircleMeshCreator();if(s.position.copy(r.standingPosition),e&&t.model.loaded){var a=s.position.clone().add(new u.Vector3(0,1,0)),M=new u.Raycaster(a,i,0,1),c=t.model.intersectRaycaster(M)[0];c&&c.point.distanceTo(s.position)>.1&&(s.position.copy(c.point.clone()),s.needsRender=!0)}return s.name="panoCircle_"+o,s.panoIndex=o,t.scene.add(s),s.needsRender=!0,!1===r.active&&(s.setDisabled(!0),n.indexOf(o)>=0&&(s.setDisabled(!1),s.setLoading(!0))),s}));var r=this.work.observers[this.currentPanoIndex].visibleNodes;r=r.filter((function(e){var n=t.work.observers[e];return n.loadable||n.active})),this.panoCircleMeshes.forEach((function(e){e.visible=r.indexOf(e.panoIndex)>=0}));var o=this.camera.position;this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(o);e.setOpacity(Math.min(1.5/t,1))}))},n.prototype.destroy=function(){var t,n,i,r=this;e.prototype.destroy.call(this),this.cubeTextureLoader.off(),null===(t=this.tileTextureLoader)||void 0===t||t.dispose(),delete this.pendingLoadTextureHashAndCallback,this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(e){r.scene.remove(e),e.dispose()})),this.panoCircleMeshes.length=0),this.interiaMovement=!1;var o=this.videoTexture.image;o.pause(),o.oncanplay=function(){},o.ontimeupdate=function(){};var s={pano0DepthMap:null,panoVideoMap:null,panoVideoSize:new u.Vector2,panoVideoMatrix:new u.Matrix4,panoVideoAlpha:0};this.setModelAndBoundingMaterial(s),null===(n=this.depthCamera)||void 0===n||n.renderTarget.texture.dispose(),null===(i=this.depthCamera)||void 0===i||i.renderTarget.dispose(),delete this.depthCamera},n.prototype.render=function(){this.work.observers[this.currentPanoIndex].video&&(this.needsRender=!0),e.prototype.render.call(this)},n.prototype.generateBoundingMesh=function(e){void 0===e&&(e=!1);var t=this.model.bounding.clone();return this.work.observers.forEach((function(e){t.expandByPoint(e.standingPosition),t.expandByPoint((new u.Vector3).fromArray([e.position.x,2*e.position.y-e.standingPosition.y,e.position.z]))})),e&&t.expandByPoint(this.camera.pose.offset),q(t,new u.Vector3(1,0,1))},n.prototype.resetModel=function(e,t){var n=this;this.model=e;var i={};this.boundingMesh&&(i=this.boundingMesh.getMaterial()||{},this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(),this.boundingMesh.visible=!0,this.boundingMesh.name="bounding",this.boundingMesh.setMaterial(i),this.scene.add(this.boundingMesh),this.needsRender=!0,ce((function(){n.updatePanoCircleMeshes(),n.updateCamera({},t,!0),n.needsRender=!0}))},n.prototype.moveToPano=function(e,t,n){var i=this;this.interiaMovement=!1;var r={index:e,images:this.work.observers[e].images,imageOptions:this.imageOptions},o=d.digest(r),s=function(r,o){if(r)return t.moveCancelCallback&&t.moveCancelCallback(),i.emit("panoLoadError",r,e),void i.emit("moveToPanoCanceled",e);var s=o;i.destroyed?s.dispose():(i.emit("panoLoaded",e),A((function(){return i.doMoveToPano(e,s,t,n)})))},a=this.pendingLoadTextureHashAndCallback||[],M=a[0],u=a[1];if(o!==M){if(delete this.pendingLoadTextureHashAndCallback,u&&u(new Error("texture aborted")),this.emit("moveToPano",e,n),this.emit("panoWillLoad",e),!r.images)return void s(new Error("pano images were not existed"));var c=this.getModelAndBoundingMaterial()||{},l=c.pano0Map,N=c.pano1Map,p=void 0;if(l&&l.hash===o?p=l:N&&N.hash===o&&(p=N),p)return void s(null,p);this.pendingLoadTextureHashAndCallback=[o,s],this.cubeTextureLoader.load(r,(function(e,t){var n=i.pendingLoadTextureHashAndCallback||[],r=n[0],s=n[1];o===r&&s?(s(e,t),delete i.pendingLoadTextureHashAndCallback):null==t||t.dispose()}))}},n.prototype.updateCamera=function(t,n,i){var r=this;void 0===t&&(t={}),e.prototype.updateCamera.call(this,t,n,i),this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(r.camera.pose.offset);e.setOpacity(Math.min(1.5/t,1))}));var o=this.getForwardPanoIndexOrNot();null!==o&&this.panoCircleMeshes[o].setOpacity(1),this.needsRender=!0,ue(),this.tilingPanoIfNeeds()},n.prototype.canNotMoveAnimation=function(){var e=this;if(this.interiaMovement=!1,!this.tweenCoordinates){var t=this.camera.fov,n=.98*t,i=function(t){var n=t.fov;e.updateCamera({fov:n},!0,!0)};this.tweenCoordinates=Ze({fov:t},{fov:n},200).onUpdate(i).onComplete((function(){var r;null===(r=e.tweenCoordinates)||void 0===r||r.destroy(),e.tweenCoordinates=Ze({fov:n},{fov:t},200).onUpdate(i).onComplete((function(){var t;null===(t=e.tweenCoordinates)||void 0===t||t.destroy(),delete e.tweenCoordinates}))}))}},n.prototype.getModelAndBoundingMaterial=function(){for(var e=0,t=[this.model,this.boundingMesh];e<t.length;e++){return t[e].getMaterial()}return null},n.prototype.setModelAndBoundingMaterial=function(e){for(var t=0,n=[this.model,this.boundingMesh];t<n.length;t++){n[t].setMaterial(e)}},n.prototype.doMoveToPano=function(e,t,n,i){var r,o,s,a,M,c,l,d,N,p,h,D=this;void 0===n&&(n={});var y=n.effect,g=void 0===y?"fly":y,z=n.limit,T=void 0===z||z,j=n.easing,f=void 0===j?We.Quadratic.InOut:j,v=this.currentPanoIndex,m=this.work.observers[e],w=this.work.observers[v].accessibleNodes.indexOf(e)>=0,I=m.video,x=m.visibleNodes;x=x.filter((function(e){var t=D.work.observers[e];return t.loadable||t.active}));var L=this.calculateMovingDuration(n.duration,this.camera.pose.offset.distanceTo(m.standingPosition)),O=this.camera.pose.offset.clone(),E=null!==(o=null===(r=this.getModelAndBoundingMaterial())||void 0===r?void 0:r.modelAlpha)&&void 0!==o?o:0,C=null!==(a=null===(s=this.model.getMaterial())||void 0===s?void 0:s.perspToOrtho)&&void 0!==a?a:0,k=this.camera.pose.longitude,S=this.camera.pose.latitude,U=this.camera.pose.fov,b=m.position,Q=null!==(c=null===(M=this.getModelAndBoundingMaterial())||void 0===M?void 0:M.pano0Matrix)&&void 0!==c?c:new u.Matrix4,Y=(new u.Matrix4).compose(m.position,m.quaternion,new u.Vector3(-1,1,1)),_=null!==(l=n.longitude)&&void 0!==l?l:k,P=null!==(d=n.latitude)&&void 0!==d?d:S,B=null!==(N=n.fov)&&void 0!==N?N:U,R={fov:B,longitude:_,latitude:P,offset:b.clone()};this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition),this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),n.moveStartCallback&&n.moveStartCallback(e,R),this.emit("panoWillArrive",e,R,i),this.needsRender=!0,w&&(this.scene.overrideMaterial=ln,ln.referencePosition.copy(O),null===(p=this.depthCamera)||void 0===p||p.position.copy(O),null===(h=this.depthCamera)||void 0===h||h.update(this.renderer,this.scene),this.scene.overrideMaterial=null);var V=function(){var r=D.getModelAndBoundingMaterial()||{},o=r.pano0Map,s=r.pano1Map;o&&o!==s&&o!==t&&o.dispose();var a={modelAlpha:0,perspToOrtho:0,pano0Matrix:Y,pano0Map:t,pano0DepthMap:D.depthCamera?D.depthCamera.renderTarget.texture:null,pano1Matrix:Y,pano1Map:t,progress:0};if(I&&Object.keys(I).length>0){var M=D.videoTexture.image;M.oncanplay=function(){M.oncanplay=function(){},M.currentTime=0,M.play(),D.setModelAndBoundingMaterial({panoVideoAlpha:0,panoVideoMap:D.videoTexture,panoVideoSize:I.size,panoVideoMatrix:tn.clone().multiply(Y).multiply(I.matrix)})},M.src=I.source,M.ontimeupdate=function(){if(M.currentTime>.5&&M.src===(null==I?void 0:I.source)){M.ontimeupdate=function(){};var e=Je(230,f).onUpdate((function(e){var t=e.progress;return D.setModelAndBoundingMaterial({panoVideoAlpha:t})})).onComplete((function(){return e.destroy()}))}}}D.setModelAndBoundingMaterial(a),D.panoCircleMeshes.forEach((function(e){e.visible=x.indexOf(e.panoIndex)>=0})),D.updateCamera({offset:b},i,T),D.panoCircleMeshes[e]&&D.panoCircleMeshes[e].setProgress(0),n.moveEndCallback&&n.moveEndCallback(e,D.camera.copyPose()),D.currentPanoIndex=e,D.preventTapGesture=!1,A((function(){D.emit("panoArrived",e,D.camera.copyPose(),i)})),D.needsRender=!0};if(this.preventTapGesture=!0,L){var F=this.videoTexture.image;F.pause(),F.removeAttribute("src"),F.oncanplay=function(){},F.ontimeupdate=function(){},this.videoTexture.needsUpdate=!0;var H=this.getModelAndBoundingMaterial()||{},G=H.pano0Map,q=H.pano1Map;q&&q!==G&&q!==t&&q.dispose();var W={pano1Matrix:Y,pano1Map:t,pano0DepthMap:w&&this.depthCamera?this.depthCamera.renderTarget.texture:null,panoVideoMap:null,panoVideoSize:new u.Vector2,panoVideoMatrix:new u.Matrix4,panoVideoAlpha:0,useBlackTransition:"instant"===g};if("fade"===g){var Z=Q.clone();Z.setPosition(b),W.pano0Matrix=Z,O.copy(b),this.updateCamera({offset:b},i,T)}this.setModelAndBoundingMaterial(W),"fly"!==g&&this.panoCircleMeshes.forEach((function(e){return e.visible=!1})),this.renderer.compile(this.scene,this.camera),this.tweenPosition=Je(L,f).onUpdate((function(t){var n=t.progress;D.setModelAndBoundingMaterial({progress:n,modelAlpha:tt(E,0,n),perspToOrtho:tt(C,0,Math.min(5*n,1))});var r=new u.Vector3(tt(O.x,b.x,n),tt(O.y,b.y,n),tt(O.z,b.z,n));D.updateCamera({offset:r},i,T),n>.9&&(D.preventTapGesture=!1),D.emit("movingToPano",e,v,n),"fly"===g?i&&D.lastMouseMoveEvent&&D.onMouseMove(D.lastMouseMoveEvent):D.hideIntersectMesh(),D.needsRender=!0})).onComplete((function(){D.tweenPosition&&(D.tweenPosition.completed=!0,D.tweenPosition.destroy()),delete D.tweenPosition,V()})).onCancel((function(){n.moveCancelCallback&&n.moveCancelCallback()}))}else V();if(k!==_||S!==P||U!==B){var J=function(e){var t=e.progress,n=nt(k,_,t),r=tt(S,P,t),o=tt(U,B,t);D.updateCamera({longitude:n,latitude:r,fov:o},i,T)},X=function(){return J({progress:1})};L>0?this.tweenCoordinates=Je(L,f).onUpdate(J).onComplete((function(){D.tweenCoordinates&&(D.tweenCoordinates.destroy(),delete D.tweenCoordinates),X()})):X()}},n.prototype.getForwardPanoIndexOrNot=function(e){var t=this,n=this.camera,i=this.currentPanoIndex,r=this.work.observers[i].accessibleNodes;r=r.filter((function(e){var n=t.work.observers[e];return n.loadable||n.active}));var o,s=n.getWorldDirection(new u.Vector3);o=e?e.ray.direction.clone():s.clone();var a=n.pose.offset.clone();if(o.y=a.y=0,0===o.length()||0===a.length())return null;for(var M=0,c=r.filter((function(e){var i=t.work.observers[e].standingPosition.clone().sub(n.pose.offset);return 0!==i.length()&&i.angleTo(s)<n.fov/2/180*Math.PI})).map((function(e){var n=t.work.observers[e].standingPosition.clone();return Object.assign(n,{y:0,panoIndex:e})})).sort((function(e,t){return e.distanceTo(a)-t.distanceTo(a)}));M<c.length;M++){var l=c[M],d=l.clone().sub(a);if(0!==d.length()&&o.angleTo(d)<Math.PI/6)return l.panoIndex}return null},n.prototype.onTapGesture=function(e){var n=this;if(this.interiaMovement=!1,!0!==this.preventTapGesture){var i=null,r=this.work.observers[this.currentPanoIndex],o=r.accessibleNodes.filter((function(e){return n.work.observers[e].position.distanceTo(n.camera.pose.offset)<n.maxAccessibleDistance})),s=this.relativeClientPosition(e.center),a=new u.Raycaster;a.setFromCamera(s,this.camera);var M=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!(this.emit("wantsGesture","tap",M,!0)||this.emit("wantsTapGesture",a,s))){this.emit("gesture","tap",M,!0),this.emit("tapGesture",a,s);var c=this.camera.getWorldDirection(new u.Vector3).setY(0).normalize(),l=this.model.intersectRaycaster(a)[0];if(l){var d=ht(o,(function(e){var t=n.work.observers[e].standingPosition.clone();return t.clone().sub(n.camera.pose.offset).setY(0).angleTo(c)>Math.PI/2?1/0:t.distanceTo(l.point)}),!0),N=d[0];d[1]<this.panoTapTriggerRadius&&(i=N)}if(j(i)&&(i=this.getForwardPanoIndexOrNot(a)),j(i))this.canNotMoveAnimation();else{var p=this.work.observers[i];if(this.emit("panoSelected",i),p.active){for(var h=Math.PI/6,D=Math.PI/12,y=p.position.clone().setY(0).sub(r.position.clone().setY(0)).normalize(),g=y.clone().applyAxisAngle(new u.Vector3(0,1,0),h),z=y.clone().applyAxisAngle(new u.Vector3(0,1,0),-h),T=[],f=[],v=[],m=0,w=p.accessibleNodes;m<w.length;m++){if((N=w[m])!==this.currentPanoIndex&&N!==i){var I=this.work.observers[N].position.clone().setY(0).sub(p.position.clone().setY(0));y.angleTo(I)<h?v.push(I):g.angleTo(I)<h?T.push(I):z.angleTo(I)<h&&f.push(I)}}var x=(v.length>0?v:t.__spreadArray(t.__spreadArray([],T),f)).slice().sort((function(e,t){return e.angleTo(y)-t.angleTo(y)}))[0],L={};x&&x.angleTo(c)>D&&(L.longitude=Math.atan2(-x.x,-x.z)),this.emit("wantsMoveToPano",i,L,!0)}else this.panoCircleMeshes[i]&&(this.panoCircleMeshes[i].setDisabled(!1),this.panoCircleMeshes[i].setLoading(!0))}}}},n}(Pt);function Nn(e,t){var n,i,r,o,s=new u.Vector3,a=new u.Vector3,M=null;"VRFrameData"in window&&(M=new window.VRFrameData),navigator.getVRDisplays&&navigator.getVRDisplays().then((function(e){i=e,e.length>0?n=e[0]:t&&t(new Error("HMD not available"))})).catch((function(){console.warn("THREE.VREffect: Unable to get VR Displays")})),this.isPresenting=!1,this.scale=1;var c=this,l=e.getSize(new u.Vector2),d=!1,N=e.getPixelRatio();this.getVRDisplay=function(){return n},this.setVRDisplay=function(e){n=e},this.getVRDisplays=function(){return console.warn("THREE.VREffect: getVRDisplays() is being deprecated."),i},this.setSize=function(t,i,r){if(l=new u.Vector2(t,i),d=r,c.isPresenting){var o=n.getEyeParameters("left");e.setPixelRatio(1),e.setSize(2*o.renderWidth,o.renderHeight,!1)}else e.setPixelRatio(N),e.setSize(t,i,r)};var p=e.domElement,h=[0,0,.5,1],D=[.5,0,.5,1];function y(){var t=c.isPresenting;if(c.isPresenting=void 0!==n&&n.isPresenting,c.isPresenting){var i=n.getEyeParameters("left"),r=i.renderWidth,o=i.renderHeight;t||(N=e.getPixelRatio(),l=e.getSize(new u.Vector2),e.setPixelRatio(1),e.setSize(2*r,o,!1))}else t&&(e.setPixelRatio(N),e.setSize(l.width,l.height,d))}window.addEventListener("vrdisplaypresentchange",y,!1),this.setFullScreen=function(e){return new Promise((function(t,i){void 0!==n?c.isPresenting!==e?e?(n.requestPresent([{source:p}]),t()):(n.exitPresent(),t()):t():i(new Error("No VR hardware found."))}))},this.requestPresent=function(){return this.setFullScreen(!0)},this.exitPresent=function(){return this.setFullScreen(!1)},this.requestAnimationFrame=function(e){return void 0!==n?n.requestAnimationFrame(e):window.requestAnimationFrame(e)},this.cancelAnimationFrame=function(e){void 0!==n?n.cancelAnimationFrame(e):window.cancelAnimationFrame(e)},this.submitFrame=function(){void 0!==n&&c.isPresenting&&n.submitFrame()},this.autoSubmitFrame=!0;var g=new u.PerspectiveCamera;g.layers.enable(1);var z=new u.PerspectiveCamera;function T(e,t,n,i){var r=Math.PI/180;return function(e,t,n,i){n=void 0===n?.01:n,i=void 0===i?1e4:i;var r=(t=void 0===t||t)?-1:1,o=new u.Matrix4,s=o.elements,a=function(e){var t=2/(e.leftTan+e.rightTan),n=(e.leftTan-e.rightTan)*t*.5,i=2/(e.upTan+e.downTan);return{scale:[t,i],offset:[n,(e.upTan-e.downTan)*i*.5]}}(e);return s[0]=a.scale[0],s[1]=0,s[2]=a.offset[0]*r,s[3]=0,s[4]=0,s[5]=a.scale[1],s[6]=-a.offset[1]*r,s[7]=0,s[8]=0,s[9]=0,s[10]=i/(n-i)*-r,s[11]=i*n/(n-i),s[12]=0,s[13]=0,s[14]=r,s[15]=0,o.transpose(),o}({upTan:Math.tan(e.upDegrees*r),downTan:Math.tan(e.downDegrees*r),leftTan:Math.tan(e.leftDegrees*r),rightTan:Math.tan(e.rightDegrees*r)},t,n,i)}z.layers.enable(2),this.render=function(t,i){var l,d;if(n&&c.isPresenting){var N=t.autoUpdate;N&&(t.updateMatrixWorld(),t.autoUpdate=!1);var p=n.getEyeParameters("left"),y=n.getEyeParameters("right");s.fromArray(p.offset),a.fromArray(y.offset),Array.isArray(t)&&(console.warn("THREE.VREffect.render() no longer supports arrays. Use object.layers instead."),t=t[0]);var j,f,v=e.getSize(new u.Vector2),m=n.getLayers();if(m.length){var w=m[0];j=null!==w.leftBounds&&4===(null===(l=w.leftBounds)||void 0===l?void 0:l.length)?w.leftBounds:h,f=null!==w.rightBounds&&4===(null===(d=w.rightBounds)||void 0===d?void 0:d.length)?w.rightBounds:D}else j=h,f=D;r={x:Math.round(v.width*j[0]),y:Math.round(v.height*j[1]),width:Math.round(v.width*j[2]),height:Math.round(v.height*j[3])},o={x:Math.round(v.width*f[0]),y:Math.round(v.height*f[1]),width:Math.round(v.width*f[2]),height:Math.round(v.height*f[3])},e.setScissorTest(!0),e.autoClear&&e.clear(),null===i.parent&&i.updateMatrixWorld(),i.matrixWorld.decompose(g.position,g.quaternion,g.scale),i.matrixWorld.decompose(z.position,z.quaternion,z.scale);var I=this.scale;return g.translateOnAxis(s,I),z.translateOnAxis(a,I),n.getFrameData&&M?(n.depthNear=i.near,n.depthFar=i.far,n.getFrameData(M),g.projectionMatrix.elements=[].slice.call(M.leftProjectionMatrix),z.projectionMatrix.elements=[].slice.call(M.rightProjectionMatrix)):(g.projectionMatrix=T(p.fieldOfView,!0,i.near,i.far),z.projectionMatrix=T(y.fieldOfView,!0,i.near,i.far)),e.setViewport(r.x,r.y,r.width,r.height),e.setScissor(r.x,r.y,r.width,r.height),e.render(t,g),e.setViewport(o.x,o.y,o.width,o.height),e.setScissor(o.x,o.y,o.width,o.height),e.render(t,z),e.setViewport(0,0,v.width,v.height),e.setScissorTest(!1),N&&(t.autoUpdate=!0),void(c.autoSubmitFrame&&c.submitFrame())}e.render(t,i)},this.dispose=function(){window.removeEventListener("vrdisplaypresentchange",y,!1)}}var pn=new u.SphereBufferGeometry(.1,32,32);function hn(e,t){Array.isArray(e)?e.forEach((function(e){e instanceof u.MeshBasicMaterial&&e.setValues({color:t})})):e instanceof u.MeshBasicMaterial&&e.setValues({color:t})}var Dn=function(e){function n(){var t=e.call(this)||this,n=new u.MeshBasicMaterial({color:8900346,opacity:.5,transparent:!0});return t.mesh=new u.Mesh(pn,n),t.active=!1,t.current=!1,t.add(t.mesh),t}return t.__extends(n,e),n.prototype.isActive=function(){return this.active},n.prototype.isCurrent=function(){return this.current},n.prototype.setActive=function(){!0!==this.active&&(this.active=!0,hn(this.mesh.material,16776960))},n.prototype.setCurrent=function(){!0!==this.current&&(this.current=!0,hn(this.mesh.material,65280))},n.prototype.reset=function(){!1===this.current&&!1===this.active||(this.active=!1,this.current=!1,hn(this.mesh.material,8900346))},n.prototype.dispose=function(){this.remove(this.mesh),Array.isArray(this.mesh.material)?this.mesh.material.forEach((function(e){return e.dispose()})):this.mesh.material.dispose()},n}(u.Object3D);var yn=null,gn=function(e){function n(t){var i=this;j(yn)&&(yn=new N.default(t.webvrPolyfillConfig||{}));var r=n.parseArgs(t);i=e.call(this,r)||this;var o=r.element,s=r.renderer,a=r.panoIndex,M=void 0===a?0:a;i.effect=new Nn(s);var u=o.offsetWidth,c=o.offsetHeight;i.element=o,i.effect.setSize(u,c),i.effect.isPresenting=!0,i.panoSphereMeshes=i.work.observers.map((function(e,t){var n=new Dn;return n.name="panoSphereMesh_"+t,n.position.copy(e.position),Object.assign(n,{panoIndex:t}),i.scene.add(n),n}));var l=i.work.observers[M].visibleNodes;l=l.filter((function(e){return i.work.observers[e].active}));var d=i.panoSphereMeshes.filter((function(e){return e.panoIndex===M}))[0];return i.panoSphereMeshes.forEach((function(e){if(e.visible=l.indexOf(e.panoIndex)>=0,d){var t=d.position.distanceTo(e.position)<5;e.visible=e.visible&&t}})),i.intersectMesh.parent&&i.intersectMesh.parent.remove(i.intersectMesh),i.initHelper(o),i}return t.__extends(n,e),n.parseArgs=function(n){var i=t.__assign(t.__assign({},n),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return e.parseArgs.call(this,i)},n.initAnimationEndPose=function(t){var n=this.parseArgs(t);return e.initAnimationEndPose.call(this,n)},n.prototype.destroy=function(){var t=this;e.prototype.destroy.call(this),this.panoSphereMeshes&&(this.panoSphereMeshes.forEach((function(e){t.scene.remove(e),e.dispose()})),this.panoSphereMeshes.length=0),this.destroyHelper()},n.prototype.initHelper=function(e){for(var t="five_webvr_helper_"+m(),n=1,i=document.getElementsByTagName("meta"),r=0;r<i.length;r++){var o=i[r];if("viewport"===o.getAttribute("name")){var s=(o.getAttribute("content")||"").match(/initial\-scale\=([\d|\.]+)/);s&&(n=Number(s[1])),isNaN(n)&&(n=1)}}var a=function(e){return Math.floor(e*n)+"px"},M=document.createElement("style"),u="\n ."+t+"{\n font-family:sans-serif;\n background:#394043;color:#ffffff;\n position:absolute;display:none;\n -webkit-tap-highlight-color:rgba(0,0,0,0);\n }\n ."+t+" img{\n position:absolute;top:50%;left:50%;\n -webkit-transform:translate(-50%,-100%);\n -moz-transform:translate(-50%,-100%);\n transform:translate(-50%,-100%);\n pointer-events:none;\n width:"+a(132)+";\n height:"+a(162)+";\n }\n ."+t+" ol{\n position:absolute;top:50%;left:50%;\n -webkit-transform:translate(-50%,0);\n -moz-transform:translate(-50%,0);\n transform:translate(-50%,0);\n pointer-events:none;\n margin-top:"+a(38)+";\n font-size:"+a(16)+";\n line-height:"+a(30)+";\n }\n ."+t+" li{\n list-style-type:none;\n white-space:nowrap;\n position:relative;\n padding-left:"+a(14)+";\n }\n ."+t+" li:before{\n content:'';display:block;height:"+a(6)+";width:"+a(6)+";\n position:absolute;top:50%;left:0;\n -webkit-transform:translate(0,-50%);\n -moz-transform:translate(0,-50%);\n transform:translate(0,-50%);\n border-radius:50%;background:#ffffff;\n }\n @media screen and (orientation: portrait){\n ."+t+"{display: block!important}\n }\n ";M.setAttribute("type","text/css"),"styleSheet"in M?M.styleSheet.cssText=u:M.appendChild(document.createTextNode(u));var c=this.helperElement=document.createElement("div");c.className=t,c.innerHTML='\n <img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTMycHgiIGhlaWdodD0iMTYycHgiIHZpZXdCb3g9IjAgMCAxMzIgMTYyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ni4xICg0NDQ2MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+R3JvdXA8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjY1Ljk4NTM0MjMgOTMuMTg5NjU1MiAwIDkzLjE4OTY1NTIgMCAwLjI0NzE1NTE3MiAxMzEuOTcwNjg1IDAuMjQ3MTU1MTcyIDEzMS45NzA2ODUgOTMuMTg5NjU1MiI+PC9wb2x5Z29uPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWKoOi9vemhtS1jb3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTE4LjAwMDAwMCwgLTE4NC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTguMDAwMDAwLCAxODQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUGFnZS0xIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaXBob25lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNS4wMDAwMDAsIDAuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4yMDIzNzg3LDMyLjI2OTE1MzIgQzYyLjIwODU3NTQsMzQuNDI4MDQyOSA2MC42ODkzNDU5LDM3LjA2MDgzNTEgNTguODA3NjA4MiwzOC4xNDI4NjEgTDU1Ljg3MDM2MjMsMzkuODQwMjM3NyBMNTUuMTc5NDI3OSwzOC42Mzc0MTMgTDU1LjEzNTAxOCwyMi4xNTMwMzY0IEw1Ni4zMTM0Mjc5LDIyLjE0Njg0MTYgQzU2LjMxMzQyNzksMjMuNDk1MjQ0MiA1Ny4yNjk3ODg1LDI0LjAzOTM1NDUgNTguNDQ3MTY1NiwyMy4zNTU4NjEgQzU5LjYxODM0NTksMjIuNjc4NTYyMyA2MC41NjIzMTMxLDIxLjAzOTAwMzkgNjAuNTYyMzEzMSwxOS42OTY3OTYxIEw2Mi4xNjQxNjU2LDE5LjY5MDYwMTMgTDYyLjIwMjM3ODcsMzIuMjY5MTUzMiBaIiBpZD0iRmlsbC0xIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4xMjAxNjg5LDUuMjYzNjIyNzMgTDYyLjE2MzU0NTksMTkuNjkxMzI0IEw2MC41NjI3MjYyLDE5LjY5NjQ4NjQgQzYwLjU1NTQ5NjcsMTguMzQxODg5IDU5LjYwNTMzMjgsMTcuNzk3Nzc4NiA1OC40Mjc5NTU3LDE4LjQ3NTA3NzMgQzU3LjI1Njc3NTQsMTkuMTUyMzc2IDU2LjMwNjYxMTUsMjAuNzk4MTI5MiA1Ni4zMTI4MDgyLDIyLjE0NzU2NDMgTDU1LjEzNTQzMTEsMjIuMTUyNzI2NiBMNTUuMDkxMDIxMyw3LjAxMDU1Nzc5IEw1NC4zOTQ5MjMsNS44MDc3MzMxMiBMNTguNzA2ODA4MiwzLjMxOTQ4NjM2IEM2MC41ODc1MTMxLDIuMjMxMjY1NTggNjIuMTIwMTY4OSwzLjEwNDczMzEyIDYyLjEyMDE2ODksNS4yNjM2MjI3MyIgaWQ9IkZpbGwtMyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjAuMTEyNjM3NywxOS45NTYxNTE5IEM2MC4xMTI2Mzc3LDIxLjAxMzM5ODcgNTkuMzY0OSwyMi4zMTEyMTA0IDU4LjQ0MDU1NTcsMjIuODQyOTMxMiBDNTcuNTE2MjExNSwyMy4zNzU2ODQ0IDU2Ljc2MjI3NywyMi45NDUxNDU1IDU2Ljc2MjI3NywyMS44ODY4NjYyIEM1Ni43NTYwODAzLDIwLjgyMzQyNDcgNTcuNTAzODE4LDE5LjUyNTYxMyA1OC40MzQzNTksMTguOTkzODkyMiBDNTkuMzUyNTA2NiwxOC40NjIxNzE0IDYwLjEwNjQ0MSwxOC44OTI3MTA0IDYwLjExMjYzNzcsMTkuOTU2MTUxOSIgaWQ9IkZpbGwtNyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wMTA4NTkwMiw1My4yOTE1MzQ0IEw4Ljk5MTIzNjA3LDQ1LjYxOTI2ODIgQzguOTkxMjM2MDcsNDUuNDc0NzIyNyA4Ljg5MDAyMjk1LDQ1LjQxNjkwNDUgOC43NjQwMjI5NSw0NS40ODYwNzk5IEM4LjYzNjk5MDE2LDQ1LjU2MzUxNDkgOC41NDE5NzM3Nyw0NS43MzM4NzIxIDguNTQxOTczNzcsNDUuODc4NDE3NSBMOC41NjA1NjM5Myw1My41NTE3MTYyIEM4LjU2MDU2MzkzLDUzLjY5MTA5OTQgOC42NjI4MDk4NCw1My43NDY4NTI2IDguNzgyNjEzMTEsNTMuNjc3Njc3MyBDOC45MDk2NDU5LDUzLjYwMjMwNzEgOS4wMTA4NTkwMiw1My40MzE5NSA5LjAxMDg1OTAyLDUzLjI5MTUzNDQgTDkuMDEwODU5MDIsNTMuMjkxNTM0NCBaIE01NS4xNzk1MzExLDM4LjYzNzcyMjcgTDU1Ljg3MDQ2NTYsMzkuODQwNTQ3NCBMOS4xODc0NjU1Nyw2Ni43ODE3NTUyIEM3LjMwNzc5MzQ0LDY3Ljg3MTAwODQgNS43NzUxMzc3LDY2Ljk5NjUwODQgNS43NzUxMzc3LDY0LjgzODY1MTMgTDUuNjkyNTE0NzUsMzcuODMyMzk4MSBDNS42ODYzMTgwMywzNS42NzU1NzM0IDcuMjA1NTQ3NTQsMzMuMDQxNzQ4NyA5LjA4NzI4NTI1LDMxLjk1ODY5MDMgTDU0LjM5NDYxMzEsNS44MDgzNTI2IEw1NS4wOTA3MTE1LDcuMDExMTc3MjcgTDExLjg5ODUzMTEsMzEuOTM5MDczNCBMMTEuOTg3MzUwOCw2My41NjU2MTg4IEw1NS4xNzk1MzExLDM4LjYzNzcyMjcgWiIgaWQ9IkZpbGwtOSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTUuMzI1ODc3LDAuMDAwNTE2MjMzNzY2IEM1NC44NjYyODY5LDAuMDAwNTE2MjMzNzY2IDU0LjM0Njc5NTEsMC4xNTAyMjQwMjYgNTMuNzk4Mzg1MiwwLjQ2NzE5MTU1OCBMNC4xNzkxNzIxMywyOS4xMDU3NzYgQzIuMjk5NSwzMC4xOTA4OTk0IDAuNzgwMjcwNDkyLDMyLjgyMTYyNjYgMC43ODU0MzQ0MjYsMzQuOTgxNTQ4NyBMMC44NjI4OTM0NDMsNjEuOTg3ODAxOSBDMC44NjU5OTE4MDMsNjMuMDYwNTM1NyAxLjI0Mzk5MTgsNjMuODE1MjY5NSAxLjg1NTQwMTY0LDY0LjE2OTQwNTggTDYuNzY0MjM3Nyw2Ny4wMjIxMTM2IEM2LjE1Mzg2MDY2LDY2LjY2Njk0NDggNS43NzQ4Mjc4Nyw2NS45MTIyMTEgNS43NzE3Mjk1MSw2NC44Mzk0NzczIEw1LjY5NTMwMzI4LDM3LjgzMzIyNCBDNS42ODkxMDY1NiwzNS42NzQzMzQ0IDcuMjA4MzM2MDcsMzMuMDQyNTc0NyA5LjA4ODAwODIsMzEuOTU3NDUxMyBMNTguNzA3MjIxMywzLjMxODg2Njg4IEM1OS4yNTY2NjM5LDMuMDAxODk5MzUgNTkuNzc1MTIzLDIuODUyMTkxNTYgNjAuMjM0NzEzMSwyLjg1MjE5MTU2IEM2MC41NjgzMDMzLDIuODUyMTkxNTYgNjAuODY5ODc3LDIuOTMwNjU5MDkgNjEuMTMwMTM5MywzLjA4MTM5OTM1IEw1Ni4yMjAyNzA1LDAuMjMwNzU2NDk0IEM1NS45NjEwNDEsMC4wNzg5ODM3NjYyIDU1LjY1ODQzNDQsMC4wMDA1MTYyMzM3NjYgNTUuMzI1ODc3LDAuMDAwNTE2MjMzNzY2IE01NS4zMjU4NzcsMC42MzM0MTg4MzEgQzU1LjU0Mzc5NTEsMC42MzM0MTg4MzEgNTUuNzM3OTU5LDAuNjgxOTQ0ODA1IDU1LjkwMjE3MjEsMC43NzY5MzE4MTggTDU4Ljg5NjIyMTMsMi41MTY2Mzk2MSBDNTguNzI4OTA5OCwyLjU4Nzg3OTg3IDU4LjU2MDU2NTYsMi42NzM1NzQ2OCA1OC4zOTExODg1LDIuNzcxNjU5MDkgTDguNzcxOTc1NDEsMzEuNDEwMjQzNSBDNi42ODQ3MTMxMSwzMi42MTQxMDA2IDUuMDU0OTc1NDEsMzUuNDM2ODY2OSA1LjA2MjIwNDkyLDM3LjgzNTI4OSBMNS4xMzg2MzExNSw2NC44NDE1NDIyIEM1LjEzODYzMTE1LDY1LjAyMTE5MTYgNS4xNDg5NTkwMiw2NS4xOTU2Nzg2IDUuMTY3NTQ5MTgsNjUuMzYyOTM4MyBMMi4xNzM1LDYzLjYyMzIzMDUgQzEuNzM4Njk2NzIsNjMuMzcwMjc2IDEuNDk4MDU3MzgsNjIuNzg3OTY0MyAxLjQ5NTk5MTgsNjEuOTg1NzM3IEwxLjQxOTU2NTU3LDM0Ljk3OTQ4MzggQzEuNDEzMzY4ODUsMzMuMDU5MDk0MiAyLjgyMzEyMjk1LDMwLjYxOTM3MzQgNC40OTUyMDQ5MiwyOS42NTQwMTYyIEw1NC4xMTU0NTA4LDEuMDE0Mzk5MzUgQzU0LjU0ODE4ODUsMC43NjU1NzQ2NzUgNTQuOTY2NDY3MiwwLjYzMzQxODgzMSA1NS4zMjU4NzcsMC42MzM0MTg4MzEiIGlkPSJGaWxsLTM1Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA4ODUyNDU5LDMyLjI3NDIxMjMgQzkuMDMzNzg2ODksMzIuMjc0MjEyMyA4Ljk4MDA4MTk3LDMyLjI1OTc1NzggOC45Mjk0NzU0MSwzMi4yMzE4ODEyIEw0LjM4OTM0NDI2LDI5LjU5MzkyNjYgQzQuMjM3NTI0NTksMjkuNTA2MTY2OSA0LjE4NTg4NTI1LDI5LjMxMjA2MyA0LjI3MzY3MjEzLDI5LjE2MTMyMjcgQzQuMzYyNDkxOCwyOS4wMDk1NSA0LjU1NjY1NTc0LDI4Ljk1OTk5MTYgNC43MDc0NDI2MiwyOS4wNDY3MTg4IEw5LjI0NzU3Mzc3LDMxLjY4NDY3MzQgQzkuMzk4MzYwNjYsMzEuNzcyNDMzMSA5LjQ1LDMxLjk2NTUwNDUgOS4zNjIyMTMxMSwzMi4xMTcyNzczIEM5LjMwMzM0NDI2LDMyLjIxNzQyNjYgOS4xOTY5NjcyMSwzMi4yNzQyMTIzIDkuMDg4NTI0NTksMzIuMjc0MjEyMyIgaWQ9IkZpbGwtMzciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTU4LjcwNzYzNDQsMy42MzUzMTgxOCBDNTguNjUyODk2NywzLjYzNTMxODE4IDU4LjU5OTE5MTgsMy42MjE4OTYxIDU4LjU0ODU4NTIsMy41OTI5ODcwMSBMNTMuOTY5MjA4MiwwLjkzMjMxODE4MiBDNTMuODE4NDIxMywwLjg0NDU1ODQ0MiA1My43NjY3ODIsMC42NTA0NTQ1NDUgNTMuODU0NTY4OSwwLjQ5OTcxNDI4NiBDNTMuOTQyMzU1NywwLjM0NjkwOTA5MSA1NC4xMzY1MTk3LDAuMjk4MzgzMTE3IDU0LjI4NzMwNjYsMC4zODUxMTAzOSBMNTguODY2NjgzNiwzLjA0NTc3OTIyIEM1OS4wMTc0NzA1LDMuMTMzNTM4OTYgNTkuMDY5MTA5OCwzLjMyNjYxMDM5IDU4Ljk4MTMyMywzLjQ3ODM4MzEyIEM1OC45MjI0NTQxLDMuNTc5NTY0OTQgNTguODE2MDc3LDMuNjM1MzE4MTggNTguNzA3NjM0NCwzLjYzNTMxODE4IiBpZD0iRmlsbC0zOSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMy4zMjA5MjYyMyw2My4zMzk5MjE0IEMyLjc5NjI3MDQ5LDYzLjMzOTkyMTQgMi4zNzA3NjIzLDYyLjkxNTU3NzMgMi4zNzA3NjIzLDYyLjM5MDA1MTMgTDIuMzcwNzYyMyw1OC4xMzAwOTAzIEMyLjM3MDc2MjMsNTcuNjA0NTY0MyAyLjc5NjI3MDQ5LDU3LjE4MDIyMDEgMy4zMjA5MjYyMyw1Ny4xODAyMjAxIEMzLjg0NTU4MTk3LDU3LjE4MDIyMDEgNC4yNzAwNTczOCw1Ny42MDQ1NjQzIDQuMjcwMDU3MzgsNTguMTMwMDkwMyBMNC4yNzAwNTczOCw2Mi4zOTAwNTEzIEM0LjI3MDA1NzM4LDYyLjkxNTU3NzMgMy44NDU1ODE5Nyw2My4zMzk5MjE0IDMuMzIwOTI2MjMsNjMuMzM5OTIxNCIgaWQ9IkZpbGwtNDEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTQ3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNjguMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkNsaXAtNDYiPjwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTc5Ljg2NTUwNjcsNTEuOTU3Njg5NyBDODAuMzMyNzcwNiw1MC4yNzIxNzI0IDgxLjQ3MTM3MTgsNDguNjk5MjkzMSA4Mi43NjcwNzczLDQ3Ljk1MDUzNDUgQzgzLjM3MDM5MDIsNDcuNjAyMDg2MiA4My45NDIxMjAyLDQ3LjQ3OTcyNDEgODQuMzM4OTMwMSw0Ny42MTUwNTE3IEM4NC42MTI2NDc5LDQ3LjcwNzQzMSA4NC44MTgzNDExLDQ3LjkyNjIyNDEgODQuOTY3MzQ3Miw0OC4yODQzOTY2IEw4OC41NTQwMjIxLDU2LjkxOTQzMSBDODguNTYzNzM5OSw1Ni45NDEzMTAzIDg4LjU3NjY5NjksNTYuOTYwNzU4NiA4OC41ODcyMjQ1LDU2Ljk4MTAxNzIgQzg4LjU5Nzc1MjEsNTcuMDAwNDY1NSA4OC42MDU4NTAzLDU3LjAxOTkxMzggODguNjE3OTk3NSw1Ny4wMzg1NTE3IEM4OC42MzUwMDM3LDU3LjA2NDQ4MjggODguNjU1MjQ5MSw1Ny4wODcxNzI0IDg4LjY3NDY4NDcsNTcuMTA5ODYyMSBDODguNjg1MjEyMyw1Ny4xMjM2Mzc5IDg4LjY5NDkzMDEsNTcuMTM4MjI0MSA4OC43MDYyNjc1LDU3LjE0OTU2OSBDODguNzMyMTgxNiw1Ny4xNzYzMTAzIDg4Ljc2MDUyNTIsNTcuMTk5ODEwMyA4OC43ODk2Nzg1LDU3LjIyMTY4OTcgQzg4Ljc5Nzc3NjcsNTcuMjI4MTcyNCA4OC44MDUwNjUsNTcuMjM1NDY1NSA4OC44MTMxNjMyLDU3LjI0MTk0ODMgQzg5LjAwNzUxOSw1Ny4zNzgwODYyIDg5LjI2MjYxMSw1Ny40MjEwMzQ1IDg5LjQ5OTg4NzEsNTcuMzMyNzA2OSBMODkuODMxMTAxOCw1Ny4yMDc5MTM4IEw5MC4wNzQ4NTY0LDU3LjExODc3NTkgQzkwLjIxMDkwNTUsNTcuMDY4NTM0NSA5MC4zNDc3NjQ0LDU3LjAxODI5MzEgOTAuNDg1NDMzMSw1Ni45Njk2NzI0IEM5MC43ODY2ODQ3LDU2Ljg2MTg5NjYgOTEuMDkwMzY1Niw1Ni43NTk3OTMxIDkxLjM5NDA0NjYsNTYuNjU3Njg5NyBMOTIuMzY1MDE2LDU2LjM0MTY1NTIgQzkyLjgwMjMxNjYsNTYuMjAzMDg2MiA5My4yNDA0MjcsNTYuMDY4NTY5IDkzLjY4MjU4NjUsNTUuOTQwNTM0NSBDOTMuODUxMDI4Miw1NS44OTE5MTM4IDk0LjAxOTQ2OTksNTUuODQ0OTEzOCA5NC4xODc5MTE3LDU1Ljc5NjI5MzEgTDk0LjI3OTQyMDksNTUuNzcxMTcyNCBDOTQuNjg0MzI4OCw1NS42NTc3MjQxIDk1LjA5MDA0NjYsNTUuNTQ5OTQ4MyA5NS40OTczODQsNTUuNDQ2MjI0MSBMOTUuNjA2NzA5Miw1NS40MTcwNTE3IEM5NS43NjMwMDM3LDU1LjM3NjUzNDUgOTUuOTIwMTA4LDU1LjMzNjAxNzIgOTYuMDc3MjEyMyw1NS4yOTc5MzEgQzk2LjU2NjM0MTEsNTUuMTc3MTg5NyA5Ny4wNTU0Njk5LDU1LjA2Mzc0MTQgOTcuNTQ2MjE4NCw1NC45NTUxNTUyIEw5Ny44NTM5NDg1LDU0Ljg4NTQ2NTUgQzk4LjQ0NDMwNDMsNTQuNzU5MDUxNyA5OS4wMzcwODk2LDU0LjY0MjM2MjEgOTkuNjI3NDQ1NCw1NC41MzM3NzU5IEwxMDAuMDIxMDE2LDU0LjQ2NjUxNzIgQzEwMC42MTU0MjEsNTQuMzYxMTcyNCAxMDEuMjA5MDE2LDU0LjI2NjM2MjEgMTAxLjgwNDIzMSw1NC4xNzk2NTUyIEwxMDIuMjY1MDE2LDU0LjExMjM5NjYgQzEwMi45NjA2NDgsNTQuMDE2Nzc1OSAxMDMuNjQ3MzcyLDUzLjkzNDEyMDcgMTA0LjMwNTc1Miw1My44NjYwNTE3IEwxMDQuODM2MTgyLDUzLjgxNzQzMSBDMTA1LjIyNjUxMyw1My43ODE3NzU5IDEwNS42MTUyMjUsNTMuNzQ3NzQxNCAxMDYuMDA0NzQ2LDUzLjcyMDE4OTcgQzEwNi4yMTQ0ODgsNTMuNzA0NzkzMSAxMDYuNDIxODAxLDUzLjY5MjYzNzkgMTA2LjYzMDczNCw1My42Nzk2NzI0IEMxMDcuMDAwMDEsNTMuNjU3NzkzMSAxMDcuMzY2ODU2LDUzLjYzODM0NDggMTA3LjczNTMyMyw1My42MjM3NTg2IEMxMDcuOTUyMzUzLDUzLjYxNDg0NDggMTA4LjE2OTM4NCw1My42MDUxMjA3IDEwOC4zODU2MDUsNTMuNTk4NjM3OSBDMTA4LjY0Nzk4NSw1My41OTIxNTUyIDEwOC45MTAzNjYsNTMuNTg3MjkzMSAxMDkuMTczNTU2LDUzLjU4NDA1MTcgQzEwOS42NzgwNzEsNTMuNTc1OTQ4MyAxMTAuMTc4NTM3LDUzLjU3Njc1ODYgMTEwLjY4MDYyMyw1My41ODQ4NjIxIEwxMTAuNzY0MDM0LDUzLjU4NTY3MjQgQzExMC45ODE4NzUsNTMuNTg4OTEzOCAxMTEuMTk5NzE1LDUzLjU5MjE1NTIgMTExLjQxNTEyNiw1My41OTc4Mjc2IEMxMTEuNjI4MTA4LDUzLjYwNTEyMDcgMTExLjg0MDI4LDUzLjYxNDg0NDggMTEyLjA1MjQ1Miw1My42MjM3NTg2IEMxMTIuMzE0MDIyLDUzLjYzNDI5MzEgMTEyLjU3NDc4Myw1My42NDcyNTg2IDExMi44MzQ3MzQsNTMuNjYyNjU1MiBDMTEzLjA0NDQ3Niw1My42NzQ4MTAzIDExMy4yNTQyMTgsNTMuNjg5Mzk2NiAxMTMuNDYzOTYxLDUzLjcwNDc5MzEgQzExMy43MjQ3MjEsNTMuNzI0MjQxNCAxMTMuOTg1NDgyLDUzLjc0NDUgMTE0LjI0MzgxMyw1My43NjcxODk3IEMxMTQuNDMzMzEsNTMuNzg1MDE3MiAxMTQuNjIxOTk4LDUzLjgwMjg0NDggMTE0LjgwOTA2NSw1My44MjIyOTMxIEMxMTUuMDczODc1LDUzLjg0OTAzNDUgMTE1LjMzNjI1NSw1My44Nzk4Mjc2IDExNS41OTYyMDYsNTMuOTExNDMxIEMxMTUuNzgwMDM0LDUzLjkzMzMxMDMgMTE1Ljk2MzA1Myw1My45NTYgMTE2LjE0NDQ1Miw1My45ODAzMTAzIEMxMTYuNDEyNTAxLDU0LjAxNjc3NTkgMTE2LjY3ODEyLDU0LjA1NzI5MzEgMTE2Ljk0MTMxLDU0LjA5ODYyMDcgTDExNy4wOTExMjYsNTQuMTIxMzEwMyBDMTE3LjIxMDE2OSw1NC4xMzkxMzc5IDExNy4zMjY3ODMsNTQuMTU3Nzc1OSAxMTcuNDQyNTg3LDU0LjE3NjQxMzggQzExNy43MzA4ODEsNTQuMjI1ODQ0OCAxMTguMDE1MTI2LDU0LjI3OTMyNzYgMTE4LjMwMDk5MSw1NC4zMzUyNDE0IEwxMTguNDQ2NzU4LDU0LjM2MTk4MjggQzExOC41MzUwMjgsNTQuMzc4MTg5NyAxMTguNjIzMjk4LDU0LjM5NTIwNjkgMTE4LjcxMjM3OCw1NC40MTMwMzQ1IEMxMTkuMDE3Njc5LDU0LjQ3NDYyMDcgMTE5LjMxNzMxLDU0LjU0NDMxMDMgMTE5LjYxNTMyMyw1NC42MTQgTDExOS45NzE2NDIsNTQuNjk0MjI0MSBDMTIwLjM4NDY0OCw1NC43OTU1MTcyIDEyMC43OTE5ODUsNTQuOTAyNDgyOCAxMjEuMTkyODQ0LDU1LjAxNjc0MTQgQzEyMS42MjkzMzUsNTUuMTQyMzQ0OCAxMjIuMDU2OTE4LDU1LjI3NjA1MTcgMTIyLjQ3ODgzMiw1NS40MTc4NjIxIEMxMjIuNTU0MTQ1LDU1LjQ0MjE3MjQgMTIyLjYyNzAyOCw1NS40Njk3MjQxIDEyMi43MDA3MjEsNTUuNDk1NjU1MiBMMTIyLjg1NjIwNiw1NS41NTMxODk3IEMxMjMuMTQ1MzEsNTUuNjU0NDgyOCAxMjMuNDMyNzk1LDU1Ljc1NjU4NjIgMTIzLjcxNjIzMSw1NS44Njc2MDM0IEMxMjMuNzc2OTY3LDU1Ljg5MTEwMzQgMTIzLjgzNTI3NCw1NS45MTYyMjQxIDEyMy44OTQzOSw1NS45NDA1MzQ1IEwxMjQuMDQwOTY3LDU2LjAwMTMxMDMgQzEyNC40MTc1MzEsNTYuMTU0NDY1NSAxMjQuNzg1MTg4LDU2LjMxNDkxMzggMTI1LjE0MzkzNiw1Ni40ODI2NTUyIEwxMjUuMjMwNTg3LDU2LjUyMzE3MjQgQzEyNS4zMjc3NjQsNTYuNTY3NzQxNCAxMjUuNDI0OTQyLDU2LjYxMzEyMDcgMTI1LjUyMjEyLDU2LjY2MTc0MTQgQzEyNS44NTk4MTMsNTYuODI3MDUxNyAxMjYuMTYwMjU1LDU2Ljk4MTgyNzYgMTI2LjQzNTU5Myw1Ny4xMzA5MzEgQzEyNi40MzU1OTMsNTcuMzczMjI0MSAxMjYuNDM1NTkzLDU3LjY4NjgyNzYgMTI2LjQzNjQwMiw1OC4wMDM2NzI0IEwxMjYuNDM2NDAyLDU4LjAyNzE3MjQgQzExNy40MzUyOTgsNTMuNTMzIDEwMy4wNTg2MzYsNTMuNTYyMTcyNCA5MC4wMjU0NTc3LDU4LjE5ODE1NTIgTDg4LjQ5ODE0NDgsNTguMTg2IEw3OC44MzI5OTE0LDU1LjY4NzcwNjkgTDc5Ljg2NTUwNjcsNTEuOTU3Njg5NyBaIE03Ni4yNDQwMDk4LDU3LjQ1OTkzMSBMNzYuMjQ3MjQ5MSw1Ni40MjI2ODk3IEM3Ni4yNDcyNDkxLDU2LjQxNTM5NjYgNzYuMjQ0ODE5Niw1Ni40MDg5MTM4IDc2LjI0NDgxOTYsNTYuNDAxNjIwNyBDNzYuMjQ0MDA5OCw1Ni4zODg2NTUyIDc2LjI0NTYyOTQsNTYuMzc0ODc5MyA3Ni4yNDQwMDk4LDU2LjM2MTkxMzggTDc2LjI0NDAwOTgsNTYuMjI5MDE3MiBDNzYuMjQ0MDA5OCw1NS45NjI0MTM4IDc2LjEwMjI5Miw1NS43MTY4NzkzIDc1Ljg3MTQ5NDUsNTUuNTgzOTgyOCBDNzUuNzMyMjA2MSw1NS41MDM3NTg2IDc1LjU3MzQ4MjIsNTUuNDc3ODI3NiA3NS40MTg4MDc0LDU1LjQ5NDg0NDggQzc1LjI5MzI4NTksNTUuNDE3ODYyMSA3NS4xNjQ1MjUyLDU1LjM0MzMxMDMgNzUuMDQyMjQyOSw1NS4yNjM4OTY2IEM3NS4wMDQxODE2LDU1LjIzODc3NTkgNzQuOTY4NTQ5Nyw1NS4yMTI4NDQ4IDc0LjkyOTY3ODUsNTUuMTg2OTEzOCBDNzQuNjg5MTYzMiw1NS4wMjgwODYyIDc0LjQ1MjY5NjksNTQuODY1MjA2OSA3NC4yMjY3NTgzLDU0LjY5ODI3NTkgQzc0LjIxMjk5MTQsNTQuNjg3NzQxNCA3NC4xOTkyMjQ1LDU0LjY3NzIwNjkgNzQuMTg1NDU3Nyw1NC42Njc0ODI4IEM3My42Nzc3MDMxLDU0LjI4OTg2MjEgNzMuMjA1NTgwNCw1My44OTQ0MTM4IDcyLjc3Mzk0ODUsNTMuNDgwMzI3NiBDNzMuNDc3Njc4NSw1MS45MzAxMzc5IDczLjg0NjE0NDgsNTAuMzY2OTgyOCA3My44NDIwOTU3LDQ4LjkzMDI0MTQgQzczLjgzNzIzNjgsNDcuMTYyODc5MyA3My4yNDYwNzEyLDQ1Ljc1NTMxMDMgNzIuMTc3MTE0MSw0NC45NjYwMzQ1IEM3MS43MzczODQsNDQuNjQwMjc1OSA3MS4yMjgwMDk4LDQ0LjQzNjg3OTMgNzAuNjc3MzM1LDQ0LjM0NjEyMDcgQzcwLjY4Nzg2MjYsNDQuMzIzNDMxIDcwLjY5ODM5MDIsNDQuMjk3NSA3MC43MDg5MTc4LDQ0LjI3NDgxMDMgQzcwLjcxMDUzNzQsNDQuMjcxNTY5IDcwLjczMzIxMjMsNDQuMjI3IDcwLjczNDgzMTksNDQuMjIzNzU4NiBDNzAuNzk3OTk3NSw0NC4wOTI0ODI4IDcwLjg2NzY0MTcsNDMuOTYyODI3NiA3MC45MzcyODU5LDQzLjgzMDc0MTQgTDcxLjE4MjY2MDEsNDMuMzU2Njg5NyBDNzEuMjM2MTA4LDQzLjI2MjY4OTcgNzEuMjkxOTg1Myw0My4xNjc4NzkzIDcxLjM0ODY3MjQsNDMuMDczMDY5IEw3MS40MTUwNzczLDQyLjk2Mjg2MjEgQzcxLjUzNDkzMDEsNDIuNzYxMDg2MiA3MS42NTg4MzE5LDQyLjU1ODUgNzEuNzkwMDIyMSw0Mi4zNTY3MjQxIEM3MS44NzAxOTM5LDQyLjIzMjc0MTQgNzEuOTUzNjA0OSw0Mi4xMDg3NTg2IDcyLjAzNzgyNTgsNDEuOTg2Mzk2NiBDNzIuMTc1NDk0NSw0MS43ODYyNDE0IDcyLjMxODAyMjEsNDEuNTg2ODk2NiA3Mi40NjU0MDg2LDQxLjM4OTE3MjQgTDcyLjU2MTc3NjcsNDEuMjU3ODk2NiBDNzIuNjU0OTA1NSw0MS4xMzIyOTMxIDcyLjc0ODAzNDQsNDEuMDA1ODc5MyA3Mi44NDUyMTIzLDQwLjg4MjcwNjkgQzcyLjg4NDg5MzMsNDAuODMxNjU1MiA3Mi45MjcwMDM3LDQwLjc4MjIyNDEgNzIuOTY5MTE0MSw0MC43MzExNzI0IEw3My4wNTk4MTM1LDQwLjYyMzM5NjYgQzczLjIwOTYyOTQsNDAuNDQwMjU4NiA3My4zNTk0NDU0LDQwLjI1NzkzMSA3My41MzM1NTU4LDQwLjA1Nzc3NTkgQzczLjc2NTk3MywzOS43OTAzNjIxIDc0LjAxMDUzNzQsMzkuNTI0NTY5IDc0LjI2NDAwOTgsMzkuMjU5NTg2MiBDNzQuMzQ0MTgxNiwzOS4xNzUzMTAzIDc0LjQyNTE2MzIsMzkuMDkxMDM0NSA3NC41MDg1NzQyLDM5LjAwNjc1ODYgQzc0Ljc1NzE4NzcsMzguNzUxNSA3NS4wMTM4OTk0LDM4LjUwMDI5MzEgNzUuMjg1MTg3NywzOC4yNDM0MTM4IEw3NS4zNjEzMTA0LDM4LjE3MTI5MzEgQzc1LjQ1NjA1ODksMzguMDgxMzQ0OCA3NS41NTU2NjYzLDM3Ljk5MzgyNzYgNzUuNjU1MjczNiwzNy45MDM4NzkzIEw3NS44NzM5MjM5LDM3LjcwODU4NjIgQzc2LjAzODMxNjYsMzcuNTYxMTAzNCA3Ni4yMDE4OTk0LDM3LjQxNTI0MTQgNzYuMzcyNzcwNiwzNy4yNjkzNzkzIEM3Ni40NzM5OTc1LDM3LjE4NDI5MzEgNzYuNTc3NjU0LDM3LjA5ODM5NjYgNzYuNjgxMzEwNCwzNy4wMTMzMTAzIEw3Ni43ODkwMTYsMzYuOTIzMzYyMSBDNzcuMDIzODYyNiwzNi43MzEzMTAzIDc3LjI2MDMyODgsMzYuNTM5MjU4NiA3Ny41MDQwODM0LDM2LjM0ODgyNzYgQzc3LjY1NzEzODcsMzYuMjMwNTE3MiA3Ny44MTE4MTM1LDM2LjExMjIwNjkgNzcuOTY3Mjk4MiwzNS45OTQ3MDY5IEM3OC4yMTc1MzEzLDM1LjgwNTg5NjYgNzguNDc1MDUyOCwzNS42MTk1MTcyIDc4LjczNDE5MzksMzUuNDMzOTQ4MyBMNzguODA0NjQ3OSwzNS4zODQ1MTcyIEM3OC45MzkwNzczLDM1LjI4ODg5NjYgNzkuMDc0MzE2NiwzNS4xOTI0NjU1IDc5LjIxMDM2NTYsMzUuMDk3NjU1MiBDNzkuNTAxMDg5NiwzNC44OTgzMTAzIDc5Ljc5OTkxMTcsMzQuNzAwNTg2MiA4MC4xMDAzNTM0LDM0LjUwNTI5MzEgTDgwLjI3Njg5MzMsMzQuMzg4NjAzNCBDODAuMzcwMDIyMSwzNC4zMjc4Mjc2IDgwLjQ2MjM0MTEsMzQuMjY2MjQxNCA4MC41NjExMzg3LDM0LjIwNDY1NTIgTDgwLjgzNDg1NjQsMzQuMDM0NDgyOCBDODEuMTkzNjA0OSwzMy44MTE2Mzc5IDgxLjU1NTU5MjYsMzMuNTkwNDEzOCA4MS45MzA1Mzc0LDMzLjM3MTYyMDcgQzgyLjM0NzU5MjYsMzMuMTI5MzI3NiA4Mi43NzE5MzYyLDMyLjg5MzUxNzIgODMuMjAxMTM4NywzMi42NjA5NDgzIEM4My4yOTAyMTg0LDMyLjYxMzk0ODMgODMuMzc4NDg4MywzMi41NjY5NDgzIDgzLjQ2ODM3NzksMzIuNTIwNzU4NiBMODQuMjAyODgxLDMyLjEzOTA4NjIgQzg0LjMwMjQ4ODMsMzIuMDg3MjI0MSA4NC40MDI5MDU1LDMyLjAzNTM2MjEgODQuNTAxNzAzMSwzMS45ODUxMjA3IEw4NS4yOTM3MDMxLDMxLjYwMTAxNzIgQzg1LjQ3MjY3MjQsMzEuNTEzNSA4NS42NTI0NTE1LDMxLjQyNjc5MzEgODUuODM0NjYwMSwzMS4zNDI1MTcyIEM4Ni4wMTg0ODgzLDMxLjI1NjYyMDcgODYuMjA0NzQ2LDMxLjE3MzE1NTIgODYuMzkxMDAzNywzMS4wODg4NzkzIEM4Ni42NTc0MzMxLDMwLjk2ODk0ODMgODYuOTI1NDgyMiwzMC44NDkwMTcyIDg3LjE5NTE1MDksMzAuNzMzOTQ4MyBDODcuMzg1NDU3NywzMC42NTA0ODI4IDg3LjU3NjU3NDIsMzAuNTcwMjU4NiA4Ny43NzAxMjAyLDMwLjQ5MDAzNDUgQzg4LjAzOTc4OSwzMC4zNzczOTY2IDg4LjMxMTg4NzEsMzAuMjY2Mzc5MyA4OC41ODQ3OTUxLDMwLjE1Nzc5MzEgQzg4Ljc3NjcyMTUsMzAuMDgxNjIwNyA4OC45Njk0NTc3LDMwLjAwNDYzNzkgODkuMTYwNTc0MiwyOS45MzA4OTY2IEM4OS40MTA4MDc0LDI5LjgzNTI3NTkgODkuNjYxMDQwNSwyOS43NDIwODYyIDg5LjkxMjg5MzMsMjkuNjQ5NzA2OSBDODkuOTE1MzIyNywyOS42NDg4OTY2IDkwLjAwNDQwMjUsMjkuNjE1NjcyNCA5MC4wMDYwMjIxLDI5LjYxNDg2MjEgTDkwLjE0NDUwMDYsMjkuNTYzIEM5MC4yODYyMTg0LDI5LjUxMTk0ODMgOTAuNDI3MTI2NCwyOS40NTkyNzU5IDkwLjU3MTI3MzYsMjkuNDA5MDM0NSBDOTAuNjg1NDU3NywyOS4zNjc3MDY5IDkwLjgwMTI2MTMsMjkuMzI4ODEwMyA5MC45MTYyNTUyLDI5LjI4OTkxMzggTDkxLjAyODgxOTYsMjkuMjUxODI3NiBDOTEuMTc5NDQ1NCwyOS4xOTkxNTUyIDkxLjMzMDg4MSwyOS4xNDcyOTMxIDkxLjQ4MzkzNjIsMjkuMDk1NDMxIEw5Mi40NTI0NzYxLDI4Ljc4MDIwNjkgQzkyLjg4OTc3NjcsMjguNjQyNDQ4MyA5My4zMjcwNzczLDI4LjUwNzkzMSA5My43NjY4MDc0LDI4LjM3OTg5NjYgQzkzLjk2NjAyMjEsMjguMzIyMzYyMSA5NC4xNjYwNDY2LDI4LjI2NjQ0ODMgOTQuMzY3NjkwOCwyOC4yMDk3MjQxIEM5NC43NzA5NzkxLDI4LjA5Nzg5NjYgOTUuMTc1ODg3MSwyNy45ODg1IDk1LjU4MzIyNDUsMjcuODgzOTY1NSBMOTUuNzIyNTEyOSwyNy44NDkxMjA3IEM5NS44Njk4OTk0LDI3LjgxMDIyNDEgOTYuMDE2NDc2MSwyNy43NzIxMzc5IDk2LjE2Mzg2MjYsMjcuNzM1NjcyNCBDOTYuNjUyMTgxNiwyNy42MTY1NTE3IDk3LjE0MTMxMDQsMjcuNTAyMjkzMSA5Ny42MzY5MTc4LDI3LjM5MzcwNjkgTDk3Ljk0MDU5ODgsMjcuMzI0ODI3NiBDOTguNTMwOTU0NiwyNy4xOTc2MDM0IDk5LjEyMjkzMDEsMjcuMDgxNzI0MSA5OS43MTQwOTU3LDI2Ljk3MzEzNzkgTDEwMC4xMDc2NjYsMjYuOTA1ODc5MyBDMTAwLjcwMTI2MSwyNi44MDA1MzQ1IDEwMS4yOTQwNDcsMjYuNzA1NzI0MSAxMDEuODg3NjQyLDI2LjYxODIwNjkgTDEwMi4zNTI0NzYsMjYuNTUwOTQ4MyBDMTAzLjAzMjcyMSwyNi40NTY5NDgzIDEwMy43MTk0NDUsMjYuMzc1MTAzNCAxMDQuMzkyNDAyLDI2LjMwNjIyNDEgTDEwNC45MjQ0NTIsMjYuMjU2NzkzMSBDMTA1LjMxMzE2MywyNi4yMjAzMjc2IDEwNS43MDEwNjUsMjYuMTg3MTAzNCAxMDYuMDg5Nzc3LDI2LjE1OTU1MTcgQzEwNi4yOTc4OTksMjYuMTQ0MTU1MiAxMDYuNTA1MjEyLDI2LjEzMTE4OTcgMTA2LjcxODE5NCwyNi4xMTgyMjQxIEMxMDYuOTY1OTk4LDI2LjEwMzYzNzkgMTA3LjIxMjE4MiwyNi4wOTIyOTMxIDEwNy40NTkxNzUsMjYuMDgwOTQ4MyBMMTA3LjUxOTkxMiw0NS4yODQ1IEw4OS42Mjc4MzgsNTUuNjIxMjU4NiBMODYuMzQyNDE0Nyw0Ny43MTMxMDM0IEM4Ni4wMjkwMTYsNDYuOTU3MDUxNyA4NS41MDE4MjU4LDQ2LjQzNTE4OTcgODQuODE3NTMxMyw0Ni4yMDI2MjA3IEM4NC4wMDIwNDY2LDQ1LjkyNTQ4MjggODMuMDEwODMxOSw0Ni4wODgzNjIxIDgyLjAyMjg1NjQsNDYuNjU5NjU1MiBDODAuMzgyMTY5Myw0Ny42MDc3NTg2IDc5LjAwNTQ4MjIsNDkuNDg0NTE3MiA3OC40MzA1MTI5LDUxLjU1OSBMNzYuMjQ0MDA5OCw1OS40NTkwNTE3IEw3Ni4yNDQwMDk4LDU3LjQ1OTkzMSBaIE01OC4wMzEyNDkxLDExLjkwMTUzNDUgTDMuMjI1MzM0OTcsNDMuNjE4NDMxIEwzLjIyNTMzNDk3LDM3Ljc5NTI5MzEgQzMuMjI1MzM0OTcsMzUuMDY3NjcyNCA0LjY5MTEwMTg0LDMyLjUyNTYyMDcgNy4wNTA5MDU1MiwzMS4xNjAxODk3IEw1NC4zMDQ0NzYxLDMuODE0MjkzMSBDNTUuMDgyNzA5MiwzLjM2MjkzMTAzIDU2LjAxMDc1ODMsMy4zNjIxMjA2OSA1Ni43ODgxODE2LDMuODEyNjcyNDEgQzU3LjU2NjQxNDcsNC4yNjE2MDM0NSA1OC4wMzEyNDkxLDUuMDY2Mjc1ODYgNTguMDMxMjQ5MSw1Ljk2NDk0ODI4IEw1OC4wMzEyNDkxLDExLjkwMTUzNDUgWiBNMTI3LjIwOTc3NywyNS40Mzk5NjU1IEMxMjcuMTQ5ODUsMjUuNDA2NzQxNCAxMjcuMDg5OTI0LDI1LjM3NDMyNzYgMTI3LjAyOTk5OCwyNS4zNDI3MjQxIEMxMjYuOTUzMDY1LDI1LjMwMjIwNjkgMTI2Ljg4MDE4MiwyNS4yNjA4NzkzIDEyNi44MDMyNDksMjUuMjIwMzYyMSBDMTI2LjgwMjQzOSwyNS4yMTk1NTE3IDEyNi44MDE2MjksMjUuMjE5NTUxNyAxMjYuODAxNjI5LDI1LjIxOTU1MTcgQzEyNi42NDEyODYsMjUuMTM1Mjc1OSAxMjYuNDc5MzIzLDI1LjA1NDI0MTQgMTI2LjMxNTc0LDI0Ljk3MzIwNjkgQzEyNi4yOTcxMTQsMjQuOTY0MjkzMSAxMjYuMjc5Mjk4LDI0Ljk1NTM3OTMgMTI2LjI2MTQ4MiwyNC45NDU2NTUyIEMxMjYuMTU3ODI2LDI0Ljg5NTQxMzggMTI2LjA1MDkzLDI0Ljg0NTk4MjggMTI1LjkwNjc4MywyNC43Nzg3MjQxIEMxMjUuOTAzNTQ0LDI0Ljc3NjI5MzEgMTI1Ljg2NDY3MiwyNC43NTg0NjU1IDEyNS44NjA2MjMsMjQuNzU2MDM0NSBDMTI1Ljg0MzYxNywyNC43NDc5MzEgMTI1LjgyNDk5MSwyNC43NDE0NDgzIDEyNS44MDc5ODUsMjQuNzMyNTM0NSBDMTI1LjQ5Mjk2NywyNC41ODgyOTMxIDEyNS4xNzE0NywyNC40NDgxMDM0IDEyNC44NDUxMTQsMjQuMzEzNTg2MiBDMTI0Ljc5MjQ3NiwyNC4yOTA4OTY2IDEyNC43NDIyNjcsMjQuMjY2NTg2MiAxMjQuNjg4ODIsMjQuMjQ1NTE3MiBMMTI0LjU2MDg2OSwyNC4xOTEyMjQxIEMxMjQuNDg3OTg1LDI0LjE2MTI0MTQgMTI0LjQxNTEwMiwyNC4xMzEyNTg2IDEyNC4zNDA1OTksMjQuMTAyMDg2MiBDMTI0LjMxOTU0NCwyNC4wOTMxNzI0IDEyNC4yOTYwNTksMjQuMDg1ODc5MyAxMjQuMjc0MTk0LDI0LjA3Nzc3NTkgQzEyNC4yNTIzMjksMjQuMDY4ODYyMSAxMjQuMjI4MDM0LDI0LjA2MDc1ODYgMTI0LjIwNjE2OSwyNC4wNTE4NDQ4IEMxMjMuOTUzNTA3LDIzLjk1NjIyNDEgMTIzLjY5NzYwNSwyMy44NjMwMzQ1IDEyMy40MzkyNzQsMjMuNzcxNDY1NSBMMTIzLjI4NzgzOCwyMy43MTYzNjIxIEMxMjMuMjA1MjM3LDIzLjY4NjM3OTMgMTIzLjEyMTgyNiwyMy42NTYzOTY2IDEyMy4wMzc2MDUsMjMuNjI4MDM0NSBDMTIyLjU5NTQ0NSwyMy40Nzg5MzEgMTIyLjE0NTk5OCwyMy4zMzk1NTE3IDEyMS42ODY4MzIsMjMuMjA3NDY1NSBDMTIxLjI2ODE1NywyMy4wODgzNDQ4IDEyMC44NDMwMDQsMjIuOTc2NTE3MiAxMjAuNDEwNTYyLDIyLjg3MDM2MjEgQzEyMC4zMzM2MjksMjIuODUxNzI0MSAxMjAuMjU1MDc3LDIyLjgzNDcwNjkgMTIwLjE3NzMzNSwyMi44MTY4NzkzIEwxMjAuMDQxMjg2LDIyLjc4Njg5NjYgQzExOS43Mjg2OTcsMjIuNzEzOTY1NSAxMTkuNDE0NDg4LDIyLjY0MTg0NDggMTE5LjA5NDYxMSwyMi41NzYyMDY5IEwxMTguNjY3ODM4LDIyLjQ5NTk4MjggQzExOC4zNzIyNTUsMjIuNDM4NDQ4MyAxMTguMDc2NjcyLDIyLjM4MTcyNDEgMTE3Ljc3NzA0LDIyLjMzMTQ4MjggQzExNy42NTQ3NTgsMjIuMzExMjI0MSAxMTcuNTMxNjY2LDIyLjI5MjU4NjIgMTE3LjQwODU3NCwyMi4yNzMxMzc5IEwxMTcuMjU3MTM5LDIyLjI0OTYzNzkgQzExNi45ODE4MDEsMjIuMjA2Njg5NyAxMTYuNzA3Mjc0LDIyLjE2NDU1MTcgMTE2LjQzMDMxNywyMi4xMjcyNzU5IEMxMTYuMjY1MTE0LDIyLjEwNTM5NjYgMTE2LjA5OTEwMiwyMi4wODUxMzc5IDExNS45MzMwOSwyMi4wNjQwNjkgTDExNS44NjQyNTUsMjIuMDU1OTY1NSBDMTE1LjYwOTE2MywyMi4wMjUxNzI0IDExNS4zNTI0NTIsMjEuOTk1MTg5NyAxMTUuMTEwMzE3LDIxLjk3MDg3OTMgQzExNS4xMDQ2NDgsMjEuOTcwMDY5IDExNS4wNTI4MiwyMS45NjM1ODYyIDExNS4wNDc5NjEsMjEuOTYzNTg2MiBDMTE0Ljg1NTIyNSwyMS45NDQxMzc5IDExNC42NjAwNTksMjEuOTI0Njg5NyAxMTQuNDYzMjc0LDIxLjkwNjg2MjEgQzExNC4xOTY4NDQsMjEuODgzMzYyMSAxMTMuOTI4Nzk1LDIxLjg2MjI5MzEgMTEzLjY1OTEyNiwyMS44NDI4NDQ4IEMxMTMuNDQyMDk2LDIxLjgyNjYzNzkgMTEzLjIyNTA2NSwyMS44MTEyNDE0IDExMy4wMTQ1MTMsMjEuNzk5MDg2MiBMMTEyLjkyMDU3NCwyMS43OTQyMjQxIEMxMTIuNjgxNjc5LDIxLjc4MDQ0ODMgMTEyLjQ0MTE2MywyMS43NjgyOTMxIDExMi4xOTk4MzgsMjEuNzU3NzU4NiBDMTExLjk4MzYxNywyMS43NDg4NDQ4IDExMS43NjY1ODcsMjEuNzM5OTMxIDExMS41NDc5MzYsMjEuNzMzNDQ4MyBDMTExLjMyMzYxNywyMS43MjYxNTUyIDExMS4wOTg0ODgsMjEuNzIyOTEzOCAxMTAuODcyNTUsMjEuNzIwNDgyOCBMMTEwLjc4ODMyOSwyMS43MTg4NjIxIEMxMTAuMjc0MDk2LDIxLjcxMDc1ODYgMTA5Ljc2MTQ4MiwyMS43MDk5NDgzIDEwOS4yMzgzNDEsMjEuNzE3MjQxNCBDMTA4Ljk2ODY3MiwyMS43MjEyOTMxIDEwOC42OTk4MTMsMjEuNzI0NTM0NSAxMDguNDI4NTI1LDIxLjczMzQ0ODMgQzEwOC4yNTQ0MTUsMjEuNzM4MzEwMyAxMDguMDc5NDk0LDIxLjc0NTYwMzQgMTA3LjkwNDU3NCwyMS43NTI4OTY2IEwxMDcuNzU3MTg4LDIxLjc1Nzc1ODYgQzEwNy4zODIyNDMsMjEuNzczOTY1NSAxMDcuMDA1Njc5LDIxLjc5MjYwMzQgMTA2LjYyMDIwNiwyMS44MTY5MTM4IEMxMDYuNDA3MjI1LDIxLjgyOTA2OSAxMDYuMTk1MDUzLDIxLjg0Mjg0NDggMTA1Ljk4MjA3MSwyMS44NTc0MzEgQzEwNS41ODQ0NTIsMjEuODg2NjAzNCAxMDUuMTg2MDIyLDIxLjkyMTQ0ODMgMTA0Ljc4NTE2MywyMS45NTc5MTM4IEwxMDQuMjQwOTY3LDIyLjAwODE1NTIgQzEwMy41NjM5NjEsMjIuMDc3MDM0NSAxMDIuODYwMjMxLDIyLjE2MTMxMDMgMTAyLjE1MDAyMiwyMi4yNjAxNzI0IEwxMDEuNjczMDQsMjIuMzI5MDUxNyBDMTAxLjA2NDg2OSwyMi40MTczNzkzIDEwMC40NTc1MDcsMjIuNTE1NDMxIDk5Ljg0NjA5NTcsMjIuNjIzMjA2OSBMOTkuNDQ2MDQ2NiwyMi42OTIwODYyIEM5OC44Mzk0OTQ1LDIyLjgwMzEwMzQgOTguMjMzNzUyMSwyMi45MjIyMjQxIDk3LjYyMzE1MDksMjMuMDUzNSBMOTcuMzEyMTgxNiwyMy4xMjQgQzk2LjgxMDA5NTcsMjMuMjM1MDE3MiA5Ni4zMDgwMDk4LDIzLjM1MDA4NjIgOTUuODA4MzUzNCwyMy40NzQ4NzkzIEM5NS42MzkxMDE4LDIzLjUxNTM5NjYgOTUuNDcwNjYwMSwyMy41NTkxNTUyIDk1LjMwMjIxODQsMjMuNjAyOTEzOCBMOTUuMjEyMzI4OCwyMy42MjU2MDM0IEM5NC43OTYwODM0LDIzLjczMjU2OSA5NC4zODA2NDc5LDIzLjg0NDM5NjYgOTMuOTY2MDIyMSwyMy45NTk0NjU1IEM5My43NjExMzg3LDI0LjAxNyA5My41NTYyNTUyLDI0LjA3NDUzNDUgOTMuMzUwNTYyLDI0LjEzMzY4OTcgQzkyLjkwMDMwNDMsMjQuMjY0OTY1NSA5Mi40NTE2NjYzLDI0LjQwMjcyNDEgOTIuMDAzODM4LDI0LjU0NDUzNDUgTDkxLjgxNzU4MDQsMjQuNjAyMDY5IEM5MS43MjIwMjIxLDI0LjYzMTI0MTQgOTEuNjI3MjczNiwyNC42NjA0MTM4IDkxLjUzMzMzNSwyNC42OTEyMDY5IEM5MS40MTUxMDE4LDI0LjcyOTI5MzEgOTEuMjk2ODY4NywyNC43Njk4MTAzIDkxLjE3ODYzNTYsMjQuODEwMzI3NiBMOTAuMDc0MDQ2NiwyNS4xODg3NTg2IEM4OS45MjUwNDA1LDI1LjI0MTQzMSA4OS43Nzc2NTQsMjUuMjk1NzI0MSA4OS42MzAyNjc1LDI1LjM1MDAxNzIgTDg5LjM5Nzg1MDMsMjUuNDM1OTEzOCBDODkuMTQwMzI4OCwyNS41MzE1MzQ1IDg4Ljg4MjgwNzQsMjUuNjI2MzQ0OCA4OC42MjYwOTU3LDI1LjcyNTIwNjkgQzg4LjQyNjg4MSwyNS44MDIxODk3IDg4LjIzMDA5NTcsMjUuODc5MTcyNCA4OC4wMzQxMjAyLDI1Ljk1ODU4NjIgQzg3Ljc1MzExNDEsMjYuMDcwNDEzOCA4Ny40NzM3Mjc2LDI2LjE4MzA1MTcgODcuMTk1OTYwNywyNi4yOTk3NDE0IEM4Ny4xMDkzMTA0LDI2LjMzNjIwNjkgODcuMDIyNjYwMSwyNi4zNzI2NzI0IDg2LjkzNjAwOTgsMjYuNDA5OTQ4MyBDODYuODk4NzU4MywyNi40MjUzNDQ4IDg2Ljg2MDY5NjksMjYuNDQxNTUxNyA4Ni44MjI2MzU2LDI2LjQ1Njk0ODMgQzg2Ljc1MDU2MiwyNi40ODc3NDE0IDg2LjY3NzY3ODUsMjYuNTE3NzI0MSA4Ni42MDU2MDQ5LDI2LjU0OTMyNzYgQzg2LjMyNzgzOCwyNi42NjkyNTg2IDg2LjA1MjUwMDYsMjYuNzkxNjIwNyA4NS43Nzg3ODI4LDI2LjkxNTYwMzQgQzg1LjcxMDc1ODMsMjYuOTQ2Mzk2NiA4NS42NDM1NDM2LDI2Ljk3NzE4OTcgODUuNTc1NTE5LDI3LjAwNzE3MjQgQzg1LjQ4NjQzOTMsMjcuMDQ4NSA4NS4zOTY1NDk3LDI3LjA4OTAxNzIgODUuMzA3NDY5OSwyNy4xMjk1MzQ1IEM4NS4yNzM0NTc3LDI3LjE0NTc0MTQgODUuMjM5NDQ1NCwyNy4xNTk1MTcyIDg1LjIwNjI0MjksMjcuMTc1NzI0MSBDODUuMDQxMDQwNSwyNy4yNTI3MDY5IDg0Ljg3ODI2NzUsMjcuMzMxMzEwMyA4NC43MTU0OTQ1LDI3LjQwOTkxMzggTDg0LjIwNzczOTksMjcuNjU0NjM3OSBDODQuMTk1NTkyNiwyNy42NjExMjA3IDg0LjE4MzQ0NTQsMjcuNjY2NzkzMSA4NC4xNzEyOTgyLDI3LjY3MjQ2NTUgQzg0LjA3MDg4MSwyNy43MjE4OTY2IDgzLjk3MDQ2MzgsMjcuNzY5NzA2OSA4My44NzA4NTY0LDI3LjgxOTk0ODMgQzgzLjg1ODcwOTIsMjcuODI2NDMxIDgzLjg0NjU2MiwyNy44MzIxMDM0IDgzLjgzNDQxNDcsMjcuODM3Nzc1OSBDODMuNzI1ODk5NCwyNy44OTI4NzkzIDgzLjYxOTgxMzUsMjcuOTQ3OTgyOCA4My41MTI5MTc4LDI4LjAwMzg5NjYgTDgzLjE1NDk3OTEsMjguMTkwMjc1OSBDODIuOTM2MzI4OCwyOC4zMDQ1MzQ1IDgyLjcxNTI0OTEsMjguNDE1NTUxNyA4Mi40OTkwMjgyLDI4LjUzMjI0MTQgTDgyLjQ5MzM1OTUsMjguNTM1NDgyOCBDODIuMDUxMiwyOC43NzQ1MzQ1IDgxLjYxMzA4OTYsMjkuMDE3NjM3OSA4MS4xODIyNjc1LDI5LjI2ODg0NDggQzgwLjc5NTE3NTUsMjkuNDkzMzEwMyA4MC40MjAyMzA3LDI5LjcyMzQ0ODMgODAuMDUwOTU0NiwyOS45NTI3NzU5IEw3OS43NjI2NjAxLDMwLjEzMTA1MTcgQzc5Ljc1NjE4MTYsMzAuMTM1MTAzNCA3OS43NTA1MTI5LDMwLjEzOTE1NTIgNzkuNzQ0ODQ0MiwzMC4xNDIzOTY2IEM3OS42MDE1MDY3LDMwLjIzMjM0NDggNzkuNDY1NDU3NywzMC4zMjU1MzQ1IDc5LjMyNDU0OTcsMzAuNDE3MTAzNCBMNzkuMjg4MTA4LDMwLjQ0MDYwMzQgQzc5LjIyNzM3MTgsMzAuNDgwMzEwMyA3OS4xNjk4NzQ4LDMwLjUyMDAxNzIgNzkuMTA5OTQ4NSwzMC41NTk3MjQxIEM3Mi4zODkyODU5LDM0Ljk3NzcyNDEgNjguNDQyMjQyOSw0MC4zMjM1NjkgNjguMDcyMTU3MSw0NS41NTY3NzU5IEw2OC4wNTExMDE4LDQ1Ljg0NzY4OTcgQzY4LjA0Nzg2MjYsNDUuOTA5Mjc1OSA2OC4wNTExMDE4LDQ1Ljk3MDg2MjEgNjguMDQ4NjcyNCw0Ni4wMzMyNTg2IEM2OC4wNDU0MzMxLDQ2LjE0ODMyNzYgNjguMDMyNDc2MSw0Ni4yNjQyMDY5IDY4LjAzMjQ3NjEsNDYuMzc4NDY1NSBDNjguMDM4MTQ0OCw1MC4wMjUwMTcyIDY5Ljc5OTQ5NDUsNTMuMjI3NSA3My4xNDU2NTQsNTUuNzUwOTEzOCBDNzMuMTU1MzcxOCw1NS43NTgyMDY5IDczLjE2NTg5OTQsNTUuNzY2MzEwMyA3My4xNzY0MjcsNTUuNzczNjAzNCBDNzMuMzYxODc0OCw1NS45MTI5ODI4IDczLjU1MDU2Miw1Ni4wNDk5MzEgNzMuNzQ1NzI3Niw1Ni4xODUyNTg2IEM3My43ODM3ODksNTYuMjExMTg5NyA3My44MjE4NTAzLDU2LjIzNzkzMSA3My44NTk5MTE3LDU2LjI2Mzg2MjEgQzczLjg3NDQ4ODMsNTYuMjczNTg2MiA3My44ODY2MzU2LDU2LjI4MzMxMDMgNzMuOTAwNDAyNSw1Ni4yOTMwMzQ1IEw3My4xODkzODQsNTYuNzAzMDY5IEwzOC41NjQ4OTMzLDM2LjY5OTcwNjkgTDY4LjIyODQ1MTUsMTkuNTMzMzYyMSBDNjguMjMyNTAwNiwxOS41MzA5MzEgNjguMjM3MzU5NSwxOS41Mjc2ODk3IDY4LjI0MTQwODYsMTkuNTI2MDY5IEw5My4zNzY0NzYxLDQuOTc5NTY4OTcgTDEyOC4wMDAxNTcsMjQuOTgzNzQxNCBMMTI3LjIwOTc3NywyNS40Mzk5NjU1IFogTTEyOC4wMDUwMTYsMjkuMjMzMTg5NyBDMTI4LjAxMzkyNCwyOS4xNzI0MTM4IDEyOC4wMTIzMDQsMjkuMTEwODI3NiAxMjguMDA1MDE2LDI5LjA0OTI0MTQgTDEyOC4wMTE0OTQsMjYuNjk3NjIwNyBMMTI4Ljc0NDM3OCwyNi4yNzQ2MjA3IEwxMjguNzQ0Mzc4LDU3Ljc0MTkzMSBMMTI3LjkyOTcwMyw1OC4yMTM1NTE3IEwxMjguMDA1MDE2LDI5LjIzMzE4OTcgWiBNMTA4LjI2NjU2Miw0Ni41NzM3NTg2IEwxMTkuNDkyMjMxLDUzLjA1OTc1ODYgQzExOS4zMzE4ODcsNTMuMDIzMjkzMSAxMTkuMTczMTYzLDUyLjk4NjAxNzIgMTE5LjAxMDM5LDUyLjk1Mjc5MzEgQzExOC45MTQwMjIsNTIuOTMyNTM0NSAxMTguODE2MDM0LDUyLjkxNDcwNjkgMTE4LjcxODA0Nyw1Mi44OTYwNjkgTDExOC41ODExODgsNTIuODcwOTQ4MyBDMTE4LjI4NjQxNSw1Mi44MTQyMjQxIDExNy45OTI0NTIsNTIuNzU4MzEwMyAxMTcuNjkyMDEsNTIuNzA3MjU4NiBDMTE3LjU2ODEwOCw1Mi42ODYxODk3IDExNy40NDI1ODcsNTIuNjY3NTUxNyAxMTcuMzE3ODc1LDUyLjY0ODEwMzQgTDExNy4xNjk2NzksNTIuNjI0NjAzNCBDMTE2Ljg5NTk2MSw1Mi41ODI0NjU1IDExNi42MjE0MzMsNTIuNTQxMTM3OSAxMTYuMzQyODU2LDUyLjUwMzA1MTcgQzExNi4xNTQ5NzksNTIuNDc4NzQxNCAxMTUuOTY2MjkyLDUyLjQ1NDQzMSAxMTUuNzc1OTg1LDUyLjQzMTc0MTQgQzExNS41MDU1MDcsNTIuMzk5MzI3NiAxMTUuMjM1MDI4LDUyLjM2NzcyNDEgMTE0Ljk2MDUwMSw1Mi4zMzkzNjIxIEMxMTQuNzY3NzY0LDUyLjMxOTEwMzQgMTE0LjU3MjU5OSw1Mi4zMDEyNzU5IDExNC4zNzgyNDMsNTIuMjgyNjM3OSBDMTE0LjExMTgxMyw1Mi4yNTkxMzc5IDExMy44NDIxNDUsNTIuMjM4MDY5IDExMy41NzI0NzYsNTIuMjE3ODEwMyBDMTEzLjM1NjI1NSw1Mi4yMDI0MTM4IDExMy4xMzkyMjUsNTIuMTg3MDE3MiAxMTIuOTIyMTk0LDUyLjE3NDg2MjEgQzExMi42NTQxNDUsNTIuMTU4NjU1MiAxMTIuMzg0NDc2LDUyLjE0NTY4OTcgMTEyLjExNTYxNyw1Mi4xMzQzNDQ4IEMxMTEuODk4NTg3LDUyLjEyNDYyMDcgMTExLjY4MDc0Niw1Mi4xMTU3MDY5IDExMS40NjA0NzYsNTIuMTA5MjI0MSBDMTExLjIzNjE1Nyw1Mi4xMDE5MzEgMTExLjAxMTAyOCw1Mi4wOTg2ODk3IDExMC43ODY3MDksNTIuMDk1NDQ4MyBMMTEwLjcwMjQ4OCw1Mi4wOTM4Mjc2IEMxMTAuMTg2NjM2LDUyLjA4NjUzNDUgMTA5LjY2ODM1Myw1Mi4wODU3MjQxIDEwOS4xNTI1MDEsNTIuMDkzMDE3MiBDMTA4Ljg4MjgzMiw1Mi4wOTcwNjkgMTA4LjYxMzE2Myw1Mi4xMDExMjA3IDEwOC4zNDI2ODUsNTIuMTA5MjI0MSBDMTA4LjExOTk4NSw1Mi4xMTU3MDY5IDEwNy44OTY0NzYsNTIuMTI0NjIwNyAxMDcuNjczNzc3LDUyLjEzNDM0NDggQzEwNy4yOTcyMTIsNTIuMTQ4OTMxIDEwNi45MTk4MzgsNTIuMTY4Mzc5MyAxMDYuNTQxNjU0LDUyLjE5MTg3OTMgQzEwNi4zMjcwNTMsNTIuMjA0ODQ0OCAxMDYuMTEyNDUyLDUyLjIxNzgxMDMgMTA1Ljg5Nzg1LDUyLjIzNDAxNzIgQzEwNS40OTg2MTEsNTIuMjYyMzc5MyAxMDUuMDk4NTYyLDUyLjI5NjQxMzggMTA0LjY5OTMyMyw1Mi4zMzM2ODk3IEwxMDQuNTIzNTkzLDUyLjM0OTA4NjIgQzEwNC40MDA1MDEsNTIuMzYwNDMxIDEwNC4yNzc0MDksNTIuMzcxNzc1OSAxMDQuMTUzNTA3LDUyLjM4MzkzMSBDMTAzLjQ3ODkzLDUyLjQ1MjgxMDMgMTAyLjc3NTIsNTIuNTM3ODk2NiAxMDIuMDYwMTMzLDUyLjYzNTk0ODMgTDEwMS41ODk2MjksNTIuNzA0ODI3NiBDMTAwLjk4MDY0OCw1Mi43OTMxNTUyIDEwMC4zNzE2NjYsNTIuODkwMzk2NiA5OS43NjI2ODQ3LDUyLjk5ODE3MjQgTDk5LjM1OTM5NjMsNTMuMDY3ODYyMSBDOTguNzUzNjU0LDUzLjE3OTY4OTcgOTguMTQ3MTAxOCw1My4yOTggOTcuNTQxMzU5NSw1My40Mjc2NTUyIEw5Ny4yMjcxNTA5LDUzLjQ5OTc3NTkgQzk2LjcyMzQ0NTQsNTMuNjA5OTgyOCA5Ni4yMjIxNjkzLDUzLjcyNjY3MjQgOTUuNzIwODkzMyw1My44NTA2NTUyIEM5NS42OTE3Mzk5LDUzLjg1NzEzNzkgOTUuNjYyNTg2NSw1My44NjUyNDE0IDk1LjYzNDI0MjksNTMuODcxNzI0MSBMMTA4LjI2NjU2Miw0Ni41NzM3NTg2IFogTTEwOS4wMDkxNjMsNDUuMjgyODc5MyBMMTA4Ljk0ODQyNywyNi4wMjkwODYyIEMxMDkuMDUyODkzLDI2LjAyNjY1NTIgMTA5LjE1NjU1LDI2LjAyNDIyNDEgMTA5LjI2MDIwNiwyNi4wMjI2MDM0IEMxMDkuNzY1NTMxLDI2LjAxNTMxMDMgMTEwLjI2NTk5OCwyNi4wMTUzMTAzIDExMC43NjY0NjQsMjYuMDIzNDEzOCBMMTEwLjg0OTg3NSwyNi4wMjQyMjQxIEMxMTEuMDY4NTI1LDI2LjAyODI3NTkgMTExLjI4NzE3NSwyNi4wMzE1MTcyIDExMS41MDI1ODcsMjYuMDM4IEMxMTEuNzE0NzU4LDI2LjA0MzY3MjQgMTExLjkyNTMxLDI2LjA1MzM5NjYgMTEyLjEzNzQ4MiwyNi4wNjMxMjA3IEMxMTIuMzcxNTE5LDI2LjA3MjAzNDUgMTEyLjYwMzEyNiwyNi4wODMzNzkzIDExMi44Mzk1OTMsMjYuMDk3MTU1MiBDMTEyLjg0MTIxMiwyNi4wOTcxNTUyIDExMi45MTgxNDUsMjYuMTAxMjA2OSAxMTIuOTE5NzY0LDI2LjEwMTIwNjkgQzExMy4xMzExMjYsMjYuMTEzMzYyMSAxMTMuMzQwODY5LDI2LjEyNzk0ODMgMTEzLjU1MDYxMSwyNi4xNDQxNTUyIEMxMTMuODExMzcyLDI2LjE2Mjc5MzEgMTE0LjA3MTMyMywyNi4xODMwNTE3IDExNC4zMzA0NjQsMjYuMjA3MzYyMSBDMTE0LjUxOTE1MSwyNi4yMjM1NjkgMTE0LjcwNjIxOCwyNi4yNDEzOTY2IDExNC45NDEwNjUsMjYuMjY2NTE3MiBDMTE1LjE5MDQ4OCwyNi4yOTI0NDgzIDExNS40Mzc0ODIsMjYuMzIgMTE1LjY4Mjg1NiwyNi4zNDk5ODI4IEMxMTUuODY2Njg1LDI2LjM3MjY3MjQgMTE2LjA0ODg5MywyNi4zOTUzNjIxIDExNi4yMjk0ODIsMjYuNDE4ODYyMSBDMTE2LjQ5NzUzMSwyNi40NTUzMjc2IDExNi43NjMxNTEsMjYuNDk1ODQ0OCAxMTcuMDI5NTgsMjYuNTM3OTgyOCBMMTE3LjE0NTM4NCwyNi41NTU4MTAzIEMxMTcuMjczMzM1LDI2LjU3NTI1ODYgMTE3LjQwMjA5NiwyNi41OTQ3MDY5IDExNy41MzAwNDcsMjYuNjE2NTg2MiBDMTE3LjgxNzUzMSwyNi42NjUyMDY5IDExOC4xMDE3NzcsMjYuNzE4Njg5NyAxMTguMzg1MjEyLDI2Ljc3Mzc5MzEgTDExOC43OTc0MDksMjYuODUyMzk2NiBDMTE5LjEwMjcwOSwyNi45MTQ3OTMxIDExOS40MDMxNTEsMjYuOTgzNjcyNCAxMTkuNzAyNzgzLDI3LjA1NDE3MjQgTDEyMC4wNTgyOTIsMjcuMTMzNTg2MiBDMTIwLjQ3MTI5OCwyNy4yMzQwNjkgMTIwLjg3NzgyNiwyNy4zNDE4NDQ4IDEyMS4yNzc4NzUsMjcuNDU2MTAzNCBDMTIxLjcxNDM2NiwyNy41ODA4OTY2IDEyMi4xNDM1NjgsMjcuNzE0NjAzNCAxMjIuNTY0NjcyLDI3Ljg1NjQxMzggQzEyMi42MzUxMjYsMjcuODc5OTEzOCAxMjIuNzA1NTgsMjcuOTA1MDM0NSAxMjIuNzc1MjI1LDI3LjkzMTc3NTkgTDEyMi45NDUyODYsMjcuOTkyNTUxNyBDMTIzLjIzMjc3MSwyOC4wOTQ2NTUyIDEyMy41MjAyNTUsMjguMTk2NzU4NiAxMjMuNzk5NjQyLDI4LjMwNTM0NDggQzEyMy44NjExODgsMjguMzI5NjU1MiAxMjMuOTIwMzA0LDI4LjM1Mzk2NTUgMTIzLjk4MDIzMSwyOC4zNzkwODYyIEwxMjQuMTI3NjE3LDI4LjQ0MDY3MjQgQzEyNC41MDMzNzIsMjguNTkzODI3NiAxMjQuODcxODM4LDI4Ljc1NDI3NTkgMTI1LjIzMzAxNiwyOC45MjM2Mzc5IEwxMjUuNjA2MzQxLDI5LjA5OTQ4MjggQzEyNS43Nzk2NDIsMjkuMTg0NTY5IDEyNS45NTA1MTMsMjkuMjcyMDg2MiAxMjYuMTE3MzM1LDI5LjM1NzE3MjQgQzEyNi4yNTE3NjQsMjkuNDI3NjcyNCAxMjYuMzgyMTQ1LDI5LjUwMTQxMzggMTI2LjUxNDE0NSwyOS41NzI3MjQxIEwxMjYuNDQ3NzQsNTUuMzU3MDg2MiBMMTA5LjAwOTE2Myw0NS4yODI4NzkzIFogTTc5LjEwOTEzODcsMzIuMzU0NjM3OSBDNzkuMTM3NDgyMiwzMi4zMzUxODk3IDc5LjE2NDIwNjEsMzIuMzE1NzQxNCA3OS4xOTE3Mzk5LDMyLjI5NjI5MzEgQzc5LjU4NzczOTksMzIuMDIxNTg2MiA3OS45OTUwNzczLDMxLjc1MjU1MTcgODAuNDEyMTMyNSwzMS40ODU5NDgzIEM4MC40NTUwNTI4LDMxLjQ1NzU4NjIgODAuNDk4NzgyOCwzMS40MjkyMjQxIDgwLjU0MjUxMjksMzEuNDAxNjcyNCBDODAuOTkzNTgwNCwzMS4xMTQ4MTAzIDgxLjQ1NTk4NTMsMzAuODM0NDMxIDgxLjkzMDUzNzQsMzAuNTU4MTAzNCBDODIuMzUwMDIyMSwzMC4zMTMzNzkzIDgyLjc3Njc5NTEsMzAuMDc1OTQ4MyA4My4yMDY4MDc0LDI5Ljg0MzM3OTMgTDg0LjAxODI0MjksMjkuNDIwMzc5MyBDODQuMTcwNDg4MywyOS4zNDI1ODYyIDg0LjMyMTExNDEsMjkuMjYxNTUxNyA4NC40NzQxNjkzLDI5LjE4NDU2OSBMODQuNTAxNzAzMSwyOS4xNzA3OTMxIEw4NS4zMDUwNDA1LDI4Ljc4MDIwNjkgQzg1LjQ4NDgxOTYsMjguNjk0MzEwMyA4NS42NjI5NzkxLDI4LjYwNjc5MzEgODUuODQ0Mzc3OSwyOC41MjI1MTcyIEM4Ni4wMjQ5NjY5LDI4LjQzOTA1MTcgODYuMjA3OTg1MywyOC4zNTYzOTY2IDg2LjM5MTAwMzcsMjguMjczNzQxNCBDODYuNjU3NDMzMSwyOC4xNTM4MTAzIDg2LjkyNTQ4MjIsMjguMDM0Njg5NyA4Ny4xOTUxNTA5LDI3LjkxODgxMDMgQzg3LjM4NjI2NzUsMjcuODM2MTU1MiA4Ny41NzgxOTM5LDI3Ljc1NTEyMDcgODcuNzcwMTIwMiwyNy42NzQwODYyIEM4OC4wMzk3ODksMjcuNTYyMjU4NiA4OC4zMTE4ODcxLDI3LjQ1MjA1MTcgODguNTg0Nzk1MSwyNy4zNDM0NjU1IEM4OC43NzY3MjE1LDI3LjI2NjQ4MjggODguOTY5NDU3NywyNy4xOTExMjA3IDg5LjE2MDU3NDIsMjcuMTE2NTY5IEM4OS40MTA4MDc0LDI3LjAyMDk0ODMgODkuNjYxMDQwNSwyNi45MjY5NDgzIDg5LjkxMjg5MzMsMjYuODM0NTY5IEM4OS45MTUzMjI3LDI2LjgzMzc1ODYgOTAuMDA0NDAyNSwyNi44MDA1MzQ1IDkwLjAwNjAyMjEsMjYuNzk5NzI0MSBMOTAuMTQ0NTAwNiwyNi43NDk0ODI4IEM5MC4yODYyMTg0LDI2LjY5NjgxMDMgOTAuNDI3MTI2NCwyNi42NDQ5NDgzIDkwLjU3MTI3MzYsMjYuNTkzODk2NiBMOTEuNjU0ODA3NCwyNi4yMjI3NTg2IEM5MS43NjczNzE4LDI2LjE4Mzg2MjEgOTEuODc5OTM2MiwyNi4xNDQ5NjU1IDkxLjk5NTczOTksMjYuMTA4NSBMOTIuNDUyNDc2MSwyNS45NjU4NzkzIEM5Mi44ODk3NzY3LDI1LjgyNzMxMDMgOTMuMzI3MDc3MywyNS42OTM2MDM0IDkzLjc2NjgwNzQsMjUuNTY1NTY5IEM5My45NjY4MzE5LDI1LjUwNzIyNDEgOTQuMTY2ODU2NCwyNS40NTEzMTAzIDk0LjM2NzY5MDgsMjUuMzk1Mzk2NiBDOTQuNzcwOTc5MSwyNS4yODE5NDgzIDk1LjE3NjY5NjksMjUuMTczMzYyMSA5NS41ODMyMjQ1LDI1LjA2ODgyNzYgTDk1LjY3MzkyMzksMjUuMDQ2MTM3OSBDOTUuODM3NTA2NywyNS4wMDQgOTYuMDAwMjc5OCwyNC45NjE4NjIxIDk2LjE2Mzg2MjYsMjQuOTIxMzQ0OCBDOTYuNjUyMTgxNiwyNC44MDE0MTM4IDk3LjE0MTMxMDQsMjQuNjg3MTU1MiA5Ny42MzA0MzkzLDI0LjU4MDE4OTcgTDk3Ljk0MDU5ODgsMjQuNTA5Njg5NyBDOTguNTMwOTU0NiwyNC4zODMyNzU5IDk5LjEyMjkzMDEsMjQuMjY2NTg2MiA5OS43MTQwOTU3LDI0LjE1OCBMMTAwLjEwNjg1NiwyNC4wODk5MzEgQzEwMC43MDEyNjEsMjMuOTg1Mzk2NiAxMDEuMjk0MDQ3LDIzLjg5MDU4NjIgMTAxLjg4NzY0MiwyMy44MDM4NzkzIEwxMDIuMzUyNDc2LDIzLjczNjYyMDcgQzEwMy4wNDY0ODgsMjMuNjQxIDEwMy43MzI0MDIsMjMuNTU4MzQ0OCAxMDQuMzkyNDAyLDIzLjQ5MTA4NjIgTDEwNC45MjI4MzIsMjMuNDQyNDY1NSBDMTA1LjMxMjM1MywyMy40MDYgMTA1LjcwMTA2NSwyMy4zNzI3NzU5IDEwNi4wODk3NzcsMjMuMzQ0NDEzOCBDMTA2LjI5Nzg5OSwyMy4zMjk4Mjc2IDEwNi41MDUyMTIsMjMuMzE2MDUxNyAxMDYuNzE5MDA0LDIzLjMwMzg5NjYgQzEwNy4wODc0NywyMy4yODEyMDY5IDEwNy40NTM1MDcsMjMuMjYyNTY5IDEwNy44MTc5MjQsMjMuMjQ3MTcyNCBMMTA3Ljk2NTMxLDIzLjI0MTUgQzEwOC4xMzM3NTIsMjMuMjM1MDE3MiAxMDguMzAzMDA0LDIzLjIyNzcyNDEgMTA4LjQ3MjI1NSwyMy4yMjI4NjIxIEMxMDguNzM1NDQ1LDIzLjIxNTU2OSAxMDguOTk3ODI2LDIzLjIxMTUxNzIgMTA5LjI2MDIwNiwyMy4yMDc0NjU1IEMxMDkuNzY1NTMxLDIzLjIwMDk4MjggMTEwLjI2NTk5OCwyMy4yMDE3OTMxIDExMC43NjY0NjQsMjMuMjA4Mjc1OSBMMTEwLjg0OTg3NSwyMy4yMDkwODYyIEMxMTEuMDY4NTI1LDIzLjIxMzEzNzkgMTExLjI4NzE3NSwyMy4yMTYzNzkzIDExMS41MDQyMDYsMjMuMjIyODYyMSBDMTExLjcxNjM3OCwyMy4yMjkzNDQ4IDExMS45MjYxMiwyMy4yMzkwNjkgMTEyLjEzNTg2MywyMy4yNDcxNzI0IEMxMTIuMzY5ODk5LDIzLjI1Njg5NjYgMTEyLjYwMzEyNiwyMy4yNjkwNTE3IDExMi44Mzk1OTMsMjMuMjgyMDE3MiBDMTEyLjg0MTIxMiwyMy4yODIwMTcyIDExMi45MTgxNDUsMjMuMjg2MDY5IDExMi45MTk3NjQsMjMuMjg2MDY5IEMxMTMuMTMxMTI2LDIzLjI5OTAzNDUgMTEzLjM0MDg2OSwyMy4zMTM2MjA3IDExMy41NTA2MTEsMjMuMzI5MDE3MiBDMTEzLjgxMTM3MiwyMy4zNDc2NTUyIDExNC4wNzEzMjMsMjMuMzY5NTM0NSAxMTQuMzMyMDgzLDIzLjM5MjIyNDEgQzExNC41MTk5NjEsMjMuNDA5MjQxNCAxMTQuNzA3MDI4LDIzLjQyNzA2OSAxMTQuOTQxMDY1LDIzLjQ1MTM3OTMgQzExNS4xOTA0ODgsMjMuNDc3MzEwMyAxMTUuNDM3NDgyLDIzLjUwNTY3MjQgMTE1LjY4Mjg1NiwyMy41MzU2NTUyIEwxMTUuNzUxNjkxLDIzLjU0NDU2OSBDMTE1LjkxMTIyNSwyMy41NjMyMDY5IDExNi4wNzA3NTgsMjMuNTgyNjU1MiAxMTYuMjI5NDgyLDIzLjYwNDUzNDUgQzExNi40OTgzNDEsMjMuNjQxODEwMyAxMTYuNzYzOTYxLDIzLjY4MTUxNzIgMTE3LjAyNzk2MSwyMy43MjIwMzQ1IEwxMTcuMTgxODI2LDIzLjc0NzE1NTIgQzExNy4yOTg0MzksMjMuNzY0MTcyNCAxMTcuNDE0MjQzLDIzLjc4MTE4OTcgMTE3LjUzMDA0NywyMy44MDE0NDgzIEMxMTcuODE3NTMxLDIzLjg1MDA2OSAxMTguMTAxNzc3LDIzLjkwNDM2MjEgMTE4LjM4NzY0MiwyMy45NTk0NjU1IEwxMTguNzk3NDA5LDI0LjAzNzI1ODYgQzExOS4xMDI3MDksMjQuMDk5NjU1MiAxMTkuNDAzMTUxLDI0LjE2OTM0NDggMTE5LjcwNTIxMiwyNC4yMzkwMzQ1IEwxMjAuMDU3NDgyLDI0LjMxODQ0ODMgQzEyMC40NzA0ODgsMjQuNDE5NzQxNCAxMjAuODc3ODI2LDI0LjUyNTg5NjYgMTIxLjI3Nzg3NSwyNC42NDA5NjU1IEMxMjEuNzE0MzY2LDI0Ljc2NTc1ODYgMTIyLjE0Mjc1OCwyNC44OTg2NTUyIDEyMi41NjQ2NzIsMjUuMDQxMjc1OSBDMTIyLjYzNTEyNiwyNS4wNjQ3NzU5IDEyMi43MDU1OCwyNS4wOTA3MDY5IDEyMi43NzUyMjUsMjUuMTE2NjM3OSBMMTIyLjk0NjA5NiwyNS4xNzgyMjQxIEMxMjMuMjMzNTgsMjUuMjc4NzA2OSAxMjMuNTIwMjU1LDI1LjM4MTYyMDcgMTIzLjc5OTY0MiwyNS40OTEwMTcyIEMxMjMuODYyODA3LDI1LjUxNDUxNzIgMTIzLjkyMjczNCwyNS41NDA0NDgzIDEyMy45ODM0NywyNS41NjYzNzkzIEwxMjQuMTI3NjE3LDI1LjYyNjM0NDggQzEyNC41MDQxODIsMjUuNzc4Njg5NyAxMjQuODcyNjQ4LDI1Ljk0MDc1ODYgMTI1LjI1NjUwMSwyNi4xMTkwMzQ1IEMxMjUuMjYwNTUsMjYuMTIwNjU1MiAxMjUuMzEzOTk4LDI2LjE0NjU4NjIgMTI1LjMxODA0NywyNi4xNDgyMDY5IEMxMjUuNDE2MDM0LDI2LjE5MzU4NjIgMTI1LjUxMzIxMiwyNi4yMzk3NzU5IDEyNS42MDc5NjEsMjYuMjg1MTU1MiBDMTI1Ljc4MDQ1MiwyNi4zNzAyNDE0IDEyNS45NTEzMjMsMjYuNDU2OTQ4MyAxMjYuMTE3MzM1LDI2LjU0MzY1NTIgQzEyNi4xMTk3NjQsMjYuNTQ0NDY1NSAxMjYuMTIzMDA0LDI2LjU0NjA4NjIgMTI2LjEyNTQzMywyNi41NDc3MDY5IEMxMjYuMjU5MDUzLDI2LjYxNzM5NjYgMTI2LjM5MTA1MywyNi42ODg3MDY5IDEyNi41MjIyNDMsMjYuNzYxNjM3OSBMMTI2LjUxOTAwNCwyNy44OTEyNTg2IEMxMjYuNDMzMTYzLDI3Ljg0NzUgMTI2LjM0ODk0MiwyNy44MDM3NDE0IDEyNi4yNjE0ODIsMjcuNzYwNzkzMSBMMTI1Ljg2MTQzMywyNy41NzExNzI0IEMxMjUuNDc5MiwyNy4zOTM3MDY5IDEyNS4wODgwNTksMjcuMjIzNTM0NSAxMjQuNjg4ODIsMjcuMDU5ODQ0OCBMMTI0LjU1ODQzOSwyNy4wMDYzNjIxIEMxMjQuNDg3MTc1LDI2Ljk3NjM3OTMgMTI0LjQxNDI5MiwyNi45NDU1ODYyIDEyNC4zNDA1OTksMjYuOTE3MjI0MSBDMTI0LjA0NjYzNiwyNi44MDEzNDQ4IDEyMy43NDQ1NzQsMjYuNjkzNTY5IDEyMy40MzkyNzQsMjYuNTg1NzkzMSBMMTIzLjI4NzgzOCwyNi41MzE1IEMxMjMuMjA1MjM3LDI2LjUwMTUxNzIgMTIzLjEyMTgyNiwyNi40NzA3MjQxIDEyMy4wMzc2MDUsMjYuNDQyMzYyMSBDMTIyLjU5NDYzNiwyNi4yOTQwNjkgMTIyLjE0NTk5OCwyNi4xNTM4NzkzIDEyMS42ODY4MzIsMjYuMDIyNjAzNCBDMTIxLjI2NzM0NywyNS45MDI2NzI0IDEyMC44NDMwMDQsMjUuNzkwODQ0OCAxMjAuNDEwNTYyLDI1LjY4NTUgQzEyMC4zMzg0ODgsMjUuNjY4NDgyOCAxMjAuMjYzOTg1LDI1LjY1MTQ2NTUgMTIwLjE4OTQ4MiwyNS42MzYwNjkgTDEyMC4wNDEyODYsMjUuNjAyMDM0NSBDMTE5LjcyODY5NywyNS41MjkxMDM0IDExOS40MTQ0ODgsMjUuNDU2OTgyOCAxMTkuMDk0NjExLDI1LjM5MTM0NDggTDExOC42Njc4MzgsMjUuMzEwMzEwMyBDMTE4LjM3MjI1NSwyNS4yNTI3NzU5IDExOC4wNzY2NzIsMjUuMTk2ODYyMSAxMTcuNzc3MDQsMjUuMTQ1ODEwMyBDMTE3LjY0MTgwMSwyNS4xMjM5MzEgMTE3LjUwNTc1MiwyNS4xMDIwNTE3IDExNy4zNjk3MDMsMjUuMDgyNjAzNCBMMTE3LjI1Nzk0OCwyNS4wNjM5NjU1IEMxMTYuOTgyNjExLDI1LjAyMTgyNzYgMTE2LjcwNzI3NCwyNC45Nzk2ODk3IDExNi40Mjc4ODcsMjQuOTQyNDEzOCBDMTE2LjI0MTYyOSwyNC45MTcyOTMxIDExNi4wNTM3NTIsMjQuODk0NjAzNCAxMTUuODY0MjU1LDI0Ljg3MDI5MzEgQzExNS42MDgzNTMsMjQuODM5NSAxMTUuMzUyNDUyLDI0LjgxMDMyNzYgMTE1LjA0Nzk2MSwyNC43Nzg3MjQxIEMxMTQuODU1MjI1LDI0Ljc1OTI3NTkgMTE0LjY2MDA1OSwyNC43Mzk4Mjc2IDExNC40NjQwODMsMjQuNzIyODEwMyBDMTE0LjE5NzY1NCwyNC42OTc2ODk3IDExMy45Mjg3OTUsMjQuNjc3NDMxIDExMy42NTkxMjYsMjQuNjU3MTcyNCBDMTEzLjQ0MjA5NiwyNC42NDE3NzU5IDExMy4yMjUwNjUsMjQuNjI1NTY5IDExMy4wMTQ1MTMsMjQuNjE0MjI0MSBMMTEyLjkyMDU3NCwyNC42MDkzNjIxIEMxMTIuNjgwODY5LDI0LjU5NDc3NTkgMTEyLjQ0MDM1MywyNC41ODM0MzEgMTEyLjE5OTgzOCwyNC41NzI4OTY2IEMxMTEuOTgzNjE3LDI0LjU2Mzk4MjggMTExLjc2NzM5NiwyNC41NTUwNjkgMTExLjU0NzkzNiwyNC41NDc3NzU5IEMxMTEuMzIzNjE3LDI0LjU0MTI5MzEgMTExLjA5ODQ4OCwyNC41MzgwNTE3IDExMC44NzI1NSwyNC41MzQgTDExMC43ODgzMjksMjQuNTMyMzc5MyBDMTEwLjI3NDA5NiwyNC41MjUwODYyIDEwOS43NjE0ODIsMjQuNTI0Mjc1OSAxMDkuMjM4MzQxLDI0LjUzMTU2OSBDMTA4Ljk2ODY3MiwyNC41MzU2MjA3IDEwOC42OTk4MTMsMjQuNTQwNDgyOCAxMDguNDI4NTI1LDI0LjU0ODU4NjIgQzEwOC40MTMxMzksMjQuNTQ5Mzk2NiAxMDguMzk2OTQyLDI0LjU1MDIwNjkgMTA4LjM4MTU1NiwyNC41NTAyMDY5IEMxMDguMzIzMjQ5LDI0LjUzNTYyMDcgMTA4LjI2MzMyMywyNC41MjUwODYyIDEwOC4yMDA5NjcsMjQuNTI1MDg2MiBMMTA4LjE5ODUzNywyNC41MjUwODYyIEMxMDguMTE5MTc1LDI0LjUyNTg5NjYgMTA4LjA0Mzg2MywyNC41NDIxMDM0IDEwNy45NzI1OTksMjQuNTY0NzkzMSBDMTA3LjkwMTMzNSwyNC41NjgwMzQ1IDEwNy44MjkyNjEsMjQuNTcwNDY1NSAxMDcuNzU3OTk4LDI0LjU3Mjg5NjYgQzEwNy4zODMwNTMsMjQuNTg5MTAzNCAxMDcuMDA3Mjk4LDI0LjYwNzc0MTQgMTA2LjYyMDIwNiwyNC42MzA0MzEgQzEwNi40MDcyMjUsMjQuNjQ0MjA2OSAxMDYuMTk1MDUzLDI0LjY1NzE3MjQgMTA1Ljk4MjA3MSwyNC42NzI1NjkgQzEwNS41ODQ0NTIsMjQuNzAwOTMxIDEwNS4xODUyMTIsMjQuNzM1Nzc1OSAxMDQuNzg2NzgzLDI0Ljc3MjI0MTQgTDEwNC42MTEwNTMsMjQuNzg5MjU4NiBDMTA0LjQ4Nzk2MSwyNC43OTg5ODI4IDEwNC4zNjQwNTksMjQuODEwMzI3NiAxMDQuMjQwMTU3LDI0LjgyMzI5MzEgQzEwMy41NTAxOTQsMjQuODk0NjAzNCAxMDIuODQ2NDY0LDI0Ljk3ODA2OSAxMDIuMTUwMDIyLDI1LjA3NDUgTDEwMS42NzMwNCwyNS4xNDMzNzkzIEMxMDEuMDY0ODY5LDI1LjIzMjUxNzIgMTAwLjQ1NjY5NywyNS4zMzA1NjkgOTkuODQ5MzM1LDI1LjQzNjcyNDEgTDk5LjQ0NTIzNjgsMjUuNTA2NDEzOCBDOTguODM5NDk0NSwyNS42MTgyNDE0IDk4LjIzMzc1MjEsMjUuNzM4MTcyNCA5Ny42Mjk2Mjk0LDI1Ljg2NzAxNzIgTDk3LjMxMjE4MTYsMjUuOTM5MTM3OSBDOTYuODEwMDk1NywyNi4wNDg1MzQ1IDk2LjMwODgxOTYsMjYuMTY2MDM0NSA5NS44MDgzNTM0LDI2LjI4ODM5NjYgQzk1LjY1NTI5ODIsMjYuMzI2NDgyOCA5NS41MDIyNDI5LDI2LjM2NjE4OTcgOTUuMzQ5MTg3NywyNi40MDU4OTY2IEw5NS4yMTM5NDg1LDI2LjQ0MDc0MTQgQzk0Ljc5NjA4MzQsMjYuNTQ3NzA2OSA5NC4zODA2NDc5LDI2LjY1ODcyNDEgOTMuOTY3NjQxNywyNi43NzQ2MDM0IEM5My43NjE5NDg1LDI2LjgzMTMyNzYgOTMuNTU2MjU1MiwyNi44ODg4NjIxIDkzLjM1MDU2MiwyNi45NDg4Mjc2IEM5Mi45MDAzMDQzLDI3LjA4MDEwMzQgOTIuNDUxNjY2MywyNy4yMTc4NjIxIDkyLjAwMzgzOCwyNy4zNTk2NzI0IEw5MS4wMDkzODQsMjcuNjgzIEM5MC44NTE0Njk5LDI3LjczNDg2MjEgOTAuNjk1OTg1MywyNy43ODk5NjU1IDkwLjU0NDU0OTcsMjcuODQyNjM3OSBMOTAuNDM5MjczNiwyNy44Nzc0ODI4IEM5MC4zMTY5OTE0LDI3LjkxOTYyMDcgOTAuMTk0NzA5MiwyNy45NjA5NDgzIDkwLjA3NDA0NjYsMjguMDAzMDg2MiBDODkuOTI1MDQwNSwyOC4wNTU3NTg2IDg5Ljc3NzY1NCwyOC4xMTAwNTE3IDg5LjYzMDI2NzUsMjguMTY1MTU1MiBMODkuMzk3ODUwMywyOC4yNTAyNDE0IEM4OS4xNDAzMjg4LDI4LjM0NTA1MTcgODguODgyODA3NCwyOC40NDA2NzI0IDg4LjYyNjA5NTcsMjguNTQwMzQ0OCBDODguNDI2ODgxLDI4LjYxNjUxNzIgODguMjMwMDk1NywyOC42OTQzMTAzIDg4LjAzNDEyMDIsMjguNzczNzI0MSBDODcuNzUzMTE0MSwyOC44ODQ3NDE0IDg3LjQ3MzcyNzYsMjguOTk4MTg5NyA4Ny4xOTc1ODA0LDI5LjExNDg3OTMgQzg2Ljk5OTE3NTUsMjkuMTk1OTEzOCA4Ni44MDE1ODA0LDI5LjI4MDE4OTcgODYuNjA1NjA0OSwyOS4zNjM2NTUyIEM4Ni4zMjc4MzgsMjkuNDg0Mzk2NiA4Ni4wNTI1MDA2LDI5LjYwNTk0ODMgODUuNzc4NzgyOCwyOS43Mjk5MzEgQzg1LjU4NjA0NjYsMjkuODE2NjM3OSA4NS4zOTQ5MzAxLDI5LjkwMjUzNDUgODUuMjA2MjQyOSwyOS45OTE2NzI0IEM4NS4wMTY3NDYsMzAuMDc5MTg5NyA4NC44MzA0ODgzLDMwLjE2OTEzNzkgODQuNjQzNDIwOSwzMC4yNTk4OTY2IEw4NC4yMDc3Mzk5LDMwLjQ2ODk2NTUgQzg0LjA4MzAyODIsMzAuNTMwNTUxNyA4My45NTkxMjY0LDMwLjU5MDUxNzIgODMuODM0NDE0NywzMC42NTI5MTM4IEM4My43MjU4OTk0LDMwLjcwNzIwNjkgODMuNjE5ODEzNSwzMC43NjMxMjA3IDgzLjUxMjkxNzgsMzAuODE5MDM0NSBMODIuNzgyNDYzOCwzMS4xOTc0NjU1IEM4Mi42ODUyODU5LDMxLjI0NzcwNjkgODIuNTg4MTA4LDMxLjI5ODc1ODYgODIuNDkzMzU5NSwzMS4zNDk4MTAzIEM4Mi4wNTEyLDMxLjU4ODg2MjEgODEuNjEzMDg5NiwzMS44MzI3NzU5IDgxLjE4MTQ1NzcsMzIuMDgzOTgyOCBDODAuNzk0MzY1NiwzMi4zMDkyNTg2IDgwLjQxOTQyMDksMzIuNTM3Nzc1OSA4MC4wNDg1MjUyLDMyLjc2ODcyNDEgTDc5Ljc2MzQ2OTksMzIuOTQ1Mzc5MyBDNzkuNjU5ODEzNSwzMy4wMTEwMTcyIDc5LjU1ODU4NjUsMzMuMDc3NDY1NSA3OS40NTczNTk1LDMzLjE0MzkxMzggTDc5LjI4ODEwOCwzMy4yNTU3NDE0IEM3OC45NzYzMjg4LDMzLjQ1OTEzNzkgNzguNjY2OTc5MSwzMy42NjMzNDQ4IDc4LjM2NTcyNzYsMzMuODcwNzkzMSBDNzguMjIxNTgwNCwzMy45NzA0NjU1IDc4LjA4MDY3MjQsMzQuMDcwMTM3OSA3Ny45Mzk3NjQ0LDM0LjE3MDYyMDcgTDc3Ljg2OTMxMDQsMzQuMjIwODYyMSBDNzcuNTk4ODMxOSwzNC40MTQ1MzQ1IDc3LjMzMDc4MjgsMzQuNjA4MjA2OSA3Ny4wNzAwMjIxLDM0LjgwNTEyMDcgQzc2LjkwODA1ODksMzQuOTI3NDgyOCA3Ni43NDc3MTUzLDM1LjA0OTg0NDggNzYuNTg5ODAxMiwzNS4xNzMwMTcyIEM3Ni4zMzQ3MDkyLDM1LjM3MTU1MTcgNzYuMDg2MDk1NywzNS41NzA4OTY2IDc1Ljg0MTUzMTMsMzUuNzczNDgyOCBMNzUuNzMzODI1OCwzNS44NjI2MjA3IEM3NS42MjQ1MDA2LDM1Ljk1MjU2OSA3NS41MTQzNjU2LDM2LjA0MjUxNzIgNzUuNDA3NDY5OSwzNi4xMzQwODYyIEM3NS4yMjc2OTA4LDM2LjI4ODA1MTcgNzUuMDU0MzkwMiwzNi40NDI4Mjc2IDc0Ljg4MTA4OTYsMzYuNTk2NzkzMSBMNzQuNjYyNDM5MywzNi43OTI4OTY2IEM3NC41NTQ3MzM3LDM2Ljg4OTMyNzYgNzQuNDQ3ODM4LDM2Ljk4NDk0ODMgNzQuMzM0NDYzOCwzNy4wOTAyOTMxIEw3NC4yNTc1MzEzLDM3LjE2NDg0NDggQzczLjk3NzMzNSwzNy40MjkwMTcyIDczLjcwNjA0NjYsMzcuNjk1NjIwNyA3My40NDUyODU5LDM3Ljk2MjIyNDEgQzczLjM1NzAxNiwzOC4wNTIxNzI0IDczLjI2OTU1NTgsMzguMTQyMTIwNyA3My4xODUzMzUsMzguMjMyMDY5IEM3Mi45MTY0NzYxLDM4LjUxMzI1ODYgNzIuNjU3MzM1LDM4Ljc5NTI1ODYgNzIuMzkzMzM1LDM5LjA5NzUxNzIgQzcyLjIyNDg5MzMsMzkuMjkxMTg5NyA3Mi4wNjUzNTk1LDM5LjQ4NDg2MjEgNzEuOTA3NDQ1NCwzOS42NzkzNDQ4IEw3MS44MjcyNzM2LDM5Ljc3NDk2NTUgQzcxLjc3NjI1NTIsMzkuODM1NzQxNCA3MS43MjYwNDY2LDM5Ljg5NTcwNjkgNzEuNjc3NDU3NywzOS45NTcyOTMxIEM3MS41NjgxMzI1LDQwLjA5NTg2MjEgNzEuNDY2MDk1Nyw0MC4yMzM2MjA3IDcxLjM2NDA1ODksNDAuMzcxMzc5MyBMNzEuMjcwMTIwMiw0MC40OTk0MTM4IEM3MS4yMTE4MTM1LDQwLjU3NzIwNjkgNzEuMTU5MTc1NSw0MC42NTU4MTAzIDcxLjEwMjQ4ODMsNDAuNzMzNjAzNCBDNzIuNjkxMzQ3MiwzNy44MDk4NzkzIDc1LjQyNzcxNTMsMzQuOTIxODEwMyA3OS4xMDkxMzg3LDMyLjM1NDYzNzkgTDc5LjEwOTEzODcsMzIuMzU0NjM3OSBaIE03MS42NjIwNzEyLDUyLjI3ODU4NjIgQzcxLjYxODM0MTEsNTIuMjI0MjkzMSA3MS41NzM4MDEyLDUyLjE3MTYyMDcgNzEuNTMyNTAwNiw1Mi4xMTczMjc2IEM3MS40MzA0NjM4LDUxLjk4NTI0MTQgNzEuMzM1NzE1Myw1MS44NTE1MzQ1IDcxLjI0MTc3NjcsNTEuNzE3MDE3MiBDNzEuMTk2NDI3LDUxLjY1MjE4OTcgNzEuMTQ5NDU3Nyw1MS41ODgxNzI0IDcxLjEwNjUzNzQsNTEuNTIzMzQ0OCBDNzEuMDE3NDU3Nyw1MS4zODk2Mzc5IDcwLjkzNDA0NjYsNTEuMjU0MzEwMyA3MC44NTMwNjUsNTEuMTE4MTcyNCBDNzAuODEwOTU0Niw1MS4wNDg0ODI4IDcwLjc2ODAzNDQsNTAuOTc4NzkzMSA3MC43MjgzNTM0LDUwLjkwODI5MzEgQzcwLjY1Mzg1MDMsNTAuNzc2MjA2OSA3MC41ODMzOTYzLDUwLjY0MjUgNzAuNTE1MzcxOCw1MC41MDc5ODI4IEM3MC40NzU2OTA4LDUwLjQzMDE4OTcgNzAuNDM2MDA5OCw1MC4zNTMyMDY5IDcwLjM5OTU2ODEsNTAuMjc0NjAzNCBDNzAuMzM4ODMxOSw1MC4xNDY1NjkgNzAuMjgyOTU0Niw1MC4wMTY5MTM4IDcwLjIyODY5NjksNDkuODg3MjU4NiBDNzAuMTkxNDQ1NCw0OS43OTgxMjA3IDcwLjE1NDE5MzksNDkuNzA4MTcyNCA3MC4xMjAxODE2LDQ5LjYxNzQxMzggQzcwLjA3NDgzMTksNDkuNDk4MjkzMSA3MC4wMzI3MjE1LDQ5LjM3NzU1MTcgNjkuOTkyMjMwNyw0OS4yNTY4MTAzIEM2OS45NTc0MDg2LDQ5LjE1MDY1NTIgNjkuOTIzMzk2Myw0OS4wNDQ1IDY5Ljg5MTgxMzUsNDguOTM4MzQ0OCBDNjkuODYwMjMwNyw0OC44MzEzNzkzIDY5LjgzMTg4NzEsNDguNzIyNzkzMSA2OS44MDQzNTM0LDQ4LjYxNDIwNjkgQzY5Ljc3Mjc3MDYsNDguNDg4NjAzNCA2OS43NDI4MDc0LDQ4LjM2MTM3OTMgNjkuNzE2ODkzMyw0OC4yMzMzNDQ4IEM2OS42OTgyNjc1LDQ4LjE0MzM5NjYgNjkuNjgwNDUxNSw0OC4wNTM0NDgzIDY5LjY2NTA2NSw0Ny45NjE4NzkzIEM2OS42NTI5MTc4LDQ3Ljg5MzgxMDMgNjkuNjQ0ODE5Niw0Ny44MjQ5MzEgNjkuNjM1MTAxOCw0Ny43NTY4NjIxIEM2OS42NTA0ODgzLDQ3LjY0NTg0NDggNjkuNjY5MTE0MSw0Ny41Mjk5NjU1IDY5LjY5MzQwODYsNDcuMzkxMzk2NiBDNjkuNzEzNjU0LDQ3LjI3NzEzNzkgNjkuNzMzODk5NCw0Ny4xNjIwNjkgNjkuNzU4MTkzOSw0Ny4wNDk0MzEgQzY5Ljc5Nzg3NDgsNDYuODYwNjIwNyA2OS44NDY0NjM4LDQ2LjY3MTgxMDMgNjkuODk2NjcyNCw0Ni40ODM4MTAzIEw2OS45MjkwNjUsNDYuMzYzMDY5IEM2OS45NDYwNzEyLDQ2LjI5NSA2OS45NjM4ODcxLDQ2LjIyNjkzMSA2OS45ODgxODE2LDQ2LjE1MDc1ODYgTDcwLjAzNTk2MDcsNDYuMDAyNDY1NSBDNzAuMDU4NjM1Niw0NS45MzExNTUyIDcwLjA4MzczOTksNDUuODU3NDEzOCA3MC4xMDg4NDQyLDQ1Ljc4NDQ4MjggQzcwLjU2MDcyMTUsNDUuNzk1ODI3NiA3MC45NjIzOTAyLDQ1LjkxOTgxMDMgNzEuMjkyNzk1MSw0Ni4xNjUzNDQ4IEM3MS45NzIyMzA3LDQ2LjY2Njk0ODMgNzIuMzQ4Nzk1MSw0Ny42NTE1MTcyIDcyLjM1Mjg0NDIsNDguOTM0MjkzMSBDNzIuMzU1MjczNiw0OS45NjQyNDE0IDcyLjExMTUxOSw1MS4xMjMwMzQ1IDcxLjY2MjA3MTIsNTIuMjc4NTg2MiBMNzEuNjYyMDcxMiw1Mi4yNzg1ODYyIFogTTc0LjAyMTg3NDgsNTcuOTQzNzA2OSBMNzQuNzU0NzU4Myw1Ny41MTk4OTY2IEw3NC43NTQ3NTgzLDU3LjUyOTYyMDcgTDc0LjczNTMyMjcsNjQuNTQ4MDE3MiBMNzQuNzM1MzIyNyw2NC41NDg4Mjc2IEM3NC43MzQ1MTI5LDY0LjYwNjM2MjEgNzQuNzQyNjExLDY0LjY2MjI3NTkgNzQuNzU0NzU4Myw2NC43MTU3NTg2IEw3NC43NTQ3NTgzLDg4Ljk4ODAxNzIgTDczLjkzOTI3MzYsODkuNDU4ODI3NiBMNzQuMDIxODc0OCw1Ny45NDM3MDY5IFogTTM3Ljc0MDUwMDYsNjkuMjE5NjU1MiBMMzcuODIyMjkyLDM3Ljk5MjIwNjkgTDcyLjUzMTgxMzUsNTguMDQ1IEw3Mi40NTQwNzEyLDg3LjgyMTkzMSBDNzIuNDQ2NzgyOCw4Ny44NjQwNjkgNzIuNDQ0MzUzNCw4Ny45MDUzOTY2IDcyLjQ0NDM1MzQsODcuOTQ3NTM0NSBDNzIuNDQ1MTYzMiw4OC4wMDUwNjkgNzIuNDQ1MTYzMiw4OC42MjgyMjQxIDcyLjQ0NTk3Myw4OS4yNTA1NjkgTDcyLjQ0NTk3Myw4OS4yNjkyMDY5IEwzNy43NDA1MDA2LDY5LjIxOTY1NTIgWiBNNTguNzMzMzU5NSwxMy4yMTc1MzQ1IEw2Ni41MjI5NzkxLDE4Ljc5ODM3OTMgTDM2LjcwNzk4NTMsMzYuMDUyMjQxNCBDMzYuNzAwNjk2OSwzNi4wNTcxMDM0IDM2LjY5NDIxODQsMzYuMDYyNzc1OSAzNi42ODc3Mzk5LDM2LjA2NzYzNzkgQzM2LjY3NzIxMjMsMzYuMDczMzEwMyAzNi42NjY2ODQ3LDM2LjA3ODk4MjggMzYuNjU2OTY2OSwzNi4wODYyNzU5IEMzNi42MzUxMDE4LDM2LjEwMTY3MjQgMzYuNjE0MDQ2NiwzNi4xMTcwNjkgMzYuNTkzODAxMiwzNi4xMzU3MDY5IEMzNi41ODczMjI3LDM2LjE0MDU2OSAzNi41ODE2NTQsMzYuMTQ2MjQxNCAzNi41NzUxNzU1LDM2LjE1MTkxMzggQzM2LjU3MTEyNjQsMzYuMTU1OTY1NSAzNi41NjcwNzczLDM2LjE2MDAxNzIgMzYuNTYyMjE4NCwzNi4xNjQwNjkgQzM2LjU1ODk3OTEsMzYuMTY3MzEwMyAzNi41NTU3Mzk5LDM2LjE3MDU1MTcgMzYuNTUyNTAwNiwzNi4xNzI5ODI4IEMzNi41Mjk4MjU4LDM2LjE5NTY3MjQgMzYuNTA4NzcwNiwzNi4yMTk5ODI4IDM2LjQ4OTMzNSwzNi4yNDUxMDM0IEMzNi40ODY5MDU1LDM2LjI0ODM0NDggMzYuNDg1Mjg1OSwzNi4yNTE1ODYyIDM2LjQ4Mjg1NjQsMzYuMjU0ODI3NiBDMzYuNDc3MTg3NywzNi4yNjIxMjA3IDM2LjQ3MjMyODgsMzYuMjY5NDEzOCAzNi40NjY2NjAxLDM2LjI3NTg5NjYgQzM2LjQ2NTg1MDMsMzYuMjc4MzI3NiAzNi40NjQyMzA3LDM2LjI3OTk0ODMgMzYuNDYyNjExLDM2LjI4MjM3OTMgQzM2LjQ1MjA4MzQsMzYuMjk3Nzc1OSAzNi40Mzk5MzYyLDM2LjMxMDc0MTQgMzYuNDMwMjE4NCwzNi4zMjY5NDgzIEMzNi4zNTAwNDY2LDM2LjQ2NzEzNzkgMzYuMzIwODkzMywzNi42MjE5MTM4IDM2LjMzNTQ2OTksMzYuNzcxODI3NiBMMzYuMjUzNjc4NSw2OC4xODk3MDY5IEwzLjg1Mzc1MjE1LDQ0Ljk3ODE4OTcgTDU4LjczMzM1OTUsMTMuMjE3NTM0NSBaIE0xMzAuNzI5MjM3LDIyLjgzMTQ2NTUgTDk0LjYxNzExNDEsMS45NjgzMjc1OSBDOTQuMjMzMjYxMywxLjc0NjI5MzEgOTMuODA0MDU4OSwxLjYzNTI3NTg2IDkzLjM3NTY2NjMsMS42MzUyNzU4NiBDOTIuOTQ2NDYzOCwxLjYzNTI3NTg2IDkyLjUxNzI2MTMsMS43NDYyOTMxIDkyLjEzMjU5ODgsMS45NjkxMzc5MyBMNjguMDM4MTQ0OCwxNS45MTM1NTE3IEw2MS4yNjA3OTUxLDExLjA1NTUzNDUgTDYxLjI2MDc5NTEsNS45NjI1MTcyNCBDNjEuMjYwNzk1MSwyLjgxMTg5NjU1IDU4LjY5NjEwOCwwLjI0NzE1NTE3MiA1NS41NDM0OTQ1LDAuMjQ3MTU1MTcyIEM1NC41NDgyMzA3LDAuMjQ3MTU1MTcyIDUzLjU2MTA2NSwwLjUxNTM3OTMxIDUyLjY4NzI3MzYsMS4wMjE4NDQ4MyBMNS40MzUzMjI3LDI4LjM2NjkzMSBDMi4wODM0OTQ0OCwzMC4zMDI4NDQ4IC0wLjAwMDE2MTk2MzE5LDMzLjkxNjE3MjQgLTAuMDAwMTYxOTYzMTksMzcuNzk1MjkzMSBMLTAuMDAwMTYxOTYzMTksNDQuOTEwOTMxIEMtMC4wMDAxNjE5NjMxOSw0NS43MTE1NTE3IDAuMzg2MTIwMjQ1LDQ2LjQ2NDM2MjEgMS4wMzcyMTIyNyw0Ni45MzAzMTAzIEwzNS41NDk5NDg1LDcxLjY2Mjg0NDggQzM1LjU2MjkwNTUsNzEuNjcyNTY5IDM1LjU3NjY3MjQsNzEuNjgyMjkzMSAzNS41ODk2Mjk0LDcxLjY5MTIwNjkgTDM1LjY2ODk5MTQsNzEuNzQ1NSBDMzUuNzIyNDM5Myw3MS43ODI3NzU5IDM1Ljc3NzUwNjcsNzEuODE3NjIwNyAzNS44MzQxOTM5LDcxLjg1MDAzNDUgTDcxLjUyNTIxMjMsOTIuNDY2MDE3MiBDNzEuOTk0OTA1NSw5Mi45MzUyMDY5IDcyLjYzMDYxMSw5My4xODk2NTUyIDczLjI3OTI3MzYsOTMuMTg5NjU1MiBDNzMuNzAwMzc3OSw5My4xODk2NTUyIDc0LjEyNzk2MDcsOTMuMDgxODc5MyA3NC41MTkxMDE4LDkyLjg1NTc5MzEgTDc2Ljc0MzY2NjMsOTEuNTY4OTY1NSBDNzcuNTExMzcxOCw5MS4xMjQ4OTY2IDc3Ljk4MzQ5NDUsOTAuMzA0ODI3NiA3Ny45ODM0OTQ1LDg5LjQxODMxMDMgTDc3Ljk4MzQ5NDUsNjUuMjQ4OTY1NSBDNzguMDA1MzU5NSw2NS4xODkgNzguMDI1NjA0OSw2NS4xMjc0MTM4IDc4LjA0MjYxMSw2NS4wNjUwMTcyIEw3OS42NTY1NzQyLDU5LjIzMzc3NTkgTDc5LjgxNjEwOCw1OS4yNzUxMDM0IEw4Ny43NzkwMjgyLDYxLjMzNjYyMDcgQzg3Ljk3NTAwMzcsNjEuMzg3NjcyNCA4OC4xNzY2NDc5LDYxLjQxNDQxMzggODguMzc5OTExNyw2MS40MTYwMzQ1IEw5MC4xMjc0OTQ1LDYxLjQzMDYyMDcgTDkwLjE0ODU0OTcsNjEuNDMwNjIwNyBDOTAuNDMzNjA0OSw2MS40MzA2MjA3IDkwLjcxNjIzMDcsNjEuMzgyIDkwLjk4NTA4OTYsNjEuMjg1NTY5IEM5Ny4wMjA2NDc5LDU5LjEyMzU2OSAxMDMuNzcyMDgzLDU3LjkzMjM2MjEgMTA5Ljk5NDcwOSw1Ny45MzIzNjIxIEMxMTYuMTk5NTE5LDU3LjkzMjM2MjEgMTIxLjc0OTE4OCw1OS4xMTU0NjU1IDEyNS42NzE5MzYsNjEuMjY5MzYyMSBDMTI1Ljk1NzgwMSw2MS41MjYyNDE0IDEyNi4zMDE5NzMsNjEuNzE0MjQxNCAxMjYuNjgwMTU3LDYxLjgxNjM0NDggQzEyNi44OTMxMzksNjEuODczODc5MyAxMjcuMTEwOTc5LDYxLjkwMjI0MTQgMTI3LjMyODAxLDYxLjkwMjI0MTQgQzEyNy43NTk2NDIsNjEuOTAyMjQxNCAxMjguMTg4MDM0LDYxLjc5MDQxMzggMTI4LjU2ODY0OCw2MS41NyBMMTMwLjcyODQyNyw2MC4zMjI4NzkzIEMxMzEuNDk2OTQyLDU5Ljg3OTYyMDcgMTMxLjk3MDY4NSw1OS4wNTk1NTE3IDEzMS45NzA2ODUsNTguMTcxNDEzOCBMMTMxLjk3MDY4NSwyNC45ODIxMjA3IEMxMzEuOTcwNjg1LDI0LjA5NDc5MzEgMTMxLjQ5Njk0MiwyMy4yNzQ3MjQxIDEzMC43MjkyMzcsMjIuODMxNDY1NSBMMTMwLjcyOTIzNywyMi44MzE0NjU1IFoiIGlkPSJGaWxsLTQ1IiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTk3LjUyODgwNzQsMjkuMzM4NDUzNCBDOTguMjg1OTg1MywyOC45MDA4NjcyIDk5LjAwMDI0MjksMjguNjc5NjQzMSA5OS42MjYyMzA3LDI4LjY3OTY0MzEgQzEwMC4wMjMwNCwyOC42Nzk2NDMxIDEwMC4zODM0MDksMjguNzY4NzgxIDEwMC42OTU5OTgsMjguOTQ5NDg3OSBDMTAxLjQ5MjA0NywyOS40MDczMzI4IDEwMS45MzMzOTYsMzAuNDM1NjYwMyAxMDEuOTM3NDQ1LDMxLjg0MjQxOSBDMTAxLjk0NjM1MywzNS4wOTUxNDMxIDk5LjY1MDUyNTIsMzkuMDcxNTA1MiA5Ni44MjAyMTg0LDQwLjcwNTk3MDcgQzk1LjU4MjgxOTYsNDEuNDE5ODg0NSA5NC40NTk2MDQ5LDQxLjU1NzY0MzEgOTMuNjU2MjY3NSw0MS4wOTQ5MzYyIEM5Mi44NTk0MDg2LDQwLjYzNTQ3MDcgOTIuNDE4MDU4OSwzOS42MDc5NTM0IDkyLjQxNDgxOTYsMzguMjAxMTk0OCBDOTIuNDA1MTAxOCwzNC45NDg0NzA3IDk0LjY5OTMxMDQsMzAuOTczNzI5MyA5Ny41Mjg4MDc0LDI5LjMzODQ1MzQgTTkyLjkxMzY2NjMsNDIuMzg3NDM2MiBDOTMuNDU4NjcyNCw0Mi43MDAyMjkzIDk0LjA2ODQ2MzgsNDIuODU2NjI1OSA5NC43MjExNzU1LDQyLjg1NjYyNTkgQzk1LjYwODczMzcsNDIuODU2NjI1OSA5Ni41NzY0NjM4LDQyLjU2NzMzMjggOTcuNTY0NDM5Myw0MS45OTY4NSBDMTAwLjg2MjAxLDQwLjA5MjUzOTcgMTAzLjQzNzIyNSwzNS42Mjk5NzA3IDEwMy40MjY2OTcsMzEuODM4MzY3MiBDMTAzLjQyMTAyOCwyOS44NzY1MjI0IDEwMi43MTQ4NjksMjguMzkxOTcwNyAxMDEuNDM4NTk5LDI3LjY1Njk4NzkgQzEwMC4xNTQyMzEsMjYuOTE3MTQzMSA5OC41MDEzOTYzLDI3LjA1NjUyMjQgOTYuNzgzNzc2NywyOC4wNDc1NzQxIEM5My40ODc4MjU4LDI5Ljk1MTg4NDUgOTAuOTE0MjMwNywzNC40MTQ0NTM0IDkwLjkyNTU2ODEsMzguMjA0NDM2MiBDOTAuOTMwNDI3LDQwLjE2NTQ3MDcgOTEuNjM3Mzk2Myw0MS42NTE2NDMxIDkyLjkxMzY2NjMsNDIuMzg3NDM2MiIgaWQ9IkZpbGwtNDMiIGZpbGw9IiNGRkZGRkYiIG1hc2s9InVybCgjbWFzay0yKSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NC42MjY2OTc1LDU0LjgyNTc1MjggTDc3LjA0MDEwMDIsNTkuMDQ5MjA3NSBMNzcuMDQwMTAwMiw1OS4wNDkyMDc1IEM3Ny4zMDY0OTY4LDU5LjUxNTQwMTUgNzcuMTU3MTc5OCw2MC4xMDg3NjczIDc2LjcwMTg1Niw2MC4zOTMzNDQ3IEw3MS44NzUwNTA3LDYzLjQxMDA5OCBMNzEuODc1MDUwNyw2My40MTAwOTggQzcxLjQwNjcxNDEsNjMuNzAyODA4NCA3MC43ODk3NjM4LDYzLjU2MDQzNTIgNzAuNDk3MDUzNCw2My4wOTIwOTg3IEM3MC4zMzg5NjQ1LDYyLjgzOTE1NjMgNzAuMzAyMDQzNSw2Mi41Mjg4NDY4IDcwLjM5NjM2ODQsNjIuMjQ1ODcyIEw3Mi44MDk3NzExLDU1LjAwNTY2NCBMNzIuODA5NzcxMSw1NS4wMDU2NjQgQzcyLjk4NDQxODksNTQuNDgxNzIwNyA3My41NTA3Mzg4LDU0LjE5ODU2MDcgNzQuMDc0NjgyMiw1NC4zNzMyMDg0IEM3NC4zMDgwOTMxLDU0LjQ1MTAxMjEgNzQuNTA0NjI5MSw1NC42MTIxMzMxIDc0LjYyNjY5NzUsNTQuODI1NzUyOCBaIiBpZD0iVHJpYW5nbGUiIGZpbGwtb3BhY2l0eT0iMC4yNjYwNDk1OTIiIGZpbGw9IiNGRkZGRkYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDczLjc1ODUyMSwgNTguOTQxOTI3KSByb3RhdGUoMTgwLjAwMDAwMCkgdHJhbnNsYXRlKC03My43NTg1MjEsIC01OC45NDE5MjcpICI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="/>\n <ol style="">\n <li>进入:将手机横屏放入VR眼镜中</li>\n <li>前进:视角中心对准蓝点,直至变绿</li>\n <li>退出:将手机竖屏再触碰屏幕</li>\n </ol>\n ';var l=new p.default(c);e.parentNode&&(e.parentNode.insertBefore(M,e),e.parentNode.insertBefore(c,e),this.setHelperElementSize(),l.on("tap",this.vrWantsToExit.bind(this))),this.destroyHelper=function(){l.destroy(),M.parentNode&&M.parentNode.removeChild(M),c.parentNode&&c.parentNode.removeChild(c)}},n.prototype.setHelperElementSize=function(){if(this.helperElement){var e=this.renderer.domElement,t=new u.Vector2(e.offsetWidth,e.offsetHeight),n=t.x*this.scissor.left,i=t.y*(1-this.scissor.bottom-this.scissor.height),r=t.x*this.scissor.width,o=t.y*this.scissor.height;this.helperElement.style.marginLeft=n+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=r+"px",this.helperElement.style.height=o+"px"}},n.prototype.destroyHelper=function(){},n.prototype.resize=function(){var e=this.element,t=e.offsetWidth,n=e.offsetHeight;this.effect.isPresenting=!1,this.effect.setSize(t,n),this.effect.isPresenting=!0,this.needsRender=!0,this.setHelperElementSize()},n.prototype.doMoveToPano=function(){for(var t=this,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];e.prototype.doMoveToPano.apply(this,n);var r=n[0],o=this.work.observers[r],s=o.visibleNodes;s=s.filter((function(e){return t.work.observers[e].active}));var a=this.panoSphereMeshes.filter((function(e){return e.panoIndex===r}))[0];this.panoSphereMeshes.forEach((function(e){if(e.visible=s.indexOf(e.panoIndex)>=0,a){var t=a.position.distanceTo(e.position)<5;e.visible=e.visible&&t}})),this.needsRender=!0},n.prototype.vrWantsToExit=function(){this.emit("vrWantsToExit")},n.prototype.onPanGesture=function(){},n.prototype.onTapGesture=function(){},n.prototype.onPinchGesture=function(){},n.prototype.onMouseMove=function(){},n.prototype.onMouseOut=function(){},n.prototype.renderIntersect=function(){var e=this,t=e.camera,n=e.model,i=e.intersectMesh,r=e.panoSphereMeshes,o=e.intersectCameraPosition,s=e.intersectCameraVector,a=e.intersectActiveSphereMesh,M=e.intersectActiveDate;if(i){a&&M&&I()-M>2e3&&(delete this.intersectActiveDate,a.setCurrent(),this.moveToPano(a.panoIndex,{},!0));var c=t.getWorldDirection(new u.Vector3);if(!(o&&s&&t.pose.offset.equals(o)&&c.equals(s))){var l=t.pose.offset.clone(),d=new u.Raycaster(l,c),N=null,p=null;if(!N)for(var h=0,D=r.filter((function(e){return e.visible}));h<D.length;h++){var y=D[h],g=d.intersectObject(y,!0)[0];if(g){N=g,p=y;break}}if(N||n.empty||(N=n.intersectRaycaster(d)[0]),N&&N.face){var z=N.face.normal,T=new u.Quaternion;T.setFromUnitVectors(new u.Vector3(0,0,-1),z),i.quaternion.copy(T);var j=z.clone().multiplyScalar(.05),f=N.point.clone().add(j);if(i.position.copy(f),i.visible=!0,this.emit("intersectionOnModelUpdate",N,i),r.forEach((function(e){return e.reset()})),p)(y=p).setActive(),this.intersectActiveSphereMesh!==y&&(this.intersectActiveSphereMesh=y,this.intersectActiveDate=I());else delete this.intersectActiveSphereMesh,delete this.intersectActiveDate}else i.visible=!1,this.emit("intersectionHidden"),delete this.intersectActiveSphereMesh,delete this.intersectActiveDate;this.intersectCameraPosition=t.pose.offset.clone(),this.intersectCameraVector=c.clone(),this.needsRender=!0}}},n.prototype.render=function(){var e=this,t=e.effect,n=e.camera,i=e.scene,r=t.getVRDisplay(),o=this.camera.pose,s=o.longitude,a=o.latitude;if(r){var M=r.getPose();if(j(M.orientation)||n.quaternion.fromArray(M.orientation),r.stageParameters){n.updateMatrix();var c=r.stageParameters.sittingToStandingTransform,l=new u.Matrix4;l.fromArray(c),n.applyMatrix4(l)}}n.updateMatrixWorld(),n.computePose();var d=this.camera.pose,N=d.longitude,p=d.latitude;s===N&&a===p||(this.emit("cameraDirectionUpdate",{longitude:N,latitude:p},!0),this.emit("cameraUpdate",this.camera.copyPose(),!0)),this.renderIntersect(),t.render(i,n)},n}(dn),zn=function(e){function n(t){var i=this,r=n.parseArgs(t);return(i=e.call(this,r)||this).on("panoWillArrive",(function(){return i.ready=!1})),i.on("panoArrived",(function(){return i.ready=!0})),i}return t.__extends(n,e),n.parseArgs=function(t){return e.parseArgs.call(this,t)},n.initAnimationEndPose=function(t){var n=this.parseArgs(t);return e.initAnimationEndPose.call(this,n)},n.prototype.destroy=function(){e.prototype.destroy.call(this)},n.prototype.updateWork=function(e,t,n,i){return this.ready=!1,this.work=e,this.currentPanoIndex=t.panoIndex,this.hideIntersectMesh(),this.moveToPano(t.panoIndex,{duration:0,longitude:t.longitude,latitude:t.latitude,fov:t.fov},i),!0},n.prototype.moveToPano=function(e,t,n){void 0===t&&(t={});var i=this.work.observers[e];i&&this.moveToPosition(i.position,t,n)},n.prototype.moveToPosition=function(e,t,n){var i,r,o,s,a,M,c=this;void 0===t&&(t={});var l=this,d=l.camera,N=l.model,p=l.currentPanoIndex,h=t.duration,D=t.limit,y=void 0===D||D,g=t.easing,z=void 0===g?We.Quadratic.InOut:g,T=this.calculateMovingDuration(h,d.pose.offset.distanceTo(e)),j=ht(this.work.observers,(function(t){return t.position.distanceTo(e)})),f=this.work.observers.indexOf(j);this.emit("moveToPano",f,n);var v=d.pose.longitude,m=d.pose.latitude,w=d.pose.fov,I=d.pose.offset.clone(),x=(null===(i=N.getMaterial())||void 0===i?void 0:i.modelAlpha)||0,L=null!==(o=null===(r=this.model.getMaterial())||void 0===r?void 0:r.perspToOrtho)&&void 0!==o?o:0,A=null!==(s=t.longitude)&&void 0!==s?s:v,O=null!==(a=t.latitude)&&void 0!==a?a:m,E=null!==(M=t.fov)&&void 0!==M?M:w,C=e.clone(),k={longitude:A,latitude:O,fov:E,offset:C.clone()};t.moveStartCallback&&t.moveStartCallback(f,k),this.emit("panoWillArrive",f,k,n),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition);var S=function(e){var t=e.progress;c.setModelAndBoundingUniforms({modelAlpha:tt(x,1,t),perspToOrtho:tt(L,0,Math.min(5*t,1))});var i=new u.Vector3(tt(I.x,C.x,t),tt(I.y,C.y,t),tt(I.z,C.z,t));c.updateCamera({offset:i},n,y),t>.7&&(c.preventTapGesture=!1),c.emit("movingToPano",f,p,t),n&&c.lastMouseMoveEvent&&c.onMouseMove(c.lastMouseMoveEvent),c.needsRender=!0},U=function(){S({progress:1}),c.preventTapGesture=!1,c.emit("panoArrived",f,c.camera.copyPose(),n),c.needsRender=!0};if(this.preventTapGesture=!0,T>0?this.tweenPosition=Je(T,z).onUpdate(S).onComplete((function(){c.tweenPosition&&c.tweenPosition.destroy(),delete c.tweenPosition,t.moveEndCallback&&t.moveEndCallback(f,c.camera.copyPose()),U()})).onCancel((function(){t.moveCancelCallback&&t.moveCancelCallback()})):U(),this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),v!==A||m!==O||w!==E){var b=function(e){var t=e.progress,i=nt(v,A,t),r=tt(m,O,t),o=tt(w,E,t);c.updateCamera({longitude:i,latitude:r,fov:o},n,y)},Q=function(){return b({progress:1})};T>0?this.tweenCoordinates=Je(T,z).onUpdate(b).onComplete((function(){c.tweenCoordinates&&(c.tweenCoordinates.destroy(),delete c.tweenCoordinates),Q()})):Q()}},n.prototype.setModelAndBoundingUniforms=function(e){for(var t=0,n=[this.model];t<n.length;t++){n[t].setMaterial(e)}},n.prototype.onTapGesture=function(e){if(this.interiaMovement=!1,!0!==this.preventTapGesture){var t=this.camera,n=this.model,i=this.relativeClientPosition(e.center),r=new u.Raycaster;r.setFromCamera(i,t);var o=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!(this.emit("wantsGesture","tap",o,!0)||this.emit("wantsTapGesture",r,i))){var s=h(r);if(s&&s.face){var a=s.face.normal,M=s.point;if(new u.Vector3(0,1,0).angleTo(a)>Math.PI/3){var c=t.pose.offset.clone().setY(M.y),l=M.clone().sub(c).setLength(.3),d=M.clone().sub(l);r.set(d,new u.Vector3(0,-1,0)),s=h(r)}}if(s){var N=s.point.clone(),p=ht(this.work.observers.filter((function(e){return Math.abs(e.standingPosition.y-N.y)<1})),(function(e){return e.standingPosition.distanceTo(N)}));p&&(N.y=p.position.y,this.emit("gesture","tap",o,!0),this.emit("tapGesture",r,i),this.moveToPosition(N,{},!0))}}}function h(e){return(!0===n.empty?e.intersectObjects(n.children):n.intersectRaycaster(e))[0]}},n}(Pt),Tn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=113,i=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>i?e:String.fromCharCode((e.charCodeAt(r)+n)%i)})).join(o)}("{vs|z-rp@-}n{|]|vv|{H{vs|z-znA-}n{|ZnvH{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}H<<{vs|z-sy|n-pnyrHn\bv{t-rp@-}n{|d|yq]|vv|{H<<-n\bv{t-sy|n-vU|yrHp|{-sy|n-]V-J-@;>A>BF?CHp|{-sy|n-]Vl?-J-C;?E@>EB?Hp|{-sy|n-pnyr-J->@;>Hrp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5:rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-]Vl?9-urn-<-]V6H\f|vq-znv{56-\n--rpA-|yq]|vv|{-J-z|qryZnv-7-rpA5}|vv|{9->;=6H--}n{|d|yq]|vv|{-J-5rpA5|yq]|vv|{;\b\t9->;=6-7-}n{|Znv6;\b\tH--rp?-p||q-J-|P||q5}n{|d|yq]|vv|{6H--sy|n-qvn{pr-J-pnyrH--vs-5p||q;\b-I-=;>B6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-=;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5=;>B-:-p||q;\b66H----qvn{pr-J-pnyrH--\f-ryr-vs-5p||q;\b-KJ-=;>B-33-p||q;\b-IJ-=;EB6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-5p||q;\b-:-=;>B6-<-=;D6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----vs5-}n{|Qv}ynprzr{;-JJ-=;=6\n------qvn{pr-J-pnyrH----\fryr\n------qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----\f--\f-ryr-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9->;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5p||q;\b-:-=;EB66H----qvn{pr-J-pnyrH--\f--rpA-ry]|vv|{-J-rpA5}|vv|{-8-}n{|]|vv|{-8-{|znyv\tr5|yq]|vv|{;\b\t6-7-qvn{pr9->;=6H--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-ry]|vv|{H\f"),jn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=113,i=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>i?e:String.fromCharCode((e.charCodeAt(r)+n)%i)})).join(o)}("{vs|z-sy|n-|}npv\bH{vs|z-nz}yrPor-}n{|Zn}H{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}Hn\bv{t-rp@-}n{|d|yq]|vv|{H|vq-znv{56-\n--rpA-}n{|P|y|-J-rrPor5}n{|Zn}9-}n{|d|yq]|vv|{;\b\t6H--tylSntP|y|-J-rpA5}n{|P|y|;to9-|}npv\b6H\f"),fn=function(e){return{value:e}},vn=Object.assign({opacity:fn(1),scale:fn(13.1),panoMap:fn(null),panoDisplacementMap:fn(null),panoPosition:fn(new u.Vector3),panoMatrix:fn(new u.Matrix4)},{emissive:fn(new u.Color(0)),emissiveMap:fn(null),specular:fn(new u.Color(1118481)),specularMap:fn(null),normalMap:fn(null),bumpMap:fn(null),shininess:fn(30)},u.UniformsLib.common,u.UniformsLib.lights),mn=new u.SphereBufferGeometry(.01,128,128),wn=function(e){function n(t){var n=e.call(this)||this;return n.images=[null,null],n.xhr=[null,null],n.aborted=!1,n.cubeTextureLoader=new Ct(t),n.renderer=t,n}return t.__extends(n,e),n.prototype.load=function(e,t){var n=this,i=f,r=f,o=f,s=f;"function"==typeof t?(i=t.bind(this,null),o=t.bind(this),s=t.bind(this)):(t.onLoad&&(i=t.onLoad),t.onProgress&&(r=t.onProgress),t.onError&&(o=t.onError),t.onAbort&&(s=t.onAbort)),this.abort(),this.disposeImages(),this.aborted=!1;var a=[0,0];this.cubeTextureLoader.load(e,(function(t,r){if(t)o(t);else{var s=e.images.depth;n.xhr[0]=Ot(s,(function(t){var o=Object.assign(n.toPanoModel(r,t,e.position,e.matrix),{hash:r.hash});i(o),n.emit("load",o,e)}),(function(e){return M(e,0)}),(function(e){return u(e,0)}),(function(){return c()}))}}));var M=function(t,i){n.aborted||(o(t),n.emit("error",t,e),n.xhr[i]=null,n.xhr.forEach((function(e,t,n){e&&e.abort(),n[t]=null})),n.disposeImages())},u=function(t,i){a[i]=t,t=a.reduce((function(e,t){return e+t}),0)/a.length,r(t),n.emit("progress",t,e)},c=function(){n.aborted||(n.aborted=!0,n.xhr.forEach((function(e,t,n){e&&e.abort(),n[t]=null})),n.disposeImages(),s(new Error("image aborted")),n.emit("abort",e))};this.emit("start",e)},n.prototype.abort=function(){this.xhr.forEach((function(e,t,n){e&&e.abort(),n[t]=null}))},n.prototype.disposeImages=function(){for(var e=0;e<this.images.length;e++)if(this.images[e]){var t=this.images[e];t&&At(t),this.images[e]=null}},n.prototype.toPanoModel=function(e,t,n,i){var r=new u.ShaderMaterial({side:u.BackSide,vertexShader:Tn,fragmentShader:jn,transparent:!0,uniforms:u.UniformsUtils.clone(vn)}),o=e;o.needsUpdate=!0,o.minFilter=u.LinearFilter,o.magFilter=u.LinearFilter;var s=t instanceof u.Texture?t:new u.Texture(t);return s.needsUpdate=!0,s.minFilter=u.LinearFilter,s.magFilter=u.LinearFilter,r.uniforms.opacity.value=0,r.uniforms.panoMap.value=o,r.uniforms.panoDisplacementMap.value=s,r.uniforms.panoPosition.value=n,r.uniforms.panoMatrix.value=i,Object.assign(new u.Mesh(mn,r),{frustumCulled:!1,dispose:function(){this.material instanceof u.ShaderMaterial&&(this.material.uniforms.panoDisplacementMap.value.dispose(),this.material.uniforms.panoDisplacementMap.value=null,this.material.dispose())}})},n}(Pe),In=function(e){function n(t){var i=this,r=n.parseArgs(t);return(i=e.call(this,r)||this).maxAccessibleDistance=r.maxAccessibleDistance,i.panoCircleMeshCreator=r.panoCircleMeshCreator,i.model.visible=!1,i.model.setMaterial({perspToOrtho:0}),i.boundingMesh=q(i.getBounding()),i.boundingMesh.setMaterial(i.model.getMaterial()||{}),i.boundingMesh.visible=!1,i.boundingMesh.renderOrder=2,i.boundingMesh.frustumCulled=!1,i.scene.add(i.boundingMesh),i.panoCircleMeshes=[],i.updatePanoCircleMeshes(),i.panoCircleMeshes.forEach((function(e){return e.visible=!1})),i.scene.remove(i.intersectMesh),i.depthTextureLoader=new wn(i.renderer),i.depthTextureLoader.on("start",(function(e){var t,n=e.index;null===(t=i.panoCircleMeshes[n])||void 0===t||t.setProgress(0),i.emit("textureStartLoad",n,i.work.observers[n])})),i.depthTextureLoader.on("progress",(function(e,t){var n,r=t.index;null===(n=i.panoCircleMeshes[r])||void 0===n||n.setProgress(e),i.emit("textureLoading",e,r,i.work.observers[r])})),i.depthTextureLoader.on("abort",(function(e){var t,n=e.index;null===(t=i.panoCircleMeshes[n])||void 0===t||t.setProgress(0),i.emit("textureAbort",n,i.work.observers[n])})),i.depthTextureLoader.on("load",(function(e,t){var n,r=t.index;null===(n=i.panoCircleMeshes[r])||void 0===n||n.setProgress(1),i.emit("textureLoaded",r,i.work.observers[r])})),i.depthTextureLoader.on("error",(function(e,t){var n,r=t.index;null===(n=i.panoCircleMeshes[r])||void 0===n||n.setProgress(0),i.emit("textureError",e,r,i.work.observers[r])})),i.once("panoLoaded",(function(){i.boundingMesh.visible=!0,i.needsRender=!0})),i.on("panoWillArrive",(function(){return i.ready=!1})),i.on("moveToPanoCanceled",(function(){return i.ready=!0})),i.on("panoArrived",(function(){return i.ready=!0})),i}return t.__extends(n,e),n.parseArgs=function(n){var i,r,o=e.parseArgs.call(this,n);return t.__assign(t.__assign({},o),{maxAccessibleDistance:null!==(i=n.maxAccessibleDistance)&&void 0!==i?i:5,panoCircleMeshCreator:null!==(r=n.panoCircleMeshCreator)&&void 0!==r?r:$t})},n.initAnimationEndPose=function(t){var n=this.parseArgs(t);return e.initAnimationEndPose.call(this,n)},n.prototype.getBounding=function(){for(var e=new u.Box3,t=0,n=this.work.observers;t<n.length;t++){var i=n[t].standingPosition.clone();e.expandByPoint(i),i.y+=3,e.expandByPoint(i)}return e.max.x+=4,e.min.x-=4,e.max.z+=4,e.min.z-=4,e},n.prototype.updatePanoCircleMeshes=function(){var e=this,t=[],n=this.model;this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(n){n.loading&&t.push(n.panoIndex),e.scene.remove(n),n.dispose()})),this.panoCircleMeshes.length=0);var i=new u.Vector3(0,-1,0);this.panoCircleMeshes=this.work.observers.map((function(r,o){var s=e.panoCircleMeshCreator();if(s.position.copy(r.standingPosition),e.model.loaded){var a=s.position.clone().add(new u.Vector3(0,1,0)),M=new u.Raycaster(a,i,0,1),c=n.intersectRaycaster(M)[0];c&&(s.position.copy(c.point.clone()),s.needsRender=!0)}return s.name="panoCircle_"+o,s.panoIndex=o,e.scene.add(s),s.needsRender=!0,!1===r.active&&(s.setDisabled(!0),t.indexOf(o)>=0&&(s.setDisabled(!1),s.setLoading(!0))),s}));var r=this.work.observers[this.currentPanoIndex].visibleNodes;r=r.filter((function(t){var n=e.work.observers[t];return n.loadable||n.active})),this.panoCircleMeshes.forEach((function(e){e.visible=r.indexOf(e.panoIndex)>=0}));var o=this.camera.position;this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(o);e.setOpacity(Math.min(1.5/t,1))}))},n.prototype.destroy=function(){var t=this;e.prototype.destroy.call(this),this.depthTextureLoader.off(),delete this.pendingLoadTextureHashAndCallback,this.model&&(this.model.visible=!0),this.panoModel&&(this.scene.remove(this.panoModel),this.panoModel.dispose(),delete this.panoModel),this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(e){t.scene.remove(e),e.dispose()})),this.panoCircleMeshes.length=0)},n.prototype.moveToPano=function(e,t,n){var i=this;void 0===t&&(t={}),this.interiaMovement=!1;var r={index:e,images:this.work.observers[e].images,imageOptions:this.imageOptions},o=d.digest(r),s=function(r,o){if(r)return t.moveCancelCallback&&t.moveCancelCallback(),i.emit("panoLoadError",r,e),void i.emit("moveToPanoCanceled",e);i.destroyed?null==o||o.dispose():(i.emit("panoLoaded",e),A((function(){return i.doMoveToPano(e,o,t,n)})))},a=this.pendingLoadTextureHashAndCallback||[],M=a[0],c=a[1];if(o!==M){if(delete this.pendingLoadTextureHashAndCallback,c&&c(new Error("texture aborted")),this.emit("moveToPano",e,n),this.emit("panoWillLoad",e),!r.images)return void s(new Error("pano images were not existed"));if(!r.images.depth)return void s(new Error("pano depth image were not existed"));var l=this.work.observers[e],N=l.position,p=l.quaternion,h=(new u.Matrix4).compose(N,p,new u.Vector3(-1,1,1)),D=Object.assign({position:N,matrix:h},r);this.pendingLoadTextureHashAndCallback=[o,s],this.depthTextureLoader.load(D,(function(e,t){var n=i.pendingLoadTextureHashAndCallback||[],r=n[0],s=n[1];o===r&&s?(s(e,t),delete i.pendingLoadTextureHashAndCallback):null==t||t.dispose()}))}},n.prototype.updateCamera=function(t,n,i){var r=this;e.prototype.updateCamera.call(this,t,n,i),this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(r.camera.pose.offset);e.setOpacity(Math.min(1/t,1))}));var o=this.getForwardPanoIndexOrNot();null!==o&&this.panoCircleMeshes[o].setOpacity(1),ue()},n.prototype.canNotMoveAnimation=function(){var e=this;if(this.interiaMovement=!1,!this.tweenCoordinates){var t=this.camera.fov,n=.98*t,i=function(t){var n=t.fov;return e.updateCamera({fov:n},!0,!0)};this.tweenCoordinates=Ze({fov:t},{fov:n},200).onUpdate(i).onComplete((function(){var r;null===(r=e.tweenCoordinates)||void 0===r||r.destroy(),e.tweenCoordinates=Ze({fov:n},{fov:t},200).onUpdate(i).onComplete((function(){var t;null===(t=e.tweenCoordinates)||void 0===t||t.destroy(),delete e.tweenCoordinates}))}))}},n.prototype.doMoveToPano=function(e,t,n,i){var r,o,s,a=this;void 0===n&&(n={});var M=n.limit,c=void 0===M||M,l=n.easing,d=void 0===l?We.Quadratic.InOut:l,N=this.currentPanoIndex,p=this.panoModel,h=this.currentPanoIndex,D=this.work.observers[e],y=function(e){return e.material.uniforms};if(p&&p instanceof u.ShaderMaterial){var g={pano0Map:y(p).panoMap.value,pano0Matrix:y(p).panoMatrix.value};y(p).opacity.value=1,this.boundingMesh.setMaterial(g)}t.renderOrder=-1;var z={progress:0,pano1Map:y(t).panoMap.value,pano1Matrix:y(t).panoMatrix.value};y(t).opacity.value=0,this.boundingMesh.setMaterial(z),this.model.setMaterial(z),this.panoModel=t,this.scene.add(t);var T=D.visibleNodes.filter((function(e){var t=a.work.observers[e];return t.loadable||t.active})),j=this.calculateMovingDuration(n.duration,this.camera.pose.offset.distanceTo(D.standingPosition)),f=this.camera.pose.longitude,v=this.camera.pose.latitude,m=this.camera.pose.offset.clone(),w=this.camera.fov,I=null!==(r=n.longitude)&&void 0!==r?r:f,x=null!==(o=n.latitude)&&void 0!==o?o:v,L=D.position,A=null!==(s=n.fov)&&void 0!==s?s:w,O={longitude:I,latitude:x,fov:A,offset:L.clone()};if(this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition),n.moveStartCallback&&n.moveStartCallback(e,O),this.emit("panoWillArrive",e,O,i),this.needsRender=!0,f!=f||v!==x||w!==A){var E=function(e){var t=e.progress,n=nt(f,I,t),r=tt(v,x,t),o=tt(w,A,t);a.updateCamera({longitude:n,latitude:r,fov:o},i,c),a.needsRender=!0},C=function(){return E({progress:1})};j>0?this.tweenCoordinates=Je(j,d).onUpdate(E).onComplete((function(){var e;null===(e=a.tweenCoordinates)||void 0===e||e.destroy(),delete a.tweenCoordinates,C()})):C()}var k=function(){a.panoCircleMeshes.forEach((function(e){e.visible=T.indexOf(e.panoIndex)>=0})),y(t).opacity.value=0,t.material.depthTest=!0,p&&(a.scene.remove(p),p.material.uniforms.panoMap.value.dispose(),p.dispose()),a.updateCamera({offset:L},i,c);var r={progress:1,pano1Map:y(t).panoMap.value,pano1Position:y(t).panoPosition.value,pano1Matrix:y(t).panoMatrix.value,pano0Map:y(t).panoMap.value,pano0Position:y(t).panoPosition.value,pano0Matrix:y(t).panoMatrix.value,modelAlpha:0};a.boundingMesh.setMaterial(r),a.model.setMaterial(r),a.panoCircleMeshes[e]&&a.panoCircleMeshes[e].setProgress(0),n.moveEndCallback&&n.moveEndCallback(e,a.camera.copyPose()),a.currentPanoIndex=e,a.preventTapGesture=!1,a.emit("panoArrived",e,a.camera.copyPose(),i),a.needsRender=!0};this.preventTapGesture=!0,j>0&&h!==e?(this.panoCircleMeshes.forEach((function(e){return e.visible=!1})),t.material.depthTest=!1,p&&(p.material.depthTest=!1),this.tweenPosition=Je(j,d).onUpdate((function(n){var r=n.progress,o=new u.Vector3(tt(m.x,L.x,r),tt(m.y,L.y,r),tt(m.z,L.z,r));a.updateCamera({offset:o},i,c);var s=(Math.min(Math.max(r,.1),.9)-.1)/.8,M={modelAlpha:tt(1,0,s)};y(t).opacity.value=tt(0,1,s),p&&(y(p).opacity.value=1),a.boundingMesh.setMaterial(M),a.model.setMaterial(M),a.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(o);e.setOpacity(Math.min(1.5/t,1))})),r>.7&&(a.preventTapGesture=!1),a.emit("movingToPano",e,N,r),a.needsRender=!0})).onComplete((function(){a.tweenPosition&&(a.tweenPosition.completed=!0,a.tweenPosition.destroy()),delete a.tweenPosition,k()})).onCancel((function(){n.moveCancelCallback&&n.moveCancelCallback(),a.emit("moveToPanoCanceled",e)}))):k()},n.prototype.getForwardPanoIndexOrNot=function(e){var t=this,n=this.camera,i=this.currentPanoIndex,r=this.work.observers[i].accessibleNodes;r=r.filter((function(e){var n=t.work.observers[e];return n.loadable||n.active}));var o,s=n.getWorldDirection(new u.Vector3);o=e?e.ray.direction.clone():s.clone();var a=n.pose.offset.clone();o.y=a.y=0;for(var M=0,c=r.filter((function(e){return t.work.observers[e].standingPosition.clone().sub(n.pose.offset).angleTo(s)<n.fov/2/180*Math.PI})).map((function(e){var n=t.work.observers[e].standingPosition.clone();return Object.assign(n,{y:0,panoIndex:e})})).sort((function(e,t){return e.distanceTo(a)-t.distanceTo(a)}));M<c.length;M++){var l=c[M],d=l.clone().sub(a);if(d.length()&&o.angleTo(d)<Math.PI/6)return l.panoIndex}return null},n.prototype.onTapGesture=function(e){var t=this;if(this.interiaMovement=!1,!0!==this.preventTapGesture){var n=this.camera,i=this.panoCircleMeshes,r=null,o=void 0,s=this.work.observers[this.currentPanoIndex].accessibleNodes;s=s.filter((function(e){return t.work.observers[e].position.distanceTo(n.pose.offset)<t.maxAccessibleDistance}));var a=this.relativeClientPosition(e.center),M=new u.Raycaster;M.setFromCamera(a,n);var c=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!(this.emit("wantsGesture","tap",c,!0)||this.emit("wantsTapGesture",M,a))){var l=M.intersectObjects(this.boundingMesh.children)[0];if(l){var d=l.point.clone(),N=ht(i.filter((function(e){return s.indexOf(e.panoIndex)>=0})),(function(e){return e.position.distanceTo(d)}),!0),p=N[0];if(N[1]<1){var h=l.point.clone();r=p.panoIndex;var D=n.getWorldDirection(new u.Vector3).setY(0),y=(new u.Vector3).copy(h).setY(0).sub(n.pose.offset.clone().setY(0));if(D.angleTo(y)>Math.PI/6){var g=y.x,z=y.z;o={longitude:Math.atan2(-g,-z)}}}}if(j(r)&&!j(r=this.getForwardPanoIndexOrNot(M))&&l){var T=l.point,f=this.work.observers[r].position.clone();D=T.clone().setY(0).sub(n.getWorldDirection(new u.Vector3).setY(0)),y=T.clone().setY(0).sub(f.clone().setY(0));if(Math.abs(T.y-f.y)<.5&&D.angleTo(y)>Math.PI/6&&D.angleTo(y)<Math.PI/3){g=y.x,z=y.z;o={longitude:Math.atan2(-g,-z)}}}if(j(r))this.canNotMoveAnimation();else{var v=this.work.observers[r];this.emit("panoSelected",r),this.emit("gesture","tap",c,!0),this.emit("tapGesture",M,a),v.active?this.emit("wantsMoveToPano",r,o||{},!0):this.panoCircleMeshes[r]&&(this.panoCircleMeshes[r].setDisabled(!1),this.panoCircleMeshes[r].setLoading(!0))}}}},n}(Pt),xn=["Panorama","DepthPanorama","Model"],Ln={Floorplan:wt,Topview:It,Panorama:dn,VRPanorama:gn,Model:zn,DepthPanorama:In};function An(e){for(var t=0,n=xn;t<n.length;t++){var i=n[t];if("string"==typeof e){if(i===e)return!0}else if(e instanceof mt&&e instanceof Ln[i])return!0}return!1}var On=["cameraDirectionUpdate","cameraUpdate","cameraPositionUpdate","panoSelected","moveToPano","moveToPanoCanceled","panoWillArrive","movingToPano","panoArrived","panoWillLoad","panoLoaded","panoLoadError","initAnimationEnded","initAnimationWillStart","wantsGesture","gesture","wantsTapGesture","tapGesture","wantsPanGesture","wantsInteriaPan","panGesture","interiaPan","wantsPinchGesture","pinchGesture","wantsMouseWheel","mouseWheel","wantsShowIntersectionOnModel","intersectionOnModelUpdate","intersectionHidden","textureStartLoad","textureLoading","textureAbort","textureLoaded","textureError"];function En(e){for(var t,n,i={},r=0,o=e.split(/(\;|\,)/);r<o.length;r++){var s=o[r].split("="),a=null===(t=s[0])||void 0===t?void 0:t.trim(),M=null===(n=s[1])||void 0===n?void 0:n.trim();a&&M&&(i[a]=M)}return i}function Cn(){for(var e,t=document.getElementsByTagName("meta"),n=0;n<t.length;n++){var i=t[n];if("viewport"===i.getAttribute("name")){var r=En(null!==(e=i.getAttribute("content"))&&void 0!==e?e:""),o=Number(r["initial-scale"]);if(!isNaN(o))return o}}return 1}var kn=new u.Box3(new u.Vector3(-50,-50,-50),new u.Vector3(50,50,50)),Sn=new u.Frustum,Un=new u.Matrix4,bn=function(e){function n(t){var n,i,r,o,s,a,M,c,l,d,N,p;void 0===t&&(t={});var h=e.call(this)||this;if(h.ident=m(),h.panoIndex=0,h.needsRender=!1,h.getPixelsRenderTarget=new u.WebGLRenderTarget(1,1),h.onlyRenderIfNeeds=null===(n=t.onlyRenderIfNeeds)||void 0===n||n,h.maxFps=null!==(i=t.maxFps)&&void 0!==i&&i,h.imageOptions=t.imageOptions||{},h.textureOptions=t.textureOptions||h.imageOptions||{},h.extraElements=[],h.controllerInits={Panorama:null!==(r=t.panorama)&&void 0!==r?r:{},Model:null!==(o=t.model)&&void 0!==o?o:{},Floorplan:null!==(s=t.floorplan)&&void 0!==s?s:{},Topview:null!==(a=t.topview)&&void 0!==a?a:{},DepthPanorama:null!==(M=t.depthPanorama)&&void 0!==M?M:{},VRPanorama:null!==(c=t.vrPanorama)&&void 0!==c?c:{}},h.modeChangeDuration=null!==(l=t.modeChangeDuration)&&void 0!==l?l:1e3,h.panoramaLikeSavedPose={},t.renderer)t.renderer instanceof T&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=t.renderer;else try{h.renderer=new T({preserveDrawingBuffer:t.preserveDrawingBuffer,backgroundColor:t.backgroundColor,backgroundAlpha:t.backgroundAlpha,antialias:t.antialias});var D=Cn();h.renderer.setPixelRatio(1===D?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(e){h.throwError(e)}h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},t.scissor),h.camera=new g(80),h.scene=new z,h.model=new Ve;var y=q(kn);if(h.model.add(y),h.model.name="model_empty",h.model.empty=!0,h.model.loaded=!1,h.readyCallbacks=[],h.modelPending=!1,h.videoTexture=new u.VideoTexture(t.videoInstance||function(){var e=document.createElement("video");e.loop=!0,e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),e.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),e}()),h.plugins={},t.plugins)for(var j=0,f=t.plugins;j<f.length;j++){var v=f[j];if("function"==typeof v)v(h);else if(Array.isArray(v)){var w=v[0],I=v[1],x=v[2],L=w(h,x);"string"==typeof I&&(h.plugins[I]&&h.throwError(new Error("plugin name "+I+" is exists.")),h.plugins[I]=L)}}return function(e){(t=new u.DirectionalLight(16777215,.1)).position.copy(new u.Vector3(1,1,1)),e.add(t);var t=new u.DirectionalLight(16777215,.1);e.add(t),t=new u.AmbientLight(16777215,1),e.add(t)}(h.scene),h.state={mode:null!==(d=h.currentMode)&&void 0!==d?d:"Panorama",panoIndex:null!==(N=h.panoIndex)&&void 0!==N?N:0,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone()},h.stateSynced=!1,h.destroyed=!1,h.paused=!0,!1!==t.play&&h.play(),!1!==(null!==(p=t.initialBasisLoader)&&void 0!==p&&p)&&("string"==typeof t.initialBasisLoader?h.initBasisLoader(t.initialBasisLoader):h.initBasisLoader()),O((function(){return h.syncState()})),h}return t.__extends(n,e),n.prototype.dispose=function(){if(!0!==this.destroyed){this.emit("dispose"),this.destroyed=!0,this.pause(),this.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var e=this.getElement();e&&e.parentNode&&e.parentNode.removeChild(e),this.scene.remove(this.model);var t=this.model.getMaterial();t&&(t.pano0Map&&t.pano0Map.dispose(),t.pano1Map&&t.pano1Map!==t.pano0Map&&t.pano1Map.dispose()),this.renderer instanceof T&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},n.prototype.setScissor=function(e){Object.assign(this.scissor,e),this.controller&&this.controller.resize&&this.controller.resize()},n.prototype.appendTo=function(e,t){if(void 0===t&&(t={}),this.renderer instanceof T){e.appendChild(this.getElement()),this.refresh(t);var n=window.getComputedStyle(e).position;"relative"!==n&&"absolute"!==n&&"fixed"!==n&&"sticky"!==n&&(e.style.position="relative")}else this.throwError(new Error("cannot call appendTo method when render a external renderer"))},n.prototype.refresh=function(e,t){void 0===e&&(e={});var n=this.getElement().parentNode;if(n&&n.nodeName){var i=e.width,r=void 0===i?n.offsetWidth:i,o=e.height,s=void 0===o?n.offsetHeight:o;this.renderer instanceof T&&(t&&this.renderer.setPixelRatio(t),this.renderer.setSize(r,s))}var a=this.renderer.getSize(new u.Vector2);this.camera.aspect=a.x/a.y,this.scissor&&(this.camera.aspect*=this.scissor.width/this.scissor.height),this.camera.updateProjectionMatrix(),this.controller&&this.controller.resize&&this.controller.resize(),this.needsRender=!0},n.prototype.addExtraElement=function(e){var t=this;return-1===this.extraElements.indexOf(e)&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return t.removeExtraElement(e)}},n.prototype.removeExtraElement=function(e){var t=this.extraElements.indexOf(e);-1!==t&&(this.extraElements.splice(t,1),this.controller&&this.controller.unbindExtraElement(e))},n.prototype.getPose=function(){return this.camera.copyPose()},n.prototype.updateCamera=function(e,t){var n=this;return new Promise((function(i,r){if(n.controller){var o=n.getPose(),s=o.longitude,a=o.latitude,M=o.fov,u=e.longitude,c=void 0===u?s:u,l=e.latitude,d=void 0===l?a:l,N=e.fov,p=void 0===N?M:N;n.controller.tweenCoordinates&&(n.controller.tweenCoordinates.destroy(),delete n.controller.tweenCoordinates),n.tweenCoordinates&&(n.tweenCoordinates.destroy(),delete n.tweenCoordinates);var h=n.tweenCoordinates=Je(t,We.Linear.None).onUpdate((function(e){var t,i=e.progress,r=nt(s,c,i),o=tt(a,d,i),u=tt(M,p,i);null===(t=n.controller)||void 0===t||t.updateCamera({longitude:r,latitude:o,fov:u},!0,!0)})).onCancel((function(){for(var e=0,t=y;e<t.length;e++){(0,t[e])()}delete n.tweenCoordinates,r(new Error("updateCamera animation canceled"))})).onComplete((function(){for(var e=0,t=y;e<t.length;e++){(0,t[e])()}h.destroy(),delete n.tweenCoordinates,i()})),D=function(){return h.destroy()},y=[n.on("gesture",D),n.on("setState",D),n.on("load",D)]}else{var g=new Error("controller never initialized");r(g)}}))},n.prototype.getLongitudeAndLatitude=function(){var e=this.getPose();return{longitude:e.longitude,latitude:e.latitude}},n.prototype.getOffset=function(){return this.getPose().offset},n.prototype.getCameraLocal=function(){if("number"==typeof this.panoIndex&&this.controller&&this.work){var e=this.work.observers[this.panoIndex],t=new u.Object3D;return t.position.copy(e.position),t.quaternion.copy(e.quaternion),t.scale.set(1,1,1),t.updateMatrixWorld(!0),function(e,t){var n=new u.Vector3(0,0,-1);n.applyQuaternion(e.quaternion);var i=t.quaternion.clone().inverse();return n.applyQuaternion(i),{theta:Math.atan2(n.x,-n.z),phi:-Math.asin(n.y),lookAtVector:n}}(this.camera,t)}},n.prototype.initBasisLoader=function(e){try{if("undefined"==typeof Promise||"undefined"==typeof WeakMap||"undefined"==typeof WebAssembly)throw new Error("Basis loader not support.");"string"==typeof e&&ge.setResourcePath(e),ge.workerConfig.format||ge.detectSupport(this.renderer),ge._allocateWorker(0)}catch(e){this.throwError(e)}},n.prototype.load=function(e,i,r){var o,s,a,M,u,c,l,d,N,p,h,D,y=this,g=this.work,z=Nt(e);void 0===i&&(i=g?"inherit":"initial"),"inherit"===i?(p="number"==typeof this.panoIndex&&z.observers[this.panoIndex]?this.panoIndex:z.initial.panoIndex,h=null!==(o=this.currentMode)&&void 0!==o?o:z.initial.mode,D={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):"initial"===i?(h=null!==(s=this.currentMode)&&void 0!==s?s:z.initial.mode,p=z.initial.panoIndex,D="Panorama"===h||"DepthPanorama"===h||"Model"===h||"VRPanorama"===h?{longitude:z.initial.longitude,latitude:z.initial.latitude,fov:z.initial.fov}:{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):(p=null!==(a=i.panoIndex)&&void 0!==a?a:z.initial.panoIndex,h=null!==(u=null!==(M=i.mode)&&void 0!==M?M:this.currentMode)&&void 0!==u?u:"Panorama",D={longitude:null!==(c=i.longitude)&&void 0!==c?c:z.initial.longitude,latitude:null!==(l=i.latitude)&&void 0!==l?l:z.initial.latitude,fov:null!==(d=i.fov)&&void 0!==d?d:z.initial.fov}),this.emit("willLoad",e,z,{panoIndex:p,mode:h,longitude:D.longitude,latitude:D.latitude,fov:D.fov});var T=function(){y.work=z,y.panoIndex=p,y.panoramaLikeSavedPose.longitude=z.initial.longitude,y.panoramaLikeSavedPose.latitude=z.initial.latitude,y.panoramaLikeSavedPose.fov=z.initial.fov;var n=null!=r?r:void 0===g?0:y.modeChangeDuration,i={panoIndex:p,longitude:D.longitude,latitude:D.latitude,fov:D.fov},o=t.__assign(t.__assign({panoIndex:p,initial:[{longitude:D.longitude,latitude:D.latitude,fov:D.fov},n,!0]},y.commonParams()),y.controllerInits[h]);y.controller?!1===y.controller.updateWork(z,i,n,!0)&&(y.controller.destroy(),y.controller=y.applyController(h,o)):y.controller=y.applyController(h,o),y.emit("load",e,z,{panoIndex:p,mode:h,longitude:D.longitude,latitude:D.latitude,fov:D.fov})},j=function(e,t){var n,i;void 0===t&&(t=f),e&&((null===(n=null==g?void 0:g.model)||void 0===n?void 0:n.file)!==(null===(i=z.model)||void 0===i?void 0:i.file)?(y.emit("modelWillLoad",e),y.loadModel(e,t,!0)):t&&(!0===y.model.loaded?t():y.once("modelLoaded",(function(){return t()}))))};return h===n.Mode.Floorplan||h===n.Mode.Topview||h===n.Mode.Model?j(z.model,(function(){T()})):(T(),null===(N=this.controller)||void 0===N||N.once("panoLoaded",(function(){return j(z.model)}))),this.ready()},n.prototype.changeMode=function(e,i,r,o){var s=this;return void 0===i&&(i={}),void 0===r&&(r=this.modeChangeDuration),void 0===o&&(o=!0),new Promise((function(a,M){var u;if(!n.Mode.hasOwnProperty(e)){var c=new Error('mode "'+e+'" is not existed');return s.throwError(c),void M(c)}if(e!==n.Mode.Floorplan&&e!==n.Mode.Topview&&e!==n.Mode.Model||!j(s.model)&&!0===s.model.loaded){if(j(s.controller))return s.currentMode=e,s.panoIndex=null!==(u=i.panoIndex)&&void 0!==u?u:s.panoIndex,s.updateCamera(i,r);var l=s.controller,d=s.currentMode,N=function(){var n,M;s.saveControllerPose(l);var u=t.__assign(t.__assign({panoIndex:null!==(M=null!==(n=i.panoIndex)&&void 0!==n?n:s.panoIndex)&&void 0!==M?M:0,initial:[An(e)?s.panoramaLikeSavedPose:i,r,o]},s.commonParams()),s.controllerInits[e]);s.emit("wantsChangeMode",e,d)||(l.destroy(),s.controller=s.applyController(e,u),s.controller.once("initAnimationWillStart",(function(t,n){s.emit("modeChange",e,d,t,n)})),s.emit("currentStateChange",s.getCurrentState(),o),a())};e===n.Mode.VRPanorama&&"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){if("granted"==e)N();else{var t=new Error("Request DeviceOrientation Permission denied.");s.throwError(t),M(t)}})).catch((function(e){s.throwError(e),M(e)})):N()}else{c=new Error("model is not ready.");s.throwError(c)}}))},n.prototype.getPixels=function(e,t,n,i,r){void 0===r&&(r=1);var o=this.getPixelsRenderTarget,s=this.renderer.getSize(new u.Vector2);e=Math.min(Math.max(e,Math.floor(n/2)),Math.floor(s.x-n)),t=Math.min(Math.max(t,Math.floor(i/2)),Math.floor(s.y-i)),e*=r,t*=r,n*=r,i*=r,o.setSize(s.x*r,s.y*r),o.scissor.set(e,t,n,i),o.scissorTest=!0,this.renderer.setRenderTarget(o);var a=new Uint8Array(n*i*4);return this.controller?this.controller.render():this.renderer.render(this.scene,this.camera),this.renderer.readRenderTargetPixels(o,e,t,n,i,a),this.renderer.setRenderTarget(null),o.setSize(1,1),o.scissor.set(0,0,0,0),o.scissorTest=!1,a},n.prototype.getElement=function(){return this.renderer.domElement},n.prototype.pause=function(){},n.prototype.render=function(e){if(this.updateResolution(),this.controller){var t=new u.Vector2,n=0!==this.scissor.left||0!==this.scissor.bottom||1!==this.scissor.width||0!==this.scissor.height;if(n){this.renderer.getSize(t);var i=Math.floor(t.x*this.scissor.left),r=Math.floor(t.y*this.scissor.bottom),o=Math.floor(t.x*this.scissor.width),s=Math.floor(t.y*this.scissor.height);this.renderer.setViewport(i,r,o,s),this.renderer.setScissor(i,r,o,s),this.renderer.setScissorTest(!0)}this.controller.render(),n&&(this.renderer.setViewport(0,0,t.x,t.y),this.renderer.setScissor(0,0,t.x,t.y),this.renderer.setScissorTest(!1)),(a=Fe(this.renderer.getContext()))&&this.throwError(a)}else{var a;this.renderer.render(this.scene,this.camera),(a=Fe(this.renderer.getContext()))&&this.throwError(a)}e&&A(e)},n.prototype.play=function(){var e=this;this.pause(),this.needsRender=!0;var t=I(),i=I(),r=0;this.paused=!1;var o=O((function(){if(!0!==e.paused&&!e.destroyed){var o=I();if(e.maxFps){if(o-t+1<=1e3/e.maxFps)return;t=o}if(e.currentMode!==n.Mode.VRPanorama&&e.onlyRenderIfNeeds){for(var s=0,a=e.getRenderMeshes();s<a.length;s++)for(var M=a[s];M;)!0===M.needsRender&&(M.needsRender=!1,e.needsRender=!0),(M=M.parent)&&M instanceof z&&(M=null);e.controller&&!0===e.controller.needsRender&&(e.controller.needsRender=!1,e.needsRender=!0),!1!==e.needsRender&&e.render()}else e.render();e.needsRender=!1,e.hasListener("renderFrame")&&e.emit("renderFrame"),e.hasListener("fps")&&(i&&o-i<1e3?r++:(i&&e.emit("fps",r),i=o,r=0))}}));this.pause=function(){e.paused=!0,o(),e.renderer&&e.renderer instanceof T&&e.renderer.clear(!0,!0,!0)}},n.prototype.moveToPano=function(e,t,i){var r;void 0===t&&(t={}),void 0===i&&(i=!0);var o=this.moveToPanoQueue=this.moveToPanoQueue||[],s=this.controller,a=this.currentMode;if(s)if(a===n.Mode.Floorplan||a===n.Mode.Topview)o.length=0,delete o.dequeue,j(e)||(this.panoIndex=e,this.changeMode(n.Mode.Panorama,t));else{if((null===(r=this.controller)||void 0===r?void 0:r.tweenPosition)||(o.length=0,delete o.dequeue),o.push([e,t,i]),o.length>2&&(o.length=2),o.dequeue)return;var M=function(){if(0!==o.length){var e=o.shift(),t=e[0],n=e[1],i=void 0===n?{}:n,r=e[2],a=Object.assign({},i);a.moveEndCallback=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.moveEndCallback&&(e=i.moveEndCallback.apply(this,t)),setTimeout(M),e},a.moveCancelCallback=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.moveCancelCallback&&(e=i.moveCancelCallback.apply(this,t)),setTimeout(M),e},s&&"moveToPano"in s&&A((function(){return s.moveToPano(t,a,r)}))}else delete o.dequeue};o.dequeue=!0,M()}},n.prototype.preloadPano=function(e,n){var i=this;if(void 0===n&&(n=f),!this.work)return Promise.reject(new Error("work never loaded"));var r=this.work.observers[e],o=I();return Promise.all(["right","left","up","down","front","back"].map((function(n){var o,s=t.__assign({key:["cube",e,n].join("."),basisLoaderInitialized:ge.isInitialized()},i.imageOptions);return o=ne(r.images[n],s),Ge[o]?Ge[o]:Ge[o]=new Promise((function(e){var t=document.createElement("link");t.href=o,t.rel="preload",t.as="fetch",He&&He.appendChild(t),t.onload=function(){return e()}}))}))).then((function(){var e=I()-o;return n(e),e}))},n.prototype.project2d=function(e,t){if(void 0===t&&(t=!1),!1===this.model.empty&&t){var n=this.camera.position,i=e.clone().sub(n),r=new u.Raycaster(n,i.clone().normalize()),o=this.model.intersectRaycaster(r)[0];if(o&&o.distance+.01<i.length())return null}var s=e.clone().project(this.camera);if(Math.abs(s.z)>1)return null;var a=this.renderer.getSize(new u.Vector2),M=a.x*this.scissor.width,c=a.y*this.scissor.height,l=a.x*this.scissor.left+(s.x+1)/2*M,d=a.y*(1-this.scissor.bottom-this.scissor.height)+(1-s.y)/2*c;return new u.Vector2(l,d)},n.prototype.getRenderMeshes=function(e){Un.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),Sn.setFromProjectionMatrix(Un),e||(e=this.scene);var t=[];return e.traverseVisible((function(e){(e instanceof u.Mesh||e instanceof u.Line||e instanceof u.Points)&&(e instanceof u.ImmediateRenderObject||!e.frustumCulled||Sn.intersectsObject(e))&&t.push(e)})),t},n.prototype.getCurrentState=function(){return t.__assign(t.__assign({},this.camera.copyPose()),{mode:this.currentMode||n.Mode.Panorama,panoIndex:this.panoIndex||0})},n.prototype.setState=function(e,i){var r,o,s,a,M,u;void 0===i&&(i=!1);var c,l,d,N,p=null!==(r=e.panoIndex)&&void 0!==r?r:this.state.panoIndex,h=null!==(o=e.mode)&&void 0!==o?o:this.state.mode;if(e.mode!==n.Mode.Floorplan&&e.mode!==n.Mode.Topview&&e.mode!==n.Mode.Model||!j(this.model)&&!0===this.model.loaded){if(this.state.mode!==h){var D=void 0;D=An(this.state.mode)&&An(h)?this.state:An(h)?this.panoramaLikeSavedPose:e;var y=t.__assign(t.__assign({panoIndex:p,initial:[D,this.modeChangeDuration,!1]},this.commonParams()),this.controllerInits[h]),g=Ln[h].initAnimationEndPose(y);c=g.longitude,l=g.latitude,d=g.fov,N=g.offset}else c=null!==(s=e.longitude)&&void 0!==s?s:this.state.longitude,l=null!==(a=e.latitude)&&void 0!==a?a:this.state.latitude,d=null!==(M=e.fov)&&void 0!==M?M:this.state.fov,N=null!==(u=e.offset)&&void 0!==u?u:this.state.offset;this.emit("setState",{longitude:c,latitude:l,fov:d,offset:N,mode:h,panoIndex:p}),(p!==this.state.panoIndex||h!==this.state.mode||c!==this.state.longitude||l!==this.state.latitude||d!==this.state.fov||!N.equals(this.state.offset))&&(this.state.panoIndex=p,this.state.mode=h,this.state.longitude=c,this.state.latitude=l,this.state.fov=d,this.state.offset.copy(N),i&&this.syncState(i),this.emit("stateChange",this.state,!0))}else this.throwError(new Error("model is not ready."))},n.prototype.syncState=function(e){if(void 0===e&&(e=!1),this.controller&&!1!==this.controller.ready){if(this.readyCallbacks.length){var t=this.currentMode;if(!(t===n.Mode.Floorplan||t===n.Mode.Topview||t===n.Mode.Model)||!this.modelPending)for(var i=void 0;i=this.readyCallbacks.shift();)i()}var r=this.stateSynced;if(this.stateSynced=!1,this.state.mode===this.currentMode){if(this.controller instanceof Ln.Model){if(!this.camera.pose.offset.equals(this.state.offset)){var o={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return void this.controller.moveToPosition(this.state.offset,o,!1)}}else if(this.state.panoIndex!==this.panoIndex){o={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return void this.controller.moveToPano(this.state.panoIndex,o,!1)}if(this.controller instanceof Ln.Topview){var s=e?new u.Vector3(this.state.offset.x,this.state.offset.y,this.state.offset.z):new u.Vector3(it(this.camera.pose.offset.x,this.state.offset.x,.2),it(this.camera.pose.offset.y,this.state.offset.y,.2),it(this.camera.pose.offset.z,this.state.offset.z,.2));if(!this.camera.pose.offset.equals(s))return void this.controller.updateCamera({offset:s},!1,!1)}else{var a=Math.PI/45,M=e?this.state.fov:it(this.camera.pose.fov,this.state.fov,1),c=e?{longitude:this.state.longitude,latitude:this.state.latitude}:function(e,t,n){if(e.longitude===t.longitude&&e.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var i=Ke(e.longitude),r=e.latitude,o=Ke(t.longitude),s=t.latitude;o-i>$e?i+=et:i-o>$e&&(i-=et);var a=n/Math.sqrt(Math.pow(o-i,2)+Math.pow(s-r,2));return a>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:i+(o-i)*a,latitude:r+(s-r)*a}}({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},a),l=c.longitude,d=c.latitude;if(M!==this.camera.pose.fov||l!==this.camera.pose.longitude||d!==this.camera.pose.latitude)return this.controller.tweenCoordinates&&(this.controller.tweenCoordinates.destroy(),delete this.controller.tweenCoordinates),void this.controller.updateCamera({longitude:l,latitude:d,fov:M},!1,!1)}this.stateSynced=!0,!1===r&&this.emit("stateSynced",this.state)}else{var N={panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};this.changeMode(this.state.mode,N,this.modeChangeDuration,!1)}}},n.prototype.ready=function(){var e=this;return new Promise((function(t){return e.readyCallbacks.push(t)}))},n.prototype.updateResolution=function(){var e=this.renderer.getSize(new u.Vector2);this.scene.traverseVisible((function(t){t instanceof lt&&t.setResolution(e.x,e.y)}))},n.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},n.prototype.loadModel=function(e,t,i){var r=this,o=e.async||!1;this.emit("modelWillLoad",e);var s=new Ve;s.once("bvhLoaded",(function(){r.emit("modelBvhLoaded",s)})),s.once("geometryLoaded",(function(){r.emit("modelGeometryLoaded",s)})),s.on("error",(function(e){r.emit("modelLoadError",e,s),r.throwError(e),r.modelPending=!1})),s.once("loaded",(function(){var a;if(!r.destroyed){s.bounding.max.y-s.bounding.min.y<1.5&&(s.bounding.max.y=s.bounding.min.y+10);var M,u=r.model;u&&(M=u.getMaterial()||{},r.scene.remove(u),u.dispose(),s.setTransparent(u.getTransparent()),s.visible=u.visible),r.model=Object.assign(s,{loaded:!0}),null===(a=r.controller)||void 0===a||a.resetModel(r.model,i),M&&r.model.setMaterial(M),u&&r.currentMode!==n.Mode.Panorama&&(o=!1);var c=function(){t(),r.emit("modelLoaded",s),A((function(){return r.emit("modelMaterialLoaded",s)})),e.bvh&&ce((function(){return s.buildBVH()})),"function"==typeof gc&&gc(),r.needsRender=!0,r.modelPending=!1};if(o){var l=[].concat(r.model.children);r.model.children.length=0;var d=q(kn);d.name="uniformKeeper",d.visible=!1,d.setMaterial(M||{}),r.model.add(d),r.scene.add(r.model);var N=function(){ce((function(){var e=l.shift();e?(r.model.setMaterial.call(e,r.model.getMaterial()||{}),r.model.add(e),null===r.model.shownfloor?r.model.show():r.model.show(r.model.shownfloor),A(N,2)):(r.model.remove(d),c())}))};N()}else u?(r.scene.add(r.model),c()):ce((function(){r.scene.add(r.model),c()}))}})),this.modelPending=!0,s.load(e,this.textureOptions)},n.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),model:this.model,work:this.work,imageOptions:this.imageOptions,extraElements:this.extraElements,videoTexture:this.videoTexture}},n.prototype.saveControllerPose=function(e){void 0===e&&(e=this.controller),e&&An(e)&&(this.panoramaLikeSavedPose.longitude=this.camera.pose.longitude,this.panoramaLikeSavedPose.latitude=this.camera.pose.latitude,this.panoramaLikeSavedPose.fov=this.camera.pose.fov)},n.prototype.applyController=function(e,i){var r=this,o=Ln[e];e===this.currentMode||this.model.empty||this.model.show(),this.model.setTransparent(e===n.Mode.Floorplan||e===n.Mode.Topview||e===n.Mode.Model),this.currentMode=e;for(var s=new o(i),a=function(e){s.on(e,(function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var o=r.emit.apply(r,t.__spreadArray([e],n));if(o)return!1}))},M=0,u=On;M<u.length;M++){a(u[M])}return s.on("initAnimationWillStart",(function(t,n,i){i&&(r.state.mode=e,r.state.panoIndex=t,r.state.longitude=n.longitude,r.state.latitude=n.latitude,r.state.fov=n.fov,r.state.offset.copy(n.offset),r.emit("stateChange",r.state,i))})),s.on("initAnimationEnded",(function(t,n,i){i&&(r.state.mode=e,r.state.panoIndex=t,r.state.longitude=n.longitude,r.state.latitude=n.latitude,r.state.fov=n.fov,r.state.offset.copy(n.offset),r.emit("stateChange",r.state,i))})),s.on("moveToPano",(function(e,t){r.emit("currentStateChange",r.getCurrentState(),t)})),s.on("panoWillArrive",(function(e,t,n){r.panoIndex=e,n&&(r.state.panoIndex=e,r.state.longitude=t.longitude,r.state.latitude=t.latitude,r.state.fov=t.fov,r.state.offset.copy(t.offset),r.emit("stateChange",r.state,n))})),s.on("panoArrived",(function(){"function"==typeof gc&&gc()})),s.on("wantsMoveToPano",(function(e,t,n){var i=r.emit("wantsMoveToPano",e,t,n);i||(i=r.emit("wantsToMoveToPano",e,t,n)),i||r.moveToPano(e,t,n)})),s.on("cameraUpdate",(function(e,t){t&&r.state.mode===r.currentMode&&r.state.panoIndex===r.panoIndex&&(r.state.longitude=e.longitude,r.state.latitude=e.latitude,r.state.fov=e.fov,r.state.offset.copy(e.offset),r.emit("stateChange",r.state,t)),r.emit("currentStateChange",r.getCurrentState(),t)})),s.on("vrWantsToExit",(function(){r.currentMode===n.Mode.VRPanorama&&r.changeMode(n.Mode.Panorama)})),s.on("error",(function(e){return r.emit("error",e)})),s},n.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",DepthPanorama:"DepthPanorama",VRPanorama:"VRPanorama"},n.FiveLine=lt,n.Easing=We,n}(Pe);exports.Easing=We,exports.Five=bn,exports.FiveCamera=g,exports.FiveHashCubeTexture=Q,exports.FiveLine=lt,exports.FiveLineGeometry=ut,exports.FiveLineMaterial=st,exports.FiveLineSegmentsGeometry=rt,exports.FiveScene=z,exports.InternalWebGLRenderer=T,exports.Model=Ve,exports.PBMGroup=S,exports.PBMMaterial=F,exports.PBMMesh=k,exports.PROXY_CONTROLLER_EVENT_NAMES=On,exports.Subscribe=Pe,exports.getViewportScale=Cn,exports.parseWork=Nt,exports.stringifyWork=function(e){for(var t,n,i,r,o={pano_index:e.initial.panoIndex,pano:e.initial.panoIndex,longitude:e.initial.longitude,latitude:e.initial.latitude},s=null===(n=null===(t=e.model)||void 0===t?void 0:t.bvh)||void 0===n||n,a=null!==(r=null===(i=e.model)||void 0===i?void 0:i.async)&&void 0!==r&&r,M=e.model?{file_url:e.model.file,material_textures:e.model.textures.slice(),material_base_url:e.model.textureBase}:void 0,u={list:[]},c=[],l=0;l<e.observers.length;l++){var d=e.observers[l];c[l]={index:l,active:d.active,visible_nodes:d.visibleNodes.slice(),accessible_nodes:d.accessibleNodes.slice(),quaternion:{x:d.quaternion.x,y:d.quaternion.y,z:d.quaternion.z,w:d.quaternion.w},standing_position:d.standingPosition.toArray(),position:d.position.toArray(),floor:d.floorIndex,floor_index:d.floorIndex},u.list[l]={index:l,active:d.active,loadable:d.loadable,up:d.images.up,down:d.images.down,right:d.images.right,left:d.images.left,front:d.images.front,back:d.images.back},d.video&&(u.list[l].video={source:d.video.source,matrix:d.video.matrix.toArray(),size:d.video.size.toArray()}),d.images.depth&&(u.list[l].depth=d.images.depth),d.images.tiles&&(u.list[l].tiles=d.images.tiles)}var N={bvh:s,modelAsync:a,initial:o,observers:c,panorama:u};return M&&(N.model=M),N};