fengmap.plugin.location.min.js
58.1 KB
/**Released Version v3.1.5,BUILD 69,Time 1706862863078. Fengmap Javascript SDK , see: https://www.fengmap.com for details**/
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.fengmap=i():t.fengmap=i()}(this,function(){return n=[function(L,t,i){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function e(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,function(t){t=function(t,i){if("object"!=r(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===i?String:Number)(t);n=n.call(t,i||"default");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"==r(t)?t:String(t)}(e.key),e)}}i.r(t);for(var l=function(){function r(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=this,e=r;if(!(n instanceof e))throw new TypeError("Cannot call a class as a function");Object.defineProperty(this,"isVector2",{value:!0}),this.x=t,this.y=i}var t,i,n;return t=r,(i=[{key:"width",get:function(){return this.x},set:function(t){this.x=t}},{key:"height",get:function(){return this.y},set:function(t){this.y=t}},{key:"set",value:function(t,i){return this.x=t,this.y=i,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setComponent",value:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;default:throw new Error("index is out of range: "+t)}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this}},{key:"add",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this}},{key:"addVectors",value:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this}},{key:"addScaledVector",value:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this}},{key:"sub",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this}},{key:"subVectors",value:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this}},{key:"multiply",value:function(t){return this.x*=t.x,this.y*=t.y,this}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"applyMatrix3",value:function(t){var i=this.x,n=this.y,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6],this.y=t[1]*i+t[4]*n+t[7],this}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}},{key:"clamp",value:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this}},{key:"clampScalar",value:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this}},{key:"clampLength",value:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y}},{key:"cross",value:function(t){return this.x*t.y-this.y*t.x}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"angle",value:function(){return Math.atan2(-this.y,-this.x)+Math.PI}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var i=this.x-t.x,t=this.y-t.y;return i*i+t*t}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this}},{key:"lerpVectors",value:function(t,i,n){return this.x=t.x+(i.x-t.x)*n,this.y=t.y+(i.y-t.y)*n,this}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[i],this.y=t[i+1],this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.x,t[i+1]=this.y,t}},{key:"fromBufferAttribute",value:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this}},{key:"rotateAround",value:function(t,i){var n=Math.cos(i),i=Math.sin(i),e=this.x-t.x,r=this.y-t.y;return this.x=e*n-r*i+t.x,this.y=e*i+r*n+t.y,this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this}}])&&e(t.prototype,i),n&&e(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),s=[],n=0;n<256;n++)s[n]=(n<16?"0":"")+n.toString(16);var h=1234567,u={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,e=4294967295*Math.random()|0;return(s[255&t]+s[t>>8&255]+s[t>>16&255]+s[t>>24&255]+"-"+s[255&i]+s[i>>8&255]+"-"+s[i>>16&15|64]+s[i>>24&255]+"-"+s[63&n|128]+s[n>>8&255]+"-"+s[n>>16&255]+s[n>>24&255]+s[255&e]+s[e>>8&255]+s[e>>16&255]+s[e>>24&255]).toUpperCase()},clamp:function(t,i,n){return Math.max(i,Math.min(n,t))},euclideanModulo:function(t,i){return(t%i+i)%i},mapLinear:function(t,i,n,e,r){return e+(t-i)*(r-e)/(n-i)},lerp:function(t,i,n){return(1-n)*t+n*i},smoothstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*(3-2*t)},smootherstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*t*(t*(6*t-15)+10)},randInt:function(t,i){return t+Math.floor(Math.random()*(i-t+1))},randFloat:function(t,i){return t+Math.random()*(i-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return((h=16807*(h=void 0!==t?t%2147483647:h)%2147483647)-1)/2147483646},degToRad:function(t){return t*u.DEG2RAD},radToDeg:function(t){return t*u.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,i,n,e,r){var s=Math.cos,h=Math.sin,u=s(n/2),a=h(n/2),o=s((i+e)/2),c=h((i+e)/2),l=s((i-e)/2),f=h((i-e)/2),v=s((e-i)/2),y=h((e-i)/2);switch(r){case"XYX":t.set(u*c,a*l,a*f,u*o);break;case"YZY":t.set(a*f,u*c,a*l,u*o);break;case"ZXZ":t.set(a*l,a*f,u*c,u*o);break;case"XZX":t.set(u*c,a*y,a*v,u*o);break;case"YXY":t.set(a*v,u*c,a*y,u*o);break;case"ZYZ":t.set(a*y,a*v,u*c,u*o);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}};function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,function(t){t=function(t,i){if("object"!=a(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===i?String:Number)(t);n=n.call(t,i||"default");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"==a(t)?t:String(t)}(e.key),e)}}i=function(){function h(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,e=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1,r=this,s=h;if(!(r instanceof s))throw new TypeError("Cannot call a class as a function");Object.defineProperty(this,"isQuaternion",{value:!0}),this.h=t,this.u=i,this.v=n,this.M=e}var t,i,n;return t=h,n=[{key:"slerp",value:function(t,i,n,e){return n.copy(t).slerp(i,e)}},{key:"slerpFlat",value:function(t,i,n,e,r,s,h){var u,a,o,c=n[e+0],l=n[e+1],f=n[e+2],n=n[e+3],e=r[s+0],v=r[s+1],y=r[s+2],r=r[s+3];n===r&&c===e&&l===v&&f===y||(s=1-h,u=0<=(a=c*e+l*v+f*y+n*r)?1:-1,(o=1-a*a)>Number.EPSILON&&(o=Math.sqrt(o),a=Math.atan2(o,a*u),s=Math.sin(s*a)/o,h=Math.sin(h*a)/o),c=c*s+e*(a=h*u),l=l*s+v*a,f=f*s+y*a,n=n*s+r*a,s===1-h&&(c*=o=1/Math.sqrt(c*c+l*l+f*f+n*n),l*=o,f*=o,n*=o)),t[i]=c,t[i+1]=l,t[i+2]=f,t[i+3]=n}},{key:"multiplyQuaternionsFlat",value:function(t,i,n,e,r,s){var h=n[e],u=n[e+1],a=n[e+2],n=n[e+3],e=r[s],o=r[s+1],c=r[s+2],r=r[s+3];return t[i]=h*r+n*e+u*c-a*o,t[i+1]=u*r+n*o+a*e-h*c,t[i+2]=a*r+n*c+h*o-u*e,t[i+3]=n*r-h*e-u*o-a*c,t}}],(i=[{key:"x",get:function(){return this.h},set:function(t){this.h=t,this.k()}},{key:"y",get:function(){return this.u},set:function(t){this.u=t,this.k()}},{key:"z",get:function(){return this.v},set:function(t){this.v=t,this.k()}},{key:"w",get:function(){return this.M},set:function(t){this.M=t,this.k()}},{key:"set",value:function(t,i,n,e){return this.h=t,this.u=i,this.v=n,this.M=e,this.k(),this}},{key:"clone",value:function(){return new this.constructor(this.h,this.u,this.v,this.M)}},{key:"copy",value:function(t){return this.h=t.x,this.u=t.y,this.v=t.z,this.M=t.w,this.k(),this}},{key:"setFromEuler",value:function(t,i){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t.h,e=t.u,r=t.v,s=t._order,t=Math.cos,h=Math.sin,u=t(n/2),a=t(e/2),o=t(r/2),c=h(n/2),l=h(e/2),f=h(r/2);switch(s){case"XYZ":this.h=c*a*o+u*l*f,this.u=u*l*o-c*a*f,this.v=u*a*f+c*l*o,this.M=u*a*o-c*l*f;break;case"YXZ":this.h=c*a*o+u*l*f,this.u=u*l*o-c*a*f,this.v=u*a*f-c*l*o,this.M=u*a*o+c*l*f;break;case"ZXY":this.h=c*a*o-u*l*f,this.u=u*l*o+c*a*f,this.v=u*a*f+c*l*o,this.M=u*a*o-c*l*f;break;case"ZYX":this.h=c*a*o-u*l*f,this.u=u*l*o+c*a*f,this.v=u*a*f-c*l*o,this.M=u*a*o+c*l*f;break;case"YZX":this.h=c*a*o+u*l*f,this.u=u*l*o+c*a*f,this.v=u*a*f-c*l*o,this.M=u*a*o-c*l*f;break;case"XZY":this.h=c*a*o-u*l*f,this.u=u*l*o-c*a*f,this.v=u*a*f+c*l*o,this.M=u*a*o+c*l*f;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return!1!==i&&this.k(),this}},{key:"setFromAxisAngle",value:function(t,i){var i=i/2,n=Math.sin(i);return this.h=t.x*n,this.u=t.y*n,this.v=t.z*n,this.M=Math.cos(i),this.k(),this}},{key:"setFromRotationMatrix",value:function(t){var t=t.elements,i=t[0],n=t[4],e=t[8],r=t[1],s=t[5],h=t[9],u=t[2],a=t[6],t=t[10],o=i+s+t;return 0<o?(o=.5/Math.sqrt(o+1),this.M=.25/o,this.h=(a-h)*o,this.u=(e-u)*o,this.v=(r-n)*o):s<i&&t<i?(o=2*Math.sqrt(1+i-s-t),this.M=(a-h)/o,this.h=.25*o,this.u=(n+r)/o,this.v=(e+u)/o):t<s?(o=2*Math.sqrt(1+s-i-t),this.M=(e-u)/o,this.h=(n+r)/o,this.u=.25*o,this.v=(h+a)/o):(o=2*Math.sqrt(1+t-i-s),this.M=(r-n)/o,this.h=(e+u)/o,this.u=(h+a)/o,this.v=.25*o),this.k(),this}},{key:"setFromUnitVectors",value:function(t,i){var n=t.dot(i)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this.h=-t.y,this.u=t.x,this.v=0):(this.h=0,this.u=-t.z,this.v=t.y)):(this.h=t.y*i.z-t.z*i.y,this.u=t.z*i.x-t.x*i.z,this.v=t.x*i.y-t.y*i.x),this.M=n,this.normalize()}},{key:"angleTo",value:function(t){return 2*Math.acos(Math.abs(u.clamp(this.dot(t),-1,1)))}},{key:"rotateTowards",value:function(t,i){var n=this.angleTo(t);return 0!==n&&(i=Math.min(1,i/n),this.slerp(t,i)),this}},{key:"identity",value:function(){return this.set(0,0,0,1)}},{key:"invert",value:function(){return this.conjugate()}},{key:"conjugate",value:function(){return this.h*=-1,this.u*=-1,this.v*=-1,this.k(),this}},{key:"dot",value:function(t){return this.h*t.h+this.u*t.u+this.v*t.v+this.M*t.M}},{key:"lengthSq",value:function(){return this.h*this.h+this.u*this.u+this.v*this.v+this.M*this.M}},{key:"length",value:function(){return Math.sqrt(this.h*this.h+this.u*this.u+this.v*this.v+this.M*this.M)}},{key:"normalize",value:function(){var t=this.length();return 0===t?(this.h=0,this.u=0,this.v=0,this.M=1):(this.h=this.h*(t=1/t),this.u=this.u*t,this.v=this.v*t,this.M=this.M*t),this.k(),this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,i)):this.multiplyQuaternions(this,t)}},{key:"premultiply",value:function(t){return this.multiplyQuaternions(t,this)}},{key:"multiplyQuaternions",value:function(t,i){var n=t.h,e=t.u,r=t.v,t=t.M,s=i.h,h=i.u,u=i.v,i=i.M;return this.h=n*i+t*s+e*u-r*h,this.u=e*i+t*h+r*s-n*u,this.v=r*i+t*u+n*h-e*s,this.M=t*i-n*s-e*h-r*u,this.k(),this}},{key:"slerp",value:function(t,i){if(0!==i){if(1===i)return this.copy(t);var n,e=this.h,r=this.u,s=this.v,h=this.M,u=h*t.M+e*t.h+r*t.u+s*t.v;u<0?(this.M=-t.M,this.h=-t.h,this.u=-t.u,this.v=-t.v,u=-u):this.copy(t),1<=u?(this.M=h,this.h=e,this.u=r,this.v=s):((t=1-u*u)<=Number.EPSILON?(this.M=(n=1-i)*h+i*this.M,this.h=n*e+i*this.h,this.u=n*r+i*this.u,this.v=n*s+i*this.v,this.normalize()):(n=Math.sqrt(t),t=Math.atan2(n,u),u=Math.sin((1-i)*t)/n,i=Math.sin(i*t)/n,this.M=h*u+this.M*i,this.h=e*u+this.h*i,this.u=r*u+this.u*i,this.v=s*u+this.v*i),this.k())}return this}},{key:"equals",value:function(t){return t.h===this.h&&t.u===this.u&&t.v===this.v&&t.M===this.M}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.h=t[i],this.u=t[i+1],this.v=t[i+2],this.M=t[i+3],this.k(),this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.h,t[i+1]=this.u,t[i+2]=this.v,t[i+3]=this.M,t}},{key:"fromBufferAttribute",value:function(t,i){return this.h=t.getX(i),this.u=t.getY(i),this.v=t.getZ(i),this.M=t.getW(i),this}},{key:"_onChange",value:function(t){return this.k=t,this}},{key:"_onChangeCallback",value:function(){}}])&&o(t.prototype,i),n&&o(t,n),Object.defineProperty(t,"prototype",{writable:!1}),h}();function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,function(t){t=function(t,i){if("object"!=c(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===i?String:Number)(t);n=n.call(t,i||"default");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"==c(t)?t:String(t)}(e.key),e)}}var k=function(){function s(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,e=this,r=s;if(!(e instanceof r))throw new TypeError("Cannot call a class as a function");Object.defineProperty(this,"isVector3",{value:!0}),this.x=t,this.y=i,this.z=n}var t,i,n;return t=s,(i=[{key:"set",value:function(t,i,n){return void 0===n&&(n=this.z),this.x=t,this.y=i,this.z=n,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this.z=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"setComponent",value:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;default:throw new Error("index is out of range: "+t)}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y,this.z)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"add",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this.z+=t,this}},{key:"addVectors",value:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this}},{key:"addScaledVector",value:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this}},{key:"sub",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this.z-=t,this}},{key:"subVectors",value:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,i)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this.z*=t,this}},{key:"multiplyVectors",value:function(t,i){return this.x=t.x*i.x,this.y=t.y*i.y,this.z=t.z*i.z,this}},{key:"applyEuler",value:function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(V.setFromEuler(t))}},{key:"applyAxisAngle",value:function(t,i){return this.applyQuaternion(V.setFromAxisAngle(t,i))}},{key:"applyMatrix3",value:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6]*e,this.y=t[1]*i+t[4]*n+t[7]*e,this.z=t[2]*i+t[5]*n+t[8]*e,this}},{key:"applyNormalMatrix",value:function(t){return this.applyMatrix3(t).normalize()}},{key:"applyMatrix4",value:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements,r=1/(t[3]*i+t[7]*n+t[11]*e+t[15]);return this.x=(t[0]*i+t[4]*n+t[8]*e+t[12])*r,this.y=(t[1]*i+t[5]*n+t[9]*e+t[13])*r,this.z=(t[2]*i+t[6]*n+t[10]*e+t[14])*r,this}},{key:"applyQuaternion",value:function(t){var i=this.x,n=this.y,e=this.z,r=t.x,s=t.y,h=t.z,t=t.w,u=t*i+s*e-h*n,a=t*n+h*i-r*e,o=t*e+r*n-s*i,i=-r*i-s*n-h*e;return this.x=u*t+i*-r+a*-h-o*-s,this.y=a*t+i*-s+o*-r-u*-h,this.z=o*t+i*-h+u*-s-a*-r,this}},{key:"project",value:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}},{key:"unproject",value:function(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}},{key:"transformDirection",value:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*e,this.y=t[1]*i+t[5]*n+t[9]*e,this.z=t[2]*i+t[6]*n+t[10]*e,this.normalize()}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}},{key:"clamp",value:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this.z=Math.max(t.z,Math.min(i.z,this.z)),this}},{key:"clampScalar",value:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this.z=Math.max(t,Math.min(i,this.z)),this}},{key:"clampLength",value:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y+this.z*t.z}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this.z+=(t.z-this.z)*i,this}},{key:"lerpVectors",value:function(t,i,n){return this.x=t.x+(i.x-t.x)*n,this.y=t.y+(i.y-t.y)*n,this.z=t.z+(i.z-t.z)*n,this}},{key:"cross",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,i)):this.crossVectors(this,t)}},{key:"crossVectors",value:function(t,i){var n=t.x,e=t.y,t=t.z,r=i.x,s=i.y,i=i.z;return this.x=e*i-t*s,this.y=t*r-n*i,this.z=n*s-e*r,this}},{key:"projectOnVector",value:function(t){var i=t.lengthSq();return 0===i?this.set(0,0,0):(i=t.dot(this)/i,this.copy(t).multiplyScalar(i))}},{key:"projectOnPlane",value:function(t){return v.copy(this).projectOnVector(t),this.sub(v)}},{key:"reflect",value:function(t){return this.sub(v.copy(t).multiplyScalar(2*this.dot(t)))}},{key:"angleTo",value:function(t){var i=Math.sqrt(this.lengthSq()*t.lengthSq());return 0===i?Math.PI/2:(t=this.dot(t)/i,Math.acos(u.clamp(t,-1,1)))}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var i=this.x-t.x,n=this.y-t.y,t=this.z-t.z;return i*i+n*n+t*t}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}},{key:"setFromSpherical",value:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}},{key:"setFromSphericalCoords",value:function(t,i,n){var e=Math.sin(i)*t;return this.x=e*Math.sin(n),this.y=Math.cos(i)*t,this.z=e*Math.cos(n),this}},{key:"setFromCylindrical",value:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}},{key:"setFromCylindricalCoords",value:function(t,i,n){return this.x=t*Math.sin(i),this.y=n,this.z=t*Math.cos(i),this}},{key:"setFromMatrixPosition",value:function(t){t=t.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}},{key:"setFromMatrixScale",value:function(t){var i=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),t=this.setFromMatrixColumn(t,2).length();return this.x=i,this.y=n,this.z=t,this}},{key:"setFromMatrixColumn",value:function(t,i){return this.fromArray(t.elements,4*i)}},{key:"setFromMatrix3Column",value:function(t,i){return this.fromArray(t.elements,3*i)}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[i],this.y=t[i+1],this.z=t[i+2],this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t}},{key:"fromBufferAttribute",value:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}])&&f(t.prototype,i),n&&f(t,n),Object.defineProperty(t,"prototype",{writable:!1}),s}(),v=new k,V=new i,F=function(t,i,n){n=n||2;var e,r,s,h,u,a=i&&i.length,o=a?i[0]*n:t.length,c=X(t,0,o,n,!0),l=[];if(c&&c.next!==c.prev){if(a&&(c=function(t,i,n,e){var r,s,h,u,a=[];for(r=0,s=i.length;r<s;r++)u=i[r]*e,h=r<s-1?i[r+1]*e:t.length,(u=X(t,u,h,e,!1))===u.next&&(u.steiner=!0),a.push(function(t){var i=t,n=t;for(;(i.x<n.x||i.x===n.x&&i.y<n.y)&&(n=i),i=i.next,i!==t;);return n}(u));for(a.sort(Z),r=0;r<a.length;r++)!function(t,i){(i=function(t,i){var n,e=i,r=t.x,s=t.y,h=-1/0;do{if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){var u=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(u<=r&&h<u){if((h=u)===r){if(s===e.y)return e;if(s===e.next.y)return e.next}n=e.x<e.next.x?e:e.next}}}while(e=e.next,e!==i);if(!n)return null;if(r!==h){var a,o=n,c=n.x,l=n.y,f=1/0;for(e=n;r>=e.x&&e.x>=c&&r!==e.x&&O(s<l?r:h,s,c,l,s<l?h:r,s,e.x,e.y)&&(a=Math.abs(s-e.y)/(r-e.x),C(e,t))&&(a<f||a===f&&(e.x>n.x||e.x===n.x&&function(t,i){return T(t.prev,t,i.prev)<0&&T(i.next,t,t.next)<0}(n,e)))&&(n=e,f=a),(e=e.next)!==o;);}return n}(t,i))&&(t=N(i,t),x(i,i.next),x(t,t.next))}(a[r],n),n=x(n,n.next);return n}(t,i,c,n)),t.length>80*n){for(var f=e=t[0],v=r=t[1],y=n;y<o;y+=n)(s=t[y])<f&&(f=s),(h=t[y+1])<v&&(v=h),e<s&&(e=s),r<h&&(r=h);u=0!==(u=Math.max(e-f,r-v))?1/u:0}j(c,l,n,f,v,u)}return l};function X(t,i,n,e,r){var s,h;if(r===0<function(t,i,n,e){for(var r=0,s=i,h=n-e;s<n;s+=e)r+=(t[h]-t[s])*(t[s+1]+t[h+1]),h=s;return r}(t,i,n,e))for(s=i;s<n;s+=e)h=Y(s,t[s],t[s+1],h);else for(s=n-e;i<=s;s-=e)h=Y(s,t[s],t[s+1],h);return h&&P(h,h.next)&&(D(h),h=h.next),h}function x(t,i){if(!t)return t;i=i||t;var n,e=t;do{if(n=!1,e.steiner||!P(e,e.next)&&0!==T(e.prev,e,e.next))e=e.next;else{if(D(e),(e=i=e.prev)===e.next)break;n=!0}}while(n||e!==i);return i}function j(t,i,n,e,r,s,h){if(t){if(!h&&s){for(var u=t,a=e,o=r,c=s,l=u;null===l.z&&(l.z=E(l.x,l.y,a,o,c)),l.prevZ=l.prev,l.nextZ=l.next,(l=l.next)!==u;);l.prevZ.nextZ=null,l.prevZ=null;var f,v,y,M,d,k,m,p,b=l,g=1;do{for(v=b,d=b=null,k=0;v;){for(k++,y=v,f=m=0;f<g&&(m++,y=y.nextZ);f++);for(p=g;0<m||0<p&&y;)0!==m&&(0===p||!y||v.z<=y.z)?(v=(M=v).nextZ,m--):(y=(M=y).nextZ,p--),d?d.nextZ=M:b=M,M.prevZ=d,d=M;v=y}}while(d.nextZ=null,g*=2,1<k)}for(var w,_,S=t;t.prev!==t.next;)if(w=t.prev,_=t.next,s?function(t,i,n,e){var r=t.prev,s=t,h=t.next;if(0<=T(r,s,h))return;var u=(r.x<s.x?r.x<h.x?r:h:s.x<h.x?s:h).x,a=(r.y<s.y?r.y<h.y?r:h:s.y<h.y?s:h).y,o=(r.x>s.x?r.x>h.x?r:h:s.x>h.x?s:h).x,c=(r.y>s.y?r.y>h.y?r:h:s.y>h.y?s:h).y,l=E(u,a,i,n,e),f=E(o,c,i,n,e),v=t.prevZ,y=t.nextZ;for(;v&&v.z>=l&&y&&y.z<=f;){if(v!==t.prev&&v!==t.next&&O(r.x,r.y,s.x,s.y,h.x,h.y,v.x,v.y)&&0<=T(v.prev,v,v.next))return;if(v=v.prevZ,y!==t.prev&&y!==t.next&&O(r.x,r.y,s.x,s.y,h.x,h.y,y.x,y.y)&&0<=T(y.prev,y,y.next))return;y=y.nextZ}for(;v&&v.z>=l;){if(v!==t.prev&&v!==t.next&&O(r.x,r.y,s.x,s.y,h.x,h.y,v.x,v.y)&&0<=T(v.prev,v,v.next))return;v=v.prevZ}for(;y&&y.z<=f;){if(y!==t.prev&&y!==t.next&&O(r.x,r.y,s.x,s.y,h.x,h.y,y.x,y.y)&&0<=T(y.prev,y,y.next))return;y=y.nextZ}return 1}(t,e,r,s):function(t){var i=t.prev,n=t,e=t.next;if(0<=T(i,n,e))return;var r=t.next.next;for(;r!==t.prev;){if(O(i.x,i.y,n.x,n.y,e.x,e.y,r.x,r.y)&&0<=T(r.prev,r,r.next))return;r=r.next}return 1}(t))i.push(w.i/n),i.push(t.i/n),i.push(_.i/n),D(t),t=_.next,S=_.next;else if((t=_)===S){h?1===h?j(t=function(t,i,n){var e=t;do{var r=e.prev,s=e.next.next}while(!P(r,s)&&H(r,e,e.next,s)&&C(r,s)&&C(s,r)&&(i.push(r.i/n),i.push(e.i/n),i.push(s.i/n),D(e),D(e.next),e=t=s),e=e.next,e!==t);return x(e)}(x(t),i,n),i,n,e,r,s,2):2===h&&function(t,i,n,e,r,s){var h=t;do{for(var u,a=h.next.next;a!==h.prev;){if(h.i!==a.i&&function(t,i){return t.next.i!==i.i&&t.prev.i!==i.i&&!function(t,i){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==i.i&&n.next.i!==i.i&&H(n,n.next,t,i))return 1}while(n=n.next,n!==t);return}(t,i)&&(C(t,i)&&C(i,t)&&function(t,i){var n=t,e=!1,r=(t.x+i.x)/2,s=(t.y+i.y)/2;for(;n.y>s!=n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(e=!e),n=n.next,n!==t;);return e}(t,i)&&(T(t.prev,t,i.prev)||T(t,i.prev,i))||P(t,i)&&0<T(t.prev,t,t.next)&&0<T(i.prev,i,i.next))}(h,a))return u=N(h,a),h=x(h,h.next),u=x(u,u.next),j(h,i,n,e,r,s),j(u,i,n,e,r,s);a=a.next}}while(h=h.next,h!==t)}(t,i,n,e,r,s):j(x(t),i,n,e,r,s,1);break}}}function Z(t,i){return t.x-i.x}function E(t,i,n,e,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=32767*(i-e)*r)|i<<8))|i<<4))|i<<2))|i<<1))<<1}function O(t,i,n,e,r,s,h,u){return 0<=(r-h)*(i-u)-(t-h)*(s-u)&&0<=(t-h)*(e-u)-(n-h)*(i-u)&&0<=(n-h)*(s-u)-(r-h)*(e-u)}function T(t,i,n){return(i.y-t.y)*(n.x-i.x)-(i.x-t.x)*(n.y-i.y)}function P(t,i){return t.x===i.x&&t.y===i.y}function H(t,i,n,e){var r=M(T(t,i,n)),s=M(T(t,i,e)),h=M(T(n,e,t)),u=M(T(n,e,i));return r!==s&&h!==u||0===r&&y(t,n,i)||0===s&&y(t,e,i)||0===h&&y(n,t,e)||!(0!==u||!y(n,i,e))}function y(t,i,n){return i.x<=Math.max(t.x,n.x)&&i.x>=Math.min(t.x,n.x)&&i.y<=Math.max(t.y,n.y)&&i.y>=Math.min(t.y,n.y)}function M(t){return 0<t?1:t<0?-1:0}function C(t,i){return T(t.prev,t,t.next)<0?0<=T(t,i,t.next)&&0<=T(t,t.prev,i):T(t,i,t.prev)<0||T(t,t.next,i)<0}function N(t,i){var n=new d(t.i,t.x,t.y),e=new d(i.i,i.x,i.y),r=t.next,s=i.prev;return(t.next=i).prev=t,(n.next=r).prev=n,(e.next=n).prev=e,(s.next=e).prev=s,e}function Y(t,i,n,e){t=new d(t,i,n);return e?(t.next=e.next,(t.prev=e).next.prev=t,e.next=t):(t.prev=t).next=t,t}function D(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function d(t,i,n){this.i=t,this.x=i,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function q(t){return function(t){if(Array.isArray(t))return m(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){var n;if(t)return"string"==typeof t?m(t,i):"Map"===(n="Object"===(n=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(t,i):void 0}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(t,i){(null==i||i>t.length)&&(i=t.length);for(var n=0,e=new Array(i);n<i;n++)e[n]=t[n];return e}var p={area:function(t){for(var i=t.length,n=0,e=i-1,r=0;r<i;e=r++)n+=t[e].x*t[r].y-t[r].x*t[e].y;return.5*n},isClockWise:function(t){return p.area(t)<0},triangulateShape:function(t,i){var n=[],e=[],r=[],s=(z(t),U(n,t),t.length);i.forEach(z);for(var h=0;h<i.length;h++)e.push(s),s+=i[h].length,U(n,i[h]);for(var u=F(n,e),a=0;a<u.length;a+=3)r.push(u.slice(a,a+3));return r},triangulate:function(t){(r=[]).push.apply(r,q(t[0]));for(var i=[],n=1;n<t.length;n++){var e=[];e.push.apply(e,q(t[n])),i.push(e)}if(!p.isClockWise(r))for(var r=r.reverse(),s=0,h=i.length;s<h;s++){var u=i[s];p.isClockWise(u)&&(i[s]=u.reverse())}return p.triangulateShape(r,i)}};function z(t){var i,n=t.length;2<n&&(n=t[n-1],i=t[0],n.x===i.x)&&n.y===i.y&&t.pop()}function U(t,i){for(var n=0;n<i.length;n++)t.push(i[n].x),t.push(i[n].y)}function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function B(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,function(t){t=function(t,i){if("object"!=b(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===i?String:Number)(t);n=n.call(t,i||"default");if("object"!=b(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"==b(t)?t:String(t)}(e.key),e)}}function Q(t,i,n){return i&&B(t.prototype,i),n&&B(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var g=1e-5,w=.001,G=Math.PI/180,W=180/Math.PI,i=Q(function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function")});Object.assign(i.prototype,{g:function(){return g},_:function(){return G},S:function(){return W},j:function(t){return t<g&&-g<t},O:function(t){return g<t},T:function(t){return t<-g},P:function(t,i,n){i=(t.x-n.x)*(i.y-n.y)-(i.x-n.x)*(t.y-n.y);return Math.abs(i)<g?0:i},distanceOfTwoPoints:function(t,i){return t&&i?Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y)):Number.NaN},distance:function(t,i){return Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2))},isPolygonContainPoint:function(t,i){for(var n=0,e=0;e<t.length;e++){var r=t[e].x,s=t[e].y,h=0,u=0,u=(e<t.length-1?(h=t[e+1].x,t[e+1]):(h=t[0].x,t[0])).y;if(r===i.x&&s===i.y||h===i.x&&u===i.y)return!0;if(u!==s){var a=r+(i.y-s)*(h-r)/(u-s);if(a===i.x)return!0;r!==h?a<=Math.max(r,h)&&a>=Math.min(r,h)&&a>i.x&&a!==r&&(a===h&&0<(s-i.y)*(u-i.y)?n+=2:n++):a<=Math.max(r,h)&&a>=Math.min(r,h)&&a>i.x&&(a===h&&0<(s-i.y)*(u-i.y)?n+=2:n++)}}return 0<n%2},isPolygonContainPoint2:function(t,i){var n=t.length;if(n<3)return!1;for(var e=n-1,r=0,s=0;s<n;s++){var h=t[s],u=t[e];h.y>i.y!=u.y>i.y&&i.x<(u.x-h.x)*(i.y-h.y)/(u.y-h.y)+h.x&&(h.y>u.y?r++:r--),e=s}return 0!=r},isPolygonInPolygon:function(t,i){var n=Object.assign([],t),e=Object.assign([],i);n.push(n[0]),e.push(e[0]);for(var r=0;r<n.length-1;r++){var s=n[r];if(!this.isPolygonContainPoint(e,s)&&!this.isPolygonContainPoint2(e,s))return!1}for(var h=0;h<n.length-1;h++)for(var u=0;u<e.length-1;u++)if(this.C(n[h],n[h+1],e[u],e[u+1]).isintersect&&!this.D(e[u],e[u+1],n[h])&&!this.D(e[u],e[u+1],n[h+1]))return!1;return!0},R:function(t,i,n,e){return!(Math.max(t.x,i.x)<Math.min(n.x,e.x)||Math.max(t.y,i.y)<Math.min(n.y,e.y)||Math.max(n.x,e.x)<Math.min(t.x,i.x)||Math.max(n.y,e.y)<Math.min(t.y,i.y))},A:function(t,i,n,e){return!(Math.max(t.x,i.x)<Math.min(n.x,e.x)||Math.max(t.y,i.y)<Math.min(n.y,e.y)||Math.max(n.x,e.x)<Math.min(t.x,i.x)||Math.max(n.y,e.y)<Math.min(t.y,i.y)||0===this.P(n,i,t)&&0===this.P(i,e,t)||this.P(n,i,t)*this.P(i,e,t)<0||this.P(t,e,n)*this.P(e,i,n)<0)},I:function(t,i,n){return!(t.x<i.x||t.y<i.y||t.x>n.x||t.y>n.y)},L:function(t,i,n){var e=Math.min(i.x,n.x),r=Math.max(i.x,n.x),s=Math.min(i.y,n.y),i=Math.max(i.y,n.y);return!(t.x<e||t.x>r||t.y<s||t.y>i)},V:function(t,i,n){var e=Math.min(n.x,i.x),r=Math.max(n.x,i.x),s=Math.min(n.y,i.y),n=Math.max(n.y,i.y);return!(t.x<e||t.x>r||t.y<s||t.y>n)},F:function(t,i,n){for(var e,r,s=!1,h=0;h<n;h++)e=i[h],r=i[(h+1)%n],(e.y<t.y&&r.y>=t.y||r.y<t.y&&e.y>=t.y)&&(e.x<=t.x||r.x<=t.x)&&e.x+(t.y-e.y)/(r.y-e.y)*(r.x-e.x)<t.x&&(s=!s);return s},X:function(t,i,n){return(t.x-i.x)*(n.y-i.y)==(n.x-i.x)*(t.y-i.y)&&Math.min(i.x,n.x)<=t.x&&t.x<=Math.max(i.x,n.x)&&Math.min(i.y,n.y)<=t.y&&t.y<=Math.max(i.y,n.y)},Z:function(t,i){return Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y))},H:function(t,i){return(t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y)},N:function(t,i,n){var e=i.x,i=i.y,r=n.x,n=n.y,s=t.x,t=t.y,h=r-e,u=n-i,a=h*h+u*u,o=s-e,c=t-i,l=o*o+c*c;return this.j(a)?this.j(l)?0:l:(a=Math.sqrt(a),c=this.O(u=(h=h/a)*o+(o=u/a)*c)?this.T(u-a)?(c=s-(e+u*h))*c+(a=t-(i+u*o))*a:(e=s-r)*e+(h=t-n)*h:l,this.j(c)?0:c)},Y:function(t,i,n,e){var r,s=i.x,h=i.y,u=n.x,a=n.y,o=t.x,t=t.y,c=u-s,l=a-h,f=Math.sqrt(c*c+l*l),v=o-s,y=t-h,M=Math.sqrt(v*v+y*y);return this.j(f)?(e.x=i.x,e.y=i.y,this.j(r=M)?0:r):(r=this.O(l=(c=c/f)*v+(v=l/f)*y)?this.T(l-f)?(f=o-(y=s+l*c),c=t-(s=h+l*v),h=Math.sqrt(f*f+c*c),e.x=y,e.y=s,h):(l=o-u,v=t-a,f=Math.sqrt(l*l+v*v),e.x=n.x,e.y=n.y,f):(e.x=i.x,e.y=i.y,M),this.j(r)?0:r)},q:function(t,i){for(var n=0,e=0,r=0,s=0;s<i;s++){var h=t[s],u=t[(s+1)%i],a=(h.x*u.y-h.y*u.x)/2;n+=a,e+=a*(h.x+u.x)/3,r+=a*(h.y+u.y)/3}return{x:e/=n,y:r/=n}},U:function(t){for(var i=p.triangulate([t]),n=0,e=0,r=0,s=0;s<i.length;s++){var h=t[i[s][0]],u=t[i[s][1]],a=t[i[s][2]],o=u.x-h.x,c=u.y-h.y,l=a.x-h.x,o=(o*(a.y-h.y)-l*c)/2;n+=o,e+=(h.x+u.x+a.x)/3*o,r+=(h.y+u.y+a.y)/3*o}return{x:e/n,y:r/n}},B:function(t,i){if(i<3)return 0;for(var n=0,e=0;e<i;++e){var r=t[e],s=t[(e+1)%i];n+=r.x*s.y-r.y*s.x}return Math.abs(n/2)},G:function(t,i,n,e,r){var s,h;return this.A(t,i,n,e)?(s=(e.x-n.x)*(t.y-i.y)-(i.x-t.x)*(n.y-e.y),h=(t.y-n.y)*(i.x-t.x)*(e.x-n.x)+n.x*(e.y-n.y)*(i.x-t.x)-t.x*(i.y-t.y)*(e.x-n.x),r.x=h/s,s=(t.x-i.x)*(e.y-n.y)-(i.y-t.y)*(n.x-e.x),h=i.y*(t.x-i.x)*(e.y-n.y)+(e.x-i.x)*(e.y-n.y)*(t.y-i.y)-e.y*(n.x-e.x)*(i.y-t.y),r.y=h/s,1):0},W:function(t,i,n,e,r){var s=Math.min(n.x,e.x),h=Math.max(n.x,e.x),u=Math.min(n.y,e.y),a=Math.max(n.y,e.y),o=t.x,c=t.y,l=n.x,f=n.y,v=e.x,y=e.y;if(90==i)return!(t.x<s||t.x>h||(Math.abs(h-s<w)?t.y>=f&&t.y<=y||t.y>=y&&t.y<=f?(r.x=t.x,r.y=t.y,0):f<y&&t.x<f?(r.x=l,r.y=f,0):!(y<f&&t.x<y)||(r.x=v,r.y=y,0):(r.y=M=(y-f)/(v-l)*(o-l)+f,r.x=o,M<c||!this.V(r,n,e))));if(270==i)return!(t.x<s||t.x>h||(Math.abs(h-s<w)?t.y>=f&&t.y<=y||t.y>=y&&t.y<=f?(r.x=t.x,r.y=t.y,0):f<y&&t.y>y?(r.x=v,r.y=y,0):!(y<f&&t.y>f)||(r.x=l,r.y=f,0):(r.y=M=(y-f)/(v-l)*(o-l)+f,r.x=o,c<M||!this.V(r,n,e))));if(270!=i&&90!=i&&Math.abs(h-s<w)){var t=s,M=Math.tan(i/180*Math.PI)*(t-o)+c;if(r.y=M,r.x=t,this.V(r,n,e))return h=M-c,0<(s=t-o)/Math.sqrt(s*s+h*h)*Math.cos(i/180*Math.PI)}return Math.abs(a-u<=w)?(M=u,t=1/Math.tan(i/180*Math.PI)*(M-c)+o,r.x=t,r.y=M,!!this.V(r,n,e)&&(s=M-c,0<(h=t-o)/Math.sqrt(h*h+s*s)*Math.cos(i/180*Math.PI))):(t=c+(a=Math.tan(i/180*Math.PI))*((M=(f-c-((u=(y-f)/(v-l))*l-a*o))/(a-u))-o),r.x=M,r.y=t,!!this.V(r,n,e)&&(h=M-o,s=t-c,Math.abs(h)<=w&&Math.abs(s)<=w||0<h/Math.sqrt(h*h+s*s)*Math.cos(i/180*Math.PI)))},K:function(t,i){return Math.abs(t.x-i.x)<g&&Math.abs(t.y-i.y)<g},$:function(t,i,n,e){var r,s,h,u,a=t.x,o=t.y,c=i.x,l=i.y,f=n.x,v=n.y;return this.K(t,i)||this.K(t,n)?(e.x=a,e.y=o,!0):(h=Math.min(i.x,n.x),u=Math.max(i.x,n.x),r=Math.min(i.y,n.y),s=Math.max(i.y,n.y),Math.abs(c-f)<1e-5?(e.x=c,r<=(e.y=o)&&o<=s):Math.abs(l-v)<1e-5?(e.x=a,e.y=l,h<=a&&a<=u):(u=o+(r=-1/((v-l)/(f-c)))*((h=(l-o-((s=(v-l)/(f-c))*c-r*a))/(r-s))-a),e.x=h,e.y=u,!!this.V(e,i,n)||!(!this.K(t,i)&&!this.K(t,n))))},J:function(t,i){return{x:t.y*i.z-t.z*i.y,y:t.z*i.x-t.x*i.z,z:t.x*i.y-t.y*i.x}},tt:function(t,i){return t.x*i.x+t.y*i.y+t.z*i.z},it:function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z)},nt:function(t,i){return t.x*i.x+t.y*i.y},et:function(t,i){return t.x*i.y-t.y*i.x},rt:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},st:function(t,i){var n,e;return 0==t.x&&0==t.y||0==i.x&&0==i.y?0:(n={x:t.x,y:t.y,z:0},e={x:i.x,y:i.y,z:0},n=this.J(n,e),e=this.nt(t,i),e=Math.acos(e/(this.rt(t)*this.rt(i))),0<n.z?e/Math.PI*180:360-e/Math.PI*180)},ht:function(t,i,n,e){for(var r=0;r<n.length;r++){var s=n[r],h=n[(r+1)%n.length];if(1==this.G(t,i,s,h,e))return!0}return!1},ut:function(t,i,n,e,r){var s=Math.min(t.x,n.x,e.x),h=Math.max(t.x,n.x,e.x),u=Math.min(t.y,n.y,e.y),a=Math.max(t.y,n.y,e.y),h=Math.sqrt((h-s)*(h-s)+(a-u)*(a-u)),s=i/180*Math.PI,a=h*Math.cos(s)+t.x,u=h*Math.sin(s)+t.y;return 1==this.G(t,{x:a,y:u},n,e,r)},ot:function(t){var i={x:null,y:null},n=0,e=0;1<t.length&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y&&t.pop();for(var r=0;r<t.length;r++)n+=t[r].x,e+=t[r].y;return i.x=n/t.length,i.y=e/t.length,i},ct:function(t,i,n,e){var r=[],s=t.x-i,h=t.x+i,u=t.y-i,a=t.y+i,o=Math.min(n.x,e.x),c=Math.max(n.x,e.x),l=Math.min(n.y,e.y),f=Math.max(n.y,e.y);return c<s||h<o||f<u||a<l||(s=e.x-n.x,h=e.y-n.y,(u=(t=(s*(u=t.x-n.x)+h*(a=t.y-n.y))/(e=s*s+h*h))*t-(u*u+a*a-i*i)/e)<0)||(a=Math.sqrt(u),e={x:n.x-s*(i=-t+a),y:n.y-h*i},s={x:n.x-s*(u=-t-a),y:n.y-h*u},i!==u&&(o<=e.x&&e.x<=c&&l<=e.y&&e.y<=f&&r.push(e),o<=s.x)&&s.x<=c&&l<=s.y&&s.y<=f&&r.push(s)),r},lt:function(t,i,n){var e,r={};if(t.x!=i.x)return e=i=(i.y-t.y)/(i.x-t.x),i=t.y-i*t.x,r.x=(+n.x- -1*e*n.y-e*i)/(e*e+1),r.y=(e*e*n.y- -1*e*n.x- -1*i)/(e*e+1),r;r.x=t.x,r.y=n.y},C:function(t,i,n,e){var r,s,h,u,a={point:null,isintersect:!1};return t==n||t==e?(a.isintersect=!0,a.point=t):i==n||i==e?(a.isintersect=!0,a.point=i):(r={x:i.x-t.x,y:i.y-t.y},s={x:e.x-n.x,y:e.y-n.y},h={x:n.x-t.x,y:n.y-t.y},e={x:e.x-t.x,y:e.y-t.y},i={x:i.x-n.x,y:i.y-n.y},n={x:-h.x,y:-h.y},u=this.et(s,r),Math.abs(u)<=1e-5||this.et(h,r)*this.et(e,r)<=-5e-4&&this.et(n,s)*this.et(i,s)<-5e-4&&(e=this.et(s,h)/u,a.point={x:t.x+r.x*e,y:t.y+r.y*e},a.isintersect=!0)),a},ft:function(t,i,n){t.x===i.x&&(i.x=i.x+1),t.y===i.y&&(i.y=i.y+1),i.x===n.x&&(n.x=n.x+1),i.y===n.y&&(n.y=n.y+1);var e=i.x-t.x,t=i.y-t.y,r=n.x-i.x;return!(0<e*(n.y-i.y)-t*r)},getAngle:function(t){var i=t.p1,t=t.p2,n=t.x-i.x,t=t.y-i.y,i=Math.sqrt(n*n+t*t),i=Math.asin(Math.abs(t)/i);return 0<n&&0<t?i:n<0&&0<t?Math.PI-i:n<0&&t<0?Math.PI+i:0<n&&t<0?2*Math.PI-i:0==n&&0<t?i:0==n&&t<0?3*Math.PI/2:0<n&&0==t?i:n<0&&0==t?Math.PI:null},vt:function(t){var i=this.distanceOfTwoPoints(t[0],t[1]),n=this.distanceOfTwoPoints(t[1],t[2]),t=this.distanceOfTwoPoints(t[0],t[2]),e=(i+n+t)/2;return Math.sqrt(e*(e-i)*(e-n)*(e-t))},yt:function(t,i){var n,e,r,s,h;return this.Y(t,i[0],i[1],{})<1e-4||this.Y(t,i[0],i[2],{})<1e-4||this.Y(t,i[1],i[2],{})<1e-4||(s={x:i[1].x-i[0].x,y:i[1].y-i[0].y},n={x:i[0].x-i[2].x,y:i[0].y-i[2].y},e={x:i[2].x-i[1].x,y:i[2].y-i[1].y},h={x:t.x-i[0].x,y:t.y-i[0].y},r={x:t.x-i[1].x,y:t.y-i[1].y},t={x:t.x-i[2].x,y:t.y-i[2].y},i=this.et(s,h),s=this.et(e,r),h=this.et(n,t),g<i*s&&g<s*h)},Mt:function(t,i,n){var e=n.length,r={isintersect:!1,start:null,end:null,type:0,outer:null},s=[];if(this.yt(t,n)&&(r.start=t),this.yt(i,n)&&(r.end=i),null!=r.start&&null!=r.end)r.isintersect=!0,r.type=1;else{for(var h=(n[1].x+n[2].x)/2,u=(n[1].y+n[2].y)/2,a=1;a<e;a++){var o,c=this.C(t,i,n[a-1],n[a]);if(c.isintersect){if(null!=r.start)return r.end=c.point,r.isintersect=!0,r.outer="end",o=this.st({x:h-n[0].x,y:u-n[0].y},{x:i.x-n[0].x,y:i.y-n[0].y}),r.type=0<(o=o<180?o:o-360)?2:3,r;if(null!=r.end)return r.start=c.point,r.isintersect=!0,r.outer="start",o=this.st({x:h-n[0].x,y:u-n[0].y},{x:t.x-n[0].x,y:t.y-n[0].y}),r.type=0<(o=o<180?o:o-360)?2:3,r;s.push(c)}}var l,f=this.C(t,i,n[0],n[e-1]);if(f.isintersect){if(null!=r.start)return r.end=f.point,r.isintersect=!0,r.outer="end",l=this.st({x:h-n[0].x,y:u-n[0].y},{x:i.x-n[0].x,y:i.y-n[0].y}),r.type=0<(l=l<180?l:l-360)?2:3,r;if(null!=r.end)return r.start=f.point,r.isintersect=!0,r.outer="start",l=this.st({x:h-n[0].x,y:u-n[0].y},{x:t.x-n[0].x,y:t.y-n[0].y}),r.type=0<(l=l<180?l:l-360)?2:3,r;s.push(f)}2!=s.length||this.distanceOfTwoPoints(s[0].point,s[1].point)<.01||(this.distanceOfTwoPoints(s[0].point,t)<=this.distanceOfTwoPoints(s[0].point,i)?(r.start=s[0].point,r.end=s[1].point):(r.start=s[1].point,r.end=s[0].point),r.isintersect=!0,r.type=4)}return r},dt:function(t,i,n){var e=n.length,r={isintersect:!1,start:null,end:null},s=[];if(this.yt(t,n)&&(r.start=t),this.yt(i,n)&&(r.end=i),null!=r.start&&null!=r.end)r.isintersect=!0;else{for(var h=1;h<e;h++){var u=this.C(t,i,n[h-1],n[h]);if(u.isintersect){if(null!=r.start)return r.end=u.point,r.isintersect=!0,r;if(null!=r.end)return r.start=t,r.isintersect=!0,r;s.push(u)}}var a=this.C(t,i,n[0],n[e-1]);if(a.isintersect){if(null!=r.start)return r.end=a.point,r.isintersect=!0,r;if(null!=r.end)return r.start=t,r.isintersect=!0,r;s.push(a)}2==s.length&&(r.start=(this.distanceOfTwoPoints(s[0].point,t)<=this.distanceOfTwoPoints(s[0].point,i)?s[0]:s[1]).point,r.end=(this.distanceOfTwoPoints(s[0].point,t)>this.distanceOfTwoPoints(s[0].point,i)?s[0]:s[1]).point,r.isintersect=!0)}return r},kt:function(r,t){if(0==t.length)return[r];for(var i,n,e=this.bt(t),s=[],h=(e.sort(function(t,i){var n=(t.gt.x-r.gt.x)*(t.gt.x-r.gt.x)+(t.gt.y-r.gt.y)*(t.gt.y-r.gt.y),e=(i.gt.x-r.gt.x)*(i.gt.x-r.gt.x)+(i.gt.y-r.gt.y)*(i.gt.y-r.gt.y),t=(t.wt.x-r.gt.x)*(t.wt.x-r.gt.x)+(t.wt.y-r.gt.y)*(t.wt.y-r.gt.y),i=(i.wt.x-r.gt.x)*(i.wt.x-r.gt.x)+(i.wt.y-r.gt.y)*(i.wt.y-r.gt.y);return(n<t?n:t)<(e<i?e:i)}),0),h=0;h<e.length;h++)this.distanceOfTwoPoints(e[h].gt,e[h].wt)<.01||(i=this.distanceOfTwoPoints(e[h].gt,r.gt),n=this.distanceOfTwoPoints(e[h].wt,r.gt),i<.01?r.gt=e[h].wt:n<.01?r.gt=e[h].gt:i<n?.1<this.distanceOfTwoPoints(r.gt,e[h].gt)&&(s.push({_t:r._t,gt:r.gt,wt:e[h].gt,Z:r.Z,St:r.St}),r.gt=e[h].wt):.1<this.distanceOfTwoPoints(r.gt,e[h].wt)&&(s.push({_t:r._t,gt:r.gt,wt:e[h].wt,Z:r.Z,St:r.St}),r.gt=e[h].gt),e.splice(h,1));return.1<this.distanceOfTwoPoints(r.gt,r.wt)&&s.push(r),s},bt:function(t){var i=[];if(1==t.length)return t;for(var n=t[0],e=1;0<t.length;){if(e>=t.length){if(i.push(n),t.splice(0,1),t.length<1)break;n=t[0],e=1}if(1===t.length){i.push(n);break}this.D(n.gt,n.wt,t[e].gt)?(this.D(n.gt,n.wt,t[e].wt)||(n.wt=t[e].wt),t.splice(e,1)):this.D(n.gt,n.wt,t[e].wt)?(n.gt=t[e].gt,t.splice(e,1)):this.D(t[e].gt,t[e].wt,n.gt)?(n=(this.D(t[e].gt,t[e].wt,n.wt)||(t[e].wt=n.wt),t[e]),t.splice(e,1)):this.D(t[e].gt,t[e].wt,n.wt)?(t[e].gt=n.gt,n=t[e],t.splice(e,1)):e++}return i},D:function(t,i,n){var e=t.x-n.x,r=t.y-n.y,s=i.x-n.x,h=i.y-n.y,u=this.distanceOfTwoPoints(t,n),n=this.distanceOfTwoPoints(i,n),t=this.distanceOfTwoPoints(t,i);return e*h-r*s<1e-5&&u+n-t<.001}});var K=new i,i={BROWSER:0,WX:1},$=(Object.freeze(i),{document:"undefined"!=typeof document?document:{},window:"undefined"!=typeof window?window:{},environment:i.BROWSER,XMLHttpRequest:"undefined"!=typeof XMLHttpRequest?XMLHttpRequest:{}});function J(i,t){var n,e=Object.keys(i);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(i),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})),e.push.apply(e,n)),e}function _(i){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach(function(t){S(i,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(n,t))})}return i}function S(t,i,n){return(i=it(i))in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n,t}function R(t){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tt(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,it(e.key),e)}}function it(t){t=function(t,i){if("object"!=R(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===i?String:Number)(t);n=n.call(t,i||"default");if("object"!=R(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"==R(t)?t:String(t)}var A=window.fengmap,i=function(){function r(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=this,e=r;if(!(n instanceof e))throw new TypeError("Cannot call a class as a function");this.xt=void 0===i.autoConnectBuilding||i.autoConnectBuilding,this.jt=t,this.Et=!1,this.Ot=null,this.Tt=0,this.Pt=0,this.Ct=0,this.Dt=[],this.Rt=[],this.At=0,this.It=0,this.Lt=1,this.Vt=null,this.Ft=null,this.Xt=0,this.Zt=0,this.Ht=null,this.Nt=null,this.Yt=!1,this.qt=null,this.zt=null,this.Ut=-1,this.Bt=new Map,this.Qt={playing:"playing",complete:"complete"},this.Gt=!0,this.Wt=-1,this.Kt=0,this.$t=0,this.Jt(),this.ti=new Map,this.ii=this.ii.bind(this),this.ni=this.ni.bind(this),this.jt.on("levelChanged",this.ii),this.jt.on("visibleLevelsLoaded",this.ii),this.xt&&this.jt.on("buildingLoaded",this.ni)}var t,i,n;return t=r,(i=[{key:"setSpeed",value:function(t){this.Lt=t}},{key:"setTracks",value:function(t){var i=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];this.ei(t),this.zt=t,this.ri(i)}},{key:"getMarker",value:function(t){return t===A.FMType.LINE_MARKER?this.Ft:this.Vt}},{key:"getTrackInfo",value:function(){return{totalLength:+this.Xt.toFixed(3),totalTimes:+this.Zt.toFixed(3)}}},{key:"setProgress",value:function(t){for(var i=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],n=new Date(t).getTime(),e=-1,r=0;r<this.zt.length;r++){if(this.zt[r].timestamp==n){e=r;break}if(this.zt[r].timestamp>n){e=r-1;break}}-1!==e&&(this.Ht=null,this.Nt=null,this.At=e,this.Pt=this.Rt[e],this.Ct=this.si[e],this.Tt=n-this.zt[0].timestamp,this.Ht=new k(this.zt[e].x,this.zt[e].y,this.zt[e].absoluteZ),this.It=n,this.ri(i))}},{key:"play",value:function(){this.Et=!0,this.Ot=null,this.At}},{key:"pause",value:function(){this.Et=!1}},{key:"stop",value:function(){this.Et=!1,this.setProgress(this.zt[this.zt.length-1].time)}},{key:"start",value:function(){this.setProgress(this.zt[0].time)}},{key:"render",value:function(){!0!==this.Yt&&(this.Yt=!0,this.hi(),this.ui())}},{key:"clear",value:function(){0!=this.Yt&&(this.Ft&&this.Ft.remove(this.jt),this.Yt=!1,this.Vt)&&this.Vt.parent&&this.Vt.remove()}},{key:"on",value:function(t,i){this.Bt.set(t,i)}},{key:"setMarkerStyle",value:function(t,i){this.qt&&this.Vt&&this.Vt.parent&&this.Vt.remove(),this.qt=Object.assign({},i,{type:t}),this.Vt=this.ai(this.qt),this.ui()}},{key:"setTrackStyle",value:function(t){this.oi=t,this.$t=t.height||0;var i=this.ci(this.zt,this.$t),i=this.li(i);this.Ft=new A.FMLineMarker({color:t.color,width:t.width,animate:t.animate,smooth:!1,segments:i,url:t.url,type:t.type,borderColor:t.borderColor,depth:t.depth,zFighting:void 0===t.zFighting||t.zFighting}),this.hi(),this.Ft.getLineNodes||1!=this.Gt||(this.Gt=!1)}},{key:"dispose",value:function(){this.jt.off("levelChanged",this.ii),this.jt.off("visibleLevelsLoaded",this.ii),this.xt&&this.jt.off("buildingLoaded",this.ni),window.cancelAnimationFrame(this.Ut),this.clear(),this.Ft&&this.Ft.dispose(),this.Vt&&this.Vt.parent&&this.Vt.dispose(),this.Ft=null,this.Vt=null,this.Ht=null,this.zt=null,this.jt=null,this.Dt=null,this.Rt=null,this.qt=null}}])&&tt(t.prototype,i),n&&tt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),nt=(Object.assign(i.prototype,{ni:function(t){var i=this.ti.get(t.buildingID);i&&!i.hasProcess&&(this.ti.set(t.buildingID,{hasProcess:!0}),this.ii(),i=this.ci(this.zt,this.$t),t=this.li(i),this.Ft)&&(this.Ft.segments=t)},ii:function(){this.zt&&(this.setTracks(this.zt,!1),this.setProgress(this.It,!1))},fi:function(){return this.Gt},hi:function(){0!=this.Yt&&null!==this.Ft&&(this.Ft&&this.Ft.addTo(this.jt),this.vi())},yi:function(){var t=this.zt[this.At].level,i=this.Mi(this.zt[this.At].buildingID);return{floor:this.jt.getBuilding(i).getFloor(t),buildingID:i,level:t}},ui:function(){var t;0!=this.Yt&&(t=this.yi().floor,this.qt.type===A.FMType.LOCATION_MARKER?this.Vt.addTo(this.jt):this.Vt.addTo(t),this.qt.type!=A.FMType.DYNAMIC_MODEL_MARKER)&&this.di()},ai:function(t){var i=this,n=t.type,e=t.size,r=t.scale,s=t.url,h=t.height,h=(this.Kt=h||0,S(S(S(S({},A.FMType.LOCATION_MARKER,A.FMLocationMarker),A.FMType.DYNAMIC_MODEL_MARKER,A.FMDynamicModel),A.FMType.IMAGE_MARKER,A.FMImageMarker),A.FMType.DOM_MARKER,A.FMDomMarker)),u=null,a=null,h=(null!=this.zt&&(u=this.zt[0].level,a=this.zt[0].buildingID),h[n]);if(h)return r=S(S(S(S({},A.FMType.IMAGE_MARKER,{url:s,size:e,x:0,y:0}),A.FMType.DYNAMIC_MODEL_MARKER,{url:s,scale:r,x:0,y:0,callback:function(){i.di()}}),A.FMType.LOCATION_MARKER,{url:s,size:e,x:0,y:0,level:u,buildingID:a}),A.FMType.DOM_MARKER,{x:0,y:0}),new h(Object.assign(r[n],t));console.error("type only is LOCATION_MARKER, DYNAMIC_MODEL_MARKER, IMAGE_MARKER")},vi:function(){var t,i;this.Ft&&(t=(i=this.ki()).p,i=i.pNoGap,this.fi()?this.mi(t):this.Ft.moveProportion(i))},pi:function(){var t,i=this.yi().floor;if(i)return(t={x:this.Ht.x,y:this.Ht.y,z:this.Ht.z}).z-=i.height,t},di:function(){var t,i,n,e;this.Vt&&this.Yt&&(t=(e=this.yi()).buildingID,i=e.level,e=e.floor)&&(n=this.pi(),e=this.qt.type==A.FMType.LOCATION_MARKER?this.jt:e,this.Vt.level!=i&&(this.Vt.parent&&this.Vt.remove(),this.Vt.addTo(e)),this.Vt.moveTo({x:n.x,y:n.y,animate:!1,level:i,buildingID:t}),this.Vt.height=n.z+this.Kt)},bi:function(t,i){var n=this.Bt.get(t);this.Qt.playing===t&&!0===this.Et?n&&n(i):this.Qt.playing!==t&&n&&n(i)},gi:function(){this.di()},ki:function(){return{p:this.Pt/this.Xt,pNoGap:this.Ct/this.wi}},_i:function(){var t=this.Tt/this.Zt;return Math.min(+t.toFixed(t,3),1)},Si:function(t,i,n){t=new k(t.x,t.y,t.absoluteZ),i=new k(i.x,i.y,i.absoluteZ),t=t.lerp(i,n);null==this.Ht&&(this.Ht=t.clone()),this.Pt+=t.distanceTo(this.Ht),this.Ht.set(t.x,t.y,t.z)},xi:function(t,i,n){var e=new k(t.x,t.y,t.relativeZ),r=new k(i.x,i.y,i.relativeZ),e=e.lerp(r,n);null==this.Nt&&(this.Nt=e.clone()),t.level===i.level&&(this.Ct+=this.Nt.distanceTo(e)),this.Nt.set(e.x,e.y,e.z)},ri:function(){var t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],i=this.zt[this.At],n=this.Tt-this.Dt[this.At],i=i.nextPointTimeGap,e=-1;if(0==n&&null!=i)e=0;else{if(null==i)return 0==this.Et?(r=this.zt[this.At],t&&this.bi(this.Qt.playing,{progress:this.zt[this.At].timestamp,level:this.zt[this.At].level,buildingID:this.zt[this.At].buildingID,index:this.At,position:{x:r.x,y:r.y,z:r.z}}),t&&this.bi(this.Qt.complete),null==this.Ht&&(this.Ht=new k(0,0,0)),this.Ht.set(r.x,r.y,r.absoluteZ),this.gi(),this.vi()):t&&this.bi(this.Qt.complete),void(this.Et=!1);e=n/i}var e=Math.min(e,1),r=this.zt[this.At],t=this.zt[this.At+1],n=(this.Si(r,t,e),this.xi(r,t,e),this.gi(),this.vi(),1<=e&&(this.At+=1),r.timestamp),i=t.timestamp;this.It=Number.parseInt(u.lerp(n,i,e)),this.bi(this.Qt.playing,{progress:this.It,level:this.zt[this.At].level,buildingID:this.zt[this.At].buildingID,index:this.At,position:{x:this.Ht.x,y:this.Ht.y,z:this.Ht.z}})},Jt:function(){var t,i;this.Ut=$.window.requestAnimationFrame(this.Jt.bind(this)),this.Et&&(null==this.Ot&&(this.Ot=(new Date).getTime()),i=(t=(new Date).getTime())-this.Ot,i*=this.Lt,this.Ot=t,this.Tt+=i,this.ri())},ci:function(t,i){for(var n=[],e=-1,r=-1,s={groupId:-1,points:[]},h=0;h<t.length;h++){var u=t[h],a=u.x,o=u.y,c=u.z,l=u.level,u=u.buildingID;e===l&&r===u||(0<s.points.length&&n.push(s),s={groupId:l,buildingID:u,points:[]},e=l,r=u),s.points.push({x:a,y:o,z:c+i}),h===t.length-1&&n.push(s)}return n},ji:function(t,i,n,e,r){return(r-t)/(i-t)*(e-n)+n},li:function(t){for(var i=[],n=0;n<t.length;n++){var e=t[n],r=e.groupId,s=e.points,e=e.buildingID,h=new A.FMSegment;h.level=r,h.points=s,h.buildingID=e,i.push(h)}return i},Ei:function(t){for(var i=this.zt,n=-1,e=1;e<=i.length-1;e++)t>=this.Dt[e-1]&&t<this.Dt[e]&&(n=e-1);return n},Oi:function(t,i){var n=-1,e=-1,r=-1,s=i[t-1];s&&s.timestamp&&(n=t-1);for(var h,u,a,o=t+1;o<i.length;o++){var c=i[o];if(c&&c.time){e=o;break}}return-1!==e&&-1!==n&&(s=i[n].timestamp,h=new Date(i[e].time).getTime()-s,a=new l(i[n].x,i[n].y),t=new l(i[t].x,i[t].y),u=new l(i[e].x,i[e].y),r=(a=t.distanceTo(a))/(a+t.distanceTo(u))*h+s),r=-1===(r=-1===r&&-1!==e?new Date(i[e].time).getTime():r)&&-1!==n?i[n].timestamp:r},Ti:function(t,i,n){var e=new Date(t.time).getTime(),r=new Date(n.time).getTime()-e,t=new l(t.x,t.y),i=new l(i.x,i.y),n=new l(n.x,n.y),t=i.distanceTo(t);return t/(t+i.distanceTo(n))*r+e},ei:function(t){this.Dt=[],this.Zt=0,this.Rt=[],this.si=[],this.Xt=0;for(var i=t[this.wi=0].buildingID,n=(void 0===i&&(i=null),t.length),e=0;e<n;e++){void 0===t[e].z&&(t[e].z=0),void 0===t[e].buildingID&&(t[e].buildingID=null);var r,s=t[e],h=s.time,u=s.level,s=s.buildingID,h=(s&&this.ti.set(s,{}),t[e].timestamp=new Date(h).getTime(),!isNaN(t[e].timestamp)&&0!==t[e].timestamp||(t[e].timestamp=this.Oi(e,t)),this.jt.getBuilding(this.Mi(s)).getFloor(u));if(!h)return void console.warn("level 不可见",u);t[e].absoluteZ=t[e].z+h.height,t[e].relativeZ=t[e].z,i!==s&&this.xt&&(u=_({},t[e-1]),h=_({},t[e]),r=t[e-1].buildingID?e-1:e,r=null==(r=this.jt.getBuilding(this.Mi(t[r].buildingID)).getFloor(t[r].level).getLayers(A.FMType.EXTENT_LAYER)[0])||null==(r=r.getFeatures()[0])?void 0:r.coordinates[0])&&K.ht(u,h,r,r={})&&(t.splice(e,0,_(_({},u),{},{x:r.x,y:r.y,timestamp:this.Ti(u,r,h)})),t.splice(e+1,0,_(_({},h),{},{x:r.x,y:r.y,timestamp:this.Ti(u,r,h)})),n+=2,e+=2),i=s}for(var a=new k(t[0].x,t[0].y,t[0].absoluteZ),o=new k(t[0].x,t[0].y,t[0].relativeZ),c=-1,l=0;l<t.length-1;l++){var f=t[l].level,v=new k(t[l].x,t[l].y,t[l].absoluteZ),y=new k(t[l].x,t[l].y,t[l].relativeZ);this.Xt+=v.clone().distanceTo(a),(c=-1==c?f:c)==f&&(this.wi+=y.clone().distanceTo(o)),c=f,t[l].nextPointTimeGap=t[l+1].timestamp-t[l].timestamp,t[l].nextPointTimeGap<0&&(t[l].nextPointTimeGap=0),this.Dt[l]=this.Zt,this.Zt+=t[l].nextPointTimeGap,this.Rt[l]=this.Xt,this.si[l]=this.wi,a.copy(v),o.copy(y)}var M=t.length-1,d=(t[M].nextPointTimeGap=void 0,this.Dt[M]=this.Zt,new k(t[M].x,t[M].y,t[M].absoluteZ)),M=new k(t[M].x,t[M].y,t[M].relativeZ);this.Xt+=d.distanceTo(a),this.wi+=M.distanceTo(o),this.Rt[t.length-1]=this.Xt,this.si[t.length-1]=this.wi},mi:function(t){for(var i=this.Ft.getLineNodes(),n=0,e=i.length-1;-1<e;e--)n+=i[e].seg.length;for(var r=0,s=i.length-1;-1<s;s--){var h=r/n,u=(r+=i[s].seg.length)/n;u<t?i[s].line.material.uniforms.miny.value=1:t<=u&&(i[s].line.material.uniforms.miny.value=(t-h)/(u-h))}},Mi:function(t){return null==t||""===t?this.jt.getMapOptions().buildingID:t}}),"v3.1.5"),et=69,I=window.fengmap||{};I.VERSION=nt,I.BUILD=et,I.FMTracksPlayer=i,t.default=I}],e={},r.m=n,r.c=e,r.d=function(t,i,n){r.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"Pi",{value:!0})},r.t=function(i,t){if(1&t&&(i=r(i)),8&t)return i;if(4&t&&"object"==typeof i&&i&&i.Pi)return i;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:i}),2&t&&"string"!=typeof i)for(var e in i)r.d(n,e,function(t){return i[t]}.bind(null,e));return n},r.n=function(t){var i=t&&t.Pi?function(){return t.default}:function(){return t};return r.d(i,"a",i),i},r.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},r.p="",r(r.s=0).default;function r(t){var i;return(e[t]||(i=e[t]={i:t,l:!1,exports:{}},n[t].call(i.exports,i,i.exports,r),i.l=!0,i)).exports}var n,e});