浏览代码

Updated builds.

Mr.doob 8 年之前
父节点
当前提交
5cf094fe14
共有 3 个文件被更改,包括 184 次插入160 次删除
  1. 20 8
      build/three.js
  2. 144 144
      build/three.min.js
  3. 20 8
      build/three.module.js

+ 20 - 8
build/three.js

@@ -41305,10 +41305,13 @@
 
 	/**
 	 * @author mrdoob / http://mrdoob.com/
+	 * @author Mugen87 / http://github.com/Mugen87
 	 */
 
 	function BoxHelper( object, color ) {
 
+		this.object = object;
+
 		if ( color === undefined ) color = 0xffff00;
 
 		var indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] );
@@ -41320,11 +41323,9 @@
 
 		LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) );
 
-		if ( object !== undefined ) {
-
-			this.update( object );
+		this.matrixAutoUpdate = false;
 
-		}
+		this.update();
 
 	}
 
@@ -41337,13 +41338,15 @@
 
 		return function update( object ) {
 
-			if ( object && object.isBox3 ) {
+			if ( object !== undefined ) {
 
-				box.copy( object );
+				console.warn( 'THREE.BoxHelper: .update() has no longer arguments.' );
 
-			} else {
+			}
 
-				box.setFromObject( object );
+			if ( this.object !== undefined ) {
+
+				box.setFromObject( this.object );
 
 			}
 
@@ -41388,6 +41391,15 @@
 
 	} )();
 
+	BoxHelper.prototype.setFromObject = function ( object ) {
+
+		this.object = object;
+		this.update();
+
+		return this;
+
+	};
+
 	/**
 	 * @author WestLangley / http://github.com/WestLangley
 	 * @author zz85 / http://github.com/zz85

+ 144 - 144
build/three.min.js

@@ -1,13 +1,13 @@
 // threejs.org/license
 (function(k,ra){"object"===typeof exports&&"undefined"!==typeof module?ra(exports):"function"===typeof define&&define.amd?define(["exports"],ra):ra(k.THREE=k.THREE||{})})(this,function(k){function ra(){}function D(a,b){this.x=a||0;this.y=b||0}function ba(a,b,c,d,e,f,g,h,l,m){Object.defineProperty(this,"id",{value:ef++});this.uuid=Y.generateUUID();this.name="";this.image=void 0!==a?a:ba.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:ba.DEFAULT_MAPPING;this.wrapS=void 0!==c?c:1001;this.wrapT=
-void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==l?l:1;this.format=void 0!==g?g:1023;this.type=void 0!==h?h:1009;this.offset=new D(0,0);this.repeat=new D(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==m?m:3E3;this.version=0;this.onUpdate=null}function ha(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function Ab(a,b,c){this.uuid=Y.generateUUID();this.width=
-a;this.height=b;this.scissor=new ha(0,0,a,b);this.scissorTest=!1;this.viewport=new ha(0,0,a,b);c=c||{};void 0===c.minFilter&&(c.minFilter=1006);this.texture=new ba(void 0,void 0,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format,c.type,c.anisotropy,c.encoding);this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.depthTexture=void 0!==c.depthTexture?c.depthTexture:null}function Bb(a,b,c){Ab.call(this,a,b,c);this.activeMipMapLevel=
+void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==l?l:1;this.format=void 0!==g?g:1023;this.type=void 0!==h?h:1009;this.offset=new D(0,0);this.repeat=new D(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==m?m:3E3;this.version=0;this.onUpdate=null}function ha(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function Bb(a,b,c){this.uuid=Y.generateUUID();this.width=
+a;this.height=b;this.scissor=new ha(0,0,a,b);this.scissorTest=!1;this.viewport=new ha(0,0,a,b);c=c||{};void 0===c.minFilter&&(c.minFilter=1006);this.texture=new ba(void 0,void 0,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format,c.type,c.anisotropy,c.encoding);this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.depthTexture=void 0!==c.depthTexture?c.depthTexture:null}function Cb(a,b,c){Bb.call(this,a,b,c);this.activeMipMapLevel=
 this.activeCubeFace=0}function oa(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function p(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function L(){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 cb(a,b,c,d,e,f,g,h,l,m,u,q){ba.call(this,null,f,g,h,l,m,d,e,u,q);this.image={data:a,width:b,height:c};this.magFilter=void 0!==l?l:1003;this.minFilter=void 0!==
-m?m:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1}function Xa(a,b,c,d,e,f,g,h,l,m){a=void 0!==a?a:[];ba.call(this,a,void 0!==b?b:301,c,d,e,f,g,h,l,m);this.flipY=!1}function Cb(a,b,c){var d=a[0];if(0>=d||0<d)return a;var e=b*c,f=ve[e];void 0===f&&(f=new Float32Array(e),ve[e]=f);if(0!==b)for(d.toArray(f,0),d=1,e=0;d!==b;++d)e+=c,a[d].toArray(f,e);return f}function we(a,b){var c=xe[b];void 0===c&&(c=new Int32Array(b),xe[b]=c);for(var d=0;d!==b;++d)c[d]=a.allocTextureUnit();return c}
+m?m:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1}function Xa(a,b,c,d,e,f,g,h,l,m){a=void 0!==a?a:[];ba.call(this,a,void 0!==b?b:301,c,d,e,f,g,h,l,m);this.flipY=!1}function Db(a,b,c){var d=a[0];if(0>=d||0<d)return a;var e=b*c,f=ve[e];void 0===f&&(f=new Float32Array(e),ve[e]=f);if(0!==b)for(d.toArray(f,0),d=1,e=0;d!==b;++d)e+=c,a[d].toArray(f,e);return f}function we(a,b){var c=xe[b];void 0===c&&(c=new Int32Array(b),xe[b]=c);for(var d=0;d!==b;++d)c[d]=a.allocTextureUnit();return c}
 function ff(a,b){a.uniform1f(this.addr,b)}function gf(a,b){a.uniform1i(this.addr,b)}function hf(a,b){void 0===b.x?a.uniform2fv(this.addr,b):a.uniform2f(this.addr,b.x,b.y)}function jf(a,b){void 0!==b.x?a.uniform3f(this.addr,b.x,b.y,b.z):void 0!==b.r?a.uniform3f(this.addr,b.r,b.g,b.b):a.uniform3fv(this.addr,b)}function kf(a,b){void 0===b.x?a.uniform4fv(this.addr,b):a.uniform4f(this.addr,b.x,b.y,b.z,b.w)}function lf(a,b){a.uniformMatrix2fv(this.addr,!1,b.elements||b)}function mf(a,b){void 0===b.elements?
 a.uniformMatrix3fv(this.addr,!1,b):(ye.set(b.elements),a.uniformMatrix3fv(this.addr,!1,ye))}function nf(a,b){void 0===b.elements?a.uniformMatrix4fv(this.addr,!1,b):(ze.set(b.elements),a.uniformMatrix4fv(this.addr,!1,ze))}function of(a,b,c){var d=c.allocTextureUnit();a.uniform1i(this.addr,d);c.setTexture2D(b||Ae,d)}function pf(a,b,c){var d=c.allocTextureUnit();a.uniform1i(this.addr,d);c.setTextureCube(b||Be,d)}function Ce(a,b){a.uniform2iv(this.addr,b)}function De(a,b){a.uniform3iv(this.addr,b)}function Ee(a,
-b){a.uniform4iv(this.addr,b)}function qf(a){switch(a){case 5126:return ff;case 35664:return hf;case 35665:return jf;case 35666:return kf;case 35674:return lf;case 35675:return mf;case 35676:return nf;case 35678:return of;case 35680:return pf;case 5124:case 35670:return gf;case 35667:case 35671:return Ce;case 35668:case 35672:return De;case 35669:case 35673:return Ee}}function rf(a,b){a.uniform1fv(this.addr,b)}function sf(a,b){a.uniform1iv(this.addr,b)}function tf(a,b){a.uniform2fv(this.addr,Cb(b,
-this.size,2))}function uf(a,b){a.uniform3fv(this.addr,Cb(b,this.size,3))}function vf(a,b){a.uniform4fv(this.addr,Cb(b,this.size,4))}function wf(a,b){a.uniformMatrix2fv(this.addr,!1,Cb(b,this.size,4))}function xf(a,b){a.uniformMatrix3fv(this.addr,!1,Cb(b,this.size,9))}function yf(a,b){a.uniformMatrix4fv(this.addr,!1,Cb(b,this.size,16))}function zf(a,b,c){var d=b.length,e=we(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTexture2D(b[a]||Ae,e[a])}function Af(a,b,c){var d=b.length,e=we(c,d);a.uniform1iv(this.addr,
+b){a.uniform4iv(this.addr,b)}function qf(a){switch(a){case 5126:return ff;case 35664:return hf;case 35665:return jf;case 35666:return kf;case 35674:return lf;case 35675:return mf;case 35676:return nf;case 35678:return of;case 35680:return pf;case 5124:case 35670:return gf;case 35667:case 35671:return Ce;case 35668:case 35672:return De;case 35669:case 35673:return Ee}}function rf(a,b){a.uniform1fv(this.addr,b)}function sf(a,b){a.uniform1iv(this.addr,b)}function tf(a,b){a.uniform2fv(this.addr,Db(b,
+this.size,2))}function uf(a,b){a.uniform3fv(this.addr,Db(b,this.size,3))}function vf(a,b){a.uniform4fv(this.addr,Db(b,this.size,4))}function wf(a,b){a.uniformMatrix2fv(this.addr,!1,Db(b,this.size,4))}function xf(a,b){a.uniformMatrix3fv(this.addr,!1,Db(b,this.size,9))}function yf(a,b){a.uniformMatrix4fv(this.addr,!1,Db(b,this.size,16))}function zf(a,b,c){var d=b.length,e=we(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTexture2D(b[a]||Ae,e[a])}function Af(a,b,c){var d=b.length,e=we(c,d);a.uniform1iv(this.addr,
 e);for(a=0;a!==d;++a)c.setTextureCube(b[a]||Be,e[a])}function Bf(a){switch(a){case 5126:return rf;case 35664:return tf;case 35665:return uf;case 35666:return vf;case 35674:return wf;case 35675:return xf;case 35676:return yf;case 35678:return zf;case 35680:return Af;case 5124:case 35670:return sf;case 35667:case 35671:return Ce;case 35668:case 35672:return De;case 35669:case 35673:return Ee}}function Cf(a,b,c){this.id=a;this.addr=c;this.setValue=qf(b.type)}function Df(a,b,c){this.id=a;this.addr=c;
 this.size=b.size;this.setValue=Bf(b.type)}function Fe(a){this.id=a;this.seq=[];this.map={}}function db(a,b,c){this.seq=[];this.map={};this.renderer=c;c=a.getProgramParameter(b,a.ACTIVE_UNIFORMS);for(var d=0;d<c;++d){var e=a.getActiveUniform(b,d),f=a.getUniformLocation(b,e.name),g=this,h=e.name,l=h.length;for(Ld.lastIndex=0;;){var m=Ld.exec(h),u=Ld.lastIndex,q=m[1],n=m[3];"]"===m[2]&&(q|=0);if(void 0===n||"["===n&&u+2===l){h=g;e=void 0===n?new Cf(q,e,f):new Df(q,e,f);h.seq.push(e);h.map[e.id]=e;break}else n=
 g.map[q],void 0===n&&(n=new Fe(q),q=g,g=n,q.seq.push(g),q.map[g.id]=g),g=n}}}function K(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function ed(a,b){this.min=void 0!==a?a:new D(Infinity,Infinity);this.max=void 0!==b?b:new D(-Infinity,-Infinity)}function Ef(a,b){var c,d,e,f,g,h,l,m,u,q,n=a.context,r=a.state,k,t,x,y,w,G;this.render=function(v,O,C){if(0!==b.length){v=new p;var F=C.w/C.z,H=.5*C.z,Z=.5*C.w,aa=16/C.w,pa=new D(aa*F,aa),J=new p(1,1,0),eb=new D(1,1),E=new ed;E.min.set(C.x,
@@ -38,21 +38,21 @@ h&&(h=0);aa.renderReverseSided&&(0===h?h=1:1===h&&(h=0));g.side=h;g.clipShadows=
 c.update(b),n=b.material;if(Array.isArray(n))for(var u=m.groups,q=0,r=u.length;q<r;q++){var y=u[q],w=n[y.materialIndex];w&&w.visible&&(w=e(b,w,h,k),a.renderBufferDirect(g,null,m,w,b,y))}else n.visible&&(w=e(b,n,h,k),a.renderBufferDirect(g,null,m,w,b,null))}b=b.children;m=0;for(n=b.length;m<n;m++)f(b[m],d,g,h)}}var g=a.context,h=a.state,l=new fd,m=new L,u=b.shadows,q=new D,n=new D(d.maxTextureSize,d.maxTextureSize),r=new p,k=new p,t=Array(4),x=Array(4),y={},w=[new p(1,0,0),new p(-1,0,0),new p(0,0,
 1),new p(0,0,-1),new p(0,1,0),new p(0,-1,0)],G=[new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,0,1),new p(0,0,-1)],v=[new ha,new ha,new ha,new ha,new ha,new ha];b=new Ya;b.depthPacking=3201;b.clipping=!0;d=Za.distanceRGBA;for(var O=Ga.clone(d.uniforms),C=0;4!==C;++C){var F=0!==(C&1),H=0!==(C&2),Z=b.clone();Z.morphTargets=F;Z.skinning=H;t[C]=Z;F=new Da({defines:{USE_SHADOWMAP:""},uniforms:O,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:F,skinning:H,clipping:!0});
 x[C]=F}var aa=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,c){if(!1!==aa.enabled&&(!1!==aa.autoUpdate||!1!==aa.needsUpdate)&&0!==u.length){h.disable(g.BLEND);h.buffers.color.setClear(1,1,1,1);h.buffers.depth.setTest(!0);h.setScissorTest(!1);for(var d,e,y=0,t=u.length;y<t;y++){var p=u[y],x=p.shadow;if(void 0===x)console.warn("THREE.WebGLShadowMap:",p,"has no shadow.");else{var O=x.camera;q.copy(x.mapSize);
-q.min(n);if(p&&p.isPointLight){d=6;e=!0;var C=q.x,F=q.y;v[0].set(2*C,F,C,F);v[1].set(0,F,C,F);v[2].set(3*C,F,C,F);v[3].set(C,F,C,F);v[4].set(3*C,0,C,F);v[5].set(C,0,C,F);q.x*=4;q.y*=2}else d=1,e=!1;null===x.map&&(x.map=new Ab(q.x,q.y,{minFilter:1003,magFilter:1003,format:1023}),x.map.texture.name=p.name+".shadowMap",O.updateProjectionMatrix());x.isSpotLightShadow&&x.update(p);C=x.map;x=x.matrix;k.setFromMatrixPosition(p.matrixWorld);O.position.copy(k);a.setRenderTarget(C);a.clear();for(C=0;C<d;C++)e?
+q.min(n);if(p&&p.isPointLight){d=6;e=!0;var C=q.x,F=q.y;v[0].set(2*C,F,C,F);v[1].set(0,F,C,F);v[2].set(3*C,F,C,F);v[3].set(C,F,C,F);v[4].set(3*C,0,C,F);v[5].set(C,0,C,F);q.x*=4;q.y*=2}else d=1,e=!1;null===x.map&&(x.map=new Bb(q.x,q.y,{minFilter:1003,magFilter:1003,format:1023}),x.map.texture.name=p.name+".shadowMap",O.updateProjectionMatrix());x.isSpotLightShadow&&x.update(p);C=x.map;x=x.matrix;k.setFromMatrixPosition(p.matrixWorld);O.position.copy(k);a.setRenderTarget(C);a.clear();for(C=0;C<d;C++)e?
 (r.copy(O.position),r.add(w[C]),O.up.copy(G[C]),O.lookAt(r),h.viewport(v[C])):(r.setFromMatrixPosition(p.target.matrixWorld),O.lookAt(r)),O.updateMatrixWorld(),O.matrixWorldInverse.getInverse(O.matrixWorld),x.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),x.multiply(O.projectionMatrix),x.multiply(O.matrixWorldInverse),m.multiplyMatrices(O.projectionMatrix,O.matrixWorldInverse),l.setFromMatrix(m),f(b,c,O,e)}}d=a.getClearColor();e=a.getClearAlpha();a.setClearColor(d,e);aa.needsUpdate=!1}}}function fb(a,
 b){this.origin=void 0!==a?a:new p;this.direction=void 0!==b?b:new p}function $a(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||$a.DefaultOrder}function Md(){this.mask=1}function A(){Object.defineProperty(this,"id",{value:Hf++});this.uuid=Y.generateUUID();this.name="";this.type="Object3D";this.parent=null;this.children=[];this.up=A.DefaultUp.clone();var a=new p,b=new $a,c=new oa,d=new p(1,1,1);b.onChange(function(){c.setFromEuler(b,!1)});c.onChange(function(){b.setFromQuaternion(c,
 void 0,!1)});Object.defineProperties(this,{position:{enumerable:!0,value:a},rotation:{enumerable:!0,value:b},quaternion:{enumerable:!0,value:c},scale:{enumerable:!0,value:d},modelViewMatrix:{value:new L},normalMatrix:{value:new Fa}});this.matrix=new L;this.matrixWorld=new L;this.matrixAutoUpdate=A.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=!1;this.layers=new Md;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={};this.onBeforeRender=
-function(){};this.onAfterRender=function(){}}function Db(a,b){this.start=void 0!==a?a:new p;this.end=void 0!==b?b:new p}function Sa(a,b,c){this.a=void 0!==a?a:new p;this.b=void 0!==b?b:new p;this.c=void 0!==c?c:new p}function Ta(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d&&d.isVector3?d:new p;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new K;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex=void 0!==f?f:0}function Ha(a){X.call(this);this.type="MeshBasicMaterial";
+function(){};this.onAfterRender=function(){}}function Eb(a,b){this.start=void 0!==a?a:new p;this.end=void 0!==b?b:new p}function Sa(a,b,c){this.a=void 0!==a?a:new p;this.b=void 0!==b?b:new p;this.c=void 0!==c?c:new p}function Ta(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d&&d.isVector3?d:new p;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new K;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex=void 0!==f?f:0}function Ha(a){X.call(this);this.type="MeshBasicMaterial";
 this.color=new K(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.lights=this.morphTargets=this.skinning=!1;this.setValues(a)}function P(a,b,c){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");
 this.uuid=Y.generateUUID();this.array=a;this.itemSize=b;this.count=void 0!==a?a.length/b:0;this.normalized=!0===c;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.onUploadCallback=function(){};this.version=0}function oc(a,b){P.call(this,new Int8Array(a),b)}function pc(a,b){P.call(this,new Uint8Array(a),b)}function qc(a,b){P.call(this,new Uint8ClampedArray(a),b)}function rc(a,b){P.call(this,new Int16Array(a),b)}function gb(a,b){P.call(this,new Uint16Array(a),b)}function sc(a,b){P.call(this,
 new Int32Array(a),b)}function hb(a,b){P.call(this,new Uint32Array(a),b)}function E(a,b){P.call(this,new Float32Array(a),b)}function tc(a,b){P.call(this,new Float64Array(a),b)}function He(){this.indices=[];this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.uvsNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.verticesNeedUpdate=
 !1}function Nd(a){if(0===a.length)return-Infinity;for(var b=a[0],c=1,d=a.length;c<d;++c)a[c]>b&&(b=a[c]);return b}function S(){Object.defineProperty(this,"id",{value:Od++});this.uuid=Y.generateUUID();this.name="";this.type="Geometry";this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.lineDistancesNeedUpdate=
 this.colorsNeedUpdate=this.normalsNeedUpdate=this.uvsNeedUpdate=this.verticesNeedUpdate=this.elementsNeedUpdate=!1}function I(){Object.defineProperty(this,"id",{value:Od++});this.uuid=Y.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity}}function wa(a,b){A.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new I;this.material=void 0!==b?
-b:new Ha({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Eb(a,b,c,d,e,f){S.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new ib(a,b,c,d,e,f));this.mergeVertices()}function ib(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,k,C,F,H){var Z=f/C,aa=g/F,pa=f/2,J=g/2,D=k/2;g=C+1;var E=F+1,A=f=0,Q,N,W=new p;for(N=0;N<E;N++){var ka=N*aa-J;for(Q=0;Q<g;Q++)W[a]=(Q*Z-pa)*d,W[b]=ka*
+b:new Ha({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Fb(a,b,c,d,e,f){S.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new ib(a,b,c,d,e,f));this.mergeVertices()}function ib(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,k,C,F,H){var Z=f/C,aa=g/F,pa=f/2,J=g/2,D=k/2;g=C+1;var E=F+1,A=f=0,Q,N,W=new p;for(N=0;N<E;N++){var ka=N*aa-J;for(Q=0;Q<g;Q++)W[a]=(Q*Z-pa)*d,W[b]=ka*
 e,W[c]=D,m.push(W.x,W.y,W.z),W[a]=0,W[b]=0,W[c]=0<k?1:-1,u.push(W.x,W.y,W.z),q.push(Q/C),q.push(1-N/F),f+=1}for(N=0;N<F;N++)for(Q=0;Q<C;Q++)a=n+Q+g*(N+1),b=n+(Q+1)+g*(N+1),c=n+(Q+1)+g*N,l.push(n+Q+g*N,a,c),l.push(a,b,c),A+=6;h.addGroup(r,A,H);r+=A;n+=f}I.call(this);this.type="BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var h=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var l=[],m=[],u=[],q=[],n=0,r=0;g("z","y","x",
 -1,-1,c,b,a,f,e,0);g("z","y","x",1,-1,c,b,-a,f,e,1);g("x","z","y",1,1,a,c,b,d,f,2);g("x","z","y",1,-1,a,c,-b,d,f,3);g("x","y","z",1,-1,a,b,c,d,e,4);g("x","y","z",-1,-1,a,b,-c,d,e,5);this.setIndex(l);this.addAttribute("position",new E(m,3));this.addAttribute("normal",new E(u,3));this.addAttribute("uv",new E(q,2))}function uc(a,b,c,d){S.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new jb(a,b,c,d));this.mergeVertices()}
 function jb(a,b,c,d){I.call(this);this.type="PlaneBufferGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};var e=a/2,f=b/2;c=Math.floor(c)||1;d=Math.floor(d)||1;var g=c+1,h=d+1,l=a/c,m=b/d,u=[],q=[],n=[],r=[];for(a=0;a<h;a++){var k=a*m-f;for(b=0;b<g;b++)q.push(b*l-e,-k,0),n.push(0,0,1),r.push(b/c),r.push(1-a/d)}for(a=0;a<d;a++)for(b=0;b<c;b++)e=b+g*(a+1),f=b+1+g*(a+1),h=b+1+g*a,u.push(b+g*a,e,h),u.push(e,f,h);this.setIndex(u);this.addAttribute("position",new E(q,3));this.addAttribute("normal",
-new E(n,3));this.addAttribute("uv",new E(r,2))}function Ma(){A.call(this);this.type="Camera";this.matrixWorldInverse=new L;this.projectionMatrix=new L}function xa(a,b,c,d){Ma.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function Fb(a,b,c,d,e,f){Ma.call(this);this.type="OrthographicCamera";this.zoom=
+new E(n,3));this.addAttribute("uv",new E(r,2))}function Ma(){A.call(this);this.type="Camera";this.matrixWorldInverse=new L;this.projectionMatrix=new L}function xa(a,b,c,d){Ma.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function Gb(a,b,c,d,e,f){Ma.call(this);this.type="OrthographicCamera";this.zoom=
 1;this.view=null;this.left=a;this.right=b;this.top=c;this.bottom=d;this.near=void 0!==e?e:.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()}function If(a){var b={};return{get:function(a){a.isInterleavedBufferAttribute&&(a=a.data);return b[a.uuid]},remove:function(c){var d=b[c.uuid];d&&(a.deleteBuffer(d.buffer),delete b[c.uuid])},update:function(c,d){c.isInterleavedBufferAttribute&&(c=c.data);var e=b[c.uuid];if(void 0===e){var e=c.uuid,f=c,g=f.array,h=f.dynamic?a.DYNAMIC_DRAW:a.STATIC_DRAW,
 l=a.createBuffer();a.bindBuffer(d,l);a.bufferData(d,g,h);f.onUploadCallback();h=a.FLOAT;g instanceof Float32Array?h=a.FLOAT:g instanceof Float64Array?console.warn("Unsupported data buffer format: Float64Array"):g instanceof Uint16Array?h=a.UNSIGNED_SHORT:g instanceof Int16Array?h=a.SHORT:g instanceof Uint32Array?h=a.UNSIGNED_INT:g instanceof Int32Array?h=a.INT:g instanceof Int8Array?h=a.BYTE:g instanceof Uint8Array&&(h=a.UNSIGNED_BYTE);b[e]={buffer:l,type:h,bytesPerElement:g.BYTES_PER_ELEMENT,version:f.version}}else e.version<
 c.version&&(f=c,g=f.array,l=f.updateRange,a.bindBuffer(d,e.buffer),!1===f.dynamic?a.bufferData(d,g,a.STATIC_DRAW):-1===l.count?a.bufferSubData(d,0,g):0===l.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(a.bufferSubData(d,l.offset*g.BYTES_PER_ELEMENT,g.subarray(l.offset,l.offset+l.count)),l.count=0),e.version=c.version)}}}function Jf(a,b){return a.renderOrder!==
@@ -177,57 +177,57 @@ u.bias,C.shadowRadius=u.radius,C.shadowMapSize=u.mapSize;da.spotShadowMap[x]=z;d
 da.rectArea[y]=C,y++;else if(h.isPointLight){C=Ba.get(h);C.position.setFromMatrixPosition(h.matrixWorld);C.position.applyMatrix4(p);C.color.copy(h.color).multiplyScalar(h.intensity);C.distance=h.distance;C.decay=0===h.distance?0:h.decay;if(C.shadow=h.castShadow)u=h.shadow,C.shadowBias=u.bias,C.shadowRadius=u.radius,C.shadowMapSize=u.mapSize;da.pointShadowMap[v]=z;void 0===da.pointShadowMatrix[v]&&(da.pointShadowMatrix[v]=new L);Na.setFromMatrixPosition(h.matrixWorld).negate();da.pointShadowMatrix[v].identity().setPosition(Na);
 da.point[v]=C;v++}else h.isHemisphereLight&&(C=Ba.get(h),C.direction.setFromMatrixPosition(h.matrixWorld),C.direction.transformDirection(p),C.direction.normalize(),C.skyColor.copy(h.color).multiplyScalar(r),C.groundColor.copy(h.groundColor).multiplyScalar(r),da.hemi[G]=C,G++);da.ambient[0]=n;da.ambient[1]=q;da.ambient[2]=k;da.directional.length=w;da.spot.length=x;da.rectArea.length=y;da.point.length=v;da.hemi.length=G;da.hash=w+","+v+","+x+","+y+","+G+","+da.shadows.length;oa&&Oa.endShadows();la.frame++;
 la.calls=0;la.vertices=0;la.faces=0;la.points=0;void 0===c&&(c=null);this.setRenderTarget(c);e=a.background;null===e?ea.buffers.color.setClear(P.r,P.g,P.b,X,O):e&&e.isColor&&(ea.buffers.color.setClear(e.r,e.g,e.b,1,O),d=!0);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);e&&e.isCubeTexture?(void 0===sa&&(sa=new xa,ta=new wa(new ib(5,5,5),new Da({uniforms:Za.cube.uniforms,vertexShader:Za.cube.vertexShader,fragmentShader:Za.cube.fragmentShader,side:1,depthTest:!1,
-depthWrite:!1,fog:!1}))),sa.projectionMatrix.copy(b.projectionMatrix),sa.matrixWorld.extractRotation(b.matrixWorld),sa.matrixWorldInverse.getInverse(sa.matrixWorld),ta.material.uniforms.tCube.value=e,ta.modelViewMatrix.multiplyMatrices(sa.matrixWorldInverse,ta.matrixWorld),va.update(ta),J.renderBufferDirect(sa,null,ta.geometry,ta.material,ta,null)):e&&e.isTexture&&(void 0===Ea&&(Ea=new Fb(-1,1,1,-1,0,1),ya=new wa(new jb(2,2),new Ha({depthTest:!1,depthWrite:!1,fog:!1}))),ya.material.map=e,va.update(ya),
+depthWrite:!1,fog:!1}))),sa.projectionMatrix.copy(b.projectionMatrix),sa.matrixWorld.extractRotation(b.matrixWorld),sa.matrixWorldInverse.getInverse(sa.matrixWorld),ta.material.uniforms.tCube.value=e,ta.modelViewMatrix.multiplyMatrices(sa.matrixWorldInverse,ta.matrixWorld),va.update(ta),J.renderBufferDirect(sa,null,ta.geometry,ta.material,ta,null)):e&&e.isTexture&&(void 0===Ea&&(Ea=new Gb(-1,1,1,-1,0,1),ya=new wa(new jb(2,2),new Ha({depthTest:!1,depthWrite:!1,fog:!1}))),ya.material.map=e,va.update(ya),
 J.renderBufferDirect(Ea,null,ya.geometry,ya.material,ya,null));d=H.opaque;e=H.transparent;a.overrideMaterial?(f=a.overrideMaterial,d.length&&m(d,a,b,f),e.length&&m(e,a,b,f)):(d.length&&m(d,a,b),e.length&&m(e,a,b));La.render(a,b);Ma.render(a,b,R);c&&ra.updateRenderTargetMipmap(c);ea.buffers.depth.setTest(!0);ea.buffers.depth.setMask(!0);ea.buffers.color.setMask(!0);b.isArrayCamera&&b.enabled&&J.setScissorTest(!1);b.onAfterRender(J)}};this.setFaceCulling=function(a,b){ea.setCullFace(a);ea.setFlipSided(0===
 b)};this.allocTextureUnit=function(){var a=S;a>=ja.maxTextures&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+ja.maxTextures);S+=1;return a};this.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);ra.setTexture2D(b,c)}}();this.setTexture=function(){var a=!1;return function(b,
 c){a||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),a=!0);ra.setTexture2D(b,c)}}();this.setTextureCube=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTargetCube&&(a||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);b&&b.isCubeTexture||Array.isArray(b.image)&&6===b.image.length?ra.setTextureCube(b,c):ra.setTextureCubeDynamic(b,c)}}();this.getRenderTarget=
 function(){return A};this.setRenderTarget=function(a){(A=a)&&void 0===fa.get(a).__webglFramebuffer&&ra.setupRenderTarget(a);var b=a&&a.isWebGLRenderTargetCube,c;a?(c=fa.get(a),c=b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,ka.copy(a.scissor),V=a.scissorTest,R.copy(a.viewport)):(c=null,ka.copy(ca).multiplyScalar(M),V=na,R.copy(ia).multiplyScalar(M));ga!==c&&(B.bindFramebuffer(B.FRAMEBUFFER,c),ga=c);ea.scissor(ka);ea.setScissorTest(V);ea.viewport(R);b&&(b=fa.get(a.texture),B.framebufferTexture2D(B.FRAMEBUFFER,
 B.COLOR_ATTACHMENT0,B.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,b.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels=function(a,b,c,d,e,f){if(!1===(a&&a.isWebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else{var g=fa.get(a).__webglFramebuffer;if(g){var h=!1;g!==ga&&(B.bindFramebuffer(B.FRAMEBUFFER,g),h=!0);try{var l=a.texture,m=l.format,u=l.type;1023!==m&&k(m)!==B.getParameter(B.IMPLEMENTATION_COLOR_READ_FORMAT)?
 console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===u||k(u)===B.getParameter(B.IMPLEMENTATION_COLOR_READ_TYPE)||1015===u&&(ma.get("OES_texture_float")||ma.get("WEBGL_color_buffer_float"))||1016===u&&ma.get("EXT_color_buffer_half_float")?B.checkFramebufferStatus(B.FRAMEBUFFER)===B.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&B.readPixels(b,c,d,e,k(m),k(u),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):
-console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&&B.bindFramebuffer(B.FRAMEBUFFER,ga)}}}}}function Gb(a,b){this.name="";this.color=new K(a);this.density=void 0!==b?b:2.5E-4}function Hb(a,b,c){this.name="";this.color=new K(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function hd(){A.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Vd(a,b,
+console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&&B.bindFramebuffer(B.FRAMEBUFFER,ga)}}}}}function Hb(a,b){this.name="";this.color=new K(a);this.density=void 0!==b?b:2.5E-4}function Ib(a,b,c){this.name="";this.color=new K(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function hd(){A.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Vd(a,b,
 c,d,e){A.call(this);this.lensFlares=[];this.positionScreen=new p;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function ab(a){X.call(this);this.type="SpriteMaterial";this.color=new K(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function wc(a){A.call(this);this.type="Sprite";this.material=void 0!==a?a:new ab}function xc(){A.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function yc(a,b){a=a||[];this.bones=
 a.slice(0);this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===b)this.calculateInverses();else if(this.bones.length===b.length)this.boneInverses=b.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length.");this.boneInverses=[];for(var c=0,d=this.bones.length;c<d;c++)this.boneInverses.push(new L)}}function id(){A.call(this);this.type="Bone"}function jd(a,b){wa.call(this,a,b);this.type="SkinnedMesh";this.bindMode="attached";this.bindMatrix=new L;this.bindMatrixInverse=
 new L;var c=this.initBones(),c=new yc(c);this.bind(c,this.matrixWorld);this.normalizeSkinWeights()}function ia(a){X.call(this);this.type="LineBasicMaterial";this.color=new K(16777215);this.linewidth=1;this.linejoin=this.linecap="round";this.lights=!1;this.setValues(a)}function Ja(a,b,c){if(1===c)return console.warn("THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead."),new ca(a,b);A.call(this);this.type="Line";this.geometry=void 0!==a?a:new I;this.material=
-void 0!==b?b:new ia({color:16777215*Math.random()})}function ca(a,b){Ja.call(this,a,b);this.type="LineSegments"}function kd(a,b){Ja.call(this,a,b);this.type="LineLoop"}function Ka(a){X.call(this);this.type="PointsMaterial";this.color=new K(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.lights=!1;this.setValues(a)}function Ib(a,b){A.call(this);this.type="Points";this.geometry=void 0!==a?a:new I;this.material=void 0!==b?b:new Ka({color:16777215*Math.random()})}function zc(){A.call(this);
-this.type="Group"}function ld(a,b,c,d,e,f,g,h,l){function m(){requestAnimationFrame(m);a.readyState>=a.HAVE_CURRENT_DATA&&(u.needsUpdate=!0)}ba.call(this,a,b,c,d,e,f,g,h,l);this.generateMipmaps=!1;var u=this;m()}function Jb(a,b,c,d,e,f,g,h,l,m,u,q){ba.call(this,null,f,g,h,l,m,d,e,u,q);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function md(a,b,c,d,e,f,g,h,l){ba.call(this,a,b,c,d,e,f,g,h,l);this.needsUpdate=!0}function Ac(a,b,c,d,e,f,g,h,l,m){m=void 0!==m?m:1026;
-if(1026!==m&&1027!==m)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===m&&(c=1012);void 0===c&&1027===m&&(c=1020);ba.call(this,null,d,e,f,g,h,m,c,l);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Kb(a){I.call(this);this.type="WireframeGeometry";var b=[],c,d,e,f,g=[0,0],h={},l,m,u=["a","b","c"];if(a&&a.isGeometry){var q=a.faces;c=0;for(e=q.length;c<
+void 0!==b?b:new ia({color:16777215*Math.random()})}function ca(a,b){Ja.call(this,a,b);this.type="LineSegments"}function kd(a,b){Ja.call(this,a,b);this.type="LineLoop"}function Ka(a){X.call(this);this.type="PointsMaterial";this.color=new K(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.lights=!1;this.setValues(a)}function Jb(a,b){A.call(this);this.type="Points";this.geometry=void 0!==a?a:new I;this.material=void 0!==b?b:new Ka({color:16777215*Math.random()})}function zc(){A.call(this);
+this.type="Group"}function ld(a,b,c,d,e,f,g,h,l){function m(){requestAnimationFrame(m);a.readyState>=a.HAVE_CURRENT_DATA&&(u.needsUpdate=!0)}ba.call(this,a,b,c,d,e,f,g,h,l);this.generateMipmaps=!1;var u=this;m()}function Kb(a,b,c,d,e,f,g,h,l,m,u,q){ba.call(this,null,f,g,h,l,m,d,e,u,q);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function md(a,b,c,d,e,f,g,h,l){ba.call(this,a,b,c,d,e,f,g,h,l);this.needsUpdate=!0}function Ac(a,b,c,d,e,f,g,h,l,m){m=void 0!==m?m:1026;
+if(1026!==m&&1027!==m)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===m&&(c=1012);void 0===c&&1027===m&&(c=1020);ba.call(this,null,d,e,f,g,h,m,c,l);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Lb(a){I.call(this);this.type="WireframeGeometry";var b=[],c,d,e,f,g=[0,0],h={},l,m,u=["a","b","c"];if(a&&a.isGeometry){var q=a.faces;c=0;for(e=q.length;c<
 e;c++){var n=q[c];for(d=0;3>d;d++)l=n[u[d]],m=n[u[(d+1)%3]],g[0]=Math.min(l,m),g[1]=Math.max(l,m),l=g[0]+","+g[1],void 0===h[l]&&(h[l]={index1:g[0],index2:g[1]})}for(l in h)c=h[l],u=a.vertices[c.index1],b.push(u.x,u.y,u.z),u=a.vertices[c.index2],b.push(u.x,u.y,u.z)}else if(a&&a.isBufferGeometry){var k,u=new p;if(null!==a.index){q=a.attributes.position;n=a.index;k=a.groups;0===k.length&&(k=[{start:0,count:n.count,materialIndex:0}]);a=0;for(f=k.length;a<f;++a)for(c=k[a],d=c.start,e=c.count,c=d,e=d+
 e;c<e;c+=3)for(d=0;3>d;d++)l=n.getX(c+d),m=n.getX(c+(d+1)%3),g[0]=Math.min(l,m),g[1]=Math.max(l,m),l=g[0]+","+g[1],void 0===h[l]&&(h[l]={index1:g[0],index2:g[1]});for(l in h)c=h[l],u.fromBufferAttribute(q,c.index1),b.push(u.x,u.y,u.z),u.fromBufferAttribute(q,c.index2),b.push(u.x,u.y,u.z)}else for(q=a.attributes.position,c=0,e=q.count/3;c<e;c++)for(d=0;3>d;d++)h=3*c+d,u.fromBufferAttribute(q,h),b.push(u.x,u.y,u.z),h=3*c+(d+1)%3,u.fromBufferAttribute(q,h),b.push(u.x,u.y,u.z)}this.addAttribute("position",
-new E(b,3))}function Bc(a,b,c){S.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Lb(a,b,c));this.mergeVertices()}function Lb(a,b,c){I.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new p,l=new p,m=new p,u=new p,q=new p,n,k,z=b+1;for(n=0;n<=c;n++){var t=n/c;for(k=0;k<=b;k++){var x=k/b,l=a(x,t,l);e.push(l.x,l.y,l.z);0<=x-1E-5?(m=a(x-1E-5,t,m),u.subVectors(l,m)):(m=a(x+
+new E(b,3))}function Bc(a,b,c){S.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Mb(a,b,c));this.mergeVertices()}function Mb(a,b,c){I.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new p,l=new p,m=new p,u=new p,q=new p,n,k,z=b+1;for(n=0;n<=c;n++){var t=n/c;for(k=0;k<=b;k++){var x=k/b,l=a(x,t,l);e.push(l.x,l.y,l.z);0<=x-1E-5?(m=a(x-1E-5,t,m),u.subVectors(l,m)):(m=a(x+
 1E-5,t,m),u.subVectors(m,l));0<=t-1E-5?(m=a(x,t-1E-5,m),q.subVectors(l,m)):(m=a(x,t+1E-5,m),q.subVectors(m,l));h.crossVectors(u,q).normalize();f.push(h.x,h.y,h.z);g.push(x,t)}}for(n=0;n<c;n++)for(k=0;k<b;k++)a=n*z+k+1,h=(n+1)*z+k+1,l=(n+1)*z+k,d.push(n*z+k,a,l),d.push(a,h,l);this.setIndex(d);this.addAttribute("position",new E(e,3));this.addAttribute("normal",new E(f,3));this.addAttribute("uv",new E(g,2))}function Cc(a,b,c,d){S.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,
 indices:b,radius:c,detail:d};this.fromBufferGeometry(new fa(a,b,c,d));this.mergeVertices()}function fa(a,b,c,d){function e(a){h.push(a.x,a.y,a.z)}function f(b,c){var d=3*b;c.x=a[d+0];c.y=a[d+1];c.z=a[d+2]}function g(a,b,c,d){0>d&&1===a.x&&(l[b]=a.x-1);0===c.x&&0===c.z&&(l[b]=d/2/Math.PI+.5)}I.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;var h=[],l=[];(function(a){for(var c=new p,d=new p,g=new p,h=0;h<b.length;h+=3){f(b[h+0],c);f(b[h+
 1],d);f(b[h+2],g);var l=c,k=d,x=g,y=Math.pow(2,a),w=[],G,v;for(G=0;G<=y;G++){w[G]=[];var O=l.clone().lerp(x,G/y),C=k.clone().lerp(x,G/y),F=y-G;for(v=0;v<=F;v++)w[G][v]=0===v&&G===y?O:O.clone().lerp(C,v/F)}for(G=0;G<y;G++)for(v=0;v<2*(y-G)-1;v++)l=Math.floor(v/2),0===v%2?(e(w[G][l+1]),e(w[G+1][l]),e(w[G][l])):(e(w[G][l+1]),e(w[G+1][l+1]),e(w[G+1][l]))}})(d||0);(function(a){for(var b=new p,c=0;c<h.length;c+=3)b.x=h[c+0],b.y=h[c+1],b.z=h[c+2],b.normalize().multiplyScalar(a),h[c+0]=b.x,h[c+1]=b.y,h[c+
 2]=b.z})(c);(function(){for(var a=new p,b=0;b<h.length;b+=3)a.x=h[b+0],a.y=h[b+1],a.z=h[b+2],l.push(Math.atan2(a.z,-a.x)/2/Math.PI+.5,1-(Math.atan2(-a.y,Math.sqrt(a.x*a.x+a.z*a.z))/Math.PI+.5));for(var a=new p,b=new p,c=new p,d=new p,e=new D,f=new D,k=new D,x=0,y=0;x<h.length;x+=9,y+=6){a.set(h[x+0],h[x+1],h[x+2]);b.set(h[x+3],h[x+4],h[x+5]);c.set(h[x+6],h[x+7],h[x+8]);e.set(l[y+0],l[y+1]);f.set(l[y+2],l[y+3]);k.set(l[y+4],l[y+5]);d.copy(a).add(b).add(c).divideScalar(3);var w=Math.atan2(d.z,-d.x);
-g(e,y+0,a,w);g(f,y+2,b,w);g(k,y+4,c,w)}for(a=0;a<l.length;a+=6)b=l[a+0],c=l[a+2],d=l[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(l[a+0]+=1),.2>c&&(l[a+2]+=1),.2>d&&(l[a+4]+=1))})();this.addAttribute("position",new E(h,3));this.addAttribute("normal",new E(h.slice(),3));this.addAttribute("uv",new E(l,2));this.normalizeNormals()}function Dc(a,b){S.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Mb(a,b));this.mergeVertices()}function Mb(a,
+g(e,y+0,a,w);g(f,y+2,b,w);g(k,y+4,c,w)}for(a=0;a<l.length;a+=6)b=l[a+0],c=l[a+2],d=l[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(l[a+0]+=1),.2>c&&(l[a+2]+=1),.2>d&&(l[a+4]+=1))})();this.addAttribute("position",new E(h,3));this.addAttribute("normal",new E(h.slice(),3));this.addAttribute("uv",new E(l,2));this.normalizeNormals()}function Dc(a,b){S.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Nb(a,b));this.mergeVertices()}function Nb(a,
 b){fa.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Ec(a,b){S.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new kb(a,b));this.mergeVertices()}function kb(a,b){fa.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}
-function Fc(a,b){S.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Nb(a,b));this.mergeVertices()}function Nb(a,b){var c=(1+Math.sqrt(5))/2;fa.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}
-function Gc(a,b){S.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Ob(a,b));this.mergeVertices()}function Ob(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;fa.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,
-18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Hc(a,b,c,d,e,f){S.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Pb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=
-a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Pb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),m=g.normals[e];e=g.binormals[e];for(q=0;q<=d;q++){var u=q/d*Math.PI*2,t=Math.sin(u),u=-Math.cos(u);l.x=u*m.x+t*e.x;l.y=u*m.y+t*e.y;l.z=u*m.z+t*e.z;l.normalize();k.push(l.x,l.y,l.z);h.x=f.x+c*l.x;h.y=f.y+c*l.y;h.z=f.z+c*l.z;n.push(h.x,h.y,h.z)}}I.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;
+function Fc(a,b){S.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Ob(a,b));this.mergeVertices()}function Ob(a,b){var c=(1+Math.sqrt(5))/2;fa.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}
+function Gc(a,b){S.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Pb(a,b));this.mergeVertices()}function Pb(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;fa.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,
+18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Hc(a,b,c,d,e,f){S.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Qb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=
+a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Qb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),m=g.normals[e];e=g.binormals[e];for(q=0;q<=d;q++){var u=q/d*Math.PI*2,t=Math.sin(u),u=-Math.cos(u);l.x=u*m.x+t*e.x;l.y=u*m.y+t*e.y;l.z=u*m.z+t*e.z;l.normalize();k.push(l.x,l.y,l.z);h.x=f.x+c*l.x;h.y=f.y+c*l.y;h.z=f.z+c*l.z;n.push(h.x,h.y,h.z)}}I.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;
 d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new p,l=new p,m=new D,u,q,n=[],k=[],z=[],t=[];for(u=0;u<b;u++)f(u);f(!1===e?b:0);for(u=0;u<=b;u++)for(q=0;q<=d;q++)m.x=u/b,m.y=q/d,z.push(m.x,m.y);(function(){for(q=1;q<=b;q++)for(u=1;u<=d;u++){var a=(d+1)*q+(u-1),c=(d+1)*q+u,e=(d+1)*(q-1)+u;t.push((d+1)*(q-1)+(u-1),a,e);t.push(a,c,e)}})();this.setIndex(t);this.addAttribute("position",new E(n,3));this.addAttribute("normal",
-new E(k,3));this.addAttribute("uv",new E(z,2))}function Ic(a,b,c,d,e,f,g){S.call(this);this.type="TorusKnotGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};void 0!==g&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.");this.fromBufferGeometry(new Qb(a,b,c,d,e,f));this.mergeVertices()}function Qb(a,b,c,d,e,f){function g(a,b,c,d,e){var f=Math.sin(a);b=c/b*a;c=Math.cos(b);e.x=d*(2+c)*.5*Math.cos(a);e.y=d*(2+c)*
+new E(k,3));this.addAttribute("uv",new E(z,2))}function Ic(a,b,c,d,e,f,g){S.call(this);this.type="TorusKnotGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};void 0!==g&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.");this.fromBufferGeometry(new Rb(a,b,c,d,e,f));this.mergeVertices()}function Rb(a,b,c,d,e,f){function g(a,b,c,d,e){var f=Math.sin(a);b=c/b*a;c=Math.cos(b);e.x=d*(2+c)*.5*Math.cos(a);e.y=d*(2+c)*
 f*.5;e.z=d*Math.sin(b)*.5}I.call(this);this.type="TorusKnotBufferGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};a=a||100;b=b||40;c=Math.floor(c)||64;d=Math.floor(d)||8;e=e||2;f=f||3;var h=[],l=[],m=[],u=[],q,n,k=new p,z=new p,t=new p,x=new p,y=new p,w=new p,G=new p;for(q=0;q<=c;++q)for(n=q/c*e*Math.PI*2,g(n,e,f,a,t),g(n+.01,e,f,a,x),w.subVectors(x,t),G.addVectors(x,t),y.crossVectors(w,G),G.crossVectors(y,w),y.normalize(),G.normalize(),n=0;n<=d;++n){var v=n/
 d*Math.PI*2,O=-b*Math.cos(v),v=b*Math.sin(v);k.x=t.x+(O*G.x+v*y.x);k.y=t.y+(O*G.y+v*y.y);k.z=t.z+(O*G.z+v*y.z);l.push(k.x,k.y,k.z);z.subVectors(k,t).normalize();m.push(z.x,z.y,z.z);u.push(q/c);u.push(n/d)}for(n=1;n<=c;n++)for(q=1;q<=d;q++)a=(d+1)*n+(q-1),b=(d+1)*n+q,e=(d+1)*(n-1)+q,h.push((d+1)*(n-1)+(q-1),a,e),h.push(a,b,e);this.setIndex(h);this.addAttribute("position",new E(l,3));this.addAttribute("normal",new E(m,3));this.addAttribute("uv",new E(u,2))}function Jc(a,b,c,d,e){S.call(this);this.type=
-"TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};this.fromBufferGeometry(new Rb(a,b,c,d,e));this.mergeVertices()}function Rb(a,b,c,d,e){I.call(this);this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||100;b=b||40;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=[],g=[],h=[],l=[],m=new p,u=new p,q=new p,n,k;for(n=0;n<=c;n++)for(k=0;k<=d;k++){var z=k/d*e,t=n/c*Math.PI*2;u.x=(a+b*Math.cos(t))*
+"TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};this.fromBufferGeometry(new Sb(a,b,c,d,e));this.mergeVertices()}function Sb(a,b,c,d,e){I.call(this);this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||100;b=b||40;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=[],g=[],h=[],l=[],m=new p,u=new p,q=new p,n,k;for(n=0;n<=c;n++)for(k=0;k<=d;k++){var z=k/d*e,t=n/c*Math.PI*2;u.x=(a+b*Math.cos(t))*
 Math.cos(z);u.y=(a+b*Math.cos(t))*Math.sin(z);u.z=b*Math.sin(t);g.push(u.x,u.y,u.z);m.x=a*Math.cos(z);m.y=a*Math.sin(z);q.subVectors(u,m).normalize();h.push(q.x,q.y,q.z);l.push(k/d);l.push(n/c)}for(n=1;n<=c;n++)for(k=1;k<=d;k++)a=(d+1)*(n-1)+k-1,b=(d+1)*(n-1)+k,e=(d+1)*n+k,f.push((d+1)*n+k-1,a,e),f.push(a,b,e);this.setIndex(f);this.addAttribute("position",new E(g,3));this.addAttribute("normal",new E(h,3));this.addAttribute("uv",new E(l,2))}function bb(a,b){S.call(this);this.type="ExtrudeGeometry";
-this.parameters={shapes:a,options:b};this.fromBufferGeometry(new Ea(a,b));this.mergeVertices()}function Ea(a,b){"undefined"!==typeof a&&(I.call(this),this.type="ExtrudeBufferGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeVertexNormals())}function Kc(a,b){S.call(this);this.type="TextGeometry";this.parameters={text:a,parameters:b};this.fromBufferGeometry(new Sb(a,b));this.mergeVertices()}function Sb(a,b){b=b||{};var c=b.font;if(!1===(c&&c.isFont))return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),
+this.parameters={shapes:a,options:b};this.fromBufferGeometry(new Ea(a,b));this.mergeVertices()}function Ea(a,b){"undefined"!==typeof a&&(I.call(this),this.type="ExtrudeBufferGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeVertexNormals())}function Kc(a,b){S.call(this);this.type="TextGeometry";this.parameters={text:a,parameters:b};this.fromBufferGeometry(new Tb(a,b));this.mergeVertices()}function Tb(a,b){b=b||{};var c=b.font;if(!1===(c&&c.isFont))return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),
 new S;c=c.generateShapes(a,b.size,b.curveSegments);b.amount=void 0!==b.height?b.height:50;void 0===b.bevelThickness&&(b.bevelThickness=10);void 0===b.bevelSize&&(b.bevelSize=8);void 0===b.bevelEnabled&&(b.bevelEnabled=!1);Ea.call(this,c,b);this.type="TextBufferGeometry"}function Lc(a,b,c,d,e,f,g){S.call(this);this.type="SphereGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};this.fromBufferGeometry(new lb(a,b,c,d,e,f,g));this.mergeVertices()}
 function lb(a,b,c,d,e,f,g){I.call(this);this.type="SphereBufferGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};a=a||50;b=Math.max(3,Math.floor(b)||8);c=Math.max(2,Math.floor(c)||6);d=void 0!==d?d:0;e=void 0!==e?e:2*Math.PI;f=void 0!==f?f:0;g=void 0!==g?g:Math.PI;var h=f+g,l,m,u=0,k=[],n=new p,r=new p,z=[],t=[],x=[],y=[];for(m=0;m<=c;m++){var w=[],G=m/c;for(l=0;l<=b;l++){var v=l/b;n.x=-a*Math.cos(d+v*e)*Math.sin(f+G*g);n.y=a*Math.cos(f+
 G*g);n.z=a*Math.sin(d+v*e)*Math.sin(f+G*g);t.push(n.x,n.y,n.z);r.set(n.x,n.y,n.z).normalize();x.push(r.x,r.y,r.z);y.push(v,1-G);w.push(u++)}k.push(w)}for(m=0;m<c;m++)for(l=0;l<b;l++)a=k[m][l+1],d=k[m][l],e=k[m+1][l],g=k[m+1][l+1],(0!==m||0<f)&&z.push(a,d,g),(m!==c-1||h<Math.PI)&&z.push(d,e,g);this.setIndex(z);this.addAttribute("position",new E(t,3));this.addAttribute("normal",new E(x,3));this.addAttribute("uv",new E(y,2))}function Mc(a,b,c,d,e,f){S.call(this);this.type="RingGeometry";this.parameters=
-{innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Tb(a,b,c,d,e,f));this.mergeVertices()}function Tb(a,b,c,d,e,f){I.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||20;b=b||50;e=void 0!==e?e:0;f=void 0!==f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=[],h=[],l=[],m=[],u=a,k=(b-a)/d,n=new p,r=new D,z,t;for(z=
+{innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Ub(a,b,c,d,e,f));this.mergeVertices()}function Ub(a,b,c,d,e,f){I.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||20;b=b||50;e=void 0!==e?e:0;f=void 0!==f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=[],h=[],l=[],m=[],u=a,k=(b-a)/d,n=new p,r=new D,z,t;for(z=
 0;z<=d;z++){for(t=0;t<=c;t++)a=e+t/c*f,n.x=u*Math.cos(a),n.y=u*Math.sin(a),h.push(n.x,n.y,n.z),l.push(0,0,1),r.x=(n.x/b+1)/2,r.y=(n.y/b+1)/2,m.push(r.x,r.y);u+=k}for(z=0;z<d;z++)for(b=z*(c+1),t=0;t<c;t++)a=t+b,e=a+c+1,f=a+c+2,u=a+1,g.push(a,e,u),g.push(e,f,u);this.setIndex(g);this.addAttribute("position",new E(h,3));this.addAttribute("normal",new E(l,3));this.addAttribute("uv",new E(m,2))}function Nc(a,b,c,d){S.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};
-this.fromBufferGeometry(new Ub(a,b,c,d));this.mergeVertices()}function Ub(a,b,c,d){I.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||2*Math.PI;d=Y.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,l=new p,m=new D,u,k;for(u=0;u<=b;u++){k=c+u*h*d;var n=Math.sin(k),r=Math.cos(k);for(k=0;k<=a.length-1;k++)l.x=a[k].x*n,l.y=a[k].y,l.z=a[k].x*r,f.push(l.x,l.y,l.z),m.x=u/b,m.y=k/(a.length-1),g.push(m.x,m.y)}for(u=0;u<b;u++)for(k=
-0;k<a.length-1;k++)c=k+u*a.length,h=c+a.length,l=c+a.length+1,m=c+1,e.push(c,h,m),e.push(h,l,m);this.setIndex(e);this.addAttribute("position",new E(f,3));this.addAttribute("uv",new E(g,2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new p,f=new p,g=new p,c=b*a.length*3,k=u=0;u<a.length;u++,k+=3)e.x=d[k+0],e.y=d[k+1],e.z=d[k+2],f.x=d[c+k+0],f.y=d[c+k+1],f.z=d[c+k+2],g.addVectors(e,f).normalize(),d[k+0]=d[c+k+0]=g.x,d[k+1]=d[c+k+1]=g.y,d[k+2]=d[c+k+2]=g.z}function Vb(a,
-b){S.call(this);this.type="ShapeGeometry";"object"===typeof b&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),b=b.curveSegments);this.parameters={shapes:a,curveSegments:b};this.fromBufferGeometry(new Wb(a,b));this.mergeVertices()}function Wb(a,b){function c(a){var c,h,m=e.length/3;a=a.extractPoints(b);var k=a.shape,t=a.holes;if(!1===ya.isClockWise(k))for(k=k.reverse(),a=0,c=t.length;a<c;a++)h=t[a],!0===ya.isClockWise(h)&&(t[a]=h.reverse());var p=ya.triangulateShape(k,t);
+this.fromBufferGeometry(new Vb(a,b,c,d));this.mergeVertices()}function Vb(a,b,c,d){I.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||2*Math.PI;d=Y.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,l=new p,m=new D,u,k;for(u=0;u<=b;u++){k=c+u*h*d;var n=Math.sin(k),r=Math.cos(k);for(k=0;k<=a.length-1;k++)l.x=a[k].x*n,l.y=a[k].y,l.z=a[k].x*r,f.push(l.x,l.y,l.z),m.x=u/b,m.y=k/(a.length-1),g.push(m.x,m.y)}for(u=0;u<b;u++)for(k=
+0;k<a.length-1;k++)c=k+u*a.length,h=c+a.length,l=c+a.length+1,m=c+1,e.push(c,h,m),e.push(h,l,m);this.setIndex(e);this.addAttribute("position",new E(f,3));this.addAttribute("uv",new E(g,2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new p,f=new p,g=new p,c=b*a.length*3,k=u=0;u<a.length;u++,k+=3)e.x=d[k+0],e.y=d[k+1],e.z=d[k+2],f.x=d[c+k+0],f.y=d[c+k+1],f.z=d[c+k+2],g.addVectors(e,f).normalize(),d[k+0]=d[c+k+0]=g.x,d[k+1]=d[c+k+1]=g.y,d[k+2]=d[c+k+2]=g.z}function Wb(a,
+b){S.call(this);this.type="ShapeGeometry";"object"===typeof b&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),b=b.curveSegments);this.parameters={shapes:a,curveSegments:b};this.fromBufferGeometry(new Xb(a,b));this.mergeVertices()}function Xb(a,b){function c(a){var c,h,m=e.length/3;a=a.extractPoints(b);var k=a.shape,t=a.holes;if(!1===ya.isClockWise(k))for(k=k.reverse(),a=0,c=t.length;a<c;a++)h=t[a],!0===ya.isClockWise(h)&&(t[a]=h.reverse());var p=ya.triangulateShape(k,t);
 a=0;for(c=t.length;a<c;a++)h=t[a],k=k.concat(h);a=0;for(c=k.length;a<c;a++)h=k[a],e.push(h.x,h.y,0),f.push(0,0,1),g.push(h.x,h.y);a=0;for(c=p.length;a<c;a++)k=p[a],d.push(k[0]+m,k[1]+m,k[2]+m),l+=3}I.call(this);this.type="ShapeBufferGeometry";this.parameters={shapes:a,curveSegments:b};b=b||12;var d=[],e=[],f=[],g=[],h=0,l=0;if(!1===Array.isArray(a))c(a);else for(var m=0;m<a.length;m++)c(a[m]),this.addGroup(h,l,m),h+=l,l=0;this.setIndex(d);this.addAttribute("position",new E(e,3));this.addAttribute("normal",
-new E(f,3));this.addAttribute("uv",new E(g,2))}function Xb(a,b){I.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var c=[],d=Math.cos(Y.DEG2RAD*(void 0!==b?b:1)),e=[0,0],f={},g,h,l=["a","b","c"],m;a.isBufferGeometry?(m=new S,m.fromBufferGeometry(a)):m=a.clone();m.mergeVertices();m.computeFaceNormals();var u=m.vertices;m=m.faces;for(var k=0,n=m.length;k<n;k++)for(var r=m[k],p=0;3>p;p++)g=r[l[p]],h=r[l[(p+1)%3]],e[0]=Math.min(g,h),e[1]=Math.max(g,h),g=e[0]+","+e[1],void 0===
+new E(f,3));this.addAttribute("uv",new E(g,2))}function Yb(a,b){I.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var c=[],d=Math.cos(Y.DEG2RAD*(void 0!==b?b:1)),e=[0,0],f={},g,h,l=["a","b","c"],m;a.isBufferGeometry?(m=new S,m.fromBufferGeometry(a)):m=a.clone();m.mergeVertices();m.computeFaceNormals();var u=m.vertices;m=m.faces;for(var k=0,n=m.length;k<n;k++)for(var r=m[k],p=0;3>p;p++)g=r[l[p]],h=r[l[(p+1)%3]],e[0]=Math.min(g,h),e[1]=Math.max(g,h),g=e[0]+","+e[1],void 0===
 f[g]?f[g]={index1:e[0],index2:e[1],face1:k,face2:void 0}:f[g].face2=k;for(g in f)if(e=f[g],void 0===e.face2||m[e.face1].normal.dot(m[e.face2].normal)<=d)l=u[e.index1],c.push(l.x,l.y,l.z),l=u[e.index2],c.push(l.x,l.y,l.z);this.addAttribute("position",new E(c,3))}function mb(a,b,c,d,e,f,g,h){S.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Ua(a,b,c,d,e,
 f,g,h));this.mergeVertices()}function Ua(a,b,c,d,e,f,g,h){function l(c){var e,f,l,t=new D,F=new p,H=0,Z=!0===c?a:b,aa=!0===c?1:-1;f=z;for(e=1;e<=d;e++)k.push(0,x*aa,0),n.push(0,aa,0),r.push(.5,.5),z++;l=z;for(e=0;e<=d;e++){var E=e/d*h+g,J=Math.cos(E),E=Math.sin(E);F.x=Z*E;F.y=x*aa;F.z=Z*J;k.push(F.x,F.y,F.z);n.push(0,aa,0);t.x=.5*J+.5;t.y=.5*E*aa+.5;r.push(t.x,t.y);z++}for(e=0;e<d;e++)t=f+e,F=l+e,!0===c?u.push(F,F+1,t):u.push(F+1,F,t),H+=3;m.addGroup(y,H,!0===c?1:2);y+=H}I.call(this);this.type="CylinderBufferGeometry";
 this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};var m=this;a=void 0!==a?a:20;b=void 0!==b?b:20;c=void 0!==c?c:100;d=Math.floor(d)||8;e=Math.floor(e)||1;f=void 0!==f?f:!1;g=void 0!==g?g:0;h=void 0!==h?h:2*Math.PI;var u=[],k=[],n=[],r=[],z=0,t=[],x=c/2,y=0;(function(){var f,l,v=new p,O=new p,C=0,F=(b-a)/c;for(l=0;l<=e;l++){var H=[],Z=l/e,D=Z*(b-a)+a;for(f=0;f<=d;f++){var E=f/d,J=E*h+g,A=Math.sin(J),J=Math.cos(J);O.x=D*A;
 O.y=-Z*c+x;O.z=D*J;k.push(O.x,O.y,O.z);v.set(A,F,J).normalize();n.push(v.x,v.y,v.z);r.push(E,1-Z);H.push(z++)}t.push(H)}for(f=0;f<d;f++)for(l=0;l<e;l++)v=t[l+1][f],O=t[l+1][f+1],F=t[l][f+1],u.push(t[l][f],v,F),u.push(v,O,F),C+=6;m.addGroup(y,C,0);y+=C})();!1===f&&(0<a&&l(!0),0<b&&l(!1));this.setIndex(u);this.addAttribute("position",new E(k,3));this.addAttribute("normal",new E(n,3));this.addAttribute("uv",new E(r,2))}function Oc(a,b,c,d,e,f,g){mb.call(this,0,a,b,c,d,e,f,g);this.type="ConeGeometry";
-this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Pc(a,b,c,d,e,f,g){Ua.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Qc(a,b,c,d){S.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Yb(a,b,c,d));this.mergeVertices()}function Yb(a,
+this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Pc(a,b,c,d,e,f,g){Ua.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Qc(a,b,c,d){S.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Zb(a,b,c,d));this.mergeVertices()}function Zb(a,
 b,c,d){I.call(this);this.type="CircleBufferGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};a=a||50;b=void 0!==b?Math.max(3,b):8;c=void 0!==c?c:0;d=void 0!==d?d:2*Math.PI;var e=[],f=[],g=[],h=[],l,m,u=new p,k=new D;f.push(0,0,0);g.push(0,0,1);h.push(.5,.5);m=0;for(l=3;m<=b;m++,l+=3){var n=c+m/b*d;u.x=a*Math.cos(n);u.y=a*Math.sin(n);f.push(u.x,u.y,u.z);g.push(0,0,1);k.x=(f[l]/a+1)/2;k.y=(f[l+1]/a+1)/2;h.push(k.x,k.y)}for(l=1;l<=b;l++)e.push(l,l+1,0);this.setIndex(e);this.addAttribute("position",
-new E(f,3));this.addAttribute("normal",new E(g,3));this.addAttribute("uv",new E(h,2))}function Zb(a){Da.call(this,{uniforms:Ga.merge([U.lights,{opacity:{value:1}}]),vertexShader:T.shadow_vert,fragmentShader:T.shadow_frag});this.transparent=this.lights=!0;Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=a}}});this.setValues(a)}function $b(a){Da.call(this,a);this.type="RawShaderMaterial"}function Pa(a){X.call(this);
+new E(f,3));this.addAttribute("normal",new E(g,3));this.addAttribute("uv",new E(h,2))}function $b(a){Da.call(this,{uniforms:Ga.merge([U.lights,{opacity:{value:1}}]),vertexShader:T.shadow_vert,fragmentShader:T.shadow_frag});this.transparent=this.lights=!0;Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=a}}});this.setValues(a)}function ac(a){Da.call(this,a);this.type="RawShaderMaterial"}function Pa(a){X.call(this);
 this.defines={STANDARD:""};this.type="MeshStandardMaterial";this.color=new K(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.metalnessMap=this.roughnessMap=null;
 this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function nb(a){Pa.call(this);this.defines={PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearCoatRoughness=this.clearCoat=0;this.setValues(a)}function sa(a){X.call(this);this.type="MeshPhongMaterial";this.color=new K(16777215);this.specular=new K(1118481);this.shininess=
 30;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap=
@@ -237,45 +237,45 @@ this.morphTargets=this.skinning=!1;this.setValues(a)}function rb(a){X.call(this)
 g&&(e=!1,void 0!==d.onLoad))d.onLoad()};this.itemError=function(a){if(void 0!==d.onError)d.onError(a)}}function ta(a){this.manager=void 0!==a?a:za}function Me(a){this.manager=void 0!==a?a:za;this._parser=null}function Xd(a){this.manager=void 0!==a?a:za;this._parser=null}function Rc(a){this.manager=void 0!==a?a:za}function Yd(a){this.manager=void 0!==a?a:za}function nd(a){this.manager=void 0!==a?a:za}function na(a,b){A.call(this);this.type="Light";this.color=new K(a);this.intensity=void 0!==b?b:1;
 this.receiveShadow=void 0}function od(a,b,c){na.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(A.DefaultUp);this.updateMatrix();this.groundColor=new K(b)}function sb(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new D(512,512);this.map=null;this.matrix=new L}function pd(){sb.call(this,new xa(50,1,.5,500))}function qd(a,b,c,d,e,f){na.call(this,a,b);this.type="SpotLight";this.position.copy(A.DefaultUp);this.updateMatrix();this.target=new A;Object.defineProperty(this,
 "power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!==f?f:1;this.shadow=new pd}function rd(a,b,c,d){na.call(this,a,b);this.type="PointLight";Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new sb(new xa(90,
-1,.5,500))}function sd(){sb.call(this,new Fb(-5,5,5,-5,.5,500))}function td(a,b){na.call(this,a,b);this.type="DirectionalLight";this.position.copy(A.DefaultUp);this.updateMatrix();this.target=new A;this.shadow=new sd}function ud(a,b){na.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function vd(a,b,c,d){na.call(this,a,b);this.type="RectAreaLight";this.position.set(0,1,0);this.updateMatrix();this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Ca(a,b,c,d){this.parameterPositions=
+1,.5,500))}function sd(){sb.call(this,new Gb(-5,5,5,-5,.5,500))}function td(a,b){na.call(this,a,b);this.type="DirectionalLight";this.position.copy(A.DefaultUp);this.updateMatrix();this.target=new A;this.shadow=new sd}function ud(a,b){na.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function vd(a,b,c,d){na.call(this,a,b);this.type="RectAreaLight";this.position.set(0,1,0);this.updateMatrix();this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Ca(a,b,c,d){this.parameterPositions=
 a;this._cachedIndex=0;this.resultBuffer=void 0!==d?d:new b.constructor(c);this.sampleValues=b;this.valueSize=c}function wd(a,b,c,d){Ca.call(this,a,b,c,d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function Sc(a,b,c,d){Ca.call(this,a,b,c,d)}function xd(a,b,c,d){Ca.call(this,a,b,c,d)}function tb(a,b,c,d){if(void 0===a)throw Error("track name is undefined");if(void 0===b||0===b.length)throw Error("no keyframes in track named "+a);this.name=a;this.times=ua.convertArray(b,this.TimeBufferType);
-this.values=ua.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation);this.validate();this.optimize()}function ac(a,b,c,d){tb.call(this,a,b,c,d)}function yd(a,b,c,d){Ca.call(this,a,b,c,d)}function Tc(a,b,c,d){tb.call(this,a,b,c,d)}function bc(a,b,c,d){tb.call(this,a,b,c,d)}function zd(a,b,c,d){tb.call(this,a,b,c,d)}function Ad(a,b,c){tb.call(this,a,b,c)}function Bd(a,b,c,d){tb.call(this,a,b,c,d)}function ub(a,b,c,d){tb.apply(this,arguments)}function Aa(a,b,c){this.name=
-a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=Y.generateUUID();0>this.duration&&this.resetDuration();this.optimize()}function Cd(a){this.manager=void 0!==a?a:za;this.textures={}}function Zd(a){this.manager=void 0!==a?a:za}function cc(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function $d(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==
+this.values=ua.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation);this.validate();this.optimize()}function bc(a,b,c,d){tb.call(this,a,b,c,d)}function yd(a,b,c,d){Ca.call(this,a,b,c,d)}function Tc(a,b,c,d){tb.call(this,a,b,c,d)}function cc(a,b,c,d){tb.call(this,a,b,c,d)}function zd(a,b,c,d){tb.call(this,a,b,c,d)}function Ad(a,b,c){tb.call(this,a,b,c)}function Bd(a,b,c,d){tb.call(this,a,b,c,d)}function ub(a,b,c,d){tb.apply(this,arguments)}function Aa(a,b,c){this.name=
+a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=Y.generateUUID();0>this.duration&&this.resetDuration();this.optimize()}function Cd(a){this.manager=void 0!==a?a:za;this.textures={}}function Zd(a){this.manager=void 0!==a?a:za}function dc(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function $d(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==
 a?a:za;this.withCredentials=!1}function Ne(a){this.manager=void 0!==a?a:za;this.texturePath=""}function Oe(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function vb(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function wb(a,b,c,d,e){var f=1-a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}function ja(){this.arcLengthDivisions=200}function Qa(a,b){this.arcLengthDivisions=200;this.v1=a;this.v2=b}function Uc(){this.arcLengthDivisions=200;this.curves=
-[];this.autoClose=!1}function Va(a,b,c,d,e,f,g,h){this.arcLengthDivisions=200;this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=h||0}function xb(a){this.arcLengthDivisions=200;this.points=void 0===a?[]:a}function dc(a,b,c,d){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c;this.v3=d}function ec(a,b,c){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c}function Vc(a){Uc.call(this);this.currentPoint=new D;a&&this.fromPoints(a)}
+[];this.autoClose=!1}function Va(a,b,c,d,e,f,g,h){this.arcLengthDivisions=200;this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=h||0}function xb(a){this.arcLengthDivisions=200;this.points=void 0===a?[]:a}function ec(a,b,c,d){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c;this.v3=d}function fc(a,b,c){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c}function Vc(a){Uc.call(this);this.currentPoint=new D;a&&this.fromPoints(a)}
 function yb(){Vc.apply(this,arguments);this.holes=[]}function ae(){this.subPaths=[];this.currentPath=null}function be(a){this.data=a}function Pe(a){this.manager=void 0!==a?a:za}function ce(a){this.manager=void 0!==a?a:za}function Qe(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new xa;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new xa;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function Dd(a,b,c){A.call(this);this.type="CubeCamera";
-var d=new xa(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new p(1,0,0));this.add(d);var e=new xa(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new p(-1,0,0));this.add(e);var f=new xa(90,1,a,b);f.up.set(0,0,1);f.lookAt(new p(0,1,0));this.add(f);var g=new xa(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new p(0,-1,0));this.add(g);var h=new xa(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new p(0,0,1));this.add(h);var l=new xa(90,1,a,b);l.up.set(0,-1,0);l.lookAt(new p(0,0,-1));this.add(l);this.renderTarget=new Bb(c,c,{format:1022,magFilter:1006,
+var d=new xa(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new p(1,0,0));this.add(d);var e=new xa(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new p(-1,0,0));this.add(e);var f=new xa(90,1,a,b);f.up.set(0,0,1);f.lookAt(new p(0,1,0));this.add(f);var g=new xa(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new p(0,-1,0));this.add(g);var h=new xa(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new p(0,0,1));this.add(h);var l=new xa(90,1,a,b);l.up.set(0,-1,0);l.lookAt(new p(0,0,-1));this.add(l);this.renderTarget=new Cb(c,c,{format:1022,magFilter:1006,
 minFilter:1006});this.renderTarget.texture.name="CubeCamera";this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,n=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.texture.generateMipmaps=n;c.activeCubeFace=5;a.render(b,l,c);a.setRenderTarget(null)}}function de(a){xa.call(this);
-this.enabled=!1;this.cameras=a||[]}function ee(){A.call(this);this.type="AudioListener";this.context=fe.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function fc(a){A.call(this);this.type="Audio";this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.loop=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";
-this.filters=[]}function ge(a){fc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function he(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function ie(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=
+this.enabled=!1;this.cameras=a||[]}function ee(){A.call(this);this.type="AudioListener";this.context=fe.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function gc(a){A.call(this);this.type="Audio";this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.loop=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";
+this.filters=[]}function ge(a){gc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function he(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function ie(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=
 new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function Re(a,b,c){c=c||la.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function la(a,b,c){this.path=b;this.parsedPath=c||la.parseTrackName(b);this.node=la.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Se(a){this.uuid=Y.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var b={};this._indicesByUUID=b;for(var c=0,d=arguments.length;c!==
 d;++c)b[arguments[c].uuid]=c;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}function Te(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=
 d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function Ue(a){this._root=a;this._initMemoryManager();
-this.time=this._accuIndex=0;this.timeScale=1}function Ed(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function je(){I.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function ke(a,b,c,d){this.uuid=Y.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function gc(a,b){this.uuid=Y.generateUUID();this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange=
-{offset:0,count:-1};this.onUploadCallback=function(){};this.version=0}function le(a,b,c){gc.call(this,a,b);this.meshPerAttribute=c||1}function me(a,b,c){P.call(this,a,b);this.meshPerAttribute=c||1}function Ve(a,b,c,d){this.ray=new fb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}
+this.time=this._accuIndex=0;this.timeScale=1}function Ed(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function je(){I.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function ke(a,b,c,d){this.uuid=Y.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function hc(a,b){this.uuid=Y.generateUUID();this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange=
+{offset:0,count:-1};this.onUploadCallback=function(){};this.version=0}function le(a,b,c){hc.call(this,a,b);this.meshPerAttribute=c||1}function me(a,b,c){P.call(this,a,b);this.meshPerAttribute=c||1}function Ve(a,b,c,d){this.ray=new fb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}
 function We(a,b){return a.distance-b.distance}function ne(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;d<e;d++)ne(a[d],b,c,!0)}}function Xe(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function Ye(a,b,c){this.radius=void 0!==a?a:1;this.phi=void 0!==b?b:0;this.theta=void 0!==c?c:0;return this}function Ze(a,b,c){this.radius=void 0!==a?a:1;this.theta=void 0!==b?b:0;this.y=void 0!==c?c:0;return this}function qa(a,
 b){wa.call(this,a,b);this.animationsMap={};this.animationsList=[];var c=this.geometry.morphTargets.length;this.createAnimation("__default",0,c-1,c/1);this.setAnimationWeight("__default",1)}function Wc(a){A.call(this);this.material=a;this.render=function(a){}}function Xc(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16711680;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=3*c.faces.length:c&&c.isBufferGeometry&&(b=c.attributes.normal.count);c=new I;b=new E(6*b,3);c.addAttribute("position",
-b);ca.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function hc(a){A.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;a=new I;for(var b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],c=0,d=1;32>c;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new E(b,3));b=new ia({fog:!1});this.cone=new ca(a,b);this.add(this.cone);
-this.update()}function ic(a){this.bones=this.getBoneList(a);for(var b=new I,c=[],d=[],e=new K(0,0,1),f=new K(0,1,0),g=0;g<this.bones.length;g++){var h=this.bones[g];h.parent&&h.parent.isBone&&(c.push(0,0,0),c.push(0,0,0),d.push(e.r,e.g,e.b),d.push(f.r,f.g,f.b))}b.addAttribute("position",new E(c,3));b.addAttribute("color",new E(d,3));c=new ia({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ca.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function jc(a,
-b){this.light=a;this.light.updateMatrixWorld();var c=new lb(b,4,2),d=new Ha({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);wa.call(this,c,d);this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=!1}function kc(a){A.call(this);this.light=a;this.light.updateMatrixWorld();var b=new Ha({color:a.color,fog:!1});a=new Ha({color:a.color,fog:!1,wireframe:!0});var c=new I;c.addAttribute("position",new P(new Float32Array(18),3));this.add(new wa(c,b));this.add(new wa(c,
-a));this.update()}function lc(a,b){A.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;var c=new kb(b);c.rotateY(.5*Math.PI);var d=new Ha({vertexColors:2,wireframe:!0}),e=c.getAttribute("position"),e=new Float32Array(3*e.count);c.addAttribute("color",new P(e,3));this.add(new wa(c,d));this.update()}function Yc(a,b,c,d){a=a||10;b=b||10;c=new K(void 0!==c?c:4473924);d=new K(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],l=0,m=0,u=
+b);ca.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function ic(a){A.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;a=new I;for(var b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],c=0,d=1;32>c;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new E(b,3));b=new ia({fog:!1});this.cone=new ca(a,b);this.add(this.cone);
+this.update()}function jc(a){this.bones=this.getBoneList(a);for(var b=new I,c=[],d=[],e=new K(0,0,1),f=new K(0,1,0),g=0;g<this.bones.length;g++){var h=this.bones[g];h.parent&&h.parent.isBone&&(c.push(0,0,0),c.push(0,0,0),d.push(e.r,e.g,e.b),d.push(f.r,f.g,f.b))}b.addAttribute("position",new E(c,3));b.addAttribute("color",new E(d,3));c=new ia({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ca.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function kc(a,
+b){this.light=a;this.light.updateMatrixWorld();var c=new lb(b,4,2),d=new Ha({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);wa.call(this,c,d);this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=!1}function lc(a){A.call(this);this.light=a;this.light.updateMatrixWorld();var b=new Ha({color:a.color,fog:!1});a=new Ha({color:a.color,fog:!1,wireframe:!0});var c=new I;c.addAttribute("position",new P(new Float32Array(18),3));this.add(new wa(c,b));this.add(new wa(c,
+a));this.update()}function mc(a,b){A.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;var c=new kb(b);c.rotateY(.5*Math.PI);var d=new Ha({vertexColors:2,wireframe:!0}),e=c.getAttribute("position"),e=new Float32Array(3*e.count);c.addAttribute("color",new P(e,3));this.add(new wa(c,d));this.update()}function Yc(a,b,c,d){a=a||10;b=b||10;c=new K(void 0!==c?c:4473924);d=new K(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],l=0,m=0,u=
 -g;l<=b;l++,u+=f){a.push(-g,0,u,g,0,u);a.push(u,0,-g,u,0,g);var k=l===e?c:d;k.toArray(h,m);m+=3;k.toArray(h,m);m+=3;k.toArray(h,m);m+=3;k.toArray(h,m);m+=3}b=new I;b.addAttribute("position",new E(a,3));b.addAttribute("color",new E(h,3));c=new ia({vertexColors:2});ca.call(this,b,c)}function Fd(a,b,c,d,e,f){a=a||10;b=b||16;c=c||8;d=d||64;e=new K(void 0!==e?e:4473924);f=new K(void 0!==f?f:8947848);var g=[],h=[],l,m,k,q,n;for(k=0;k<=b;k++)m=k/b*2*Math.PI,l=Math.sin(m)*a,m=Math.cos(m)*a,g.push(0,0,0),
 g.push(l,0,m),n=k&1?e:f,h.push(n.r,n.g,n.b),h.push(n.r,n.g,n.b);for(k=0;k<=c;k++)for(n=k&1?e:f,q=a-a/c*k,b=0;b<d;b++)m=b/d*2*Math.PI,l=Math.sin(m)*q,m=Math.cos(m)*q,g.push(l,0,m),h.push(n.r,n.g,n.b),m=(b+1)/d*2*Math.PI,l=Math.sin(m)*q,m=Math.cos(m)*q,g.push(l,0,m),h.push(n.r,n.g,n.b);a=new I;a.addAttribute("position",new E(g,3));a.addAttribute("color",new E(h,3));g=new ia({vertexColors:2});ca.call(this,a,g)}function Zc(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16776960;d=void 0!==
-d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=new I;b=new E(6*b,3);c.addAttribute("position",b);ca.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function mc(a,b){A.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new I;c.addAttribute("position",new E([-b,
+d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=new I;b=new E(6*b,3);c.addAttribute("position",b);ca.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function nc(a,b){A.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new I;c.addAttribute("position",new E([-b,
 b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new ia({fog:!1});this.add(new Ja(c,d));c=new I;c.addAttribute("position",new E([0,0,0,0,0,1],3));this.add(new Ja(c,d));this.update()}function $c(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){f.push(0,0,0);g.push(b.r,b.g,b.b);void 0===h[a]&&(h[a]=[]);h[a].push(f.length/3-1)}var d=new I,e=new ia({color:16777215,vertexColors:1}),f=[],g=[],h={},l=new K(16755200),m=new K(16711680),k=new K(43775),q=new K(16777215),n=new K(3355443);b("n1","n2",l);b("n2","n4",
 l);b("n4","n3",l);b("n3","n1",l);b("f1","f2",l);b("f2","f4",l);b("f4","f3",l);b("f3","f1",l);b("n1","f1",l);b("n2","f2",l);b("n3","f3",l);b("n4","f4",l);b("p","n1",m);b("p","n2",m);b("p","n3",m);b("p","n4",m);b("u1","u2",k);b("u2","u3",k);b("u3","u1",k);b("c","t",q);b("p","c",n);b("cn1","cn2",n);b("cn3","cn4",n);b("cf1","cf2",n);b("cf3","cf4",n);d.addAttribute("position",new E(f,3));d.addAttribute("color",new E(g,3));ca.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();
-this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function nc(a,b){void 0===b&&(b=16776960);var c=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),d=new Float32Array(24),e=new I;e.setIndex(new P(c,1));e.addAttribute("position",new P(d,3));ca.call(this,e,new ia({color:b}));void 0!==a&&this.update(a)}function zb(a,b,c,d,e,f){A.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===Gd&&(Gd=new I,Gd.addAttribute("position",
-new E([0,0,0,0,1,0],3)),oe=new Ua(0,.5,1,5,1),oe.translate(0,-.5,0));this.position.copy(b);this.line=new Ja(Gd,new ia({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new wa(oe,new Ha({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function Hd(a){a=a||1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new I;a.addAttribute("position",new E(b,3));a.addAttribute("color",new E([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new ia({vertexColors:2});
-ca.call(this,a,b)}function pe(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,l){e=l*(g-e);h=l*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e,f,g,h,l,m,k){e=((f-e)/l-(g-e)/(l+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+k)+(h-g)/k)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function Ia(a){this.arcLengthDivisions=200;this.points=a||[];this.closed=!1}function ad(a,b,c,d){this.arcLengthDivisions=200;this.v0=a;this.v1=
-b;this.v2=c;this.v3=d}function bd(a,b,c){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c}function cd(a,b){this.arcLengthDivisions=200;this.v1=a;this.v2=b}function Id(a,b,c,d,e,f){Va.call(this,a,b,c,c,d,e,f)}function $e(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ia.call(this,a);this.type="catmullrom";this.closed=!0}function af(a){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ia.call(this,
-a);this.type="catmullrom"}function qe(a){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.");Ia.call(this,a);this.type="catmullrom"}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Number.isInteger&&(Number.isInteger=function(a){return"number"===typeof a&&isFinite(a)&&Math.floor(a)===a});void 0===Math.sign&&(Math.sign=function(a){return 0>a?-1:0<a?1:+a});void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}});
-void 0===Object.assign&&function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(void 0!==d&&null!==d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(b[e]=d[e])}return b}}();Object.assign(ra.prototype,{addEventListener:function(a,b){void 0===this._listeners&&(this._listeners={});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&&c[a].push(b)},
-hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)},removeEventListener:function(a,b){if(void 0!==this._listeners){var c=this._listeners[a];if(void 0!==c){var d=c.indexOf(b);-1!==d&&c.splice(d,1)}}},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;var c=[],d,e=b.length;for(d=0;d<e;d++)c[d]=b[d];for(d=0;d<e;d++)c[d].call(this,a)}}}});var Y={DEG2RAD:Math.PI/
-180,RAD2DEG:180/Math.PI,generateUUID:function(){var a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),b=Array(36),c=0,d;return function(){for(var e=0;36>e;e++)8===e||13===e||18===e||23===e?b[e]="-":14===e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19===e?d&3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-
-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*Y.DEG2RAD},radToDeg:function(a){return a*Y.RAD2DEG},
-isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},nearestPowerOfTwo:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},nextPowerOfTwo:function(a){a--;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;a++;return a}};Object.defineProperties(D.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(D.prototype,{isVector2:!0,set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y=
-this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,
-b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),
+this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function zb(a,b){this.object=a;void 0===b&&(b=16776960);var c=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),d=new Float32Array(24),e=new I;e.setIndex(new P(c,1));e.addAttribute("position",new P(d,3));ca.call(this,e,new ia({color:b}));this.matrixAutoUpdate=!1;this.update()}function Ab(a,b,c,d,e,f){A.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===
+Gd&&(Gd=new I,Gd.addAttribute("position",new E([0,0,0,0,1,0],3)),oe=new Ua(0,.5,1,5,1),oe.translate(0,-.5,0));this.position.copy(b);this.line=new Ja(Gd,new ia({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new wa(oe,new Ha({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function Hd(a){a=a||1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new I;a.addAttribute("position",new E(b,3));a.addAttribute("color",new E([1,0,0,
+1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new ia({vertexColors:2});ca.call(this,a,b)}function pe(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,l){e=l*(g-e);h=l*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e,f,g,h,l,m,k){e=((f-e)/l-(g-e)/(l+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+k)+(h-g)/k)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function Ia(a){this.arcLengthDivisions=200;this.points=a||[];this.closed=
+!1}function ad(a,b,c,d){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c;this.v3=d}function bd(a,b,c){this.arcLengthDivisions=200;this.v0=a;this.v1=b;this.v2=c}function cd(a,b){this.arcLengthDivisions=200;this.v1=a;this.v2=b}function Id(a,b,c,d,e,f){Va.call(this,a,b,c,c,d,e,f)}function $e(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ia.call(this,a);this.type="catmullrom";this.closed=!0}function af(a){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");
+Ia.call(this,a);this.type="catmullrom"}function qe(a){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.");Ia.call(this,a);this.type="catmullrom"}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Number.isInteger&&(Number.isInteger=function(a){return"number"===typeof a&&isFinite(a)&&Math.floor(a)===a});void 0===Math.sign&&(Math.sign=function(a){return 0>a?-1:0<a?1:+a});void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,"name",
+{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}});void 0===Object.assign&&function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(void 0!==d&&null!==d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(b[e]=d[e])}return b}}();Object.assign(ra.prototype,{addEventListener:function(a,b){void 0===this._listeners&&(this._listeners=
+{});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&&c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)},removeEventListener:function(a,b){if(void 0!==this._listeners){var c=this._listeners[a];if(void 0!==c){var d=c.indexOf(b);-1!==d&&c.splice(d,1)}}},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;var c=[],d,e=b.length;
+for(d=0;d<e;d++)c[d]=b[d];for(d=0;d<e;d++)c[d].call(this,a)}}}});var Y={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),b=Array(36),c=0,d;return function(){for(var e=0;36>e;e++)8===e||13===e||18===e||23===e?b[e]="-":14===e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19===e?d&3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,
+b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*
+Y.DEG2RAD},radToDeg:function(a){return a*Y.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},nearestPowerOfTwo:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},nextPowerOfTwo:function(a){a--;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;a++;return a}};Object.defineProperties(D.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(D.prototype,{isVector2:!0,set:function(a,b){this.x=
+a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=
+a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),
 this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=
 Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(){var a=new D,b=new D;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.multiplyScalar(Math.max(a,Math.min(b,c))/c)},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);
 this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+
@@ -296,8 +296,8 @@ a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.ma
 ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},
 negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.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)},lengthManhattan: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())},
 setLength:function(a){return this.multiplyScalar(a/this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=
-[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});Object.assign(Ab.prototype,ra.prototype,{isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,
-0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});Bb.prototype=Object.create(Ab.prototype);Bb.prototype.constructor=Bb;Bb.prototype.isWebGLRenderTargetCube=!0;Object.assign(oa,{slerp:function(a,b,
+[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});Object.assign(Bb.prototype,ra.prototype,{isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,
+0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});Cb.prototype=Object.create(Bb.prototype);Cb.prototype.constructor=Cb;Cb.prototype.isWebGLRenderTargetCube=!0;Object.assign(oa,{slerp:function(a,b,
 c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],l=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var k=e[f+1],q=e[f+2];e=e[f+3];if(c!==e||h!==d||l!==k||m!==q){f=1-g;var n=h*d+l*k+m*q+c*e,r=0<=n?1:-1,p=1-n*n;p>Number.EPSILON&&(p=Math.sqrt(p),n=Math.atan2(p,n*r),f=Math.sin(f*n)/p,g=Math.sin(g*n)/p);r*=g;h=h*f+d*r;l=l*f+k*r;m=m*f+q*r;c=c*f+e*r;f===1-g&&(g=1/Math.sqrt(h*h+l*l+m*m+c*c),h*=g,l*=g,m*=g,c*=g)}a[b]=h;a[b+1]=l;a[b+2]=m;a[b+3]=c}});Object.defineProperties(oa.prototype,{x:{get:function(){return this._x},
 set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this.onChangeCallback()}}});Object.assign(oa.prototype,{set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,
 this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!1===(a&&a.isEuler))throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=a._x,d=a._y,e=a._z,f=a.order,g=Math.cos,h=Math.sin,l=g(c/2),m=g(d/2),g=g(e/2),c=h(c/2),d=h(d/2),e=h(e/2);"XYZ"===f?(this._x=c*m*g+l*d*e,this._y=l*d*g-c*m*e,this._z=l*m*e+c*d*g,this._w=l*m*g-c*d*e):"YXZ"===f?(this._x=c*m*g+
@@ -487,12 +487,12 @@ this.matrix),this.matrixWorldNeedsUpdate=!1,a=!0;for(var b=this.children,c=0,d=b
 this.name&&(f.name=this.name);"{}"!==JSON.stringify(this.userData)&&(f.userData=this.userData);!0===this.castShadow&&(f.castShadow=!0);!0===this.receiveShadow&&(f.receiveShadow=!0);!1===this.visible&&(f.visible=!1);f.matrix=this.matrix.toArray();void 0!==this.geometry&&(f.geometry=b(a.geometries,this.geometry));if(void 0!==this.material)if(Array.isArray(this.material)){for(var g=[],h=0,l=this.material.length;h<l;h++)g.push(b(a.materials,this.material[h]));f.material=g}else f.material=b(a.materials,
 this.material);if(0<this.children.length)for(f.children=[],h=0;h<this.children.length;h++)f.children.push(this.children[h].toJSON(a).object);d&&(d=c(a.geometries),g=c(a.materials),h=c(a.textures),l=c(a.images),0<d.length&&(e.geometries=d),0<g.length&&(e.materials=g),0<h.length&&(e.textures=h),0<l.length&&(e.images=l));e.object=f;return e},clone:function(a){return(new this.constructor).copy(this,a)},copy:function(a,b){void 0===b&&(b=!0);this.name=a.name;this.up.copy(a.up);this.position.copy(a.position);
 this.quaternion.copy(a.quaternion);this.scale.copy(a.scale);this.matrix.copy(a.matrix);this.matrixWorld.copy(a.matrixWorld);this.matrixAutoUpdate=a.matrixAutoUpdate;this.matrixWorldNeedsUpdate=a.matrixWorldNeedsUpdate;this.layers.mask=a.layers.mask;this.visible=a.visible;this.castShadow=a.castShadow;this.receiveShadow=a.receiveShadow;this.frustumCulled=a.frustumCulled;this.renderOrder=a.renderOrder;this.userData=JSON.parse(JSON.stringify(a.userData));if(!0===b)for(var c=0;c<a.children.length;c++)this.add(a.children[c].clone());
-return this}});Object.assign(Db.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){return(a||new p).addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){return(a||new p).subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},
+return this}});Object.assign(Eb.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){return(a||new p).addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){return(a||new p).subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},
 at:function(a,b){var c=b||new p;return this.delta(c).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new p,b=new p;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);var e=b.dot(b),e=b.dot(a)/e;d&&(e=Y.clamp(e,0,1));return e}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);c=c||new p;return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a);this.end.applyMatrix4(a);
 return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)}});Object.assign(Sa,{normal:function(){var a=new p;return function(b,c,d,e){e=e||new p;e.subVectors(d,c);a.subVectors(b,c);e.cross(a);b=e.lengthSq();return 0<b?e.multiplyScalar(1/Math.sqrt(b)):e.set(0,0,0)}}(),barycoordFromPoint:function(){var a=new p,b=new p,c=new p;return function(d,e,f,g,h){a.subVectors(g,e);b.subVectors(f,e);c.subVectors(d,e);d=a.dot(a);e=a.dot(b);f=a.dot(c);var l=b.dot(b);g=b.dot(c);var m=
 d*l-e*e;h=h||new p;if(0===m)return h.set(-2,-1,-1);m=1/m;l=(l*f-e*g)*m;d=(d*g-e*f)*m;return h.set(1-l-d,d,l)}}(),containsPoint:function(){var a=new p;return function(b,c,d,e){b=Sa.barycoordFromPoint(b,c,d,e,a);return 0<=b.x&&0<=b.y&&1>=b.x+b.y}}()});Object.assign(Sa.prototype,{set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},clone:function(){return(new this.constructor).copy(this)},
 copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},area:function(){var a=new p,b=new p;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return.5*a.cross(b).length()}}(),midpoint:function(a){return(a||new p).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(a){return Sa.normal(this.a,this.b,this.c,a)},plane:function(a){return(a||new va).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(a,b){return Sa.barycoordFromPoint(a,
-this.a,this.b,this.c,b)},containsPoint:function(a){return Sa.containsPoint(a,this.a,this.b,this.c)},closestPointToPoint:function(){var a=new va,b=[new Db,new Db,new Db],c=new p,d=new p;return function(e,f){var g=f||new p,h=Infinity;a.setFromCoplanarPoints(this.a,this.b,this.c);a.projectPoint(e,c);if(!0===this.containsPoint(c))g.copy(c);else{b[0].set(this.a,this.b);b[1].set(this.b,this.c);b[2].set(this.c,this.a);for(var l=0;l<b.length;l++){b[l].closestPointToPoint(c,!0,d);var m=c.distanceToSquared(d);
+this.a,this.b,this.c,b)},containsPoint:function(a){return Sa.containsPoint(a,this.a,this.b,this.c)},closestPointToPoint:function(){var a=new va,b=[new Eb,new Eb,new Eb],c=new p,d=new p;return function(e,f){var g=f||new p,h=Infinity;a.setFromCoplanarPoints(this.a,this.b,this.c);a.projectPoint(e,c);if(!0===this.containsPoint(c))g.copy(c);else{b[0].set(this.a,this.b);b[1].set(this.b,this.c);b[2].set(this.c,this.a);for(var l=0;l<b.length;l++){b[l].closestPointToPoint(c,!0,d);var m=c.distanceToSquared(d);
 m<h&&(h=m,g.copy(d))}}return g}}(),equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}});Object.assign(Ta.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a=a.a;this.b=a.b;this.c=a.c;this.normal.copy(a.normal);this.color.copy(a.color);this.materialIndex=a.materialIndex;for(var b=0,c=a.vertexNormals.length;b<c;b++)this.vertexNormals[b]=a.vertexNormals[b].clone();b=0;for(c=a.vertexColors.length;b<c;b++)this.vertexColors[b]=
 a.vertexColors[b].clone();return this}});Ha.prototype=Object.create(X.prototype);Ha.prototype.constructor=Ha;Ha.prototype.isMeshBasicMaterial=!0;Ha.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;
 this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;return this};Object.defineProperty(P.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(P.prototype,{isBufferAttribute:!0,setArray:function(a){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");
@@ -554,15 +554,15 @@ return this},updateMorphTargets:function(){var a=this.geometry.morphTargets;if(v
 h,l)),c.faceIndex=k;return c}var d=new L,e=new fb,f=new Ba,g=new p,h=new p,l=new p,m=new p,k=new p,q=new p,n=new D,r=new D,z=new D,t=new p,x=new p,y=new p;return function(p,t){var v=this.geometry,y=this.material,C=this.matrixWorld;if(void 0!==y&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(C),!1!==p.ray.intersectsSphere(f)&&(d.getInverse(C),e.copy(p.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox)))){var F;if(v.isBufferGeometry){var H,
 D,y=v.index,E=v.attributes.position,C=v.attributes.uv,A,J;if(null!==y)for(A=0,J=y.count;A<J;A+=3){if(v=y.getX(A),H=y.getX(A+1),D=y.getX(A+2),F=c(this,p,e,E,C,v,H,D))F.faceIndex=Math.floor(A/3),t.push(F)}else for(A=0,J=E.count;A<J;A+=3)if(v=A,H=A+1,D=A+2,F=c(this,p,e,E,C,v,H,D))F.index=v,t.push(F)}else if(v.isGeometry){var I,C=Array.isArray(y);A=v.vertices;J=v.faces;H=v.faceVertexUvs[0];0<H.length&&(E=H);for(var K=0,P=J.length;K<P;K++){var Q=J[K];F=C?y[Q.materialIndex]:y;if(void 0!==F){H=A[Q.a];D=
 A[Q.b];I=A[Q.c];if(!0===F.morphTargets){F=v.morphTargets;var N=this.morphTargetInfluences;g.set(0,0,0);h.set(0,0,0);l.set(0,0,0);for(var W=0,ka=F.length;W<ka;W++){var V=N[W];if(0!==V){var R=F[W].vertices;g.addScaledVector(m.subVectors(R[Q.a],H),V);h.addScaledVector(k.subVectors(R[Q.b],D),V);l.addScaledVector(q.subVectors(R[Q.c],I),V)}}g.add(H);h.add(D);l.add(I);H=g;D=h;I=l}if(F=b(this,p,e,H,D,I,x))E&&E[K]&&(N=E[K],n.copy(N[0]),r.copy(N[1]),z.copy(N[2]),F.uv=a(x,H,D,I,n,r,z)),F.face=Q,F.faceIndex=
-K,t.push(F)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Eb.prototype=Object.create(S.prototype);Eb.prototype.constructor=Eb;ib.prototype=Object.create(I.prototype);ib.prototype.constructor=ib;uc.prototype=Object.create(S.prototype);uc.prototype.constructor=uc;jb.prototype=Object.create(I.prototype);jb.prototype.constructor=jb;Ma.prototype=Object.assign(Object.create(A.prototype),{constructor:Ma,isCamera:!0,copy:function(a){A.prototype.copy.call(this,
+K,t.push(F)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Fb.prototype=Object.create(S.prototype);Fb.prototype.constructor=Fb;ib.prototype=Object.create(I.prototype);ib.prototype.constructor=ib;uc.prototype=Object.create(S.prototype);uc.prototype.constructor=uc;jb.prototype=Object.create(I.prototype);jb.prototype.constructor=jb;Ma.prototype=Object.assign(Object.create(A.prototype),{constructor:Ma,isCamera:!0,copy:function(a){A.prototype.copy.call(this,
 a);this.matrixWorldInverse.copy(a.matrixWorldInverse);this.projectionMatrix.copy(a.projectionMatrix);return this},getWorldDirection:function(){var a=new oa;return function(b){b=b||new p;this.getWorldQuaternion(a);return b.set(0,0,-1).applyQuaternion(a)}}(),clone:function(){return(new this.constructor).copy(this)}});xa.prototype=Object.assign(Object.create(Ma.prototype),{constructor:xa,isPerspectiveCamera:!0,copy:function(a){Ma.prototype.copy.call(this,a);this.fov=a.fov;this.zoom=a.zoom;this.near=
 a.near;this.far=a.far;this.focus=a.focus;this.aspect=a.aspect;this.view=null===a.view?null:Object.assign({},a.view);this.filmGauge=a.filmGauge;this.filmOffset=a.filmOffset;return this},setFocalLength:function(a){a=.5*this.getFilmHeight()/a;this.fov=2*Y.RAD2DEG*Math.atan(a);this.updateProjectionMatrix()},getFocalLength:function(){var a=Math.tan(.5*Y.DEG2RAD*this.fov);return.5*this.getFilmHeight()/a},getEffectiveFOV:function(){return 2*Y.RAD2DEG*Math.atan(Math.tan(.5*Y.DEG2RAD*this.fov)/this.zoom)},
 getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(a,b,c,d,e,f){this.aspect=a/b;this.view={fullWidth:a,fullHeight:b,offsetX:c,offsetY:d,width:e,height:f};this.updateProjectionMatrix()},clearViewOffset:function(){this.view=null;this.updateProjectionMatrix()},updateProjectionMatrix:function(){var a=this.near,b=a*Math.tan(.5*Y.DEG2RAD*this.fov)/this.zoom,c=2*b,d=this.aspect*c,e=-.5*d,f=
 this.view;if(null!==f)var g=f.fullWidth,h=f.fullHeight,e=e+f.offsetX*d/g,b=b-f.offsetY*c/h,d=f.width/g*d,c=f.height/h*c;f=this.filmOffset;0!==f&&(e+=a*f/this.getFilmWidth());this.projectionMatrix.makePerspective(e,e+d,b,b-c,a,this.far)},toJSON:function(a){a=A.prototype.toJSON.call(this,a);a.object.fov=this.fov;a.object.zoom=this.zoom;a.object.near=this.near;a.object.far=this.far;a.object.focus=this.focus;a.object.aspect=this.aspect;null!==this.view&&(a.object.view=Object.assign({},this.view));a.object.filmGauge=
-this.filmGauge;a.object.filmOffset=this.filmOffset;return a}});Fb.prototype=Object.assign(Object.create(Ma.prototype),{constructor:Fb,isOrthographicCamera:!0,copy:function(a){Ma.prototype.copy.call(this,a);this.left=a.left;this.right=a.right;this.top=a.top;this.bottom=a.bottom;this.near=a.near;this.far=a.far;this.zoom=a.zoom;this.view=null===a.view?null:Object.assign({},a.view);return this},setViewOffset:function(a,b,c,d,e,f){this.view={fullWidth:a,fullHeight:b,offsetX:c,offsetY:d,width:e,height:f};
+this.filmGauge;a.object.filmOffset=this.filmOffset;return a}});Gb.prototype=Object.assign(Object.create(Ma.prototype),{constructor:Gb,isOrthographicCamera:!0,copy:function(a){Ma.prototype.copy.call(this,a);this.left=a.left;this.right=a.right;this.top=a.top;this.bottom=a.bottom;this.near=a.near;this.far=a.far;this.zoom=a.zoom;this.view=null===a.view?null:Object.assign({},a.view);return this},setViewOffset:function(a,b,c,d,e,f){this.view={fullWidth:a,fullHeight:b,offsetX:c,offsetY:d,width:e,height:f};
 this.updateProjectionMatrix()},clearViewOffset:function(){this.view=null;this.updateProjectionMatrix()},updateProjectionMatrix:function(){var a=(this.right-this.left)/(2*this.zoom),b=(this.top-this.bottom)/(2*this.zoom),c=(this.right+this.left)/2,d=(this.top+this.bottom)/2,e=c-a,c=c+a,a=d+b,b=d-b;if(null!==this.view)var c=this.zoom/(this.view.width/this.view.fullWidth),b=this.zoom/(this.view.height/this.view.fullHeight),f=(this.right-this.left)/this.view.width,d=(this.top-this.bottom)/this.view.height,
-e=e+this.view.offsetX/c*f,c=e+this.view.width/c*f,a=a-this.view.offsetY/b*d,b=a-this.view.height/b*d;this.projectionMatrix.makeOrthographic(e,c,a,b,this.near,this.far)},toJSON:function(a){a=A.prototype.toJSON.call(this,a);a.object.zoom=this.zoom;a.object.left=this.left;a.object.right=this.right;a.object.top=this.top;a.object.bottom=this.bottom;a.object.near=this.near;a.object.far=this.far;null!==this.view&&(a.object.view=Object.assign({},this.view));return a}});var Yf=0;Gb.prototype.isFogExp2=!0;
-Gb.prototype.clone=function(){return new Gb(this.color.getHex(),this.density)};Gb.prototype.toJSON=function(a){return{type:"FogExp2",color:this.color.getHex(),density:this.density}};Hb.prototype.isFog=!0;Hb.prototype.clone=function(){return new Hb(this.color.getHex(),this.near,this.far)};Hb.prototype.toJSON=function(a){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}};hd.prototype=Object.assign(Object.create(A.prototype),{constructor:hd,copy:function(a,b){A.prototype.copy.call(this,
+e=e+this.view.offsetX/c*f,c=e+this.view.width/c*f,a=a-this.view.offsetY/b*d,b=a-this.view.height/b*d;this.projectionMatrix.makeOrthographic(e,c,a,b,this.near,this.far)},toJSON:function(a){a=A.prototype.toJSON.call(this,a);a.object.zoom=this.zoom;a.object.left=this.left;a.object.right=this.right;a.object.top=this.top;a.object.bottom=this.bottom;a.object.near=this.near;a.object.far=this.far;null!==this.view&&(a.object.view=Object.assign({},this.view));return a}});var Yf=0;Hb.prototype.isFogExp2=!0;
+Hb.prototype.clone=function(){return new Hb(this.color.getHex(),this.density)};Hb.prototype.toJSON=function(a){return{type:"FogExp2",color:this.color.getHex(),density:this.density}};Ib.prototype.isFog=!0;Ib.prototype.clone=function(){return new Ib(this.color.getHex(),this.near,this.far)};Ib.prototype.toJSON=function(a){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}};hd.prototype=Object.assign(Object.create(A.prototype),{constructor:hd,copy:function(a,b){A.prototype.copy.call(this,
 a,b);null!==a.background&&(this.background=a.background.clone());null!==a.fog&&(this.fog=a.fog.clone());null!==a.overrideMaterial&&(this.overrideMaterial=a.overrideMaterial.clone());this.autoUpdate=a.autoUpdate;this.matrixAutoUpdate=a.matrixAutoUpdate;return this},toJSON:function(a){var b=A.prototype.toJSON.call(this,a);null!==this.background&&(b.object.background=this.background.toJSON(a));null!==this.fog&&(b.object.fog=this.fog.toJSON());return b}});Vd.prototype=Object.assign(Object.create(A.prototype),
 {constructor:Vd,isLensFlare:!0,copy:function(a){A.prototype.copy.call(this,a);this.positionScreen.copy(a.positionScreen);this.customUpdateCallback=a.customUpdateCallback;for(var b=0,c=a.lensFlares.length;b<c;b++)this.lensFlares.push(a.lensFlares[b]);return this},add:function(a,b,c,d,e,f){void 0===b&&(b=-1);void 0===c&&(c=0);void 0===f&&(f=1);void 0===e&&(e=new K(16777215));void 0===d&&(d=1);c=Math.min(c,Math.max(0,c));this.lensFlares.push({texture:a,size:b,distance:c,x:0,y:0,z:0,scale:1,rotation:0,
 opacity:f,color:e,blending:d})},updateLensFlares:function(){var a,b=this.lensFlares.length,c,d=2*-this.positionScreen.x,e=2*-this.positionScreen.y;for(a=0;a<b;a++)c=this.lensFlares[a],c.x=this.positionScreen.x+d*c.distance,c.y=this.positionScreen.y+e*c.distance,c.wantedRotation=c.x*Math.PI*.25,c.rotation+=.25*(c.wantedRotation-c.rotation)}});ab.prototype=Object.create(X.prototype);ab.prototype.constructor=ab;ab.prototype.isSpriteMaterial=!0;ab.prototype.copy=function(a){X.prototype.copy.call(this,
@@ -579,12 +579,12 @@ this.linewidth=a.linewidth;this.linecap=a.linecap;this.linejoin=a.linejoin;retur
 k=new p,q=this&&this.isLineSegments?2:1;if(g.isBufferGeometry){var n=g.index,r=g.attributes.position.array;if(null!==n)for(var n=n.array,g=0,z=n.length-1;g<z;g+=q){var t=n[g+1];l.fromArray(r,3*n[g]);m.fromArray(r,3*t);t=b.distanceSqToSegment(l,m,k,h);t>f||(k.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(k),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,z=r.length/3-1;g<z;g+=q)l.fromArray(r,
 3*g),m.fromArray(r,3*g+3),t=b.distanceSqToSegment(l,m,k,h),t>f||(k.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(k),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(l=g.vertices,m=l.length,g=0;g<m-1;g+=q)t=b.distanceSqToSegment(l[g],l[g+1],k,h),t>f||(k.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(k),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),
 index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});ca.prototype=Object.assign(Object.create(Ja.prototype),{constructor:ca,isLineSegments:!0});kd.prototype=Object.assign(Object.create(Ja.prototype),{constructor:kd,isLineLoop:!0});Ka.prototype=Object.create(X.prototype);Ka.prototype.constructor=Ka;Ka.prototype.isPointsMaterial=!0;Ka.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);
-this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Ib.prototype=Object.assign(Object.create(A.prototype),{constructor:Ib,isPoints:!0,raycast:function(){var a=new L,b=new fb,c=new Ba;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<k){var h=b.closestPointToPoint(a);h.applyMatrix4(l);var m=d.ray.origin.distanceTo(h);m<d.near||m>d.far||e.push({distance:m,distanceToRay:Math.sqrt(f),point:h.clone(),index:c,face:null,object:g})}}var g=this,h=this.geometry,
+this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Jb.prototype=Object.assign(Object.create(A.prototype),{constructor:Jb,isPoints:!0,raycast:function(){var a=new L,b=new fb,c=new Ba;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<k){var h=b.closestPointToPoint(a);h.applyMatrix4(l);var m=d.ray.origin.distanceTo(h);m<d.near||m>d.far||e.push({distance:m,distanceToRay:Math.sqrt(f),point:h.clone(),index:c,face:null,object:g})}}var g=this,h=this.geometry,
 l=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(l);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(l);b.copy(d.ray).applyMatrix4(a);var m=m/((this.scale.x+this.scale.y+this.scale.z)/3),k=m*m,m=new p;if(h.isBufferGeometry){var q=h.index,h=h.attributes.position.array;if(null!==q)for(var n=q.array,q=0,r=n.length;q<r;q++){var z=n[q];m.fromArray(h,3*z);f(m,z)}else for(q=0,n=h.length/3;q<n;q++)m.fromArray(h,
-3*q),f(m,q)}else for(m=h.vertices,q=0,n=m.length;q<n;q++)f(m[q],q)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});zc.prototype=Object.assign(Object.create(A.prototype),{constructor:zc});ld.prototype=Object.create(ba.prototype);ld.prototype.constructor=ld;Jb.prototype=Object.create(ba.prototype);Jb.prototype.constructor=Jb;Jb.prototype.isCompressedTexture=!0;md.prototype=Object.create(ba.prototype);md.prototype.constructor=md;Ac.prototype=Object.create(ba.prototype);
-Ac.prototype.constructor=Ac;Ac.prototype.isDepthTexture=!0;Kb.prototype=Object.create(I.prototype);Kb.prototype.constructor=Kb;Bc.prototype=Object.create(S.prototype);Bc.prototype.constructor=Bc;Lb.prototype=Object.create(I.prototype);Lb.prototype.constructor=Lb;Cc.prototype=Object.create(S.prototype);Cc.prototype.constructor=Cc;fa.prototype=Object.create(I.prototype);fa.prototype.constructor=fa;Dc.prototype=Object.create(S.prototype);Dc.prototype.constructor=Dc;Mb.prototype=Object.create(fa.prototype);
-Mb.prototype.constructor=Mb;Ec.prototype=Object.create(S.prototype);Ec.prototype.constructor=Ec;kb.prototype=Object.create(fa.prototype);kb.prototype.constructor=kb;Fc.prototype=Object.create(S.prototype);Fc.prototype.constructor=Fc;Nb.prototype=Object.create(fa.prototype);Nb.prototype.constructor=Nb;Gc.prototype=Object.create(S.prototype);Gc.prototype.constructor=Gc;Ob.prototype=Object.create(fa.prototype);Ob.prototype.constructor=Ob;Hc.prototype=Object.create(S.prototype);Hc.prototype.constructor=
-Hc;Pb.prototype=Object.create(I.prototype);Pb.prototype.constructor=Pb;Ic.prototype=Object.create(S.prototype);Ic.prototype.constructor=Ic;Qb.prototype=Object.create(I.prototype);Qb.prototype.constructor=Qb;Jc.prototype=Object.create(S.prototype);Jc.prototype.constructor=Jc;Rb.prototype=Object.create(I.prototype);Rb.prototype.constructor=Rb;var ya={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},triangulate:function(){return function(a,b){var c=
+3*q),f(m,q)}else for(m=h.vertices,q=0,n=m.length;q<n;q++)f(m[q],q)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});zc.prototype=Object.assign(Object.create(A.prototype),{constructor:zc});ld.prototype=Object.create(ba.prototype);ld.prototype.constructor=ld;Kb.prototype=Object.create(ba.prototype);Kb.prototype.constructor=Kb;Kb.prototype.isCompressedTexture=!0;md.prototype=Object.create(ba.prototype);md.prototype.constructor=md;Ac.prototype=Object.create(ba.prototype);
+Ac.prototype.constructor=Ac;Ac.prototype.isDepthTexture=!0;Lb.prototype=Object.create(I.prototype);Lb.prototype.constructor=Lb;Bc.prototype=Object.create(S.prototype);Bc.prototype.constructor=Bc;Mb.prototype=Object.create(I.prototype);Mb.prototype.constructor=Mb;Cc.prototype=Object.create(S.prototype);Cc.prototype.constructor=Cc;fa.prototype=Object.create(I.prototype);fa.prototype.constructor=fa;Dc.prototype=Object.create(S.prototype);Dc.prototype.constructor=Dc;Nb.prototype=Object.create(fa.prototype);
+Nb.prototype.constructor=Nb;Ec.prototype=Object.create(S.prototype);Ec.prototype.constructor=Ec;kb.prototype=Object.create(fa.prototype);kb.prototype.constructor=kb;Fc.prototype=Object.create(S.prototype);Fc.prototype.constructor=Fc;Ob.prototype=Object.create(fa.prototype);Ob.prototype.constructor=Ob;Gc.prototype=Object.create(S.prototype);Gc.prototype.constructor=Gc;Pb.prototype=Object.create(fa.prototype);Pb.prototype.constructor=Pb;Hc.prototype=Object.create(S.prototype);Hc.prototype.constructor=
+Hc;Qb.prototype=Object.create(I.prototype);Qb.prototype.constructor=Qb;Ic.prototype=Object.create(S.prototype);Ic.prototype.constructor=Ic;Rb.prototype=Object.create(I.prototype);Rb.prototype.constructor=Rb;Jc.prototype=Object.create(S.prototype);Jc.prototype.constructor=Jc;Sb.prototype=Object.create(I.prototype);Sb.prototype.constructor=Sb;var ya={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},triangulate:function(){return function(a,b){var c=
 a.length;if(3>c)return null;var d=[],e=[],f=[],g,h,l;if(0<ya.area(a))for(h=0;h<c;h++)e[h]=h;else for(h=0;h<c;h++)e[h]=c-1-h;var m=2*c;for(h=c-1;2<c;){if(0>=m--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");break}g=h;c<=g&&(g=0);h=g+1;c<=h&&(h=0);l=h+1;c<=l&&(l=0);var k;a:{var q,n,r,p,t,x,y,w;q=a[e[g]].x;n=a[e[g]].y;r=a[e[h]].x;p=a[e[h]].y;t=a[e[l]].x;x=a[e[l]].y;if(0>=(r-q)*(x-n)-(p-n)*(t-q))k=!1;else{var G,v,O,C,F,H,D,E,A,J;G=t-r;v=x-p;O=q-t;C=n-x;F=r-q;H=p-n;
 for(k=0;k<c;k++)if(y=a[e[k]].x,w=a[e[k]].y,!(y===q&&w===n||y===r&&w===p||y===t&&w===x)&&(D=y-q,E=w-n,A=y-r,J=w-p,y-=t,w-=x,A=G*J-v*A,D=F*E-H*D,E=O*w-C*y,A>=-Number.EPSILON&&E>=-Number.EPSILON&&D>=-Number.EPSILON)){k=!1;break a}k=!0}}if(k){d.push([a[e[g]],a[e[h]],a[e[l]]]);f.push([e[g],e[h],e[l]]);g=h;for(l=h+1;l<c;g++,l++)e[g]=e[l];c--;m=2*c}}return b?f:d}}(),triangulateShape:function(a,b){function c(a){var b=a.length;2<b&&a[b-1].equals(a[0])&&a.pop()}function d(a,b,c){return a.x!==b.x?a.x<b.x?a.x<=
 c.x&&c.x<=b.x:b.x<=c.x&&c.x<=a.x:a.y<b.y?a.y<=c.y&&c.y<=b.y:b.y<=c.y&&c.y<=a.y}function e(a,b,c,e,f){var g=b.x-a.x,h=b.y-a.y,l=e.x-c.x,m=e.y-c.y,k=a.x-c.x,n=a.y-c.y,q=h*l-g*m,u=h*k-g*n;if(Math.abs(q)>Number.EPSILON){if(0<q){if(0>u||u>q)return[];l=m*k-l*n;if(0>l||l>q)return[]}else{if(0<u||u<q)return[];l=m*k-l*n;if(0<l||l<q)return[]}if(0===l)return!f||0!==u&&u!==q?[a]:[];if(l===q)return!f||0!==u&&u!==q?[b]:[];if(0===u)return[c];if(u===q)return[e];f=l/q;return[{x:a.x+f*g,y:a.y+f*h}]}if(0!==u||m*k!==
@@ -602,11 +602,11 @@ U=R-1;for(V=M+1;M<R;M++,U++,V++)U===R&&(U=0),V===R&&(V=0),fa[M]=d(J[M],J[U],J[V]
 f(P.x,P.y,P.z)):f(T.x,T.y,0);for(R=1;R<=G;R++)for(M=0;M<ba;M++)T=y?c(w[M],ja[M],V):w[M],C?(I.copy(H.normals[R]).multiplyScalar(T.x),K.copy(H.binormals[R]).multiplyScalar(T.y),P.copy(A[R]).add(I).add(K),f(P.x,P.y,P.z)):f(T.x,T.y,m/G*R);for(U=x-1;0<=U;U--){R=U/x;Y=z*Math.cos(R*Math.PI/2);V=t*Math.sin(R*Math.PI/2);M=0;for(R=W.length;M<R;M++)T=c(W[M],v[M],V),f(T.x,T.y,m+Y);L=0;for(S=Q.length;L<S;L++)for(J=Q[L],fa=ia[L],M=0,R=J.length;M<R;M++)T=c(J[M],fa[M],V),C?f(T.x,T.y+A[G-1].y,A[G-1].x+Y):f(T.x,T.y,
 m+Y)}(function(){var a=k.length/3;if(y){var c=0*ba;for(M=0;M<ha;M++)ca=N[M],g(ca[2]+c,ca[1]+c,ca[0]+c);c=ba*(G+2*x);for(M=0;M<ha;M++)ca=N[M],g(ca[0]+c,ca[1]+c,ca[2]+c)}else{for(M=0;M<ha;M++)ca=N[M],g(ca[2],ca[1],ca[0]);for(M=0;M<ha;M++)ca=N[M],g(ca[0]+ba*G,ca[1]+ba*G,ca[2]+ba*G)}X.addGroup(a,k.length/3-a,void 0!==b.material?b.material:0)})();(function(){var a=k.length/3,c=0;e(W,c);c+=W.length;L=0;for(S=Q.length;L<S;L++)J=Q[L],e(J,c),c+=J.length;X.addGroup(a,k.length/3-a,void 0!==b.extrudeMaterial?
 b.extrudeMaterial:1)})();b.arrays||(this.setIndex(q),this.addAttribute("position",new E(k,3)),this.addAttribute("uv",new E(b.arrays.uv,2)))};bb.WorldUVGenerator={generateTopUV:function(a,b,c,d,e){a=b[3*d];d=b[3*d+1];var f=b[3*e];e=b[3*e+1];return[new D(b[3*c],b[3*c+1]),new D(a,d),new D(f,e)]},generateSideWallUV:function(a,b,c,d,e,f){a=b[3*c];var g=b[3*c+1];c=b[3*c+2];var h=b[3*d],l=b[3*d+1];d=b[3*d+2];var m=b[3*e],k=b[3*e+1];e=b[3*e+2];var q=b[3*f],n=b[3*f+1];b=b[3*f+2];return.01>Math.abs(g-l)?[new D(a,
-1-c),new D(h,1-d),new D(m,1-e),new D(q,1-b)]:[new D(g,1-c),new D(l,1-d),new D(k,1-e),new D(n,1-b)]}};Kc.prototype=Object.create(S.prototype);Kc.prototype.constructor=Kc;Sb.prototype=Object.create(Ea.prototype);Sb.prototype.constructor=Sb;Lc.prototype=Object.create(S.prototype);Lc.prototype.constructor=Lc;lb.prototype=Object.create(I.prototype);lb.prototype.constructor=lb;Mc.prototype=Object.create(S.prototype);Mc.prototype.constructor=Mc;Tb.prototype=Object.create(I.prototype);Tb.prototype.constructor=
-Tb;Nc.prototype=Object.create(S.prototype);Nc.prototype.constructor=Nc;Ub.prototype=Object.create(I.prototype);Ub.prototype.constructor=Ub;Vb.prototype=Object.create(S.prototype);Vb.prototype.constructor=Vb;Wb.prototype=Object.create(I.prototype);Wb.prototype.constructor=Wb;Xb.prototype=Object.create(I.prototype);Xb.prototype.constructor=Xb;mb.prototype=Object.create(S.prototype);mb.prototype.constructor=mb;Ua.prototype=Object.create(I.prototype);Ua.prototype.constructor=Ua;Oc.prototype=Object.create(mb.prototype);
-Oc.prototype.constructor=Oc;Pc.prototype=Object.create(Ua.prototype);Pc.prototype.constructor=Pc;Qc.prototype=Object.create(S.prototype);Qc.prototype.constructor=Qc;Yb.prototype=Object.create(I.prototype);Yb.prototype.constructor=Yb;var La=Object.freeze({WireframeGeometry:Kb,ParametricGeometry:Bc,ParametricBufferGeometry:Lb,TetrahedronGeometry:Dc,TetrahedronBufferGeometry:Mb,OctahedronGeometry:Ec,OctahedronBufferGeometry:kb,IcosahedronGeometry:Fc,IcosahedronBufferGeometry:Nb,DodecahedronGeometry:Gc,
-DodecahedronBufferGeometry:Ob,PolyhedronGeometry:Cc,PolyhedronBufferGeometry:fa,TubeGeometry:Hc,TubeBufferGeometry:Pb,TorusKnotGeometry:Ic,TorusKnotBufferGeometry:Qb,TorusGeometry:Jc,TorusBufferGeometry:Rb,TextGeometry:Kc,TextBufferGeometry:Sb,SphereGeometry:Lc,SphereBufferGeometry:lb,RingGeometry:Mc,RingBufferGeometry:Tb,PlaneGeometry:uc,PlaneBufferGeometry:jb,LatheGeometry:Nc,LatheBufferGeometry:Ub,ShapeGeometry:Vb,ShapeBufferGeometry:Wb,ExtrudeGeometry:bb,ExtrudeBufferGeometry:Ea,EdgesGeometry:Xb,
-ConeGeometry:Oc,ConeBufferGeometry:Pc,CylinderGeometry:mb,CylinderBufferGeometry:Ua,CircleGeometry:Qc,CircleBufferGeometry:Yb,BoxGeometry:Eb,BoxBufferGeometry:ib});Zb.prototype=Object.create(Da.prototype);Zb.prototype.constructor=Zb;Zb.prototype.isShadowMaterial=!0;$b.prototype=Object.create(Da.prototype);$b.prototype.constructor=$b;$b.prototype.isRawShaderMaterial=!0;Pa.prototype=Object.create(X.prototype);Pa.prototype.constructor=Pa;Pa.prototype.isMeshStandardMaterial=!0;Pa.prototype.copy=function(a){X.prototype.copy.call(this,
+1-c),new D(h,1-d),new D(m,1-e),new D(q,1-b)]:[new D(g,1-c),new D(l,1-d),new D(k,1-e),new D(n,1-b)]}};Kc.prototype=Object.create(S.prototype);Kc.prototype.constructor=Kc;Tb.prototype=Object.create(Ea.prototype);Tb.prototype.constructor=Tb;Lc.prototype=Object.create(S.prototype);Lc.prototype.constructor=Lc;lb.prototype=Object.create(I.prototype);lb.prototype.constructor=lb;Mc.prototype=Object.create(S.prototype);Mc.prototype.constructor=Mc;Ub.prototype=Object.create(I.prototype);Ub.prototype.constructor=
+Ub;Nc.prototype=Object.create(S.prototype);Nc.prototype.constructor=Nc;Vb.prototype=Object.create(I.prototype);Vb.prototype.constructor=Vb;Wb.prototype=Object.create(S.prototype);Wb.prototype.constructor=Wb;Xb.prototype=Object.create(I.prototype);Xb.prototype.constructor=Xb;Yb.prototype=Object.create(I.prototype);Yb.prototype.constructor=Yb;mb.prototype=Object.create(S.prototype);mb.prototype.constructor=mb;Ua.prototype=Object.create(I.prototype);Ua.prototype.constructor=Ua;Oc.prototype=Object.create(mb.prototype);
+Oc.prototype.constructor=Oc;Pc.prototype=Object.create(Ua.prototype);Pc.prototype.constructor=Pc;Qc.prototype=Object.create(S.prototype);Qc.prototype.constructor=Qc;Zb.prototype=Object.create(I.prototype);Zb.prototype.constructor=Zb;var La=Object.freeze({WireframeGeometry:Lb,ParametricGeometry:Bc,ParametricBufferGeometry:Mb,TetrahedronGeometry:Dc,TetrahedronBufferGeometry:Nb,OctahedronGeometry:Ec,OctahedronBufferGeometry:kb,IcosahedronGeometry:Fc,IcosahedronBufferGeometry:Ob,DodecahedronGeometry:Gc,
+DodecahedronBufferGeometry:Pb,PolyhedronGeometry:Cc,PolyhedronBufferGeometry:fa,TubeGeometry:Hc,TubeBufferGeometry:Qb,TorusKnotGeometry:Ic,TorusKnotBufferGeometry:Rb,TorusGeometry:Jc,TorusBufferGeometry:Sb,TextGeometry:Kc,TextBufferGeometry:Tb,SphereGeometry:Lc,SphereBufferGeometry:lb,RingGeometry:Mc,RingBufferGeometry:Ub,PlaneGeometry:uc,PlaneBufferGeometry:jb,LatheGeometry:Nc,LatheBufferGeometry:Vb,ShapeGeometry:Wb,ShapeBufferGeometry:Xb,ExtrudeGeometry:bb,ExtrudeBufferGeometry:Ea,EdgesGeometry:Yb,
+ConeGeometry:Oc,ConeBufferGeometry:Pc,CylinderGeometry:mb,CylinderBufferGeometry:Ua,CircleGeometry:Qc,CircleBufferGeometry:Zb,BoxGeometry:Fb,BoxBufferGeometry:ib});$b.prototype=Object.create(Da.prototype);$b.prototype.constructor=$b;$b.prototype.isShadowMaterial=!0;ac.prototype=Object.create(Da.prototype);ac.prototype.constructor=ac;ac.prototype.isRawShaderMaterial=!0;Pa.prototype=Object.create(X.prototype);Pa.prototype.constructor=Pa;Pa.prototype.isMeshStandardMaterial=!0;Pa.prototype.copy=function(a){X.prototype.copy.call(this,
 a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;
 this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=
 a.morphNormals;return this};nb.prototype=Object.create(Pa.prototype);nb.prototype.constructor=nb;nb.prototype.isMeshPhysicalMaterial=!0;nb.prototype.copy=function(a){Pa.prototype.copy.call(this,a);this.defines={PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=a.clearCoatRoughness;return this};sa.prototype=Object.create(X.prototype);sa.prototype.constructor=sa;sa.prototype.isMeshPhongMaterial=!0;sa.prototype.copy=function(a){X.prototype.copy.call(this,
@@ -615,13 +615,13 @@ a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.
 Object.create(sa.prototype);ob.prototype.constructor=ob;ob.prototype.isMeshToonMaterial=!0;ob.prototype.copy=function(a){sa.prototype.copy.call(this,a);this.gradientMap=a.gradientMap;return this};pb.prototype=Object.create(X.prototype);pb.prototype.constructor=pb;pb.prototype.isMeshNormalMaterial=!0;pb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;
 this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};qb.prototype=Object.create(X.prototype);qb.prototype.constructor=qb;qb.prototype.isMeshLambertMaterial=!0;qb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=
 a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;
-this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};rb.prototype=Object.create(X.prototype);rb.prototype.constructor=rb;rb.prototype.isLineDashedMaterial=!0;rb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var hg=Object.freeze({ShadowMaterial:Zb,SpriteMaterial:ab,RawShaderMaterial:$b,ShaderMaterial:Da,PointsMaterial:Ka,
+this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};rb.prototype=Object.create(X.prototype);rb.prototype.constructor=rb;rb.prototype.isLineDashedMaterial=!0;rb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var hg=Object.freeze({ShadowMaterial:$b,SpriteMaterial:ab,RawShaderMaterial:ac,ShaderMaterial:Da,PointsMaterial:Ka,
 MeshPhysicalMaterial:nb,MeshStandardMaterial:Pa,MeshPhongMaterial:sa,MeshToonMaterial:ob,MeshNormalMaterial:pb,MeshLambertMaterial:qb,MeshDepthMaterial:Ya,MeshBasicMaterial:Ha,LineDashedMaterial:rb,LineBasicMaterial:ia,Material:X}),dd={enabled:!1,files:{},add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]},remove:function(a){delete this.files[a]},clear:function(){this.files={}}},za=new Wd;Object.assign(ta.prototype,{load:function(a,b,
 c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=dd.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){var h=g[1],l=!!g[2],g=g[3],g=window.decodeURIComponent(g);l&&(g=window.atob(g));try{var m,k=(this.responseType||"").toLowerCase();switch(k){case "arraybuffer":case "blob":m=new ArrayBuffer(g.length);for(var q=new Uint8Array(m),l=0;l<g.length;l++)q[l]=g.charCodeAt(l);
 "blob"===k&&(m=new Blob([m],{type:h}));break;case "document":m=(new DOMParser).parseFromString(g,h);break;case "json":m=JSON.parse(g);break;default:m=g}window.setTimeout(function(){b&&b(m);e.manager.itemEnd(a)},0)}catch(p){window.setTimeout(function(){d&&d(p);e.manager.itemEnd(a);e.manager.itemError(a)},0)}}else{var n=new XMLHttpRequest;n.open("GET",a,!0);n.addEventListener("load",function(c){var f=c.target.response;dd.add(a,f);200===this.status?(b&&b(f),e.manager.itemEnd(a)):0===this.status?(console.warn("THREE.FileLoader: HTTP Status 0 received."),
 b&&b(f),e.manager.itemEnd(a)):(d&&d(c),e.manager.itemEnd(a),e.manager.itemError(a))},!1);void 0!==c&&n.addEventListener("progress",function(a){c(a)},!1);n.addEventListener("error",function(b){d&&d(b);e.manager.itemEnd(a);e.manager.itemError(a)},!1);void 0!==this.responseType&&(n.responseType=this.responseType);void 0!==this.withCredentials&&(n.withCredentials=this.withCredentials);n.overrideMimeType&&n.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(h in this.requestHeader)n.setRequestHeader(h,
 this.requestHeader[h]);n.send(null)}e.manager.itemStart(a);return n},setPath:function(a){this.path=a;return this},setResponseType:function(a){this.responseType=a;return this},setWithCredentials:function(a){this.withCredentials=a;return this},setMimeType:function(a){this.mimeType=a;return this},setRequestHeader:function(a){this.requestHeader=a;return this}});Object.assign(Me.prototype,{load:function(a,b,c,d){function e(e){l.load(a[e],function(a){a=f._parser(a,!0);g[e]={width:a.width,height:a.height,
-format:a.format,mipmaps:a.mipmaps};m+=1;6===m&&(1===a.mipmapCount&&(h.minFilter=1006),h.format=a.format,h.needsUpdate=!0,b&&b(h))},c,d)}var f=this,g=[],h=new Jb;h.image=g;var l=new ta(this.manager);l.setPath(this.path);l.setResponseType("arraybuffer");if(Array.isArray(a))for(var m=0,k=0,q=a.length;k<q;++k)e(k);else l.load(a,function(a){a=f._parser(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*
+format:a.format,mipmaps:a.mipmaps};m+=1;6===m&&(1===a.mipmapCount&&(h.minFilter=1006),h.format=a.format,h.needsUpdate=!0,b&&b(h))},c,d)}var f=this,g=[],h=new Kb;h.image=g;var l=new ta(this.manager);l.setPath(this.path);l.setResponseType("arraybuffer");if(Array.isArray(a))for(var m=0,k=0,q=a.length;k<q;++k)e(k);else l.load(a,function(a){a=f._parser(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*
 a.mipmapCount+e]),g[d].format=a.format,g[d].width=a.width,g[d].height=a.height}else h.image.width=a.width,h.image.height=a.height,h.mipmaps=a.mipmaps;1===a.mipmapCount&&(h.minFilter=1006);h.format=a.format;h.needsUpdate=!0;b&&b(h)},c,d);return h},setPath:function(a){this.path=a;return this}});Object.assign(Xd.prototype,{load:function(a,b,c,d){var e=this,f=new cb,g=new ta(this.manager);g.setResponseType("arraybuffer");g.load(a,function(a){if(a=e._parser(a))void 0!==a.image?f.image=a.image:void 0!==
 a.data&&(f.image.width=a.width,f.image.height=a.height,f.image.data=a.data),f.wrapS=void 0!==a.wrapS?a.wrapS:1001,f.wrapT=void 0!==a.wrapT?a.wrapT:1001,f.magFilter=void 0!==a.magFilter?a.magFilter:1006,f.minFilter=void 0!==a.minFilter?a.minFilter:1008,f.anisotropy=void 0!==a.anisotropy?a.anisotropy:1,void 0!==a.format&&(f.format=a.format),void 0!==a.type&&(f.type=a.type),void 0!==a.mipmaps&&(f.mipmaps=a.mipmaps),1===a.mipmapCount&&(f.minFilter=1006),f.needsUpdate=!0,b&&b(f,a)},c,d);return f}});Object.assign(Rc.prototype,
 {load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=dd.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;c=document.createElementNS("http://www.w3.org/1999/xhtml","img");c.addEventListener("load",function(){dd.add(a,this);b&&b(this);e.manager.itemEnd(a)},!1);c.addEventListener("error",function(b){d&&d(b);e.manager.itemEnd(a);e.manager.itemError(a)},!1);"data:"!==a.substr(0,5)&&void 0!==this.crossOrigin&&
@@ -644,15 +644,15 @@ this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:function(a){r
 else throw Error(b);console.warn(b)}else this.createInterpolant=b},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},getValueSize:function(){return this.values.length/this.times.length},shift:function(a){if(0!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]+=a;return this},scale:function(a){if(1!==a)for(var b=this.times,c=
 0,d=b.length;c!==d;++c)b[c]*=a;return this},trim:function(a,b){for(var c=this.times,d=c.length,e=0,f=d-1;e!==d&&c[e]<a;)++e;for(;-1!==f&&c[f]>b;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),d=this.getValueSize(),this.times=ua.arraySlice(c,e,f),this.values=ua.arraySlice(this.values,e*d,f*d);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("invalid value size in track",this),a=!1);var c=this.times,b=this.values,d=c.length;0===d&&(console.error("track is empty",
 this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("time is not a valid number",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("out of order keys",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&ua.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("value is not a valid number",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,
-f=a.length-1,g=1;g<f;++g){var h=!1,l=a[g];if(l!==a[g+1]&&(1!==g||l!==l[0]))if(d)h=!0;else for(var m=g*c,k=m-c,q=m+c,l=0;l!==c;++l){var n=b[m+l];if(n!==b[k+l]||n!==b[q+l]){h=!0;break}}if(h){if(g!==e)for(a[e]=a[g],h=g*c,m=e*c,l=0;l!==c;++l)b[m+l]=b[h+l];++e}}if(0<f){a[e]=a[f];h=f*c;m=e*c;for(l=0;l!==c;++l)b[m+l]=b[h+l];++e}e!==a.length&&(this.times=ua.arraySlice(a,0,e),this.values=ua.arraySlice(b,0,e*c));return this}};ac.prototype=Object.assign(Object.create(Wa),{constructor:ac,ValueTypeName:"vector"});
+f=a.length-1,g=1;g<f;++g){var h=!1,l=a[g];if(l!==a[g+1]&&(1!==g||l!==l[0]))if(d)h=!0;else for(var m=g*c,k=m-c,q=m+c,l=0;l!==c;++l){var n=b[m+l];if(n!==b[k+l]||n!==b[q+l]){h=!0;break}}if(h){if(g!==e)for(a[e]=a[g],h=g*c,m=e*c,l=0;l!==c;++l)b[m+l]=b[h+l];++e}}if(0<f){a[e]=a[f];h=f*c;m=e*c;for(l=0;l!==c;++l)b[m+l]=b[h+l];++e}e!==a.length&&(this.times=ua.arraySlice(a,0,e),this.values=ua.arraySlice(b,0,e*c));return this}};bc.prototype=Object.assign(Object.create(Wa),{constructor:bc,ValueTypeName:"vector"});
 yd.prototype=Object.assign(Object.create(Ca.prototype),{constructor:yd,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;b=(c-b)/(d-b);for(c=a+g;a!==c;a+=4)oa.slerpFlat(e,0,f,a-g,f,a,b);return e}});Tc.prototype=Object.assign(Object.create(Wa),{constructor:Tc,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(a){return new yd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});
-bc.prototype=Object.assign(Object.create(Wa),{constructor:bc,ValueTypeName:"number"});zd.prototype=Object.assign(Object.create(Wa),{constructor:zd,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});Ad.prototype=Object.assign(Object.create(Wa),{constructor:Ad,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});
+cc.prototype=Object.assign(Object.create(Wa),{constructor:cc,ValueTypeName:"number"});zd.prototype=Object.assign(Object.create(Wa),{constructor:zd,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});Ad.prototype=Object.assign(Object.create(Wa),{constructor:Ad,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});
 Bd.prototype=Object.assign(Object.create(Wa),{constructor:Bd,ValueTypeName:"color"});ub.prototype=Wa;Wa.constructor=ub;Object.assign(ub,{parse:function(a){if(void 0===a.type)throw Error("track type undefined, can not parse");var b=ub._getTrackTypeForValueTypeName(a.type);if(void 0===a.times){var c=[],d=[];ua.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)},toJSON:function(a){var b=a.constructor;if(void 0!==b.toJSON)b=
-b.toJSON(a);else{var b={name:a.name,times:ua.convertArray(a.times,Array),values:ua.convertArray(a.values,Array)},c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b},_getTrackTypeForValueTypeName:function(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return bc;case "vector":case "vector2":case "vector3":case "vector4":return ac;case "color":return Bd;case "quaternion":return Tc;case "bool":case "boolean":return Ad;
+b.toJSON(a);else{var b={name:a.name,times:ua.convertArray(a.times,Array),values:ua.convertArray(a.values,Array)},c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b},_getTrackTypeForValueTypeName:function(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return cc;case "vector":case "vector2":case "vector3":case "vector4":return bc;case "color":return Bd;case "quaternion":return Tc;case "bool":case "boolean":return Ad;
 case "string":return zd}throw Error("Unsupported typeName: "+a);}});Object.assign(Aa,{parse:function(a){for(var b=[],c=a.tracks,d=1/(a.fps||1),e=0,f=c.length;e!==f;++e)b.push(ub.parse(c[e]).scale(d));return new Aa(a.name,a.duration,b)},toJSON:function(a){var b=[],c=a.tracks;a={name:a.name,duration:a.duration,tracks:b};for(var d=0,e=c.length;d!==e;++d)b.push(ub.toJSON(c[d]));return a},CreateFromMorphTargetSequence:function(a,b,c,d){for(var e=b.length,f=[],g=0;g<e;g++){var h=[],l=[];h.push((g+e-1)%
-e,g,(g+1)%e);l.push(0,1,0);var k=ua.getKeyframeOrder(h),h=ua.sortedArray(h,1,k),l=ua.sortedArray(l,1,k);d||0!==h[0]||(h.push(e),l.push(l[0]));f.push((new bc(".morphTargetInfluences["+b[g].name+"]",h,l)).scale(1/c))}return new Aa(a,-1,f)},findByName:function(a,b){var c=a;Array.isArray(a)||(c=a.geometry&&a.geometry.animations||a.animations);for(var d=0;d<c.length;d++)if(c[d].name===b)return c[d];return null},CreateClipsFromMorphTargetSequences:function(a,b,c){for(var d={},e=/^([\w-]*?)([\d]+)$/,f=0,
+e,g,(g+1)%e);l.push(0,1,0);var k=ua.getKeyframeOrder(h),h=ua.sortedArray(h,1,k),l=ua.sortedArray(l,1,k);d||0!==h[0]||(h.push(e),l.push(l[0]));f.push((new cc(".morphTargetInfluences["+b[g].name+"]",h,l)).scale(1/c))}return new Aa(a,-1,f)},findByName:function(a,b){var c=a;Array.isArray(a)||(c=a.geometry&&a.geometry.animations||a.animations);for(var d=0;d<c.length;d++)if(c[d].name===b)return c[d];return null},CreateClipsFromMorphTargetSequences:function(a,b,c){for(var d={},e=/^([\w-]*?)([\d]+)$/,f=0,
 g=a.length;f<g;f++){var h=a[f],l=h.name.match(e);if(l&&1<l.length){var k=l[1];(l=d[k])||(d[k]=l=[]);l.push(h)}}a=[];for(k in d)a.push(Aa.CreateFromMorphTargetSequence(k,d[k],b,c));return a},parseAnimation:function(a,b){if(!a)return console.error("  no animation in JSONLoader data"),null;for(var c=function(a,b,c,d,e){if(0!==c.length){var f=[],g=[];ua.flattenJSON(c,f,g,d);0!==f.length&&e.push(new a(b,f,g))}},d=[],e=a.name||"default",f=a.length||-1,g=a.fps||30,h=a.hierarchy||[],l=0;l<h.length;l++){var k=
-h[l].keys;if(k&&0!==k.length)if(k[0].morphTargets){for(var f={},p=0;p<k.length;p++)if(k[p].morphTargets)for(var q=0;q<k[p].morphTargets.length;q++)f[k[p].morphTargets[q]]=-1;for(var n in f){for(var r=[],z=[],q=0;q!==k[p].morphTargets.length;++q){var t=k[p];r.push(t.time);z.push(t.morphTarget===n?1:0)}d.push(new bc(".morphTargetInfluence["+n+"]",r,z))}f=f.length*(g||1)}else p=".bones["+b[l].name+"]",c(ac,p+".position",k,"pos",d),c(Tc,p+".quaternion",k,"rot",d),c(ac,p+".scale",k,"scl",d)}return 0===
+h[l].keys;if(k&&0!==k.length)if(k[0].morphTargets){for(var f={},p=0;p<k.length;p++)if(k[p].morphTargets)for(var q=0;q<k[p].morphTargets.length;q++)f[k[p].morphTargets[q]]=-1;for(var n in f){for(var r=[],z=[],q=0;q!==k[p].morphTargets.length;++q){var t=k[p];r.push(t.time);z.push(t.morphTarget===n?1:0)}d.push(new cc(".morphTargetInfluence["+n+"]",r,z))}f=f.length*(g||1)}else p=".bones["+b[l].name+"]",c(bc,p+".position",k,"pos",d),c(Tc,p+".quaternion",k,"rot",d),c(bc,p+".scale",k,"scl",d)}return 0===
 d.length?null:new Aa(e,f,d)}});Object.assign(Aa.prototype,{resetDuration:function(){for(var a=0,b=0,c=this.tracks.length;b!==c;++b)var d=this.tracks[b],a=Math.max(a,d.times[d.times.length-1]);this.duration=a},trim:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].trim(0,this.duration);return this},optimize:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].optimize();return this}});Object.assign(Cd.prototype,{load:function(a,b,c,d){var e=this,f=new ta(e.manager);f.setResponseType("json");
 f.load(a,function(a){b(e.parse(a))},c,d)},setTextures:function(a){this.textures=a},parse:function(a){function b(a){void 0===c[a]&&console.warn("THREE.MaterialLoader: Undefined texture",a);return c[a]}var c=this.textures,d=new hg[a.type];void 0!==a.uuid&&(d.uuid=a.uuid);void 0!==a.name&&(d.name=a.name);void 0!==a.color&&d.color.setHex(a.color);void 0!==a.roughness&&(d.roughness=a.roughness);void 0!==a.metalness&&(d.metalness=a.metalness);void 0!==a.emissive&&d.emissive.setHex(a.emissive);void 0!==
 a.specular&&d.specular.setHex(a.specular);void 0!==a.shininess&&(d.shininess=a.shininess);void 0!==a.clearCoat&&(d.clearCoat=a.clearCoat);void 0!==a.clearCoatRoughness&&(d.clearCoatRoughness=a.clearCoatRoughness);void 0!==a.uniforms&&(d.uniforms=a.uniforms);void 0!==a.vertexShader&&(d.vertexShader=a.vertexShader);void 0!==a.fragmentShader&&(d.fragmentShader=a.fragmentShader);void 0!==a.vertexColors&&(d.vertexColors=a.vertexColors);void 0!==a.fog&&(d.fog=a.fog);void 0!==a.shading&&(d.shading=a.shading);
@@ -662,8 +662,8 @@ a.bumpScale);void 0!==a.normalMap&&(d.normalMap=b(a.normalMap));if(void 0!==a.no
 void 0!==a.emissiveMap&&(d.emissiveMap=b(a.emissiveMap));void 0!==a.emissiveIntensity&&(d.emissiveIntensity=a.emissiveIntensity);void 0!==a.specularMap&&(d.specularMap=b(a.specularMap));void 0!==a.envMap&&(d.envMap=b(a.envMap));void 0!==a.reflectivity&&(d.reflectivity=a.reflectivity);void 0!==a.lightMap&&(d.lightMap=b(a.lightMap));void 0!==a.lightMapIntensity&&(d.lightMapIntensity=a.lightMapIntensity);void 0!==a.aoMap&&(d.aoMap=b(a.aoMap));void 0!==a.aoMapIntensity&&(d.aoMapIntensity=a.aoMapIntensity);
 void 0!==a.gradientMap&&(d.gradientMap=b(a.gradientMap));if(void 0!==a.materials)for(var e=0,f=a.materials.length;e<f;e++)d.materials.push(this.parse(a.materials[e]));return d}});Object.assign(Zd.prototype,{load:function(a,b,c,d){var e=this,f=new ta(e.manager);f.setResponseType("json");f.load(a,function(a){b(e.parse(a))},c,d)},parse:function(a){var b=new I,c=a.data.index;void 0!==c&&(c=new bf[c.type](c.array),b.setIndex(new P(c,1)));var d=a.data.attributes,e;for(e in d){var f=d[e],c=new bf[f.type](f.array);
 b.addAttribute(e,new P(c,f.itemSize,f.normalized))}e=a.data.groups||a.data.drawcalls||a.data.offsets;if(void 0!==e)for(c=0,d=e.length;c!==d;++c)f=e[c],b.addGroup(f.start,f.count,f.materialIndex);a=a.data.boundingSphere;void 0!==a&&(e=new p,void 0!==a.center&&e.fromArray(a.center),b.boundingSphere=new Ba(e,a.radius));return b}});var bf={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,
-Float32Array:Float32Array,Float64Array:Float64Array};cc.Handlers={handlers:[],add:function(a,b){this.handlers.push(a,b)},get:function(a){for(var b=this.handlers,c=0,d=b.length;c<d;c+=2){var e=b[c+1];if(b[c].test(a))return e}return null}};Object.assign(cc.prototype,{crossOrigin:void 0,extractUrlBase:function(a){a=a.split("/");if(1===a.length)return"./";a.pop();return a.join("/")+"/"},initMaterials:function(a,b,c){for(var d=[],e=0;e<a.length;++e)d[e]=this.createMaterial(a[e],b,c);return d},createMaterial:function(){var a=
-{NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},b=new K,c=new nd,d=new Cd;return function(e,f,g){function h(a,b,d,e,h){a=f+a;var k=cc.Handlers.get(a);null!==k?a=k.load(a):(c.setCrossOrigin(g),a=c.load(a));void 0!==b&&(a.repeat.fromArray(b),1!==b[0]&&(a.wrapS=1E3),1!==b[1]&&(a.wrapT=1E3));void 0!==d&&a.offset.fromArray(d);void 0!==e&&("repeat"===e[0]&&(a.wrapS=1E3),"mirror"===e[0]&&(a.wrapS=1002),"repeat"===e[1]&&(a.wrapT=1E3),"mirror"===
+Float32Array:Float32Array,Float64Array:Float64Array};dc.Handlers={handlers:[],add:function(a,b){this.handlers.push(a,b)},get:function(a){for(var b=this.handlers,c=0,d=b.length;c<d;c+=2){var e=b[c+1];if(b[c].test(a))return e}return null}};Object.assign(dc.prototype,{crossOrigin:void 0,extractUrlBase:function(a){a=a.split("/");if(1===a.length)return"./";a.pop();return a.join("/")+"/"},initMaterials:function(a,b,c){for(var d=[],e=0;e<a.length;++e)d[e]=this.createMaterial(a[e],b,c);return d},createMaterial:function(){var a=
+{NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},b=new K,c=new nd,d=new Cd;return function(e,f,g){function h(a,b,d,e,h){a=f+a;var k=dc.Handlers.get(a);null!==k?a=k.load(a):(c.setCrossOrigin(g),a=c.load(a));void 0!==b&&(a.repeat.fromArray(b),1!==b[0]&&(a.wrapS=1E3),1!==b[1]&&(a.wrapT=1E3));void 0!==d&&a.offset.fromArray(d);void 0!==e&&("repeat"===e[0]&&(a.wrapS=1E3),"mirror"===e[0]&&(a.wrapS=1002),"repeat"===e[1]&&(a.wrapT=1E3),"mirror"===
 e[1]&&(a.wrapT=1002));void 0!==h&&(a.anisotropy=h);b=Y.generateUUID();l[b]=a;return b}var l={},k={uuid:Y.generateUUID(),type:"MeshLambertMaterial"},p;for(p in e){var q=e[p];switch(p){case "DbgColor":case "DbgIndex":case "opticalDensity":case "illumination":break;case "DbgName":k.name=q;break;case "blending":k.blending=a[q];break;case "colorAmbient":case "mapAmbient":console.warn("THREE.Loader.createMaterial:",p,"is no longer supported.");break;case "colorDiffuse":k.color=b.fromArray(q).getHex();break;
 case "colorSpecular":k.specular=b.fromArray(q).getHex();break;case "colorEmissive":k.emissive=b.fromArray(q).getHex();break;case "specularCoef":k.shininess=q;break;case "shading":"basic"===q.toLowerCase()&&(k.type="MeshBasicMaterial");"phong"===q.toLowerCase()&&(k.type="MeshPhongMaterial");"standard"===q.toLowerCase()&&(k.type="MeshStandardMaterial");break;case "mapDiffuse":k.map=h(q,e.mapDiffuseRepeat,e.mapDiffuseOffset,e.mapDiffuseWrap,e.mapDiffuseAnisotropy);break;case "mapDiffuseRepeat":case "mapDiffuseOffset":case "mapDiffuseWrap":case "mapDiffuseAnisotropy":break;
 case "mapEmissive":k.emissiveMap=h(q,e.mapEmissiveRepeat,e.mapEmissiveOffset,e.mapEmissiveWrap,e.mapEmissiveAnisotropy);break;case "mapEmissiveRepeat":case "mapEmissiveOffset":case "mapEmissiveWrap":case "mapEmissiveAnisotropy":break;case "mapLight":k.lightMap=h(q,e.mapLightRepeat,e.mapLightOffset,e.mapLightWrap,e.mapLightAnisotropy);break;case "mapLightRepeat":case "mapLightOffset":case "mapLightWrap":case "mapLightAnisotropy":break;case "mapAO":k.aoMap=h(q,e.mapAORepeat,e.mapAOOffset,e.mapAOWrap,
@@ -671,7 +671,7 @@ e.mapAOAnisotropy);break;case "mapAORepeat":case "mapAOOffset":case "mapAOWrap":
 case "mapNormalRepeat":case "mapNormalOffset":case "mapNormalWrap":case "mapNormalAnisotropy":break;case "mapSpecular":k.specularMap=h(q,e.mapSpecularRepeat,e.mapSpecularOffset,e.mapSpecularWrap,e.mapSpecularAnisotropy);break;case "mapSpecularRepeat":case "mapSpecularOffset":case "mapSpecularWrap":case "mapSpecularAnisotropy":break;case "mapMetalness":k.metalnessMap=h(q,e.mapMetalnessRepeat,e.mapMetalnessOffset,e.mapMetalnessWrap,e.mapMetalnessAnisotropy);break;case "mapMetalnessRepeat":case "mapMetalnessOffset":case "mapMetalnessWrap":case "mapMetalnessAnisotropy":break;
 case "mapRoughness":k.roughnessMap=h(q,e.mapRoughnessRepeat,e.mapRoughnessOffset,e.mapRoughnessWrap,e.mapRoughnessAnisotropy);break;case "mapRoughnessRepeat":case "mapRoughnessOffset":case "mapRoughnessWrap":case "mapRoughnessAnisotropy":break;case "mapAlpha":k.alphaMap=h(q,e.mapAlphaRepeat,e.mapAlphaOffset,e.mapAlphaWrap,e.mapAlphaAnisotropy);break;case "mapAlphaRepeat":case "mapAlphaOffset":case "mapAlphaWrap":case "mapAlphaAnisotropy":break;case "flipSided":k.side=1;break;case "doubleSided":k.side=
 2;break;case "transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity");k.opacity=q;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":k[p]=q;break;case "vertexColors":!0===q&&(k.vertexColors=2);"face"===q&&(k.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",p,q)}}"MeshBasicMaterial"===k.type&&delete k.emissive;"MeshPhongMaterial"!==
-k.type&&delete k.specular;1>k.opacity&&(k.transparent=!0);d.setTextures(l);return d.parse(k)}}()});Object.assign($d.prototype,{load:function(a,b,c,d){var e=this,f=this.texturePath&&"string"===typeof this.texturePath?this.texturePath:cc.prototype.extractUrlBase(a),g=new ta(this.manager);g.setResponseType("json");g.setWithCredentials(this.withCredentials);g.load(a,function(c){var d=c.metadata;if(void 0!==d&&(d=d.type,void 0!==d)){if("object"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.ObjectLoader instead.");
+k.type&&delete k.specular;1>k.opacity&&(k.transparent=!0);d.setTextures(l);return d.parse(k)}}()});Object.assign($d.prototype,{load:function(a,b,c,d){var e=this,f=this.texturePath&&"string"===typeof this.texturePath?this.texturePath:dc.prototype.extractUrlBase(a),g=new ta(this.manager);g.setResponseType("json");g.setWithCredentials(this.withCredentials);g.load(a,function(c){var d=c.metadata;if(void 0!==d&&(d=d.type,void 0!==d)){if("object"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.ObjectLoader instead.");
 return}if("scene"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)},c,d)},setTexturePath:function(a){this.texturePath=a},parse:function(){return function(a,b){void 0!==a.data&&(a=a.data);a.scale=void 0!==a.scale?1/a.scale:1;var c=new S,d=a,e,f,g,h,l,k,u,q,n,r,z,t,x,y,w=d.faces;n=d.vertices;var A=d.normals,v=d.colors;k=d.scale;var E=0;if(void 0!==d.uvs){for(e=0;e<d.uvs.length;e++)d.uvs[e].length&&
 E++;for(e=0;e<E;e++)c.faceVertexUvs[e]=[]}h=0;for(l=n.length;h<l;)e=new p,e.x=n[h++]*k,e.y=n[h++]*k,e.z=n[h++]*k,c.vertices.push(e);h=0;for(l=w.length;h<l;)if(n=w[h++],r=n&1,g=n&2,e=n&8,u=n&16,z=n&32,k=n&64,n&=128,r){r=new Ta;r.a=w[h];r.b=w[h+1];r.c=w[h+3];t=new Ta;t.a=w[h+1];t.b=w[h+2];t.c=w[h+3];h+=4;g&&(g=w[h++],r.materialIndex=g,t.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<E;e++)for(x=d.uvs[e],c.faceVertexUvs[e][g]=[],c.faceVertexUvs[e][g+1]=[],f=0;4>f;f++)q=w[h++],y=x[2*q],q=x[2*q+1],y=
 new D(y,q),2!==f&&c.faceVertexUvs[e][g].push(y),0!==f&&c.faceVertexUvs[e][g+1].push(y);u&&(u=3*w[h++],r.normal.set(A[u++],A[u++],A[u]),t.normal.copy(r.normal));if(z)for(e=0;4>e;e++)u=3*w[h++],z=new p(A[u++],A[u++],A[u]),2!==e&&r.vertexNormals.push(z),0!==e&&t.vertexNormals.push(z);k&&(k=w[h++],k=v[k],r.color.setHex(k),t.color.setHex(k));if(n)for(e=0;4>e;e++)k=w[h++],k=v[k],2!==e&&r.vertexColors.push(new K(k)),0!==e&&t.vertexColors.push(new K(k));c.faces.push(r);c.faces.push(t)}else{r=new Ta;r.a=w[h++];
@@ -679,7 +679,7 @@ r.b=w[h++];r.c=w[h++];g&&(g=w[h++],r.materialIndex=g);g=c.faces.length;if(e)for(
 2;if(d.skinWeights)for(l=0,w=d.skinWeights.length;l<w;l+=h)c.skinWeights.push(new ha(d.skinWeights[l],1<h?d.skinWeights[l+1]:0,2<h?d.skinWeights[l+2]:0,3<h?d.skinWeights[l+3]:0));if(d.skinIndices)for(l=0,w=d.skinIndices.length;l<w;l+=h)c.skinIndices.push(new ha(d.skinIndices[l],1<h?d.skinIndices[l+1]:0,2<h?d.skinIndices[l+2]:0,3<h?d.skinIndices[l+3]:0));c.bones=d.bones;c.bones&&0<c.bones.length&&(c.skinWeights.length!==c.skinIndices.length||c.skinIndices.length!==c.vertices.length)&&console.warn("When skinning, number of vertices ("+
 c.vertices.length+"), skinIndices ("+c.skinIndices.length+"), and skinWeights ("+c.skinWeights.length+") should match.");l=a;w=l.scale;if(void 0!==l.morphTargets)for(d=0,h=l.morphTargets.length;d<h;d++)for(c.morphTargets[d]={},c.morphTargets[d].name=l.morphTargets[d].name,c.morphTargets[d].vertices=[],A=c.morphTargets[d].vertices,v=l.morphTargets[d].vertices,E=0,n=v.length;E<n;E+=3)k=new p,k.x=v[E]*w,k.y=v[E+1]*w,k.z=v[E+2]*w,A.push(k);if(void 0!==l.morphColors&&0<l.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),
 w=c.faces,l=l.morphColors[0].colors,d=0,h=w.length;d<h;d++)w[d].color.fromArray(l,3*d);l=a;d=[];h=[];void 0!==l.animation&&h.push(l.animation);void 0!==l.animations&&(l.animations.length?h=h.concat(l.animations):h.push(l.animations));for(l=0;l<h.length;l++)(w=Aa.parseAnimation(h[l],c.bones))&&d.push(w);c.morphTargets&&(h=Aa.CreateClipsFromMorphTargetSequences(c.morphTargets,10),d=d.concat(h));0<d.length&&(c.animations=d);c.computeFaceNormals();c.computeBoundingSphere();if(void 0===a.materials||0===
-a.materials.length)return{geometry:c};d=cc.prototype.initMaterials(a.materials,b,this.crossOrigin);return{geometry:c,materials:d}}}()});Object.assign(Ne.prototype,{load:function(a,b,c,d){""===this.texturePath&&(this.texturePath=a.substring(0,a.lastIndexOf("/")+1));var e=this;(new ta(e.manager)).load(a,function(c){var g=null;try{g=JSON.parse(c)}catch(h){void 0!==d&&d(h);console.error("THREE:ObjectLoader: Can't parse "+a+".",h.message);return}c=g.metadata;void 0===c||void 0===c.type||"geometry"===c.type.toLowerCase()?
+a.materials.length)return{geometry:c};d=dc.prototype.initMaterials(a.materials,b,this.crossOrigin);return{geometry:c,materials:d}}}()});Object.assign(Ne.prototype,{load:function(a,b,c,d){""===this.texturePath&&(this.texturePath=a.substring(0,a.lastIndexOf("/")+1));var e=this;(new ta(e.manager)).load(a,function(c){var g=null;try{g=JSON.parse(c)}catch(h){void 0!==d&&d(h);console.error("THREE:ObjectLoader: Can't parse "+a+".",h.message);return}c=g.metadata;void 0===c||void 0===c.type||"geometry"===c.type.toLowerCase()?
 console.error("THREE.ObjectLoader: Can't load "+a+". Use THREE.JSONLoader instead."):e.parse(g,b)},c,d)},setTexturePath:function(a){this.texturePath=a},setCrossOrigin:function(a){this.crossOrigin=a},parse:function(a,b){var c=this.parseGeometries(a.geometries),d=this.parseImages(a.images,function(){void 0!==b&&b(e)}),d=this.parseTextures(a.textures,d),d=this.parseMaterials(a.materials,d),e=this.parseObject(a.object,c,d);a.animations&&(e.animations=this.parseAnimations(a.animations));void 0!==a.images&&
 0!==a.images.length||void 0===b||b(e);return e},parseGeometries:function(a){var b={};if(void 0!==a)for(var c=new $d,d=new Zd,e=0,f=a.length;e<f;e++){var g,h=a[e];switch(h.type){case "PlaneGeometry":case "PlaneBufferGeometry":g=new La[h.type](h.width,h.height,h.widthSegments,h.heightSegments);break;case "BoxGeometry":case "BoxBufferGeometry":case "CubeGeometry":g=new La[h.type](h.width,h.height,h.depth,h.widthSegments,h.heightSegments,h.depthSegments);break;case "CircleGeometry":case "CircleBufferGeometry":g=
 new La[h.type](h.radius,h.segments,h.thetaStart,h.thetaLength);break;case "CylinderGeometry":case "CylinderBufferGeometry":g=new La[h.type](h.radiusTop,h.radiusBottom,h.height,h.radialSegments,h.heightSegments,h.openEnded,h.thetaStart,h.thetaLength);break;case "ConeGeometry":case "ConeBufferGeometry":g=new La[h.type](h.radius,h.height,h.radialSegments,h.heightSegments,h.openEnded,h.thetaStart,h.thetaLength);break;case "SphereGeometry":case "SphereBufferGeometry":g=new La[h.type](h.radius,h.widthSegments,
@@ -689,10 +689,10 @@ b[h.uuid]=g}return b},parseMaterials:function(a,b){var c={};if(void 0!==a){var d
 new Wd(b),g=new Rc(f);g.setCrossOrigin(this.crossOrigin);for(var f=0,h=a.length;f<h;f++){var l=a[f],k=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(l.url)?l.url:d.texturePath+l.url;e[l.uuid]=c(k)}}return e},parseTextures:function(a,b){function c(a,b){if("number"===typeof a)return a;console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",a);return b[a]}var d={};if(void 0!==a)for(var e=0,f=a.length;e<f;e++){var g=a[e];void 0===g.image&&console.warn('THREE.ObjectLoader: No "image" specified for',
 g.uuid);void 0===b[g.image]&&console.warn("THREE.ObjectLoader: Undefined image",g.image);var h=new ba(b[g.image]);h.needsUpdate=!0;h.uuid=g.uuid;void 0!==g.name&&(h.name=g.name);void 0!==g.mapping&&(h.mapping=c(g.mapping,ig));void 0!==g.offset&&h.offset.fromArray(g.offset);void 0!==g.repeat&&h.repeat.fromArray(g.repeat);void 0!==g.wrap&&(h.wrapS=c(g.wrap[0],cf),h.wrapT=c(g.wrap[1],cf));void 0!==g.minFilter&&(h.minFilter=c(g.minFilter,df));void 0!==g.magFilter&&(h.magFilter=c(g.magFilter,df));void 0!==
 g.anisotropy&&(h.anisotropy=g.anisotropy);void 0!==g.flipY&&(h.flipY=g.flipY);d[g.uuid]=h}return d},parseObject:function(){var a=new L;return function(b,c,d){function e(a){void 0===c[a]&&console.warn("THREE.ObjectLoader: Undefined geometry",a);return c[a]}function f(a){if(void 0!==a){if(Array.isArray(a)){for(var b=[],c=0,e=a.length;c<e;c++){var f=a[c];void 0===d[f]&&console.warn("THREE.ObjectLoader: Undefined material",f);b.push(d[f])}return b}void 0===d[a]&&console.warn("THREE.ObjectLoader: Undefined material",
-a);return d[a]}}var g;switch(b.type){case "Scene":g=new hd;void 0!==b.background&&Number.isInteger(b.background)&&(g.background=new K(b.background));void 0!==b.fog&&("Fog"===b.fog.type?g.fog=new Hb(b.fog.color,b.fog.near,b.fog.far):"FogExp2"===b.fog.type&&(g.fog=new Gb(b.fog.color,b.fog.density)));break;case "PerspectiveCamera":g=new xa(b.fov,b.aspect,b.near,b.far);void 0!==b.focus&&(g.focus=b.focus);void 0!==b.zoom&&(g.zoom=b.zoom);void 0!==b.filmGauge&&(g.filmGauge=b.filmGauge);void 0!==b.filmOffset&&
-(g.filmOffset=b.filmOffset);void 0!==b.view&&(g.view=Object.assign({},b.view));break;case "OrthographicCamera":g=new Fb(b.left,b.right,b.top,b.bottom,b.near,b.far);break;case "AmbientLight":g=new ud(b.color,b.intensity);break;case "DirectionalLight":g=new td(b.color,b.intensity);break;case "PointLight":g=new rd(b.color,b.intensity,b.distance,b.decay);break;case "RectAreaLight":g=new vd(b.color,b.intensity,b.width,b.height);break;case "SpotLight":g=new qd(b.color,b.intensity,b.distance,b.angle,b.penumbra,
+a);return d[a]}}var g;switch(b.type){case "Scene":g=new hd;void 0!==b.background&&Number.isInteger(b.background)&&(g.background=new K(b.background));void 0!==b.fog&&("Fog"===b.fog.type?g.fog=new Ib(b.fog.color,b.fog.near,b.fog.far):"FogExp2"===b.fog.type&&(g.fog=new Hb(b.fog.color,b.fog.density)));break;case "PerspectiveCamera":g=new xa(b.fov,b.aspect,b.near,b.far);void 0!==b.focus&&(g.focus=b.focus);void 0!==b.zoom&&(g.zoom=b.zoom);void 0!==b.filmGauge&&(g.filmGauge=b.filmGauge);void 0!==b.filmOffset&&
+(g.filmOffset=b.filmOffset);void 0!==b.view&&(g.view=Object.assign({},b.view));break;case "OrthographicCamera":g=new Gb(b.left,b.right,b.top,b.bottom,b.near,b.far);break;case "AmbientLight":g=new ud(b.color,b.intensity);break;case "DirectionalLight":g=new td(b.color,b.intensity);break;case "PointLight":g=new rd(b.color,b.intensity,b.distance,b.decay);break;case "RectAreaLight":g=new vd(b.color,b.intensity,b.width,b.height);break;case "SpotLight":g=new qd(b.color,b.intensity,b.distance,b.angle,b.penumbra,
 b.decay);break;case "HemisphereLight":g=new od(b.color,b.groundColor,b.intensity);break;case "SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case "Mesh":g=e(b.geometry);var h=f(b.material);g=g.bones&&0<g.bones.length?new jd(g,h):new wa(g,h);break;case "LOD":g=new xc;break;case "Line":g=new Ja(e(b.geometry),f(b.material),b.mode);break;case "LineLoop":g=new kd(e(b.geometry),f(b.material));break;case "LineSegments":g=new ca(e(b.geometry),f(b.material));
-break;case "PointCloud":case "Points":g=new Ib(e(b.geometry),f(b.material));break;case "Sprite":g=new wc(f(b.material));break;case "Group":g=new zc;break;default:g=new A}g.uuid=b.uuid;void 0!==b.name&&(g.name=b.name);void 0!==b.matrix?(a.fromArray(b.matrix),a.decompose(g.position,g.quaternion,g.scale)):(void 0!==b.position&&g.position.fromArray(b.position),void 0!==b.rotation&&g.rotation.fromArray(b.rotation),void 0!==b.quaternion&&g.quaternion.fromArray(b.quaternion),void 0!==b.scale&&g.scale.fromArray(b.scale));
+break;case "PointCloud":case "Points":g=new Jb(e(b.geometry),f(b.material));break;case "Sprite":g=new wc(f(b.material));break;case "Group":g=new zc;break;default:g=new A}g.uuid=b.uuid;void 0!==b.name&&(g.name=b.name);void 0!==b.matrix?(a.fromArray(b.matrix),a.decompose(g.position,g.quaternion,g.scale)):(void 0!==b.position&&g.position.fromArray(b.position),void 0!==b.rotation&&g.rotation.fromArray(b.rotation),void 0!==b.quaternion&&g.quaternion.fromArray(b.quaternion),void 0!==b.scale&&g.scale.fromArray(b.scale));
 void 0!==b.castShadow&&(g.castShadow=b.castShadow);void 0!==b.receiveShadow&&(g.receiveShadow=b.receiveShadow);b.shadow&&(void 0!==b.shadow.bias&&(g.shadow.bias=b.shadow.bias),void 0!==b.shadow.radius&&(g.shadow.radius=b.shadow.radius),void 0!==b.shadow.mapSize&&g.shadow.mapSize.fromArray(b.shadow.mapSize),void 0!==b.shadow.camera&&(g.shadow.camera=this.parseObject(b.shadow.camera)));void 0!==b.visible&&(g.visible=b.visible);void 0!==b.userData&&(g.userData=b.userData);if(void 0!==b.children)for(var l in b.children)g.add(this.parseObject(b.children[l],
 c,d));if("LOD"===b.type)for(b=b.levels,h=0;h<b.length;h++){var k=b[h];l=g.getObjectByProperty("uuid",k.object);void 0!==l&&g.addLevel(l,k.distance)}return g}}()});var ig={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},cf={RepeatWrapping:1E3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},df={NearestFilter:1003,NearestMipMapNearestFilter:1004,
 NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};Object.assign(ja.prototype,{getPoint:function(){console.warn("THREE.Curve: .getPoint() not implemented.");return null},getPointAt:function(a){a=this.getUtoTmapping(a);return this.getPoint(a)},getPoints:function(a){void 0===a&&(a=5);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));return b},getSpacedPoints:function(a){void 0===a&&(a=5);for(var b=[],c=0;c<=a;c++)b.push(this.getPointAt(c/
@@ -705,9 +705,9 @@ this.getLength(),c=this.getCurveLengths();for(a=0;a<c.length;){if(c[a]>=b)return
 this.curves[c].getLength(),a.push(b);return this.cacheLengths=a},getSpacedPoints:function(a){void 0===a&&(a=40);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));this.autoClose&&b.push(b[0]);return b},getPoints:function(a){a=a||12;for(var b=[],c,d=0,e=this.curves;d<e.length;d++)for(var f=e[d],f=f.getPoints(f&&f.isEllipseCurve?2*a:f&&f.isLineCurve?1:f&&f.isSplineCurve?a*f.points.length:a),g=0;g<f.length;g++){var h=f[g];c&&c.equals(h)||(b.push(h),c=h)}this.autoClose&&1<b.length&&!b[b.length-1].equals(b[0])&&
 b.push(b[0]);return b},createPointsGeometry:function(a){a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){for(var b=new S,c=0,d=a.length;c<d;c++){var e=a[c];b.vertices.push(new p(e.x,e.y,e.z||0))}return b}});Va.prototype=Object.create(ja.prototype);Va.prototype.constructor=Va;Va.prototype.isEllipseCurve=!0;Va.prototype.getPoint=function(a){for(var b=2*Math.PI,c=this.aEndAngle-
 this.aStartAngle,d=Math.abs(c)<Number.EPSILON;0>c;)c+=b;for(;c>b;)c-=b;c<Number.EPSILON&&(c=d?0:b);!0!==this.aClockwise||d||(c=c===b?-b:c-b);b=this.aStartAngle+a*c;a=this.aX+this.xRadius*Math.cos(b);var e=this.aY+this.yRadius*Math.sin(b);0!==this.aRotation&&(b=Math.cos(this.aRotation),c=Math.sin(this.aRotation),d=a-this.aX,e-=this.aY,a=d*b-e*c+this.aX,e=d*c+e*b+this.aY);return new D(a,e)};xb.prototype=Object.create(ja.prototype);xb.prototype.constructor=xb;xb.prototype.isSplineCurve=!0;xb.prototype.getPoint=
-function(a){var b=this.points,c=(b.length-1)*a;a=Math.floor(c);var c=c-a,d=b[0===a?a:a-1],e=b[a],f=b[a>b.length-2?b.length-1:a+1],b=b[a>b.length-3?b.length-1:a+2];return new D(Oe(c,d.x,e.x,f.x,b.x),Oe(c,d.y,e.y,f.y,b.y))};dc.prototype=Object.create(ja.prototype);dc.prototype.constructor=dc;dc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new D(wb(a,b.x,c.x,d.x,e.x),wb(a,b.y,c.y,d.y,e.y))};ec.prototype=Object.create(ja.prototype);ec.prototype.constructor=ec;ec.prototype.getPoint=
-function(a){var b=this.v0,c=this.v1,d=this.v2;return new D(vb(a,b.x,c.x,d.x),vb(a,b.y,c.y,d.y))};var re=Object.assign(Object.create(Uc.prototype),{fromPoints:function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Qa(this.currentPoint.clone(),new D(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new ec(this.currentPoint.clone(),new D(a,
-b),new D(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,f){a=new dc(this.currentPoint.clone(),new D(a,b),new D(c,d),new D(e,f));this.curves.push(a);this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a),b=new xb(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,
+function(a){var b=this.points,c=(b.length-1)*a;a=Math.floor(c);var c=c-a,d=b[0===a?a:a-1],e=b[a],f=b[a>b.length-2?b.length-1:a+1],b=b[a>b.length-3?b.length-1:a+2];return new D(Oe(c,d.x,e.x,f.x,b.x),Oe(c,d.y,e.y,f.y,b.y))};ec.prototype=Object.create(ja.prototype);ec.prototype.constructor=ec;ec.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new D(wb(a,b.x,c.x,d.x,e.x),wb(a,b.y,c.y,d.y,e.y))};fc.prototype=Object.create(ja.prototype);fc.prototype.constructor=fc;fc.prototype.getPoint=
+function(a){var b=this.v0,c=this.v1,d=this.v2;return new D(vb(a,b.x,c.x,d.x),vb(a,b.y,c.y,d.y))};var re=Object.assign(Object.create(Uc.prototype),{fromPoints:function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Qa(this.currentPoint.clone(),new D(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new fc(this.currentPoint.clone(),new D(a,
+b),new D(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,f){a=new ec(this.currentPoint.clone(),new D(a,b),new D(c,d),new D(e,f));this.curves.push(a);this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a),b=new xb(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,
 e,f)},ellipse:function(a,b,c,d,e,f,g,h){this.absellipse(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f,g,h)},absellipse:function(a,b,c,d,e,f,g,h){a=new Va(a,b,c,d,e,f,g,h);0<this.curves.length&&(b=a.getPoint(0),b.equals(this.currentPoint)||this.lineTo(b.x,b.y));this.curves.push(a);a=a.getPoint(1);this.currentPoint.copy(a)}});Vc.prototype=re;re.constructor=Vc;yb.prototype=Object.assign(Object.create(re),{constructor:yb,getPointsHoles:function(a){for(var b=[],c=0,d=this.holes.length;c<d;c++)b[c]=
 this.holes[c].getPoints(a);return b},extractAllPoints:function(a){return{shape:this.getPoints(a),holes:this.getPointsHoles(a)}},extractPoints:function(a){return this.extractAllPoints(a)}});Object.assign(ae.prototype,{moveTo:function(a,b){this.currentPath=new Vc;this.subPaths.push(this.currentPath);this.currentPath.moveTo(a,b)},lineTo:function(a,b){this.currentPath.lineTo(a,b)},quadraticCurveTo:function(a,b,c,d){this.currentPath.quadraticCurveTo(a,b,c,d)},bezierCurveTo:function(a,b,c,d,e,f){this.currentPath.bezierCurveTo(a,
 b,c,d,e,f)},splineThru:function(a){this.currentPath.splineThru(a)},toShapes:function(a,b){function c(a){for(var b=[],c=0,d=a.length;c<d;c++){var e=a[c],f=new yb;f.curves=e.curves;b.push(f)}return b}function d(a,b){for(var c=b.length,d=!1,e=c-1,f=0;f<c;e=f++){var g=b[e],h=b[f],k=h.x-g.x,l=h.y-g.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(g=b[f],k=-k,h=b[e],l=-l),!(a.y<g.y||a.y>h.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=l*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=
@@ -721,12 +721,12 @@ Object.assign(Pe.prototype,{load:function(a,b,c,d){var e=this;(new ta(this.manag
 {constructor:de,isArrayCamera:!0});ee.prototype=Object.assign(Object.create(A.prototype),{constructor:ee,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):
 this.gain.disconnect(this.context.destination);this.filter=a;this.gain.connect(this.filter);this.filter.connect(this.context.destination)},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(a){this.gain.gain.value=a},updateMatrixWorld:function(){var a=new p,b=new oa,c=new p,d=new p;return function(e){A.prototype.updateMatrixWorld.call(this,e);e=this.context.listener;var f=this.up;this.matrixWorld.decompose(a,b,c);d.set(0,0,-1).applyQuaternion(b);e.positionX?(e.positionX.setValueAtTime(a.x,
 this.context.currentTime),e.positionY.setValueAtTime(a.y,this.context.currentTime),e.positionZ.setValueAtTime(a.z,this.context.currentTime),e.forwardX.setValueAtTime(d.x,this.context.currentTime),e.forwardY.setValueAtTime(d.y,this.context.currentTime),e.forwardZ.setValueAtTime(d.z,this.context.currentTime),e.upX.setValueAtTime(f.x,this.context.currentTime),e.upY.setValueAtTime(f.y,this.context.currentTime),e.upZ.setValueAtTime(f.z,this.context.currentTime)):(e.setPosition(a.x,a.y,a.z),e.setOrientation(d.x,
-d.y,d.z,f.x,f.y,f.z))}}()});fc.prototype=Object.assign(Object.create(A.prototype),{constructor:fc,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setBuffer:function(a){this.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
+d.y,d.z,f.x,f.y,f.z))}}()});gc.prototype=Object.assign(Object.create(A.prototype),{constructor:gc,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setBuffer:function(a){this.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
 else{var a=this.context.createBufferSource();a.buffer=this.buffer;a.loop=this.loop;a.onended=this.onEnded.bind(this);a.playbackRate.setValueAtTime(this.playbackRate,this.startTime);a.start(0,this.startTime);this.isPlaying=!0;this.source=a;return this.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.source.stop(),this.startTime=this.context.currentTime,this.isPlaying=!1,this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
 else return this.source.stop(),this.startTime=0,this.isPlaying=!1,this},connect:function(){if(0<this.filters.length){this.source.connect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-1].connect(this.filters[a]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(0<this.filters.length){this.source.disconnect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-
 1].disconnect(this.filters[a]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(a){a||(a=[]);!0===this.isPlaying?(this.disconnect(),this.filters=a,this.connect()):this.filters=a;return this},getFilter:function(){return this.getFilters()[0]},setFilter:function(a){return this.setFilters(a?[a]:[])},setPlaybackRate:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
 else return this.playbackRate=a,!0===this.isPlaying&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.loop=
-a,!0===this.isPlaying&&(this.source.loop=this.loop),this},getVolume:function(){return this.gain.gain.value},setVolume:function(a){this.gain.gain.value=a;return this}});ge.prototype=Object.assign(Object.create(fc.prototype),{constructor:ge,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(a){this.panner.refDistance=a},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(a){this.panner.rolloffFactor=
+a,!0===this.isPlaying&&(this.source.loop=this.loop),this},getVolume:function(){return this.gain.gain.value},setVolume:function(a){this.gain.gain.value=a;return this}});ge.prototype=Object.assign(Object.create(gc.prototype),{constructor:ge,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(a){this.panner.refDistance=a},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(a){this.panner.rolloffFactor=
 a},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(a){this.panner.distanceModel=a},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(a){this.panner.maxDistance=a},updateMatrixWorld:function(){var a=new p;return function(b){A.prototype.updateMatrixWorld.call(this,b);a.setFromMatrixPosition(this.matrixWorld);this.panner.setPosition(a.x,a.y,a.z)}}()});Object.assign(he.prototype,{getFrequencyData:function(){this.analyser.getByteFrequencyData(this.data);
 return this.data},getAverageFrequency:function(){for(var a=0,b=this.getFrequencyData(),c=0;c<b.length;c++)a+=b[c];return a/b.length}});Object.assign(ie.prototype,{accumulate:function(a,b){var c=this.buffer,d=this.valueSize,e=a*d+d,f=this.cumulativeWeight;if(0===f){for(f=0;f!==d;++f)c[e+f]=c[f];f=b}else f+=b,this._mixBufferRegion(c,e,0,b/f,d);this.cumulativeWeight=f},apply:function(a){var b=this.valueSize,c=this.buffer;a=a*b+b;var d=this.cumulativeWeight,e=this.binding;this.cumulativeWeight=0;1>d&&
 this._mixBufferRegion(c,a,3*b,1-d,b);for(var d=b,f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a,b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d){oa.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=
@@ -769,9 +769,9 @@ g._cacheIndex,k=b[b.length-1];g._cacheIndex=null;g._byClipCacheIndex=null;k._cac
 b);null!==c&&(this._deactivateAction(c),this._removeInactiveAction(c))}});Ed.prototype.clone=function(){return new Ed(void 0===this.value.clone?this.value:this.value.clone())};je.prototype=Object.assign(Object.create(I.prototype),{constructor:je,isInstancedBufferGeometry:!0,addGroup:function(a,b,c){this.groups.push({start:a,count:b,materialIndex:c})},copy:function(a){var b=a.index;null!==b&&this.setIndex(b.clone());var b=a.attributes,c;for(c in b)this.addAttribute(c,b[c].clone());a=a.groups;c=0;for(b=
 a.length;c<b;c++){var d=a[c];this.addGroup(d.start,d.count,d.materialIndex)}return this}});Object.defineProperties(ke.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}});Object.assign(ke.prototype,{isInterleavedBufferAttribute:!0,setX:function(a,b){this.data.array[a*this.data.stride+this.offset]=b;return this},setY:function(a,b){this.data.array[a*this.data.stride+this.offset+1]=b;return this},setZ:function(a,b){this.data.array[a*this.data.stride+
 this.offset+2]=b;return this},setW:function(a,b){this.data.array[a*this.data.stride+this.offset+3]=b;return this},getX:function(a){return this.data.array[a*this.data.stride+this.offset]},getY:function(a){return this.data.array[a*this.data.stride+this.offset+1]},getZ:function(a){return this.data.array[a*this.data.stride+this.offset+2]},getW:function(a){return this.data.array[a*this.data.stride+this.offset+3]},setXY:function(a,b,c){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+
-1]=c;return this},setXYZ:function(a,b,c,d){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;this.data.array[a+3]=e;return this}});Object.defineProperty(gc.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(gc.prototype,{isInterleavedBuffer:!0,setArray:function(a){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");
+1]=c;return this},setXYZ:function(a,b,c,d){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;this.data.array[a+3]=e;return this}});Object.defineProperty(hc.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(hc.prototype,{isInterleavedBuffer:!0,setArray:function(a){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");
 this.count=void 0!==a?a.length/this.stride:0;this.array=a},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.array=new a.array.constructor(a.array);this.count=a.count;this.stride=a.stride;this.dynamic=a.dynamic;return this},copyAt:function(a,b,c){a*=this.stride;c*=b.stride;for(var d=0,e=this.stride;d<e;d++)this.array[a+d]=b.array[c+d];return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(a){this.onUploadCallback=
-a;return this}});le.prototype=Object.assign(Object.create(gc.prototype),{constructor:le,isInstancedInterleavedBuffer:!0,copy:function(a){gc.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this}});me.prototype=Object.assign(Object.create(P.prototype),{constructor:me,isInstancedBufferAttribute:!0,copy:function(a){P.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this}});Object.assign(Ve.prototype,{linePrecision:1,set:function(a,b){this.ray.set(a,
+a;return this}});le.prototype=Object.assign(Object.create(hc.prototype),{constructor:le,isInstancedInterleavedBuffer:!0,copy:function(a){hc.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this}});me.prototype=Object.assign(Object.create(P.prototype),{constructor:me,isInstancedBufferAttribute:!0,copy:function(a){P.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this}});Object.assign(Ve.prototype,{linePrecision:1,set:function(a,b){this.ray.set(a,
 b)},setFromCamera:function(a,b){b&&b.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(b.matrixWorld),this.ray.direction.set(a.x,a.y,.5).unproject(b).sub(this.ray.origin).normalize()):b&&b.isOrthographicCamera?(this.ray.origin.set(a.x,a.y,(b.near+b.far)/(b.near-b.far)).unproject(b),this.ray.direction.set(0,0,-1).transformDirection(b.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(a,b){var c=[];ne(a,this,c,b);c.sort(We);return c},intersectObjects:function(a,
 b){var c=[];if(!1===Array.isArray(a))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),c;for(var d=0,e=a.length;d<e;d++)ne(a[d],this,c,b);c.sort(We);return c}});Object.assign(Xe.prototype,{start:function(){this.oldTime=this.startTime=("undefined"===typeof performance?Date:performance).now();this.elapsedTime=0;this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=
 0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var b=("undefined"===typeof performance?Date:performance).now(),a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}});Object.assign(Ye.prototype,{set:function(a,b,c){this.radius=a;this.phi=b;this.theta=c;return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.phi=a.phi;this.theta=a.theta;return this},makeSafe:function(){this.phi=Math.max(1E-6,Math.min(Math.PI-
@@ -783,43 +783,43 @@ function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};qa.protot
 d.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.start+Y.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight;f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);d.currentFrame!==
 d.lastFrame?(this.morphTargetInfluences[d.currentFrame]=e*g,this.morphTargetInfluences[d.lastFrame]=(1-e)*g):this.morphTargetInfluences[d.currentFrame]=g}}};Wc.prototype=Object.create(A.prototype);Wc.prototype.constructor=Wc;Wc.prototype.isImmediateRenderObject=!0;Xc.prototype=Object.create(ca.prototype);Xc.prototype.constructor=Xc;Xc.prototype.update=function(){var a=new p,b=new p,c=new Fa;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);
 var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=g.vertices,k=g.faces,m=g=0,p=k.length;m<p;m++)for(var q=k[m],n=0,r=q.vertexNormals.length;n<r;n++){var z=q.vertexNormals[n];a.copy(h[q[d[n]]]).applyMatrix4(e);b.copy(z).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);f.setXYZ(g,a.x,a.y,a.z);g+=1;f.setXYZ(g,b.x,b.y,b.z);g+=1}else if(g&&g.isBufferGeometry)for(d=g.attributes.position,h=g.attributes.normal,n=g=0,r=d.count;n<
-r;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(h.getX(n),h.getY(n),h.getZ(n)),b.applyMatrix3(c).normalize().multiplyScalar(this.size).add(a),f.setXYZ(g,a.x,a.y,a.z),g+=1,f.setXYZ(g,b.x,b.y,b.z),g+=1;f.needsUpdate=!0}}();hc.prototype=Object.create(A.prototype);hc.prototype.constructor=hc;hc.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};hc.prototype.update=function(){var a=new p,b=new p;return function(){var c=this.light.distance?this.light.distance:
-1E3,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();ic.prototype=Object.create(ca.prototype);ic.prototype.constructor=ic;ic.prototype.getBoneList=function(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,this.getBoneList(a.children[c]));
-return b};ic.prototype.update=function(){var a=new p,b=new L,c=new L;return function(){var d=this.geometry,e=d.getAttribute("position");c.getInverse(this.root.matrixWorld);for(var f=0,g=0;f<this.bones.length;f++){var h=this.bones[f];h.parent&&h.parent.isBone&&(b.multiplyMatrices(c,h.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g,a.x,a.y,a.z),b.multiplyMatrices(c,h.parent.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g+1,a.x,a.y,a.z),g+=2)}d.getAttribute("position").needsUpdate=!0}}();jc.prototype=
-Object.create(wa.prototype);jc.prototype.constructor=jc;jc.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};jc.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};kc.prototype=Object.create(A.prototype);kc.prototype.constructor=kc;kc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose();this.children[1].geometry.dispose();this.children[1].material.dispose()};kc.prototype.update=
+r;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(h.getX(n),h.getY(n),h.getZ(n)),b.applyMatrix3(c).normalize().multiplyScalar(this.size).add(a),f.setXYZ(g,a.x,a.y,a.z),g+=1,f.setXYZ(g,b.x,b.y,b.z),g+=1;f.needsUpdate=!0}}();ic.prototype=Object.create(A.prototype);ic.prototype.constructor=ic;ic.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};ic.prototype.update=function(){var a=new p,b=new p;return function(){var c=this.light.distance?this.light.distance:
+1E3,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();jc.prototype=Object.create(ca.prototype);jc.prototype.constructor=jc;jc.prototype.getBoneList=function(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,this.getBoneList(a.children[c]));
+return b};jc.prototype.update=function(){var a=new p,b=new L,c=new L;return function(){var d=this.geometry,e=d.getAttribute("position");c.getInverse(this.root.matrixWorld);for(var f=0,g=0;f<this.bones.length;f++){var h=this.bones[f];h.parent&&h.parent.isBone&&(b.multiplyMatrices(c,h.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g,a.x,a.y,a.z),b.multiplyMatrices(c,h.parent.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g+1,a.x,a.y,a.z),g+=2)}d.getAttribute("position").needsUpdate=!0}}();kc.prototype=
+Object.create(wa.prototype);kc.prototype.constructor=kc;kc.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};kc.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};lc.prototype=Object.create(A.prototype);lc.prototype.constructor=lc;lc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose();this.children[1].geometry.dispose();this.children[1].material.dispose()};lc.prototype.update=
 function(){var a=new p,b=new p;return function(){var c=this.children[0],d=this.children[1];if(this.light.target){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);var e=b.clone().sub(a);c.lookAt(e);d.lookAt(e)}c.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);var d=.5*this.light.width,e=.5*this.light.height,c=c.geometry.getAttribute("position"),
-f=c.array;f[0]=d;f[1]=-e;f[2]=0;f[3]=d;f[4]=e;f[5]=0;f[6]=-d;f[7]=e;f[8]=0;f[9]=-d;f[10]=e;f[11]=0;f[12]=-d;f[13]=-e;f[14]=0;f[15]=d;f[16]=-e;f[17]=0;c.needsUpdate=!0}}();lc.prototype=Object.create(A.prototype);lc.prototype.constructor=lc;lc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose()};lc.prototype.update=function(){var a=new p,b=new K,c=new K;return function(){var d=this.children[0],e=d.geometry.getAttribute("color");b.copy(this.light.color).multiplyScalar(this.light.intensity);
+f=c.array;f[0]=d;f[1]=-e;f[2]=0;f[3]=d;f[4]=e;f[5]=0;f[6]=-d;f[7]=e;f[8]=0;f[9]=-d;f[10]=e;f[11]=0;f[12]=-d;f[13]=-e;f[14]=0;f[15]=d;f[16]=-e;f[17]=0;c.needsUpdate=!0}}();mc.prototype=Object.create(A.prototype);mc.prototype.constructor=mc;mc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose()};mc.prototype.update=function(){var a=new p,b=new K,c=new K;return function(){var d=this.children[0],e=d.geometry.getAttribute("color");b.copy(this.light.color).multiplyScalar(this.light.intensity);
 c.copy(this.light.groundColor).multiplyScalar(this.light.intensity);for(var f=0,g=e.count;f<g;f++){var h=f<g/2?b:c;e.setXYZ(f,h.r,h.g,h.b)}d.lookAt(a.setFromMatrixPosition(this.light.matrixWorld).negate());e.needsUpdate=!0}}();Yc.prototype=Object.create(ca.prototype);Yc.prototype.constructor=Yc;Fd.prototype=Object.create(ca.prototype);Fd.prototype.constructor=Fd;Zc.prototype=Object.create(ca.prototype);Zc.prototype.constructor=Zc;Zc.prototype.update=function(){var a=new p,b=new p,c=new Fa;return function(){this.object.updateMatrixWorld(!0);
-c.getNormalMatrix(this.object.matrixWorld);for(var d=this.object.matrixWorld,e=this.geometry.attributes.position,f=this.object.geometry,g=f.vertices,f=f.faces,h=0,k=0,m=f.length;k<m;k++){var p=f[k],q=p.normal;a.copy(g[p.a]).add(g[p.b]).add(g[p.c]).divideScalar(3).applyMatrix4(d);b.copy(q).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);e.setXYZ(h,a.x,a.y,a.z);h+=1;e.setXYZ(h,b.x,b.y,b.z);h+=1}e.needsUpdate=!0}}();mc.prototype=Object.create(A.prototype);mc.prototype.constructor=mc;mc.prototype.dispose=
-function(){var a=this.children[0],b=this.children[1];a.geometry.dispose();a.material.dispose();b.geometry.dispose();b.material.dispose()};mc.prototype.update=function(){var a=new p,b=new p,c=new p;return function(){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);c.subVectors(b,a);var d=this.children[0],e=this.children[1];d.lookAt(c);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);e.lookAt(c);e.scale.z=c.length()}}();
+c.getNormalMatrix(this.object.matrixWorld);for(var d=this.object.matrixWorld,e=this.geometry.attributes.position,f=this.object.geometry,g=f.vertices,f=f.faces,h=0,k=0,m=f.length;k<m;k++){var p=f[k],q=p.normal;a.copy(g[p.a]).add(g[p.b]).add(g[p.c]).divideScalar(3).applyMatrix4(d);b.copy(q).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);e.setXYZ(h,a.x,a.y,a.z);h+=1;e.setXYZ(h,b.x,b.y,b.z);h+=1}e.needsUpdate=!0}}();nc.prototype=Object.create(A.prototype);nc.prototype.constructor=nc;nc.prototype.dispose=
+function(){var a=this.children[0],b=this.children[1];a.geometry.dispose();a.material.dispose();b.geometry.dispose();b.material.dispose()};nc.prototype.update=function(){var a=new p,b=new p,c=new p;return function(){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);c.subVectors(b,a);var d=this.children[0],e=this.children[1];d.lookAt(c);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);e.lookAt(c);e.scale.z=c.length()}}();
 $c.prototype=Object.create(ca.prototype);$c.prototype.constructor=$c;$c.prototype.update=function(){function a(a,g,h,k){d.set(g,h,k).unproject(e);a=c[a];if(void 0!==a)for(g=b.getAttribute("position"),h=0,k=a.length;h<k;h++)g.setXYZ(a[h],d.x,d.y,d.z)}var b,c,d=new p,e=new Ma;return function(){b=this.geometry;c=this.pointMap;e.projectionMatrix.copy(this.camera.projectionMatrix);a("c",0,0,-1);a("t",0,0,1);a("n1",-1,-1,-1);a("n2",1,-1,-1);a("n3",-1,1,-1);a("n4",1,1,-1);a("f1",-1,-1,1);a("f2",1,-1,1);
-a("f3",-1,1,1);a("f4",1,1,1);a("u1",.7,1.1,-1);a("u2",-.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",0,-1,1);a("cf4",0,1,1);a("cn1",-1,0,-1);a("cn2",1,0,-1);a("cn3",0,-1,-1);a("cn4",0,1,-1);b.getAttribute("position").needsUpdate=!0}}();nc.prototype=Object.create(ca.prototype);nc.prototype.constructor=nc;nc.prototype.update=function(){var a=new Ra;return function(b){b&&b.isBox3?a.copy(b):a.setFromObject(b);if(!a.isEmpty()){b=a.min;var c=a.max,d=this.geometry.attributes.position,
-e=d.array;e[0]=c.x;e[1]=c.y;e[2]=c.z;e[3]=b.x;e[4]=c.y;e[5]=c.z;e[6]=b.x;e[7]=b.y;e[8]=c.z;e[9]=c.x;e[10]=b.y;e[11]=c.z;e[12]=c.x;e[13]=c.y;e[14]=b.z;e[15]=b.x;e[16]=c.y;e[17]=b.z;e[18]=b.x;e[19]=b.y;e[20]=b.z;e[21]=c.x;e[22]=b.y;e[23]=b.z;d.needsUpdate=!0;this.geometry.computeBoundingSphere()}}}();var Gd,oe;zb.prototype=Object.create(A.prototype);zb.prototype.constructor=zb;zb.prototype.setDirection=function(){var a=new p,b;return function(c){.99999<c.y?this.quaternion.set(0,0,0,1):-.99999>c.y?this.quaternion.set(1,
-0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();zb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};zb.prototype.setColor=function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};Hd.prototype=Object.create(ca.prototype);Hd.prototype.constructor=Hd;var Kd=new p,
-se=new pe,te=new pe,ue=new pe;Ia.prototype=Object.create(ja.prototype);Ia.prototype.constructor=Ia;Ia.prototype.getPoint=function(a){var b=this.points,c=b.length;2>c&&console.log("duh, you need at least 2 points");a*=c-(this.closed?0:1);var d=Math.floor(a);a-=d;this.closed?d+=0<d?0:(Math.floor(Math.abs(d)/b.length)+1)*b.length:0===a&&d===c-1&&(d=c-2,a=1);var e,f,g;this.closed||0<d?e=b[(d-1)%c]:(Kd.subVectors(b[0],b[1]).add(b[0]),e=Kd);f=b[d%c];g=b[(d+1)%c];this.closed||d+2<c?b=b[(d+2)%c]:(Kd.subVectors(b[c-
-1],b[c-2]).add(b[c-1]),b=Kd);if(void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var h="chordal"===this.type?.5:.25,c=Math.pow(e.distanceToSquared(f),h),d=Math.pow(f.distanceToSquared(g),h),h=Math.pow(g.distanceToSquared(b),h);1E-4>d&&(d=1);1E-4>c&&(c=d);1E-4>h&&(h=d);se.initNonuniformCatmullRom(e.x,f.x,g.x,b.x,c,d,h);te.initNonuniformCatmullRom(e.y,f.y,g.y,b.y,c,d,h);ue.initNonuniformCatmullRom(e.z,f.z,g.z,b.z,c,d,h)}else"catmullrom"===this.type&&(c=void 0!==this.tension?this.tension:
-.5,se.initCatmullRom(e.x,f.x,g.x,b.x,c),te.initCatmullRom(e.y,f.y,g.y,b.y,c),ue.initCatmullRom(e.z,f.z,g.z,b.z,c));return new p(se.calc(a),te.calc(a),ue.calc(a))};ad.prototype=Object.create(ja.prototype);ad.prototype.constructor=ad;ad.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new p(wb(a,b.x,c.x,d.x,e.x),wb(a,b.y,c.y,d.y,e.y),wb(a,b.z,c.z,d.z,e.z))};bd.prototype=Object.create(ja.prototype);bd.prototype.constructor=bd;bd.prototype.getPoint=function(a){var b=this.v0,
-c=this.v1,d=this.v2;return new p(vb(a,b.x,c.x,d.x),vb(a,b.y,c.y,d.y),vb(a,b.z,c.z,d.z))};cd.prototype=Object.create(ja.prototype);cd.prototype.constructor=cd;cd.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=new p;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b};Id.prototype=Object.create(Va.prototype);Id.prototype.constructor=Id;ja.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(ja.prototype);a.prototype.constructor=
-a;a.prototype.getPoint=b;return a};$e.prototype=Object.create(Ia.prototype);af.prototype=Object.create(Ia.prototype);qe.prototype=Object.create(Ia.prototype);Object.assign(qe.prototype,{initFromArray:function(a){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(a){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(a){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}});
-Yc.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Object.assign(ed.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().");
-return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(Ra.prototype,{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().");
-return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)},size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});Db.prototype.center=function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");return this.getCenter(a)};Y.random16=function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead.");
-return Math.random()};Object.assign(Fa.prototype,{flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},multiplyVector3:function(a){console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");
-return this.applyToVector3Array(a)},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}});Object.assign(L.prototype,{extractPosition:function(a){console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().");return this.copyPosition(a)},
-flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},getPosition:function(){var a;return function(){void 0===a&&(a=new p);console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.");return a.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(a){console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().");
-return this.makeRotationFromQuaternion(a)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(a){console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector4:function(a){console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix4: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");
-return this.applyToVector3Array(a)},rotateAxis:function(a){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.");a.transformDirection(this)},crossVector:function(a){console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},
-rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},
-makeFrustum:function(a,b,c,d,e,f){console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.");return this.makePerspective(a,b,d,c,e,f)}});va.prototype.isIntersectionLine=function(a){console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().");return this.intersectsLine(a)};oa.prototype.multiplyVector3=function(a){console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");
-return a.applyQuaternion(this)};Object.assign(fb.prototype,{isIntersectionBox:function(a){console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionPlane:function(a){console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().");return this.intersectsPlane(a)},isIntersectionSphere:function(a){console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)}});
-Object.assign(yb.prototype,{extrude:function(a){console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.");return new bb(this,a)},makeGeometry:function(a){console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.");return new Vb(this,a)}});Object.assign(D.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(p.prototype,
-{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(a){console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().");return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().");
-return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().");return this.setFromMatrixColumn(b,a)},applyProjection:function(a){console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.");return this.applyMatrix4(a)},fromAttribute:function(a,b,c){console.error("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,
-b,c)}});Object.assign(ha.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});S.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")};Object.assign(A.prototype,{getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");return this.getObjectByName(a)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},
-translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");return this.translateOnAxis(b,a)}});Object.defineProperties(A.prototype,{eulerOrder:{get:function(){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");return this.rotation.order},set:function(a){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");this.rotation.order=a}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},
-set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}});Object.defineProperties(xc.prototype,{objects:{get:function(){console.warn("THREE.LOD: .objects has been renamed to .levels.");return this.levels}}});Object.defineProperty(yc.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}});
-Object.defineProperty(ja.prototype,"__arcLengthDivisions",{get:function(){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.");return this.arcLengthDivisions},set:function(a){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.");this.arcLengthDivisions=a}});xa.prototype.setLens=function(a,b){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.");void 0!==b&&(this.filmGauge=b);this.setFocalLength(a)};
-Object.defineProperties(na.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(a){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov.");this.shadow.camera.fov=a}},shadowCameraLeft:{set:function(a){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left.");this.shadow.camera.left=a}},shadowCameraRight:{set:function(a){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right.");
+a("f3",-1,1,1);a("f4",1,1,1);a("u1",.7,1.1,-1);a("u2",-.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",0,-1,1);a("cf4",0,1,1);a("cn1",-1,0,-1);a("cn2",1,0,-1);a("cn3",0,-1,-1);a("cn4",0,1,-1);b.getAttribute("position").needsUpdate=!0}}();zb.prototype=Object.create(ca.prototype);zb.prototype.constructor=zb;zb.prototype.update=function(){var a=new Ra;return function(b){void 0!==b&&console.warn("THREE.BoxHelper: .update() has no longer arguments.");void 0!==this.object&&a.setFromObject(this.object);
+if(!a.isEmpty()){b=a.min;var c=a.max,d=this.geometry.attributes.position,e=d.array;e[0]=c.x;e[1]=c.y;e[2]=c.z;e[3]=b.x;e[4]=c.y;e[5]=c.z;e[6]=b.x;e[7]=b.y;e[8]=c.z;e[9]=c.x;e[10]=b.y;e[11]=c.z;e[12]=c.x;e[13]=c.y;e[14]=b.z;e[15]=b.x;e[16]=c.y;e[17]=b.z;e[18]=b.x;e[19]=b.y;e[20]=b.z;e[21]=c.x;e[22]=b.y;e[23]=b.z;d.needsUpdate=!0;this.geometry.computeBoundingSphere()}}}();zb.prototype.setFromObject=function(a){this.object=a;this.update();return this};var Gd,oe;Ab.prototype=Object.create(A.prototype);
+Ab.prototype.constructor=Ab;Ab.prototype.setDirection=function(){var a=new p,b;return function(c){.99999<c.y?this.quaternion.set(0,0,0,1):-.99999>c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();Ab.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};Ab.prototype.setColor=
+function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};Hd.prototype=Object.create(ca.prototype);Hd.prototype.constructor=Hd;var Kd=new p,se=new pe,te=new pe,ue=new pe;Ia.prototype=Object.create(ja.prototype);Ia.prototype.constructor=Ia;Ia.prototype.getPoint=function(a){var b=this.points,c=b.length;2>c&&console.log("duh, you need at least 2 points");a*=c-(this.closed?0:1);var d=Math.floor(a);a-=d;this.closed?d+=0<d?0:(Math.floor(Math.abs(d)/b.length)+1)*b.length:0===a&&d===
+c-1&&(d=c-2,a=1);var e,f,g;this.closed||0<d?e=b[(d-1)%c]:(Kd.subVectors(b[0],b[1]).add(b[0]),e=Kd);f=b[d%c];g=b[(d+1)%c];this.closed||d+2<c?b=b[(d+2)%c]:(Kd.subVectors(b[c-1],b[c-2]).add(b[c-1]),b=Kd);if(void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var h="chordal"===this.type?.5:.25,c=Math.pow(e.distanceToSquared(f),h),d=Math.pow(f.distanceToSquared(g),h),h=Math.pow(g.distanceToSquared(b),h);1E-4>d&&(d=1);1E-4>c&&(c=d);1E-4>h&&(h=d);se.initNonuniformCatmullRom(e.x,f.x,g.x,
+b.x,c,d,h);te.initNonuniformCatmullRom(e.y,f.y,g.y,b.y,c,d,h);ue.initNonuniformCatmullRom(e.z,f.z,g.z,b.z,c,d,h)}else"catmullrom"===this.type&&(c=void 0!==this.tension?this.tension:.5,se.initCatmullRom(e.x,f.x,g.x,b.x,c),te.initCatmullRom(e.y,f.y,g.y,b.y,c),ue.initCatmullRom(e.z,f.z,g.z,b.z,c));return new p(se.calc(a),te.calc(a),ue.calc(a))};ad.prototype=Object.create(ja.prototype);ad.prototype.constructor=ad;ad.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new p(wb(a,
+b.x,c.x,d.x,e.x),wb(a,b.y,c.y,d.y,e.y),wb(a,b.z,c.z,d.z,e.z))};bd.prototype=Object.create(ja.prototype);bd.prototype.constructor=bd;bd.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new p(vb(a,b.x,c.x,d.x),vb(a,b.y,c.y,d.y),vb(a,b.z,c.z,d.z))};cd.prototype=Object.create(ja.prototype);cd.prototype.constructor=cd;cd.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=new p;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b};Id.prototype=
+Object.create(Va.prototype);Id.prototype.constructor=Id;ja.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(ja.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};$e.prototype=Object.create(Ia.prototype);af.prototype=Object.create(Ia.prototype);qe.prototype=Object.create(Ia.prototype);Object.assign(qe.prototype,{initFromArray:function(a){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(a){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},
+reparametrizeByArcLength:function(a){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}});Yc.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Object.assign(ed.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},
+isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(Ra.prototype,{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},
+isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)},size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});Eb.prototype.center=function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");
+return this.getCenter(a)};Y.random16=function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead.");return Math.random()};Object.assign(Fa.prototype,{flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},multiplyVector3:function(a){console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)},
+multiplyVector3Array:function(a){console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");return this.applyToVector3Array(a)},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}});Object.assign(L.prototype,
+{extractPosition:function(a){console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().");return this.copyPosition(a)},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},getPosition:function(){var a;return function(){void 0===a&&(a=new p);console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.");return a.setFromMatrixColumn(this,
+3)}}(),setRotationFromQuaternion:function(a){console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().");return this.makeRotationFromQuaternion(a)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(a){console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector4:function(a){console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.");
+return a.applyMatrix4(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix4: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");return this.applyToVector3Array(a)},rotateAxis:function(a){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.");a.transformDirection(this)},crossVector:function(a){console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.");
+return a.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");
+return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(a,b,c,d,e,f){console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.");return this.makePerspective(a,b,d,c,e,f)}});va.prototype.isIntersectionLine=function(a){console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().");return this.intersectsLine(a)};
+oa.prototype.multiplyVector3=function(a){console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");return a.applyQuaternion(this)};Object.assign(fb.prototype,{isIntersectionBox:function(a){console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionPlane:function(a){console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().");return this.intersectsPlane(a)},
+isIntersectionSphere:function(a){console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)}});Object.assign(yb.prototype,{extrude:function(a){console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.");return new bb(this,a)},makeGeometry:function(a){console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.");return new Wb(this,a)}});Object.assign(D.prototype,{fromAttribute:function(a,
+b,c){console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(p.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(a){console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().");
+return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().");return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().");return this.setFromMatrixColumn(b,a)},applyProjection:function(a){console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.");return this.applyMatrix4(a)},
+fromAttribute:function(a,b,c){console.error("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(ha.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});S.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")};Object.assign(A.prototype,{getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");
+return this.getObjectByName(a)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");return this.translateOnAxis(b,a)}});Object.defineProperties(A.prototype,{eulerOrder:{get:function(){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");return this.rotation.order},set:function(a){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");
+this.rotation.order=a}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}});Object.defineProperties(xc.prototype,{objects:{get:function(){console.warn("THREE.LOD: .objects has been renamed to .levels.");return this.levels}}});Object.defineProperty(yc.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},
+set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}});Object.defineProperty(ja.prototype,"__arcLengthDivisions",{get:function(){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.");return this.arcLengthDivisions},set:function(a){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.");this.arcLengthDivisions=a}});xa.prototype.setLens=function(a,b){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.");
+void 0!==b&&(this.filmGauge=b);this.setFocalLength(a)};Object.defineProperties(na.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(a){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov.");this.shadow.camera.fov=a}},shadowCameraLeft:{set:function(a){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left.");this.shadow.camera.left=a}},shadowCameraRight:{set:function(a){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right.");
 this.shadow.camera.right=a}},shadowCameraTop:{set:function(a){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top.");this.shadow.camera.top=a}},shadowCameraBottom:{set:function(a){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.");this.shadow.camera.bottom=a}},shadowCameraNear:{set:function(a){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near.");this.shadow.camera.near=a}},shadowCameraFar:{set:function(a){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far.");
 this.shadow.camera.far=a}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(a){console.warn("THREE.Light: .shadowBias is now .shadow.bias.");this.shadow.bias=a}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(a){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.");
 this.shadow.mapSize.width=a}},shadowMapHeight:{set:function(a){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.");this.shadow.mapSize.height=a}}});Object.defineProperties(P.prototype,{length:{get:function(){console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead.");return this.array.length}}});Object.assign(I.prototype,{addIndex:function(a){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().");this.setIndex(a)},addDrawCall:function(a,
@@ -832,34 +832,34 @@ return this.extensions.get("OES_standard_derivatives")},supportsCompressedTextur
 supportsBlendMinMax:function(){console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).");return this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.");return this.capabilities.vertexTextures},supportsInstancedArrays:function(){console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).");
 return this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(a){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().");this.setScissorTest(a)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}});
 Object.defineProperties(Td.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.");this.shadowMap.enabled=a}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.");this.shadowMap.type=a}},shadowMapCullFace:{get:function(){return this.shadowMap.cullFace},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace.");
-this.shadowMap.cullFace=a}}});Object.defineProperties(Ge.prototype,{cullFace:{get:function(){return this.renderReverseSided?2:1},set:function(a){a=1!==a;console.warn("WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to "+a+".");this.renderReverseSided=a}}});Object.defineProperties(Ab.prototype,{wrapS:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");return this.texture.wrapS},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");
+this.shadowMap.cullFace=a}}});Object.defineProperties(Ge.prototype,{cullFace:{get:function(){return this.renderReverseSided?2:1},set:function(a){a=1!==a;console.warn("WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to "+a+".");this.renderReverseSided=a}}});Object.defineProperties(Bb.prototype,{wrapS:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");return this.texture.wrapS},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");
 this.texture.wrapS=a}},wrapT:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.");return this.texture.wrapT},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.");this.texture.wrapT=a}},magFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.");return this.texture.magFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.");this.texture.magFilter=
 a}},minFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");return this.texture.minFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");this.texture.minFilter=a}},anisotropy:{get:function(){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");return this.texture.anisotropy},set:function(a){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");this.texture.anisotropy=
 a}},offset:{get:function(){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");return this.texture.offset},set:function(a){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");this.texture.offset=a}},repeat:{get:function(){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");return this.texture.repeat},set:function(a){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");this.texture.repeat=a}},format:{get:function(){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");
 return this.texture.format},set:function(a){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");this.texture.format=a}},type:{get:function(){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");return this.texture.type},set:function(a){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");this.texture.type=a}},generateMipmaps:{get:function(){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");return this.texture.generateMipmaps},
-set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});fc.prototype.load=function(a){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var b=this;(new ce).load(a,function(a){b.setBuffer(a)});return this};he.prototype.getData=function(){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()};k.WebGLRenderTargetCube=Bb;k.WebGLRenderTarget=
-Ab;k.WebGLRenderer=Td;k.ShaderLib=Za;k.UniformsLib=U;k.UniformsUtils=Ga;k.ShaderChunk=T;k.FogExp2=Gb;k.Fog=Hb;k.Scene=hd;k.LensFlare=Vd;k.Sprite=wc;k.LOD=xc;k.SkinnedMesh=jd;k.Skeleton=yc;k.Bone=id;k.Mesh=wa;k.LineSegments=ca;k.LineLoop=kd;k.Line=Ja;k.Points=Ib;k.Group=zc;k.VideoTexture=ld;k.DataTexture=cb;k.CompressedTexture=Jb;k.CubeTexture=Xa;k.CanvasTexture=md;k.DepthTexture=Ac;k.Texture=ba;k.CompressedTextureLoader=Me;k.DataTextureLoader=Xd;k.CubeTextureLoader=Yd;k.TextureLoader=nd;k.ObjectLoader=
-Ne;k.MaterialLoader=Cd;k.BufferGeometryLoader=Zd;k.DefaultLoadingManager=za;k.LoadingManager=Wd;k.JSONLoader=$d;k.ImageLoader=Rc;k.FontLoader=Pe;k.FileLoader=ta;k.Loader=cc;k.Cache=dd;k.AudioLoader=ce;k.SpotLightShadow=pd;k.SpotLight=qd;k.PointLight=rd;k.RectAreaLight=vd;k.HemisphereLight=od;k.DirectionalLightShadow=sd;k.DirectionalLight=td;k.AmbientLight=ud;k.LightShadow=sb;k.Light=na;k.StereoCamera=Qe;k.PerspectiveCamera=xa;k.OrthographicCamera=Fb;k.CubeCamera=Dd;k.ArrayCamera=de;k.Camera=Ma;k.AudioListener=
-ee;k.PositionalAudio=ge;k.AudioContext=fe;k.AudioAnalyser=he;k.Audio=fc;k.VectorKeyframeTrack=ac;k.StringKeyframeTrack=zd;k.QuaternionKeyframeTrack=Tc;k.NumberKeyframeTrack=bc;k.ColorKeyframeTrack=Bd;k.BooleanKeyframeTrack=Ad;k.PropertyMixer=ie;k.PropertyBinding=la;k.KeyframeTrack=ub;k.AnimationUtils=ua;k.AnimationObjectGroup=Se;k.AnimationMixer=Ue;k.AnimationClip=Aa;k.Uniform=Ed;k.InstancedBufferGeometry=je;k.BufferGeometry=I;k.GeometryIdCount=function(){return Od++};k.Geometry=S;k.InterleavedBufferAttribute=
-ke;k.InstancedInterleavedBuffer=le;k.InterleavedBuffer=gc;k.InstancedBufferAttribute=me;k.Face3=Ta;k.Object3D=A;k.Raycaster=Ve;k.Layers=Md;k.EventDispatcher=ra;k.Clock=Xe;k.QuaternionLinearInterpolant=yd;k.LinearInterpolant=Sc;k.DiscreteInterpolant=xd;k.CubicInterpolant=wd;k.Interpolant=Ca;k.Triangle=Sa;k.Math=Y;k.Spherical=Ye;k.Cylindrical=Ze;k.Plane=va;k.Frustum=fd;k.Sphere=Ba;k.Ray=fb;k.Matrix4=L;k.Matrix3=Fa;k.Box3=Ra;k.Box2=ed;k.Line3=Db;k.Euler=$a;k.Vector4=ha;k.Vector3=p;k.Vector2=D;k.Quaternion=
-oa;k.Color=K;k.MorphBlendMesh=qa;k.ImmediateRenderObject=Wc;k.VertexNormalsHelper=Xc;k.SpotLightHelper=hc;k.SkeletonHelper=ic;k.PointLightHelper=jc;k.RectAreaLightHelper=kc;k.HemisphereLightHelper=lc;k.GridHelper=Yc;k.PolarGridHelper=Fd;k.FaceNormalsHelper=Zc;k.DirectionalLightHelper=mc;k.CameraHelper=$c;k.BoxHelper=nc;k.ArrowHelper=zb;k.AxisHelper=Hd;k.CatmullRomCurve3=Ia;k.CubicBezierCurve3=ad;k.QuadraticBezierCurve3=bd;k.LineCurve3=cd;k.ArcCurve=Id;k.EllipseCurve=Va;k.SplineCurve=xb;k.CubicBezierCurve=
-dc;k.QuadraticBezierCurve=ec;k.LineCurve=Qa;k.Shape=yb;k.Path=Vc;k.ShapePath=ae;k.Font=be;k.CurvePath=Uc;k.Curve=ja;k.ShapeUtils=ya;k.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=new zc,d=0,e=b.length;d<e;d++)c.add(new wa(a,b[d]));return c},detach:function(a,b,c){a.applyMatrix(b.matrixWorld);b.remove(a);c.add(a)},attach:function(a,b,c){var d=new L;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};k.WireframeGeometry=Kb;k.ParametricGeometry=Bc;k.ParametricBufferGeometry=
-Lb;k.TetrahedronGeometry=Dc;k.TetrahedronBufferGeometry=Mb;k.OctahedronGeometry=Ec;k.OctahedronBufferGeometry=kb;k.IcosahedronGeometry=Fc;k.IcosahedronBufferGeometry=Nb;k.DodecahedronGeometry=Gc;k.DodecahedronBufferGeometry=Ob;k.PolyhedronGeometry=Cc;k.PolyhedronBufferGeometry=fa;k.TubeGeometry=Hc;k.TubeBufferGeometry=Pb;k.TorusKnotGeometry=Ic;k.TorusKnotBufferGeometry=Qb;k.TorusGeometry=Jc;k.TorusBufferGeometry=Rb;k.TextGeometry=Kc;k.TextBufferGeometry=Sb;k.SphereGeometry=Lc;k.SphereBufferGeometry=
-lb;k.RingGeometry=Mc;k.RingBufferGeometry=Tb;k.PlaneGeometry=uc;k.PlaneBufferGeometry=jb;k.LatheGeometry=Nc;k.LatheBufferGeometry=Ub;k.ShapeGeometry=Vb;k.ShapeBufferGeometry=Wb;k.ExtrudeGeometry=bb;k.ExtrudeBufferGeometry=Ea;k.EdgesGeometry=Xb;k.ConeGeometry=Oc;k.ConeBufferGeometry=Pc;k.CylinderGeometry=mb;k.CylinderBufferGeometry=Ua;k.CircleGeometry=Qc;k.CircleBufferGeometry=Yb;k.BoxGeometry=Eb;k.BoxBufferGeometry=ib;k.ShadowMaterial=Zb;k.SpriteMaterial=ab;k.RawShaderMaterial=$b;k.ShaderMaterial=
+set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});gc.prototype.load=function(a){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var b=this;(new ce).load(a,function(a){b.setBuffer(a)});return this};he.prototype.getData=function(){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()};k.WebGLRenderTargetCube=Cb;k.WebGLRenderTarget=
+Bb;k.WebGLRenderer=Td;k.ShaderLib=Za;k.UniformsLib=U;k.UniformsUtils=Ga;k.ShaderChunk=T;k.FogExp2=Hb;k.Fog=Ib;k.Scene=hd;k.LensFlare=Vd;k.Sprite=wc;k.LOD=xc;k.SkinnedMesh=jd;k.Skeleton=yc;k.Bone=id;k.Mesh=wa;k.LineSegments=ca;k.LineLoop=kd;k.Line=Ja;k.Points=Jb;k.Group=zc;k.VideoTexture=ld;k.DataTexture=cb;k.CompressedTexture=Kb;k.CubeTexture=Xa;k.CanvasTexture=md;k.DepthTexture=Ac;k.Texture=ba;k.CompressedTextureLoader=Me;k.DataTextureLoader=Xd;k.CubeTextureLoader=Yd;k.TextureLoader=nd;k.ObjectLoader=
+Ne;k.MaterialLoader=Cd;k.BufferGeometryLoader=Zd;k.DefaultLoadingManager=za;k.LoadingManager=Wd;k.JSONLoader=$d;k.ImageLoader=Rc;k.FontLoader=Pe;k.FileLoader=ta;k.Loader=dc;k.Cache=dd;k.AudioLoader=ce;k.SpotLightShadow=pd;k.SpotLight=qd;k.PointLight=rd;k.RectAreaLight=vd;k.HemisphereLight=od;k.DirectionalLightShadow=sd;k.DirectionalLight=td;k.AmbientLight=ud;k.LightShadow=sb;k.Light=na;k.StereoCamera=Qe;k.PerspectiveCamera=xa;k.OrthographicCamera=Gb;k.CubeCamera=Dd;k.ArrayCamera=de;k.Camera=Ma;k.AudioListener=
+ee;k.PositionalAudio=ge;k.AudioContext=fe;k.AudioAnalyser=he;k.Audio=gc;k.VectorKeyframeTrack=bc;k.StringKeyframeTrack=zd;k.QuaternionKeyframeTrack=Tc;k.NumberKeyframeTrack=cc;k.ColorKeyframeTrack=Bd;k.BooleanKeyframeTrack=Ad;k.PropertyMixer=ie;k.PropertyBinding=la;k.KeyframeTrack=ub;k.AnimationUtils=ua;k.AnimationObjectGroup=Se;k.AnimationMixer=Ue;k.AnimationClip=Aa;k.Uniform=Ed;k.InstancedBufferGeometry=je;k.BufferGeometry=I;k.GeometryIdCount=function(){return Od++};k.Geometry=S;k.InterleavedBufferAttribute=
+ke;k.InstancedInterleavedBuffer=le;k.InterleavedBuffer=hc;k.InstancedBufferAttribute=me;k.Face3=Ta;k.Object3D=A;k.Raycaster=Ve;k.Layers=Md;k.EventDispatcher=ra;k.Clock=Xe;k.QuaternionLinearInterpolant=yd;k.LinearInterpolant=Sc;k.DiscreteInterpolant=xd;k.CubicInterpolant=wd;k.Interpolant=Ca;k.Triangle=Sa;k.Math=Y;k.Spherical=Ye;k.Cylindrical=Ze;k.Plane=va;k.Frustum=fd;k.Sphere=Ba;k.Ray=fb;k.Matrix4=L;k.Matrix3=Fa;k.Box3=Ra;k.Box2=ed;k.Line3=Eb;k.Euler=$a;k.Vector4=ha;k.Vector3=p;k.Vector2=D;k.Quaternion=
+oa;k.Color=K;k.MorphBlendMesh=qa;k.ImmediateRenderObject=Wc;k.VertexNormalsHelper=Xc;k.SpotLightHelper=ic;k.SkeletonHelper=jc;k.PointLightHelper=kc;k.RectAreaLightHelper=lc;k.HemisphereLightHelper=mc;k.GridHelper=Yc;k.PolarGridHelper=Fd;k.FaceNormalsHelper=Zc;k.DirectionalLightHelper=nc;k.CameraHelper=$c;k.BoxHelper=zb;k.ArrowHelper=Ab;k.AxisHelper=Hd;k.CatmullRomCurve3=Ia;k.CubicBezierCurve3=ad;k.QuadraticBezierCurve3=bd;k.LineCurve3=cd;k.ArcCurve=Id;k.EllipseCurve=Va;k.SplineCurve=xb;k.CubicBezierCurve=
+ec;k.QuadraticBezierCurve=fc;k.LineCurve=Qa;k.Shape=yb;k.Path=Vc;k.ShapePath=ae;k.Font=be;k.CurvePath=Uc;k.Curve=ja;k.ShapeUtils=ya;k.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=new zc,d=0,e=b.length;d<e;d++)c.add(new wa(a,b[d]));return c},detach:function(a,b,c){a.applyMatrix(b.matrixWorld);b.remove(a);c.add(a)},attach:function(a,b,c){var d=new L;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};k.WireframeGeometry=Lb;k.ParametricGeometry=Bc;k.ParametricBufferGeometry=
+Mb;k.TetrahedronGeometry=Dc;k.TetrahedronBufferGeometry=Nb;k.OctahedronGeometry=Ec;k.OctahedronBufferGeometry=kb;k.IcosahedronGeometry=Fc;k.IcosahedronBufferGeometry=Ob;k.DodecahedronGeometry=Gc;k.DodecahedronBufferGeometry=Pb;k.PolyhedronGeometry=Cc;k.PolyhedronBufferGeometry=fa;k.TubeGeometry=Hc;k.TubeBufferGeometry=Qb;k.TorusKnotGeometry=Ic;k.TorusKnotBufferGeometry=Rb;k.TorusGeometry=Jc;k.TorusBufferGeometry=Sb;k.TextGeometry=Kc;k.TextBufferGeometry=Tb;k.SphereGeometry=Lc;k.SphereBufferGeometry=
+lb;k.RingGeometry=Mc;k.RingBufferGeometry=Ub;k.PlaneGeometry=uc;k.PlaneBufferGeometry=jb;k.LatheGeometry=Nc;k.LatheBufferGeometry=Vb;k.ShapeGeometry=Wb;k.ShapeBufferGeometry=Xb;k.ExtrudeGeometry=bb;k.ExtrudeBufferGeometry=Ea;k.EdgesGeometry=Yb;k.ConeGeometry=Oc;k.ConeBufferGeometry=Pc;k.CylinderGeometry=mb;k.CylinderBufferGeometry=Ua;k.CircleGeometry=Qc;k.CircleBufferGeometry=Zb;k.BoxGeometry=Fb;k.BoxBufferGeometry=ib;k.ShadowMaterial=$b;k.SpriteMaterial=ab;k.RawShaderMaterial=ac;k.ShaderMaterial=
 Da;k.PointsMaterial=Ka;k.MeshPhysicalMaterial=nb;k.MeshStandardMaterial=Pa;k.MeshPhongMaterial=sa;k.MeshToonMaterial=ob;k.MeshNormalMaterial=pb;k.MeshLambertMaterial=qb;k.MeshDepthMaterial=Ya;k.MeshBasicMaterial=Ha;k.LineDashedMaterial=rb;k.LineBasicMaterial=ia;k.Material=X;k.Float64BufferAttribute=tc;k.Float32BufferAttribute=E;k.Uint32BufferAttribute=hb;k.Int32BufferAttribute=sc;k.Uint16BufferAttribute=gb;k.Int16BufferAttribute=rc;k.Uint8ClampedBufferAttribute=qc;k.Uint8BufferAttribute=pc;k.Int8BufferAttribute=
 oc;k.BufferAttribute=P;k.REVISION="85dev";k.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2};k.CullFaceNone=0;k.CullFaceBack=1;k.CullFaceFront=2;k.CullFaceFrontBack=3;k.FrontFaceDirectionCW=0;k.FrontFaceDirectionCCW=1;k.BasicShadowMap=0;k.PCFShadowMap=1;k.PCFSoftShadowMap=2;k.FrontSide=0;k.BackSide=1;k.DoubleSide=2;k.FlatShading=1;k.SmoothShading=2;k.NoColors=0;k.FaceColors=1;k.VertexColors=2;k.NoBlending=0;k.NormalBlending=1;k.AdditiveBlending=2;k.SubtractiveBlending=3;k.MultiplyBlending=4;k.CustomBlending=5;k.AddEquation=
 100;k.SubtractEquation=101;k.ReverseSubtractEquation=102;k.MinEquation=103;k.MaxEquation=104;k.ZeroFactor=200;k.OneFactor=201;k.SrcColorFactor=202;k.OneMinusSrcColorFactor=203;k.SrcAlphaFactor=204;k.OneMinusSrcAlphaFactor=205;k.DstAlphaFactor=206;k.OneMinusDstAlphaFactor=207;k.DstColorFactor=208;k.OneMinusDstColorFactor=209;k.SrcAlphaSaturateFactor=210;k.NeverDepth=0;k.AlwaysDepth=1;k.LessDepth=2;k.LessEqualDepth=3;k.EqualDepth=4;k.GreaterEqualDepth=5;k.GreaterDepth=6;k.NotEqualDepth=7;k.MultiplyOperation=
 0;k.MixOperation=1;k.AddOperation=2;k.NoToneMapping=0;k.LinearToneMapping=1;k.ReinhardToneMapping=2;k.Uncharted2ToneMapping=3;k.CineonToneMapping=4;k.UVMapping=300;k.CubeReflectionMapping=301;k.CubeRefractionMapping=302;k.EquirectangularReflectionMapping=303;k.EquirectangularRefractionMapping=304;k.SphericalReflectionMapping=305;k.CubeUVReflectionMapping=306;k.CubeUVRefractionMapping=307;k.RepeatWrapping=1E3;k.ClampToEdgeWrapping=1001;k.MirroredRepeatWrapping=1002;k.NearestFilter=1003;k.NearestMipMapNearestFilter=
 1004;k.NearestMipMapLinearFilter=1005;k.LinearFilter=1006;k.LinearMipMapNearestFilter=1007;k.LinearMipMapLinearFilter=1008;k.UnsignedByteType=1009;k.ByteType=1010;k.ShortType=1011;k.UnsignedShortType=1012;k.IntType=1013;k.UnsignedIntType=1014;k.FloatType=1015;k.HalfFloatType=1016;k.UnsignedShort4444Type=1017;k.UnsignedShort5551Type=1018;k.UnsignedShort565Type=1019;k.UnsignedInt248Type=1020;k.AlphaFormat=1021;k.RGBFormat=1022;k.RGBAFormat=1023;k.LuminanceFormat=1024;k.LuminanceAlphaFormat=1025;k.RGBEFormat=
 1023;k.DepthFormat=1026;k.DepthStencilFormat=1027;k.RGB_S3TC_DXT1_Format=2001;k.RGBA_S3TC_DXT1_Format=2002;k.RGBA_S3TC_DXT3_Format=2003;k.RGBA_S3TC_DXT5_Format=2004;k.RGB_PVRTC_4BPPV1_Format=2100;k.RGB_PVRTC_2BPPV1_Format=2101;k.RGBA_PVRTC_4BPPV1_Format=2102;k.RGBA_PVRTC_2BPPV1_Format=2103;k.RGB_ETC1_Format=2151;k.LoopOnce=2200;k.LoopRepeat=2201;k.LoopPingPong=2202;k.InterpolateDiscrete=2300;k.InterpolateLinear=2301;k.InterpolateSmooth=2302;k.ZeroCurvatureEnding=2400;k.ZeroSlopeEnding=2401;k.WrapAroundEnding=
-2402;k.TrianglesDrawMode=0;k.TriangleStripDrawMode=1;k.TriangleFanDrawMode=2;k.LinearEncoding=3E3;k.sRGBEncoding=3001;k.GammaEncoding=3007;k.RGBEEncoding=3002;k.LogLuvEncoding=3003;k.RGBM7Encoding=3004;k.RGBM16Encoding=3005;k.RGBDEncoding=3006;k.BasicDepthPacking=3200;k.RGBADepthPacking=3201;k.CubeGeometry=Eb;k.Face4=function(a,b,c,d,e,f,g){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");return new Ta(a,b,c,e,f,g)};k.LineStrip=0;k.LinePieces=1;k.MeshFaceMaterial=
-function(a){console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead.");return a};k.MultiMaterial=function(a){void 0===a&&(a=[]);console.warn("THREE.MultiMaterial has been removed. Use an Array instead.");a.isMultiMaterial=!0;a.materials=a;a.clone=function(){return a.slice()};return a};k.PointCloud=function(a,b){console.warn("THREE.PointCloud has been renamed to THREE.Points.");return new Ib(a,b)};k.Particle=function(a){console.warn("THREE.Particle has been renamed to THREE.Sprite.");
-return new wc(a)};k.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.Points.");return new Ib(a,b)};k.PointCloudMaterial=function(a){console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.");return new Ka(a)};k.ParticleBasicMaterial=function(a){console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.");return new Ka(a)};k.ParticleSystemMaterial=function(a){console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.");
+2402;k.TrianglesDrawMode=0;k.TriangleStripDrawMode=1;k.TriangleFanDrawMode=2;k.LinearEncoding=3E3;k.sRGBEncoding=3001;k.GammaEncoding=3007;k.RGBEEncoding=3002;k.LogLuvEncoding=3003;k.RGBM7Encoding=3004;k.RGBM16Encoding=3005;k.RGBDEncoding=3006;k.BasicDepthPacking=3200;k.RGBADepthPacking=3201;k.CubeGeometry=Fb;k.Face4=function(a,b,c,d,e,f,g){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");return new Ta(a,b,c,e,f,g)};k.LineStrip=0;k.LinePieces=1;k.MeshFaceMaterial=
+function(a){console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead.");return a};k.MultiMaterial=function(a){void 0===a&&(a=[]);console.warn("THREE.MultiMaterial has been removed. Use an Array instead.");a.isMultiMaterial=!0;a.materials=a;a.clone=function(){return a.slice()};return a};k.PointCloud=function(a,b){console.warn("THREE.PointCloud has been renamed to THREE.Points.");return new Jb(a,b)};k.Particle=function(a){console.warn("THREE.Particle has been renamed to THREE.Sprite.");
+return new wc(a)};k.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.Points.");return new Jb(a,b)};k.PointCloudMaterial=function(a){console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.");return new Ka(a)};k.ParticleBasicMaterial=function(a){console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.");return new Ka(a)};k.ParticleSystemMaterial=function(a){console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.");
 return new Ka(a)};k.Vertex=function(a,b,c){console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead.");return new p(a,b,c)};k.DynamicBufferAttribute=function(a,b){console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.");return(new P(a,b)).setDynamic(!0)};k.Int8Attribute=function(a,b){console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.");return new oc(a,b)};k.Uint8Attribute=
 function(a,b){console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.");return new pc(a,b)};k.Uint8ClampedAttribute=function(a,b){console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.");return new qc(a,b)};k.Int16Attribute=function(a,b){console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.");return new rc(a,b)};k.Uint16Attribute=function(a,b){console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.");
 return new gb(a,b)};k.Int32Attribute=function(a,b){console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.");return new sc(a,b)};k.Uint32Attribute=function(a,b){console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.");return new hb(a,b)};k.Float32Attribute=function(a,b){console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.");return new E(a,b)};k.Float64Attribute=
-function(a,b){console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.");return new tc(a,b)};k.ClosedSplineCurve3=$e;k.SplineCurve3=af;k.Spline=qe;k.BoundingBoxHelper=function(a,b){console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.");return new nc(a,b)};k.EdgesHelper=function(a,b){console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.");return new ca(new Xb(a.geometry),new ia({color:void 0!==
-b?b:16777215}))};k.WireframeHelper=function(a,b){console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.");return new ca(new Kb(a.geometry),new ia({color:void 0!==b?b:16777215}))};k.XHRLoader=function(a){console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader.");return new ta(a)};k.BinaryTextureLoader=function(a){console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.");return new Xd(a)};k.GeometryUtils={merge:function(a,b,
+function(a,b){console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.");return new tc(a,b)};k.ClosedSplineCurve3=$e;k.SplineCurve3=af;k.Spline=qe;k.BoundingBoxHelper=function(a,b){console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.");return new zb(a,b)};k.EdgesHelper=function(a,b){console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.");return new ca(new Yb(a.geometry),new ia({color:void 0!==
+b?b:16777215}))};k.WireframeHelper=function(a,b){console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.");return new ca(new Lb(a.geometry),new ia({color:void 0!==b?b:16777215}))};k.XHRLoader=function(a){console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader.");return new ta(a)};k.BinaryTextureLoader=function(a){console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.");return new Xd(a)};k.GeometryUtils={merge:function(a,b,
 c){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");var d;b.isMesh&&(b.matrixAutoUpdate&&b.updateMatrix(),d=b.matrix,b=b.geometry);a.merge(b,d,c)},center:function(a){console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.");return a.center()}};k.ImageUtils={crossOrigin:void 0,loadTexture:function(a,b,c,d){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");
 var e=new nd;e.setCrossOrigin(this.crossOrigin);a=e.load(a,c,void 0,d);b&&(a.mapping=b);return a},loadTextureCube:function(a,b,c,d){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var e=new Yd;e.setCrossOrigin(this.crossOrigin);a=e.load(a,c,void 0,d);b&&(a.mapping=b);return a},loadCompressedTexture:function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},loadCompressedTextureCube:function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")}};
 k.Projector=function(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js.");this.projectVector=function(a,b){console.warn("THREE.Projector: .projectVector() is now vector.project().");a.project(b)};this.unprojectVector=function(a,b){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject().");a.unproject(b)};this.pickingRay=function(){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}};k.CanvasRenderer=function(){console.error("THREE.CanvasRenderer has been moved to /examples/js/renderers/CanvasRenderer.js");

+ 20 - 8
build/three.module.js

@@ -41299,10 +41299,13 @@ CameraHelper.prototype.update = function () {
 
 /**
  * @author mrdoob / http://mrdoob.com/
+ * @author Mugen87 / http://github.com/Mugen87
  */
 
 function BoxHelper( object, color ) {
 
+	this.object = object;
+
 	if ( color === undefined ) color = 0xffff00;
 
 	var indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] );
@@ -41314,11 +41317,9 @@ function BoxHelper( object, color ) {
 
 	LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) );
 
-	if ( object !== undefined ) {
-
-		this.update( object );
+	this.matrixAutoUpdate = false;
 
-	}
+	this.update();
 
 }
 
@@ -41331,13 +41332,15 @@ BoxHelper.prototype.update = ( function () {
 
 	return function update( object ) {
 
-		if ( object && object.isBox3 ) {
+		if ( object !== undefined ) {
 
-			box.copy( object );
+			console.warn( 'THREE.BoxHelper: .update() has no longer arguments.' );
 
-		} else {
+		}
 
-			box.setFromObject( object );
+		if ( this.object !== undefined ) {
+
+			box.setFromObject( this.object );
 
 		}
 
@@ -41382,6 +41385,15 @@ BoxHelper.prototype.update = ( function () {
 
 } )();
 
+BoxHelper.prototype.setFromObject = function ( object ) {
+
+	this.object = object;
+	this.update();
+
+	return this;
+
+};
+
 /**
  * @author WestLangley / http://github.com/WestLangley
  * @author zz85 / http://github.com/zz85