@realsee/five 5.0.0-alpha.60 → 5.0.0-alpha.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/classes/five.AnimationFrameLoop.html +4 -4
- package/docs/classes/five.BVH.html +4 -4
- package/docs/classes/five.BVHNode.html +4 -4
- package/docs/classes/five.BVHVector3.html +4 -4
- package/docs/classes/five.Camera.html +4 -4
- package/docs/classes/five.Five.html +4 -4
- package/docs/classes/five.InternalWebGLRenderer.html +4 -4
- package/docs/classes/five.Model.html +4 -4
- package/docs/classes/five.NetworkSubscribe.html +4 -4
- package/docs/classes/five.PBMContainer.html +4 -4
- package/docs/classes/five.PBMGroup.html +4 -4
- package/docs/classes/five.PBMMaterial.html +4 -4
- package/docs/classes/five.PBMMesh.html +4 -4
- package/docs/classes/five.Scene.html +4 -4
- package/docs/classes/five.Subscribe.html +4 -4
- package/docs/classes/five.Work.html +4 -4
- package/docs/classes/gltf_loader.GLTFLoader.html +4 -4
- package/docs/classes/gltf_loader.GLTFObject.html +4 -4
- package/docs/classes/line.Line.html +4 -4
- package/docs/classes/line.LineGeometry.html +4 -4
- package/docs/classes/line.LineMaterial.html +4 -4
- package/docs/classes/line.LineSegmentsGeometry.html +4 -4
- package/docs/classes/line.THREE_Line2.html +4 -4
- package/docs/classes/line.THREE_LineSegments2.html +4 -4
- package/docs/classes/react.Store.html +4 -4
- package/docs/classes/server.BVH.html +4 -4
- package/docs/classes/server.BVHNode.html +4 -4
- package/docs/classes/server.BVHVector3.html +4 -4
- package/docs/classes/server.Model.html +4 -4
- package/docs/classes/server.PBMGroup.html +4 -4
- package/docs/classes/server.PBMMesh.html +4 -4
- package/docs/classes/sticker.Sticker.html +4 -4
- package/docs/index.html +4 -4
- package/docs/interfaces/five.AddableObject.html +4 -4
- package/docs/interfaces/five.AnimationFrame.html +4 -4
- package/docs/interfaces/five.BVHIntersect.html +4 -4
- package/docs/interfaces/five.CameraPose.html +4 -4
- package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.EventCallback.html +4 -4
- package/docs/interfaces/five.FiveInitArgs.html +4 -4
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.ImageOptions.html +4 -4
- package/docs/interfaces/five.ImageURLOptions.html +4 -4
- package/docs/interfaces/five.IntersectMeshInterface.html +4 -4
- package/docs/interfaces/five.Intersection.html +4 -4
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.ModelEventCallback.html +4 -4
- package/docs/interfaces/five.MovePanoOptions.html +4 -4
- package/docs/interfaces/five.PBMPanoPicture.html +4 -4
- package/docs/interfaces/five.PBMPanoVideo.html +4 -4
- package/docs/interfaces/five.PBMParameters.html +4 -4
- package/docs/interfaces/five.PanoCircleMeshInterface.html +4 -4
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.Pose.html +4 -4
- package/docs/interfaces/five.Scissor.html +4 -4
- package/docs/interfaces/five.State.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.emit.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.hasListener.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.off.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.on.html +4 -4
- package/docs/interfaces/five.SubscribeMixinType.once.html +4 -4
- package/docs/interfaces/five.TextureOptions.html +4 -4
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +4 -4
- package/docs/interfaces/five.WorkCubeImage.html +4 -4
- package/docs/interfaces/five.WorkImage.html +4 -4
- package/docs/interfaces/five.WorkInitial.html +4 -4
- package/docs/interfaces/five.WorkModel.html +4 -4
- package/docs/interfaces/five.WorkObserver.html +4 -4
- package/docs/interfaces/five.WorkTile.html +4 -4
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/gltf_loader.GLTF.html +4 -4
- package/docs/interfaces/react.FiveActionReactCallbacks.html +4 -4
- package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
- package/docs/interfaces/react.PropTypeOfFiveFeatures.html +4 -4
- package/docs/interfaces/server.BVHIntersect.html +4 -4
- package/docs/interfaces/server.Intersection.html +4 -4
- package/docs/interfaces/server.ModelEventCallback.html +4 -4
- package/docs/interfaces/sticker.IntersectionLike.html +4 -4
- package/docs/modules/five.SubscribeMixinType.html +4 -4
- package/docs/modules/five.html +4 -4
- package/docs/modules/gltf_loader.html +4 -4
- package/docs/modules/line.html +4 -4
- package/docs/modules/react.html +4 -4
- package/docs/modules/server.html +4 -4
- package/docs/modules/sticker.html +4 -4
- package/docs/modules.html +4 -4
- package/five/index.js +2 -2
- package/gltf-loader/index.js +1 -1
- package/line/index.js +1 -1
- package/package.json +1 -1
- package/react/index.js +1 -1
- package/server/index.js +1 -1
- package/sticker/index.js +1 -1
- package/umd/five.js +1 -1
package/five/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @realsee/five
|
|
3
3
|
*
|
|
4
4
|
* Generated: 2021-12-06
|
|
5
|
-
* Version: 5.0.0-alpha.
|
|
5
|
+
* Version: 5.0.0-alpha.61
|
|
6
6
|
*
|
|
7
7
|
* Terms:
|
|
8
8
|
* Realsee SDK License Agreement
|
|
@@ -369,7 +369,7 @@ function(e,t){for(var i=e.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 zn=function(e,t,i,n){var r,o=["","webkit","Moz","MS","ms","o"],s=t.createElement?t.createElement("div"):n,a=Math.round,u=Math.abs,c=Date.now;function l(e,t,i){return setTimeout(g(e,i),t)}function h(e,t,i){return!!Array.isArray(e)&&(d(e,i[t],i),!0)}function d(e,t,i){var r;if(e)if(e.forEach)e.forEach(t,i);else if(e.length!==n)for(r=0;r<e.length;)t.call(i,e[r],r,e),r++;else for(r in e)e.hasOwnProperty(r)&&t.call(i,e[r],r,e)}function p(t,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=e.console&&(e.console.warn||e.console.log);return o&&o.call(e.console,r,n),t.apply(this,arguments)}}r="function"!=typeof Object.assign?function(e){if(e===n||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i<arguments.length;i++){var r=arguments[i];if(r!==n&&null!==r)for(var o in r)r.hasOwnProperty(o)&&(t[o]=r[o])}return t}:Object.assign;var A=p((function(e,t,i){for(var r=Object.keys(t),o=0;o<r.length;)(!i||i&&e[r[o]]===n)&&(e[r[o]]=t[r[o]]),o++;return e}),"extend","Use `assign`."),f=p((function(e,t){return A(e,t,!0)}),"merge","Use `assign`.");function M(e,t,i){var n,o=t.prototype;(n=e.prototype=Object.create(o)).constructor=e,n._super=o,i&&r(n,i)}function g(e,t){return function(){return e.apply(t,arguments)}}function y(e,t){return"function"==typeof e?e.apply(t&&t[0]||n,t):e}function m(e,t){return e===n?t:e}function v(e,t,i){d(T(t),(function(t){e.addEventListener(t,i,!1)}))}function N(e,t,i){d(T(t),(function(t){e.removeEventListener(t,i,!1)}))}function D(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function w(e,t){return e.indexOf(t)>-1}function T(e){return e.trim().split(/\s+/g)}function x(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var n=0;n<e.length;){if(i&&e[n][i]==t||!i&&e[n]===t)return n;n++}return-1}function E(e){return Array.prototype.slice.call(e,0)}function j(e,t,i){for(var n=[],r=[],o=0;o<e.length;){var s=t?e[o][t]:e[o];x(r,s)<0&&n.push(e[o]),r[o]=s,o++}return i&&(n=t?n.sort((function(e,i){return e[t]>i[t]})):n.sort()),n}function z(e,t){for(var i,r,s=t[0].toUpperCase()+t.slice(1),a=0;a<o.length;){if((r=(i=o[a])?i+s:t)in e)return r;a++}return n}var I=1;function b(t){var i=t.ownerDocument||t;return i.defaultView||i.parentWindow||e}var O="ontouchstart"in e,S=z(e,"PointerEvent")!==n,L=O&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),k="touch",C="mouse",P=24,B=["x","y"],_=["clientX","clientY"];function U(e,t){var i=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){y(e.options.enable,[e])&&i.handler(t)},this.init()}function R(e,t,i){var r=i.pointers.length,o=i.changedPointers.length,s=1&t&&r-o==0,a=12&t&&r-o==0;i.isFirst=!!s,i.isFinal=!!a,s&&(e.session={}),i.eventType=t,function(e,t){var i=e.session,r=t.pointers,o=r.length;i.firstInput||(i.firstInput=Q(t));o>1&&!i.firstMultiple?i.firstMultiple=Q(t):1===o&&(i.firstMultiple=!1);var s=i.firstInput,a=i.firstMultiple,l=a?a.center:s.center,h=t.center=Y(r);t.timeStamp=c(),t.deltaTime=t.timeStamp-s.timeStamp,t.angle=G(l,h),t.distance=H(l,h),function(e,t){var i=t.center,n=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:i.x,y:i.y});t.deltaX=r.x+(i.x-n.x),t.deltaY=r.y+(i.y-n.y)}(i,t),t.offsetDirection=V(t.deltaX,t.deltaY);var d=F(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=d.x,t.overallVelocityY=d.y,t.overallVelocity=u(d.x)>u(d.y)?d.x:d.y,t.scale=a?function(e,t){return H(t[0],t[1],_)/H(e[0],e[1],_)}(a.pointers,r):1,t.rotation=a?function(e,t){return G(t[1],t[0],_)+G(e[1],e[0],_)}(a.pointers,r):0,t.maxPointers=i.prevInput?t.pointers.length>i.prevInput.maxPointers?t.pointers.length:i.prevInput.maxPointers:t.pointers.length,function(e,t){var i,r,o,s,a=e.lastInterval||t,c=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(c>25||a.velocity===n)){var l=t.deltaX-a.deltaX,h=t.deltaY-a.deltaY,d=F(c,l,h);r=d.x,o=d.y,i=u(d.x)>u(d.y)?d.x:d.y,s=V(l,h),e.lastInterval=t}else i=a.velocity,r=a.velocityX,o=a.velocityY,s=a.direction;t.velocity=i,t.velocityX=r,t.velocityY=o,t.direction=s}(i,t);var p=e.element;D(t.srcEvent.target,p)&&(p=t.srcEvent.target);t.target=p}(e,i),e.emit("hammer.input",i),e.recognize(i),e.session.prevInput=i}function Q(e){for(var t=[],i=0;i<e.pointers.length;)t[i]={clientX:a(e.pointers[i].clientX),clientY:a(e.pointers[i].clientY)},i++;return{timeStamp:c(),pointers:t,center:Y(t),deltaX:e.deltaX,deltaY:e.deltaY}}function Y(e){var t=e.length;if(1===t)return{x:a(e[0].clientX),y:a(e[0].clientY)};for(var i=0,n=0,r=0;r<t;)i+=e[r].clientX,n+=e[r].clientY,r++;return{x:a(i/t),y:a(n/t)}}function F(e,t,i){return{x:t/e||0,y:i/e||0}}function V(e,t){return e===t?1:u(e)>=u(t)?e<0?2:4:t<0?8:16}function H(e,t,i){i||(i=B);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return Math.sqrt(n*n+r*r)}function G(e,t,i){i||(i=B);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return 180*Math.atan2(r,n)/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&v(this.element,this.evEl,this.domHandler),this.evTarget&&v(this.target,this.evTarget,this.domHandler),this.evWin&&v(b(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&N(this.element,this.evEl,this.domHandler),this.evTarget&&N(this.target,this.evTarget,this.domHandler),this.evWin&&N(b(this.element),this.evWin,this.domHandler)}};var W={mousedown:1,mousemove:2,mouseup:4},q="mousedown",K="mousemove mouseup";function Z(){this.evEl=q,this.evWin=K,this.pressed=!1,U.apply(this,arguments)}M(Z,U,{handler:function(e){var t=W[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:C,srcEvent:e}))}});var X={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},J={2:k,3:"pen",4:C,5:"kinect"},$="pointerdown",ee="pointermove pointerup pointercancel";function te(){this.evEl=$,this.evWin=ee,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}e.MSPointerEvent&&!e.PointerEvent&&($="MSPointerDown",ee="MSPointerMove MSPointerUp MSPointerCancel"),M(te,U,{handler:function(e){var t=this.store,i=!1,n=e.type.toLowerCase().replace("ms",""),r=X[n],o=J[e.pointerType]||e.pointerType,s=o==k,a=x(t,e.pointerId,"pointerId");1&r&&(0===e.button||s)?a<0&&(t.push(e),a=t.length-1):12&r&&(i=!0),a<0||(t[a]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),i&&t.splice(a,1))}});var ie={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ne="touchstart",re="touchstart touchmove touchend touchcancel";function oe(){this.evTarget=ne,this.evWin=re,this.started=!1,U.apply(this,arguments)}function se(e,t){var i=E(e.touches),n=E(e.changedTouches);return 12&t&&(i=j(i.concat(n),"identifier",!0)),[i,n]}M(oe,U,{handler:function(e){var t=ie[e.type];if(1===t&&(this.started=!0),this.started){var i=se.call(this,e,t);12&t&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:k,srcEvent:e})}}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ue="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=ue,this.targetIds={},U.apply(this,arguments)}function le(e,t){var i=E(e.touches),n=this.targetIds;if(3&t&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,o,s=E(e.changedTouches),a=[],u=this.target;if(o=i.filter((function(e){return D(e.target,u)})),1===t)for(r=0;r<o.length;)n[o[r].identifier]=!0,r++;for(r=0;r<s.length;)n[s[r].identifier]&&a.push(s[r]),12&t&&delete n[s[r].identifier],r++;return a.length?[j(o.concat(a),"identifier",!0),a]:void 0}M(ce,U,{handler:function(e){var t=ae[e.type],i=le.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:k,srcEvent:e})}});function he(){U.apply(this,arguments);var e=g(this.handler,this);this.touch=new ce(this.manager,e),this.mouse=new Z(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function de(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,pe.call(this,t)):12&e&&pe.call(this,t)}function pe(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var i={x:t.clientX,y:t.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(i);e>-1&&n.splice(e,1)}),2500)}}function Ae(e){for(var t=e.srcEvent.clientX,i=e.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],o=Math.abs(t-r.x),s=Math.abs(i-r.y);if(o<=25&&s<=25)return!0}return!1}M(he,U,{handler:function(e,t,i){var n=i.pointerType==k,r=i.pointerType==C;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)de.call(this,t,i);else if(r&&Ae.call(this,i))return;this.callback(e,t,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var fe=s?z(s.style,"touchAction"):n,Me=fe!==n,ge="compute",ye="auto",me="manipulation",ve="none",Ne="pan-x",De="pan-y",we=function(){if(!Me)return!1;var t={},i=e.CSS&&e.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=!i||e.CSS.supports("touch-action",n)})),t}();function Te(e,t){this.manager=e,this.set(t)}Te.prototype={set:function(e){e==ge&&(e=this.compute()),Me&&this.manager.element.style&&we[e]&&(this.manager.element.style[fe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return d(this.manager.recognizers,(function(t){y(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(w(e,ve))return ve;var t=w(e,Ne),i=w(e,De);if(t&&i)return ve;if(t||i)return t?Ne:De;if(w(e,me))return me;return ye}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,r=w(n,ve)&&!we.none,o=w(n,De)&&!we["pan-y"],s=w(n,Ne)&&!we["pan-x"];if(r){var a=1===e.pointers.length,u=e.distance<2,c=e.deltaTime<250;if(a&&u&&c)return}if(!s||!o)return r||o&&6&i||s&&i&P?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var xe=32;function Ee(e){this.options=r({},this.defaults,e||{}),this.id=I++,this.manager=null,this.options.enable=m(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function je(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function ze(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Ie(e,t){var i=t.manager;return i?i.get(e):e}function be(){Ee.apply(this,arguments)}function Oe(){be.apply(this,arguments),this.pX=null,this.pY=null}function Se(){be.apply(this,arguments)}function Le(){Ee.apply(this,arguments),this._timer=null,this._input=null}function ke(){be.apply(this,arguments)}function Ce(){be.apply(this,arguments)}function Pe(){Ee.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Be(e,t){return(t=t||{}).recognizers=m(t.recognizers,Be.defaults.preset),new _e(e,t)}Ee.prototype={defaults:{},set:function(e){return r(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(h(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Ie(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return h(e,"dropRecognizeWith",this)||(e=Ie(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(h(e,"requireFailure",this))return this;var t=this.requireFail;return-1===x(t,e=Ie(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(h(e,"dropRequireFailure",this))return this;e=Ie(e,this);var t=x(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,i=this.state;function n(i){t.manager.emit(i,e)}i<8&&n(t.options.event+je(i)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),i>=8&&n(t.options.event+je(i))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=xe},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=r({},e);if(!y(this.options.enable,[this,t]))return this.reset(),void(this.state=xe);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},M(be,Ee,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,i=e.eventType,n=6&t,r=this.attrTest(e);return n&&(8&i||!r)?16|t:n||r?4&i?8|t:2&t?4|t:2:xe}}),M(Oe,be,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(De),e&P&&t.push(Ne),t},directionTest:function(e){var t=this.options,i=!0,n=e.distance,r=e.direction,o=e.deltaX,s=e.deltaY;return r&t.direction||(6&t.direction?(r=0===o?1:o<0?2:4,i=o!=this.pX,n=Math.abs(e.deltaX)):(r=0===s?1:s<0?8:16,i=s!=this.pY,n=Math.abs(e.deltaY))),e.direction=r,i&&n>t.threshold&&r&t.direction},attrTest:function(e){return be.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=ze(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),M(Se,be,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ve]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),M(Le,Ee,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ye]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime>t.time;if(this._input=e,!n||!i||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return xe},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}}),M(ke,be,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ve]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),M(Ce,be,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Oe.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return 30&i?t=e.overallVelocity:6&i?t=e.overallVelocityX:i&P&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&i&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&u(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=ze(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),M(Pe,Ee,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[me]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime<t.time;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||e.timeStamp-this.pTime<t.interval,s=!this.pCenter||H(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,s&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=l((function(){this.state=8,this.tryEmit()}),t.interval,this),2):8}return xe},failTimeout:function(){return this._timer=l((function(){this.state=xe}),this.options.interval,this),xe},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Be.VERSION="2.0.7",Be.defaults={domEvents:!1,touchAction:ge,enable:!0,inputTarget:null,inputClass:null,preset:[[ke,{enable:!1}],[Se,{enable:!1},["rotate"]],[Ce,{direction:6}],[Oe,{direction:6},["swipe"]],[Pe],[Pe,{event:"doubletap",taps:2},["tap"]],[Le]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function _e(e,t){var i;this.options=r({},Be.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((i=this).options.inputClass||(S?te:L?ce:O?he:Z))(i,R),this.touchAction=new Te(this,this.options.touchAction),Ue(this,!0),d(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function Ue(e,t){var i,n=e.element;n.style&&(d(e.options.cssProps,(function(r,o){i=z(n.style,o),t?(e.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=e.oldCssProps[i]||""})),t||(e.oldCssProps={}))}return _e.prototype={set:function(e){return r(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var i;this.touchAction.preventDefaults(e);var n=this.recognizers,r=t.curRecognizer;(!r||r&&8&r.state)&&(r=t.curRecognizer=null);for(var o=0;o<n.length;)i=n[o],2===t.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(e),!r&&14&i.state&&(r=t.curRecognizer=i),o++}},get:function(e){if(e instanceof Ee)return e;for(var t=this.recognizers,i=0;i<t.length;i++)if(t[i].options.event==e)return t[i];return null},add:function(e){if(h(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(h(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,i=x(t,e);-1!==i&&(t.splice(i,1),this.touchAction.update())}return this},on:function(e,t){if(e!==n&&t!==n){var i=this.handlers;return d(T(e),(function(e){i[e]=i[e]||[],i[e].push(t)})),this}},off:function(e,t){if(e!==n){var i=this.handlers;return d(T(e),(function(e){t?i[e]&&i[e].splice(x(i[e],t),1):delete i[e]})),this}},emit:function(e,i){this.options.domEvents&&function(e,i){var n=t.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=i,i.target.dispatchEvent(n)}(e,i);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){i.type=e,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](i),r++}},destroy:function(){this.element&&Ue(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},r(Be,{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:xe,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:P,DIRECTION_ALL:30,Manager:_e,Input:U,TouchAction:Te,TouchInput:ce,MouseInput:Z,PointerEventInput:te,TouchMouseInput:he,SingleTouchInput:oe,Recognizer:Ee,AttrRecognizer:be,Tap:Pe,Pan:Oe,Swipe:Ce,Pinch:Se,Rotate:ke,Press:Le,on:v,off:N,each:d,merge:f,extend:A,assign:r,inherit:M,bindFn:g,prefixed:z}),Be}("undefined"!=typeof window?window:{},"undefined"!=typeof document?document:{});function In(e,t){var i=document.mozFullScreen?"DOMMouseScroll":"mousewheel",n=!!window.addEventListener,r=!!window.attachEvent,o=function(e,t){var i=document.mozFullScreen?"DOMMouseScroll":"mousewheel",n=!!window.addEventListener,r=!!window.attachEvent;return t.__mouseWheelWrapper=function(o){if(o=o||window.event,n&&o.preventDefault(),r&&(o.returnValue=!1),"DOMMouseScroll"==i||"mousewheel"==i){var s=o.wheelDelta;o.delta=s?s/120:-(o.delta||0)/3}t.call(e,o)}}(e,t);n?e.addEventListener(i,o,!1):r&&e.attachEvent("on"+i,o)}function bn(e,t,i){var n=t.offsetWidth,o=t.offsetHeight,s=t.getBoundingClientRect(),a=s.top,u=s.left;return i&&(u+=n*i.left,a+=o*(1-i.bottom-i.height),n*=i.width,o*=i.height),new r.Vector2((e.x-u)/n*2-1,-(e.y-a)/o*2+1)}!function(){try{var e=document.createElement("canvas");!window.WebGLRenderingContext||!e.getContext("webgl")&&e.getContext("experimental-webgl")}catch(e){return!1}}();var On=new r.OrthographicCamera(-1,1,1,-1,0,1),Sn=new r.BufferGeometry;Sn.setAttribute("position",new r.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),Sn.setAttribute("uv",new r.Float32BufferAttribute([0,2,0,0,2,0],2));var Ln=new r.Mesh(Sn),kn=new r.Scene;kn.add(Ln);var Cn=function(){function e(e,t){var i;this.renderer=e,this.material=new r.ShaderMaterial({vertexShader:null!==(i=t.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:t.fragment,uniforms:Object.assign({inputBuffer:new r.Uniform(null)},t.uniforms),defines:Object.assign({},t.defines),blending:r.NoBlending,depthWrite:!1,depthTest:!1})}return e.prototype.render=function(e,t){var i=this.renderer.getRenderTarget(),n=Ln.material;this.material.uniforms.inputBuffer.value=e.texture,Ln.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(kn,On),this.renderer.setRenderTarget(i),Ln.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Pn=function(){function e(e){this.renderer=e,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 e.prototype.render=function(e,t){var i=this.renderer.getRenderTarget(),n=Ln.material;this.material.uniforms.inputValue.value.copy(e),Ln.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(kn,On),this.renderer.setRenderTarget(i),Ln.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Bn=function(e){function i(t){return e.call(this,t,{fragment:"\nuniform sampler2D inputBuffer;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(inputBuffer, vUv);\n}\n"})||this}return t.__extends(i,e),i}(Cn),_n=function(){function e(e){this.enable=!0,this.renderer=e,this.copyPass=new Bn(this.renderer)}return e.prototype.render=function(e,t){this.copyPass.render(e)},e.prototype.dispose=function(){this.copyPass.dispose()},e}();function Un(e,t,i){return e+(t-e)*i}function Rn(e,t){var i=t[1]-t[0];return e<t[0]?Rn(e+i,t):e>=t[1]?Rn(e-i,t):e}function Qn(e,t,i,n){return n?function(e,t,i,n){var r=n[1]-n[0];return e=Rn(e,n),Un((t=Rn(t,n))-e>r/2?e+r:e-t>r/2?e-r:e,t,i)}(e,t,i,n):Un(e,t,i)}var Yn=function(){function e(e){for(var i in this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=He(),this.startVelocity=0,this.duration=0,this.keyframes=[],e){var n=e[i];"number"==typeof n?(this.value[i]=n,this.config[i]={circle:!1}):(this.value[i]=n.value,this.config[i]={circle:n.circle})}this.keyframes=[{progress:0,value:t.__assign({},this.value)},{progress:1,value:t.__assign({},this.value)}]}return e.prototype.getProgress=function(e){var t=e-this.startTime;return t<0?0:t>=this.duration?1:1-function(e,t,i,n){var r=(t*i+2*e)/Math.pow(i,3),o=-(2*t*i+3*e)/Math.pow(i,2),s=t,a=e;return r*Math.pow(n,3)+o*Math.pow(n,2)+s*n+a}(1,this.startVelocity,this.duration,t)},e.prototype.getValue=function(e){for(var i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>e){var n=this.keyframes[i-1],r=this.keyframes[i],o={};for(var s in this.config){var a=(e-n.progress)/(r.progress-n.progress);o[s]=Qn(n.value[s],r.value[s],a,this.config[s].circle)}return o}return t.__assign({},this.keyframes[this.keyframes.length-1].value)},e.prototype.getProgressVelocity=function(e){var t=e-this.startTime;return t>=this.duration?0:function(e,t,i,n){var r=(t*i+2*e)/Math.pow(i,3),o=-(2*t*i+3*e)/Math.pow(i,2),s=t;return 3*r*Math.pow(n,2)+2*o*n+s}(1,this.startVelocity,this.duration,t)},e.prototype.update=function(e){return!!this.ended||(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(e))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},e.prototype.getKeyFrameSegment=function(e){for(var t=this.getProgress(e),i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>t)return[this.keyframes[i-1],this.keyframes[i]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},e.prototype.set=function(e,t,i,n){var r;void 0===i&&(i=0),n=null!=n?n:He();var o=this.getProgress(n),s=this.getValue(o),a={};for(var u in this.config)a[u]=null!==(r=e[u])&&void 0!==r?r:s[u];var c=[{progress:0,value:s},{progress:1,value:a}];return this.setKeyFrames(c,t,i,n)},e.prototype.setKeyFrames=function(e,i,n,r){var o=this;if(void 0===n&&(n=0),e.length<2)throw new Error("keyframes invoid.");return this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise((function(s,a){r=null!=r?r:He(),o.progress=0,o.ended=!1,o.startTime=r,o.startVelocity=n,o.keyframes=e,o.duration=i,0===i?(o.progress=1,o.value=t.__assign({},e[e.length-1].value)):o.value=t.__assign({},e[0].value),o.callbacks=[s,a]}))},e.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},e}(),Fn=function(e){function i(t){var n,r=e.call(this)||this,o=i.parseArgs(t);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.needsRender=!0,r.maxFov=120,r.minFov=40,r.maxLatitude=+Math.PI/2,r.minLatitude=-Math.PI/2,r.cameraMotion=new Yn({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(e){return r.bindEvents(e)})),We.shared.add((function(){return r.initAnimation.apply(r,o.initial)}),!0),r}return t.__extends(i,e),i.parseArgs=function(e){return t.__assign({},e)},i.initAnimationEndState=function(e){var t=this.parseArgs(e);return{longitude:t.camera.pose.longitude,latitude:t.camera.pose.latitude,fov:t.camera.pose.fov,offset:t.camera.pose.offset.clone()}},i.prototype.destroy=function(){this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var e=0,t=this.eventUnbinds;e<t.length;e++){(0,t[e])()}this.effect&&(this.effect.dispose(),delete this.effect)},i.prototype.isReady=function(){return!1===this.pending&&!0===this.cameraMotion.ended},i.prototype.bindExtraElement=function(e){for(var t=0,i=this.eventUnbinds;t<i.length;t++){if(i[t].element===e)return}this.eventUnbinds.push(this.bindEvents(e))},i.prototype.unbindExtraElement=function(e){for(var t=0,i=this.eventUnbinds;t<i.length;t++){if(i[t].element===e)break}},i.prototype.updateRenderSize=function(){this.needsRender=!0},i.prototype.updateModel=function(e){this.model=e,this.needsRender=!0},i.prototype.updateWork=function(e,t,i,n,r){return this.work=e,this.userAction=r,!1},i.prototype.updateTime=function(e,t){if(!this.destroyed){var i={};this.cameraMotion.ended&&(this.cameraMotion.update(e),i.longitude=this.cameraMotion.value.longitude,i.latitude=this.cameraMotion.value.latitude,i.fov=this.cameraMotion.value.fov),En(i)&&this.setCamera(i)}},i.prototype.render=function(e){this.renderer.render(this.scene,this.camera)},i.prototype.postProcessing=function(e,t){this.destroyed||(this.effect||(this.effect=new _n(this.renderer)),this.effect.render(e,t))},i.prototype.updateCamera=function(e,t,i){return this.userAction=i,this.cameraMotion.set(e,t)},i.prototype.getTargetPose=function(){var e=this.cameraMotion.getKeyFrameSegment(He())[1];return{longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:this.camera.pose.offset.clone()}},i.prototype.moveToPano=function(e,t,i){void 0===t&&(t={}),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()};t.moveStartCallback&&t.moveStartCallback(e,n),this.emit("moveToPano",e,this.userAction),this.emit("panoArrived",e,n,this.userAction),t.moveEndCallback&&t.moveEndCallback(e,n)},i.prototype.initAnimation=function(e,t,i,n){this.pending=!1,this.userAction=n},i.prototype.setCamera=function(e){var t,i,n,r,o;void 0===e&&(e={});var s=null!==(t=e.longitude)&&void 0!==t?t:this.camera.pose.longitude,a=null!==(i=e.latitude)&&void 0!==i?i:this.camera.pose.latitude,u=null!==(n=e.fov)&&void 0!==n?n:this.camera.pose.fov,c=null!==(r=e.distance)&&void 0!==r?r:this.camera.pose.distance,l=null!==(o=e.offset)&&void 0!==o?o:this.camera.pose.offset,h=this.camera.position.clone(),d=yn(s,this.camera.pose.longitude,2*Math.PI)||yn(a,this.camera.pose.latitude),p=yn(u,this.camera.pose.fov),A=yn(c,this.camera.pose.distance),f=vn(l,this.camera.pose.offset);this.camera.setFromPose({longitude:s,latitude:a,fov:u,distance:c,offset:l});var M=vn(h,this.camera.position);p&&this.emit("cameraFovUpdate",u,this.userAction),d&&this.emit("cameraDirectionUpdate",{longitude:s,latitude:a},this.userAction),M&&this.emit("cameraPositionUpdate",this.camera.position.clone(),this.userAction),(p||d||f||A)&&this.emit("cameraUpdate",{longitude:s,latitude:a,fov:u,offset:l},this.userAction),this.needsRender=!0,(_t||0!==Rt.length)&&(_t&&clearTimeout(_t),_t=window.setTimeout(Yt,200))},i.prototype.onPanGesture=function(e){},i.prototype.onTapGesture=function(e){},i.prototype.onPinchGesture=function(e){},i.prototype.onMouseWheel=function(e){},i.prototype.onMouseMove=function(e){},i.prototype.onMouseOut=function(){},i.prototype.relativeClientPosition=function(e){return bn(e,this.element,this.scissor)},i.prototype.bindEvents=function(e){var t=this,i=function(e){var i=bn(e,t.element,t.scissor);return!(Math.abs(i.x)>1||Math.abs(i.y)>1)},n=new zn.Manager(e),r=function(e){return e.session.firstInput||null};n.add(new zn.Pan({threshold:10,pointers:0})),n.add(new zn.Tap({interval:410})),n.add(new zn.Pinch({threshold:0,pointers:2}).recognizeWith(n.get("pan"))),n.on("panstart pan",(function(e){var o=r(n);o&&!i(o.center)||t.onPanGesture(e)})),n.on("tap",(function(e){var o=r(n);o&&!i(o.center)||t.onTapGesture(e)})),n.on("pinchstart pinch pinchend",(function(e){var o=r(n);o&&!i(o.center)||t.onPinchGesture(e)}));var o=function(e){var n={x:e.clientX,y:e.clientY};i(n)&&t.onMouseWheel(e)},s=function(e){if(!((n="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"node").match(/android/i)||n.match(/webos/i)||n.match(/ipad|iphone|ipod/i)||n.match(/iemobile/i)||n.match(/opera mini/i)||n.match(/blackberry/i)||n.match(/windows phone/i))){var n,r={x:e.clientX,y:e.clientY};i(r)?t.onMouseMove(e):t.onMouseOut()}},a=function(){t.onMouseOut()};In(e,o),zn.on(e,"mousemove",s),zn.on(e,"mouseout",a);return Object.assign((function(){n.destroy(),function(e,t){var i=document.mozFullScreen?"DOMMouseScroll":"mousewheel",n=!!window.addEventListener,r=!!window.attachEvent;t.__mouseWheelWrapper&&(n?e.removeEventListener(i,t.__mouseWheelWrapper,!1):r&&e.detachEvent("on"+i,t.__mouseWheelWrapper),delete t.__mouseWheelWrapper)}(e,o),zn.off(e,"mousemove",s),zn.off(e,"mouseout",a)}),{element:e})},i}(vt),Vn=function(e){function i(t){var n,r,o,s,a=this,u=i.parseArgs(t);return(a=e.call(this,u)||this).defaultLongitude=u.defaultLongitude,a.defaultLatitude=u.defaultLatitude,a.defaultFov=u.defaultFov,a.maxFov=u.maxFov,a.minFov=u.minFov,a.maxLatitude=u.maxLatitude,a.minLatitude=u.minLatitude,a.locationMotion=new Yn({x:a.camera.pose.offset.x,y:a.camera.pose.offset.y,z:a.camera.pose.offset.z,distance:a.camera.pose.distance,modelAlpha:null!==(r=null===(n=a.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(s=null===(o=a.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==s?s:0}),a}return t.__extends(i,e),i.parseArgs=function(i){var n,r,o,s,a,u,c,l=e.parseArgs.call(this,i);return t.__assign(t.__assign({},l),{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!==(s=i.maxFov)&&void 0!==s?s:120,minFov:null!==(a=i.minFov)&&void 0!==a?a:40,maxLatitude:null!==(u=i.maxLatitude)&&void 0!==u?u:+Math.PI/2,minLatitude:null!==(c=i.minLatitude)&&void 0!==c?c:-Math.PI/2})},i.initAnimationEndPose=function(e){var t,i,n,o=this.parseArgs(e),s=e.initial[1];return{longitude:null!==(t=s.longitude)&&void 0!==t?t:o.defaultLongitude,latitude:xn(null!==(i=s.latitude)&&void 0!==i?i:o.defaultLatitude,o.minLatitude,o.maxLatitude),fov:null!==(n=s.fov)&&void 0!==n?n:o.defaultFov,offset:e.model.bounding.getCenter(new r.Vector3)}},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose()},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&e.prototype.isReady.call(this)},i.prototype.updateWork=function(e,t,i,n,r){return this.work=e,!0},i.prototype.updateModel=function(t){e.prototype.updateModel.call(this,t);var i=t.bounding.getCenter(new r.Vector3),n=this.cameraDistance(t);this.locationMotion.set({x:i.x,y:i.y,z:i.z,distance:n},0).catch(Qe)},i.prototype.updateTime=function(e,t){if(!this.destroyed){var i={},n={};this.locationMotion.ended||(this.locationMotion.update(e),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=xn(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(e),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),En(i)||this.model.setMaterial(i),En(n)||this.setCamera(n)}},i.prototype.getTargetPose=function(){var e=this.cameraMotion.getKeyFrameSegment(He())[1],t=this.locationMotion.getKeyFrameSegment(He())[1];return{longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new r.Vector3(t.value.x,t.value.y,t.value.z)}},i.prototype.initAnimation=function(e,t,i,n){var o,s,a,u=this;if(!this.destroyed){this.pending=!1,this.userAction=n;var c=this.model.bounding.getCenter(new r.Vector3),l={longitude:null!==(o=t.longitude)&&void 0!==o?o:this.defaultLongitude,latitude:xn(null!==(s=t.latitude)&&void 0!==s?s:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:xn(null!==(a=t.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3)},h=this.cameraDistance(this.model),d=Xt(l,["longitude","latitude","fov"]),p={x:c.x,y:c.y,z:c.z,distance:h,modelAlpha:1,perspToOrtho:0};this.emit("initAnimationWillStart",e,l,this.userAction),this.cameraMotion.set(d,i).catch(Qe),this.locationMotion.set(p,i).then((function(){u.emit("initAnimationEnded",e,l,u.userAction)}),(function(t){var i=jn(u.camera.pose);u.emit("initAnimationEnded",e,i,u.userAction)}))}},i.prototype.cameraDistance=function(e){var t=e.bounding,i=this.camera.aspect,n=Math.pow(Math.pow(t.max.x-t.min.x+2,2)+Math.pow(t.max.y-t.min.y+2,2)+Math.pow(t.max.z-t.min.z+2,2),.5),r=n/2/Math.tan(Math.PI*this.defaultFov/360);return i<1&&(r/=i),isNaN(r)?n:r},i.prototype.getForwardPanoIndexOrNot=function(e){var t=this.work.observers.filter((function(e){return e.active})),i=this.model.intersectRaycaster(e)[0];if(!i)return null;var n=Tn(t,(function(e){return e.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesChangeWithOffset=function(e,t){var i=this.element,n=this.camera,r=i.offsetWidth,o=i.offsetHeight,s=2*t.x/r*n.fov/30,a=2*t.y/o*n.fov/30;return{longitude:en(e.longitude+s),latitude:xn(e.latitude+a,-Math.PI/2,Math.PI/2)}},i.prototype.requestInteriaMovement=function(e){var t=this;if(!1!==this.interiaMovement){var i=this.coordinatesChangeWithOffset({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude},e),n=i.longitude,r=i.latitude,o={longitude:n,latitude:r,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset};this.cameraMotion.set({longitude:n,latitude:r},0).catch(Qe);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",o,!s),s?We.shared.add((function(){t.requestInteriaMovement({x:.8*e.x,y:.8*e.y})}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(e){var t=this,i=this.lastPanPoint,n=e.pointers.length;if(e.isFinal?delete this.lastPanPoint:this.lastPanPoint={pointerLength:n,x:e.center.x,y:e.center.y},void 0!==i&&i.pointerLength===n){var r=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pan",r,e.isFinal)){var o={x:e.center.x-i.x,y:e.center.y-i.y},s=this.relativeClientPosition(e.center),a=this.camera.pose.latitude<Math.PI/6||s.y<0?-1:1;o.x*=a;var u=this.coordinatesChangeWithOffset({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude},o),c={longitude:u.longitude,latitude:u.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset};if(!this.emit("wantsPanGesture",c,e.isFinal))if(this.emit("gesture","pan",r,e.isFinal),this.emit("panGesture",c,e.isFinal),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({longitude:c.longitude,latitude:c.latitude,fov:c.fov},0).catch(Qe),e.isFinal)this.emit("wantsInteriaPan",c)||(this.interiaMovement=!0,We.shared.getFrameTime((function(i){var n=e.velocityX*i*a,r=e.velocityY*i,o=Math.sqrt(n*n+r*r);o>100&&(n=n/o*100,r=r/o*100),t.requestInteriaMovement({x:n,y:r})})))}}},i.prototype.onPinchGesture=function(e){var t=this.lastPinchFov,i=!1;if("pinchstart"===e.type)return this.lastPinchFov=this.cameraMotion.value.fov,void delete this.lastPanPoint;if("pinchend"===e.type&&(i=!0,delete this.lastPanPoint,delete this.lastPinchFov),void 0!==t){var n=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pinch",n,i)){var r=xn(t/e.scale,this.minFov,this.maxFov);this.emit("wantsPinchGesture",e.scale,r,i)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","pinch",n,i),this.emit("pinchGesture",e.scale,r,i),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:r},0).catch(Qe))}}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=this.minFov,o=this.maxFov,s=xn(this.camera.fov-i,r,o);this.emit("wantsMouseWheel",i,s,!1)||this.emit("wantsChangeCameraFov",s)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,s,!1),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:s},0).catch(Qe),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){delete t.onMouseWheelFinalInterval;t.emit("wantsGesture","mouseWheel",n,!0)||t.emit("wantsMouseWheel",i,s,!0)||(t.emit("gesture","mouseWheel",n,!0),t.emit("mouseWheel",0,s,!0))}),200))}},i.prototype.onTapGesture=function(e){var t=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","tap",t,!0)){var i=this.relativeClientPosition(e.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i)){this.emit("gesture","tap",t,!0),this.emit("tapGesture",n,i),this.interiaMovement=!1;var o=this.getForwardPanoIndexOrNot(n);if(!Re(o)){this.emit("panoSelected",o);var s={longitude:this.camera.pose.longitude,latitude:0};this.emit("wantsMoveToPano",o,s,!0)}}}},i}(Fn);var Hn=function(e){function i(t){var n=i.parseArgs(t);return e.call(this,n)||this}return t.__extends(i,e),i.parseArgs=function(i){var n=[i.initial[0],t.__assign(t.__assign({},i.initial[1]),{longitude:0,latitude:Math.PI/2}),i.initial[2],i.initial[3]],r=t.__assign(t.__assign({},i),{initial:n,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return e.parseArgs.call(this,r)},i.initAnimationEndPose=function(t){var i=this.parseArgs(t);return e.initAnimationEndPose.call(this,i)},i.prototype.updateModel=function(e){this.model=e,this.needsRender=!0;var t=e.bounding.getCenter(new r.Vector3);this.locationMotion.set({x:t.x,y:t.y,z:t.z,distance:this.cameraDistance(e)},0).catch(Qe)},i.prototype.initAnimation=function(e,t,i,n){var o,s=this;if(!this.destroyed){this.pending=!1,this.userAction=n;var a=this.model.bounding.getCenter(new r.Vector3),u={longitude:0,latitude:Math.PI/2,fov:xn(null!==(o=t.fov)&&void 0!==o?o:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3)},c=this.cameraDistance(this.model),l=Xt(u,["longitude","latitude","fov"]),h={x:a.x,y:a.y,z:a.z,distance:c,modelAlpha:1,perspToOrtho:1};this.cameraMotion.set(l,i).catch(Qe),this.locationMotion.set(h,i).then((function(){s.emit("initAnimationEnded",e,u,s.userAction)}),(function(t){var i=jn(s.camera.pose);s.emit("initAnimationEnded",e,i,s.userAction)}))}},i.prototype.getZoomOffsetFromFov=function(e,t,i){var n=new r.Vector3(0,-1,0),o=Math.tan(i/2*Math.PI/180),s=Math.tan(t.fov/2*Math.PI/180),a=(s-o)/s,u=new r.Raycaster;u.setFromCamera(e,t);var c=u.ray.direction,l=c.angleTo(n),h=this.cameraDistance(this.model),d=h*Math.tan(l),p=c.clone().setLength(h*Math.cos(l)).projectOnPlane(n),A=p.length(),f=a/A*p.x*d,M=a/A*p.z*d;return new r.Vector3(f,0,M)},i.prototype.requestInteriaMovement=function(e){},i.prototype.onPanGesture=function(e){var t=this.renderer.getSize(new r.Vector2),i=this.lastPanPoint,n=e.pointers.length;if(e.isFinal?delete this.lastPanPoint:this.lastPanPoint={pointerLength:n,x:e.center.x,y:e.center.y},void 0!==i&&i.pointerLength===n){var o=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pan",o,e.isFinal)){var s=e.center.x-i.x,a=e.center.y-i.y,u=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),c=this.camera.position.y*Math.tan(this.camera.fov/2*Math.PI/180);u.add(function(e,t){var i=new r.Vector3;return i.setFromMatrixColumn(t,0),i.multiplyScalar(-e),i}(2*s*c/t.y,this.camera.matrix)),u.add(function(e,t,i){var n=new r.Vector3;return n.setFromMatrixColumn(i,0),n.crossVectors(t,n),n.multiplyScalar(e),n}(2*a*c/t.y,this.camera.up,this.camera.matrix));var l=this.model.bounding,h=l.getCenter(new r.Vector3),d=(l.max.x-l.min.x)/this.defaultFov*this.cameraMotion.value.fov,p=(l.max.y,l.min.y,this.defaultFov,this.cameraMotion.value.fov,(l.max.z-l.min.z)/this.defaultFov*this.cameraMotion.value.fov);u.x=xn(u.x,h.x-d,h.x+d),u.z=xn(u.z,h.z-p,h.z+p),u.y=h.y;var A={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:u};this.emit("wantsPanGesture",A,e.isFinal)||(this.emit("gesture","pan",o,e.isFinal),this.emit("panGesture",A,e.isFinal),this.userAction=!0,this.locationMotion.set({x:u.x,y:u.y,z:u.z},0).catch(Qe))}}},i.prototype.onPinchGesture=function(e){var t=this.lastPinchFov,i=!1;if("pinchstart"===e.type)return this.lastPinchFov=this.cameraMotion.value.fov,void delete this.lastPanPoint;if("pinchend"===e.type&&(i=!0,delete this.lastPanPoint,delete this.lastPinchFov),void 0!==t){var n=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pinch",n,i)){var r=xn(t/e.scale,this.minFov,this.maxFov),o=this.relativeClientPosition({x:e.center.x,y:e.center.y}),s=this.getZoomOffsetFromFov(o,this.camera,r),a=this.camera.pose.offset.clone().add(s);this.emit("wantsPinchGesture",e.scale,r,i)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","pinch",n,i),this.emit("pinchGesture",e.scale,r,i),this.userAction=!0,this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(Qe),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:r},0).catch(Qe))}}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=xn(this.cameraMotion.value.fov-i,this.minFov,this.maxFov),o=this.relativeClientPosition({x:e.clientX,y:e.clientY}),s=this.getZoomOffsetFromFov(o,this.camera,r),a=this.camera.pose.offset.clone().add(s);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:a.x,y:a.y,z:a.z},0).catch(Qe),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:r},0).catch(Qe),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){delete t.onMouseWheelFinalInterval;t.emit("wantsGesture","mouseWheel",n,!0)||t.emit("wantsMouseWheel",i,r,!0)||t.emit("wantsChangeCameraFov",r)||(t.emit("gesture","mouseWheel",n,!0),t.emit("mouseWheel",0,r,!0))}),200))}},i}(Vn);function Gn(e,t){void 0===t&&(t=!1);var i=typeof e;if("string"===i)return JSON.stringify(e);if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(e instanceof Array){for(var n="[",r=e.length-1,o=0;o<r;o++)n+=Gn(e[o],!1)+",";return r>-1&&(n+=Gn(e[o],!1)),n+"]"}if(e instanceof Object){if("function"==typeof e.toJSON)return Gn(e.toJSON(),t);var s=Object.keys(e).sort(),a=s.length;for(n="",o=0;o<a;){var u=s[o],c=Gn(e[u],!0);void 0!==c&&(o&&""!==n&&(n+=","),n+=JSON.stringify(u)+":"+c),o++}return"{"+n+"}"}switch(i){case"function":case"undefined":return t?void 0:null;case"number":return e;default:return isFinite(e)?e:null}}function Wn(e){return Ie(String(Gn(e,!1)))}var qn=function(e){function i(){var t=e.call(this)||this,i=new r.RingBufferGeometry(.04,.08,32),n=new r.MeshBasicMaterial({color:1245179,opacity:.8,side:r.DoubleSide,transparent:!0});return t.ringMesh=new r.Mesh(i,n),t.ringMesh.renderOrder=100,t.add(t.ringMesh),t}return t.__extends(i,e),i.prototype.dispose=function(){this.remove(this.ringMesh),this.ringMesh.geometry.dispose(),Array.isArray(this.ringMesh.material)?this.ringMesh.material.forEach((function(e){return e.dispose()})):this.ringMesh.material.dispose()},i}(r.Object3D);function Kn(){return new qn}var Zn=function(e){function i(t){var n=this,r=i.parseArgs(t);return(n=e.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 t.__extends(i,e),i.parseArgs=function(i){var n,r,o,s,a,u,c,l,h,d=e.parseArgs.call(this,i);return t.__assign(t.__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!==(s=i.maxFov)&&void 0!==s?s:120,minFov:null!==(a=i.minFov)&&void 0!==a?a:40,maxLatitude:null!==(u=i.maxLatitude)&&void 0!==u?u:+Math.PI/2,minLatitude:null!==(c=i.minLatitude)&&void 0!==c?c:-Math.PI/2,moveSpeed:null!==(l=i.moveSpeed)&&void 0!==l?l:3.2,intersectMeshCreator:null!==(h=i.intersectMeshCreator)&&void 0!==h?h:Kn})},i.initAnimationEndPose=function(e){var t,i,n,r=this.parseArgs(e),o=e.initial,s=o[0],a=o[1];return{longitude:null!==(t=a.longitude)&&void 0!==t?t:r.defaultLongitude,latitude:xn(null!==(i=a.latitude)&&void 0!==i?i:r.defaultLatitude,r.minLatitude,r.maxLatitude),fov:xn(null!==(n=a.fov)&&void 0!==n?n:r.defaultFov,r.minFov,r.maxFov),offset:r.work.observers[s].position.clone()}},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.interiaMovement=!1,this.intersectMesh&&(this.helper.remove(this.intersectMesh),this.intersectMesh.dispose())},i.prototype.isReady=function(){return!this.interiaMovement&&(!this.panState&&(!this.pinchState&&(!this.mouseWheelState&&e.prototype.isReady.call(this))))},i.prototype.calculateMovingDuration=function(e,t){switch(typeof e){case"function":return e(t,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return Math.floor(Math.max(Math.min(t/this.moveSpeed*1e3,1500),500))}},i.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.emit("intersectionHidden"),this.needsRender=!0},i.prototype.coordinatesForOffset=function(e){var t=this.cameraMotion.value.fov,i=this.camera.aspect,n=this.renderer.getSize(new r.Vector2);return{longitude:2*e.x/n.x*t/95*i,latitude:-2*e.y/n.y*t/95}},i.prototype.cameraBounce=function(){var e=this.cameraMotion.value,t=e.longitude,i=e.latitude,n=e.fov,r=[{progress:0,value:{longitude:t,latitude:i,fov:n}},{progress:.5,value:{longitude:t,latitude:i,fov:.98*n}},{progress:1,value:{longitude:t,latitude:i,fov:n}}];this.cameraMotion.setKeyFrames(r,500).catch(Qe)},i.prototype.requestInteriaMovement=function(e){var t=this;if(!1!==this.interiaMovement){var i=this.coordinatesForOffset(e),n=en(this.cameraMotion.value.longitude+i.longitude),r=xn(this.cameraMotion.value.latitude+i.latitude,this.minLatitude,this.maxLatitude),o={longitude:n,latitude:r,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone()};this.cameraMotion.set({longitude:n,latitude:r},0).catch(Qe);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",o,!s),s?We.shared.add((function(){var i={x:.9*e.x,y:.9*e.y*.7};t.requestInteriaMovement(i)}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(e){var t=this,i=this.panState,n=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:n,x:e.center.x,y:e.center.y},void 0!==i&&i.pointerLength===n){var r=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pan",r,e.isFinal)){var o={x:e.center.x-i.x,y:e.center.y-i.y},s=this.coordinatesForOffset(o),a=en(this.cameraMotion.value.longitude+s.longitude),u=xn(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude);Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(u=this.cameraMotion.value.latitude);var c={longitude:a,latitude:u,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone()};if(!this.emit("wantsPanGesture",c,e.isFinal)){this.emit("gesture","pan",r,e.isFinal),this.emit("panGesture",c,e.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(Qe),e.isFinal)this.emit("wantsInteriaPan",c)||We.shared.getFrameTime((function(i){t.interiaMovement=!0;var n=e.velocityX*i,r=e.velocityY*i,o=Math.sqrt(n*n+r*r);o>100&&(n=n/o*100,r=r/o*100),Math.abs(r/n)<Math.tan(20/180*Math.PI)&&(r=0),t.requestInteriaMovement({x:n,y:r})}))}}}},i.prototype.onPinchGesture=function(e){var t,i=null===(t=this.pinchState)||void 0===t?void 0:t.fov,n=e.scale,r=!1;if("pinchstart"===e.type)return this.pinchState={fov:this.cameraMotion.value.fov},void delete this.panState;if("pinchend"===e.type&&(r=!0,delete this.panState,delete this.pinchState),void 0!==i){var o=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pinch",o,r)){var s=xn(i/n,this.minFov,this.maxFov);this.emit("wantsPinchGesture",n,s,r)||this.emit("wantsChangeCameraFov",s)||(this.emit("gesture","pinch",o,r),this.emit("pinchGesture",n,s,r),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:s},0).catch(Qe))}}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=xn(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(Qe),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete t.mouseWheelState;t.emit("wantsGesture","mouseWheel",n,!0)||t.emit("wantsMouseWheel",i,r,!0)||t.emit("wantsChangeCameraFov",r)||(t.emit("gesture","mouseWheel",n,!0),t.emit("mouseWheel",0,r,!0))}),200)})}},i.prototype.onMouseMove=function(e){if(this.intersectMesh.parent&&!this.model.empty&&this.model.bvhs&&!0===this.model.bvhs.loaded&&!this.panState){var t=this.relativeClientPosition({x:e.clientX,y:e.clientY}),i=new r.Raycaster;if(i.setFromCamera(t,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,s=o.clone().multiplyScalar(.05),a=n.point.clone().add(s);this.intersectMesh.position.copy(a);var u=a.clone().add(s);if(this.intersectMesh.lookAt(u),Math.abs(o.y)>.99){var c=this.camera.position.clone().sub(a);this.intersectMesh.rotation.z=-Math.atan2(c.z,c.x)}this.intersectMesh.visible=!0,this.needsRender=!0,this.emit("intersectionOnModelUpdate",n,this.intersectMesh)}else this.hideIntersectMesh();this.mouseMoveState={clientX:e.clientX,clientY:e.clientY}}}},i.prototype.onMouseOut=function(){this.intersectMesh.parent&&!0===this.intersectMesh.visible&&this.hideIntersectMesh()},i}(Fn),Xn=$e(),Jn=new r.Texture(Xn);Xn.onload=function(){return Jn.needsUpdate=!0},Xn.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC";var $n=new r.RingBufferGeometry(.06,.07,32).rotateX(-Math.PI/2),er=new r.MeshBasicMaterial({map:Jn,transparent:!0});function tr(){if("undefined"==typeof document){var e=new r.Texture;return Object.assign(e,{draw:function(e){},retain:!1,pool:!1})}var t=document.createElement("canvas"),i=512,n=256,o=190;t.setAttribute("width",String(i)),t.setAttribute("height",String(i));var s=new r.Texture(t),a=t.getContext("2d");if(!a)throw Error("cannot create canvas context");var u=a.createRadialGradient(n,n,150,n,n,0);function c(){var e=Math.PI/12,t=2*Math.PI/3;a&&(a.beginPath(),a.arc(n,n,o,0*t,1*t-e),a.stroke(),a.beginPath(),a.arc(n,n,o,1*t,2*t-e),a.stroke(),a.beginPath(),a.arc(n,n,o,2*t,3*t-e),a.stroke())}function l(e){a&&(a.clearRect(0,0,i,i),a.lineWidth=20,-1!==e&&(a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, 1)",c(),a.globalCompositeOperation="source-in",a.beginPath(),a.arc(n,n,o,0,2*Math.PI*e),a.strokeStyle="rgba(255, 255, 255, 1)",a.stroke(),a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, "+(e?.5:1)+")",c()),a.beginPath(),a.arc(n,n,150,0,2*Math.PI),a.closePath(),a.fillStyle=u,a.fill(),a.fillStyle="rgba(255, 255, 255, 0.01)",a.fillRect(0,0,i,i),s.needsUpdate=!0)}return u.addColorStop(0,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 0.5)"),u.addColorStop(.4,"rgba(255, 255, 255, 0.0)"),u.addColorStop(1,"rgba(255, 255, 255, 0.0)"),l(0),Object.assign(s,{draw:l,retain:!1,pool:!1})}var ir=[];var nr=tr();nr.draw(0);var rr=tr();rr.draw(1);var or=tr();or.draw(-1);var sr=new r.CircleBufferGeometry(.12,32).rotateX(-Math.PI/2);function ar(){return new r.Mesh(sr,new r.MeshBasicMaterial({map:nr,transparent:!0}))}var ur=function(e){function i(){var t=e.call(this)||this;return t.loading=!1,t.disabled=!1,t.current=!1,t.progress=0,t.opacity=1,t.centerMesh=ar(),t.centerMesh.position.y+=.01,t.add(t.centerMesh),t.loadingMesh=new r.Mesh($n,er),t.loadingMesh.position.y+=.011,t.needsRender=!0,t}return t.__extends(i,e),i.prototype.setLoading=function(e){var t=this;this.loading=e,this.stopInterval&&this.stopInterval(),e?(this.add(this.loadingMesh),this.stopInterval=We.shared.add((function(){t.loadingMesh.rotateOnAxis(new r.Vector3(0,1,0),.1),t.needsRender=!0}))):this.remove(this.loadingMesh),this.needsRender=!0},i.prototype.setDisabled=function(e){function t(t){var i=t.map;!0===i.pool&&(i.retain=!1),t.map=e?or:nr}this.disabled=e,Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){t(e)})):t(this.centerMesh.material),this.needsRender=!0},i.prototype.setProgress=function(e){function t(e,t){var i=e.map;0===t||1===t?(!0===i.pool&&(i.retain=!1),0===t&&(e.map=nr),1===t&&(e.map=rr)):(!0!==i.pool&&(e.map=function(){for(var e=0,t=ir;e<t.length;e++){var i=t[e];if(!1===i.retain)return i}var n=tr();return n.pool=!0,n.retain=!0,ir.push(n),n}()),e.map.draw(t))}this.setLoading(!1),this.setDisabled(!1),this.progress=e=xn(e,0,1),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(i){t(i,e)})):t(this.centerMesh.material,e),this.needsRender=!0},i.prototype.setOpacity=function(e){this.opacity=e=xn(e,0,1),this.current&&(e=1),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(t){t.opacity=e})):this.centerMesh.material.opacity=e,this.needsRender=!0},i.prototype.setCurrent=function(e){this.current=e,this.setOpacity(this.opacity)},i.prototype.dispose=function(){this.setLoading(!1),this.remove(this.centerMesh),this.remove(this.loadingMesh),this.centerMesh.geometry.dispose(),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){e.dispose()})):this.centerMesh.material.dispose(),this.loadingMesh.geometry.dispose(),Array.isArray(this.loadingMesh.material)?this.loadingMesh.material.forEach((function(e){e.dispose()})):this.loadingMesh.material.dispose()},i}(r.Object3D);function cr(){return new ur}var lr;var hr,dr=function(e){function i(t,i){return void 0===i&&(i=.5),e.call(this,t,{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 t.__extends(i,e),i}(Cn),pr=function(e){function i(t,i){void 0===i&&(i=.002);var n=e.call(this,t,{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 t.__extends(i,e),Object.defineProperty(i.prototype,"targetBuffer",{get:function(){return this.material.uniforms.targetBuffer.value},set:function(e){this.material.uniforms.targetBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"step",{get:function(){return this.material.uniforms.step.value},set:function(e){this.material.uniforms.step.value=e},enumerable:!1,configurable:!0}),i}(Cn),Ar=function(e){function i(t){var i=e.call(this,t,{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 = 0.8;\n float whitePoint = 8.0;\n float exposure = 1.5;\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 t.__extends(i,e),Object.defineProperty(i.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),i}(Cn),fr=function(e){function i(t){var i=e.call(this,t)||this;return i.enableTime=He(),i.renderer=t,i.valuePass=new Pn(i.renderer),i.luminancePass=new dr(i.renderer,.75),i.nextStepPass=new pr(i.renderer,.002),i.luminanceAdaptivePass=new Ar(i.renderer),i}return t.__extends(i,e),i.prototype.render=function(e){if(!this.enable)return this.enableTime=null,void this.copyPass.render(e);null===this.enableTime&&(this.enableTime=He()),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(e,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((He()-this.enableTime)/3e3,1),this.luminanceAdaptivePass.render(e)},i.prototype.dispose=function(){var e,t,i;null===(e=this.luminanceTargetBuffer)||void 0===e||e.dispose(),null===(t=this.luminancePrevBuffer)||void 0===t||t.dispose(),null===(i=this.luminanceNextBuffer)||void 0===i||i.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},i}(_n),Mr=["up","down","left","right","front","back"],gr=null!==(hr=Math.SQRT1_2)&&void 0!==hr?hr:Math.sqrt(2),yr={up:new r.Quaternion(gr,0,0,gr),down:new r.Quaternion(-gr,0,0,gr),left:new r.Quaternion(0,gr,0,gr),right:new r.Quaternion(0,-gr,0,gr),front:new r.Quaternion(0,0,0,1),back:new r.Quaternion(0,1,0,0)},mr=(new r.Quaternion).setFromAxisAngle(new r.Vector3(0,1,0),Math.PI),vr=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Nr=new Float32Array([0,0,1,0,0,1,1,1]),Dr=new Uint8Array([0,1,2,1,3,2]),wr=new r.BufferGeometry;wr.setAttribute("position",new r.BufferAttribute(vr,3)),wr.setAttribute("uv",new r.BufferAttribute(Nr,2)),wr.setIndex(new r.BufferAttribute(Dr,1));var Tr=function(e){function i(){var t=e.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 t.depthTest=!1,t.depthWrite=!1,t.blending=r.NoBlending,t.map=t.uniforms.map.value,t.luminanceMap=t.uniforms.luminanceMap.value,Object.defineProperties(t,{map:{get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(e){this.uniforms.luminanceMap.value=e,this.defines.USE_LUMINANCE=null!==e}}}),t}return t.__extends(i,e),i}(r.ShaderMaterial),xr=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.level=0,t.sideCount=0,t.col=0,t.row=0,t.index=0,t.type="up",t}return t.__extends(i,e),i}(r.Box3),Er=function(e){function i(t,i){var n=this,o=new Tr;return o.visible=!1,(n=e.call(this,wr,o)||this).position.copy(t.getCenter(new r.Vector3)),n.quaternion.copy(yr[t.type]),n.scale.setScalar(1/Math.pow(2,t.level)),n.level=t.level,n.activeTime=-1,n.disposed=!1,n.needsRender=!1,n.frustumCulled=!1,i.then((function(e){var t=e[0],i=e[1];n.disposed?(t.dispose(),null==i||i.dispose()):(n.material.map=t,n.material.luminanceMap=i,n.material.needsUpdate=!0,n.material.visible=!0,n.needsRender=!0)})).catch(Qe),n}return t.__extends(i,e),i.getBox=function(e,t,i){var n=new xr,r=Math.pow(2,e),o=1/r,s=i%r,a=Math.floor(i/r);switch(n.level=e,n.index=i,n.sideCount=r,n.row=a,n.col=s,n.type=t,t){case"up":n.min.y=.5,n.max.y=.5,n.min.x=+s*o-.5,n.max.x=+s*o-.5+o,n.min.z=-a*o+.5-o,n.max.z=-a*o+.5;break;case"down":n.min.y=-.5,n.max.y=-.5,n.min.x=+s*o-.5,n.max.x=+s*o-.5+o,n.min.z=+a*o-.5,n.max.z=+a*o-.5+o;break;case"left":n.min.x=-.5,n.max.x=-.5,n.min.z=-s*o+.5-o,n.max.z=-s*o+.5,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5;break;case"right":n.min.x=.5,n.max.x=.5,n.min.z=+s*o-.5,n.max.z=+s*o-.5+o,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5;break;case"front":n.min.z=-.5,n.max.z=-.5,n.min.x=+s*o-.5,n.max.x=+s*o-.5+o,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5;break;case"back":n.min.z=.5,n.max.z=.5,n.min.x=-s*o+.5-o,n.max.x=-s*o+.5,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5}return n},i.prototype.dispose=function(){var e;this.material.map&&this.material.map.image instanceof ImageBitmap&&(this.material.map.dispose(),null===(e=this.material.luminanceMap)||void 0===e||e.dispose()),this.material.dispose()},i}(r.Mesh),jr=function(e){function i(){var t=e.call(this)||this;return t.needsRender=!1,t.name="tiling",t}return t.__extends(i,e),i}(r.Group),zr=function(){function e(e,t){this.disposed=!1,this.textureLoader=new xi(e),this.level=0,this.panoIndex=0,this.tiles=[],this.resource=[],this.luminance=null,this.imageOptions=t,this.object=new jr}return e.prototype.setAllowHosts=function(e){this.textureLoader.setAllowHosts(e)},e.prototype.setNetworkSubscribe=function(e){this.textureLoader.setNetworkSubscribe(e)},e.prototype.cleanup=function(){for(var e=0;e<this.tiles.length;e++)if(this.tiles[e]){var t=this.tiles[e],i="level-group:"+e,n=this.object.getObjectByName(i);for(var r in t){var o=t[r];o.dispose(),n.remove(o),delete t[r]}}},e.prototype.setRotation=function(e){this.object.quaternion.multiplyQuaternions(e,mr),this.object.needsRender=!0},e.prototype.setResource=function(e){if(!this.disposed&&this.resource!==e){this.cleanup(),this.resource=e;for(var t=0;t<e.length;t++){var i=e[t].level;this.tiles[i]={};var n="level-group:"+i,o=this.object.getObjectByName(n);o||((o=new r.Group).name=n,o.renderOrder=-1),this.object.add(o)}this.object.needsRender=!0}},e.prototype.setLuminance=function(e){this.luminance=e},e.prototype.getTileResource=function(e){for(var t,i=null!==(t=this.imageOptions.size)&&void 0!==t?t:2048,n=this.resource.length-1;n>=0;n--)if(this.resource[n].level<=e&&512*Math.pow(2,this.resource[n].level)>i)return this.resource[n];return null},e.prototype.update=function(e,i,n){var o=this;if(!this.disposed){this.object.position.copy(e.position),this.level=i;var s=(new r.PerspectiveCamera).copy(e);s.position.set(0,0,0),s.quaternion.premultiply(this.object.quaternion.clone().inverse()),s.updateMatrixWorld(!0),s.updateProjectionMatrix();var a=s.getWorldDirection(new r.Vector3),u=(new r.Frustum).setFromProjectionMatrix((new r.Matrix4).multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse)),c=this.getTileResource(i);if(c){for(var l=[],h=c.level,d=Math.pow(2,h),p=d*d,A=this.object.getObjectByName("level-group:"+h),f=0,M=Mr;f<M.length;f++)for(var g=M[f],y=0;y<p;y++){var m=Er.getBox(h,g,y);u.intersectsBox(m)&&l.push(m)}l.sort((function(e,t){return e.getCenter(new r.Vector3).angleTo(a)-t.getCenter(new r.Vector3).angleTo(a)}));for(var v=[],N=0,D=l;N<D.length;N++){var w=(m=D[N]).sideCount,T=m.row,x=m.col,E=(g=m.type,"tile-level:"+h+"-face:"+g+"-row:"+T+"-col:"+x);if(!this.tiles[h][E]){var j=c[g],z=c.size/w,I=[z*x,z*T,z,z],b=t.__assign({key:"pano_tile."+this.panoIndex+"."+g+"."+h+"."+T+"."+x,basisLoaderInitialized:wi.isInitialized(),cut:I},Xt(this.imageOptions,["format"]));512!==z&&(b.size=512);var O=this.imageOptions.transform?this.imageOptions.transform(j,b):ti(j,b),S=this.textureLoader.load(O,{magFilter:r.LinearFilter,minFilter:r.NearestFilter}).then((function(e){return e.body})),L=null;if(this.luminance){var k=this.luminance[g],C=t.__assign(t.__assign({},b),{size:256,key:"pano_tile_luminance."+this.panoIndex+"."+g+"."+h+"."+T+"."+x}),P=this.imageOptions.transform?this.imageOptions.transform(k,C):ti(k,C);L=this.textureLoader.load(P,{format:r.LuminanceFormat}).then((function(e){return e.body})).catch((function(){return null}))}(U=this.tiles[h][E]=new Er(m,Promise.all([S,L]))).name=E,U.renderOrder=h,A.add(U)}this.tiles[h][E].activeTime=n,v.push(E)}for(var B=0,_=Object.keys(this.tiles[h]).sort((function(e,t){return o.tiles[h][t].activeTime-o.tiles[h][e].activeTime})).slice(Math.max(24,v.length));B<_.length;B++){E=_[B];var U=this.tiles[h][E];A.remove(U),U.dispose(),delete this.tiles[h][E]}}for(var R=0;R<this.tiles.length;R++)if(this.tiles[R]){var Q=!!c&&R<=c.level;for(var E in this.tiles[R])this.tiles[R][E].visible=Q}this.object.needsRender=!0}},e.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},e}(),Ir=(new r.Matrix4).makeRotationAxis(new r.Vector3(0,1,0),Math.PI),br=new r.Vector3(-1,1,1),Or=function(e){function i(t){var n,r,o,s,a,u,c,l=this,h=i.parseArgs(t);(l=e.call(this,h)||this).currentPanoIndex=h.initial[0],l.maxAccessibleDistance=h.maxAccessibleDistance,l.panoTapTriggerRadius=h.panoTapTriggerRadius,l.panoCircleMeshCreator=h.panoCircleMeshCreator,l.tileLevelForFov=h.tileLevelForFov;var d=l.model.getMaterial()||{},p=d.pano0,A=d.pano1;p&&(null==A?void 0:A.map)!==p.map&&(l.model.setMaterial({pano0:A}),p.map.dispose(),null===(n=p.luminanceMap)||void 0===n||n.dispose()),l.boundingMesh=l.generateBoundingMesh(),l.boundingMesh.setMaterial(l.model.getMaterial()||{}),l.boundingMesh.visible=!1,l.scene.add(l.boundingMesh),l.panoMeshes=[],l.updatePanoMeshes(),l.locationMotion=new Yn({count:0,distance:l.camera.pose.distance,modelAlpha:null!==(o=null===(r=l.model.getMaterial())||void 0===r?void 0:r.modelAlpha)&&void 0!==o?o:0,perspToOrtho:null!==(a=null===(s=l.model.getMaterial())||void 0===s?void 0:s.perspToOrtho)&&void 0!==a?a:0}),l.panoResources={},l.panoResources[l.locationMotion.keyframes[0].key=l.locationMotion.keyframes[1].key=Fe()]={panoIndex:l.currentPanoIndex,workCode:l.work.workCode,panoPicture:null!==(c=null===(u=l.model.getMaterial())||void 0===u?void 0:u.pano1)&&void 0!==c?c:null,position:l.camera.pose.offset.clone(),effect:"fly"};var f={allowHosts:l.work.allowHosts,networkSubscribe:l.networkSubscribe};return l.textureLoader=new xi(f),l.tiling=new zr(f,l.imageOptions),l.scene.add(l.tiling.object),l}return t.__extends(i,e),i.parseArgs=function(i){var n,r,o,s,a=e.parseArgs.call(this,i);return t.__assign(t.__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:cr,tileLevelForFov:null!==(s=i.tileLevelForFov)&&void 0!==s?s:function(e){var t,i=null!==(t=a.imageOptions.size)&&void 0!==t?t:2048;return i<8192&&e<10?4:i<4096&&e<25?3:i<2048&&e<50?2:i<1024&&e<90?1:0}})},i.initAnimationEndPose=function(t){var i=this.parseArgs(t);return e.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var t,i,n=this;e.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(e){n.helper.remove(e),e.dispose()})),this.panoMeshes.length=0),this.interiaMovement=!1;var r=this.videoTexture.image;r.pause(),r.oncanplay=function(){},r.ontimeupdate=function(){};var o={panoVideo:null};this.model.setMaterial(o),this.boundingMesh.setMaterial(o);for(var s=null!==(t=this.model.getMaterial())&&void 0!==t?t:{},a=s.pano0,u=s.pano1,c=0,l=Object.keys(this.panoResources);c<l.length;c++){var h=l[c],d=this.panoResources[h];if(d.panoPicture){var p=d.panoPicture.map;p&&p!==(null==a?void 0:a.map)&&p!==(null==u?void 0:u.map)&&(p.dispose(),null===(i=d.panoPicture.luminanceMap)||void 0===i||i.dispose(),d.panoPicture=null)}delete this.panoResources[h]}},i.prototype.isReady=function(){return!0===this.locationMotion.ended&&e.prototype.isReady.call(this)},i.prototype.updateWork=function(e,t,i,n,r){this.userAction=r,this.work=e,this.currentPanoIndex=t,this.textureLoader.setAllowHosts(this.work.allowHosts),this.tiling.setAllowHosts(this.work.allowHosts);var o={},s=!0;this.boundingMesh&&(o=this.boundingMesh.getMaterial()||{},s=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.visible=s,this.boundingMesh.setMaterial(o),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.updatePanoMeshes(!1);for(var a=0,u=this.panoMeshes;a<u.length;a++){u[a].visible=!1}return this.moveToPano(t,{effect:"fade",duration:n,longitude:i.longitude,latitude:i.latitude,fov:i.fov},r),!0},i.prototype.updateModel=function(e){var t=this;this.model=e;var i={};this.boundingMesh&&(i=this.boundingMesh.getMaterial()||{},this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(),this.boundingMesh.visible=!0,this.boundingMesh.name="bounding",this.boundingMesh.setMaterial(i),this.scene.add(this.boundingMesh),this.needsRender=!0,Ft((function(){t.updatePanoMeshes(),t.needsRender=!0}))},i.prototype.updateTime=function(e,t){var i,n,o,s,a,u,c;if(!this.destroyed){var l={},h={};if(!1===this.locationMotion.ended){this.locationMotion.update(e);var d=this.locationMotion.getKeyFrameSegment(e),p=d[0],A=d[1],f=this.panoResourceFromLocationMotionKeyframe(p),M=this.panoResourceFromLocationMotionKeyframe(A),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),m=(new r.Vector3).copy(f.position),v=(new r.Vector3).copy(M.position),N=this.locationMotion.value.count-A.value.count+1;l.modelAlpha=this.locationMotion.value.modelAlpha,l.perspToOrtho=xn(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),l.useBlackTransition="instant"===M.effect,M.panoPicture&&(N<1?f.panoPicture&&(l.pano0=f.panoPicture):l.pano0=M.panoPicture,l.pano1=M.panoPicture),"fade"===M.effect&&(l.pano0&&f.panoPicture&&(l.pano0={map:l.pano0.map,luminanceMap:l.pano0.luminanceMap,matrix:f.panoPicture.matrix.clone().setPosition(M.position)}),m.copy(v)),l.progress=N,h.distance=this.locationMotion.value.distance,h.offset=new r.Vector3(m.x+(v.x-m.x)*N,m.y+(v.y-m.y)*N,m.z+(v.z-m.z)*N);for(var D=[],w=[],T=0,x=this.locationMotion.keyframes;T<x.length;T++){var E=x[T],j=E.key,z=E.progress;void 0!==j&&(D.push(j),z>=this.locationMotion.progress&&w.push(j))}for(var I=0,b=Object.keys(this.panoResources);I<b.length;I++){var O=b[I];if(!(w.indexOf(O)>=0)){var S=this.panoResources[O];if(S.panoPicture){var L=S.panoPicture.map;if(L){if(L===(null===(i=l.pano0)||void 0===i?void 0:i.map))continue;if(L===(null===(n=l.pano1)||void 0===n?void 0:n.map))continue;L.dispose(),null===(o=S.panoPicture.luminanceMap)||void 0===o||o.dispose(),S.panoPicture=null}}D.indexOf(O)>=0||delete this.panoResources[O]}}f.workCode===M.workCode?this.currentPanoIndex=N<.5?f.panoIndex:M.panoIndex:this.currentPanoIndex=M.panoIndex,this.emit("movingToPano",y.panoIndex,g.panoIndex,this.locationMotion.progress),this.tiling.object.visible=!1}else this.tiling.object.visible=!1!==this.tileLevelForFov;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),h.longitude=this.cameraMotion.value.longitude,h.latitude=this.cameraMotion.value.latitude,h.fov=this.cameraMotion.value.fov),!1===En(l)&&(this.model.setMaterial(l),this.boundingMesh.setMaterial(l)),!1===En(h)&&this.setCamera(h),this.boundingMesh.visible=Boolean(null===(s=this.boundingMesh.getMaterial())||void 0===s?void 0:s.pano0)&&this.boundingMesh.boundingBox.containsPoint(this.camera.position),this.tileLevelForFov&&this.locationMotion.ended&&!1===this.pending&&this.tiling.object.visible&&this.work.observers[this.currentPanoIndex]){var k=this.work.observers[this.currentPanoIndex];this.enableIOSEDR&&this.tiling.setLuminance(null!==(a=k.images.luminance)&&void 0!==a?a:null),this.tiling.panoIndex=this.currentPanoIndex,this.tiling.setResource(null!==(c=null===(u=k.images)||void 0===u?void 0:u.tiles)&&void 0!==c?c:[]),this.tiling.setRotation(k.quaternion),this.tiling.update(this.camera,this.tileLevelForFov(this.camera.fov),e)}}},i.prototype.render=function(t){var i=this.work.observers[this.currentPanoIndex];i&&i.video&&(this.needsRender=!0),e.prototype.render.call(this,t)},i.prototype.postProcessing=function(e,t){if(!this.destroyed)return this.effect||(this.effect=new fr(this.renderer)),this.effect.render(e,t)},i.prototype.getTargetPose=function(){var e=this.cameraMotion.getKeyFrameSegment(He())[1],t=this.locationMotion.getKeyFrameSegment(He())[1],i=this.panoResourceFromLocationMotionKeyframe(t),n=this.work.observers[i.panoIndex];return{longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:n?n.position.clone():this.camera.position.clone()}},i.prototype.moveToPano=function(e,i,n){var o,s,a,u=this,c=this.work.observers[e],l=t.__assign({key:"pano."+e,basisLoaderInitialized:wi.isInitialized()},Xt(this.imageOptions,["format","size","quality"])),h=null!==(o=this.imageOptions.transform)&&void 0!==o?o:ti,d={right:h(c.images.right,t.__assign(t.__assign({},l),{key:l.key+".right"})),left:h(c.images.left,t.__assign(t.__assign({},l),{key:l.key+".left"})),up:h(c.images.up,t.__assign(t.__assign({},l),{key:l.key+".up"})),down:h(c.images.down,t.__assign(t.__assign({},l),{key:l.key+".down"})),front:h(c.images.front,t.__assign(t.__assign({},l),{key:l.key+".front"})),back:h(c.images.back,t.__assign(t.__assign({},l),{key:l.key+".back"}))},p={key:"pano_luminance."+e,basisLoaderInitialized:wi.isInitialized(),size:l.size?l.size/2:1024},A=this.enableIOSEDR&&c.images.luminance?{right:h(c.images.luminance.right,t.__assign(t.__assign({},p),{key:p.key+".right"})),left:h(c.images.luminance.left,t.__assign(t.__assign({},p),{key:p.key+".left"})),up:h(c.images.luminance.up,t.__assign(t.__assign({},p),{key:p.key+".up"})),down:h(c.images.luminance.down,t.__assign(t.__assign({},p),{key:p.key+".down"})),front:h(c.images.luminance.front,t.__assign(t.__assign({},p),{key:p.key+".front"})),back:h(c.images.luminance.back,t.__assign(t.__assign({},p),{key:p.key+".back"}))}:null,f="pano:"+Wn(d);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===f)return;var M=this.pendingTextureTask.panoIndex;null===(s=this.panoMeshes[M])||void 0===s||s.setProgress(0),this.emit("textureAbort",M,c),this.pendingTextureTask.onError(new Error("texture aborted"))}var g,y=this.model.getMaterial()||{},m=y.pano0,v=y.pano1;if((null==m?void 0:m.map.name)===f?g=m:(null==v?void 0:v.map.name)===f&&(g=v),g){var N={panoIndex:e,workCode:this.work.workCode,effect:null!==(a=i.effect)&&void 0!==a?a:"fly",panoPicture:{map:g.map,luminanceMap:g.luminanceMap,matrix:(new r.Matrix4).compose(c.position,c.quaternion,br)},position:c.position.clone()};this.doMoveToPano(e,N,i,n)}else this.pending=!0,this.pendingTextureTask={panoIndex:e,hash:f,onLoad:function(t,o){var s,a;if(u.pending=!1,u.destroyed)t.body.dispose();else{t.body.name=f,u.emit("panoLoaded",e);var l={panoIndex:e,workCode:u.work.workCode,effect:null!==(s=i.effect)&&void 0!==s?s:"fly",panoPicture:{map:t.body,luminanceMap:null!==(a=null==o?void 0:o.body)&&void 0!==a?a:null,matrix:(new r.Matrix4).compose(c.position,c.quaternion,br)},position:c.position.clone()};u.doMoveToPano(e,l,i,n)}},onError:function(t){u.pending=!1,i.moveCancelCallback&&i.moveCancelCallback(),u.emit("panoLoadError",t,e),u.emit("moveToPanoCanceled",e)}},Promise.all([this.textureLoader.loadCube(d,{format:r.RGBFormat},void 0,void 0,(function(t){var i,n;(null===(i=u.pendingTextureTask)||void 0===i?void 0:i.hash)===f&&(null===(n=u.panoMeshes[e])||void 0===n||n.setProgress(t)),u.emit("textureLoading",t,e,c)}),this.renderer),A?this.textureLoader.loadCube(A,{format:r.LuminanceFormat}).catch((function(){return null})):Promise.resolve(null)]).then((function(t){var i,n,r=t[0],o=t[1];(null===(i=u.pendingTextureTask)||void 0===i?void 0:i.hash)===f?(u.pendingTextureTask.onLoad(r,o),null===(n=u.panoMeshes[e])||void 0===n||n.setProgress(0),delete u.pendingTextureTask,u.emit("textureLoaded",e,c,r.meta)):(r.body.dispose(),null==o||o.body.dispose())})).catch((function(t){var i,n;(null===(i=u.pendingTextureTask)||void 0===i?void 0:i.hash)===f&&(u.pendingTextureTask.onError(t),null===(n=u.panoMeshes[e])||void 0===n||n.setProgress(0),delete u.pendingTextureTask,u.emit("textureError",t,e,c),u.emit("error",t))})),this.emit("textureStartLoad",e,c)},i.prototype.setCamera=function(t){void 0===t&&(t={}),e.prototype.setCamera.call(this,t);var i=this.work.observers[this.currentPanoIndex];if(i)for(var n=i.visibleNodes.concat(this.currentPanoIndex),r=this.getForwardPanoIndexOrNot(),o=0;o<this.work.observers.length;o++){var s=this.work.observers[o],a=this.panoMeshes[o];if(a.visible=!0,a.setCurrent(r===o),a)if(s.loadable||s.active)if(-1===n.indexOf(o))a.visible=!1;else{a.visible=!0;var u=a.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);u<.01?a.setOpacity(0):a.setOpacity(xn(1.5/u,0,1))}else a.visible=!0}},i.prototype.initAnimation=function(e,t,i,n){var r,o,s,a=this;if(!this.destroyed){var u=!1;this.pending=!1,this.userAction=n,this.moveToPano(e,{longitude:null!==(r=t.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:xn(null!==(o=t.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:xn(null!==(s=t.fov)&&void 0!==s?s:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(e,t){u=!0,a.emit("initAnimationWillStart",e,t,a.userAction)},moveEndCallback:function(e,t){a.emit("initAnimationEnded",e,t,a.userAction)},moveCancelCallback:function(){var e={longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone()};!1===u&&a.emit("initAnimationWillStart",a.currentPanoIndex,e,a.userAction),a.emit("initAnimationEnded",a.currentPanoIndex,e,a.userAction)}},n)}},i.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},i.prototype.locationMotionKeyframesLength=function(e){for(var t=0,i=1;i<e.length;i++){var n=this.panoResourceFromLocationMotionKeyframe(e[i-1]).position,r=this.panoResourceFromLocationMotionKeyframe(e[i]).position;t+=n.distanceTo(r)*(e[i].value.count-e[i-1].value.count)}return t},i.prototype.updatePanoMeshes=function(e){void 0===e&&(e=!0);for(var t=[],i=0,n=this.panoMeshes;i<n.length;i++){(a=n[i]).loading&&t.push(a.name),this.helper.remove(a),a.dispose()}this.panoMeshes.length=0;for(var o=new r.Vector3(0,-1,0),s=0;s<this.work.observers.length;s++){var a,u=this.work.observers[s];if((a=this.panoCircleMeshCreator()).name="panoCircle_"+this.work.workCode+"_"+s,a.position.copy(u.standingPosition),a.needsRender=!0,this.helper.add(a),e&&this.model.loaded&&this.model.bvhs.loaded){var c=a.position.clone().add(new r.Vector3(0,1,0)),l=new r.Raycaster(c,o,0,1),h=this.model.intersectRaycaster(l)[0];h&&h.point.distanceTo(a.position)>.1&&(a.position.copy(h.point.clone()),a.needsRender=!0)}!1===u.active&&(a.setDisabled(!0),t.indexOf(a.name)>=0&&(a.setDisabled(!1),a.setLoading(!0))),this.panoMeshes[s]=a}},i.prototype.generateBoundingMesh=function(e){void 0===e&&(e=!1);for(var t=this.model.bounding.clone(),i=0,n=this.work.observers;i<n.length;i++){var o=n[i];t.expandByPoint(o.standingPosition),t.expandByPoint((new r.Vector3).fromArray([o.position.x,2*o.position.y-o.standingPosition.y,o.position.z]))}e&&t.expandByPoint(this.camera.position);var s=at(t,new r.Vector3(1,0,1));return s.name="panorama_bounding",s},i.prototype.doMoveToPano=function(e,i,n,o){var s,a,u,c=this;void 0===n&&(n={}),this.userAction=o;var l=He(),h=Fe();this.panoResources[h]=i;var d,p,A;if(this.locationMotion.ended){var f=this.locationMotion.getKeyFrameSegment(l);f[0];var M=f[1],g=this.locationMotion.value,y=this.panoResourceFromLocationMotionKeyframe(M).position,m=i.position;d=Math.max(y.distanceTo(m),1),p=[{key:M.key,progress:0,value:t.__assign(t.__assign({},g),{count:0})},{key:h,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,count:1}}],A=0}else{var v=this.locationMotion.getKeyFrameSegment(l),N=v[0],D=(M=v[1],g=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(N).position),w=(y=this.panoResourceFromLocationMotionKeyframe(M).position,m=i.position,M.value.count-g.count),T=Math.max(D.distanceTo(y),1)*w;d=T+Math.max(y.distanceTo(m),1),p=[{key:N.key,progress:0,value:t.__assign({},g)},{key:M.key,progress:T/d,value:M.value},{key:h,progress:1,value:{count:M.value.count+1,distance:0,perspToOrtho:0,modelAlpha:0}}];var x=this.locationMotionKeyframesLength(this.locationMotion.keyframes),E=this.locationMotionKeyframesLength(p);A=this.locationMotion.getProgressVelocity(l)*x/E}var j=this.calculateMovingDuration(n.duration,d),z={longitude:n.longitude,latitude:n.latitude,fov:n.fov},I={longitude:null!==(s=z.longitude)&&void 0!==s?s:this.camera.pose.longitude,latitude:null!==(a=z.latitude)&&void 0!==a?a:this.camera.pose.latitude,fov:null!==(u=z.fov)&&void 0!==u?u:this.camera.pose.fov,offset:i.position.clone()};n.moveStartCallback&&n.moveStartCallback(e,I),this.emit("panoWillArrive",e,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=Qe,this.videoTexture.needsUpdate=!0),this.model.setMaterial({panoVideo:null}),this.boundingMesh.setMaterial({panoVideo:null}),this.cameraMotion.set(z,j).catch(Qe),this.locationMotion.setKeyFrames(p,j,A).then((function(){var t,i,s,a={longitude:c.camera.pose.longitude,latitude:c.camera.pose.latitude,fov:c.camera.pose.fov,offset:c.camera.pose.offset.clone()};n.moveEndCallback&&n.moveEndCallback(e,a),c.emit("panoArrived",e,a,o);var u=c.work.observers[c.currentPanoIndex];if(u&&u.video&&c.videoTexture&&c.videoTexture.image instanceof HTMLVideoElement){var l=Ir.clone().multiply(null!==(s=null===(i=null===(t=c.model.getMaterial())||void 0===t?void 0:t.pano1)||void 0===i?void 0:i.matrix)&&void 0!==s?s:new r.Matrix4).multiply(u.video.matrix),h={map:c.videoTexture,size:u.video.size,matrix:l,alpha:1},d=Fe(),p=c.videoTexture.image;p.setAttribute("uuid",d),(lr||(lr=new Promise((function(e){var t,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(t);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?e(!0):e(!1)):e(!1)}),!1),i.addEventListener("canplay",(function e(){i.removeEventListener("canplay",e,!1),i.play()}),!1),t=window.setTimeout((function(){return e(!1)}),1e3)})))).then((function(e){e&&u.video&&p.getAttribute("uuid")===d&&(p.oncanplay=function(){p.oncanplay=Qe,p.play()},p.ontimeupdate=function(){p.currentTime>.5&&(p.ontimeupdate=Qe,c.model.setMaterial({panoVideo:h}),c.boundingMesh.setMaterial({panoVideo:h}))},p.src=u.video.source)})).catch((function(){p.removeAttribute("uuid")}))}}),(function(){n.moveCancelCallback&&n.moveCancelCallback(),c.emit("moveToPanoCanceled",e)}))},i.prototype.getForwardPanoIndexOrNot=function(e){var t=this,i=this.camera.getWorldDirection(new r.Vector3),n=this.camera.position.clone(),o=this.work.observers[this.currentPanoIndex];if(!o)return null;var s=o.accessibleNodes.filter((function(e){if(e===t.currentPanoIndex)return!1;var i=t.work.observers[e],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))})),a=(e?e.ray.direction.clone():i.clone()).setY(0);if(0===a.length())return null;for(var u=s.slice().sort((function(e,i){var r=t.work.observers[e].position.clone().setY(n.y),o=t.work.observers[i].position.clone().setY(n.y);return r.distanceTo(n)-o.distanceTo(n)})),c=0,l=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];c<l.length;c++)for(var h=l[c],d=0,p=u;d<p.length;d++){var A=p[d],f=this.work.observers[A].position.clone().setY(n.y).sub(n);if(0!==f.length()&&a.angleTo(f)<h)return A}return null},i.prototype.onTapGesture=function(e){var i=this,n=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","tap",n,!0)){var o=this.relativeClientPosition(e.center),s=new r.Raycaster;if(s.setFromCamera(o,this.camera),!this.emit("wantsTapGesture",s,o)){this.emit("gesture","tap",n,!0),this.emit("tapGesture",s,o),this.interiaMovement=!1;var a=this.camera.getWorldDirection(new r.Vector3).setY(0),u=null,c=this.work.observers[this.currentPanoIndex];if(c){var l=c.accessibleNodes.filter((function(e){if(e===i.currentPanoIndex)return!1;var t=i.work.observers[e];return!(t.position.distanceTo(i.camera.position)>i.maxAccessibleDistance)&&(t.loadable||t.active)})),h=this.model.intersectRaycaster(s)[0];if(h){var d=Tn(l,(function(e){var t=i.work.observers[e].standingPosition.clone();return t.clone().sub(i.camera.position).setY(0).angleTo(a)>Math.PI/2?1/0:t.distanceTo(h.point)}),!0),p=d[0];d[1]<this.panoTapTriggerRadius&&(u=p)}Re(u)&&(u=this.getForwardPanoIndexOrNot(s));for(var A=0,f=this.locationMotion.keyframes;A<f.length;A++){var M=f[A],g=this.panoResourceFromLocationMotionKeyframe(M);if(!(M.progress<this.locationMotion.progress)&&g.panoIndex===u){u=null;break}}if(this.emit("panoSelected",u),Re(u))!0===this.locationMotion.ended&&this.cameraBounce();else{var y=this.work.observers[u];if(y.active){for(var m={},v=Math.PI/6,N=Math.PI/12,D=new r.Vector3(0,1,0),w=y.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),T=w.clone().applyAxisAngle(D,v),x=w.clone().applyAxisAngle(D,-v),E=[],j=[],z=[],I=0,b=y.accessibleNodes;I<b.length;I++){if((p=b[I])!==this.currentPanoIndex&&p!==u){var O=this.work.observers[p].position.clone().sub(y.position).setY(0);w.angleTo(O)<v?z.push(O):T.angleTo(O)<v?E.push(O):x.angleTo(O)<v&&j.push(O)}}var S=(z.length>0?z:t.__spreadArray(t.__spreadArray([],E,!0),j,!0)).slice().sort((function(e,t){return e.angleTo(w)-t.angleTo(w)}))[0];S&&S.angleTo(a)>N&&(m.longitude=Math.atan2(-S.x,-S.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(m.latitude=xn(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(m.fov=this.defaultFov),this.emit("wantsMoveToPano",u,m,!0)}else this.panoMeshes[u]&&(this.panoMeshes[u].setDisabled(!1),this.panoMeshes[u].setLoading(!0))}}}}},i}(Zn),Sr=function(e,t){var i=void 0!==e?e:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e,t){return e(t={exports:{}},t.exports),t.exports}var o=function(){return/Android/i.test(t.userAgent)||/iPhone|iPad|iPod/i.test(t.userAgent)},s=function(e,t){for(var i=0,n=e.length;i<n;i++)t[i]=e[i]},a=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},u=n(r((function(n,r){
|
|
372
|
+
* Licensed under the MIT license */var zn=function(e,t,i,n){var r,o=["","webkit","Moz","MS","ms","o"],s=t.createElement?t.createElement("div"):n,a=Math.round,u=Math.abs,c=Date.now;function l(e,t,i){return setTimeout(g(e,i),t)}function h(e,t,i){return!!Array.isArray(e)&&(d(e,i[t],i),!0)}function d(e,t,i){var r;if(e)if(e.forEach)e.forEach(t,i);else if(e.length!==n)for(r=0;r<e.length;)t.call(i,e[r],r,e),r++;else for(r in e)e.hasOwnProperty(r)&&t.call(i,e[r],r,e)}function p(t,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=e.console&&(e.console.warn||e.console.log);return o&&o.call(e.console,r,n),t.apply(this,arguments)}}r="function"!=typeof Object.assign?function(e){if(e===n||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i<arguments.length;i++){var r=arguments[i];if(r!==n&&null!==r)for(var o in r)r.hasOwnProperty(o)&&(t[o]=r[o])}return t}:Object.assign;var A=p((function(e,t,i){for(var r=Object.keys(t),o=0;o<r.length;)(!i||i&&e[r[o]]===n)&&(e[r[o]]=t[r[o]]),o++;return e}),"extend","Use `assign`."),f=p((function(e,t){return A(e,t,!0)}),"merge","Use `assign`.");function M(e,t,i){var n,o=t.prototype;(n=e.prototype=Object.create(o)).constructor=e,n._super=o,i&&r(n,i)}function g(e,t){return function(){return e.apply(t,arguments)}}function y(e,t){return"function"==typeof e?e.apply(t&&t[0]||n,t):e}function m(e,t){return e===n?t:e}function v(e,t,i){d(T(t),(function(t){e.addEventListener(t,i,!1)}))}function N(e,t,i){d(T(t),(function(t){e.removeEventListener(t,i,!1)}))}function D(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function w(e,t){return e.indexOf(t)>-1}function T(e){return e.trim().split(/\s+/g)}function x(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var n=0;n<e.length;){if(i&&e[n][i]==t||!i&&e[n]===t)return n;n++}return-1}function E(e){return Array.prototype.slice.call(e,0)}function j(e,t,i){for(var n=[],r=[],o=0;o<e.length;){var s=t?e[o][t]:e[o];x(r,s)<0&&n.push(e[o]),r[o]=s,o++}return i&&(n=t?n.sort((function(e,i){return e[t]>i[t]})):n.sort()),n}function z(e,t){for(var i,r,s=t[0].toUpperCase()+t.slice(1),a=0;a<o.length;){if((r=(i=o[a])?i+s:t)in e)return r;a++}return n}var I=1;function b(t){var i=t.ownerDocument||t;return i.defaultView||i.parentWindow||e}var O="ontouchstart"in e,S=z(e,"PointerEvent")!==n,L=O&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),k="touch",C="mouse",P=24,B=["x","y"],_=["clientX","clientY"];function U(e,t){var i=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){y(e.options.enable,[e])&&i.handler(t)},this.init()}function R(e,t,i){var r=i.pointers.length,o=i.changedPointers.length,s=1&t&&r-o==0,a=12&t&&r-o==0;i.isFirst=!!s,i.isFinal=!!a,s&&(e.session={}),i.eventType=t,function(e,t){var i=e.session,r=t.pointers,o=r.length;i.firstInput||(i.firstInput=Q(t));o>1&&!i.firstMultiple?i.firstMultiple=Q(t):1===o&&(i.firstMultiple=!1);var s=i.firstInput,a=i.firstMultiple,l=a?a.center:s.center,h=t.center=Y(r);t.timeStamp=c(),t.deltaTime=t.timeStamp-s.timeStamp,t.angle=G(l,h),t.distance=H(l,h),function(e,t){var i=t.center,n=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:i.x,y:i.y});t.deltaX=r.x+(i.x-n.x),t.deltaY=r.y+(i.y-n.y)}(i,t),t.offsetDirection=V(t.deltaX,t.deltaY);var d=F(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=d.x,t.overallVelocityY=d.y,t.overallVelocity=u(d.x)>u(d.y)?d.x:d.y,t.scale=a?function(e,t){return H(t[0],t[1],_)/H(e[0],e[1],_)}(a.pointers,r):1,t.rotation=a?function(e,t){return G(t[1],t[0],_)+G(e[1],e[0],_)}(a.pointers,r):0,t.maxPointers=i.prevInput?t.pointers.length>i.prevInput.maxPointers?t.pointers.length:i.prevInput.maxPointers:t.pointers.length,function(e,t){var i,r,o,s,a=e.lastInterval||t,c=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(c>25||a.velocity===n)){var l=t.deltaX-a.deltaX,h=t.deltaY-a.deltaY,d=F(c,l,h);r=d.x,o=d.y,i=u(d.x)>u(d.y)?d.x:d.y,s=V(l,h),e.lastInterval=t}else i=a.velocity,r=a.velocityX,o=a.velocityY,s=a.direction;t.velocity=i,t.velocityX=r,t.velocityY=o,t.direction=s}(i,t);var p=e.element;D(t.srcEvent.target,p)&&(p=t.srcEvent.target);t.target=p}(e,i),e.emit("hammer.input",i),e.recognize(i),e.session.prevInput=i}function Q(e){for(var t=[],i=0;i<e.pointers.length;)t[i]={clientX:a(e.pointers[i].clientX),clientY:a(e.pointers[i].clientY)},i++;return{timeStamp:c(),pointers:t,center:Y(t),deltaX:e.deltaX,deltaY:e.deltaY}}function Y(e){var t=e.length;if(1===t)return{x:a(e[0].clientX),y:a(e[0].clientY)};for(var i=0,n=0,r=0;r<t;)i+=e[r].clientX,n+=e[r].clientY,r++;return{x:a(i/t),y:a(n/t)}}function F(e,t,i){return{x:t/e||0,y:i/e||0}}function V(e,t){return e===t?1:u(e)>=u(t)?e<0?2:4:t<0?8:16}function H(e,t,i){i||(i=B);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return Math.sqrt(n*n+r*r)}function G(e,t,i){i||(i=B);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return 180*Math.atan2(r,n)/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&v(this.element,this.evEl,this.domHandler),this.evTarget&&v(this.target,this.evTarget,this.domHandler),this.evWin&&v(b(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&N(this.element,this.evEl,this.domHandler),this.evTarget&&N(this.target,this.evTarget,this.domHandler),this.evWin&&N(b(this.element),this.evWin,this.domHandler)}};var W={mousedown:1,mousemove:2,mouseup:4},q="mousedown",K="mousemove mouseup";function Z(){this.evEl=q,this.evWin=K,this.pressed=!1,U.apply(this,arguments)}M(Z,U,{handler:function(e){var t=W[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:C,srcEvent:e}))}});var X={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},J={2:k,3:"pen",4:C,5:"kinect"},$="pointerdown",ee="pointermove pointerup pointercancel";function te(){this.evEl=$,this.evWin=ee,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}e.MSPointerEvent&&!e.PointerEvent&&($="MSPointerDown",ee="MSPointerMove MSPointerUp MSPointerCancel"),M(te,U,{handler:function(e){var t=this.store,i=!1,n=e.type.toLowerCase().replace("ms",""),r=X[n],o=J[e.pointerType]||e.pointerType,s=o==k,a=x(t,e.pointerId,"pointerId");1&r&&(0===e.button||s)?a<0&&(t.push(e),a=t.length-1):12&r&&(i=!0),a<0||(t[a]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),i&&t.splice(a,1))}});var ie={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ne="touchstart",re="touchstart touchmove touchend touchcancel";function oe(){this.evTarget=ne,this.evWin=re,this.started=!1,U.apply(this,arguments)}function se(e,t){var i=E(e.touches),n=E(e.changedTouches);return 12&t&&(i=j(i.concat(n),"identifier",!0)),[i,n]}M(oe,U,{handler:function(e){var t=ie[e.type];if(1===t&&(this.started=!0),this.started){var i=se.call(this,e,t);12&t&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:k,srcEvent:e})}}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ue="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=ue,this.targetIds={},U.apply(this,arguments)}function le(e,t){var i=E(e.touches),n=this.targetIds;if(3&t&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,o,s=E(e.changedTouches),a=[],u=this.target;if(o=i.filter((function(e){return D(e.target,u)})),1===t)for(r=0;r<o.length;)n[o[r].identifier]=!0,r++;for(r=0;r<s.length;)n[s[r].identifier]&&a.push(s[r]),12&t&&delete n[s[r].identifier],r++;return a.length?[j(o.concat(a),"identifier",!0),a]:void 0}M(ce,U,{handler:function(e){var t=ae[e.type],i=le.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:k,srcEvent:e})}});function he(){U.apply(this,arguments);var e=g(this.handler,this);this.touch=new ce(this.manager,e),this.mouse=new Z(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function de(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,pe.call(this,t)):12&e&&pe.call(this,t)}function pe(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var i={x:t.clientX,y:t.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(i);e>-1&&n.splice(e,1)}),2500)}}function Ae(e){for(var t=e.srcEvent.clientX,i=e.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],o=Math.abs(t-r.x),s=Math.abs(i-r.y);if(o<=25&&s<=25)return!0}return!1}M(he,U,{handler:function(e,t,i){var n=i.pointerType==k,r=i.pointerType==C;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)de.call(this,t,i);else if(r&&Ae.call(this,i))return;this.callback(e,t,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var fe=s?z(s.style,"touchAction"):n,Me=fe!==n,ge="compute",ye="auto",me="manipulation",ve="none",Ne="pan-x",De="pan-y",we=function(){if(!Me)return!1;var t={},i=e.CSS&&e.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=!i||e.CSS.supports("touch-action",n)})),t}();function Te(e,t){this.manager=e,this.set(t)}Te.prototype={set:function(e){e==ge&&(e=this.compute()),Me&&this.manager.element.style&&we[e]&&(this.manager.element.style[fe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return d(this.manager.recognizers,(function(t){y(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(w(e,ve))return ve;var t=w(e,Ne),i=w(e,De);if(t&&i)return ve;if(t||i)return t?Ne:De;if(w(e,me))return me;return ye}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,r=w(n,ve)&&!we.none,o=w(n,De)&&!we["pan-y"],s=w(n,Ne)&&!we["pan-x"];if(r){var a=1===e.pointers.length,u=e.distance<2,c=e.deltaTime<250;if(a&&u&&c)return}if(!s||!o)return r||o&&6&i||s&&i&P?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var xe=32;function Ee(e){this.options=r({},this.defaults,e||{}),this.id=I++,this.manager=null,this.options.enable=m(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function je(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function ze(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Ie(e,t){var i=t.manager;return i?i.get(e):e}function be(){Ee.apply(this,arguments)}function Oe(){be.apply(this,arguments),this.pX=null,this.pY=null}function Se(){be.apply(this,arguments)}function Le(){Ee.apply(this,arguments),this._timer=null,this._input=null}function ke(){be.apply(this,arguments)}function Ce(){be.apply(this,arguments)}function Pe(){Ee.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Be(e,t){return(t=t||{}).recognizers=m(t.recognizers,Be.defaults.preset),new _e(e,t)}Ee.prototype={defaults:{},set:function(e){return r(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(h(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Ie(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return h(e,"dropRecognizeWith",this)||(e=Ie(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(h(e,"requireFailure",this))return this;var t=this.requireFail;return-1===x(t,e=Ie(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(h(e,"dropRequireFailure",this))return this;e=Ie(e,this);var t=x(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,i=this.state;function n(i){t.manager.emit(i,e)}i<8&&n(t.options.event+je(i)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),i>=8&&n(t.options.event+je(i))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=xe},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=r({},e);if(!y(this.options.enable,[this,t]))return this.reset(),void(this.state=xe);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},M(be,Ee,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,i=e.eventType,n=6&t,r=this.attrTest(e);return n&&(8&i||!r)?16|t:n||r?4&i?8|t:2&t?4|t:2:xe}}),M(Oe,be,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(De),e&P&&t.push(Ne),t},directionTest:function(e){var t=this.options,i=!0,n=e.distance,r=e.direction,o=e.deltaX,s=e.deltaY;return r&t.direction||(6&t.direction?(r=0===o?1:o<0?2:4,i=o!=this.pX,n=Math.abs(e.deltaX)):(r=0===s?1:s<0?8:16,i=s!=this.pY,n=Math.abs(e.deltaY))),e.direction=r,i&&n>t.threshold&&r&t.direction},attrTest:function(e){return be.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=ze(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),M(Se,be,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ve]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),M(Le,Ee,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ye]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime>t.time;if(this._input=e,!n||!i||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return xe},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}}),M(ke,be,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ve]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),M(Ce,be,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Oe.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return 30&i?t=e.overallVelocity:6&i?t=e.overallVelocityX:i&P&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&i&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&u(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=ze(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),M(Pe,Ee,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[me]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime<t.time;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||e.timeStamp-this.pTime<t.interval,s=!this.pCenter||H(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,s&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=l((function(){this.state=8,this.tryEmit()}),t.interval,this),2):8}return xe},failTimeout:function(){return this._timer=l((function(){this.state=xe}),this.options.interval,this),xe},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Be.VERSION="2.0.7",Be.defaults={domEvents:!1,touchAction:ge,enable:!0,inputTarget:null,inputClass:null,preset:[[ke,{enable:!1}],[Se,{enable:!1},["rotate"]],[Ce,{direction:6}],[Oe,{direction:6},["swipe"]],[Pe],[Pe,{event:"doubletap",taps:2},["tap"]],[Le]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function _e(e,t){var i;this.options=r({},Be.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((i=this).options.inputClass||(S?te:L?ce:O?he:Z))(i,R),this.touchAction=new Te(this,this.options.touchAction),Ue(this,!0),d(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function Ue(e,t){var i,n=e.element;n.style&&(d(e.options.cssProps,(function(r,o){i=z(n.style,o),t?(e.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=e.oldCssProps[i]||""})),t||(e.oldCssProps={}))}return _e.prototype={set:function(e){return r(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var i;this.touchAction.preventDefaults(e);var n=this.recognizers,r=t.curRecognizer;(!r||r&&8&r.state)&&(r=t.curRecognizer=null);for(var o=0;o<n.length;)i=n[o],2===t.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(e),!r&&14&i.state&&(r=t.curRecognizer=i),o++}},get:function(e){if(e instanceof Ee)return e;for(var t=this.recognizers,i=0;i<t.length;i++)if(t[i].options.event==e)return t[i];return null},add:function(e){if(h(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(h(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,i=x(t,e);-1!==i&&(t.splice(i,1),this.touchAction.update())}return this},on:function(e,t){if(e!==n&&t!==n){var i=this.handlers;return d(T(e),(function(e){i[e]=i[e]||[],i[e].push(t)})),this}},off:function(e,t){if(e!==n){var i=this.handlers;return d(T(e),(function(e){t?i[e]&&i[e].splice(x(i[e],t),1):delete i[e]})),this}},emit:function(e,i){this.options.domEvents&&function(e,i){var n=t.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=i,i.target.dispatchEvent(n)}(e,i);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){i.type=e,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](i),r++}},destroy:function(){this.element&&Ue(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},r(Be,{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:xe,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:P,DIRECTION_ALL:30,Manager:_e,Input:U,TouchAction:Te,TouchInput:ce,MouseInput:Z,PointerEventInput:te,TouchMouseInput:he,SingleTouchInput:oe,Recognizer:Ee,AttrRecognizer:be,Tap:Pe,Pan:Oe,Swipe:Ce,Pinch:Se,Rotate:ke,Press:Le,on:v,off:N,each:d,merge:f,extend:A,assign:r,inherit:M,bindFn:g,prefixed:z}),Be}("undefined"!=typeof window?window:{},"undefined"!=typeof document?document:{});function In(e,t){var i=document.mozFullScreen?"DOMMouseScroll":"mousewheel",n=!!window.addEventListener,r=!!window.attachEvent,o=function(e,t){var i=document.mozFullScreen?"DOMMouseScroll":"mousewheel",n=!!window.addEventListener,r=!!window.attachEvent;return t.__mouseWheelWrapper=function(o){if(o=o||window.event,n&&o.preventDefault(),r&&(o.returnValue=!1),"DOMMouseScroll"==i||"mousewheel"==i){var s=o.wheelDelta;o.delta=s?s/120:-(o.delta||0)/3}t.call(e,o)}}(e,t);n?e.addEventListener(i,o,!1):r&&e.attachEvent("on"+i,o)}function bn(e,t,i){var n=t.offsetWidth,o=t.offsetHeight,s=t.getBoundingClientRect(),a=s.top,u=s.left;return i&&(u+=n*i.left,a+=o*(1-i.bottom-i.height),n*=i.width,o*=i.height),new r.Vector2((e.x-u)/n*2-1,-(e.y-a)/o*2+1)}!function(){try{var e=document.createElement("canvas");!window.WebGLRenderingContext||!e.getContext("webgl")&&e.getContext("experimental-webgl")}catch(e){return!1}}();var On=new r.OrthographicCamera(-1,1,1,-1,0,1),Sn=new r.BufferGeometry;Sn.setAttribute("position",new r.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),Sn.setAttribute("uv",new r.Float32BufferAttribute([0,2,0,0,2,0],2));var Ln=new r.Mesh(Sn),kn=new r.Scene;kn.add(Ln);var Cn=function(){function e(e,t){var i;this.renderer=e,this.material=new r.ShaderMaterial({vertexShader:null!==(i=t.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:t.fragment,uniforms:Object.assign({inputBuffer:new r.Uniform(null)},t.uniforms),defines:Object.assign({},t.defines),blending:r.NoBlending,depthWrite:!1,depthTest:!1})}return e.prototype.render=function(e,t){var i=this.renderer.getRenderTarget(),n=Ln.material;this.material.uniforms.inputBuffer.value=e.texture,Ln.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(kn,On),this.renderer.setRenderTarget(i),Ln.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Pn=function(){function e(e){this.renderer=e,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 e.prototype.render=function(e,t){var i=this.renderer.getRenderTarget(),n=Ln.material;this.material.uniforms.inputValue.value.copy(e),Ln.material=this.material,this.renderer.setRenderTarget(t||null),this.renderer.render(kn,On),this.renderer.setRenderTarget(i),Ln.material=n},e.prototype.dispose=function(){this.material.dispose()},e}(),Bn=function(e){function i(t){return e.call(this,t,{fragment:"\nuniform sampler2D inputBuffer;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(inputBuffer, vUv);\n}\n"})||this}return t.__extends(i,e),i}(Cn),_n=function(){function e(e){this.enable=!0,this.renderer=e,this.copyPass=new Bn(this.renderer)}return e.prototype.render=function(e,t){this.copyPass.render(e)},e.prototype.dispose=function(){this.copyPass.dispose()},e}();function Un(e,t,i){return e+(t-e)*i}function Rn(e,t){var i=t[1]-t[0];return e<t[0]?Rn(e+i,t):e>=t[1]?Rn(e-i,t):e}function Qn(e,t,i,n){return n?function(e,t,i,n){var r=n[1]-n[0];return e=Rn(e,n),Un((t=Rn(t,n))-e>r/2?e+r:e-t>r/2?e-r:e,t,i)}(e,t,i,n):Un(e,t,i)}var Yn=function(){function e(e){for(var i in this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=He(),this.startVelocity=0,this.duration=0,this.keyframes=[],e){var n=e[i];"number"==typeof n?(this.value[i]=n,this.config[i]={circle:!1}):(this.value[i]=n.value,this.config[i]={circle:n.circle})}this.keyframes=[{progress:0,value:t.__assign({},this.value)},{progress:1,value:t.__assign({},this.value)}]}return e.prototype.getProgress=function(e){var t=e-this.startTime;return t<0?0:t>=this.duration?1:1-function(e,t,i,n){var r=(t*i+2*e)/Math.pow(i,3),o=-(2*t*i+3*e)/Math.pow(i,2),s=t,a=e;return r*Math.pow(n,3)+o*Math.pow(n,2)+s*n+a}(1,this.startVelocity,this.duration,t)},e.prototype.getValue=function(e){for(var i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>e){var n=this.keyframes[i-1],r=this.keyframes[i],o={};for(var s in this.config){var a=(e-n.progress)/(r.progress-n.progress);o[s]=Qn(n.value[s],r.value[s],a,this.config[s].circle)}return o}return t.__assign({},this.keyframes[this.keyframes.length-1].value)},e.prototype.getProgressVelocity=function(e){var t=e-this.startTime;return t>=this.duration?0:function(e,t,i,n){var r=(t*i+2*e)/Math.pow(i,3),o=-(2*t*i+3*e)/Math.pow(i,2),s=t;return 3*r*Math.pow(n,2)+2*o*n+s}(1,this.startVelocity,this.duration,t)},e.prototype.update=function(e){return!!this.ended||(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(e))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},e.prototype.getKeyFrameSegment=function(e){for(var t=this.getProgress(e),i=1;i<this.keyframes.length;i++)if(this.keyframes[i].progress>t)return[this.keyframes[i-1],this.keyframes[i]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},e.prototype.set=function(e,t,i,n){var r;void 0===i&&(i=0),n=null!=n?n:He();var o=this.getProgress(n),s=this.getValue(o),a={};for(var u in this.config)a[u]=null!==(r=e[u])&&void 0!==r?r:s[u];var c=[{progress:0,value:s},{progress:1,value:a}];return this.setKeyFrames(c,t,i,n)},e.prototype.setKeyFrames=function(e,i,n,r){var o=this;if(void 0===n&&(n=0),e.length<2)throw new Error("keyframes invoid.");return this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise((function(s,a){r=null!=r?r:He(),o.progress=0,o.ended=!1,o.startTime=r,o.startVelocity=n,o.keyframes=e,o.duration=i,0===i?(o.progress=1,o.value=t.__assign({},e[e.length-1].value)):o.value=t.__assign({},e[0].value),o.callbacks=[s,a]}))},e.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},e}(),Fn=function(e){function i(t){var n,r=e.call(this)||this,o=i.parseArgs(t);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.needsRender=!0,r.maxFov=120,r.minFov=40,r.maxLatitude=+Math.PI/2,r.minLatitude=-Math.PI/2,r.cameraMotion=new Yn({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(e){return r.bindEvents(e)})),We.shared.add((function(){return r.initAnimation.apply(r,o.initial)}),!0),r}return t.__extends(i,e),i.parseArgs=function(e){return t.__assign({},e)},i.initAnimationEndState=function(e){var t=this.parseArgs(e);return{longitude:t.camera.pose.longitude,latitude:t.camera.pose.latitude,fov:t.camera.pose.fov,offset:t.camera.pose.offset.clone()}},i.prototype.destroy=function(){this.destroyed=!0,this.off(),this.cameraMotion.dispose();for(var e=0,t=this.eventUnbinds;e<t.length;e++){(0,t[e])()}this.effect&&(this.effect.dispose(),delete this.effect)},i.prototype.isReady=function(){return!1===this.pending&&!0===this.cameraMotion.ended},i.prototype.bindExtraElement=function(e){for(var t=0,i=this.eventUnbinds;t<i.length;t++){if(i[t].element===e)return}this.eventUnbinds.push(this.bindEvents(e))},i.prototype.unbindExtraElement=function(e){for(var t=0,i=this.eventUnbinds;t<i.length;t++){if(i[t].element===e)break}},i.prototype.updateRenderSize=function(){this.needsRender=!0},i.prototype.updateModel=function(e){this.model=e,this.needsRender=!0},i.prototype.updateWork=function(e,t,i,n,r){return this.work=e,this.userAction=r,!1},i.prototype.updateTime=function(e,t){if(!this.destroyed){var i={};this.cameraMotion.ended&&(this.cameraMotion.update(e),i.longitude=this.cameraMotion.value.longitude,i.latitude=this.cameraMotion.value.latitude,i.fov=this.cameraMotion.value.fov),En(i)&&this.setCamera(i)}},i.prototype.render=function(e){this.renderer.render(this.scene,this.camera)},i.prototype.postProcessing=function(e,t){this.destroyed||(this.effect||(this.effect=new _n(this.renderer)),this.effect.render(e,t))},i.prototype.updateCamera=function(e,t,i){return this.userAction=i,this.cameraMotion.set(e,t)},i.prototype.getTargetPose=function(){var e=this.cameraMotion.getKeyFrameSegment(He())[1];return{longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:this.camera.pose.offset.clone()}},i.prototype.moveToPano=function(e,t,i){void 0===t&&(t={}),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()};t.moveStartCallback&&t.moveStartCallback(e,n),this.emit("moveToPano",e,this.userAction),this.emit("panoArrived",e,n,this.userAction),t.moveEndCallback&&t.moveEndCallback(e,n)},i.prototype.initAnimation=function(e,t,i,n){this.pending=!1,this.userAction=n},i.prototype.setCamera=function(e){var t,i,n,r,o;void 0===e&&(e={});var s=null!==(t=e.longitude)&&void 0!==t?t:this.camera.pose.longitude,a=null!==(i=e.latitude)&&void 0!==i?i:this.camera.pose.latitude,u=null!==(n=e.fov)&&void 0!==n?n:this.camera.pose.fov,c=null!==(r=e.distance)&&void 0!==r?r:this.camera.pose.distance,l=null!==(o=e.offset)&&void 0!==o?o:this.camera.pose.offset,h=this.camera.position.clone(),d=yn(s,this.camera.pose.longitude,2*Math.PI)||yn(a,this.camera.pose.latitude),p=yn(u,this.camera.pose.fov),A=yn(c,this.camera.pose.distance),f=vn(l,this.camera.pose.offset);this.camera.setFromPose({longitude:s,latitude:a,fov:u,distance:c,offset:l});var M=vn(h,this.camera.position);p&&this.emit("cameraFovUpdate",u,this.userAction),d&&this.emit("cameraDirectionUpdate",{longitude:s,latitude:a},this.userAction),M&&this.emit("cameraPositionUpdate",this.camera.position.clone(),this.userAction),(p||d||f||A)&&this.emit("cameraUpdate",{longitude:s,latitude:a,fov:u,offset:l},this.userAction),this.needsRender=!0,(_t||0!==Rt.length)&&(_t&&clearTimeout(_t),_t=window.setTimeout(Yt,200))},i.prototype.onPanGesture=function(e){},i.prototype.onTapGesture=function(e){},i.prototype.onPinchGesture=function(e){},i.prototype.onMouseWheel=function(e){},i.prototype.onMouseMove=function(e){},i.prototype.onMouseOut=function(){},i.prototype.relativeClientPosition=function(e){return bn(e,this.element,this.scissor)},i.prototype.bindEvents=function(e){var t=this,i=function(e){var i=bn(e,t.element,t.scissor);return!(Math.abs(i.x)>1||Math.abs(i.y)>1)},n=new zn.Manager(e),r=function(e){return e.session.firstInput||null};n.add(new zn.Pan({threshold:10,pointers:0})),n.add(new zn.Tap({interval:410})),n.add(new zn.Pinch({threshold:0,pointers:2}).recognizeWith(n.get("pan"))),n.on("panstart pan",(function(e){var o=r(n);o&&!i(o.center)||t.onPanGesture(e)})),n.on("tap",(function(e){var o=r(n);o&&!i(o.center)||t.onTapGesture(e)})),n.on("pinchstart pinch pinchend",(function(e){var o=r(n);o&&!i(o.center)||t.onPinchGesture(e)}));var o=function(e){var n={x:e.clientX,y:e.clientY};i(n)&&t.onMouseWheel(e)},s=function(e){if(!((n="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"node").match(/android/i)||n.match(/webos/i)||n.match(/ipad|iphone|ipod/i)||n.match(/iemobile/i)||n.match(/opera mini/i)||n.match(/blackberry/i)||n.match(/windows phone/i))){var n,r={x:e.clientX,y:e.clientY};i(r)?t.onMouseMove(e):t.onMouseOut()}},a=function(){t.onMouseOut()};In(e,o),zn.on(e,"mousemove",s),zn.on(e,"mouseout",a);return Object.assign((function(){n.destroy(),function(e,t){var i=document.mozFullScreen?"DOMMouseScroll":"mousewheel",n=!!window.addEventListener,r=!!window.attachEvent;t.__mouseWheelWrapper&&(n?e.removeEventListener(i,t.__mouseWheelWrapper,!1):r&&e.detachEvent("on"+i,t.__mouseWheelWrapper),delete t.__mouseWheelWrapper)}(e,o),zn.off(e,"mousemove",s),zn.off(e,"mouseout",a)}),{element:e})},i}(vt),Vn=function(e){function i(t){var n,r,o,s,a=this,u=i.parseArgs(t);return(a=e.call(this,u)||this).defaultLongitude=u.defaultLongitude,a.defaultLatitude=u.defaultLatitude,a.defaultFov=u.defaultFov,a.maxFov=u.maxFov,a.minFov=u.minFov,a.maxLatitude=u.maxLatitude,a.minLatitude=u.minLatitude,a.locationMotion=new Yn({x:a.camera.pose.offset.x,y:a.camera.pose.offset.y,z:a.camera.pose.offset.z,distance:a.camera.pose.distance,modelAlpha:null!==(r=null===(n=a.model.getMaterial())||void 0===n?void 0:n.modelAlpha)&&void 0!==r?r:0,perspToOrtho:null!==(s=null===(o=a.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==s?s:0}),a}return t.__extends(i,e),i.parseArgs=function(i){var n,r,o,s,a,u,c,l=e.parseArgs.call(this,i);return t.__assign(t.__assign({},l),{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!==(s=i.maxFov)&&void 0!==s?s:120,minFov:null!==(a=i.minFov)&&void 0!==a?a:40,maxLatitude:null!==(u=i.maxLatitude)&&void 0!==u?u:+Math.PI/2,minLatitude:null!==(c=i.minLatitude)&&void 0!==c?c:-Math.PI/2})},i.initAnimationEndPose=function(e){var t,i,n,o=this.parseArgs(e),s=e.initial[1];return{longitude:null!==(t=s.longitude)&&void 0!==t?t:o.defaultLongitude,latitude:xn(null!==(i=s.latitude)&&void 0!==i?i:o.defaultLatitude,o.minLatitude,o.maxLatitude),fov:null!==(n=s.fov)&&void 0!==n?n:o.defaultFov,offset:e.model.bounding.getCenter(new r.Vector3)}},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.locationMotion.dispose()},i.prototype.isReady=function(){return!1!==this.locationMotion.ended&&e.prototype.isReady.call(this)},i.prototype.updateWork=function(e,t,i,n,r){return this.work=e,!0},i.prototype.updateModel=function(t){e.prototype.updateModel.call(this,t);var i=t.bounding.getCenter(new r.Vector3),n=this.cameraDistance(t);this.locationMotion.set({x:i.x,y:i.y,z:i.z,distance:n},0).catch(Qe)},i.prototype.updateTime=function(e,t){if(!this.destroyed){var i={},n={};this.locationMotion.ended||(this.locationMotion.update(e),i.modelAlpha=this.locationMotion.value.modelAlpha,i.perspToOrtho=xn(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(e),n.longitude=this.cameraMotion.value.longitude,n.latitude=this.cameraMotion.value.latitude,n.fov=this.cameraMotion.value.fov),En(i)||this.model.setMaterial(i),En(n)||this.setCamera(n)}},i.prototype.getTargetPose=function(){var e=this.cameraMotion.getKeyFrameSegment(He())[1],t=this.locationMotion.getKeyFrameSegment(He())[1];return{longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:new r.Vector3(t.value.x,t.value.y,t.value.z)}},i.prototype.initAnimation=function(e,t,i,n){var o,s,a,u=this;if(!this.destroyed){this.pending=!1,this.userAction=n;var c=this.model.bounding.getCenter(new r.Vector3),l={longitude:null!==(o=t.longitude)&&void 0!==o?o:this.defaultLongitude,latitude:xn(null!==(s=t.latitude)&&void 0!==s?s:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:xn(null!==(a=t.fov)&&void 0!==a?a:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3)},h=this.cameraDistance(this.model),d=Xt(l,["longitude","latitude","fov"]),p={x:c.x,y:c.y,z:c.z,distance:h,modelAlpha:1,perspToOrtho:0};this.emit("initAnimationWillStart",e,l,this.userAction),this.cameraMotion.set(d,i).catch(Qe),this.locationMotion.set(p,i).then((function(){u.emit("initAnimationEnded",e,l,u.userAction)}),(function(t){var i=jn(u.camera.pose);u.emit("initAnimationEnded",e,i,u.userAction)}))}},i.prototype.cameraDistance=function(e){var t=e.bounding,i=this.camera.aspect,n=Math.pow(Math.pow(t.max.x-t.min.x+2,2)+Math.pow(t.max.y-t.min.y+2,2)+Math.pow(t.max.z-t.min.z+2,2),.5),r=n/2/Math.tan(Math.PI*this.defaultFov/360);return i<1&&(r/=i),isNaN(r)?n:r},i.prototype.getForwardPanoIndexOrNot=function(e){var t=this.work.observers.filter((function(e){return e.active})),i=this.model.intersectRaycaster(e)[0];if(!i)return null;var n=Tn(t,(function(e){return e.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesChangeWithOffset=function(e,t){var i=this.element,n=this.camera,r=i.offsetWidth,o=i.offsetHeight,s=2*t.x/r*n.fov/30,a=2*t.y/o*n.fov/30;return{longitude:en(e.longitude+s),latitude:xn(e.latitude+a,-Math.PI/2,Math.PI/2)}},i.prototype.requestInteriaMovement=function(e){var t=this;if(!1!==this.interiaMovement){var i=this.coordinatesChangeWithOffset({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude},e),n=i.longitude,r=i.latitude,o={longitude:n,latitude:r,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset};this.cameraMotion.set({longitude:n,latitude:r},0).catch(Qe);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",o,!s),s?We.shared.add((function(){t.requestInteriaMovement({x:.8*e.x,y:.8*e.y})}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(e){var t=this,i=this.lastPanPoint,n=e.pointers.length;if(e.isFinal?delete this.lastPanPoint:this.lastPanPoint={pointerLength:n,x:e.center.x,y:e.center.y},void 0!==i&&i.pointerLength===n){var r=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pan",r,e.isFinal)){var o={x:e.center.x-i.x,y:e.center.y-i.y},s=this.relativeClientPosition(e.center),a=this.camera.pose.latitude<Math.PI/6||s.y<0?-1:1;o.x*=a;var u=this.coordinatesChangeWithOffset({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude},o),c={longitude:u.longitude,latitude:u.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset};if(!this.emit("wantsPanGesture",c,e.isFinal))if(this.emit("gesture","pan",r,e.isFinal),this.emit("panGesture",c,e.isFinal),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({longitude:c.longitude,latitude:c.latitude,fov:c.fov},0).catch(Qe),e.isFinal)this.emit("wantsInteriaPan",c)||(this.interiaMovement=!0,We.shared.getFrameTime((function(i){var n=e.velocityX*i*a,r=e.velocityY*i,o=Math.sqrt(n*n+r*r);o>100&&(n=n/o*100,r=r/o*100),t.requestInteriaMovement({x:n,y:r})})))}}},i.prototype.onPinchGesture=function(e){var t=this.lastPinchFov,i=!1;if("pinchstart"===e.type)return this.lastPinchFov=this.cameraMotion.value.fov,void delete this.lastPanPoint;if("pinchend"===e.type&&(i=!0,delete this.lastPanPoint,delete this.lastPinchFov),void 0!==t){var n=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pinch",n,i)){var r=xn(t/e.scale,this.minFov,this.maxFov);this.emit("wantsPinchGesture",e.scale,r,i)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","pinch",n,i),this.emit("pinchGesture",e.scale,r,i),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:r},0).catch(Qe))}}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=this.minFov,o=this.maxFov,s=xn(this.camera.fov-i,r,o);this.emit("wantsMouseWheel",i,s,!1)||this.emit("wantsChangeCameraFov",s)||(this.emit("gesture","mouseWheel",n,!1),this.emit("mouseWheel",i,s,!1),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:s},0).catch(Qe),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){delete t.onMouseWheelFinalInterval;t.emit("wantsGesture","mouseWheel",n,!0)||t.emit("wantsMouseWheel",i,s,!0)||(t.emit("gesture","mouseWheel",n,!0),t.emit("mouseWheel",0,s,!0))}),200))}},i.prototype.onTapGesture=function(e){var t=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","tap",t,!0)){var i=this.relativeClientPosition(e.center),n=new r.Raycaster;if(n.setFromCamera(i,this.camera),!this.emit("wantsTapGesture",n,i)){this.emit("gesture","tap",t,!0),this.emit("tapGesture",n,i),this.interiaMovement=!1;var o=this.getForwardPanoIndexOrNot(n);if(!Re(o)){this.emit("panoSelected",o);var s={longitude:this.camera.pose.longitude,latitude:0};this.emit("wantsMoveToPano",o,s,!0)}}}},i}(Fn);var Hn=function(e){function i(t){var n=i.parseArgs(t);return e.call(this,n)||this}return t.__extends(i,e),i.parseArgs=function(i){var n=[i.initial[0],t.__assign(t.__assign({},i.initial[1]),{longitude:0,latitude:Math.PI/2}),i.initial[2],i.initial[3]],r=t.__assign(t.__assign({},i),{initial:n,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return e.parseArgs.call(this,r)},i.initAnimationEndPose=function(t){var i=this.parseArgs(t);return e.initAnimationEndPose.call(this,i)},i.prototype.updateModel=function(e){this.model=e,this.needsRender=!0;var t=e.bounding.getCenter(new r.Vector3);this.locationMotion.set({x:t.x,y:t.y,z:t.z,distance:this.cameraDistance(e)},0).catch(Qe)},i.prototype.initAnimation=function(e,t,i,n){var o,s=this;if(!this.destroyed){this.pending=!1,this.userAction=n;var a=this.model.bounding.getCenter(new r.Vector3),u={longitude:0,latitude:Math.PI/2,fov:xn(null!==(o=t.fov)&&void 0!==o?o:this.defaultFov,this.minFov,this.maxFov),offset:this.model.bounding.getCenter(new r.Vector3)},c=this.cameraDistance(this.model),l=Xt(u,["longitude","latitude","fov"]),h={x:a.x,y:a.y,z:a.z,distance:c,modelAlpha:1,perspToOrtho:1};this.cameraMotion.set(l,i).catch(Qe),this.locationMotion.set(h,i).then((function(){s.emit("initAnimationEnded",e,u,s.userAction)}),(function(t){var i=jn(s.camera.pose);s.emit("initAnimationEnded",e,i,s.userAction)}))}},i.prototype.getZoomOffsetFromFov=function(e,t,i){var n=new r.Vector3(0,-1,0),o=Math.tan(i/2*Math.PI/180),s=Math.tan(t.fov/2*Math.PI/180),a=(s-o)/s,u=new r.Raycaster;u.setFromCamera(e,t);var c=u.ray.direction,l=c.angleTo(n),h=this.cameraDistance(this.model),d=h*Math.tan(l),p=c.clone().setLength(h*Math.cos(l)).projectOnPlane(n),A=p.length(),f=a/A*p.x*d,M=a/A*p.z*d;return new r.Vector3(f,0,M)},i.prototype.requestInteriaMovement=function(e){},i.prototype.onPanGesture=function(e){var t=this.renderer.getSize(new r.Vector2),i=this.lastPanPoint,n=e.pointers.length;if(e.isFinal?delete this.lastPanPoint:this.lastPanPoint={pointerLength:n,x:e.center.x,y:e.center.y},void 0!==i&&i.pointerLength===n){var o=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pan",o,e.isFinal)){var s=e.center.x-i.x,a=e.center.y-i.y,u=new r.Vector3(this.locationMotion.value.x,this.locationMotion.value.y,this.locationMotion.value.z),c=this.camera.position.y*Math.tan(this.camera.fov/2*Math.PI/180);u.add(function(e,t){var i=new r.Vector3;return i.setFromMatrixColumn(t,0),i.multiplyScalar(-e),i}(2*s*c/t.y,this.camera.matrix)),u.add(function(e,t,i){var n=new r.Vector3;return n.setFromMatrixColumn(i,0),n.crossVectors(t,n),n.multiplyScalar(e),n}(2*a*c/t.y,this.camera.up,this.camera.matrix));var l=this.model.bounding,h=l.getCenter(new r.Vector3),d=(l.max.x-l.min.x)/this.defaultFov*this.cameraMotion.value.fov,p=(l.max.y,l.min.y,this.defaultFov,this.cameraMotion.value.fov,(l.max.z-l.min.z)/this.defaultFov*this.cameraMotion.value.fov);u.x=xn(u.x,h.x-d,h.x+d),u.z=xn(u.z,h.z-p,h.z+p),u.y=h.y;var A={longitude:0,latitude:Math.PI/2,fov:this.cameraMotion.value.fov,offset:u};this.emit("wantsPanGesture",A,e.isFinal)||(this.emit("gesture","pan",o,e.isFinal),this.emit("panGesture",A,e.isFinal),this.userAction=!0,this.locationMotion.set({x:u.x,y:u.y,z:u.z},0).catch(Qe))}}},i.prototype.onPinchGesture=function(e){var t=this.lastPinchFov,i=!1;if("pinchstart"===e.type)return this.lastPinchFov=this.cameraMotion.value.fov,void delete this.lastPanPoint;if("pinchend"===e.type&&(i=!0,delete this.lastPanPoint,delete this.lastPinchFov),void 0!==t){var n=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pinch",n,i)){var r=xn(t/e.scale,this.minFov,this.maxFov),o=this.relativeClientPosition({x:e.center.x,y:e.center.y}),s=this.getZoomOffsetFromFov(o,this.camera,r),a=this.camera.pose.offset.clone().add(s);this.emit("wantsPinchGesture",e.scale,r,i)||this.emit("wantsChangeCameraFov",r)||(this.emit("gesture","pinch",n,i),this.emit("pinchGesture",e.scale,r,i),this.userAction=!0,this.locationMotion.set({x:a.x,y:a.y,z:a.z},0).catch(Qe),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:r},0).catch(Qe))}}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=xn(this.cameraMotion.value.fov-i,this.minFov,this.maxFov),o=this.relativeClientPosition({x:e.clientX,y:e.clientY}),s=this.getZoomOffsetFromFov(o,this.camera,r),a=this.camera.pose.offset.clone().add(s);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:a.x,y:a.y,z:a.z},0).catch(Qe),this.cameraMotion.set({longitude:0,latitude:Math.PI/2,fov:r},0).catch(Qe),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){delete t.onMouseWheelFinalInterval;t.emit("wantsGesture","mouseWheel",n,!0)||t.emit("wantsMouseWheel",i,r,!0)||t.emit("wantsChangeCameraFov",r)||(t.emit("gesture","mouseWheel",n,!0),t.emit("mouseWheel",0,r,!0))}),200))}},i}(Vn);function Gn(e,t){void 0===t&&(t=!1);var i=typeof e;if("string"===i)return JSON.stringify(e);if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(e instanceof Array){for(var n="[",r=e.length-1,o=0;o<r;o++)n+=Gn(e[o],!1)+",";return r>-1&&(n+=Gn(e[o],!1)),n+"]"}if(e instanceof Object){if("function"==typeof e.toJSON)return Gn(e.toJSON(),t);var s=Object.keys(e).sort(),a=s.length;for(n="",o=0;o<a;){var u=s[o],c=Gn(e[u],!0);void 0!==c&&(o&&""!==n&&(n+=","),n+=JSON.stringify(u)+":"+c),o++}return"{"+n+"}"}switch(i){case"function":case"undefined":return t?void 0:null;case"number":return e;default:return isFinite(e)?e:null}}function Wn(e){return Ie(String(Gn(e,!1)))}var qn=function(e){function i(){var t=e.call(this)||this,i=new r.RingBufferGeometry(.04,.08,32),n=new r.MeshBasicMaterial({color:1245179,opacity:.8,side:r.DoubleSide,transparent:!0});return t.ringMesh=new r.Mesh(i,n),t.ringMesh.renderOrder=100,t.add(t.ringMesh),t}return t.__extends(i,e),i.prototype.dispose=function(){this.remove(this.ringMesh),this.ringMesh.geometry.dispose(),Array.isArray(this.ringMesh.material)?this.ringMesh.material.forEach((function(e){return e.dispose()})):this.ringMesh.material.dispose()},i}(r.Object3D);function Kn(){return new qn}var Zn=function(e){function i(t){var n=this,r=i.parseArgs(t);return(n=e.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 t.__extends(i,e),i.parseArgs=function(i){var n,r,o,s,a,u,c,l,h,d=e.parseArgs.call(this,i);return t.__assign(t.__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!==(s=i.maxFov)&&void 0!==s?s:120,minFov:null!==(a=i.minFov)&&void 0!==a?a:40,maxLatitude:null!==(u=i.maxLatitude)&&void 0!==u?u:+Math.PI/2,minLatitude:null!==(c=i.minLatitude)&&void 0!==c?c:-Math.PI/2,moveSpeed:null!==(l=i.moveSpeed)&&void 0!==l?l:3.2,intersectMeshCreator:null!==(h=i.intersectMeshCreator)&&void 0!==h?h:Kn})},i.initAnimationEndPose=function(e){var t,i,n,r=this.parseArgs(e),o=e.initial,s=o[0],a=o[1];return{longitude:null!==(t=a.longitude)&&void 0!==t?t:r.defaultLongitude,latitude:xn(null!==(i=a.latitude)&&void 0!==i?i:r.defaultLatitude,r.minLatitude,r.maxLatitude),fov:xn(null!==(n=a.fov)&&void 0!==n?n:r.defaultFov,r.minFov,r.maxFov),offset:r.work.observers[s].position.clone()}},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.interiaMovement=!1,this.intersectMesh&&(this.helper.remove(this.intersectMesh),this.intersectMesh.dispose())},i.prototype.isReady=function(){return!this.interiaMovement&&(!this.panState&&(!this.pinchState&&(!this.mouseWheelState&&e.prototype.isReady.call(this))))},i.prototype.calculateMovingDuration=function(e,t){switch(typeof e){case"function":return e(t,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return Math.floor(Math.max(Math.min(t/this.moveSpeed*1e3,1500),500))}},i.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.emit("intersectionHidden"),this.needsRender=!0},i.prototype.coordinatesForOffset=function(e){var t=this.cameraMotion.value.fov,i=this.camera.aspect,n=this.renderer.getSize(new r.Vector2);return{longitude:2*e.x/n.x*t/95*i,latitude:-2*e.y/n.y*t/95}},i.prototype.cameraBounce=function(){var e=this.cameraMotion.value,t=e.longitude,i=e.latitude,n=e.fov,r=[{progress:0,value:{longitude:t,latitude:i,fov:n}},{progress:.5,value:{longitude:t,latitude:i,fov:.98*n}},{progress:1,value:{longitude:t,latitude:i,fov:n}}];this.cameraMotion.setKeyFrames(r,500).catch(Qe)},i.prototype.requestInteriaMovement=function(e){var t=this;if(!1!==this.interiaMovement){var i=this.coordinatesForOffset(e),n=en(this.cameraMotion.value.longitude+i.longitude),r=xn(this.cameraMotion.value.latitude+i.latitude,this.minLatitude,this.maxLatitude),o={longitude:n,latitude:r,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone()};this.cameraMotion.set({longitude:n,latitude:r},0).catch(Qe);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",o,!s),s?We.shared.add((function(){var i={x:.9*e.x,y:.9*e.y*.7};t.requestInteriaMovement(i)}),!0,1):this.interiaMovement=!1}},i.prototype.onPanGesture=function(e){var t=this,i=this.panState,n=e.pointers.length;if(e.isFinal?delete this.panState:this.panState={pointerLength:n,x:e.center.x,y:e.center.y},void 0!==i&&i.pointerLength===n){var r=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pan",r,e.isFinal)){var o={x:e.center.x-i.x,y:e.center.y-i.y},s=this.coordinatesForOffset(o),a=en(this.cameraMotion.value.longitude+s.longitude),u=xn(this.cameraMotion.value.latitude+s.latitude,this.minLatitude,this.maxLatitude);Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(u=this.cameraMotion.value.latitude);var c={longitude:a,latitude:u,fov:this.cameraMotion.value.fov,offset:this.camera.pose.offset.clone()};if(!this.emit("wantsPanGesture",c,e.isFinal)){this.emit("gesture","pan",r,e.isFinal),this.emit("panGesture",c,e.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(Qe),e.isFinal)this.emit("wantsInteriaPan",c)||We.shared.getFrameTime((function(i){t.interiaMovement=!0;var n=e.velocityX*i,r=e.velocityY*i,o=Math.sqrt(n*n+r*r);o>100&&(n=n/o*100,r=r/o*100),Math.abs(r/n)<Math.tan(20/180*Math.PI)&&(r=0),t.requestInteriaMovement({x:n,y:r})}))}}}},i.prototype.onPinchGesture=function(e){var t,i=null===(t=this.pinchState)||void 0===t?void 0:t.fov,n=e.scale,r=!1;if("pinchstart"===e.type)return this.pinchState={fov:this.cameraMotion.value.fov},void delete this.panState;if("pinchend"===e.type&&(r=!0,delete this.panState,delete this.pinchState),void 0!==i){var o=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","pinch",o,r)){var s=xn(i/n,this.minFov,this.maxFov);this.emit("wantsPinchGesture",n,s,r)||this.emit("wantsChangeCameraFov",s)||(this.emit("gesture","pinch",o,r),this.emit("pinchGesture",n,s,r),this.userAction=!0,this.interiaMovement=!1,this.cameraMotion.set({fov:s},0).catch(Qe))}}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",n,!1)){var r=xn(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(Qe),this.mouseWheelState&&clearTimeout(this.mouseWheelState.timer),this.mouseWheelState={timer:window.setTimeout((function(){delete t.mouseWheelState;t.emit("wantsGesture","mouseWheel",n,!0)||t.emit("wantsMouseWheel",i,r,!0)||t.emit("wantsChangeCameraFov",r)||(t.emit("gesture","mouseWheel",n,!0),t.emit("mouseWheel",0,r,!0))}),200)})}},i.prototype.onMouseMove=function(e){if(this.intersectMesh.parent&&!this.model.empty&&this.model.bvhs&&!0===this.model.bvhs.loaded&&!this.panState){var t=this.relativeClientPosition({x:e.clientX,y:e.clientY}),i=new r.Raycaster;if(i.setFromCamera(t,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,s=o.clone().multiplyScalar(.05),a=n.point.clone().add(s);this.intersectMesh.position.copy(a);var u=a.clone().add(s);if(this.intersectMesh.lookAt(u),Math.abs(o.y)>.99){var c=this.camera.position.clone().sub(a);this.intersectMesh.rotation.z=-Math.atan2(c.z,c.x)}this.intersectMesh.visible=!0,this.needsRender=!0,this.emit("intersectionOnModelUpdate",n,this.intersectMesh)}else this.hideIntersectMesh();this.mouseMoveState={clientX:e.clientX,clientY:e.clientY}}}},i.prototype.onMouseOut=function(){this.intersectMesh.parent&&!0===this.intersectMesh.visible&&this.hideIntersectMesh()},i}(Fn),Xn=$e(),Jn=new r.Texture(Xn);Xn.onload=function(){return Jn.needsUpdate=!0},Xn.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC";var $n=new r.RingBufferGeometry(.06,.07,32).rotateX(-Math.PI/2),er=new r.MeshBasicMaterial({map:Jn,transparent:!0});function tr(){if("undefined"==typeof document){var e=new r.Texture;return Object.assign(e,{draw:function(e){},retain:!1,pool:!1})}var t=document.createElement("canvas"),i=512,n=256,o=190;t.setAttribute("width",String(i)),t.setAttribute("height",String(i));var s=new r.Texture(t),a=t.getContext("2d");if(!a)throw Error("cannot create canvas context");var u=a.createRadialGradient(n,n,150,n,n,0);function c(){var e=Math.PI/12,t=2*Math.PI/3;a&&(a.beginPath(),a.arc(n,n,o,0*t,1*t-e),a.stroke(),a.beginPath(),a.arc(n,n,o,1*t,2*t-e),a.stroke(),a.beginPath(),a.arc(n,n,o,2*t,3*t-e),a.stroke())}function l(e){a&&(a.clearRect(0,0,i,i),a.lineWidth=20,-1!==e&&(a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, 1)",c(),a.globalCompositeOperation="source-in",a.beginPath(),a.arc(n,n,o,0,2*Math.PI*e),a.strokeStyle="rgba(255, 255, 255, 1)",a.stroke(),a.globalCompositeOperation="source-over",a.strokeStyle="rgba(255, 255, 255, "+(e?.5:1)+")",c()),a.beginPath(),a.arc(n,n,150,0,2*Math.PI),a.closePath(),a.fillStyle=u,a.fill(),a.fillStyle="rgba(255, 255, 255, 0.01)",a.fillRect(0,0,i,i),s.needsUpdate=!0)}return u.addColorStop(0,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 1)"),u.addColorStop(.15,"rgba(255, 255, 255, 0.5)"),u.addColorStop(.4,"rgba(255, 255, 255, 0.0)"),u.addColorStop(1,"rgba(255, 255, 255, 0.0)"),l(0),Object.assign(s,{draw:l,retain:!1,pool:!1})}var ir=[];var nr=tr();nr.draw(0);var rr=tr();rr.draw(1);var or=tr();or.draw(-1);var sr=new r.CircleBufferGeometry(.12,32).rotateX(-Math.PI/2);function ar(){return new r.Mesh(sr,new r.MeshBasicMaterial({map:nr,transparent:!0}))}var ur=function(e){function i(){var t=e.call(this)||this;return t.loading=!1,t.disabled=!1,t.current=!1,t.progress=0,t.opacity=1,t.centerMesh=ar(),t.centerMesh.position.y+=.01,t.add(t.centerMesh),t.loadingMesh=new r.Mesh($n,er),t.loadingMesh.position.y+=.011,t.needsRender=!0,t}return t.__extends(i,e),i.prototype.setLoading=function(e){var t=this;this.loading=e,this.stopInterval&&this.stopInterval(),e?(this.add(this.loadingMesh),this.stopInterval=We.shared.add((function(){t.loadingMesh.rotateOnAxis(new r.Vector3(0,1,0),.1),t.needsRender=!0}))):this.remove(this.loadingMesh),this.needsRender=!0},i.prototype.setDisabled=function(e){function t(t){var i=t.map;!0===i.pool&&(i.retain=!1),t.map=e?or:nr}this.disabled=e,Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){t(e)})):t(this.centerMesh.material),this.needsRender=!0},i.prototype.setProgress=function(e){function t(e,t){var i=e.map;0===t||1===t?(!0===i.pool&&(i.retain=!1),0===t&&(e.map=nr),1===t&&(e.map=rr)):(!0!==i.pool&&(e.map=function(){for(var e=0,t=ir;e<t.length;e++){var i=t[e];if(!1===i.retain)return i}var n=tr();return n.pool=!0,n.retain=!0,ir.push(n),n}()),e.map.draw(t))}this.setLoading(!1),this.setDisabled(!1),this.progress=e=xn(e,0,1),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(i){t(i,e)})):t(this.centerMesh.material,e),this.needsRender=!0},i.prototype.setOpacity=function(e){this.opacity=e=xn(e,0,1),this.current&&(e=1),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(t){t.opacity=e})):this.centerMesh.material.opacity=e,this.needsRender=!0},i.prototype.setCurrent=function(e){this.current=e,this.setOpacity(this.opacity)},i.prototype.dispose=function(){this.setLoading(!1),this.remove(this.centerMesh),this.remove(this.loadingMesh),this.centerMesh.geometry.dispose(),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){e.dispose()})):this.centerMesh.material.dispose(),this.loadingMesh.geometry.dispose(),Array.isArray(this.loadingMesh.material)?this.loadingMesh.material.forEach((function(e){e.dispose()})):this.loadingMesh.material.dispose()},i}(r.Object3D);function cr(){return new ur}var lr;var hr,dr=function(e){function i(t,i){return void 0===i&&(i=.5),e.call(this,t,{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 t.__extends(i,e),i}(Cn),pr=function(e){function i(t,i){void 0===i&&(i=.002);var n=e.call(this,t,{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 t.__extends(i,e),Object.defineProperty(i.prototype,"targetBuffer",{get:function(){return this.material.uniforms.targetBuffer.value},set:function(e){this.material.uniforms.targetBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"step",{get:function(){return this.material.uniforms.step.value},set:function(e){this.material.uniforms.step.value=e},enumerable:!1,configurable:!0}),i}(Cn),Ar=function(e){function i(t){var i=e.call(this,t,{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 = 0.8;\n float whitePoint = 8.0;\n float exposure = 1.5;\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 t.__extends(i,e),Object.defineProperty(i.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),i}(Cn),fr=function(e){function i(t){var i=e.call(this,t)||this;return i.enableTime=He(),i.renderer=t,i.valuePass=new Pn(i.renderer),i.luminancePass=new dr(i.renderer,.75),i.nextStepPass=new pr(i.renderer,.002),i.luminanceAdaptivePass=new Ar(i.renderer),i}return t.__extends(i,e),i.prototype.render=function(e){if(!this.enable)return this.enableTime=null,void this.copyPass.render(e);null===this.enableTime&&(this.enableTime=He()),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(e,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((He()-this.enableTime)/3e3,1),this.luminanceAdaptivePass.render(e)},i.prototype.dispose=function(){var e,t,i;null===(e=this.luminanceTargetBuffer)||void 0===e||e.dispose(),null===(t=this.luminancePrevBuffer)||void 0===t||t.dispose(),null===(i=this.luminanceNextBuffer)||void 0===i||i.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},i}(_n),Mr=["up","down","left","right","front","back"],gr=null!==(hr=Math.SQRT1_2)&&void 0!==hr?hr:Math.sqrt(2),yr={up:new r.Quaternion(gr,0,0,gr),down:new r.Quaternion(-gr,0,0,gr),left:new r.Quaternion(0,gr,0,gr),right:new r.Quaternion(0,-gr,0,gr),front:new r.Quaternion(0,0,0,1),back:new r.Quaternion(0,1,0,0)},mr=(new r.Quaternion).setFromAxisAngle(new r.Vector3(0,1,0),Math.PI),vr=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Nr=new Float32Array([0,0,1,0,0,1,1,1]),Dr=new Uint8Array([0,1,2,1,3,2]),wr=new r.BufferGeometry;wr.setAttribute("position",new r.BufferAttribute(vr,3)),wr.setAttribute("uv",new r.BufferAttribute(Nr,2)),wr.setIndex(new r.BufferAttribute(Dr,1));var Tr=function(e){function i(){var t=e.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 t.depthTest=!1,t.depthWrite=!1,t.blending=r.NoBlending,t.map=t.uniforms.map.value,t.luminanceMap=t.uniforms.luminanceMap.value,Object.defineProperties(t,{map:{get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(e){this.uniforms.luminanceMap.value=e,this.defines.USE_LUMINANCE=null!==e}}}),t}return t.__extends(i,e),i}(r.ShaderMaterial),xr=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.level=0,t.sideCount=0,t.col=0,t.row=0,t.index=0,t.type="up",t}return t.__extends(i,e),i}(r.Box3),Er=function(e){function i(t,i){var n=this,o=new Tr;return o.visible=!1,(n=e.call(this,wr,o)||this).position.copy(t.getCenter(new r.Vector3)),n.quaternion.copy(yr[t.type]),n.scale.setScalar(1/Math.pow(2,t.level)),n.level=t.level,n.activeTime=-1,n.disposed=!1,n.needsRender=!1,n.frustumCulled=!1,i.then((function(e){var t=e[0],i=e[1];n.disposed?(t.dispose(),null==i||i.dispose()):(n.material.map=t,n.material.luminanceMap=i,n.material.needsUpdate=!0,n.material.visible=!0,n.needsRender=!0)})).catch(Qe),n}return t.__extends(i,e),i.getBox=function(e,t,i){var n=new xr,r=Math.pow(2,e),o=1/r,s=i%r,a=Math.floor(i/r);switch(n.level=e,n.index=i,n.sideCount=r,n.row=a,n.col=s,n.type=t,t){case"up":n.min.y=.5,n.max.y=.5,n.min.x=+s*o-.5,n.max.x=+s*o-.5+o,n.min.z=-a*o+.5-o,n.max.z=-a*o+.5;break;case"down":n.min.y=-.5,n.max.y=-.5,n.min.x=+s*o-.5,n.max.x=+s*o-.5+o,n.min.z=+a*o-.5,n.max.z=+a*o-.5+o;break;case"left":n.min.x=-.5,n.max.x=-.5,n.min.z=-s*o+.5-o,n.max.z=-s*o+.5,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5;break;case"right":n.min.x=.5,n.max.x=.5,n.min.z=+s*o-.5,n.max.z=+s*o-.5+o,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5;break;case"front":n.min.z=-.5,n.max.z=-.5,n.min.x=+s*o-.5,n.max.x=+s*o-.5+o,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5;break;case"back":n.min.z=.5,n.max.z=.5,n.min.x=-s*o+.5-o,n.max.x=-s*o+.5,n.min.y=-a*o+.5-o,n.max.y=-a*o+.5}return n},i.prototype.dispose=function(){var e;this.material.map&&this.material.map.image instanceof ImageBitmap&&(this.material.map.dispose(),null===(e=this.material.luminanceMap)||void 0===e||e.dispose()),this.material.dispose()},i}(r.Mesh),jr=function(e){function i(){var t=e.call(this)||this;return t.needsRender=!1,t.name="tiling",t}return t.__extends(i,e),i}(r.Group),zr=function(){function e(e,t){this.disposed=!1,this.textureLoader=new xi(e),this.level=0,this.panoIndex=0,this.tiles=[],this.resource=[],this.luminance=null,this.imageOptions=t,this.object=new jr}return e.prototype.setAllowHosts=function(e){this.textureLoader.setAllowHosts(e)},e.prototype.setNetworkSubscribe=function(e){this.textureLoader.setNetworkSubscribe(e)},e.prototype.cleanup=function(){for(var e=0;e<this.tiles.length;e++)if(this.tiles[e]){var t=this.tiles[e],i="level-group:"+e,n=this.object.getObjectByName(i);for(var r in t){var o=t[r];o.dispose(),n.remove(o),delete t[r]}}},e.prototype.setRotation=function(e){this.object.quaternion.multiplyQuaternions(e,mr),this.object.needsRender=!0},e.prototype.setResource=function(e){if(!this.disposed&&this.resource!==e){this.cleanup(),this.resource=e;for(var t=0;t<e.length;t++){var i=e[t].level;this.tiles[i]={};var n="level-group:"+i,o=this.object.getObjectByName(n);o||((o=new r.Group).name=n,o.renderOrder=-1),this.object.add(o)}this.object.needsRender=!0}},e.prototype.setLuminance=function(e){this.luminance=e},e.prototype.getTileResource=function(e){for(var t,i=null!==(t=this.imageOptions.size)&&void 0!==t?t:2048,n=this.resource.length-1;n>=0;n--)if(this.resource[n].level<=e&&512*Math.pow(2,this.resource[n].level)>i)return this.resource[n];return null},e.prototype.update=function(e,i,n){var o=this;if(!this.disposed){this.object.position.copy(e.position),this.level=i;var s=(new r.PerspectiveCamera).copy(e);s.position.set(0,0,0),s.quaternion.premultiply(this.object.quaternion.clone().inverse()),s.updateMatrixWorld(!0),s.updateProjectionMatrix();var a=s.getWorldDirection(new r.Vector3),u=(new r.Frustum).setFromProjectionMatrix((new r.Matrix4).multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse)),c=this.getTileResource(i);if(c){for(var l=[],h=c.level,d=Math.pow(2,h),p=d*d,A=this.object.getObjectByName("level-group:"+h),f=0,M=Mr;f<M.length;f++)for(var g=M[f],y=0;y<p;y++){var m=Er.getBox(h,g,y);u.intersectsBox(m)&&l.push(m)}l.sort((function(e,t){return e.getCenter(new r.Vector3).angleTo(a)-t.getCenter(new r.Vector3).angleTo(a)}));for(var v=[],N=0,D=l;N<D.length;N++){var w=(m=D[N]).sideCount,T=m.row,x=m.col,E=(g=m.type,"tile-level:"+h+"-face:"+g+"-row:"+T+"-col:"+x);if(!this.tiles[h][E]){var j=c[g],z=c.size/w,I=[z*x,z*T,z,z],b=t.__assign({key:"pano_tile."+this.panoIndex+"."+g+"."+h+"."+T+"."+x,basisLoaderInitialized:wi.isInitialized(),cut:I},Xt(this.imageOptions,["format"]));512!==z&&(b.size=512);var O=this.imageOptions.transform?this.imageOptions.transform(j,b):ti(j,b),S=this.textureLoader.load(O,{magFilter:r.LinearFilter,minFilter:r.NearestFilter}).then((function(e){return e.body})),L=null;if(this.luminance){var k=this.luminance[g],C=t.__assign(t.__assign({},b),{size:256,key:"pano_tile_luminance."+this.panoIndex+"."+g+"."+h+"."+T+"."+x}),P=this.imageOptions.transform?this.imageOptions.transform(k,C):ti(k,C);L=this.textureLoader.load(P,{format:r.LuminanceFormat}).then((function(e){return e.body})).catch((function(){return null}))}(U=this.tiles[h][E]=new Er(m,Promise.all([S,L]))).name=E,U.renderOrder=h,A.add(U)}this.tiles[h][E].activeTime=n,v.push(E)}for(var B=0,_=Object.keys(this.tiles[h]).sort((function(e,t){return o.tiles[h][t].activeTime-o.tiles[h][e].activeTime})).slice(Math.max(24,v.length));B<_.length;B++){E=_[B];var U=this.tiles[h][E];A.remove(U),U.dispose(),delete this.tiles[h][E]}}for(var R=0;R<this.tiles.length;R++)if(this.tiles[R]){var Q=!!c&&R<=c.level;for(var E in this.tiles[R])this.tiles[R][E].visible=Q}this.object.needsRender=!0}},e.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},e}(),Ir=(new r.Matrix4).makeRotationAxis(new r.Vector3(0,1,0),Math.PI),br=new r.Vector3(-1,1,1),Or=function(e){function i(t){var n,r,o,s,a,u,c,l=this,h=i.parseArgs(t);(l=e.call(this,h)||this).currentPanoIndex=h.initial[0],l.maxAccessibleDistance=h.maxAccessibleDistance,l.panoTapTriggerRadius=h.panoTapTriggerRadius,l.panoCircleMeshCreator=h.panoCircleMeshCreator,l.tileLevelForFov=h.tileLevelForFov;var d=l.model.getMaterial()||{},p=d.pano0,A=d.pano1;p&&(null==A?void 0:A.map)!==p.map&&(l.model.setMaterial({pano0:A}),p.map.dispose(),null===(n=p.luminanceMap)||void 0===n||n.dispose()),l.boundingMesh=l.generateBoundingMesh(),l.boundingMesh.setMaterial(l.model.getMaterial()||{}),l.boundingMesh.visible=!1,l.scene.add(l.boundingMesh),l.panoMeshes=[],l.updatePanoMeshes(),l.locationMotion=new Yn({count:0,distance:l.camera.pose.distance,modelAlpha:null!==(o=null===(r=l.model.getMaterial())||void 0===r?void 0:r.modelAlpha)&&void 0!==o?o:0,perspToOrtho:null!==(a=null===(s=l.model.getMaterial())||void 0===s?void 0:s.perspToOrtho)&&void 0!==a?a:0}),l.panoResources={},l.panoResources[l.locationMotion.keyframes[0].key=l.locationMotion.keyframes[1].key=Fe()]={panoIndex:l.currentPanoIndex,workCode:l.work.workCode,panoPicture:null!==(c=null===(u=l.model.getMaterial())||void 0===u?void 0:u.pano1)&&void 0!==c?c:null,position:l.camera.pose.offset.clone(),effect:"fly"};var f={allowHosts:l.work.allowHosts,networkSubscribe:l.networkSubscribe};return l.textureLoader=new xi(f),l.tiling=new zr(f,l.imageOptions),l.scene.add(l.tiling.object),l}return t.__extends(i,e),i.parseArgs=function(i){var n,o,s,a,u=e.parseArgs.call(this,i);return t.__assign(t.__assign({},u),{maxAccessibleDistance:null!==(n=i.maxAccessibleDistance)&&void 0!==n?n:5,panoTapTriggerRadius:null!==(o=i.panoTapTriggerRadius)&&void 0!==o?o:1,panoCircleMeshCreator:null!==(s=i.panoCircleMeshCreator)&&void 0!==s?s:cr,tileLevelForFov:null!==(a=i.tileLevelForFov)&&void 0!==a?a:function(e){var t,i=u.renderer.getSize(new r.Vector2),n=2*Math.atan(Math.tan(e/180*Math.PI/2)*u.camera.aspect)/Math.PI*180,o=Math.max(i.width/n,i.height/e),s=null!==(t=u.imageOptions.size)&&void 0!==t?t:2048;return s<8192&&o>24?4:s<4096&&o>16?3:s<2048&&o>12?2:s<1024&&o>10?1:0}})},i.initAnimationEndPose=function(t){var i=this.parseArgs(t);return e.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var t,i,n=this;e.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(e){n.helper.remove(e),e.dispose()})),this.panoMeshes.length=0),this.interiaMovement=!1;var r=this.videoTexture.image;r.pause(),r.oncanplay=function(){},r.ontimeupdate=function(){};var o={panoVideo:null};this.model.setMaterial(o),this.boundingMesh.setMaterial(o);for(var s=null!==(t=this.model.getMaterial())&&void 0!==t?t:{},a=s.pano0,u=s.pano1,c=0,l=Object.keys(this.panoResources);c<l.length;c++){var h=l[c],d=this.panoResources[h];if(d.panoPicture){var p=d.panoPicture.map;p&&p!==(null==a?void 0:a.map)&&p!==(null==u?void 0:u.map)&&(p.dispose(),null===(i=d.panoPicture.luminanceMap)||void 0===i||i.dispose(),d.panoPicture=null)}delete this.panoResources[h]}},i.prototype.isReady=function(){return!0===this.locationMotion.ended&&e.prototype.isReady.call(this)},i.prototype.updateWork=function(e,t,i,n,r){this.userAction=r,this.work=e,this.currentPanoIndex=t,this.textureLoader.setAllowHosts(this.work.allowHosts),this.tiling.setAllowHosts(this.work.allowHosts);var o={},s=!0;this.boundingMesh&&(o=this.boundingMesh.getMaterial()||{},s=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.visible=s,this.boundingMesh.setMaterial(o),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.updatePanoMeshes(!1);for(var a=0,u=this.panoMeshes;a<u.length;a++){u[a].visible=!1}return this.moveToPano(t,{effect:"fade",duration:n,longitude:i.longitude,latitude:i.latitude,fov:i.fov},r),!0},i.prototype.updateModel=function(e){var t=this;this.model=e;var i={};this.boundingMesh&&(i=this.boundingMesh.getMaterial()||{},this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(),this.boundingMesh.visible=!0,this.boundingMesh.name="bounding",this.boundingMesh.setMaterial(i),this.scene.add(this.boundingMesh),this.needsRender=!0,Ft((function(){t.updatePanoMeshes(),t.needsRender=!0}))},i.prototype.updateTime=function(e,t){var i,n,o,s,a,u,c;if(!this.destroyed){var l={},h={};if(!1===this.locationMotion.ended){this.locationMotion.update(e);var d=this.locationMotion.getKeyFrameSegment(e),p=d[0],A=d[1],f=this.panoResourceFromLocationMotionKeyframe(p),M=this.panoResourceFromLocationMotionKeyframe(A),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),m=(new r.Vector3).copy(f.position),v=(new r.Vector3).copy(M.position),N=this.locationMotion.value.count-A.value.count+1;l.modelAlpha=this.locationMotion.value.modelAlpha,l.perspToOrtho=xn(1-10*(1-this.locationMotion.value.perspToOrtho),0,1),l.useBlackTransition="instant"===M.effect,M.panoPicture&&(N<1?f.panoPicture&&(l.pano0=f.panoPicture):l.pano0=M.panoPicture,l.pano1=M.panoPicture),"fade"===M.effect&&(l.pano0&&f.panoPicture&&(l.pano0={map:l.pano0.map,luminanceMap:l.pano0.luminanceMap,matrix:f.panoPicture.matrix.clone().setPosition(M.position)}),m.copy(v)),l.progress=N,h.distance=this.locationMotion.value.distance,h.offset=new r.Vector3(m.x+(v.x-m.x)*N,m.y+(v.y-m.y)*N,m.z+(v.z-m.z)*N);for(var D=[],w=[],T=0,x=this.locationMotion.keyframes;T<x.length;T++){var E=x[T],j=E.key,z=E.progress;void 0!==j&&(D.push(j),z>=this.locationMotion.progress&&w.push(j))}for(var I=0,b=Object.keys(this.panoResources);I<b.length;I++){var O=b[I];if(!(w.indexOf(O)>=0)){var S=this.panoResources[O];if(S.panoPicture){var L=S.panoPicture.map;if(L){if(L===(null===(i=l.pano0)||void 0===i?void 0:i.map))continue;if(L===(null===(n=l.pano1)||void 0===n?void 0:n.map))continue;L.dispose(),null===(o=S.panoPicture.luminanceMap)||void 0===o||o.dispose(),S.panoPicture=null}}D.indexOf(O)>=0||delete this.panoResources[O]}}f.workCode===M.workCode?this.currentPanoIndex=N<.5?f.panoIndex:M.panoIndex:this.currentPanoIndex=M.panoIndex,this.emit("movingToPano",y.panoIndex,g.panoIndex,this.locationMotion.progress),this.tiling.object.visible=!1}else this.tiling.object.visible=!1!==this.tileLevelForFov;if(!1===this.cameraMotion.ended&&(this.cameraMotion.update(e),h.longitude=this.cameraMotion.value.longitude,h.latitude=this.cameraMotion.value.latitude,h.fov=this.cameraMotion.value.fov),!1===En(l)&&(this.model.setMaterial(l),this.boundingMesh.setMaterial(l)),!1===En(h)&&this.setCamera(h),this.boundingMesh.visible=Boolean(null===(s=this.boundingMesh.getMaterial())||void 0===s?void 0:s.pano0)&&this.boundingMesh.boundingBox.containsPoint(this.camera.position),this.tileLevelForFov&&this.locationMotion.ended&&!1===this.pending&&this.tiling.object.visible&&this.work.observers[this.currentPanoIndex]){var k=this.work.observers[this.currentPanoIndex];this.enableIOSEDR&&this.tiling.setLuminance(null!==(a=k.images.luminance)&&void 0!==a?a:null),this.tiling.panoIndex=this.currentPanoIndex,this.tiling.setResource(null!==(c=null===(u=k.images)||void 0===u?void 0:u.tiles)&&void 0!==c?c:[]),this.tiling.setRotation(k.quaternion),this.tiling.update(this.camera,this.tileLevelForFov(this.camera.fov),e)}}},i.prototype.render=function(t){var i=this.work.observers[this.currentPanoIndex];i&&i.video&&(this.needsRender=!0),e.prototype.render.call(this,t)},i.prototype.postProcessing=function(e,t){if(!this.destroyed)return this.effect||(this.effect=new fr(this.renderer)),this.effect.render(e,t)},i.prototype.getTargetPose=function(){var e=this.cameraMotion.getKeyFrameSegment(He())[1],t=this.locationMotion.getKeyFrameSegment(He())[1],i=this.panoResourceFromLocationMotionKeyframe(t),n=this.work.observers[i.panoIndex];return{longitude:e.value.longitude,latitude:e.value.latitude,fov:e.value.fov,offset:n?n.position.clone():this.camera.position.clone()}},i.prototype.moveToPano=function(e,i,n){var o,s,a,u=this,c=this.work.observers[e],l=t.__assign({key:"pano."+e,basisLoaderInitialized:wi.isInitialized()},Xt(this.imageOptions,["format","size","quality"])),h=null!==(o=this.imageOptions.transform)&&void 0!==o?o:ti,d={right:h(c.images.right,t.__assign(t.__assign({},l),{key:l.key+".right"})),left:h(c.images.left,t.__assign(t.__assign({},l),{key:l.key+".left"})),up:h(c.images.up,t.__assign(t.__assign({},l),{key:l.key+".up"})),down:h(c.images.down,t.__assign(t.__assign({},l),{key:l.key+".down"})),front:h(c.images.front,t.__assign(t.__assign({},l),{key:l.key+".front"})),back:h(c.images.back,t.__assign(t.__assign({},l),{key:l.key+".back"}))},p={key:"pano_luminance."+e,basisLoaderInitialized:wi.isInitialized(),size:l.size?l.size/2:1024},A=this.enableIOSEDR&&c.images.luminance?{right:h(c.images.luminance.right,t.__assign(t.__assign({},p),{key:p.key+".right"})),left:h(c.images.luminance.left,t.__assign(t.__assign({},p),{key:p.key+".left"})),up:h(c.images.luminance.up,t.__assign(t.__assign({},p),{key:p.key+".up"})),down:h(c.images.luminance.down,t.__assign(t.__assign({},p),{key:p.key+".down"})),front:h(c.images.luminance.front,t.__assign(t.__assign({},p),{key:p.key+".front"})),back:h(c.images.luminance.back,t.__assign(t.__assign({},p),{key:p.key+".back"}))}:null,f="pano:"+Wn(d);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===f)return;var M=this.pendingTextureTask.panoIndex;null===(s=this.panoMeshes[M])||void 0===s||s.setProgress(0),this.emit("textureAbort",M,c),this.pendingTextureTask.onError(new Error("texture aborted"))}var g,y=this.model.getMaterial()||{},m=y.pano0,v=y.pano1;if((null==m?void 0:m.map.name)===f?g=m:(null==v?void 0:v.map.name)===f&&(g=v),g){var N={panoIndex:e,workCode:this.work.workCode,effect:null!==(a=i.effect)&&void 0!==a?a:"fly",panoPicture:{map:g.map,luminanceMap:g.luminanceMap,matrix:(new r.Matrix4).compose(c.position,c.quaternion,br)},position:c.position.clone()};this.doMoveToPano(e,N,i,n)}else this.pending=!0,this.pendingTextureTask={panoIndex:e,hash:f,onLoad:function(t,o){var s,a;if(u.pending=!1,u.destroyed)t.body.dispose();else{t.body.name=f,u.emit("panoLoaded",e);var l={panoIndex:e,workCode:u.work.workCode,effect:null!==(s=i.effect)&&void 0!==s?s:"fly",panoPicture:{map:t.body,luminanceMap:null!==(a=null==o?void 0:o.body)&&void 0!==a?a:null,matrix:(new r.Matrix4).compose(c.position,c.quaternion,br)},position:c.position.clone()};u.doMoveToPano(e,l,i,n)}},onError:function(t){u.pending=!1,i.moveCancelCallback&&i.moveCancelCallback(),u.emit("panoLoadError",t,e),u.emit("moveToPanoCanceled",e)}},Promise.all([this.textureLoader.loadCube(d,{format:r.RGBFormat},void 0,void 0,(function(t){var i,n;(null===(i=u.pendingTextureTask)||void 0===i?void 0:i.hash)===f&&(null===(n=u.panoMeshes[e])||void 0===n||n.setProgress(t)),u.emit("textureLoading",t,e,c)}),this.renderer),A?this.textureLoader.loadCube(A,{format:r.LuminanceFormat}).catch((function(){return null})):Promise.resolve(null)]).then((function(t){var i,n,r=t[0],o=t[1];(null===(i=u.pendingTextureTask)||void 0===i?void 0:i.hash)===f?(u.pendingTextureTask.onLoad(r,o),null===(n=u.panoMeshes[e])||void 0===n||n.setProgress(0),delete u.pendingTextureTask,u.emit("textureLoaded",e,c,r.meta)):(r.body.dispose(),null==o||o.body.dispose())})).catch((function(t){var i,n;(null===(i=u.pendingTextureTask)||void 0===i?void 0:i.hash)===f&&(u.pendingTextureTask.onError(t),null===(n=u.panoMeshes[e])||void 0===n||n.setProgress(0),delete u.pendingTextureTask,u.emit("textureError",t,e,c),u.emit("error",t))})),this.emit("textureStartLoad",e,c)},i.prototype.setCamera=function(t){void 0===t&&(t={}),e.prototype.setCamera.call(this,t);var i=this.work.observers[this.currentPanoIndex];if(i)for(var n=i.visibleNodes.concat(this.currentPanoIndex),r=this.getForwardPanoIndexOrNot(),o=0;o<this.work.observers.length;o++){var s=this.work.observers[o],a=this.panoMeshes[o];if(a.visible=!0,a.setCurrent(r===o),a)if(s.loadable||s.active)if(-1===n.indexOf(o))a.visible=!1;else{a.visible=!0;var u=a.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);u<.01?a.setOpacity(0):a.setOpacity(xn(1.5/u,0,1))}else a.visible=!0}},i.prototype.initAnimation=function(e,t,i,n){var r,o,s,a=this;if(!this.destroyed){var u=!1;this.pending=!1,this.userAction=n,this.moveToPano(e,{longitude:null!==(r=t.longitude)&&void 0!==r?r:this.defaultLongitude,latitude:xn(null!==(o=t.latitude)&&void 0!==o?o:this.defaultLatitude,this.minLatitude,this.maxLatitude),fov:xn(null!==(s=t.fov)&&void 0!==s?s:this.defaultFov,this.minFov,this.maxFov),duration:i,moveStartCallback:function(e,t){u=!0,a.emit("initAnimationWillStart",e,t,a.userAction)},moveEndCallback:function(e,t){a.emit("initAnimationEnded",e,t,a.userAction)},moveCancelCallback:function(){var e={longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone()};!1===u&&a.emit("initAnimationWillStart",a.currentPanoIndex,e,a.userAction),a.emit("initAnimationEnded",a.currentPanoIndex,e,a.userAction)}},n)}},i.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},i.prototype.locationMotionKeyframesLength=function(e){for(var t=0,i=1;i<e.length;i++){var n=this.panoResourceFromLocationMotionKeyframe(e[i-1]).position,r=this.panoResourceFromLocationMotionKeyframe(e[i]).position;t+=n.distanceTo(r)*(e[i].value.count-e[i-1].value.count)}return t},i.prototype.updatePanoMeshes=function(e){void 0===e&&(e=!0);for(var t=[],i=0,n=this.panoMeshes;i<n.length;i++){(a=n[i]).loading&&t.push(a.name),this.helper.remove(a),a.dispose()}this.panoMeshes.length=0;for(var o=new r.Vector3(0,-1,0),s=0;s<this.work.observers.length;s++){var a,u=this.work.observers[s];if((a=this.panoCircleMeshCreator()).name="panoCircle_"+this.work.workCode+"_"+s,a.position.copy(u.standingPosition),a.needsRender=!0,this.helper.add(a),e&&this.model.loaded&&this.model.bvhs.loaded){var c=a.position.clone().add(new r.Vector3(0,1,0)),l=new r.Raycaster(c,o,0,1),h=this.model.intersectRaycaster(l)[0];h&&h.point.distanceTo(a.position)>.1&&(a.position.copy(h.point.clone()),a.needsRender=!0)}!1===u.active&&(a.setDisabled(!0),t.indexOf(a.name)>=0&&(a.setDisabled(!1),a.setLoading(!0))),this.panoMeshes[s]=a}},i.prototype.generateBoundingMesh=function(e){void 0===e&&(e=!1);for(var t=this.model.bounding.clone(),i=0,n=this.work.observers;i<n.length;i++){var o=n[i];t.expandByPoint(o.standingPosition),t.expandByPoint((new r.Vector3).fromArray([o.position.x,2*o.position.y-o.standingPosition.y,o.position.z]))}e&&t.expandByPoint(this.camera.position);var s=at(t,new r.Vector3(1,0,1));return s.name="panorama_bounding",s},i.prototype.doMoveToPano=function(e,i,n,o){var s,a,u,c=this;void 0===n&&(n={}),this.userAction=o;var l=He(),h=Fe();this.panoResources[h]=i;var d,p,A;if(this.locationMotion.ended){var f=this.locationMotion.getKeyFrameSegment(l);f[0];var M=f[1],g=this.locationMotion.value,y=this.panoResourceFromLocationMotionKeyframe(M).position,m=i.position;d=Math.max(y.distanceTo(m),1),p=[{key:M.key,progress:0,value:t.__assign(t.__assign({},g),{count:0})},{key:h,progress:1,value:{distance:0,perspToOrtho:0,modelAlpha:0,count:1}}],A=0}else{var v=this.locationMotion.getKeyFrameSegment(l),N=v[0],D=(M=v[1],g=this.locationMotion.value,this.panoResourceFromLocationMotionKeyframe(N).position),w=(y=this.panoResourceFromLocationMotionKeyframe(M).position,m=i.position,M.value.count-g.count),T=Math.max(D.distanceTo(y),1)*w;d=T+Math.max(y.distanceTo(m),1),p=[{key:N.key,progress:0,value:t.__assign({},g)},{key:M.key,progress:T/d,value:M.value},{key:h,progress:1,value:{count:M.value.count+1,distance:0,perspToOrtho:0,modelAlpha:0}}];var x=this.locationMotionKeyframesLength(this.locationMotion.keyframes),E=this.locationMotionKeyframesLength(p);A=this.locationMotion.getProgressVelocity(l)*x/E}var j=this.calculateMovingDuration(n.duration,d),z={longitude:n.longitude,latitude:n.latitude,fov:n.fov},I={longitude:null!==(s=z.longitude)&&void 0!==s?s:this.camera.pose.longitude,latitude:null!==(a=z.latitude)&&void 0!==a?a:this.camera.pose.latitude,fov:null!==(u=z.fov)&&void 0!==u?u:this.camera.pose.fov,offset:i.position.clone()};n.moveStartCallback&&n.moveStartCallback(e,I),this.emit("panoWillArrive",e,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=Qe,this.videoTexture.needsUpdate=!0),this.model.setMaterial({panoVideo:null}),this.boundingMesh.setMaterial({panoVideo:null}),this.cameraMotion.set(z,j).catch(Qe),this.locationMotion.setKeyFrames(p,j,A).then((function(){var t,i,s,a={longitude:c.camera.pose.longitude,latitude:c.camera.pose.latitude,fov:c.camera.pose.fov,offset:c.camera.pose.offset.clone()};n.moveEndCallback&&n.moveEndCallback(e,a),c.emit("panoArrived",e,a,o);var u=c.work.observers[c.currentPanoIndex];if(u&&u.video&&c.videoTexture&&c.videoTexture.image instanceof HTMLVideoElement){var l=Ir.clone().multiply(null!==(s=null===(i=null===(t=c.model.getMaterial())||void 0===t?void 0:t.pano1)||void 0===i?void 0:i.matrix)&&void 0!==s?s:new r.Matrix4).multiply(u.video.matrix),h={map:c.videoTexture,size:u.video.size,matrix:l,alpha:1},d=Fe(),p=c.videoTexture.image;p.setAttribute("uuid",d),(lr||(lr=new Promise((function(e){var t,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(t);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?e(!0):e(!1)):e(!1)}),!1),i.addEventListener("canplay",(function e(){i.removeEventListener("canplay",e,!1),i.play()}),!1),t=window.setTimeout((function(){return e(!1)}),1e3)})))).then((function(e){e&&u.video&&p.getAttribute("uuid")===d&&(p.oncanplay=function(){p.oncanplay=Qe,p.play()},p.ontimeupdate=function(){p.currentTime>.5&&(p.ontimeupdate=Qe,c.model.setMaterial({panoVideo:h}),c.boundingMesh.setMaterial({panoVideo:h}))},p.src=u.video.source)})).catch((function(){p.removeAttribute("uuid")}))}}),(function(){n.moveCancelCallback&&n.moveCancelCallback(),c.emit("moveToPanoCanceled",e)}))},i.prototype.getForwardPanoIndexOrNot=function(e){var t=this,i=this.camera.getWorldDirection(new r.Vector3),n=this.camera.position.clone(),o=this.work.observers[this.currentPanoIndex];if(!o)return null;var s=o.accessibleNodes.filter((function(e){if(e===t.currentPanoIndex)return!1;var i=t.work.observers[e],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))})),a=(e?e.ray.direction.clone():i.clone()).setY(0);if(0===a.length())return null;for(var u=s.slice().sort((function(e,i){var r=t.work.observers[e].position.clone().setY(n.y),o=t.work.observers[i].position.clone().setY(n.y);return r.distanceTo(n)-o.distanceTo(n)})),c=0,l=[Math.PI/8,Math.PI/6,Math.PI/4,Math.PI/3];c<l.length;c++)for(var h=l[c],d=0,p=u;d<p.length;d++){var A=p[d],f=this.work.observers[A].position.clone().setY(n.y).sub(n);if(0!==f.length()&&a.angleTo(f)<h)return A}return null},i.prototype.onTapGesture=function(e){var i=this,n=e.pointers.map((function(e){return Xt(e,["x","y"])}));if(!this.emit("wantsGesture","tap",n,!0)){var o=this.relativeClientPosition(e.center),s=new r.Raycaster;if(s.setFromCamera(o,this.camera),!this.emit("wantsTapGesture",s,o)){this.emit("gesture","tap",n,!0),this.emit("tapGesture",s,o),this.interiaMovement=!1;var a=this.camera.getWorldDirection(new r.Vector3).setY(0),u=null,c=this.work.observers[this.currentPanoIndex];if(c){var l=c.accessibleNodes.filter((function(e){if(e===i.currentPanoIndex)return!1;var t=i.work.observers[e];return!(t.position.distanceTo(i.camera.position)>i.maxAccessibleDistance)&&(t.loadable||t.active)})),h=this.model.intersectRaycaster(s)[0];if(h){var d=Tn(l,(function(e){var t=i.work.observers[e].standingPosition.clone();return t.clone().sub(i.camera.position).setY(0).angleTo(a)>Math.PI/2?1/0:t.distanceTo(h.point)}),!0),p=d[0];d[1]<this.panoTapTriggerRadius&&(u=p)}Re(u)&&(u=this.getForwardPanoIndexOrNot(s));for(var A=0,f=this.locationMotion.keyframes;A<f.length;A++){var M=f[A],g=this.panoResourceFromLocationMotionKeyframe(M);if(!(M.progress<this.locationMotion.progress)&&g.panoIndex===u){u=null;break}}if(this.emit("panoSelected",u),Re(u))!0===this.locationMotion.ended&&this.cameraBounce();else{var y=this.work.observers[u];if(y.active){for(var m={},v=Math.PI/6,N=Math.PI/12,D=new r.Vector3(0,1,0),w=y.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),T=w.clone().applyAxisAngle(D,v),x=w.clone().applyAxisAngle(D,-v),E=[],j=[],z=[],I=0,b=y.accessibleNodes;I<b.length;I++){if((p=b[I])!==this.currentPanoIndex&&p!==u){var O=this.work.observers[p].position.clone().sub(y.position).setY(0);w.angleTo(O)<v?z.push(O):T.angleTo(O)<v?E.push(O):x.angleTo(O)<v&&j.push(O)}}var S=(z.length>0?z:t.__spreadArray(t.__spreadArray([],E,!0),j,!0)).slice().sort((function(e,t){return e.angleTo(w)-t.angleTo(w)}))[0];S&&S.angleTo(a)>N&&(m.longitude=Math.atan2(-S.x,-S.z)),this.cameraMotion.value.latitude<-Math.PI/4&&(m.latitude=xn(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(m.fov=this.defaultFov),this.emit("wantsMoveToPano",u,m,!0)}else this.panoMeshes[u]&&(this.panoMeshes[u].setDisabled(!1),this.panoMeshes[u].setLoading(!0))}}}}},i}(Zn),Sr=function(e,t){var i=void 0!==e?e:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e,t){return e(t={exports:{}},t.exports),t.exports}var o=function(){return/Android/i.test(t.userAgent)||/iPhone|iPad|iPod/i.test(t.userAgent)},s=function(e,t){for(var i=0,n=e.length;i<n;i++)t[i]=e[i]},a=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},u=n(r((function(n,r){
|
|
373
373
|
/**
|
|
374
374
|
* @license
|
|
375
375
|
* cardboard-vr-display
|
package/gltf-loader/index.js
CHANGED
package/line/index.js
CHANGED
package/package.json
CHANGED
package/react/index.js
CHANGED
package/server/index.js
CHANGED