fengmap.plugins-mapedit.min.js 146.5 KB
/**Released Version v3.1.2,BUILD 8,Time 1681293328672. 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 s={},h.m=n=[function(t,i,n){"use strict";n.r(i);for(var h=[],s=0;s<256;s++)h[s]=(s<16?"0":"")+s.toString(16);var d={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,s=4294967295*Math.random()|0;return(h[255&t]+h[t>>8&255]+h[t>>16&255]+h[t>>24&255]+"-"+h[255&i]+h[i>>8&255]+"-"+h[i>>16&15|64]+h[i>>24&255]+"-"+h[63&n|128]+h[n>>8&255]+"-"+h[n>>16&255]+h[n>>24&255]+h[255&s]+h[s>>8&255]+h[s>>16&255]+h[s>>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,s,h){return s+(t-i)*(h-s)/(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())},degToRad:function(t){return t*d.DEG2RAD},radToDeg:function(t){return t*d.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,s,h){var r=Math.cos,e=Math.sin,o=r(n/2),u=e(n/2),a=r((i+s)/2),c=e((i+s)/2),f=r((i-s)/2),n=e((i-s)/2),r=r((s-i)/2),i=e((s-i)/2);"XYX"===h?t.set(o*c,u*f,u*n,o*a):"YZY"===h?t.set(u*n,o*c,u*f,o*a):"ZXZ"===h?t.set(u*f,u*n,o*c,o*a):"XZX"===h?t.set(o*c,u*i,u*r,o*a):"YXY"===h?t.set(u*r,o*c,u*i,o*a):"ZYZ"===h?t.set(u*i,u*r,o*c,o*a):console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order.")}};function r(t,i,n,s){this.u=t||0,this.v=i||0,this.M=n||0,this.A=void 0!==s?s:1}Object.assign(r,{slerp:function(t,i,n,s){return n.copy(t).slerp(i,s)},slerpFlat:function(t,i,n,s,h,r,e){var o=n[s+0],u=n[s+1],a=n[s+2],c=n[s+3],f=h[r+0],l=h[r+1],v=h[r+2],d=h[r+3];c===d&&o===f&&u===l&&a===v||(n=1-e,h=0<=(s=o*f+u*l+a*v+c*d)?1:-1,(r=1-s*s)>Number.EPSILON&&(r=Math.sqrt(r),s=Math.atan2(r,s*h),n=Math.sin(n*s)/r,e=Math.sin(e*s)/r),o=o*n+f*(h=e*h),u=u*n+l*h,a=a*n+v*h,c=c*n+d*h,n===1-e&&(o*=e=1/Math.sqrt(o*o+u*u+a*a+c*c),u*=e,a*=e,c*=e)),t[i]=o,t[i+1]=u,t[i+2]=a,t[i+3]=c}}),Object.defineProperties(r.prototype,{x:{get:function(){return this.u},set:function(t){this.u=t,this.R()}},y:{get:function(){return this.v},set:function(t){this.v=t,this.R()}},z:{get:function(){return this.M},set:function(t){this.M=t,this.R()}},w:{get:function(){return this.A},set:function(t){this.A=t,this.R()}}}),Object.assign(r.prototype,{isQuaternion:!0,set:function(t,i,n,s){return this.u=t,this.v=i,this.M=n,this.A=s,this.R(),this},clone:function(){return new this.constructor(this.u,this.v,this.M,this.A)},copy:function(t){return this.u=t.x,this.v=t.y,this.M=t.z,this.A=t.w,this.R(),this},setFromEuler: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.u,s=t.v,h=t.M,r=t.order,e=Math.cos,o=Math.sin,u=e(n/2),t=e(s/2),e=e(h/2),n=o(n/2),s=o(s/2),h=o(h/2);return"XYZ"===r?(this.u=n*t*e+u*s*h,this.v=u*s*e-n*t*h,this.M=u*t*h+n*s*e,this.A=u*t*e-n*s*h):"YXZ"===r?(this.u=n*t*e+u*s*h,this.v=u*s*e-n*t*h,this.M=u*t*h-n*s*e,this.A=u*t*e+n*s*h):"ZXY"===r?(this.u=n*t*e-u*s*h,this.v=u*s*e+n*t*h,this.M=u*t*h+n*s*e,this.A=u*t*e-n*s*h):"ZYX"===r?(this.u=n*t*e-u*s*h,this.v=u*s*e+n*t*h,this.M=u*t*h-n*s*e,this.A=u*t*e+n*s*h):"YZX"===r?(this.u=n*t*e+u*s*h,this.v=u*s*e+n*t*h,this.M=u*t*h-n*s*e,this.A=u*t*e-n*s*h):"XZY"===r&&(this.u=n*t*e-u*s*h,this.v=u*s*e-n*t*h,this.M=u*t*h+n*s*e,this.A=u*t*e+n*s*h),!1!==i&&this.R(),this},setFromAxisAngle:function(t,i){var n=i/2,i=Math.sin(n);return this.u=t.x*i,this.v=t.y*i,this.M=t.z*i,this.A=Math.cos(n),this.R(),this},setFromRotationMatrix:function(t){var i,n=t.elements,s=n[0],h=n[4],r=n[8],e=n[1],o=n[5],u=n[9],a=n[2],c=n[6],t=n[10],n=s+o+t;return 0<n?(i=.5/Math.sqrt(n+1),this.A=.25/i,this.u=(c-u)*i,this.v=(r-a)*i,this.M=(e-h)*i):o<s&&t<s?(i=2*Math.sqrt(1+s-o-t),this.A=(c-u)/i,this.u=.25*i,this.v=(h+e)/i,this.M=(r+a)/i):t<o?(i=2*Math.sqrt(1+o-s-t),this.A=(r-a)/i,this.u=(h+e)/i,this.v=.25*i,this.M=(u+c)/i):(i=2*Math.sqrt(1+t-s-o),this.A=(e-h)/i,this.u=(r+a)/i,this.v=(u+c)/i,this.M=.25*i),this.R(),this},setFromUnitVectors:function(t,i){var n=t.dot(i)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this.u=-t.y,this.v=t.x,this.M=0):(this.u=0,this.v=-t.z,this.M=t.y)):(this.u=t.y*i.z-t.z*i.y,this.v=t.z*i.x-t.x*i.z,this.M=t.x*i.y-t.y*i.x),this.A=n,this.normalize()},angleTo:function(t){return 2*Math.acos(Math.abs(d.clamp(this.dot(t),-1,1)))},rotateTowards:function(t,i){var n=this.angleTo(t);if(0===n)return this;n=Math.min(1,i/n);return this.slerp(t,n),this},inverse:function(){return this.conjugate()},conjugate:function(){return this.u*=-1,this.v*=-1,this.M*=-1,this.R(),this},dot:function(t){return this.u*t.u+this.v*t.v+this.M*t.M+this.A*t.A},lengthSq:function(){return this.u*this.u+this.v*this.v+this.M*this.M+this.A*this.A},length:function(){return Math.sqrt(this.u*this.u+this.v*this.v+this.M*this.M+this.A*this.A)},normalize:function(){var t=this.length();return 0===t?(this.u=0,this.v=0,this.M=0,this.A=1):(this.u=this.u*(t=1/t),this.v=this.v*t,this.M=this.M*t,this.A=this.A*t),this.R(),this},multiply: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)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,i){var n=t.u,s=t.v,h=t.M,r=t.A,e=i.u,o=i.v,t=i.M,i=i.A;return this.u=n*i+r*e+s*t-h*o,this.v=s*i+r*o+h*e-n*t,this.M=h*i+r*t+n*o-s*e,this.A=r*i-n*e-s*o-h*t,this.R(),this},slerp:function(t,i){if(0===i)return this;if(1===i)return this.copy(t);var n=this.u,s=this.v,h=this.M,r=this.A,e=r*t.A+n*t.u+s*t.v+h*t.M;if(e<0?(this.A=-t.A,this.u=-t.u,this.v=-t.v,this.M=-t.M,e=-e):this.copy(t),1<=e)return this.A=r,this.u=n,this.v=s,this.M=h,this;t=1-e*e;if(t<=Number.EPSILON){var o=1-i;return this.A=o*r+i*this.A,this.u=o*n+i*this.u,this.v=o*s+i*this.v,this.M=o*h+i*this.M,this.normalize(),this.R(),this}o=Math.sqrt(t),t=Math.atan2(o,e),e=Math.sin((1-i)*t)/o,o=Math.sin(i*t)/o;return this.A=r*e+this.A*o,this.u=n*e+this.u*o,this.v=s*e+this.v*o,this.M=h*e+this.M*o,this.R(),this},equals:function(t){return t.u===this.u&&t.v===this.v&&t.M===this.M&&t.A===this.A},fromArray:function(t,i){return this.u=t[i=void 0===i?0:i],this.v=t[i+1],this.M=t[i+2],this.A=t[i+3],this.R(),this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.u,t[i+1]=this.v,t[i+2]=this.M,t[i+3]=this.A,t},fromBufferAttribute:function(t,i){return this.u=t.getX(i),this.v=t.getY(i),this.M=t.getZ(i),this.A=t.getW(i),this},T:function(t){return this.R=t,this},R:function(){}});var e=new g,o=new r;function g(t,i,n){this.x=t||0,this.y=i||0,this.z=n||0}Object.assign(g.prototype,{isVector3:!0,set:function(t,i,n){return this.x=t,this.y=i,this.z=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent: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},getComponent: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)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add: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)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this},sub: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)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this},multiply: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)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,i){return this.x=t.x*i.x,this.y=t.y*i.y,this.z=t.z*i.z,this},applyEuler:function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(o.setFromEuler(t))},applyAxisAngle:function(t,i){return this.applyQuaternion(o.setFromAxisAngle(t,i))},applyMatrix3:function(t){var i=this.x,n=this.y,s=this.z,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6]*s,this.y=t[1]*i+t[4]*n+t[7]*s,this.z=t[2]*i+t[5]*n+t[8]*s,this},applyNormalMatrix:function(t){return this.applyMatrix3(t).normalize()},applyMatrix4:function(t){var i=this.x,n=this.y,s=this.z,h=t.elements,t=1/(h[3]*i+h[7]*n+h[11]*s+h[15]);return this.x=(h[0]*i+h[4]*n+h[8]*s+h[12])*t,this.y=(h[1]*i+h[5]*n+h[9]*s+h[13])*t,this.z=(h[2]*i+h[6]*n+h[10]*s+h[14])*t,this},applyQuaternion:function(t){var i=this.x,n=this.y,s=this.z,h=t.x,r=t.y,e=t.z,o=t.w,u=o*i+r*s-e*n,a=o*n+e*i-h*s,t=o*s+h*n-r*i,s=-h*i-r*n-e*s;return this.x=u*o+s*-h+a*-e-t*-r,this.y=a*o+s*-r+t*-h-u*-e,this.z=t*o+s*-e+u*-r-a*-h,this},project:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)},unproject:function(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)},transformDirection:function(t){var i=this.x,n=this.y,s=this.z,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*s,this.y=t[1]*i+t[5]*n+t[9]*s,this.z=t[2]*i+t[6]*n+t[10]*s,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min: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},max: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},clamp: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},clampScalar: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},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero: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},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp: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},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},cross: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)},crossVectors:function(t,i){var n=t.x,s=t.y,h=t.z,r=i.x,t=i.y,i=i.z;return this.x=s*i-h*t,this.y=h*r-n*i,this.z=n*t-s*r,this},projectOnVector:function(t){var i=t.lengthSq();if(0===i)return this.set(0,0,0);i=t.dot(this)/i;return this.copy(t).multiplyScalar(i)},projectOnPlane:function(t){return e.copy(this).projectOnVector(t),this.sub(e)},reflect:function(t){return this.sub(e.copy(t).multiplyScalar(2*this.dot(t)))},angleTo:function(t){var i=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===i)return Math.PI/2;i=this.dot(t)/i;return Math.acos(d.clamp(i,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared: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},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)},setFromSphericalCoords:function(t,i,n){var s=Math.sin(i)*t;return this.x=s*Math.sin(n),this.y=Math.cos(i)*t,this.z=s*Math.cos(n),this},setFromCylindrical:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)},setFromCylindricalCoords:function(t,i,n){return this.x=t*Math.sin(i),this.y=n,this.z=t*Math.cos(i),this},setFromMatrixPosition:function(t){t=t.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},setFromMatrixScale: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},setFromMatrixColumn:function(t,i){return this.fromArray(t.elements,4*i)},setFromMatrix3Column:function(t,i){return this.fromArray(t.elements,3*i)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this.z=t[i+2],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t},fromBufferAttribute: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}});var u=new g,a=new p,c=new g(0,0,0),f=new g(1,1,1),l=new g,v=new g,M=new g;function p(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],0<arguments.length&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function y(){this.type="Curve",this.arcLengthDivisions=200}function R(t,i){this.x=t||0,this.y=i||0}function m(t,i,n,s,h,r,e,o){y.call(this),this.type="EllipseCurve",this.aX=t||0,this.aY=i||0,this.xRadius=n||1,this.yRadius=s||1,this.aStartAngle=h||0,this.aEndAngle=r||2*Math.PI,this.aClockwise=e||!1,this.aRotation=o||0}Object.assign(p.prototype,{isMatrix4:!0,set:function(t,i,n,s,h,r,e,o,u,a,c,f,l,v,d,M){var p=this.elements;return p[0]=t,p[4]=i,p[8]=n,p[12]=s,p[1]=h,p[5]=r,p[9]=e,p[13]=o,p[2]=u,p[6]=a,p[10]=c,p[14]=f,p[3]=l,p[7]=v,p[11]=d,p[15]=M,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new p).fromArray(this.elements)},copy:function(t){var i=this.elements,t=t.elements;return i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3],i[4]=t[4],i[5]=t[5],i[6]=t[6],i[7]=t[7],i[8]=t[8],i[9]=t[9],i[10]=t[10],i[11]=t[11],i[12]=t[12],i[13]=t[13],i[14]=t[14],i[15]=t[15],this},copyPosition:function(t){var i=this.elements,t=t.elements;return i[12]=t[12],i[13]=t[13],i[14]=t[14],this},extractBasis:function(t,i,n){return t.setFromMatrixColumn(this,0),i.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(t,i,n){return this.set(t.x,i.x,n.x,0,t.y,i.y,n.y,0,t.z,i.z,n.z,0,0,0,0,1),this},extractRotation:function(t){var i=this.elements,n=t.elements,s=1/u.setFromMatrixColumn(t,0).length(),h=1/u.setFromMatrixColumn(t,1).length(),t=1/u.setFromMatrixColumn(t,2).length();return i[0]=n[0]*s,i[1]=n[1]*s,i[2]=n[2]*s,i[3]=0,i[4]=n[4]*h,i[5]=n[5]*h,i[6]=n[6]*h,i[7]=0,i[8]=n[8]*t,i[9]=n[9]*t,i[10]=n[10]*t,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,this},makeRotationFromEuler:function(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var i,n,s,h,r,e,o,u,a,c,f,l,v=this.elements,d=t.x,M=t.y,p=t.z,y=Math.cos(d),m=Math.sin(d),w=Math.cos(M),d=Math.sin(M),M=Math.cos(p),p=Math.sin(p);return"XYZ"===t.order?(r=y*M,e=y*p,o=m*M,u=m*p,v[0]=w*M,v[4]=-w*p,v[8]=d,v[1]=e+o*d,v[5]=r-u*d,v[9]=-m*w,v[2]=u-r*d,v[6]=o+e*d,v[10]=y*w):"YXZ"===t.order?(n=w*p,s=d*M,v[0]=(i=w*M)+(h=d*p)*m,v[4]=s*m-n,v[8]=y*d,v[1]=y*p,v[5]=y*M,v[9]=-m,v[2]=n*m-s,v[6]=h+i*m,v[10]=y*w):"ZXY"===t.order?(n=w*p,s=d*M,v[0]=(i=w*M)-(h=d*p)*m,v[4]=-y*p,v[8]=s+n*m,v[1]=n+s*m,v[5]=y*M,v[9]=h-i*m,v[2]=-y*d,v[6]=m,v[10]=y*w):"ZYX"===t.order?(r=y*M,e=y*p,o=m*M,u=m*p,v[0]=w*M,v[4]=o*d-e,v[8]=r*d+u,v[1]=w*p,v[5]=u*d+r,v[9]=e*d-o,v[2]=-d,v[6]=m*w,v[10]=y*w):"YZX"===t.order?(a=y*w,c=y*d,f=m*w,l=m*d,v[0]=w*M,v[4]=l-a*p,v[8]=f*p+c,v[1]=p,v[5]=y*M,v[9]=-m*M,v[2]=-d*M,v[6]=c*p+f,v[10]=a-l*p):"XZY"===t.order&&(a=y*w,c=y*d,f=m*w,l=m*d,v[0]=w*M,v[4]=-p,v[8]=d*M,v[1]=a*p+l,v[5]=y*M,v[9]=c*p-f,v[2]=f*p-c,v[6]=m*M,v[10]=l*p+a),v[3]=0,v[7]=0,v[11]=0,v[12]=0,v[13]=0,v[14]=0,v[15]=1,this},makeRotationFromQuaternion:function(t){return this.compose(c,t,f)},lookAt:function(t,i,n){var s=this.elements;return M.subVectors(t,i),0===M.lengthSq()&&(M.z=1),M.normalize(),l.crossVectors(n,M),0===l.lengthSq()&&(1===Math.abs(n.z)?M.x+=1e-4:M.z+=1e-4,M.normalize(),l.crossVectors(n,M)),l.normalize(),v.crossVectors(M,l),s[0]=l.x,s[4]=v.x,s[8]=M.x,s[1]=l.y,s[5]=v.y,s[9]=M.y,s[2]=l.z,s[6]=v.z,s[10]=M.z,this},multiply:function(t,i){return void 0!==i?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,i)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,i){var n=t.elements,s=i.elements,h=this.elements,r=n[0],e=n[4],o=n[8],u=n[12],a=n[1],c=n[5],f=n[9],l=n[13],v=n[2],d=n[6],M=n[10],p=n[14],y=n[3],m=n[7],w=n[11],g=n[15],b=s[0],A=s[4],E=s[8],R=s[12],x=s[1],T=s[5],S=s[9],O=s[13],j=s[2],k=s[6],B=s[10],I=s[14],t=s[3],i=s[7],n=s[11],s=s[15];return h[0]=r*b+e*x+o*j+u*t,h[4]=r*A+e*T+o*k+u*i,h[8]=r*E+e*S+o*B+u*n,h[12]=r*R+e*O+o*I+u*s,h[1]=a*b+c*x+f*j+l*t,h[5]=a*A+c*T+f*k+l*i,h[9]=a*E+c*S+f*B+l*n,h[13]=a*R+c*O+f*I+l*s,h[2]=v*b+d*x+M*j+p*t,h[6]=v*A+d*T+M*k+p*i,h[10]=v*E+d*S+M*B+p*n,h[14]=v*R+d*O+M*I+p*s,h[3]=y*b+m*x+w*j+g*t,h[7]=y*A+m*T+w*k+g*i,h[11]=y*E+m*S+w*B+g*n,h[15]=y*R+m*O+w*I+g*s,this},multiplyScalar:function(t){var i=this.elements;return i[0]*=t,i[4]*=t,i[8]*=t,i[12]*=t,i[1]*=t,i[5]*=t,i[9]*=t,i[13]*=t,i[2]*=t,i[6]*=t,i[10]*=t,i[14]*=t,i[3]*=t,i[7]*=t,i[11]*=t,i[15]*=t,this},determinant:function(){var t=this.elements,i=t[0],n=t[4],s=t[8],h=t[12],r=t[1],e=t[5],o=t[9],u=t[13],a=t[2],c=t[6],f=t[10],l=t[14];return t[3]*(+h*o*c-s*u*c-h*e*f+n*u*f+s*e*l-n*o*l)+t[7]*(+i*o*l-i*u*f+h*r*f-s*r*l+s*u*a-h*o*a)+t[11]*(+i*u*c-i*e*l-h*r*c+n*r*l+h*e*a-n*u*a)+t[15]*(-s*e*a-i*o*c+i*e*f+s*r*c-n*r*f+n*o*a)},transpose:function(){var t=this.elements,i=t[1];return t[1]=t[4],t[4]=i,i=t[2],t[2]=t[8],t[8]=i,i=t[6],t[6]=t[9],t[9]=i,i=t[3],t[3]=t[12],t[12]=i,i=t[7],t[7]=t[13],t[13]=i,i=t[11],t[11]=t[14],t[14]=i,this},setPosition:function(t,i,n){var s=this.elements;return t.isVector3?(s[12]=t.x,s[13]=t.y,s[14]=t.z):(s[12]=t,s[13]=i,s[14]=n),this},getInverse:function(t,i){void 0!==i&&console.warn("THREE.Matrix4: .getInverse() can no longer be configured to throw on degenerate.");var n=this.elements,s=t.elements,h=s[0],r=s[1],e=s[2],o=s[3],u=s[4],a=s[5],c=s[6],f=s[7],l=s[8],v=s[9],d=s[10],M=s[11],p=s[12],y=s[13],m=s[14],w=s[15],g=v*m*f-y*d*f+y*c*M-a*m*M-v*c*w+a*d*w,b=p*d*f-l*m*f-p*c*M+u*m*M+l*c*w-u*d*w,i=l*y*f-p*v*f+p*a*M-u*y*M-l*a*w+u*v*w,t=p*v*c-l*y*c-p*a*d+u*y*d+l*a*m-u*v*m,s=h*g+r*b+e*i+o*t;if(0==s)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);s=1/s;return n[0]=g*s,n[1]=(y*d*o-v*m*o-y*e*M+r*m*M+v*e*w-r*d*w)*s,n[2]=(a*m*o-y*c*o+y*e*f-r*m*f-a*e*w+r*c*w)*s,n[3]=(v*c*o-a*d*o-v*e*f+r*d*f+a*e*M-r*c*M)*s,n[4]=b*s,n[5]=(l*m*o-p*d*o+p*e*M-h*m*M-l*e*w+h*d*w)*s,n[6]=(p*c*o-u*m*o-p*e*f+h*m*f+u*e*w-h*c*w)*s,n[7]=(u*d*o-l*c*o+l*e*f-h*d*f-u*e*M+h*c*M)*s,n[8]=i*s,n[9]=(p*v*o-l*y*o-p*r*M+h*y*M+l*r*w-h*v*w)*s,n[10]=(u*y*o-p*a*o+p*r*f-h*y*f-u*r*w+h*a*w)*s,n[11]=(l*a*o-u*v*o-l*r*f+h*v*f+u*r*M-h*a*M)*s,n[12]=t*s,n[13]=(l*y*e-p*v*e+p*r*d-h*y*d-l*r*m+h*v*m)*s,n[14]=(p*a*e-u*y*e-p*r*c+h*y*c+u*r*m-h*a*m)*s,n[15]=(u*v*e-l*a*e+l*r*c-h*v*c-u*r*d+h*a*d)*s,this},invert:function(){var t=this.elements,i=t[0],n=t[1],s=t[2],h=t[3],r=t[4],e=t[5],o=t[6],u=t[7],a=t[8],c=t[9],f=t[10],l=t[11],v=t[12],d=t[13],M=t[14],p=t[15],y=c*M*u-d*f*u+d*o*l-e*M*l-c*o*p+e*f*p,m=v*f*u-a*M*u-v*o*l+r*M*l+a*o*p-r*f*p,w=a*d*u-v*c*u+v*e*l-r*d*l-a*e*p+r*c*p,g=v*c*o-a*d*o-v*e*f+r*d*f+a*e*M-r*c*M,b=i*y+n*m+s*w+h*g;if(0==b)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);b=1/b;return t[0]=y*b,t[1]=(d*f*h-c*M*h-d*s*l+n*M*l+c*s*p-n*f*p)*b,t[2]=(e*M*h-d*o*h+d*s*u-n*M*u-e*s*p+n*o*p)*b,t[3]=(c*o*h-e*f*h-c*s*u+n*f*u+e*s*l-n*o*l)*b,t[4]=m*b,t[5]=(a*M*h-v*f*h+v*s*l-i*M*l-a*s*p+i*f*p)*b,t[6]=(v*o*h-r*M*h-v*s*u+i*M*u+r*s*p-i*o*p)*b,t[7]=(r*f*h-a*o*h+a*s*u-i*f*u-r*s*l+i*o*l)*b,t[8]=w*b,t[9]=(v*c*h-a*d*h-v*n*l+i*d*l+a*n*p-i*c*p)*b,t[10]=(r*d*h-v*e*h+v*n*u-i*d*u-r*n*p+i*e*p)*b,t[11]=(a*e*h-r*c*h-a*n*u+i*c*u+r*n*l-i*e*l)*b,t[12]=g*b,t[13]=(a*d*s-v*c*s+v*n*f-i*d*f-a*n*M+i*c*M)*b,t[14]=(v*e*s-r*d*s-v*n*o+i*d*o+r*n*M-i*e*M)*b,t[15]=(r*c*s-a*e*s+a*n*o-i*c*o-r*n*f+i*e*f)*b,this},scale:function(t){var i=this.elements,n=t.x,s=t.y,t=t.z;return i[0]*=n,i[4]*=s,i[8]*=t,i[1]*=n,i[5]*=s,i[9]*=t,i[2]*=n,i[6]*=s,i[10]*=t,i[3]*=n,i[7]*=s,i[11]*=t,this},getMaxScaleOnAxis:function(){var t=this.elements,i=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],t=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(i,n,t))},makeTranslation:function(t,i,n){return this.set(1,0,0,t,0,1,0,i,0,0,1,n,0,0,0,1),this},makeRotationX:function(t){var i=Math.cos(t),t=Math.sin(t);return this.set(1,0,0,0,0,i,-t,0,0,t,i,0,0,0,0,1),this},makeRotationY:function(t){var i=Math.cos(t),t=Math.sin(t);return this.set(i,0,t,0,0,1,0,0,-t,0,i,0,0,0,0,1),this},makeRotationZ:function(t){var i=Math.cos(t),t=Math.sin(t);return this.set(i,-t,0,0,t,i,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,i){var n=Math.cos(i),s=Math.sin(i),h=1-n,r=t.x,e=t.y,o=t.z,i=h*r,t=h*e;return this.set(i*r+n,i*e-s*o,i*o+s*e,0,i*e+s*o,t*e+n,t*o-s*r,0,i*o-s*e,t*o+s*r,h*o*o+n,0,0,0,0,1),this},makeScale:function(t,i,n){return this.set(t,0,0,0,0,i,0,0,0,0,n,0,0,0,0,1),this},makeShear:function(t,i,n){return this.set(1,i,n,0,t,1,n,0,t,i,1,0,0,0,0,1),this},compose:function(t,i,n){var s=this.elements,h=i.u,r=i.v,e=i.M,o=i.A,u=h+h,a=r+r,c=e+e,f=h*u,l=h*a,v=h*c,i=r*a,h=r*c,r=e*c,e=o*u,u=o*a,a=o*c,o=n.x,c=n.y,n=n.z;return s[0]=(1-(i+r))*o,s[1]=(l+a)*o,s[2]=(v-u)*o,s[3]=0,s[4]=(l-a)*c,s[5]=(1-(f+r))*c,s[6]=(h+e)*c,s[7]=0,s[8]=(v+u)*n,s[9]=(h-e)*n,s[10]=(1-(f+i))*n,s[11]=0,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=1,this},decompose:function(t,i,n){var s=this.elements,h=u.set(s[0],s[1],s[2]).length(),r=u.set(s[4],s[5],s[6]).length(),e=u.set(s[8],s[9],s[10]).length();this.determinant()<0&&(h=-h),t.x=s[12],t.y=s[13],t.z=s[14],a.copy(this);var o=1/h,t=1/r,s=1/e;return a.elements[0]*=o,a.elements[1]*=o,a.elements[2]*=o,a.elements[4]*=t,a.elements[5]*=t,a.elements[6]*=t,a.elements[8]*=s,a.elements[9]*=s,a.elements[10]*=s,i.setFromRotationMatrix(a),n.x=h,n.y=r,n.z=e,this},makePerspective:function(t,i,n,s,h,r){void 0===r&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var e=this.elements,o=2*h/(n-s),u=(i+t)/(i-t),n=(n+s)/(n-s),s=-(r+h)/(r-h),r=-2*r*h/(r-h);return e[0]=2*h/(i-t),e[4]=0,e[8]=u,e[12]=0,e[1]=0,e[5]=o,e[9]=n,e[13]=0,e[2]=0,e[6]=0,e[10]=s,e[14]=r,e[3]=0,e[7]=0,e[11]=-1,e[15]=0,this},makeOrthographic:function(t,i,n,s,h,r){var e=this.elements,o=1/(i-t),u=1/(n-s),a=1/(r-h),t=(i+t)*o,s=(n+s)*u,h=(r+h)*a;return e[0]=2*o,e[4]=0,e[8]=0,e[12]=-t,e[1]=0,e[5]=2*u,e[9]=0,e[13]=-s,e[2]=0,e[6]=0,e[10]=-2*a,e[14]=-h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,this},equals:function(t){for(var i=this.elements,n=t.elements,s=0;s<16;s++)if(i[s]!==n[s])return!1;return!0},fromArray:function(t,i){void 0===i&&(i=0);for(var n=0;n<16;n++)this.elements[n]=t[n+i];return this},toArray:function(t,i){var n=this.elements;return(t=void 0===t?[]:t)[i=void 0===i?0:i]=n[0],t[i+1]=n[1],t[i+2]=n[2],t[i+3]=n[3],t[i+4]=n[4],t[i+5]=n[5],t[i+6]=n[6],t[i+7]=n[7],t[i+8]=n[8],t[i+9]=n[9],t[i+10]=n[10],t[i+11]=n[11],t[i+12]=n[12],t[i+13]=n[13],t[i+14]=n[14],t[i+15]=n[15],t}}),Object.assign(y.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t,i){t=this.getUtoTmapping(t);return this.getPoint(t,i)},getPoints:function(t){void 0===t&&(t=5);for(var i=[],n=0;n<=t;n++)i.push(this.getPoint(n/t));return i},getSpacedPoints:function(t){void 0===t&&(t=5);for(var i=[],n=0;n<=t;n++)i.push(this.getPointAt(n/t));return i},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var i,n,s=[],h=this.getPoint(0),r=0;for(s.push(0),n=1;n<=t;n++)r+=(i=this.getPoint(n/t)).distanceTo(h),s.push(r),h=i;return this.cacheArcLengths=s},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,i){for(var n,s=this.getLengths(),h=0,r=s.length,e=i||t*s[r-1],o=0,u=r-1;o<=u;)if((n=s[h=Math.floor(o+(u-o)/2)]-e)<0)o=h+1;else{if(!(0<n)){u=h;break}u=h-1}if(s[h=u]===e)return h/(r-1);t=s[h];return(h+(e-t)/(s[h+1]-t))/(r-1)},getTangent:function(t){var i=t-1e-4,t=t+1e-4;1<t&&(t=1);i=this.getPoint(i=i<0?0:i);return this.getPoint(t).clone().sub(i).normalize()},getTangentAt:function(t){t=this.getUtoTmapping(t);return this.getTangent(t)},computeFrenetFrames:function(t,i){for(var n,s=new g,h=[],r=[],e=[],o=new g,u=new p,a=0;a<=t;a++)h[a]=this.getTangentAt(a/t),h[a].normalize();r[0]=new g,e[0]=new g;var c=Number.MAX_VALUE,f=Math.abs(h[0].x),l=Math.abs(h[0].y),v=Math.abs(h[0].z);for(f<=c&&(c=f,s.set(1,0,0)),l<=c&&(c=l,s.set(0,1,0)),v<=c&&s.set(0,0,1),o.crossVectors(h[0],s).normalize(),r[0].crossVectors(h[0],o),e[0].crossVectors(h[0],r[0]),a=1;a<=t;a++)r[a]=r[a-1].clone(),e[a]=e[a-1].clone(),o.crossVectors(h[a-1],h[a]),o.length()>Number.EPSILON&&(o.normalize(),n=Math.acos(d.clamp(h[a-1].dot(h[a]),-1,1)),r[a].applyMatrix4(u.makeRotationAxis(o,n))),e[a].crossVectors(h[a],r[a]);if(!0===i)for(n=Math.acos(d.clamp(r[0].dot(r[t]),-1,1)),n/=t,0<h[0].dot(o.crossVectors(r[0],r[t]))&&(n=-n),a=1;a<=t;a++)r[a].applyMatrix4(u.makeRotationAxis(h[a],n*a)),e[a].crossVectors(h[a],r[a]);return{tangents:h,normals:r,binormals:e}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),Object.defineProperties(R.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(R.prototype,{isVector2:!0,set:function(t,i){return this.x=t,this.y=i,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent: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},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add: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)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this},sub: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)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},applyMatrix3: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},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp: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},clampScalar: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},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero: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},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){return Math.atan2(-this.y,-this.x)+Math.PI},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var i=this.x-t.x,t=this.y-t.y;return i*i+t*t},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t},fromBufferAttribute: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},rotateAround:function(t,i){var n=Math.cos(i),s=Math.sin(i),h=this.x-t.x,i=this.y-t.y;return this.x=h*n-i*s+t.x,this.y=h*s+i*n+t.y,this}}),((m.prototype=Object.create(y.prototype)).constructor=m).prototype.isEllipseCurve=!0,m.prototype.getPoint=function(t,i){for(var n=i||new R,s=2*Math.PI,h=this.aEndAngle-this.aStartAngle,r=Math.abs(h)<Number.EPSILON;h<0;)h+=s;for(;s<h;)h-=s;h<Number.EPSILON&&(h=r?0:s),!0!==this.aClockwise||r||(h===s?h=-s:h-=s);var e=this.aStartAngle+t*h,o=this.aX+this.xRadius*Math.cos(e),u=this.aY+this.yRadius*Math.sin(e);return 0!==this.aRotation&&(i=Math.cos(this.aRotation),r=Math.sin(this.aRotation),o=(t=o-this.aX)*i-(e=u-this.aY)*r+this.aX,u=t*r+e*i+this.aY),n.set(o,u)},m.prototype.copy=function(t){return y.prototype.copy.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this};var w={FULL:0,DOTTED:2,DOT_DASH:4,CENTER:8,DASH:16,DOUBLE_DOT_DASH:32,TRI_DOT_DASH:64,FMARROW:128,ARROW:256},b=new g,A=new g,E=new g,x=new g,T=new g,S=new g,O=new g;function j(t,i){this.origin=void 0!==t?t:new g,this.direction=void 0!==i?i:new g(0,0,-1)}function k(){this.mask=1}function B(t,i,n,s){this.ray=new j(t,i),this.near=n||0,this.far=s||1/0,this.camera=null,this.layers=new k,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function I(t,i){return t.distance-i.distance}function V(t,i,n,s){if(t.layers.test(i.layers)&&t.raycast(i,n),!0===s)for(var h=t.children,r=0,e=h.length;r<e;r++)V(h[r],i,n,!0)}Object.assign(j.prototype,{set:function(t,i){return this.origin.copy(t),this.direction.copy(i),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,i){return void 0===i&&(console.warn("THREE.Ray: .at() target is now required"),i=new g),i.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(t){return this.origin.copy(this.at(t,b)),this},closestPointToPoint:function(t,i){void 0===i&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),i=new g),i.subVectors(t,this.origin);t=i.dot(this.direction);return t<0?i.copy(this.origin):i.copy(this.direction).multiplyScalar(t).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(t){var i=b.subVectors(t,this.origin).dot(this.direction);return i<0?this.origin.distanceToSquared(t):(b.copy(this.direction).multiplyScalar(i).add(this.origin),b.distanceToSquared(t))},distanceSqToSegment:function(t,i,n,s){A.copy(t).add(i).multiplyScalar(.5),E.copy(i).sub(t).normalize(),x.copy(this.origin).sub(A);var h,r,e=.5*t.distanceTo(i),o=-this.direction.dot(E),u=x.dot(this.direction),a=-x.dot(E),c=x.lengthSq(),t=Math.abs(1-o*o);return c=0<t?(r=o*u-a,i=e*t,0<=(h=o*a-u)?-i<=r?r<=i?(h*=t=1/t)*(h+o*(r*=t)+2*u)+r*(o*h+r+2*a)+c:(r=e,-(h=Math.max(0,-(o*r+u)))*h+r*(r+2*a)+c):(r=-e,-(h=Math.max(0,-(o*r+u)))*h+r*(r+2*a)+c):r<=-i?-(h=Math.max(0,-(-o*e+u)))*h+(r=0<h?-e:Math.min(Math.max(-e,-a),e))*(r+2*a)+c:r<=i?(h=0,(r=Math.min(Math.max(-e,-a),e))*(r+2*a)+c):-(h=Math.max(0,-(o*e+u)))*h+(r=0<h?e:Math.min(Math.max(-e,-a),e))*(r+2*a)+c):(r=0<o?-e:e,-(h=Math.max(0,-(o*r+u)))*h+r*(r+2*a)+c),n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),s&&s.copy(E).multiplyScalar(r).add(A),c},intersectSphere:function(t,i){b.subVectors(t.center,this.origin);var n=b.dot(this.direction),s=b.dot(b)-n*n,t=t.radius*t.radius;if(t<s)return null;t=Math.sqrt(t-s),s=n-t,t=n+t;return s<0&&t<0?null:s<0?this.at(t,i):this.at(s,i)},intersectsSphere:function(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius},distanceToPlane:function(t){var i=t.normal.dot(this.direction);if(0===i)return 0===t.distanceToPoint(this.origin)?0:null;i=-(this.origin.dot(t.normal)+t.constant)/i;return 0<=i?i:null},intersectPlane:function(t,i){t=this.distanceToPlane(t);return null===t?null:this.at(t,i)},intersectsPlane:function(t){var i=t.distanceToPoint(this.origin);return 0===i||t.normal.dot(this.direction)*i<0},intersectBox:function(t,i){var n,s,h,r=1/this.direction.x,e=1/this.direction.y,o=1/this.direction.z,u=this.origin,r=0<=r?(n=(t.min.x-u.x)*r,(t.max.x-u.x)*r):(n=(t.max.x-u.x)*r,(t.min.x-u.x)*r),e=0<=e?(s=(t.min.y-u.y)*e,(t.max.y-u.y)*e):(s=(t.max.y-u.y)*e,(t.min.y-u.y)*e);return e<n||r<s?null:((e<r||r!=r)&&(r=e),(o=0<=o?(h=(t.min.z-u.z)*o,(t.max.z-u.z)*o):(h=(t.max.z-u.z)*o,(t.min.z-u.z)*o))<(n=n<s||n!=n?s:n)||r<h?null:((n<h||n!=n)&&(n=h),(r=o<r||r!=r?o:r)<0?null:this.at(0<=n?n:r,i)))},intersectsBox:function(t){return null!==this.intersectBox(t,b)},intersectTriangle:function(t,i,n,s,h){T.subVectors(i,t),S.subVectors(n,t),O.crossVectors(T,S);n=this.direction.dot(O);if(0<n){if(s)return null;r=1}else{if(!(n<0))return null;r=-1,n=-n}x.subVectors(this.origin,t);s=r*this.direction.dot(S.crossVectors(x,S));if(s<0)return null;t=r*this.direction.dot(T.cross(x));if(t<0)return null;if(n<s+t)return null;var r=-r*x.dot(O);return r<0?null:this.at(r/n,h)},applyMatrix4:function(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),Object.assign(k.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask|=1<<t|0},enableAll:function(){this.mask=-1},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},disableAll:function(){this.mask=0},test:function(t){return 0!=(this.mask&t.mask)}}),Object.assign(B.prototype,{set:function(t,i){this.ray.set(t,i)},setFromCamera:function(t,i){i&&i.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(i.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(i).sub(this.ray.origin).normalize(),this.camera=i):i&&i.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(i.near+i.far)/(i.near-i.far)).unproject(i),this.ray.direction.set(0,0,-1).transformDirection(i.matrixWorld),this.camera=i):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(t,i,n){n=n||[];return V(t,this,n,i),n.sort(I),n},intersectObjects:function(t,i,n){var s=n||[];if(!1===Array.isArray(t))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),s;for(var h=0,r=t.length;h<r;h++)V(t[h],this,s,i);return s.sort(I),s}});var C={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},F={h:0,s:0,l:0},H={h:0,s:0,l:0};function L(t,i,n){return void 0===i&&void 0===n?this.set(t):this.setRGB(t,i,n)}function P(t,i,n){return n<0&&(n+=1),1<n&&--n,n<1/6?t+6*(i-t)*n:n<.5?i:n<2/3?t+6*(i-t)*(2/3-n):t}function D(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Y(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}Object.assign(L.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this},setScalar:function(t){return this.r=t,this.g=t,this.b=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,i,n){return this.r=t,this.g=i,this.b=n,this},setHSL:function(t,i,n){return t=d.euclideanModulo(t,1),i=d.clamp(i,0,1),n=d.clamp(n,0,1),0===i?this.r=this.g=this.b=n:(this.r=P(i=2*n-(n=n<=.5?n*(1+i):n+i-n*i),n,t+1/3),this.g=P(i,n,t),this.b=P(i,n,t-1/3)),this},setStyle:function(i){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+i+" will be ignored.")}if(u=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(i)){var n,s=u[1],h=u[2];switch(s){case"rgb":case"rgba":if(n=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(h))return this.r=Math.min(255,parseInt(n[1],10))/255,this.g=Math.min(255,parseInt(n[2],10))/255,this.b=Math.min(255,parseInt(n[3],10))/255,t(n[5]),this;if(n=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(h))return this.r=Math.min(100,parseInt(n[1],10))/100,this.g=Math.min(100,parseInt(n[2],10))/100,this.b=Math.min(100,parseInt(n[3],10))/100,t(n[5]),this;break;case"hsl":case"hsla":if(n=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(h)){var r=parseFloat(n[1])/360,e=parseInt(n[2],10)/100,o=parseInt(n[3],10)/100;return t(n[5]),this.setHSL(r,e,o)}}}else if(u=/^\#([A-Fa-f0-9]+)$/.exec(i)){var s=u[1],u=s.length;if(3===u)return this.r=parseInt(s.charAt(0)+s.charAt(0),16)/255,this.g=parseInt(s.charAt(1)+s.charAt(1),16)/255,this.b=parseInt(s.charAt(2)+s.charAt(2),16)/255,this;if(6===u)return this.r=parseInt(s.charAt(0)+s.charAt(1),16)/255,this.g=parseInt(s.charAt(2)+s.charAt(3),16)/255,this.b=parseInt(s.charAt(4)+s.charAt(5),16)/255,this}return i&&0<i.length?this.setColorName(i):this},setColorName:function(t){var i=C[t];return void 0!==i?this.setHex(i):console.warn("THREE.Color: Unknown color "+t),this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,i){return void 0===i&&(i=2),this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},copyLinearToGamma:function(t,i){i=0<(i=void 0===i?2:i)?1/i:1;return this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},convertGammaToLinear:function(t){return this.copyGammaToLinear(this,t),this},convertLinearToGamma:function(t){return this.copyLinearToGamma(this,t),this},copySRGBToLinear:function(t){return this.r=D(t.r),this.g=D(t.g),this.b=D(t.b),this},copyLinearToSRGB:function(t){return this.r=Y(t.r),this.g=Y(t.g),this.b=Y(t.b),this},convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){void 0===t&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});var i,n=this.r,s=this.g,h=this.b,r=Math.max(n,s,h),e=Math.min(n,s,h),o=(e+r)/2;if(e===r)a=i=0;else{var u=r-e,a=o<=.5?u/(r+e):u/(2-r-e);switch(r){case n:i=(s-h)/u+(s<h?6:0);break;case s:i=(h-n)/u+2;break;case h:i=(n-s)/u+4}i/=6}return t.h=i,t.s=a,t.l=o,t},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(t,i,n){return this.getHSL(F),F.h+=t,F.s+=i,F.l+=n,this.setHSL(F.h,F.s,F.l),this},add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,i){return this.r=t.r+i.r,this.g=t.g+i.g,this.b=t.b+i.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this},multiply:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(t,i){return this.r+=(t.r-this.r)*i,this.g+=(t.g-this.g)*i,this.b+=(t.b-this.b)*i,this},lerpHSL:function(t,i){this.getHSL(F),t.getHSL(H);var n=d.lerp(F.h,H.h,i),t=d.lerp(F.s,H.s,i),i=d.lerp(F.l,H.l,i);return this.setHSL(n,t,i),this},equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,i){return this.r=t[i=void 0===i?0:i],this.g=t[i+1],this.b=t[i+2],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.r,t[i+1]=this.g,t[i+2]=this.b,t}}),L.NAMES=C;var _=[new g,new g,new g,new g,new g,new g,new g,new g],X=new g,N=new tt,U=new g,Z=new g,G=new g,q=new g,Q=new g,W=new g,z=new g,K=new g,J=new g,$=new g;function tt(t,i){this.min=void 0!==t?t:new g(1/0,1/0,1/0),this.max=void 0!==i?i:new g(-1/0,-1/0,-1/0)}function it(t,i,n,s,h){for(var r=0,e=t.length-3;r<=e;r+=3){$.fromArray(t,r);var o=h.x*Math.abs($.x)+h.y*Math.abs($.y)+h.z*Math.abs($.z),u=i.dot($),a=n.dot($),c=s.dot($);if(Math.max(-Math.max(u,a,c),Math.min(u,a,c))>o)return!1}return!0}function nt(){}function st(t,i,n,s){this.x=t||0,this.y=i||0,this.z=n||0,this.w=void 0!==s?s:1}Object.assign(tt.prototype,{isBox3:!0,set:function(t,i){return this.min.copy(t),this.max.copy(i),this},setFromArray:function(t){for(var i=1/0,n=1/0,s=1/0,h=-1/0,r=-1/0,e=-1/0,o=0,u=t.length;o<u;o+=3){var a=t[o],c=t[o+1],f=t[o+2];a<i&&(i=a),c<n&&(n=c),f<s&&(s=f),h<a&&(h=a),r<c&&(r=c),e<f&&(e=f)}return this.min.set(i,n,s),this.max.set(h,r,e),this},setFromBufferAttribute:function(t){for(var i=1/0,n=1/0,s=1/0,h=-1/0,r=-1/0,e=-1/0,o=0,u=t.count;o<u;o++){var a=t.getX(o),c=t.getY(o),f=t.getZ(o);a<i&&(i=a),c<n&&(n=c),f<s&&(s=f),h<a&&(h=a),r<c&&(r=c),e<f&&(e=f)}return this.min.set(i,n,s),this.max.set(h,r,e),this},setFromPoints:function(t){this.makeEmpty();for(var i=0,n=t.length;i<n;i++)this.expandByPoint(t[i]);return this},setFromCenterAndSize:function(t,i){i=X.copy(i).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this},setFromObject:function(t){return this.makeEmpty(),this.expandByObject(t)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(t){return void 0===t&&(console.warn("THREE.Box3: .getCenter() target is now required"),t=new g),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(console.warn("THREE.Box3: .getSize() target is now required"),t=new g),this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},expandByObject:function(t){t.updateWorldMatrix(!1,!1);var i=t.geometry;void 0!==i&&(null===i.boundingBox&&i.computeBoundingBox(),N.copy(i.boundingBox),N.applyMatrix4(t.matrixWorld),this.union(N));for(var n=t.children,s=0,h=n.length;s<h;s++)this.expandByObject(n[s]);return this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,i){return void 0===i&&(console.warn("THREE.Box3: .getParameter() target is now required"),i=new g),i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},intersectsSphere:function(t){return this.clampPoint(t.center,X),X.distanceToSquared(t.center)<=t.radius*t.radius},intersectsPlane:function(t){var i,n=0<t.normal.x?(i=t.normal.x*this.min.x,t.normal.x*this.max.x):(i=t.normal.x*this.max.x,t.normal.x*this.min.x);return 0<t.normal.y?(i+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(i+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),0<t.normal.z?(i+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(i+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),i<=-t.constant&&n>=-t.constant},intersectsTriangle:function(t){if(this.isEmpty())return!1;this.getCenter(z),K.subVectors(this.max,z),U.subVectors(t.a,z),Z.subVectors(t.b,z),G.subVectors(t.c,z),q.subVectors(Z,U),Q.subVectors(G,Z),W.subVectors(U,G);t=[0,-q.z,q.y,0,-Q.z,Q.y,0,-W.z,W.y,q.z,0,-q.x,Q.z,0,-Q.x,W.z,0,-W.x,-q.y,q.x,0,-Q.y,Q.x,0,-W.y,W.x,0];return!!it(t,U,Z,G,K)&&(!!it(t=[1,0,0,0,1,0,0,0,1],U,Z,G,K)&&(J.crossVectors(q,Q),it(t=[J.x,J.y,J.z],U,Z,G,K)))},clampPoint:function(t,i){return void 0===i&&(console.warn("THREE.Box3: .clampPoint() target is now required"),i=new g),i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(t){return X.copy(t).clamp(this.min,this.max).sub(t).length()},getBoundingSphere:function(t){return void 0===t&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(t.center),t.radius=.5*this.getSize(X).length(),t},intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(t){return this.isEmpty()||(_[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),_[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),_[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),_[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),_[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),_[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),_[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),_[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(_)),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(nt.prototype,{addEventListener:function(t,i){void 0===this.S&&(this.S={});var n=this.S;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(i)&&n[t].push(i)},hasEventListener:function(t,i){if(void 0===this.S)return!1;var n=this.S;return void 0!==n[t]&&-1!==n[t].indexOf(i)},removeEventListener:function(t,i){void 0!==this.S&&(void 0===(t=this.S[t])||-1!==(i=t.indexOf(i))&&t.splice(i,1))},dispatchEvent:function(t){if(void 0!==this.S){var i=this.S[t.type];if(void 0!==i){t.target=this;for(var n=i.slice(0),s=0,h=n.length;s<h;s++)n[s].call(this,t)}}}}),Object.defineProperties(st.prototype,{width:{get:function(){return this.z},set:function(t){this.z=t}},height:{get:function(){return this.w},set:function(t){this.w=t}}}),Object.assign(st.prototype,{isVector4:!0,set:function(t,i,n,s){return this.x=t,this.y=i,this.z=n,this.w=s,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;case 3:this.w=i;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this},add:function(t,i){return void 0!==i?(console.warn("THREE.Vector4: .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.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this.w=t.w+i.w,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this.w+=t.w*i,this},sub:function(t,i){return void 0!==i?(console.warn("THREE.Vector4: .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.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this.w=t.w-i.w,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var i=this.x,n=this.y,s=this.z,h=this.w,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*s+t[12]*h,this.y=t[1]*i+t[5]*n+t[9]*s+t[13]*h,this.z=t[2]*i+t[6]*n+t[10]*s+t[14]*h,this.w=t[3]*i+t[7]*n+t[11]*s+t[15]*h,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var i=Math.sqrt(1-t.w*t.w);return i<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/i,this.y=t.y/i,this.z=t.z/i),this},setAxisAngleFromRotationMatrix:function(t){var i,n,s,h=t.elements,r=h[0],e=h[4],o=h[8],u=h[1],a=h[5],c=h[9],f=h[2],l=h[6],v=h[10];if(Math.abs(e-u)<.01&&Math.abs(o-f)<.01&&Math.abs(c-l)<.01){if(Math.abs(e+u)<.1&&Math.abs(o+f)<.1&&Math.abs(c+l)<.1&&Math.abs(r+a+v-3)<.1)return this.set(1,0,0,0),this;var d=Math.PI,M=(r+1)/2,p=(a+1)/2,y=(v+1)/2,m=(e+u)/4,t=(o+f)/4,h=(c+l)/4;return p<M&&y<M?s=M<.01?(i=0,n=.707106781):(n=m/(i=Math.sqrt(M)),t/i):y<p?s=p<.01?(n=0,i=.707106781):(i=m/(n=Math.sqrt(p)),h/n):y<.01?(n=i=.707106781,s=0):(i=t/(s=Math.sqrt(y)),n=h/s),this.set(i,n,s,d),this}d=Math.sqrt((l-c)*(l-c)+(o-f)*(o-f)+(u-e)*(u-e));return Math.abs(d)<.001&&(d=1),this.x=(l-c)/d,this.y=(o-f)/d,this.z=(u-e)/d,this.w=Math.acos((r+a+v-1)/2),this},min: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.w=Math.min(this.w,t.w),this},max: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.w=Math.max(this.w,t.w),this},clamp: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.w=Math.max(t.w,Math.min(i.w,this.w)),this},clampScalar: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.w=Math.max(t,Math.min(i,this.w)),this},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero: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.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp: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.w+=(t.w-this.w)*i,this},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this.z=t[i+2],this.w=t[i+3],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t[i+3]=this.w,t},fromBufferAttribute:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this.w=t.getW(i),this}});var ht=0,rt=1,et=100,ot=204,ut=205,at=3,ct=7680,ft=519,lt=35044,vt=new g;function dt(t,i,n){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=t,this.itemSize=i,this.count=void 0!==t?t.length/i:0,this.normalized=!0===n,this.usage=lt,this.updateRange={offset:0,count:-1},this.version=0}function Mt(t,i,n){dt.call(this,new Int8Array(t),i,n)}function pt(t,i,n){dt.call(this,new Uint8Array(t),i,n)}function yt(t,i,n){dt.call(this,new Uint8ClampedArray(t),i,n)}function mt(t,i,n){dt.call(this,new Int16Array(t),i,n)}function wt(t,i,n){dt.call(this,new Uint16Array(t),i,n)}function gt(t,i,n){dt.call(this,new Int32Array(t),i,n)}function bt(t,i,n){dt.call(this,new Uint32Array(t),i,n)}function At(t,i,n){dt.call(this,new Float32Array(t),i,n)}function Et(t,i,n){dt.call(this,new Float64Array(t),i,n)}Object.defineProperty(dt.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(dt.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this},copyAt:function(t,i,n){t*=this.itemSize,n*=i.itemSize;for(var s=0,h=this.itemSize;s<h;s++)this.array[t+s]=i.array[n+s];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var i=this.array,n=0,s=0,h=t.length;s<h;s++){var r=t[s];void 0===r&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",s),r=new L),i[n++]=r.r,i[n++]=r.g,i[n++]=r.b}return this},copyVector2sArray:function(t){for(var i=this.array,n=0,s=0,h=t.length;s<h;s++){var r=t[s];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",s),r=new R),i[n++]=r.x,i[n++]=r.y}return this},copyVector3sArray:function(t){for(var i=this.array,n=0,s=0,h=t.length;s<h;s++){var r=t[s];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",s),r=new g),i[n++]=r.x,i[n++]=r.y,i[n++]=r.z}return this},copyVector4sArray:function(t){for(var i=this.array,n=0,s=0,h=t.length;s<h;s++){var r=t[s];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",s),r=new st),i[n++]=r.x,i[n++]=r.y,i[n++]=r.z,i[n++]=r.w}return this},applyMatrix3:function(t){for(var i=0,n=this.count;i<n;i++)vt.x=this.getX(i),vt.y=this.getY(i),vt.z=this.getZ(i),vt.applyMatrix3(t),this.setXYZ(i,vt.x,vt.y,vt.z);return this},applyMatrix4:function(t){for(var i=0,n=this.count;i<n;i++)vt.x=this.getX(i),vt.y=this.getY(i),vt.z=this.getZ(i),vt.applyMatrix4(t),this.setXYZ(i,vt.x,vt.y,vt.z);return this},applyNormalMatrix:function(t){for(var i=0,n=this.count;i<n;i++)vt.x=this.getX(i),vt.y=this.getY(i),vt.z=this.getZ(i),vt.applyNormalMatrix(t),this.setXYZ(i,vt.x,vt.y,vt.z);return this},transformDirection:function(t){for(var i=0,n=this.count;i<n;i++)vt.x=this.getX(i),vt.y=this.getY(i),vt.z=this.getZ(i),vt.transformDirection(t),this.setXYZ(i,vt.x,vt.y,vt.z);return this},set:function(t,i){return this.array.set(t,i=void 0===i?0:i),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,i){return this.array[t*this.itemSize]=i,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,i){return this.array[t*this.itemSize+1]=i,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,i){return this.array[t*this.itemSize+2]=i,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,i){return this.array[t*this.itemSize+3]=i,this},setXY:function(t,i,n){return t*=this.itemSize,this.array[t+0]=i,this.array[t+1]=n,this},setXYZ:function(t,i,n,s){return t*=this.itemSize,this.array[t+0]=i,this.array[t+1]=n,this.array[t+2]=s,this},setXYZW:function(t,i,n,s,h){return t*=this.itemSize,this.array[t+0]=i,this.array[t+1]=n,this.array[t+2]=s,this.array[t+3]=h,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),(Mt.prototype=Object.create(dt.prototype)).constructor=Mt,(pt.prototype=Object.create(dt.prototype)).constructor=pt,(yt.prototype=Object.create(dt.prototype)).constructor=yt,(mt.prototype=Object.create(dt.prototype)).constructor=mt,wt.prototype=Object.create(dt.prototype),wt.prototype.constructor=wt,(gt.prototype=Object.create(dt.prototype)).constructor=gt,bt.prototype=Object.create(dt.prototype),bt.prototype.constructor=bt,(At.prototype=Object.create(dt.prototype)).constructor=At,(Et.prototype=Object.create(dt.prototype)).constructor=Et;var Rt=new tt;function xt(t,i){this.center=void 0!==t?t:new g,this.radius=void 0!==i?i:0}function Tt(){this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.uvs2=[],this.groups=[],this.morphTargets={},this.skinWeights=[],this.skinIndices=[],this.boundingBox=null,this.boundingSphere=null,this.verticesNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}Object.assign(xt.prototype,{set:function(t,i){return this.center.copy(t),this.radius=i,this},setFromPoints:function(t,i){var n=this.center;void 0!==i?n.copy(i):Rt.setFromPoints(t).getCenter(n);for(var s=0,h=0,r=t.length;h<r;h++)s=Math.max(s,n.distanceToSquared(t[h]));return this.radius=Math.sqrt(s),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.center.copy(t.center),this.radius=t.radius,this},empty:function(){return this.radius<=0},containsPoint:function(t){return t.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(t){return t.distanceTo(this.center)-this.radius},intersectsSphere:function(t){var i=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=i*i},intersectsBox:function(t){return t.intersectsSphere(this)},intersectsPlane:function(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius},clampPoint:function(t,i){var n=this.center.distanceToSquared(t);return void 0===i&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),i=new g),i.copy(t),n>this.radius*this.radius&&(i.sub(this.center).normalize(),i.multiplyScalar(this.radius).add(this.center)),i},getBoundingBox:function(t){return void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new tt),t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}}),Object.assign(Tt.prototype,{computeGroups:function(t){for(var i,n=[],s=void 0,h=t.faces,r=0;r<h.length;r++){var e=h[r];e.materialIndex!==s&&(s=e.materialIndex,void 0!==i&&(i.count=3*r-i.start,n.push(i)),i={start:3*r,materialIndex:s})}void 0!==i&&(i.count=3*r-i.start,n.push(i)),this.groups=n},fromGeometry:function(t){var i=t.faces,n=t.vertices,s=t.faceVertexUvs,h=s[0]&&0<s[0].length,r=s[1]&&0<s[1].length,e=t.morphTargets,o=e.length;if(0<o){for(var u=[],a=0;a<o;a++)u[a]={name:e[a].name,data:[]};this.morphTargets.position=u}var c=t.morphNormals,f=c.length;if(0<f){for(var l=[],a=0;a<f;a++)l[a]={name:c[a].name,data:[]};this.morphTargets.normal=l}var v=t.skinIndices,d=t.skinWeights,M=v.length===n.length,p=d.length===n.length;0<n.length&&0===i.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(a=0;a<i.length;a++){var y=i[a];this.vertices.push(n[y.a],n[y.b],n[y.c]);var m=y.vertexNormals;3===m.length?this.normals.push(m[0],m[1],m[2]):(g=y.normal,this.normals.push(g,g,g));var w,g=y.vertexColors;3===g.length?this.colors.push(g[0],g[1],g[2]):(g=y.color,this.colors.push(g,g,g)),!0===h&&(void 0!==(w=s[0][a])?this.uvs.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",a),this.uvs.push(new R,new R,new R))),!0===r&&(void 0!==(w=s[1][a])?this.uvs2.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",a),this.uvs2.push(new R,new R,new R)));for(var b=0;b<o;b++){var A=e[b].vertices;u[b].data.push(A[y.a],A[y.b],A[y.c])}for(b=0;b<f;b++){var E=c[b].vertexNormals[a];l[b].data.push(E.a,E.b,E.c)}M&&this.skinIndices.push(v[y.a],v[y.b],v[y.c]),p&&this.skinWeights.push(d[y.a],d[y.b],d[y.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this}});var St=new p,Ot=new r;function jt(t,i,n,s){this.u=t||0,this.v=i||0,this.M=n||0,this.O=s||jt.DefaultOrder}function kt(){this.elements=[1,0,0,0,1,0,0,0,1],0<arguments.length&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}jt.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],jt.DefaultOrder="XYZ",Object.defineProperties(jt.prototype,{x:{get:function(){return this.u},set:function(t){this.u=t,this.R()}},y:{get:function(){return this.v},set:function(t){this.v=t,this.R()}},z:{get:function(){return this.M},set:function(t){this.M=t,this.R()}},order:{get:function(){return this.O},set:function(t){this.O=t,this.R()}}}),Object.assign(jt.prototype,{isEuler:!0,set:function(t,i,n,s){return this.u=t,this.v=i,this.M=n,this.O=s||this.O,this.R(),this},clone:function(){return new this.constructor(this.u,this.v,this.M,this.O)},copy:function(t){return this.u=t.u,this.v=t.v,this.M=t.M,this.O=t.O,this.R(),this},setFromRotationMatrix:function(t,i,n){var s=d.clamp,h=t.elements,r=h[0],e=h[4],o=h[8],u=h[1],a=h[5],c=h[9],f=h[2],t=h[6],h=h[10];return"XYZ"===(i=i||this.O)?(this.v=Math.asin(s(o,-1,1)),Math.abs(o)<.9999999?(this.u=Math.atan2(-c,h),this.M=Math.atan2(-e,r)):(this.u=Math.atan2(t,a),this.M=0)):"YXZ"===i?(this.u=Math.asin(-s(c,-1,1)),Math.abs(c)<.9999999?(this.v=Math.atan2(o,h),this.M=Math.atan2(u,a)):(this.v=Math.atan2(-f,r),this.M=0)):"ZXY"===i?(this.u=Math.asin(s(t,-1,1)),Math.abs(t)<.9999999?(this.v=Math.atan2(-f,h),this.M=Math.atan2(-e,a)):(this.v=0,this.M=Math.atan2(u,r))):"ZYX"===i?(this.v=Math.asin(-s(f,-1,1)),Math.abs(f)<.9999999?(this.u=Math.atan2(t,h),this.M=Math.atan2(u,r)):(this.u=0,this.M=Math.atan2(-e,a))):"YZX"===i?(this.M=Math.asin(s(u,-1,1)),Math.abs(u)<.9999999?(this.u=Math.atan2(-c,a),this.v=Math.atan2(-f,r)):(this.u=0,this.v=Math.atan2(o,h))):"XZY"===i?(this.M=Math.asin(-s(e,-1,1)),Math.abs(e)<.9999999?(this.u=Math.atan2(t,a),this.v=Math.atan2(o,r)):(this.u=Math.atan2(-c,h),this.v=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+i),this.O=i,!1!==n&&this.R(),this},setFromQuaternion:function(t,i,n){return St.makeRotationFromQuaternion(t),this.setFromRotationMatrix(St,i,n)},setFromVector3:function(t,i){return this.set(t.x,t.y,t.z,i||this.O)},reorder:function(t){return Ot.setFromEuler(this),this.setFromQuaternion(Ot,t)},equals:function(t){return t.u===this.u&&t.v===this.v&&t.M===this.M&&t.O===this.O},fromArray:function(t){return this.u=t[0],this.v=t[1],this.M=t[2],void 0!==t[3]&&(this.O=t[3]),this.R(),this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.u,t[i+1]=this.v,t[i+2]=this.M,t[i+3]=this.O,t},toVector3:function(t){return t?t.set(this.u,this.v,this.M):new g(this.u,this.v,this.M)},T:function(t){return this.R=t,this},R:function(){}}),Object.assign(kt.prototype,{isMatrix3:!0,set:function(t,i,n,s,h,r,e,o,u){var a=this.elements;return a[0]=t,a[1]=s,a[2]=e,a[3]=i,a[4]=h,a[5]=o,a[6]=n,a[7]=r,a[8]=u,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var i=this.elements,t=t.elements;return i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3],i[4]=t[4],i[5]=t[5],i[6]=t[6],i[7]=t[7],i[8]=t[8],this},extractBasis:function(t,i,n){return t.setFromMatrix3Column(this,0),i.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this},setFromMatrix4:function(t){t=t.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},multiply:function(t){return this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,i){var n=t.elements,s=i.elements,h=this.elements,r=n[0],e=n[3],o=n[6],u=n[1],a=n[4],c=n[7],f=n[2],l=n[5],v=n[8],d=s[0],M=s[3],p=s[6],y=s[1],m=s[4],t=s[7],i=s[2],n=s[5],s=s[8];return h[0]=r*d+e*y+o*i,h[3]=r*M+e*m+o*n,h[6]=r*p+e*t+o*s,h[1]=u*d+a*y+c*i,h[4]=u*M+a*m+c*n,h[7]=u*p+a*t+c*s,h[2]=f*d+l*y+v*i,h[5]=f*M+l*m+v*n,h[8]=f*p+l*t+v*s,this},multiplyScalar:function(t){var i=this.elements;return i[0]*=t,i[3]*=t,i[6]*=t,i[1]*=t,i[4]*=t,i[7]*=t,i[2]*=t,i[5]*=t,i[8]*=t,this},determinant:function(){var t=this.elements,i=t[0],n=t[1],s=t[2],h=t[3],r=t[4],e=t[5],o=t[6],u=t[7],t=t[8];return i*r*t-i*e*u-n*h*t+n*e*o+s*h*u-s*r*o},getInverse:function(t,i){void 0!==i&&console.warn("THREE.Matrix3: .getInverse() can no longer be configured to throw on degenerate.");var n=t.elements,s=this.elements,h=n[0],r=n[1],e=n[2],o=n[3],u=n[4],a=n[5],c=n[6],f=n[7],l=n[8],v=l*u-a*f,i=a*c-l*o,t=f*o-u*c,n=h*v+r*i+e*t;if(0==n)return this.set(0,0,0,0,0,0,0,0,0);n=1/n;return s[0]=v*n,s[1]=(e*f-l*r)*n,s[2]=(a*r-e*u)*n,s[3]=i*n,s[4]=(l*h-e*c)*n,s[5]=(e*o-a*h)*n,s[6]=t*n,s[7]=(r*c-f*h)*n,s[8]=(u*h-r*o)*n,this},transpose:function(){var t=this.elements,i=t[1];return t[1]=t[3],t[3]=i,i=t[2],t[2]=t[6],t[6]=i,i=t[5],t[5]=t[7],t[7]=i,this},getNormalMatrix:function(t){return this.setFromMatrix4(t).getInverse(this).transpose()},transposeIntoArray:function(t){var i=this.elements;return t[0]=i[0],t[1]=i[3],t[2]=i[6],t[3]=i[1],t[4]=i[4],t[5]=i[7],t[6]=i[2],t[7]=i[5],t[8]=i[8],this},setUvTransform:function(t,i,n,s,h,r,e){var o=Math.cos(h),h=Math.sin(h);this.set(n*o,n*h,-n*(o*r+h*e)+r+t,-s*h,s*o,-s*(-h*r+o*e)+e+i,0,0,1)},scale:function(t,i){var n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=i,n[4]*=i,n[7]*=i,this},rotate:function(t){var i=Math.cos(t),n=Math.sin(t),s=this.elements,h=s[0],r=s[3],e=s[6],o=s[1],u=s[4],t=s[7];return s[0]=i*h+n*o,s[3]=i*r+n*u,s[6]=i*e+n*t,s[1]=-n*h+i*o,s[4]=-n*r+i*u,s[7]=-n*e+i*t,this},translate:function(t,i){var n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=i*n[2],n[4]+=i*n[5],n[7]+=i*n[8],this},equals:function(t){for(var i=this.elements,n=t.elements,s=0;s<9;s++)if(i[s]!==n[s])return!1;return!0},fromArray:function(t,i){void 0===i&&(i=0);for(var n=0;n<9;n++)this.elements[n]=t[n+i];return this},toArray:function(t,i){var n=this.elements;return(t=void 0===t?[]:t)[i=void 0===i?0:i]=n[0],t[i+1]=n[1],t[i+2]=n[2],t[i+3]=n[3],t[i+4]=n[4],t[i+5]=n[5],t[i+6]=n[6],t[i+7]=n[7],t[i+8]=n[8],t}});var Bt=0,It=new g,Vt=new r,Ct=new p,Ft=new g,Ht=new g,Lt=new g,Pt=new r,Dt=new g(1,0,0),Yt=new g(0,1,0),_t=new g(0,0,1),Xt={type:"added"},Nt={type:"removed"};function Ut(){Object.defineProperty(this,"id",{value:Bt++}),this.uuid=d.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=Ut.DefaultUp.clone();var t=new g,i=new jt,n=new r,s=new g(1,1,1);i.T(function(){n.setFromEuler(i,!1)}),n.T(function(){i.setFromQuaternion(n,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:i},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:s},modelViewMatrix:{value:new p},normalMatrix:{value:new kt}}),this.matrix=new p,this.matrixWorld=new p,this.matrixAutoUpdate=Ut.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new k,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}Ut.DefaultUp=new g(0,1,0),Ut.DefaultMatrixAutoUpdate=!0,Ut.prototype=Object.assign(Object.create(nt.prototype),{constructor:Ut,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix4:function(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(t){return this.quaternion.premultiply(t),this},setRotationFromAxisAngle:function(t,i){this.quaternion.setFromAxisAngle(t,i)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:function(t,i){return Vt.setFromAxisAngle(t,i),this.quaternion.multiply(Vt),this},rotateOnWorldAxis:function(t,i){return Vt.setFromAxisAngle(t,i),this.quaternion.premultiply(Vt),this},rotateX:function(t){return this.rotateOnAxis(Dt,t)},rotateY:function(t){return this.rotateOnAxis(Yt,t)},rotateZ:function(t){return this.rotateOnAxis(_t,t)},translateOnAxis:function(t,i){return It.copy(t).applyQuaternion(this.quaternion),this.position.add(It.multiplyScalar(i)),this},translateX:function(t){return this.translateOnAxis(Dt,t)},translateY:function(t){return this.translateOnAxis(Yt,t)},translateZ:function(t){return this.translateOnAxis(_t,t)},localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:function(t){return t.applyMatrix4(Ct.getInverse(this.matrixWorld))},lookAt:function(t,i,n){t.isVector3?Ft.copy(t):Ft.set(t,i,n);n=this.parent;this.updateWorldMatrix(!0,!1),Ht.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Ct.lookAt(Ht,Ft,this.up):Ct.lookAt(Ft,Ht,this.up),this.quaternion.setFromRotationMatrix(Ct),n&&(Ct.extractRotation(n.matrixWorld),Vt.setFromRotationMatrix(Ct),this.quaternion.premultiply(Vt.inverse()))},add:function(t){if(1<arguments.length){for(var i=0;i<arguments.length;i++)this.add(arguments[i]);return this}return t===this?console.error("THREE.Object3D.add: object can't be added as a child of itself.",t):t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),(t.parent=this).children.push(t),t.dispatchEvent(Xt)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this},remove:function(t){if(1<arguments.length){for(var i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}var n=this.children.indexOf(t);return-1!==n&&(t.parent=null,this.children.splice(n,1),t.dispatchEvent(Nt)),this},attach:function(t){return this.updateWorldMatrix(!0,!1),Ct.getInverse(this.matrixWorld),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),Ct.multiply(t.parent.matrixWorld)),t.applyMatrix4(Ct),t.updateWorldMatrix(!1,!1),this.add(t),this},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,i){if(this[t]===i)return this;for(var n=0,s=this.children.length;n<s;n++){var h=this.children[n].getObjectByProperty(t,i);if(void 0!==h)return h}},getWorldPosition:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),t=new g),this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),t=new r),this.updateMatrixWorld(!0),this.matrixWorld.decompose(Ht,t,Lt),t},getWorldScale:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),t=new g),this.updateMatrixWorld(!0),this.matrixWorld.decompose(Ht,Pt,t),t},getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),t=new g),this.updateMatrixWorld(!0);var i=this.matrixWorld.elements;return t.set(i[8],i[9],i[10]).normalize()},raycast:function(){},traverse:function(t){t(this);for(var i=this.children,n=0,s=i.length;n<s;n++)i[n].traverse(t)},traverseVisible:function(t){if(!1!==this.visible){t(this);for(var i=this.children,n=0,s=i.length;n<s;n++)i[n].traverseVisible(t)}},traverseAncestors:function(t){var i=this.parent;null!==i&&(t(i),i.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),t=!(this.matrixWorldNeedsUpdate=!1));for(var i=this.children,n=0,s=i.length;n<s;n++)i[n].updateMatrixWorld(t)},updateWorldMatrix:function(t,i){var n=this.parent;if(!0===t&&null!==n&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===i)for(var s=this.children,h=0,r=s.length;h<r;h++)s[h].updateWorldMatrix(!1,!0)},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,i){if(void 0===i&&(i=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===i)for(var n=0;n<t.children.length;n++){var s=t.children[n];this.add(s.clone())}return this}});var Zt=1,Gt=new p,qt=new Ut,Qt=new g,Wt=new tt,zt=new tt,Kt=new g;function Jt(){Object.defineProperty(this,"id",{value:Zt+=2}),this.uuid=d.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}Jt.prototype=Object.assign(Object.create(nt.prototype),{constructor:Jt,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new(65535<function(t){if(0===t.length)return-1/0;for(var i=t[0],n=1,s=t.length;n<s;++n)t[n]>i&&(i=t[n]);return i}(t)?bt:wt)(t,1):this.index=t},getAttribute:function(t){return this.attributes[t]},setAttribute:function(t,i){return this.attributes[t]=i,this},deleteAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,i,n){this.groups.push({start:t,count:i,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,i){this.drawRange.start=t,this.drawRange.count=i},applyMatrix4:function(t){var i=this.attributes.position;void 0!==i&&(i.applyMatrix4(t),i.needsUpdate=!0);var n=this.attributes.normal;void 0!==n&&(i=(new kt).getNormalMatrix(t),n.applyNormalMatrix(i),n.needsUpdate=!0);n=this.attributes.tangent;return void 0!==n&&(n.transformDirection(t),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(t){return Gt.makeRotationX(t),this.applyMatrix4(Gt),this},rotateY:function(t){return Gt.makeRotationY(t),this.applyMatrix4(Gt),this},rotateZ:function(t){return Gt.makeRotationZ(t),this.applyMatrix4(Gt),this},translate:function(t,i,n){return Gt.makeTranslation(t,i,n),this.applyMatrix4(Gt),this},scale:function(t,i,n){return Gt.makeScale(t,i,n),this.applyMatrix4(Gt),this},lookAt:function(t){return qt.lookAt(t),qt.updateMatrix(),this.applyMatrix4(qt.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(Qt).negate(),this.translate(Qt.x,Qt.y,Qt.z),this},setFromObject:function(t){var i,n,s=t.geometry;return t.isPoints||t.isLine?(i=new At(3*s.vertices.length,3),n=new At(3*s.colors.length,3),this.setAttribute("position",i.copyVector3sArray(s.vertices)),this.setAttribute("color",n.copyColorsArray(s.colors)),s.lineDistances&&s.lineDistances.length===s.vertices.length&&(n=new At(s.lineDistances.length,1),this.setAttribute("lineDistance",n.copyArray(s.lineDistances))),null!==s.boundingSphere&&(this.boundingSphere=s.boundingSphere.clone()),null!==s.boundingBox&&(this.boundingBox=s.boundingBox.clone())):t.isMesh&&s&&s.isGeometry&&this.fromGeometry(s),this},setFromPoints:function(t){for(var i=[],n=0,s=t.length;n<s;n++){var h=t[n];i.push(h.x,h.y,h.z||0)}return this.setAttribute("position",new At(i,3)),this},updateFromObject:function(t){var i,n=t.geometry;if(t.isMesh){var s=n.j;if(!0===n.elementsNeedUpdate&&(s=void 0,n.elementsNeedUpdate=!1),void 0===s)return this.fromGeometry(n);s.verticesNeedUpdate=n.verticesNeedUpdate,s.normalsNeedUpdate=n.normalsNeedUpdate,s.colorsNeedUpdate=n.colorsNeedUpdate,s.uvsNeedUpdate=n.uvsNeedUpdate,s.groupsNeedUpdate=n.groupsNeedUpdate,n.verticesNeedUpdate=!1,n.normalsNeedUpdate=!1,n.colorsNeedUpdate=!1,n.uvsNeedUpdate=!1,n.groupsNeedUpdate=!1,n=s}return!0===n.verticesNeedUpdate&&(void 0!==(i=this.attributes.position)&&(i.copyVector3sArray(n.vertices),i.needsUpdate=!0),n.verticesNeedUpdate=!1),!0===n.normalsNeedUpdate&&(void 0!==(i=this.attributes.normal)&&(i.copyVector3sArray(n.normals),i.needsUpdate=!0),n.normalsNeedUpdate=!1),!0===n.colorsNeedUpdate&&(void 0!==(i=this.attributes.color)&&(i.copyColorsArray(n.colors),i.needsUpdate=!0),n.colorsNeedUpdate=!1),n.uvsNeedUpdate&&(void 0!==(i=this.attributes.uv)&&(i.copyVector2sArray(n.uvs),i.needsUpdate=!0),n.uvsNeedUpdate=!1),n.lineDistancesNeedUpdate&&(void 0!==(i=this.attributes.lineDistance)&&(i.copyArray(n.lineDistances),i.needsUpdate=!0),n.lineDistancesNeedUpdate=!1),n.groupsNeedUpdate&&(n.computeGroups(t.geometry),this.groups=n.groups,n.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.j=(new Tt).fromGeometry(t),this.fromDirectGeometry(t.j)},fromDirectGeometry:function(t){var i,n,s,h,r=new Float32Array(3*t.vertices.length);for(s in this.setAttribute("position",new dt(r,3).copyVector3sArray(t.vertices)),0<t.normals.length&&(i=new Float32Array(3*t.normals.length),this.setAttribute("normal",new dt(i,3).copyVector3sArray(t.normals))),0<t.colors.length&&(i=new Float32Array(3*t.colors.length),this.setAttribute("color",new dt(i,3).copyColorsArray(t.colors))),0<t.uvs.length&&(n=new Float32Array(2*t.uvs.length),this.setAttribute("uv",new dt(n,2).copyVector2sArray(t.uvs))),0<t.uvs2.length&&(n=new Float32Array(2*t.uvs2.length),this.setAttribute("uv2",new dt(n,2).copyVector2sArray(t.uvs2))),this.groups=t.groups,t.morphTargets){for(var e=[],o=t.morphTargets[s],u=0,a=o.length;u<a;u++){var c=o[u],f=new At(3*c.data.length,3);f.name=c.name,e.push(f.copyVector3sArray(c.data))}this.morphAttributes[s]=e}return 0<t.skinIndices.length&&(h=new At(4*t.skinIndices.length,4),this.setAttribute("skinIndex",h.copyVector4sArray(t.skinIndices))),0<t.skinWeights.length&&(h=new At(4*t.skinWeights.length,4),this.setAttribute("skinWeight",h.copyVector4sArray(t.skinWeights))),null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new tt);var t=this.attributes.position,i=this.morphAttributes.position;if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),i)for(var n=0,s=i.length;n<s;n++){var h=i[n];Wt.setFromBufferAttribute(h),this.morphTargetsRelative?(Kt.addVectors(this.boundingBox.min,Wt.min),this.boundingBox.expandByPoint(Kt),Kt.addVectors(this.boundingBox.max,Wt.max),this.boundingBox.expandByPoint(Kt)):(this.boundingBox.expandByPoint(Wt.min),this.boundingBox.expandByPoint(Wt.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new xt);var t=this.attributes.position,i=this.morphAttributes.position;if(t){var n=this.boundingSphere.center;if(Wt.setFromBufferAttribute(t),i)for(var s=0,h=i.length;s<h;s++){var r=i[s];zt.setFromBufferAttribute(r),this.morphTargetsRelative?(Kt.addVectors(Wt.min,zt.min),Wt.expandByPoint(Kt),Kt.addVectors(Wt.max,zt.max),Wt.expandByPoint(Kt)):(Wt.expandByPoint(zt.min),Wt.expandByPoint(zt.max))}Wt.getCenter(n);for(var e=0,s=0,h=t.count;s<h;s++)Kt.fromBufferAttribute(t,s),e=Math.max(e,n.distanceToSquared(Kt));if(i)for(s=0,h=i.length;s<h;s++)for(var r=i[s],o=this.morphTargetsRelative,u=0,a=r.count;u<a;u++)Kt.fromBufferAttribute(r,u),o&&(Qt.fromBufferAttribute(t,u),Kt.add(Qt)),e=Math.max(e,n.distanceToSquared(Kt));this.boundingSphere.radius=Math.sqrt(e),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}},computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,i=this.attributes;if(i.position){var n=i.position.array;if(void 0===i.normal)this.setAttribute("normal",new dt(new Float32Array(n.length),3));else for(var s=i.normal.array,h=0,r=s.length;h<r;h++)s[h]=0;var e,o,u,a=i.normal.array,c=new g,f=new g,l=new g,v=new g,d=new g;if(t)for(var M=t.array,h=0,r=t.count;h<r;h+=3)e=3*M[h+0],o=3*M[h+1],u=3*M[h+2],c.fromArray(n,e),f.fromArray(n,o),l.fromArray(n,u),v.subVectors(l,f),d.subVectors(c,f),v.cross(d),a[e]+=v.x,a[1+e]+=v.y,a[2+e]+=v.z,a[o]+=v.x,a[1+o]+=v.y,a[2+o]+=v.z,a[u]+=v.x,a[1+u]+=v.y,a[2+u]+=v.z;else for(h=0,r=n.length;h<r;h+=9)c.fromArray(n,h),f.fromArray(n,h+3),l.fromArray(n,h+6),v.subVectors(l,f),d.subVectors(c,f),v.cross(d),a[h]=v.x,a[h+1]=v.y,a[h+2]=v.z,a[h+3]=v.x,a[h+4]=v.y,a[h+5]=v.z,a[h+6]=v.x,a[h+7]=v.y,a[h+8]=v.z;this.normalizeNormals(),i.normal.needsUpdate=!0}},normalizeNormals:function(){for(var t=this.attributes.normal,i=0,n=t.count;i<n;i++)Kt.x=t.getX(i),Kt.y=t.getY(i),Kt.z=t.getZ(i),Kt.normalize(),t.setXYZ(i,Kt.x,Kt.y,Kt.z)},dispose:function(){this.dispatchEvent({type:"dispose"})}});var $t=0;function ti(){Object.defineProperty(this,"id",{value:$t++}),this.uuid=d.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.blending=rt,this.side=ht,this.flatShading=!1,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=ot,this.blendDst=ut,this.blendEquation=et,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=at,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=ft,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=ct,this.stencilZFail=ct,this.stencilZPass=ct,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}function ii(t){ti.call(this),this.type="LineBasicMaterial",this.color=new L(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.setValues(t)}ti.prototype=Object.assign(Object.create(nt.prototype),{constructor:ti,isMaterial:!0,onBeforeCompile:function(){},setValues:function(t){if(void 0!==t)for(var i in t){var n,s=t[i];void 0!==s?"shading"!==i?void 0!==(n=this[i])?n&&n.isColor?n.set(s):n&&n.isVector3&&s&&s.isVector3?n.copy(s):this[i]=s:console.warn("THREE."+this.type+": '"+i+"' is not a property of this material."):(console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===s):console.warn("THREE.Material: '"+i+"' parameter is undefined.")}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;var i=t.clippingPlanes,n=null;if(null!==i)for(var s=i.length,n=new Array(s),h=0;h!==s;++h)n[h]=i[h].clone();return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(ti.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),((ii.prototype=Object.create(ti.prototype)).constructor=ii).prototype.isLineBasicMaterial=!0,ii.prototype.copy=function(t){return ti.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this};var ni=new g,si=new g,hi=new p,ri=new j,ei=new xt;function oi(t,i,n){1===n&&console.error("THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead."),Ut.call(this),this.type="Line",this.geometry=void 0!==t?t:new Jt,this.material=void 0!==i?i:new ii}oi.prototype=Object.assign(Object.create(Ut.prototype),{constructor:oi,isLine:!0,computeLineDistances:function(){var t=this.geometry;if(t.isBufferGeometry)if(null===t.index){for(var i=t.attributes.position,n=[0],s=1,h=i.count;s<h;s++)ni.fromBufferAttribute(i,s-1),si.fromBufferAttribute(i,s),n[s]=n[s-1],n[s]+=ni.distanceTo(si);t.setAttribute("lineDistance",new At(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(t.isGeometry){var r=t.vertices;(n=t.lineDistances)[0]=0;for(s=1,h=r.length;s<h;s++)n[s]=n[s-1],n[s]+=r[s-1].distanceTo(r[s])}return this},raycast:function(t,i){var n=this.geometry,s=this.matrixWorld,h=t.params.Line.threshold;if(null===n.boundingSphere&&n.computeBoundingSphere(),ei.copy(n.boundingSphere),ei.applyMatrix4(s),ei.radius+=h,!1!==t.ray.intersectsSphere(ei)){hi.getInverse(s),ri.copy(t.ray).applyMatrix4(hi);var h=h/((this.scale.x+this.scale.y+this.scale.z)/3),r=h*h,e=new g,o=new g,u=new g,a=new g,c=this&&this.isLineSegments?2:1;if(n.isBufferGeometry){var h=n.index,f=n.attributes.position.array;if(null!==h)for(var l=h.array,v=0,d=l.length-1;v<d;v+=c){var M=l[v],p=l[v+1];e.fromArray(f,3*M),o.fromArray(f,3*p),r<ri.distanceSqToSegment(e,o,a,u)||(a.applyMatrix4(this.matrixWorld),(y=t.ray.origin.distanceTo(a))<t.near||y>t.far||i.push({distance:y,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this}))}else for(v=0,d=f.length/3-1;v<d;v+=c)e.fromArray(f,3*v),o.fromArray(f,3*v+3),r<ri.distanceSqToSegment(e,o,a,u)||(a.applyMatrix4(this.matrixWorld),(y=t.ray.origin.distanceTo(a))<t.near||y>t.far||i.push({distance:y,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this}))}else if(n.isGeometry)for(var y,m=n.vertices,w=m.length,v=0;v<w-1;v+=c)r<ri.distanceSqToSegment(m[v],m[v+1],a,u)||(a.applyMatrix4(this.matrixWorld),(y=t.ray.origin.distanceTo(a))<t.near||y>t.far||i.push({distance:y,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this}))}},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}});var ui=function t(){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),this.S={}};Object.assign(ui.prototype,{k:function(t,i){this.B(t,i)||(void 0===this.S[t]&&(this.S[t]=[]),this.S[t].push(i))},B:function(t,i){return i?void 0!==this.S[t]&&-1!==this.S[t].indexOf(i):void 0!==this.S[t]&&0<this.S[t].length},I:function(t,i){void 0===this.S[t]||-1!==(i=this.S[t].indexOf(i))&&this.S[t].splice(i,1)},V:function(t){if(void 0!==this.S[t.type])for(var i=this.S[t.type].slice(0),n=0,s=i.length;n<s;n++)i[n].call(this,t)}});var ai=ui;function ci(t,i){return function(t){if(Array.isArray(t))return t}(t)||function(t,i){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],s=!0,h=!1,r=void 0;try{for(var e,o=t[Symbol.iterator]();!(s=(e=o.next()).done)&&(n.push(e.value),!i||n.length!==i);s=!0);}catch(t){h=!0,r=t}finally{try{s||null==o.return||o.return()}finally{if(h)throw r}}return n}}(t,i)||fi(t,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fi(t,i){if(t){if("string"==typeof t)return li(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(n="Object"===n&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?li(t,i):void 0}}function li(t,i){(null==i||i>t.length)&&(i=t.length);for(var n=0,s=new Array(i);n<i;n++)s[n]=t[n];return s}function vi(t,i){for(var n=0;n<i.length;n++){var s=i[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}var di=function(){function i(t){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,i),this.C=t,this.F="none",this.currentobj=null,this.H={url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5QoOAiAd1TTTFgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABfElEQVRYw81XO26EMBB9poAIrBwh2hPgMt1WS7cSN+AonAXtIahSpfLWVNtFewXLkG7SeCVIbH5rBZ40jYGZ8fjxPMOwDAcARwAnAO8A3sz6HcAVwAeATwBf8IgIQAGgA0AzrTPfRM8GPy8I6rLz2l1fPAR/2GVJNV4B3DwGf9jN+J7cuTM4Y4yEEFSWJUkpSWtNWmuSUlJZliSEIMbYVBKjlXCWPcsyUkrRFJRSlGXZ1HHMJ1wYhlRVFS1FVVUUhuFsYkau4FJKWgsp5VgSg6MobC+t2bmtEo4Ein4Cne3MfcHBia4vr3/YPodwc6GUcv0dh8Bo+wBpmoJz7k3LOedI09T26BiYi2WAPM/hGw6fJ9iE5xnmj/0RNmFihgwv/bS01ojj2GsF2rZFkiS/l78DbIzANBMDNE3jPZDD5z0wncwAdV17T8Dh82pVQSGEdxIKIZxquKkQ7UKKd3EZbX4db96Q7KIl20VTunlbvovBZBej2b8Np2zr8fwHFGE/6k/Mu0oAAAAASUVORK5CYII=",size:32,height:1,collision:!1},this.L={width:5,type:w.FULL,color:"#FF0000",height:3},this.P={color:"#FF0000",borderWidth:3,borderColor:"#0000FF",opacity:.5,height:3},this.D="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5QocCDgHXcqo9wAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAEQ0lEQVRYw71XTWhcVRg9584kVGzHZKYlTFpsJ/PeKBaKMjN05aYIKgguupASqaKCC1cFVxaSaQW7dSW4KRFBEETEje5qtWK1SdP409L0zZgpJrEtvqY/qebNe/e46KSZDMkkmSR9mwdz35zv3O8737nfJdbxuG7xdQp7EfCj8au//NkORqzd4Lls8S0SgzR8UTHbm0qlr/r+9ORDIZDLFt6B4SDJXQBAci/AbHeyd8L3p6qbSsB1C++SLJHc0fg7yQyFbFd37z83b05d3hQCrls8SrBEcutS6yR3k8wnU713fH9qbEMJuG7hPYIDAAyAGsl447qk6wDmACQIPJVMpWd8f/r3lXDjqwne07PvUQmXBfUbKQS5U8AAyZ568LNW0RGJAalOyRgTRbN1srYVNtsR4Z49hSc6O3iKZBoArPTjzMzsCzduXLy7VizTDgGSAqCGXdDaqK3NmI0S6PYVSrgmAq6bP+S6+cKyzGI2WlxbsRWDbds6D7hu/vCqCOScwquAGaSNpZcDrNXCCEDYWJQoeowtSpYizIDrFl9rScBxiv0gBwn2yWhZwI4OGy4ioNZilhAA2G2AweZMxBvs9RVQA6RxJNQAPJ3LFW8jVCeoTruo77mjqYUTgD3oOIXbS6dZ++9LlRnKDDhOMfS8c589aEPHKRw0xDHS7G0wlrsADSBTz5RpSmuzEYUrdE584Vt7EVZHx8sjXzGXzb8sY44bch8e4mOlc5I9akA+u1xwafG7YWXdBAxZNOBLcYvwpLEdvTQ8tCiE1Q8wGJMQSYoEhhRrov6jkAD1Jsnk/Dkg4AsCNUgEDAFRBAGQQo6GzzWV7DsLfFnXQD5rYAZoeHh+h7I6Mu4Nf7gU+76+/ONxY07RsK9O9ufQ2ucrlZFbS33vOMV+Q3xCMvYguFTyvOHTBgA8b6Q8VwsGZe3QfHrZIs9RZAIRwarTfb+rVK/9mcja4543fHqRD1SrYxNBGJUEDa0IaMyaRGCpCKBk7RgjfVAuj5xa0ogmJkarsVhUkrVDUYtTlPxXBKM1HF5WUhnCifHK8DctrfjSpdFqENpSLDTfLgcYBGEIaG61BKRoGrTHx8vDn69qIJmYGG05WG7ZsjUEtGoNeN75cwDOtj0RAUAms79nYUfBNjIeNQnzkXQ6XwMAa2sEgGvXfp2dX17XROQ4ToLsehvgGw1/dObtVcI9wf5kAAokYI3A74Hax1eujE2ueyj1fX8ukeiZjMXMk4Y8QHI7SbMgMnSQ6AOZIZERUJEw5Hmjv23YVDwz8/etVGJXBUZZktkmVwPJusfbr62N3i+Xz5/Z8HuBPzN5rTvZe5VAhuSehjabD/4pYEued2F0025Gvj9VTXalrwvMk9y+cHbYoaAWliqVC96m3w39m9NXUqn0HYDPkOiywslaGB2rVi9U14rV9u3Y96fHkqmd92T1x1ygE9Xq+b/awfkfmzntCAO/rwcAAAAASUVORK5CYII=",this.Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5QoOAiAd1TTTFgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABfElEQVRYw81XO26EMBB9poAIrBwh2hPgMt1WS7cSN+AonAXtIahSpfLWVNtFewXLkG7SeCVIbH5rBZ40jYGZ8fjxPMOwDAcARwAnAO8A3sz6HcAVwAeATwBf8IgIQAGgA0AzrTPfRM8GPy8I6rLz2l1fPAR/2GVJNV4B3DwGf9jN+J7cuTM4Y4yEEFSWJUkpSWtNWmuSUlJZliSEIMbYVBKjlXCWPcsyUkrRFJRSlGXZ1HHMJ1wYhlRVFS1FVVUUhuFsYkau4FJKWgsp5VgSg6MobC+t2bmtEo4Ein4Cne3MfcHBia4vr3/YPodwc6GUcv0dh8Bo+wBpmoJz7k3LOedI09T26BiYi2WAPM/hGw6fJ9iE5xnmj/0RNmFihgwv/bS01ojj2GsF2rZFkiS/l78DbIzANBMDNE3jPZDD5z0wncwAdV17T8Dh82pVQSGEdxIKIZxquKkQ7UKKd3EZbX4db96Q7KIl20VTunlbvovBZBej2b8Np2zr8fwHFGE/6k/Mu0oAAAAASUVORK5CYII=",this.objectArray=[],this._=[],this.X=[],this.N=[],this.U=[],this.Z=null,this.G=null,this.q=null,this.Q=null,this.W=void 0,this.K="#FF0000",this.J=this.C.getContainer().childNodes[0],this.$=this.$.bind(this),this.tt=this.tt.bind(this),this.it=this.it.bind(this),this.nt=new B,this.st=new ai,this.ht=null,this.rt=null,this.et()}var t,n,s;return t=i,(n=[{key:"editUrl",get:function(){return this.Y},set:function(t){this.Y=t}},{key:"centerUrl",get:function(){return this.D},set:function(t){this.D=t}},{key:"PointStyle",get:function(){return this.H},set:function(t){this.H=t}},{key:"operate",get:function(){return this.W},set:function(t){this.W=t;for(var i=0;i<this.N.length;i++)this.N[i].visible=!1,"move"===t?"center"===this.N[i].ot&&(this.N[i].visible=!0):"center"!==this.N[i].ot&&(this.N[i].visible=!0)}},{key:"LineStyle",get:function(){return this.L},set:function(t){this.L=t}},{key:"PolygonStyle",get:function(){return this.P},set:function(t){this.P=t}},{key:"DrawTool",get:function(){return this.F},set:function(t){if(this.F=t,"edit"!==this.F){for(var i=0;i<this.N.length;i++)this.N[i].remove();null!==this.rt&&(this.rt.parent.remove(this.rt),this.rt=null,this.C.enableUpdateRender()),this._.length=0,this.X.length=0,this.N.length=0,this.G=null,this.Z=null}}},{key:"edit",value:function(t,i){if("none"===this.DrawTool||"edit"===this.DrawTool){if(!t||!t.shapetype){for(var n=0;n<this.N.length;n++)this.N[n].remove();return this.N.length=0,void((this.G=null)!==this.rt&&(this.rt.parent.remove(this.rt),this.rt=null,this.C.enableUpdateRender()))}if(!(0<this.N.length||null!==this.rt)&&(i||null==this.G||this.G.id!==t.id)&&(!t.opetype||"no"===t.opetype.type)){for(var s=0;s<this.N.length;s++)this.N[s].remove();null!==this.rt&&(this.rt.parent.remove(this.rt),this.rt=null,this.C.enableUpdateRender()),this.N.length=0,this.Z=null,this.G=t,i||(this.Q=t.id),t.type===fengmap.FMType.POLYGON_MARKER?(this.ut(t),this.DrawTool="edit"):t.type===fengmap.FMType.LINE_MARKER?(this.ct(t),this.DrawTool="edit"):t.type===fengmap.FMType.IMAGE_MARKER&&(this.DrawTool="edit",this.q=null,this.ft(t))}}}},{key:"on",value:function(t,i){this.st.k(t,i)}},{key:"dispose",value:function(){this.J.removeEventListener("mousedown",this.$,!1),this.J.removeEventListener("mousemove",this.tt,!1),this.J.removeEventListener("mouseup",this.it,!1)}},{key:"createMarkerByInfo",value:function(t){if("circle"===t.shapetype||"ellipse"===t.shapetype||"rect"===t.shapetype||"polygon"===t.shapetype){var i=new fengmap.FMPolygonMarkerEdit(t),n=this.C.getFloor(t.level);return i.addTo(n),i.mapEdit=this,t.id&&(i.id=t.id),i}if("line"===t.shapetype){var s=new fengmap.FMSegment;s.points=[];for(var h=0;h<t.points.length;h++)s.points.push({x:t.points[h].x,y:t.points[h].y,z:t.points[h].z});s.level=t.level,t.segments=[s];var r=new fengmap.FMLineMarkerEdit(t);return r.addTo(this.C),r.mapEdit=this,t.id&&(r.id=t.id),r}i=this.C.getFloor(t.level),r=new fengmap.FMImageMarkerEdit(t);return r.addTo(i),r.mapEdit=this,t.id&&(r.id=t.id),r}}])&&vi(t.prototype,n),s&&vi(t,s),i}();Object.assign(di.prototype,{et:function(){this.J.addEventListener("mousedown",this.$,!1),this.J.addEventListener("mousemove",this.tt,!1),this.J.addEventListener("mouseup",this.it,!1)},lt:function(t,i){if(("none"===this.DrawTool||"edit"===this.DrawTool)&&(null!==this.rt&&(this.rt.parent.remove(this.rt),this.rt=null,this.C.enableUpdateRender()),t&&(i||null==this.G||this.G.id!==t.id)&&(!t.opetype||"no"===t.opetype.type))){for(var n=0;n<this.N.length;n++)this.N[n].remove();this.N.length=0,this.Z=null,this.G=t,i||(this.Q=t.id),t.type===fengmap.FMType.POLYGON_MARKER?(this.ut(t),this.DrawTool="edit"):t.type===fengmap.FMType.LINE_MARKER?(this.ct(t),this.DrawTool="edit"):t.type===fengmap.FMType.IMAGE_MARKER&&(this.DrawTool="edit",this.q=null,this.ft(t))}},vt:function(t,i){var n=new R;if(n.x=t/this.J.getBoundingClientRect().width*2-1,n.y=2*-(i/this.J.getBoundingClientRect().height)+1,"point"!==this.G.shapetype){for(var s=[],h=0;h<this.N.length;h++)this.N[h].opetype.node.visible&&s.push(this.N[h].opetype.node);this.nt.setFromCamera(n,this.C.camera);var r=this.nt.intersectObjects(s,!0);return 0<r.length?r[0].object:null}r=[this.G.getRenderNode()];this.nt.setFromCamera(n,this.C.camera);r=this.nt.intersectObjects(r,!0);return 0<r.length?r[0].object:null},dt:function(t,i){var n=t.clientX-this.J.getBoundingClientRect().left,t=(t.clientY,this.J.getBoundingClientRect().top,new R);t.x=n/this.J.getBoundingClientRect().width*2-1,t.y=2*-(n/this.J.getBoundingClientRect().height)+1,this.nt.setFromCamera(t,this.C.camera);var s,h=null,r=function(t,i){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=fi(t))||i&&t&&"number"==typeof t.length){n&&(t=n);var s=0,i=function(){};return{s:i,n:function(){return s>=t.length?{done:!0}:{done:!1,value:t[s++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h,r=!0,e=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){e=!0,h=t},f:function(){try{r||null==n.return||n.return()}finally{if(e)throw h}}}}(this.C.getRenderManager().getRenderList());try{for(r.s();!(s=r.n()).done;){for(var e=ci(s.value,2),o=(e[0],e[1]),u=this.nt.intersectObject(o,!0),a=0;a<u.length;a++)if(u[a].mapNode&&!u[a].object.isNoPick){h=u[a];break}if(null!==h)break}}catch(t){r.e(t)}finally{r.f()}null!==h&&h.mapNode?this.ht={buildingID:h.mapNode.parent.parent.parent.buildingID,level:h.mapNode.level}:this.ht={buildingID:this.C.getMapOptions().mapID,level:this.C.getLevel()},i&&i()},$:function(s){var h=this;this.dt(s,function(){if("none"!==h.DrawTool){if(2===s.button)return"edit"!==h.DrawTool?h.Mt():(null!==h.Z||null!==h.G&&"point"===h.G.shapetype)&&h.pt(),void(h.Z=null);var t=s.clientX-h.J.getBoundingClientRect().left,i=s.clientY-h.J.getBoundingClientRect().top;if("edit"!==h.DrawTool){var n=fengmap.FMUtil.coordsScreenToMap(h.C,{x:t,y:i});"point"===h.DrawTool?(h.yt(n),h.st.V({type:"drawend",info:h.currentobj.info,object:h.currentobj}),h.currentobj=null,h.ht=null):"line"===h.DrawTool?h._.push(n):"circle"===h.DrawTool?0===h.X.length?h.X.push(n):(h.mt(n),h.st.V({type:"drawend",info:h.currentobj.info,object:h.currentobj}),h.X.length=0,h.currentobj=null,h.ht=null):"rect"===h.DrawTool?0===h.X.length?h.X.push(n):(h.wt(n),h.st.V({type:"drawend",info:h.currentobj.info,object:h.currentobj}),h.X.length=0,h.currentobj=null,h.ht=null):"polygon"===h.DrawTool?h.X.push(n):"ellipse"===h.DrawTool&&(0===h.X.length?h.X.push(n):(h.gt(n),h.st.V({type:"drawend",info:h.currentobj.info,object:h.currentobj}),h.X.length=0,h.currentobj=null,h.ht=null))}else if(null===h.Z){if(null===h.G)return;i=h.vt(t,i);"point"!==h.G.shapetype?null!==i&&(h.Z=i.mapNode,h.bt(!1)):null!==i&&(h.q={x:h.G.x,y:h.G.y},h.bt(!1))}}})},tt:function(t){if("none"!==this.DrawTool){var i=t.clientX-this.J.getBoundingClientRect().left,t=t.clientY-this.J.getBoundingClientRect().top,t=fengmap.FMUtil.coordsScreenToMap(this.C,{x:i,y:t});if("edit"===this.DrawTool)return null!==this.G&&"point"===this.G.shapetype&&null!==this.q?(this.G.moveTo({animate:!1,x:t.x,y:t.y}),void this.st.V({type:"drawing",info:this.G.info,object:this.G})):void(null!==this.G&&null!==this.Z&&(this.At(t),this.G.id=this.Q,this.st.V({type:"drawing",info:this.G.info,object:this.G})));"line"===this.DrawTool?this.Et(t):"circle"===this.DrawTool?this.mt(t):"rect"===this.DrawTool?this.wt(t):"polygon"===this.DrawTool?this.Rt(t):"ellipse"===this.DrawTool&&this.gt(t),this.C.enableUpdateRender(),null!==this.currentobj&&this.st.V({type:"drawing",info:this.currentobj.info,object:this.currentobj})}},it:function(t){if("edit"===this.DrawTool&&null!==this.G&&("point"===this.G.shapetype||null!==this.Z)){if("point"===this.G.shapetype)this.lt(this.G,!0);else if("center"!==this.Z.opetype.type){if("ellipse"===this.G.shapetype||"circle"===this.G.shapetype)this.q=this.xt(this.G.points);else if("rect"===this.G.shapetype){this.q=this.G.points;var i=this.Tt("center");i.visible=!0,void 0!==this.W&&"edit"===this.W&&(i.visible=!1);var n=this.Tt("point",!0);i.position.x=(n[0].position.x+n[1].position.x)/2,i.position.z=(n[0].position.z+n[1].position.z)/2,this.U.length=0,this.U.push({x:Math.abs(n[0].position.x-n[1].position.x)/2,y:Math.abs(n[0].position.z-n[1].position.z)/2})}else if("polygon"===this.G.shapetype){this.q=this.G.points;for(var s=this.xt(this.q).center,h=this.U.length=0;h<this.q.length;h++)this.U.push({x:this.q[h].x-s.x,y:this.q[h].y-s.y});var r=this.Tt("center");r.position.x=s.x-this.C.x,r.position.z=this.C.y-s.y}else if("line"===this.G.shapetype){this.q=this.G.points;for(var e=this.xt(this.q).center,o=this.U.length=0;o<this.q.length;o++)this.U.push({x:this.q[o].x-e.x,y:this.q[o].y-e.y});r=this.Tt("center");r.position.x=e.x-this.C.x,r.position.z=this.C.y-e.y}}else this.lt(this.G,!0);this.bt(!0),this.Z=null,this.G.id=this.Q,this.st.V({type:"editend",info:this.G.info,object:this.G})}},ft:function(t){t.getRenderNode().position;var i=[new g(-.5,0,.5),new g(-.5,0,-.5),new g(.5,0,-.5),new g(.5,0,.5),new g(-.5,0,.5)],n=(new Jt).setFromPoints(i),i=new ii({color:new L(this.K)});i.depthTest=!1,i.depthWrite=!1;i=new oi(n,i);i.scale.set(1.1,1.1,1.1),t.getRenderNode().add(i),this.rt=i,this.C.enableUpdateRender()},At:function(t){if(null!==this.Z){var i,n,s=this;if("ellipse"!==this.G.shapetype?(this.Z.opetype.node.position.x=t.x-this.C.x,this.Z.opetype.node.position.z=this.C.y-t.y):"xradius"===this.Z.opetype.type?this.Z.opetype.node.position.x=t.x-this.C.x:("yradius"===this.Z.opetype.type||(this.Z.opetype.node.position.x=t.x-this.C.x),this.Z.opetype.node.position.z=this.C.y-t.y),"circle"===this.G.shapetype)"yradius"===this.Z.opetype.type?(i=E("center"),this.X.length=0,this.X.push({x:this.C.x+i.position.x,y:this.C.y-i.position.z}),this.mt(t,!0)):(E("yradius").visible=!1,this.X.length=0,this.X.push({x:t.x,y:t.y}),this.mt({x:t.x,y:t.y+this.q.yradius},!0));else if("ellipse"===this.G.shapetype)this.X.length=0,"yradius"===this.Z.opetype.type||"xradius"===this.Z.opetype.type?(n=E("center"),i={x:this.C.x+n.position.x,y:this.C.y-n.position.z},n=null,n="yradius"===this.Z.opetype.type?this.St(i,this.q.xradius,Math.abs(i.y-t.y)):this.St(i,Math.abs(i.x-t.x),this.q.yradius),this.gt(n,!0)):(E("xradius").visible=!1,E("yradius").visible=!1,e=this.St(t,this.q.xradius,this.q.yradius),this.gt(e,!0));else if("rect"===this.G.shapetype)if("center"===this.Z.opetype.type){for(var h=E("point",!0),r=0;r<h.length;r++)h[r].visible=!1;this.X.length=0,this.X.push({x:t.x+this.U[0].x,y:t.y-this.U[0].y}),this.wt({x:t.x-this.U[0].x,y:t.y+this.U[0].y},!0)}else{var e=E("center"),e=E("point",e.visible=!1,this.Z.opetype.node.uuid);null!==e&&(this.X.length=0,this.X.push({x:this.C.x+e.position.x,y:this.C.y-e.position.z}),this.wt(t,!0))}else if("polygon"===this.G.shapetype)if("center"===this.Z.opetype.type){for(var o=this.Tt("point",!0),u=0;u<o.length;u++)o[u].visible=!1;for(var a=this.Z.opetype.node.position.x,c=this.Z.opetype.node.position.z,f=[],l=0;l<this.U.length;l++)f.push({x:a+this.U[l].x,y:c-this.U[l].y});this.Rt(f,!0)}else{for(var v=this.Tt("point",!0),d=[],M=0;M<v.length;M++)d.push({x:v[M].position.x,y:v[M].position.z});this.Rt(d,!0)}else if("line"===this.G.shapetype){var p=this.Tt("point",!0),y=[];if("center"===this.Z.opetype.type){for(var m=0;m<p.length;m++)p[m].visible=!1;for(var w=this.Z.opetype.node.position.x,g=this.Z.opetype.node.position.z,b=0;b<this.U.length;b++)y.push({x:w+this.U[b].x,y:g-this.U[b].y});this.Et(y,!0)}else{for(var A=0;A<p.length;A++)y.push({x:p[A].position.x,y:p[A].position.z});this.Et(y,!0)}}}function E(t,i,n){return s.Tt(t,i,n)}},Tt:function(t,i,n){var s=this,h=null;i&&(h=[]);for(var r=0;r<s.N.length;r++)if(s.N[r].opetype.type===t)if(i)(!n||s.N[r].opetype.node.uuid!==n)&&h.push(s.N[r].opetype.node);else{if(!n){h=s.N[r].opetype.node;break}if(s.N[r].opetype.node.uuid!==n){h=s.N[r].opetype.node;break}}return h},Mt:function(){var t;"line"===this.DrawTool?this.Et():"circle"===this.DrawTool?this.mt():"rect"===this.DrawTool?this.wt():"polygon"===this.DrawTool?this.Rt():"ellipse"===this.DrawTool&&this.gt(),"line"!==this.DrawTool&&"polygon"!==this.DrawTool||(t=!0,"line"===this.DrawTool?this._.length<2&&(t=!1):"polygon"===this.DrawTool&&this.X.length<3&&(t=!1),t&&(this.st.V({type:"drawend",info:this.currentobj.info,object:this.currentobj}),this.ht=null),"line"===this.DrawTool&&(this._.length=0,this.currentobj=null),"polygon"===this.DrawTool&&(this.X.length=0,this.currentobj=null))},pt:function(){if("circle"===this.G.shapetype)this.X.length=0,this.X.push({x:this.q.center.x,y:this.q.center.y}),this.mt({x:this.q.center.x,y:this.q.center.y+this.q.yradius},!0);else if("ellipse"===this.G.shapetype){this.X.length=0;var t=this.St({x:this.q.center.x,y:this.q.center.y},this.q.xradius,this.q.yradius);this.gt(t,!0)}else if("rect"===this.G.shapetype)this.wt(),this.lt(this.G);else if("polygon"===this.G.shapetype){for(var i=[],n=0;n<this.q.length;n++)i.push({x:this.q[n].x-this.C.x,y:this.C.y-this.q[n].y});this.Rt(i,!0)}else if("line"===this.G.shapetype){for(var s=[],h=0;h<this.q.length;h++)s.push({x:this.q[h].x-this.C.x,y:this.C.y-this.q[h].y});this.Et(s,!0)}else if("point"===this.G.shapetype)return this.G.moveTo({animate:!1,x:this.q.x,y:this.q.y}),this.st.V({type:"editend",info:this.G.info,object:this.G}),void(this.G=null);this.G.id=this.Q,this.st.V({type:"editend",info:this.G.info,object:this.G}),this.lt(this.G,!0)},yt:function(t){var i,n={},s=this.PointStyle;for(i in s)n[i]=s[i];n.x=t.x,n.y=t.y,n.buildingID=this.ht.buildingID;var h=this.C.getBuilding(this.ht.buildingID).getFloor(this.ht.level),t=new fengmap.FMImageMarkerEdit(n);t.addTo(h),(t.mapEdit=this).currentobj=t},Et:function(t,i){var n=new fengmap.FMSegment;n.points=[];var s,h={},r=this.LineStyle;for(s in r)h[s]=r[s];if(void 0===h.height&&(h.height=3),i){null!==this.G&&this.G.remove();for(var e=0;e<t.length;e++)n.points.push({x:this.C.x+t[e].x,y:this.C.y-t[e].y,z:h.height})}else{if(0===this._.length)return;if(null!==this.currentobj&&(this.currentobj.remove(),!t&&1===this._.length))return;for(var o=0;o<this._.length;o++)n.points.push({x:this._[o].x,y:this._[o].y,z:h.height});t&&n.points.push({x:t.x,y:t.y,z:h.height})}n.level=this.ht.level,n.buildingID=this.ht.buildingID,h.segments=[n];var u=new fengmap.FMLineMarkerEdit(h);u.addTo(this.C),u.mapEdit=this,i?this.G=u:this.currentobj=u},mt:function(t,i){if(0!==this.X.length){if(i)null!==this.G&&this.G.remove();else if(null!==this.currentobj&&(this.currentobj.remove(),!t))return this.X.length=0,void(this.currentobj=null);var n,s=this.X[0],s=Math.sqrt((s.x-t.x)*(s.x-t.x)+(s.y-t.y)*(s.y-t.y)),h=this.PolygonStyle,r={};for(n in h)r[n]=h[n];r.points=fengmap.FMCalculator.circleBuilder(s,this.X[0],32),r.shapetype="circle";t=new fengmap.FMPolygonMarkerEdit(r),s=this.C.getBuilding(this.ht.buildingID).getFloor(this.ht.level);t.addTo(s),t.mapEdit=this,i?this.G=t:this.currentobj=t}},wt:function(t,i){var n=[];if(t||i){if(0===this.X.length)return;if(i)null!==this.G&&this.G.remove();else if(null!==this.currentobj&&(this.currentobj.remove(),!t))return this.X.length=0,void(this.currentobj=null);var s=this.X[0],n=[s,{x:t.x,y:s.y},t,{x:s.x,y:t.y}]}else if("edit"===mapdraw.DrawTool)n=this.q,null!==this.G&&this.G.remove();else if(null!==this.currentobj)return this.currentobj.remove(),this.X.length=0,void(this.currentobj=null);if(0!==n.length){var h,r=this.PolygonStyle,e={};for(h in r)e[h]=r[h];e.points=n,e.shapetype="rect";s=new fengmap.FMPolygonMarkerEdit(e),n=this.C.getBuilding(this.ht.buildingID).getFloor(this.ht.level);s.addTo(n),s.mapEdit=this,!t&&!i||i?this.G=s:this.currentobj=s}},Rt:function(t,i){var n=[];if(i){null!==this.G&&this.G.remove();for(var s=0;s<t.length;s++)n.push({x:this.C.x+t[s].x,y:this.C.y-t[s].y})}else{if(0===this.X.length)return;null!==this.currentobj&&this.currentobj.remove();for(var h=0;h<this.X.length;h++)n.push({x:this.X[h].x,y:this.X[h].y});if(t)n.push({x:t.x,y:t.y});else if(2===n.length)return}var r,e=this.PolygonStyle,o={};for(r in e)o[r]=e[r];o.points=n;var u=new fengmap.FMPolygonMarkerEdit(o),a=this.C.getBuilding(this.ht.buildingID).getFloor(this.ht.level);u.addTo(a),u.mapEdit=this,i?this.G=u:this.currentobj=u},gt:function(t,i){var n=null;if(i)null!==this.G&&this.G.remove(),n=t;else{if(0===this.X.length)return;if(null!==this.currentobj&&this.currentobj.remove(),!t)return this.X.length=0,void(this.currentobj=null);var s=this.X[0],h=Math.abs(t.x-s.x),r=Math.abs(t.y-s.y),n=r<h?this.St(s,h,h/2):this.St(s,r/2,r)}for(var e=[],o=0;o<n.length;o++)e.push({x:n[o].x,y:n[o].y});var u,a=this.PolygonStyle,c={};for(u in a)c[u]=a[u];c.points=e,c.shapetype="ellipse";s=new fengmap.FMPolygonMarkerEdit(c),r=this.C.getBuilding(this.ht.buildingID).getFloor(this.ht.level);s.addTo(r),s.mapEdit=this,i?this.G=s:this.currentobj=s},St:function(t,i,n){return new m(t.x,t.y,i,n,0,2*Math.PI,!1,0).getPoints(32)},ct:function(t){var i=[];this.q=t.points;for(var n=this.xt(t.points).center,s=this.U.length=0;s<t.points.length;s++)i.push(t.points[s]),this.U.push({x:t.points[s].x-n.x,y:t.points[s].y-n.y});i.push({x:n.x,y:n.y,optype:"center"}),this.Ot(i,t)},ut:function(t){var i,n,s=this,h=[];if("polygon"===t.shapetype){this.q=t.points;for(var r=this.xt(t.points).center,e=this.U.length=0;e<t.points.length;e++)h.push(t.points[e]),this.U.push({x:t.points[e].x-r.x,y:t.points[e].y-r.y});h.push({x:r.x,y:r.y,optype:"center"})}else"rect"===t.shapetype?(this.q=t.points,h.push(t.points[0]),h.push(t.points[2]),h.push({x:(t.points[0].x+t.points[2].x)/2,y:(t.points[0].y+t.points[2].y)/2,optype:"center"}),this.U.length=0,this.U.push({x:Math.abs(t.points[0].x-t.points[2].x)/2,y:Math.abs(t.points[0].y-t.points[2].y)/2})):"circle"!==t.shapetype&&"ellipse"!==t.shapetype||(i=this.xt(t.points),this.q=i,h.push({x:i.center.x,y:i.center.y,optype:"center"}),h.push({x:i.center.x,y:i.center.y+i.yradius,optype:"yradius"}),"ellipse"===t.shapetype&&h.push({x:i.center.x+i.xradius,y:i.center.y,optype:"xradius"}));n=h,s.Ot(n,t)},Ot:function(t,i){for(var n=this,s=(n.C.getFloor(n.C.getLevel()),0);s<t.length;s++){var h=t[s].optype,r=n.editUrl;"center"===(h=h||"point")&&(r=n.centerUrl);var e=new fengmap.FMImageMarkerEdit({url:r,size:16,height:i.height+1,x:t[s].x,y:t[s].y,collision:!1,opetype:h}),r=this.C.getBuilding(i.info.buildingID).getFloor(i.info.level);e.addTo(r),void 0!==this.W&&("move"===this.W?"center"!==h&&(e.visible=!1):"edit"===this.W&&"center"===h&&(e.visible=!1)),n.N.push(e)}},xt:function(t){for(var i=null,n=null,s=null,h=null,r=0;r<t.length;r++)0===r?(i=t[r].x,n=t[r].y,s=t[r].x,h=t[r].y):(i>t[r].x&&(i=t[r].x),n>t[r].y&&(n=t[r].y),s<t[r].x&&(s=t[r].x),h<t[r].y&&(h=t[r].y));return{center:{x:(i+s)/2,y:(n+h)/2},xradius:Math.abs(s-i)/2,yradius:Math.abs(h-n)/2}},jt:function(t){var i=t.buildingID,t=t.level;null===i&&(i=this.C.getMapOptions().mapID,t=this.C.getLevel()),null===this.currentobj&&(this.ht={buildingID:i,level:t})},bt:function(t){var i=this.C.getInteracations();i.enableDrag=t,i.enableRotate=t,i.enableTilt=t,i.enableZoom=t}});var Mi=di,pi={NONE:0,EXTRUDE_MARKER:2,IMAGE_MARKER:8,LOCATION_MARKER:16,POLYGON_MARKER:32,TEXT_MARKER:64,LINE_MARKER:128,LINE3D_MARKER:256,HEAT_MAP_MARKER:512,EXTENT:1024,EXTERNAL_MODEL:2048,MODEL:4096,FACILITY:8192,LABEL:16384,DYNAMIC_MODEL_MARKER:32768,DOM_MARKER:65536,SPHERE_MARKER:1<<17,EXTENT_LAYER:1<<20,EXTERNAL_MODEL_LAYER:1<<21,MODEL_LAYER:1<<22,FACILITY_LAYER:1<<23,LABEL_LAYER:1<<24,MARKER_GROUP:1<<25,FLOW_LINE_LAYER:1<<27,FLOW_LINE_MARKER:1<<27,FIRE_MARKER:1<<28,WALL_MARKER:1<<29,TUBE_MARKER:1<<30};pi.LAYER_NODE_TYPE=new Map,pi.LAYER_NODE_TYPE.set(pi.EXTENT_LAYER,pi.EXTENT),pi.LAYER_NODE_TYPE.set(pi.EXTERNAL_MODEL_LAYER,pi.EXTERNAL_MODEL),pi.LAYER_NODE_TYPE.set(pi.MODEL_LAYER,pi.MODEL),pi.LAYER_NODE_TYPE.set(pi.FACILITY_LAYER,pi.FACILITY),pi.LAYER_NODE_TYPE.set(pi.LABEL_LAYER,pi.LABEL),pi.LAYER_NODE_TYPE.set(pi.DOM_MARKER,pi.DOM_MARKER),pi.LAYER_NODE_TYPE.set(pi.DYNAMIC_MODEL_MARKER,pi.DYNAMIC_MODEL_MARKER),pi.LAYER_NODE_TYPE.set(pi.EXTRUDE_MARKER,pi.EXTRUDE_MARKER),pi.LAYER_NODE_TYPE.set(pi.HEAT_MAP_MARKER,pi.HEAT_MAP_MARKER),pi.LAYER_NODE_TYPE.set(pi.LINE_MARKER,pi.LINE_MARKER),pi.LAYER_NODE_TYPE.set(pi.LOCATION_MARKER,pi.LOCATION_MARKER),pi.LAYER_NODE_TYPE.set(pi.POLYGON_MARKER,pi.POLYGON_MARKER),pi.LAYER_NODE_TYPE.set(pi.TEXT_MARKER,pi.TEXT_MARKER),pi.LAYER_NODE_TYPE.set(pi.IMAGE_MARKER,pi.IMAGE_MARKER),pi.LAYER_NODE_TYPE.set(pi.FLOW_LINE_LAYER,pi.FLOW_LINE_MARKER),pi.LAYER_NODE_TYPE.set(pi.FIRE_MARKER,pi.FIRE_MARKER),pi.LAYER_NODE_TYPE.set(pi.WALL_MARKER,pi.WALL_MARKER),pi.LAYER_NODE_TYPE.set(pi.TUBE_MARKER,pi.TUBE_MARKER),pi.LAYER_NODE_TYPE.set(pi.LINE3D_MARKER,pi.LINE3D_MARKER),pi.LAYER_NODE_TYPE.set(pi.SPHERE_MARKER,pi.SPHERE_MARKER);var yi=pi,mi=function(t,i,n){n=n||2;var s,h,r,e,o,u=i&&i.length,a=u?i[0]*n:t.length,c=wi(t,0,a,n,!0),f=[];if(!c||c.next===c.prev)return f;if(u&&(c=function(t,i,n,s){var h,r,e,o,u=[];for(h=0,r=i.length;h<r;h++)e=i[h]*s,o=h<r-1?i[h+1]*s:t.length,(o=wi(t,e,o,s,!1))===o.next&&(o.steiner=!0),u.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}(o));for(u.sort(Ai),h=0;h<u.length;h++)!function(t,i){(i=function(t,i){var n,s=i,h=t.x,r=t.y,e=-1/0;do{if(r<=s.y&&r>=s.next.y&&s.next.y!==s.y){var o=s.x+(r-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(o<=h&&e<o){if((e=o)===h){if(r===s.y)return s;if(r===s.next.y)return s.next}n=s.x<s.next.x?s:s.next}}}while(s=s.next,s!==i);if(!n)return null;if(h===e)return n;var u,a=n,c=n.x,f=n.y,l=1/0;s=n;for(;h>=s.x&&s.x>=c&&h!==s.x&&Ri(r<f?h:e,r,c,f,r<f?e:h,r,s.x,s.y)&&(u=Math.abs(r-s.y)/(h-s.x),ki(s,t)&&(u<l||u===l&&(s.x>n.x||s.x===n.x&&function(t,i){return xi(t.prev,t,i.prev)<0&&xi(i.next,t,t.next)<0}(n,s)))&&(n=s,l=u)),s=s.next,s!==a;);return n}(t,i))&&(t=Bi(i,t),gi(i,i.next),gi(t,t.next))}(u[h],n),n=gi(n,n.next);return n}(t,i,c,n)),t.length>80*n){for(var l=s=t[0],v=h=t[1],d=n;d<a;d+=n)(r=t[d])<l&&(l=r),(e=t[d+1])<v&&(v=e),s<r&&(s=r),h<e&&(h=e);o=0!==(o=Math.max(s-l,h-v))?1/o:0}return bi(c,f,n,l,v,o),f};function wi(t,i,n,s,h){var r,e;if(h===0<function(t,i,n,s){for(var h=0,r=i,e=n-s;r<n;r+=s)h+=(t[e]-t[r])*(t[r+1]+t[e+1]),e=r;return h}(t,i,n,s))for(r=i;r<n;r+=s)e=Ii(r,t[r],t[r+1],e);else for(r=n-s;i<=r;r-=s)e=Ii(r,t[r],t[r+1],e);return e&&Ti(e,e.next)&&(Vi(e),e=e.next),e}function gi(t,i){if(!t)return t;i=i||t;var n,s=t;do{if(n=!1,s.steiner||!Ti(s,s.next)&&0!==xi(s.prev,s,s.next))s=s.next;else{if(Vi(s),(s=i=s.prev)===s.next)break;n=!0}}while(n||s!==i);return i}function bi(t,i,n,s,h,r,e){if(t){!e&&r&&function(t,i,n,s){var h=t;for(;null===h.z&&(h.z=Ei(h.x,h.y,i,n,s)),h.prevZ=h.prev,h.nextZ=h.next,h=h.next,h!==t;);h.prevZ.nextZ=null,h.prevZ=null,function(t){var i,n,s,h,r,e,o,u,a=1;do{for(n=t,r=t=null,e=0;n;){for(e++,s=n,i=o=0;i<a&&(o++,s=s.nextZ);i++);for(u=a;0<o||0<u&&s;)0!==o&&(0===u||!s||n.z<=s.z)?(n=(h=n).nextZ,o--):(s=(h=s).nextZ,u--),r?r.nextZ=h:t=h,h.prevZ=r,r=h;n=s}}while(r.nextZ=null,a*=2,1<e)}(h)}(t,s,h,r);for(var o,u,a=t;t.prev!==t.next;)if(o=t.prev,u=t.next,r?function(t,i,n,s){var h=t.prev,r=t,e=t.next;if(0<=xi(h,r,e))return!1;var o=(h.x<r.x?h.x<e.x?h:e:r.x<e.x?r:e).x,u=(h.y<r.y?h.y<e.y?h:e:r.y<e.y?r:e).y,a=(h.x>r.x?h.x>e.x?h:e:r.x>e.x?r:e).x,c=(h.y>r.y?h.y>e.y?h:e:r.y>e.y?r:e).y,f=Ei(o,u,i,n,s),l=Ei(a,c,i,n,s),v=t.prevZ,d=t.nextZ;for(;v&&v.z>=f&&d&&d.z<=l;){if(v!==t.prev&&v!==t.next&&Ri(h.x,h.y,r.x,r.y,e.x,e.y,v.x,v.y)&&0<=xi(v.prev,v,v.next))return!1;if(v=v.prevZ,d!==t.prev&&d!==t.next&&Ri(h.x,h.y,r.x,r.y,e.x,e.y,d.x,d.y)&&0<=xi(d.prev,d,d.next))return!1;d=d.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&Ri(h.x,h.y,r.x,r.y,e.x,e.y,v.x,v.y)&&0<=xi(v.prev,v,v.next))return!1;v=v.prevZ}for(;d&&d.z<=l;){if(d!==t.prev&&d!==t.next&&Ri(h.x,h.y,r.x,r.y,e.x,e.y,d.x,d.y)&&0<=xi(d.prev,d,d.next))return!1;d=d.nextZ}return!0}(t,s,h,r):function(t){var i=t.prev,n=t,s=t.next;if(0<=xi(i,n,s))return!1;var h=t.next.next;for(;h!==t.prev;){if(Ri(i.x,i.y,n.x,n.y,s.x,s.y,h.x,h.y)&&0<=xi(h.prev,h,h.next))return!1;h=h.next}return!0}(t))i.push(o.i/n),i.push(t.i/n),i.push(u.i/n),Vi(t),t=u.next,a=u.next;else if((t=u)===a){e?1===e?bi(t=function(t,i,n){var s=t;do{var h=s.prev,r=s.next.next}while(!Ti(h,r)&&Si(h,s,s.next,r)&&ki(h,r)&&ki(r,h)&&(i.push(h.i/n),i.push(s.i/n),i.push(r.i/n),Vi(s),Vi(s.next),s=t=r),s=s.next,s!==t);return gi(s)}(gi(t),i,n),i,n,s,h,r,2):2===e&&function(t,i,n,s,h,r){var e=t;do{for(var o=e.next.next;o!==e.prev;){if(e.i!==o.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&&Si(n,n.next,t,i))return!0}while(n=n.next,n!==t);return!1}(t,i)&&(ki(t,i)&&ki(i,t)&&function(t,i){var n=t,s=!1,h=(t.x+i.x)/2,r=(t.y+i.y)/2;for(;n.y>r!=n.next.y>r&&n.next.y!==n.y&&h<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(s=!s),n=n.next,n!==t;);return s}(t,i)&&(xi(t.prev,t,i.prev)||xi(t,i.prev,i))||Ti(t,i)&&0<xi(t.prev,t,t.next)&&0<xi(i.prev,i,i.next))}(e,o)){var u=Bi(e,o);return e=gi(e,e.next),u=gi(u,u.next),bi(e,i,n,s,h,r),bi(u,i,n,s,h,r)}o=o.next}}while(e=e.next,e!==t)}(t,i,n,s,h,r):bi(gi(t),i,n,s,h,r,1);break}}}function Ai(t,i){return t.x-i.x}function Ei(t,i,n,s,h){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*h)|t<<8))|t<<4))|t<<2))|t<<1))|(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=32767*(i-s)*h)|i<<8))|i<<4))|i<<2))|i<<1))<<1}function Ri(t,i,n,s,h,r,e,o){return 0<=(h-e)*(i-o)-(t-e)*(r-o)&&0<=(t-e)*(s-o)-(n-e)*(i-o)&&0<=(n-e)*(r-o)-(h-e)*(s-o)}function xi(t,i,n){return(i.y-t.y)*(n.x-i.x)-(i.x-t.x)*(n.y-i.y)}function Ti(t,i){return t.x===i.x&&t.y===i.y}function Si(t,i,n,s){var h=ji(xi(t,i,n)),r=ji(xi(t,i,s)),e=ji(xi(n,s,t)),o=ji(xi(n,s,i));return h!==r&&e!==o||(0===h&&Oi(t,n,i)||(0===r&&Oi(t,s,i)||(0===e&&Oi(n,t,s)||!(0!==o||!Oi(n,i,s)))))}function Oi(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 ji(t){return 0<t?1:t<0?-1:0}function ki(t,i){return xi(t.prev,t,t.next)<0?0<=xi(t,i,t.next)&&0<=xi(t,t.prev,i):xi(t,i,t.prev)<0||xi(t,t.next,i)<0}function Bi(t,i){var n=new Ci(t.i,t.x,t.y),s=new Ci(i.i,i.x,i.y),h=t.next,r=i.prev;return(t.next=i).prev=t,(n.next=h).prev=n,(s.next=n).prev=s,(r.next=s).prev=r,s}function Ii(t,i,n,s){n=new Ci(t,i,n);return s?(n.next=s.next,(n.prev=s).next.prev=n,s.next=n):(n.prev=n).next=n,n}function Vi(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 Ci(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 Fi(t){return function(t){if(Array.isArray(t))return Hi(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,i){if(t){if("string"==typeof t)return Hi(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(n="Object"===n&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hi(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 Hi(t,i){(null==i||i>t.length)&&(i=t.length);for(var n=0,s=new Array(i);n<i;n++)s[n]=t[n];return s}var Li={area:function(t){for(var i=t.length,n=0,s=i-1,h=0;h<i;s=h++)n+=t[s].x*t[h].y-t[h].x*t[s].y;return.5*n},isClockWise:function(t){return Li.area(t)<0},triangulateShape:function(t,i){var n=[],s=[],h=[];Pi(t),Di(n,t);var r=t.length;i.forEach(Pi);for(var e=0;e<i.length;e++)s.push(r),r+=i[e].length,Di(n,i[e]);for(var o=mi(n,s),u=0;u<o.length;u+=3)h.push(o.slice(u,u+3));return h},triangulate:function(t){(h=[]).push.apply(h,Fi(t[0]));for(var i=[],n=1;n<t.length;n++){var s=[];s.push.apply(s,Fi(t[n])),i.push(s)}if(!Li.isClockWise(h))for(var h=h.reverse(),r=0,e=i.length;r<e;r++){var o=i[r];Li.isClockWise(o)&&(i[r]=o.reverse())}return Li.triangulateShape(h,i)}};function Pi(t){var i,n=t.length;2<n&&(i=t[n-1],n=t[0],i.x===n.x&&i.y===n.y)&&t.pop()}function Di(t,i){for(var n=0;n<i.length;n++)t.push(i[n].x),t.push(i[n].y)}var Yi=1e-5,_i=.001,Xi=Math.PI/180,Ni=180/Math.PI,Ui=function t(){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t)};Object.assign(Ui.prototype,{kt:function(){return Yi},Bt:function(){return Xi},It:function(){return Ni},Vt:function(t){return t<Yi&&-Yi<t},Ct:function(t){return Yi<t},Ft:function(t){return t<-Yi},Ht:function(t,i,n){n=(t.x-n.x)*(i.y-n.y)-(i.x-n.x)*(t.y-n.y);return Math.abs(n)<Yi?0:n},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,s=0;s<t.length;s++){var h=t[s].x,r=t[s].y,e=0,o=0,o=s<t.length-1?(e=t[s+1].x,t[s+1].y):(e=t[0].x,t[0].y);if(h===i.x&&r===i.y||e===i.x&&o===i.y)return!0;if(o!==r){var u=h+(i.y-r)*(e-h)/(o-r);if(u===i.x)return!0;h!==e?u<=Math.max(h,e)&&u>=Math.min(h,e)&&u>i.x&&u!==h&&(u===e&&0<(r-i.y)*(o-i.y)?n+=2:n++):u<=Math.max(h,e)&&u>=Math.min(h,e)&&u>i.x&&(u===e&&0<(r-i.y)*(o-i.y)?n+=2:n++)}}return 0<n%2},Lt:function(t,i,n,s){return!(Math.max(t.x,i.x)<Math.min(n.x,s.x))&&(!(Math.max(t.y,i.y)<Math.min(n.y,s.y))&&(!(Math.max(n.x,s.x)<Math.min(t.x,i.x))&&!(Math.max(n.y,s.y)<Math.min(t.y,i.y))))},Pt:function(t,i,n,s){return!(Math.max(t.x,i.x)<Math.min(n.x,s.x))&&(!(Math.max(t.y,i.y)<Math.min(n.y,s.y))&&(!(Math.max(n.x,s.x)<Math.min(t.x,i.x))&&(!(Math.max(n.y,s.y)<Math.min(t.y,i.y))&&((0!==this.Ht(n,i,t)||0!==this.Ht(i,s,t))&&(!(this.Ht(n,i,t)*this.Ht(i,s,t)<0)&&!(this.Ht(t,s,n)*this.Ht(s,i,n)<0))))))},Dt:function(t,i,n){return!(t.x<i.x)&&(!(t.y<i.y)&&(!(t.x>n.x)&&!(t.y>n.y)))},Yt:function(t,i,n){var s=Math.min(i.x,n.x),h=Math.max(i.x,n.x),r=Math.min(i.y,n.y),n=Math.max(i.y,n.y);return!(t.x<s||t.x>h||t.y<r||t.y>n)},_t:function(t,i,n){var s=Math.min(n.x,i.x),h=Math.max(n.x,i.x),r=Math.min(n.y,i.y),i=Math.max(n.y,i.y);return!(t.x<s||t.x>h||t.y<r||t.y>i)},Xt:function(t,i,n){for(var s,h,r=!1,e=0;e<n;e++)s=i[e],h=i[(e+1)%n],(s.y<t.y&&h.y>=t.y||h.y<t.y&&s.y>=t.y)&&(s.x<=t.x||h.x<=t.x)&&s.x+(t.y-s.y)/(h.y-s.y)*(h.x-s.x)<t.x&&(r=!r);return r},Nt: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)},Ut:function(t,i){return Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y))},Zt:function(t,i){return(t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y)},Gt:function(t,i,n){var s=i.x,h=i.y,r=n.x,e=n.y,o=t.x,u=t.y,a=r-s,c=e-h,f=a*a+c*c,i=o-s,n=u-h,t=i*i+n*n;if(this.Vt(f))return l=this.Vt(t)?0:t;var l,f=Math.sqrt(f),a=a/f,c=c/f,n=a*i+c*n;return l=this.Ct(n)?this.Ft(n-f)?(a=o-(s+n*a))*a+(c=u-(h+n*c))*c:(r=o-r)*r+(e=u-e)*e:t,this.Vt(l)?0:l},qt:function(t,i,n,s){var h=i.x,r=i.y,e=n.x,o=n.y,u=t.x,a=t.y,c=e-h,f=o-r,l=Math.sqrt(c*c+f*f),v=u-h,d=a-r,t=Math.sqrt(v*v+d*d);if(this.Vt(l))return s.x=i.x,s.y=i.y,this.Vt(M=t)?0:M;var c=c/l,f=f/l,d=c*v+f*d,M=this.Ct(d)?this.Ft(d-l)?(c=u-(h=h+d*c),f=a-(d=r+d*f),f=Math.sqrt(c*c+f*f),s.x=h,s.y=d,f):(e=u-e,o=a-o,o=Math.sqrt(e*e+o*o),s.x=n.x,s.y=n.y,o):(s.x=i.x,s.y=i.y,t);return this.Vt(M)?0:M},Qt:function(t,i){for(var n=0,s=0,h=0,r=0;r<i;r++){var e=t[r],o=t[(r+1)%i],u=(e.x*o.y-e.y*o.x)/2;n+=u,s+=u*(e.x+o.x)/3,h+=u*(e.y+o.y)/3}return{x:s/=n,y:h/=n}},Wt:function(t){for(var i=Li.triangulate([t]),n=0,s=0,h=0,r=0;r<i.length;r++){var e=t[i[r][0]],o=t[i[r][1]],u=t[i[r][2]],a=o.x-e.x,c=o.y-e.y,f=u.x-e.x,c=(a*(u.y-e.y)-f*c)/2;n+=c,s+=(e.x+o.x+u.x)/3*c,h+=(e.y+o.y+u.y)/3*c}return{x:s/n,y:h/n}},zt:function(t,i){if(i<3)return 0;for(var n=0,s=0;s<i;++s){var h=t[s],r=t[(s+1)%i];n+=h.x*r.y-h.y*r.x}return Math.abs(n/2)},Kt:function(t,i,n,s,h){if(this.Pt(t,i,n,s)){var r=(s.x-n.x)*(t.y-i.y)-(i.x-t.x)*(n.y-s.y),e=(t.y-n.y)*(i.x-t.x)*(s.x-n.x)+n.x*(s.y-n.y)*(i.x-t.x)-t.x*(i.y-t.y)*(s.x-n.x);return h.x=e/r,r=(t.x-i.x)*(s.y-n.y)-(i.y-t.y)*(n.x-s.x),e=i.y*(t.x-i.x)*(s.y-n.y)+(s.x-i.x)*(s.y-n.y)*(t.y-i.y)-s.y*(n.x-s.x)*(i.y-t.y),h.y=e/r,1}return 0},Jt:function(t,i,n,s,h){var r=Math.min(n.x,s.x),e=Math.max(n.x,s.x),o=Math.min(n.y,s.y),u=Math.max(n.y,s.y),a=t.x,c=t.y,f=n.x,l=n.y,v=s.x,d=s.y;if(90==i){if(t.x<r||t.x>e)return!1;if(Math.abs(e-r<_i))return t.y>=l&&t.y<=d||t.y>=d&&t.y<=l?(h.x=t.x,h.y=t.y,!0):l<d&&t.x<l?(h.x=f,h.y=l,!0):d<l&&t.x<d&&(h.x=v,h.y=d,!0);var M=(d-l)/(v-f)*(a-f)+l;return h.y=M,h.x=a,M<c?!1:!!this._t(h,n,s)}if(270==i){if(t.x<r||t.x>e)return!1;if(Math.abs(e-r<_i))return t.y>=l&&t.y<=d||t.y>=d&&t.y<=l?(h.x=t.x,h.y=t.y,!0):l<d&&t.y>d?(h.x=v,h.y=d,!0):d<l&&t.y>l&&(h.x=f,h.y=l,!0);t=(d-l)/(v-f)*(a-f)+l;return h.y=t,h.x=a,c<t?!1:!!this._t(h,n,s)}if(270!=i&&90!=i&&Math.abs(e-r<_i)){e=r,r=Math.tan(i/180*Math.PI)*(e-a)+c;if(h.y=r,h.x=e,this._t(h,n,s)){e=e-a,r=r-c;return 0<e/Math.sqrt(e*e+r*r)*Math.cos(i/180*Math.PI)}}if(Math.abs(u-o<=_i)){u=o,o=1/Math.tan(i/180*Math.PI)*(u-c)+a;if(h.x=o,h.y=u,this._t(h,n,s)){var o=o-a,p=u-c;return 0<o/Math.sqrt(o*o+p*p)*Math.cos(i/180*Math.PI)}return!1}p=Math.tan(i/180*Math.PI),v=(d-l)/(v-f),v=(l-c-(v*f-p*a))/(p-v),p=c+p*(v-a);if(h.x=v,h.y=p,this._t(h,n,s)){a=v-a,c=p-c;return Math.abs(a)<=_i&&Math.abs(c)<=_i?!0:0<a/Math.sqrt(a*a+c*c)*Math.cos(i/180*Math.PI)}return!1},$t:function(t,i){return Math.abs(t.x-i.x)<Yi&&Math.abs(t.y-i.y)<Yi},ti:function(t,i,n,s){var h=t.x,r=t.y,e=i.x,o=i.y,u=n.x,a=n.y;if(this.$t(t,i)||this.$t(t,n))return s.x=h,s.y=r,!0;var c=Math.min(i.x,n.x),f=Math.max(i.x,n.x),l=Math.min(i.y,n.y),v=Math.max(i.y,n.y);if(Math.abs(e-u)<1e-5)return s.x=e,l<=(s.y=r)&&r<=v;if(Math.abs(o-a)<1e-5)return s.x=h,s.y=o,c<=h&&h<=f;f=-1/((a-o)/(u-e)),u=(a-o)/(u-e),u=(o-r-(u*e-f*h))/(f-u),h=r+f*(u-h);return s.x=u,s.y=h,!!this._t(s,i,n)||!(!this.$t(t,i)&&!this.$t(t,n))},ii: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}},ni:function(t,i){return t.x*i.x+t.y*i.y+t.z*i.z},si:function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z)},hi:function(t,i){return t.x*i.x+t.y*i.y},ri:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},ei:function(t,i){if(0==t.x&&0==t.y||0==i.x&&0==i.y)return 0;var n={x:t.x,y:t.y,z:0},s={x:i.x,y:i.y,z:0},n=this.ii(n,s),s=this.hi(t,i),i=Math.acos(s/(this.ri(t)*this.ri(i)));return 0<n.z?i/Math.PI*180:360-i/Math.PI*180},oi:function(t,i,n,s){for(var h=0;h<n.length;h++){var r=n[h],e=n[(h+1)%n.length];if(1==this.Kt(t,i,r,e,s))return!0}return!1},ui:function(t,i,n,s,h){var r=Math.min(t.x,n.x,s.x),e=Math.max(t.x,n.x,s.x),o=Math.min(t.y,n.y,s.y),u=Math.max(t.y,n.y,s.y),u=Math.sqrt((e-r)*(e-r)+(u-o)*(u-o)),o=i/180*Math.PI,i=u*Math.cos(o)+t.x,o=u*Math.sin(o)+t.y;return 1==this.Kt(t,{x:i,y:o},n,s,h)},ai:function(t){for(var i={x:null,y:null},n=0,s=0,h=0;h<t.length;h++)n+=t[h].x,s+=t[h].y;return i.x=n/t.length,i.y=s/t.length,i},ci:function(t,i,n,s){var h=[],r=t.x-i,e=t.x+i,o=t.y-i,u=t.y+i,a=Math.min(n.x,s.x),c=Math.max(n.x,s.x),f=Math.min(n.y,s.y),l=Math.max(n.y,s.y);if(c<r||e<a||l<o||u<f)return h;r=s.x-n.x,e=s.y-n.y,o=t.x-n.x,u=t.y-n.y,s=r*r+e*e,t=(r*o+e*u)/s,i=t*t-(o*o+u*u-i*i)/s;if(i<0)return h;s=Math.sqrt(i),i=-t+s,t=-t-s,s={x:n.x-r*i,y:n.y-e*i},e={x:n.x-r*t,y:n.y-e*t};return i===t||(a<=s.x&&s.x<=c&&f<=s.y&&s.y<=l&&h.push(s),a<=e.x&&e.x<=c&&f<=e.y&&e.y<=l&&h.push(e)),h}});var Zi=new Ui;function Gi(t,i){for(var n=0;n<i.length;n++){var s=i[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}var qi=function(){function i(t){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,i),this.C=t,this.J=this.C.getContainer(),this.fi={border:"border:2px solid #0000FF",backgroundColor:null,opacity:null},this.li=[yi.MODEL,yi.FACILITY,yi.LABEL,yi.EXTERNAL_MODEL],this.vi=0,this.di=!1,this.$=this.$.bind(this),this.tt=this.tt.bind(this),this.it=this.it.bind(this),this.Mi=null,this.pi=null,this.st=new ai,this.yi=new fengmap.FMSearchAnalyser({map:this.C}),this.et()}var t,n,s;return t=i,(n=[{key:"dispose",value:function(){this.J.removeEventListener("mousedown",this.$,!1),document.removeEventListener("mousemove",this.tt,!1),document.removeEventListener("mouseup",this.it,!1),this.yi.dispose()}},{key:"boxStyle",get:function(){return this.fi},set:function(t){this.fi=t}},{key:"enable",get:function(){return this.di},set:function(t){this.di=t}},{key:"mouseKey",get:function(){return 0===this.vi?"left":"right"},set:function(t){this.vi="left"===t?0:2}},{key:"types",get:function(){return this.li},set:function(t){this.li=t}},{key:"on",value:function(t,i){this.st.k(t,i)}}])&&Gi(t.prototype,n),s&&Gi(t,s),i}();Object.assign(qi.prototype,{et:function(){this.C.getRenderManager().renderer.domElement.style.left="0px",this.J.addEventListener("mousedown",this.$,!1),document.addEventListener("mousemove",this.tt,!1),document.addEventListener("mouseup",this.it,!1)},mi:function(t){return{x:t.getBoundingClientRect().left,y:t.getBoundingClientRect().top}},$:function(t){var i,n;this.di&&t.button===this.vi&&(this.Mi&&this.Mi.parentNode&&(this.Mi.parentNode.removeChild(this.Mi),this.Mi=null),n=this.mi(this.C.getRenderManager().renderer.domElement),i=t.clientX-n.x,n=t.clientY-n.y,this.pi={x:i,y:n},this.bt(!1),this.Mi=document.createElement("div"),this.Mi.style.cssText="position:absolute;top:"+n+"px;left:"+i+"px;width:0px;height:0px;"+this.fi.border+";",this.J.appendChild(this.Mi),this.fi.backgroundColor&&(this.Mi.style.backgroundColor=this.fi.backgroundColor),void 0!==this.fi.opacity&&null!==this.fi.opacity&&(this.Mi.style.opacity=this.fi.opacity))},tt:function(t){var i,n;this.di&&null!==this.pi&&(n=this.mi(this.C.getRenderManager().renderer.domElement),i=t.clientX-n.x,n=t.clientY-n.y,i<this.pi.x&&(this.Mi.style.left=i+"px"),n<this.pi.y&&(this.Mi.style.top=n+"px"),this.Mi.style.width=Math.abs(i-this.pi.x)+"px",this.Mi.style.height=Math.abs(n-this.pi.y)+"px")},it:function(t){var m=this;if(this.di&&null!==this.Mi&&t.button===this.vi){this.bt(!0);var w=this.wi(),s=[],i=this.C.getMapOptions(),n=[],h=[];if(i.buildings&&0<i.buildings.length)for(var r=0;r<i.buildings.length;r++)!function(t){for(var i=m.C.getBuilding(t).bound,t=i.min,i=i.max,n=[{x:t.x,y:t.y},{x:t.x,y:i.y},{x:i.x,y:i.y},{x:i.x,y:t.y}],s=0;s<n.length;s++)if(Zi.Xt(n[s],w,w.length))return!0;for(var h=0;h<w.length;h++)if(Zi.Xt(w[h],n,n.length))return!0;for(var r=0;r<w.length-1;r++){for(var e=w[r],o=w[r+1],u=0;u<n.length-1;u++){var a=n[u],c=n[u+1];if(Zi.Pt(e,o,a,c))return!0}var f=n[n.length-1],l=n[0];if(Zi.Pt(e,o,l,f))return!0}for(var v=w[0],d=w[w.length-1],M=0;M<n.length-1;M++){var p=n[M],y=n[M+1];if(Zi.Pt(v,d,p,y))return!0}i=n[n.length-1],t=n[0];if(Zi.Pt(v,d,t,i))return!0}(i.buildings[r].bid)||(n.push(i.buildings[r].mid),h.push(i.buildings[r].bid));for(var e=[],o=0;o<this.li.length;o++){var u=new fengmap.FMSearchRequest;u.levels=[this.C.getBuilding(i.buildingID).level],u.type=this.li[o],u.addCondition({polygon:w});for(var a=[],c=0;c<h.length;c++)a.push({buildingID:h[c],levels:[this.C.getBuilding(h[c]).level]});0<a.length&&(u.buildings=a),e.push(u)}this.pi=null,this.Mi.parentNode&&this.Mi.parentNode.removeChild(this.Mi),this.Mi=null;var f,l=0;f=null,function i(){var n;l<e.length?(n=e[l],m.yi.query(n,function(t){s.push({type:n.type,children:t}),l++,f=setTimeout(i(),1)})):(null!==f&&clearTimeout(f),m.st.V({type:"boxselected",targets:s,coords:w}))}()}},bt:function(t){var i=this.C.getInteracations();i.enableDrag=t,i.enableRotate=t,i.enableTilt=t,i.enableZoom=t},wi:function(){var t=[],i=this.Mi.getBoundingClientRect(),n=this.mi(this.C.getRenderManager().renderer.domElement),s=n.x,n=n.y;t.push({x:i.left-s,y:i.top-n}),t.push({x:i.right-s,y:i.top-n}),t.push({x:i.right-s,y:i.bottom-n}),t.push({x:i.left-s,y:i.bottom-n});for(var h=[],r=0;r<t.length;r++){var e=fengmap.FMUtil.coordsScreenToMap(this.C,t[r]);h.push(e)}return h}});n=qi;function Qi(t,i){for(var n=0;n<i.length;n++){var s=i[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}var Wi=function(){function t(){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t)}var i,n,s;return i=t,s=[{key:"round",value:function(t){return 0<t.toFixed(2)?Math.ceil(t.toFixed(2)):Math.floor(t.toFixed(2))}},{key:"generateUUID",value:function(){for(var t=[],i=0;i<256;i++)t[i]=(i<16?"0":"")+i.toString(16);var n=4294967295*Math.random()|0,s=4294967295*Math.random()|0,h=4294967295*Math.random()|0,r=4294967295*Math.random()|0,r=t[255&n]+t[n>>8&255]+t[n>>16&255]+t[n>>24&255]+"-"+t[255&s]+t[s>>8&255]+"-"+t[s>>16&15|64]+t[s>>24&255]+"-"+t[63&h|128]+t[h>>8&255]+"-"+t[h>>16&255]+t[h>>24&255]+t[255&r]+t[r>>8&255]+t[r>>16&255]+t[r>>24&255];return t.length=0,r.toUpperCase()}},{key:"findNearNthPowerOfTwo",value:function(t){t-=1;return t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,(t|=t>>16)<0?1:1+t}},{key:"toRgba",value:function(t){if(void 0===t)return t;if("number"==typeof t)return"rgba("+parseInt(255*new L(t).r)+","+parseInt(255*new L(t).g)+","+parseInt(255*new L(t).b)+",1)";var i=t.split(",");return 3<=i.length?"rgba("+parseInt(i[0])+","+parseInt(i[1])+","+parseInt(i[2])+",1)":t}},{key:"toColor",value:function(t){if("number"==typeof t)return t;var i=t.split(",");return 3<=i.length?parseInt(i[0])<<16|parseInt(i[1])<<8|parseInt(i[2]):(console.error("color format error",t),0)}}],(n=null)&&Qi(i.prototype,n),s&&Qi(i,s),t}();function zi(t){return(zi="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 Ki(t,i){for(var n=0;n<i.length;n++){var s=i[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function Ji(t,i,n){return(Ji="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){t=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=nn(t)););return t}(t,i);if(t){i=Object.getOwnPropertyDescriptor(t,i);return i.get?i.get.call(n):i.value}})(t,i,n||t)}function $i(t,i){return($i=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function tn(n){var s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=nn(n);return t=s?(t=nn(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),i=this,!(t=t)||"object"!==zi(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(i):t}}function nn(t){return(nn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}ui=function(){!function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),i&&$i(t,i)}(h,fengmap.FMImageMarker);var t,i,n,s=tn(h);function h(t){var i;return function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,h),(i=s.call(this,t)).info2=t,i.id=""+Wi.generateUUID(),i.shapetype2="point",i.opetype2="no",t.opetype&&(i.opetype2=t.opetype,i.shapetype2="no"),i.mapEdit=null,i}return t=h,(i=[{key:"info",get:function(){return this.info2.id=this.id,this.info2.x=this.u,this.info2.y=this.v,this.info2.height=this.gi,this.info2.shapetype=this.shapetype,this.info2.level=this.level,this.info2}},{key:"opetype",get:function(){if(this.opetype2)return{node:this.getRenderNode(),type:this.opetype2}}},{key:"shapetype",get:function(){return this.shapetype2}},{key:"deleteMarker",value:function(){Ji(nn(h.prototype),"remove",this).call(this)}}])&&Ki(t.prototype,i),n&&Ki(t,n),h}();function sn(t){return(sn="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 hn(t,i){for(var n=0;n<i.length;n++){var s=i[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function rn(t,i,n){return(rn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){t=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=un(t)););return t}(t,i);if(t){i=Object.getOwnPropertyDescriptor(t,i);return i.get?i.get.call(n):i.value}})(t,i,n||t)}function en(t,i){return(en=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function on(n){var s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=un(n);return t=s?(t=un(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),i=this,!(t=t)||"object"!==sn(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(i):t}}function un(t){return(un=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}di=function(){!function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),i&&en(t,i)}(h,fengmap.FMPolygonMarker);var t,i,n,s=on(h);function h(t){var i;return function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,h),(i=s.call(this,t)).info2=t,i.shapetype2="polygon",i.id=""+Wi.generateUUID(),t.shapetype&&(i.shapetype2=t.shapetype),i.mapEdit=null,i}return t=h,(i=[{key:"info",get:function(){return this.info2.id=this.id,this.info2.shapetype=this.shapetype2,this.info2.level=this.level,this.info2.buildingID=this.parent.parent.parent.buildingID,this.info2}},{key:"shapetype",get:function(){return this.shapetype2}},{key:"deleteMarker",value:function(){if(rn(un(h.prototype),"remove",this).call(this),null!==this.mapEdit&&this.mapEdit.G&&this.mapEdit.G.id===this.id){for(var t=0;t<this.mapEdit.N.length;t++)this.mapEdit.N[t].remove();this.mapEdit.N.length=0}}}])&&hn(t.prototype,i),n&&hn(t,n),h}();function an(t){return(an="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 cn(t,i){for(var n=0;n<i.length;n++){var s=i[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function fn(t,i,n){return(fn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){t=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=dn(t)););return t}(t,i);if(t){i=Object.getOwnPropertyDescriptor(t,i);return i.get?i.get.call(n):i.value}})(t,i,n||t)}function ln(t,i){return(ln=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function vn(n){var s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=dn(n);return t=s?(t=dn(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),i=this,!(t=t)||"object"!==an(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(i):t}}function dn(t){return(dn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}pi=function(){!function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),i&&ln(t,i)}(h,fengmap.FMLineMarker);var t,i,n,s=vn(h);function h(t){var i;return function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,h),(i=s.call(this,t)).shapetype2="line",i.info2=t,i.id=""+Wi.generateUUID(),i.mapEdit=null,i}return t=h,(i=[{key:"info",get:function(){return this.info2.id=this.id,this.info2.points=this.points,this.info2.shapetype=this.shapetype,this.info2.level=this.segments[0].level,this.info2.buildingID=this.segments[0].buildingID,this.info2}},{key:"points",get:function(){return 0===this.segments.length?[]:this.segments[0].points}},{key:"shapetype",get:function(){return this.shapetype2}},{key:"deleteMarker",value:function(){if(fn(dn(h.prototype),"remove",this).call(this),null!==this.mapEdit&&this.mapEdit.G&&this.mapEdit.G.id===this.id){for(var t=0;t<this.mapEdit.N.length;t++)this.mapEdit.N[t].remove();this.mapEdit.N.length=0}}}])&&cn(t.prototype,i),n&&cn(t,n),h}(),Ui=9,qi=window.fengmap||{};qi.VERSION="v3.1.2",qi.BUILD=Ui,qi.FMMapEditor=Mi,qi.FMBoxSelectTool=n,qi.FMImageMarkerEdit=ui,qi.FMPolygonMarkerEdit=di,qi.FMLineMarkerEdit=pi;i.default=qi}],h.c=s,h.d=function(t,i,n){h.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:n})},h.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"bi",{value:!0})},h.t=function(i,t){if(1&t&&(i=h(i)),8&t)return i;if(4&t&&"object"==typeof i&&i&&i.bi)return i;var n=Object.create(null);if(h.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:i}),2&t&&"string"!=typeof i)for(var s in i)h.d(n,s,function(t){return i[t]}.bind(null,s));return n},h.n=function(t){var i=t&&t.bi?function(){return t.default}:function(){return t};return h.d(i,"a",i),i},h.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},h.p="",h(h.s=0).default;function h(t){if(s[t])return s[t].exports;var i=s[t]={i:t,l:!1,exports:{}};return n[t].call(i.exports,i,i.exports,h),i.l=!0,i.exports}var n,s});