@realsee/five 5.0.0-alpha.134 → 5.0.0-alpha.135

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 (121) hide show
  1. package/docs/classes/five.AnimationFrameLoop.html +1 -1
  2. package/docs/classes/five.BVH.html +1 -1
  3. package/docs/classes/five.BVHIntersect.html +1 -1
  4. package/docs/classes/five.BVHNode.html +1 -1
  5. package/docs/classes/five.BVHVector3.html +1 -1
  6. package/docs/classes/five.Camera.html +1 -1
  7. package/docs/classes/five.Five.html +1 -1
  8. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  9. package/docs/classes/five.IntersectMesh.html +1 -1
  10. package/docs/classes/five.LegacyPanoCircleMesh.html +1 -1
  11. package/docs/classes/five.Model.html +1 -1
  12. package/docs/classes/five.NetworkSubscribe.html +1 -1
  13. package/docs/classes/five.PBMContainer.html +1 -1
  14. package/docs/classes/five.PBMGroup.html +1 -1
  15. package/docs/classes/five.PBMMaterial.html +1 -1
  16. package/docs/classes/five.PBMMesh.html +1 -1
  17. package/docs/classes/five.PanoCircleMesh.html +1 -1
  18. package/docs/classes/five.Scene.html +1 -1
  19. package/docs/classes/five.Subscribe.html +1 -1
  20. package/docs/classes/five.Tile3D.html +1 -1
  21. package/docs/classes/five.Tile3DModel.html +1 -1
  22. package/docs/classes/five.TileBoundingSphere.html +1 -1
  23. package/docs/classes/five.TileCacheNode.html +1 -1
  24. package/docs/classes/five.TileCullingVolume.html +1 -1
  25. package/docs/classes/five.TileOrientedBoundingBox.html +1 -1
  26. package/docs/classes/five.TilePlane.html +1 -1
  27. package/docs/classes/five.TileRequestScheduler.html +1 -1
  28. package/docs/classes/five.Tileset3D.html +1 -1
  29. package/docs/classes/five.Tileset3DTraverser.html +1 -1
  30. package/docs/classes/five.TilesetCache.html +1 -1
  31. package/docs/classes/five.Work.html +1 -1
  32. package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
  33. package/docs/classes/gltf_loader.GLTFObject.html +1 -1
  34. package/docs/classes/line.Line.html +1 -1
  35. package/docs/classes/line.LineGeometry.html +1 -1
  36. package/docs/classes/line.LineMaterial.html +1 -1
  37. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  38. package/docs/classes/line.THREE_Line2.html +1 -1
  39. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  40. package/docs/classes/react.Store.html +1 -1
  41. package/docs/classes/server.BVH.html +1 -1
  42. package/docs/classes/server.BVHIntersect.html +1 -1
  43. package/docs/classes/server.BVHNode.html +1 -1
  44. package/docs/classes/server.BVHVector3.html +1 -1
  45. package/docs/classes/server.Model.html +1 -1
  46. package/docs/classes/server.PBMGroup.html +1 -1
  47. package/docs/classes/server.PBMMesh.html +1 -1
  48. package/docs/classes/sticker.Sticker.html +1 -1
  49. package/docs/index.html +1 -1
  50. package/docs/interfaces/five.AddableObject.html +1 -1
  51. package/docs/interfaces/five.AnimationFrame.html +1 -1
  52. package/docs/interfaces/five.CameraPose.html +1 -1
  53. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +1 -1
  54. package/docs/interfaces/five.EventCallback.html +1 -1
  55. package/docs/interfaces/five.FiveInitArgs.html +1 -1
  56. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +1 -1
  57. package/docs/interfaces/five.ImageOptions.html +1 -1
  58. package/docs/interfaces/five.ImageURLMappings.html +1 -1
  59. package/docs/interfaces/five.ImageURLOptions.html +1 -1
  60. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  61. package/docs/interfaces/five.Intersection.html +1 -1
  62. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +1 -1
  63. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  64. package/docs/interfaces/five.ModelEventCallback.html +1 -1
  65. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  66. package/docs/interfaces/five.PBMPanoPicture.html +1 -1
  67. package/docs/interfaces/five.PBMParameters.html +1 -1
  68. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  69. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  70. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  71. package/docs/interfaces/five.Pose.html +1 -1
  72. package/docs/interfaces/five.Scissor.html +1 -1
  73. package/docs/interfaces/five.State.html +1 -1
  74. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
  75. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
  76. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
  77. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
  78. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
  79. package/docs/interfaces/five.TextureOptions.html +1 -1
  80. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +1 -1
  81. package/docs/interfaces/five.TileBoundingVolume.html +1 -1
  82. package/docs/interfaces/five.TileContent.html +1 -1
  83. package/docs/interfaces/five.Tileset3dOptions.html +1 -1
  84. package/docs/interfaces/five.TilesetJSON.html +1 -1
  85. package/docs/interfaces/five.TilesetJSONNode.html +1 -1
  86. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  87. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  88. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  89. package/docs/interfaces/five.WorkImage.html +1 -1
  90. package/docs/interfaces/five.WorkInitial.html +1 -1
  91. package/docs/interfaces/five.WorkModel.html +1 -1
  92. package/docs/interfaces/five.WorkModelTiles.html +1 -1
  93. package/docs/interfaces/five.WorkObserver.html +1 -1
  94. package/docs/interfaces/five.WorkTile.html +1 -1
  95. package/docs/interfaces/five.WorkVideo.html +1 -1
  96. package/docs/interfaces/gltf_loader.GLTF.html +1 -1
  97. package/docs/interfaces/react.FiveActionReactCallbacks.html +1 -1
  98. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  99. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
  100. package/docs/interfaces/server.Intersection.html +1 -1
  101. package/docs/interfaces/server.ModelEventCallback.html +1 -1
  102. package/docs/interfaces/sticker.IntersectionLike.html +1 -1
  103. package/docs/interfaces/vue.FiveActionVueCallbacks.html +1 -1
  104. package/docs/modules/five.SubscribeMixinType.html +1 -1
  105. package/docs/modules/five.html +1 -1
  106. package/docs/modules/gltf_loader.html +1 -1
  107. package/docs/modules/line.html +1 -1
  108. package/docs/modules/react.html +1 -1
  109. package/docs/modules/server.html +1 -1
  110. package/docs/modules/sticker.html +1 -1
  111. package/docs/modules/vue.html +1 -1
  112. package/docs/modules.html +1 -1
  113. package/five/index.js +3 -3
  114. package/gltf-loader/index.js +2 -2
  115. package/line/index.js +2 -2
  116. package/package.json +1 -1
  117. package/react/index.js +2 -2
  118. package/server/index.js +2 -2
  119. package/sticker/index.js +2 -2
  120. package/umd/five.js +1 -1
  121. package/vue/index.js +2 -2
package/five/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @realsee/five
3
3
  *
4
- * Generated: 2022-07-06
5
- * Version: 5.0.0-alpha.134
4
+ * Generated: 2022-07-11
5
+ * Version: 5.0.0-alpha.135
6
6
  *
7
7
  * Terms:
8
8
  * Realsee SDK License Agreement
@@ -369,4 +369,4 @@ function(t,e){for(var i=t.toByteArray(),n=0;n<i.length&&0==i[n];)++n;if(i.length
369
369
  * http://hammerjs.github.io/
370
370
  *
371
371
  * Copyright (c) 2016 Jorik Tangelder;
372
- * Licensed under the MIT license */var Zg=function(t,e,i,n){var r,o=["","webkit","Moz","MS","ms","o"],a=e.createElement?e.createElement("div"):n,s=Math.round,c=Math.abs,l=Date.now;function h(t,e,i){return setTimeout(v(t,i),e)}function u(t,e,i){return!!Array.isArray(t)&&(d(t,i[e],i),!0)}function d(t,e,i){var r;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==n)for(r=0;r<t.length;)e.call(i,t[r],r,t),r++;else for(r in t)t.hasOwnProperty(r)&&e.call(i,t[r],r,t)}function p(e,i,n){var r="DEPRECATED METHOD: "+i+"\n"+n+" AT \n";return function(){var i=new Error("get-stack-trace"),n=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,r,n),e.apply(this,arguments)}}r="function"!=typeof Object.assign?function(t){if(t===n||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var r=arguments[i];if(r!==n&&null!==r)for(var o in r)r.hasOwnProperty(o)&&(e[o]=r[o])}return e}:Object.assign;var f=p((function(t,e,i){for(var r=Object.keys(e),o=0;o<r.length;)(!i||i&&t[r[o]]===n)&&(t[r[o]]=e[r[o]]),o++;return t}),"extend","Use `assign`."),m=p((function(t,e){return f(t,e,!0)}),"merge","Use `assign`.");function g(t,e,i){var n,o=e.prototype;(n=t.prototype=Object.create(o)).constructor=t,n._super=o,i&&r(n,i)}function v(t,e){return function(){return t.apply(e,arguments)}}function y(t,e){return"function"==typeof t?t.apply(e&&e[0]||n,e):t}function A(t,e){return t===n?e:t}function x(t,e,i){d(E(e),(function(e){t.addEventListener(e,i,!1)}))}function b(t,e,i){d(E(e),(function(e){t.removeEventListener(e,i,!1)}))}function w(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function M(t,e){return t.indexOf(e)>-1}function E(t){return t.trim().split(/\s+/g)}function S(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}function _(t){return Array.prototype.slice.call(t,0)}function T(t,e,i){for(var n=[],r=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];S(r,a)<0&&n.push(t[o]),r[o]=a,o++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}function C(t,e){for(var i,r,a=e[0].toUpperCase()+e.slice(1),s=0;s<o.length;){if((r=(i=o[s])?i+a:e)in t)return r;s++}return n}var I=1;function P(e){var i=e.ownerDocument||e;return i.defaultView||i.parentWindow||t}var R="ontouchstart"in t,B=C(t,"PointerEvent")!==n,L=R&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),D="touch",O="mouse",N=24,k=["x","y"],F=["clientX","clientY"];function z(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){y(t.options.enable,[t])&&i.handler(e)},this.init()}function V(t,e,i){var r=i.pointers.length,o=i.changedPointers.length,a=1&e&&r-o==0,s=12&e&&r-o==0;i.isFirst=!!a,i.isFinal=!!s,a&&(t.session={}),i.eventType=e,function(t,e){var i=t.session,r=e.pointers,o=r.length;i.firstInput||(i.firstInput=H(e));o>1&&!i.firstMultiple?i.firstMultiple=H(e):1===o&&(i.firstMultiple=!1);var a=i.firstInput,s=i.firstMultiple,h=s?s.center:a.center,u=e.center=U(r);e.timeStamp=l(),e.deltaTime=e.timeStamp-a.timeStamp,e.angle=W(h,u),e.distance=Q(h,u),function(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};1!==e.eventType&&4!==o.eventType||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y});e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}(i,e),e.offsetDirection=j(e.deltaX,e.deltaY);var d=G(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=c(d.x)>c(d.y)?d.x:d.y,e.scale=s?function(t,e){return Q(e[0],e[1],F)/Q(t[0],t[1],F)}(s.pointers,r):1,e.rotation=s?function(t,e){return W(e[1],e[0],F)+W(t[1],t[0],F)}(s.pointers,r):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,r,o,a,s=t.lastInterval||e,l=e.timeStamp-s.timeStamp;if(8!=e.eventType&&(l>25||s.velocity===n)){var h=e.deltaX-s.deltaX,u=e.deltaY-s.deltaY,d=G(l,h,u);r=d.x,o=d.y,i=c(d.x)>c(d.y)?d.x:d.y,a=j(h,u),t.lastInterval=e}else i=s.velocity,r=s.velocityX,o=s.velocityY,a=s.direction;e.velocity=i,e.velocityX=r,e.velocityY=o,e.direction=a}(i,e);var p=t.element;w(e.srcEvent.target,p)&&(p=e.srcEvent.target);e.target=p}(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function H(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:s(t.pointers[i].clientX),clientY:s(t.pointers[i].clientY)},i++;return{timeStamp:l(),pointers:e,center:U(e),deltaX:t.deltaX,deltaY:t.deltaY}}function U(t){var e=t.length;if(1===e)return{x:s(t[0].clientX),y:s(t[0].clientY)};for(var i=0,n=0,r=0;r<e;)i+=t[r].clientX,n+=t[r].clientY,r++;return{x:s(i/e),y:s(n/e)}}function G(t,e,i){return{x:e/t||0,y:i/t||0}}function j(t,e){return t===e?1:c(t)>=c(e)?t<0?2:4:e<0?8:16}function Q(t,e,i){i||(i=k);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function W(t,e,i){i||(i=k);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}z.prototype={handler:function(){},init:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(P(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&b(this.element,this.evEl,this.domHandler),this.evTarget&&b(this.target,this.evTarget,this.domHandler),this.evWin&&b(P(this.element),this.evWin,this.domHandler)}};var q={mousedown:1,mousemove:2,mouseup:4},K="mousedown",X="mousemove mouseup";function Y(){this.evEl=K,this.evWin=X,this.pressed=!1,z.apply(this,arguments)}g(Y,z,{handler:function(t){var e=q[t.type];1&e&&(0===t.button||2===t.button)&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:O,srcEvent:t}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},J={2:D,3:"pen",4:O,5:"kinect"},$="pointerdown",tt="pointermove pointerup pointercancel";function et(){this.evEl=$,this.evWin=tt,z.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&($="MSPointerDown",tt="MSPointerMove MSPointerUp MSPointerCancel"),g(et,z,{handler:function(t){var e=this.store,i=!1,n=!1,r=t.type.toLowerCase().replace("ms",""),o=Z[r],a=J[t.pointerType]||t.pointerType,s=a==D,c=S(e,t.pointerId,"pointerId");1&o&&(0===t.button||2===t.button||s)?c<0&&(e.push(t),c=e.length-1):12&o?i=!0:s||0!==t.buttons||(i=!0,n=!0,o=Z.pointerup),c<0||(n||(e[c]=t),this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:a,srcEvent:e[c]}),i&&e.splice(c,1))}});var it={touchstart:1,touchmove:2,touchend:4,touchcancel:8},nt="touchstart",rt="touchstart touchmove touchend touchcancel";function ot(){this.evTarget=nt,this.evWin=rt,this.started=!1,z.apply(this,arguments)}function at(t,e){var i=_(t.touches),n=_(t.changedTouches);return 12&e&&(i=T(i.concat(n),"identifier",!0)),[i,n]}g(ot,z,{handler:function(t){var e=it[t.type];if(1===e&&(this.started=!0),this.started){var i=at.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:D,srcEvent:t})}}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ct="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ct,this.targetIds={},z.apply(this,arguments)}function ht(t,e){var i=_(t.touches),n=this.targetIds;if(3&e&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,o,a=_(t.changedTouches),s=[],c=this.target;if(o=i.filter((function(t){return w(t.target,c)})),1===e)for(r=0;r<o.length;)n[o[r].identifier]=!0,r++;for(r=0;r<a.length;)n[a[r].identifier]&&s.push(a[r]),12&e&&delete n[a[r].identifier],r++;return s.length?[T(o.concat(s),"identifier",!0),s]:void 0}g(lt,z,{handler:function(t){var e=st[t.type],i=ht.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:D,srcEvent:t})}});function ut(){z.apply(this,arguments);var t=v(this.handler,this);this.touch=new lt(this.manager,t),this.mouse=new Y(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function dt(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,pt.call(this,e)):12&t&&pt.call(this,e)}function pt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),2500)}}function ft(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],o=Math.abs(e-r.x),a=Math.abs(i-r.y);if(o<=25&&a<=25)return!0}return!1}g(ut,z,{handler:function(t,e,i){var n=i.pointerType==D,r=i.pointerType==O;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)dt.call(this,e,i);else if(r&&ft.call(this,i))return;this.callback(t,e,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var mt=a?C(a.style,"touchAction"):n,gt=mt!==n,vt="compute",yt="auto",At="manipulation",xt="none",bt="pan-x",wt="pan-y",Mt=function(){if(!gt)return!1;var e={},i=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){e[n]=!i||t.CSS.supports("touch-action",n)})),e}();function Et(t,e){this.manager=t,this.set(e)}Et.prototype={set:function(t){t==vt&&(t=this.compute()),gt&&this.manager.element.style&&Mt[t]&&(this.manager.element.style[mt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return d(this.manager.recognizers,(function(e){y(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(M(t,xt))return xt;var e=M(t,bt),i=M(t,wt);if(e&&i)return xt;if(e||i)return e?bt:wt;if(M(t,At))return At;return yt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,r=M(n,xt)&&!Mt.none,o=M(n,wt)&&!Mt["pan-y"],a=M(n,bt)&&!Mt["pan-x"];if(r){var s=1===t.pointers.length,c=t.distance<2,l=t.deltaTime<250;if(s&&c&&l)return}if(!a||!o)return r||o&&6&i||a&&i&N?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var St=32;function _t(t){this.options=r({},this.defaults,t||{}),this.id=I++,this.manager=null,this.options.enable=A(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Tt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function Ct(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function It(t,e){var i=e.manager;return i?i.get(t):t}function Pt(){_t.apply(this,arguments)}function Rt(){Pt.apply(this,arguments),this.pX=null,this.pY=null}function Bt(){Pt.apply(this,arguments)}function Lt(){_t.apply(this,arguments),this._timer=null,this._input=null}function Dt(){Pt.apply(this,arguments)}function Ot(){Pt.apply(this,arguments)}function Nt(){_t.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function kt(t,e){return(e=e||{}).recognizers=A(e.recognizers,kt.defaults.preset),new Ft(t,e)}_t.prototype={defaults:{},set:function(t){return r(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(u(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=It(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return u(t,"dropRecognizeWith",this)||(t=It(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(u(t,"requireFailure",this))return this;var e=this.requireFail;return-1===S(e,t=It(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(u(t,"dropRequireFailure",this))return this;t=It(t,this);var e=S(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+Tt(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+Tt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=St},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=r({},t);if(!y(this.options.enable,[this,e]))return this.reset(),void(this.state=St);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},g(Pt,_t,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,i=t.eventType,n=6&e,r=this.attrTest(t);return n&&(8&i||!r)?16|e:n||r?4&i?8|e:2&e?4|e:2:St}}),g(Rt,Pt,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(wt),t&N&&e.push(bt),e},directionTest:function(t){var e=this.options,i=!0,n=t.distance,r=t.direction,o=t.deltaX,a=t.deltaY;return r&e.direction||(6&e.direction?(r=0===o?1:o<0?2:4,i=o!=this.pX,n=Math.abs(t.deltaX)):(r=0===a?1:a<0?8:16,i=a!=this.pY,n=Math.abs(t.deltaY))),t.direction=r,i&&n>e.threshold&&r&e.direction},attrTest:function(t){return Pt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Ct(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(Bt,Pt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(Lt,_t,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!n||!i||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=h((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return St},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=l(),this.manager.emit(this.options.event,this._input)))}}),g(Dt,Pt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(Ot,Pt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Rt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return 30&i?e=t.overallVelocity:6&i?e=t.overallVelocityX:i&N&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&c(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Ct(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(Nt,_t,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[At]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=t.eventType)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||Q(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=h((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return St},failTimeout:function(){return this._timer=h((function(){this.state=St}),this.options.interval,this),St},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),kt.VERSION="2.0.7",kt.defaults={domEvents:!1,touchAction:vt,enable:!0,inputTarget:null,inputClass:null,preset:[[Dt,{enable:!1}],[Bt,{enable:!1},["rotate"]],[Ot,{direction:6}],[Rt,{direction:6},["swipe"]],[Nt],[Nt,{event:"doubletap",taps:2},["tap"]],[Lt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Ft(t,e){var i;this.options=r({},kt.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(B?et:L?lt:R?ut:Y))(i,V),this.touchAction=new Et(this,this.options.touchAction),zt(this,!0),d(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function zt(t,e){var i,n=t.element;n.style&&(d(t.options.cssProps,(function(r,o){i=C(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}return Ft.prototype={set:function(t){return r(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,r=e.curRecognizer;(!r||r&&8&r.state)&&(r=e.curRecognizer=null);for(var o=0;o<n.length;)i=n[o],2===e.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(t),!r&&14&i.state&&(r=e.curRecognizer=i),o++}},get:function(t){if(t instanceof _t)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event==t)return e[i];return null},add:function(t){if(u(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(u(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,i=S(e,t);-1!==i&&(e.splice(i,1),this.touchAction.update())}return this},on:function(t,e){if(t!==n&&e!==n){var i=this.handlers;return d(E(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this}},off:function(t,e){if(t!==n){var i=this.handlers;return d(E(t),(function(t){e?i[t]&&i[t].splice(S(i[t],e),1):delete i[t]})),this}},emit:function(t,i){this.options.domEvents&&function(t,i){var n=e.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=i,i.target.dispatchEvent(n)}(t,i);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){i.type=t,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](i),r++}},destroy:function(){this.element&&zt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},r(kt,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:St,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:N,DIRECTION_ALL:30,Manager:Ft,Input:z,TouchAction:Et,TouchInput:lt,MouseInput:Y,PointerEventInput:et,TouchMouseInput:ut,SingleTouchInput:ot,Recognizer:_t,AttrRecognizer:Pt,Tap:Nt,Pan:Rt,Swipe:Ot,Pinch:Bt,Rotate:Dt,Press:Lt,on:x,off:b,each:d,merge:m,extend:f,assign:r,inherit:g,bindFn:v,prefixed:C}),kt}("undefined"!=typeof window?window:{},"undefined"!=typeof document?document:{});function Jg(t,e,i){var n=e.offsetWidth,o=e.offsetHeight,a=e.getBoundingClientRect(),s=a.top,c=a.left;return i&&(c+=n*i.left,s+=o*(1-i.bottom-i.height),n*=i.width,o*=i.height),new r.Vector2((t.x-c)/n*2-1,-(t.y-s)/o*2+1)}var $g=new r.OrthographicCamera(-1,1,1,-1,0,1),tv=new r.BufferGeometry;tv.setAttribute("position",new r.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),tv.setAttribute("uv",new r.Float32BufferAttribute([0,2,0,0,2,0],2));var ev=new r.Mesh(tv),iv=new r.Scene;iv.add(ev);var nv=function(){function t(t,e){var i;this.renderer=t,this.material=new r.ShaderMaterial({vertexShader:null!==(i=e.vertex)&&void 0!==i?i:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:e.fragment,uniforms:Object.assign({inputBuffer:new r.Uniform(null)},e.uniforms),defines:Object.assign({},e.defines),blending:r.NoBlending,depthWrite:!1,depthTest:!1})}return t.prototype.render=function(t,e){var i=this.renderer.getRenderTarget(),n=ev.material;this.material.uniforms.inputBuffer.value=t.texture,ev.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(iv,$g),this.renderer.setRenderTarget(i),ev.material=n},t.prototype.dispose=function(){this.material.dispose()},t}(),rv=function(){function t(t){this.renderer=t,this.material=new r.ShaderMaterial({vertexShader:"\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 inputValue;\nvoid main() {\n gl_FragColor = vec4(inputValue, 1.0);\n}\n",uniforms:Object.assign({inputValue:new r.Uniform(new r.Vector3)}),blending:r.NoBlending,depthWrite:!1,depthTest:!1})}return t.prototype.render=function(t,e){var i=this.renderer.getRenderTarget(),n=ev.material;this.material.uniforms.inputValue.value.copy(t),ev.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(iv,$g),this.renderer.setRenderTarget(i),ev.material=n},t.prototype.dispose=function(){this.material.dispose()},t}(),ov=function(t){function i(e){return t.call(this,e,{fragment:"\nuniform sampler2D inputBuffer;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(inputBuffer, vUv);\n}\n"})||this}return e.__extends(i,t),i}(nv),av=function(){function t(t){this.enable=!0,this.renderer=t,this.copyPass=new ov(this.renderer)}return t.prototype.render=function(t,e){this.copyPass.render(t,e)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(),sv=function(t){function i(e){var n,r=this;r=t.call(this)||this;var o=i.parseArgs(e);return r.pending=!0,r.userAction=o.initial[3],r.destroyed=!1,r.ident=o.ident,r.scene=o.scene,r.helper=o.helper,r.camera=o.camera,r.renderer=o.renderer,r.scissor=o.scissor,r.element=o.element,r.model=o.model,r.enableIOSEDR=null!==(n=o.enableIOSEDR)&&void 0!==n&&n,r.work=o.work,r.imageOptions=o.imageOptions,r.videoTexture=o.videoTexture,r.networkSubscribe=o.networkSubscribe,r.requestProxy=o.requestProxy,r.needsRender=!0,r.maxFov=120,r.minFov=40,r.maxLatitude=+Math.PI/2,r.minLatitude=-Math.PI/2,r.cameraMotion=new Zm({longitude:{value:r.camera.pose.longitude,circle:[0,2*Math.PI]},latitude:r.camera.pose.latitude,fov:r.camera.pose.fov}),r.eventUnbinds=[o.element].concat(o.extraElements||[]).map((function(t){return r.bindEvents(t)})),Jt.shared.add((function(){return r.initAnimation.apply(r,o.initial)}),!0),r}return e.__extends(i,t),i.parseArgs=function(t){return e.__assign({},t)},i.initAnimationEndState=function(t){var e=this.parseArgs(t);return{longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance}},i.prototype.destroy=function(){var t;this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var e=0,i=this.eventUnbinds;e<i.length;e++){(0,i[e])()}this.effect&&(this.effect.dispose(),delete this.effect),delete this.panState,null===(t=this.pressState)||void 0===t||t.stop(),delete this.pressState},i.prototype.isReady=function(){return!1===this.pending&&!0===this.cameraMotion.ended},i.prototype.bindExtraElement=function(t){for(var e=0,i=this.eventUnbinds;e<i.length;e++){if(i[e].element===t)return}this.eventUnbinds.push(this.bindEvents(t))},i.prototype.unbindExtraElement=function(t){for(var e=[],i=0,n=this.eventUnbinds;i<n.length;i++){var r=n[i];r.element===t?r():e.push(r)}this.eventUnbinds=e},i.prototype.updateRenderSize=function(){this.needsRender=!0},i.prototype.updateModel=function(t){this.model=t,this.needsRender=!0},i.prototype.updateWork=function(t,e,i,n,r){return this.work=t,this.userAction=r,!1},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={};this.cameraMotion.ended&&(this.cameraMotion.update(t),i.longitude=this.cameraMotion.value.longitude,i.latitude=this.cameraMotion.value.latitude,i.fov=this.cameraMotion.value.fov),Xg(i)&&this.setCamera(i)}},i.prototype.render=function(){this.renderer.render(this.scene,this.camera)},i.prototype.postProcessing=function(t,e){this.destroyed||(this.effect||(this.effect=new av(this.renderer)),this.effect.render(t,e))},i.prototype.updateCamera=function(t,e,i){return this.userAction=i,this.cameraMotion.set(t,e)},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}},i.prototype.moveToPano=function(t,e,i){void 0===e&&(e={}),this.userAction=i;var n={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};e.moveStartCallback&&e.moveStartCallback(t,n),this.emit("moveToPano",t,this.userAction),this.emit("panoWillArrive",t,n,this.userAction),this.emit("panoArrived",t,n,this.userAction),e.moveEndCallback&&e.moveEndCallback(t,n)},i.prototype.initAnimation=function(t,e,i,n){this.pending=!1,this.userAction=n},i.prototype.setCamera=function(t){var e,i,n,r,o;void 0===t&&(t={});var a=null!==(e=t.longitude)&&void 0!==e?e:this.camera.pose.longitude,s=null!==(i=t.latitude)&&void 0!==i?i:this.camera.pose.latitude,c=null!==(n=t.fov)&&void 0!==n?n:this.camera.pose.fov,l=null!==(r=t.distance)&&void 0!==r?r:this.camera.pose.distance,h=null!==(o=t.offset)&&void 0!==o?o:this.camera.pose.offset,u=this.camera.position.clone(),d=Lg(a,this.camera.pose.longitude,2*Math.PI)||Lg(s,this.camera.pose.latitude),p=Lg(c,this.camera.pose.fov),f=Lg(l,this.camera.pose.distance),m=Og(h,this.camera.pose.offset);this.camera.setFromPose({longitude:a,latitude:s,fov:c,distance:l,offset:h});var g=Og(u,this.camera.position);p&&this.emit("cameraFovUpdate",c,this.userAction),d&&this.emit("cameraDirectionUpdate",{longitude:a,latitude:s},this.userAction),g&&this.emit("cameraPositionUpdate",this.camera.position.clone(),this.userAction),(p||d||m||f)&&this.emit("cameraUpdate",{longitude:a,latitude:s,fov:c,offset:h,distance:l},this.userAction),this.needsRender=!0,(De||0!==Ne.length)&&(De&&clearTimeout(De),De=window.setTimeout(Fe,200))},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));this.emit("wantsGesture","pan",n,t.isFinal)||this.emit("gesture","pan",n,t.isFinal)}},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));this.emit("wantsGesture","tap",e,!0)||this.emit("gesture","tap",e,!0)},i.prototype.onPressGesture=function(t,e){var i,n=[t];if(this.emit("wantsGesture","press",n,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;this.emit("gesture","press",n,e)},i.prototype.onPinchGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));this.emit("wantsGesture","pinch",e,t.isFinal)||this.emit("gesture","pinch",e,t.isFinal)},i.prototype.onMouseWheel=function(t){var e=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,i=[{x:t.clientX,y:t.clientY,delta:e}];this.emit("wantsGesture","mouseWheel",i,!1)||this.emit("gesture","mouseWheel",i,!1)},i.prototype.onMouseMove=function(t){},i.prototype.onMouseOut=function(){},i.prototype.relativeClientPosition=function(t){return Jg(t,this.element,this.scissor)},i.prototype.bindEvents=function(t){var e=this,i=function(t){var i=Jg(t,e.element,e.scissor);return!(Math.abs(i.x)>1||Math.abs(i.y)>1)},n=new Zg.Manager(t),r=function(t){return t.session.firstInput||null};n.add(new Zg.Pan({threshold:10,pointers:0})),n.add(new Zg.Tap({interval:410})),n.add(new Zg.Pinch({threshold:0,pointers:2})),n.on("panstart pan",(function(t){var o=r(n);o&&!i(o.center)||(e.onPanGesture(t),u())})),n.on("tap",(function(t){if("mouse"!==t.pointerType||0===t.srcEvent.button){var o=r(n);o&&!i(o.center)||(e.onTapGesture(t),u())}})),n.on("pinchstart pinch pinchend",(function(t){var o=r(n);o&&!i(o.center)||(e.onPinchGesture(t),u())}));var o=function(t){var n={x:t.clientX,y:t.clientY};i(n)&&(e.onMouseWheel(t),u())},a=function(t){if(!jg()){var n={x:t.clientX,y:t.clientY};i(n)?(e.onMouseMove(t),e.pressState&&Math.abs(t.clientX-e.pressState.x)>10&&Math.abs(t.clientY-e.pressState.y)>10&&u()):e.onMouseOut()}},s=function(){e.onMouseOut(),u()},c=function(t,n){if(i(t)){e.pressState={x:t.x,y:t.y,time:e.pressState?e.pressState.time:n,stop:Pt};var r=n-e.pressState.time;e.onPressGesture({x:t.x,y:t.y,delta:r},!1),e.pressState&&(e.pressState.stop=Jt.shared.add((function(e){return c({x:t.x,y:t.y},e)}),!0,1))}else u()},l=function(t){u(),t.touches.length>1||t.changedTouches.length<=0||c({x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY},Bt())},h=function(t){u(),c({x:t.clientX,y:t.clientY},Bt())},u=function(){var t;if(e.pressState){var i=Bt()-e.pressState.time;e.onPressGesture({x:e.pressState.x,y:e.pressState.y,delta:i},!0),null===(t=e.pressState)||void 0===t||t.stop(),delete e.pressState}},d=function(e){if(e&&"function"==typeof e.preventDefault&&e.currentTarget===t&&e.preventDefault(),"function"==typeof getSelection){var i=getSelection();i&&i.focusNode&&(i.removeAllRanges&&i.removeAllRanges(),i.empty&&i.empty())}};t.addEventListener("wheel",o,!1),t.addEventListener("mousemove",a,!1),t.addEventListener("mouseout",s,!1),t.addEventListener("touchstart",l,!1),t.addEventListener("touchend",u,!1),t.addEventListener("touchcancel",u,!1),t.addEventListener("mousedown",h,!1),t.addEventListener("mouseup",u,!1),t.addEventListener("touchstart",d,!1),t.addEventListener("contextmenu",d,!1);return Object.assign((function(){n.destroy(),t.removeEventListener("wheel",o,!1),t.removeEventListener("mousemove",a,!1),t.removeEventListener("mouseout",s,!1),t.removeEventListener("touchstart",l,!1),t.removeEventListener("touchend",u,!1),t.removeEventListener("touchcancel",u,!1),t.removeEventListener("mousedown",h,!1),t.removeEventListener("mouseup",u,!1),t.removeEventListener("touchstart",d,!1),t.removeEventListener("contextmenu",d,!1)}),{element:t})},i}(It),cv=function(t){function i(e){var n,r,o,a,s=this,c=i.parseArgs(e);return(s=t.call(this,c)||this).defaultLongitude=c.defaultLongitude,s.defaultLatitude=c.defaultLatitude,s.defaultFov=c.defaultFov,s.maxFov=c.maxFov,s.minFov=c.minFov,s.maxLatitude=c.maxLatitude,s.minLatitude=c.minLatitude,s.locationMotion=new Zm({x:s.camera.pose.offset.x,y:s.camera.pose.offset.y,z:s.camera.pose.offset.z,distance:s.camera.pose.distance,modelAlpha:null!==(r=null===(n=s.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(a=null===(o=s.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==a?a:0}),s}return e.__extends(i,t),i.distanceFromModel=function(t,e,i){var n=t.bounding,r=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=r/2/Math.tan(Math.PI*e/360);return i<1&&(o/=i),isNaN(o)?r:o},i.parseArgs=function(i){var n,r,o,a,s,c,l,h=t.parseArgs.call(this,i);return e.__assign(e.__assign({},h),{defaultLongitude:null!==(n=i.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(r=i.defaultLatitude)&&void 0!==r?r:Math.PI/4,defaultFov:null!==(o=i.defaultFov)&&void 0!==o?o:80,maxFov:null!==(a=i.maxFov)&&void 0!==a?a:120,minFov:null!==(s=i.minFov)&&void 0!==s?s:40,maxLatitude:null!==(c=i.maxLatitude)&&void 0!==c?c:+Math.PI/2,minLatitude:null!==(l=i.minLatitude)&&void 0!==l?l:-Math.PI/2})},i.initAnimationEndPose=function(t){var e,n,o,a=this.parseArgs(t),s=t.initial[1];return{longitude:null!==(e=s.longitude)&&void 0!==e?e:a.defaultLongitude,latitude:Rm(null!==(n=s.latitude)&&void 0!==n?n:a.defaultLatitude,a.minLatitude,a.maxLatitude),fov:null!==(o=s.fov)&&void 0!==o?o:a.defaultFov,offset:t.model.bounding.getCenter(new r.Vector3),distance:i.distanceFromModel(a.model,a.defaultFov,a.camera.aspect)}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.locationMotion.dispose(),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),delete this.mouseWheelState,delete this.panState},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){return this.work=t,this.updateCamera(i,null!=n?n:0,r),!0},i.prototype.updateModel=function(e){t.prototype.updateModel.call(this,e);var n=e.bounding.getCenter(new r.Vector3),o=i.distanceFromModel(e,this.defaultFov,this.camera.aspect);this.locationMotion.set({x:n.x,y:n.y,z:n.z,distance:o},0).catch(Pt)},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={},n={};this.locationMotion.ended||(this.locationMotion.update(t),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),n.distance=this.locationMotion.value.distance,n.offset=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(t),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),Xg(i)||this.model.setMaterial(i),Xg(n)||this.setCamera(n)}},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:new r.Vector3(e.value.x,e.value.y,e.value.z),distance:e.value.distance}},i.prototype.initAnimation=function(t,e,n,o){var a,s,c,l=this;if(!this.destroyed){this.pending=!1,this.userAction=o;var h={longitude:null!==(a=e.longitude)&&void 0!==a?a:this.defaultLongitude,latitude:Rm(null!==(s=e.latitude)&&void 0!==s?s:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(c=e.fov)&&void 0!==c?c:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3),distance:i.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},u=Xe(h,["longitude","latitude","fov"]),d={x:h.offset.x,y:h.offset.y,z:h.offset.z,distance:h.distance,modelAlpha:1,perspToOrtho:0};this.emit("initAnimationWillStart",t,h,this.userAction),this.cameraMotion.set(u,n).catch(Pt),this.locationMotion.set(d,n).then((function(){l.emit("initAnimationEnded",t,h,l.userAction)}),(function(e){var i=Yg(l.camera.pose);l.emit("initAnimationEnded",t,i,l.userAction)}))}},i.prototype.updateRenderSize=function(){this.locationMotion.set({distance:i.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},0)},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this.work.observers.filter((function(t){return t.active})),i=this.model.intersectRaycaster(t)[0];if(!i)return null;var n=Kg(e,(function(t){return t.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesForOffset=function(t){var e=this.renderer.getSize(new r.Vector2);return{longitude:2*t.x/(e.x*this.scissor.width),latitude:2*t.y/(e.y*this.scissor.height)}},i.prototype.requestInteriaMovement=function(t,i){var n=this;if(!1!==this.interiaMovement){for(var r=e.__assign({},t),o={longitude:0,latitude:0},a=0;a<i;a++)r.longitude*=.996,r.latitude*=.994008,o.longitude+=r.longitude,o.latitude+=r.latitude;var s=Vg(this.cameraMotion.value.longitude+o.longitude),c=Rm(this.cameraMotion.value.latitude+o.latitude,this.minLatitude,this.maxLatitude),l={longitude:s,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};this.cameraMotion.set({longitude:s,latitude:c},0).catch(Pt);var h=r.longitude>1e-4||r.longitude<-1e-4||r.latitude>1e-4||r.latitude<-1e-4;this.emit("interiaPan",l,!h),h?Jt.shared.add((function(t,e){n.requestInteriaMovement(r,0|e)}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal)){var r={x:t.center.x-e.x,y:t.center.y-e.y},o=this.relativeClientPosition(t.center),a=this.camera.pose.latitude<Math.PI/6||o.y<0?-1:1;r.x*=a;var s=this.coordinatesForOffset(r),c=Vg(this.cameraMotion.value.longitude+s.longitude),l=Rm(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(t.overallVelocityX)>.2&&Math.atan2(Math.abs(t.overallVelocityY),Math.abs(t.overallVelocityX))<Math.PI/6.923&&(l=this.cameraMotion.value.latitude);var h={longitude:c,latitude:l,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance};if(!this.emit("wantsPanGesture",h,t.isFinal))if(this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",h,t.isFinal),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({longitude:h.longitude,latitude:h.latitude},0).catch(Pt),t.isFinal)if(!this.emit("wantsInteriaPan",h)){this.interiaMovement=!0;var u=t.velocityX*a,d=t.velocityY;this.requestInteriaMovement(this.coordinatesForOffset({x:u,y:d}),0)}}}},i.prototype.onPinchGesture=function(t){var e,i=null===(e=this.pinchState)||void 0===e?void 0:e.fov,n=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(n=!0,delete this.panState,delete this.pinchState),void 0!==i){var r=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",r,n)){var o=Rm(i/t.scale,this.minFov,this.maxFov);this.emit("wantsPinchGesture",t.scale,o,n)||this.emit("wantsChangeCameraFov",o)||(this.emit("gesture","pinch",r,n),this.emit("pinchGesture",t.scale,o,n),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:o},0).catch(Pt),this.onPanGesture(t))}}}else this.pinchState={fov:this.cameraMotion.value.fov}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=this.minFov,o=this.maxFov,a=Rm(this.camera.fov-i,r,o);this.emit("wantsMouseWheel",i,a,!1)||this.emit("wantsChangeCameraFov",a)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,a,!1),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:a},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,a,!0)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,a,!0))}),200)})}},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",e,!0)){var i=this.relativeClientPosition(t.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i,!0)){this.emit("gesture","tap",e,!0),this.emit("tapGesture",n,i,!0),this.interiaMovement=!1;var o=this.getForwardPanoIndexOrNot(n);if(!_m(o)){this.emit("panoSelected",o);var a={longitude:this.camera.pose.longitude,latitude:0};this.emit("wantsMoveToPano",o,a,!0)}}}},i.prototype.onPressGesture=function(t,e){var i,n,o=[t];if(this.emit("wantsGesture","press",o,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;var a=this.relativeClientPosition(t),s=new r.Raycaster;if(s.setFromCamera(a,this.camera),this.emit("wantsPressGesture",s,a,t.delta,e))return null===(n=this.pressState)||void 0===n||n.stop(),void delete this.pressState;this.emit("gesture","press",o,e),this.emit("pressGesture",s,a,t.delta,e)},i}(sv);var lv=function(t){function i(e){var n=i.parseArgs(e);return t.call(this,n)||this}return e.__extends(i,t),i.parseArgs=function(i){var n=[i.initial[0],e.__assign(e.__assign({},i.initial[1]),{longitude:0,latitude:Math.PI/2}),i.initial[2],i.initial[3]],r=e.__assign(e.__assign({},i),{initial:n,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return t.parseArgs.call(this,r)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.updateModel=function(t){this.model=t,this.needsRender=!0;var e=t.bounding.getCenter(new r.Vector3);this.locationMotion.set({x:e.x,y:e.y,z:e.z,distance:cv.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},0).catch(Pt)},i.prototype.initAnimation=function(t,e,i,n){var o,a=this;if(!this.destroyed){this.pending=!1,this.userAction=n;var s={longitude:0,latitude:Math.PI/2,fov:Rm(null!==(o=e.fov)&&void 0!==o?o:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3),distance:cv.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},c=Xe(s,["longitude","latitude","fov"]),l={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance,modelAlpha:1,perspToOrtho:1};this.cameraMotion.set(c,i).catch(Pt),this.locationMotion.set(l,i).then((function(){a.emit("initAnimationEnded",t,s,a.userAction)}),(function(e){var i=Yg(a.camera.pose);a.emit("initAnimationEnded",t,i,a.userAction)}))}},i.prototype.getZoomOffsetFromFov=function(t,e,i){var n=new r.Vector3(0,-1,0),o=Math.tan(i/2*Math.PI/180),a=Math.tan(e.fov/2*Math.PI/180),s=(a-o)/a,c=new r.Raycaster;c.setFromCamera(t,e);var l=c.ray.direction,h=l.angleTo(n),u=cv.distanceFromModel(this.model,this.defaultFov,this.camera.aspect),d=u*Math.tan(h),p=l.clone().setLength(u*Math.cos(h)).projectOnPlane(n),f=p.length(),m=s/f*p.x*d,g=s/f*p.z*d;return new r.Vector3(m,0,g)},i.prototype.requestInteriaMovement=function(t,e){},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal)){var o=t.center.x-e.x,a=t.center.y-e.y,s=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),c=this.model.bounding,l=c.getCenter(new r.Vector3),h=(c.max.x-c.min.x)/this.defaultFov*this.cameraMotion.value.fov,u=(c.max.y,c.min.y,this.defaultFov,this.cameraMotion.value.fov,(c.max.z-c.min.z)/this.defaultFov*this.cameraMotion.value.fov),d=(this.camera.position.y-c.min.y)*Math.tan(this.camera.fov/2*Math.PI/180),p=this.renderer.getSize(new r.Vector2);s.add(function(t,e){var i=new r.Vector3;return i.setFromMatrixColumn(e,0),i.multiplyScalar(-t),i}(2*o*d/p.y,this.camera.matrix)),s.add(function(t,e,i){var n=new r.Vector3;return n.setFromMatrixColumn(i,0),n.crossVectors(e,n),n.multiplyScalar(t),n}(2*a*d/p.y,this.camera.up,this.camera.matrix)),s.x=Rm(s.x,l.x-h,l.x+h),s.z=Rm(s.z,l.z-u,l.z+u),s.y=l.y;var f={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:s,distance:this.locationMotion.value.distance};this.emit("wantsPanGesture",f,t.isFinal)||(this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",f,t.isFinal),this.userAction=!0,this.locationMotion.set({x:s.x,y:s.y,z:s.z},0).catch(Pt))}}},i.prototype.onPinchGesture=function(t){var e,i=null===(e=this.pinchState)||void 0===e?void 0:e.fov,n=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(n=!0,delete this.pinchState),void 0!==i){var r=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",r,n)){var o=Rm(i/t.scale,this.minFov,this.maxFov),a=this.relativeClientPosition({x:t.center.x,y:t.center.y}),s=this.getZoomOffsetFromFov(a,this.camera,o),c=this.camera.pose.offset.clone().add(s);this.emit("wantsPinchGesture",t.scale,o,n)||this.emit("wantsChangeCameraFov",o)||(this.emit("gesture","pinch",r,n),this.emit("pinchGesture",t.scale,o,n),this.userAction=!0,this.locationMotion.set({x:c.x,y:c.y,z:c.z},0).catch(Pt),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:o},0).catch(Pt),this.onPanGesture(t))}}}else this.pinchState={fov:this.cameraMotion.value.fov}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=Rm(this.cameraMotion.value.fov-i,this.minFov,this.maxFov),o=this.relativeClientPosition({x:t.clientX,y:t.clientY}),a=this.getZoomOffsetFromFov(o,this.camera,r),s=this.camera.pose.offset.clone().add(a);this.emit("wantsMouseWheel",i,r,!1)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,r,!1),this.userAction=!0,this.locationMotion.set({x:s.x,y:s.y,z:s.z},0).catch(Pt),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:r},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,r,!0)||e.emit("wantsChangeCameraFov",r)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,r,!0))}),200)})}},i}(cv);function hv(t,e){void 0===e&&(e=!1);var i=typeof t;if("string"===i)return JSON.stringify(t);if(!0===t)return"true";if(!1===t)return"false";if(null===t)return"null";if(t instanceof Array){for(var n="[",r=t.length-1,o=0;o<r;o++)n+=hv(t[o],!1)+",";return r>-1&&(n+=hv(t[o],!1)),n+"]"}if(t instanceof Object){if("function"==typeof t.toJSON)return hv(t.toJSON(),e);var a=Object.keys(t).sort(),s=a.length;for(n="",o=0;o<s;){var c=a[o],l=hv(t[c],!0);void 0!==l&&(o&&""!==n&&(n+=","),n+=JSON.stringify(c)+":"+l),o++}return"{"+n+"}"}switch(i){case"function":case"undefined":return e?void 0:null;case"number":return t;default:return isFinite(t)?t:null}}function uv(t){return bt(String(hv(t,!1)))}var dv,pv=function(t){function i(e){var n=this,r=i.parseArgs(e);return(n=t.call(this,r)||this).defaultLongitude=r.defaultLongitude,n.defaultLatitude=r.defaultLongitude,n.defaultFov=r.defaultFov,n.maxFov=r.maxFov,n.minFov=r.minFov,n.maxLatitude=r.maxLatitude,n.minLatitude=r.minLatitude,n.moveSpeed=r.moveSpeed,n.intersectMeshCreator=r.intersectMeshCreator,n.interiaMovement=!1,n.intersectMesh=n.intersectMeshCreator(),n.intersectMesh.name="intersect",n.intersectMesh.visible=!1,n.helper.add(n.intersectMesh),n}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a,s,c,l,h,u,d=t.parseArgs.call(this,i);return e.__assign(e.__assign({},d),{defaultLongitude:null!==(n=i.defaultLongitude)&&void 0!==n?n:0,defaultLatitude:null!==(r=i.defaultLatitude)&&void 0!==r?r:0,defaultFov:null!==(o=i.defaultFov)&&void 0!==o?o:90,maxFov:null!==(a=i.maxFov)&&void 0!==a?a:120,minFov:null!==(s=i.minFov)&&void 0!==s?s:40,maxLatitude:null!==(c=i.maxLatitude)&&void 0!==c?c:+Math.PI/2,minLatitude:null!==(l=i.minLatitude)&&void 0!==l?l:-Math.PI/2,moveSpeed:null!==(h=i.moveSpeed)&&void 0!==h?h:3.2,intersectMeshCreator:null!==(u=i.intersectMeshCreator)&&void 0!==u?u:function(){return new Rg}})},i.initAnimationEndPose=function(t){var e,i,n,r=this.parseArgs(t),o=t.initial,a=o[0],s=o[1];return{longitude:null!==(e=s.longitude)&&void 0!==e?e:r.defaultLongitude,latitude:Rm(null!==(i=s.latitude)&&void 0!==i?i:r.defaultLatitude,r.minLatitude,r.maxLatitude),fov:Rm(null!==(n=s.fov)&&void 0!==n?n:r.defaultFov,r.minFov,r.maxFov),offset:r.work.observers[a].position.clone(),distance:0}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.interiaMovement=!1,this.intersectMesh&&(this.helper.remove(this.intersectMesh),this.intersectMesh.dispose()),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),delete this.mouseWheelState,delete this.mouseMoveState,delete this.panState},i.prototype.isReady=function(){return!this.interiaMovement&&(!this.panState&&(!this.pinchState&&(!this.mouseWheelState&&t.prototype.isReady.call(this))))},i.prototype.calculateMovingDuration=function(t,e){switch(typeof t){case"function":return t(e,this.moveSpeed);case"number":return t;case"string":return Number(t);default:return Rm(e,1,3)/this.moveSpeed*1e3}},i.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.emit("intersectionHidden"),this.needsRender=!0},i.prototype.coordinatesForOffset=function(t){var e=this.cameraMotion.value.fov,i=this.camera.aspect,n=this.renderer.getSize(new r.Vector2);return{longitude:2*t.x/(n.x*this.scissor.width)*e/95*i,latitude:-2*t.y/(n.y*this.scissor.height)*e/95}},i.prototype.cameraBounce=function(){var t=this.cameraMotion.value,e=t.longitude,i=t.latitude,n=t.fov,r=[{progress:0,value:{longitude:e,latitude:i,fov:n}},{progress:.5,value:{longitude:e,latitude:i,fov:.98*n}},{progress:1,value:{longitude:e,latitude:i,fov:n}}];this.cameraMotion.setKeyframes(r,500).catch(Pt)},i.prototype.requestInteriaMovement=function(t,i){var n=this;if(!1!==this.interiaMovement){for(var r=e.__assign({},t),o={longitude:0,latitude:0},a=0;a<i;a++)r.longitude*=.996,r.latitude*=.98604,o.longitude+=r.longitude,o.latitude+=r.latitude;var s=Vg(this.cameraMotion.value.longitude+o.longitude),c=Rm(this.cameraMotion.value.latitude+o.latitude,this.minLatitude,this.maxLatitude),l={longitude:s,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};this.cameraMotion.set({longitude:s,latitude:c},0).catch(Pt);var h=r.longitude>1e-4||r.longitude<-1e-4||r.latitude>1e-4||r.latitude<-1e-4;this.emit("interiaPan",l,!h),h?Jt.shared.add((function(t,e){n.requestInteriaMovement(r,0|e)}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal)){var r={x:t.center.x-e.x,y:t.center.y-e.y},o=this.coordinatesForOffset(r),a=Vg(this.cameraMotion.value.longitude+o.longitude),s=Rm(this.cameraMotion.value.latitude+o.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(t.overallVelocityX)>.2&&Math.atan2(Math.abs(t.overallVelocityY),Math.abs(t.overallVelocityX))<Math.PI/6.923&&(s=this.cameraMotion.value.latitude);var c={longitude:a,latitude:s,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};if(!this.emit("wantsPanGesture",c,t.isFinal)){this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",c,t.isFinal),this.userAction=!0,this.interiaMovement=!1,this.hideIntersectMesh();var l={longitude:c.longitude,latitude:c.latitude,fov:c.fov};if(this.cameraMotion.set(l,0).catch(Pt),t.isFinal)if(!this.emit("wantsInteriaPan",c)){this.interiaMovement=!0;var h=t.velocityX,u=.6*t.velocityY;Math.abs(u)>.5&&Math.abs(h)<.5&&(h=0),this.requestInteriaMovement(this.coordinatesForOffset({x:h,y:u}),0)}}}}},i.prototype.onPinchGesture=function(t){var e,i=null===(e=this.pinchState)||void 0===e?void 0:e.fov,n=t.scale,r=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(r=!0,delete this.pinchState),void 0!==i){var o=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",o,r)){var a=Rm(i/n,this.minFov,this.maxFov);this.emit("wantsPinchGesture",n,a,r)||this.emit("wantsChangeCameraFov",a)||(this.emit("gesture","pinch",o,r),this.emit("pinchGesture",n,a,r),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:a},0).catch(Pt),this.onPanGesture(t))}}}else this.pinchState={fov:this.cameraMotion.value.fov}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=Rm(this.cameraMotion.value.fov-i,this.minFov,this.maxFov);this.emit("wantsMouseWheel",i,r,!1)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,r,!1),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:r},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,r,!0)||e.emit("wantsChangeCameraFov",r)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,r,!0))}),200)})}},i.prototype.onMouseMove=function(t){if(this.intersectMesh.parent&&!this.model.empty&&this.model.bvhs&&!0===this.model.bvhs.loaded&&!this.panState){var e=this.relativeClientPosition({x:t.clientX,y:t.clientY}),i=new r.Raycaster;if(i.setFromCamera(e,this.camera),this.emit("wantsShowIntersectionOnModel",i))this.hideIntersectMesh();else{var n=this.model.intersectRaycaster(i)[0];if(n&&n.face){var o=n.face.normal,a=o.clone().multiplyScalar(.05),s=n.point.clone().add(a);this.intersectMesh.position.copy(s);var c=s.clone().add(a);if(this.intersectMesh.lookAt(c),Math.abs(o.y)>.99){var l=this.camera.position.clone().sub(s);this.intersectMesh.rotation.z=-Math.atan2(l.z,l.x)}this.intersectMesh.visible=!0,this.needsRender=!0,this.emit("intersectionOnModelUpdate",n,this.intersectMesh)}else this.hideIntersectMesh();this.mouseMoveState={clientX:t.clientX,clientY:t.clientY}}}},i.prototype.onMouseOut=function(){this.intersectMesh.parent&&!0===this.intersectMesh.visible&&this.hideIntersectMesh()},i.prototype.onPressGesture=function(t,e){var i,n,o=[t];if(this.emit("wantsGesture","press",o,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;var a=this.relativeClientPosition(t),s=new r.Raycaster;if(s.setFromCamera(a,this.camera),this.emit("wantsPressGesture",s,a,t.delta,e))return null===(n=this.pressState)||void 0===n||n.stop(),void delete this.pressState;this.emit("gesture","press",o,e),this.emit("pressGesture",s,a,t.delta,e)},i}(sv);var fv,mv=function(t){function i(e,i){return void 0===i&&(i=.5),t.call(this,e,{uniforms:{inputBuffer:new r.Uniform(null),scale:new r.Uniform(i)},fragment:"\n#include <common>\nuniform sampler2D inputBuffer;\nuniform float scale;\nvarying vec2 vUv;\n\nvoid main() {\n float u = (vUv.x - 0.5) * scale + 0.5;\n float v = (vUv.y - 0.5) * scale + 0.5;\n vec3 rgb = texture2D(inputBuffer, vec2(u, v)).rgb;\n float luminance = clamp(linearToRelativeLuminance(rgb), 0.1, 0.9);\n gl_FragColor = vec4(luminance);\n}\n"})||this}return e.__extends(i,t),i}(nv),gv=function(t){function i(e,i){void 0===i&&(i=.002);var n=t.call(this,e,{uniforms:{targetBuffer:new r.Uniform(null),inputBuffer:new r.Uniform(null),step:new r.Uniform(i)},fragment:"\n uniform sampler2D targetBuffer;\n uniform sampler2D inputBuffer;\n uniform float step;\n varying vec2 vUv;\n void main() {\n\n #ifdef GL_EXT_shader_texture_lod\n #if __VERSION__ < 300\n float target = texture2DLodEXT(targetBuffer, vUv, 5.0).r;\n #else\n float target = textureLod(targetBuffer, vUv, 5.0).r;\n #endif\n #else\n float target = texture2D(targetBuffer, vUv).r;\n #endif\n float current = texture2D(inputBuffer, vUv).r;\n\n float result;\n if (abs(target - current) < step) {\n result = target;\n } else if (target - current > 0.0) {\n result = current + step;\n } else {\n result = current - step;\n }\n gl_FragColor = vec4(result, result, result, 1.0);\n }\n "})||this;return n.material.extensions.shaderTextureLOD=!0,n}return e.__extends(i,t),Object.defineProperty(i.prototype,"targetBuffer",{get:function(){return this.material.uniforms.targetBuffer.value},set:function(t){this.material.uniforms.targetBuffer.value=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"step",{get:function(){return this.material.uniforms.step.value},set:function(t){this.material.uniforms.step.value=t},enumerable:!1,configurable:!0}),i}(nv),vv=function(t){function i(e){var i=t.call(this,e,{uniforms:{inputBuffer:new r.Uniform(null),luminanceAdaptiveBuffer:new r.Uniform(null),progress:new r.Uniform(0)},fragment:"\n #include <common>\n uniform sampler2D inputBuffer;\n uniform sampler2D luminanceAdaptiveBuffer;\n uniform float progress;\n varying vec2 vUv;\n\n void main() {\n float middleGrey = 1.5;\n float whitePoint = 13.0;\n float exposure = 1.4;\n vec4 inputColor = texture2D(inputBuffer, vUv);\n vec3 rgb = inputColor.rgb * exposure;\n float alpha = inputColor.a;\n float luminance = linearToRelativeLuminance(rgb);\n float lumAvg = texture2D(luminanceAdaptiveBuffer, vec2(0.5)).r;\n float lumScaled = (luminance * middleGrey) / max(lumAvg, 1e-6);\n float lumCompressed = lumScaled * (1.0 + lumScaled / (whitePoint * whitePoint));\n lumCompressed /= (1.0 + lumScaled);\n rgb = clamp(lumCompressed * rgb, 0.0, 1.0);\n gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);\n }\n "})||this;return i.material.transparent=!0,i}return e.__extends(i,t),Object.defineProperty(i.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(t){this.material.uniforms.luminanceAdaptiveBuffer.value=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(t){this.material.uniforms.progress.value=t},enumerable:!1,configurable:!0}),i}(nv),yv=function(t){function i(e){var i=t.call(this,e)||this;return i.enableTime=Bt(),i.renderer=e,i.valuePass=new rv(i.renderer),i.luminancePass=new mv(i.renderer,Math.sqrt(1/3)),i.nextStepPass=new gv(i.renderer,.01),i.luminanceAdaptivePass=new vv(i.renderer),i}return e.__extends(i,t),i.prototype.render=function(t,e){if(!this.enable)return this.enableTime=null,void this.copyPass.render(t);null===this.enableTime&&(this.enableTime=Bt()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new r.WebGLRenderTarget(128,128,{minFilter:r.LinearMipmapLinearFilter,magFilter:r.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:r.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(t,this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new r.WebGLRenderTarget(1,1,{minFilter:r.NearestFilter,magFilter:r.NearestFilter,type:r.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new r.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new r.WebGLRenderTarget(1,1,{minFilter:r.NearestFilter,magFilter:r.NearestFilter,type:r.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new r.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((Bt()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(t,e)},i.prototype.dispose=function(){var t,e,i;null===(t=this.luminanceTargetBuffer)||void 0===t||t.dispose(),null===(e=this.luminancePrevBuffer)||void 0===e||e.dispose(),null===(i=this.luminanceNextBuffer)||void 0===i||i.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},i}(av),Av=["up","down","left","right","front","back"],xv=null!==(fv=Math.SQRT1_2)&&void 0!==fv?fv:Math.sqrt(2),bv={up:new r.Quaternion(xv,0,0,xv),down:new r.Quaternion(-xv,0,0,xv),left:new r.Quaternion(0,xv,0,xv),right:new r.Quaternion(0,-xv,0,xv),front:new r.Quaternion(0,0,0,1),back:new r.Quaternion(0,1,0,0)},wv=(new r.Quaternion).setFromAxisAngle(new r.Vector3(0,1,0),Math.PI),Mv=new r.PerspectiveCamera,Ev=new r.Frustum,Sv=new r.Matrix4,_v=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Tv=new Float32Array([0,0,1,0,0,1,1,1]),Cv=new Uint8Array([0,1,2,1,3,2]),Iv=new r.BufferGeometry;Iv.setAttribute("position",new r.BufferAttribute(_v,3)),Iv.setAttribute("uv",new r.BufferAttribute(Tv,2)),Iv.setIndex(new r.BufferAttribute(Cv,1));var Pv=function(t){function i(){var e=t.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null}},vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n#if defined(USE_LUMINANCE)\nuniform sampler2D luminanceMap;\n#endif\nuniform sampler2D map;\nvarying vec2 vUv;\n\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n #if defined(USE_LUMINANCE)\n gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;\n #endif\n}\n"})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=r.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(t){this.uniforms.map.value=t}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(t){this.uniforms.luminanceMap.value=t,this.defines.USE_LUMINANCE=null!==t,this.needsUpdate=!0}}}),e}return e.__extends(i,t),i}(r.ShaderMaterial),Rv=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.level=0,e.sideCount=0,e.col=0,e.row=0,e.index=0,e.type="up",e}return e.__extends(i,t),i}(r.Box3),Bv=function(t){function i(e,i){var n=this,o=new Pv;return o.visible=!1,(n=t.call(this,Iv,o)||this).position.copy(e.getCenter(new r.Vector3)),n.quaternion.copy(bv[e.type]),n.scale.setScalar(1/Math.pow(2,e.level)),n.name="tile-box",n.level=e.level,n.activeTime=-1,n.disposed=!1,n.needsRender=!1,n.frustumCulled=!1,i.then((function(t){var e=t[0],i=t[1];n.disposed?(e.dispose(),null==i||i.dispose()):(n.material.map=e,n.material.luminanceMap=i,n.material.needsUpdate=!0,n.material.visible=!0)})).catch(Pt),n}return e.__extends(i,t),i.getBox=function(t,e,i){var n=new Rv,r=Math.pow(2,t),o=1/r,a=i%r,s=Math.floor(i/r);switch(n.level=t,n.index=i,n.sideCount=r,n.row=s,n.col=a,n.type=e,e){case"up":n.min.y=.5,n.max.y=.5,n.min.x=+a*o-.5,n.max.x=+a*o-.5+o,n.min.z=-s*o+.5-o,n.max.z=-s*o+.5;break;case"down":n.min.y=-.5,n.max.y=-.5,n.min.x=+a*o-.5,n.max.x=+a*o-.5+o,n.min.z=+s*o-.5,n.max.z=+s*o-.5+o;break;case"left":n.min.x=-.5,n.max.x=-.5,n.min.z=-a*o+.5-o,n.max.z=-a*o+.5,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5;break;case"right":n.min.x=.5,n.max.x=.5,n.min.z=+a*o-.5,n.max.z=+a*o-.5+o,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5;break;case"front":n.min.z=-.5,n.max.z=-.5,n.min.x=+a*o-.5,n.max.x=+a*o-.5+o,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5;break;case"back":n.min.z=.5,n.max.z=.5,n.min.x=-a*o+.5-o,n.max.x=-a*o+.5,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5}return n},i.prototype.updateTime=function(t){},i.prototype.dispose=function(){var t;this.disposed=!0,this.material.map&&(this.material.map.dispose(),null===(t=this.material.luminanceMap)||void 0===t||t.dispose()),this.material.dispose()},i}(r.Mesh),Lv=function(t){function i(){var e=t.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return e.__extends(i,t),i}(r.Group),Dv=function(){function t(t,e){this.disposed=!1,this.textureLoader=new yi(t),this.level=0,this.panoIndex=0,this.pedding=0,this.tiles=[],this.resource=[],this.luminance=null,this.imageOptions=e,this.object=new Lv}return t.prototype.setAllowHosts=function(t){this.textureLoader.setAllowHosts(t)},t.prototype.setRequestProxy=function(t){this.textureLoader.setRequestProxy(t)},t.prototype.setNetworkSubscribe=function(t){this.textureLoader.setNetworkSubscribe(t)},t.prototype.cleanup=function(){for(var t=0;t<this.tiles.length;t++)if(this.tiles[t]){var e=this.tiles[t],i="level-group:"+t,n=this.object.getObjectByName(i);for(var r in e){var o=e[r];o.dispose(),n.remove(o),delete e[r],this.object.needsRender=!0}}},t.prototype.setRotation=function(t){if(!this.disposed){var e=(new r.Quaternion).multiplyQuaternions(t,wv);this.object.quaternion.equals(e)||(this.object.quaternion.copy(e),this.object.needsRender=!0)}},t.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},t.prototype.setResource=function(t){if(!this.disposed&&this.resource!==t){this.cleanup(),this.resource=t;for(var e=0;e<t.length;e++){var i=t[e].level;this.tiles[i]={};var n="level-group:"+i,o=this.object.getObjectByName(n);o||((o=new r.Group).name=n,o.renderOrder=-2),this.object.add(o)}this.object.needsRender=!0}},t.prototype.setLuminance=function(t){this.luminance=t},t.prototype.getTileResources=function(t){for(var e,i=null!==(e=this.imageOptions.size)&&void 0!==e?e:2048,n=[],r=this.resource.length-1;r>=0;r--)this.resource[r].level<=t&&512*Math.pow(2,this.resource[r].level)>i&&n.unshift(this.resource[r]);return n},t.prototype.update=function(t,i,n){var o=this;if(!this.disposed){this.level=i;var a=Mv.copy(t);a.position.set(0,0,0),a.quaternion.premultiply(this.object.quaternion.clone().inverse()),a.updateMatrixWorld(!0),a.updateProjectionMatrix();for(var s=a.getWorldDirection(new r.Vector3),c=Ev.setFromProjectionMatrix(Sv.multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse)),l=this.getTileResources(i),h=function(t){if(t){for(var i=[],a=t.level,l=Math.pow(2,a),h=l*l,d=u.object.getObjectByName("level-group:"+a),p=0,f=Av;p<f.length;p++)for(var m=f[p],g=0;g<h;g++){var v=Bv.getBox(a,m,g);c.intersectsBox(v)&&i.push(v)}var y=new r.Vector3;i.sort((function(t,e){return t.getCenter(y).angleTo(s)-e.getCenter(y).angleTo(s)}));for(var A=[],x=0,b=i;x<b.length;x++){var w=(v=b[x]).sideCount,M=v.row,E=v.col,S=(m=v.type,"tile-level:".concat(a,"-face:").concat(m,"-row:").concat(M,"-col:").concat(E));if(!u.tiles[a][S]){var _=t[m],T=t.size,C=T/w,I=[C*E,C*M,C,C],P=e.__assign({key:"pano_tile.".concat(u.panoIndex,".").concat(m,".").concat(a,".").concat(M,".").concat(E),basisLoaderInitialized:gi.isInitialized(),cut:I},Xe(u.imageOptions,["format","mappings"]));a<=1&&("jpg"===P.format||/\.jpg$/.test(_))?(1024!==C&&(P.size=1024),P.quality=70):512!==C&&(P.size=512);var R=u.imageOptions.transform?u.imageOptions.transform(_,P):ie(_,P),B=u.textureLoader.load(R,{preInit:!0}).then((function(t){return t.body})),L=null;if(u.luminance){var D=u.luminance[m],O=D.match(/\/cube_(\d+)\//),N=!!O&&Number(O[1]);if(!1!==N){var k=T/N,F=e.__assign(e.__assign({},P),{size:256,cut:[I[0]/k,I[1]/k,I[2]/k,I[3]/k],key:"pano_tile_luminance.".concat(u.panoIndex,".").concat(m,".").concat(a,".").concat(M,".").concat(E)}),z=u.imageOptions.transform?u.imageOptions.transform(D,F):ie(D,F);L=u.textureLoader.load(z,{format:r.LuminanceFormat,preInit:!0}).then((function(t){return t.body})).catch((function(){return null}))}}u.pedding++;var V=Promise.all([B,L]).then((function(t){return o.pedding--,t}),(function(t){return o.pedding--,Promise.reject(t)}));(G=u.tiles[a][S]=new Bv(v,V)).name=S,G.renderOrder=a,d.add(G)}u.tiles[a][S].activeTime=n,A.push(S)}for(var H=0,U=Object.keys(u.tiles[a]).sort((function(t,e){return o.tiles[a][e].activeTime-o.tiles[a][t].activeTime})).slice(Math.max(24,A.length));H<U.length;H++){S=U[H];var G=u.tiles[a][S];d.remove(G),G.dispose(),delete u.tiles[a][S],u.object.needsRender=!0}}},u=this,d=0,p=l;d<p.length;d++){h(p[d])}for(var f=0;f<this.tiles.length;f++)if(this.tiles[f]){var m=l.length>0&&f<=l[l.length-1].level;for(var g in this.tiles[f])this.tiles[f][g].visible!==m&&(this.tiles[f][g].visible=m,this.tiles[f][g].needsRender=!0),this.tiles[f][g].updateTime(n)}}},t.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},t}(),Ov=new Float32Array([-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1]),Nv=new Uint8Array([0,2,1,2,3,1,4,6,5,6,7,5,8,10,9,10,11,9,12,14,13,14,15,13,16,18,17,18,19,17,20,22,21,22,23,21]),kv=new r.BufferGeometry;kv.setAttribute("position",new r.BufferAttribute(Ov,3)),kv.setIndex(new r.BufferAttribute(Nv,1));var Fv=function(){function t(){this.material=new r.ShaderMaterial({vertexShader:"\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\nvoid main() {\n vec4 transformed = vec4(position, 1.0);\n #if defined(USE_PANO_VIDEO)\n worldPosition = (modelMatrix * transformed).xyz;\n #endif\n gl_Position = projectionMatrix * modelViewMatrix * transformed;\n}\n",fragmentShader:"\nuniform vec2 size;\nuniform mat4 matrix;\nuniform float alpha;\nuniform sampler2D map;\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\n#include <common>\nvoid main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n #if defined(USE_PANO_VIDEO)\n vec3 cameraToVertex = worldPosition - cameraPosition;\n vec4 mapCoods = vec4(cameraToVertex, 1.0) * matrix;\n vec2 uv = vec2(\n 0.5 + mapCoods.x / mapCoods.z / size.x,\n 0.5 - mapCoods.y / mapCoods.z / size.y\n );\n vec4 videoColor = texture2D(map, uv);\n float match = (1.0 - step(0.0, mapCoods.z)) * (1.0 - step(0.5, abs(uv.x - 0.5))) * (1.0 - step(0.5, abs(uv.y - 0.5)));\n float blendAlpha = clamp(0.0, 1.0, 5.0 * (1.0 - clamp(distance(uv, vec2(0.5, 0.5)) / 0.55 , 0.0, 1.0)));\n gl_FragColor = vec4(videoColor.rgb, match * blendAlpha * alpha);\n #endif\n}\n",uniforms:{size:new r.Uniform(null),matrix:new r.Uniform(null),alpha:new r.Uniform(null),map:new r.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:r.CustomBlending,blendSrc:r.SrcAlphaFactor,blendDst:r.OneMinusSrcAlphaFactor,blendSrcAlpha:r.OneFactor,blendDstAlpha:r.OneMinusSrcAlphaFactor}),this.object=new r.Mesh(kv,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.alphaMotion=new Zm({alpha:0})}return t.prototype.setMaterial=function(t){t?(this.material.uniforms.size.value=t.size,this.material.uniforms.matrix.value=t.matrix,this.material.uniforms.map.value=t.map,this.alphaMotion.set({alpha:t.alpha},500).catch(Pt),this.material.uniforms.alpha.value=t.alpha):(this.material.uniforms.size.value=null,this.material.uniforms.matrix.value=null,this.material.uniforms.map.value=null,this.alphaMotion.set({alpha:0},0).catch(Pt));var e=null!==t;e!==this.material.defines.USE_PANO_VIDEO&&(this.material.defines.USE_PANO_VIDEO=e,this.material.needsUpdate=!0,this.object.visible=null!==t)},t.prototype.updateTime=function(t){this.alphaMotion.ended||(this.alphaMotion.update(t),this.material.uniforms.alpha.value=this.alphaMotion.value.alpha)},t.prototype.dispose=function(){this.material.dispose()},t}(),zv=(new r.Matrix4).makeRotationAxis(new r.Vector3(0,1,0),Math.PI),Vv=new r.Vector3(-1,1,1),Hv=function(t){function i(e){var n,r,o,a,s,c,l,h=this,u=i.parseArgs(e);(h=t.call(this,u)||this).initAnimationed=!1,h.currentPanoIndex=u.initial[0],h.maxAccessibleDistance=u.maxAccessibleDistance,h.panoTapTriggerRadius=u.panoTapTriggerRadius,h.panoCircleMeshCreator=u.panoCircleMeshCreator,h.tileLevelForFov=u.tileLevelForFov;var d=h.model.getMaterial()||{},p=d.pano0,f=d.pano1;p&&(null==f?void 0:f.map)!==p.map&&(h.model.setMaterial({pano0:f}),p.map.dispose(),null===(n=p.luminanceMap)||void 0===n||n.dispose()),h.boundingMesh=h.generateBoundingMesh(),h.boundingMesh.setMaterial(h.model.getMaterial()||{}),h.boundingMesh.visible=!1,h.scene.add(h.boundingMesh),h.panoMeshes=[],h.updatePanoMeshes(),h.locationMotion=new Zm({count:0,distance:h.camera.pose.distance,modelAlpha:null!==(o=null===(r=h.model.getMaterial())||void 0===r?void 0:r.modelAlpha)&&void 0!==o?o:0,perspToOrtho:null!==(s=null===(a=h.model.getMaterial())||void 0===a?void 0:a.perspToOrtho)&&void 0!==s?s:0}),h.panoResources={},h.panoResources[h.locationMotion.keyframes[0].key=h.locationMotion.keyframes[1].key=Dr()]={panoIndex:h.currentPanoIndex,workCode:h.work.workCode,panoPicture:null!==(l=null===(c=h.model.getMaterial())||void 0===c?void 0:c.pano1)&&void 0!==l?l:null,position:h.camera.pose.offset.clone(),effect:"fly"};var m={allowHosts:h.work.allowHosts,requestProxy:h.requestProxy,networkSubscribe:h.networkSubscribe};return h.textureLoader=new yi(m),h.tiling=new Dv(m,h.imageOptions),h.scene.add(h.tiling.object),h.panoVideo=new Fv,h.scene.add(h.panoVideo.object),h}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a,s=t.parseArgs.call(this,i);return e.__assign(e.__assign({},s),{maxAccessibleDistance:null!==(n=i.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(r=i.panoTapTriggerRadius)&&void 0!==r?r:.5,panoCircleMeshCreator:null!==(o=i.panoCircleMeshCreator)&&void 0!==o?o:function(){return new Tg},tileLevelForFov:null!==(a=i.tileLevelForFov)&&void 0!==a?a:function(t,e){var i=2*Math.atan(Math.tan(t/180*Math.PI/2)*(e.width/e.height))/Math.PI*180,n=Math.max(e.width/i,e.height/t);return n>80?4:n>48?3:n>24?2:n>12?1:0}})},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var e,i,n=this;t.prototype.destroy.call(this),this.scene.remove(this.tiling.object),this.tiling.dispose(),this.locationMotion.dispose(),delete this.pendingTextureTask,this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoMeshes&&(this.panoMeshes.forEach((function(t){n.helper.remove(t),t.dispose()})),this.panoMeshes.length=0),this.interiaMovement=!1;var r=this.videoTexture.image;r.pause(),r.oncanplay=function(){},r.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var o=null!==(e=this.model.getMaterial())&&void 0!==e?e:{},a=o.pano0,s=o.pano1,c=0,l=Object.keys(this.panoResources);c<l.length;c++){var h=l[c],u=this.panoResources[h];if(u.panoPicture){var d=u.panoPicture.map;d&&d!==(null==a?void 0:a.map)&&d!==(null==s?void 0:s.map)&&(d.dispose(),null===(i=u.panoPicture.luminanceMap)||void 0===i||i.dispose(),u.panoPicture=null)}delete this.panoResources[h]}},i.prototype.isReady=function(){return!0===this.locationMotion.ended&&(this.tiling.pedding<=0&&t.prototype.isReady.call(this))},i.prototype.updateWork=function(t,e,i,n,r){var o=this;this.userAction=r,this.work=t,this.currentPanoIndex=e,this.textureLoader.setAllowHosts(this.work.allowHosts),this.tiling.setAllowHosts(this.work.allowHosts),this.tiling.cleanup(),this.initAnimationed=!1;var a={},s=!0;this.boundingMesh&&(a=this.boundingMesh.getMaterial()||{},s=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.visible=s,this.boundingMesh.setMaterial(a),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.updatePanoMeshes();for(var c=0,l=this.panoMeshes;c<l.length;c++){l[c].visible=!1}return this.moveToPano(e,{effect:"fade",duration:n,longitude:i.longitude,latitude:i.latitude,fov:i.fov,moveEndCallback:function(){o.initAnimationed=!0},moveCancelCallback:function(){o.initAnimationed=!0}},r),!0},i.prototype.updateModel=function(t){this.model=t;var e={},i=!0;this.boundingMesh&&(e=this.boundingMesh.getMaterial()||{},i=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(),this.boundingMesh.visible=i,this.boundingMesh.name="bounding",this.boundingMesh.setMaterial(e),this.scene.add(this.boundingMesh),this.updatePanoMeshes()},i.prototype.updateTime=function(t,e){var i,n,o,a,s,c,l;if(!this.destroyed){var h={},u={},d=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),f=!1;if(!1===this.locationMotion.ended){this.locationMotion.update(t);var m=this.locationMotion.getKeyFrameSegment(t),g=m[0],v=m[1],y=this.panoResourceFromLocationMotionKeyframe(g),A=this.panoResourceFromLocationMotionKeyframe(v),x=(new r.Vector3).copy(y.position),b=(new r.Vector3).copy(A.position),w=this.locationMotion.value.count-v.value.count+1;h.progress=w,h.modelAlpha=this.locationMotion.value.modelAlpha,h.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),A.panoPicture&&(w<1?y.panoPicture&&(h.pano0=y.panoPicture):h.pano0=A.panoPicture,h.pano1=A.panoPicture),f=h.useBlackTransition="instant"===A.effect||"montage"===A.effect,"fade"!==A.effect&&"montage"!==A.effect||(h.pano0&&y.panoPicture&&(h.pano0={map:h.pano0.map,luminanceMap:h.pano0.luminanceMap,matrix:y.panoPicture.matrix.clone().setPosition(A.position)}),x.copy(b)),u.distance=this.locationMotion.value.distance,u.offset=new r.Vector3(x.x+(b.x-x.x)*w,x.y+(b.y-x.y)*w,x.z+(b.z-x.z)*w);for(var M=[],E=[],S=0,_=this.locationMotion.keyframes;S<_.length;S++){var T=_[S],C=T.key,I=T.progress;void 0!==C&&(M.push(C),I>=this.locationMotion.progress&&E.push(C))}for(var P=0,R=Object.keys(this.panoResources);P<R.length;P++){var B=R[P];if(!(E.indexOf(B)>=0)){var L=this.panoResources[B];if(L.panoPicture){var D=L.panoPicture.map;if(D){if(D===(null===(i=h.pano0)||void 0===i?void 0:i.map))continue;if(D===(null===(n=h.pano1)||void 0===n?void 0:n.map))continue;D.dispose(),null===(o=L.panoPicture.luminanceMap)||void 0===o||o.dispose(),L.panoPicture=null}}M.indexOf(B)>=0||delete this.panoResources[B]}}y.workCode===A.workCode?this.currentPanoIndex=w<.5?y.panoIndex:A.panoIndex:this.currentPanoIndex=A.panoIndex,this.emit("movingToPano",p.panoIndex,d.panoIndex,this.locationMotion.progress)}if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(t),u.longitude=this.cameraMotion.value.longitude,u.latitude=this.cameraMotion.value.latitude,u.fov=this.cameraMotion.value.fov),!1===Xg(h)&&(this.model.setMaterial(h),this.boundingMesh.setMaterial(h)),!1===Xg(u)&&this.setCamera(u),this.camera.pose.distance>.1)for(var O=0;O<this.work.observers.length;O++){(z=this.panoMeshes[O])&&(z.visible=!1)}else{var N=this.work.observers[this.currentPanoIndex];if(N){var k=N.visibleNodes.concat(this.currentPanoIndex),F=this.getForwardPanoIndexOrNot();for(O=0;O<this.work.observers.length;O++){var z,V=this.work.observers[O];if(z=this.panoMeshes[O])if(V.loadable||V.active)if(-1!==k.indexOf(O))if(f)z.visible=!1,z.setOpacity(0);else{z.visible=!0;var H=z.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);z.setCurrent(F===O),z.setOpacity(H<.01?0:Rm(1.4/H,.5,.7)),z.updateTime&&z.updateTime(t,e)}else z.visible=!1,z.setOpacity(0);else z.visible=!1,z.setOpacity(0)}}}this.boundingMesh.visible=Boolean(null===(a=this.boundingMesh.getMaterial())||void 0===a?void 0:a.pano0)&&this.boundingMesh.boundingBox.containsPoint(this.camera.position);var U=this.tiling.object.visible;if(!1!==this.tileLevelForFov&&this.initAnimationed){var G=p.panoIndex,j=this.work.observers[G];if(j)if(Dg(this.camera.position,j.position)&&this.locationMotion.ended){this.tiling.object.visible=!0,this.enableIOSEDR&&this.tiling.setLuminance(null!==(s=j.images.luminance)&&void 0!==s?s:null),this.tiling.panoIndex!==G&&this.tiling.cleanup(),this.tiling.panoIndex=G,this.tiling.setResource(null!==(l=null===(c=j.images)||void 0===c?void 0:c.tiles)&&void 0!==l?l:[]),this.tiling.setRotation(j.quaternion),this.tiling.setPosition(j.position);var Q=this.renderer.getDrawingBufferSize(new r.Vector2);Q.width*=this.scissor.width,Q.height*=this.scissor.height;var W=this.imageOptions.size;if(void 0===W&&j){var q=j.images.up.match(/\/cube_(\d+)\//);q&&(W=Number(q[1]))}void 0===W&&(W=2048);var K=0;W>=1024&&(K=1),W>=2048&&(K=2),W>=4096&&(K=3),W>=8192&&(K=4);var X=this.tileLevelForFov(this.camera.fov,Q),Y=X>K?X:0;this.tiling.update(this.camera,Y,t)}else this.tiling.object.visible=!1;else this.tiling.object.visible=!1}else this.tiling.object.visible=!1;U!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0),this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(t)}},i.prototype.render=function(){var e=this.work.observers[this.currentPanoIndex];e&&e.video&&(this.needsRender=!0),t.prototype.render.call(this)},i.prototype.postProcessing=function(t,e){if(!this.destroyed)return this.effect||(this.effect=new yv(this.renderer)),this.effect.render(t,e)},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1],i=this.panoResourceFromLocationMotionKeyframe(e),n=this.work.observers[i.panoIndex];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},i.prototype.moveToPano=function(t,i,n){var o,a,s,c=this,l=this.work.observers[t],h=e.__assign({key:"pano.".concat(t),basisLoaderInitialized:gi.isInitialized()},Xe(this.imageOptions,["format","size","quality","sharpen","mappings"])),u=null!==(o=this.imageOptions.transform)&&void 0!==o?o:ie,d={right:u(l.images.right,e.__assign(e.__assign({},h),{key:"".concat(h.key,".right")})),left:u(l.images.left,e.__assign(e.__assign({},h),{key:"".concat(h.key,".left")})),up:u(l.images.up,e.__assign(e.__assign({},h),{key:"".concat(h.key,".up")})),down:u(l.images.down,e.__assign(e.__assign({},h),{key:"".concat(h.key,".down")})),front:u(l.images.front,e.__assign(e.__assign({},h),{key:"".concat(h.key,".front")})),back:u(l.images.back,e.__assign(e.__assign({},h),{key:"".concat(h.key,".back")}))},p={key:"pano_luminance.".concat(t),basisLoaderInitialized:gi.isInitialized(),size:h.size?h.size/2:1024},f=this.enableIOSEDR&&l.images.luminance?{right:u(l.images.luminance.right,e.__assign(e.__assign({},p),{key:"".concat(p.key,".right")})),left:u(l.images.luminance.left,e.__assign(e.__assign({},p),{key:"".concat(p.key,".left")})),up:u(l.images.luminance.up,e.__assign(e.__assign({},p),{key:"".concat(p.key,".up")})),down:u(l.images.luminance.down,e.__assign(e.__assign({},p),{key:"".concat(p.key,".down")})),front:u(l.images.luminance.front,e.__assign(e.__assign({},p),{key:"".concat(p.key,".front")})),back:u(l.images.luminance.back,e.__assign(e.__assign({},p),{key:"".concat(p.key,".back")}))}:null,m="pano:"+uv(d);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===m)return;var g=this.pendingTextureTask.panoIndex;null===(a=this.panoMeshes[g])||void 0===a||a.setProgress(0),this.emit("textureAbort",g,l),this.pendingTextureTask.onError(new Error("texture aborted"))}this.pending=!0;var v,y=this.model.getMaterial()||{},A=y.pano0,x=y.pano1;if(A&&A.map.name===m&&null!==A.luminanceMap===this.enableIOSEDR?v=A:(null==x?void 0:x.map.name)===m&&null!==x.luminanceMap===this.enableIOSEDR&&(v=x),v){var b={panoIndex:t,workCode:this.work.workCode,effect:null!==(s=i.effect)&&void 0!==s?s:"fly",panoPicture:{map:v.map,luminanceMap:v.luminanceMap,matrix:(new r.Matrix4).compose(l.position,l.quaternion,Vv)},position:l.position.clone()};Jt.shared.add((function(){c.pending=!1,c.emit("panoLoaded",t),c.doMoveToPano(t,b,i,n)}),!0,1)}else{this.pendingTextureTask={panoIndex:t,hash:m,onLoad:function(e,o){var a,s;if(c.pending=!1,c.destroyed)e.body.dispose();else{e.body.name=m,c.emit("panoLoaded",t);var h={panoIndex:t,workCode:c.work.workCode,effect:null!==(a=i.effect)&&void 0!==a?a:"fly",panoPicture:{map:e.body,luminanceMap:null!==(s=null==o?void 0:o.body)&&void 0!==s?s:null,matrix:(new r.Matrix4).compose(l.position,l.quaternion,Vv)},position:l.position.clone()};c.doMoveToPano(t,h,i,n)}},onError:function(e){c.pending=!1,i.moveCancelCallback&&i.moveCancelCallback(),c.emit("panoLoadError",e,t),c.emit("moveToPanoCanceled",t)}};var w=this.panoMeshes[t];w&&w.tap&&w.tap(),Promise.all([this.textureLoader.loadCube(d,{format:r.RGBFormat,viaAjax:!0},void 0,void 0,(function(e){var i,n;c.emit("textureLoading",e,t,l),(null===(i=c.pendingTextureTask)||void 0===i?void 0:i.hash)===m&&(null===(n=c.panoMeshes[t])||void 0===n||n.setProgress(e))}),this.renderer),f?this.textureLoader.loadCube(f,{format:r.LuminanceFormat}).catch((function(){return null})):Promise.resolve(null)]).then((function(e){var i,n,r=e[0],o=e[1];(null===(i=c.pendingTextureTask)||void 0===i?void 0:i.hash)===m?(c.pendingTextureTask.onLoad(r,o),null===(n=c.panoMeshes[t])||void 0===n||n.setProgress(0),delete c.pendingTextureTask,c.emit("textureLoaded",t,l,r.meta)):(r.body.dispose(),null==o||o.body.dispose())})).catch((function(e){var i,n;(null===(i=c.pendingTextureTask)||void 0===i?void 0:i.hash)===m&&(c.pendingTextureTask.onError(e),null===(n=c.panoMeshes[t])||void 0===n||n.setProgress(0),delete c.pendingTextureTask,c.emit("textureError",e,t,l),c.emit("error",e))})),this.emit("textureStartLoad",t,l)}},i.prototype.initAnimation=function(t,e,i,n){var r,o,a,s=this;if(!this.destroyed){var c=!1;this.pending=!1,this.userAction=n,this.moveToPano(t,{longitude:null!==(r=e.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:Rm(null!==(o=e.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(a=e.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(t,e){c=!0,s.emit("initAnimationWillStart",t,e,s.userAction)},moveEndCallback:function(t,e){s.emit("initAnimationEnded",t,e,s.userAction),s.initAnimationed=!0},moveCancelCallback:function(){var t={longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:s.camera.pose.distance};!1===c&&s.emit("initAnimationWillStart",s.currentPanoIndex,t,s.userAction),s.emit("initAnimationEnded",s.currentPanoIndex,t,s.userAction),s.initAnimationed=!0}},n)}},i.prototype.panoResourceFromLocationMotionKeyframe=function(t){return this.panoResources[t.key]},i.prototype.locationMotionKeyframesLength=function(t){for(var e=0,i=1;i<t.length;i++){var n=this.panoResourceFromLocationMotionKeyframe(t[i-1]).position,r=this.panoResourceFromLocationMotionKeyframe(t[i]).position;e+=n.distanceTo(r)*(t[i].value.count-t[i-1].value.count)}return e},i.prototype.updatePanoMeshes=function(t){void 0===t&&(t=!0);for(var e={},i=0,n=this.panoMeshes;i<n.length;i++){e[(c=n[i]).name]=c}this.panoMeshes.length=0;for(var o=0;o<this.work.observers.length;o++){var a="panoCircle_".concat(this.work.workCode,"_").concat(o),s=this.work.observers[o],c=void 0;if(e[a]?(c=e[a],delete e[a]):((c=this.panoCircleMeshCreator()).name=a,this.helper.add(c)),c.position.copy(s.standingPosition),t&&this.model.loaded&&this.model.bvhs.loaded){var l=new r.Vector3(0,-1,0),h=new r.Vector3(0,.1,0).add(c.position),u=new r.Raycaster(h,l,0,.2),d=this.model.intersectRaycaster(u)[0];d&&d.point.distanceTo(h)<.1&&c.position.copy(d.point)}this.panoMeshes[o]=c}for(var p=0,f=Object.keys(e);p<f.length;p++){var m=f[p];this.helper.remove(e[m]),e[m].dispose(),delete e[m]}},i.prototype.generateBoundingMesh=function(t){void 0===t&&(t=!1);for(var e=this.model.bounding.clone(),i=0,n=this.work.observers;i<n.length;i++){var o=n[i];e.expandByPoint(o.standingPosition),e.expandByPoint((new r.Vector3).fromArray([o.position.x,2*o.position.y-o.standingPosition.y,o.position.z]))}t&&e.expandByPoint(this.camera.position);var a=Fg(e,new r.Vector3(1,0,1));return a.name="panorama_bounding",a},i.prototype.doMoveToPano=function(t,i,n,o){var a,s,c,l=this;void 0===n&&(n={}),this.userAction=o;var h=Bt(),u=Dr();this.tiling.cleanup(),this.panoResources[u]=i;var d,p,f;if(this.locationMotion.ended){var m=this.locationMotion.getKeyFrameSegment(h);m[0];var g=m[1],v=this.locationMotion.value,y=this.panoResourceFromLocationMotionKeyframe(g).position,A=i.position;d=Math.max(y.distanceTo(A),1),p=[{key:g.key,progress:0,value:e.__assign(e.__assign({},v),{count:0})},{key:u,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,count:1}}],f=0}else{var x=this.locationMotion.getKeyFrameSegment(h),b=x[0],w=(g=x[1],v=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(b).position),M=(y=this.panoResourceFromLocationMotionKeyframe(g).position,A=i.position,g.value.count-v.count),E=Math.max(w.distanceTo(y),1)*M;d=E+Math.max(y.distanceTo(A),1),p=[{key:b.key,progress:0,value:e.__assign({},v)},{key:g.key,progress:E/d,value:g.value},{key:u,progress:1,value:{count:g.value.count+1,distance:0,perspToOrtho:0,modelAlpha:0}}];var S=this.locationMotionKeyframesLength(this.locationMotion.keyframes),_=this.locationMotionKeyframesLength(p);f=0===S||0===S?0:this.locationMotion.getProgressVelocity(h)*S/_}var T=this.calculateMovingDuration(n.duration,"fade"===n.effect||"montage"===n.effect?0:d),C={longitude:n.longitude,latitude:n.latitude,fov:n.fov},I={longitude:null!==(a=C.longitude)&&void 0!==a?a:this.camera.pose.longitude,latitude:null!==(s=C.latitude)&&void 0!==s?s:this.camera.pose.latitude,fov:null!==(c=C.fov)&&void 0!==c?c:this.camera.pose.fov,offset:i.position.clone(),distance:this.camera.pose.distance};n.moveStartCallback&&n.moveStartCallback(t,I),this.emit("panoWillArrive",t,I,this.userAction),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=Pt,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),this.cameraMotion.set(C,T).catch(Pt),this.locationMotion.setKeyframes(p,T,f).then((function(){var e,i,a,s={longitude:l.camera.pose.longitude,latitude:l.camera.pose.latitude,fov:l.camera.pose.fov,offset:l.camera.pose.offset.clone(),distance:l.camera.pose.distance};n.moveEndCallback&&n.moveEndCallback(t,s),l.emit("panoArrived",t,s,o);var c=l.work.observers[l.currentPanoIndex];if(c&&c.video&&l.videoTexture&&l.videoTexture.image instanceof HTMLVideoElement){var h=zv.clone().multiply(null!==(a=null===(i=null===(e=l.model.getMaterial())||void 0===e?void 0:e.pano1)||void 0===i?void 0:i.matrix)&&void 0!==a?a:new r.Matrix4).multiply(c.video.matrix),u={map:l.videoTexture,size:c.video.size,matrix:h,alpha:1},d=Dr(),p=l.videoTexture.image;p.setAttribute("uuid",d),(dv||(dv=new Promise((function(t){var e,i=document.createElement("video");i.muted=!0,i.src="data:video/mp4;base64,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",i.addEventListener("timeupdate",(function n(){i.removeEventListener("timeupdate",n,!1),clearTimeout(e);var r=document.createElement("canvas");r.width=r.height=1;var o=r.getContext("2d");o?(o.drawImage(i,0,0,1,1),o.getImageData(0,0,1,1).data[3]>10?t(!0):t(!1)):t(!1)}),!1),i.addEventListener("canplay",(function t(){i.removeEventListener("canplay",t,!1),i.play()}),!1),e=window.setTimeout((function(){return t(!1)}),1e3)})))).then((function(t){t&&c.video&&p.getAttribute("uuid")===d&&(p.oncanplay=function(){p.oncanplay=Pt,p.play()},p.ontimeupdate=function(){p.currentTime>.5&&(p.ontimeupdate=Pt,l.panoVideo.setMaterial(u))},p.src=c.video.source)})).catch((function(){p.removeAttribute("uuid")}))}}),(function(){n.moveCancelCallback&&n.moveCancelCallback(),l.emit("moveToPanoCanceled",t)}))},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this,i=this.camera.getWorldDirection(new r.Vector3),n=this.camera.position.clone(),o=this.work.observers[this.currentPanoIndex];if(!o)return null;var a=o.accessibleNodes.filter((function(t){if(t===e.currentPanoIndex)return!1;var i=e.work.observers[t],o=i.standingPosition.clone().sub(n);return 0!==o.length()&&(!(o.angleTo(new r.Vector3(0,-1,0))<Math.PI/12)&&(i.loadable||i.active))})),s=(t?t.ray.direction.clone():i.clone()).setY(0);if(0===s.length())return null;for(var c=a.slice().sort((function(t,i){var r=e.work.observers[t].position.clone().setY(n.y),o=e.work.observers[i].position.clone().setY(n.y);return r.distanceTo(n)-o.distanceTo(n)})),l=0,h=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];l<h.length;l++)for(var u=h[l],d=0,p=c;d<p.length;d++){var f=p[d],m=this.work.observers[f].position.clone().setY(n.y).sub(n);if(0!==m.length()&&s.angleTo(m)<u)return f}return null},i.prototype.onTapGesture=function(t){var i=this,n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",n,!0)){var o=this.relativeClientPosition(t.center),a=new r.Raycaster;if(a.setFromCamera(o,this.camera),!this.emit("wantsTapGesture",a,o,!0)){this.emit("gesture","tap",n,!0),this.emit("tapGesture",a,o,!0),this.interiaMovement=!1;var s=this.camera.getWorldDirection(new r.Vector3).setY(0),c=null,l=this.work.observers[this.currentPanoIndex];if(l){var h=l.accessibleNodes.filter((function(t){if(t===i.currentPanoIndex)return!1;var e=i.work.observers[t];return!(e.position.distanceTo(i.camera.position)>i.maxAccessibleDistance)&&(e.loadable||e.active)})),u=this.model.intersectRaycaster(a)[0];if(u){var d=Kg(h,(function(t){var e=i.work.observers[t].standingPosition.clone();return e.clone().sub(i.camera.position).setY(0).angleTo(s)>Math.PI/2?1/0:e.distanceTo(u.point)}),!0),p=d[0];d[1]<this.panoTapTriggerRadius&&(c=p)}_m(c)&&(c=this.getForwardPanoIndexOrNot(a));for(var f=0,m=this.locationMotion.keyframes;f<m.length;f++){var g=m[f],v=this.panoResourceFromLocationMotionKeyframe(g);if(!(g.progress<this.locationMotion.progress)&&v.panoIndex===c){c=null;break}}if(this.emit("panoSelected",c),_m(c))!0===this.locationMotion.ended&&this.cameraBounce();else{var y=this.work.observers[c];if(y.active){for(var A={},x=Math.PI/6,b=Math.PI/12,w=new r.Vector3(0,1,0),M=y.position.clone().setY(0).sub(l.position.clone().setY(0)).normalize(),E=M.clone().applyAxisAngle(w,x),S=M.clone().applyAxisAngle(w,-x),_=[],T=[],C=[],I=0,P=y.accessibleNodes;I<P.length;I++){if((p=P[I])!==this.currentPanoIndex&&p!==c){var R=this.work.observers[p].position.clone().sub(y.position).setY(0);M.angleTo(R)<x?C.push(R):E.angleTo(R)<x?_.push(R):S.angleTo(R)<x&&T.push(R)}}var B=(C.length>0?C:e.__spreadArray(e.__spreadArray([],_,!0),T,!0)).slice().sort((function(t,e){return t.angleTo(M)-e.angleTo(M)}))[0];B&&B.angleTo(s)>b&&(A.longitude=Math.atan2(-B.x,-B.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=Rm(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(A.fov=this.defaultFov),this.emit("wantsMoveToPano",c,A,!0)}else this.panoMeshes[c]&&(this.panoMeshes[c].setDisabled(!1),this.panoMeshes[c].setLoading(!0))}}}}},i}(pv),Uv=Math.PI/180,Gv=180/Math.PI,jv=function(){var t="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return t}}(),Qv=function(){var t="undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return t}}(),Wv=function(){var t="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return t}}(),qv=function(){var t="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,e=t?parseInt(t[1],10):null;return function(){return e}}(),Kv=function(){var t=!1;if(65===qv()){var e="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/):null;if(e){var i=e[1].split(".");i[0],i[1];var n=i[2],r=i[3];t=3325===parseInt(n,10)&&parseInt(r,10)<148}}return function(){return t}}(),Xv=function(){var t=jv()&&Qv()&&"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("13_4");return function(){return t}}(),Yv=function(){var t="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("R7 Build");return function(){return t}}();function Zv(){var t="undefined"!=typeof window&&(90==window.orientation||-90==window.orientation);return Yv()?!t:t}var Jv,$v=(Jv={},function(t,e){void 0===Jv[t]&&(console.warn("cardboard: "+e),Jv[t]=!0)});function ty(t){var e,i=t.indexOf("://");e=-1!==i?i+3:0;var n=t.indexOf("/",e);return-1===n&&(n=t.length),t.substring(0,n)}var ey,iy=function(t,e,i){!function(t,e,i){var n=e?e[0]:0,r=e?e[1]:0,o=e?e[2]:0,a=e?e[3]:1,s=n+n,c=r+r,l=o+o,h=n*s,u=n*c,d=n*l,p=r*c,f=r*l,m=o*l,g=a*s,v=a*c,y=a*l;t[0]=1-(p+m),t[1]=u+y,t[2]=d-v,t[3]=0,t[4]=u-y,t[5]=1-(h+m),t[6]=f+g,t[7]=0,t[8]=d+v,t[9]=f-g,t[10]=1-(h+p),t[11]=0,t[12]=i?i[0]:0,t[13]=i?i[1]:0,t[14]=i?i[2]:0,t[15]=1}(t,e),i&&function(t,e,i){var n,r,o,a,s,c,l,h,u,d,p,f,m=i[0],g=i[1],v=i[2];e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+e[15]):(n=e[0],r=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],h=e[7],u=e[8],d=e[9],p=e[10],f=e[11],t[0]=n,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=c,t[6]=l,t[7]=h,t[8]=u,t[9]=d,t[10]=p,t[11]=f,t[12]=n*m+s*g+u*v+e[12],t[13]=r*m+c*g+d*v+e[13],t[14]=o*m+l*g+p*v+e[14],t[15]=a*m+h*g+f*v+e[15])}(t,t,i),function(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],h=e[8],u=e[9],d=e[10],p=e[11],f=e[12],m=e[13],g=e[14],v=e[15],y=i*s-n*a,A=i*c-r*a,x=i*l-o*a,b=n*c-r*s,w=n*l-o*s,M=r*l-o*c,E=h*m-u*f,S=h*g-d*f,_=h*v-p*f,T=u*g-d*m,C=u*v-p*m,I=d*v-p*g,P=y*I-A*C+x*T+b*_-w*S+M*E;P&&(P=1/P,t[0]=(s*I-c*C+l*T)*P,t[1]=(r*C-n*I-o*T)*P,t[2]=(m*M-g*w+v*b)*P,t[3]=(d*w-u*M-p*b)*P,t[4]=(c*_-a*I-l*S)*P,t[5]=(i*I-r*_+o*S)*P,t[6]=(g*x-f*M-v*A)*P,t[7]=(h*M-d*x+p*A)*P,t[8]=(a*C-s*_+l*E)*P,t[9]=(n*_-i*C-o*E)*P,t[10]=(f*w-m*x+v*y)*P,t[11]=(u*x-h*w-p*y)*P,t[12]=(s*S-a*T-c*E)*P,t[13]=(i*T-n*S+r*E)*P,t[14]=(m*A-f*b-g*y)*P,t[15]=(h*b-u*A+d*y)*P)}(t,t)},ny=function(){function t(t,e){void 0===t&&(t=new r.Vector3),void 0===e&&(e=0),this.sample=t,this.timestampS=e}return t.prototype.set=function(t,e){this.sample=t,this.timestampS=e},t.prototype.copy=function(t){this.set(t.sample,t.timestampS)},t}(),ry=function(){function t(t,e){this.kFilter=t,this.isDebug=e,this.currentAccelMeasurement=new ny,this.currentGyroMeasurement=new ny,this.previousGyroMeasurement=new ny,jv()?this.filterQ=new r.Quaternion(-1,0,0,1):this.filterQ=new r.Quaternion(1,0,0,1),this.previousFilterQ=new r.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new r.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new r.Vector3,this.measuredGravity=new r.Vector3,this.gyroIntegralQ=new r.Quaternion}return t.prototype.addAccelMeasurement=function(t,e){this.currentAccelMeasurement.set(t,e)},t.prototype.addGyroMeasurement=function(t,e){this.currentGyroMeasurement.set(t,e);var i,n=e-this.previousGyroMeasurement.timestampS;i=n,isNaN(i)||i<=.001||i>1||this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},t.prototype.getOrientation=function(){return this.filterQ},t.prototype.run_=function(){if(!this.isOrientationInitialized)return this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),void(this.isOrientationInitialized=!0);var t=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,e=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,t);this.gyroIntegralQ.multiply(e),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(e);var i=new r.Quaternion;i.copy(this.filterQ),i.inverse(),this.estimatedGravity.set(0,0,-1),this.estimatedGravity.applyQuaternion(i),this.estimatedGravity.normalize(),this.measuredGravity.copy(this.currentAccelMeasurement.sample),this.measuredGravity.normalize();var n,o=new r.Quaternion;o.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),o.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",Gv*((n=o).w>1?0:2*Math.acos(n.w)),this.estimatedGravity.x.toFixed(1),this.estimatedGravity.y.toFixed(1),this.estimatedGravity.z.toFixed(1),this.measuredGravity.x.toFixed(1),this.measuredGravity.y.toFixed(1),this.measuredGravity.z.toFixed(1));var a=new r.Quaternion;a.copy(this.filterQ),a.multiply(o),this.filterQ.slerp(a,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},t.prototype.accelToQuaternion_=function(t){var e=new r.Vector3;e.copy(t),e.normalize();var i=new r.Quaternion;return i.setFromUnitVectors(new r.Vector3(0,0,-1),e),i.inverse(),i},t.prototype.gyroToQuaternionDelta_=function(t,e){var i=new r.Quaternion,n=new r.Vector3;return n.copy(t),n.normalize(),i.setFromAxisAngle(n,t.length()*e),i},t}(),oy=function(){function t(t,e){this.predictionTimeS=t,this.isDebug=e,this.previousQ=new r.Quaternion,this.previousTimestampS=null,this.deltaQ=new r.Quaternion,this.outQ=new r.Quaternion}return t.prototype.getPrediction=function(t,e,i){if(!this.previousTimestampS)return this.previousQ.copy(t),this.previousTimestampS=i,t;var n=new r.Vector3;n.copy(e),n.normalize();var o=e.length();if(o<20*Uv)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(Gv*o).toFixed(1)),this.outQ.copy(t),this.previousQ.copy(t),this.outQ;var a=o*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(n,a),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(t),this.previousTimestampS=i,this.outQ},t}(),ay=function(){function t(t){this.coefficients=t}return t.prototype.distortInverse=function(t){for(var e=0,i=1,n=t-this.distort(e);Math.abs(i-e)>1e-4;){var r=t-this.distort(i),o=i-r*((i-e)/(r-n));e=i,i=o,n=r}return i},t.prototype.distort=function(t){for(var e=t*t,i=0,n=0;n<this.coefficients.length;n++)i=e*(i+this.coefficients[n]);return(i+1)*t},t}(),sy=function(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null},cy=function(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0},ly=function(){function t(t,e,i,n){this.viewer={id:"CardboardV1",label:"Cardboard I/O 2014",fov:40,interLensDistance:.06,baselineLensDistance:.035,screenLensDistance:.042,distortionCoefficients:[.441,.156],inverseCoefficients:[-.4410035,.42756155,-.4804439,.5460139,-.58821183,.5733938,-.48303202,.33299083,-.17573841,.0651772,-.01488963,.001559834]},this.device={widthMeters:.11,heightMeters:.062,bevelMeters:.004},this.depthNear=.01,this.depthFar=1e4,this.yawOnly=i,this.accelerometer=new r.Vector3,this.gyroscope=new r.Vector3,this.filter=new ry(t,n),this.posePredictor=new oy(e,n),this.isFirefoxAndroid=Wv(),this.isIOS=jv();var o=qv();this.isDeviceMotionInRadians=!this.isIOS&&null!==o&&o<66,this.isWithoutDeviceMotion=Kv()||Xv(),this.filterToWorldQ=new r.Quaternion,jv()?this.filterToWorldQ.setFromAxisAngle(new r.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new r.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new r.Quaternion,this.worldToScreenQ=new r.Quaternion,this.originalPoseAdjustQ=new r.Quaternion;var a="undefined"!=typeof window?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new r.Vector3(0,0,1),a),this.setScreenTransform_(),Zv()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new r.Quaternion,this.orientationOut_=new Float32Array(4),this.previousTimestampS=Date.now()}return t.prototype.getPosition=function(){return null},t.prototype.getOrientation=function(){var t;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ){this.deviceOrientationFixQ=this.deviceOrientationFixQ||function(){var t=(new r.Quaternion).setFromAxisAngle(new r.Vector3(0,0,-1),0),e=new r.Quaternion;return"undefined"!=typeof window&&-90===window.orientation?e.setFromAxisAngle(new r.Vector3(0,1,0),Math.PI/-2):e.setFromAxisAngle(new r.Vector3(0,1,0),Math.PI/2),t.multiply(e)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||((i=new r.Quaternion).setFromAxisAngle(new r.Vector3(1,0,0),-Math.PI/2),i),t=this._deviceOrientationQ;var e=new r.Quaternion;return e.copy(t),e.multiply(this.deviceOrientationFilterToWorldQ),e.multiply(this.resetQ),e.multiply(this.worldToScreenQ),e.multiplyQuaternions(this.deviceOrientationFixQ,e),this.yawOnly&&(e.x=0,e.z=0,e.normalize()),this.orientationOut_[0]=e.x,this.orientationOut_[1]=e.y,this.orientationOut_[2]=e.z,this.orientationOut_[3]=e.w,this.orientationOut_}var i,n=this.filter.getOrientation();t=this.posePredictor.getPrediction(n,this.gyroscope,this.previousTimestampS);var o=new r.Quaternion;return o.copy(this.filterToWorldQ),o.multiply(this.resetQ),o.multiply(t),o.multiply(this.worldToScreenQ),this.yawOnly&&(o.x=0,o.z=0,o.normalize()),this.orientationOut_[0]=o.x,this.orientationOut_[1]=o.y,this.orientationOut_[2]=o.z,this.orientationOut_[3]=o.w,this.orientationOut_},t.prototype.getPose=function(){var t=new sy;return t.orientation=this.getOrientation(),t},t.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),Zv()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},t.prototype.getFrameData=function(t){var e=this.getOrientation(),i=this.getEyeOffset(),n=this.getEyeProjectionMatrix();return t.pose.angularAcceleration=null,t.pose.angularVelocity=null,t.pose.linearAcceleration=null,t.pose.linearVelocity=null,t.pose.orientation=e,t.pose.position=null,t.timestamp=this.previousTimestampS,t.leftProjectionMatrix.set(n.left),t.rightProjectionMatrix.set(n.right),iy(t.leftViewMatrix,e,i.left),iy(t.rightViewMatrix,e,i.right),t},t.prototype.start=function(){if("undefined"==typeof window)return function(){};var t=this.onDeviceMotion_.bind(this),e=this.onOrientationChange_.bind(this),i=this.onMessage_.bind(this),n=this.onDeviceOrientation_.bind(this);return jv()&&function(){if("undefined"==typeof window)return!1;if("undefined"==typeof document)return!1;var t=window.self!==window.top,e=ty(document.referrer),i=ty(window.location.href);return t&&e!==i}()&&window.addEventListener("message",i),window.addEventListener("orientationchange",e),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",n):window.addEventListener("devicemotion",t),function(){window.removeEventListener("devicemotion",t),window.removeEventListener("deviceorientation",e),window.removeEventListener("orientationchange",e),window.removeEventListener("message",i)}},t.prototype.getEyeOffset=function(){return{left:[.5*-this.viewer.interLensDistance,0,0],right:[.5*this.viewer.interLensDistance,0,0]}},t.prototype.getEyeProjectionMatrix=function(){var t=this.getEyeFieldOfView(),e=this.depthNear,i=this.depthFar,n={left:[],right:[]},r=t.left.upDegrees*Uv,o=t.left.downDegrees*Uv,a=2/((c=t.left.leftDegrees*Uv)+(l=t.left.rightDegrees*Uv)),s=2/(r+o);n.left[0]=a,n.left[1]=0,n.left[2]=0,n.left[3]=0,n.left[4]=0,n.left[5]=s,n.left[6]=0,n.left[7]=0,n.left[8]=-(c-l)*a*.5,n.left[9]=(r-o)*s*.5,n.left[10]=i/(e-i),n.left[11]=-1,n.left[12]=0,n.left[13]=0,n.left[14]=i*e/(e-i),n.left[15]=0;var c,l;r=t.right.upDegrees*Uv,o=t.right.downDegrees*Uv,a=2/((c=t.right.leftDegrees*Uv)+(l=t.right.rightDegrees*Uv)),s=2/(r+o);return n.right[0]=a,n.right[1]=0,n.right[2]=0,n.right[3]=0,n.right[4]=0,n.right[5]=s,n.right[6]=0,n.right[7]=0,n.right[8]=-(c-l)*a*.5,n.right[9]=(r-o)*s*.5,n.right[10]=i/(e-i),n.right[11]=-1,n.right[12]=0,n.right[13]=0,n.right[14]=i*e/(e-i),n.right[15]=0,n},t.prototype.getEyeFieldOfView=function(){var t=this.viewer,e=this.device,i=new ay(t.distortionCoefficients),n=t.screenLensDistance,r=(e.widthMeters-t.interLensDistance)/2,o=t.interLensDistance/2,a=t.baselineLensDistance-e.bevelMeters,s=e.heightMeters-a,c=Gv*Math.atan(i.distort(r/n)),l=Gv*Math.atan(i.distort(o/n)),h=Gv*Math.atan(i.distort(a/n)),u=Gv*Math.atan(i.distort(s/n)),d=new cy,p=new cy;return d.leftDegrees=Math.min(c,t.fov),d.rightDegrees=Math.min(l,t.fov),d.downDegrees=Math.min(h,t.fov),d.upDegrees=Math.min(u,t.fov),p.leftDegrees=d.rightDegrees,p.rightDegrees=d.leftDegrees,p.upDegrees=d.upDegrees,p.downDegrees=d.downDegrees,{left:d,right:p}},t.prototype.onDeviceOrientation_=function(t){this._deviceOrientationQ=this._deviceOrientationQ||new r.Quaternion;var e=t.alpha,i=t.beta,n=t.gamma;e=(e||0)*Math.PI/180,i=(i||0)*Math.PI/180,n=(n||0)*Math.PI/180,this._deviceOrientationQ.setFromEuler(new r.Euler(e,i,-n,"YXZ"))},t.prototype.onDeviceMotion_=function(t){this.updateDeviceMotion_(t)},t.prototype.updateDeviceMotion_=function(t){var e=t.accelerationIncludingGravity,i=t.rotationRate,n=t.timeStamp/1e3,r=n-this.previousTimestampS;return r<0?($v("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),void(this.previousTimestampS=n)):r<=.001||r>1?($v("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),void(this.previousTimestampS=n)):(e&&(this.accelerometer.set(-e.x,-e.y,-e.z),i&&(Yv()?this.gyroscope.set(-i.beta,i.alpha,i.gamma):this.gyroscope.set(i.alpha,i.beta,i.gamma),this.isDeviceMotionInRadians||this.gyroscope.multiplyScalar(Math.PI/180),this.filter.addGyroMeasurement(this.gyroscope,n)),this.filter.addAccelMeasurement(this.accelerometer,n)),void(this.previousTimestampS=n))},t.prototype.onOrientationChange_=function(){this.setScreenTransform_()},t.prototype.onMessage_=function(t){var e=t.data;e&&e.type&&("devicemotion"===e.type.toLowerCase()&&this.updateDeviceMotion_(e.deviceMotionEvent))},t.prototype.setScreenTransform_=function(){switch(this.worldToScreenQ.set(0,0,0,1),"undefined"!=typeof window?window.orientation:0){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new r.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new r.Vector3(0,0,1),Math.PI/2)}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},t}(),hy=[0,0,.5,1],uy=[.5,0,.5,1],dy=function(){function t(t){var e=this;this.renderer=t,this.sensor=new ly(.98,.04,!1,!1),this.scale=1,this.cameraL=new r.PerspectiveCamera,this.cameraR=new r.PerspectiveCamera;var i=this.sensor.start();this.dispose=function(){var t=e.renderer.getSize(new r.Vector2);e.renderer.setScissor(0,0,t.width,t.height),e.renderer.setViewport(0,0,t.width,t.height),e.renderer.setScissorTest(!1),i()}}return t.prototype.render=function(t,e){var i=this.renderer.getSize(new r.Vector2);if(i.width>i.height){var n=t.autoUpdate;n&&(t.updateMatrixWorld(),t.autoUpdate=!1);var o={x:Math.round(i.width*hy[0]),y:Math.round(i.height*hy[1]),width:Math.round(i.width*hy[2]),height:Math.round(i.height*hy[3])},a={x:Math.round(i.width*uy[0]),y:Math.round(i.height*uy[1]),width:Math.round(i.width*uy[2]),height:Math.round(i.height*uy[3])};this.renderer.setScissorTest(!0),this.renderer.autoClear&&this.renderer.clear(),null===e.parent&&e.updateMatrixWorld(),e.matrixWorld.decompose(this.cameraL.position,this.cameraL.quaternion,this.cameraL.scale),e.matrixWorld.decompose(this.cameraR.position,this.cameraR.quaternion,this.cameraR.scale);var s=this.sensor.getEyeOffset();this.cameraL.translateOnAxis((new r.Vector3).fromArray(s.left),this.scale),this.cameraR.translateOnAxis((new r.Vector3).fromArray(s.right),this.scale);var c=this.sensor.getEyeProjectionMatrix();this.cameraL.projectionMatrix.elements=c.left.slice(),this.cameraR.projectionMatrix.elements=c.right.slice(),this.renderer.setViewport(o.x,o.y,o.width,o.height),this.renderer.setScissor(o.x,o.y,o.width,o.height),this.renderer.render(t,this.cameraL),this.renderer.setViewport(a.x,a.y,a.width,a.height),this.renderer.setScissor(a.x,a.y,a.width,a.height),this.renderer.render(t,this.cameraR),this.renderer.setViewport(0,0,i.width,i.height),this.renderer.setScissor(0,0,i.width,i.height),this.renderer.setScissorTest(!1),n&&(t.autoUpdate=!0)}else this.renderer.render(t,e)},t.prototype.dispose=function(){},t}(),py={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},fy="undefined"!=typeof navigator&&null!==(ey=py[navigator.language.split("-")[0]])&&void 0!==ey?ey:py.zh,my="\n<style>\n.$id {\n all: initial;\n position: absolute;\n overflow: hidden;\n display: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.$id-modal {\n width: 100%;\n height: 332px;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n overflow: hidden;\n pointer-events: none;\n will-change: transform;\n animation: $id-modal-fade-in 0.3s ease 1;\n}\n.$id-modal-bg {\n background: rgba(0, 0, 0, 0.75);\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n}\n.$id-modal-bg-line {\n height: 1px;\n background-image: linear-gradient(\n 85deg,\n rgba(162, 177, 255, 0.3) 1%,\n rgba(120, 126, 255, 0.8) 30%,\n rgba(147, 218, 255, 0.8) 66%,\n rgba(250, 255, 184, 0.3) 92%\n );\n}\n.$id-modal-bg-wave svg {\n width: 375px;\n height: 61px;\n display: block;\n}\n.$id-modal-content {\n color: #ffffff;\n padding: 0 14px;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n overflow: hidden;\n}\n.$id-modal-content-title {\n font-size: 17px;\n font-family: sans-serif;\n line-height: 18px;\n padding: 20px 0;\n font-weight: bold;\n}\n.$id-modal-content-hit {\n font-size: 14px;\n font-family: sans-serif;\n line-height: 24px;\n opacity: 0.85;\n}\n.$id-modal-content-guide {\n position: relative;\n width: 168px;\n height: 139px;\n margin: 36px auto 0;\n}\n.$id-modal-content-guide-cardboard {\n position: absolute;\n width: 100px;\n height: 82px;\n left: 68px;\n top: 57px;\n}\n.$id-modal-content-guide-cardboard-image {\n width: 100px;\n height: 82px;\n background-image: url(".concat("data:image/png;base64,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",");\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-content-guide-phone {\n position: absolute;\n width: 58px;\n height: 56px;\n left: 0;\n top: 0;\n}\n.$id-modal-content-guide-phone-move-x {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-x 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-move-y {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-y 4s cubic-bezier(0.42, 0, 0.23, 0.98) 0.5s infinite;\n}\n.$id-modal-content-guide-phone-blink {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n will-change: opacity;\n animation: $id-guide-blink 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-image {\n width: 58px;\n height: 56px;\n background-image: url(").concat("data:image/png;base64,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",');\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-close {\n position: absolute;\n top: 20px;\n right: 14px;\n width: 14px;\n height: 14px;\n}\n.$id-modal-close svg {\n width: 14px;\n height: 14px;\n display: block;\n}\n\n@keyframes $id-modal-fade-in {\n 0% { transform: translate3d(0, 100%, 0); opacity: 0.5; }\n 100% { transform: translate3d(0, 0, 0); opacity: 1; }\n}\n@keyframes $id-guide-blink {\n 0% { opacity: 0; }\n 7% { opacity: 0; }\n 12% { opacity: 1; }\n 29% { opacity: 1; }\n 34% { opacity: 0.3; }\n 39% { opacity: 1; }\n 44% { opacity: 0.3; }\n 49% { opacity: 1; }\n 80% { opacity: 1; }\n 100% { opacity: 0; }\n}\n@keyframes $id-guide-move-x {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(70px, 0, 0); }\n 100% { transform: translate3d(70px, 0, 0); }\n}\n@keyframes $id-guide-move-y {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(0, 58px, 0); }\n 100% { transform: translate3d(0, 58px, 0); }\n}\n@media screen and (orientation: portrait) {\n .$id {\n display: block;\n }\n}\n</style>\n<div class="$id-modal">\n <div class="$id-modal-bg">\n <div class="$id-modal-bg-line"></div>\n <div class="$id-modal-bg-wave">\n <svg width="375" height="61" viewBox="0 0 375 61" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <linearGradient x1="0" y1="0%" x2="0" y2="100%" id="$id-2y6_dj_hgp">\n <stop stop-color="#8598FF" stop-opacity="0.15" offset="0%"></stop>\n <stop stop-color="#000" stop-opacity="0" offset="100%"></stop>\n </linearGradient>\n </defs>\n <path transform="translate(187.5, 30.5) scale(-1, 1) translate(-187.5, -30.5)" fill="url(#$id-2y6_dj_hgp)" d="\nM0,1\nC83.001,1.706 140.146,4.164 171.435,8.374\nC218.369,14.688 253.467,26.308 273.002,33\nC292.536,39.691323.501,51 343.709,56\nC357.182,59.333 367.612,61 375,61\nL375,0\nL0,0\nL0,1\nZ\n"></path>\n </svg>\n </div>\n </div>\n <div class="$id-modal-content">\n <div class="$id-modal-content-title">').concat(fy.TITLE,'</div>\n <div class="$id-modal-content-hit">').concat(fy.HIT,'</div>\n <div class="$id-modal-content-guide">\n <div class="$id-modal-content-guide-phone">\n <div class="$id-modal-content-guide-phone-move-x">\n <div class="$id-modal-content-guide-phone-move-y">\n <div class="$id-modal-content-guide-phone-blink">\n <div class="$id-modal-content-guide-phone-image"></div>\n </div>\n </div>\n </div>\n </div>\n <div class="$id-modal-content-guide-cardboard">\n <div class="$id-modal-content-guide-cardboard-image"></div>\n </div>\n </div>\n </div>\n <div class="$id-modal-close">\n <svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70%" id="$id-ho0itsc4p9">\n <stop stop-color="#FFF" stop-opacity="0.75" offset="0%"></stop>\n <stop stop-color="#FFF" stop-opacity="0.22" offset="100%"></stop>\n </radialGradient>\n </defs>\n <path transform="translate(-3, -3)" fill="url(#$id-ho0itsc4p9)" fill-rule="nonzero" d="\nM16.791,3.198\nC17.044,3.438 17.067,3.814 16.860,4.080\nL16.791,4.156\nL12.144,9.331\nC11.803,9.711 11.803,10.288 12.144,10.668\nL16.791,15.843\nC17.044,16.084 17.067,16.460 16.860,16.725\nL16.791,16.801\nC16.538,17.042 16.142,17.063 15.864,16.867\nL15.784,16.801\nL10.000,11.250\nL4.215,16.801\nL4.135,16.867\nC3.857,17.063 3.461,17.042 3.208,16.801\nL3.208,16.801\nL3.139,16.725\nC2.932,16.460 2.955,16.084 3.208,15.843\nL3.208,15.843\nL7.855,10.668\nC8.196,10.288 8.196,9.711 7.855,9.331\nL7.855,9.331\nL3.208,4.156\nL3.139,4.080\nC2.932,3.814 2.955,3.438 3.208,3.198\nC3.486,2.933 3.937,2.933 4.215,3.198\nL4.215,3.198 L9.999,8.749\nL15.784,3.198\nC16.062,2.933 16.513,2.933 16.791,3.198\nZ\n"></path>\n </svg>\n </div>\n</div>\n');function gy(t){for(var e=1,i=document.getElementsByTagName("meta"),n=0;n<i.length;n++){var r=i[n];if("viewport"===r.getAttribute("name")){var o=(r.getAttribute("content")||"").match(/initial\-scale\=([\d|\.]+)/);o&&(e=Number(o[1])),isNaN(e)&&(e=1)}}return my.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,t).replace(/(\d+)px/g,(function(t,i){return function(t){return Math.floor(t*e)+"px"}(Number(i))}))}var vy=new r.CircleBufferGeometry(.12,16),yy=function(){var t=he(),e=new r.Texture;return t.onload=function(){if("undefined"!=typeof document){var i=256,n=document.createElement("canvas");n.setAttribute("width",String(i)),n.setAttribute("height",String(i));var r=n.getContext("2d");if(r){r.drawImage(t,0,0,i,i),r.globalCompositeOperation="source-out";var o=128;r.beginPath(),r.lineWidth=6.4,r.arc(o,o,83.2,0,2*Math.PI),r.strokeStyle="rgba(255, 255, 255, 1.0)",r.closePath(),r.stroke(),e.image=n,e.needsUpdate=!0}}},t.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC",e}(),Ay=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256;return e.beginPath(),e.arc(i,i,192,0,2*Math.PI),e.fillStyle="rgba(255, 255, 255, 0.1)",e.closePath(),e.fill(),e.save(),e.beginPath(),e.arc(i,i,192,0,2*Math.PI),e.strokeStyle="rgba(255, 255, 255, 0.5)",e.lineWidth=10.24,e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),xy=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256;i.arc(n,n,192,0,2*Math.PI),i.fillStyle="rgba(85, 90, 255, 0.6)",i.shadowBlur=25.6,i.shadowColor="rgba(255, 255, 255, 0.6)",i.fill(),i.arc(n,n,192,0,2*Math.PI);var o=i.createRadialGradient(n,n,0,n,n,n);o.addColorStop(0,"rgba(255, 255, 255, 0.0)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.0)"),o.addColorStop(1,"rgba(255, 255, 255, 0.2)"),i.fillStyle=o,i.fill(),i.lineWidth=4.8,i.arc(n,n,187.2,0,2*Math.PI);var a=i.createLinearGradient(0,0,0,t);return a.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),a.addColorStop(.2,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.8,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=a,i.stroke(),new r.CanvasTexture(e)}}return null}(),by=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256,o=179.2;i.arc(n,n,o,0,2*Math.PI),i.fillStyle="rgba(255, 255, 255, 0.4)",i.shadowBlur=25.6,i.shadowColor="rgba(255, 255, 255, 0.6)",i.fill(),i.arc(n,n,o,0,2*Math.PI);var a=i.createRadialGradient(n,n,0,n,n,n);a.addColorStop(0,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.5,"rgba(255, 255, 255, 0.0)"),a.addColorStop(1,"rgba(255, 255, 255, 0.5)"),i.fillStyle=a,i.fill(),i.lineWidth=4.8,i.arc(n,n,o-4.8,0,2*Math.PI);var s=i.createLinearGradient(0,0,0,t);return s.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),s.addColorStop(.2,"rgba(255, 255, 255, 0.0)"),s.addColorStop(.8,"rgba(255, 255, 255, 0.0)"),s.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=s,i.stroke(),new r.CanvasTexture(e)}}return null}(),wy=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256,o=217.6,a=64;i.lineWidth=a,i.arc(n,n,o,0,2*Math.PI),i.strokeStyle="rgba(147, 162, 255, 0.3)",i.shadowBlur=25.6,i.shadowColor="rgba(255, 255, 255, 0.6)",i.stroke(),i.lineWidth=a,i.arc(n,n,o,0,2*Math.PI);var s=i.createRadialGradient(n,n,185.6,n,n,249.6);s.addColorStop(0,"rgba(255, 255, 255, 0.5)"),s.addColorStop(.3,"rgba(255, 255, 255, 0.0)"),s.addColorStop(.7,"rgba(255, 255, 255, 0.0)"),s.addColorStop(1,"rgba(255, 255, 255, 0.5)"),i.strokeStyle=s,i.stroke(),i.beginPath(),i.lineWidth=4,i.arc(n,n,245.6,0,2*Math.PI);var c=i.createLinearGradient(0,0,t,0);return c.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),c.addColorStop(.1,"rgba(255, 255, 255, 0.0)"),c.addColorStop(.9,"rgba(255, 255, 255, 0.0)"),c.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=c,i.stroke(),new r.CanvasTexture(e)}}return null}(),My=function(t){function i(){var i=t.call(this)||this;i.progress=0,i.opacity=0,i.loading=!1,i.current=!1,i.disabled=!1,i.opacityMotion=new Zm({opacity:0}),i.loadingMotion=new Zm({opacity:0}),i.currentMotion=new Zm({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.5,circleScale:1});var n={blending:r.CustomBlending,blendSrc:r.SrcAlphaFactor,blendDst:r.OneMinusSrcAlphaFactor,blendSrcAlpha:r.OneFactor,blendDstAlpha:r.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return i.hitTestMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{color:0,opacity:0}))),i.hitTestMesh.scale.set(1.5,1.5,1.5),i.centerMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:xy,opacity:0}))),i.centerMesh2=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:by,opacity:0}))),i.ringMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:wy,opacity:0}))),i.loadingMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:yy,opacity:.8}))),i.disableMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Ay}))),i.loadingMesh.visible=!1,i.disableMesh.visible=!1,i.hitTestMesh.position.z=0,i.ringMesh.position.z=.003,i.disableMesh.position.z=.002,i.centerMesh.position.z=.002,i.centerMesh2.position.z=.002,i.loadingMesh.position.z=.005,i.hitTestMesh.frustumCulled=!1,i.centerMesh.frustumCulled=!1,i.centerMesh2.frustumCulled=!1,i.ringMesh.frustumCulled=!1,i.loadingMesh.frustumCulled=!1,i.disableMesh.frustumCulled=!1,i.add(i.hitTestMesh),i.add(i.centerMesh),i.add(i.centerMesh2),i.add(i.ringMesh),i.add(i.loadingMesh),i.add(i.disableMesh),i.renderOrder=1e4,i.needsRender=!0,i}return e.__extends(i,t),i.prototype.setProgress=function(t){this.progress=t,this.setLoading(t>0)},i.prototype.setOpacity=function(t){this.opacity!==t&&(this.opacity=t=Rm(t,0,1),this.opacityMotion.set({opacity:t},30).catch(Pt))},i.prototype.setCurrent=function(t){if(this.current!==t){if(t){var i=[{progress:0,value:{ringScale:2,ringOpacity:0,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.05,value:{ringScale:1,ringOpacity:1,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.15,value:{ringScale:1.2,ringOpacity:1,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.25,value:{ringScale:1.1,ringOpacity:1,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.8,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:1,circleScale:1}},{progress:.9,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:1,circleScale:.8}},{progress:.92,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:1,circleScale:.8}},{progress:1,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.3,circleScale:1.1}}];this.currentMotion.setKeyframes(i,1500).catch(Pt)}else{i=[{progress:0,value:e.__assign({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.5,circleScale:1}}];this.currentMotion.setKeyframes(i,200).catch(Pt)}this.current=t}},i.prototype.setLoading=function(t){this.loading!==t&&(t?this.loadingMotion.setKeyframes([{progress:0,value:{opacity:0}},{progress:.3,value:{opacity:0}},{progress:1,value:{opacity:.8}}],500):this.loadingMotion.set({opacity:0},0),this.loading=t,!0===this.disabled&&this.setDisabled(!1),this.needsRender=!0)},i.prototype.setDisabled=function(t){this.disabled!==t&&(this.disabled=t,!0===this.loading&&this.setLoading(!1),this.disableMesh.visible=t,this.centerMesh.visible=!t,this.needsRender=!0)},i.prototype.tap=function(){return Promise.resolve()},i.prototype.updateTime=function(t,e){this.opacityMotion.update(t),this.currentMotion.update(t),this.loadingMotion.update(t);var i=this.opacityMotion.value.opacity,n=this.currentMotion.value,r=n.ringScale,o=n.ringOpacity,a=n.circleFade,s=n.circleOpacity,c=n.circleScale;if(this.ringMesh.scale.set(r,r,r),this.centerMesh.scale.set(c,c,c),this.centerMesh2.scale.set(c,c,c),this.ringMesh.material.opacity=o*i,this.centerMesh.material.opacity=(1-a)*i,this.centerMesh2.material.opacity=a*s*i,this.loadingMotion.value.opacity>0){this.loadingMesh.visible=!0,this.loadingMesh.material.opacity=this.loadingMotion.value.opacity,this.loadingMesh.rotateZ(-e/200);var l=this.opacityMotion.value.opacity,h=1.1;this.centerMesh.scale.set(h,h,h),this.centerMesh2.scale.set(h,h,h),this.centerMesh.material.opacity=0*l,this.centerMesh2.material.opacity=.2*l}else this.loadingMesh.visible=!1;this.needsRender=!0},i.prototype.dispose=function(){this.currentMotion.dispose(),this.opacityMotion.dispose(),this.loadingMotion.dispose(),this.ringMesh.material.dispose(),this.disableMesh.material.dispose(),this.centerMesh.material.dispose(),this.loadingMesh.material.dispose()},i}(r.Object3D),Ey=function(t){function i(e){var n=this,r=i.parseArgs(e);(n=t.call(this,r)||this).cardboard=new dy(n.renderer);var o,a,s,c=(o="five_vr_helper_"+Dr(),a=gy(o),(s=document.createElement("div")).className=o,s.innerHTML=a,s);n.helperElement=c;var l=new Zg(c);return n.element.parentNode&&(n.element.parentNode.insertBefore(c,n.element),n.setHelperElementSize(),l.on("tap",(function(){return n.emit("vrWantsToExit")}))),n.destroyHelper=function(){l.destroy(),c.parentNode&&c.parentNode.removeChild(c),delete n.helperElement},n.boundingMesh.visible=!0,n}return e.__extends(i,t),i.parseArgs=function(i){var n=e.__assign(e.__assign({},i),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return t.parseArgs.call(this,n)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.cardboard.dispose(),this.destroyHelper();for(var e=0,i=this.panoMeshes;e<i.length;e++){var n=i[e];this.helper.remove(n),n.dispose()}this.panoMeshes.length=0},i.prototype.isReady=function(){return!1},i.prototype.updateRenderSize=function(){this.needsRender=!0,this.setHelperElementSize()},i.prototype.updatePanoMeshes=function(){var t=this;this.panoMeshes.forEach((function(e){t.helper.remove(e),e.dispose()})),this.panoMeshes.length=0;for(var e=0;e<this.work.observers.length;e++){var i=this.work.observers[e],n=new My;n.name="panoSphere_".concat(this.work.workCode,"_").concat(e),n.position.copy(i.position),n.needsRender=!0,this.helper.add(n),this.panoMeshes[e]=n}},i.prototype.updateTime=function(t,e){var i,n;if(!this.destroyed){this.needsRender=!0;var o={},a={};if(!1===this.locationMotion.ended){this.locationMotion.update(t);var s=this.locationMotion.getKeyFrameSegment(t),c=s[0],l=s[1],h=this.panoResourceFromLocationMotionKeyframe(c),u=this.panoResourceFromLocationMotionKeyframe(l),d=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),f=h.position,m=u.position,g=this.locationMotion.value.count-l.value.count+1;o.modelAlpha=this.locationMotion.value.modelAlpha,o.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),o.useBlackTransition="instant"===u.effect,u.panoPicture&&(g<1?h.panoPicture&&(o.pano0=h.panoPicture):o.pano0=u.panoPicture,o.pano1=u.panoPicture),"fade"===u.effect&&(o.pano0&&h.panoPicture&&(o.pano0={map:o.pano0.map,luminanceMap:o.pano0.luminanceMap,matrix:h.panoPicture.matrix.clone().setPosition(u.position)}),f.copy(m)),o.progress=g,a.distance=this.locationMotion.value.distance,a.offset=new r.Vector3(f.x+(m.x-f.x)*g,f.y+(m.y-f.y)*g,f.z+(m.z-f.z)*g);for(var v=[],y=[],A=0,x=this.locationMotion.keyframes;A<x.length;A++){var b=x[A],w=b.key,M=b.progress;void 0!==w&&(v.push(w),M>=this.locationMotion.progress&&y.push(w))}for(var E=0,S=Object.keys(this.panoResources);E<S.length;E++){var _=S[E];if(!(y.indexOf(_)>=0)){var T=this.panoResources[_];if(T.panoPicture){var C=T.panoPicture.map;if(C){if(C===(null===(i=o.pano0)||void 0===i?void 0:i.map))continue;if(C===(null===(n=o.pano1)||void 0===n?void 0:n.map))continue;C.dispose(),T.panoPicture=null}}v.indexOf(_)>=0||delete this.panoResources[_]}}this.currentPanoIndex=g<.5?h.panoIndex:u.panoIndex,this.emit("movingToPano",p.panoIndex,d.panoIndex,this.locationMotion.progress)}!1===Xg(o)&&(this.model.setMaterial(o),this.boundingMesh.setMaterial(o)),a.offset&&this.camera.position.copy(a.offset);var I=this.camera.pose.longitude,P=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.updateMatrixWorld(),this.camera.computePose();for(var R=this.work.observers[this.currentPanoIndex].visibleNodes.concat(this.currentPanoIndex),B=0;B<this.work.observers.length;B++){var L=this.work.observers[B];if((N=this.panoMeshes[B]).visible=!0,L.loadable||L.active){if(-1===R.indexOf(B))N.visible=!1;else{N.visible=!0;var D=N.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);D<.05?N.setOpacity(0):N.setOpacity(Rm(1.5/D,0,1)),this.currentPanoIndex===B&&N.setOpacity(0)}N.lookAt(this.camera.position)}else N.visible=!0}var O=this.intersect(t);for(B=0;B<this.work.observers.length;B++){null==(N=this.panoMeshes[B])||N.setCurrent(N===O)}for(B=0;B<this.work.observers.length;B++){var N;(N=this.panoMeshes[B])&&N.updateTime&&N.updateTime(t,e)}I===this.camera.pose.longitude&&P===this.camera.pose.latitude||(this.cameraMotion.set(Xe(this.camera.pose,["longitude","latitude"]),0).catch(Pt),this.emit("cameraDirectionUpdate",Xe(this.camera.pose,["longitude","latitude"]),!0),this.emit("cameraUpdate",Yg(Xe(this.camera.pose,["longitude","latitude","fov","offset","distance"])),!0))}},i.prototype.render=function(){this.cardboard.render(this.scene,this.camera)},i.prototype.setCamera=function(t){},i.prototype.destroyHelper=function(){},i.prototype.setHelperElementSize=function(){if(this.helperElement){var t=new r.Vector2(this.element.offsetWidth,this.element.offsetHeight),e=t.x*this.scissor.left,i=t.y*(1-this.scissor.bottom-this.scissor.height),n=t.x*this.scissor.width,o=t.y*this.scissor.height;this.helperElement.style.marginLeft=e+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=n+"px",this.helperElement.style.height=o+"px"}},i.prototype.intersect=function(t){var e;if(!1===this.locationMotion.ended)return this.intersectMesh.visible=!1,delete this.activePanoMesh,void delete this.activeTime;if(this.activePanoMesh&&this.activeTime&&t-this.activeTime>1500){var i=this.activePanoMesh;return(l=this.panoMeshes.indexOf(i))>=0&&this.moveToPano(l,{},!0),delete this.activePanoMesh,delete this.activeTime,i}for(var n=this.camera.getWorldDirection(new r.Vector3),o=new r.Raycaster(this.camera.position,n),a=void 0,s=[],c=this.work.observers[this.currentPanoIndex].visibleNodes,l=0;l<this.work.observers.length;l++){var h=this.panoMeshes[l];if(-1!==c.indexOf(l)){var u=o.intersectObject(null!==(e=h.hitTestMesh)&&void 0!==e?e:h,!0)[0];u&&s.push({panoMesh:h,intersection:u})}}var d=s.sort((function(t,e){return t.intersection.distance-e.intersection.distance}))[0];if(d?(a=d.intersection,this.activePanoMesh!==d.panoMesh&&(this.activePanoMesh=d.panoMesh,this.activeTime=t),this.intersectMesh.position.copy(d.panoMesh.position),this.intersectMesh.lookAt(this.camera.position),this.intersectMesh.visible=!1):(this.activePanoMesh=void 0,this.activeTime=void 0),!a)if((a=this.model.intersectRaycaster(o)[0])&&a.face){var p=a.face.normal,f=new r.Quaternion;f.setFromUnitVectors(new r.Vector3(0,0,1),p),this.intersectMesh.quaternion.copy(f);var m=p.clone().multiplyScalar(.05),g=a.point.clone().add(m);this.intersectMesh.position.copy(g),this.intersectMesh.visible=!0,this.emit("intersectionOnModelUpdate",a,this.intersectMesh)}else this.intersectMesh.visible=!1,this.emit("intersectionHidden");return null==d?void 0:d.panoMesh},i.prototype.onPanGesture=function(){},i.prototype.onTapGesture=function(){},i.prototype.onPinchGesture=function(){},i.prototype.onMouseMove=function(){},i.prototype.onMouseOut=function(){},i}(Hv),Sy=function(t){function i(e){var n,r,o,a,s=this,c=i.parseArgs(e);return(s=t.call(this,c)||this).currentPanoIndex=c.initial[0],s.locationMotion=new Zm({x:s.camera.pose.offset.x,y:s.camera.pose.offset.y,z:s.camera.pose.offset.z,distance:s.camera.pose.distance,modelAlpha:null!==(r=null===(n=s.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(a=null===(o=s.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==a?a:0}),s}return e.__extends(i,t),i.parseArgs=function(e){return t.parseArgs.call(this,e)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.locationMotion.dispose()},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){this.work=t,this.currentPanoIndex=e,this.hideIntersectMesh();var o={duration:0,longitude:i.longitude,latitude:i.latitude,fov:i.fov};return this.moveToPano(e,o,r),!0},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={},n={};if(!this.locationMotion.ended){this.locationMotion.update(t),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),n.distance=this.locationMotion.value.distance,n.offset=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var o=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),a=Kg(this.work.observers,(function(t){return t.position.distanceTo(o)}));this.currentPanoIndex=this.work.observers.indexOf(a)}this.cameraMotion.ended||(this.cameraMotion.update(t),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),Xg(i)||this.model.setMaterial(i),Xg(n)||this.setCamera(n)}},i.prototype.initAnimation=function(t,e,i,n){var r,o,a,s=this;this.destroyed||(this.pending=!1,this.userAction=n,this.moveToPano(t,{longitude:null!==(r=e.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:Rm(null!==(o=e.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(a=e.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(t,e){s.emit("initAnimationWillStart",t,e,s.userAction)},moveEndCallback:function(t,e){s.emit("initAnimationEnded",t,e,s.userAction)},moveCancelCallback:function(){var t=s.currentPanoIndex,e={longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:s.camera.pose.distance};s.emit("initAnimationEnded",t,e,s.userAction)}},n))},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:new r.Vector3(e.value.x,e.value.y,e.value.z),distance:e.value.distance}},i.prototype.moveToPano=function(t,e,i){void 0===e&&(e={});var n=this.work.observers[t];n&&this.moveToPosition(n.position,e,i)},i.prototype.moveToPosition=function(t,e,i){var n,o,a,s=this;void 0===e&&(e={}),this.userAction=i;for(var c=Bt(),l=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z).distanceTo(t),h=this.locationMotion.getProgressVelocity(c),u=0,d=1;d<this.locationMotion.keyframes.length;d++){var p=this.locationMotion.keyframes[d-1].value,f=p.x,m=p.y,g=p.z,v=this.locationMotion.keyframes[d].value,y=v.x,A=v.y,x=v.z;u+=Math.sqrt(Math.pow(y-f,2)+Math.pow(A-m,2)+Math.pow(x-g,2))}var b=0===l?0:h*u/l,w=this.calculateMovingDuration(e.duration,l),M={x:t.x,y:t.y,z:t.z,distance:0,modelAlpha:1,perspToOrtho:0},E={longitude:e.longitude,latitude:e.latitude,fov:e.fov},S={longitude:null!==(n=E.longitude)&&void 0!==n?n:this.camera.pose.longitude,latitude:null!==(o=E.latitude)&&void 0!==o?o:this.camera.pose.latitude,fov:null!==(a=E.fov)&&void 0!==a?a:this.camera.pose.fov,offset:t.clone(),distance:0},_=Kg(this.work.observers,(function(e){return e.position.distanceTo(t)})),T=this.work.observers.indexOf(_);this.emit("moveToPano",T,this.userAction),e.moveStartCallback&&e.moveStartCallback(T,S),this.emit("panoWillArrive",T,S,this.userAction),this.cameraMotion.set(E,w).catch(Pt),this.locationMotion.set(M,w,b).then((function(){var t=Yg(s.camera.pose);e.moveEndCallback&&e.moveEndCallback(T,t),s.emit("panoArrived",T,t,s.userAction)}),(function(){e.moveCancelCallback&&e.moveCancelCallback(),s.emit("moveToPanoCanceled",T)}))},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",e,!0)){var i=this.relativeClientPosition(t.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i,!0)){this.emit("gesture","tap",e,!0),this.emit("tapGesture",n,i,!0),this.interiaMovement=!1;var o=this.model.intersectRaycaster(n)[0];if(o&&o.face){var a=o.face.normal,s=o.point;if(new r.Vector3(0,1,0).angleTo(a)>Math.PI/3){var c=this.camera.position.clone().setY(s.y),l=s.clone().sub(c).setLength(.3),h=s.clone().sub(l);n.set(h,new r.Vector3(0,-1,0)),o=this.model.intersectRaycaster(n)[0]}}if(o){var u=o.point.clone(),d=Kg(this.work.observers.filter((function(t){return Math.abs(t.standingPosition.y-u.y)<1})),(function(t){return t.standingPosition.distanceTo(u)}));if(d)return u.y=d.position.y,void this.moveToPosition(u,{},!0)}this.cameraBounce()}}},i}(pv),_y=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).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-aNb-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-<-aNb9-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"),Ty=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).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"),Cy=Object.assign({opacity:new r.Uniform(1),scale:new r.Uniform(13.1),panoMap:new r.Uniform(null),panoDisplacementMap:new r.Uniform(null),panoPosition:new r.Uniform(new r.Vector3),panoMatrix:new r.Uniform(new r.Matrix4)},{emissive:new r.Uniform(new r.Color(0)),emissiveMap:new r.Uniform(null),specular:new r.Uniform(new r.Color(1118481)),specularMap:new r.Uniform(null),normalMap:new r.Uniform(null),bumpMap:new r.Uniform(null),shininess:new r.Uniform(30)},r.UniformsLib.common,r.UniformsLib.lights),Iy=new r.SphereBufferGeometry(.01,128,128);var Py=function(){function t(t){void 0===t&&(t={}),this.textureLoader=new yi({allowHosts:this.allowHosts,requestProxy:this.requestProxy,networkSubscribe:this.networkSubscribe}),this.allowHosts=t.allowHosts,this.requestProxy=t.requestProxy,this.networkSubscribe=t.networkSubscribe}return t.prototype.setAllowHosts=function(t){this.allowHosts=t,this.textureLoader.setAllowHosts(t)},t.prototype.setRequestProxy=function(t){this.requestProxy=t,this.textureLoader.setRequestProxy(t)},t.prototype.setNetworkSubscribe=function(t){this.networkSubscribe=t,this.textureLoader.setNetworkSubscribe(t)},t.prototype.load=function(t,i,n,o,a,s,c,l){var h=[0,0],u=function(t,e){h[e]=t,c(.8*h[0]+.2*h[1])},d=[this.textureLoader.load(t,{viaAjax:!0},void 0,void 0,(function(t){return u(t,1)}),l),this.textureLoader.loadCube(i,{viaAjax:!0},void 0,void 0,(function(t){return u(t,0)}),l)];return Promise.all(d).then((function(t){var i=t[0],s=t[1],c={body:function(t,e,i,n){var o=new r.ShaderMaterial({side:r.BackSide,vertexShader:_y,fragmentShader:Ty,transparent:!0,uniforms:r.UniformsUtils.clone(Cy)}),a=e;return a.needsUpdate=!0,a.minFilter=r.LinearFilter,a.magFilter=r.LinearFilter,t.needsUpdate=!0,t.minFilter=r.LinearFilter,t.magFilter=r.LinearFilter,o.uniforms.opacity.value=0,o.uniforms.panoMap.value=a,o.uniforms.panoDisplacementMap.value=t,o.uniforms.panoPosition.value=i,o.uniforms.panoMatrix.value=n,Object.assign(new r.Mesh(Iy,o),{frustumCulled:!1,dispose:function(){this.material instanceof r.ShaderMaterial&&(this.material.uniforms.panoDisplacementMap.value.dispose(),this.material.uniforms.panoDisplacementMap.value=null,this.material.dispose())}})}(i.body,s.body,n,o),meta:e.__spreadArray([i.meta],s.meta,!0)};return a(c),c})).catch((function(t){for(var e=0,i=d;e<i.length;e++){i[e].then((function(t){return t.body.dispose()})).catch(Pt)}return s(t),Promise.reject(t)}))},t}(),Ry=new r.Vector3(-1,1,1),By=function(t){function i(e){var n,o,a,s,c,l,h,u=this,d=i.parseArgs(e);return(u=t.call(this,d)||this).currentPanoIndex=d.initial[0],u.maxAccessibleDistance=d.maxAccessibleDistance,u.panoTapTriggerRadius=d.panoTapTriggerRadius,u.panoCircleMeshCreator=d.panoCircleMeshCreator,u.boundingMesh=u.generateBoundingMesh(),u.boundingMesh.setMaterial(u.model.getMaterial()||{}),u.boundingMesh.visible=!1,u.scene.add(u.boundingMesh),u.panoModelGroup=new r.Group,u.panoModelGroup.name="panoModels",u.scene.add(u.panoModelGroup),u.panoMeshes=[],u.updatePanoMeshes(),u.helper.remove(u.intersectMesh),u.locationMotion=new Zm({count:0,distance:u.camera.pose.distance,modelAlpha:null!==(o=null===(n=u.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==o?o:0,perspToOrtho:null!==(s=null===(a=u.model.getMaterial())||void 0===a?void 0:a.perspToOrtho)&&void 0!==s?s:0}),u.panoResources={},u.panoResources[u.locationMotion.keyframes[0].key=u.locationMotion.keyframes[1].key=Dr()]={panoIndex:u.currentPanoIndex,workCode:u.work.workCode,matrix:null!==(h=null===(l=null===(c=u.model.getMaterial())||void 0===c?void 0:c.pano1)||void 0===l?void 0:l.matrix)&&void 0!==h?h:new r.Matrix4,position:u.camera.pose.offset.clone(),effect:"fly"},u.depthTextureLoader=new Py({allowHosts:u.work.allowHosts,requestProxy:u.requestProxy,networkSubscribe:u.networkSubscribe}),u}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a=t.parseArgs.call(this,i);return e.__assign(e.__assign({},a),{maxAccessibleDistance:null!==(n=i.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(r=i.panoTapTriggerRadius)&&void 0!==r?r:1,panoCircleMeshCreator:null!==(o=i.panoCircleMeshCreator)&&void 0!==o?o:function(){return new Tg}})},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var e,i=this;if(t.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.pendingTextureTask,this.model&&(this.model.visible=!0),this.panoModelGroup){for(var n=0,r=this.panoModelGroup.children;n<r.length;n++){var o=r[n];"function"==typeof o.dispose&&o.dispose()}this.scene.remove(this.panoModelGroup)}this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoMeshes&&(this.panoMeshes.forEach((function(t){i.helper.remove(t),t.dispose()})),this.panoMeshes.length=0);for(var a=null!==(e=this.model.getMaterial())&&void 0!==e?e:{},s=a.pano0,c=a.pano1,l=0,h=Object.keys(this.panoResources);l<h.length;l++){var u=h[l],d=this.panoResources[u];d.panoModel&&d.panoModel.material.uniforms.panoMap.value!==(null==s?void 0:s.map)&&d.panoModel.material.uniforms.panoMap.value!==(null==c?void 0:c.map)&&(this.panoModelGroup.remove(d.panoModel),d.panoModel.material.uniforms.panoMap.value.dispose(),d.panoModel.dispose(),delete d.panoModel),delete this.panoResources[u]}this.interiaMovement=!1},i.prototype.isReady=function(){return!1===this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){this.userAction=r,this.work=t,this.currentPanoIndex=e,this.depthTextureLoader.setAllowHosts(this.work.allowHosts);var o={},a=!0;this.boundingMesh&&(o=this.boundingMesh.getMaterial()||{},a=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.visible=a,this.boundingMesh.setMaterial(o),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.updatePanoMeshes();for(var s=0,c=this.panoMeshes;s<c.length;s++){c[s].visible=!1}return this.moveToPano(e,{effect:"fade",duration:n,longitude:i.longitude,latitude:i.latitude,fov:i.fov},r),!0},i.prototype.updateTime=function(t,e){var i,n,o;if(!this.destroyed){var a={},s={},c=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),l=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),h=!1;if(!1===this.locationMotion.ended){this.locationMotion.update(t);var u=this.locationMotion.getKeyFrameSegment(t),d=u[0],p=u[1],f=this.panoResourceFromLocationMotionKeyframe(d),m=this.panoResourceFromLocationMotionKeyframe(p),g=(new r.Vector3).copy(f.position),v=(new r.Vector3).copy(m.position),y=this.locationMotion.value.count-p.value.count+1;a.progress=y,a.modelAlpha=this.locationMotion.value.modelAlpha,a.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1);for(var A=0,x=this.panoModelGroup.children;A<x.length;A++){var b=x[A];b.visible=b===f.panoModel||b===m.panoModel}f.panoModel&&(f.panoModel.material.uniforms.opacity.value=1-y,f.panoModel.material.depthTest=0!==y),m.panoModel&&(m.panoModel.material.uniforms.opacity.value=y,m.panoModel.material.depthTest=1!==y),m.panoModel&&(y<1?f.panoModel&&(a.pano0={map:f.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:f.matrix}):a.pano0={map:m.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:m.matrix},a.pano1={map:m.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:m.matrix}),h=a.useBlackTransition="instant"===m.effect||"montage"===m.effect,"fade"!==m.effect&&"montage"!==m.effect||(a.pano0&&(a.pano0={map:a.pano0.map,luminanceMap:null,matrix:f.matrix.clone().setPosition(m.position)}),g.copy(v)),s.distance=this.locationMotion.value.distance,s.offset=new r.Vector3(g.x+(v.x-g.x)*y,g.y+(v.y-g.y)*y,g.z+(v.z-g.z)*y);for(var w=[],M=[],E=0,S=this.locationMotion.keyframes;E<S.length;E++){var _=S[E],T=_.key,C=_.progress;void 0!==T&&(w.push(T),C>=this.locationMotion.progress&&M.push(T))}for(var I=0,P=Object.keys(this.panoResources);I<P.length;I++){var R=P[I];if(!(M.indexOf(R)>=0)){var B=this.panoResources[R];if(B.panoModel){if(B.panoModel.material.uniforms.panoMap.value===(null===(i=a.pano0)||void 0===i?void 0:i.map))continue;if(B.panoModel.material.uniforms.panoMap.value===(null===(n=a.pano1)||void 0===n?void 0:n.map))continue;this.panoModelGroup.remove(B.panoModel),B.panoModel.material.uniforms.panoMap.value.dispose(),B.panoModel.dispose(),delete B.panoModel}w.indexOf(R)>=0||delete this.panoResources[R]}}f.workCode===m.workCode?this.currentPanoIndex=y<.5?f.panoIndex:m.panoIndex:this.currentPanoIndex=m.panoIndex,this.emit("movingToPano",l.panoIndex,c.panoIndex,this.locationMotion.progress)}if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(t),s.longitude=this.cameraMotion.value.longitude,s.latitude=this.cameraMotion.value.latitude,s.fov=this.cameraMotion.value.fov),!1===Xg(a)&&(this.model.setMaterial(a),this.boundingMesh.setMaterial(a)),!1===Xg(s)&&this.setCamera(s),this.camera.pose.distance>.1)for(var L=0;L<this.work.observers.length;L++){(k=this.panoMeshes[L])&&(k.visible=!1)}else{var D=this.work.observers[this.currentPanoIndex];if(D){var O=D.visibleNodes.concat(this.currentPanoIndex),N=this.getForwardPanoIndexOrNot();for(L=0;L<this.work.observers.length;L++){var k,F=this.work.observers[L];if(k=this.panoMeshes[L])if(F.loadable||F.active)if(-1!==O.indexOf(L))if(h)k.visible=!1,k.setOpacity(0);else{k.visible=!0;var z=k.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);k.setCurrent(N===L),k.setOpacity(z<.01?0:Rm(1.4/z,.5,.7)),k.updateTime&&k.updateTime(t,e)}else k.visible=!1,k.setOpacity(0);else k.visible=!1,k.setOpacity(0)}}}this.boundingMesh.visible=Boolean(null===(o=this.boundingMesh.getMaterial())||void 0===o?void 0:o.pano0)&&this.boundingMesh.boundingBox.containsPoint(this.camera.position)}},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1],i=this.panoResourceFromLocationMotionKeyframe(e),n=this.work.observers[i.panoIndex];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:0}},i.prototype.moveToPano=function(t,i,n){var o,a,s=this;void 0===i&&(i={});var c=this.work.observers[t].images.depth,l=e.__assign({key:"pano.".concat(t),basisLoaderInitialized:gi.isInitialized()},Xe(this.imageOptions,["format","size","quality","sharpen","mappings"])),h=null!==(o=this.imageOptions.transform)&&void 0!==o?o:ie,u={right:h(this.work.observers[t].images.right,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".right")})),left:h(this.work.observers[t].images.left,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".left")})),up:h(this.work.observers[t].images.up,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".up")})),down:h(this.work.observers[t].images.down,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".down")})),front:h(this.work.observers[t].images.front,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".front")})),back:h(this.work.observers[t].images.back,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".back")}))},d=this.work.observers[t],p=d.position,f=d.quaternion,m=(new r.Matrix4).compose(p,f,new r.Vector3(-1,1,1)),g="pano:"+uv(u);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===g)return;var v=this.pendingTextureTask.panoIndex;null===(a=this.panoMeshes[v])||void 0===a||a.setProgress(0),this.emit("textureAbort",v,this.work.observers[v]),this.pendingTextureTask.onError(new Error("texture aborted"))}this.pending=!0,this.pendingTextureTask={panoIndex:t,hash:g,onLoad:function(e){s.pending=!1,s.destroyed?e.body.dispose():(e.body.name=g,s.emit("panoLoaded",t),s.doMoveToPano(t,e.body,i,n))},onError:function(e){s.pending=!1,i.moveCancelCallback&&i.moveCancelCallback(),s.emit("panoLoadError",e,t),s.emit("moveToPanoCanceled",t)}};var y=this.panoMeshes[t];y&&y.tap&&y.tap(),this.depthTextureLoader.load(c,u,p,m,(function(e){var i,n;(null===(i=s.pendingTextureTask)||void 0===i?void 0:i.hash)===g?(s.pendingTextureTask.onLoad(e),null===(n=s.panoMeshes[t])||void 0===n||n.setProgress(0),delete s.pendingTextureTask,s.emit("textureLoaded",t,s.work.observers[t],e.meta)):e.body.dispose()}),(function(e){var i,n;(null===(i=s.pendingTextureTask)||void 0===i?void 0:i.hash)===g&&(s.pendingTextureTask.onError(e),null===(n=s.panoMeshes[t])||void 0===n||n.setProgress(0),delete s.pendingTextureTask,s.emit("textureError",e,t,s.work.observers[t]),s.emit("error",e))}),(function(e){var i,n;s.emit("textureLoading",e,t,s.work.observers[t]),(null===(i=s.pendingTextureTask)||void 0===i?void 0:i.hash)===g&&(null===(n=s.panoMeshes[t])||void 0===n||n.setProgress(e))}),this.renderer),this.emit("textureStartLoad",t,this.work.observers[t])},i.prototype.initAnimation=function(t,e,i,n){var r,o,a,s=this;if(!this.destroyed){var c=!1;this.pending=!1,this.userAction=n,this.moveToPano(t,{longitude:null!==(r=e.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:Rm(null!==(o=e.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(a=e.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(t,e){c=!0,s.emit("initAnimationWillStart",t,e,s.userAction)},moveEndCallback:function(t,e){s.emit("initAnimationEnded",t,e,s.userAction)},moveCancelCallback:function(){var t=Yg(s.camera.pose);!1===c&&s.emit("initAnimationWillStart",s.currentPanoIndex,t,s.userAction),s.emit("initAnimationEnded",s.currentPanoIndex,t,s.userAction)}},n)}},i.prototype.panoResourceFromLocationMotionKeyframe=function(t){return this.panoResources[t.key]},i.prototype.locationMotionKeyframesLength=function(t){for(var e=0,i=1;i<t.length;i++){var n=this.panoResourceFromLocationMotionKeyframe(t[i-1]).position,r=this.panoResourceFromLocationMotionKeyframe(t[i]).position;e+=n.distanceTo(r)*(t[i].value.count-t[i-1].value.count)}return e},i.prototype.updatePanoMeshes=function(){for(var t={},e=0,i=this.panoMeshes;e<i.length;e++){t[(a=i[e]).name]=a}this.panoMeshes.length=0;for(var n=0;n<this.work.observers.length;n++){var r="panoCircle_".concat(this.work.workCode,"_").concat(n),o=this.work.observers[n],a=void 0;t[r]?(a=t[r],delete t[r]):((a=this.panoCircleMeshCreator()).name=r,this.helper.add(a)),a.position.copy(o.standingPosition),this.panoMeshes[n]=a}for(var s=0,c=Object.keys(t);s<c.length;s++){var l=c[s];this.helper.remove(t[l]),t[l].dispose(),delete t[l]}},i.prototype.generateBoundingMesh=function(t){void 0===t&&(t=!1);for(var e=this.model.bounding.clone(),i=0,n=this.work.observers;i<n.length;i++){var o=n[i];e.expandByPoint(o.standingPosition),e.expandByPoint((new r.Vector3).fromArray([o.position.x,2*o.position.y-o.standingPosition.y,o.position.z]))}t&&e.expandByPoint(this.camera.position);var a=Fg(e,new r.Vector3(1,0,1));return a.name="panorama_bounding",a.frustumCulled=!1,a},i.prototype.doMoveToPano=function(t,i,n,o){var a,s,c,l,h=this;void 0===n&&(n={}),this.userAction=o;var u=Bt(),d=Dr(),p=this.work.observers[t],f=this.panoResources[d]={panoIndex:t,workCode:this.work.workCode,effect:null!==(a=n.effect)&&void 0!==a?a:"fly",panoModel:i,matrix:(new r.Matrix4).compose(p.position,p.quaternion,Ry),position:p.position.clone()};i.visible=!1,i.renderOrder=-1,this.panoModelGroup.add(i);var m,g,v;if(this.locationMotion.ended){var y=this.locationMotion.getKeyFrameSegment(u);y[0];var A=y[1],x=this.locationMotion.value,b=this.panoResourceFromLocationMotionKeyframe(A).position,w=f.position;m=Math.max(b.distanceTo(w),1),g=[{key:A.key,progress:0,value:e.__assign(e.__assign({},x),{count:0})},{key:d,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,count:1}}],v=0}else{var M=this.locationMotion.getKeyFrameSegment(u),E=M[0],S=(A=M[1],x=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(E).position),_=(b=this.panoResourceFromLocationMotionKeyframe(A).position,w=f.position,A.value.count-x.count),T=Math.max(S.distanceTo(b),1)*_;m=T+Math.max(b.distanceTo(w),1),g=[{key:E.key,progress:0,value:e.__assign({},x)},{key:A.key,progress:T/m,value:A.value},{key:d,progress:1,value:{count:A.value.count+1,distance:0,perspToOrtho:0,modelAlpha:0}}];var C=this.locationMotionKeyframesLength(this.locationMotion.keyframes),I=this.locationMotionKeyframesLength(g);v=0===C||0===C?0:this.locationMotion.getProgressVelocity(u)*C/I}var P=this.calculateMovingDuration(n.duration,"fade"===n.effect||"montage"===n.effect?0:m),R={longitude:n.longitude,latitude:n.latitude,fov:n.fov},B={longitude:null!==(s=R.longitude)&&void 0!==s?s:this.camera.pose.longitude,latitude:null!==(c=R.latitude)&&void 0!==c?c:this.camera.pose.latitude,fov:null!==(l=R.fov)&&void 0!==l?l:this.camera.pose.fov,offset:p.position.clone(),distance:this.camera.pose.distance};n.moveStartCallback&&n.moveStartCallback(t,B),this.emit("panoWillArrive",t,B,this.userAction),this.cameraMotion.set(R,P).catch(Pt),this.locationMotion.setKeyframes(g,P,v).then((function(){var e={longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance};n.moveEndCallback&&n.moveEndCallback(t,e),h.emit("panoArrived",t,e,o)}),(function(){n.moveCancelCallback&&n.moveCancelCallback(),h.emit("moveToPanoCanceled",t)}))},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this,i=this.camera.getWorldDirection(new r.Vector3),n=this.camera.position.clone(),o=this.work.observers[this.currentPanoIndex];if(!o)return null;var a=o.accessibleNodes.filter((function(t){if(t===e.currentPanoIndex)return!1;var i=e.work.observers[t],o=i.standingPosition.clone().sub(n);return 0!==o.length()&&(!(o.angleTo(new r.Vector3(0,-1,0))<Math.PI/12)&&(i.loadable||i.active))})),s=(t?t.ray.direction.clone():i.clone()).setY(0);if(0===s.length())return null;for(var c=a.slice().sort((function(t,i){var r=e.work.observers[t].position.clone().setY(n.y),o=e.work.observers[i].position.clone().setY(n.y);return r.distanceTo(n)-o.distanceTo(n)})),l=0,h=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];l<h.length;l++)for(var u=h[l],d=0,p=c;d<p.length;d++){var f=p[d],m=this.work.observers[f].position.clone().setY(n.y).sub(n);if(0!==m.length()&&s.angleTo(m)<u)return f}return null},i.prototype.onTapGesture=function(t){var i=this,n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",n,!0)){var o=this.relativeClientPosition(t.center),a=new r.Raycaster;if(a.setFromCamera(o,this.camera),!this.emit("wantsTapGesture",a,o,!0)){this.emit("gesture","tap",n,!0),this.emit("tapGesture",a,o,!0),this.interiaMovement=!1;var s=this.camera.getWorldDirection(new r.Vector3).setY(0),c=null,l=this.work.observers[this.currentPanoIndex];if(l){var h=l.accessibleNodes.filter((function(t){if(t===i.currentPanoIndex)return!1;var e=i.work.observers[t];return!(e.position.distanceTo(i.camera.position)>i.maxAccessibleDistance)&&(e.loadable||e.active)})),u=a.intersectObject(this.boundingMesh,!0)[0];if(u){var d=Kg(h,(function(t){var e=i.work.observers[t].standingPosition.clone();return e.clone().sub(i.camera.position).setY(0).angleTo(s)>Math.PI/2?1/0:e.distanceTo(u.point)}),!0),p=d[0];d[1]<this.panoTapTriggerRadius&&(c=p)}_m(c)&&(c=this.getForwardPanoIndexOrNot(a));for(var f=0,m=this.locationMotion.keyframes;f<m.length;f++){var g=m[f],v=this.panoResourceFromLocationMotionKeyframe(g);if(!(g.progress<this.locationMotion.progress)&&v.panoIndex===c){c=null;break}}if(this.emit("panoSelected",c),_m(c))!0===this.locationMotion.ended&&this.cameraBounce();else{var y=this.work.observers[c];if(y.active){for(var A={},x=Math.PI/6,b=Math.PI/12,w=new r.Vector3(0,1,0),M=y.position.clone().setY(0).sub(l.position.clone().setY(0)).normalize(),E=M.clone().applyAxisAngle(w,x),S=M.clone().applyAxisAngle(w,-x),_=[],T=[],C=[],I=0,P=y.accessibleNodes;I<P.length;I++){if((p=P[I])!==this.currentPanoIndex&&p!==c){var R=this.work.observers[p].position.clone().sub(y.position).setY(0);M.angleTo(R)<x?C.push(R):E.angleTo(R)<x?_.push(R):S.angleTo(R)<x&&T.push(R)}}var B=(C.length>0?C:e.__spreadArray(e.__spreadArray([],_,!0),T,!0)).slice().sort((function(t,e){return t.angleTo(M)-e.angleTo(M)}))[0];B&&B.angleTo(s)>b&&(A.longitude=Math.atan2(-B.x,-B.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=Rm(0,this.minLatitude,this.maxLatitude)),this.emit("wantsMoveToPano",c,A,!0)}else this.panoMeshes[c]&&(this.panoMeshes[c].setDisabled(!1),this.panoMeshes[c].setLoading(!0))}}}}},i}(pv);function Ly(t,e){var i=new r.Vector3;return i.setFromMatrixColumn(e,0),i.multiplyScalar(-t),i}function Dy(t,e,i){var n=new r.Vector3;return n.setFromMatrixColumn(i,0),n.crossVectors(e,n),n.multiplyScalar(t),n}var Oy=function(t){function i(e){var n,r,o,a,s=this,c=i.parseArgs(e);return(s=t.call(this,c)||this).currentPanoIndex=c.initial[0],s.defaultLongitude=c.defaultLongitude,s.defaultLatitude=c.defaultLatitude,s.defaultDistance=c.defaultDistance,s.maxLatitude=c.maxLatitude,s.minLatitude=c.minLatitude,s.maxDistance=c.maxDistance,s.minDistance=c.minDistance,s.locationMotion=new Zm({x:s.camera.pose.offset.x,y:s.camera.pose.offset.y,z:s.camera.pose.offset.z,distance:s.camera.pose.distance,modelAlpha:null!==(r=null===(n=s.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(a=null===(o=s.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==a?a:0}),s}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a,s,c,l,h=t.parseArgs.call(this,i);return e.__assign(e.__assign({},h),{defaultLongitude:null!==(n=i.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(r=i.defaultLatitude)&&void 0!==r?r:Math.PI/4,defaultDistance:null!==(o=i.defaultDistance)&&void 0!==o?o:100,maxLatitude:null!==(a=i.maxLatitude)&&void 0!==a?a:+Math.PI/2,minLatitude:null!==(s=i.minLatitude)&&void 0!==s?s:0,maxDistance:null!==(c=i.maxDistance)&&void 0!==c?c:100,minDistance:null!==(l=i.minDistance)&&void 0!==l?l:2})},i.distanceFromModel=function(t,e,i){var n=t.bounding,r=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=r/2/Math.tan(Math.PI*e/360);return i<1&&(o/=i),isNaN(o)?r:o},i.initAnimationEndPose=function(t){var e,n,r=this.parseArgs(t),o=t.initial[0],a=t.initial[1];return{longitude:null!==(e=a.longitude)&&void 0!==e?e:r.defaultLongitude,latitude:Rm(null!==(n=a.latitude)&&void 0!==n?n:r.defaultLatitude,r.minLatitude,r.maxLatitude),fov:90,offset:r.work.observers[o].position.clone(),distance:i.distanceFromModel(r.model,90,r.camera.aspect)}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.model.enableTiles=!1,this.locationMotion.dispose(),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),delete this.mouseWheelState,delete this.panState},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){return this.work=t,this.updateCamera(i,n,r),!0},i.prototype.updateModel=function(e){t.prototype.updateModel.call(this,e);var i=e.bounding.getCenter(new r.Vector3);this.locationMotion.set({x:i.x,y:i.y,z:i.z},0).catch(Pt),this.model.enableTiles=!0},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={},n={};this.locationMotion.ended||(this.locationMotion.update(t),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),n.distance=this.locationMotion.value.distance,n.offset=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(t),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),Xg(i)||this.model.setMaterial(i),Xg(n)||this.setCamera(n)}},i.prototype.setCamera=function(e){t.prototype.setCamera.call(this,e);var i=this.camera.pose.offset.clone();if(this.model.bvhs.loaded){var n=new r.Raycaster(this.camera.getWorldPosition(new r.Vector3),this.camera.getWorldDirection(new r.Vector3)),o=this.model.intersectRaycaster(n)[0];o&&i.copy(o.point)}var a=Kg(this.work.observers,(function(t){return t.position.distanceTo(i)})),s=this.work.observers.indexOf(a);s!==this.currentPanoIndex&&(this.emit("moveToPano",s,this.userAction),this.emit("panoWillArrive",s,Yg(this.camera.pose),this.userAction),this.currentPanoIndex=s,this.emit("panoArrived",s,Yg(this.camera.pose),this.userAction))},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,distance:e.value.distance,offset:new r.Vector3(e.value.x,e.value.y,e.value.z)}},i.prototype.initAnimation=function(t,e,n,o){var a,s,c=this;if(!this.destroyed){this.pending=!1,this.userAction=o;var l={longitude:null!==(a=e.longitude)&&void 0!==a?a:this.defaultLongitude,latitude:Rm(null!==(s=e.latitude)&&void 0!==s?s:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:90,offset:this.model.bounding.getCenter(new r.Vector3),distance:i.distanceFromModel(this.model,90,this.camera.aspect)},h=Xe(l,["longitude","latitude","fov"]),u={x:l.offset.x,y:l.offset.y,z:l.offset.z,distance:l.distance,modelAlpha:1,perspToOrtho:0};this.emit("initAnimationWillStart",t,l,this.userAction),this.cameraMotion.set(h,n).catch(Pt),this.locationMotion.set(u,n).then((function(){c.emit("initAnimationEnded",t,l,c.userAction)}),(function(e){var i=Yg(c.camera.pose);c.emit("initAnimationEnded",t,i,c.userAction)})).then((function(){c.model.enableTiles=!0}))}},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this.work.observers.filter((function(t){return t.active})),i=this.model.intersectRaycaster(t)[0];if(!i)return null;var n=Kg(e,(function(t){return t.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesForOffset=function(t){var e=this.cameraMotion.value.fov,i=this.camera.aspect,n=this.renderer.getSize(new r.Vector2);return{longitude:2*t.x/(n.x*this.scissor.width)*e/95*i,latitude:-2*t.y/(n.y*this.scissor.height)*e/95}},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal))if("mouse"===t.pointerType&&2===t.srcEvent.buttons){var o={x:t.center.x-e.x,y:t.center.y-e.y},a=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.model.bounding,c=s.getCenter(new r.Vector3),l={x:(s.max.x-s.min.x)/90*this.cameraMotion.value.fov,y:(s.max.y-s.min.y)/90*this.cameraMotion.value.fov,z:(s.max.z-s.min.z)/90*this.cameraMotion.value.fov},h=(this.camera.position.y-s.min.y)*Math.tan(this.camera.fov/2*Math.PI/180),u=this.renderer.getSize(new r.Vector2);a.add(Ly(2*o.x*h/u.y,this.camera.matrix)),a.add(Dy(2*o.y*h/u.y,this.camera.up,this.camera.matrix)),a.x=Rm(a.x,c.x-l.x,c.x+l.x),a.z=Rm(a.z,c.z-l.z,c.z+l.z);var d={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:a,distance:this.locationMotion.value.distance};if(this.emit("wantsPanGesture",d,t.isFinal))return;this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",d,t.isFinal),this.userAction=!0,this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(Pt)}else{a={x:t.center.x-e.x,y:t.center.y-e.y};var p=this.coordinatesForOffset(a),f=Vg(this.cameraMotion.value.longitude+-1*p.longitude),m=Rm(this.cameraMotion.value.latitude+-1*p.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(t.overallVelocityX)>.2&&Math.atan2(Math.abs(t.overallVelocityY),Math.abs(t.overallVelocityX))<Math.PI/6.923&&(m=this.cameraMotion.value.latitude);d={longitude:f,latitude:m,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};if(this.emit("wantsPanGesture",d,t.isFinal))return;this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",d,t.isFinal),this.userAction=!0,this.interiaMovement=!1;var g={longitude:d.longitude,latitude:d.latitude,fov:d.fov};if(this.cameraMotion.set(g,0).catch(Pt),t.isFinal)this.emit("wantsInteriaPan",d)||(this.interiaMovement=!0,t.velocityX,t.velocityY)}}},i.prototype.onPinchGesture=function(t){var e=this.pinchState||{},i=e.distance;e.offsetY;var n=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(n=!0,delete this.pinchState),void 0!==i){this.pinchState={distance:i};var o=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(this.emit("wantsGesture","pinch",o,n))return;var a=Rm(i/t.scale,this.minDistance,this.maxDistance);if(this.emit("wantsPinchGesture",t.scale,this.camera.pose.fov,n))return;this.emit("gesture","pinch",o,n),this.emit("pinchGesture",t.scale,this.camera.pose.fov,n),this.userAction=!0,this.locationMotion.set({distance:a},0).catch(Pt)}var s=this.panState,c=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:c,x:t.center.x,y:t.center.y},void 0!==s&&s.pointerLength===c){var l=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",l,n)){var h=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",h,n)){var u={x:t.center.x-s.x,y:t.center.y-s.y},d=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),p=this.model.bounding,f=p.getCenter(new r.Vector3),m={x:(p.max.x-p.min.x)/90*this.cameraMotion.value.fov,y:(p.max.y-p.min.y)/90*this.cameraMotion.value.fov,z:(p.max.z-p.min.z)/90*this.cameraMotion.value.fov},g=(this.camera.position.y-p.min.y)*Math.tan(this.camera.fov/2*Math.PI/180),v=this.renderer.getSize(new r.Vector2);d.add(Ly(2*u.x*g/v.y,this.camera.matrix)),d.add(Dy(2*u.y*g/v.y,this.camera.up,this.camera.matrix)),d.x=Rm(d.x,f.x-m.x,f.x+m.x),d.z=Rm(d.z,f.z-m.z,f.z+m.z);var y={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:d,distance:this.locationMotion.value.distance};this.emit("wantsPanGesture",y,t.isFinal)||(this.emit("gesture","pan",h,t.isFinal),this.emit("panGesture",y,t.isFinal),this.userAction=!0,this.locationMotion.set({x:d.x,y:d.y,z:d.z},0).catch(Pt))}}}}else this.pinchState={distance:this.locationMotion.value.distance}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=Rm(this.locationMotion.value.distance-i/2,this.minDistance,this.maxDistance);this.emit("wantsMouseWheel",i,this.camera.pose.fov,!1)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,this.camera.pose.fov,!1),this.userAction=!0,this.locationMotion.set({distance:r},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,e.camera.pose.fov,!0)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,e.camera.pose.fov,!0))}),200)})}},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",e,!0)){var i=this.relativeClientPosition(t.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i,!0)){this.emit("gesture","tap",e,!0),this.emit("tapGesture",n,i,!0),this.interiaMovement=!1;var o=this.getForwardPanoIndexOrNot(n);if(!_m(o)){this.emit("panoSelected",o);var a={longitude:this.camera.pose.longitude,latitude:0};this.emit("wantsMoveToPano",o,a,!0)}}}},i.prototype.onPressGesture=function(t,e){var i,n,o=[t];if(this.emit("wantsGesture","press",o,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;var a=this.relativeClientPosition(t),s=new r.Raycaster;if(s.setFromCamera(a,this.camera),this.emit("wantsPressGesture",s,a,t.delta,e))return null===(n=this.pressState)||void 0===n||n.stop(),void delete this.pressState;this.emit("gesture","press",o,e),this.emit("pressGesture",s,a,t.delta,e)},i}(sv),Ny=["Panorama","DepthPanorama","Model"],ky={Floorplan:cv,Topview:lv,Panorama:Hv,VRPanorama:Ey,Model:Sy,DepthPanorama:By,Mapview:Oy};function Fy(t){for(var e=0,i=Ny;e<i.length;e++){var n=i[e];if("string"==typeof t){if(n===t)return!0}else if(t instanceof sv&&t instanceof ky[n])return!0}return!1}var zy=["cameraDirectionUpdate","cameraUpdate","cameraPositionUpdate","panoSelected","moveToPano","moveToPanoCanceled","panoWillArrive","movingToPano","panoArrived","panoWillLoad","panoLoaded","panoLoadError","initAnimationEnded","initAnimationWillStart","wantsGesture","gesture","wantsTapGesture","tapGesture","wantsPressGesture","pressGesture","wantsPanGesture","wantsInteriaPan","panGesture","interiaPan","wantsPinchGesture","pinchGesture","wantsMouseWheel","mouseWheel","wantsShowIntersectionOnModel","intersectionOnModelUpdate","intersectionHidden","textureStartLoad","textureLoading","textureAbort","textureLoaded","textureError"];function Vy(t){for(var e,i,n={},r=0,o=t.split(/(\;|\,)/);r<o.length;r++){var a=o[r].split("="),s=null===(e=a[0])||void 0===e?void 0:e.trim(),c=null===(i=a[1])||void 0===i?void 0:i.trim();s&&c&&(n[s]=c)}return n}function Hy(){for(var t,e=document.getElementsByTagName("meta"),i=0;i<e.length;i++){var n=e[i];if("viewport"===n.getAttribute("name")){var r=Vy(null!==(t=n.getAttribute("content"))&&void 0!==t?t:""),o=Number(r["initial-scale"]);if(!isNaN(o))return o}}return 1}var Uy=[351,63],Gy=[20,20],jy=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Qy=new Float32Array([0,0,1,0,0,1,1,1]),Wy=new Uint8Array([0,1,2,1,3,2]),qy=new r.BufferGeometry;qy.setAttribute("position",new r.BufferAttribute(jy,3)),qy.setAttribute("uv",new r.BufferAttribute(Qy,2)),qy.setIndex(new r.BufferAttribute(Wy,1));var Ky=new r.MeshBasicMaterial({transparent:!0,depthTest:!1}),Xy=new r.Mesh(qy,Ky),Yy=new r.Scene;Yy.add(Xy);var Zy=new r.OrthographicCamera(-.5,.5,.5,-.5,.1,1);Zy.position.set(0,0,.5),Zy.lookAt(0,0,0);var Jy=new r.Vector4,$y=new r.Vector4;function tA(t){if(Ky.map){var e=t.getViewport(Jy),i=t.getScissor($y),n=t.getScissorTest(),o=t.autoClear;t.setViewport(i.x+Gy[0]/3,i.y+Gy[1]/3,Uy[0]/3,Uy[1]/3),t.setScissor(i.x+Gy[0]/3,i.y+Gy[1]/3,Uy[0]/3,Uy[1]/3),t.setScissorTest(!0),t.autoClear=!1,t.render(Yy,Zy),t.setViewport(e),t.setScissor(i),t.setScissorTest(n),t.autoClear=o}else{var a=new r.Texture,s=new Image;s.onload=function(){a.image=s,a.wrapS=r.ClampToEdgeWrapping,a.wrapT=r.ClampToEdgeWrapping,a.minFilter=r.LinearFilter,a.needsUpdate=!0,Ky.needsUpdate=!0,s.onload=function(){}},s.src="data:image/png;base64,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",Ky.map=a}}var eA={instances:{}};"undefined"!=typeof window&&Object.assign(window,{__FIVE_DEBUG__:eA});var iA=new r.Box3(new r.Vector3(-50,-50,-50),new r.Vector3(50,50,50)),nA=function(t){return t.replace("//vrlab-public.ljcdn.com","//vr-public.realsee-cdn.cn").replace("//vrlab-image4.ljcdn.com","//vr-image-4.realsee-cdn.cn").replace("//vrlab-image3.ljcdn.com","//vr-image-3.realsee-cdn.cn").replace("//vrlab-image2.ljcdn.com","//vr-image-2.realsee-cdn.cn").replace("//vrlab-image1.ljcdn.com","//vr-image-1.realsee-cdn.cn")},rA=new r.Vector2,oA=new r.Frustum,aA=new r.Matrix4,sA=new WeakMap,cA=new WeakMap,lA=function(t){function i(i){void 0===i&&(i={});var n,o,a,s,c,l,h,u,d,p,f,m=this;if((m=t.call(this)||this).ident=Dr(),eA.instances[m.ident]=m,m.renderSwitch01=0,m.panoIndex=0,m.needsRender=!1,m.onlyRenderIfNeeds=null===(n=i.onlyRenderIfNeeds)||void 0===n||n,m.imageOptions=e.__assign({},null!==(o=i.imageOptions)&&void 0!==o?o:{}),m.textureOptions=e.__assign({},null!==(a=i.textureOptions)&&void 0!==a?a:{}),m.poweredByRealsee=null===(s=i.poweredByRealsee)||void 0===s||s,m.extraElements=[],m.controllerInits={Panorama:Object.assign({},i.panorama),Model:Object.assign({},i.model),Floorplan:Object.assign({},i.floorplan),Topview:Object.assign({},i.topview),Mapview:Object.assign({},i.mapview),DepthPanorama:Object.assign({},i.depthPanorama),VRPanorama:Object.assign({},i.vrPanorama)},m.fps={testCount:0,testTime:Bt()},m.modeChangeDuration=null!==(c=i.modeChangeDuration)&&void 0!==c?c:1e3,m.panoramaLikeSavedPose={},"undefined"!=typeof window)if(i.renderer)i.renderer instanceof ge&&m.throwError(new Error("cannot render a internal renderer")),m.renderer=i.renderer;else try{m.renderer=new ge({preserveDrawingBuffer:i.preserveDrawingBuffer,backgroundColor:i.backgroundColor,backgroundAlpha:i.backgroundAlpha,antialias:i.antialias,webgl2:null==i?void 0:i.webgl2});var g=Hy();m.renderer.setPixelRatio(1===g?window.devicePixelRatio:1),m.renderer.setSize(512,512)}catch(t){t instanceof Error&&m.throwError(t)}m.getPixelsRenderTarget=new r.WebGLRenderTarget(1,1,{encoding:null!==(h=null===(l=m.renderer)||void 0===l?void 0:l.outputEncoding)&&void 0!==h?h:r.sRGBEncoding}),m.scissor=Object.assign({left:0,bottom:0,width:1,height:1},i.scissor),m.camera=new Se(80),m.scene=new ve,m.lastLoadWorkTask=Promise.resolve(),m.requestProxy=null!==(u=i.requestProxy)&&void 0!==u?u:nA,m.networkSubscribe=new Wt,m.networkSubscribe.on("network",(function(t,e,i,n){var r;m.emit("network",t,e,i,n),null===(r=m.analysis)||void 0===r||r.network(m.work,t,e,i,n)})),m.model=new Pm({allowHosts:[],requestProxy:m.requestProxy,networkSubscribe:m.networkSubscribe});var v=Fg(iA);v.name="model_empty",m.model.add(v),m.model.visible=!1,m.readyCallbacks=[],m.modelPending=!1,m.syncingState=!1,m.scene.add(m.model),m.helperGroup=new r.Group,m.helperGroup.name="helper",m.scene.add(m.helperGroup),m.videoTexture=new r.VideoTexture(i.videoInstance||function(){var t=document.createElement("video");t.loop=!0,t.autoplay=!0,t.playsInline=!0,t.muted=!0,t.crossOrigin="";var e=function(){document.removeEventListener("touchstart",e,!1),document.removeEventListener("mousedown",e,!1),t.muted=!1};return document.addEventListener("touchstart",e,!1),document.addEventListener("mousedown",e,!1),t}()),function(t){(e=new r.DirectionalLight(16777215,.5)).position.copy(new r.Vector3(1,1,1)),t.add(e);var e=new r.DirectionalLight(16777215,.3);t.add(e),e=new r.AmbientLight(16777215,.3),t.add(e)}(m.scene),m.state={mode:null!==(d=m.currentMode)&&void 0!==d?d:"Panorama",panoIndex:null!==(p=m.panoIndex)&&void 0!==p?p:0,longitude:m.camera.pose.longitude,latitude:m.camera.pose.latitude,fov:m.camera.pose.fov,offset:m.camera.pose.offset.clone(),distance:m.camera.pose.distance},m.stateSynced=!1,m._enableIOSEDR=!1,m.destroyed=!1,m.paused=!0,"undefined"!=typeof window&&(!1!==i.play&&m.play(),!1!==(null!==(f=i.initialBasisLoader)&&void 0!==f&&f)&&("string"==typeof i.initialBasisLoader?m.initBasisLoader(i.initialBasisLoader):m.initBasisLoader()),m.stopAnimationLoop=Jt.shared.add((function(t,e){m.updateTime(t,e)}),!1,0,10));var y=function(){"undefined"!=typeof document&&null===document.fullscreenElement&&"VRPanorama"===m.currentMode&&m.controller.emit("vrWantsToExit")};if("undefined"!=typeof document&&document.addEventListener("fullscreenchange",y,!1),m.removeEventListeners=function(){"undefined"!=typeof document&&document.removeEventListener("fullscreenchange",y,!1)},m.plugins={},i.plugins&&i.plugins.length)for(var A=0,x=i.plugins;A<x.length;A++){var b=x[A];if("function"==typeof b)b(m);else if(Array.isArray(b)){var w=b[0],M=b[1],E=b[2];if("function"==typeof w){var S=w(m,E);"string"==typeof M&&(m.plugins[M]?m.throwError(new Error("plugin name ".concat(M," is exists."))):m.plugins[M]=S)}}}return m}return e.__extends(i,t),i.prototype.dispose=function(){var t;if(!0!==this.destroyed){delete eA.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),this.off(),this.networkSubscribe.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 i=this.model.getMaterial();i&&(i.pano0&&i.pano0.map.dispose(),i.pano1&&i.pano1.map!==(null===(t=i.pano0)||void 0===t?void 0:t.map)&&i.pano1.map.dispose()),this.model.dispose(),this.renderer instanceof ge&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},i.prototype.setScissor=function(t){Object.assign(this.scissor,t),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize()},Object.defineProperty(i.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(t){this.helperGroup.visible!==t&&(this.helperGroup.visible=t,this.emit("helpersVisibleChange",t),this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"enableIOSEDR",{get:function(){return this._enableIOSEDR},set:function(t){this._enableIOSEDR!==t&&(this._enableIOSEDR=t,this.currentMode&&"Panorama"===this.currentMode&&this.changeMode(this.currentMode,{},0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"enablePostProcessing",{get:function(){return void 0!==this.screenBuffer},set:function(t){var e,i;if(t){if(!this.screenBuffer){var n=this.getDrawingBufferSize(rA);this.screenBuffer=new r.WebGLRenderTarget(n.x,n.y,{encoding:null!==(i=null===(e=this.renderer)||void 0===e?void 0:e.outputEncoding)&&void 0!==i?i:r.sRGBEncoding})}}else this.screenBuffer&&(this.screenBuffer.dispose(),delete this.screenBuffer);this.needsRender=!0},enumerable:!1,configurable:!0}),i.prototype.updateConfiguration=function(t){var e=!1;t.panorama&&(Object.assign(this.controllerInits.Panorama,t.panorama),"Panorama"===this.currentMode&&(e=!0)),t.model&&(Object.assign(this.controllerInits.Model,t.model),"Model"===this.currentMode&&(e=!0)),t.floorplan&&(Object.assign(this.controllerInits.Floorplan,t.floorplan),"Floorplan"===this.currentMode&&(e=!0)),t.topview&&(Object.assign(this.controllerInits.Topview,t.topview),"Topview"===this.currentMode&&(e=!0)),t.mapview&&(Object.assign(this.controllerInits.Mapview,t.topview),"Mapview"===this.currentMode&&(e=!0)),t.depthPanorama&&(Object.assign(this.controllerInits.DepthPanorama,t.depthPanorama),"DepthPanorama"===this.currentMode&&(e=!0)),t.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,t.vrPanorama),"VRPanorama"===this.currentMode&&(e=!0)),t.imageOptions&&(Object.assign(this.imageOptions,t.imageOptions),"Panorama"!==this.currentMode&&"DepthPanorama"!==this.currentMode&&"VRPanorama"!==this.currentMode||(e=!0)),e&&this.controller&&this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)},i.prototype.appendTo=function(t,e){if(void 0===e&&(e={}),this.renderer)if(this.renderer instanceof ge){var i=this.getElement();if(i){t.appendChild(i),this.refresh(e);var n=window.getComputedStyle(t).position;"relative"!==n&&"absolute"!==n&&"fixed"!==n&&"sticky"!==n&&(t.style.position="relative")}}else this.throwError(new Error("cannot call appendTo method when render a external renderer"))},i.prototype.refresh=function(t,e){if(void 0===t&&(t={}),this.renderer){var i=this.getElement();if(i){var n=i.parentNode;if(n&&n.nodeName){var o=t.width,a=void 0===o?n.offsetWidth:o,s=t.height,c=void 0===s?n.offsetHeight:s;this.renderer instanceof ge&&(e&&this.renderer.setPixelRatio(e),this.renderer.setSize(a,c))}var l=this.renderer.getSize(new r.Vector2);this.camera.aspect=l.x*this.scissor.width/(l.y*this.scissor.height),this.camera.updateProjectionMatrix(),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(),this.needsRender=!0}}},i.prototype.addExtraElement=function(t){var e=this;return-1===this.extraElements.indexOf(t)&&(this.extraElements.push(t),this.controller&&this.controller.bindExtraElement(t)),function(){return e.removeExtraElement(t)}},i.prototype.removeExtraElement=function(t){var e=this.extraElements.indexOf(t);-1!==e&&(this.extraElements.splice(e,1),this.controller&&this.controller.unbindExtraElement(t))},i.prototype.getPose=function(){var t=this.camera.copyPose(),e=t.longitude,i=t.latitude,n=t.fov,r=t.offset,o=t.distance;return{longitude:e,latitude:i,fov:n,offset:r.clone(),distance:o}},i.prototype.getSize=function(t){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(t),t.x*=this.scissor.width,t.y*=this.scissor.height,t},i.prototype.getDrawingBufferSize=function(t){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(t),t.x*=this.scissor.width,t.y*=this.scissor.height,t},i.prototype.updateCamera=function(t,e,i){return void 0===i&&(i=!0),this.controller?this.controller.updateCamera(t,e,i):Promise.reject(new Error("controller is not initialized."))},i.prototype.getLongitudeAndLatitude=function(){var t=this.getPose();return{longitude:t.longitude,latitude:t.latitude}},i.prototype.getOffset=function(){return this.getPose().offset},i.prototype.getCameraLocal=function(){if("number"==typeof this.panoIndex&&this.controller&&this.work){var t=this.work.observers[this.panoIndex],e=new r.Object3D;return e.position.copy(t.position),e.quaternion.copy(t.quaternion),e.scale.set(1,1,1),e.updateMatrixWorld(!0),function(t,e){var i=new r.Vector3(0,0,-1);i.applyQuaternion(t.quaternion);var n=e.quaternion.clone().inverse();return i.applyQuaternion(n),{theta:Math.atan2(i.x,-i.z),phi:-Math.asin(i.y),lookAtVector:i}}(this.camera,e)}},i.prototype.initBasisLoader=function(t){try{if(!this.renderer)throw new Error("renderer is not initialized.");if("undefined"==typeof Promise||"undefined"==typeof WeakMap||"undefined"==typeof WebAssembly)throw new Error("Basis loader not support.");"string"==typeof t&&gi.setTranscoderPath(t),gi.workerConfig.format||gi.detectSupport(this.renderer),gi._allocateWorker(0)}catch(t){t instanceof Error&&this.throwError(t)}},Object.defineProperty(i.prototype,"work",{get:function(){var t=cA.get(this);if(t&&Um.get(t))return t},enumerable:!1,configurable:!0}),i.prototype.load=function(t,e,i,n){var r=this;if(void 0===n&&(n=!0),!this.renderer)throw new Error("renderer is not initialized");var o=this.lastLoadWorkTask.then((function(){return!(o=t)||"object"!=typeof o&&"function"!=typeof o||"function"!=typeof o.then?r.load_(t,e,i,n):t.then((function(t){return r.load_(t,e,i,n)}));var o}));return this.lastLoadWorkTask=o.catch((function(t){r.throwError(t)})),o},i.prototype.load_=function(t,n,r,o){var a,s,c,l,h,u,d,p,f,m=this;void 0===o&&(o=!0);var g,v,y,A=qm(t),x=this.work;void 0===n&&(n=x?"inherit":"initial"),"inherit"===n?(g="number"==typeof this.panoIndex&&A.observers[this.panoIndex]?this.panoIndex:A.initial.panoIndex,v=null!==(a=this.currentMode)&&void 0!==a?a:A.initial.mode,y={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):"initial"===n?(v=null!==(s=this.currentMode)&&void 0!==s?s:A.initial.mode,g=A.initial.panoIndex,y=v===i.Mode.Panorama||v===i.Mode.DepthPanorama||v===i.Mode.Model||v===i.Mode.VRPanorama?{longitude:A.initial.longitude,latitude:A.initial.latitude,fov:A.initial.fov}:{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):(g=null!==(c=n.panoIndex)&&void 0!==c?c:A.initial.panoIndex,v=null!==(h=null!==(l=n.mode)&&void 0!==l?l:this.currentMode)&&void 0!==h?h:"Panorama",y={longitude:null!==(u=n.longitude)&&void 0!==u?u:A.initial.longitude,latitude:null!==(d=n.latitude)&&void 0!==d?d:A.initial.latitude,fov:null!==(p=n.fov)&&void 0!==p?p:A.initial.fov}),this.emit("willLoad",t,A,{panoIndex:g,mode:v,longitude:y.longitude,latitude:y.latitude,fov:y.fov});var b=function(){var i;m.panoIndex=g,m.panoramaLikeSavedPose.longitude=A.initial.longitude,m.panoramaLikeSavedPose.latitude=A.initial.latitude,m.panoramaLikeSavedPose.fov=A.initial.fov;var n=m.controller?null!=r?r:m.modeChangeDuration:0,a=e.__assign(e.__assign({initial:[g,y,n,o]},m.commonParams()),m.controllerInits[v]);m.controller?!1===m.controller.updateWork(A,g,y,n,o)&&(m.controller.destroy(),m.controller=m.applyController(v,a)):m.controller=m.applyController(v,a),m.emit("load",t,A,{panoIndex:g,mode:v,longitude:y.longitude,latitude:y.latitude,fov:y.fov}),null===(i=m.analysis)||void 0===i||i.work(A)},w=function(t){var e;void 0===t&&(t=Pt),A.model&&(m.model.name!==(null===(e=A.model)||void 0===e?void 0:e.file)?(m.emit("modelWillLoad",A.model),m.loadModel(A.model,A.allowHosts,t,!0)):t&&t())};return cA.set(this,A),v===i.Mode.Floorplan||v===i.Mode.Topview||v===i.Mode.Mapview||v===i.Mode.Model?w((function(){b(),m.needsRender=!0})):(this.controller||(this.camera.setFromPose({distance:0,fov:A.initial.fov,longitude:A.initial.longitude,latitude:A.initial.latitude,offset:A.observers[A.initial.panoIndex].position}),this.needsRender=!0),b(),null===(f=this.controller)||void 0===f||f.once("panoLoaded",(function(){m.needsRender=!0,m.emit("cameraUpdate",m.camera.copyPose(),o),w()}))),this.ready().then((function(){m.emit("loaded",t,m.work)}))},i.prototype.changeMode=function(t,n,r,o,a){var s=this;if(void 0===n&&(n={}),void 0===r&&(r=this.modeChangeDuration),void 0===o&&(o=!0),void 0===a&&(a=!1),!this.renderer)throw new Error("renderer is not initialized.");return new Promise((function(c,l){if(!i.Mode.hasOwnProperty(t)){var h=new Error('mode "'.concat(t,'" is not existed'));return s.throwError(h),void l(h)}if((t===i.Mode.Floorplan||t===i.Mode.Topview||t===i.Mode.Mapview||t===i.Mode.Model)&&(_m(s.model)||!0!==s.model.loaded)){h=new Error("model is not ready.");return s.throwError(h),void l(h)}if(_m(s.controller)){h=new Error("controller is not ready.");return s.throwError(h),void l(h)}var u=s.controller,d=s.currentMode,p=function(){var h,p,f,m;if(s.emit("wantsChangeMode",t,d))l(new Error("change mode canceled."));else{if(s.controller&&!1===a&&d===t)t===i.Mode.Panorama||t===i.Mode.DepthPanorama||t===i.Mode.Model||t===i.Mode.VRPanorama?"number"==typeof n.panoIndex&&n.panoIndex!==s.panoIndex?s.controller.moveToPano(null!==(p=null!==(h=n.panoIndex)&&void 0!==h?h:s.panoIndex)&&void 0!==p?p:0,e.__assign({duration:r},n),o):s.controller.updateCamera(n,r,o).catch(Pt):("number"==typeof n.panoIndex&&n.panoIndex!==s.panoIndex&&(s.panoIndex=n.panoIndex),s.controller.updateCamera(n,r,o).catch(Pt));else{u.destroy();var g=null!==(m=null!==(f=n.panoIndex)&&void 0!==f?f:s.panoIndex)&&void 0!==m?m:0,v=Fy(t)?s.panoramaLikeSavedPose:{};t===i.Mode.Mapview&&(v.longitude=s.panoramaLikeSavedPose.longitude),"number"!=typeof n.longitude&&"number"!=typeof n.latitude||(v.longitude=n.longitude,v.latitude=n.latitude),"number"==typeof n.fov&&(v.fov=n.fov);var y=e.__assign(e.__assign({initial:[g,v,r,o]},s.commonParams()),s.controllerInits[t]);s.saveControllerPose(u),s.controller=s.applyController(t,y);var A=ky[t].initAnimationEndPose(y);s.emit("modeChange",t,d,g,A,o)}c()}};t===i.Mode.VRPanorama?(s.requestFullscreen(),("undefined"==typeof location||"https:"!==location.protocol?Promise.reject(new Error("Request DeviceOrientation Permission denied.")):"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(t){if("granted"==t)return Promise.resolve();var e=new Error("Request DeviceOrientation Permission denied.");return Promise.reject(e)})):Promise.resolve()).then((function(){return p()})).catch((function(t){t instanceof Error&&(s.exitFullscreen(),s.throwError(t),l(t))}))):p()}))},i.prototype.getPixels=function(t,e,i,n,o){if(void 0===o&&(o=1),!this.renderer)throw new Error("renderer is not initialized.");var a=this.getPixelsRenderTarget,s=this.renderer.getSize(new r.Vector2);t=Rm(t,Math.floor(i/2),Math.floor(s.x-i)),e=Rm(e,Math.floor(n/2),Math.floor(s.y-n)),t*=o,e*=o,i*=o,n*=o,a.setSize(s.x*o,s.y*o),a.scissor.set(t,e,i,n),a.scissorTest=!0,this.renderer.setRenderTarget(a);var c=new Uint8Array(i*n*4);return this.controller?this.controller.render():this.renderer.render(this.scene,this.camera),this.renderer.readRenderTargetPixels(a,t,e,i,n,c),this.renderer.setRenderTarget(null),a.setSize(1,1),a.scissor.set(0,0,0,0),a.scissorTest=!1,c},i.prototype.getElement=function(){var t;return null===(t=this.renderer)||void 0===t?void 0:t.domElement},i.prototype.render=function(t,e){var i=this;if(void 0===e&&(e=!1),!this.renderer)return null;if(e){var n=this.renderer.getSize(rA);this.scene.traverseVisible((function(t){t.setResolution&&t.setResolution(n.x,n.y)}))}if(this.controller&&this.screenBuffer&&null===this.renderer.getRenderTarget()){var r=this.getDrawingBufferSize(rA);return this.screenBuffer.setSize(r.x,r.y),this.renderer.setRenderTarget(this.screenBuffer),this.controller.render(),this.renderer.setRenderTarget(null),"VRPanorama"!==this.currentMode&&this.poweredByRealsee&&tA(this.renderer),this.renderer.setRenderTarget(null),t&&Jt.shared.add(t,!0),this.screenBuffer}return this.aroundScissor((function(){i.renderer&&(i.controller?i.controller.render():i.renderer.render(i.scene,i.camera),"VRPanorama"!==i.currentMode&&i.poweredByRealsee&&tA(i.renderer)),t&&Jt.shared.add(t,!0)})),null},i.prototype.updateTime=function(t,e){var i=this;if(!this.destroyed){this.syncingState=this.syncState(t,e),this.controller&&this.controller.updateTime(t,e),this.syncingState=!1;var n=new r.Vector2(512,512),o=new r.Vector2(512,512);this.renderer&&(this.renderer.getSize(n),n.x*=this.scissor.width,n.y*=this.scissor.height,this.renderer.getDrawingBufferSize(o),o.x*=this.scissor.width,o.y*=this.scissor.height);var a=[];if(aA.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),this.renderer&&this.model.update(this.renderer,this.camera),oA.setFromProjectionMatrix(aA),this.scene.traverse((function(t){if(t.setResolution&&t.setResolution(n.x,n.y),t.mixer instanceof r.AnimationMixer){var e=sA.get(t.mixer);e||(e=new r.Clock,sA.set(t.mixer,e)),t.mixer.update(e.getDelta())}(t instanceof r.Mesh||t instanceof r.Line||t instanceof r.Points)&&(t instanceof r.ImmediateRenderObject||!t.frustumCulled||oA.intersectsObject(t))&&a.push(t)})),o.width*o.height>8388608?this.renderSwitch01=1^this.renderSwitch01:this.renderSwitch01=0,this.renderer&&!1===this.paused&&0===this.renderSwitch01){var s=void 0;if(!0!==this.onlyRenderIfNeeds)s=this.render();else{for(var c=0,l=a;c<l.length;c++){var h=l[c],u=function(t){!0===t.needsRender?(t.needsRender=!1,i.needsRender=!0):t.mixer&&t.mixer.stats.actions.inUse>0&&(i.needsRender=!0)};u(h),h.traverseAncestors(u)}this.controller&&!0===this.controller.needsRender&&(this.controller.needsRender=!1,this.needsRender=!0),!1!==this.needsRender&&(s=this.render())}this.needsRender=!1,this.controller&&this.screenBuffer&&this.aroundScissor((function(){return i.controller.postProcessing(i.screenBuffer,void 0)})),this.hasListener("renderFrame")&&this.emit("renderFrame",void 0!==s)}if(this.fps.testTime&&t-this.fps.testTime<1e3)this.fps.testCount++;else if(this.emit("fps",this.fps.testCount),this.fps.testTime=t,this.fps.testCount=0,this.renderer){var d=function(t){var e=t.getError();if(e===t.NO_ERROR)return null;switch(e){case t.INVALID_ENUM:return new Error("webgl error: INVALID_ENUM");case t.INVALID_VALUE:return new Error("webgl error: INVALID_VALUE");case t.INVALID_OPERATION:return new Error("webgl error: INVALID_OPERATION");case t.INVALID_FRAMEBUFFER_OPERATION:return new Error("webgl error: INVALID_FRAMEBUFFER_OPERATION");case t.OUT_OF_MEMORY:return new Error("webgl error: OUT_OF_MEMORY");case t.CONTEXT_LOST_WEBGL:return new Error("webgl error: CONTEXT_LOST_WEBGL");default:return null}}(this.renderer.getContext());d&&this.throwError(d)}}},i.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof ge&&this.renderer.clear(!0,!0,!0)},i.prototype.play=function(){this.needsRender=!0,this.paused=!1},i.prototype.moveToPano=function(t,e,n){void 0===e&&(e={}),void 0===n&&(n=!0);var r=this,o=r.controller,a=r.currentMode,s=r.renderer;o?s?a===i.Mode.Floorplan||a===i.Mode.Topview||a===i.Mode.Mapview?_m(t)||(this.panoIndex=t,this.changeMode(i.Mode.Panorama,e,void 0,n)):o.moveToPano(t,e,n):this.throwError(new Error("renderer is not initialized.")):this.throwError(new Error("controller is not initialized."))},i.prototype.preloadPano=function(t,i){var n=this;if(void 0===i&&(i=Pt),!this.work)return Promise.reject(new Error("work never loaded"));var r=this.work.observers[t],o=Bt();return Promise.all(["right","left","up","down","front","back"].map((function(i){var o=e.__assign({key:"pano.".concat(t,".").concat(i),basisLoaderInitialized:gi.isInitialized()},Xe(n.imageOptions,["size","format","quality","mappings"])),a=r.images[i];return function(t,e){return void 0===e&&(e={}),e.requestProxy&&(t=e.requestProxy(t)),t in Kt?Kt[t]:Kt[t]=new Promise((function(i,n){var r=document.createElement("link");r.href=t,r.rel=r.relList&&r.relList.supports("prefetch")?"prefetch":"preload",r.as="fetch",r.crossOrigin="";var o=Bt(),a=document.head||document.getElementsByTagName("head")[0];a&&a.appendChild(r);var s=!1;r.onload=function(){var n;if(!0!==s){s=!0,i();var r=Bt(),a={source:t,requestTime:o,responseTime:r,costs:r-o,headers:{}};null===(n=e.networkSubscribe)||void 0===n||n.emit("network",t,"Link","preload",JSON.stringify(a))}},r.onerror=function(i){var r;if(!0!==s){s=!0;var o=new Vt(t,"Link",0);n(o),null===(r=e.networkSubscribe)||void 0===r||r.emit("network",t,"Link","error",o.message)}}}))}(n.imageOptions.transform?n.imageOptions.transform(a,o):ie(a,o),{requestProxy:n.requestProxy,networkSubscribe:n.networkSubscribe})}))).then((function(){var t=Bt()-o;return i(t),t}))},i.prototype.project2d=function(t,e){if(void 0===e&&(e=!1),!this.renderer)return null;if(!1===this.model.empty&&e){var i=this.camera.position,n=t.clone().sub(i),o=new r.Raycaster(i,n.clone().normalize()),a=this.model.intersectRaycaster(o)[0];if(a&&a.distance+.01<n.length())return null}var s=t.clone().project(this.camera);if(Math.abs(s.z)>1)return null;var c=this.renderer.getSize(new r.Vector2),l=c.x*this.scissor.width,h=c.y*this.scissor.height,u=c.x*this.scissor.left+(s.x+1)/2*l,d=c.y*(1-this.scissor.bottom-this.scissor.height)+(1-s.y)/2*h;return new r.Vector2(u,d)},i.prototype.getRenderObjects=function(t){aA.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),oA.setFromProjectionMatrix(aA),t||(t=this.scene);var e=[];return t.traverseVisible((function(t){(t instanceof r.Mesh||t instanceof r.Line||t instanceof r.Points)&&(t instanceof r.ImmediateRenderObject||!t.frustumCulled||oA.intersectsObject(t))&&e.push(t)})),e},i.prototype.getCurrentState=function(){return e.__assign(e.__assign({},this.getPose()),{mode:this.currentMode||i.Mode.Panorama,panoIndex:this.panoIndex||0})},i.prototype.setState=function(t,n,o){var a,s,c,l,h,u,d,p,f;void 0===n&&(n=!1),void 0===o&&(o=!0),!(t=Object.assign({},t)).offset||t instanceof r.Vector3||(t.offset=new r.Vector3(t.offset.x,t.offset.y,t.offset.z));var m,g,v,y,A,x=null!==(a=t.panoIndex)&&void 0!==a?a:this.state.panoIndex,b=null!==(s=t.mode)&&void 0!==s?s:this.state.mode;if(this.work)if(this.work.observers[x])if(t.mode!==i.Mode.Floorplan&&t.mode!==i.Mode.Topview&&t.mode!==i.Mode.Mapview&&t.mode!==i.Mode.Model||!_m(this.model)&&!0===this.model.loaded){if(this.state.mode!==b){if("VRPanorama"===b)return void this.changeMode("VRPanorama",void 0,void 0,!0);var w=void 0;w=Fy(this.state.mode)&&Fy(b)?e.__assign({},this.state):Fy(b)?e.__assign({},this.panoramaLikeSavedPose):b===i.Mode.Mapview?{longitude:this.panoramaLikeSavedPose.latitude}:e.__assign({},t),"number"==typeof t.longitude&&(w.longitude=t.longitude),"number"==typeof t.latitude&&(w.latitude=t.latitude),"number"==typeof t.fov&&(w.fov=t.fov);var M=e.__assign(e.__assign({initial:[x,w,this.modeChangeDuration,!1]},this.commonParams()),this.controllerInits[b]),E=ky[b].initAnimationEndPose(M);m=E.longitude,g=E.latitude,v=E.fov,y=E.offset,A=E.distance}else m=null!==(c=t.longitude)&&void 0!==c?c:this.state.longitude,g=null!==(l=t.latitude)&&void 0!==l?l:this.state.latitude,v=null!==(h=t.fov)&&void 0!==h?h:this.state.fov,y=null!==(u=t.offset)&&void 0!==u?u:this.state.offset,A=null!==(d=t.distance)&&void 0!==d?d:this.state.distance;var S={panoIndex:x,mode:b,longitude:m,latitude:g,fov:v,offset:y,distance:A};this.emit("setState",S),Wg(this.state,S)||(Qg(this.state,S),this.controller&&(this.controller.userAction=o),n&&this.state.mode===S.mode&&(this.syncingState=this.syncState(Bt(),0,n),this.syncingState&&(null===(p=this.controller)||void 0===p||p.updateTime(Bt(),0),this.syncingState=!1)),this.emit("stateChange",this.state,o),null===(f=this.analysis)||void 0===f||f.state(this.work,this.state))}else this.throwError(new Error("model is not ready."));else this.throwError(new Error("panoIndex not found in work"));else this.throwError(new Error("work never load."))},i.prototype.aroundScissor=function(t){if(this.renderer){var e=new r.Vector2,i=0!==this.scissor.left||0!==this.scissor.bottom||1!==this.scissor.width||1!==this.scissor.height;if(i){this.renderer.getSize(e);var n=Math.floor(e.x*this.scissor.left),o=Math.floor(e.y*this.scissor.bottom),a=Math.floor(e.x*this.scissor.width),s=Math.floor(e.y*this.scissor.height);this.renderer.setViewport(n,o,a,s),this.renderer.setScissor(n,o,a,s),this.renderer.setScissorTest(!0)}t(),i&&(this.renderer.setViewport(0,0,e.x,e.y),this.renderer.setScissor(0,0,e.x,e.y),this.renderer.setScissorTest(!1))}},i.prototype.syncState=function(t,e,n){void 0===n&&(n=!1);var o=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var a={mode:this.state.mode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.changeMode(this.state.mode,a,this.modeChangeDuration,this.controller.userAction),!0}if(!1===this.controller.isReady())return!1;if(this.readyCallbacks.length){var s=this.currentMode;if(!(s===i.Mode.Floorplan||s===i.Mode.Topview||s===i.Mode.Mapview||s===i.Mode.Model)||!this.modelPending)for(var c=void 0;c=this.readyCallbacks.shift();)c()}if(this.controller instanceof ky.Model){if(!this.camera.pose.offset.equals(this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,l,!1),!0}}else if(this.state.panoIndex!==this.panoIndex){l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(this.state.panoIndex,l,!1),!0}if(this.controller instanceof ky.Topview||this.controller instanceof ky.Mapview){var h=1,u=n?this.state.fov:Gg(this.camera.pose.fov,this.state.fov,h),d=n?new r.Vector3(this.state.offset.x,this.state.offset.y,this.state.offset.z):new r.Vector3(Gg(this.camera.pose.offset.x,this.state.offset.x,.2),Gg(this.camera.pose.offset.y,this.state.offset.y,.2),Gg(this.camera.pose.offset.z,this.state.offset.z,.2));if(Lg(u,this.camera.pose.fov)||Og(d,this.camera.pose.offset))return this.controller.cameraMotion.set({fov:u},0).catch(Pt),this.controller.locationMotion.set({x:d.x,y:d.y,z:d.z},0).catch(Pt),!0}else{h=1;var p=Math.PI/45,f=(u=n?this.state.fov:Gg(this.camera.pose.fov,this.state.fov,h),n?{longitude:this.state.longitude,latitude:this.state.latitude}:function(t,e,i){if(t.longitude===e.longitude&&t.latitude===e.latitude)return{longitude:e.longitude,latitude:e.latitude};var n=Vg(t.longitude),r=t.latitude,o=Vg(e.longitude),a=e.latitude;o-n>Hg?n+=Ug:n-o>Hg&&(n-=Ug);var s=i/Math.sqrt(Math.pow(o-n,2)+Math.pow(a-r,2));return s>=1?{longitude:e.longitude,latitude:e.latitude}:{longitude:n+(o-n)*s,latitude:r+(a-r)*s}}({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},p)),m=f.longitude,g=f.latitude;if(Lg(m,this.camera.pose.longitude,2*Math.PI)||Lg(g,this.camera.pose.latitude)||Lg(u,this.camera.pose.fov))return this.controller.cameraMotion.set({longitude:m,latitude:g,fov:u},0).catch(Pt),!0}return this.stateSynced=!0,!1===o&&this.emit("stateSynced",this.state),!1},i.prototype.ready=function(){var t=this;return new Promise((function(e){return t.readyCallbacks.push(e)}))},i.prototype.requestFullscreen=function(){var t;if(jg()){var e=null===(t=this.getElement())||void 0===t?void 0:t.parentNode;e&&"requestFullscreen"in e&&"undefined"!=typeof document&&null===document.fullscreenElement&&e.requestFullscreen()}},i.prototype.exitFullscreen=function(){"undefined"!=typeof document&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},i.prototype.throwError=function(t){this.hasListener("error")?this.emit("error",t):console.error(t)},i.prototype.loadModel=function(t,e,i,n){var o=this,a=t.file;this.emit("modelWillLoad",t);var s=new Pm({allowHosts:e,requestProxy:this.requestProxy,networkSubscribe:this.networkSubscribe});s.once("bvhLoaded",(function(){var t,e;o.destroyed||a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)&&o.emit("modelBvhLoaded",s)})),s.once("materialLoaded",(function(){var t,e;o.destroyed||a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)&&o.emit("modelMaterialLoaded",s)})),s.once("geometryLoaded",(function(){var t,e,i,n;if(!o.destroyed&&a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)){s.bounding.max.y-s.bounding.min.y<1.5&&(s.bounding.max.y=s.bounding.min.y+10);var r,c=o.model;c&&(c.show(),r=c.getMaterial()||{},o.scene.remove(c),c.dispose(),s.setTransparent(c.getTransparent())),r&&s.setMaterial(r),o.model=s,o.scene.add(s),null===(i=o.controller)||void 0===i||i.updateModel(s),null===(n=o.renderer)||void 0===n||n.compile(o.scene,o.camera),o.needsRender=!0,o.modelPending=!1,o.emit("modelGeometryLoaded",s)}})),s.once("loaded",(function(){var t,e;o.destroyed||a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)&&(i(),o.emit("modelLoaded",s))})),s.on("shownFloorChange",(function(t,e){var i,n;o.destroyed||a===(null===(n=null===(i=o.work)||void 0===i?void 0:i.model)||void 0===n?void 0:n.file)&&o.emit("modelShownFloorChange",t,e)})),s.on("error",(function(t){var e,n,c,l;if(!o.destroyed&&a===(null===(n=null===(e=o.work)||void 0===e?void 0:e.model)||void 0===n?void 0:n.file)){s.bounding.makeEmpty();for(var h=0,u=o.work.observers;h<u.length;h++){var d=u[h];s.bounding.expandByPoint(d.standingPosition),s.bounding.expandByPoint((new r.Vector3).fromArray([d.position.x,2*d.position.y-d.standingPosition.y,d.position.z]))}var p=Fg(s.bounding,new r.Vector3(1,0,1));p.visible=!0,p.name="model_empty",s.add(p);var f,m=o.model;m&&(m.show(),f=m.getMaterial()||{},o.scene.remove(m),m.dispose(),s.setTransparent(m.getTransparent())),f&&s.setMaterial(f),o.model=s,o.scene.add(s),null===(c=o.controller)||void 0===c||c.updateModel(s),null===(l=o.renderer)||void 0===l||l.compile(o.scene,o.camera),o.emit("modelLoadError",t,s),o.throwError(t),o.modelPending=!1,i()}})),this.modelPending=!0,s.load(t,this.textureOptions).catch(Pt)},i.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,helper:this.helperGroup,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),model:this.model,work:this.work,imageOptions:this.imageOptions,enableIOSEDR:this._enableIOSEDR,extraElements:this.extraElements,videoTexture:this.videoTexture,networkSubscribe:this.networkSubscribe,requestProxy:this.requestProxy}},i.prototype.saveControllerPose=function(t){void 0===t&&(t=this.controller),t&&Fy(t)&&(this.panoramaLikeSavedPose.longitude=this.camera.pose.longitude,this.panoramaLikeSavedPose.latitude=this.camera.pose.latitude,this.panoramaLikeSavedPose.fov=this.camera.pose.fov)},i.prototype.applyController=function(t,n){var r=this;if(!this.renderer)throw new Error("renderer is not initialized.");var o=ky[t];t===this.currentMode||this.model.empty||this.model.show(),this.model.setTransparent(t===i.Mode.Floorplan||t===i.Mode.Topview||t===i.Mode.Model||t===i.Mode.Mapview),this.currentMode=t;for(var a=new o(n),s=function(t){a.on(t,(function(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var o=r.emit.apply(r,e.__spreadArray([t],i,!1));if(o)return!1}))},c=0,l=zy;c<l.length;c++){s(l[c])}var h=ky[t].initAnimationEndPose(n),u=n.initial[3],d={panoIndex:n.initial[0],mode:t,longitude:h.longitude,latitude:h.latitude,fov:h.fov,offset:h.offset,distance:h.distance};return Wg(this.state,d)||(Qg(this.state,d),this.emit("stateChange",this.state,u)),this.emit("currentStateChange",this.getCurrentState(),u),a.on("cameraUpdate",(function(i,n){var o;if(r.controller){var a=e.__assign(e.__assign({},r.controller.getTargetPose()),{panoIndex:r.panoIndex,mode:t});n&&!1===r.syncingState&&r.state.mode===a.mode&&!Wg(r.state,a)&&(Qg(r.state,a),r.emit("stateChange",r.state,n),null===(o=r.analysis)||void 0===o||o.state(r.work,r.state))}r.emit("currentStateChange",r.getCurrentState(),n)})),a.on("initAnimationWillStart",(function(i,n,o){var a,s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("initAnimationEnded",(function(i,n,o){var a,s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("panoWillArrive",(function(i,n,o){var a;r.panoIndex=i;var s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("panoArrived",(function(i,n,o){var a,s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("moveToPano",(function(t,e){r.emit("currentStateChange",r.getCurrentState(),e)})),a.on("wantsMoveToPano",(function(t,e,i){var n=r.emit("wantsMoveToPano",t,e,i);n||(n=r.emit("wantsToMoveToPano",t,e,i)),n||r.moveToPano(t,e,i)})),a.on("vrWantsToExit",(function(){r.currentMode===i.Mode.VRPanorama&&(r.exitFullscreen(),r.changeMode(i.Mode.Panorama))})),a.on("error",(function(t){return r.throwError(t)})),a},i.prototype.removeEventListeners=function(){},i.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",DepthPanorama:"DepthPanorama",VRPanorama:"VRPanorama"},i.Line=null,i}(It);exports.AnimationFrameLoop=Jt,exports.BVH=Le,exports.BVHIntersect=Ce,exports.BVHNode=Te,exports.BVHVector3=_e,exports.Camera=Se,exports.Five=lA,exports.InternalWebGLRenderer=ge,exports.IntersectMesh=Rg,exports.LegacyPanoCircleMesh=dg,exports.Model=Pm,exports.NetworkSubscribe=Wt,exports.PBMContainer=ae,exports.PBMGroup=se,exports.PBMMaterial=me,exports.PBMMesh=oe,exports.PROXY_CONTROLLER_EVENT_NAMES=zy,exports.PanoCircleMesh=Tg,exports.Scene=ve,exports.Subscribe=It,exports.Tile3D=Cr,exports.Tile3DModel=Sm,exports.TileBoundingSphere=nr,exports.TileCacheNode=ln,exports.TileCullingVolume=Tn,exports.TileOrientedBoundingBox=br,exports.TilePlane=wn,exports.TileRequestScheduler=cn,exports.Tileset3D=Br,exports.Tileset3DTraverser=Pr,exports.TilesetCache=un,exports.Work=Gm,exports.defaultImageURLTransform=ie,exports.getViewportScale=Hy,exports.imageSupport=function(){return re||(re=Promise.all([ne("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),ne("data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA")]).then((function(t){var e=t[0];return{webp:t[1],avif:e}})).catch((function(){return{webp:!1,avif:!1}})))},exports.parseWork=qm;
372
+ * Licensed under the MIT license */var Zg=function(t,e,i,n){var r,o=["","webkit","Moz","MS","ms","o"],a=e.createElement?e.createElement("div"):n,s=Math.round,c=Math.abs,l=Date.now;function h(t,e,i){return setTimeout(v(t,i),e)}function u(t,e,i){return!!Array.isArray(t)&&(d(t,i[e],i),!0)}function d(t,e,i){var r;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==n)for(r=0;r<t.length;)e.call(i,t[r],r,t),r++;else for(r in t)t.hasOwnProperty(r)&&e.call(i,t[r],r,t)}function p(e,i,n){var r="DEPRECATED METHOD: "+i+"\n"+n+" AT \n";return function(){var i=new Error("get-stack-trace"),n=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,r,n),e.apply(this,arguments)}}r="function"!=typeof Object.assign?function(t){if(t===n||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var r=arguments[i];if(r!==n&&null!==r)for(var o in r)r.hasOwnProperty(o)&&(e[o]=r[o])}return e}:Object.assign;var f=p((function(t,e,i){for(var r=Object.keys(e),o=0;o<r.length;)(!i||i&&t[r[o]]===n)&&(t[r[o]]=e[r[o]]),o++;return t}),"extend","Use `assign`."),m=p((function(t,e){return f(t,e,!0)}),"merge","Use `assign`.");function g(t,e,i){var n,o=e.prototype;(n=t.prototype=Object.create(o)).constructor=t,n._super=o,i&&r(n,i)}function v(t,e){return function(){return t.apply(e,arguments)}}function y(t,e){return"function"==typeof t?t.apply(e&&e[0]||n,e):t}function A(t,e){return t===n?e:t}function x(t,e,i){d(E(e),(function(e){t.addEventListener(e,i,!1)}))}function b(t,e,i){d(E(e),(function(e){t.removeEventListener(e,i,!1)}))}function w(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function M(t,e){return t.indexOf(e)>-1}function E(t){return t.trim().split(/\s+/g)}function S(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}function _(t){return Array.prototype.slice.call(t,0)}function T(t,e,i){for(var n=[],r=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];S(r,a)<0&&n.push(t[o]),r[o]=a,o++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}function C(t,e){for(var i,r,a=e[0].toUpperCase()+e.slice(1),s=0;s<o.length;){if((r=(i=o[s])?i+a:e)in t)return r;s++}return n}var I=1;function P(e){var i=e.ownerDocument||e;return i.defaultView||i.parentWindow||t}var R="ontouchstart"in t,B=C(t,"PointerEvent")!==n,L=R&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),D="touch",O="mouse",N=24,k=["x","y"],F=["clientX","clientY"];function z(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){y(t.options.enable,[t])&&i.handler(e)},this.init()}function V(t,e,i){var r=i.pointers.length,o=i.changedPointers.length,a=1&e&&r-o==0,s=12&e&&r-o==0;i.isFirst=!!a,i.isFinal=!!s,a&&(t.session={}),i.eventType=e,function(t,e){var i=t.session,r=e.pointers,o=r.length;i.firstInput||(i.firstInput=H(e));o>1&&!i.firstMultiple?i.firstMultiple=H(e):1===o&&(i.firstMultiple=!1);var a=i.firstInput,s=i.firstMultiple,h=s?s.center:a.center,u=e.center=U(r);e.timeStamp=l(),e.deltaTime=e.timeStamp-a.timeStamp,e.angle=W(h,u),e.distance=Q(h,u),function(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};1!==e.eventType&&4!==o.eventType||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y});e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}(i,e),e.offsetDirection=j(e.deltaX,e.deltaY);var d=G(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=c(d.x)>c(d.y)?d.x:d.y,e.scale=s?function(t,e){return Q(e[0],e[1],F)/Q(t[0],t[1],F)}(s.pointers,r):1,e.rotation=s?function(t,e){return W(e[1],e[0],F)+W(t[1],t[0],F)}(s.pointers,r):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,r,o,a,s=t.lastInterval||e,l=e.timeStamp-s.timeStamp;if(8!=e.eventType&&(l>25||s.velocity===n)){var h=e.deltaX-s.deltaX,u=e.deltaY-s.deltaY,d=G(l,h,u);r=d.x,o=d.y,i=c(d.x)>c(d.y)?d.x:d.y,a=j(h,u),t.lastInterval=e}else i=s.velocity,r=s.velocityX,o=s.velocityY,a=s.direction;e.velocity=i,e.velocityX=r,e.velocityY=o,e.direction=a}(i,e);var p=t.element;w(e.srcEvent.target,p)&&(p=e.srcEvent.target);e.target=p}(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function H(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:s(t.pointers[i].clientX),clientY:s(t.pointers[i].clientY)},i++;return{timeStamp:l(),pointers:e,center:U(e),deltaX:t.deltaX,deltaY:t.deltaY}}function U(t){var e=t.length;if(1===e)return{x:s(t[0].clientX),y:s(t[0].clientY)};for(var i=0,n=0,r=0;r<e;)i+=t[r].clientX,n+=t[r].clientY,r++;return{x:s(i/e),y:s(n/e)}}function G(t,e,i){return{x:e/t||0,y:i/t||0}}function j(t,e){return t===e?1:c(t)>=c(e)?t<0?2:4:e<0?8:16}function Q(t,e,i){i||(i=k);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function W(t,e,i){i||(i=k);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}z.prototype={handler:function(){},init:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(P(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&b(this.element,this.evEl,this.domHandler),this.evTarget&&b(this.target,this.evTarget,this.domHandler),this.evWin&&b(P(this.element),this.evWin,this.domHandler)}};var q={mousedown:1,mousemove:2,mouseup:4},K="mousedown",X="mousemove mouseup";function Y(){this.evEl=K,this.evWin=X,this.pressed=!1,z.apply(this,arguments)}g(Y,z,{handler:function(t){var e=q[t.type];1&e&&(0===t.button||2===t.button)&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:O,srcEvent:t}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},J={2:D,3:"pen",4:O,5:"kinect"},$="pointerdown",tt="pointermove pointerup pointercancel";function et(){this.evEl=$,this.evWin=tt,z.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&($="MSPointerDown",tt="MSPointerMove MSPointerUp MSPointerCancel"),g(et,z,{handler:function(t){var e=this.store,i=!1,n=!1,r=t.type.toLowerCase().replace("ms",""),o=Z[r],a=J[t.pointerType]||t.pointerType,s=a==D,c=S(e,t.pointerId,"pointerId");1&o&&(0===t.button||2===t.button||s)?c<0&&(e.push(t),c=e.length-1):12&o?i=!0:s||0!==t.buttons||(i=!0,n=!0,o=Z.pointerup),c<0||(n||(e[c]=t),this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:a,srcEvent:e[c]}),i&&e.splice(c,1))}});var it={touchstart:1,touchmove:2,touchend:4,touchcancel:8},nt="touchstart",rt="touchstart touchmove touchend touchcancel";function ot(){this.evTarget=nt,this.evWin=rt,this.started=!1,z.apply(this,arguments)}function at(t,e){var i=_(t.touches),n=_(t.changedTouches);return 12&e&&(i=T(i.concat(n),"identifier",!0)),[i,n]}g(ot,z,{handler:function(t){var e=it[t.type];if(1===e&&(this.started=!0),this.started){var i=at.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:D,srcEvent:t})}}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ct="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ct,this.targetIds={},z.apply(this,arguments)}function ht(t,e){var i=_(t.touches),n=this.targetIds;if(3&e&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,o,a=_(t.changedTouches),s=[],c=this.target;if(o=i.filter((function(t){return w(t.target,c)})),1===e)for(r=0;r<o.length;)n[o[r].identifier]=!0,r++;for(r=0;r<a.length;)n[a[r].identifier]&&s.push(a[r]),12&e&&delete n[a[r].identifier],r++;return s.length?[T(o.concat(s),"identifier",!0),s]:void 0}g(lt,z,{handler:function(t){var e=st[t.type],i=ht.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:D,srcEvent:t})}});function ut(){z.apply(this,arguments);var t=v(this.handler,this);this.touch=new lt(this.manager,t),this.mouse=new Y(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function dt(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,pt.call(this,e)):12&t&&pt.call(this,e)}function pt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),2500)}}function ft(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],o=Math.abs(e-r.x),a=Math.abs(i-r.y);if(o<=25&&a<=25)return!0}return!1}g(ut,z,{handler:function(t,e,i){var n=i.pointerType==D,r=i.pointerType==O;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)dt.call(this,e,i);else if(r&&ft.call(this,i))return;this.callback(t,e,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var mt=a?C(a.style,"touchAction"):n,gt=mt!==n,vt="compute",yt="auto",At="manipulation",xt="none",bt="pan-x",wt="pan-y",Mt=function(){if(!gt)return!1;var e={},i=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){e[n]=!i||t.CSS.supports("touch-action",n)})),e}();function Et(t,e){this.manager=t,this.set(e)}Et.prototype={set:function(t){t==vt&&(t=this.compute()),gt&&this.manager.element.style&&Mt[t]&&(this.manager.element.style[mt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return d(this.manager.recognizers,(function(e){y(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(M(t,xt))return xt;var e=M(t,bt),i=M(t,wt);if(e&&i)return xt;if(e||i)return e?bt:wt;if(M(t,At))return At;return yt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,r=M(n,xt)&&!Mt.none,o=M(n,wt)&&!Mt["pan-y"],a=M(n,bt)&&!Mt["pan-x"];if(r){var s=1===t.pointers.length,c=t.distance<2,l=t.deltaTime<250;if(s&&c&&l)return}if(!a||!o)return r||o&&6&i||a&&i&N?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var St=32;function _t(t){this.options=r({},this.defaults,t||{}),this.id=I++,this.manager=null,this.options.enable=A(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Tt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function Ct(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function It(t,e){var i=e.manager;return i?i.get(t):t}function Pt(){_t.apply(this,arguments)}function Rt(){Pt.apply(this,arguments),this.pX=null,this.pY=null}function Bt(){Pt.apply(this,arguments)}function Lt(){_t.apply(this,arguments),this._timer=null,this._input=null}function Dt(){Pt.apply(this,arguments)}function Ot(){Pt.apply(this,arguments)}function Nt(){_t.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function kt(t,e){return(e=e||{}).recognizers=A(e.recognizers,kt.defaults.preset),new Ft(t,e)}_t.prototype={defaults:{},set:function(t){return r(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(u(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=It(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return u(t,"dropRecognizeWith",this)||(t=It(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(u(t,"requireFailure",this))return this;var e=this.requireFail;return-1===S(e,t=It(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(u(t,"dropRequireFailure",this))return this;t=It(t,this);var e=S(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+Tt(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+Tt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=St},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=r({},t);if(!y(this.options.enable,[this,e]))return this.reset(),void(this.state=St);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},g(Pt,_t,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,i=t.eventType,n=6&e,r=this.attrTest(t);return n&&(8&i||!r)?16|e:n||r?4&i?8|e:2&e?4|e:2:St}}),g(Rt,Pt,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(wt),t&N&&e.push(bt),e},directionTest:function(t){var e=this.options,i=!0,n=t.distance,r=t.direction,o=t.deltaX,a=t.deltaY;return r&e.direction||(6&e.direction?(r=0===o?1:o<0?2:4,i=o!=this.pX,n=Math.abs(t.deltaX)):(r=0===a?1:a<0?8:16,i=a!=this.pY,n=Math.abs(t.deltaY))),t.direction=r,i&&n>e.threshold&&r&e.direction},attrTest:function(t){return Pt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Ct(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(Bt,Pt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(Lt,_t,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!n||!i||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=h((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return St},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=l(),this.manager.emit(this.options.event,this._input)))}}),g(Dt,Pt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(Ot,Pt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Rt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return 30&i?e=t.overallVelocity:6&i?e=t.overallVelocityX:i&N&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&c(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Ct(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(Nt,_t,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[At]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=t.eventType)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||Q(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=h((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return St},failTimeout:function(){return this._timer=h((function(){this.state=St}),this.options.interval,this),St},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),kt.VERSION="2.0.7",kt.defaults={domEvents:!1,touchAction:vt,enable:!0,inputTarget:null,inputClass:null,preset:[[Dt,{enable:!1}],[Bt,{enable:!1},["rotate"]],[Ot,{direction:6}],[Rt,{direction:6},["swipe"]],[Nt],[Nt,{event:"doubletap",taps:2},["tap"]],[Lt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Ft(t,e){var i;this.options=r({},kt.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(B?et:L?lt:R?ut:Y))(i,V),this.touchAction=new Et(this,this.options.touchAction),zt(this,!0),d(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function zt(t,e){var i,n=t.element;n.style&&(d(t.options.cssProps,(function(r,o){i=C(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}return Ft.prototype={set:function(t){return r(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,r=e.curRecognizer;(!r||r&&8&r.state)&&(r=e.curRecognizer=null);for(var o=0;o<n.length;)i=n[o],2===e.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(t),!r&&14&i.state&&(r=e.curRecognizer=i),o++}},get:function(t){if(t instanceof _t)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event==t)return e[i];return null},add:function(t){if(u(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(u(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,i=S(e,t);-1!==i&&(e.splice(i,1),this.touchAction.update())}return this},on:function(t,e){if(t!==n&&e!==n){var i=this.handlers;return d(E(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this}},off:function(t,e){if(t!==n){var i=this.handlers;return d(E(t),(function(t){e?i[t]&&i[t].splice(S(i[t],e),1):delete i[t]})),this}},emit:function(t,i){this.options.domEvents&&function(t,i){var n=e.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=i,i.target.dispatchEvent(n)}(t,i);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){i.type=t,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](i),r++}},destroy:function(){this.element&&zt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},r(kt,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:St,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:N,DIRECTION_ALL:30,Manager:Ft,Input:z,TouchAction:Et,TouchInput:lt,MouseInput:Y,PointerEventInput:et,TouchMouseInput:ut,SingleTouchInput:ot,Recognizer:_t,AttrRecognizer:Pt,Tap:Nt,Pan:Rt,Swipe:Ot,Pinch:Bt,Rotate:Dt,Press:Lt,on:x,off:b,each:d,merge:m,extend:f,assign:r,inherit:g,bindFn:v,prefixed:C}),kt}("undefined"!=typeof window?window:{},"undefined"!=typeof document?document:{});function Jg(t,e,i){var n=e.offsetWidth,o=e.offsetHeight,a=e.getBoundingClientRect(),s=a.top,c=a.left;return i&&(c+=n*i.left,s+=o*(1-i.bottom-i.height),n*=i.width,o*=i.height),new r.Vector2((t.x-c)/n*2-1,-(t.y-s)/o*2+1)}var $g=new r.OrthographicCamera(-1,1,1,-1,0,1),tv=new r.BufferGeometry;tv.setAttribute("position",new r.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),tv.setAttribute("uv",new r.Float32BufferAttribute([0,2,0,0,2,0],2));var ev=new r.Mesh(tv),iv=new r.Scene;iv.add(ev);var nv=function(){function t(t,e){var i;this.renderer=t,this.material=new r.ShaderMaterial({vertexShader:null!==(i=e.vertex)&&void 0!==i?i:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:e.fragment,uniforms:Object.assign({inputBuffer:new r.Uniform(null)},e.uniforms),defines:Object.assign({},e.defines),blending:r.NoBlending,depthWrite:!1,depthTest:!1})}return t.prototype.render=function(t,e){var i=this.renderer.getRenderTarget(),n=ev.material;this.material.uniforms.inputBuffer.value=t.texture,ev.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(iv,$g),this.renderer.setRenderTarget(i),ev.material=n},t.prototype.dispose=function(){this.material.dispose()},t}(),rv=function(){function t(t){this.renderer=t,this.material=new r.ShaderMaterial({vertexShader:"\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform vec3 inputValue;\nvoid main() {\n gl_FragColor = vec4(inputValue, 1.0);\n}\n",uniforms:Object.assign({inputValue:new r.Uniform(new r.Vector3)}),blending:r.NoBlending,depthWrite:!1,depthTest:!1})}return t.prototype.render=function(t,e){var i=this.renderer.getRenderTarget(),n=ev.material;this.material.uniforms.inputValue.value.copy(t),ev.material=this.material,this.renderer.setRenderTarget(e||null),this.renderer.render(iv,$g),this.renderer.setRenderTarget(i),ev.material=n},t.prototype.dispose=function(){this.material.dispose()},t}(),ov=function(t){function i(e){return t.call(this,e,{fragment:"\nuniform sampler2D inputBuffer;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(inputBuffer, vUv);\n}\n"})||this}return e.__extends(i,t),i}(nv),av=function(){function t(t){this.enable=!0,this.renderer=t,this.copyPass=new ov(this.renderer)}return t.prototype.render=function(t,e){this.copyPass.render(t,e)},t.prototype.dispose=function(){this.copyPass.dispose()},t}(),sv=function(t){function i(e){var n,r=this;r=t.call(this)||this;var o=i.parseArgs(e);return r.pending=!0,r.userAction=o.initial[3],r.destroyed=!1,r.ident=o.ident,r.scene=o.scene,r.helper=o.helper,r.camera=o.camera,r.renderer=o.renderer,r.scissor=o.scissor,r.element=o.element,r.model=o.model,r.enableIOSEDR=null!==(n=o.enableIOSEDR)&&void 0!==n&&n,r.work=o.work,r.imageOptions=o.imageOptions,r.videoTexture=o.videoTexture,r.networkSubscribe=o.networkSubscribe,r.requestProxy=o.requestProxy,r.needsRender=!0,r.maxFov=120,r.minFov=40,r.maxLatitude=+Math.PI/2,r.minLatitude=-Math.PI/2,r.cameraMotion=new Zm({longitude:{value:r.camera.pose.longitude,circle:[0,2*Math.PI]},latitude:r.camera.pose.latitude,fov:r.camera.pose.fov}),r.eventUnbinds=[o.element].concat(o.extraElements||[]).map((function(t){return r.bindEvents(t)})),Jt.shared.add((function(){return r.initAnimation.apply(r,o.initial)}),!0),r}return e.__extends(i,t),i.parseArgs=function(t){return e.__assign({},t)},i.initAnimationEndState=function(t){var e=this.parseArgs(t);return{longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance}},i.prototype.destroy=function(){var t;this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var e=0,i=this.eventUnbinds;e<i.length;e++){(0,i[e])()}this.effect&&(this.effect.dispose(),delete this.effect),delete this.panState,null===(t=this.pressState)||void 0===t||t.stop(),delete this.pressState},i.prototype.isReady=function(){return!1===this.pending&&!0===this.cameraMotion.ended},i.prototype.bindExtraElement=function(t){for(var e=0,i=this.eventUnbinds;e<i.length;e++){if(i[e].element===t)return}this.eventUnbinds.push(this.bindEvents(t))},i.prototype.unbindExtraElement=function(t){for(var e=[],i=0,n=this.eventUnbinds;i<n.length;i++){var r=n[i];r.element===t?r():e.push(r)}this.eventUnbinds=e},i.prototype.updateRenderSize=function(){this.needsRender=!0},i.prototype.updateModel=function(t){this.model=t,this.needsRender=!0},i.prototype.updateWork=function(t,e,i,n,r){return this.work=t,this.userAction=r,!1},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={};this.cameraMotion.ended&&(this.cameraMotion.update(t),i.longitude=this.cameraMotion.value.longitude,i.latitude=this.cameraMotion.value.latitude,i.fov=this.cameraMotion.value.fov),Xg(i)&&this.setCamera(i)}},i.prototype.render=function(){this.renderer.render(this.scene,this.camera)},i.prototype.postProcessing=function(t,e){this.destroyed||(this.effect||(this.effect=new av(this.renderer)),this.effect.render(t,e))},i.prototype.updateCamera=function(t,e,i){return this.userAction=i,this.cameraMotion.set(t,e)},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance}},i.prototype.moveToPano=function(t,e,i){void 0===e&&(e={}),this.userAction=i;var n={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};e.moveStartCallback&&e.moveStartCallback(t,n),this.emit("moveToPano",t,this.userAction),this.emit("panoWillArrive",t,n,this.userAction),this.emit("panoArrived",t,n,this.userAction),e.moveEndCallback&&e.moveEndCallback(t,n)},i.prototype.initAnimation=function(t,e,i,n){this.pending=!1,this.userAction=n},i.prototype.setCamera=function(t){var e,i,n,r,o;void 0===t&&(t={});var a=null!==(e=t.longitude)&&void 0!==e?e:this.camera.pose.longitude,s=null!==(i=t.latitude)&&void 0!==i?i:this.camera.pose.latitude,c=null!==(n=t.fov)&&void 0!==n?n:this.camera.pose.fov,l=null!==(r=t.distance)&&void 0!==r?r:this.camera.pose.distance,h=null!==(o=t.offset)&&void 0!==o?o:this.camera.pose.offset,u=this.camera.position.clone(),d=Lg(a,this.camera.pose.longitude,2*Math.PI)||Lg(s,this.camera.pose.latitude),p=Lg(c,this.camera.pose.fov),f=Lg(l,this.camera.pose.distance),m=Og(h,this.camera.pose.offset);this.camera.setFromPose({longitude:a,latitude:s,fov:c,distance:l,offset:h});var g=Og(u,this.camera.position);p&&this.emit("cameraFovUpdate",c,this.userAction),d&&this.emit("cameraDirectionUpdate",{longitude:a,latitude:s},this.userAction),g&&this.emit("cameraPositionUpdate",this.camera.position.clone(),this.userAction),(p||d||m||f)&&this.emit("cameraUpdate",{longitude:a,latitude:s,fov:c,offset:h,distance:l},this.userAction),this.needsRender=!0,(De||0!==Ne.length)&&(De&&clearTimeout(De),De=window.setTimeout(Fe,200))},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));this.emit("wantsGesture","pan",n,t.isFinal)||this.emit("gesture","pan",n,t.isFinal)}},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));this.emit("wantsGesture","tap",e,!0)||this.emit("gesture","tap",e,!0)},i.prototype.onPressGesture=function(t,e){var i,n=[t];if(this.emit("wantsGesture","press",n,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;this.emit("gesture","press",n,e)},i.prototype.onPinchGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));this.emit("wantsGesture","pinch",e,t.isFinal)||this.emit("gesture","pinch",e,t.isFinal)},i.prototype.onMouseWheel=function(t){var e=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,i=[{x:t.clientX,y:t.clientY,delta:e}];this.emit("wantsGesture","mouseWheel",i,!1)||this.emit("gesture","mouseWheel",i,!1)},i.prototype.onMouseMove=function(t){},i.prototype.onMouseOut=function(){},i.prototype.relativeClientPosition=function(t){return Jg(t,this.element,this.scissor)},i.prototype.bindEvents=function(t){var e=this,i=function(t){var i=Jg(t,e.element,e.scissor);return!(Math.abs(i.x)>1||Math.abs(i.y)>1)},n=new Zg.Manager(t),r=function(t){return t.session.firstInput||null};n.add(new Zg.Pan({threshold:10,pointers:0})),n.add(new Zg.Tap({interval:410})),n.add(new Zg.Pinch({threshold:0,pointers:2})),n.on("panstart pan",(function(t){var o=r(n);o&&!i(o.center)||(e.onPanGesture(t),u())})),n.on("tap",(function(t){if("mouse"!==t.pointerType||0===t.srcEvent.button){var o=r(n);o&&!i(o.center)||(e.onTapGesture(t),u())}})),n.on("pinchstart pinch pinchend",(function(t){var o=r(n);o&&!i(o.center)||(e.onPinchGesture(t),u())}));var o=function(t){var n={x:t.clientX,y:t.clientY};i(n)&&(e.onMouseWheel(t),u())},a=function(t){if(!jg()){var n={x:t.clientX,y:t.clientY};i(n)?(e.onMouseMove(t),e.pressState&&Math.abs(t.clientX-e.pressState.x)>10&&Math.abs(t.clientY-e.pressState.y)>10&&u()):e.onMouseOut()}},s=function(){e.onMouseOut(),u()},c=function(t,n){if(i(t)){e.pressState={x:t.x,y:t.y,time:e.pressState?e.pressState.time:n,stop:Pt};var r=n-e.pressState.time;e.onPressGesture({x:t.x,y:t.y,delta:r},!1),e.pressState&&(e.pressState.stop=Jt.shared.add((function(e){return c({x:t.x,y:t.y},e)}),!0,1))}else u()},l=function(t){u(),t.touches.length>1||t.changedTouches.length<=0||c({x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY},Bt())},h=function(t){u(),c({x:t.clientX,y:t.clientY},Bt())},u=function(){var t;if(e.pressState){var i=Bt()-e.pressState.time;e.onPressGesture({x:e.pressState.x,y:e.pressState.y,delta:i},!0),null===(t=e.pressState)||void 0===t||t.stop(),delete e.pressState}},d=function(e){if(e&&"function"==typeof e.preventDefault&&e.currentTarget===t&&e.preventDefault(),"function"==typeof getSelection){var i=getSelection();i&&i.focusNode&&(i.removeAllRanges&&i.removeAllRanges(),i.empty&&i.empty())}};t.addEventListener("wheel",o,!1),t.addEventListener("mousemove",a,!1),t.addEventListener("mouseout",s,!1),t.addEventListener("touchstart",l,!1),t.addEventListener("touchend",u,!1),t.addEventListener("touchcancel",u,!1),t.addEventListener("mousedown",h,!1),t.addEventListener("mouseup",u,!1),t.addEventListener("touchstart",d,!1),t.addEventListener("contextmenu",d,!1);return Object.assign((function(){n.destroy(),t.removeEventListener("wheel",o,!1),t.removeEventListener("mousemove",a,!1),t.removeEventListener("mouseout",s,!1),t.removeEventListener("touchstart",l,!1),t.removeEventListener("touchend",u,!1),t.removeEventListener("touchcancel",u,!1),t.removeEventListener("mousedown",h,!1),t.removeEventListener("mouseup",u,!1),t.removeEventListener("touchstart",d,!1),t.removeEventListener("contextmenu",d,!1)}),{element:t})},i}(It),cv=function(t){function i(e){var n,r,o,a,s=this,c=i.parseArgs(e);return(s=t.call(this,c)||this).defaultLongitude=c.defaultLongitude,s.defaultLatitude=c.defaultLatitude,s.defaultFov=c.defaultFov,s.maxFov=c.maxFov,s.minFov=c.minFov,s.maxLatitude=c.maxLatitude,s.minLatitude=c.minLatitude,s.locationMotion=new Zm({x:s.camera.pose.offset.x,y:s.camera.pose.offset.y,z:s.camera.pose.offset.z,distance:s.camera.pose.distance,modelAlpha:null!==(r=null===(n=s.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(a=null===(o=s.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==a?a:0}),s}return e.__extends(i,t),i.distanceFromModel=function(t,e,i){var n=t.bounding,r=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=r/2/Math.tan(Math.PI*e/360);return i<1&&(o/=i),isNaN(o)?r:o},i.parseArgs=function(i){var n,r,o,a,s,c,l,h=t.parseArgs.call(this,i);return e.__assign(e.__assign({},h),{defaultLongitude:null!==(n=i.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(r=i.defaultLatitude)&&void 0!==r?r:Math.PI/4,defaultFov:null!==(o=i.defaultFov)&&void 0!==o?o:80,maxFov:null!==(a=i.maxFov)&&void 0!==a?a:120,minFov:null!==(s=i.minFov)&&void 0!==s?s:40,maxLatitude:null!==(c=i.maxLatitude)&&void 0!==c?c:+Math.PI/2,minLatitude:null!==(l=i.minLatitude)&&void 0!==l?l:-Math.PI/2})},i.initAnimationEndPose=function(t){var e,n,o,a=this.parseArgs(t),s=t.initial[1];return{longitude:null!==(e=s.longitude)&&void 0!==e?e:a.defaultLongitude,latitude:Rm(null!==(n=s.latitude)&&void 0!==n?n:a.defaultLatitude,a.minLatitude,a.maxLatitude),fov:null!==(o=s.fov)&&void 0!==o?o:a.defaultFov,offset:t.model.bounding.getCenter(new r.Vector3),distance:i.distanceFromModel(a.model,a.defaultFov,a.camera.aspect)}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.locationMotion.dispose(),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),delete this.mouseWheelState,delete this.panState},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){return this.work=t,this.updateCamera(i,null!=n?n:0,r),!0},i.prototype.updateModel=function(e){t.prototype.updateModel.call(this,e);var n=e.bounding.getCenter(new r.Vector3),o=i.distanceFromModel(e,this.defaultFov,this.camera.aspect);this.locationMotion.set({x:n.x,y:n.y,z:n.z,distance:o},0).catch(Pt)},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={},n={};this.locationMotion.ended||(this.locationMotion.update(t),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),n.distance=this.locationMotion.value.distance,n.offset=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(t),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),Xg(i)||this.model.setMaterial(i),Xg(n)||this.setCamera(n)}},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:new r.Vector3(e.value.x,e.value.y,e.value.z),distance:e.value.distance}},i.prototype.initAnimation=function(t,e,n,o){var a,s,c,l=this;if(!this.destroyed){this.pending=!1,this.userAction=o;var h={longitude:null!==(a=e.longitude)&&void 0!==a?a:this.defaultLongitude,latitude:Rm(null!==(s=e.latitude)&&void 0!==s?s:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(c=e.fov)&&void 0!==c?c:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3),distance:i.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},u=Xe(h,["longitude","latitude","fov"]),d={x:h.offset.x,y:h.offset.y,z:h.offset.z,distance:h.distance,modelAlpha:1,perspToOrtho:0};this.emit("initAnimationWillStart",t,h,this.userAction),this.cameraMotion.set(u,n).catch(Pt),this.locationMotion.set(d,n).then((function(){l.emit("initAnimationEnded",t,h,l.userAction)}),(function(e){var i=Yg(l.camera.pose);l.emit("initAnimationEnded",t,i,l.userAction)}))}},i.prototype.updateRenderSize=function(){this.locationMotion.set({distance:i.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},0)},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this.work.observers.filter((function(t){return t.active})),i=this.model.intersectRaycaster(t)[0];if(!i)return null;var n=Kg(e,(function(t){return t.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesForOffset=function(t){var e=this.renderer.getSize(new r.Vector2);return{longitude:2*t.x/(e.x*this.scissor.width),latitude:2*t.y/(e.y*this.scissor.height)}},i.prototype.requestInteriaMovement=function(t,i){var n=this;if(!1!==this.interiaMovement){for(var r=e.__assign({},t),o={longitude:0,latitude:0},a=0;a<i;a++)r.longitude*=.996,r.latitude*=.994008,o.longitude+=r.longitude,o.latitude+=r.latitude;var s=Vg(this.cameraMotion.value.longitude+o.longitude),c=Rm(this.cameraMotion.value.latitude+o.latitude,this.minLatitude,this.maxLatitude),l={longitude:s,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};this.cameraMotion.set({longitude:s,latitude:c},0).catch(Pt);var h=r.longitude>1e-4||r.longitude<-1e-4||r.latitude>1e-4||r.latitude<-1e-4;this.emit("interiaPan",l,!h),h?Jt.shared.add((function(t,e){n.requestInteriaMovement(r,0|e)}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal)){var r={x:t.center.x-e.x,y:t.center.y-e.y},o=this.relativeClientPosition(t.center),a=this.camera.pose.latitude<Math.PI/6||o.y<0?-1:1;r.x*=a;var s=this.coordinatesForOffset(r),c=Vg(this.cameraMotion.value.longitude+s.longitude),l=Rm(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(t.overallVelocityX)>.2&&Math.atan2(Math.abs(t.overallVelocityY),Math.abs(t.overallVelocityX))<Math.PI/6.923&&(l=this.cameraMotion.value.latitude);var h={longitude:c,latitude:l,fov:this.camera.pose.fov,offset:this.camera.pose.offset,distance:this.camera.pose.distance};if(!this.emit("wantsPanGesture",h,t.isFinal))if(this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",h,t.isFinal),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({longitude:h.longitude,latitude:h.latitude},0).catch(Pt),t.isFinal)if(!this.emit("wantsInteriaPan",h)){this.interiaMovement=!0;var u=t.velocityX*a,d=t.velocityY;this.requestInteriaMovement(this.coordinatesForOffset({x:u,y:d}),0)}}}},i.prototype.onPinchGesture=function(t){var e,i=null===(e=this.pinchState)||void 0===e?void 0:e.fov,n=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(n=!0,delete this.panState,delete this.pinchState),void 0!==i){var r=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",r,n)){var o=Rm(i/t.scale,this.minFov,this.maxFov);this.emit("wantsPinchGesture",t.scale,o,n)||this.emit("wantsChangeCameraFov",o)||(this.emit("gesture","pinch",r,n),this.emit("pinchGesture",t.scale,o,n),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:o},0).catch(Pt),this.onPanGesture(t))}}}else this.pinchState={fov:this.cameraMotion.value.fov}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=this.minFov,o=this.maxFov,a=Rm(this.camera.fov-i,r,o);this.emit("wantsMouseWheel",i,a,!1)||this.emit("wantsChangeCameraFov",a)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,a,!1),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:a},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,a,!0)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,a,!0))}),200)})}},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",e,!0)){var i=this.relativeClientPosition(t.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i,!0)){this.emit("gesture","tap",e,!0),this.emit("tapGesture",n,i,!0),this.interiaMovement=!1;var o=this.getForwardPanoIndexOrNot(n);if(!_m(o)){this.emit("panoSelected",o);var a={longitude:this.camera.pose.longitude,latitude:0};this.emit("wantsMoveToPano",o,a,!0)}}}},i.prototype.onPressGesture=function(t,e){var i,n,o=[t];if(this.emit("wantsGesture","press",o,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;var a=this.relativeClientPosition(t),s=new r.Raycaster;if(s.setFromCamera(a,this.camera),this.emit("wantsPressGesture",s,a,t.delta,e))return null===(n=this.pressState)||void 0===n||n.stop(),void delete this.pressState;this.emit("gesture","press",o,e),this.emit("pressGesture",s,a,t.delta,e)},i}(sv);var lv=function(t){function i(e){var n=i.parseArgs(e);return t.call(this,n)||this}return e.__extends(i,t),i.parseArgs=function(i){var n=[i.initial[0],e.__assign(e.__assign({},i.initial[1]),{longitude:0,latitude:Math.PI/2}),i.initial[2],i.initial[3]],r=e.__assign(e.__assign({},i),{initial:n,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return t.parseArgs.call(this,r)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.updateModel=function(t){this.model=t,this.needsRender=!0;var e=t.bounding.getCenter(new r.Vector3);this.locationMotion.set({x:e.x,y:e.y,z:e.z,distance:cv.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},0).catch(Pt)},i.prototype.initAnimation=function(t,e,i,n){var o,a=this;if(!this.destroyed){this.pending=!1,this.userAction=n;var s={longitude:0,latitude:Math.PI/2,fov:Rm(null!==(o=e.fov)&&void 0!==o?o:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3),distance:cv.distanceFromModel(this.model,this.defaultFov,this.camera.aspect)},c=Xe(s,["longitude","latitude","fov"]),l={x:s.offset.x,y:s.offset.y,z:s.offset.z,distance:s.distance,modelAlpha:1,perspToOrtho:1};this.cameraMotion.set(c,i).catch(Pt),this.locationMotion.set(l,i).then((function(){a.emit("initAnimationEnded",t,s,a.userAction)}),(function(e){var i=Yg(a.camera.pose);a.emit("initAnimationEnded",t,i,a.userAction)}))}},i.prototype.getZoomOffsetFromFov=function(t,e,i){var n=new r.Vector3(0,-1,0),o=Math.tan(i/2*Math.PI/180),a=Math.tan(e.fov/2*Math.PI/180),s=(a-o)/a,c=new r.Raycaster;c.setFromCamera(t,e);var l=c.ray.direction,h=l.angleTo(n),u=cv.distanceFromModel(this.model,this.defaultFov,this.camera.aspect),d=u*Math.tan(h),p=l.clone().setLength(u*Math.cos(h)).projectOnPlane(n),f=p.length(),m=s/f*p.x*d,g=s/f*p.z*d;return new r.Vector3(m,0,g)},i.prototype.requestInteriaMovement=function(t,e){},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal)){var o=t.center.x-e.x,a=t.center.y-e.y,s=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),c=this.model.bounding,l=c.getCenter(new r.Vector3),h=(c.max.x-c.min.x)/this.defaultFov*this.cameraMotion.value.fov,u=(c.max.y,c.min.y,this.defaultFov,this.cameraMotion.value.fov,(c.max.z-c.min.z)/this.defaultFov*this.cameraMotion.value.fov),d=(this.camera.position.y-c.min.y)*Math.tan(this.camera.fov/2*Math.PI/180),p=this.renderer.getSize(new r.Vector2);s.add(function(t,e){var i=new r.Vector3;return i.setFromMatrixColumn(e,0),i.multiplyScalar(-t),i}(2*o*d/p.y,this.camera.matrix)),s.add(function(t,e,i){var n=new r.Vector3;return n.setFromMatrixColumn(i,0),n.crossVectors(e,n),n.multiplyScalar(t),n}(2*a*d/p.y,this.camera.up,this.camera.matrix)),s.x=Rm(s.x,l.x-h,l.x+h),s.z=Rm(s.z,l.z-u,l.z+u),s.y=l.y;var f={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:s,distance:this.locationMotion.value.distance};this.emit("wantsPanGesture",f,t.isFinal)||(this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",f,t.isFinal),this.userAction=!0,this.locationMotion.set({x:s.x,y:s.y,z:s.z},0).catch(Pt))}}},i.prototype.onPinchGesture=function(t){var e,i=null===(e=this.pinchState)||void 0===e?void 0:e.fov,n=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(n=!0,delete this.pinchState),void 0!==i){var r=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",r,n)){var o=Rm(i/t.scale,this.minFov,this.maxFov),a=this.relativeClientPosition({x:t.center.x,y:t.center.y}),s=this.getZoomOffsetFromFov(a,this.camera,o),c=this.camera.pose.offset.clone().add(s);this.emit("wantsPinchGesture",t.scale,o,n)||this.emit("wantsChangeCameraFov",o)||(this.emit("gesture","pinch",r,n),this.emit("pinchGesture",t.scale,o,n),this.userAction=!0,this.locationMotion.set({x:c.x,y:c.y,z:c.z},0).catch(Pt),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:o},0).catch(Pt),this.onPanGesture(t))}}}else this.pinchState={fov:this.cameraMotion.value.fov}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=Rm(this.cameraMotion.value.fov-i,this.minFov,this.maxFov),o=this.relativeClientPosition({x:t.clientX,y:t.clientY}),a=this.getZoomOffsetFromFov(o,this.camera,r),s=this.camera.pose.offset.clone().add(a);this.emit("wantsMouseWheel",i,r,!1)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,r,!1),this.userAction=!0,this.locationMotion.set({x:s.x,y:s.y,z:s.z},0).catch(Pt),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:r},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,r,!0)||e.emit("wantsChangeCameraFov",r)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,r,!0))}),200)})}},i}(cv);function hv(t,e){void 0===e&&(e=!1);var i=typeof t;if("string"===i)return JSON.stringify(t);if(!0===t)return"true";if(!1===t)return"false";if(null===t)return"null";if(t instanceof Array){for(var n="[",r=t.length-1,o=0;o<r;o++)n+=hv(t[o],!1)+",";return r>-1&&(n+=hv(t[o],!1)),n+"]"}if(t instanceof Object){if("function"==typeof t.toJSON)return hv(t.toJSON(),e);var a=Object.keys(t).sort(),s=a.length;for(n="",o=0;o<s;){var c=a[o],l=hv(t[c],!0);void 0!==l&&(o&&""!==n&&(n+=","),n+=JSON.stringify(c)+":"+l),o++}return"{"+n+"}"}switch(i){case"function":case"undefined":return e?void 0:null;case"number":return t;default:return isFinite(t)?t:null}}function uv(t){return bt(String(hv(t,!1)))}var dv,pv=function(t){function i(e){var n=this,r=i.parseArgs(e);return(n=t.call(this,r)||this).defaultLongitude=r.defaultLongitude,n.defaultLatitude=r.defaultLongitude,n.defaultFov=r.defaultFov,n.maxFov=r.maxFov,n.minFov=r.minFov,n.maxLatitude=r.maxLatitude,n.minLatitude=r.minLatitude,n.moveSpeed=r.moveSpeed,n.intersectMeshCreator=r.intersectMeshCreator,n.interiaMovement=!1,n.intersectMesh=n.intersectMeshCreator(),n.intersectMesh.name="intersect",n.intersectMesh.visible=!1,n.helper.add(n.intersectMesh),n}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a,s,c,l,h,u,d=t.parseArgs.call(this,i);return e.__assign(e.__assign({},d),{defaultLongitude:null!==(n=i.defaultLongitude)&&void 0!==n?n:0,defaultLatitude:null!==(r=i.defaultLatitude)&&void 0!==r?r:0,defaultFov:null!==(o=i.defaultFov)&&void 0!==o?o:90,maxFov:null!==(a=i.maxFov)&&void 0!==a?a:120,minFov:null!==(s=i.minFov)&&void 0!==s?s:40,maxLatitude:null!==(c=i.maxLatitude)&&void 0!==c?c:+Math.PI/2,minLatitude:null!==(l=i.minLatitude)&&void 0!==l?l:-Math.PI/2,moveSpeed:null!==(h=i.moveSpeed)&&void 0!==h?h:3.2,intersectMeshCreator:null!==(u=i.intersectMeshCreator)&&void 0!==u?u:function(){return new Rg}})},i.initAnimationEndPose=function(t){var e,i,n,r=this.parseArgs(t),o=t.initial,a=o[0],s=o[1];return{longitude:null!==(e=s.longitude)&&void 0!==e?e:r.defaultLongitude,latitude:Rm(null!==(i=s.latitude)&&void 0!==i?i:r.defaultLatitude,r.minLatitude,r.maxLatitude),fov:Rm(null!==(n=s.fov)&&void 0!==n?n:r.defaultFov,r.minFov,r.maxFov),offset:r.work.observers[a].position.clone(),distance:0}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.interiaMovement=!1,this.intersectMesh&&(this.helper.remove(this.intersectMesh),this.intersectMesh.dispose()),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),delete this.mouseWheelState,delete this.mouseMoveState,delete this.panState},i.prototype.isReady=function(){return!this.interiaMovement&&(!this.panState&&(!this.pinchState&&(!this.mouseWheelState&&t.prototype.isReady.call(this))))},i.prototype.calculateMovingDuration=function(t,e){switch(typeof t){case"function":return t(e,this.moveSpeed);case"number":return t;case"string":return Number(t);default:return Rm(e,1,3)/this.moveSpeed*1e3}},i.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.emit("intersectionHidden"),this.needsRender=!0},i.prototype.coordinatesForOffset=function(t){var e=this.cameraMotion.value.fov,i=this.camera.aspect,n=this.renderer.getSize(new r.Vector2);return{longitude:2*t.x/(n.x*this.scissor.width)*e/95*i,latitude:-2*t.y/(n.y*this.scissor.height)*e/95}},i.prototype.cameraBounce=function(){var t=this.cameraMotion.value,e=t.longitude,i=t.latitude,n=t.fov,r=[{progress:0,value:{longitude:e,latitude:i,fov:n}},{progress:.5,value:{longitude:e,latitude:i,fov:.98*n}},{progress:1,value:{longitude:e,latitude:i,fov:n}}];this.cameraMotion.setKeyframes(r,500).catch(Pt)},i.prototype.requestInteriaMovement=function(t,i){var n=this;if(!1!==this.interiaMovement){for(var r=e.__assign({},t),o={longitude:0,latitude:0},a=0;a<i;a++)r.longitude*=.996,r.latitude*=.98604,o.longitude+=r.longitude,o.latitude+=r.latitude;var s=Vg(this.cameraMotion.value.longitude+o.longitude),c=Rm(this.cameraMotion.value.latitude+o.latitude,this.minLatitude,this.maxLatitude),l={longitude:s,latitude:c,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};this.cameraMotion.set({longitude:s,latitude:c},0).catch(Pt);var h=r.longitude>1e-4||r.longitude<-1e-4||r.latitude>1e-4||r.latitude<-1e-4;this.emit("interiaPan",l,!h),h?Jt.shared.add((function(t,e){n.requestInteriaMovement(r,0|e)}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal)){var r={x:t.center.x-e.x,y:t.center.y-e.y},o=this.coordinatesForOffset(r),a=Vg(this.cameraMotion.value.longitude+o.longitude),s=Rm(this.cameraMotion.value.latitude+o.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(t.overallVelocityX)>.2&&Math.atan2(Math.abs(t.overallVelocityY),Math.abs(t.overallVelocityX))<Math.PI/6.923&&(s=this.cameraMotion.value.latitude);var c={longitude:a,latitude:s,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};if(!this.emit("wantsPanGesture",c,t.isFinal)){this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",c,t.isFinal),this.userAction=!0,this.interiaMovement=!1,this.hideIntersectMesh();var l={longitude:c.longitude,latitude:c.latitude,fov:c.fov};if(this.cameraMotion.set(l,0).catch(Pt),t.isFinal)if(!this.emit("wantsInteriaPan",c)){this.interiaMovement=!0;var h=t.velocityX,u=.6*t.velocityY;Math.abs(u)>.5&&Math.abs(h)<.5&&(h=0),this.requestInteriaMovement(this.coordinatesForOffset({x:h,y:u}),0)}}}}},i.prototype.onPinchGesture=function(t){var e,i=null===(e=this.pinchState)||void 0===e?void 0:e.fov,n=t.scale,r=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(r=!0,delete this.pinchState),void 0!==i){var o=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",o,r)){var a=Rm(i/n,this.minFov,this.maxFov);this.emit("wantsPinchGesture",n,a,r)||this.emit("wantsChangeCameraFov",a)||(this.emit("gesture","pinch",o,r),this.emit("pinchGesture",n,a,r),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:a},0).catch(Pt),this.onPanGesture(t))}}}else this.pinchState={fov:this.cameraMotion.value.fov}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=Rm(this.cameraMotion.value.fov-i,this.minFov,this.maxFov);this.emit("wantsMouseWheel",i,r,!1)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,r,!1),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:r},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,r,!0)||e.emit("wantsChangeCameraFov",r)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,r,!0))}),200)})}},i.prototype.onMouseMove=function(t){if(this.intersectMesh.parent&&!this.model.empty&&this.model.bvhs&&!0===this.model.bvhs.loaded&&!this.panState){var e=this.relativeClientPosition({x:t.clientX,y:t.clientY}),i=new r.Raycaster;if(i.setFromCamera(e,this.camera),this.emit("wantsShowIntersectionOnModel",i))this.hideIntersectMesh();else{var n=this.model.intersectRaycaster(i)[0];if(n&&n.face){var o=n.face.normal,a=o.clone().multiplyScalar(.05),s=n.point.clone().add(a);this.intersectMesh.position.copy(s);var c=s.clone().add(a);if(this.intersectMesh.lookAt(c),Math.abs(o.y)>.99){var l=this.camera.position.clone().sub(s);this.intersectMesh.rotation.z=-Math.atan2(l.z,l.x)}this.intersectMesh.visible=!0,this.needsRender=!0,this.emit("intersectionOnModelUpdate",n,this.intersectMesh)}else this.hideIntersectMesh();this.mouseMoveState={clientX:t.clientX,clientY:t.clientY}}}},i.prototype.onMouseOut=function(){this.intersectMesh.parent&&!0===this.intersectMesh.visible&&this.hideIntersectMesh()},i.prototype.onPressGesture=function(t,e){var i,n,o=[t];if(this.emit("wantsGesture","press",o,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;var a=this.relativeClientPosition(t),s=new r.Raycaster;if(s.setFromCamera(a,this.camera),this.emit("wantsPressGesture",s,a,t.delta,e))return null===(n=this.pressState)||void 0===n||n.stop(),void delete this.pressState;this.emit("gesture","press",o,e),this.emit("pressGesture",s,a,t.delta,e)},i}(sv);var fv,mv=function(t){function i(e,i){return void 0===i&&(i=.5),t.call(this,e,{uniforms:{inputBuffer:new r.Uniform(null),scale:new r.Uniform(i)},fragment:"\n#include <common>\nuniform sampler2D inputBuffer;\nuniform float scale;\nvarying vec2 vUv;\n\nvoid main() {\n float u = (vUv.x - 0.5) * scale + 0.5;\n float v = (vUv.y - 0.5) * scale + 0.5;\n vec3 rgb = texture2D(inputBuffer, vec2(u, v)).rgb;\n float luminance = clamp(linearToRelativeLuminance(rgb), 0.1, 0.9);\n gl_FragColor = vec4(luminance);\n}\n"})||this}return e.__extends(i,t),i}(nv),gv=function(t){function i(e,i){void 0===i&&(i=.002);var n=t.call(this,e,{uniforms:{targetBuffer:new r.Uniform(null),inputBuffer:new r.Uniform(null),step:new r.Uniform(i)},fragment:"\n uniform sampler2D targetBuffer;\n uniform sampler2D inputBuffer;\n uniform float step;\n varying vec2 vUv;\n void main() {\n\n #ifdef GL_EXT_shader_texture_lod\n #if __VERSION__ < 300\n float target = texture2DLodEXT(targetBuffer, vUv, 5.0).r;\n #else\n float target = textureLod(targetBuffer, vUv, 5.0).r;\n #endif\n #else\n float target = texture2D(targetBuffer, vUv).r;\n #endif\n float current = texture2D(inputBuffer, vUv).r;\n\n float result;\n if (abs(target - current) < step) {\n result = target;\n } else if (target - current > 0.0) {\n result = current + step;\n } else {\n result = current - step;\n }\n gl_FragColor = vec4(result, result, result, 1.0);\n }\n "})||this;return n.material.extensions.shaderTextureLOD=!0,n}return e.__extends(i,t),Object.defineProperty(i.prototype,"targetBuffer",{get:function(){return this.material.uniforms.targetBuffer.value},set:function(t){this.material.uniforms.targetBuffer.value=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"step",{get:function(){return this.material.uniforms.step.value},set:function(t){this.material.uniforms.step.value=t},enumerable:!1,configurable:!0}),i}(nv),vv=function(t){function i(e){var i=t.call(this,e,{uniforms:{inputBuffer:new r.Uniform(null),luminanceAdaptiveBuffer:new r.Uniform(null),progress:new r.Uniform(0)},fragment:"\n #include <common>\n uniform sampler2D inputBuffer;\n uniform sampler2D luminanceAdaptiveBuffer;\n uniform float progress;\n varying vec2 vUv;\n\n void main() {\n float middleGrey = 1.5;\n float whitePoint = 13.0;\n float exposure = 1.4;\n vec4 inputColor = texture2D(inputBuffer, vUv);\n vec3 rgb = inputColor.rgb * exposure;\n float alpha = inputColor.a;\n float luminance = linearToRelativeLuminance(rgb);\n float lumAvg = texture2D(luminanceAdaptiveBuffer, vec2(0.5)).r;\n float lumScaled = (luminance * middleGrey) / max(lumAvg, 1e-6);\n float lumCompressed = lumScaled * (1.0 + lumScaled / (whitePoint * whitePoint));\n lumCompressed /= (1.0 + lumScaled);\n rgb = clamp(lumCompressed * rgb, 0.0, 1.0);\n gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);\n }\n "})||this;return i.material.transparent=!0,i}return e.__extends(i,t),Object.defineProperty(i.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(t){this.material.uniforms.luminanceAdaptiveBuffer.value=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(t){this.material.uniforms.progress.value=t},enumerable:!1,configurable:!0}),i}(nv),yv=function(t){function i(e){var i=t.call(this,e)||this;return i.enableTime=Bt(),i.renderer=e,i.valuePass=new rv(i.renderer),i.luminancePass=new mv(i.renderer,Math.sqrt(1/3)),i.nextStepPass=new gv(i.renderer,.01),i.luminanceAdaptivePass=new vv(i.renderer),i}return e.__extends(i,t),i.prototype.render=function(t,e){if(!this.enable)return this.enableTime=null,void this.copyPass.render(t);null===this.enableTime&&(this.enableTime=Bt()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new r.WebGLRenderTarget(128,128,{minFilter:r.LinearMipmapLinearFilter,magFilter:r.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:r.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(t,this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new r.WebGLRenderTarget(1,1,{minFilter:r.NearestFilter,magFilter:r.NearestFilter,type:r.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new r.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new r.WebGLRenderTarget(1,1,{minFilter:r.NearestFilter,magFilter:r.NearestFilter,type:r.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new r.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((Bt()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(t,e)},i.prototype.dispose=function(){var t,e,i;null===(t=this.luminanceTargetBuffer)||void 0===t||t.dispose(),null===(e=this.luminancePrevBuffer)||void 0===e||e.dispose(),null===(i=this.luminanceNextBuffer)||void 0===i||i.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},i}(av),Av=["up","down","left","right","front","back"],xv=null!==(fv=Math.SQRT1_2)&&void 0!==fv?fv:Math.sqrt(2),bv={up:new r.Quaternion(xv,0,0,xv),down:new r.Quaternion(-xv,0,0,xv),left:new r.Quaternion(0,xv,0,xv),right:new r.Quaternion(0,-xv,0,xv),front:new r.Quaternion(0,0,0,1),back:new r.Quaternion(0,1,0,0)},wv=(new r.Quaternion).setFromAxisAngle(new r.Vector3(0,1,0),Math.PI),Mv=new r.PerspectiveCamera,Ev=new r.Frustum,Sv=new r.Matrix4,_v=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Tv=new Float32Array([0,0,1,0,0,1,1,1]),Cv=new Uint8Array([0,1,2,1,3,2]),Iv=new r.BufferGeometry;Iv.setAttribute("position",new r.BufferAttribute(_v,3)),Iv.setAttribute("uv",new r.BufferAttribute(Tv,2)),Iv.setIndex(new r.BufferAttribute(Cv,1));var Pv=function(t){function i(){var e=t.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null}},vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n#if defined(USE_LUMINANCE)\nuniform sampler2D luminanceMap;\n#endif\nuniform sampler2D map;\nvarying vec2 vUv;\n\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n #if defined(USE_LUMINANCE)\n gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;\n #endif\n}\n"})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=r.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(t){this.uniforms.map.value=t}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(t){this.uniforms.luminanceMap.value=t,this.defines.USE_LUMINANCE=null!==t,this.needsUpdate=!0}}}),e}return e.__extends(i,t),i}(r.ShaderMaterial),Rv=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.level=0,e.sideCount=0,e.col=0,e.row=0,e.index=0,e.type="up",e}return e.__extends(i,t),i}(r.Box3),Bv=function(t){function i(e,i){var n=this,o=new Pv;return o.visible=!1,(n=t.call(this,Iv,o)||this).position.copy(e.getCenter(new r.Vector3)),n.quaternion.copy(bv[e.type]),n.scale.setScalar(1/Math.pow(2,e.level)),n.name="tile-box",n.level=e.level,n.activeTime=-1,n.disposed=!1,n.needsRender=!1,n.frustumCulled=!1,i.then((function(t){var e=t[0],i=t[1];n.disposed?(e.dispose(),null==i||i.dispose()):(n.material.map=e,n.material.luminanceMap=i,n.material.needsUpdate=!0,n.material.visible=!0)})).catch(Pt),n}return e.__extends(i,t),i.getBox=function(t,e,i){var n=new Rv,r=Math.pow(2,t),o=1/r,a=i%r,s=Math.floor(i/r);switch(n.level=t,n.index=i,n.sideCount=r,n.row=s,n.col=a,n.type=e,e){case"up":n.min.y=.5,n.max.y=.5,n.min.x=+a*o-.5,n.max.x=+a*o-.5+o,n.min.z=-s*o+.5-o,n.max.z=-s*o+.5;break;case"down":n.min.y=-.5,n.max.y=-.5,n.min.x=+a*o-.5,n.max.x=+a*o-.5+o,n.min.z=+s*o-.5,n.max.z=+s*o-.5+o;break;case"left":n.min.x=-.5,n.max.x=-.5,n.min.z=-a*o+.5-o,n.max.z=-a*o+.5,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5;break;case"right":n.min.x=.5,n.max.x=.5,n.min.z=+a*o-.5,n.max.z=+a*o-.5+o,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5;break;case"front":n.min.z=-.5,n.max.z=-.5,n.min.x=+a*o-.5,n.max.x=+a*o-.5+o,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5;break;case"back":n.min.z=.5,n.max.z=.5,n.min.x=-a*o+.5-o,n.max.x=-a*o+.5,n.min.y=-s*o+.5-o,n.max.y=-s*o+.5}return n},i.prototype.updateTime=function(t){},i.prototype.dispose=function(){var t;this.disposed=!0,this.material.map&&(this.material.map.dispose(),null===(t=this.material.luminanceMap)||void 0===t||t.dispose()),this.material.dispose()},i}(r.Mesh),Lv=function(t){function i(){var e=t.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return e.__extends(i,t),i}(r.Group),Dv=function(){function t(t,e){this.disposed=!1,this.textureLoader=new yi(t),this.level=0,this.panoIndex=0,this.pedding=0,this.tiles=[],this.resource=[],this.luminance=null,this.imageOptions=e,this.object=new Lv}return t.prototype.setAllowHosts=function(t){this.textureLoader.setAllowHosts(t)},t.prototype.setRequestProxy=function(t){this.textureLoader.setRequestProxy(t)},t.prototype.setNetworkSubscribe=function(t){this.textureLoader.setNetworkSubscribe(t)},t.prototype.cleanup=function(){for(var t=0;t<this.tiles.length;t++)if(this.tiles[t]){var e=this.tiles[t],i="level-group:"+t,n=this.object.getObjectByName(i);for(var r in e){var o=e[r];o.dispose(),n.remove(o),delete e[r],this.object.needsRender=!0}}},t.prototype.setRotation=function(t){if(!this.disposed){var e=(new r.Quaternion).multiplyQuaternions(t,wv);this.object.quaternion.equals(e)||(this.object.quaternion.copy(e),this.object.needsRender=!0)}},t.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},t.prototype.setResource=function(t){if(!this.disposed&&this.resource!==t){this.cleanup(),this.resource=t;for(var e=0;e<t.length;e++){var i=t[e].level;this.tiles[i]={};var n="level-group:"+i,o=this.object.getObjectByName(n);o||((o=new r.Group).name=n,o.renderOrder=-2),this.object.add(o)}this.object.needsRender=!0}},t.prototype.setLuminance=function(t){this.luminance=t},t.prototype.getTileResources=function(t){for(var e,i=null!==(e=this.imageOptions.size)&&void 0!==e?e:2048,n=[],r=this.resource.length-1;r>=0;r--)this.resource[r].level<=t&&512*Math.pow(2,this.resource[r].level)>i&&n.unshift(this.resource[r]);return n},t.prototype.update=function(t,i,n){var o=this;if(!this.disposed){this.level=i;var a=Mv.copy(t);a.position.set(0,0,0),a.quaternion.premultiply(this.object.quaternion.clone().inverse()),a.updateMatrixWorld(!0),a.updateProjectionMatrix();for(var s=a.getWorldDirection(new r.Vector3),c=Ev.setFromProjectionMatrix(Sv.multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse)),l=this.getTileResources(i),h=function(t){if(t){for(var i=[],a=t.level,l=Math.pow(2,a),h=l*l,d=u.object.getObjectByName("level-group:"+a),p=0,f=Av;p<f.length;p++)for(var m=f[p],g=0;g<h;g++){var v=Bv.getBox(a,m,g);c.intersectsBox(v)&&i.push(v)}var y=new r.Vector3;i.sort((function(t,e){return t.getCenter(y).angleTo(s)-e.getCenter(y).angleTo(s)}));for(var A=[],x=0,b=i;x<b.length;x++){var w=(v=b[x]).sideCount,M=v.row,E=v.col,S=(m=v.type,"tile-level:".concat(a,"-face:").concat(m,"-row:").concat(M,"-col:").concat(E));if(!u.tiles[a][S]){var _=t[m],T=t.size,C=T/w,I=[C*E,C*M,C,C],P=e.__assign({key:"pano_tile.".concat(u.panoIndex,".").concat(m,".").concat(a,".").concat(M,".").concat(E),basisLoaderInitialized:gi.isInitialized(),cut:I},Xe(u.imageOptions,["format","mappings"]));a<=1&&("jpg"===P.format||/\.jpg$/.test(_))?(1024!==C&&(P.size=1024),P.quality=70):512!==C&&(P.size=512);var R=u.imageOptions.transform?u.imageOptions.transform(_,P):ie(_,P),B=u.textureLoader.load(R,{preInit:!0}).then((function(t){return t.body})),L=null;if(u.luminance){var D=u.luminance[m],O=D.match(/\/cube_(\d+)\//),N=!!O&&Number(O[1]);if(!1!==N){var k=T/N,F=e.__assign(e.__assign({},P),{size:256,cut:[I[0]/k,I[1]/k,I[2]/k,I[3]/k],key:"pano_tile_luminance.".concat(u.panoIndex,".").concat(m,".").concat(a,".").concat(M,".").concat(E)}),z=u.imageOptions.transform?u.imageOptions.transform(D,F):ie(D,F);L=u.textureLoader.load(z,{format:r.LuminanceFormat,preInit:!0}).then((function(t){return t.body})).catch((function(){return null}))}}u.pedding++;var V=Promise.all([B,L]).then((function(t){return o.pedding--,t}),(function(t){return o.pedding--,Promise.reject(t)}));(G=u.tiles[a][S]=new Bv(v,V)).name=S,G.renderOrder=a,d.add(G)}u.tiles[a][S].activeTime=n,A.push(S)}for(var H=0,U=Object.keys(u.tiles[a]).sort((function(t,e){return o.tiles[a][e].activeTime-o.tiles[a][t].activeTime})).slice(Math.max(24,A.length));H<U.length;H++){S=U[H];var G=u.tiles[a][S];d.remove(G),G.dispose(),delete u.tiles[a][S],u.object.needsRender=!0}}},u=this,d=0,p=l;d<p.length;d++){h(p[d])}for(var f=0;f<this.tiles.length;f++)if(this.tiles[f]){var m=l.length>0&&f<=l[l.length-1].level;for(var g in this.tiles[f])this.tiles[f][g].visible!==m&&(this.tiles[f][g].visible=m,this.tiles[f][g].needsRender=!0),this.tiles[f][g].updateTime(n)}}},t.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},t}(),Ov=new Float32Array([-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1]),Nv=new Uint8Array([0,2,1,2,3,1,4,6,5,6,7,5,8,10,9,10,11,9,12,14,13,14,15,13,16,18,17,18,19,17,20,22,21,22,23,21]),kv=new r.BufferGeometry;kv.setAttribute("position",new r.BufferAttribute(Ov,3)),kv.setIndex(new r.BufferAttribute(Nv,1));var Fv=function(){function t(){this.material=new r.ShaderMaterial({vertexShader:"\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\nvoid main() {\n vec4 transformed = vec4(position, 1.0);\n #if defined(USE_PANO_VIDEO)\n worldPosition = (modelMatrix * transformed).xyz;\n #endif\n gl_Position = projectionMatrix * modelViewMatrix * transformed;\n}\n",fragmentShader:"\nuniform vec2 size;\nuniform mat4 matrix;\nuniform float alpha;\nuniform sampler2D map;\n#if defined(USE_PANO_VIDEO)\nvarying vec3 worldPosition;\n#endif\n#include <common>\nvoid main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n #if defined(USE_PANO_VIDEO)\n vec3 cameraToVertex = worldPosition - cameraPosition;\n vec4 mapCoods = vec4(cameraToVertex, 1.0) * matrix;\n vec2 uv = vec2(\n 0.5 + mapCoods.x / mapCoods.z / size.x,\n 0.5 - mapCoods.y / mapCoods.z / size.y\n );\n vec4 videoColor = texture2D(map, uv);\n float match = (1.0 - step(0.0, mapCoods.z)) * (1.0 - step(0.5, abs(uv.x - 0.5))) * (1.0 - step(0.5, abs(uv.y - 0.5)));\n float blendAlpha = clamp(0.0, 1.0, 5.0 * (1.0 - clamp(distance(uv, vec2(0.5, 0.5)) / 0.55 , 0.0, 1.0)));\n gl_FragColor = vec4(videoColor.rgb, match * blendAlpha * alpha);\n #endif\n}\n",uniforms:{size:new r.Uniform(null),matrix:new r.Uniform(null),alpha:new r.Uniform(null),map:new r.Uniform(null)},depthTest:!1,depthWrite:!1,defines:{USE_PANO_VIDEO:!1},blending:r.CustomBlending,blendSrc:r.SrcAlphaFactor,blendDst:r.OneMinusSrcAlphaFactor,blendSrcAlpha:r.OneFactor,blendDstAlpha:r.OneMinusSrcAlphaFactor}),this.object=new r.Mesh(kv,this.material),this.object.visible=!1,this.object.renderOrder=-1,this.object.frustumCulled=!1,this.alphaMotion=new Zm({alpha:0})}return t.prototype.setMaterial=function(t){t?(this.material.uniforms.size.value=t.size,this.material.uniforms.matrix.value=t.matrix,this.material.uniforms.map.value=t.map,this.alphaMotion.set({alpha:t.alpha},500).catch(Pt),this.material.uniforms.alpha.value=t.alpha):(this.material.uniforms.size.value=null,this.material.uniforms.matrix.value=null,this.material.uniforms.map.value=null,this.alphaMotion.set({alpha:0},0).catch(Pt));var e=null!==t;e!==this.material.defines.USE_PANO_VIDEO&&(this.material.defines.USE_PANO_VIDEO=e,this.material.needsUpdate=!0,this.object.visible=null!==t)},t.prototype.updateTime=function(t){this.alphaMotion.ended||(this.alphaMotion.update(t),this.material.uniforms.alpha.value=this.alphaMotion.value.alpha)},t.prototype.dispose=function(){this.material.dispose()},t}(),zv=(new r.Matrix4).makeRotationAxis(new r.Vector3(0,1,0),Math.PI),Vv=new r.Vector3(-1,1,1),Hv=function(t){function i(e){var n,r,o,a,s,c,l,h=this,u=i.parseArgs(e);(h=t.call(this,u)||this).initAnimationed=!1,h.currentPanoIndex=u.initial[0],h.maxAccessibleDistance=u.maxAccessibleDistance,h.panoTapTriggerRadius=u.panoTapTriggerRadius,h.panoCircleMeshCreator=u.panoCircleMeshCreator,h.tileLevelForFov=u.tileLevelForFov;var d=h.model.getMaterial()||{},p=d.pano0,f=d.pano1;p&&(null==f?void 0:f.map)!==p.map&&(h.model.setMaterial({pano0:f}),p.map.dispose(),null===(n=p.luminanceMap)||void 0===n||n.dispose()),h.boundingMesh=h.generateBoundingMesh(),h.boundingMesh.setMaterial(h.model.getMaterial()||{}),h.boundingMesh.visible=!1,h.scene.add(h.boundingMesh),h.panoMeshes=[],h.updatePanoMeshes(),h.locationMotion=new Zm({count:0,distance:h.camera.pose.distance,modelAlpha:null!==(o=null===(r=h.model.getMaterial())||void 0===r?void 0:r.modelAlpha)&&void 0!==o?o:0,perspToOrtho:null!==(s=null===(a=h.model.getMaterial())||void 0===a?void 0:a.perspToOrtho)&&void 0!==s?s:0}),h.panoResources={},h.panoResources[h.locationMotion.keyframes[0].key=h.locationMotion.keyframes[1].key=Dr()]={panoIndex:h.currentPanoIndex,workCode:h.work.workCode,panoPicture:null!==(l=null===(c=h.model.getMaterial())||void 0===c?void 0:c.pano1)&&void 0!==l?l:null,position:h.camera.pose.offset.clone(),effect:"fly"};var m={allowHosts:h.work.allowHosts,requestProxy:h.requestProxy,networkSubscribe:h.networkSubscribe};return h.textureLoader=new yi(m),h.tiling=new Dv(m,h.imageOptions),h.scene.add(h.tiling.object),h.panoVideo=new Fv,h.scene.add(h.panoVideo.object),h}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a,s=t.parseArgs.call(this,i);return e.__assign(e.__assign({},s),{maxAccessibleDistance:null!==(n=i.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(r=i.panoTapTriggerRadius)&&void 0!==r?r:.5,panoCircleMeshCreator:null!==(o=i.panoCircleMeshCreator)&&void 0!==o?o:function(){return new Tg},tileLevelForFov:null!==(a=i.tileLevelForFov)&&void 0!==a?a:function(t,e){var i=2*Math.atan(Math.tan(t/180*Math.PI/2)*(e.width/e.height))/Math.PI*180,n=Math.max(e.width/i,e.height/t);return n>80?4:n>48?3:n>24?2:n>12?1:0}})},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var e,i,n=this;t.prototype.destroy.call(this),this.scene.remove(this.tiling.object),this.tiling.dispose(),this.locationMotion.dispose(),delete this.pendingTextureTask,this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoMeshes&&(this.panoMeshes.forEach((function(t){n.helper.remove(t),t.dispose()})),this.panoMeshes.length=0),this.interiaMovement=!1;var r=this.videoTexture.image;r.pause(),r.oncanplay=function(){},r.ontimeupdate=function(){},this.scene.remove(this.panoVideo.object),this.panoVideo.setMaterial(null),this.panoVideo.dispose();for(var o=null!==(e=this.model.getMaterial())&&void 0!==e?e:{},a=o.pano0,s=o.pano1,c=0,l=Object.keys(this.panoResources);c<l.length;c++){var h=l[c],u=this.panoResources[h];if(u.panoPicture){var d=u.panoPicture.map;d&&d!==(null==a?void 0:a.map)&&d!==(null==s?void 0:s.map)&&(d.dispose(),null===(i=u.panoPicture.luminanceMap)||void 0===i||i.dispose(),u.panoPicture=null)}delete this.panoResources[h]}},i.prototype.isReady=function(){return!0===this.locationMotion.ended&&(this.tiling.pedding<=0&&t.prototype.isReady.call(this))},i.prototype.updateWork=function(t,e,i,n,r){var o=this;this.userAction=r,this.work=t,this.currentPanoIndex=e,this.textureLoader.setAllowHosts(this.work.allowHosts),this.tiling.setAllowHosts(this.work.allowHosts),this.tiling.cleanup(),this.initAnimationed=!1;var a={},s=!0;this.boundingMesh&&(a=this.boundingMesh.getMaterial()||{},s=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.visible=s,this.boundingMesh.setMaterial(a),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.updatePanoMeshes();for(var c=0,l=this.panoMeshes;c<l.length;c++){l[c].visible=!1}return this.moveToPano(e,{effect:"fade",duration:n,longitude:i.longitude,latitude:i.latitude,fov:i.fov,moveEndCallback:function(){o.initAnimationed=!0},moveCancelCallback:function(){o.initAnimationed=!0}},r),!0},i.prototype.updateModel=function(t){this.model=t;var e={},i=!0;this.boundingMesh&&(e=this.boundingMesh.getMaterial()||{},i=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(),this.boundingMesh.visible=i,this.boundingMesh.name="bounding",this.boundingMesh.setMaterial(e),this.scene.add(this.boundingMesh),this.updatePanoMeshes()},i.prototype.updateTime=function(t,e){var i,n,o,a,s,c,l;if(!this.destroyed){var h={},u={},d=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),f=!1;if(!1===this.locationMotion.ended){this.locationMotion.update(t);var m=this.locationMotion.getKeyFrameSegment(t),g=m[0],v=m[1],y=this.panoResourceFromLocationMotionKeyframe(g),A=this.panoResourceFromLocationMotionKeyframe(v),x=(new r.Vector3).copy(y.position),b=(new r.Vector3).copy(A.position),w=this.locationMotion.value.count-v.value.count+1;h.progress=w,h.modelAlpha=this.locationMotion.value.modelAlpha,h.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),A.panoPicture&&(w<1?y.panoPicture&&(h.pano0=y.panoPicture):h.pano0=A.panoPicture,h.pano1=A.panoPicture),f=h.useBlackTransition="instant"===A.effect||"montage"===A.effect,"fade"!==A.effect&&"montage"!==A.effect||(h.pano0&&y.panoPicture&&(h.pano0={map:h.pano0.map,luminanceMap:h.pano0.luminanceMap,matrix:y.panoPicture.matrix.clone().setPosition(A.position)}),x.copy(b)),u.distance=this.locationMotion.value.distance,u.offset=new r.Vector3(x.x+(b.x-x.x)*w,x.y+(b.y-x.y)*w,x.z+(b.z-x.z)*w);for(var M=[],E=[],S=0,_=this.locationMotion.keyframes;S<_.length;S++){var T=_[S],C=T.key,I=T.progress;void 0!==C&&(M.push(C),I>=this.locationMotion.progress&&E.push(C))}for(var P=0,R=Object.keys(this.panoResources);P<R.length;P++){var B=R[P];if(!(E.indexOf(B)>=0)){var L=this.panoResources[B];if(L.panoPicture){var D=L.panoPicture.map;if(D){if(D===(null===(i=h.pano0)||void 0===i?void 0:i.map))continue;if(D===(null===(n=h.pano1)||void 0===n?void 0:n.map))continue;D.dispose(),null===(o=L.panoPicture.luminanceMap)||void 0===o||o.dispose(),L.panoPicture=null}}M.indexOf(B)>=0||delete this.panoResources[B]}}y.workCode===A.workCode?this.currentPanoIndex=w<.5?y.panoIndex:A.panoIndex:this.currentPanoIndex=A.panoIndex,this.emit("movingToPano",p.panoIndex,d.panoIndex,this.locationMotion.progress)}if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(t),u.longitude=this.cameraMotion.value.longitude,u.latitude=this.cameraMotion.value.latitude,u.fov=this.cameraMotion.value.fov),!1===Xg(h)&&(this.model.setMaterial(h),this.boundingMesh.setMaterial(h)),!1===Xg(u)&&this.setCamera(u),this.camera.pose.distance>.1)for(var O=0;O<this.work.observers.length;O++){(z=this.panoMeshes[O])&&(z.visible=!1)}else{var N=this.work.observers[this.currentPanoIndex];if(N){var k=N.visibleNodes.concat(this.currentPanoIndex),F=this.getForwardPanoIndexOrNot();for(O=0;O<this.work.observers.length;O++){var z,V=this.work.observers[O];if(z=this.panoMeshes[O])if(V.loadable||V.active)if(-1!==k.indexOf(O))if(f)z.visible=!1,z.setOpacity(0);else{z.visible=!0;var H=z.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);z.setCurrent(F===O),z.setOpacity(H<.01?0:Rm(1.4/H,.5,.7)),z.updateTime&&z.updateTime(t,e)}else z.visible=!1,z.setOpacity(0);else z.visible=!1,z.setOpacity(0)}}}this.boundingMesh.visible=Boolean(null===(a=this.boundingMesh.getMaterial())||void 0===a?void 0:a.pano0)&&this.boundingMesh.boundingBox.containsPoint(this.camera.position);var U=this.tiling.object.visible;if(!1!==this.tileLevelForFov&&this.initAnimationed){var G=p.panoIndex,j=this.work.observers[G];if(j)if(Dg(this.camera.position,j.position)&&this.locationMotion.ended){this.tiling.object.visible=!0,this.enableIOSEDR&&this.tiling.setLuminance(null!==(s=j.images.luminance)&&void 0!==s?s:null),this.tiling.panoIndex!==G&&this.tiling.cleanup(),this.tiling.panoIndex=G,this.tiling.setResource(null!==(l=null===(c=j.images)||void 0===c?void 0:c.tiles)&&void 0!==l?l:[]),this.tiling.setRotation(j.quaternion),this.tiling.setPosition(j.position);var Q=this.renderer.getDrawingBufferSize(new r.Vector2);Q.width*=this.scissor.width,Q.height*=this.scissor.height;var W=this.imageOptions.size;if(void 0===W&&j){var q=j.images.up.match(/\/cube_(\d+)\//);q&&(W=Number(q[1]))}void 0===W&&(W=2048);var K=0;W>=1024&&(K=1),W>=2048&&(K=2),W>=4096&&(K=3),W>=8192&&(K=4);var X=this.tileLevelForFov(this.camera.fov,Q),Y=X>K?X:0;this.tiling.update(this.camera,Y,t)}else this.tiling.object.visible=!1;else this.tiling.object.visible=!1}else this.tiling.object.visible=!1;U!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0),this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(t)}},i.prototype.render=function(){var e=this.work.observers[this.currentPanoIndex];e&&e.video&&(this.needsRender=!0),t.prototype.render.call(this)},i.prototype.postProcessing=function(t,e){if(!this.destroyed)return this.effect||(this.effect=new yv(this.renderer)),this.effect.render(t,e)},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1],i=this.panoResourceFromLocationMotionKeyframe(e),n=this.work.observers[i.panoIndex];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:this.locationMotion.value.distance}},i.prototype.moveToPano=function(t,i,n){var o,a,s,c=this,l=this.work.observers[t],h=e.__assign({key:"pano.".concat(t),basisLoaderInitialized:gi.isInitialized()},Xe(this.imageOptions,["format","size","quality","sharpen","mappings"])),u=null!==(o=this.imageOptions.transform)&&void 0!==o?o:ie,d={right:u(l.images.right,e.__assign(e.__assign({},h),{key:"".concat(h.key,".right")})),left:u(l.images.left,e.__assign(e.__assign({},h),{key:"".concat(h.key,".left")})),up:u(l.images.up,e.__assign(e.__assign({},h),{key:"".concat(h.key,".up")})),down:u(l.images.down,e.__assign(e.__assign({},h),{key:"".concat(h.key,".down")})),front:u(l.images.front,e.__assign(e.__assign({},h),{key:"".concat(h.key,".front")})),back:u(l.images.back,e.__assign(e.__assign({},h),{key:"".concat(h.key,".back")}))},p={key:"pano_luminance.".concat(t),basisLoaderInitialized:gi.isInitialized(),size:h.size?h.size/2:1024},f=this.enableIOSEDR&&l.images.luminance?{right:u(l.images.luminance.right,e.__assign(e.__assign({},p),{key:"".concat(p.key,".right")})),left:u(l.images.luminance.left,e.__assign(e.__assign({},p),{key:"".concat(p.key,".left")})),up:u(l.images.luminance.up,e.__assign(e.__assign({},p),{key:"".concat(p.key,".up")})),down:u(l.images.luminance.down,e.__assign(e.__assign({},p),{key:"".concat(p.key,".down")})),front:u(l.images.luminance.front,e.__assign(e.__assign({},p),{key:"".concat(p.key,".front")})),back:u(l.images.luminance.back,e.__assign(e.__assign({},p),{key:"".concat(p.key,".back")}))}:null,m="pano:"+uv(d);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===m)return;var g=this.pendingTextureTask.panoIndex;null===(a=this.panoMeshes[g])||void 0===a||a.setProgress(0),this.emit("textureAbort",g,l),this.pendingTextureTask.onError(new Error("texture aborted"))}this.pending=!0;var v,y=this.model.getMaterial()||{},A=y.pano0,x=y.pano1;if(A&&A.map.name===m&&null!==A.luminanceMap===this.enableIOSEDR?v=A:(null==x?void 0:x.map.name)===m&&null!==x.luminanceMap===this.enableIOSEDR&&(v=x),v){var b={panoIndex:t,workCode:this.work.workCode,effect:null!==(s=i.effect)&&void 0!==s?s:"fly",panoPicture:{map:v.map,luminanceMap:v.luminanceMap,matrix:(new r.Matrix4).compose(l.position,l.quaternion,Vv)},position:l.position.clone()};Jt.shared.add((function(){c.pending=!1,c.emit("panoLoaded",t),c.doMoveToPano(t,b,i,n)}),!0,1)}else{this.pendingTextureTask={panoIndex:t,hash:m,onLoad:function(e,o){var a,s;if(c.pending=!1,c.destroyed)e.body.dispose();else{e.body.name=m,c.emit("panoLoaded",t);var h={panoIndex:t,workCode:c.work.workCode,effect:null!==(a=i.effect)&&void 0!==a?a:"fly",panoPicture:{map:e.body,luminanceMap:null!==(s=null==o?void 0:o.body)&&void 0!==s?s:null,matrix:(new r.Matrix4).compose(l.position,l.quaternion,Vv)},position:l.position.clone()};c.doMoveToPano(t,h,i,n)}},onError:function(e){c.pending=!1,i.moveCancelCallback&&i.moveCancelCallback(),c.emit("panoLoadError",e,t),c.emit("moveToPanoCanceled",t)}};var w=this.panoMeshes[t];w&&w.tap&&w.tap(),Promise.all([this.textureLoader.loadCube(d,{format:r.RGBFormat,viaAjax:!0},void 0,void 0,(function(e){var i,n;c.emit("textureLoading",e,t,l),(null===(i=c.pendingTextureTask)||void 0===i?void 0:i.hash)===m&&(null===(n=c.panoMeshes[t])||void 0===n||n.setProgress(e))}),this.renderer),f?this.textureLoader.loadCube(f,{format:r.LuminanceFormat}).catch((function(){return null})):Promise.resolve(null)]).then((function(e){var i,n,r=e[0],o=e[1];(null===(i=c.pendingTextureTask)||void 0===i?void 0:i.hash)===m?(c.pendingTextureTask.onLoad(r,o),null===(n=c.panoMeshes[t])||void 0===n||n.setProgress(0),delete c.pendingTextureTask,c.emit("textureLoaded",t,l,r.meta)):(r.body.dispose(),null==o||o.body.dispose())})).catch((function(e){var i,n;(null===(i=c.pendingTextureTask)||void 0===i?void 0:i.hash)===m&&(c.pendingTextureTask.onError(e),null===(n=c.panoMeshes[t])||void 0===n||n.setProgress(0),delete c.pendingTextureTask,c.emit("textureError",e,t,l),c.emit("error",e))})),this.emit("textureStartLoad",t,l)}},i.prototype.initAnimation=function(t,e,i,n){var r,o,a,s=this;if(!this.destroyed){var c=!1;this.pending=!1,this.userAction=n,this.moveToPano(t,{longitude:null!==(r=e.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:Rm(null!==(o=e.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(a=e.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(t,e){c=!0,s.emit("initAnimationWillStart",t,e,s.userAction)},moveEndCallback:function(t,e){s.emit("initAnimationEnded",t,e,s.userAction),s.initAnimationed=!0},moveCancelCallback:function(){var t={longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:s.camera.pose.distance};!1===c&&s.emit("initAnimationWillStart",s.currentPanoIndex,t,s.userAction),s.emit("initAnimationEnded",s.currentPanoIndex,t,s.userAction),s.initAnimationed=!0}},n)}},i.prototype.panoResourceFromLocationMotionKeyframe=function(t){return this.panoResources[t.key]},i.prototype.locationMotionKeyframesLength=function(t){for(var e=0,i=1;i<t.length;i++){var n=this.panoResourceFromLocationMotionKeyframe(t[i-1]).position,r=this.panoResourceFromLocationMotionKeyframe(t[i]).position;e+=n.distanceTo(r)*(t[i].value.count-t[i-1].value.count)}return e},i.prototype.updatePanoMeshes=function(t){void 0===t&&(t=!0);for(var e={},i=0,n=this.panoMeshes;i<n.length;i++){e[(c=n[i]).name]=c}this.panoMeshes.length=0;for(var o=0;o<this.work.observers.length;o++){var a="panoCircle_".concat(this.work.workCode,"_").concat(o),s=this.work.observers[o],c=void 0;if(e[a]?(c=e[a],delete e[a]):((c=this.panoCircleMeshCreator()).name=a,this.helper.add(c)),c.position.copy(s.standingPosition),t&&this.model.loaded&&this.model.bvhs.loaded){var l=new r.Vector3(0,-1,0),h=new r.Vector3(0,.1,0).add(c.position),u=new r.Raycaster(h,l,0,.2),d=this.model.intersectRaycaster(u)[0];d&&d.point.distanceTo(h)<.1&&c.position.copy(d.point)}this.panoMeshes[o]=c}for(var p=0,f=Object.keys(e);p<f.length;p++){var m=f[p];this.helper.remove(e[m]),e[m].dispose(),delete e[m]}},i.prototype.generateBoundingMesh=function(t){void 0===t&&(t=!1);for(var e=this.model.bounding.clone(),i=0,n=this.work.observers;i<n.length;i++){var o=n[i];e.expandByPoint(o.standingPosition),e.expandByPoint((new r.Vector3).fromArray([o.position.x,2*o.position.y-o.standingPosition.y,o.position.z]))}t&&e.expandByPoint(this.camera.position);var a=Fg(e,new r.Vector3(1,0,1));return a.name="panorama_bounding",a},i.prototype.doMoveToPano=function(t,i,n,o){var a,s,c,l=this;void 0===n&&(n={}),this.userAction=o;var h=Bt(),u=Dr();this.tiling.cleanup(),this.panoResources[u]=i;var d,p,f;if(this.locationMotion.ended){var m=this.locationMotion.getKeyFrameSegment(h);m[0];var g=m[1],v=this.locationMotion.value,y=this.panoResourceFromLocationMotionKeyframe(g).position,A=i.position;d=Math.max(y.distanceTo(A),1),p=[{key:g.key,progress:0,value:e.__assign(e.__assign({},v),{count:0})},{key:u,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,count:1}}],f=0}else{var x=this.locationMotion.getKeyFrameSegment(h),b=x[0],w=(g=x[1],v=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(b).position),M=(y=this.panoResourceFromLocationMotionKeyframe(g).position,A=i.position,g.value.count-v.count),E=Math.max(w.distanceTo(y),1)*M;d=E+Math.max(y.distanceTo(A),1),p=[{key:b.key,progress:0,value:e.__assign({},v)},{key:g.key,progress:E/d,value:g.value},{key:u,progress:1,value:{count:g.value.count+1,distance:0,perspToOrtho:0,modelAlpha:0}}];var S=this.locationMotionKeyframesLength(this.locationMotion.keyframes),_=this.locationMotionKeyframesLength(p);f=0===S||0===S?0:this.locationMotion.getProgressVelocity(h)*S/_}var T=this.calculateMovingDuration(n.duration,"fade"===n.effect||"montage"===n.effect?0:d),C={longitude:n.longitude,latitude:n.latitude,fov:n.fov},I={longitude:null!==(a=C.longitude)&&void 0!==a?a:this.camera.pose.longitude,latitude:null!==(s=C.latitude)&&void 0!==s?s:this.camera.pose.latitude,fov:null!==(c=C.fov)&&void 0!==c?c:this.camera.pose.fov,offset:i.position.clone(),distance:this.camera.pose.distance};n.moveStartCallback&&n.moveStartCallback(t,I),this.emit("panoWillArrive",t,I,this.userAction),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=Pt,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),this.cameraMotion.set(C,T).catch(Pt),this.locationMotion.setKeyframes(p,T,f).then((function(){var e,i,a,s={longitude:l.camera.pose.longitude,latitude:l.camera.pose.latitude,fov:l.camera.pose.fov,offset:l.camera.pose.offset.clone(),distance:l.camera.pose.distance};n.moveEndCallback&&n.moveEndCallback(t,s),l.emit("panoArrived",t,s,o);var c=l.work.observers[l.currentPanoIndex];if(c&&c.video&&l.videoTexture&&l.videoTexture.image instanceof HTMLVideoElement){var h=zv.clone().multiply(null!==(a=null===(i=null===(e=l.model.getMaterial())||void 0===e?void 0:e.pano1)||void 0===i?void 0:i.matrix)&&void 0!==a?a:new r.Matrix4).multiply(c.video.matrix),u={map:l.videoTexture,size:c.video.size,matrix:h,alpha:1},d=Dr(),p=l.videoTexture.image;p.setAttribute("uuid",d),(dv||(dv=new Promise((function(t){var e,i=document.createElement("video");i.muted=!0,i.src="data:video/mp4;base64,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",i.addEventListener("timeupdate",(function n(){i.removeEventListener("timeupdate",n,!1),clearTimeout(e);var r=document.createElement("canvas");r.width=r.height=1;var o=r.getContext("2d");o?(o.drawImage(i,0,0,1,1),o.getImageData(0,0,1,1).data[3]>10?t(!0):t(!1)):t(!1)}),!1),i.addEventListener("canplay",(function t(){i.removeEventListener("canplay",t,!1),i.play()}),!1),e=window.setTimeout((function(){return t(!1)}),1e3)})))).then((function(t){t&&c.video&&p.getAttribute("uuid")===d&&(p.oncanplay=function(){p.oncanplay=Pt,p.play()},p.ontimeupdate=function(){p.currentTime>.5&&(p.ontimeupdate=Pt,l.panoVideo.setMaterial(u))},p.src=c.video.source)})).catch((function(){p.removeAttribute("uuid")}))}}),(function(){n.moveCancelCallback&&n.moveCancelCallback(),l.emit("moveToPanoCanceled",t)}))},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this,i=this.camera.getWorldDirection(new r.Vector3),n=this.camera.position.clone(),o=this.work.observers[this.currentPanoIndex];if(!o)return null;var a=o.accessibleNodes.filter((function(t){if(t===e.currentPanoIndex)return!1;var i=e.work.observers[t],o=i.standingPosition.clone().sub(n);return 0!==o.length()&&(!(o.angleTo(new r.Vector3(0,-1,0))<Math.PI/12)&&(i.loadable||i.active))})),s=(t?t.ray.direction.clone():i.clone()).setY(0);if(0===s.length())return null;for(var c=a.slice().sort((function(t,i){var r=e.work.observers[t].position.clone().setY(n.y),o=e.work.observers[i].position.clone().setY(n.y);return r.distanceTo(n)-o.distanceTo(n)})),l=0,h=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];l<h.length;l++)for(var u=h[l],d=0,p=c;d<p.length;d++){var f=p[d],m=this.work.observers[f].position.clone().setY(n.y).sub(n);if(0!==m.length()&&s.angleTo(m)<u)return f}return null},i.prototype.onTapGesture=function(t){var i=this,n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",n,!0)){var o=this.relativeClientPosition(t.center),a=new r.Raycaster;if(a.setFromCamera(o,this.camera),!this.emit("wantsTapGesture",a,o,!0)){this.emit("gesture","tap",n,!0),this.emit("tapGesture",a,o,!0),this.interiaMovement=!1;var s=this.camera.getWorldDirection(new r.Vector3).setY(0),c=null,l=this.work.observers[this.currentPanoIndex];if(l){var h=l.accessibleNodes.filter((function(t){if(t===i.currentPanoIndex)return!1;var e=i.work.observers[t];return!(e.position.distanceTo(i.camera.position)>i.maxAccessibleDistance)&&(e.loadable||e.active)})),u=this.model.intersectRaycaster(a)[0];if(u){var d=Kg(h,(function(t){var e=i.work.observers[t].standingPosition.clone();return e.clone().sub(i.camera.position).setY(0).angleTo(s)>Math.PI/2?1/0:e.distanceTo(u.point)}),!0),p=d[0];d[1]<this.panoTapTriggerRadius&&(c=p)}_m(c)&&(c=this.getForwardPanoIndexOrNot(a));for(var f=0,m=this.locationMotion.keyframes;f<m.length;f++){var g=m[f],v=this.panoResourceFromLocationMotionKeyframe(g);if(!(g.progress<this.locationMotion.progress)&&v.panoIndex===c){c=null;break}}if(this.emit("panoSelected",c),_m(c))!0===this.locationMotion.ended&&this.cameraBounce();else{var y=this.work.observers[c];if(y.active){for(var A={},x=Math.PI/6,b=Math.PI/12,w=new r.Vector3(0,1,0),M=y.position.clone().setY(0).sub(l.position.clone().setY(0)).normalize(),E=M.clone().applyAxisAngle(w,x),S=M.clone().applyAxisAngle(w,-x),_=[],T=[],C=[],I=0,P=y.accessibleNodes;I<P.length;I++){if((p=P[I])!==this.currentPanoIndex&&p!==c){var R=this.work.observers[p].position.clone().sub(y.position).setY(0);M.angleTo(R)<x?C.push(R):E.angleTo(R)<x?_.push(R):S.angleTo(R)<x&&T.push(R)}}var B=(C.length>0?C:e.__spreadArray(e.__spreadArray([],_,!0),T,!0)).slice().sort((function(t,e){return t.angleTo(M)-e.angleTo(M)}))[0];B&&B.angleTo(s)>b&&(A.longitude=Math.atan2(-B.x,-B.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=Rm(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(A.fov=this.defaultFov),this.emit("wantsMoveToPano",c,A,!0)}else this.panoMeshes[c]&&(this.panoMeshes[c].setDisabled(!1),this.panoMeshes[c].setLoading(!0))}}}}},i}(pv),Uv=Math.PI/180,Gv=180/Math.PI,jv=function(){var t="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.platform);return function(){return t}}(),Qv=function(){var t="undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return t}}(),Wv=function(){var t="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return t}}(),qv=function(){var t="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9]+)/):null,e=t?parseInt(t[1],10):null;return function(){return e}}(),Kv=function(){var t=!1;if(65===qv()){var e="undefined"!=typeof navigator?navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/):null;if(e){var i=e[1].split(".");i[0],i[1];var n=i[2],r=i[3];t=3325===parseInt(n,10)&&parseInt(r,10)<148}}return function(){return t}}(),Xv=function(){var t=jv()&&Qv()&&"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("13_4");return function(){return t}}(),Yv=function(){var t="undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("R7 Build");return function(){return t}}();function Zv(){var t="undefined"!=typeof window&&(90==window.orientation||-90==window.orientation);return Yv()?!t:t}var Jv,$v=(Jv={},function(t,e){void 0===Jv[t]&&(console.warn("cardboard: "+e),Jv[t]=!0)});function ty(t){var e,i=t.indexOf("://");e=-1!==i?i+3:0;var n=t.indexOf("/",e);return-1===n&&(n=t.length),t.substring(0,n)}var ey,iy=function(t,e,i){!function(t,e,i){var n=e?e[0]:0,r=e?e[1]:0,o=e?e[2]:0,a=e?e[3]:1,s=n+n,c=r+r,l=o+o,h=n*s,u=n*c,d=n*l,p=r*c,f=r*l,m=o*l,g=a*s,v=a*c,y=a*l;t[0]=1-(p+m),t[1]=u+y,t[2]=d-v,t[3]=0,t[4]=u-y,t[5]=1-(h+m),t[6]=f+g,t[7]=0,t[8]=d+v,t[9]=f-g,t[10]=1-(h+p),t[11]=0,t[12]=i?i[0]:0,t[13]=i?i[1]:0,t[14]=i?i[2]:0,t[15]=1}(t,e),i&&function(t,e,i){var n,r,o,a,s,c,l,h,u,d,p,f,m=i[0],g=i[1],v=i[2];e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+e[15]):(n=e[0],r=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],h=e[7],u=e[8],d=e[9],p=e[10],f=e[11],t[0]=n,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=c,t[6]=l,t[7]=h,t[8]=u,t[9]=d,t[10]=p,t[11]=f,t[12]=n*m+s*g+u*v+e[12],t[13]=r*m+c*g+d*v+e[13],t[14]=o*m+l*g+p*v+e[14],t[15]=a*m+h*g+f*v+e[15])}(t,t,i),function(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],h=e[8],u=e[9],d=e[10],p=e[11],f=e[12],m=e[13],g=e[14],v=e[15],y=i*s-n*a,A=i*c-r*a,x=i*l-o*a,b=n*c-r*s,w=n*l-o*s,M=r*l-o*c,E=h*m-u*f,S=h*g-d*f,_=h*v-p*f,T=u*g-d*m,C=u*v-p*m,I=d*v-p*g,P=y*I-A*C+x*T+b*_-w*S+M*E;P&&(P=1/P,t[0]=(s*I-c*C+l*T)*P,t[1]=(r*C-n*I-o*T)*P,t[2]=(m*M-g*w+v*b)*P,t[3]=(d*w-u*M-p*b)*P,t[4]=(c*_-a*I-l*S)*P,t[5]=(i*I-r*_+o*S)*P,t[6]=(g*x-f*M-v*A)*P,t[7]=(h*M-d*x+p*A)*P,t[8]=(a*C-s*_+l*E)*P,t[9]=(n*_-i*C-o*E)*P,t[10]=(f*w-m*x+v*y)*P,t[11]=(u*x-h*w-p*y)*P,t[12]=(s*S-a*T-c*E)*P,t[13]=(i*T-n*S+r*E)*P,t[14]=(m*A-f*b-g*y)*P,t[15]=(h*b-u*A+d*y)*P)}(t,t)},ny=function(){function t(t,e){void 0===t&&(t=new r.Vector3),void 0===e&&(e=0),this.sample=t,this.timestampS=e}return t.prototype.set=function(t,e){this.sample=t,this.timestampS=e},t.prototype.copy=function(t){this.set(t.sample,t.timestampS)},t}(),ry=function(){function t(t,e){this.kFilter=t,this.isDebug=e,this.currentAccelMeasurement=new ny,this.currentGyroMeasurement=new ny,this.previousGyroMeasurement=new ny,jv()?this.filterQ=new r.Quaternion(-1,0,0,1):this.filterQ=new r.Quaternion(1,0,0,1),this.previousFilterQ=new r.Quaternion,this.previousFilterQ.copy(this.filterQ),this.accelQ=new r.Quaternion,this.isOrientationInitialized=!1,this.estimatedGravity=new r.Vector3,this.measuredGravity=new r.Vector3,this.gyroIntegralQ=new r.Quaternion}return t.prototype.addAccelMeasurement=function(t,e){this.currentAccelMeasurement.set(t,e)},t.prototype.addGyroMeasurement=function(t,e){this.currentGyroMeasurement.set(t,e);var i,n=e-this.previousGyroMeasurement.timestampS;i=n,isNaN(i)||i<=.001||i>1||this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},t.prototype.getOrientation=function(){return this.filterQ},t.prototype.run_=function(){if(!this.isOrientationInitialized)return this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),void(this.isOrientationInitialized=!0);var t=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,e=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,t);this.gyroIntegralQ.multiply(e),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(e);var i=new r.Quaternion;i.copy(this.filterQ),i.inverse(),this.estimatedGravity.set(0,0,-1),this.estimatedGravity.applyQuaternion(i),this.estimatedGravity.normalize(),this.measuredGravity.copy(this.currentAccelMeasurement.sample),this.measuredGravity.normalize();var n,o=new r.Quaternion;o.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),o.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",Gv*((n=o).w>1?0:2*Math.acos(n.w)),this.estimatedGravity.x.toFixed(1),this.estimatedGravity.y.toFixed(1),this.estimatedGravity.z.toFixed(1),this.measuredGravity.x.toFixed(1),this.measuredGravity.y.toFixed(1),this.measuredGravity.z.toFixed(1));var a=new r.Quaternion;a.copy(this.filterQ),a.multiply(o),this.filterQ.slerp(a,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},t.prototype.accelToQuaternion_=function(t){var e=new r.Vector3;e.copy(t),e.normalize();var i=new r.Quaternion;return i.setFromUnitVectors(new r.Vector3(0,0,-1),e),i.inverse(),i},t.prototype.gyroToQuaternionDelta_=function(t,e){var i=new r.Quaternion,n=new r.Vector3;return n.copy(t),n.normalize(),i.setFromAxisAngle(n,t.length()*e),i},t}(),oy=function(){function t(t,e){this.predictionTimeS=t,this.isDebug=e,this.previousQ=new r.Quaternion,this.previousTimestampS=null,this.deltaQ=new r.Quaternion,this.outQ=new r.Quaternion}return t.prototype.getPrediction=function(t,e,i){if(!this.previousTimestampS)return this.previousQ.copy(t),this.previousTimestampS=i,t;var n=new r.Vector3;n.copy(e),n.normalize();var o=e.length();if(o<20*Uv)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(Gv*o).toFixed(1)),this.outQ.copy(t),this.previousQ.copy(t),this.outQ;var a=o*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(n,a),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(t),this.previousTimestampS=i,this.outQ},t}(),ay=function(){function t(t){this.coefficients=t}return t.prototype.distortInverse=function(t){for(var e=0,i=1,n=t-this.distort(e);Math.abs(i-e)>1e-4;){var r=t-this.distort(i),o=i-r*((i-e)/(r-n));e=i,i=o,n=r}return i},t.prototype.distort=function(t){for(var e=t*t,i=0,n=0;n<this.coefficients.length;n++)i=e*(i+this.coefficients[n]);return(i+1)*t},t}(),sy=function(){this.angularAcceleration=null,this.angularVelocity=null,this.linearAcceleration=null,this.linearVelocity=null,this.orientation=null,this.position=null},cy=function(){this.leftDegrees=0,this.rightDegrees=0,this.upDegrees=0,this.downDegrees=0},ly=function(){function t(t,e,i,n){this.viewer={id:"CardboardV1",label:"Cardboard I/O 2014",fov:40,interLensDistance:.06,baselineLensDistance:.035,screenLensDistance:.042,distortionCoefficients:[.441,.156],inverseCoefficients:[-.4410035,.42756155,-.4804439,.5460139,-.58821183,.5733938,-.48303202,.33299083,-.17573841,.0651772,-.01488963,.001559834]},this.device={widthMeters:.11,heightMeters:.062,bevelMeters:.004},this.depthNear=.01,this.depthFar=1e4,this.yawOnly=i,this.accelerometer=new r.Vector3,this.gyroscope=new r.Vector3,this.filter=new ry(t,n),this.posePredictor=new oy(e,n),this.isFirefoxAndroid=Wv(),this.isIOS=jv();var o=qv();this.isDeviceMotionInRadians=!this.isIOS&&null!==o&&o<66,this.isWithoutDeviceMotion=Kv()||Xv(),this.filterToWorldQ=new r.Quaternion,jv()?this.filterToWorldQ.setFromAxisAngle(new r.Vector3(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new r.Vector3(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new r.Quaternion,this.worldToScreenQ=new r.Quaternion,this.originalPoseAdjustQ=new r.Quaternion;var a="undefined"!=typeof window?-window.orientation*Math.PI/180:0;this.originalPoseAdjustQ.setFromAxisAngle(new r.Vector3(0,0,1),a),this.setScreenTransform_(),Zv()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new r.Quaternion,this.orientationOut_=new Float32Array(4),this.previousTimestampS=Date.now()}return t.prototype.getPosition=function(){return null},t.prototype.getOrientation=function(){var t;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ){this.deviceOrientationFixQ=this.deviceOrientationFixQ||function(){var t=(new r.Quaternion).setFromAxisAngle(new r.Vector3(0,0,-1),0),e=new r.Quaternion;return"undefined"!=typeof window&&-90===window.orientation?e.setFromAxisAngle(new r.Vector3(0,1,0),Math.PI/-2):e.setFromAxisAngle(new r.Vector3(0,1,0),Math.PI/2),t.multiply(e)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||((i=new r.Quaternion).setFromAxisAngle(new r.Vector3(1,0,0),-Math.PI/2),i),t=this._deviceOrientationQ;var e=new r.Quaternion;return e.copy(t),e.multiply(this.deviceOrientationFilterToWorldQ),e.multiply(this.resetQ),e.multiply(this.worldToScreenQ),e.multiplyQuaternions(this.deviceOrientationFixQ,e),this.yawOnly&&(e.x=0,e.z=0,e.normalize()),this.orientationOut_[0]=e.x,this.orientationOut_[1]=e.y,this.orientationOut_[2]=e.z,this.orientationOut_[3]=e.w,this.orientationOut_}var i,n=this.filter.getOrientation();t=this.posePredictor.getPrediction(n,this.gyroscope,this.previousTimestampS);var o=new r.Quaternion;return o.copy(this.filterToWorldQ),o.multiply(this.resetQ),o.multiply(t),o.multiply(this.worldToScreenQ),this.yawOnly&&(o.x=0,o.z=0,o.normalize()),this.orientationOut_[0]=o.x,this.orientationOut_[1]=o.y,this.orientationOut_[2]=o.z,this.orientationOut_[3]=o.w,this.orientationOut_},t.prototype.getPose=function(){var t=new sy;return t.orientation=this.getOrientation(),t},t.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),Zv()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},t.prototype.getFrameData=function(t){var e=this.getOrientation(),i=this.getEyeOffset(),n=this.getEyeProjectionMatrix();return t.pose.angularAcceleration=null,t.pose.angularVelocity=null,t.pose.linearAcceleration=null,t.pose.linearVelocity=null,t.pose.orientation=e,t.pose.position=null,t.timestamp=this.previousTimestampS,t.leftProjectionMatrix.set(n.left),t.rightProjectionMatrix.set(n.right),iy(t.leftViewMatrix,e,i.left),iy(t.rightViewMatrix,e,i.right),t},t.prototype.start=function(){if("undefined"==typeof window)return function(){};var t=this.onDeviceMotion_.bind(this),e=this.onOrientationChange_.bind(this),i=this.onMessage_.bind(this),n=this.onDeviceOrientation_.bind(this);return jv()&&function(){if("undefined"==typeof window)return!1;if("undefined"==typeof document)return!1;var t=window.self!==window.top,e=ty(document.referrer),i=ty(window.location.href);return t&&e!==i}()&&window.addEventListener("message",i),window.addEventListener("orientationchange",e),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",n):window.addEventListener("devicemotion",t),function(){window.removeEventListener("devicemotion",t),window.removeEventListener("deviceorientation",e),window.removeEventListener("orientationchange",e),window.removeEventListener("message",i)}},t.prototype.getEyeOffset=function(){return{left:[.5*-this.viewer.interLensDistance,0,0],right:[.5*this.viewer.interLensDistance,0,0]}},t.prototype.getEyeProjectionMatrix=function(){var t=this.getEyeFieldOfView(),e=this.depthNear,i=this.depthFar,n={left:[],right:[]},r=t.left.upDegrees*Uv,o=t.left.downDegrees*Uv,a=2/((c=t.left.leftDegrees*Uv)+(l=t.left.rightDegrees*Uv)),s=2/(r+o);n.left[0]=a,n.left[1]=0,n.left[2]=0,n.left[3]=0,n.left[4]=0,n.left[5]=s,n.left[6]=0,n.left[7]=0,n.left[8]=-(c-l)*a*.5,n.left[9]=(r-o)*s*.5,n.left[10]=i/(e-i),n.left[11]=-1,n.left[12]=0,n.left[13]=0,n.left[14]=i*e/(e-i),n.left[15]=0;var c,l;r=t.right.upDegrees*Uv,o=t.right.downDegrees*Uv,a=2/((c=t.right.leftDegrees*Uv)+(l=t.right.rightDegrees*Uv)),s=2/(r+o);return n.right[0]=a,n.right[1]=0,n.right[2]=0,n.right[3]=0,n.right[4]=0,n.right[5]=s,n.right[6]=0,n.right[7]=0,n.right[8]=-(c-l)*a*.5,n.right[9]=(r-o)*s*.5,n.right[10]=i/(e-i),n.right[11]=-1,n.right[12]=0,n.right[13]=0,n.right[14]=i*e/(e-i),n.right[15]=0,n},t.prototype.getEyeFieldOfView=function(){var t=this.viewer,e=this.device,i=new ay(t.distortionCoefficients),n=t.screenLensDistance,r=(e.widthMeters-t.interLensDistance)/2,o=t.interLensDistance/2,a=t.baselineLensDistance-e.bevelMeters,s=e.heightMeters-a,c=Gv*Math.atan(i.distort(r/n)),l=Gv*Math.atan(i.distort(o/n)),h=Gv*Math.atan(i.distort(a/n)),u=Gv*Math.atan(i.distort(s/n)),d=new cy,p=new cy;return d.leftDegrees=Math.min(c,t.fov),d.rightDegrees=Math.min(l,t.fov),d.downDegrees=Math.min(h,t.fov),d.upDegrees=Math.min(u,t.fov),p.leftDegrees=d.rightDegrees,p.rightDegrees=d.leftDegrees,p.upDegrees=d.upDegrees,p.downDegrees=d.downDegrees,{left:d,right:p}},t.prototype.onDeviceOrientation_=function(t){this._deviceOrientationQ=this._deviceOrientationQ||new r.Quaternion;var e=t.alpha,i=t.beta,n=t.gamma;e=(e||0)*Math.PI/180,i=(i||0)*Math.PI/180,n=(n||0)*Math.PI/180,this._deviceOrientationQ.setFromEuler(new r.Euler(e,i,-n,"YXZ"))},t.prototype.onDeviceMotion_=function(t){this.updateDeviceMotion_(t)},t.prototype.updateDeviceMotion_=function(t){var e=t.accelerationIncludingGravity,i=t.rotationRate,n=t.timeStamp/1e3,r=n-this.previousTimestampS;return r<0?($v("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),void(this.previousTimestampS=n)):r<=.001||r>1?($v("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),void(this.previousTimestampS=n)):(e&&(this.accelerometer.set(-e.x,-e.y,-e.z),i&&(Yv()?this.gyroscope.set(-i.beta,i.alpha,i.gamma):this.gyroscope.set(i.alpha,i.beta,i.gamma),this.isDeviceMotionInRadians||this.gyroscope.multiplyScalar(Math.PI/180),this.filter.addGyroMeasurement(this.gyroscope,n)),this.filter.addAccelMeasurement(this.accelerometer,n)),void(this.previousTimestampS=n))},t.prototype.onOrientationChange_=function(){this.setScreenTransform_()},t.prototype.onMessage_=function(t){var e=t.data;e&&e.type&&("devicemotion"===e.type.toLowerCase()&&this.updateDeviceMotion_(e.deviceMotionEvent))},t.prototype.setScreenTransform_=function(){switch(this.worldToScreenQ.set(0,0,0,1),"undefined"!=typeof window?window.orientation:0){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new r.Vector3(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new r.Vector3(0,0,1),Math.PI/2)}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},t}(),hy=[0,0,.5,1],uy=[.5,0,.5,1],dy=function(){function t(t){var e=this;this.renderer=t,this.sensor=new ly(.98,.04,!1,!1),this.scale=1,this.cameraL=new r.PerspectiveCamera,this.cameraR=new r.PerspectiveCamera;var i=this.sensor.start();this.dispose=function(){var t=e.renderer.getSize(new r.Vector2);e.renderer.setScissor(0,0,t.width,t.height),e.renderer.setViewport(0,0,t.width,t.height),e.renderer.setScissorTest(!1),i()}}return t.prototype.render=function(t,e){var i=this.renderer.getSize(new r.Vector2);if(i.width>i.height){var n=t.autoUpdate;n&&(t.updateMatrixWorld(),t.autoUpdate=!1);var o={x:Math.round(i.width*hy[0]),y:Math.round(i.height*hy[1]),width:Math.round(i.width*hy[2]),height:Math.round(i.height*hy[3])},a={x:Math.round(i.width*uy[0]),y:Math.round(i.height*uy[1]),width:Math.round(i.width*uy[2]),height:Math.round(i.height*uy[3])};this.renderer.setScissorTest(!0),this.renderer.autoClear&&this.renderer.clear(),null===e.parent&&e.updateMatrixWorld(),e.matrixWorld.decompose(this.cameraL.position,this.cameraL.quaternion,this.cameraL.scale),e.matrixWorld.decompose(this.cameraR.position,this.cameraR.quaternion,this.cameraR.scale);var s=this.sensor.getEyeOffset();this.cameraL.translateOnAxis((new r.Vector3).fromArray(s.left),this.scale),this.cameraR.translateOnAxis((new r.Vector3).fromArray(s.right),this.scale);var c=this.sensor.getEyeProjectionMatrix();this.cameraL.projectionMatrix.elements=c.left.slice(),this.cameraR.projectionMatrix.elements=c.right.slice(),this.renderer.setViewport(o.x,o.y,o.width,o.height),this.renderer.setScissor(o.x,o.y,o.width,o.height),this.renderer.render(t,this.cameraL),this.renderer.setViewport(a.x,a.y,a.width,a.height),this.renderer.setScissor(a.x,a.y,a.width,a.height),this.renderer.render(t,this.cameraR),this.renderer.setViewport(0,0,i.width,i.height),this.renderer.setScissor(0,0,i.width,i.height),this.renderer.setScissorTest(!1),n&&(t.autoUpdate=!0)}else this.renderer.render(t,e)},t.prototype.dispose=function(){},t}(),py={zh:{TITLE:"眼镜模式",HIT:"请将手机横屏放入 VR 眼镜中"},en:{TITLE:"GLASSES MODE",HIT:"Please put the mobile phone horizontally into the VR glasses."},ja:{TITLE:"メガネモード",HIT:"携帯電話をVRメガネに水平に入れてください。"}},fy="undefined"!=typeof navigator&&null!==(ey=py[navigator.language.split("-")[0]])&&void 0!==ey?ey:py.zh,my="\n<style>\n.$id {\n all: initial;\n position: absolute;\n overflow: hidden;\n display: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.$id-modal {\n width: 100%;\n height: 332px;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n overflow: hidden;\n pointer-events: none;\n will-change: transform;\n animation: $id-modal-fade-in 0.3s ease 1;\n}\n.$id-modal-bg {\n background: rgba(0, 0, 0, 0.75);\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n}\n.$id-modal-bg-line {\n height: 1px;\n background-image: linear-gradient(\n 85deg,\n rgba(162, 177, 255, 0.3) 1%,\n rgba(120, 126, 255, 0.8) 30%,\n rgba(147, 218, 255, 0.8) 66%,\n rgba(250, 255, 184, 0.3) 92%\n );\n}\n.$id-modal-bg-wave svg {\n width: 375px;\n height: 61px;\n display: block;\n}\n.$id-modal-content {\n color: #ffffff;\n padding: 0 14px;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n overflow: hidden;\n}\n.$id-modal-content-title {\n font-size: 17px;\n font-family: sans-serif;\n line-height: 18px;\n padding: 20px 0;\n font-weight: bold;\n}\n.$id-modal-content-hit {\n font-size: 14px;\n font-family: sans-serif;\n line-height: 24px;\n opacity: 0.85;\n}\n.$id-modal-content-guide {\n position: relative;\n width: 168px;\n height: 139px;\n margin: 36px auto 0;\n}\n.$id-modal-content-guide-cardboard {\n position: absolute;\n width: 100px;\n height: 82px;\n left: 68px;\n top: 57px;\n}\n.$id-modal-content-guide-cardboard-image {\n width: 100px;\n height: 82px;\n background-image: url(".concat("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADqCAMAAAAvZYhaAAAC/VBMVEUAAAD///99fX37+/v5+fn29vbx8fHv7+/Nzc3o6Ojq6urh4eHU1NTR0dGDg4Pl5eWSkpLHx8fj4+Pe3t7X19fAwMDZ2dnCwsKrq6uioqLb29uNjY2enp67u7t5eXmAgIC2traWlpa5ubnKysqmpqZycnKHh4eurq6ysrKKioqDg4Pd3d12dnb9/f1vb2/s7OxlZWXz8/OoqKiZmZlpaWmbm5teXl7W1tbJycnExMRiYmJsbGywsLCPj49aWlq9vb1UVFRYWFhra2t+fn7t7e1RUVFOTk6Dg4OAgICCgoKKioqEhISIiIhqamqCgoKIiIiQkJCIiIiWlpawsLBmZmaAgICenp6Li4uBgYGTk5OMjIyVlZWFhYWCgoKvr6+Ojo59fX2SkpKvr6+Ojo6QkJCurq6BgYGxsbF8fHx4eHitra2enp6srKyJiYmurq54eHj5+fl+fn57e3v////5+fnS0tLAwMCVlZWwsLCurq5QUFCtra2EhISUlJSwsLCUlJSUlJSlpaWVlZW3t7diYmLAwMCFhYV3d3f///+tra3///9XV1eampqnp6d8fHz///////9VVVVlZWVtbW3+/v5SUlKcnJytra28vLzGxsbR0dHX19doaGiWlpafn5/Hx8ezs7Nzc3Nubm7AwMCIiIjj4+NTU1P29vZbW1vl5eVkZGTMzMxYWFjq6upfX1/k5OT////4+PjV1dWkpKRoaGj4+Pizs7Pm5ubAwMCfn5+vr6+urq4wMDCxsbG2tra5ubliYmIuLi6zs7NHR0empqY0NDRCQkKqqqo5OTmoqKg7OztfX19dXV1oaGikpKRkZGStra0hISE/Pz89PT0pKSlmZmZJSUlERERbW1s2NjZVVVUmJia7u7uEhIRXV1dZWVlLS0tOTk6srKxqamojIyNTU1MrKyuAgICCgoJRUVFra2ttbW13d3dxcXFvb299fX1zc3N2dnZ5eXl8fHyHh4eSkpKenp6Ojo6VlZWMjIyYmJihoaGcnJyJiYmamprZ2YdEAAAAunRSTlMAs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7P9s7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Oz+QSzswb9DiH3FyI57Jn1ajgu7uHYmIgr8OHHwqVOQybv6OZuUvTt3dHPrIeFSNVgLCAWD9/UqKebiH1iXVTczcvKvambhnBuY/vGrKqjlHlzVDj37s/Fw7+tpJGAeN7VzcWTgGJNQ8O9u7iko5aVjvbNsa+so1pd3mNGAAAqAElEQVR42uzZzWvTYBwH8DxNmvRlfVNr17Wl05a9dISyiugO4qVQ2g1pVyx2Q7QKCoIivgxF1HnTXbbDDnNDJ8iQHcQX8O3We1t6GnjJyYPSuTmdf4C/ZE260U5rl6bJ2g8Pu2zP5cvz++ZJhilOcOxcfPHq/NuFhVcftK8WXizeCGItFWKKX5x/23Zk3/6OPr1+j0mr1fkpkuxXv5luBbbZWPzevEWjMRja2iCrvXs3stJRFGRFEDhOT1xv5QWCkYvPPtosFg+XFZyrvSYdRUJEBA4Igg2LRuBhk+cVOndv3uWyWm0DlqMajWafXkcSNNrexA2sSQ1dvPK+86DruNUGWRn6dGoa/dvk9BjWbMLxZ7e7e3ogK5fVZtBTOKrew6Y6Xufu3Qm0d3f3dEJWGj1Fo/81dbU52isUf2T3etvZrHoG9vtxVKOJm9guF049ddrt3gBkdVCzh0DlWtO4YejT00OHnU44VwHXPgqJ4PV1bFeKDD8xH4Cs7PaAtY9AYpncfeUFSR0zc1l5B/Q4EhW9q+KCpHodXFYBjxZxWnFtk9SZrl4uK6/Hj+pmWvlxDQ2fMRq7eh0OSIpCW7Ti2iJ8/4zK7WazcloqJtUaxqLweFSl4rI6ZNOhylpxsUKpqFsF3EazS4ukNLmIKcuJpFHF6erUI8lNKeiaGrl7WcUxtu+nUUO8VsZLEDz8VBy33YCjxnko+1dsrtI5hz1q1GATcm76YCrpVnHMVgrJgWwfjCN3u1Sc3k4TkgtZNv3QcLHS3Wyly4ncqis8/qSYlFNDINl5IZ9ZDKaifFHZSCRLkzKZxZEkX1QHtUi+ZDCLQlEZ2/uQzDX2c0T4vjzuntWaatiVPiQU1YEBoahoRMNCNRBzv9zuqCNJo1BUdGU4jcOiqyDhfgmLvryoOnClkfRwhcehqDh2A4ErkGTNBa9+paLClUqSK2rkrnCjMhFK9mYMqy+4Jwhf8wjlIWcvjcYGGYbxxUZvmd6V93w9XmicHpJQmD0zifM+ZovYzFWsjMifiB0urVpRyMeJmI+pyBnCxBcaF8avQ60kL58nYkyJ78f3leUvXwqrP9e/MqzBCCaykWRp/NTKQT0fHfzN8L79WlteSm9S+MUdt2t16XR4+vVXTd2vhtVfRrL9cw9ijGB9rZDOgPRm+XxunQGnRD9Ubm8bqRgvZ0Z9woFaX81lNqQzW7MCKwy4IE5T8YfKbNWRSmG6FCtN3upSNpspKosKLBXY6jorxuPPyF+pSKWYezDIFP1YyWXYpLJlSeWFqNi0fFD7O235VFTFOWbVUjUiKRIWBaTZP5vgk/r2vZDOgkylAczD4tMCy5DW6R2V+vBlvqkohZhN8DX1dY09UkJW5b0uJMXJ/dzRIEaKpe5wmShlmEv4hOHLf84WlU8gEKLi5Zagtk5itTkR5f/trvNvj/JTsKr4Xf3366GnhKSy2WJWmZJKpypfDCoHVmHriZpu6hvzZ+zu0HH8kBj8+KvKfyfN/j/UnclvG1UcxxGnhGxKaVIIioBEosi9gVAaCSkHkFhFgAOrBEIgDixCnOAAAgmVG1cEZ7jxHzi2YzvYcWyP3cRNY6e1J2sdJ7bjbLXTLOL73rzFz88TGqip+cyLZ+kMJB++v988jwN0fSJMFb1JIFxxXXq3kq4wCIjWw/+gVT3G6+++/wOtP7wmMuUVooASqtmNQim/6djd36tUyuX9o930WnZrXagCJdwQnz3lc+JvrVb16MXW+/4P/PaRg3X0AstUUm1WRil7VIn5xzkeD74EU4fl3c0CVC0bG/iLvHi6rs7vf60ncR9E4kXbVvcbf724+a2VZpMUdCuhysgfHS5xR1KVR+dyZQdvrNdOdT9851X+IWnr/wDR0h15I2kmuSwK8eQetwG+dGP+4200rW9Oq+r8/a3NT9cPH/K3x+tRSJKx8haObvqvXx8fx8CLrokOLBp/7q69daq5An5BtrWL0trVitHFkcea4M9/FY2qGBGhQreKFNI3x68TdFXSGIaO3+P3e6a+vK1Uvc+ev7R1NT1i7pktxU3AVEU2HIee64JxDCy1lrgqrBVV3Ne7r/ztZMFq6w+NtHWdUeg604Vhu62f2/Dr277m8wQ0KqkqvnkMUSo2uWKFWKvKTxaMy1+c7Oq7Tuu9ctuZZucX/mnD5kbUpCSBkT6AG00VXNkJ0/BzYeCxk2L1Ki3AnjNtZzDaFGqPnXROw6//46vnHWmHNaMyhari/iS86EAThgYNVd0ZBM0V5U37mdXnZF51/kJbc9Mr5wmzTJSZjG7tuXVTateyK0U9WXR1oq0PHiaz9fa25kY0qp31ZIaHKn8LEYEOLDpSVI0w2dv5SvoS/F5/wkBcPYH/Is791WC3DcNuXz+3oddXzxMyXFUBmQJWZ1Kxb1oeeVPUVPF82dt6Ea4e7r+/iRnCPIG6Wit5M1zV+v6YNMDE6NiUIPmqh99aGPrs9OXH4GoY39KF+y9o4KB+XD8HNOz6vs9ek40qg4Vg7E5JUdZig83NUE7h9ZuhYLJ2vvUs6e0DfVVc6LtAwErsY9gepzTs+l8/WuPzhCQyRWPlzR6M12Bri/4Rhh6setGCKMXWz8/VzK/g6nxfczLE737ZQiQDiKpoibZ0NVeQYhcs20Kki4rfGsQY0G+JL6BhPdnX19vXS8BKbst9sVaQ5zTm+h9G0w5HGsvWbIZhzh45x+tio4pmyq4SdagqDI7br3zq+jYaVktv8/HHG8+z8ltPilBt36Sh0pNFZdzmNMvjnIzdPK5Ubh0fHsRik6oq4Fei9XP1nRBF+EDvWYXes70YyrZyTDt+56/HM2KaKtz95rkqY99pdWUdmyJURTljt/Y3C7ORqMB6ompsrZUP3doMntMpZX2L5zHtZ5uLDv5AYdswM4zk9oEw5dFUKcL0jjVWLpq5mXDIlUpM5PhDeWEMzkwzshlTmrxUNiUeMj/XiWCdBUNnhwTYwbDbVtaUO3s9OhXBkS1G55Eqind3TE636+pi9aZNGpbKxZxrenpl5Uo4HE75XC5XYC4TEb4iUpdZONBuh8DtFj3+A9Kx2sFQ+xAFGwLsYNhuC+7g9QiV1dS3Z2GKsVHxezgyWZov7Z4Y21kNTFNWgA+2Ai5CYAKf9AhhEalrR86zJO7Jl5msV3ErbG8aLrFnL1aosJD624kJUWypmyzZ6qm0qWwGgWKsEK4FwuGQJcsVMr0WoiKT1FaexkpNlt/dyaoQ84aB9uag47OXECmwbWTmCRkQP3J6JGp71xsXS9ZSOpqaBqqra1dC4USKuAKpjBdIXyRcNFtIFhC+3BjuGHsHTaqwg9De0Y5B14BuA2Xf7pw7cv2ljzBTgKxsKQJPzJWxJ+pP6lKipfs63JiBH10VcKEQ4YqSMr0CIouHa1/t7sgVhvUW8XU8Re5oAj57ic+pTOqJpqp4rImCKm5Kr0Ow5w1M18JcXQGkxwcYoSj9CF+my7KVPKhtWRjv8pb1YMfd5hKefZJUkTkVsGSZedGqVF+gfo937mZuMD+aKyaLdC3mKhWYicOVECYaVxx2PGq03JdfILLQsh7p6GjpaMGgawX1mN05//L6H0bp3S+dRagY6OrZSevGpCCCpatypxeuTduoYrkCrnAiHOC2Urk4gCvFlmkeacGy6vBlTN+7tR+QLjp25/2b61s+hSaSqq34vMBSRVuHrqtez/KXvSGIsXXFZd24weswRUC0KN64Yis6SaIlVRE+svp7Z8vdA/VnzRQ2kqurMlVrl627Ud0iBDVPPPeMYDi1cmKs4MqSFbLqMEUJRfHLRlXhYm3edCjJosKW8Hs13+PznJa7xXujaTpVwPSzSlXUAVUED1noi16JUtgtIxGGAKUEtdbOVIFAOBGCKiZrdRayLF1xflckn9M6FVtu0rbwbxN8jF/Uxrc92DKIYa0BVicfA+r26a8f/PQlqwC3IsSU7FVjXBXXpCNq8KAQ9LlCiitNFZCufIFEIsxzFQpdhSyqS9qihVjmomSLf4w+nnlq8C7QjfojqcpumKsyVfPm9pRf4lGalpYsZ3bB5fP5UgjWFRtXTJV05XNBFhEFVSA4q9mihVjA31h44k2LzhwGL14cvDhIwQaGsmaIff3c019/CQ+KHaz+qmNViklR9Lu1D5anEgn4XD7MMOHKZ+NKVQWxVFYCrhhhwzCYL2JLFuJYdRVSZQf33PMjHjngB+m+2E3BBoayBnxbX1NOe/17L1lPP0uov2pXxZt+BXE71J1NbgXhicpCEQbsVNWXNROStuIGELbkLbGi1iDwv0hldf+nkFYFWdmiSU0J4hV62wF/27PKpgv4YApFWL9haaq4K9fMTDAk8RrSFtNFu9amlMV9fUxkne/+7xjGVJ2kKrucWaWIiVXayfKu2tJ9TRUSSBRVhVdShDdOaFcM6coVDEpZ4VDUkLZEISJa62qwAKalnUTWMKV7uJuCDQxlDcS2ft5tX49WRVOFVqWqyuSnSNAxavDU+tozXdQUf4GrgH2srimqAFpclSxcnDQseLJ414q6hS0erd+JrMeH8X/UODeMcQ7IbbwAbVs/9zavHxh1ULZYq5IlaBy6qStVkx6tpe0gc4SBxSrCldtrV8AFAnNzc0wVkWUajNpoxVgFimjhcenDkHXuv+C9Uev9XzGphAqYu043hf9TlCgzh0NvgBcfXuiPXq8IV6avKa5uSFeE1NzcBI8VMJeXZbRmq6J1LBoW84UHD/fiffS5xvMTujppVeu8VUlbxZjbggdeLUEmy7+f8wFY4g2LBStVq2paUwVXMlihiYk5pgokMsvVtiCLt/g9tWWBnyFLJKvnXI8CDgiwg6GstXPsr/8UXR1kDThSSzATKbsFfvqlNS1weTtIJbHyoyvW3a+oroDqSlUVCIQhK8xVJSALCFmA1+GuejMEB1RWT2NhqnbisKS6ymQKU+5q1Dr0sNeYEWB5wop90X1tiqXfBVVXYObq1SBTJWQpXYvJyrJYyWjFGi5rBKpIr8p7V3PClZgv7ON7cApRdBG3RA+rxMOIiyCDhQFEsPRYAZtYgbmFhSCPFZivKwu2xERL6Joisp7uGRnpGenBoGsNebz+OSP214+QaRVk5SM57mpeulqOOYFbhaqSuioZmiQ2A1WGOndHt1Jc6d3K4ipkcVdqstRZ/DYVVc0SldU/Iugf6SdgpW4DrPTj9Jjd9f3szXIpmsvxUMkKNNc0VVrHKi8SR0wTT5XQhh9Zzt0VVbauUqGFxcUZ4WpmBrJAtay41eHzRJXa4oms8/2NgfWqUjIHVxzhKnqLqHLSFylLMVZegBjpCJvKfgrBkqki6K5UVZCVWFxcJKY0WUDp8HnpqfGyfnrGAdYKJlelPF7IrP/ppKI0xORhfwFCmCTmSN1nHcv+LsiQrvBoZm5x8SoTBVVclt60aLKsRZU1MDDQP9CPQdcCdV85DsQ1QL9+YDRNVBUzMCVKcFW62hyzTPFcqdECe0QVF0M3a/fJ5zQiVnbtClTFCiws5ia4KhA8QRa+Dz1ZDwzccf6i7Wx60zjCON5PEPVoq5WcRFGd+ugoN/fUSy9VT1UPTXuu1EPVr5B7T/02wAG0ZrFZMAjMshCVBRziXTCOncR2Xtqq/3nZfXZmdrdJtf15CsYiCvzyf56dmd3iH3msLv2kqvGCTnK9KcVAmNbfMf4e8xSRoor5GO29JlTlzq5UV028Ipu5EtiZyXIuKVP/r6zfWLd6Xg0ByQLUrqQo9mXqetep14D0wi3pj6m9K0dBmlw909uV2Ege4gUlVNm2nyWL9aw0Wbfv3r199zbGXUDfp9wDeh491v78Y97XF0qzwojOMw+OSgQKUWtZjXUfnVtEiVbNxuO6WOlAFLnKjFW86T5bLKZwJbFJljF3OIMqNihgJSGrWH5m3aoNU2Zj5639sKzI0nS9rD05aMJWnCQxKtpjUYVP02IFjKOgPD/Rx2sZkqocWa0zocpMVqH8FmAV2AoBqUq4Om+UFNQavOohLMzWQSV70hBPsqAqyxWeRLKEKWAh4mRKkaVPtDLLUHD/9n2M24T2c/qe7s3nRa7SGju46JZLZUOXFHbYEoUlL9GrKY7Ux/xYCFm5rurkittqLsaTKalieFClL6VlsjRKvAx37xcJjoNBNX2+AC5MVRiSPyrRKeQabFWAsn9Fj8EIT8ieiFY4SgWC5hCvwOaNPcbPkZWWrHtFuvpmJ4CrDFVwBUoYiitRi0dh4nQ7XByY+1fyMQOV+kw7h0qySBXVIGiGvh+qroZZyXLMZCmy9u7vcfANBr+X0GP6efpzfsZc9DyUpqgCJes5c0XZSs61dmqRKsCjpe9fyccCrO6eGCcGZQkKDFVN2/d9y04wHJIshiJLC1ZJytrb3t7b3vtg8Icw6J6BCdbzlKOgYNngwUrT1ZioV+ixHj8y9q8SJpC8FFdKCequmgvf8xVVubIUU/yGy9ouir3vMGtwVFOTCL+zXxaUjGRd1bUp03EFNvT9q0pEnbWskdKujlNjBejkxNBrtdzYFFylyBpklWFJytrcLoyvsHI25wsc33kHT13Zs9Sp1sUTc+9O1GEtMRLUR81+XTw5P1cHUhbfbve8ieLKlAXSZfHGymVtbCtsbG9g0L3AfGz+DMEKfNnYSRTwJ773ttyFKoZWhQ3e2RVXgO3sqftXMlR1puKg368oqgD5NHIF+pbXclxhKlZlWSmyqjkNHrKKAh1rrbgax678V1DVFclS29b1QeqqhS1nlKkoIBXNvl0zF86mKnLV8x1nbAukKbh6H1liBQuKlLX9eCc4pQv4FFX+ZVfUoJGtmxq19mRd8aZF+1cUKw7WdzWtBOk5HM1Vf4rFsStFkSur9T6yMNh/hSbr252dM2VuRa46h10AX1HTinj+xFBFsmj/KqIuwVTpmXJunlzRslkg9pDtllMdQ5USq3xZpCqRrE83dnc3djc4+AaD7kH69wT9mdOdYBD3dYnP8f7sCihYGGBtlqA0wGdaVIEUKw7e8zN1O4ZUyRIckSowgQDLpmYVkS+LhGEIWbvF8BjtfUKqkrL+mHNT+Ooq04e2VoLJsEhZZqwAzsGTLHPdzKBYgV4IAaGq6v2TVRIjlnVv9x5Gjgl6jvaYvkcVXgpVlCvBct6VtqJgiduqkiutXeNd1pOx4pAsqyYTyEjaVEtQbLdbeP9eXIGEazm5sshXXIb3igHHQlmFZIrjXXNXZYzIF6/DTnasuKxePVYFyBR84B3XUtqV2q+aUa7sFvZdrKEkocp1nZx5FonCbbGyNoOdoJUswUiVFyBYXJc6e1iqsyv9hHu/J2XVKVjSBpdVORbdioJl5Eqe7uotOp3BLBJFuMD51+VOKRL2n2Vt3tvEUH6EiUMwmcSpIledxnwOVaIQqRQv8nIFcMCrU2OnVAlZrjtiz8xuVwhVJGsKV75ZgS6YVvNk0RwrTtbDzQ8GogweYeJAswVy5b2BK6ji0Gzr1VNylXrdmU2yDFcHtus2a0oJGjPROFduZzCoWqqpmGr+Fk0JQ/giWUXwbbBzThUo8ECbu5pryXp7DFV5ripox5DFRgx1JHs6tckVSHfVA1Zn0B5MaWYF3FjXtJMnq0TJKlgWtkjbhilwI13FTYuxX08/DJKrOt4bTOnNSuro4cQyyapndHaosodVaAgVVZIpY5CzU0ozB5L1oBhZ2HHoKK6EreW8MQdQlZg/dMOnubkCIws9XK9AmmvikgW2GMpy1U+6OlkYzQqqhCxypcsSoZKmSNanRbDJtrLiXuVhCP5qxLLk/AGyXuS2q/hyxmSqaFrOmYZhP32PoZl0ZTvtk5NxiirhajY7yT4VBleA6yJZdwqR9SAIdjytBoFzCFGNuAzn3NWfx6kLHEVW33JtowRJlhWGrrp1BVRXYIj+vfRJFfUqwSxUZAE6yQpV0XGwcFmPg+DUFyQ/sveMqeLQEXHeI1dmu5IGcLzrGc2KsLETNKKjIKkiV7ZtdZbLZUtLFUxJUMqTrAk8ZJGqFFkPP32I8Z9l4XShVoEtjLeNhm6rfGLmSnMFrOm0KVxpoZJOwvHYUkrQdDVtL5erhCuJNDWdAT9TVkbPuvOwCLBL+tIHpIoFq81UUYfnvM09CkpXB3g/IzVWZIpJGWKtcJCUSapkv1qcLFcrzyhAyhXIWhqKnhVDsj5+8GFaHjx8gKF//10QvFRccU4bgFciNflQqCJZhivQw9shVXqsQD/0/YXZregw6EDVapKnCnSMCTzJolApsooAyXohRZErVOG8S1XIm/zrfzkMCqzZbGi4IlUwMsS/y1SLFR0GwxOoWoYZfV26ov5uXlN6SaqKl/UoCM6oswucKg8WG7Jn4Wb2Pq5GeCN9vQKpK3ErM/xFbl1tV1KVW12BgZsbq4z+LibwkAVSZN0pgkfsSj9SJbiAK64qttW9TlFlbqD3wzA8SDdFK+QJ/oaZ3q6gyvJWDD/jEEiEmS0LZaiKKmNA1lZxsmRjp9/e8gqqulKXtLXObVfSFZtGTXVXTXIltNg+/gq/py1w3NYKnHdm2jKQKlCCf492xvydl6FGGcnaKkjWt0FwQaakrOsGo5s4JM6beq5SN9DDxcJWelWTXAlTgNnCW5tY9GNrMmCmzpdjbXvBzBVceeSKggXgytNllVGGW1tbX3xcBNhUXsMUpQoMeKgYcSG+1qYMRqyYIj7lRBUarihV0ta4WsVmVdVf4N0vJk57xThf+i65Sq3BcBaCQWzK/L8zLzVT2AkXsu4U8IVkrePGLmWtSRRuOOdmripaCYLZYjxLqcB+BF3oOHUGoA3YDJSnaqCmapqeKuC1iYGy1mkZZVgWsm4VlCzIIleC5w2gHhCHWTUY5wr0sTttG65IlnJVaNhqA6wBIet8NfBmlkCqipuV4Wqiu1I+rOCFago3hx9t3br1ScGy6NcnvWkA0gX2kwvn9HYF3MlkYajSChAjwgonLQfv1PFDV18HZsQKjAe6q2SwvD+MYB19dKtAWeeaq+p1QpVo8jfHuisJ5Qp2sCtm6Y29T644NqGcj3+vZgX8DFcyWP6NMmtgXHNZXxTBT7jkT/t1i51GgjnP1lq7kkNr7YIptsWapCq9/kiVJHsfJkXVuKqp0j9fxb+OXTFZ7Ot7LiuFL2AQNwr5z2HJckgWY9VQmMNXKGXJvavU/fM+NsXcgxxZdhI9VUBVhaHLWjgkKuOTezrJboVb8IjLKoSfgmBFseK80GRhjPTODvQz7ljGTJLLQF1VzzBFqvKPgYJFa8AtER3jM6H8QG3vZfBDobLOhSoMwU5Dt3VE7SrzOlmbLfnSZ6HATutWZqqymxVUqXSUz8+SRei/k6IAbkC3/AuT9XkhsnByZ8XrD0NyYwTrylg3V8zLZFstv5k9tSJRdmZbp1QRslc5eqRErvRP/XvBTQlfksbXXJbGJ7CHG+NxPl/KMqwSfzc05qdQlZcr2Bni5VoyVn1KlV6Bw+liylWRK5dildHYJ06y8MSd+Zl/kNXaj0qQovX6I8j67PMCkLKqBF7B/uGhZuuEYpVx7WfPbzl+/mzBcs5ujso4nVC+Wrt5qlRXC6+ajBRhfvamfxNNGOQd6P4KWbBVmKwqgRfQNoLVmNQEGbGCnxCbYMMcV8OTqzK2MCP21yQrt7GPW51UqqSKXJ1Sa2eI0+i/C1kJPoc53KSS/xwui2KFsTxs6MlyyVVdm10JPxbCGZIqo1d1jqSpEh/gapYWK0LWn2mJ00n5BFz/MpqJ8iF9/UPdufy4FMVx/MYf4E9ghURELMQCEa/Em3gl4hWPeEYICfGKJREiQbARwULEwoYVG4nGdWk7DUHTpEbbSKudajvtdDpjiO9533POvUXNovOZ03tvaybRT76/X29Oz22HFzvOZLgaFfRk9YAqVBm+XofWIPODhVQvou9NV6pZ9Yl3XCBKbOKfIatdqlJJ4UShdNmfrVyBKAypiq0rQxU655GsUZaFVFH6XatnSVd2CQK68hNFGNrYS/rVwriRjRfVp/f0XoUpr0BMVfJTu4fUrAxTRcvQewhZmyYjW+P/CH4Jo92xkKW+nLnieUawmsKVWr6gvQmRwd9mQpoVSGWpKYrbHPn14znLl/tCr0BFKvn2z6JAVLarYlNkSgFXiTUOODt+FJCyVKzwwpx2abQwBC0RKztXdJoTf55sc2L16xkn0UrX6/VKJf+Lta5E7ItExeorXlgZ7TyBqKzAF0MsUloRYiSy1x2wdzRl+VX1fBjyzKbVCHcFW5/IH78SqmxXVeGqWahX4IrQ4k2sZKr6+jmp5tZszK+wIPTGBhNSk4AvsV7rEHaOoqzvSIbv+9EHPbMOK1IVMFcnvCITxF/0SSv/+XrG5a7ieRIrThOuSLz6NFOpXu2dEwzbEtkwkkRWD2JKMHQxV+4xh7ByPJhoMX7ieIx/eYzI0r93vwVVTJcwVtVipbl69+otWSXLVGGItq5s/XzGSdcr3FU+X5ma4E2s1StNiWVPXJhC1Jz5tTvF/qEfwhJumih62+pQFp+XrjrHkPWBEhuBKKZLUISsQFewk8RffOOuguasPgtXkYoEtvL8839wa5VTeFOILZeWvgA1YsD+4W2sXME3vBuz7eqknW5Ac5UDeNMaTVkfhKsPPzyKqxrXC7tdEZirWCxFVYXMhMqZy2FpqpIHaf+Viz9+9hejKeFLCdN0vYiVapX0UKvp6ZLIjeBTxVb9ZI84nOVE1jj8UHBggofsx+3fYbI+SFexGG9ZdMPola6YKVWD5I2WJDElZBmqECxBi5mSNOWZFycbHx78ma7U+2u1avk7KFf76pV8+ufgwPBIHIaC4ReNajXIxlFHsonI+m+kLOmq6HFcaetrmCvMXObeolUFpIrbasgLyYaoK6WL9zKurBNYm2I7lSn2Qgi2LHEkqxGtUZKlVElZvGlhgIxWgkIVrqyJ5YpRX6iMXIFMVs4vpVkBKnjP6VzYczp8mVLtCsQ3Oz7OTkS0JozDmEBRx9p9sQ8CD0tZMbgilDyOOjd9yVQZrf0bVBWTsGRXoJw37ucXdGKDUGmuCqKbdZoqtgU4Yqp4pNh2nUNQXQu2JvwvkFWWqkCu7ElcLuwVZL3mqHYFVcWUZsqeNI6TOqFPx9ViVSDEO1dFN2xIEmzw9cJ3HJ1j49HBR11WVakCLuG9cKVi9eVDEWTet3EFWz1EFQtAxG+K2po69B/Bko3KbuzAdAUWn8Xr4KjIinGw4CJX8wTy5PT1a721v3sZhalSz0tblRRF+cmvu8OI533AFEiPdGBJDtxUosSOxyp7xrFYdoVEa9qEaRLcwQg7Nh8TsqQrdKFcn67KxU7UIFf1qbdI+Bz0GkhVCVlf3OeAxWAEiiAJgzKVfL1mw+3Ektjo9ccjxWwddkK+cxu2/odF+XyZq6IUIcvQFddq8GMyR2P1UU5Z2Y2dU3quGC5I8ixXYPBfMqV2ovz08wXFRSeQ5ePAf8kSycpRW9DQ7wFN1483cpLhZaqnCEq5b/Y7p/ZbXAPi0js8tQGRLLqHK0qTS7BRZjD8Z1X22TobuCFTuN3a54SwGZWEaE2aNkmAQ3VfYf473wtZOaYK1D0D90dPNPWNLTorUlXFVFizAsrV1yxXRdi97ezeYzv2btq2gqWL2GqkG54qMrPo9DwxUdp8FdtiT1WJEjy0ywll1RVia1LHkDKkqopwRah4Js0ecXIPSqWeb6+Eq/bLPMp4BrL/yqeweMe2pdQXsdUYpI1a5gZH1n3ey7kms1OpMyuYIu1qsdOGlReQrM5tIVnVWIyqCpHljlBXOWYq9fIdxzZlXJk0wOqDPTH/c1i2aSnt9JDVGGalBrgZ677csKHBSlBxaL3TniVHaFl1LqsMVUJWqZiPeBFPo/UpQ+Yvk5+/fnylFqUZbd12lXETgL9SHTRex8+TUkQxNhpxJkKLkryv7TVFdKuRTRzc54Sigk1VTfcxafokjND76jGaLCJKuCoVInCly8LscQfrrGKsQJix7VZBjC/kQSHfiHBH8rRAv6+EAX+3Ms4Ysof2ifS2Z/kF4qoj0LOqyhUoQI/ua8CWFe4KprisRgIIYWcC/tPbWLrSEV909HNzw5DogapPgSwzddgswHCWXJ/+37JKjKmGKshqs35PmrKClYknfNx1Alh2diNk5ac2lSpgqbLbFDY8sbdObj91+OL6E84/sWrSnOlzMJgCHAB2v83jAGVYU65AOuIZXWuQuQqvwMBFoaVE1hetsG6y+ey2rSumYsGIhpkoYYjYOXhy+5RTZw5fPLdv/a7jRuH9Q7jmdALpWdSUkgU8U1bQREzblY6ZEchSvv5UJLsunpm7/eTBPZyDB08eOrR9+1xoOXP48F2Y2bd+/S5bTudsuD1n4ZyFFBxQcIBB90HgYVKGJSHrOwZk0aalhA3JVGmEqqKy8uJTIRgnnG5jyfWZC2diLMSYyVH3sQHiWOxJskrSFWa+GzRZRJiUxVWFL3S01+8Vhaosve1xupANt2f+I0hWjasCTJan6xoSrmxVGNyUvoI25mYpohK3O93Ikmv/KGs/GjxVpWSxaPnKMGx6L2z53reSuqiTHRx2uhOEawZl5oyZGHQPxLHYa7KUq3K5wWIl4wVZfzqzErK4qlRNXqkoivGc06UsucZU/R378/k+WoJKlkCWoW0K2C+BGETV57wLU9SWzNcup2vZcHvGX4Nk9clYwRVkCVHY0O2QPb1nNytAVJFPNiWuXP7DuOV0MSRc/5AsnyozWRiQZTWr4AtuMlDVOwBHTJfilNPVbJg9e8ZspgMHGHyvHuMcgCzlyp8ssqUHg393bdI38qEj0WEXJKgvDC6ta1uWDNfs9ihZ/T5V1XI6IvHYGNBOQkMueMO1g3D19he1BF3UlajE7jsltcL117KkKsiqTo1oQNeAOWllX5uUgSq46vmhXafIo9XtVcjDNWv2rNkYs+QeGI8dKBQgi4vCqBYMV16kpdefHSuooq5ycSFJ9i2ycdc7Y4ENj2f9CSSrXhZUQT5i4A0HTcT4U8VX7dcirglsjY1g0XBd+pOse5AlTYXI4t3KMsVVcVfpIFVgz3FnrLDq8R9lVZQqUImYNImq4NfAr0lxNciLlhvMky4+IbVYfGnerFnzZs3DCJRVKFSUqlqtVo/EDVnxb8SUfWUSQiWvyPoed4O5OXZyRVl5dV4495Gsalm4Av1wZZAMUIVQ+a5eS7NVgjZblzhjjYdtZeWlKmoLdgxfL4zP/mKhArwGY7+gCsMicsUZgyx7wNQsmLcAQ5rC4VMpq8aJWHxI4mMqpCryPr66eg1UInLJrs7lY87YZMPpBYE8giyVKtAXj5vJKiahpPcz/QrpqH71WjL6YdgD3JSWsN0rnbHKkkuhsmqQVeWq+oisiO6rytejv6XAEweuVKzUVRlc23hnLLPyKtUzf8F8DLbHEWT1iVBRWSMRostvq94LW/rVRzxXMcRKiBI/LFvNvc4Y5wb8mGASvi5l9YGBOGRp0Wr0MlvUl9whVr/bO3fdtmEoDPNJ0r1P0UW+oKC1GGjRJoCBdKinwB09B/DgIICHvELRIQ+RQYuHnqxdjI42ejMqVWpguUWPKNJHFKtKBZJBlD5YpucPh8c/aRLeeHSOK/vgFHzBak93bsgaY3ZIVUl+eQCgVdZPcTsE5RCJqs+/lSrSJUvrhFkBX+RkJdmBXCFr1bRA+drjpp52uS35fPPDWxYQnzFbuJo6zhPnIOt6g5s06QxEfN8PAPGytQUf0JbQRbK+x4YjlR9eDpg9dOdOFjEPv0hXiMgOoJXWe7rblnIbLuWms8mz+oX2kozqEOdrLC1hSpJWVjZB+HS1TSjbgDyWZALPmXXwhdNxOvhCWz20JVyluoIYQKiiyRhqNwG/RvLsiGdW18WI2chw2pEkpRWgLEUICk9V1zf6X56bMKMqz6s+s5QrpWuc2PIlQbBSogAO+XR1Ky6afvy0AuGKniXhPWIWI3U5vdRW4AcCkJArJN7d7SLtlx9VW8pXbdfN/6frfJPYUq58cqWivBpIlTrFRcJOObOe4SKx1Vsj20Cwjam01JODjiUpcbaE9jL4W9Hkla7tNgTI9XgxmtChiMie0F5G/930+vX6wOOsKvinKDlaFdrL4XOcipIACOpcxco820J7BfhsLH1F+jyUQxE2hvYqdEezo8lk8hQIavQFwiwN7ZV5Awa0+Mnh1nen/Z44BkLv9DljYHVorwbfgwGtf4iL2u+03weXYKJKi5pXE0J7FU5Bw8zz+N6Q0F4OD4EwvhWRJoX2UoZhUY9PZ2PYrNBewuAODLzDUMPjMQ8Kd6GIaMZaclxG8FfcIWsxGLkxGOzazl7AYKLn09idtd2qmP7ZiZsK24fHR20MLafPB6O2UTWAP1yGz7GpTmekAAAAAElFTkSuQmCC",");\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-content-guide-phone {\n position: absolute;\n width: 58px;\n height: 56px;\n left: 0;\n top: 0;\n}\n.$id-modal-content-guide-phone-move-x {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-x 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-move-y {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n animation: $id-guide-move-y 4s cubic-bezier(0.42, 0, 0.23, 0.98) 0.5s infinite;\n}\n.$id-modal-content-guide-phone-blink {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n will-change: opacity;\n animation: $id-guide-blink 4s 0.5s infinite;\n}\n.$id-modal-content-guide-phone-image {\n width: 58px;\n height: 56px;\n background-image: url(").concat("data:image/png;base64,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",');\n background-size: 100%;\n background-repeat: no-repeat;\n}\n.$id-modal-close {\n position: absolute;\n top: 20px;\n right: 14px;\n width: 14px;\n height: 14px;\n}\n.$id-modal-close svg {\n width: 14px;\n height: 14px;\n display: block;\n}\n\n@keyframes $id-modal-fade-in {\n 0% { transform: translate3d(0, 100%, 0); opacity: 0.5; }\n 100% { transform: translate3d(0, 0, 0); opacity: 1; }\n}\n@keyframes $id-guide-blink {\n 0% { opacity: 0; }\n 7% { opacity: 0; }\n 12% { opacity: 1; }\n 29% { opacity: 1; }\n 34% { opacity: 0.3; }\n 39% { opacity: 1; }\n 44% { opacity: 0.3; }\n 49% { opacity: 1; }\n 80% { opacity: 1; }\n 100% { opacity: 0; }\n}\n@keyframes $id-guide-move-x {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(70px, 0, 0); }\n 100% { transform: translate3d(70px, 0, 0); }\n}\n@keyframes $id-guide-move-y {\n 0% { transform: translate3d(0, 0, 0); }\n 57% { transform: translate3d(0, 0, 0); }\n 80% { transform: translate3d(0, 58px, 0); }\n 100% { transform: translate3d(0, 58px, 0); }\n}\n@media screen and (orientation: portrait) {\n .$id {\n display: block;\n }\n}\n</style>\n<div class="$id-modal">\n <div class="$id-modal-bg">\n <div class="$id-modal-bg-line"></div>\n <div class="$id-modal-bg-wave">\n <svg width="375" height="61" viewBox="0 0 375 61" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <linearGradient x1="0" y1="0%" x2="0" y2="100%" id="$id-2y6_dj_hgp">\n <stop stop-color="#8598FF" stop-opacity="0.15" offset="0%"></stop>\n <stop stop-color="#000" stop-opacity="0" offset="100%"></stop>\n </linearGradient>\n </defs>\n <path transform="translate(187.5, 30.5) scale(-1, 1) translate(-187.5, -30.5)" fill="url(#$id-2y6_dj_hgp)" d="\nM0,1\nC83.001,1.706 140.146,4.164 171.435,8.374\nC218.369,14.688 253.467,26.308 273.002,33\nC292.536,39.691323.501,51 343.709,56\nC357.182,59.333 367.612,61 375,61\nL375,0\nL0,0\nL0,1\nZ\n"></path>\n </svg>\n </div>\n </div>\n <div class="$id-modal-content">\n <div class="$id-modal-content-title">').concat(fy.TITLE,'</div>\n <div class="$id-modal-content-hit">').concat(fy.HIT,'</div>\n <div class="$id-modal-content-guide">\n <div class="$id-modal-content-guide-phone">\n <div class="$id-modal-content-guide-phone-move-x">\n <div class="$id-modal-content-guide-phone-move-y">\n <div class="$id-modal-content-guide-phone-blink">\n <div class="$id-modal-content-guide-phone-image"></div>\n </div>\n </div>\n </div>\n </div>\n <div class="$id-modal-content-guide-cardboard">\n <div class="$id-modal-content-guide-cardboard-image"></div>\n </div>\n </div>\n </div>\n <div class="$id-modal-close">\n <svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg">\n <defs>\n <radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70%" id="$id-ho0itsc4p9">\n <stop stop-color="#FFF" stop-opacity="0.75" offset="0%"></stop>\n <stop stop-color="#FFF" stop-opacity="0.22" offset="100%"></stop>\n </radialGradient>\n </defs>\n <path transform="translate(-3, -3)" fill="url(#$id-ho0itsc4p9)" fill-rule="nonzero" d="\nM16.791,3.198\nC17.044,3.438 17.067,3.814 16.860,4.080\nL16.791,4.156\nL12.144,9.331\nC11.803,9.711 11.803,10.288 12.144,10.668\nL16.791,15.843\nC17.044,16.084 17.067,16.460 16.860,16.725\nL16.791,16.801\nC16.538,17.042 16.142,17.063 15.864,16.867\nL15.784,16.801\nL10.000,11.250\nL4.215,16.801\nL4.135,16.867\nC3.857,17.063 3.461,17.042 3.208,16.801\nL3.208,16.801\nL3.139,16.725\nC2.932,16.460 2.955,16.084 3.208,15.843\nL3.208,15.843\nL7.855,10.668\nC8.196,10.288 8.196,9.711 7.855,9.331\nL7.855,9.331\nL3.208,4.156\nL3.139,4.080\nC2.932,3.814 2.955,3.438 3.208,3.198\nC3.486,2.933 3.937,2.933 4.215,3.198\nL4.215,3.198 L9.999,8.749\nL15.784,3.198\nC16.062,2.933 16.513,2.933 16.791,3.198\nZ\n"></path>\n </svg>\n </div>\n</div>\n');function gy(t){for(var e=1,i=document.getElementsByTagName("meta"),n=0;n<i.length;n++){var r=i[n];if("viewport"===r.getAttribute("name")){var o=(r.getAttribute("content")||"").match(/initial\-scale\=([\d|\.]+)/);o&&(e=Number(o[1])),isNaN(e)&&(e=1)}}return my.replace(/\n/g," ").replace(/\ +/g," ").replace(/\$id/g,t).replace(/(\d+)px/g,(function(t,i){return function(t){return Math.floor(t*e)+"px"}(Number(i))}))}var vy=new r.CircleBufferGeometry(.12,16),yy=function(){var t=he(),e=new r.Texture;return t.onload=function(){if("undefined"!=typeof document){var i=256,n=document.createElement("canvas");n.setAttribute("width",String(i)),n.setAttribute("height",String(i));var r=n.getContext("2d");if(r){r.drawImage(t,0,0,i,i),r.globalCompositeOperation="source-out";var o=128;r.beginPath(),r.lineWidth=6.4,r.arc(o,o,83.2,0,2*Math.PI),r.strokeStyle="rgba(255, 255, 255, 1.0)",r.closePath(),r.stroke(),e.image=n,e.needsUpdate=!0}}},t.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC",e}(),Ay=function(){if("undefined"!=typeof document){var t=document.createElement("canvas");t.setAttribute("width",String(512)),t.setAttribute("height",String(512));var e=t.getContext("2d");if(e){var i=256;return e.beginPath(),e.arc(i,i,192,0,2*Math.PI),e.fillStyle="rgba(255, 255, 255, 0.1)",e.closePath(),e.fill(),e.save(),e.beginPath(),e.arc(i,i,192,0,2*Math.PI),e.strokeStyle="rgba(255, 255, 255, 0.5)",e.lineWidth=10.24,e.closePath(),e.stroke(),new r.CanvasTexture(t)}}return null}(),xy=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256;i.arc(n,n,192,0,2*Math.PI),i.fillStyle="rgba(85, 90, 255, 0.6)",i.shadowBlur=25.6,i.shadowColor="rgba(255, 255, 255, 0.6)",i.fill(),i.arc(n,n,192,0,2*Math.PI);var o=i.createRadialGradient(n,n,0,n,n,n);o.addColorStop(0,"rgba(255, 255, 255, 0.0)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.0)"),o.addColorStop(1,"rgba(255, 255, 255, 0.2)"),i.fillStyle=o,i.fill(),i.lineWidth=4.8,i.arc(n,n,187.2,0,2*Math.PI);var a=i.createLinearGradient(0,0,0,t);return a.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),a.addColorStop(.2,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.8,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=a,i.stroke(),new r.CanvasTexture(e)}}return null}(),by=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256,o=179.2;i.arc(n,n,o,0,2*Math.PI),i.fillStyle="rgba(255, 255, 255, 0.4)",i.shadowBlur=25.6,i.shadowColor="rgba(255, 255, 255, 0.6)",i.fill(),i.arc(n,n,o,0,2*Math.PI);var a=i.createRadialGradient(n,n,0,n,n,n);a.addColorStop(0,"rgba(255, 255, 255, 0.0)"),a.addColorStop(.5,"rgba(255, 255, 255, 0.0)"),a.addColorStop(1,"rgba(255, 255, 255, 0.5)"),i.fillStyle=a,i.fill(),i.lineWidth=4.8,i.arc(n,n,o-4.8,0,2*Math.PI);var s=i.createLinearGradient(0,0,0,t);return s.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),s.addColorStop(.2,"rgba(255, 255, 255, 0.0)"),s.addColorStop(.8,"rgba(255, 255, 255, 0.0)"),s.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=s,i.stroke(),new r.CanvasTexture(e)}}return null}(),wy=function(){if("undefined"!=typeof document){var t=512,e=document.createElement("canvas");e.setAttribute("width",String(t)),e.setAttribute("height",String(t));var i=e.getContext("2d");if(i){var n=256,o=217.6,a=64;i.lineWidth=a,i.arc(n,n,o,0,2*Math.PI),i.strokeStyle="rgba(147, 162, 255, 0.3)",i.shadowBlur=25.6,i.shadowColor="rgba(255, 255, 255, 0.6)",i.stroke(),i.lineWidth=a,i.arc(n,n,o,0,2*Math.PI);var s=i.createRadialGradient(n,n,185.6,n,n,249.6);s.addColorStop(0,"rgba(255, 255, 255, 0.5)"),s.addColorStop(.3,"rgba(255, 255, 255, 0.0)"),s.addColorStop(.7,"rgba(255, 255, 255, 0.0)"),s.addColorStop(1,"rgba(255, 255, 255, 0.5)"),i.strokeStyle=s,i.stroke(),i.beginPath(),i.lineWidth=4,i.arc(n,n,245.6,0,2*Math.PI);var c=i.createLinearGradient(0,0,t,0);return c.addColorStop(.02,"rgba(255, 255, 255, 1.0)"),c.addColorStop(.1,"rgba(255, 255, 255, 0.0)"),c.addColorStop(.9,"rgba(255, 255, 255, 0.0)"),c.addColorStop(.98,"rgba(255, 255, 255, 1.0)"),i.strokeStyle=c,i.stroke(),new r.CanvasTexture(e)}}return null}(),My=function(t){function i(){var i=t.call(this)||this;i.progress=0,i.opacity=0,i.loading=!1,i.current=!1,i.disabled=!1,i.opacityMotion=new Zm({opacity:0}),i.loadingMotion=new Zm({opacity:0}),i.currentMotion=new Zm({ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.5,circleScale:1});var n={blending:r.CustomBlending,blendSrc:r.SrcAlphaFactor,blendDst:r.OneMinusSrcAlphaFactor,blendSrcAlpha:r.OneFactor,blendDstAlpha:r.OneMinusSrcAlphaFactor,depthWrite:!1,transparent:!0};return i.hitTestMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{color:0,opacity:0}))),i.hitTestMesh.scale.set(1.5,1.5,1.5),i.centerMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:xy,opacity:0}))),i.centerMesh2=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:by,opacity:0}))),i.ringMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:wy,opacity:0}))),i.loadingMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:yy,opacity:.8}))),i.disableMesh=new r.Mesh(vy,new r.MeshBasicMaterial(e.__assign(e.__assign({},n),{map:Ay}))),i.loadingMesh.visible=!1,i.disableMesh.visible=!1,i.hitTestMesh.position.z=0,i.ringMesh.position.z=.003,i.disableMesh.position.z=.002,i.centerMesh.position.z=.002,i.centerMesh2.position.z=.002,i.loadingMesh.position.z=.005,i.hitTestMesh.frustumCulled=!1,i.centerMesh.frustumCulled=!1,i.centerMesh2.frustumCulled=!1,i.ringMesh.frustumCulled=!1,i.loadingMesh.frustumCulled=!1,i.disableMesh.frustumCulled=!1,i.add(i.hitTestMesh),i.add(i.centerMesh),i.add(i.centerMesh2),i.add(i.ringMesh),i.add(i.loadingMesh),i.add(i.disableMesh),i.renderOrder=1e4,i.needsRender=!0,i}return e.__extends(i,t),i.prototype.setProgress=function(t){this.progress=t,this.setLoading(t>0)},i.prototype.setOpacity=function(t){this.opacity!==t&&(this.opacity=t=Rm(t,0,1),this.opacityMotion.set({opacity:t},30).catch(Pt))},i.prototype.setCurrent=function(t){if(this.current!==t){if(t){var i=[{progress:0,value:{ringScale:2,ringOpacity:0,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.05,value:{ringScale:1,ringOpacity:1,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.15,value:{ringScale:1.2,ringOpacity:1,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.25,value:{ringScale:1.1,ringOpacity:1,circleFade:0,circleOpacity:.5,circleScale:1}},{progress:.8,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:1,circleScale:1}},{progress:.9,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:1,circleScale:.8}},{progress:.92,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:1,circleScale:.8}},{progress:1,value:{ringScale:1.1,ringOpacity:1,circleFade:1,circleOpacity:.3,circleScale:1.1}}];this.currentMotion.setKeyframes(i,1500).catch(Pt)}else{i=[{progress:0,value:e.__assign({},this.currentMotion.value)},{progress:1,value:{ringScale:1.1,ringOpacity:0,circleFade:0,circleOpacity:.5,circleScale:1}}];this.currentMotion.setKeyframes(i,200).catch(Pt)}this.current=t}},i.prototype.setLoading=function(t){this.loading!==t&&(t?this.loadingMotion.setKeyframes([{progress:0,value:{opacity:0}},{progress:.3,value:{opacity:0}},{progress:1,value:{opacity:.8}}],500):this.loadingMotion.set({opacity:0},0),this.loading=t,!0===this.disabled&&this.setDisabled(!1),this.needsRender=!0)},i.prototype.setDisabled=function(t){this.disabled!==t&&(this.disabled=t,!0===this.loading&&this.setLoading(!1),this.disableMesh.visible=t,this.centerMesh.visible=!t,this.needsRender=!0)},i.prototype.tap=function(){return Promise.resolve()},i.prototype.updateTime=function(t,e){this.opacityMotion.update(t),this.currentMotion.update(t),this.loadingMotion.update(t);var i=this.opacityMotion.value.opacity,n=this.currentMotion.value,r=n.ringScale,o=n.ringOpacity,a=n.circleFade,s=n.circleOpacity,c=n.circleScale;if(this.ringMesh.scale.set(r,r,r),this.centerMesh.scale.set(c,c,c),this.centerMesh2.scale.set(c,c,c),this.ringMesh.material.opacity=o*i,this.centerMesh.material.opacity=(1-a)*i,this.centerMesh2.material.opacity=a*s*i,this.loadingMotion.value.opacity>0){this.loadingMesh.visible=!0,this.loadingMesh.material.opacity=this.loadingMotion.value.opacity,this.loadingMesh.rotateZ(-e/200);var l=this.opacityMotion.value.opacity,h=1.1;this.centerMesh.scale.set(h,h,h),this.centerMesh2.scale.set(h,h,h),this.centerMesh.material.opacity=0*l,this.centerMesh2.material.opacity=.2*l}else this.loadingMesh.visible=!1;this.needsRender=!0},i.prototype.dispose=function(){this.currentMotion.dispose(),this.opacityMotion.dispose(),this.loadingMotion.dispose(),this.ringMesh.material.dispose(),this.disableMesh.material.dispose(),this.centerMesh.material.dispose(),this.loadingMesh.material.dispose()},i}(r.Object3D),Ey=function(t){function i(e){var n=this,r=i.parseArgs(e);(n=t.call(this,r)||this).cardboard=new dy(n.renderer);var o,a,s,c=(o="five_vr_helper_"+Dr(),a=gy(o),(s=document.createElement("div")).className=o,s.innerHTML=a,s);n.helperElement=c;var l=new Zg(c);return n.element.parentNode&&(n.element.parentNode.insertBefore(c,n.element),n.setHelperElementSize(),l.on("tap",(function(){return n.emit("vrWantsToExit")}))),n.destroyHelper=function(){l.destroy(),c.parentNode&&c.parentNode.removeChild(c),delete n.helperElement},n.boundingMesh.visible=!0,n}return e.__extends(i,t),i.parseArgs=function(i){var n=e.__assign(e.__assign({},i),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return t.parseArgs.call(this,n)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.cardboard.dispose(),this.destroyHelper();for(var e=0,i=this.panoMeshes;e<i.length;e++){var n=i[e];this.helper.remove(n),n.dispose()}this.panoMeshes.length=0},i.prototype.isReady=function(){return!1},i.prototype.updateRenderSize=function(){this.needsRender=!0,this.setHelperElementSize()},i.prototype.updatePanoMeshes=function(){var t=this;this.panoMeshes.forEach((function(e){t.helper.remove(e),e.dispose()})),this.panoMeshes.length=0;for(var e=0;e<this.work.observers.length;e++){var i=this.work.observers[e],n=new My;n.name="panoSphere_".concat(this.work.workCode,"_").concat(e),n.position.copy(i.position),n.needsRender=!0,this.helper.add(n),this.panoMeshes[e]=n}},i.prototype.updateTime=function(t,e){var i,n;if(!this.destroyed){this.needsRender=!0;var o={},a={};if(!1===this.locationMotion.ended){this.locationMotion.update(t);var s=this.locationMotion.getKeyFrameSegment(t),c=s[0],l=s[1],h=this.panoResourceFromLocationMotionKeyframe(c),u=this.panoResourceFromLocationMotionKeyframe(l),d=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),f=h.position,m=u.position,g=this.locationMotion.value.count-l.value.count+1;o.modelAlpha=this.locationMotion.value.modelAlpha,o.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),o.useBlackTransition="instant"===u.effect,u.panoPicture&&(g<1?h.panoPicture&&(o.pano0=h.panoPicture):o.pano0=u.panoPicture,o.pano1=u.panoPicture),"fade"===u.effect&&(o.pano0&&h.panoPicture&&(o.pano0={map:o.pano0.map,luminanceMap:o.pano0.luminanceMap,matrix:h.panoPicture.matrix.clone().setPosition(u.position)}),f.copy(m)),o.progress=g,a.distance=this.locationMotion.value.distance,a.offset=new r.Vector3(f.x+(m.x-f.x)*g,f.y+(m.y-f.y)*g,f.z+(m.z-f.z)*g);for(var v=[],y=[],A=0,x=this.locationMotion.keyframes;A<x.length;A++){var b=x[A],w=b.key,M=b.progress;void 0!==w&&(v.push(w),M>=this.locationMotion.progress&&y.push(w))}for(var E=0,S=Object.keys(this.panoResources);E<S.length;E++){var _=S[E];if(!(y.indexOf(_)>=0)){var T=this.panoResources[_];if(T.panoPicture){var C=T.panoPicture.map;if(C){if(C===(null===(i=o.pano0)||void 0===i?void 0:i.map))continue;if(C===(null===(n=o.pano1)||void 0===n?void 0:n.map))continue;C.dispose(),T.panoPicture=null}}v.indexOf(_)>=0||delete this.panoResources[_]}}this.currentPanoIndex=g<.5?h.panoIndex:u.panoIndex,this.emit("movingToPano",p.panoIndex,d.panoIndex,this.locationMotion.progress)}!1===Xg(o)&&(this.model.setMaterial(o),this.boundingMesh.setMaterial(o)),a.offset&&this.camera.position.copy(a.offset);var I=this.camera.pose.longitude,P=this.camera.pose.latitude;this.camera.quaternion.fromArray(this.cardboard.sensor.getOrientation()),this.camera.updateMatrixWorld(),this.camera.computePose();for(var R=this.work.observers[this.currentPanoIndex].visibleNodes.concat(this.currentPanoIndex),B=0;B<this.work.observers.length;B++){var L=this.work.observers[B];if((N=this.panoMeshes[B]).visible=!0,L.loadable||L.active){if(-1===R.indexOf(B))N.visible=!1;else{N.visible=!0;var D=N.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);D<.05?N.setOpacity(0):N.setOpacity(Rm(1.5/D,0,1)),this.currentPanoIndex===B&&N.setOpacity(0)}N.lookAt(this.camera.position)}else N.visible=!0}var O=this.intersect(t);for(B=0;B<this.work.observers.length;B++){null==(N=this.panoMeshes[B])||N.setCurrent(N===O)}for(B=0;B<this.work.observers.length;B++){var N;(N=this.panoMeshes[B])&&N.updateTime&&N.updateTime(t,e)}I===this.camera.pose.longitude&&P===this.camera.pose.latitude||(this.cameraMotion.set(Xe(this.camera.pose,["longitude","latitude"]),0).catch(Pt),this.emit("cameraDirectionUpdate",Xe(this.camera.pose,["longitude","latitude"]),!0),this.emit("cameraUpdate",Yg(Xe(this.camera.pose,["longitude","latitude","fov","offset","distance"])),!0))}},i.prototype.render=function(){this.cardboard.render(this.scene,this.camera)},i.prototype.setCamera=function(t){},i.prototype.destroyHelper=function(){},i.prototype.setHelperElementSize=function(){if(this.helperElement){var t=new r.Vector2(this.element.offsetWidth,this.element.offsetHeight),e=t.x*this.scissor.left,i=t.y*(1-this.scissor.bottom-this.scissor.height),n=t.x*this.scissor.width,o=t.y*this.scissor.height;this.helperElement.style.marginLeft=e+"px",this.helperElement.style.marginTop=i+"px",this.helperElement.style.width=n+"px",this.helperElement.style.height=o+"px"}},i.prototype.intersect=function(t){var e;if(!1===this.locationMotion.ended)return this.intersectMesh.visible=!1,delete this.activePanoMesh,void delete this.activeTime;if(this.activePanoMesh&&this.activeTime&&t-this.activeTime>1500){var i=this.activePanoMesh;return(l=this.panoMeshes.indexOf(i))>=0&&this.moveToPano(l,{},!0),delete this.activePanoMesh,delete this.activeTime,i}for(var n=this.camera.getWorldDirection(new r.Vector3),o=new r.Raycaster(this.camera.position,n),a=void 0,s=[],c=this.work.observers[this.currentPanoIndex].visibleNodes,l=0;l<this.work.observers.length;l++){var h=this.panoMeshes[l];if(-1!==c.indexOf(l)){var u=o.intersectObject(null!==(e=h.hitTestMesh)&&void 0!==e?e:h,!0)[0];u&&s.push({panoMesh:h,intersection:u})}}var d=s.sort((function(t,e){return t.intersection.distance-e.intersection.distance}))[0];if(d?(a=d.intersection,this.activePanoMesh!==d.panoMesh&&(this.activePanoMesh=d.panoMesh,this.activeTime=t),this.intersectMesh.position.copy(d.panoMesh.position),this.intersectMesh.lookAt(this.camera.position),this.intersectMesh.visible=!1):(this.activePanoMesh=void 0,this.activeTime=void 0),!a)if((a=this.model.intersectRaycaster(o)[0])&&a.face){var p=a.face.normal,f=new r.Quaternion;f.setFromUnitVectors(new r.Vector3(0,0,1),p),this.intersectMesh.quaternion.copy(f);var m=p.clone().multiplyScalar(.05),g=a.point.clone().add(m);this.intersectMesh.position.copy(g),this.intersectMesh.visible=!0,this.emit("intersectionOnModelUpdate",a,this.intersectMesh)}else this.intersectMesh.visible=!1,this.emit("intersectionHidden");return null==d?void 0:d.panoMesh},i.prototype.onPanGesture=function(){},i.prototype.onTapGesture=function(){},i.prototype.onPinchGesture=function(){},i.prototype.onMouseMove=function(){},i.prototype.onMouseOut=function(){},i}(Hv),Sy=function(t){function i(e){var n,r,o,a,s=this,c=i.parseArgs(e);return(s=t.call(this,c)||this).currentPanoIndex=c.initial[0],s.locationMotion=new Zm({x:s.camera.pose.offset.x,y:s.camera.pose.offset.y,z:s.camera.pose.offset.z,distance:s.camera.pose.distance,modelAlpha:null!==(r=null===(n=s.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(a=null===(o=s.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==a?a:0}),s}return e.__extends(i,t),i.parseArgs=function(e){return t.parseArgs.call(this,e)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.locationMotion.dispose()},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){this.work=t,this.currentPanoIndex=e,this.hideIntersectMesh();var o={duration:0,longitude:i.longitude,latitude:i.latitude,fov:i.fov};return this.moveToPano(e,o,r),!0},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={},n={};if(!this.locationMotion.ended){this.locationMotion.update(t),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),n.distance=this.locationMotion.value.distance,n.offset=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z);var o=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),a=Kg(this.work.observers,(function(t){return t.position.distanceTo(o)}));this.currentPanoIndex=this.work.observers.indexOf(a)}this.cameraMotion.ended||(this.cameraMotion.update(t),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),Xg(i)||this.model.setMaterial(i),Xg(n)||this.setCamera(n)}},i.prototype.initAnimation=function(t,e,i,n){var r,o,a,s=this;this.destroyed||(this.pending=!1,this.userAction=n,this.moveToPano(t,{longitude:null!==(r=e.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:Rm(null!==(o=e.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(a=e.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(t,e){s.emit("initAnimationWillStart",t,e,s.userAction)},moveEndCallback:function(t,e){s.emit("initAnimationEnded",t,e,s.userAction)},moveCancelCallback:function(){var t=s.currentPanoIndex,e={longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:s.camera.pose.distance};s.emit("initAnimationEnded",t,e,s.userAction)}},n))},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:new r.Vector3(e.value.x,e.value.y,e.value.z),distance:e.value.distance}},i.prototype.moveToPano=function(t,e,i){void 0===e&&(e={});var n=this.work.observers[t];n&&this.moveToPosition(n.position,e,i)},i.prototype.moveToPosition=function(t,e,i){var n,o,a,s=this;void 0===e&&(e={}),this.userAction=i;for(var c=Bt(),l=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z).distanceTo(t),h=this.locationMotion.getProgressVelocity(c),u=0,d=1;d<this.locationMotion.keyframes.length;d++){var p=this.locationMotion.keyframes[d-1].value,f=p.x,m=p.y,g=p.z,v=this.locationMotion.keyframes[d].value,y=v.x,A=v.y,x=v.z;u+=Math.sqrt(Math.pow(y-f,2)+Math.pow(A-m,2)+Math.pow(x-g,2))}var b=0===l?0:h*u/l,w=this.calculateMovingDuration(e.duration,l),M={x:t.x,y:t.y,z:t.z,distance:0,modelAlpha:1,perspToOrtho:0},E={longitude:e.longitude,latitude:e.latitude,fov:e.fov},S={longitude:null!==(n=E.longitude)&&void 0!==n?n:this.camera.pose.longitude,latitude:null!==(o=E.latitude)&&void 0!==o?o:this.camera.pose.latitude,fov:null!==(a=E.fov)&&void 0!==a?a:this.camera.pose.fov,offset:t.clone(),distance:0},_=Kg(this.work.observers,(function(e){return e.position.distanceTo(t)})),T=this.work.observers.indexOf(_);this.emit("moveToPano",T,this.userAction),e.moveStartCallback&&e.moveStartCallback(T,S),this.emit("panoWillArrive",T,S,this.userAction),this.cameraMotion.set(E,w).catch(Pt),this.locationMotion.set(M,w,b).then((function(){var t=Yg(s.camera.pose);e.moveEndCallback&&e.moveEndCallback(T,t),s.emit("panoArrived",T,t,s.userAction)}),(function(){e.moveCancelCallback&&e.moveCancelCallback(),s.emit("moveToPanoCanceled",T)}))},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",e,!0)){var i=this.relativeClientPosition(t.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i,!0)){this.emit("gesture","tap",e,!0),this.emit("tapGesture",n,i,!0),this.interiaMovement=!1;var o=this.model.intersectRaycaster(n)[0];if(o&&o.face){var a=o.face.normal,s=o.point;if(new r.Vector3(0,1,0).angleTo(a)>Math.PI/3){var c=this.camera.position.clone().setY(s.y),l=s.clone().sub(c).setLength(.3),h=s.clone().sub(l);n.set(h,new r.Vector3(0,-1,0)),o=this.model.intersectRaycaster(n)[0]}}if(o){var u=o.point.clone(),d=Kg(this.work.observers.filter((function(t){return Math.abs(t.standingPosition.y-u.y)<1})),(function(t){return t.standingPosition.distanceTo(u)}));if(d)return u.y=d.position.y,void this.moveToPosition(u,{},!0)}this.cameraBounce()}}},i}(pv),_y=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).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-aNb-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-<-aNb9-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"),Ty=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(t){return t.charCodeAt(r)>n?t:String.fromCharCode((t.charCodeAt(r)+i)%n)})).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"),Cy=Object.assign({opacity:new r.Uniform(1),scale:new r.Uniform(13.1),panoMap:new r.Uniform(null),panoDisplacementMap:new r.Uniform(null),panoPosition:new r.Uniform(new r.Vector3),panoMatrix:new r.Uniform(new r.Matrix4)},{emissive:new r.Uniform(new r.Color(0)),emissiveMap:new r.Uniform(null),specular:new r.Uniform(new r.Color(1118481)),specularMap:new r.Uniform(null),normalMap:new r.Uniform(null),bumpMap:new r.Uniform(null),shininess:new r.Uniform(30)},r.UniformsLib.common,r.UniformsLib.lights),Iy=new r.SphereBufferGeometry(.01,128,128);var Py=function(){function t(t){void 0===t&&(t={}),this.textureLoader=new yi({allowHosts:this.allowHosts,requestProxy:this.requestProxy,networkSubscribe:this.networkSubscribe}),this.allowHosts=t.allowHosts,this.requestProxy=t.requestProxy,this.networkSubscribe=t.networkSubscribe}return t.prototype.setAllowHosts=function(t){this.allowHosts=t,this.textureLoader.setAllowHosts(t)},t.prototype.setRequestProxy=function(t){this.requestProxy=t,this.textureLoader.setRequestProxy(t)},t.prototype.setNetworkSubscribe=function(t){this.networkSubscribe=t,this.textureLoader.setNetworkSubscribe(t)},t.prototype.load=function(t,i,n,o,a,s,c,l){var h=[0,0],u=function(t,e){h[e]=t,c(.8*h[0]+.2*h[1])},d=[this.textureLoader.load(t,{viaAjax:!0},void 0,void 0,(function(t){return u(t,1)}),l),this.textureLoader.loadCube(i,{viaAjax:!0},void 0,void 0,(function(t){return u(t,0)}),l)];return Promise.all(d).then((function(t){var i=t[0],s=t[1],c={body:function(t,e,i,n){var o=new r.ShaderMaterial({side:r.BackSide,vertexShader:_y,fragmentShader:Ty,transparent:!0,uniforms:r.UniformsUtils.clone(Cy)}),a=e;return a.needsUpdate=!0,a.minFilter=r.LinearFilter,a.magFilter=r.LinearFilter,t.needsUpdate=!0,t.minFilter=r.LinearFilter,t.magFilter=r.LinearFilter,o.uniforms.opacity.value=0,o.uniforms.panoMap.value=a,o.uniforms.panoDisplacementMap.value=t,o.uniforms.panoPosition.value=i,o.uniforms.panoMatrix.value=n,Object.assign(new r.Mesh(Iy,o),{frustumCulled:!1,dispose:function(){this.material instanceof r.ShaderMaterial&&(this.material.uniforms.panoDisplacementMap.value.dispose(),this.material.uniforms.panoDisplacementMap.value=null,this.material.dispose())}})}(i.body,s.body,n,o),meta:e.__spreadArray([i.meta],s.meta,!0)};return a(c),c})).catch((function(t){for(var e=0,i=d;e<i.length;e++){i[e].then((function(t){return t.body.dispose()})).catch(Pt)}return s(t),Promise.reject(t)}))},t}(),Ry=new r.Vector3(-1,1,1),By=function(t){function i(e){var n,o,a,s,c,l,h,u=this,d=i.parseArgs(e);return(u=t.call(this,d)||this).currentPanoIndex=d.initial[0],u.maxAccessibleDistance=d.maxAccessibleDistance,u.panoTapTriggerRadius=d.panoTapTriggerRadius,u.panoCircleMeshCreator=d.panoCircleMeshCreator,u.boundingMesh=u.generateBoundingMesh(),u.boundingMesh.setMaterial(u.model.getMaterial()||{}),u.boundingMesh.visible=!1,u.scene.add(u.boundingMesh),u.panoModelGroup=new r.Group,u.panoModelGroup.name="panoModels",u.scene.add(u.panoModelGroup),u.panoMeshes=[],u.updatePanoMeshes(),u.helper.remove(u.intersectMesh),u.locationMotion=new Zm({count:0,distance:u.camera.pose.distance,modelAlpha:null!==(o=null===(n=u.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==o?o:0,perspToOrtho:null!==(s=null===(a=u.model.getMaterial())||void 0===a?void 0:a.perspToOrtho)&&void 0!==s?s:0}),u.panoResources={},u.panoResources[u.locationMotion.keyframes[0].key=u.locationMotion.keyframes[1].key=Dr()]={panoIndex:u.currentPanoIndex,workCode:u.work.workCode,matrix:null!==(h=null===(l=null===(c=u.model.getMaterial())||void 0===c?void 0:c.pano1)||void 0===l?void 0:l.matrix)&&void 0!==h?h:new r.Matrix4,position:u.camera.pose.offset.clone(),effect:"fly"},u.depthTextureLoader=new Py({allowHosts:u.work.allowHosts,requestProxy:u.requestProxy,networkSubscribe:u.networkSubscribe}),u}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a=t.parseArgs.call(this,i);return e.__assign(e.__assign({},a),{maxAccessibleDistance:null!==(n=i.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(r=i.panoTapTriggerRadius)&&void 0!==r?r:1,panoCircleMeshCreator:null!==(o=i.panoCircleMeshCreator)&&void 0!==o?o:function(){return new Tg}})},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var e,i=this;if(t.prototype.destroy.call(this),this.locationMotion.dispose(),delete this.pendingTextureTask,this.model&&(this.model.visible=!0),this.panoModelGroup){for(var n=0,r=this.panoModelGroup.children;n<r.length;n++){var o=r[n];"function"==typeof o.dispose&&o.dispose()}this.scene.remove(this.panoModelGroup)}this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoMeshes&&(this.panoMeshes.forEach((function(t){i.helper.remove(t),t.dispose()})),this.panoMeshes.length=0);for(var a=null!==(e=this.model.getMaterial())&&void 0!==e?e:{},s=a.pano0,c=a.pano1,l=0,h=Object.keys(this.panoResources);l<h.length;l++){var u=h[l],d=this.panoResources[u];d.panoModel&&d.panoModel.material.uniforms.panoMap.value!==(null==s?void 0:s.map)&&d.panoModel.material.uniforms.panoMap.value!==(null==c?void 0:c.map)&&(this.panoModelGroup.remove(d.panoModel),d.panoModel.material.uniforms.panoMap.value.dispose(),d.panoModel.dispose(),delete d.panoModel),delete this.panoResources[u]}this.interiaMovement=!1},i.prototype.isReady=function(){return!1===this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){this.userAction=r,this.work=t,this.currentPanoIndex=e,this.depthTextureLoader.setAllowHosts(this.work.allowHosts);var o={},a=!0;this.boundingMesh&&(o=this.boundingMesh.getMaterial()||{},a=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.visible=a,this.boundingMesh.setMaterial(o),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.updatePanoMeshes();for(var s=0,c=this.panoMeshes;s<c.length;s++){c[s].visible=!1}return this.moveToPano(e,{effect:"fade",duration:n,longitude:i.longitude,latitude:i.latitude,fov:i.fov},r),!0},i.prototype.updateTime=function(t,e){var i,n,o;if(!this.destroyed){var a={},s={},c=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),l=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),h=!1;if(!1===this.locationMotion.ended){this.locationMotion.update(t);var u=this.locationMotion.getKeyFrameSegment(t),d=u[0],p=u[1],f=this.panoResourceFromLocationMotionKeyframe(d),m=this.panoResourceFromLocationMotionKeyframe(p),g=(new r.Vector3).copy(f.position),v=(new r.Vector3).copy(m.position),y=this.locationMotion.value.count-p.value.count+1;a.progress=y,a.modelAlpha=this.locationMotion.value.modelAlpha,a.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1);for(var A=0,x=this.panoModelGroup.children;A<x.length;A++){var b=x[A];b.visible=b===f.panoModel||b===m.panoModel}f.panoModel&&(f.panoModel.material.uniforms.opacity.value=1-y,f.panoModel.material.depthTest=0!==y),m.panoModel&&(m.panoModel.material.uniforms.opacity.value=y,m.panoModel.material.depthTest=1!==y),m.panoModel&&(y<1?f.panoModel&&(a.pano0={map:f.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:f.matrix}):a.pano0={map:m.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:m.matrix},a.pano1={map:m.panoModel.material.uniforms.panoMap.value,luminanceMap:null,matrix:m.matrix}),h=a.useBlackTransition="instant"===m.effect||"montage"===m.effect,"fade"!==m.effect&&"montage"!==m.effect||(a.pano0&&(a.pano0={map:a.pano0.map,luminanceMap:null,matrix:f.matrix.clone().setPosition(m.position)}),g.copy(v)),s.distance=this.locationMotion.value.distance,s.offset=new r.Vector3(g.x+(v.x-g.x)*y,g.y+(v.y-g.y)*y,g.z+(v.z-g.z)*y);for(var w=[],M=[],E=0,S=this.locationMotion.keyframes;E<S.length;E++){var _=S[E],T=_.key,C=_.progress;void 0!==T&&(w.push(T),C>=this.locationMotion.progress&&M.push(T))}for(var I=0,P=Object.keys(this.panoResources);I<P.length;I++){var R=P[I];if(!(M.indexOf(R)>=0)){var B=this.panoResources[R];if(B.panoModel){if(B.panoModel.material.uniforms.panoMap.value===(null===(i=a.pano0)||void 0===i?void 0:i.map))continue;if(B.panoModel.material.uniforms.panoMap.value===(null===(n=a.pano1)||void 0===n?void 0:n.map))continue;this.panoModelGroup.remove(B.panoModel),B.panoModel.material.uniforms.panoMap.value.dispose(),B.panoModel.dispose(),delete B.panoModel}w.indexOf(R)>=0||delete this.panoResources[R]}}f.workCode===m.workCode?this.currentPanoIndex=y<.5?f.panoIndex:m.panoIndex:this.currentPanoIndex=m.panoIndex,this.emit("movingToPano",l.panoIndex,c.panoIndex,this.locationMotion.progress)}if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(t),s.longitude=this.cameraMotion.value.longitude,s.latitude=this.cameraMotion.value.latitude,s.fov=this.cameraMotion.value.fov),!1===Xg(a)&&(this.model.setMaterial(a),this.boundingMesh.setMaterial(a)),!1===Xg(s)&&this.setCamera(s),this.camera.pose.distance>.1)for(var L=0;L<this.work.observers.length;L++){(k=this.panoMeshes[L])&&(k.visible=!1)}else{var D=this.work.observers[this.currentPanoIndex];if(D){var O=D.visibleNodes.concat(this.currentPanoIndex),N=this.getForwardPanoIndexOrNot();for(L=0;L<this.work.observers.length;L++){var k,F=this.work.observers[L];if(k=this.panoMeshes[L])if(F.loadable||F.active)if(-1!==O.indexOf(L))if(h)k.visible=!1,k.setOpacity(0);else{k.visible=!0;var z=k.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);k.setCurrent(N===L),k.setOpacity(z<.01?0:Rm(1.4/z,.5,.7)),k.updateTime&&k.updateTime(t,e)}else k.visible=!1,k.setOpacity(0);else k.visible=!1,k.setOpacity(0)}}}this.boundingMesh.visible=Boolean(null===(o=this.boundingMesh.getMaterial())||void 0===o?void 0:o.pano0)&&this.boundingMesh.boundingBox.containsPoint(this.camera.position)}},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1],i=this.panoResourceFromLocationMotionKeyframe(e),n=this.work.observers[i.panoIndex];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,offset:n?n.position.clone():this.camera.position.clone(),distance:0}},i.prototype.moveToPano=function(t,i,n){var o,a,s=this;void 0===i&&(i={});var c=this.work.observers[t].images.depth,l=e.__assign({key:"pano.".concat(t),basisLoaderInitialized:gi.isInitialized()},Xe(this.imageOptions,["format","size","quality","sharpen","mappings"])),h=null!==(o=this.imageOptions.transform)&&void 0!==o?o:ie,u={right:h(this.work.observers[t].images.right,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".right")})),left:h(this.work.observers[t].images.left,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".left")})),up:h(this.work.observers[t].images.up,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".up")})),down:h(this.work.observers[t].images.down,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".down")})),front:h(this.work.observers[t].images.front,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".front")})),back:h(this.work.observers[t].images.back,e.__assign(e.__assign({},l),{key:"pano.".concat(t,".back")}))},d=this.work.observers[t],p=d.position,f=d.quaternion,m=(new r.Matrix4).compose(p,f,new r.Vector3(-1,1,1)),g="pano:"+uv(u);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===g)return;var v=this.pendingTextureTask.panoIndex;null===(a=this.panoMeshes[v])||void 0===a||a.setProgress(0),this.emit("textureAbort",v,this.work.observers[v]),this.pendingTextureTask.onError(new Error("texture aborted"))}this.pending=!0,this.pendingTextureTask={panoIndex:t,hash:g,onLoad:function(e){s.pending=!1,s.destroyed?e.body.dispose():(e.body.name=g,s.emit("panoLoaded",t),s.doMoveToPano(t,e.body,i,n))},onError:function(e){s.pending=!1,i.moveCancelCallback&&i.moveCancelCallback(),s.emit("panoLoadError",e,t),s.emit("moveToPanoCanceled",t)}};var y=this.panoMeshes[t];y&&y.tap&&y.tap(),this.depthTextureLoader.load(c,u,p,m,(function(e){var i,n;(null===(i=s.pendingTextureTask)||void 0===i?void 0:i.hash)===g?(s.pendingTextureTask.onLoad(e),null===(n=s.panoMeshes[t])||void 0===n||n.setProgress(0),delete s.pendingTextureTask,s.emit("textureLoaded",t,s.work.observers[t],e.meta)):e.body.dispose()}),(function(e){var i,n;(null===(i=s.pendingTextureTask)||void 0===i?void 0:i.hash)===g&&(s.pendingTextureTask.onError(e),null===(n=s.panoMeshes[t])||void 0===n||n.setProgress(0),delete s.pendingTextureTask,s.emit("textureError",e,t,s.work.observers[t]),s.emit("error",e))}),(function(e){var i,n;s.emit("textureLoading",e,t,s.work.observers[t]),(null===(i=s.pendingTextureTask)||void 0===i?void 0:i.hash)===g&&(null===(n=s.panoMeshes[t])||void 0===n||n.setProgress(e))}),this.renderer),this.emit("textureStartLoad",t,this.work.observers[t])},i.prototype.initAnimation=function(t,e,i,n){var r,o,a,s=this;if(!this.destroyed){var c=!1;this.pending=!1,this.userAction=n,this.moveToPano(t,{longitude:null!==(r=e.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:Rm(null!==(o=e.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:Rm(null!==(a=e.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(t,e){c=!0,s.emit("initAnimationWillStart",t,e,s.userAction)},moveEndCallback:function(t,e){s.emit("initAnimationEnded",t,e,s.userAction)},moveCancelCallback:function(){var t=Yg(s.camera.pose);!1===c&&s.emit("initAnimationWillStart",s.currentPanoIndex,t,s.userAction),s.emit("initAnimationEnded",s.currentPanoIndex,t,s.userAction)}},n)}},i.prototype.panoResourceFromLocationMotionKeyframe=function(t){return this.panoResources[t.key]},i.prototype.locationMotionKeyframesLength=function(t){for(var e=0,i=1;i<t.length;i++){var n=this.panoResourceFromLocationMotionKeyframe(t[i-1]).position,r=this.panoResourceFromLocationMotionKeyframe(t[i]).position;e+=n.distanceTo(r)*(t[i].value.count-t[i-1].value.count)}return e},i.prototype.updatePanoMeshes=function(){for(var t={},e=0,i=this.panoMeshes;e<i.length;e++){t[(a=i[e]).name]=a}this.panoMeshes.length=0;for(var n=0;n<this.work.observers.length;n++){var r="panoCircle_".concat(this.work.workCode,"_").concat(n),o=this.work.observers[n],a=void 0;t[r]?(a=t[r],delete t[r]):((a=this.panoCircleMeshCreator()).name=r,this.helper.add(a)),a.position.copy(o.standingPosition),this.panoMeshes[n]=a}for(var s=0,c=Object.keys(t);s<c.length;s++){var l=c[s];this.helper.remove(t[l]),t[l].dispose(),delete t[l]}},i.prototype.generateBoundingMesh=function(t){void 0===t&&(t=!1);for(var e=this.model.bounding.clone(),i=0,n=this.work.observers;i<n.length;i++){var o=n[i];e.expandByPoint(o.standingPosition),e.expandByPoint((new r.Vector3).fromArray([o.position.x,2*o.position.y-o.standingPosition.y,o.position.z]))}t&&e.expandByPoint(this.camera.position);var a=Fg(e,new r.Vector3(1,0,1));return a.name="panorama_bounding",a.frustumCulled=!1,a},i.prototype.doMoveToPano=function(t,i,n,o){var a,s,c,l,h=this;void 0===n&&(n={}),this.userAction=o;var u=Bt(),d=Dr(),p=this.work.observers[t],f=this.panoResources[d]={panoIndex:t,workCode:this.work.workCode,effect:null!==(a=n.effect)&&void 0!==a?a:"fly",panoModel:i,matrix:(new r.Matrix4).compose(p.position,p.quaternion,Ry),position:p.position.clone()};i.visible=!1,i.renderOrder=-1,this.panoModelGroup.add(i);var m,g,v;if(this.locationMotion.ended){var y=this.locationMotion.getKeyFrameSegment(u);y[0];var A=y[1],x=this.locationMotion.value,b=this.panoResourceFromLocationMotionKeyframe(A).position,w=f.position;m=Math.max(b.distanceTo(w),1),g=[{key:A.key,progress:0,value:e.__assign(e.__assign({},x),{count:0})},{key:d,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,count:1}}],v=0}else{var M=this.locationMotion.getKeyFrameSegment(u),E=M[0],S=(A=M[1],x=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(E).position),_=(b=this.panoResourceFromLocationMotionKeyframe(A).position,w=f.position,A.value.count-x.count),T=Math.max(S.distanceTo(b),1)*_;m=T+Math.max(b.distanceTo(w),1),g=[{key:E.key,progress:0,value:e.__assign({},x)},{key:A.key,progress:T/m,value:A.value},{key:d,progress:1,value:{count:A.value.count+1,distance:0,perspToOrtho:0,modelAlpha:0}}];var C=this.locationMotionKeyframesLength(this.locationMotion.keyframes),I=this.locationMotionKeyframesLength(g);v=0===C||0===C?0:this.locationMotion.getProgressVelocity(u)*C/I}var P=this.calculateMovingDuration(n.duration,"fade"===n.effect||"montage"===n.effect?0:m),R={longitude:n.longitude,latitude:n.latitude,fov:n.fov},B={longitude:null!==(s=R.longitude)&&void 0!==s?s:this.camera.pose.longitude,latitude:null!==(c=R.latitude)&&void 0!==c?c:this.camera.pose.latitude,fov:null!==(l=R.fov)&&void 0!==l?l:this.camera.pose.fov,offset:p.position.clone(),distance:this.camera.pose.distance};n.moveStartCallback&&n.moveStartCallback(t,B),this.emit("panoWillArrive",t,B,this.userAction),this.cameraMotion.set(R,P).catch(Pt),this.locationMotion.setKeyframes(g,P,v).then((function(){var e={longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance};n.moveEndCallback&&n.moveEndCallback(t,e),h.emit("panoArrived",t,e,o)}),(function(){n.moveCancelCallback&&n.moveCancelCallback(),h.emit("moveToPanoCanceled",t)}))},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this,i=this.camera.getWorldDirection(new r.Vector3),n=this.camera.position.clone(),o=this.work.observers[this.currentPanoIndex];if(!o)return null;var a=o.accessibleNodes.filter((function(t){if(t===e.currentPanoIndex)return!1;var i=e.work.observers[t],o=i.standingPosition.clone().sub(n);return 0!==o.length()&&(!(o.angleTo(new r.Vector3(0,-1,0))<Math.PI/12)&&(i.loadable||i.active))})),s=(t?t.ray.direction.clone():i.clone()).setY(0);if(0===s.length())return null;for(var c=a.slice().sort((function(t,i){var r=e.work.observers[t].position.clone().setY(n.y),o=e.work.observers[i].position.clone().setY(n.y);return r.distanceTo(n)-o.distanceTo(n)})),l=0,h=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];l<h.length;l++)for(var u=h[l],d=0,p=c;d<p.length;d++){var f=p[d],m=this.work.observers[f].position.clone().setY(n.y).sub(n);if(0!==m.length()&&s.angleTo(m)<u)return f}return null},i.prototype.onTapGesture=function(t){var i=this,n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",n,!0)){var o=this.relativeClientPosition(t.center),a=new r.Raycaster;if(a.setFromCamera(o,this.camera),!this.emit("wantsTapGesture",a,o,!0)){this.emit("gesture","tap",n,!0),this.emit("tapGesture",a,o,!0),this.interiaMovement=!1;var s=this.camera.getWorldDirection(new r.Vector3).setY(0),c=null,l=this.work.observers[this.currentPanoIndex];if(l){var h=l.accessibleNodes.filter((function(t){if(t===i.currentPanoIndex)return!1;var e=i.work.observers[t];return!(e.position.distanceTo(i.camera.position)>i.maxAccessibleDistance)&&(e.loadable||e.active)})),u=a.intersectObject(this.boundingMesh,!0)[0];if(u){var d=Kg(h,(function(t){var e=i.work.observers[t].standingPosition.clone();return e.clone().sub(i.camera.position).setY(0).angleTo(s)>Math.PI/2?1/0:e.distanceTo(u.point)}),!0),p=d[0];d[1]<this.panoTapTriggerRadius&&(c=p)}_m(c)&&(c=this.getForwardPanoIndexOrNot(a));for(var f=0,m=this.locationMotion.keyframes;f<m.length;f++){var g=m[f],v=this.panoResourceFromLocationMotionKeyframe(g);if(!(g.progress<this.locationMotion.progress)&&v.panoIndex===c){c=null;break}}if(this.emit("panoSelected",c),_m(c))!0===this.locationMotion.ended&&this.cameraBounce();else{var y=this.work.observers[c];if(y.active){for(var A={},x=Math.PI/6,b=Math.PI/12,w=new r.Vector3(0,1,0),M=y.position.clone().setY(0).sub(l.position.clone().setY(0)).normalize(),E=M.clone().applyAxisAngle(w,x),S=M.clone().applyAxisAngle(w,-x),_=[],T=[],C=[],I=0,P=y.accessibleNodes;I<P.length;I++){if((p=P[I])!==this.currentPanoIndex&&p!==c){var R=this.work.observers[p].position.clone().sub(y.position).setY(0);M.angleTo(R)<x?C.push(R):E.angleTo(R)<x?_.push(R):S.angleTo(R)<x&&T.push(R)}}var B=(C.length>0?C:e.__spreadArray(e.__spreadArray([],_,!0),T,!0)).slice().sort((function(t,e){return t.angleTo(M)-e.angleTo(M)}))[0];B&&B.angleTo(s)>b&&(A.longitude=Math.atan2(-B.x,-B.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(A.latitude=Rm(0,this.minLatitude,this.maxLatitude)),this.emit("wantsMoveToPano",c,A,!0)}else this.panoMeshes[c]&&(this.panoMeshes[c].setDisabled(!1),this.panoMeshes[c].setLoading(!0))}}}}},i}(pv);function Ly(t,e){var i=new r.Vector3;return i.setFromMatrixColumn(e,0),i.multiplyScalar(-t),i}function Dy(t,e,i){var n=new r.Vector3;return n.setFromMatrixColumn(i,0),n.crossVectors(e,n),n.multiplyScalar(t),n}var Oy=function(t){function i(e){var n,r,o,a,s=this,c=i.parseArgs(e);return(s=t.call(this,c)||this).currentPanoIndex=c.initial[0],s.defaultLongitude=c.defaultLongitude,s.defaultLatitude=c.defaultLatitude,s.defaultDistance=c.defaultDistance,s.maxLatitude=c.maxLatitude,s.minLatitude=c.minLatitude,s.maxDistance=c.maxDistance,s.minDistance=c.minDistance,s.locationMotion=new Zm({x:s.camera.pose.offset.x,y:s.camera.pose.offset.y,z:s.camera.pose.offset.z,distance:s.camera.pose.distance,modelAlpha:null!==(r=null===(n=s.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(a=null===(o=s.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==a?a:0}),s}return e.__extends(i,t),i.parseArgs=function(i){var n,r,o,a,s,c,l,h=t.parseArgs.call(this,i);return e.__assign(e.__assign({},h),{defaultLongitude:null!==(n=i.defaultLongitude)&&void 0!==n?n:Math.PI/4,defaultLatitude:null!==(r=i.defaultLatitude)&&void 0!==r?r:Math.PI/4,defaultDistance:null!==(o=i.defaultDistance)&&void 0!==o?o:100,maxLatitude:null!==(a=i.maxLatitude)&&void 0!==a?a:+Math.PI/2,minLatitude:null!==(s=i.minLatitude)&&void 0!==s?s:0,maxDistance:null!==(c=i.maxDistance)&&void 0!==c?c:100,minDistance:null!==(l=i.minDistance)&&void 0!==l?l:2})},i.distanceFromModel=function(t,e,i){var n=t.bounding,r=Math.pow(Math.pow(n.max.x-n.min.x+1,2)+Math.pow(n.max.y-n.min.y+1,2)+Math.pow(n.max.z-n.min.z+1,2),.5),o=r/2/Math.tan(Math.PI*e/360);return i<1&&(o/=i),isNaN(o)?r:o},i.initAnimationEndPose=function(t){var e,n,r=this.parseArgs(t),o=t.initial[0],a=t.initial[1];return{longitude:null!==(e=a.longitude)&&void 0!==e?e:r.defaultLongitude,latitude:Rm(null!==(n=a.latitude)&&void 0!==n?n:r.defaultLatitude,r.minLatitude,r.maxLatitude),fov:90,offset:r.work.observers[o].position.clone(),distance:i.distanceFromModel(r.model,90,r.camera.aspect)}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.model.enableTiles=!1,this.locationMotion.dispose(),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),delete this.mouseWheelState,delete this.panState},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&t.prototype.isReady.call(this)},i.prototype.updateWork=function(t,e,i,n,r){return this.work=t,this.updateCamera(i,n,r),!0},i.prototype.updateModel=function(e){t.prototype.updateModel.call(this,e);var i=e.bounding.getCenter(new r.Vector3);this.locationMotion.set({x:i.x,y:i.y,z:i.z},0).catch(Pt),this.model.enableTiles=!0},i.prototype.updateTime=function(t,e){if(!this.destroyed){var i={},n={};this.locationMotion.ended||(this.locationMotion.update(t),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=Rm(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),n.distance=this.locationMotion.value.distance,n.offset=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z)),this.cameraMotion.ended||(this.cameraMotion.update(t),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),Xg(i)||this.model.setMaterial(i),Xg(n)||this.setCamera(n)}},i.prototype.setCamera=function(e){t.prototype.setCamera.call(this,e);var i=this.camera.pose.offset.clone();if(this.model.bvhs.loaded){var n=new r.Raycaster(this.camera.getWorldPosition(new r.Vector3),this.camera.getWorldDirection(new r.Vector3)),o=this.model.intersectRaycaster(n)[0];o&&i.copy(o.point)}var a=Kg(this.work.observers,(function(t){return t.position.distanceTo(i)})),s=this.work.observers.indexOf(a);s!==this.currentPanoIndex&&(this.emit("moveToPano",s,this.userAction),this.emit("panoWillArrive",s,Yg(this.camera.pose),this.userAction),this.currentPanoIndex=s,this.emit("panoArrived",s,Yg(this.camera.pose),this.userAction))},i.prototype.getTargetPose=function(){var t=this.cameraMotion.getKeyFrameSegment(Bt())[1],e=this.locationMotion.getKeyFrameSegment(Bt())[1];return{longitude:t.value.longitude,latitude:t.value.latitude,fov:t.value.fov,distance:e.value.distance,offset:new r.Vector3(e.value.x,e.value.y,e.value.z)}},i.prototype.initAnimation=function(t,e,n,o){var a,s,c=this;if(!this.destroyed){this.pending=!1,this.userAction=o;var l={longitude:null!==(a=e.longitude)&&void 0!==a?a:this.defaultLongitude,latitude:Rm(null!==(s=e.latitude)&&void 0!==s?s:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:90,offset:this.model.bounding.getCenter(new r.Vector3),distance:i.distanceFromModel(this.model,90,this.camera.aspect)},h=Xe(l,["longitude","latitude","fov"]),u={x:l.offset.x,y:l.offset.y,z:l.offset.z,distance:l.distance,modelAlpha:1,perspToOrtho:0};this.emit("initAnimationWillStart",t,l,this.userAction),this.cameraMotion.set(h,n).catch(Pt),this.locationMotion.set(u,n).then((function(){c.emit("initAnimationEnded",t,l,c.userAction)}),(function(e){var i=Yg(c.camera.pose);c.emit("initAnimationEnded",t,i,c.userAction)})).then((function(){c.model.enableTiles=!0}))}},i.prototype.getForwardPanoIndexOrNot=function(t){var e=this.work.observers.filter((function(t){return t.active})),i=this.model.intersectRaycaster(t)[0];if(!i)return null;var n=Kg(e,(function(t){return t.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesForOffset=function(t){var e=this.cameraMotion.value.fov,i=this.camera.aspect,n=this.renderer.getSize(new r.Vector2);return{longitude:2*t.x/(n.x*this.scissor.width)*e/95*i,latitude:-2*t.y/(n.y*this.scissor.height)*e/95}},i.prototype.onPanGesture=function(t){var e=this.panState,i=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:i,x:t.center.x,y:t.center.y},void 0!==e&&e.pointerLength===i){var n=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pan",n,t.isFinal))if("mouse"===t.pointerType&&2===t.srcEvent.buttons){var o={x:t.center.x-e.x,y:t.center.y-e.y},a=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),s=this.model.bounding,c=s.getCenter(new r.Vector3),l={x:(s.max.x-s.min.x)/90*this.cameraMotion.value.fov,y:(s.max.y-s.min.y)/90*this.cameraMotion.value.fov,z:(s.max.z-s.min.z)/90*this.cameraMotion.value.fov},h=(this.camera.position.y-s.min.y)*Math.tan(this.camera.fov/2*Math.PI/180),u=this.renderer.getSize(new r.Vector2);a.add(Ly(2*o.x*h/u.y,this.camera.matrix)),a.add(Dy(2*o.y*h/u.y,this.camera.up,this.camera.matrix)),a.x=Rm(a.x,c.x-l.x,c.x+l.x),a.z=Rm(a.z,c.z-l.z,c.z+l.z);var d={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:a,distance:this.locationMotion.value.distance};if(this.emit("wantsPanGesture",d,t.isFinal))return;this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",d,t.isFinal),this.userAction=!0,this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(Pt)}else{a={x:t.center.x-e.x,y:t.center.y-e.y};var p=this.coordinatesForOffset(a),f=Vg(this.cameraMotion.value.longitude+-1*p.longitude),m=Rm(this.cameraMotion.value.latitude+-1*p.latitude,this.minLatitude,this.maxLatitude);this.camera.aspect<1&&Math.abs(t.overallVelocityX)>.2&&Math.atan2(Math.abs(t.overallVelocityY),Math.abs(t.overallVelocityX))<Math.PI/6.923&&(m=this.cameraMotion.value.latitude);d={longitude:f,latitude:m,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone(),distance:this.camera.pose.distance};if(this.emit("wantsPanGesture",d,t.isFinal))return;this.emit("gesture","pan",n,t.isFinal),this.emit("panGesture",d,t.isFinal),this.userAction=!0,this.interiaMovement=!1;var g={longitude:d.longitude,latitude:d.latitude,fov:d.fov};if(this.cameraMotion.set(g,0).catch(Pt),t.isFinal)this.emit("wantsInteriaPan",d)||(this.interiaMovement=!0,t.velocityX,t.velocityY)}}},i.prototype.onPinchGesture=function(t){var e=this.pinchState||{},i=e.distance;e.offsetY;var n=!1;if("pinchstart"!==t.type){if("pinchend"===t.type&&(n=!0,delete this.pinchState),void 0!==i){this.pinchState={distance:i};var o=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(this.emit("wantsGesture","pinch",o,n))return;var a=Rm(i/t.scale,this.minDistance,this.maxDistance);if(this.emit("wantsPinchGesture",t.scale,this.camera.pose.fov,n))return;this.emit("gesture","pinch",o,n),this.emit("pinchGesture",t.scale,this.camera.pose.fov,n),this.userAction=!0,this.locationMotion.set({distance:a},0).catch(Pt)}var s=this.panState,c=t.pointers.length;if(t.isFinal?delete this.panState:this.panState={pointerLength:c,x:t.center.x,y:t.center.y},void 0!==s&&s.pointerLength===c){var l=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",l,n)){var h=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","pinch",h,n)){var u={x:t.center.x-s.x,y:t.center.y-s.y},d=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),p=this.model.bounding,f=p.getCenter(new r.Vector3),m={x:(p.max.x-p.min.x)/90*this.cameraMotion.value.fov,y:(p.max.y-p.min.y)/90*this.cameraMotion.value.fov,z:(p.max.z-p.min.z)/90*this.cameraMotion.value.fov},g=(this.camera.position.y-p.min.y)*Math.tan(this.camera.fov/2*Math.PI/180),v=this.renderer.getSize(new r.Vector2);d.add(Ly(2*u.x*g/v.y,this.camera.matrix)),d.add(Dy(2*u.y*g/v.y,this.camera.up,this.camera.matrix)),d.x=Rm(d.x,f.x-m.x,f.x+m.x),d.z=Rm(d.z,f.z-m.z,f.z+m.z);var y={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:d,distance:this.locationMotion.value.distance};this.emit("wantsPanGesture",y,t.isFinal)||(this.emit("gesture","pan",h,t.isFinal),this.emit("panGesture",y,t.isFinal),this.userAction=!0,this.locationMotion.set({x:d.x,y:d.y,z:d.z},0).catch(Pt))}}}}else this.pinchState={distance:this.locationMotion.value.distance}},i.prototype.onMouseWheel=function(t){var e=this,i=(Math.abs(t.deltaY)>Math.abs(t.deltaX)?t.deltaY:t.deltaX)/-60,n=[{x:t.clientX,y:t.clientY,delta:i}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=Rm(this.locationMotion.value.distance-i/2,this.minDistance,this.maxDistance);this.emit("wantsMouseWheel",i,this.camera.pose.fov,!1)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,this.camera.pose.fov,!1),this.userAction=!0,this.locationMotion.set({distance:r},0).catch(Pt),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete e.mouseWheelState;e.emit("wantsGesture","mouseWheel",n,!0)||e.emit("wantsMouseWheel",i,e.camera.pose.fov,!0)||(e.emit("gesture","mouseWheel",n,!0),e.emit("mouseWheel",0,e.camera.pose.fov,!0))}),200)})}},i.prototype.onTapGesture=function(t){var e=t.pointers.map((function(t){return Xe(t,["x","y"])}));if(!this.emit("wantsGesture","tap",e,!0)){var i=this.relativeClientPosition(t.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i,!0)){this.emit("gesture","tap",e,!0),this.emit("tapGesture",n,i,!0),this.interiaMovement=!1;var o=this.getForwardPanoIndexOrNot(n);if(!_m(o)){this.emit("panoSelected",o);var a={longitude:this.camera.pose.longitude,latitude:0};this.emit("wantsMoveToPano",o,a,!0)}}}},i.prototype.onPressGesture=function(t,e){var i,n,o=[t];if(this.emit("wantsGesture","press",o,e))return null===(i=this.pressState)||void 0===i||i.stop(),void delete this.pressState;var a=this.relativeClientPosition(t),s=new r.Raycaster;if(s.setFromCamera(a,this.camera),this.emit("wantsPressGesture",s,a,t.delta,e))return null===(n=this.pressState)||void 0===n||n.stop(),void delete this.pressState;this.emit("gesture","press",o,e),this.emit("pressGesture",s,a,t.delta,e)},i}(sv),Ny=["Panorama","DepthPanorama","Model"],ky={Floorplan:cv,Topview:lv,Panorama:Hv,VRPanorama:Ey,Model:Sy,DepthPanorama:By,Mapview:Oy};function Fy(t){for(var e=0,i=Ny;e<i.length;e++){var n=i[e];if("string"==typeof t){if(n===t)return!0}else if(t instanceof sv&&t instanceof ky[n])return!0}return!1}var zy=["cameraDirectionUpdate","cameraUpdate","cameraPositionUpdate","panoSelected","moveToPano","moveToPanoCanceled","panoWillArrive","movingToPano","panoArrived","panoWillLoad","panoLoaded","panoLoadError","initAnimationEnded","initAnimationWillStart","wantsGesture","gesture","wantsTapGesture","tapGesture","wantsPressGesture","pressGesture","wantsPanGesture","wantsInteriaPan","panGesture","interiaPan","wantsPinchGesture","pinchGesture","wantsMouseWheel","mouseWheel","wantsShowIntersectionOnModel","intersectionOnModelUpdate","intersectionHidden","textureStartLoad","textureLoading","textureAbort","textureLoaded","textureError"];function Vy(t){for(var e,i,n={},r=0,o=t.split(/(\;|\,)/);r<o.length;r++){var a=o[r].split("="),s=null===(e=a[0])||void 0===e?void 0:e.trim(),c=null===(i=a[1])||void 0===i?void 0:i.trim();s&&c&&(n[s]=c)}return n}function Hy(){for(var t,e=document.getElementsByTagName("meta"),i=0;i<e.length;i++){var n=e[i];if("viewport"===n.getAttribute("name")){var r=Vy(null!==(t=n.getAttribute("content"))&&void 0!==t?t:""),o=Number(r["initial-scale"]);if(!isNaN(o))return o}}return 1}var Uy=[351,63],Gy=[20,20],jy=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Qy=new Float32Array([0,0,1,0,0,1,1,1]),Wy=new Uint8Array([0,1,2,1,3,2]),qy=new r.BufferGeometry;qy.setAttribute("position",new r.BufferAttribute(jy,3)),qy.setAttribute("uv",new r.BufferAttribute(Qy,2)),qy.setIndex(new r.BufferAttribute(Wy,1));var Ky=new r.MeshBasicMaterial({transparent:!0,depthTest:!1}),Xy=new r.Mesh(qy,Ky),Yy=new r.Scene;Yy.add(Xy);var Zy=new r.OrthographicCamera(-.5,.5,.5,-.5,.1,1);Zy.position.set(0,0,.5),Zy.lookAt(0,0,0);var Jy=new r.Vector4,$y=new r.Vector4;function tA(t){if(Ky.map){var e=t.getViewport(Jy),i=t.getScissor($y),n=t.getScissorTest(),o=t.autoClear;t.setViewport(i.x+Gy[0]/3,i.y+Gy[1]/3,Uy[0]/3,Uy[1]/3),t.setScissor(i.x+Gy[0]/3,i.y+Gy[1]/3,Uy[0]/3,Uy[1]/3),t.setScissorTest(!0),t.autoClear=!1,t.render(Yy,Zy),t.setViewport(e),t.setScissor(i),t.setScissorTest(n),t.autoClear=o}else{var a=new r.Texture,s=new Image;s.onload=function(){a.image=s,a.wrapS=r.ClampToEdgeWrapping,a.wrapT=r.ClampToEdgeWrapping,a.minFilter=r.LinearFilter,a.needsUpdate=!0,Ky.needsUpdate=!0,s.onload=function(){}},s.src="data:image/png;base64,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",Ky.map=a}}var eA={instances:{}};"undefined"!=typeof window&&Object.assign(window,{__FIVE_DEBUG__:eA});var iA=new r.Box3(new r.Vector3(-50,-50,-50),new r.Vector3(50,50,50)),nA=function(t){return t.replace("//vrlab-public.ljcdn.com","//vr-public.realsee-cdn.cn").replace("//vrlab-image4.ljcdn.com","//vr-image-4.realsee-cdn.cn").replace("//vrlab-image3.ljcdn.com","//vr-image-3.realsee-cdn.cn").replace("//vrlab-image2.ljcdn.com","//vr-image-2.realsee-cdn.cn").replace("//vrlab-image1.ljcdn.com","//vr-image-1.realsee-cdn.cn")},rA=new r.Vector2,oA=new r.Frustum,aA=new r.Matrix4,sA=new WeakMap,cA=new WeakMap,lA=function(t){function i(i){void 0===i&&(i={});var n,o,a,s,c,l,h,u,d,p,f,m=this;if((m=t.call(this)||this).ident=Dr(),eA.instances[m.ident]=m,m.renderSwitch01=0,m.panoIndex=0,m.needsRender=!1,m.onlyRenderIfNeeds=null===(n=i.onlyRenderIfNeeds)||void 0===n||n,m.imageOptions=e.__assign({},null!==(o=i.imageOptions)&&void 0!==o?o:{}),m.textureOptions=e.__assign({},null!==(a=i.textureOptions)&&void 0!==a?a:{}),m.poweredByRealsee=null===(s=i.poweredByRealsee)||void 0===s||s,m.extraElements=[],m.controllerInits={Panorama:Object.assign({},i.panorama),Model:Object.assign({},i.model),Floorplan:Object.assign({},i.floorplan),Topview:Object.assign({},i.topview),Mapview:Object.assign({},i.mapview),DepthPanorama:Object.assign({},i.depthPanorama),VRPanorama:Object.assign({},i.vrPanorama)},m.fps={testCount:0,testTime:Bt()},m.modeChangeDuration=null!==(c=i.modeChangeDuration)&&void 0!==c?c:1e3,m.panoramaLikeSavedPose={},"undefined"!=typeof window)if(i.renderer)i.renderer instanceof ge&&m.throwError(new Error("cannot render a internal renderer")),m.renderer=i.renderer;else try{m.renderer=new ge({preserveDrawingBuffer:i.preserveDrawingBuffer,backgroundColor:i.backgroundColor,backgroundAlpha:i.backgroundAlpha,antialias:i.antialias,webgl2:null==i?void 0:i.webgl2});var g=Hy();m.renderer.setPixelRatio(1===g?window.devicePixelRatio:1),m.renderer.setSize(512,512)}catch(t){t instanceof Error&&m.throwError(t)}m.getPixelsRenderTarget=new r.WebGLRenderTarget(1,1,{encoding:null!==(h=null===(l=m.renderer)||void 0===l?void 0:l.outputEncoding)&&void 0!==h?h:r.sRGBEncoding}),m.scissor=Object.assign({left:0,bottom:0,width:1,height:1},i.scissor),m.camera=new Se(80),m.scene=new ve,m.lastLoadWorkTask=Promise.resolve(),m.requestProxy=null!==(u=i.requestProxy)&&void 0!==u?u:nA,m.networkSubscribe=new Wt,m.networkSubscribe.on("network",(function(t,e,i,n){var r;m.emit("network",t,e,i,n),null===(r=m.analysis)||void 0===r||r.network(m.work,t,e,i,n)})),m.model=new Pm({allowHosts:[],requestProxy:m.requestProxy,networkSubscribe:m.networkSubscribe});var v=Fg(iA);v.name="model_empty",m.model.add(v),m.model.visible=!1,m.readyCallbacks=[],m.modelPending=!1,m.syncingState=!1,m.scene.add(m.model),m.helperGroup=new r.Group,m.helperGroup.name="helper",m.scene.add(m.helperGroup),m.videoTexture=new r.VideoTexture(i.videoInstance||function(){var t=document.createElement("video");t.loop=!0,t.autoplay=!0,t.playsInline=!0,t.muted=!0,t.crossOrigin="";var e=function(){document.removeEventListener("touchstart",e,!1),document.removeEventListener("mousedown",e,!1),t.muted=!1};return document.addEventListener("touchstart",e,!1),document.addEventListener("mousedown",e,!1),t}()),function(t){(e=new r.DirectionalLight(16777215,.5)).position.copy(new r.Vector3(1,1,1)),t.add(e);var e=new r.DirectionalLight(16777215,.3);t.add(e),e=new r.AmbientLight(16777215,.3),t.add(e)}(m.scene),m.state={mode:null!==(d=m.currentMode)&&void 0!==d?d:"Panorama",panoIndex:null!==(p=m.panoIndex)&&void 0!==p?p:0,longitude:m.camera.pose.longitude,latitude:m.camera.pose.latitude,fov:m.camera.pose.fov,offset:m.camera.pose.offset.clone(),distance:m.camera.pose.distance},m.stateSynced=!1,m._enableIOSEDR=!1,m.destroyed=!1,m.paused=!0,"undefined"!=typeof window&&(!1!==i.play&&m.play(),!1!==(null!==(f=i.initialBasisLoader)&&void 0!==f&&f)&&("string"==typeof i.initialBasisLoader?m.initBasisLoader(i.initialBasisLoader):m.initBasisLoader()),m.stopAnimationLoop=Jt.shared.add((function(t,e){m.updateTime(t,e)}),!1,0,10));var y=function(){"undefined"!=typeof document&&null===document.fullscreenElement&&"VRPanorama"===m.currentMode&&m.controller.emit("vrWantsToExit")};if("undefined"!=typeof document&&document.addEventListener("fullscreenchange",y,!1),m.removeEventListeners=function(){"undefined"!=typeof document&&document.removeEventListener("fullscreenchange",y,!1)},m.plugins={},i.plugins&&i.plugins.length)for(var A=0,x=i.plugins;A<x.length;A++){var b=x[A];if("function"==typeof b)b(m);else if(Array.isArray(b)){var w=b[0],M=b[1],E=b[2];if("function"==typeof w){var S=w(m,E);"string"==typeof M&&(m.plugins[M]?m.throwError(new Error("plugin name ".concat(M," is exists."))):m.plugins[M]=S)}}}return m}return e.__extends(i,t),i.prototype.dispose=function(){var t;if(!0!==this.destroyed){delete eA.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),this.off(),this.networkSubscribe.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 i=this.model.getMaterial();i&&(i.pano0&&i.pano0.map.dispose(),i.pano1&&i.pano1.map!==(null===(t=i.pano0)||void 0===t?void 0:t.map)&&i.pano1.map.dispose()),this.model.dispose(),this.renderer instanceof ge&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},i.prototype.setScissor=function(t){Object.assign(this.scissor,t),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize()},Object.defineProperty(i.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(t){this.helperGroup.visible!==t&&(this.helperGroup.visible=t,this.emit("helpersVisibleChange",t),this.needsRender=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"enableIOSEDR",{get:function(){return this._enableIOSEDR},set:function(t){this._enableIOSEDR!==t&&(this._enableIOSEDR=t,this.currentMode&&"Panorama"===this.currentMode&&this.changeMode(this.currentMode,{},0,!1,!0))},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"enablePostProcessing",{get:function(){return void 0!==this.screenBuffer},set:function(t){var e,i;if(t){if(!this.screenBuffer){var n=this.getDrawingBufferSize(rA);this.screenBuffer=new r.WebGLRenderTarget(n.x,n.y,{encoding:null!==(i=null===(e=this.renderer)||void 0===e?void 0:e.outputEncoding)&&void 0!==i?i:r.sRGBEncoding})}}else this.screenBuffer&&(this.screenBuffer.dispose(),delete this.screenBuffer);this.needsRender=!0},enumerable:!1,configurable:!0}),i.prototype.updateConfiguration=function(t){var e=!1;t.panorama&&(Object.assign(this.controllerInits.Panorama,t.panorama),"Panorama"===this.currentMode&&(e=!0)),t.model&&(Object.assign(this.controllerInits.Model,t.model),"Model"===this.currentMode&&(e=!0)),t.floorplan&&(Object.assign(this.controllerInits.Floorplan,t.floorplan),"Floorplan"===this.currentMode&&(e=!0)),t.topview&&(Object.assign(this.controllerInits.Topview,t.topview),"Topview"===this.currentMode&&(e=!0)),t.mapview&&(Object.assign(this.controllerInits.Mapview,t.topview),"Mapview"===this.currentMode&&(e=!0)),t.depthPanorama&&(Object.assign(this.controllerInits.DepthPanorama,t.depthPanorama),"DepthPanorama"===this.currentMode&&(e=!0)),t.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,t.vrPanorama),"VRPanorama"===this.currentMode&&(e=!0)),t.imageOptions&&(Object.assign(this.imageOptions,t.imageOptions),"Panorama"!==this.currentMode&&"DepthPanorama"!==this.currentMode&&"VRPanorama"!==this.currentMode||(e=!0)),e&&this.controller&&this.currentMode&&this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)},i.prototype.appendTo=function(t,e){if(void 0===e&&(e={}),this.renderer)if(this.renderer instanceof ge){var i=this.getElement();if(i){t.appendChild(i),this.refresh(e);var n=window.getComputedStyle(t).position;"relative"!==n&&"absolute"!==n&&"fixed"!==n&&"sticky"!==n&&(t.style.position="relative")}}else this.throwError(new Error("cannot call appendTo method when render a external renderer"))},i.prototype.refresh=function(t,e){if(void 0===t&&(t={}),this.renderer){var i=this.getElement();if(i){var n=i.parentNode;if(n&&n.nodeName){var o=t.width,a=void 0===o?n.offsetWidth:o,s=t.height,c=void 0===s?n.offsetHeight:s;this.renderer instanceof ge&&(e&&this.renderer.setPixelRatio(e),this.renderer.setSize(a,c))}var l=this.renderer.getSize(new r.Vector2);this.camera.aspect=l.x*this.scissor.width/(l.y*this.scissor.height),this.camera.updateProjectionMatrix(),this.controller&&this.controller.updateRenderSize&&this.controller.updateRenderSize(),this.needsRender=!0}}},i.prototype.addExtraElement=function(t){var e=this;return-1===this.extraElements.indexOf(t)&&(this.extraElements.push(t),this.controller&&this.controller.bindExtraElement(t)),function(){return e.removeExtraElement(t)}},i.prototype.removeExtraElement=function(t){var e=this.extraElements.indexOf(t);-1!==e&&(this.extraElements.splice(e,1),this.controller&&this.controller.unbindExtraElement(t))},i.prototype.getPose=function(){var t=this.camera.copyPose(),e=t.longitude,i=t.latitude,n=t.fov,r=t.offset,o=t.distance;return{longitude:e,latitude:i,fov:n,offset:r.clone(),distance:o}},i.prototype.getSize=function(t){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(t),t.x*=this.scissor.width,t.y*=this.scissor.height,t},i.prototype.getDrawingBufferSize=function(t){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(t),t.x*=this.scissor.width,t.y*=this.scissor.height,t},i.prototype.updateCamera=function(t,e,i){return void 0===i&&(i=!0),this.controller?this.controller.updateCamera(t,e,i):Promise.reject(new Error("controller is not initialized."))},i.prototype.getLongitudeAndLatitude=function(){var t=this.getPose();return{longitude:t.longitude,latitude:t.latitude}},i.prototype.getOffset=function(){return this.getPose().offset},i.prototype.getCameraLocal=function(){if("number"==typeof this.panoIndex&&this.controller&&this.work){var t=this.work.observers[this.panoIndex],e=new r.Object3D;return e.position.copy(t.position),e.quaternion.copy(t.quaternion),e.scale.set(1,1,1),e.updateMatrixWorld(!0),function(t,e){var i=new r.Vector3(0,0,-1);i.applyQuaternion(t.quaternion);var n=e.quaternion.clone().inverse();return i.applyQuaternion(n),{theta:Math.atan2(i.x,-i.z),phi:-Math.asin(i.y),lookAtVector:i}}(this.camera,e)}},i.prototype.initBasisLoader=function(t){try{if(!this.renderer)throw new Error("renderer is not initialized.");if("undefined"==typeof Promise||"undefined"==typeof WeakMap||"undefined"==typeof WebAssembly)throw new Error("Basis loader not support.");"string"==typeof t&&gi.setTranscoderPath(t),gi.workerConfig.format||gi.detectSupport(this.renderer),gi._allocateWorker(0)}catch(t){t instanceof Error&&this.throwError(t)}},Object.defineProperty(i.prototype,"work",{get:function(){var t=cA.get(this);if(t&&Um.get(t))return t},enumerable:!1,configurable:!0}),i.prototype.load=function(t,e,i,n){var r=this;if(void 0===n&&(n=!0),!this.renderer)throw new Error("renderer is not initialized");var o=this.lastLoadWorkTask.then((function(){return!(o=t)||"object"!=typeof o&&"function"!=typeof o||"function"!=typeof o.then?r.load_(t,e,i,n):t.then((function(t){return r.load_(t,e,i,n)}));var o}));return this.lastLoadWorkTask=o.catch((function(t){r.throwError(t)})),o},i.prototype.load_=function(t,n,r,o){var a,s,c,l,h,u,d,p,f,m=this;void 0===o&&(o=!0);var g,v,y,A=qm(t),x=this.work;void 0===n&&(n=x?"inherit":"initial"),"inherit"===n?(g="number"==typeof this.panoIndex&&A.observers[this.panoIndex]?this.panoIndex:A.initial.panoIndex,v=null!==(a=this.currentMode)&&void 0!==a?a:A.initial.mode,y={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):"initial"===n?(v=null!==(s=this.currentMode)&&void 0!==s?s:A.initial.mode,g=A.initial.panoIndex,y=v===i.Mode.Panorama||v===i.Mode.DepthPanorama||v===i.Mode.Model||v===i.Mode.VRPanorama?{longitude:A.initial.longitude,latitude:A.initial.latitude,fov:A.initial.fov}:{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):(g=null!==(c=n.panoIndex)&&void 0!==c?c:A.initial.panoIndex,v=null!==(h=null!==(l=n.mode)&&void 0!==l?l:this.currentMode)&&void 0!==h?h:"Panorama",y={longitude:null!==(u=n.longitude)&&void 0!==u?u:A.initial.longitude,latitude:null!==(d=n.latitude)&&void 0!==d?d:A.initial.latitude,fov:null!==(p=n.fov)&&void 0!==p?p:A.initial.fov}),this.emit("willLoad",t,A,{panoIndex:g,mode:v,longitude:y.longitude,latitude:y.latitude,fov:y.fov});var b=function(){var i;m.panoIndex=g,m.panoramaLikeSavedPose.longitude=A.initial.longitude,m.panoramaLikeSavedPose.latitude=A.initial.latitude,m.panoramaLikeSavedPose.fov=A.initial.fov;var n=m.controller?null!=r?r:m.modeChangeDuration:0,a=e.__assign(e.__assign({initial:[g,y,n,o]},m.commonParams()),m.controllerInits[v]);m.controller?!1===m.controller.updateWork(A,g,y,n,o)&&(m.controller.destroy(),m.controller=m.applyController(v,a)):m.controller=m.applyController(v,a),m.emit("load",t,A,{panoIndex:g,mode:v,longitude:y.longitude,latitude:y.latitude,fov:y.fov}),null===(i=m.analysis)||void 0===i||i.work(A)},w=function(t){var e;void 0===t&&(t=Pt),A.model&&(m.model.name!==(null===(e=A.model)||void 0===e?void 0:e.file)?(m.emit("modelWillLoad",A.model),m.loadModel(A.model,A.allowHosts,t,!0)):t&&t())};return cA.set(this,A),v===i.Mode.Floorplan||v===i.Mode.Topview||v===i.Mode.Mapview||v===i.Mode.Model?w((function(){b(),m.needsRender=!0})):(this.controller||(this.camera.setFromPose({distance:0,fov:A.initial.fov,longitude:A.initial.longitude,latitude:A.initial.latitude,offset:A.observers[A.initial.panoIndex].position}),this.needsRender=!0),b(),null===(f=this.controller)||void 0===f||f.once("panoLoaded",(function(){m.needsRender=!0,m.emit("cameraUpdate",m.camera.copyPose(),o),w()}))),this.ready().then((function(){m.emit("loaded",t,m.work)}))},i.prototype.changeMode=function(t,n,r,o,a){var s=this;if(void 0===n&&(n={}),void 0===r&&(r=this.modeChangeDuration),void 0===o&&(o=!0),void 0===a&&(a=!1),!this.renderer)throw new Error("renderer is not initialized.");return new Promise((function(c,l){if(!i.Mode.hasOwnProperty(t)){var h=new Error('mode "'.concat(t,'" is not existed'));return s.throwError(h),void l(h)}if((t===i.Mode.Floorplan||t===i.Mode.Topview||t===i.Mode.Mapview||t===i.Mode.Model)&&(_m(s.model)||!0!==s.model.loaded)){h=new Error("model is not ready.");return s.throwError(h),void l(h)}if(_m(s.controller)){h=new Error("controller is not ready.");return s.throwError(h),void l(h)}var u=s.controller,d=s.currentMode,p=function(){var h,p,f,m;if(s.emit("wantsChangeMode",t,d))l(new Error("change mode canceled."));else{if(s.controller&&!1===a&&d===t)t===i.Mode.Panorama||t===i.Mode.DepthPanorama||t===i.Mode.Model||t===i.Mode.VRPanorama?"number"==typeof n.panoIndex&&n.panoIndex!==s.panoIndex?s.controller.moveToPano(null!==(p=null!==(h=n.panoIndex)&&void 0!==h?h:s.panoIndex)&&void 0!==p?p:0,e.__assign({duration:r},n),o):s.controller.updateCamera(n,r,o).catch(Pt):("number"==typeof n.panoIndex&&n.panoIndex!==s.panoIndex&&(s.panoIndex=n.panoIndex),s.controller.updateCamera(n,r,o).catch(Pt));else{u.destroy();var g=null!==(m=null!==(f=n.panoIndex)&&void 0!==f?f:s.panoIndex)&&void 0!==m?m:0,v=Fy(t)?s.panoramaLikeSavedPose:{};t===i.Mode.Mapview&&(v.longitude=s.panoramaLikeSavedPose.longitude),"number"!=typeof n.longitude&&"number"!=typeof n.latitude||(v.longitude=n.longitude,v.latitude=n.latitude),"number"==typeof n.fov&&(v.fov=n.fov);var y=e.__assign(e.__assign({initial:[g,v,r,o]},s.commonParams()),s.controllerInits[t]);s.saveControllerPose(u),s.controller=s.applyController(t,y);var A=ky[t].initAnimationEndPose(y);s.emit("modeChange",t,d,g,A,o)}c()}};t===i.Mode.VRPanorama?(s.requestFullscreen(),("undefined"==typeof location||"https:"!==location.protocol?Promise.reject(new Error("Request DeviceOrientation Permission denied.")):"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(t){if("granted"==t)return Promise.resolve();var e=new Error("Request DeviceOrientation Permission denied.");return Promise.reject(e)})):Promise.resolve()).then((function(){return p()})).catch((function(t){t instanceof Error&&(s.exitFullscreen(),s.throwError(t),l(t))}))):p()}))},i.prototype.getPixels=function(t,e,i,n,o){if(void 0===o&&(o=1),!this.renderer)throw new Error("renderer is not initialized.");var a=this.getPixelsRenderTarget,s=this.renderer.getSize(new r.Vector2);t=Rm(t,Math.floor(i/2),Math.floor(s.x-i)),e=Rm(e,Math.floor(n/2),Math.floor(s.y-n)),t*=o,e*=o,i*=o,n*=o,a.setSize(s.x*o,s.y*o),a.scissor.set(t,e,i,n),a.scissorTest=!0,this.renderer.setRenderTarget(a);var c=new Uint8Array(i*n*4);return this.controller?this.controller.render():this.renderer.render(this.scene,this.camera),this.renderer.readRenderTargetPixels(a,t,e,i,n,c),this.renderer.setRenderTarget(null),a.setSize(1,1),a.scissor.set(0,0,0,0),a.scissorTest=!1,c},i.prototype.getElement=function(){var t;return null===(t=this.renderer)||void 0===t?void 0:t.domElement},i.prototype.render=function(t,e){var i=this;if(void 0===e&&(e=!1),!this.renderer)return null;if(e){var n=this.renderer.getSize(rA);this.scene.traverseVisible((function(t){t.setResolution&&t.setResolution(n.x,n.y)}))}if(this.controller&&this.screenBuffer&&null===this.renderer.getRenderTarget()){var r=this.getDrawingBufferSize(rA);return this.screenBuffer.setSize(r.x,r.y),this.renderer.setRenderTarget(this.screenBuffer),this.controller.render(),this.renderer.setRenderTarget(null),"VRPanorama"!==this.currentMode&&this.poweredByRealsee&&tA(this.renderer),this.renderer.setRenderTarget(null),t&&Jt.shared.add(t,!0),this.screenBuffer}return this.aroundScissor((function(){i.renderer&&(i.controller?i.controller.render():i.renderer.render(i.scene,i.camera),"VRPanorama"!==i.currentMode&&i.poweredByRealsee&&tA(i.renderer)),t&&Jt.shared.add(t,!0)})),null},i.prototype.updateTime=function(t,e){var i=this;if(!this.destroyed){this.syncingState=this.syncState(t,e),this.controller&&this.controller.updateTime(t,e),this.syncingState=!1;var n=new r.Vector2(512,512),o=new r.Vector2(512,512);this.renderer&&(this.renderer.getSize(n),n.x*=this.scissor.width,n.y*=this.scissor.height,this.renderer.getDrawingBufferSize(o),o.x*=this.scissor.width,o.y*=this.scissor.height);var a=[];if(aA.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),this.renderer&&this.model.update(this.renderer,this.camera),oA.setFromProjectionMatrix(aA),this.scene.traverse((function(t){if(t.setResolution&&t.setResolution(n.x,n.y),t.mixer instanceof r.AnimationMixer){var e=sA.get(t.mixer);e||(e=new r.Clock,sA.set(t.mixer,e)),t.mixer.update(e.getDelta())}(t instanceof r.Mesh||t instanceof r.Line||t instanceof r.Points)&&(t instanceof r.ImmediateRenderObject||!t.frustumCulled||oA.intersectsObject(t))&&a.push(t)})),o.width*o.height>8388608?this.renderSwitch01=1^this.renderSwitch01:this.renderSwitch01=0,this.renderer&&!1===this.paused&&0===this.renderSwitch01){var s=void 0;if(!0!==this.onlyRenderIfNeeds)s=this.render();else{for(var c=0,l=a;c<l.length;c++){var h=l[c],u=function(t){!0===t.needsRender?(t.needsRender=!1,i.needsRender=!0):t.mixer&&t.mixer.stats.actions.inUse>0&&(i.needsRender=!0)};u(h),h.traverseAncestors(u)}this.controller&&!0===this.controller.needsRender&&(this.controller.needsRender=!1,this.needsRender=!0),!1!==this.needsRender&&(s=this.render())}this.needsRender=!1,this.controller&&this.screenBuffer&&this.aroundScissor((function(){return i.controller.postProcessing(i.screenBuffer,void 0)})),this.hasListener("renderFrame")&&this.emit("renderFrame",void 0!==s)}if(this.fps.testTime&&t-this.fps.testTime<1e3)this.fps.testCount++;else if(this.emit("fps",this.fps.testCount),this.fps.testTime=t,this.fps.testCount=0,this.renderer){var d=function(t){var e=t.getError();if(e===t.NO_ERROR)return null;switch(e){case t.INVALID_ENUM:return new Error("webgl error: INVALID_ENUM");case t.INVALID_VALUE:return new Error("webgl error: INVALID_VALUE");case t.INVALID_OPERATION:return new Error("webgl error: INVALID_OPERATION");case t.INVALID_FRAMEBUFFER_OPERATION:return new Error("webgl error: INVALID_FRAMEBUFFER_OPERATION");case t.OUT_OF_MEMORY:return new Error("webgl error: OUT_OF_MEMORY");case t.CONTEXT_LOST_WEBGL:return new Error("webgl error: CONTEXT_LOST_WEBGL");default:return null}}(this.renderer.getContext());d&&this.throwError(d)}}},i.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof ge&&this.renderer.clear(!0,!0,!0)},i.prototype.play=function(){this.needsRender=!0,this.paused=!1},i.prototype.moveToPano=function(t,e,n){void 0===e&&(e={}),void 0===n&&(n=!0);var r=this,o=r.controller,a=r.currentMode,s=r.renderer;o?s?a===i.Mode.Floorplan||a===i.Mode.Topview||a===i.Mode.Mapview?_m(t)||(this.panoIndex=t,this.changeMode(i.Mode.Panorama,e,void 0,n)):o.moveToPano(t,e,n):this.throwError(new Error("renderer is not initialized.")):this.throwError(new Error("controller is not initialized."))},i.prototype.preloadPano=function(t,i){var n=this;if(void 0===i&&(i=Pt),!this.work)return Promise.reject(new Error("work never loaded"));var r=this.work.observers[t],o=Bt();return Promise.all(["right","left","up","down","front","back"].map((function(i){var o=e.__assign({key:"pano.".concat(t,".").concat(i),basisLoaderInitialized:gi.isInitialized()},Xe(n.imageOptions,["size","format","quality","mappings"])),a=r.images[i];return function(t,e){return void 0===e&&(e={}),e.requestProxy&&(t=e.requestProxy(t)),t in Kt?Kt[t]:Kt[t]=new Promise((function(i,n){var r=document.createElement("link");r.href=t,r.rel=r.relList&&r.relList.supports("prefetch")?"prefetch":"preload",r.as="fetch",r.crossOrigin="";var o=Bt(),a=document.head||document.getElementsByTagName("head")[0];a&&a.appendChild(r);var s=!1;r.onload=function(){var n;if(!0!==s){s=!0,i();var r=Bt(),a={source:t,requestTime:o,responseTime:r,costs:r-o,headers:{}};null===(n=e.networkSubscribe)||void 0===n||n.emit("network",t,"Link","preload",JSON.stringify(a))}},r.onerror=function(i){var r;if(!0!==s){s=!0;var o=new Vt(t,"Link",0);n(o),null===(r=e.networkSubscribe)||void 0===r||r.emit("network",t,"Link","error",o.message)}}}))}(n.imageOptions.transform?n.imageOptions.transform(a,o):ie(a,o),{requestProxy:n.requestProxy,networkSubscribe:n.networkSubscribe})}))).then((function(){var t=Bt()-o;return i(t),t}))},i.prototype.project2d=function(t,e){if(void 0===e&&(e=!1),!this.renderer)return null;if(!1===this.model.empty&&e){var i=this.camera.position,n=t.clone().sub(i),o=new r.Raycaster(i,n.clone().normalize()),a=this.model.intersectRaycaster(o)[0];if(a&&a.distance+.01<n.length())return null}var s=t.clone().project(this.camera);if(Math.abs(s.z)>1)return null;var c=this.renderer.getSize(new r.Vector2),l=c.x*this.scissor.width,h=c.y*this.scissor.height,u=c.x*this.scissor.left+(s.x+1)/2*l,d=c.y*(1-this.scissor.bottom-this.scissor.height)+(1-s.y)/2*h;return new r.Vector2(u,d)},i.prototype.getRenderObjects=function(t){aA.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),oA.setFromProjectionMatrix(aA),t||(t=this.scene);var e=[];return t.traverseVisible((function(t){(t instanceof r.Mesh||t instanceof r.Line||t instanceof r.Points)&&(t instanceof r.ImmediateRenderObject||!t.frustumCulled||oA.intersectsObject(t))&&e.push(t)})),e},i.prototype.getCurrentState=function(){return e.__assign(e.__assign({},this.getPose()),{mode:this.currentMode||i.Mode.Panorama,panoIndex:this.panoIndex||0})},i.prototype.setState=function(t,n,o){var a,s,c,l,h,u,d,p,f;void 0===n&&(n=!1),void 0===o&&(o=!0),!(t=Object.assign({},t)).offset||t instanceof r.Vector3||(t.offset=new r.Vector3(t.offset.x,t.offset.y,t.offset.z));var m,g,v,y,A,x=null!==(a=t.panoIndex)&&void 0!==a?a:this.state.panoIndex,b=null!==(s=t.mode)&&void 0!==s?s:this.state.mode;if(this.work)if(this.work.observers[x])if(t.mode!==i.Mode.Floorplan&&t.mode!==i.Mode.Topview&&t.mode!==i.Mode.Mapview&&t.mode!==i.Mode.Model||!_m(this.model)&&!0===this.model.loaded){if(this.state.mode!==b){if("VRPanorama"===b)return void this.changeMode("VRPanorama",void 0,void 0,!0);var w=void 0;w=Fy(this.state.mode)&&Fy(b)?e.__assign({},this.state):Fy(b)?e.__assign({},this.panoramaLikeSavedPose):b===i.Mode.Mapview?{longitude:this.panoramaLikeSavedPose.latitude}:e.__assign({},t),"number"==typeof t.longitude&&(w.longitude=t.longitude),"number"==typeof t.latitude&&(w.latitude=t.latitude),"number"==typeof t.fov&&(w.fov=t.fov);var M=e.__assign(e.__assign({initial:[x,w,this.modeChangeDuration,!1]},this.commonParams()),this.controllerInits[b]),E=ky[b].initAnimationEndPose(M);m=E.longitude,g=E.latitude,v=E.fov,y=E.offset,A=E.distance}else m=null!==(c=t.longitude)&&void 0!==c?c:this.state.longitude,g=null!==(l=t.latitude)&&void 0!==l?l:this.state.latitude,v=null!==(h=t.fov)&&void 0!==h?h:this.state.fov,y=null!==(u=t.offset)&&void 0!==u?u:this.state.offset,A=null!==(d=t.distance)&&void 0!==d?d:this.state.distance;var S={panoIndex:x,mode:b,longitude:m,latitude:g,fov:v,offset:y,distance:A};this.emit("setState",S),Wg(this.state,S)||(Qg(this.state,S),this.controller&&(this.controller.userAction=o),n&&this.state.mode===S.mode&&(this.syncingState=this.syncState(Bt(),0,n),this.syncingState&&(null===(p=this.controller)||void 0===p||p.updateTime(Bt(),0),this.syncingState=!1)),this.emit("stateChange",this.state,o),null===(f=this.analysis)||void 0===f||f.state(this.work,this.state))}else this.throwError(new Error("model is not ready."));else this.throwError(new Error("panoIndex not found in work"));else this.throwError(new Error("work never load."))},i.prototype.aroundScissor=function(t){if(this.renderer){var e=new r.Vector2,i=0!==this.scissor.left||0!==this.scissor.bottom||1!==this.scissor.width||1!==this.scissor.height;if(i){this.renderer.getSize(e);var n=Math.floor(e.x*this.scissor.left),o=Math.floor(e.y*this.scissor.bottom),a=Math.floor(e.x*this.scissor.width),s=Math.floor(e.y*this.scissor.height);this.renderer.setViewport(n,o,a,s),this.renderer.setScissor(n,o,a,s),this.renderer.setScissorTest(!0)}t(),i&&(this.renderer.setViewport(0,0,e.x,e.y),this.renderer.setScissor(0,0,e.x,e.y),this.renderer.setScissorTest(!1))}},i.prototype.syncState=function(t,e,n){void 0===n&&(n=!1);var o=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var a={mode:this.state.mode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.changeMode(this.state.mode,a,this.modeChangeDuration,this.controller.userAction),!0}if(!1===this.controller.isReady())return!1;if(this.readyCallbacks.length){var s=this.currentMode;if(!(s===i.Mode.Floorplan||s===i.Mode.Topview||s===i.Mode.Mapview||s===i.Mode.Model)||!this.modelPending)for(var c=void 0;c=this.readyCallbacks.shift();)c()}if(this.controller instanceof ky.Model){if(!this.camera.pose.offset.equals(this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,l,!1),!0}}else if(this.state.panoIndex!==this.panoIndex){l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(this.state.panoIndex,l,!1),!0}if(this.controller instanceof ky.Topview||this.controller instanceof ky.Mapview){var h=1,u=n?this.state.fov:Gg(this.camera.pose.fov,this.state.fov,h),d=n?new r.Vector3(this.state.offset.x,this.state.offset.y,this.state.offset.z):new r.Vector3(Gg(this.camera.pose.offset.x,this.state.offset.x,.2),Gg(this.camera.pose.offset.y,this.state.offset.y,.2),Gg(this.camera.pose.offset.z,this.state.offset.z,.2));if(Lg(u,this.camera.pose.fov)||Og(d,this.camera.pose.offset))return this.controller.cameraMotion.set({fov:u},0).catch(Pt),this.controller.locationMotion.set({x:d.x,y:d.y,z:d.z},0).catch(Pt),!0}else{h=1;var p=Math.PI/45,f=(u=n?this.state.fov:Gg(this.camera.pose.fov,this.state.fov,h),n?{longitude:this.state.longitude,latitude:this.state.latitude}:function(t,e,i){if(t.longitude===e.longitude&&t.latitude===e.latitude)return{longitude:e.longitude,latitude:e.latitude};var n=Vg(t.longitude),r=t.latitude,o=Vg(e.longitude),a=e.latitude;o-n>Hg?n+=Ug:n-o>Hg&&(n-=Ug);var s=i/Math.sqrt(Math.pow(o-n,2)+Math.pow(a-r,2));return s>=1?{longitude:e.longitude,latitude:e.latitude}:{longitude:n+(o-n)*s,latitude:r+(a-r)*s}}({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},p)),m=f.longitude,g=f.latitude;if(Lg(m,this.camera.pose.longitude,2*Math.PI)||Lg(g,this.camera.pose.latitude)||Lg(u,this.camera.pose.fov))return this.controller.cameraMotion.set({longitude:m,latitude:g,fov:u},0).catch(Pt),!0}return this.stateSynced=!0,!1===o&&this.emit("stateSynced",this.state),!1},i.prototype.ready=function(){var t=this;return new Promise((function(e){return t.readyCallbacks.push(e)}))},i.prototype.requestFullscreen=function(){var t;if(jg()){var e=null===(t=this.getElement())||void 0===t?void 0:t.parentNode;e&&"requestFullscreen"in e&&"undefined"!=typeof document&&null===document.fullscreenElement&&e.requestFullscreen()}},i.prototype.exitFullscreen=function(){"undefined"!=typeof document&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},i.prototype.throwError=function(t){this.hasListener("error")?this.emit("error",t):console.error(t)},i.prototype.loadModel=function(t,e,i,n){var o=this,a=t.file;this.emit("modelWillLoad",t);var s=new Pm({allowHosts:e,requestProxy:this.requestProxy,networkSubscribe:this.networkSubscribe});s.once("bvhLoaded",(function(){var t,e;o.destroyed||a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)&&o.emit("modelBvhLoaded",s)})),s.once("materialLoaded",(function(){var t,e;o.destroyed||a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)&&o.emit("modelMaterialLoaded",s)})),s.once("geometryLoaded",(function(){var t,e;o.destroyed||a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)&&(s.bounding.max.y-s.bounding.min.y<1.5&&(s.bounding.max.y=s.bounding.min.y+10),o.emit("modelGeometryLoaded",s))})),s.once("loaded",(function(){var t,e,n,r;if(!o.destroyed&&a===(null===(e=null===(t=o.work)||void 0===t?void 0:t.model)||void 0===e?void 0:e.file)){var c,l=o.model;l&&(l.show(),c=l.getMaterial()||{},o.scene.remove(l),l.dispose(),s.setTransparent(l.getTransparent())),c&&s.setMaterial(c),o.model=s,o.scene.add(s),null===(n=o.controller)||void 0===n||n.updateModel(s),null===(r=o.renderer)||void 0===r||r.compile(o.scene,o.camera),o.needsRender=!0,o.modelPending=!1,i(),o.emit("modelLoaded",s)}})),s.on("shownFloorChange",(function(t,e){var i,n;o.destroyed||a===(null===(n=null===(i=o.work)||void 0===i?void 0:i.model)||void 0===n?void 0:n.file)&&o.emit("modelShownFloorChange",t,e)})),s.on("error",(function(t){var e,n,c,l;if(!o.destroyed&&a===(null===(n=null===(e=o.work)||void 0===e?void 0:e.model)||void 0===n?void 0:n.file)){s.bounding.makeEmpty();for(var h=0,u=o.work.observers;h<u.length;h++){var d=u[h];s.bounding.expandByPoint(d.standingPosition),s.bounding.expandByPoint((new r.Vector3).fromArray([d.position.x,2*d.position.y-d.standingPosition.y,d.position.z]))}var p=Fg(s.bounding,new r.Vector3(1,0,1));p.visible=!0,p.name="model_empty",s.add(p);var f,m=o.model;m&&(m.show(),f=m.getMaterial()||{},o.scene.remove(m),m.dispose(),s.setTransparent(m.getTransparent())),f&&s.setMaterial(f),o.model=s,o.scene.add(s),null===(c=o.controller)||void 0===c||c.updateModel(s),null===(l=o.renderer)||void 0===l||l.compile(o.scene,o.camera),o.emit("modelLoadError",t,s),o.throwError(t),o.modelPending=!1,i()}})),this.modelPending=!0,s.load(t,this.textureOptions).catch(Pt)},i.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,helper:this.helperGroup,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),model:this.model,work:this.work,imageOptions:this.imageOptions,enableIOSEDR:this._enableIOSEDR,extraElements:this.extraElements,videoTexture:this.videoTexture,networkSubscribe:this.networkSubscribe,requestProxy:this.requestProxy}},i.prototype.saveControllerPose=function(t){void 0===t&&(t=this.controller),t&&Fy(t)&&(this.panoramaLikeSavedPose.longitude=this.camera.pose.longitude,this.panoramaLikeSavedPose.latitude=this.camera.pose.latitude,this.panoramaLikeSavedPose.fov=this.camera.pose.fov)},i.prototype.applyController=function(t,n){var r=this;if(!this.renderer)throw new Error("renderer is not initialized.");var o=ky[t];t===this.currentMode||this.model.empty||this.model.show(),this.model.setTransparent(t===i.Mode.Floorplan||t===i.Mode.Topview||t===i.Mode.Model||t===i.Mode.Mapview),this.currentMode=t;for(var a=new o(n),s=function(t){a.on(t,(function(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var o=r.emit.apply(r,e.__spreadArray([t],i,!1));if(o)return!1}))},c=0,l=zy;c<l.length;c++){s(l[c])}var h=ky[t].initAnimationEndPose(n),u=n.initial[3],d={panoIndex:n.initial[0],mode:t,longitude:h.longitude,latitude:h.latitude,fov:h.fov,offset:h.offset,distance:h.distance};return Wg(this.state,d)||(Qg(this.state,d),this.emit("stateChange",this.state,u)),this.emit("currentStateChange",this.getCurrentState(),u),a.on("cameraUpdate",(function(i,n){var o;if(r.controller){var a=e.__assign(e.__assign({},r.controller.getTargetPose()),{panoIndex:r.panoIndex,mode:t});n&&!1===r.syncingState&&r.state.mode===a.mode&&!Wg(r.state,a)&&(Qg(r.state,a),r.emit("stateChange",r.state,n),null===(o=r.analysis)||void 0===o||o.state(r.work,r.state))}r.emit("currentStateChange",r.getCurrentState(),n)})),a.on("initAnimationWillStart",(function(i,n,o){var a,s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("initAnimationEnded",(function(i,n,o){var a,s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("panoWillArrive",(function(i,n,o){var a;r.panoIndex=i;var s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("panoArrived",(function(i,n,o){var a,s=e.__assign(e.__assign({},n),{panoIndex:i,mode:t});o&&r.state.mode===s.mode&&!Wg(r.state,s)&&(Qg(r.state,s),r.emit("stateChange",r.state,o),null===(a=r.analysis)||void 0===a||a.state(r.work,r.state))})),a.on("moveToPano",(function(t,e){r.emit("currentStateChange",r.getCurrentState(),e)})),a.on("wantsMoveToPano",(function(t,e,i){var n=r.emit("wantsMoveToPano",t,e,i);n||(n=r.emit("wantsToMoveToPano",t,e,i)),n||r.moveToPano(t,e,i)})),a.on("vrWantsToExit",(function(){r.currentMode===i.Mode.VRPanorama&&(r.exitFullscreen(),r.changeMode(i.Mode.Panorama))})),a.on("error",(function(t){return r.throwError(t)})),a},i.prototype.removeEventListeners=function(){},i.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",DepthPanorama:"DepthPanorama",VRPanorama:"VRPanorama"},i.Line=null,i}(It);exports.AnimationFrameLoop=Jt,exports.BVH=Le,exports.BVHIntersect=Ce,exports.BVHNode=Te,exports.BVHVector3=_e,exports.Camera=Se,exports.Five=lA,exports.InternalWebGLRenderer=ge,exports.IntersectMesh=Rg,exports.LegacyPanoCircleMesh=dg,exports.Model=Pm,exports.NetworkSubscribe=Wt,exports.PBMContainer=ae,exports.PBMGroup=se,exports.PBMMaterial=me,exports.PBMMesh=oe,exports.PROXY_CONTROLLER_EVENT_NAMES=zy,exports.PanoCircleMesh=Tg,exports.Scene=ve,exports.Subscribe=It,exports.Tile3D=Cr,exports.Tile3DModel=Sm,exports.TileBoundingSphere=nr,exports.TileCacheNode=ln,exports.TileCullingVolume=Tn,exports.TileOrientedBoundingBox=br,exports.TilePlane=wn,exports.TileRequestScheduler=cn,exports.Tileset3D=Br,exports.Tileset3DTraverser=Pr,exports.TilesetCache=un,exports.Work=Gm,exports.defaultImageURLTransform=ie,exports.getViewportScale=Hy,exports.imageSupport=function(){return re||(re=Promise.all([ne("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),ne("data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA")]).then((function(t){var e=t[0];return{webp:t[1],avif:e}})).catch((function(){return{webp:!1,avif:!1}})))},exports.parseWork=qm;