chbim-plugins 0.0.71 → 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/chbim-plugins.js CHANGED
@@ -20335,7 +20335,10 @@ class c1 {
20335
20335
  add(l, o, p) {
20336
20336
  console.log("customAttributes", p);
20337
20337
  let d = p == null ? void 0 : p.isClone;
20338
- const u = /* @__PURE__ */ new Map([["click", mars3d.EventType.click]]);
20338
+ const u = /* @__PURE__ */ new Map([
20339
+ ["click", mars3d.EventType.click],
20340
+ ["initialTilesLoaded", mars3d.EventType.initialTilesLoaded]
20341
+ ]);
20339
20342
  return new Promise((m, _) => {
20340
20343
  let T, S, C, z, B, I, F, E, L;
20341
20344
  if (typeof l != "object") {
@@ -20389,6 +20392,8 @@ class c1 {
20389
20392
  style: N,
20390
20393
  clip: x,
20391
20394
  flat: M,
20395
+ maximumScreenSpaceError: 16,
20396
+ maximumMemoryUsage: 1024,
20392
20397
  cacheBytes: 1073741824 * 2,
20393
20398
  // 1024MB = 1024*1024*1024
20394
20399
  maximumCacheOverflowBytes: 2147483648 * 2
@@ -20454,18 +20459,26 @@ class c1 {
20454
20459
  selected(l, o, p, d = !0) {
20455
20460
  return new Promise((u, m) => {
20456
20461
  let _ = window.map.getLayer(l, "modelId");
20457
- _ ? (d && _.flyTo(), _.style == null && map.bimMapEdit == "0" && _.openHighlight(
20462
+ _ ? (_.style == null && map.bimMapEdit == "0" && _.openHighlight(
20458
20463
  {
20459
20464
  color: "rgba(255,0,0,1)"
20460
20465
  },
20461
20466
  !0
20462
- ), u(_)) : this.add(l, o, p).then((T) => {
20463
- T && (d && T.flyTo(), T.style == null && map.bimMapEdit == "0" && T.openHighlight(
20467
+ ), d ? _.flyTo({
20468
+ complete: () => {
20469
+ u(_);
20470
+ }
20471
+ }) : u(_)) : this.add(l, o, p).then((T) => {
20472
+ T && (T.style == null && map.bimMapEdit == "0" && T.openHighlight(
20464
20473
  {
20465
20474
  color: "rgba(255,0,0,1)"
20466
20475
  },
20467
20476
  !0
20468
- ), u(T));
20477
+ ), d ? T.flyTo({
20478
+ complete: () => {
20479
+ u(T);
20480
+ }
20481
+ }) : u(T));
20469
20482
  });
20470
20483
  });
20471
20484
  }
@@ -24887,8 +24900,9 @@ class d1 {
24887
24900
  show: !0,
24888
24901
  minimumLevel: L || 0,
24889
24902
  maximumLevel: x || 15,
24890
- chinaCRS: M,
24891
- ionToken: "zhangguan"
24903
+ chinaCRS: M
24904
+ // queryParameters: { token: "zhang" },
24905
+ // headers: { Authorization: "zhang" },
24892
24906
  }), this.elevationImageLayer.on(mars3d.EventType.load, (R) => {
24893
24907
  z(R);
24894
24908
  }), window.map.addLayer(this.elevationImageLayer), o && Object.keys(o).forEach((R) => {
@@ -2570,7 +2570,7 @@ void main() {
2570
2570
  `},Bn={merge:function(t){for(var e={},i=0;i<t.length;i++){var n=this.clone(t[i]),s;for(s in n)e[s]=n[s]}return e},clone:function(t){var e={},i;for(i in t){e[i]={};for(var n in t[i]){var s=t[i][n];s&&(s.isColor||s.isMatrix3||s.isMatrix4||s.isVector2||s.isVector3||s.isVector4||s.isTexture)?e[i][n]=s.clone():Array.isArray(s)?e[i][n]=s.slice():e[i][n]=s}}return e}},Qr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Object.assign(L.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this},setScalar:function(t){return this.b=this.g=this.r=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this},setRGB:function(t,e,i){return this.r=t,this.g=e,this.b=i,this},setHSL:function(){function t(e,i,n){return 0>n&&(n+=1),1<n&&--n,n<1/6?e+6*(i-e)*n:.5>n?i:n<2/3?e+6*(i-e)*(2/3-n):e}return function(e,i,n){return e=pi.euclideanModulo(e,1),i=pi.clamp(i,0,1),n=pi.clamp(n,0,1),i===0?this.r=this.g=this.b=n:(i=.5>=n?n*(1+i):n+i-n*i,n=2*n-i,this.r=t(n,i,e+1/3),this.g=t(n,i,e),this.b=t(n,i,e-1/3)),this}}(),setStyle:function(t){function e(c){c!==void 0&&1>parseFloat(c)&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}var i;if(i=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t)){var n=i[2];switch(i[1]){case"rgb":case"rgba":if(i=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(n))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,e(i[5]),this;if(i=/^(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(n))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,e(i[5]),this;break;case"hsl":case"hsla":if(i=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(n)){n=parseFloat(i[1])/360;var s=parseInt(i[2],10)/100,a=parseInt(i[3],10)/100;return e(i[5]),this.setHSL(n,s,a)}}}else if(i=/^#([A-Fa-f0-9]+)$/.exec(t)){if(i=i[1],n=i.length,n===3)return this.r=parseInt(i.charAt(0)+i.charAt(0),16)/255,this.g=parseInt(i.charAt(1)+i.charAt(1),16)/255,this.b=parseInt(i.charAt(2)+i.charAt(2),16)/255,this;if(n===6)return this.r=parseInt(i.charAt(0)+i.charAt(1),16)/255,this.g=parseInt(i.charAt(2)+i.charAt(3),16)/255,this.b=parseInt(i.charAt(4)+i.charAt(5),16)/255,this}return t&&0<t.length&&(i=Qr[t],i!==void 0?this.setHex(i):console.warn("THREE.Color: Unknown color "+t)),this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return e===void 0&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){return e===void 0&&(e=2),e=0<e?1/e:1,this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},convertGammaToLinear:function(t){return this.copyGammaToLinear(this,t),this},convertLinearToGamma:function(t){return this.copyLinearToGamma(this,t),this},copySRGBToLinear:function(){function t(e){return .04045>e?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),copyLinearToSRGB:function(){function t(e){return .0031308>e?12.92*e:1.055*Math.pow(e,.41666)-.055}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){t===void 0&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});var e=this.r,i=this.g,n=this.b,s=Math.max(e,i,n),a=Math.min(e,i,n),c,f=(a+s)/2;if(a===s)a=c=0;else{var v=s-a;switch(a=.5>=f?v/(s+a):v/(2-s-a),s){case e:c=(i-n)/v+(i<n?6:0);break;case i:c=(n-e)/v+2;break;case n:c=(e-i)/v+4}c/=6}return t.h=c,t.s=a,t.l=f,t},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(){var t={};return function(e,i,n){return this.getHSL(t),t.h+=e,t.s+=i,t.l+=n,this.setHSL(t.h,t.s,t.l),this}}(),add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this},multiply:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this},lerpHSL:function(){var t={h:0,s:0,l:0},e={h:0,s:0,l:0};return function(i,n){this.getHSL(t),i.getHSL(e),i=pi.lerp(t.h,e.h,n);var s=pi.lerp(t.s,e.s,n);return n=pi.lerp(t.l,e.l,n),this.setHSL(i,s,n),this}}(),equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,e){return e===void 0&&(e=0),this.r=t[e],this.g=t[e+1],this.b=t[e+2],this},toArray:function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t},toJSON:function(){return this.getHex()}});var qe={common:{diffuse:{value:new L(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new m},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new o(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new L(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new L(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},uvTransform:{value:new m}},sprite:{diffuse:{value:new L(15658734)},opacity:{value:1},center:{value:new o(.5,.5)},rotation:{value:0},map:{value:null},uvTransform:{value:new m}}},xs={basic:{uniforms:Bn.merge([qe.common,qe.specularmap,qe.envmap,qe.aomap,qe.lightmap,qe.fog]),vertexShader:bi.meshbasic_vert,fragmentShader:bi.meshbasic_frag},lambert:{uniforms:Bn.merge([qe.common,qe.specularmap,qe.envmap,qe.aomap,qe.lightmap,qe.emissivemap,qe.fog,qe.lights,{emissive:{value:new L(0)}}]),vertexShader:bi.meshlambert_vert,fragmentShader:bi.meshlambert_frag},phong:{uniforms:Bn.merge([qe.common,qe.specularmap,qe.envmap,qe.aomap,qe.lightmap,qe.emissivemap,qe.bumpmap,qe.normalmap,qe.displacementmap,qe.gradientmap,qe.fog,qe.lights,{emissive:{value:new L(0)},specular:{value:new L(1118481)},shininess:{value:30}}]),vertexShader:bi.meshphong_vert,fragmentShader:bi.meshphong_frag},standard:{uniforms:Bn.merge([qe.common,qe.envmap,qe.aomap,qe.lightmap,qe.emissivemap,qe.bumpmap,qe.normalmap,qe.displacementmap,qe.roughnessmap,qe.metalnessmap,qe.fog,qe.lights,{emissive:{value:new L(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:bi.meshphysical_vert,fragmentShader:bi.meshphysical_frag},matcap:{uniforms:Bn.merge([qe.common,qe.bumpmap,qe.normalmap,qe.displacementmap,qe.fog,{matcap:{value:null}}]),vertexShader:bi.meshmatcap_vert,fragmentShader:bi.meshmatcap_frag},points:{uniforms:Bn.merge([qe.points,qe.fog]),vertexShader:bi.points_vert,fragmentShader:bi.points_frag},dashed:{uniforms:Bn.merge([qe.common,qe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:bi.linedashed_vert,fragmentShader:bi.linedashed_frag},depth:{uniforms:Bn.merge([qe.common,qe.displacementmap]),vertexShader:bi.depth_vert,fragmentShader:bi.depth_frag},normal:{uniforms:Bn.merge([qe.common,qe.bumpmap,qe.normalmap,qe.displacementmap,{opacity:{value:1}}]),vertexShader:bi.normal_vert,fragmentShader:bi.normal_frag},sprite:{uniforms:Bn.merge([qe.sprite,qe.fog]),vertexShader:bi.sprite_vert,fragmentShader:bi.sprite_frag},background:{uniforms:{uvTransform:{value:new m},t2D:{value:null}},vertexShader:bi.background_vert,fragmentShader:bi.background_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:bi.cube_vert,fragmentShader:bi.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:bi.equirect_vert,fragmentShader:bi.equirect_frag},distanceRGBA:{uniforms:Bn.merge([qe.common,qe.displacementmap,{referencePosition:{value:new u},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:bi.distanceRGBA_vert,fragmentShader:bi.distanceRGBA_frag},shadow:{uniforms:Bn.merge([qe.lights,qe.fog,{color:{value:new L(0)},opacity:{value:1}}]),vertexShader:bi.shadow_vert,fragmentShader:bi.shadow_frag}};xs.physical={uniforms:Bn.merge([xs.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:bi.meshphysical_vert,fragmentShader:bi.meshphysical_frag},Object.assign(R.prototype,{clone:function(){return new this.constructor().copy(this)},copy:function(t){this.a=t.a,this.b=t.b,this.c=t.c,this.normal.copy(t.normal),this.color.copy(t.color),this.materialIndex=t.materialIndex;for(var e=0,i=t.vertexNormals.length;e<i;e++)this.vertexNormals[e]=t.vertexNormals[e].clone();for(e=0,i=t.vertexColors.length;e<i;e++)this.vertexColors[e]=t.vertexColors[e].clone();return this}}),b.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" "),b.DefaultOrder="XYZ",Object.defineProperties(b.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(t){this._order=t,this.onChangeCallback()}}}),Object.assign(b.prototype,{isEuler:!0,set:function(t,e,i,n){return this._x=t,this._y=e,this._z=i,this._order=n||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this.onChangeCallback(),this},setFromRotationMatrix:function(t,e,i){var n=pi.clamp,s=t.elements;t=s[0];var a=s[4],c=s[8],f=s[1],v=s[5],y=s[9],A=s[2],P=s[6];return s=s[10],e=e||this._order,e==="XYZ"?(this._y=Math.asin(n(c,-1,1)),.99999>Math.abs(c)?(this._x=Math.atan2(-y,s),this._z=Math.atan2(-a,t)):(this._x=Math.atan2(P,v),this._z=0)):e==="YXZ"?(this._x=Math.asin(-n(y,-1,1)),.99999>Math.abs(y)?(this._y=Math.atan2(c,s),this._z=Math.atan2(f,v)):(this._y=Math.atan2(-A,t),this._z=0)):e==="ZXY"?(this._x=Math.asin(n(P,-1,1)),.99999>Math.abs(P)?(this._y=Math.atan2(-A,s),this._z=Math.atan2(-a,v)):(this._y=0,this._z=Math.atan2(f,t))):e==="ZYX"?(this._y=Math.asin(-n(A,-1,1)),.99999>Math.abs(A)?(this._x=Math.atan2(P,s),this._z=Math.atan2(f,t)):(this._x=0,this._z=Math.atan2(-a,v))):e==="YZX"?(this._z=Math.asin(n(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(-y,v),this._y=Math.atan2(-A,t)):(this._x=0,this._y=Math.atan2(c,s))):e==="XZY"?(this._z=Math.asin(-n(a,-1,1)),.99999>Math.abs(a)?(this._x=Math.atan2(P,v),this._y=Math.atan2(c,t)):(this._x=Math.atan2(-y,s),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+e),this._order=e,i!==!1&&this.onChangeCallback(),this},setFromQuaternion:function(){var t=new p;return function(e,i,n){return t.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t,i,n)}}(),setFromVector3:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)},reorder:function(){var t=new d;return function(e){return t.setFromEuler(this),this.setFromQuaternion(t,e)}}(),equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order},fromArray:function(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this.onChangeCallback(),this},toArray:function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t},toVector3:function(t){return t?t.set(this._x,this._y,this._z):new u(this._x,this._y,this._z)},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(U.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask=this.mask|1<<t|0},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},test:function(t){return(this.mask&t.mask)!==0}});var Hc=0;N.DefaultUp=new u(0,1,0),N.DefaultMatrixAutoUpdate=!0,N.prototype=Object.assign(Object.create(l.prototype),{constructor:N,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(t){this.matrix.multiplyMatrices(t,this.matrix),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(t){return this.quaternion.premultiply(t),this},setRotationFromAxisAngle:function(t,e){this.quaternion.setFromAxisAngle(t,e)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:function(){var t=new d;return function(e,i){return t.setFromAxisAngle(e,i),this.quaternion.multiply(t),this}}(),rotateOnWorldAxis:function(){var t=new d;return function(e,i){return t.setFromAxisAngle(e,i),this.quaternion.premultiply(t),this}}(),rotateX:function(){var t=new u(1,0,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateY:function(){var t=new u(0,1,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateZ:function(){var t=new u(0,0,1);return function(e){return this.rotateOnAxis(t,e)}}(),translateOnAxis:function(){var t=new u;return function(e,i){return t.copy(e).applyQuaternion(this.quaternion),this.position.add(t.multiplyScalar(i)),this}}(),translateX:function(){var t=new u(1,0,0);return function(e){return this.translateOnAxis(t,e)}}(),translateY:function(){var t=new u(0,1,0);return function(e){return this.translateOnAxis(t,e)}}(),translateZ:function(){var t=new u(0,0,1);return function(e){return this.translateOnAxis(t,e)}}(),localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:function(){var t=new p;return function(e){return e.applyMatrix4(t.getInverse(this.matrixWorld))}}(),lookAt:function(){var t=new d,e=new p,i=new u,n=new u;return function(s,a,c){s.isVector3?i.copy(s):i.set(s,a,c),s=this.parent,this.updateWorldMatrix(!0,!1),n.setFromMatrixPosition(this.matrixWorld),this.isCamera?e.lookAt(n,i,this.up):e.lookAt(i,n,this.up),this.quaternion.setFromRotationMatrix(e),s&&(e.extractRotation(s.matrixWorld),t.setFromRotationMatrix(e),this.quaternion.premultiply(t.inverse()))}}(),add:function(t){if(1<arguments.length){for(var e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(t.parent!==null&&t.parent.remove(t),t.parent=this,t.dispatchEvent({type:"added"}),this.children.push(t)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)},remove:function(t){if(1<arguments.length){for(var e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}return e=this.children.indexOf(t),e!==-1&&(t.parent=null,t.dispatchEvent({type:"removed"}),this.children.splice(e,1)),this},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,e){if(this[t]===e)return this;for(var i=0,n=this.children.length;i<n;i++){var s=this.children[i].getObjectByProperty(t,e);if(s!==void 0)return s}},getWorldPosition:function(t){return t===void 0&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),t=new u),this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var t=new u,e=new u;return function(i){return i===void 0&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),i=new d),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,i,e),i}}(),getWorldScale:function(){var t=new u,e=new d;return function(i){return i===void 0&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),i=new u),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,e,i),i}}(),getWorldDirection:function(t){t===void 0&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),t=new u),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()},raycast:function(){},traverse:function(t){t(this);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].traverse(t)},traverseVisible:function(t){if(this.visible!==!1){t(this);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].traverseVisible(t)}},traverseAncestors:function(t){var e=this.parent;e!==null&&(t(e),e.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].updateMatrixWorld(t)},updateWorldMatrix:function(t,e){var i=this.parent;if(t===!0&&i!==null&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),e===!0)for(t=this.children,e=0,i=t.length;e<i;e++)t[e].updateWorldMatrix(!1,!0)},toJSON:function(t){function e(A,P){return A[P.uuid]===void 0&&(A[P.uuid]=P.toJSON(t)),P.uuid}function i(A){var P=[],k;for(k in A){var H=A[k];delete H.metadata,P.push(H)}return P}var n=t===void 0||typeof t=="string",s={};n&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{}},s.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var a={};if(a.uuid=this.uuid,a.type=this.type,this.name!==""&&(a.name=this.name),this.castShadow===!0&&(a.castShadow=!0),this.receiveShadow===!0&&(a.receiveShadow=!0),this.visible===!1&&(a.visible=!1),this.frustumCulled===!1&&(a.frustumCulled=!1),this.renderOrder!==0&&(a.renderOrder=this.renderOrder),JSON.stringify(this.userData)!=="{}"&&(a.userData=this.userData),a.layers=this.layers.mask,a.matrix=this.matrix.toArray(),this.matrixAutoUpdate===!1&&(a.matrixAutoUpdate=!1),this.isMesh||this.isLine||this.isPoints){a.geometry=e(t.geometries,this.geometry);var c=this.geometry.parameters;if(c!==void 0&&c.shapes!==void 0)if(c=c.shapes,Array.isArray(c))for(var f=0,v=c.length;f<v;f++)e(t.shapes,c[f]);else e(t.shapes,c)}if(this.material!==void 0)if(Array.isArray(this.material)){for(c=[],f=0,v=this.material.length;f<v;f++)c.push(e(t.materials,this.material[f]));a.material=c}else a.material=e(t.materials,this.material);if(0<this.children.length)for(a.children=[],f=0;f<this.children.length;f++)a.children.push(this.children[f].toJSON(t).object);if(n){n=i(t.geometries),f=i(t.materials),v=i(t.textures);var y=i(t.images);c=i(t.shapes),0<n.length&&(s.geometries=n),0<f.length&&(s.materials=f),0<v.length&&(s.textures=v),0<y.length&&(s.images=y),0<c.length&&(s.shapes=c)}return s.object=a,s},clone:function(t){return new this.constructor().copy(this,t)},copy:function(t,e){if(e===void 0&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(e=0;e<t.children.length;e++)this.add(t.children[e].clone());return this}});var Vc=0;j.prototype=Object.assign(Object.create(l.prototype),{constructor:j,isGeometry:!0,applyMatrix:function(t){for(var e=new m().getNormalMatrix(t),i=0,n=this.vertices.length;i<n;i++)this.vertices[i].applyMatrix4(t);for(i=0,n=this.faces.length;i<n;i++){t=this.faces[i],t.normal.applyMatrix3(e).normalize();for(var s=0,a=t.vertexNormals.length;s<a;s++)t.vertexNormals[s].applyMatrix3(e).normalize()}return this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this.normalsNeedUpdate=this.verticesNeedUpdate=!0,this},rotateX:function(){var t=new p;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new p;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new p;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new p;return function(e,i,n){return t.makeTranslation(e,i,n),this.applyMatrix(t),this}}(),scale:function(){var t=new p;return function(e,i,n){return t.makeScale(e,i,n),this.applyMatrix(t),this}}(),lookAt:function(){var t=new N;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),fromBufferGeometry:function(t){function e(q,K,rt,xt){var gt=f===void 0?[]:[i.colors[q].clone(),i.colors[K].clone(),i.colors[rt].clone()],At=c===void 0?[]:[new u().fromArray(c,3*q),new u().fromArray(c,3*K),new u().fromArray(c,3*rt)];xt=new R(q,K,rt,At,gt,xt),i.faces.push(xt),v!==void 0&&i.faceVertexUvs[0].push([new o().fromArray(v,2*q),new o().fromArray(v,2*K),new o().fromArray(v,2*rt)]),y!==void 0&&i.faceVertexUvs[1].push([new o().fromArray(y,2*q),new o().fromArray(y,2*K),new o().fromArray(y,2*rt)])}var i=this,n=t.index!==null?t.index.array:void 0,s=t.attributes,a=s.position.array,c=s.normal!==void 0?s.normal.array:void 0,f=s.color!==void 0?s.color.array:void 0,v=s.uv!==void 0?s.uv.array:void 0,y=s.uv2!==void 0?s.uv2.array:void 0;y!==void 0&&(this.faceVertexUvs[1]=[]);for(var A=s=0;s<a.length;s+=3,A+=2)i.vertices.push(new u().fromArray(a,s)),f!==void 0&&i.colors.push(new L().fromArray(f,s));var P=t.groups;if(0<P.length)for(s=0;s<P.length;s++){a=P[s];var k=a.start,H=a.count;for(A=k,k+=H;A<k;A+=3)n!==void 0?e(n[A],n[A+1],n[A+2],a.materialIndex):e(A,A+1,A+2,a.materialIndex)}else if(n!==void 0)for(s=0;s<n.length;s+=3)e(n[s],n[s+1],n[s+2]);else for(s=0;s<a.length/3;s+=3)e(s,s+1,s+2);return this.computeFaceNormals(),t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone()),t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone()),this},center:function(){var t=new u;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),normalize:function(){this.computeBoundingSphere();var t=this.boundingSphere.center,e=this.boundingSphere.radius;e=e===0?1:1/e;var i=new p;return i.set(e,0,0,-e*t.x,0,e,0,-e*t.y,0,0,e,-e*t.z,0,0,0,1),this.applyMatrix(i),this},computeFaceNormals:function(){for(var t=new u,e=new u,i=0,n=this.faces.length;i<n;i++){var s=this.faces[i],a=this.vertices[s.a],c=this.vertices[s.b];t.subVectors(this.vertices[s.c],c),e.subVectors(a,c),t.cross(e),t.normalize(),s.normal.copy(t)}},computeVertexNormals:function(t){t===void 0&&(t=!0);var e,i=Array(this.vertices.length),n=0;for(e=this.vertices.length;n<e;n++)i[n]=new u;if(t){var s=new u,a=new u;for(t=0,n=this.faces.length;t<n;t++){e=this.faces[t];var c=this.vertices[e.a],f=this.vertices[e.b],v=this.vertices[e.c];s.subVectors(v,f),a.subVectors(c,f),s.cross(a),i[e.a].add(s),i[e.b].add(s),i[e.c].add(s)}}else for(this.computeFaceNormals(),t=0,n=this.faces.length;t<n;t++)e=this.faces[t],i[e.a].add(e.normal),i[e.b].add(e.normal),i[e.c].add(e.normal);for(n=0,e=this.vertices.length;n<e;n++)i[n].normalize();for(t=0,n=this.faces.length;t<n;t++)e=this.faces[t],c=e.vertexNormals,c.length===3?(c[0].copy(i[e.a]),c[1].copy(i[e.b]),c[2].copy(i[e.c])):(c[0]=i[e.a].clone(),c[1]=i[e.b].clone(),c[2]=i[e.c].clone());0<this.faces.length&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var t;this.computeFaceNormals();var e=0;for(t=this.faces.length;e<t;e++){var i=this.faces[e],n=i.vertexNormals;n.length===3?(n[0].copy(i.normal),n[1].copy(i.normal),n[2].copy(i.normal)):(n[0]=i.normal.clone(),n[1]=i.normal.clone(),n[2]=i.normal.clone())}0<this.faces.length&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,i=0;for(e=this.faces.length;i<e;i++){var n=this.faces[i];n.__originalFaceNormal?n.__originalFaceNormal.copy(n.normal):n.__originalFaceNormal=n.normal.clone(),n.__originalVertexNormals||(n.__originalVertexNormals=[]);var s=0;for(t=n.vertexNormals.length;s<t;s++)n.__originalVertexNormals[s]?n.__originalVertexNormals[s].copy(n.vertexNormals[s]):n.__originalVertexNormals[s]=n.vertexNormals[s].clone()}var a=new j;for(a.faces=this.faces,s=0,t=this.morphTargets.length;s<t;s++){if(!this.morphNormals[s]){this.morphNormals[s]={},this.morphNormals[s].faceNormals=[],this.morphNormals[s].vertexNormals=[],n=this.morphNormals[s].faceNormals;var c=this.morphNormals[s].vertexNormals;for(i=0,e=this.faces.length;i<e;i++){var f=new u,v={a:new u,b:new u,c:new u};n.push(f),c.push(v)}}for(c=this.morphNormals[s],a.vertices=this.morphTargets[s].vertices,a.computeFaceNormals(),a.computeVertexNormals(),i=0,e=this.faces.length;i<e;i++)n=this.faces[i],f=c.faceNormals[i],v=c.vertexNormals[i],f.copy(n.normal),v.a.copy(n.vertexNormals[0]),v.b.copy(n.vertexNormals[1]),v.c.copy(n.vertexNormals[2])}for(i=0,e=this.faces.length;i<e;i++)n=this.faces[i],n.normal=n.__originalFaceNormal,n.vertexNormals=n.__originalVertexNormals},computeBoundingBox:function(){this.boundingBox===null&&(this.boundingBox=new B),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){this.boundingSphere===null&&(this.boundingSphere=new I),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,i){if(t&&t.isGeometry){var n,s=this.vertices.length,a=this.vertices,c=t.vertices,f=this.faces,v=t.faces,y=this.faceVertexUvs[0],A=t.faceVertexUvs[0],P=this.colors,k=t.colors;i===void 0&&(i=0),e!==void 0&&(n=new m().getNormalMatrix(e)),t=0;for(var H=c.length;t<H;t++){var q=c[t].clone();e!==void 0&&q.applyMatrix4(e),a.push(q)}for(t=0,H=k.length;t<H;t++)P.push(k[t].clone());for(t=0,H=v.length;t<H;t++){c=v[t];var K=c.vertexNormals;for(k=c.vertexColors,P=new R(c.a+s,c.b+s,c.c+s),P.normal.copy(c.normal),n!==void 0&&P.normal.applyMatrix3(n).normalize(),e=0,a=K.length;e<a;e++)q=K[e].clone(),n!==void 0&&q.applyMatrix3(n).normalize(),P.vertexNormals.push(q);for(P.color.copy(c.color),e=0,a=k.length;e<a;e++)q=k[e],P.vertexColors.push(q.clone());P.materialIndex=c.materialIndex+i,f.push(P)}for(t=0,H=A.length;t<H;t++)if(i=A[t],n=[],i!==void 0){for(e=0,a=i.length;e<a;e++)n.push(i[e].clone());y.push(n)}}else console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",t)},mergeMesh:function(t){t&&t.isMesh?(t.matrixAutoUpdate&&t.updateMatrix(),this.merge(t.geometry,t.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",t)},mergeVertices:function(){var t={},e=[],i=[],n=Math.pow(10,4),s,a=0;for(s=this.vertices.length;a<s;a++){var c=this.vertices[a];c=Math.round(c.x*n)+"_"+Math.round(c.y*n)+"_"+Math.round(c.z*n),t[c]===void 0?(t[c]=a,e.push(this.vertices[a]),i[a]=e.length-1):i[a]=i[t[c]]}for(t=[],a=0,s=this.faces.length;a<s;a++)for(n=this.faces[a],n.a=i[n.a],n.b=i[n.b],n.c=i[n.c],n=[n.a,n.b,n.c],c=0;3>c;c++)if(n[c]===n[(c+1)%3]){t.push(a);break}for(a=t.length-1;0<=a;a--)for(n=t[a],this.faces.splice(n,1),i=0,s=this.faceVertexUvs.length;i<s;i++)this.faceVertexUvs[i].splice(n,1);return a=this.vertices.length-e.length,this.vertices=e,a},setFromPoints:function(t){this.vertices=[];for(var e=0,i=t.length;e<i;e++){var n=t[e];this.vertices.push(new u(n.x,n.y,n.z||0))}return this},sortFacesByMaterialIndex:function(){for(var t=this.faces,e=t.length,i=0;i<e;i++)t[i]._id=i;t.sort(function(v,y){return v.materialIndex-y.materialIndex});var n=this.faceVertexUvs[0],s=this.faceVertexUvs[1],a,c;for(n&&n.length===e&&(a=[]),s&&s.length===e&&(c=[]),i=0;i<e;i++){var f=t[i]._id;a&&a.push(n[f]),c&&c.push(s[f])}a&&(this.faceVertexUvs[0]=a),c&&(this.faceVertexUvs[1]=c)},toJSON:function(){function t(Vt,Z,st){return st?Vt|1<<Z:Vt&~(1<<Z)}function e(Vt){var Z=Vt.x.toString()+Vt.y.toString()+Vt.z.toString();return y[Z]!==void 0||(y[Z]=v.length/3,v.push(Vt.x,Vt.y,Vt.z)),y[Z]}function i(Vt){var Z=Vt.r.toString()+Vt.g.toString()+Vt.b.toString();return P[Z]!==void 0||(P[Z]=A.length,A.push(Vt.getHex())),P[Z]}function n(Vt){var Z=Vt.x.toString()+Vt.y.toString();return H[Z]!==void 0||(H[Z]=k.length/2,k.push(Vt.x,Vt.y)),H[Z]}var s={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(s.uuid=this.uuid,s.type=this.type,this.name!==""&&(s.name=this.name),this.parameters!==void 0){var a=this.parameters,c;for(c in a)a[c]!==void 0&&(s[c]=a[c]);return s}for(a=[],c=0;c<this.vertices.length;c++){var f=this.vertices[c];a.push(f.x,f.y,f.z)}f=[];var v=[],y={},A=[],P={},k=[],H={};for(c=0;c<this.faces.length;c++){var q=this.faces[c],K=this.faceVertexUvs[0][c]!==void 0,rt=0<q.normal.length(),xt=0<q.vertexNormals.length,gt=q.color.r!==1||q.color.g!==1||q.color.b!==1,At=0<q.vertexColors.length,wt=0;wt=t(wt,0,0),wt=t(wt,1,!0),wt=t(wt,2,!1),wt=t(wt,3,K),wt=t(wt,4,rt),wt=t(wt,5,xt),wt=t(wt,6,gt),wt=t(wt,7,At),f.push(wt),f.push(q.a,q.b,q.c),f.push(q.materialIndex),K&&(K=this.faceVertexUvs[0][c],f.push(n(K[0]),n(K[1]),n(K[2]))),rt&&f.push(e(q.normal)),xt&&(rt=q.vertexNormals,f.push(e(rt[0]),e(rt[1]),e(rt[2]))),gt&&f.push(i(q.color)),At&&(q=q.vertexColors,f.push(i(q[0]),i(q[1]),i(q[2])))}return s.data={},s.data.vertices=a,s.data.normals=v,0<A.length&&(s.data.colors=A),0<k.length&&(s.data.uvs=[k]),s.data.faces=f,s},clone:function(){return new j().copy(this)},copy:function(t){var e,i,n;this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingSphere=this.boundingBox=null,this.name=t.name;var s=t.vertices,a=0;for(e=s.length;a<e;a++)this.vertices.push(s[a].clone());for(s=t.colors,a=0,e=s.length;a<e;a++)this.colors.push(s[a].clone());for(s=t.faces,a=0,e=s.length;a<e;a++)this.faces.push(s[a].clone());for(a=0,e=t.faceVertexUvs.length;a<e;a++){var c=t.faceVertexUvs[a];for(this.faceVertexUvs[a]===void 0&&(this.faceVertexUvs[a]=[]),s=0,i=c.length;s<i;s++){var f=c[s],v=[],y=0;for(n=f.length;y<n;y++)v.push(f[y].clone());this.faceVertexUvs[a].push(v)}}for(y=t.morphTargets,a=0,e=y.length;a<e;a++){if(n={},n.name=y[a].name,y[a].vertices!==void 0)for(n.vertices=[],s=0,i=y[a].vertices.length;s<i;s++)n.vertices.push(y[a].vertices[s].clone());if(y[a].normals!==void 0)for(n.normals=[],s=0,i=y[a].normals.length;s<i;s++)n.normals.push(y[a].normals[s].clone());this.morphTargets.push(n)}for(y=t.morphNormals,a=0,e=y.length;a<e;a++){if(n={},y[a].vertexNormals!==void 0)for(n.vertexNormals=[],s=0,i=y[a].vertexNormals.length;s<i;s++)c=y[a].vertexNormals[s],f={},f.a=c.a.clone(),f.b=c.b.clone(),f.c=c.c.clone(),n.vertexNormals.push(f);if(y[a].faceNormals!==void 0)for(n.faceNormals=[],s=0,i=y[a].faceNormals.length;s<i;s++)n.faceNormals.push(y[a].faceNormals[s].clone());this.morphNormals.push(n)}for(s=t.skinWeights,a=0,e=s.length;a<e;a++)this.skinWeights.push(s[a].clone());for(s=t.skinIndices,a=0,e=s.length;a<e;a++)this.skinIndices.push(s[a].clone());for(s=t.lineDistances,a=0,e=s.length;a<e;a++)this.lineDistances.push(s[a]);return a=t.boundingBox,a!==null&&(this.boundingBox=a.clone()),a=t.boundingSphere,a!==null&&(this.boundingSphere=a.clone()),this.elementsNeedUpdate=t.elementsNeedUpdate,this.verticesNeedUpdate=t.verticesNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.lineDistancesNeedUpdate=t.lineDistancesNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(J.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(J.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=t!==void 0?t.length/this.itemSize:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.itemSize,i*=e.itemSize;for(var n=0,s=this.itemSize;n<s;n++)this.array[t+n]=e.array[i+n];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var a=t[n];a===void 0&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",n),a=new L),e[i++]=a.r,e[i++]=a.g,e[i++]=a.b}return this},copyVector2sArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var a=t[n];a===void 0&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",n),a=new o),e[i++]=a.x,e[i++]=a.y}return this},copyVector3sArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var a=t[n];a===void 0&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",n),a=new u),e[i++]=a.x,e[i++]=a.y,e[i++]=a.z}return this},copyVector4sArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var a=t[n];a===void 0&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",n),a=new w),e[i++]=a.x,e[i++]=a.y,e[i++]=a.z,e[i++]=a.w}return this},set:function(t,e){return e===void 0&&(e=0),this.array.set(t,e),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,e){return this.array[t*this.itemSize]=e,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,e){return this.array[t*this.itemSize+1]=e,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,e){return this.array[t*this.itemSize+2]=e,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,e){return this.array[t*this.itemSize+3]=e,this},setXY:function(t,e,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this},setXYZ:function(t,e,i,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this},setXYZW:function(t,e,i,n,s){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this.array[t+3]=s,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),$.prototype=Object.create(J.prototype),$.prototype.constructor=$,ct.prototype=Object.create(J.prototype),ct.prototype.constructor=ct,It.prototype=Object.create(J.prototype),It.prototype.constructor=It,et.prototype=Object.create(J.prototype),et.prototype.constructor=et,yt.prototype=Object.create(J.prototype),yt.prototype.constructor=yt,G.prototype=Object.create(J.prototype),G.prototype.constructor=G,Pt.prototype=Object.create(J.prototype),Pt.prototype.constructor=Pt,Et.prototype=Object.create(J.prototype),Et.prototype.constructor=Et,Ct.prototype=Object.create(J.prototype),Ct.prototype.constructor=Ct,Object.assign(ce.prototype,{computeGroups:function(t){var e=[],i=void 0;t=t.faces;for(var n=0;n<t.length;n++){var s=t[n];if(s.materialIndex!==i){i=s.materialIndex,a!==void 0&&(a.count=3*n-a.start,e.push(a));var a={start:3*n,materialIndex:i}}}a!==void 0&&(a.count=3*n-a.start,e.push(a)),this.groups=e},fromGeometry:function(t){var e=t.faces,i=t.vertices,n=t.faceVertexUvs,s=n[0]&&0<n[0].length,a=n[1]&&0<n[1].length,c=t.morphTargets,f=c.length;if(0<f){for(var v=[],y=0;y<f;y++)v[y]={name:c[y].name,data:[]};this.morphTargets.position=v}var A=t.morphNormals,P=A.length;if(0<P){var k=[];for(y=0;y<P;y++)k[y]={name:A[y].name,data:[]};this.morphTargets.normal=k}var H=t.skinIndices,q=t.skinWeights,K=H.length===i.length,rt=q.length===i.length;for(0<i.length&&e.length===0&&console.error("THREE.DirectGeometry: Faceless geometries are not supported."),y=0;y<e.length;y++){var xt=e[y];this.vertices.push(i[xt.a],i[xt.b],i[xt.c]);var gt=xt.vertexNormals;for(gt.length===3?this.normals.push(gt[0],gt[1],gt[2]):(gt=xt.normal,this.normals.push(gt,gt,gt)),gt=xt.vertexColors,gt.length===3?this.colors.push(gt[0],gt[1],gt[2]):(gt=xt.color,this.colors.push(gt,gt,gt)),s===!0&&(gt=n[0][y],gt!==void 0?this.uvs.push(gt[0],gt[1],gt[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",y),this.uvs.push(new o,new o,new o))),a===!0&&(gt=n[1][y],gt!==void 0?this.uvs2.push(gt[0],gt[1],gt[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",y),this.uvs2.push(new o,new o,new o))),gt=0;gt<f;gt++){var At=c[gt].vertices;v[gt].data.push(At[xt.a],At[xt.b],At[xt.c])}for(gt=0;gt<P;gt++)At=A[gt].vertexNormals[y],k[gt].data.push(At.a,At.b,At.c);K&&this.skinIndices.push(H[xt.a],H[xt.b],H[xt.c]),rt&&this.skinWeights.push(q[xt.a],q[xt.b],q[xt.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this}});var Wc=1;Ft.prototype=Object.assign(Object.create(l.prototype),{constructor:Ft,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new(65535<re(t)?Pt:yt)(t,1):this.index=t},addAttribute:function(t,e,i){return e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?t==="index"?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):(this.attributes[t]=e,this):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(t,new J(e,i)))},getAttribute:function(t){return this.attributes[t]},removeAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,e,i){this.groups.push({start:t,count:e,materialIndex:i!==void 0?i:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix:function(t){var e=this.attributes.position;return e!==void 0&&(t.applyToBufferAttribute(e),e.needsUpdate=!0),e=this.attributes.normal,e!==void 0&&(new m().getNormalMatrix(t).applyToBufferAttribute(e),e.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this},rotateX:function(){var t=new p;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new p;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new p;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new p;return function(e,i,n){return t.makeTranslation(e,i,n),this.applyMatrix(t),this}}(),scale:function(){var t=new p;return function(e,i,n){return t.makeScale(e,i,n),this.applyMatrix(t),this}}(),lookAt:function(){var t=new N;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),center:function(){var t=new u;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),setFromObject:function(t){var e=t.geometry;if(t.isPoints||t.isLine){t=new Et(3*e.vertices.length,3);var i=new Et(3*e.colors.length,3);this.addAttribute("position",t.copyVector3sArray(e.vertices)),this.addAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length&&(t=new Et(e.lineDistances.length,1),this.addAttribute("lineDistance",t.copyArray(e.lineDistances))),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(t){for(var e=[],i=0,n=t.length;i<n;i++){var s=t[i];e.push(s.x,s.y,s.z||0)}return this.addAttribute("position",new Et(e,3)),this},updateFromObject:function(t){var e=t.geometry;if(t.isMesh){var i=e.__directGeometry;if(e.elementsNeedUpdate===!0&&(i=void 0,e.elementsNeedUpdate=!1),i===void 0)return this.fromGeometry(e);i.verticesNeedUpdate=e.verticesNeedUpdate,i.normalsNeedUpdate=e.normalsNeedUpdate,i.colorsNeedUpdate=e.colorsNeedUpdate,i.uvsNeedUpdate=e.uvsNeedUpdate,i.groupsNeedUpdate=e.groupsNeedUpdate,e.verticesNeedUpdate=!1,e.normalsNeedUpdate=!1,e.colorsNeedUpdate=!1,e.uvsNeedUpdate=!1,e.groupsNeedUpdate=!1,e=i}return e.verticesNeedUpdate===!0&&(i=this.attributes.position,i!==void 0&&(i.copyVector3sArray(e.vertices),i.needsUpdate=!0),e.verticesNeedUpdate=!1),e.normalsNeedUpdate===!0&&(i=this.attributes.normal,i!==void 0&&(i.copyVector3sArray(e.normals),i.needsUpdate=!0),e.normalsNeedUpdate=!1),e.colorsNeedUpdate===!0&&(i=this.attributes.color,i!==void 0&&(i.copyColorsArray(e.colors),i.needsUpdate=!0),e.colorsNeedUpdate=!1),e.uvsNeedUpdate&&(i=this.attributes.uv,i!==void 0&&(i.copyVector2sArray(e.uvs),i.needsUpdate=!0),e.uvsNeedUpdate=!1),e.lineDistancesNeedUpdate&&(i=this.attributes.lineDistance,i!==void 0&&(i.copyArray(e.lineDistances),i.needsUpdate=!0),e.lineDistancesNeedUpdate=!1),e.groupsNeedUpdate&&(e.computeGroups(t.geometry),this.groups=e.groups,e.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.__directGeometry=new ce().fromGeometry(t),this.fromDirectGeometry(t.__directGeometry)},fromDirectGeometry:function(t){var e=new Float32Array(3*t.vertices.length);this.addAttribute("position",new J(e,3).copyVector3sArray(t.vertices)),0<t.normals.length&&(e=new Float32Array(3*t.normals.length),this.addAttribute("normal",new J(e,3).copyVector3sArray(t.normals))),0<t.colors.length&&(e=new Float32Array(3*t.colors.length),this.addAttribute("color",new J(e,3).copyColorsArray(t.colors))),0<t.uvs.length&&(e=new Float32Array(2*t.uvs.length),this.addAttribute("uv",new J(e,2).copyVector2sArray(t.uvs))),0<t.uvs2.length&&(e=new Float32Array(2*t.uvs2.length),this.addAttribute("uv2",new J(e,2).copyVector2sArray(t.uvs2))),this.groups=t.groups;for(var i in t.morphTargets){e=[];for(var n=t.morphTargets[i],s=0,a=n.length;s<a;s++){var c=n[s],f=new Et(3*c.data.length,3);f.name=c.name,e.push(f.copyVector3sArray(c.data))}this.morphAttributes[i]=e}return 0<t.skinIndices.length&&(i=new Et(4*t.skinIndices.length,4),this.addAttribute("skinIndex",i.copyVector4sArray(t.skinIndices))),0<t.skinWeights.length&&(i=new Et(4*t.skinWeights.length,4),this.addAttribute("skinWeight",i.copyVector4sArray(t.skinWeights))),t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone()),t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){this.boundingBox===null&&(this.boundingBox=new B);var t=this.attributes.position;t!==void 0?this.boundingBox.setFromBufferAttribute(t):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var t=new B,e=new u;return function(){this.boundingSphere===null&&(this.boundingSphere=new I);var i=this.attributes.position;if(i){var n=this.boundingSphere.center;t.setFromBufferAttribute(i),t.getCenter(n);for(var s=0,a=0,c=i.count;a<c;a++)e.x=i.getX(a),e.y=i.getY(a),e.z=i.getZ(a),s=Math.max(s,n.distanceToSquared(e));this.boundingSphere.radius=Math.sqrt(s),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,e=this.attributes;if(e.position){var i=e.position.array;if(e.normal===void 0)this.addAttribute("normal",new J(new Float32Array(i.length),3));else for(var n=e.normal.array,s=0,a=n.length;s<a;s++)n[s]=0;n=e.normal.array;var c=new u,f=new u,v=new u,y=new u,A=new u;if(t){var P=t.array;for(s=0,a=t.count;s<a;s+=3){t=3*P[s+0];var k=3*P[s+1],H=3*P[s+2];c.fromArray(i,t),f.fromArray(i,k),v.fromArray(i,H),y.subVectors(v,f),A.subVectors(c,f),y.cross(A),n[t]+=y.x,n[t+1]+=y.y,n[t+2]+=y.z,n[k]+=y.x,n[k+1]+=y.y,n[k+2]+=y.z,n[H]+=y.x,n[H+1]+=y.y,n[H+2]+=y.z}}else for(s=0,a=i.length;s<a;s+=9)c.fromArray(i,s),f.fromArray(i,s+3),v.fromArray(i,s+6),y.subVectors(v,f),A.subVectors(c,f),y.cross(A),n[s]=y.x,n[s+1]=y.y,n[s+2]=y.z,n[s+3]=y.x,n[s+4]=y.y,n[s+5]=y.z,n[s+6]=y.x,n[s+7]=y.y,n[s+8]=y.z;this.normalizeNormals(),e.normal.needsUpdate=!0}},merge:function(t,e){if(t&&t.isBufferGeometry){e===void 0&&(e=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));var i=this.attributes,n;for(n in i)if(t.attributes[n]!==void 0){var s=i[n].array,a=t.attributes[n],c=a.array,f=0;for(a=a.itemSize*e;f<c.length;f++,a++)s[a]=c[f]}return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",t)},normalizeNormals:function(){var t=new u;return function(){for(var e=this.attributes.normal,i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.normalize(),e.setXYZ(i,t.x,t.y,t.z)}}(),toNonIndexed:function(){if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var t=new Ft,e=this.index.array,i=this.attributes,n;for(n in i){var s=i[n],a=s.array,c=s.itemSize,f=new a.constructor(e.length*c),v=0;s=0;for(var y=e.length;s<y;s++)for(var A=e[s]*c,P=0;P<c;P++)f[v++]=a[A++];t.addAttribute(n,new J(f,c))}for(e=this.groups,s=0,y=e.length;s<y;s++)i=e[s],t.addGroup(i.start,i.count,i.materialIndex);return t},toJSON:function(){var t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,this.name!==""&&(t.name=this.name),0<Object.keys(this.userData).length&&(t.userData=this.userData),this.parameters!==void 0){var e=this.parameters;for(s in e)e[s]!==void 0&&(t[s]=e[s]);return t}t.data={attributes:{}};var i=this.index;i!==null&&(e=Array.prototype.slice.call(i.array),t.data.index={type:i.array.constructor.name,array:e}),i=this.attributes;for(s in i){var n=i[s];e=Array.prototype.slice.call(n.array),t.data.attributes[s]={itemSize:n.itemSize,type:n.array.constructor.name,array:e,normalized:n.normalized}}var s=this.groups;return 0<s.length&&(t.data.groups=JSON.parse(JSON.stringify(s))),s=this.boundingSphere,s!==null&&(t.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),t},clone:function(){return new Ft().copy(this)},copy:function(t){var e;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingSphere=this.boundingBox=null,this.name=t.name;var i=t.index;i!==null&&this.setIndex(i.clone()),i=t.attributes;for(c in i)this.addAttribute(c,i[c].clone());var n=t.morphAttributes;for(c in n){var s=[],a=n[c];for(i=0,e=a.length;i<e;i++)s.push(a[i].clone());this.morphAttributes[c]=s}var c=t.groups;for(i=0,e=c.length;i<e;i++)n=c[i],this.addGroup(n.start,n.count,n.materialIndex);return c=t.boundingBox,c!==null&&(this.boundingBox=c.clone()),c=t.boundingSphere,c!==null&&(this.boundingSphere=c.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Ot.prototype=Object.create(j.prototype),Ot.prototype.constructor=Ot,Bt.prototype=Object.create(Ft.prototype),Bt.prototype.constructor=Bt,ke.prototype=Object.create(j.prototype),ke.prototype.constructor=ke,fe.prototype=Object.create(Ft.prototype),fe.prototype.constructor=fe;var Ru=0;Yt.prototype=Object.assign(Object.create(l.prototype),{constructor:Yt,isMaterial:!0,onBeforeCompile:function(){},setValues:function(t){if(t!==void 0)for(var e in t){var i=t[e];if(i===void 0)console.warn("THREE.Material: '"+e+"' parameter is undefined.");else if(e==="shading")console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===1;else{var n=this[e];n===void 0?console.warn("THREE."+this.type+": '"+e+"' is not a property of this material."):n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[e]=i}}},toJSON:function(t){function e(s){var a=[],c;for(c in s){var f=s[c];delete f.metadata,a.push(f)}return a}var i=t===void 0||typeof t=="string";i&&(t={textures:{},images:{}});var n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};return n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearCoat!==void 0&&(n.clearCoat=this.clearCoat),this.clearCoatRoughness!==void 0&&(n.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,n.reflectivity=this.reflectivity,this.combine!==void 0&&(n.combine=this.combine),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),this.size!==void 0&&(n.size=this.size),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(n.blending=this.blending),this.flatShading===!0&&(n.flatShading=this.flatShading),this.side!==0&&(n.side=this.side),this.vertexColors!==0&&(n.vertexColors=this.vertexColors),1>this.opacity&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),0<this.alphaTest&&(n.alphaTest=this.alphaTest),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),1<this.wireframeLinewidth&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.morphTargets===!0&&(n.morphTargets=!0),this.skinning===!0&&(n.skinning=!0),this.visible===!1&&(n.visible=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData),i&&(i=e(t.textures),t=e(t.images),0<i.length&&(n.textures=i),0<t.length&&(n.images=t)),n},clone:function(){return new this.constructor().copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.userData=JSON.parse(JSON.stringify(t.userData)),this.clipShadows=t.clipShadows,this.clipIntersection=t.clipIntersection;var e=t.clippingPlanes,i=null;if(e!==null){var n=e.length;i=Array(n);for(var s=0;s!==n;++s)i[s]=e[s].clone()}return this.clippingPlanes=i,this.shadowSide=t.shadowSide,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),ti.prototype=Object.create(Yt.prototype),ti.prototype.constructor=ti,ti.prototype.isShaderMaterial=!0,ti.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=Bn.clone(t.uniforms),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=t.extensions,this},ti.prototype.toJSON=function(t){var e=Yt.prototype.toJSON.call(this,t);e.uniforms={};for(var i in this.uniforms){var n=this.uniforms[i].value;e.uniforms[i]=n.isTexture?{type:"t",value:n.toJSON(t).uuid}:n.isColor?{type:"c",value:n.getHex()}:n.isVector2?{type:"v2",value:n.toArray()}:n.isVector3?{type:"v3",value:n.toArray()}:n.isVector4?{type:"v4",value:n.toArray()}:n.isMatrix4?{type:"m4",value:n.toArray()}:{value:n}}return 0<Object.keys(this.defines).length&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e},Object.assign(Fi.prototype,{set:function(t,e){return this.origin.copy(t),this.direction.copy(e),this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,e){return e===void 0&&(console.warn("THREE.Ray: .at() target is now required"),e=new u),e.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(){var t=new u;return function(e){return this.origin.copy(this.at(e,t)),this}}(),closestPointToPoint:function(t,e){return e===void 0&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new u),e.subVectors(t,this.origin),t=e.dot(this.direction),0>t?e.copy(this.origin):e.copy(this.direction).multiplyScalar(t).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(){var t=new u;return function(e){var i=t.subVectors(e,this.origin).dot(this.direction);return 0>i?this.origin.distanceToSquared(e):(t.copy(this.direction).multiplyScalar(i).add(this.origin),t.distanceToSquared(e))}}(),distanceSqToSegment:function(){var t=new u,e=new u,i=new u;return function(n,s,a,c){t.copy(n).add(s).multiplyScalar(.5),e.copy(s).sub(n).normalize(),i.copy(this.origin).sub(t);var f=.5*n.distanceTo(s),v=-this.direction.dot(e),y=i.dot(this.direction),A=-i.dot(e),P=i.lengthSq(),k=Math.abs(1-v*v);if(0<k){n=v*A-y,s=v*y-A;var H=f*k;0<=n?s>=-H?s<=H?(f=1/k,n*=f,s*=f,v=n*(n+v*s+2*y)+s*(v*n+s+2*A)+P):(s=f,n=Math.max(0,-(v*s+y)),v=-n*n+s*(s+2*A)+P):(s=-f,n=Math.max(0,-(v*s+y)),v=-n*n+s*(s+2*A)+P):s<=-H?(n=Math.max(0,-(-v*f+y)),s=0<n?-f:Math.min(Math.max(-f,-A),f),v=-n*n+s*(s+2*A)+P):s<=H?(n=0,s=Math.min(Math.max(-f,-A),f),v=s*(s+2*A)+P):(n=Math.max(0,-(v*f+y)),s=0<n?f:Math.min(Math.max(-f,-A),f),v=-n*n+s*(s+2*A)+P)}else s=0<v?-f:f,n=Math.max(0,-(v*s+y)),v=-n*n+s*(s+2*A)+P;return a&&a.copy(this.direction).multiplyScalar(n).add(this.origin),c&&c.copy(e).multiplyScalar(s).add(t),v}}(),intersectSphere:function(){var t=new u;return function(e,i){t.subVectors(e.center,this.origin);var n=t.dot(this.direction),s=t.dot(t)-n*n;return e=e.radius*e.radius,s>e?null:(e=Math.sqrt(e-s),s=n-e,n+=e,0>s&&0>n?null:0>s?this.at(n,i):this.at(s,i))}}(),intersectsSphere:function(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);return e===0?t.distanceToPoint(this.origin)===0?0:null:(t=-(this.origin.dot(t.normal)+t.constant)/e,0<=t?t:null)},intersectPlane:function(t,e){return t=this.distanceToPlane(t),t===null?null:this.at(t,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);return e===0||0>t.normal.dot(this.direction)*e},intersectBox:function(t,e){var i=1/this.direction.x,n=1/this.direction.y,s=1/this.direction.z,a=this.origin;if(0<=i){var c=(t.min.x-a.x)*i;i*=t.max.x-a.x}else c=(t.max.x-a.x)*i,i*=t.min.x-a.x;if(0<=n){var f=(t.min.y-a.y)*n;n*=t.max.y-a.y}else f=(t.max.y-a.y)*n,n*=t.min.y-a.y;return c>n||f>i||((f>c||c!==c)&&(c=f),(n<i||i!==i)&&(i=n),0<=s?(f=(t.min.z-a.z)*s,t=(t.max.z-a.z)*s):(f=(t.max.z-a.z)*s,t=(t.min.z-a.z)*s),c>t||f>i)?null:((f>c||c!==c)&&(c=f),(t<i||i!==i)&&(i=t),0>i?null:this.at(0<=c?c:i,e))},intersectsBox:function(){var t=new u;return function(e){return this.intersectBox(e,t)!==null}}(),intersectTriangle:function(){var t=new u,e=new u,i=new u,n=new u;return function(s,a,c,f,v){if(e.subVectors(a,s),i.subVectors(c,s),n.crossVectors(e,i),a=this.direction.dot(n),0<a){if(f)return null;f=1}else if(0>a)f=-1,a=-a;else return null;return t.subVectors(this.origin,s),s=f*this.direction.dot(i.crossVectors(t,i)),0>s||(c=f*this.direction.dot(e.cross(t)),0>c||s+c>a)?null:(s=-f*t.dot(n),0>s?null:this.at(s/a,v))}}(),applyMatrix4:function(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),Object.assign(Oe,{getNormal:function(){var t=new u;return function(e,i,n,s){return s===void 0&&(console.warn("THREE.Triangle: .getNormal() target is now required"),s=new u),s.subVectors(n,i),t.subVectors(e,i),s.cross(t),e=s.lengthSq(),0<e?s.multiplyScalar(1/Math.sqrt(e)):s.set(0,0,0)}}(),getBarycoord:function(){var t=new u,e=new u,i=new u;return function(n,s,a,c,f){t.subVectors(c,s),e.subVectors(a,s),i.subVectors(n,s),n=t.dot(t),s=t.dot(e),a=t.dot(i);var v=e.dot(e);c=e.dot(i);var y=n*v-s*s;return f===void 0&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),f=new u),y===0?f.set(-2,-1,-1):(y=1/y,v=(v*a-s*c)*y,n=(n*c-s*a)*y,f.set(1-v-n,n,v))}}(),containsPoint:function(){var t=new u;return function(e,i,n,s){return Oe.getBarycoord(e,i,n,s,t),0<=t.x&&0<=t.y&&1>=t.x+t.y}}(),getUV:function(){var t=new u;return function(e,i,n,s,a,c,f,v){return this.getBarycoord(e,i,n,s,t),v.set(0,0),v.addScaledVector(a,t.x),v.addScaledVector(c,t.y),v.addScaledVector(f,t.z),v}}()}),Object.assign(Oe.prototype,{set:function(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this},setFromPointsAndIndices:function(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},getArea:function(){var t=new u,e=new u;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),getMidpoint:function(t){return t===void 0&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),t=new u),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(t){return Oe.getNormal(this.a,this.b,this.c,t)},getPlane:function(t){return t===void 0&&(console.warn("THREE.Triangle: .getPlane() target is now required"),t=new u),t.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(t,e){return Oe.getBarycoord(t,this.a,this.b,this.c,e)},containsPoint:function(t){return Oe.containsPoint(t,this.a,this.b,this.c)},getUV:function(t,e,i,n,s){return Oe.getUV(t,this.a,this.b,this.c,e,i,n,s)},intersectsBox:function(t){return t.intersectsTriangle(this)},closestPointToPoint:function(){var t=new u,e=new u,i=new u,n=new u,s=new u,a=new u;return function(c,f){f===void 0&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),f=new u);var v=this.a,y=this.b,A=this.c;t.subVectors(y,v),e.subVectors(A,v),n.subVectors(c,v);var P=t.dot(n),k=e.dot(n);if(0>=P&&0>=k)return f.copy(v);s.subVectors(c,y);var H=t.dot(s),q=e.dot(s);if(0<=H&&q<=H)return f.copy(y);var K=P*q-H*k;if(0>=K&&0<=P&&0>=H)return y=P/(P-H),f.copy(v).addScaledVector(t,y);a.subVectors(c,A),c=t.dot(a);var rt=e.dot(a);return 0<=rt&&c<=rt?f.copy(A):(P=c*k-P*rt,0>=P&&0<=k&&0>=rt?(K=k/(k-rt),f.copy(v).addScaledVector(e,K)):(k=H*rt-c*q,0>=k&&0<=q-H&&0<=c-rt?(i.subVectors(A,y),K=(q-H)/(q-H+(c-rt)),f.copy(y).addScaledVector(i,K)):(A=1/(k+P+K),y=P*A,K*=A,f.copy(v).addScaledVector(t,y).addScaledVector(e,K))))}}(),equals:function(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}),Ge.prototype=Object.create(Yt.prototype),Ge.prototype.constructor=Ge,Ge.prototype.isMeshBasicMaterial=!0,Ge.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this},di.prototype=Object.assign(Object.create(N.prototype),{constructor:di,isMesh:!0,setDrawMode:function(t){this.drawMode=t},copy:function(t){return N.prototype.copy.call(this,t),this.drawMode=t.drawMode,t.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),t.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this},updateMorphTargets:function(){var t=this.geometry;if(t.isBufferGeometry){t=t.morphAttributes;var e=Object.keys(t);if(0<e.length){var i=t[e[0]];if(i!==void 0)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=i.length;t<e;t++){var n=i[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t}}}else if(i=t.morphTargets,i!==void 0&&0<i.length)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=i.length;t<e;t++)n=i[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t},raycast:function(){function t(rt,xt,gt,At,wt,Vt,Z,st){return(xt.side===1?At.intersectTriangle(Z,Vt,wt,!0,st):At.intersectTriangle(wt,Vt,Z,xt.side!==2,st))===null?null:(K.copy(st),K.applyMatrix4(rt.matrixWorld),xt=gt.ray.origin.distanceTo(K),xt<gt.near||xt>gt.far?null:{distance:xt,point:K.clone(),object:rt})}function e(rt,xt,gt,At,wt,Vt,Z,st,zt){return a.fromBufferAttribute(wt,Z),c.fromBufferAttribute(wt,st),f.fromBufferAttribute(wt,zt),(rt=t(rt,xt,gt,At,a,c,f,q))&&(Vt&&(P.fromBufferAttribute(Vt,Z),k.fromBufferAttribute(Vt,st),H.fromBufferAttribute(Vt,zt),rt.uv=Oe.getUV(q,a,c,f,P,k,H,new o)),Vt=new R(Z,st,zt),Oe.getNormal(a,c,f,Vt.normal),rt.face=Vt),rt}var i=new p,n=new Fi,s=new I,a=new u,c=new u,f=new u,v=new u,y=new u,A=new u,P=new o,k=new o,H=new o,q=new u,K=new u;return function(rt,xt){var gt=this.geometry,At=this.material,wt=this.matrixWorld;if(At!==void 0&&(gt.boundingSphere===null&&gt.computeBoundingSphere(),s.copy(gt.boundingSphere),s.applyMatrix4(wt),rt.ray.intersectsSphere(s)!==!1&&(i.getInverse(wt),n.copy(rt.ray).applyMatrix4(i),gt.boundingBox===null||n.intersectsBox(gt.boundingBox)!==!1))){if(gt.isBufferGeometry){var Vt=gt.index,Z=gt.attributes.position,st=gt.attributes.uv,zt=gt.groups;gt=gt.drawRange;var ee;if(Vt!==null)if(Array.isArray(At)){var $t=0;for(ee=zt.length;$t<ee;$t++){var qt=zt[$t],Te=At[qt.materialIndex];wt=Math.max(qt.start,gt.start);var me=Math.min(qt.start+qt.count,gt.start+gt.count);for(qt=wt;qt<me;qt+=3){wt=Vt.getX(qt);var Ie=Vt.getX(qt+1),be=Vt.getX(qt+2);(wt=e(this,Te,rt,n,Z,st,wt,Ie,be))&&(wt.faceIndex=Math.floor(qt/3),xt.push(wt))}}}else for(wt=Math.max(0,gt.start),me=Math.min(Vt.count,gt.start+gt.count),$t=wt,ee=me;$t<ee;$t+=3)wt=Vt.getX($t),Ie=Vt.getX($t+1),be=Vt.getX($t+2),(wt=e(this,At,rt,n,Z,st,wt,Ie,be))&&(wt.faceIndex=Math.floor($t/3),xt.push(wt));else if(Z!==void 0)if(Array.isArray(At))for($t=0,ee=zt.length;$t<ee;$t++)for(qt=zt[$t],Te=At[qt.materialIndex],wt=Math.max(qt.start,gt.start),me=Math.min(qt.start+qt.count,gt.start+gt.count),qt=wt;qt<me;qt+=3)wt=qt,Ie=qt+1,be=qt+2,(wt=e(this,Te,rt,n,Z,st,wt,Ie,be))&&(wt.faceIndex=Math.floor(qt/3),xt.push(wt));else for(wt=Math.max(0,gt.start),me=Math.min(Z.count,gt.start+gt.count),$t=wt,ee=me;$t<ee;$t+=3)wt=$t,Ie=$t+1,be=$t+2,(wt=e(this,At,rt,n,Z,st,wt,Ie,be))&&(wt.faceIndex=Math.floor($t/3),xt.push(wt))}else if(gt.isGeometry){for(Z=Array.isArray(At),st=gt.vertices,zt=gt.faces,wt=gt.faceVertexUvs[0],0<wt.length&&(Vt=wt),qt=0,me=zt.length;qt<me;qt++)if(Ie=zt[qt],wt=Z?At[Ie.materialIndex]:At,wt!==void 0){if($t=st[Ie.a],ee=st[Ie.b],Te=st[Ie.c],wt.morphTargets===!0){be=gt.morphTargets;var ae=this.morphTargetInfluences;a.set(0,0,0),c.set(0,0,0),f.set(0,0,0);for(var We=0,Ke=be.length;We<Ke;We++){var fi=ae[We];if(fi!==0){var An=be[We].vertices;a.addScaledVector(v.subVectors(An[Ie.a],$t),fi),c.addScaledVector(y.subVectors(An[Ie.b],ee),fi),f.addScaledVector(A.subVectors(An[Ie.c],Te),fi)}}a.add($t),c.add(ee),f.add(Te),$t=a,ee=c,Te=f}(wt=t(this,wt,rt,n,$t,ee,Te,q))&&(Vt&&Vt[qt]&&(be=Vt[qt],P.copy(be[0]),k.copy(be[1]),H.copy(be[2]),wt.uv=Oe.getUV(q,$t,ee,Te,P,k,H,new o)),wt.face=Ie,wt.faceIndex=qt,xt.push(wt))}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),D.prototype=Object.create(_.prototype),D.prototype.constructor=D,D.prototype.isCubeTexture=!0,Object.defineProperty(D.prototype,"images",{get:function(){return this.image},set:function(t){this.image=t}}),Q.prototype=Object.create(_.prototype),Q.prototype.constructor=Q,Q.prototype.isDataTexture3D=!0;var Vh=new _,jc=new Q,Ou=new D,nh=[],Ca=[],yl=new Float32Array(16),Iu=new Float32Array(9),Wh=new Float32Array(4);na.prototype.updateCache=function(t){var e=this.cache;t instanceof Float32Array&&e.length!==t.length&&(this.cache=new Float32Array(t.length)),vt(e,t)},qa.prototype.setValue=function(t,e,i){for(var n=this.seq,s=0,a=n.length;s!==a;++s){var c=n[s];c.setValue(t,e[c.id],i)}};var jh=/([\w\d_]+)(\])?(\[|\.)?/g;hs.prototype.setValue=function(t,e,i){e=this.map[e],e!==void 0&&e.setValue(t,i,this.renderer)},hs.prototype.setOptional=function(t,e,i){e=e[i],e!==void 0&&this.setValue(t,i,e)},hs.upload=function(t,e,i,n){for(var s=0,a=e.length;s!==a;++s){var c=e[s],f=i[c.id];f.needsUpdate!==!1&&c.setValue(t,f.value,n)}},hs.seqWithValue=function(t,e){for(var i=[],n=0,s=t.length;n!==s;++n){var a=t[n];a.id in e&&i.push(a)}return i};var ks=0,Xh=0;oe.prototype=Object.create(Yt.prototype),oe.prototype.constructor=oe,oe.prototype.isMeshDepthMaterial=!0,oe.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this},te.prototype=Object.create(Yt.prototype),te.prototype.constructor=te,te.prototype.isMeshDistanceMaterial=!0,te.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this},ci.prototype=Object.assign(Object.create(N.prototype),{constructor:ci,isGroup:!0}),Be.prototype=Object.assign(Object.create(N.prototype),{constructor:Be,isCamera:!0,copy:function(t,e){return N.prototype.copy.call(this,t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){t===void 0&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),t=new u),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(t){N.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return new this.constructor().copy(this)}}),ye.prototype=Object.assign(Object.create(Be.prototype),{constructor:ye,isPerspectiveCamera:!0,copy:function(t,e){return Be.prototype.copy.call(this,t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=t.view===null?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this},setFocalLength:function(t){t=.5*this.getFilmHeight()/t,this.fov=2*pi.RAD2DEG*Math.atan(t),this.updateProjectionMatrix()},getFocalLength:function(){var t=Math.tan(.5*pi.DEG2RAD*this.fov);return .5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*pi.RAD2DEG*Math.atan(Math.tan(.5*pi.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(t,e,i,n,s,a){this.aspect=t/e,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=n,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()},clearViewOffset:function(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=this.near,e=t*Math.tan(.5*pi.DEG2RAD*this.fov)/this.zoom,i=2*e,n=this.aspect*i,s=-.5*n,a=this.view;if(this.view!==null&&this.view.enabled){var c=a.fullWidth,f=a.fullHeight;s+=a.offsetX*n/c,e-=a.offsetY*i/f,n*=a.width/c,i*=a.height/f}a=this.filmOffset,a!==0&&(s+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+n,e,e-i,t,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){return t=N.prototype.toJSON.call(this,t),t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}),Fe.prototype=Object.assign(Object.create(ye.prototype),{constructor:Fe,isArrayCamera:!0});var oo=new u,wr=new u;Le.prototype.isFogExp2=!0,Le.prototype.clone=function(){return new Le(this.color,this.density)},Le.prototype.toJSON=function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},Sn.prototype.isFog=!0,Sn.prototype.clone=function(){return new Sn(this.color,this.near,this.far)},Sn.prototype.toJSON=function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},Xn.prototype=Object.assign(Object.create(N.prototype),{constructor:Xn,copy:function(t,e){return N.prototype.copy.call(this,t,e),t.background!==null&&(this.background=t.background.clone()),t.fog!==null&&(this.fog=t.fog.clone()),t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this},toJSON:function(t){var e=N.prototype.toJSON.call(this,t);return this.background!==null&&(e.object.background=this.background.toJSON(t)),this.fog!==null&&(e.object.fog=this.fog.toJSON()),e}}),Object.defineProperty(Di.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(Di.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=t!==void 0?t.length/this.stride:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.stride,i*=e.stride;for(var n=0,s=this.stride;n<s;n++)this.array[t+n]=e.array[i+n];return this},set:function(t,e){return e===void 0&&(e=0),this.array.set(t,e),this},clone:function(){return new this.constructor().copy(this)},onUpload:function(t){return this.onUploadCallback=t,this}}),Object.defineProperties(zi.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(zi.prototype,{isInterleavedBufferAttribute:!0,setX:function(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this},setY:function(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this},setZ:function(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this},setW:function(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this},getX:function(t){return this.data.array[t*this.data.stride+this.offset]},getY:function(t){return this.data.array[t*this.data.stride+this.offset+1]},getZ:function(t){return this.data.array[t*this.data.stride+this.offset+2]},getW:function(t){return this.data.array[t*this.data.stride+this.offset+3]},setXY:function(t,e,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this},setXYZ:function(t,e,i,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this},setXYZW:function(t,e,i,n,s){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this.data.array[t+3]=s,this}}),Gi.prototype=Object.create(Yt.prototype),Gi.prototype.constructor=Gi,Gi.prototype.isSpriteMaterial=!0,Gi.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this};var Pa;nn.prototype=Object.assign(Object.create(N.prototype),{constructor:nn,isSprite:!0,raycast:function(){function t(H,q,K,rt,xt,gt){s.subVectors(H,K).addScalar(.5).multiply(rt),xt!==void 0?(a.x=gt*s.x-xt*s.y,a.y=xt*s.x+gt*s.y):a.copy(s),H.copy(q),H.x+=a.x,H.y+=a.y,H.applyMatrix4(c)}var e=new u,i=new u,n=new u,s=new o,a=new o,c=new p,f=new u,v=new u,y=new u,A=new o,P=new o,k=new o;return function(H,q){i.setFromMatrixScale(this.matrixWorld),c.getInverse(this.modelViewMatrix).premultiply(this.matrixWorld),n.setFromMatrixPosition(this.modelViewMatrix);var K=this.material.rotation;if(K!==0)var rt=Math.cos(K),xt=Math.sin(K);K=this.center,t(f.set(-.5,-.5,0),n,K,i,xt,rt),t(v.set(.5,-.5,0),n,K,i,xt,rt),t(y.set(.5,.5,0),n,K,i,xt,rt),A.set(0,0),P.set(1,0),k.set(1,1);var gt=H.ray.intersectTriangle(f,v,y,!1,e);gt===null&&(t(v.set(-.5,.5,0),n,K,i,xt,rt),P.set(0,1),gt=H.ray.intersectTriangle(f,y,v,!1,e),gt===null)||(xt=H.ray.origin.distanceTo(e),xt<H.near||xt>H.far||q.push({distance:xt,point:e.clone(),uv:Oe.getUV(e,f,v,y,A,P,k,new o),face:null,object:this}))}}(),clone:function(){return new this.constructor(this.material).copy(this)},copy:function(t){return N.prototype.copy.call(this,t),t.center!==void 0&&this.center.copy(t.center),this}}),rn.prototype=Object.assign(Object.create(N.prototype),{constructor:rn,copy:function(t){N.prototype.copy.call(this,t,!1),t=t.levels;for(var e=0,i=t.length;e<i;e++){var n=t[e];this.addLevel(n.object.clone(),n.distance)}return this},addLevel:function(t,e){e===void 0&&(e=0),e=Math.abs(e);for(var i=this.levels,n=0;n<i.length&&!(e<i[n].distance);n++);i.splice(n,0,{distance:e,object:t}),this.add(t)},getObjectForDistance:function(t){for(var e=this.levels,i=1,n=e.length;i<n&&!(t<e[i].distance);i++);return e[i-1].object},raycast:function(){var t=new u;return function(e,i){t.setFromMatrixPosition(this.matrixWorld);var n=e.ray.origin.distanceTo(t);this.getObjectForDistance(n).raycast(e,i)}}(),update:function(){var t=new u,e=new u;return function(i){var n=this.levels;if(1<n.length){t.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(this.matrixWorld),i=t.distanceTo(e),n[0].object.visible=!0;for(var s=1,a=n.length;s<a&&i>=n[s].distance;s++)n[s-1].object.visible=!1,n[s].object.visible=!0;for(;s<a;s++)n[s].object.visible=!1}}}(),toJSON:function(t){t=N.prototype.toJSON.call(this,t),t.object.levels=[];for(var e=this.levels,i=0,n=e.length;i<n;i++){var s=e[i];t.object.levels.push({object:s.object.uuid,distance:s.distance})}return t}}),Object.assign(un.prototype,{calculateInverses:function(){this.boneInverses=[];for(var t=0,e=this.bones.length;t<e;t++){var i=new p;this.bones[t]&&i.getInverse(this.bones[t].matrixWorld),this.boneInverses.push(i)}},pose:function(){var t,e,i=0;for(e=this.bones.length;i<e;i++)(t=this.bones[i])&&t.matrixWorld.getInverse(this.boneInverses[i]);for(i=0,e=this.bones.length;i<e;i++)(t=this.bones[i])&&(t.parent&&t.parent.isBone?(t.matrix.getInverse(t.parent.matrixWorld),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))},update:function(){var t=new p,e=new p;return function(){for(var i=this.bones,n=this.boneInverses,s=this.boneMatrices,a=this.boneTexture,c=0,f=i.length;c<f;c++)t.multiplyMatrices(i[c]?i[c].matrixWorld:e,n[c]),t.toArray(s,16*c);a!==void 0&&(a.needsUpdate=!0)}}(),clone:function(){return new un(this.bones,this.boneInverses)},getBoneByName:function(t){for(var e=0,i=this.bones.length;e<i;e++){var n=this.bones[e];if(n.name===t)return n}}}),cn.prototype=Object.assign(Object.create(N.prototype),{constructor:cn,isBone:!0}),Ui.prototype=Object.assign(Object.create(di.prototype),{constructor:Ui,isSkinnedMesh:!0,initBones:function(){var t=[],e;if(this.geometry&&this.geometry.bones!==void 0){var i=0;for(e=this.geometry.bones.length;i<e;i++){var n=this.geometry.bones[i],s=new cn;t.push(s),s.name=n.name,s.position.fromArray(n.pos),s.quaternion.fromArray(n.rotq),n.scl!==void 0&&s.scale.fromArray(n.scl)}for(i=0,e=this.geometry.bones.length;i<e;i++)n=this.geometry.bones[i],n.parent!==-1&&n.parent!==null&&t[n.parent]!==void 0?t[n.parent].add(t[i]):this.add(t[i])}return this.updateMatrixWorld(!0),t},bind:function(t,e){this.skeleton=t,e===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var t;if(this.geometry&&this.geometry.isGeometry)for(t=0;t<this.geometry.skinWeights.length;t++){var e=this.geometry.skinWeights[t],i=1/e.manhattanLength();i!==1/0?e.multiplyScalar(i):e.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){e=new w;var n=this.geometry.attributes.skinWeight;for(t=0;t<n.count;t++)e.x=n.getX(t),e.y=n.getY(t),e.z=n.getZ(t),e.w=n.getW(t),i=1/e.manhattanLength(),i!==1/0?e.multiplyScalar(i):e.set(1,0,0,0),n.setXYZW(t,e.x,e.y,e.z,e.w)}},updateMatrixWorld:function(t){di.prototype.updateMatrixWorld.call(this,t),this.bindMode==="attached"?this.bindMatrixInverse.getInverse(this.matrixWorld):this.bindMode==="detached"?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),ki.prototype=Object.create(Yt.prototype),ki.prototype.constructor=ki,ki.prototype.isLineBasicMaterial=!0,ki.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this},Wi.prototype=Object.assign(Object.create(N.prototype),{constructor:Wi,isLine:!0,computeLineDistances:function(){var t=new u,e=new u;return function(){var i=this.geometry;if(i.isBufferGeometry)if(i.index===null){for(var n=i.attributes.position,s=[0],a=1,c=n.count;a<c;a++)t.fromBufferAttribute(n,a-1),e.fromBufferAttribute(n,a),s[a]=s[a-1],s[a]+=t.distanceTo(e);i.addAttribute("lineDistance",new Et(s,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(i.isGeometry)for(n=i.vertices,s=i.lineDistances,s[0]=0,a=1,c=n.length;a<c;a++)s[a]=s[a-1],s[a]+=n[a-1].distanceTo(n[a]);return this}}(),raycast:function(){var t=new p,e=new Fi,i=new I;return function(n,s){var a=n.linePrecision,c=this.geometry,f=this.matrixWorld;if(c.boundingSphere===null&&c.computeBoundingSphere(),i.copy(c.boundingSphere),i.applyMatrix4(f),i.radius+=a,n.ray.intersectsSphere(i)!==!1){t.getInverse(f),e.copy(n.ray).applyMatrix4(t),a/=(this.scale.x+this.scale.y+this.scale.z)/3,a*=a;var v=new u,y=new u;f=new u;var A=new u,P=this&&this.isLineSegments?2:1;if(c.isBufferGeometry){var k=c.index,H=c.attributes.position.array;if(k!==null){k=k.array,c=0;for(var q=k.length-1;c<q;c+=P){var K=k[c+1];v.fromArray(H,3*k[c]),y.fromArray(H,3*K),K=e.distanceSqToSegment(v,y,A,f),K>a||(A.applyMatrix4(this.matrixWorld),K=n.ray.origin.distanceTo(A),K<n.near||K>n.far||s.push({distance:K,point:f.clone().applyMatrix4(this.matrixWorld),index:c,face:null,faceIndex:null,object:this}))}}else for(c=0,q=H.length/3-1;c<q;c+=P)v.fromArray(H,3*c),y.fromArray(H,3*c+3),K=e.distanceSqToSegment(v,y,A,f),K>a||(A.applyMatrix4(this.matrixWorld),K=n.ray.origin.distanceTo(A),K<n.near||K>n.far||s.push({distance:K,point:f.clone().applyMatrix4(this.matrixWorld),index:c,face:null,faceIndex:null,object:this}))}else if(c.isGeometry)for(v=c.vertices,y=v.length,c=0;c<y-1;c+=P)K=e.distanceSqToSegment(v[c],v[c+1],A,f),K>a||(A.applyMatrix4(this.matrixWorld),K=n.ray.origin.distanceTo(A),K<n.near||K>n.far||s.push({distance:K,point:f.clone().applyMatrix4(this.matrixWorld),index:c,face:null,faceIndex:null,object:this}))}}}(),copy:function(t){return N.prototype.copy.call(this,t),this.geometry.copy(t.geometry),this.material.copy(t.material),this},clone:function(){return new this.constructor().copy(this)}}),gi.prototype=Object.assign(Object.create(Wi.prototype),{constructor:gi,isLineSegments:!0,computeLineDistances:function(){var t=new u,e=new u;return function(){var i=this.geometry;if(i.isBufferGeometry)if(i.index===null){for(var n=i.attributes.position,s=[],a=0,c=n.count;a<c;a+=2)t.fromBufferAttribute(n,a),e.fromBufferAttribute(n,a+1),s[a]=a===0?0:s[a-1],s[a+1]=s[a]+t.distanceTo(e);i.addAttribute("lineDistance",new Et(s,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(i.isGeometry)for(n=i.vertices,s=i.lineDistances,a=0,c=n.length;a<c;a+=2)t.copy(n[a]),e.copy(n[a+1]),s[a]=a===0?0:s[a-1],s[a+1]=s[a]+t.distanceTo(e);return this}}()}),cs.prototype=Object.assign(Object.create(Wi.prototype),{constructor:cs,isLineLoop:!0}),Fn.prototype=Object.create(Yt.prototype),Fn.prototype.constructor=Fn,Fn.prototype.isPointsMaterial=!0,Fn.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.morphTargets=t.morphTargets,this},oa.prototype=Object.assign(Object.create(N.prototype),{constructor:oa,isPoints:!0,raycast:function(){var t=new p,e=new Fi,i=new I;return function(n,s){function a(rt,xt){var gt=e.distanceSqToPoint(rt);gt<A&&(e.closestPointToPoint(rt,P),P.applyMatrix4(v),rt=n.ray.origin.distanceTo(P),rt<n.near||rt>n.far||s.push({distance:rt,distanceToRay:Math.sqrt(gt),point:P.clone(),index:xt,face:null,object:c}))}var c=this,f=this.geometry,v=this.matrixWorld,y=n.params.Points.threshold;if(f.boundingSphere===null&&f.computeBoundingSphere(),i.copy(f.boundingSphere),i.applyMatrix4(v),i.radius+=y,n.ray.intersectsSphere(i)!==!1){t.getInverse(v),e.copy(n.ray).applyMatrix4(t),y/=(this.scale.x+this.scale.y+this.scale.z)/3;var A=y*y;y=new u;var P=new u;if(f.isBufferGeometry){var k=f.index;if(f=f.attributes.position.array,k!==null){var H=k.array;k=0;for(var q=H.length;k<q;k++){var K=H[k];y.fromArray(f,3*K),a(y,K)}}else for(k=0,H=f.length/3;k<H;k++)y.fromArray(f,3*k),a(y,k)}else for(y=f.vertices,k=0,H=y.length;k<H;k++)a(y[k],k)}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Rh.prototype=Object.assign(Object.create(_.prototype),{constructor:Rh,isVideoTexture:!0,update:function(){var t=this.image;t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),qs.prototype=Object.create(_.prototype),qs.prototype.constructor=qs,qs.prototype.isCompressedTexture=!0,Za.prototype=Object.create(_.prototype),Za.prototype.constructor=Za,Za.prototype.isCanvasTexture=!0,Ja.prototype=Object.create(_.prototype),Ja.prototype.constructor=Ja,Ja.prototype.isDepthTexture=!0,aa.prototype=Object.create(Ft.prototype),aa.prototype.constructor=aa,$a.prototype=Object.create(j.prototype),$a.prototype.constructor=$a,la.prototype=Object.create(Ft.prototype),la.prototype.constructor=la,ji.prototype=Object.create(j.prototype),ji.prototype.constructor=ji,xi.prototype=Object.create(Ft.prototype),xi.prototype.constructor=xi,Ka.prototype=Object.create(j.prototype),Ka.prototype.constructor=Ka,ha.prototype=Object.create(xi.prototype),ha.prototype.constructor=ha,Qa.prototype=Object.create(j.prototype),Qa.prototype.constructor=Qa,_o.prototype=Object.create(xi.prototype),_o.prototype.constructor=_o,tl.prototype=Object.create(j.prototype),tl.prototype.constructor=tl,ua.prototype=Object.create(xi.prototype),ua.prototype.constructor=ua,ca.prototype=Object.create(j.prototype),ca.prototype.constructor=ca,fa.prototype=Object.create(xi.prototype),fa.prototype.constructor=fa,gn.prototype=Object.create(j.prototype),gn.prototype.constructor=gn,Ys.prototype=Object.create(Ft.prototype),Ys.prototype.constructor=Ys,Zr.prototype=Object.create(j.prototype),Zr.prototype.constructor=Zr,yo.prototype=Object.create(Ft.prototype),yo.prototype.constructor=yo,xo.prototype=Object.create(j.prototype),xo.prototype.constructor=xo,Un.prototype=Object.create(Ft.prototype),Un.prototype.constructor=Un;var Du={triangulate:function(t,e,i){i=i||2;var n=e&&e.length,s=n?e[0]*i:t.length,a=Oh(t,0,s,i,!0),c=[];if(!a)return c;var f;if(n){var v=i;n=[];var y,A=0;for(y=e.length;A<y;A++){var P=e[A]*v,k=A<y-1?e[A+1]*v:t.length;P=Oh(t,P,k,v,!1),P===P.next&&(P.steiner=!0),n.push(_r(P))}for(n.sort(xu),A=0;A<n.length;A++)e=n[A],v=a,(v=wu(e,v))&&(e=el(v,e),pa(e,e.next)),a=pa(a,a.next)}if(t.length>80*i){var H=f=t[0],q=n=t[1];for(v=i;v<s;v+=i)A=t[v],e=t[v+1],A<H&&(H=A),e<q&&(q=e),A>f&&(f=A),e>n&&(n=e);f=Math.max(f-H,n-q),f=f!==0?1/f:0}return da(a,c,i,H,q,f),c}},ws={area:function(t){for(var e=t.length,i=0,n=e-1,s=0;s<e;n=s++)i+=t[n].x*t[s].y-t[s].x*t[n].y;return .5*i},isClockWise:function(t){return 0>ws.area(t)},triangulateShape:function(t,e){var i=[],n=[],s=[];ql(t),Tu(i,t);var a=t.length;for(e.forEach(ql),t=0;t<e.length;t++)n.push(a),a+=e[t].length,Tu(i,e[t]);for(e=Du.triangulate(i,n),t=0;t<e.length;t+=3)s.push(e.slice(t,t+3));return s}};Cs.prototype=Object.create(j.prototype),Cs.prototype.constructor=Cs,Cs.prototype.toJSON=function(){var t=j.prototype.toJSON.call(this);return Mu(this.parameters.shapes,this.parameters.options,t)},ps.prototype=Object.create(Ft.prototype),ps.prototype.constructor=ps,ps.prototype.toJSON=function(){var t=Ft.prototype.toJSON.call(this);return Mu(this.parameters.shapes,this.parameters.options,t)};var xl={generateTopUV:function(t,e,i,n,s){t=e[3*n],n=e[3*n+1];var a=e[3*s];return s=e[3*s+1],[new o(e[3*i],e[3*i+1]),new o(t,n),new o(a,s)]},generateSideWallUV:function(t,e,i,n,s,a){t=e[3*i];var c=e[3*i+1];i=e[3*i+2];var f=e[3*n],v=e[3*n+1];n=e[3*n+2];var y=e[3*s],A=e[3*s+1];s=e[3*s+2];var P=e[3*a],k=e[3*a+1];return e=e[3*a+2],.01>Math.abs(c-v)?[new o(t,1-i),new o(f,1-n),new o(y,1-s),new o(P,1-e)]:[new o(c,1-i),new o(v,1-n),new o(A,1-s),new o(k,1-e)]}};il.prototype=Object.create(j.prototype),il.prototype.constructor=il,To.prototype=Object.create(ps.prototype),To.prototype.constructor=To,Zs.prototype=Object.create(j.prototype),Zs.prototype.constructor=Zs,Or.prototype=Object.create(Ft.prototype),Or.prototype.constructor=Or,nl.prototype=Object.create(j.prototype),nl.prototype.constructor=nl,Mo.prototype=Object.create(Ft.prototype),Mo.prototype.constructor=Mo,ma.prototype=Object.create(j.prototype),ma.prototype.constructor=ma,Js.prototype=Object.create(Ft.prototype),Js.prototype.constructor=Js,Ps.prototype=Object.create(j.prototype),Ps.prototype.constructor=Ps,Ps.prototype.toJSON=function(){var t=j.prototype.toJSON.call(this);return Su(this.parameters.shapes,t)},$s.prototype=Object.create(Ft.prototype),$s.prototype.constructor=$s,$s.prototype.toJSON=function(){var t=Ft.prototype.toJSON.call(this);return Su(this.parameters.shapes,t)},Ks.prototype=Object.create(Ft.prototype),Ks.prototype.constructor=Ks,Ls.prototype=Object.create(j.prototype),Ls.prototype.constructor=Ls,Rs.prototype=Object.create(Ft.prototype),Rs.prototype.constructor=Rs,ga.prototype=Object.create(Ls.prototype),ga.prototype.constructor=ga,Gn.prototype=Object.create(Rs.prototype),Gn.prototype.constructor=Gn,So.prototype=Object.create(j.prototype),So.prototype.constructor=So,ds.prototype=Object.create(Ft.prototype),ds.prototype.constructor=ds;var _n=Object.freeze({WireframeGeometry:aa,ParametricGeometry:$a,ParametricBufferGeometry:la,TetrahedronGeometry:Ka,TetrahedronBufferGeometry:ha,OctahedronGeometry:Qa,OctahedronBufferGeometry:_o,IcosahedronGeometry:tl,IcosahedronBufferGeometry:ua,DodecahedronGeometry:ca,DodecahedronBufferGeometry:fa,PolyhedronGeometry:ji,PolyhedronBufferGeometry:xi,TubeGeometry:gn,TubeBufferGeometry:Ys,TorusKnotGeometry:Zr,TorusKnotBufferGeometry:yo,TorusGeometry:xo,TorusBufferGeometry:Un,TextGeometry:il,TextBufferGeometry:To,SphereGeometry:Zs,SphereBufferGeometry:Or,RingGeometry:nl,RingBufferGeometry:Mo,PlaneGeometry:ke,PlaneBufferGeometry:fe,LatheGeometry:ma,LatheBufferGeometry:Js,ShapeGeometry:Ps,ShapeBufferGeometry:$s,ExtrudeGeometry:Cs,ExtrudeBufferGeometry:ps,EdgesGeometry:Ks,ConeGeometry:ga,ConeBufferGeometry:Gn,CylinderGeometry:Ls,CylinderBufferGeometry:Rs,CircleGeometry:So,CircleBufferGeometry:ds,BoxGeometry:Ot,BoxBufferGeometry:Bt});Qs.prototype=Object.create(Yt.prototype),Qs.prototype.constructor=Qs,Qs.prototype.isShadowMaterial=!0,Qs.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this},Eo.prototype=Object.create(ti.prototype),Eo.prototype.constructor=Eo,Eo.prototype.isRawShaderMaterial=!0,ms.prototype=Object.create(Yt.prototype),ms.prototype.constructor=ms,ms.prototype.isMeshStandardMaterial=!0,ms.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},bo.prototype=Object.create(ms.prototype),bo.prototype.constructor=bo,bo.prototype.isMeshPhysicalMaterial=!0,bo.prototype.copy=function(t){return ms.prototype.copy.call(this,t),this.defines={PHYSICAL:""},this.reflectivity=t.reflectivity,this.clearCoat=t.clearCoat,this.clearCoatRoughness=t.clearCoatRoughness,this},Jr.prototype=Object.create(Yt.prototype),Jr.prototype.constructor=Jr,Jr.prototype.isMeshPhongMaterial=!0,Jr.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Ao.prototype=Object.create(Jr.prototype),Ao.prototype.constructor=Ao,Ao.prototype.isMeshToonMaterial=!0,Ao.prototype.copy=function(t){return Jr.prototype.copy.call(this,t),this.gradientMap=t.gradientMap,this},Co.prototype=Object.create(Yt.prototype),Co.prototype.constructor=Co,Co.prototype.isMeshNormalMaterial=!0,Co.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Ir.prototype=Object.create(Yt.prototype),Ir.prototype.constructor=Ir,Ir.prototype.isMeshLambertMaterial=!0,Ir.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Po.prototype=Object.create(Yt.prototype),Po.prototype.constructor=Po,Po.prototype.isMeshMatcapMaterial=!0,Po.prototype.copy=function(t){return Yt.prototype.copy.call(this,t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Lo.prototype=Object.create(ki.prototype),Lo.prototype.constructor=Lo,Lo.prototype.isLineDashedMaterial=!0,Lo.prototype.copy=function(t){return ki.prototype.copy.call(this,t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this};var zu=Object.freeze({ShadowMaterial:Qs,SpriteMaterial:Gi,RawShaderMaterial:Eo,ShaderMaterial:ti,PointsMaterial:Fn,MeshPhysicalMaterial:bo,MeshStandardMaterial:ms,MeshPhongMaterial:Jr,MeshToonMaterial:Ao,MeshNormalMaterial:Co,MeshLambertMaterial:Ir,MeshDepthMaterial:oe,MeshDistanceMaterial:te,MeshBasicMaterial:Ge,MeshMatcapMaterial:Po,LineDashedMaterial:Lo,LineBasicMaterial:ki,Material:Yt}),Yn={arraySlice:function(t,e,i){return Yn.isTypedArray(t)?new t.constructor(t.subarray(e,i!==void 0?i:t.length)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){for(var e=t.length,i=Array(e),n=0;n!==e;++n)i[n]=n;return i.sort(function(s,a){return t[s]-t[a]}),i},sortedArray:function(t,e,i){for(var n=t.length,s=new t.constructor(n),a=0,c=0;c!==n;++a)for(var f=i[a]*e,v=0;v!==e;++v)s[c++]=t[f+v];return s},flattenJSON:function(t,e,i,n){for(var s=1,a=t[0];a!==void 0&&a[n]===void 0;)a=t[s++];if(a!==void 0){var c=a[n];if(c!==void 0)if(Array.isArray(c))do c=a[n],c!==void 0&&(e.push(a.time),i.push.apply(i,c)),a=t[s++];while(a!==void 0);else if(c.toArray!==void 0)do c=a[n],c!==void 0&&(e.push(a.time),c.toArray(i,i.length)),a=t[s++];while(a!==void 0);else do c=a[n],c!==void 0&&(e.push(a.time),i.push(c)),a=t[s++];while(a!==void 0)}}};Object.assign($n.prototype,{evaluate:function(t){var e=this.parameterPositions,i=this._cachedIndex,n=e[i],s=e[i-1];t:{e:{i:{n:if(!(t<n)){for(var a=i+2;;){if(n===void 0){if(t<s)break n;return this._cachedIndex=i=e.length,this.afterEnd_(i-1,t,s)}if(i===a)break;if(s=n,n=e[++i],t<n)break e}n=e.length;break i}if(t>=s)break t;for(a=e[1],t<a&&(i=2,s=a),a=i-2;;){if(s===void 0)return this._cachedIndex=0,this.beforeStart_(0,t,n);if(i===a)break;if(n=s,s=e[--i-1],t>=s)break e}n=i,i=0}for(;i<n;)s=i+n>>>1,t<e[s]?n=s:i=s+1;if(n=e[i],s=e[i-1],s===void 0)return this._cachedIndex=0,this.beforeStart_(0,t,n);if(n===void 0)return this._cachedIndex=i=e.length,this.afterEnd_(i-1,s,t)}this._cachedIndex=i,this.intervalChanged_(i,s,n)}return this.interpolate_(i,s,t,n)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(t){var e=this.resultBuffer,i=this.sampleValues,n=this.valueSize;t*=n;for(var s=0;s!==n;++s)e[s]=i[t+s];return e},interpolate_:function(){throw Error("call to abstract method")},intervalChanged_:function(){}}),Object.assign($n.prototype,{beforeStart_:$n.prototype.copySampleValue_,afterEnd_:$n.prototype.copySampleValue_}),rl.prototype=Object.assign(Object.create($n.prototype),{constructor:rl,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(t,e,i){var n=this.parameterPositions,s=t-2,a=t+1,c=n[s],f=n[a];if(c===void 0)switch(this.getSettings_().endingStart){case 2401:s=t,c=2*e-i;break;case 2402:s=n.length-2,c=e+n[s]-n[s+1];break;default:s=t,c=i}if(f===void 0)switch(this.getSettings_().endingEnd){case 2401:a=t,f=2*i-e;break;case 2402:a=1,f=i+n[1]-n[0];break;default:a=t-1,f=e}t=.5*(i-e),n=this.valueSize,this._weightPrev=t/(e-c),this._weightNext=t/(f-i),this._offsetPrev=s*n,this._offsetNext=a*n},interpolate_:function(t,e,i,n){var s=this.resultBuffer,a=this.sampleValues,c=this.valueSize;t*=c;var f=t-c,v=this._offsetPrev,y=this._offsetNext,A=this._weightPrev,P=this._weightNext,k=(i-e)/(n-e);for(i=k*k,n=i*k,e=-A*n+2*A*i-A*k,A=(1+A)*n+(-1.5-2*A)*i+(-.5+A)*k+1,k=(-1-P)*n+(1.5+P)*i+.5*k,P=P*n-P*i,i=0;i!==c;++i)s[i]=e*a[v+i]+A*a[f+i]+k*a[t+i]+P*a[y+i];return s}}),Dr.prototype=Object.assign(Object.create($n.prototype),{constructor:Dr,interpolate_:function(t,e,i,n){var s=this.resultBuffer,a=this.sampleValues,c=this.valueSize;t*=c;var f=t-c;for(e=(i-e)/(n-e),i=1-e,n=0;n!==c;++n)s[n]=a[f+n]*i+a[t+n]*e;return s}}),Ro.prototype=Object.assign(Object.create($n.prototype),{constructor:Ro,interpolate_:function(t){return this.copySampleValue_(t-1)}}),Object.assign(Hn,{toJSON:function(t){var e=t.constructor;if(e.toJSON!==void 0)e=e.toJSON(t);else{e={name:t.name,times:Yn.convertArray(t.times,Array),values:Yn.convertArray(t.values,Array)};var i=t.getInterpolation();i!==t.DefaultInterpolation&&(e.interpolation=i)}return e.type=t.ValueTypeName,e}}),Object.assign(Hn.prototype,{constructor:Hn,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(t){return new Ro(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodLinear:function(t){return new Dr(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:function(t){return new rl(this.times,this.values,this.getValueSize(),t)},setInterpolation:function(t){switch(t){case 2300:var e=this.InterpolantFactoryMethodDiscrete;break;case 2301:e=this.InterpolantFactoryMethodLinear;break;case 2302:e=this.InterpolantFactoryMethodSmooth}if(e===void 0){if(e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name,this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(e);return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=e,this},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(t){if(t!==0)for(var e=this.times,i=0,n=e.length;i!==n;++i)e[i]+=t;return this},scale:function(t){if(t!==1)for(var e=this.times,i=0,n=e.length;i!==n;++i)e[i]*=t;return this},trim:function(t,e){for(var i=this.times,n=i.length,s=0,a=n-1;s!==n&&i[s]<t;)++s;for(;a!==-1&&i[a]>e;)--a;return++a,(s!==0||a!==n)&&(s>=a&&(a=Math.max(a,1),s=a-1),t=this.getValueSize(),this.times=Yn.arraySlice(i,s,a),this.values=Yn.arraySlice(this.values,s*t,a*t)),this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);var i=this.times;e=this.values;var n=i.length;n===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);for(var s=null,a=0;a!==n;a++){var c=i[a];if(typeof c=="number"&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),t=!1;break}if(s!==null&&s>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,s),t=!1;break}s=c}if(e!==void 0&&Yn.isTypedArray(e)){for(a=0,i=e.length;a!==i;++a)if(n=e[a],isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,n),t=!1;break}}return t},optimize:function(){for(var t=this.times,e=this.values,i=this.getValueSize(),n=this.getInterpolation()===2302,s=1,a=t.length-1,c=1;c<a;++c){var f=!1,v=t[c];if(v!==t[c+1]&&(c!==1||v!==v[0]))if(n)f=!0;else{var y=c*i,A=y-i,P=y+i;for(v=0;v!==i;++v){var k=e[y+v];if(k!==e[A+v]||k!==e[P+v]){f=!0;break}}}if(f){if(c!==s)for(t[s]=t[c],f=c*i,y=s*i,v=0;v!==i;++v)e[y+v]=e[f+v];++s}}if(0<a){for(t[s]=t[a],f=a*i,y=s*i,v=0;v!==i;++v)e[y+v]=e[f+v];++s}return s!==t.length&&(this.times=Yn.arraySlice(t,0,s),this.values=Yn.arraySlice(e,0,s*i)),this}}),Yl.prototype=Object.assign(Object.create(Hn.prototype),{constructor:Yl,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Zl.prototype=Object.assign(Object.create(Hn.prototype),{constructor:Zl,ValueTypeName:"color"}),$r.prototype=Object.assign(Object.create(Hn.prototype),{constructor:$r,ValueTypeName:"number"}),ar.prototype=Object.assign(Object.create($n.prototype),{constructor:ar,interpolate_:function(t,e,i,n){var s=this.resultBuffer,a=this.sampleValues,c=this.valueSize;for(t*=c,e=(i-e)/(n-e),i=t+c;t!==i;t+=4)d.slerpFlat(s,0,a,t-c,a,t,e);return s}}),va.prototype=Object.assign(Object.create(Hn.prototype),{constructor:va,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(t){return new ar(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),Jl.prototype=Object.assign(Object.create(Hn.prototype),{constructor:Jl,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),_a.prototype=Object.assign(Object.create(Hn.prototype),{constructor:_a,ValueTypeName:"vector"}),Object.assign(yr,{parse:function(t){for(var e=[],i=t.tracks,n=1/(t.fps||1),s=0,a=i.length;s!==a;++s)e.push(Gc(i[s]).scale(n));return new yr(t.name,t.duration,e)},toJSON:function(t){var e=[],i=t.tracks;t={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid};for(var n=0,s=i.length;n!==s;++n)e.push(Hn.toJSON(i[n]));return t},CreateFromMorphTargetSequence:function(t,e,i,n){for(var s=e.length,a=[],c=0;c<s;c++){var f=[],v=[];f.push((c+s-1)%s,c,(c+1)%s),v.push(0,1,0);var y=Yn.getKeyframeOrder(f);f=Yn.sortedArray(f,1,y),v=Yn.sortedArray(v,1,y),n||f[0]!==0||(f.push(s),v.push(v[0])),a.push(new $r(".morphTargetInfluences["+e[c].name+"]",f,v).scale(1/i))}return new yr(t,-1,a)},findByName:function(t,e){var i=t;for(Array.isArray(t)||(i=t.geometry&&t.geometry.animations||t.animations),t=0;t<i.length;t++)if(i[t].name===e)return i[t];return null},CreateClipsFromMorphTargetSequences:function(t,e,i){for(var n={},s=/^([\w-]*?)([\d]+)$/,a=0,c=t.length;a<c;a++){var f=t[a],v=f.name.match(s);if(v&&1<v.length){var y=v[1];(v=n[y])||(n[y]=v=[]),v.push(f)}}t=[];for(y in n)t.push(yr.CreateFromMorphTargetSequence(y,n[y],e,i));return t},parseAnimation:function(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;var i=function(K,rt,xt,gt,At){if(xt.length!==0){var wt=[],Vt=[];Yn.flattenJSON(xt,wt,Vt,gt),wt.length!==0&&At.push(new K(rt,wt,Vt))}},n=[],s=t.name||"default",a=t.length||-1,c=t.fps||30;t=t.hierarchy||[];for(var f=0;f<t.length;f++){var v=t[f].keys;if(v&&v.length!==0)if(v[0].morphTargets){a={};for(var y=0;y<v.length;y++)if(v[y].morphTargets)for(var A=0;A<v[y].morphTargets.length;A++)a[v[y].morphTargets[A]]=-1;for(var P in a){var k=[],H=[];for(A=0;A!==v[y].morphTargets.length;++A){var q=v[y];k.push(q.time),H.push(q.morphTarget===P?1:0)}n.push(new $r(".morphTargetInfluence["+P+"]",k,H))}a=a.length*(c||1)}else y=".bones["+e[f].name+"]",i(_a,y+".position",v,"pos",n),i(va,y+".quaternion",v,"rot",n),i(_a,y+".scale",v,"scl",n)}return n.length===0?null:new yr(s,a,n)}}),Object.assign(yr.prototype,{resetDuration:function(){for(var t=0,e=0,i=this.tracks.length;e!==i;++e){var n=this.tracks[e];t=Math.max(t,n.times[n.times.length-1])}return this.duration=t,this},trim:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this},validate:function(){for(var t=!0,e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t},optimize:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}});var Ts={enabled:!1,files:{},add:function(t,e){this.enabled!==!1&&(this.files[t]=e)},get:function(t){if(this.enabled!==!1)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}},tr=new to,Br={};Object.assign(Lt.prototype,{load:function(t,e,i,n){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);var s=this,a=Ts.get(t);if(a!==void 0)return s.manager.itemStart(t),setTimeout(function(){e&&e(a),s.manager.itemEnd(t)},0),a;if(Br[t]!==void 0)Br[t].push({onLoad:e,onProgress:i,onError:n});else{var c=t.match(/^data:(.*?)(;base64)?,(.*)$/);if(c){i=c[1];var f=!!c[2];c=c[3],c=decodeURIComponent(c),f&&(c=atob(c));try{var v=(this.responseType||"").toLowerCase();switch(v){case"arraybuffer":case"blob":var y=new Uint8Array(c.length);for(f=0;f<c.length;f++)y[f]=c.charCodeAt(f);var A=v==="blob"?new Blob([y.buffer],{type:i}):y.buffer;break;case"document":A=new DOMParser().parseFromString(c,i);break;case"json":A=JSON.parse(c);break;default:A=c}setTimeout(function(){e&&e(A),s.manager.itemEnd(t)},0)}catch(k){setTimeout(function(){n&&n(k),s.manager.itemError(t),s.manager.itemEnd(t)},0)}}else{Br[t]=[],Br[t].push({onLoad:e,onProgress:i,onError:n});var P=new XMLHttpRequest;P.open("GET",t,!0),P.addEventListener("load",function(k){var H=this.response;Ts.add(t,H);var q=Br[t];if(delete Br[t],this.status===200||this.status===0){this.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received.");for(var K=0,rt=q.length;K<rt;K++){var xt=q[K];xt.onLoad&&xt.onLoad(H)}}else{for(K=0,rt=q.length;K<rt;K++)xt=q[K],xt.onError&&xt.onError(k);s.manager.itemError(t)}s.manager.itemEnd(t)},!1),P.addEventListener("progress",function(k){for(var H=Br[t],q=0,K=H.length;q<K;q++){var rt=H[q];rt.onProgress&&rt.onProgress(k)}},!1),P.addEventListener("error",function(k){var H=Br[t];delete Br[t];for(var q=0,K=H.length;q<K;q++){var rt=H[q];rt.onError&&rt.onError(k)}s.manager.itemError(t),s.manager.itemEnd(t)},!1),P.addEventListener("abort",function(k){var H=Br[t];delete Br[t];for(var q=0,K=H.length;q<K;q++){var rt=H[q];rt.onError&&rt.onError(k)}s.manager.itemError(t),s.manager.itemEnd(t)},!1),this.responseType!==void 0&&(P.responseType=this.responseType),this.withCredentials!==void 0&&(P.withCredentials=this.withCredentials),P.overrideMimeType&&P.overrideMimeType(this.mimeType!==void 0?this.mimeType:"text/plain");for(f in this.requestHeader)P.setRequestHeader(f,this.requestHeader[f]);P.send(null)}return s.manager.itemStart(t),P}},setPath:function(t){return this.path=t,this},setResponseType:function(t){return this.responseType=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setMimeType:function(t){return this.mimeType=t,this},setRequestHeader:function(t){return this.requestHeader=t,this}}),Object.assign(Qt.prototype,{load:function(t,e,i,n){var s=this,a=new Lt(s.manager);a.setPath(s.path),a.load(t,function(c){e(s.parse(JSON.parse(c)))},i,n)},parse:function(t,e){for(var i=[],n=0;n<t.length;n++){var s=yr.parse(t[n]);i.push(s)}e(i)},setPath:function(t){return this.path=t,this}}),Object.assign(Zt.prototype,{load:function(t,e,i,n){function s(k){v.load(t[k],function(H){H=a._parser(H,!0),c[k]={width:H.width,height:H.height,format:H.format,mipmaps:H.mipmaps},y+=1,y===6&&(H.mipmapCount===1&&(f.minFilter=1006),f.format=H.format,f.needsUpdate=!0,e&&e(f))},i,n)}var a=this,c=[],f=new qs;f.image=c;var v=new Lt(this.manager);if(v.setPath(this.path),v.setResponseType("arraybuffer"),Array.isArray(t))for(var y=0,A=0,P=t.length;A<P;++A)s(A);else v.load(t,function(k){if(k=a._parser(k,!0),k.isCubemap)for(var H=k.mipmaps.length/k.mipmapCount,q=0;q<H;q++){c[q]={mipmaps:[]};for(var K=0;K<k.mipmapCount;K++)c[q].mipmaps.push(k.mipmaps[q*k.mipmapCount+K]),c[q].format=k.format,c[q].width=k.width,c[q].height=k.height}else f.image.width=k.width,f.image.height=k.height,f.mipmaps=k.mipmaps;k.mipmapCount===1&&(f.minFilter=1006),f.format=k.format,f.needsUpdate=!0,e&&e(f)},i,n);return f},setPath:function(t){return this.path=t,this}}),Object.assign(Ue.prototype,{load:function(t,e,i,n){var s=this,a=new z,c=new Lt(this.manager);return c.setResponseType("arraybuffer"),c.setPath(this.path),c.load(t,function(f){(f=s._parser(f))&&(f.image!==void 0?a.image=f.image:f.data!==void 0&&(a.image.width=f.width,a.image.height=f.height,a.image.data=f.data),a.wrapS=f.wrapS!==void 0?f.wrapS:1001,a.wrapT=f.wrapT!==void 0?f.wrapT:1001,a.magFilter=f.magFilter!==void 0?f.magFilter:1006,a.minFilter=f.minFilter!==void 0?f.minFilter:1008,a.anisotropy=f.anisotropy!==void 0?f.anisotropy:1,f.format!==void 0&&(a.format=f.format),f.type!==void 0&&(a.type=f.type),f.mipmaps!==void 0&&(a.mipmaps=f.mipmaps),f.mipmapCount===1&&(a.minFilter=1006),a.needsUpdate=!0,e&&e(a,f))},i,n),a},setPath:function(t){return this.path=t,this}}),Object.assign(ai.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){function s(){v.removeEventListener("load",s,!1),v.removeEventListener("error",a,!1),Ts.add(t,this),e&&e(this),c.manager.itemEnd(t)}function a(y){v.removeEventListener("load",s,!1),v.removeEventListener("error",a,!1),n&&n(y),c.manager.itemError(t),c.manager.itemEnd(t)}t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);var c=this,f=Ts.get(t);if(f!==void 0)return c.manager.itemStart(t),setTimeout(function(){e&&e(f),c.manager.itemEnd(t)},0),f;var v=document.createElementNS("http://www.w3.org/1999/xhtml","img");return v.addEventListener("load",s,!1),v.addEventListener("error",a,!1),t.substr(0,5)!=="data:"&&this.crossOrigin!==void 0&&(v.crossOrigin=this.crossOrigin),c.manager.itemStart(t),v.src=t,v},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Bi.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){function s(v){c.load(t[v],function(y){a.images[v]=y,f++,f===6&&(a.needsUpdate=!0,e&&e(a))},void 0,n)}var a=new D,c=new ai(this.manager);c.setCrossOrigin(this.crossOrigin),c.setPath(this.path);var f=0;for(i=0;i<t.length;++i)s(i);return a},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(fn.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var s=new _,a=new ai(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(t,function(c){s.image=c,c=0<t.search(/\.jpe?g$/i)||t.search(/^data:image\/jpeg/)===0,s.format=c?1022:1023,s.needsUpdate=!0,e!==void 0&&e(s)},i,n),s},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Ee.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t,e){return t=this.getUtoTmapping(t),this.getPoint(t,e)},getPoints:function(t){t===void 0&&(t=5);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return e},getSpacedPoints:function(t){t===void 0&&(t=5);for(var e=[],i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(t===void 0&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e=[],i=this.getPoint(0),n,s=0;for(e.push(0),n=1;n<=t;n++){var a=this.getPoint(n/t);s+=a.distanceTo(i),e.push(s),i=a}return this.cacheArcLengths=e},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){var i=this.getLengths(),n=i.length;e=e||t*i[n-1];for(var s=0,a=n-1,c;s<=a;)if(t=Math.floor(s+(a-s)/2),c=i[t]-e,0>c)s=t+1;else if(0<c)a=t-1;else{a=t;break}return t=a,i[t]===e?t/(n-1):(s=i[t],(t+(e-s)/(i[t+1]-s))/(n-1))},getTangent:function(t){var e=t-1e-4;return t+=1e-4,0>e&&(e=0),1<t&&(t=1),e=this.getPoint(e),this.getPoint(t).clone().sub(e).normalize()},getTangentAt:function(t){return t=this.getUtoTmapping(t),this.getTangent(t)},computeFrenetFrames:function(t,e){var i=new u,n=[],s=[],a=[],c=new u,f=new p,v;for(v=0;v<=t;v++){var y=v/t;n[v]=this.getTangentAt(y),n[v].normalize()}s[0]=new u,a[0]=new u,v=Number.MAX_VALUE,y=Math.abs(n[0].x);var A=Math.abs(n[0].y),P=Math.abs(n[0].z);for(y<=v&&(v=y,i.set(1,0,0)),A<=v&&(v=A,i.set(0,1,0)),P<=v&&i.set(0,0,1),c.crossVectors(n[0],i).normalize(),s[0].crossVectors(n[0],c),a[0].crossVectors(n[0],s[0]),v=1;v<=t;v++)s[v]=s[v-1].clone(),a[v]=a[v-1].clone(),c.crossVectors(n[v-1],n[v]),c.length()>Number.EPSILON&&(c.normalize(),i=Math.acos(pi.clamp(n[v-1].dot(n[v]),-1,1)),s[v].applyMatrix4(f.makeRotationAxis(c,i))),a[v].crossVectors(n[v],s[v]);if(e===!0)for(i=Math.acos(pi.clamp(s[0].dot(s[t]),-1,1)),i/=t,0<n[0].dot(c.crossVectors(s[0],s[t]))&&(i=-i),v=1;v<=t;v++)s[v].applyMatrix4(f.makeRotationAxis(n[v],i*v)),a[v].crossVectors(n[v],s[v]);return{tangents:n,normals:s,binormals:a}},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){var t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),Kn.prototype=Object.create(Ee.prototype),Kn.prototype.constructor=Kn,Kn.prototype.isEllipseCurve=!0,Kn.prototype.getPoint=function(t,e){e=e||new o;for(var i=2*Math.PI,n=this.aEndAngle-this.aStartAngle,s=Math.abs(n)<Number.EPSILON;0>n;)n+=i;for(;n>i;)n-=i;n<Number.EPSILON&&(n=s?0:i),this.aClockwise!==!0||s||(n=n===i?-i:n-i),i=this.aStartAngle+t*n,t=this.aX+this.xRadius*Math.cos(i);var a=this.aY+this.yRadius*Math.sin(i);return this.aRotation!==0&&(i=Math.cos(this.aRotation),n=Math.sin(this.aRotation),s=t-this.aX,a-=this.aY,t=s*i-a*n+this.aX,a=s*n+a*i+this.aY),e.set(t,a)},Kn.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this},Kn.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t},Kn.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this},ya.prototype=Object.create(Kn.prototype),ya.prototype.constructor=ya,ya.prototype.isArcCurve=!0;var bn=new u,wl=new lr,rh=new lr,Nr=new lr;On.prototype=Object.create(Ee.prototype),On.prototype.constructor=On,On.prototype.isCatmullRomCurve3=!0,On.prototype.getPoint=function(t,e){e=e||new u;var i=this.points,n=i.length;t*=n-(this.closed?0:1);var s=Math.floor(t);if(t-=s,this.closed?s+=0<s?0:(Math.floor(Math.abs(s)/n)+1)*n:t===0&&s===n-1&&(s=n-2,t=1),this.closed||0<s)var a=i[(s-1)%n];else bn.subVectors(i[0],i[1]).add(i[0]),a=bn;var c=i[s%n],f=i[(s+1)%n];if(this.closed||s+2<n?i=i[(s+2)%n]:(bn.subVectors(i[n-1],i[n-2]).add(i[n-1]),i=bn),this.curveType==="centripetal"||this.curveType==="chordal"){var v=this.curveType==="chordal"?.5:.25;n=Math.pow(a.distanceToSquared(c),v),s=Math.pow(c.distanceToSquared(f),v),v=Math.pow(f.distanceToSquared(i),v),1e-4>s&&(s=1),1e-4>n&&(n=s),1e-4>v&&(v=s),wl.initNonuniformCatmullRom(a.x,c.x,f.x,i.x,n,s,v),rh.initNonuniformCatmullRom(a.y,c.y,f.y,i.y,n,s,v),Nr.initNonuniformCatmullRom(a.z,c.z,f.z,i.z,n,s,v)}else this.curveType==="catmullrom"&&(wl.initCatmullRom(a.x,c.x,f.x,i.x,this.tension),rh.initCatmullRom(a.y,c.y,f.y,i.y,this.tension),Nr.initCatmullRom(a.z,c.z,f.z,i.z,this.tension));return e.set(wl.calc(t),rh.calc(t),Nr.calc(t)),e},On.prototype.copy=function(t){Ee.prototype.copy.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++)this.points.push(t.points[e].clone());return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},On.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);t.points=[];for(var e=0,i=this.points.length;e<i;e++)t.points.push(this.points[e].toArray());return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t},On.prototype.fromJSON=function(t){Ee.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push(new u().fromArray(n))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},hr.prototype=Object.create(Ee.prototype),hr.prototype.constructor=hr,hr.prototype.isCubicBezierCurve=!0,hr.prototype.getPoint=function(t,e){e=e||new o;var i=this.v0,n=this.v1,s=this.v2,a=this.v3;return e.set(eo(t,i.x,n.x,s.x,a.x),eo(t,i.y,n.y,s.y,a.y)),e},hr.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},hr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},hr.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},Ti.prototype=Object.create(Ee.prototype),Ti.prototype.constructor=Ti,Ti.prototype.isCubicBezierCurve3=!0,Ti.prototype.getPoint=function(t,e){e=e||new u;var i=this.v0,n=this.v1,s=this.v2,a=this.v3;return e.set(eo(t,i.x,n.x,s.x,a.x),eo(t,i.y,n.y,s.y,a.y),eo(t,i.z,n.z,s.z,a.z)),e},Ti.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},Ti.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},Ti.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},ur.prototype=Object.create(Ee.prototype),ur.prototype.constructor=ur,ur.prototype.isLineCurve=!0,ur.prototype.getPoint=function(t,e){return e=e||new o,t===1?e.copy(this.v2):(e.copy(this.v2).sub(this.v1),e.multiplyScalar(t).add(this.v1)),e},ur.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},ur.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()},ur.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},ur.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},ur.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},zr.prototype=Object.create(Ee.prototype),zr.prototype.constructor=zr,zr.prototype.isLineCurve3=!0,zr.prototype.getPoint=function(t,e){return e=e||new u,t===1?e.copy(this.v2):(e.copy(this.v2).sub(this.v1),e.multiplyScalar(t).add(this.v1)),e},zr.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},zr.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},zr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},zr.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},cr.prototype=Object.create(Ee.prototype),cr.prototype.constructor=cr,cr.prototype.isQuadraticBezierCurve=!0,cr.prototype.getPoint=function(t,e){e=e||new o;var i=this.v0,n=this.v1,s=this.v2;return e.set(gs(t,i.x,n.x,s.x),gs(t,i.y,n.y,s.y)),e},cr.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},cr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},cr.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},vs.prototype=Object.create(Ee.prototype),vs.prototype.constructor=vs,vs.prototype.isQuadraticBezierCurve3=!0,vs.prototype.getPoint=function(t,e){e=e||new u;var i=this.v0,n=this.v1,s=this.v2;return e.set(gs(t,i.x,n.x,s.x),gs(t,i.y,n.y,s.y),gs(t,i.z,n.z,s.z)),e},vs.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},vs.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},vs.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Kr.prototype=Object.create(Ee.prototype),Kr.prototype.constructor=Kr,Kr.prototype.isSplineCurve=!0,Kr.prototype.getPoint=function(t,e){e=e||new o;var i=this.points,n=(i.length-1)*t;t=Math.floor(n),n-=t;var s=i[t===0?t:t-1],a=i[t],c=i[t>i.length-2?i.length-1:t+1];return i=i[t>i.length-3?i.length-1:t+2],e.set(Eu(n,s.x,a.x,c.x,i.x),Eu(n,s.y,a.y,c.y,i.y)),e},Kr.prototype.copy=function(t){Ee.prototype.copy.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++)this.points.push(t.points[e].clone());return this},Kr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);t.points=[];for(var e=0,i=this.points.length;e<i;e++)t.points.push(this.points[e].toArray());return t},Kr.prototype.fromJSON=function(t){Ee.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push(new o().fromArray(n))}return this};var sh=Object.freeze({ArcCurve:ya,CatmullRomCurve3:On,CubicBezierCurve:hr,CubicBezierCurve3:Ti,EllipseCurve:Kn,LineCurve:ur,LineCurve3:zr,QuadraticBezierCurve:cr,QuadraticBezierCurve3:vs,SplineCurve:Kr});Os.prototype=Object.assign(Object.create(Ee.prototype),{constructor:Os,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new ur(e,t))},getPoint:function(t){var e=t*this.getLength(),i=this.getCurveLengths();for(t=0;t<i.length;){if(i[t]>=e)return e=i[t]-e,t=this.curves[t],i=t.getLength(),t.getPointAt(i===0?0:1-e/i);t++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,i=0,n=this.curves.length;i<n;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t},getSpacedPoints:function(t){t===void 0&&(t=40);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e},getPoints:function(t){t=t||12;for(var e=[],i,n=0,s=this.curves;n<s.length;n++){var a=s[n];a=a.getPoints(a&&a.isEllipseCurve?2*t:a&&(a.isLineCurve||a.isLineCurve3)?1:a&&a.isSplineCurve?t*a.points.length:t);for(var c=0;c<a.length;c++){var f=a[c];i&&i.equals(f)||(e.push(f),i=f)}}return this.autoClose&&1<e.length&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e},copy:function(t){Ee.prototype.copy.call(this,t),this.curves=[];for(var e=0,i=t.curves.length;e<i;e++)this.curves.push(t.curves[e].clone());return this.autoClose=t.autoClose,this},toJSON:function(){var t=Ee.prototype.toJSON.call(this);t.autoClose=this.autoClose,t.curves=[];for(var e=0,i=this.curves.length;e<i;e++)t.curves.push(this.curves[e].toJSON());return t},fromJSON:function(t){Ee.prototype.fromJSON.call(this,t),this.autoClose=t.autoClose,this.curves=[];for(var e=0,i=t.curves.length;e<i;e++){var n=t.curves[e];this.curves.push(new sh[n.type]().fromJSON(n))}return this}}),fr.prototype=Object.assign(Object.create(Os.prototype),{constructor:fr,setFromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y)},moveTo:function(t,e){this.currentPoint.set(t,e)},lineTo:function(t,e){var i=new ur(this.currentPoint.clone(),new o(t,e));this.curves.push(i),this.currentPoint.set(t,e)},quadraticCurveTo:function(t,e,i,n){t=new cr(this.currentPoint.clone(),new o(t,e),new o(i,n)),this.curves.push(t),this.currentPoint.set(i,n)},bezierCurveTo:function(t,e,i,n,s,a){t=new hr(this.currentPoint.clone(),new o(t,e),new o(i,n),new o(s,a)),this.curves.push(t),this.currentPoint.set(s,a)},splineThru:function(t){var e=[this.currentPoint.clone()].concat(t);e=new Kr(e),this.curves.push(e),this.currentPoint.copy(t[t.length-1])},arc:function(t,e,i,n,s,a){this.absarc(t+this.currentPoint.x,e+this.currentPoint.y,i,n,s,a)},absarc:function(t,e,i,n,s,a){this.absellipse(t,e,i,i,n,s,a)},ellipse:function(t,e,i,n,s,a,c,f){this.absellipse(t+this.currentPoint.x,e+this.currentPoint.y,i,n,s,a,c,f)},absellipse:function(t,e,i,n,s,a,c,f){t=new Kn(t,e,i,n,s,a,c,f),0<this.curves.length&&(e=t.getPoint(0),e.equals(this.currentPoint)||this.lineTo(e.x,e.y)),this.curves.push(t),t=t.getPoint(1),this.currentPoint.copy(t)},copy:function(t){return Os.prototype.copy.call(this,t),this.currentPoint.copy(t.currentPoint),this},toJSON:function(){var t=Os.prototype.toJSON.call(this);return t.currentPoint=this.currentPoint.toArray(),t},fromJSON:function(t){return Os.prototype.fromJSON.call(this,t),this.currentPoint.fromArray(t.currentPoint),this}}),Qn.prototype=Object.assign(Object.create(fr.prototype),{constructor:Qn,getPointsHoles:function(t){for(var e=[],i=0,n=this.holes.length;i<n;i++)e[i]=this.holes[i].getPoints(t);return e},extractPoints:function(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}},copy:function(t){fr.prototype.copy.call(this,t),this.holes=[];for(var e=0,i=t.holes.length;e<i;e++)this.holes.push(t.holes[e].clone());return this},toJSON:function(){var t=fr.prototype.toJSON.call(this);t.uuid=this.uuid,t.holes=[];for(var e=0,i=this.holes.length;e<i;e++)t.holes.push(this.holes[e].toJSON());return t},fromJSON:function(t){fr.prototype.fromJSON.call(this,t),this.uuid=t.uuid,this.holes=[];for(var e=0,i=t.holes.length;e<i;e++){var n=t.holes[e];this.holes.push(new fr().fromJSON(n))}return this}}),tn.prototype=Object.assign(Object.create(N.prototype),{constructor:tn,isLight:!0,copy:function(t){return N.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){return t=N.prototype.toJSON.call(this,t),t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}}),sl.prototype=Object.assign(Object.create(tn.prototype),{constructor:sl,isHemisphereLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(_s.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return new this.constructor().copy(this)},toJSON:function(){var t={};return this.bias!==0&&(t.bias=this.bias),this.radius!==1&&(t.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}),ol.prototype=Object.assign(Object.create(_s.prototype),{constructor:ol,isSpotLightShadow:!0,update:function(t){var e=this.camera,i=2*pi.RAD2DEG*t.angle,n=this.mapSize.width/this.mapSize.height;t=t.distance||e.far,(i!==e.fov||n!==e.aspect||t!==e.far)&&(e.fov=i,e.aspect=n,e.far=t,e.updateProjectionMatrix())}}),al.prototype=Object.assign(Object.create(tn.prototype),{constructor:al,isSpotLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),Oo.prototype=Object.assign(Object.create(tn.prototype),{constructor:Oo,isPointLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),xa.prototype=Object.assign(Object.create(Be.prototype),{constructor:xa,isOrthographicCamera:!0,copy:function(t,e){return Be.prototype.copy.call(this,t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=t.view===null?null:Object.assign({},t.view),this},setViewOffset:function(t,e,i,n,s,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=n,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()},clearViewOffset:function(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,n=(this.top+this.bottom)/2,s=i-t;if(i+=t,t=n+e,e=n-e,this.view!==null&&this.view.enabled){i=this.zoom/(this.view.width/this.view.fullWidth),e=this.zoom/(this.view.height/this.view.fullHeight);var a=(this.right-this.left)/this.view.width;n=(this.top-this.bottom)/this.view.height,s+=this.view.offsetX/i*a,i=s+this.view.width/i*a,t-=this.view.offsetY/e*n,e=t-this.view.height/e*n}this.projectionMatrix.makeOrthographic(s,i,t,e,this.near,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){return t=N.prototype.toJSON.call(this,t),t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}),io.prototype=Object.assign(Object.create(_s.prototype),{constructor:io}),ys.prototype=Object.assign(Object.create(tn.prototype),{constructor:ys,isDirectionalLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),Io.prototype=Object.assign(Object.create(tn.prototype),{constructor:Io,isAmbientLight:!0}),$l.prototype=Object.assign(Object.create(tn.prototype),{constructor:$l,isRectAreaLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.width=t.width,this.height=t.height,this},toJSON:function(t){return t=tn.prototype.toJSON.call(this,t),t.object.width=this.width,t.object.height=this.height,t}}),Object.assign(Kl.prototype,{load:function(t,e,i,n){var s=this,a=new Lt(s.manager);a.setPath(s.path),a.load(t,function(c){e(s.parse(JSON.parse(c)))},i,n)},parse:function(t){function e(c){return i[c]===void 0&&console.warn("THREE.MaterialLoader: Undefined texture",c),i[c]}var i=this.textures,n=new zu[t.type];if(t.uuid!==void 0&&(n.uuid=t.uuid),t.name!==void 0&&(n.name=t.name),t.color!==void 0&&n.color.setHex(t.color),t.roughness!==void 0&&(n.roughness=t.roughness),t.metalness!==void 0&&(n.metalness=t.metalness),t.emissive!==void 0&&n.emissive.setHex(t.emissive),t.specular!==void 0&&n.specular.setHex(t.specular),t.shininess!==void 0&&(n.shininess=t.shininess),t.clearCoat!==void 0&&(n.clearCoat=t.clearCoat),t.clearCoatRoughness!==void 0&&(n.clearCoatRoughness=t.clearCoatRoughness),t.vertexColors!==void 0&&(n.vertexColors=t.vertexColors),t.fog!==void 0&&(n.fog=t.fog),t.flatShading!==void 0&&(n.flatShading=t.flatShading),t.blending!==void 0&&(n.blending=t.blending),t.combine!==void 0&&(n.combine=t.combine),t.side!==void 0&&(n.side=t.side),t.opacity!==void 0&&(n.opacity=t.opacity),t.transparent!==void 0&&(n.transparent=t.transparent),t.alphaTest!==void 0&&(n.alphaTest=t.alphaTest),t.depthTest!==void 0&&(n.depthTest=t.depthTest),t.depthWrite!==void 0&&(n.depthWrite=t.depthWrite),t.colorWrite!==void 0&&(n.colorWrite=t.colorWrite),t.wireframe!==void 0&&(n.wireframe=t.wireframe),t.wireframeLinewidth!==void 0&&(n.wireframeLinewidth=t.wireframeLinewidth),t.wireframeLinecap!==void 0&&(n.wireframeLinecap=t.wireframeLinecap),t.wireframeLinejoin!==void 0&&(n.wireframeLinejoin=t.wireframeLinejoin),t.rotation!==void 0&&(n.rotation=t.rotation),t.linewidth!==1&&(n.linewidth=t.linewidth),t.dashSize!==void 0&&(n.dashSize=t.dashSize),t.gapSize!==void 0&&(n.gapSize=t.gapSize),t.scale!==void 0&&(n.scale=t.scale),t.polygonOffset!==void 0&&(n.polygonOffset=t.polygonOffset),t.polygonOffsetFactor!==void 0&&(n.polygonOffsetFactor=t.polygonOffsetFactor),t.polygonOffsetUnits!==void 0&&(n.polygonOffsetUnits=t.polygonOffsetUnits),t.skinning!==void 0&&(n.skinning=t.skinning),t.morphTargets!==void 0&&(n.morphTargets=t.morphTargets),t.dithering!==void 0&&(n.dithering=t.dithering),t.visible!==void 0&&(n.visible=t.visible),t.userData!==void 0&&(n.userData=t.userData),t.uniforms!==void 0)for(var s in t.uniforms){var a=t.uniforms[s];switch(n.uniforms[s]={},a.type){case"t":n.uniforms[s].value=e(a.value);break;case"c":n.uniforms[s].value=new L().setHex(a.value);break;case"v2":n.uniforms[s].value=new o().fromArray(a.value);break;case"v3":n.uniforms[s].value=new u().fromArray(a.value);break;case"v4":n.uniforms[s].value=new w().fromArray(a.value);break;case"m4":n.uniforms[s].value=new p().fromArray(a.value);break;default:n.uniforms[s].value=a.value}}return t.defines!==void 0&&(n.defines=t.defines),t.vertexShader!==void 0&&(n.vertexShader=t.vertexShader),t.fragmentShader!==void 0&&(n.fragmentShader=t.fragmentShader),t.shading!==void 0&&(n.flatShading=t.shading===1),t.size!==void 0&&(n.size=t.size),t.sizeAttenuation!==void 0&&(n.sizeAttenuation=t.sizeAttenuation),t.map!==void 0&&(n.map=e(t.map)),t.alphaMap!==void 0&&(n.alphaMap=e(t.alphaMap),n.transparent=!0),t.bumpMap!==void 0&&(n.bumpMap=e(t.bumpMap)),t.bumpScale!==void 0&&(n.bumpScale=t.bumpScale),t.normalMap!==void 0&&(n.normalMap=e(t.normalMap)),t.normalMapType!==void 0&&(n.normalMapType=t.normalMapType),t.normalScale!==void 0&&(s=t.normalScale,Array.isArray(s)===!1&&(s=[s,s]),n.normalScale=new o().fromArray(s)),t.displacementMap!==void 0&&(n.displacementMap=e(t.displacementMap)),t.displacementScale!==void 0&&(n.displacementScale=t.displacementScale),t.displacementBias!==void 0&&(n.displacementBias=t.displacementBias),t.roughnessMap!==void 0&&(n.roughnessMap=e(t.roughnessMap)),t.metalnessMap!==void 0&&(n.metalnessMap=e(t.metalnessMap)),t.emissiveMap!==void 0&&(n.emissiveMap=e(t.emissiveMap)),t.emissiveIntensity!==void 0&&(n.emissiveIntensity=t.emissiveIntensity),t.specularMap!==void 0&&(n.specularMap=e(t.specularMap)),t.envMap!==void 0&&(n.envMap=e(t.envMap)),t.envMapIntensity!==void 0&&(n.envMapIntensity=t.envMapIntensity),t.reflectivity!==void 0&&(n.reflectivity=t.reflectivity),t.lightMap!==void 0&&(n.lightMap=e(t.lightMap)),t.lightMapIntensity!==void 0&&(n.lightMapIntensity=t.lightMapIntensity),t.aoMap!==void 0&&(n.aoMap=e(t.aoMap)),t.aoMapIntensity!==void 0&&(n.aoMapIntensity=t.aoMapIntensity),t.gradientMap!==void 0&&(n.gradientMap=e(t.gradientMap)),n},setPath:function(t){return this.path=t,this},setTextures:function(t){return this.textures=t,this}});var Fo={decodeText:function(t){if(typeof TextDecoder<"u")return new TextDecoder().decode(t);for(var e="",i=0,n=t.length;i<n;i++)e+=String.fromCharCode(t[i]);return decodeURIComponent(escape(e))},extractUrlBase:function(t){var e=t.lastIndexOf("/");return e===-1?"./":t.substr(0,e+1)}};Object.assign(Dh.prototype,{load:function(t,e,i,n){var s=this,a=new Lt(s.manager);a.setPath(s.path),a.load(t,function(c){e(s.parse(JSON.parse(c)))},i,n)},parse:function(t){var e=new Ft,i=t.data.index;i!==void 0&&(i=new ao[i.type](i.array),e.setIndex(new J(i,1)));var n=t.data.attributes;for(a in n){var s=n[a];i=new ao[s.type](s.array),e.addAttribute(a,new J(i,s.itemSize,s.normalized))}var a=t.data.groups||t.data.drawcalls||t.data.offsets;if(a!==void 0)for(i=0,n=a.length;i!==n;++i)s=a[i],e.addGroup(s.start,s.count,s.materialIndex);return t=t.data.boundingSphere,t!==void 0&&(a=new u,t.center!==void 0&&a.fromArray(t.center),e.boundingSphere=new I(a,t.radius)),e},setPath:function(t){return this.path=t,this}});var ao={Int8Array,Uint8Array,Uint8ClampedArray:typeof Uint8ClampedArray<"u"?Uint8ClampedArray:Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};Is.Handlers={handlers:[],add:function(t,e){this.handlers.push(t,e)},get:function(t){for(var e=this.handlers,i=0,n=e.length;i<n;i+=2){var s=e[i+1];if(e[i].test(t))return s}return null}},Object.assign(Is.prototype,{crossOrigin:"anonymous",onLoadStart:function(){},onLoadProgress:function(){},onLoadComplete:function(){},initMaterials:function(t,e,i){for(var n=[],s=0;s<t.length;++s)n[s]=this.createMaterial(t[s],e,i);return n},createMaterial:function(){var t={NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},e=new L,i=new fn,n=new Kl;return function(s,a,c){function f(k,H,q,K,rt){k=a+k;var xt=Is.Handlers.get(k);return xt!==null?k=xt.load(k):(i.setCrossOrigin(c),k=i.load(k)),H!==void 0&&(k.repeat.fromArray(H),H[0]!==1&&(k.wrapS=1e3),H[1]!==1&&(k.wrapT=1e3)),q!==void 0&&k.offset.fromArray(q),K!==void 0&&(K[0]==="repeat"&&(k.wrapS=1e3),K[0]==="mirror"&&(k.wrapS=1002),K[1]==="repeat"&&(k.wrapT=1e3),K[1]==="mirror"&&(k.wrapT=1002)),rt!==void 0&&(k.anisotropy=rt),H=pi.generateUUID(),v[H]=k,H}var v={},y={uuid:pi.generateUUID(),type:"MeshLambertMaterial"},A;for(A in s){var P=s[A];switch(A){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":break;case"DbgName":y.name=P;break;case"blending":y.blending=t[P];break;case"colorAmbient":case"mapAmbient":console.warn("THREE.Loader.createMaterial:",A,"is no longer supported.");break;case"colorDiffuse":y.color=e.fromArray(P).getHex();break;case"colorSpecular":y.specular=e.fromArray(P).getHex();break;case"colorEmissive":y.emissive=e.fromArray(P).getHex();break;case"specularCoef":y.shininess=P;break;case"shading":P.toLowerCase()==="basic"&&(y.type="MeshBasicMaterial"),P.toLowerCase()==="phong"&&(y.type="MeshPhongMaterial"),P.toLowerCase()==="standard"&&(y.type="MeshStandardMaterial");break;case"mapDiffuse":y.map=f(P,s.mapDiffuseRepeat,s.mapDiffuseOffset,s.mapDiffuseWrap,s.mapDiffuseAnisotropy);break;case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":break;case"mapEmissive":y.emissiveMap=f(P,s.mapEmissiveRepeat,s.mapEmissiveOffset,s.mapEmissiveWrap,s.mapEmissiveAnisotropy);break;case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":break;case"mapLight":y.lightMap=f(P,s.mapLightRepeat,s.mapLightOffset,s.mapLightWrap,s.mapLightAnisotropy);break;case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":break;case"mapAO":y.aoMap=f(P,s.mapAORepeat,s.mapAOOffset,s.mapAOWrap,s.mapAOAnisotropy);break;case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":break;case"mapBump":y.bumpMap=f(P,s.mapBumpRepeat,s.mapBumpOffset,s.mapBumpWrap,s.mapBumpAnisotropy);break;case"mapBumpScale":y.bumpScale=P;break;case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":break;case"mapNormal":y.normalMap=f(P,s.mapNormalRepeat,s.mapNormalOffset,s.mapNormalWrap,s.mapNormalAnisotropy);break;case"mapNormalFactor":y.normalScale=P;break;case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":break;case"mapSpecular":y.specularMap=f(P,s.mapSpecularRepeat,s.mapSpecularOffset,s.mapSpecularWrap,s.mapSpecularAnisotropy);break;case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":break;case"mapMetalness":y.metalnessMap=f(P,s.mapMetalnessRepeat,s.mapMetalnessOffset,s.mapMetalnessWrap,s.mapMetalnessAnisotropy);break;case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":break;case"mapRoughness":y.roughnessMap=f(P,s.mapRoughnessRepeat,s.mapRoughnessOffset,s.mapRoughnessWrap,s.mapRoughnessAnisotropy);break;case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":break;case"mapAlpha":y.alphaMap=f(P,s.mapAlphaRepeat,s.mapAlphaOffset,s.mapAlphaWrap,s.mapAlphaAnisotropy);break;case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"flipSided":y.side=1;break;case"doubleSided":y.side=2;break;case"transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity"),y.opacity=P;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":y[A]=P;break;case"vertexColors":P===!0&&(y.vertexColors=2),P==="face"&&(y.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",A,P)}}return y.type==="MeshBasicMaterial"&&delete y.emissive,y.type!=="MeshPhongMaterial"&&delete y.specular,1>y.opacity&&(y.transparent=!0),n.setTextures(v),n.parse(y)}}()}),Object.assign(Do.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var s=this,a=this.path===void 0?Fo.extractUrlBase(t):this.path,c=new Lt(this.manager);c.setPath(this.path),c.setWithCredentials(this.withCredentials),c.load(t,function(f){f=JSON.parse(f);var v=f.metadata;if(v!==void 0&&(v=v.type,v!==void 0&&v.toLowerCase()==="object")){console.error("THREE.JSONLoader: "+t+" should be loaded with THREE.ObjectLoader instead.");return}f=s.parse(f,a),e(f.geometry,f.materials)},i,n)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(){return function(t,e){t.data!==void 0&&(t=t.data),t.scale=t.scale!==void 0?1/t.scale:1;var i=new j,n=t,s,a,c,f=n.faces,v=n.vertices,y=n.normals,A=n.colors,P=n.scale,k=0;if(n.uvs!==void 0){for(s=0;s<n.uvs.length;s++)n.uvs[s].length&&k++;for(s=0;s<k;s++)i.faceVertexUvs[s]=[]}var H=0;for(c=v.length;H<c;)s=new u,s.x=v[H++]*P,s.y=v[H++]*P,s.z=v[H++]*P,i.vertices.push(s);for(H=0,c=f.length;H<c;){v=f[H++];var q=v&1,K=v&2;s=v&8;var rt=v&16,xt=v&32;if(P=v&64,v&=128,q){q=new R,q.a=f[H],q.b=f[H+1],q.c=f[H+3];var gt=new R;if(gt.a=f[H+1],gt.b=f[H+2],gt.c=f[H+3],H+=4,K&&(K=f[H++],q.materialIndex=K,gt.materialIndex=K),K=i.faces.length,s)for(s=0;s<k;s++){var At=n.uvs[s];for(i.faceVertexUvs[s][K]=[],i.faceVertexUvs[s][K+1]=[],a=0;4>a;a++){var wt=f[H++],Vt=At[2*wt];wt=At[2*wt+1],Vt=new o(Vt,wt),a!==2&&i.faceVertexUvs[s][K].push(Vt),a!==0&&i.faceVertexUvs[s][K+1].push(Vt)}}if(rt&&(rt=3*f[H++],q.normal.set(y[rt++],y[rt++],y[rt]),gt.normal.copy(q.normal)),xt)for(s=0;4>s;s++)rt=3*f[H++],xt=new u(y[rt++],y[rt++],y[rt]),s!==2&&q.vertexNormals.push(xt),s!==0&&gt.vertexNormals.push(xt);if(P&&(P=f[H++],P=A[P],q.color.setHex(P),gt.color.setHex(P)),v)for(s=0;4>s;s++)P=f[H++],P=A[P],s!==2&&q.vertexColors.push(new L(P)),s!==0&&gt.vertexColors.push(new L(P));i.faces.push(q),i.faces.push(gt)}else{if(q=new R,q.a=f[H++],q.b=f[H++],q.c=f[H++],K&&(K=f[H++],q.materialIndex=K),K=i.faces.length,s)for(s=0;s<k;s++)for(At=n.uvs[s],i.faceVertexUvs[s][K]=[],a=0;3>a;a++)wt=f[H++],Vt=At[2*wt],wt=At[2*wt+1],Vt=new o(Vt,wt),i.faceVertexUvs[s][K].push(Vt);if(rt&&(rt=3*f[H++],q.normal.set(y[rt++],y[rt++],y[rt])),xt)for(s=0;3>s;s++)rt=3*f[H++],xt=new u(y[rt++],y[rt++],y[rt]),q.vertexNormals.push(xt);if(P&&(P=f[H++],q.color.setHex(A[P])),v)for(s=0;3>s;s++)P=f[H++],q.vertexColors.push(new L(A[P]));i.faces.push(q)}}if(n=t,H=n.influencesPerVertex!==void 0?n.influencesPerVertex:2,n.skinWeights)for(c=0,f=n.skinWeights.length;c<f;c+=H)i.skinWeights.push(new w(n.skinWeights[c],1<H?n.skinWeights[c+1]:0,2<H?n.skinWeights[c+2]:0,3<H?n.skinWeights[c+3]:0));if(n.skinIndices)for(c=0,f=n.skinIndices.length;c<f;c+=H)i.skinIndices.push(new w(n.skinIndices[c],1<H?n.skinIndices[c+1]:0,2<H?n.skinIndices[c+2]:0,3<H?n.skinIndices[c+3]:0));if(i.bones=n.bones,i.bones&&0<i.bones.length&&(i.skinWeights.length!==i.skinIndices.length||i.skinIndices.length!==i.vertices.length)&&console.warn("When skinning, number of vertices ("+i.vertices.length+"), skinIndices ("+i.skinIndices.length+"), and skinWeights ("+i.skinWeights.length+") should match."),c=t,f=c.scale,c.morphTargets!==void 0)for(n=0,H=c.morphTargets.length;n<H;n++)for(i.morphTargets[n]={},i.morphTargets[n].name=c.morphTargets[n].name,i.morphTargets[n].vertices=[],y=i.morphTargets[n].vertices,A=c.morphTargets[n].vertices,k=0,v=A.length;k<v;k+=3)P=new u,P.x=A[k]*f,P.y=A[k+1]*f,P.z=A[k+2]*f,y.push(P);if(c.morphColors!==void 0&&0<c.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),f=i.faces,c=c.morphColors[0].colors,n=0,H=f.length;n<H;n++)f[n].color.fromArray(c,3*n);for(c=t,n=[],H=[],c.animation!==void 0&&H.push(c.animation),c.animations!==void 0&&(c.animations.length?H=H.concat(c.animations):H.push(c.animations)),c=0;c<H.length;c++)(f=yr.parseAnimation(H[c],i.bones))&&n.push(f);return i.morphTargets&&(H=yr.CreateClipsFromMorphTargetSequences(i.morphTargets,10),n=n.concat(H)),0<n.length&&(i.animations=n),i.computeFaceNormals(),i.computeBoundingSphere(),t.materials===void 0||t.materials.length===0?{geometry:i}:(t=Is.prototype.initMaterials(t.materials,this.resourcePath||e,this.crossOrigin),{geometry:i,materials:t})}}()}),Object.assign(ll.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var s=this,a=this.path===void 0?Fo.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||a,a=new Lt(s.manager),a.setPath(this.path),a.load(t,function(c){var f=null;try{f=JSON.parse(c)}catch(v){n!==void 0&&n(v),console.error("THREE:ObjectLoader: Can't parse "+t+".",v.message);return}c=f.metadata,c===void 0||c.type===void 0||c.type.toLowerCase()==="geometry"?console.error("THREE.ObjectLoader: Can't load "+t+". Use THREE.JSONLoader instead."):s.parse(f,e)},i,n)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(t,e){var i=this.parseShape(t.shapes);i=this.parseGeometries(t.geometries,i);var n=this.parseImages(t.images,function(){e!==void 0&&e(s)});n=this.parseTextures(t.textures,n),n=this.parseMaterials(t.materials,n);var s=this.parseObject(t.object,i,n);return t.animations&&(s.animations=this.parseAnimations(t.animations)),t.images!==void 0&&t.images.length!==0||e===void 0||e(s),s},parseShape:function(t){var e={};if(t!==void 0)for(var i=0,n=t.length;i<n;i++){var s=new Qn().fromJSON(t[i]);e[s.uuid]=s}return e},parseGeometries:function(t,e){var i={};if(t!==void 0)for(var n=new Do,s=new Dh,a=0,c=t.length;a<c;a++){var f=t[a];switch(f.type){case"PlaneGeometry":case"PlaneBufferGeometry":var v=new _n[f.type](f.width,f.height,f.widthSegments,f.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":v=new _n[f.type](f.width,f.height,f.depth,f.widthSegments,f.heightSegments,f.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":v=new _n[f.type](f.radius,f.segments,f.thetaStart,f.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":v=new _n[f.type](f.radiusTop,f.radiusBottom,f.height,f.radialSegments,f.heightSegments,f.openEnded,f.thetaStart,f.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":v=new _n[f.type](f.radius,f.height,f.radialSegments,f.heightSegments,f.openEnded,f.thetaStart,f.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":v=new _n[f.type](f.radius,f.widthSegments,f.heightSegments,f.phiStart,f.phiLength,f.thetaStart,f.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":v=new _n[f.type](f.radius,f.detail);break;case"RingGeometry":case"RingBufferGeometry":v=new _n[f.type](f.innerRadius,f.outerRadius,f.thetaSegments,f.phiSegments,f.thetaStart,f.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":v=new _n[f.type](f.radius,f.tube,f.radialSegments,f.tubularSegments,f.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":v=new _n[f.type](f.radius,f.tube,f.tubularSegments,f.radialSegments,f.p,f.q);break;case"LatheGeometry":case"LatheBufferGeometry":v=new _n[f.type](f.points,f.segments,f.phiStart,f.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":v=new _n[f.type](f.vertices,f.indices,f.radius,f.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":v=[];for(var y=0,A=f.shapes.length;y<A;y++){var P=e[f.shapes[y]];v.push(P)}v=new _n[f.type](v,f.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":for(v=[],y=0,A=f.shapes.length;y<A;y++)P=e[f.shapes[y]],v.push(P);y=f.options.extrudePath,y!==void 0&&(f.options.extrudePath=new sh[y.type]().fromJSON(y)),v=new _n[f.type](v,f.options);break;case"BufferGeometry":v=s.parse(f);break;case"Geometry":v=n.parse(f,this.resourcePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+f.type+'"');continue}v.uuid=f.uuid,f.name!==void 0&&(v.name=f.name),v.isBufferGeometry===!0&&f.userData!==void 0&&(v.userData=f.userData),i[f.uuid]=v}return i},parseMaterials:function(t,e){var i={},n={};if(t!==void 0){var s=new Kl;s.setTextures(e),e=0;for(var a=t.length;e<a;e++){var c=t[e];if(c.type==="MultiMaterial"){for(var f=[],v=0;v<c.materials.length;v++){var y=c.materials[v];i[y.uuid]===void 0&&(i[y.uuid]=s.parse(y)),f.push(i[y.uuid])}n[c.uuid]=f}else n[c.uuid]=s.parse(c),i[c.uuid]=n[c.uuid]}}return n},parseAnimations:function(t){for(var e=[],i=0;i<t.length;i++){var n=t[i],s=yr.parse(n);n.uuid!==void 0&&(s.uuid=n.uuid),e.push(s)}return e},parseImages:function(t,e){function i(k){return n.manager.itemStart(k),a.load(k,function(){n.manager.itemEnd(k)},void 0,function(){n.manager.itemError(k),n.manager.itemEnd(k)})}var n=this,s={};if(t!==void 0&&0<t.length){e=new to(e);var a=new ai(e);a.setCrossOrigin(this.crossOrigin),e=0;for(var c=t.length;e<c;e++){var f=t[e],v=f.url;if(Array.isArray(v)){s[f.uuid]=[];for(var y=0,A=v.length;y<A;y++){var P=v[y];P=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(P)?P:n.resourcePath+P,s[f.uuid].push(i(P))}}else P=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(f.url)?f.url:n.resourcePath+f.url,s[f.uuid]=i(P)}}return s},parseTextures:function(t,e){function i(v,y){return typeof v=="number"?v:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",v),y[v])}var n={};if(t!==void 0)for(var s=0,a=t.length;s<a;s++){var c=t[s];c.image===void 0&&console.warn('THREE.ObjectLoader: No "image" specified for',c.uuid),e[c.image]===void 0&&console.warn("THREE.ObjectLoader: Undefined image",c.image);var f=Array.isArray(e[c.image])?new D(e[c.image]):new _(e[c.image]);f.needsUpdate=!0,f.uuid=c.uuid,c.name!==void 0&&(f.name=c.name),c.mapping!==void 0&&(f.mapping=i(c.mapping,ku)),c.offset!==void 0&&f.offset.fromArray(c.offset),c.repeat!==void 0&&f.repeat.fromArray(c.repeat),c.center!==void 0&&f.center.fromArray(c.center),c.rotation!==void 0&&(f.rotation=c.rotation),c.wrap!==void 0&&(f.wrapS=i(c.wrap[0],Zn),f.wrapT=i(c.wrap[1],Zn)),c.format!==void 0&&(f.format=c.format),c.minFilter!==void 0&&(f.minFilter=i(c.minFilter,oh)),c.magFilter!==void 0&&(f.magFilter=i(c.magFilter,oh)),c.anisotropy!==void 0&&(f.anisotropy=c.anisotropy),c.flipY!==void 0&&(f.flipY=c.flipY),n[c.uuid]=f}return n},parseObject:function(t,e,i){function n(y){return e[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined geometry",y),e[y]}function s(y){if(y!==void 0){if(Array.isArray(y)){for(var A=[],P=0,k=y.length;P<k;P++){var H=y[P];i[H]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",H),A.push(i[H])}return A}return i[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",y),i[y]}}switch(t.type){case"Scene":var a=new Xn;t.background!==void 0&&Number.isInteger(t.background)&&(a.background=new L(t.background)),t.fog!==void 0&&(t.fog.type==="Fog"?a.fog=new Sn(t.fog.color,t.fog.near,t.fog.far):t.fog.type==="FogExp2"&&(a.fog=new Le(t.fog.color,t.fog.density)));break;case"PerspectiveCamera":a=new ye(t.fov,t.aspect,t.near,t.far),t.focus!==void 0&&(a.focus=t.focus),t.zoom!==void 0&&(a.zoom=t.zoom),t.filmGauge!==void 0&&(a.filmGauge=t.filmGauge),t.filmOffset!==void 0&&(a.filmOffset=t.filmOffset),t.view!==void 0&&(a.view=Object.assign({},t.view));break;case"OrthographicCamera":a=new xa(t.left,t.right,t.top,t.bottom,t.near,t.far),t.zoom!==void 0&&(a.zoom=t.zoom),t.view!==void 0&&(a.view=Object.assign({},t.view));break;case"AmbientLight":a=new Io(t.color,t.intensity);break;case"DirectionalLight":a=new ys(t.color,t.intensity);break;case"PointLight":a=new Oo(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":a=new $l(t.color,t.intensity,t.width,t.height);break;case"SpotLight":a=new al(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":a=new sl(t.color,t.groundColor,t.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":a=n(t.geometry);var c=s(t.material);a=a.bones&&0<a.bones.length?new Ui(a,c):new di(a,c);break;case"LOD":a=new rn;break;case"Line":a=new Wi(n(t.geometry),s(t.material),t.mode);break;case"LineLoop":a=new cs(n(t.geometry),s(t.material));break;case"LineSegments":a=new gi(n(t.geometry),s(t.material));break;case"PointCloud":case"Points":a=new oa(n(t.geometry),s(t.material));break;case"Sprite":a=new nn(s(t.material));break;case"Group":a=new ci;break;default:a=new N}if(a.uuid=t.uuid,t.name!==void 0&&(a.name=t.name),t.matrix!==void 0?(a.matrix.fromArray(t.matrix),t.matrixAutoUpdate!==void 0&&(a.matrixAutoUpdate=t.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)):(t.position!==void 0&&a.position.fromArray(t.position),t.rotation!==void 0&&a.rotation.fromArray(t.rotation),t.quaternion!==void 0&&a.quaternion.fromArray(t.quaternion),t.scale!==void 0&&a.scale.fromArray(t.scale)),t.castShadow!==void 0&&(a.castShadow=t.castShadow),t.receiveShadow!==void 0&&(a.receiveShadow=t.receiveShadow),t.shadow&&(t.shadow.bias!==void 0&&(a.shadow.bias=t.shadow.bias),t.shadow.radius!==void 0&&(a.shadow.radius=t.shadow.radius),t.shadow.mapSize!==void 0&&a.shadow.mapSize.fromArray(t.shadow.mapSize),t.shadow.camera!==void 0&&(a.shadow.camera=this.parseObject(t.shadow.camera))),t.visible!==void 0&&(a.visible=t.visible),t.frustumCulled!==void 0&&(a.frustumCulled=t.frustumCulled),t.renderOrder!==void 0&&(a.renderOrder=t.renderOrder),t.userData!==void 0&&(a.userData=t.userData),t.layers!==void 0&&(a.layers.mask=t.layers),t.children!==void 0){c=t.children;for(var f=0;f<c.length;f++)a.add(this.parseObject(c[f],e,i))}if(t.type==="LOD")for(t=t.levels,c=0;c<t.length;c++){f=t[c];var v=a.getObjectByProperty("uuid",f.object);v!==void 0&&a.addLevel(v,f.distance)}return a}});var ku={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Zn={RepeatWrapping:1e3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},oh={NearestFilter:1003,NearestMipMapNearestFilter:1004,NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};zh.prototype={constructor:zh,setOptions:function(t){return this.options=t,this},load:function(t,e,i,n){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);var s=this,a=Ts.get(t);if(a!==void 0)return s.manager.itemStart(t),setTimeout(function(){e&&e(a),s.manager.itemEnd(t)},0),a;fetch(t).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,s.options)}).then(function(c){Ts.add(t,c),e&&e(c),s.manager.itemEnd(t)}).catch(function(c){n&&n(c),s.manager.itemError(t),s.manager.itemEnd(t)})},setCrossOrigin:function(){return this},setPath:function(t){return this.path=t,this}},Object.assign(Ql.prototype,{moveTo:function(t,e){this.currentPath=new fr,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e)},lineTo:function(t,e){this.currentPath.lineTo(t,e)},quadraticCurveTo:function(t,e,i,n){this.currentPath.quadraticCurveTo(t,e,i,n)},bezierCurveTo:function(t,e,i,n,s,a){this.currentPath.bezierCurveTo(t,e,i,n,s,a)},splineThru:function(t){this.currentPath.splineThru(t)},toShapes:function(t,e){function i(rt){for(var xt=[],gt=0,At=rt.length;gt<At;gt++){var wt=rt[gt],Vt=new Qn;Vt.curves=wt.curves,xt.push(Vt)}return xt}function n(rt,xt){for(var gt=xt.length,At=!1,wt=gt-1,Vt=0;Vt<gt;wt=Vt++){var Z=xt[wt],st=xt[Vt],zt=st.x-Z.x,ee=st.y-Z.y;if(Math.abs(ee)>Number.EPSILON){if(0>ee&&(Z=xt[Vt],zt=-zt,st=xt[wt],ee=-ee),!(rt.y<Z.y||rt.y>st.y))if(rt.y===Z.y){if(rt.x===Z.x)return!0}else{if(wt=ee*(rt.x-Z.x)-zt*(rt.y-Z.y),wt===0)return!0;0>wt||(At=!At)}}else if(rt.y===Z.y&&(st.x<=rt.x&&rt.x<=Z.x||Z.x<=rt.x&&rt.x<=st.x))return!0}return At}var s=ws.isClockWise,a=this.subPaths;if(a.length===0)return[];if(e===!0)return i(a);if(e=[],a.length===1){var c=a[0],f=new Qn;return f.curves=c.curves,e.push(f),e}var v=!s(a[0].getPoints());v=t?!v:v,f=[];var y=[],A=[],P=0;y[P]=void 0,A[P]=[];for(var k=0,H=a.length;k<H;k++){c=a[k];var q=c.getPoints(),K=s(q);(K=t?!K:K)?(!v&&y[P]&&P++,y[P]={s:new Qn,p:q},y[P].s.curves=c.curves,v&&P++,A[P]=[]):A[P].push({h:c,p:q[0]})}if(!y[0])return i(a);if(1<y.length){for(k=!1,t=[],s=0,a=y.length;s<a;s++)f[s]=[];for(s=0,a=y.length;s<a;s++)for(c=A[s],K=0;K<c.length;K++){for(v=c[K],P=!0,q=0;q<y.length;q++)n(v.p,y[q].p)&&(s!==q&&t.push({froms:s,tos:q,hole:K}),P?(P=!1,f[q].push(v)):k=!0);P&&f[s].push(v)}0<t.length&&(k||(A=f))}for(k=0,s=y.length;k<s;k++)for(f=y[k].s,e.push(f),t=A[k],a=0,c=t.length;a<c;a++)f.holes.push(t[a].h);return e}}),Object.assign(kh.prototype,{isFont:!0,generateShapes:function(t,e){e===void 0&&(e=100);var i=[],n=e;e=this.data;var s=Array.from?Array.from(t):String(t).split("");n/=e.resolution;var a=(e.boundingBox.yMax-e.boundingBox.yMin+e.underlineThickness)*n;t=[];for(var c=0,f=0,v=0;v<s.length;v++){var y=s[v];if(y===`
2571
2571
  `)c=0,f-=a;else{var A=n,P=c,k=f;if(y=e.glyphs[y]||e.glyphs["?"]){var H=new Ql;if(y.o)for(var q=y._cachedOutline||(y._cachedOutline=y.o.split(" ")),K=0,rt=q.length;K<rt;)switch(q[K++]){case"m":var xt=q[K++]*A+P,gt=q[K++]*A+k;H.moveTo(xt,gt);break;case"l":xt=q[K++]*A+P,gt=q[K++]*A+k,H.lineTo(xt,gt);break;case"q":var At=q[K++]*A+P,wt=q[K++]*A+k,Vt=q[K++]*A+P,Z=q[K++]*A+k;H.quadraticCurveTo(Vt,Z,At,wt);break;case"b":At=q[K++]*A+P,wt=q[K++]*A+k,Vt=q[K++]*A+P,Z=q[K++]*A+k,xt=q[K++]*A+P,gt=q[K++]*A+k,H.bezierCurveTo(Vt,Z,xt,gt,At,wt)}A={offsetX:y.ha*A,path:H}}else A=void 0;c+=A.offsetX,t.push(A.path)}}for(e=0,s=t.length;e<s;e++)Array.prototype.push.apply(i,t[e].toShapes());return i}}),Object.assign(bu.prototype,{load:function(t,e,i,n){var s=this,a=new Lt(this.manager);a.setPath(this.path),a.load(t,function(c){try{var f=JSON.parse(c)}catch{console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),f=JSON.parse(c.substring(65,c.length-2))}c=s.parse(f),e&&e(c)},i,n)},parse:function(t){return new kh(t)},setPath:function(t){return this.path=t,this}});var ah,qh={getContext:function(){return ah===void 0&&(ah=new(window.AudioContext||window.webkitAudioContext)),ah},setContext:function(t){ah=t}};Object.assign(vn.prototype,{load:function(t,e,i,n){var s=new Lt(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.load(t,function(a){a=a.slice(0),qh.getContext().decodeAudioData(a,function(c){e(c)})},i,n)},setPath:function(t){return this.path=t,this}}),Object.assign(Vn.prototype,{update:function(){var t,e,i,n,s,a,c,f,v=new p,y=new p;return function(A){if(t!==this||e!==A.focus||i!==A.fov||n!==A.aspect*this.aspect||s!==A.near||a!==A.far||c!==A.zoom||f!==this.eyeSep){t=this,e=A.focus,i=A.fov,n=A.aspect*this.aspect,s=A.near,a=A.far,c=A.zoom;var P=A.projectionMatrix.clone();f=this.eyeSep/2;var k=f*s/e,H=s*Math.tan(pi.DEG2RAD*i*.5)/c;y.elements[12]=-f,v.elements[12]=f;var q=-H*n+k,K=H*n+k;P.elements[0]=2*s/(K-q),P.elements[8]=(K+q)/(K-q),this.cameraL.projectionMatrix.copy(P),q=-H*n-k,K=H*n-k,P.elements[0]=2*s/(K-q),P.elements[8]=(K+q)/(K-q),this.cameraR.projectionMatrix.copy(P)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(y),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(v)}}()}),hl.prototype=Object.create(N.prototype),hl.prototype.constructor=hl,Object.assign(Bh.prototype,{start:function(){this.oldTime=this.startTime=(typeof performance>"u"?Date:performance).now(),this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.autoStart=this.running=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var e=(typeof performance>"u"?Date:performance).now();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}),th.prototype=Object.assign(Object.create(N.prototype),{constructor:th,getInput:function(){return this.gain},removeFilter:function(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this},getFilter:function(){return this.filter},setFilter:function(t){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this},updateMatrixWorld:function(){var t=new u,e=new d,i=new u,n=new u,s=new Bh;return function(a){N.prototype.updateMatrixWorld.call(this,a),a=this.context.listener;var c=this.up;if(this.timeDelta=s.getDelta(),this.matrixWorld.decompose(t,e,i),n.set(0,0,-1).applyQuaternion(e),a.positionX){var f=this.context.currentTime+this.timeDelta;a.positionX.linearRampToValueAtTime(t.x,f),a.positionY.linearRampToValueAtTime(t.y,f),a.positionZ.linearRampToValueAtTime(t.z,f),a.forwardX.linearRampToValueAtTime(n.x,f),a.forwardY.linearRampToValueAtTime(n.y,f),a.forwardZ.linearRampToValueAtTime(n.z,f),a.upX.linearRampToValueAtTime(c.x,f),a.upY.linearRampToValueAtTime(c.y,f),a.upZ.linearRampToValueAtTime(c.z,f)}else a.setPosition(t.x,t.y,t.z),a.setOrientation(n.x,n.y,n.z,c.x,c.y,c.z)}}()}),wa.prototype=Object.assign(Object.create(N.prototype),{constructor:wa,getOutput:function(){return this.gain},setNodeSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this},setMediaElementSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this},setBuffer:function(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(this.isPlaying===!0)console.warn("THREE.Audio: Audio is already playing.");else if(this.hasPlaybackControl===!1)console.warn("THREE.Audio: this Audio has no playback control.");else{var t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.onended=this.onEnded.bind(this),t.playbackRate.setValueAtTime(this.playbackRate,this.startTime),this.startTime=this.context.currentTime,t.start(this.startTime,this.offset),this.isPlaying=!0,this.source=t,this.connect()}},pause:function(){if(this.hasPlaybackControl===!1)console.warn("THREE.Audio: this Audio has no playback control.");else return this.isPlaying===!0&&(this.source.stop(),this.source.onended=null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this},stop:function(){if(this.hasPlaybackControl===!1)console.warn("THREE.Audio: this Audio has no playback control.");else return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this},connect:function(){if(0<this.filters.length){this.source.connect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);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 t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(t){return t||(t=[]),this.isPlaying===!0?(this.disconnect(),this.filters=t,this.connect()):this.filters=t,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(t){return this.setFilters(t?[t]:[])},setPlaybackRate:function(t){if(this.hasPlaybackControl===!1)console.warn("THREE.Audio: this Audio has no playback control.");else return this.playbackRate=t,this.isPlaying===!0&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return this.hasPlaybackControl===!1?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(t){if(this.hasPlaybackControl===!1)console.warn("THREE.Audio: this Audio has no playback control.");else return this.loop=t,this.isPlaying===!0&&(this.source.loop=this.loop),this},getVolume:function(){return this.gain.gain.value},setVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}),ul.prototype=Object.assign(Object.create(wa.prototype),{constructor:ul,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(t){return this.panner.refDistance=t,this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(t){return this.panner.rolloffFactor=t,this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(t){return this.panner.distanceModel=t,this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(t){return this.panner.maxDistance=t,this},setDirectionalCone:function(t,e,i){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=i,this},updateMatrixWorld:function(){var t=new u,e=new d,i=new u,n=new u;return function(s){if(N.prototype.updateMatrixWorld.call(this,s),s=this.panner,this.matrixWorld.decompose(t,e,i),n.set(0,0,1).applyQuaternion(e),s.positionX){var a=this.context.currentTime+this.listener.timeDelta;s.positionX.linearRampToValueAtTime(t.x,a),s.positionY.linearRampToValueAtTime(t.y,a),s.positionZ.linearRampToValueAtTime(t.z,a),s.orientationX.linearRampToValueAtTime(n.x,a),s.orientationY.linearRampToValueAtTime(n.y,a),s.orientationZ.linearRampToValueAtTime(n.z,a)}else s.setPosition(t.x,t.y,t.z),s.setOrientation(n.x,n.y,n.z)}}()}),Object.assign(zo.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var t=0,e=this.getFrequencyData(),i=0;i<e.length;i++)t+=e[i];return t/e.length}}),Object.assign(cl.prototype,{accumulate:function(t,e){var i=this.buffer,n=this.valueSize;t=t*n+n;var s=this.cumulativeWeight;if(s===0){for(s=0;s!==n;++s)i[t+s]=i[s];s=e}else s+=e,this._mixBufferRegion(i,t,0,e/s,n);this.cumulativeWeight=s},apply:function(t){var e=this.valueSize,i=this.buffer;t=t*e+e;var n=this.cumulativeWeight,s=this.binding;this.cumulativeWeight=0,1>n&&this._mixBufferRegion(i,t,3*e,1-n,e),n=e;for(var a=e+e;n!==a;++n)if(i[n]!==i[n+e]){s.setValue(i,t);break}},saveOriginalState:function(){var t=this.buffer,e=this.valueSize,i=3*e;this.binding.getValue(t,i);for(var n=e;n!==i;++n)t[n]=t[i+n%e];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(t,e,i,n,s){if(.5<=n)for(n=0;n!==s;++n)t[e+n]=t[i+n]},_slerp:function(t,e,i,n){d.slerpFlat(t,e,t,e,t,i,n)},_lerp:function(t,e,i,n,s){for(var a=1-n,c=0;c!==s;++c){var f=e+c;t[f]=t[f]*a+t[i+c]*n}}}),Object.assign(ko.prototype,{getValue:function(t,e){this.bind();var i=this._bindings[this._targetGroup.nCachedObjects_];i!==void 0&&i.getValue(t,e)},setValue:function(t,e){for(var i=this._bindings,n=this._targetGroup.nCachedObjects_,s=i.length;n!==s;++n)i[n].setValue(t,e)},bind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()},unbind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}}),Object.assign(En,{Composite:ko,create:function(t,e,i){return t&&t.isAnimationObjectGroup?new En.Composite(t,e,i):new En(t,e,i)},sanitizeNodeName:function(){var t=/[\[\]\.:\/]/g;return function(e){return e.replace(/\s/g,"_").replace(t,"")}}(),parseTrackName:function(){var t="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",e=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]");t=/(WCOD+)?/.source.replace("WCOD",t);var i=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),n=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),s=new RegExp("^"+e+t+i+n+"$"),a=["material","materials","bones"];return function(c){var f=s.exec(c);if(!f)throw Error("PropertyBinding: Cannot parse trackName: "+c);f={nodeName:f[2],objectName:f[3],objectIndex:f[4],propertyName:f[5],propertyIndex:f[6]};var v=f.nodeName&&f.nodeName.lastIndexOf(".");if(v!==void 0&&v!==-1){var y=f.nodeName.substring(v+1);a.indexOf(y)!==-1&&(f.nodeName=f.nodeName.substring(0,v),f.objectName=y)}if(f.propertyName===null||f.propertyName.length===0)throw Error("PropertyBinding: can not parse propertyName from trackName: "+c);return f}}(),findNode:function(t,e){if(!e||e===""||e==="root"||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){var i=t.skeleton.getBoneByName(e);if(i!==void 0)return i}if(t.children){var n=function(s){for(var a=0;a<s.length;a++){var c=s[a];if(c.name===e||c.uuid===e||(c=n(c.children)))return c}return null};if(t=n(t.children))return t}return null}}),Object.assign(En.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(t,e){t[e]=this.node[this.propertyName]},function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)t[e++]=i[n]},function(t,e){t[e]=this.resolvedProperty[this.propertyIndex]},function(t,e){this.resolvedProperty.toArray(t,e)}],SetterByBindingTypeAndVersioning:[[function(t,e){this.targetObject[this.propertyName]=t[e]},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)i[n]=t[e++]},function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)i[n]=t[e++];this.targetObject.needsUpdate=!0},function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)i[n]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty[this.propertyIndex]=t[e]},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty.fromArray(t,e)},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,i=e.objectName,n=e.propertyName,s=e.propertyIndex;if(t||(this.node=t=En.findNode(this.rootNode,e.nodeName)||this.rootNode),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,t){if(i){var a=e.objectIndex;switch(i){case"materials":if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}t=t.material.materials;break;case"bones":if(!t.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}for(t=t.skeleton.bones,i=0;i<t.length;i++)if(t[i].name===a){a=i;break}break;default:if(t[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}t=t[i]}if(a!==void 0){if(t[a]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);return}t=t[a]}}if(a=t[n],a===void 0)console.error("THREE.PropertyBinding: Trying to update property for track: "+e.nodeName+"."+n+" but it wasn't found.",t);else{if(e=this.Versioning.None,this.targetObject=t,t.needsUpdate!==void 0?e=this.Versioning.NeedsUpdate:t.matrixWorldNeedsUpdate!==void 0&&(e=this.Versioning.MatrixWorldNeedsUpdate),i=this.BindingType.Direct,s!==void 0){if(n==="morphTargetInfluences"){if(!t.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(t.geometry.isBufferGeometry){if(!t.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}for(i=0;i<this.node.geometry.morphAttributes.position.length;i++)if(t.geometry.morphAttributes.position[i].name===s){s=i;break}}else{if(!t.geometry.morphTargets){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.",this);return}for(i=0;i<this.node.geometry.morphTargets.length;i++)if(t.geometry.morphTargets[i].name===s){s=i;break}}}i=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=s}else a.fromArray!==void 0&&a.toArray!==void 0?(i=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(i=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=n;this.getValue=this.GetterByBindingType[i],this.setValue=this.SetterByBindingTypeAndVersioning[i][e]}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(En.prototype,{_getValue_unbound:En.prototype.getValue,_setValue_unbound:En.prototype.setValue}),Object.assign(Ta.prototype,{isAnimationObjectGroup:!0,add:function(){for(var t=this._objects,e=t.length,i=this.nCachedObjects_,n=this._indicesByUUID,s=this._paths,a=this._parsedPaths,c=this._bindings,f=c.length,v=void 0,y=0,A=arguments.length;y!==A;++y){var P=arguments[y],k=P.uuid,H=n[k];if(H===void 0){H=e++,n[k]=H,t.push(P),k=0;for(var q=f;k!==q;++k)c[k].push(new En(P,s[k],a[k]))}else if(H<i){v=t[H];var K=--i;for(q=t[K],n[q.uuid]=H,t[H]=q,n[k]=K,t[K]=P,k=0,q=f;k!==q;++k){var rt=c[k],xt=rt[H];rt[H]=rt[K],xt===void 0&&(xt=new En(P,s[k],a[k])),rt[K]=xt}}else t[H]!==v&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=i},remove:function(){for(var t=this._objects,e=this.nCachedObjects_,i=this._indicesByUUID,n=this._bindings,s=n.length,a=0,c=arguments.length;a!==c;++a){var f=arguments[a],v=f.uuid,y=i[v];if(y!==void 0&&y>=e){var A=e++,P=t[A];for(i[P.uuid]=y,t[y]=P,i[v]=A,t[A]=f,f=0,v=s;f!==v;++f){P=n[f];var k=P[y];P[y]=P[A],P[A]=k}}}this.nCachedObjects_=e},uncache:function(){for(var t=this._objects,e=t.length,i=this.nCachedObjects_,n=this._indicesByUUID,s=this._bindings,a=s.length,c=0,f=arguments.length;c!==f;++c){var v=arguments[c].uuid,y=n[v];if(y!==void 0)if(delete n[v],y<i){v=--i;var A=t[v],P=--e,k=t[P];for(n[A.uuid]=y,t[y]=A,n[k.uuid]=v,t[v]=k,t.pop(),A=0,k=a;A!==k;++A){var H=s[A],q=H[P];H[y]=H[v],H[v]=q,H.pop()}}else for(P=--e,k=t[P],n[k.uuid]=y,t[y]=k,t.pop(),A=0,k=a;A!==k;++A)H=s[A],H[y]=H[P],H.pop()}this.nCachedObjects_=i},subscribe_:function(t,e){var i=this._bindingsIndicesByPath,n=i[t],s=this._bindings;if(n!==void 0)return s[n];var a=this._paths,c=this._parsedPaths,f=this._objects,v=this.nCachedObjects_,y=Array(f.length);for(n=s.length,i[t]=n,a.push(t),c.push(e),s.push(y),i=v,n=f.length;i!==n;++i)y[i]=new En(f[i],t,e);return y},unsubscribe_:function(t){var e=this._bindingsIndicesByPath,i=e[t];if(i!==void 0){var n=this._paths,s=this._parsedPaths,a=this._bindings,c=a.length-1,f=a[c];e[t[c]]=i,a[i]=f,a.pop(),s[i]=s[c],s.pop(),n[i]=n[c],n.pop()}}}),Object.assign(fl.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(t){return this._startTime=t,this},setLoop:function(t,e){return this.loop=t,this.repetitions=e,this},setEffectiveWeight:function(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(t){return this._scheduleFading(t,0,1)},fadeOut:function(t){return this._scheduleFading(t,1,0)},crossFadeFrom:function(t,e,i){if(t.fadeOut(e),this.fadeIn(e),i){i=this._clip.duration;var n=t._clip.duration,s=i/n;t.warp(1,n/i,e),this.warp(s,1,e)}return this},crossFadeTo:function(t,e,i){return t.crossFadeFrom(this,e,i)},stopFading:function(){var t=this._weightInterpolant;return t!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},setEffectiveTimeScale:function(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(t){return this.timeScale=this._clip.duration/t,this.stopWarping()},syncWith:function(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()},halt:function(t){return this.warp(this._effectiveTimeScale,0,t)},warp:function(t,e,i){var n=this._mixer,s=n.time,a=this._timeScaleInterpolant,c=this.timeScale;return a===null&&(this._timeScaleInterpolant=a=n._lendControlInterpolant()),n=a.parameterPositions,a=a.sampleValues,n[0]=s,n[1]=s+i,a[0]=t/c,a[1]=e/c,this},stopWarping:function(){var t=this._timeScaleInterpolant;return t!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(t,e,i,n){if(this.enabled){var s=this._startTime;if(s!==null){if(e=(t-s)*i,0>e||i===0)return;this._startTime=null,e*=i}if(e*=this._updateTimeScale(t),i=this._updateTime(e),t=this._updateWeight(t),0<t){e=this._interpolants,s=this._propertyBindings;for(var a=0,c=e.length;a!==c;++a)e[a].evaluate(i),s[a].accumulate(n,t)}}else this._updateWeight(t)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var i=this._weightInterpolant;if(i!==null){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),n===0&&(this.enabled=!1))}}return this._effectiveWeight=e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var i=this._timeScaleInterpolant;if(i!==null){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopWarping(),e===0?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e},_updateTime:function(t){var e=this.time+t,i=this._clip.duration,n=this.loop,s=this._loopCount,a=n===2202;if(t===0)return s===-1?e:a&&(s&1)===1?i-e:e;if(n===2200)t:{if(s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1)),e>=i)e=i;else if(0>e)e=0;else break t;this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:"finished",action:this,direction:0>t?-1:1})}else{if(s===-1&&(0<=t?(s=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),e>=i||0>e){n=Math.floor(e/i),e-=i*n,s+=Math.abs(n);var c=this.repetitions-s;0>=c?(this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=0<t?i:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:0<t?1:-1})):(c===1?(t=0>t,this._setEndings(t,!t,a)):this._setEndings(!1,!1,a),this._loopCount=s,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n}))}if(a&&(s&1)===1)return this.time=e,i-e}return this.time=e},_setEndings:function(t,e,i){var n=this._interpolantSettings;i?(n.endingStart=2401,n.endingEnd=2401):(n.endingStart=t?this.zeroSlopeAtStart?2401:2400:2402,n.endingEnd=e?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(t,e,i){var n=this._mixer,s=n.time,a=this._weightInterpolant;return a===null&&(this._weightInterpolant=a=n._lendControlInterpolant()),n=a.parameterPositions,a=a.sampleValues,n[0]=s,a[0]=e,n[1]=s+t,a[1]=i,this}}),no.prototype=Object.assign(Object.create(l.prototype),{constructor:no,_bindAction:function(t,e){var i=t._localRoot||this._root,n=t._clip.tracks,s=n.length,a=t._propertyBindings;t=t._interpolants;var c=i.uuid,f=this._bindingsByRootAndName,v=f[c];for(v===void 0&&(v={},f[c]=v),f=0;f!==s;++f){var y=n[f],A=y.name,P=v[A];if(P===void 0){if(P=a[f],P!==void 0){P._cacheIndex===null&&(++P.referenceCount,this._addInactiveBinding(P,c,A));continue}P=new cl(En.create(i,A,e&&e._propertyBindings[f].binding.parsedPath),y.ValueTypeName,y.getValueSize()),++P.referenceCount,this._addInactiveBinding(P,c,A)}a[f]=P,t[f].resultBuffer=P.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(t._cacheIndex===null){var e=(t._localRoot||this._root).uuid,i=t._clip.uuid,n=this._actionsByClip[i];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,i,e)}for(e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var s=e[i];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var s=e[i];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){return t=t._cacheIndex,t!==null&&t<this._nActiveActions},_addInactiveAction:function(t,e,i){var n=this._actions,s=this._actionsByClip,a=s[e];a===void 0?(a={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,s[e]=a):(e=a.knownActions,t._byClipCacheIndex=e.length,e.push(t)),t._cacheIndex=n.length,n.push(t),a.actionByRoot[i]=t},_removeInactiveAction:function(t){var e=this._actions,i=e[e.length-1],n=t._cacheIndex;i._cacheIndex=n,e[n]=i,e.pop(),t._cacheIndex=null,e=t._clip.uuid,i=this._actionsByClip,n=i[e];var s=n.knownActions,a=s[s.length-1],c=t._byClipCacheIndex;a._byClipCacheIndex=c,s[c]=a,s.pop(),t._byClipCacheIndex=null,delete n.actionByRoot[(t._localRoot||this._root).uuid],s.length===0&&delete i[e],this._removeInactiveBindingsForAction(t)},_removeInactiveBindingsForAction:function(t){t=t._propertyBindings;for(var e=0,i=t.length;e!==i;++e){var n=t[e];--n.referenceCount===0&&this._removeInactiveBinding(n)}},_lendAction:function(t){var e=this._actions,i=t._cacheIndex,n=this._nActiveActions++,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_takeBackAction:function(t){var e=this._actions,i=t._cacheIndex,n=--this._nActiveActions,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_addInactiveBinding:function(t,e,i){var n=this._bindingsByRootAndName,s=n[e],a=this._bindings;s===void 0&&(s={},n[e]=s),s[i]=t,t._cacheIndex=a.length,a.push(t)},_removeInactiveBinding:function(t){var e=this._bindings,i=t.binding,n=i.rootNode.uuid;i=i.path;var s=this._bindingsByRootAndName,a=s[n],c=e[e.length-1];t=t._cacheIndex,c._cacheIndex=t,e[t]=c,e.pop(),delete a[i];t:{for(var f in a)break t;delete s[n]}},_lendBinding:function(t){var e=this._bindings,i=t._cacheIndex,n=this._nActiveBindings++,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_takeBackBinding:function(t){var e=this._bindings,i=t._cacheIndex,n=--this._nActiveBindings,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_lendControlInterpolant:function(){var t=this._controlInterpolants,e=this._nActiveControlInterpolants++,i=t[e];return i===void 0&&(i=new Dr(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),i.__cacheIndex=e,t[e]=i),i},_takeBackControlInterpolant:function(t){var e=this._controlInterpolants,i=t.__cacheIndex,n=--this._nActiveControlInterpolants,s=e[n];t.__cacheIndex=n,e[n]=t,s.__cacheIndex=i,e[i]=s},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(t,e){var i=e||this._root,n=i.uuid;i=typeof t=="string"?yr.findByName(i,t):t,t=i!==null?i.uuid:t;var s=this._actionsByClip[t],a=null;if(s!==void 0){if(a=s.actionByRoot[n],a!==void 0)return a;a=s.knownActions[0],i===null&&(i=a._clip)}return i===null?null:(e=new fl(this,i,e),this._bindAction(e,a),this._addInactiveAction(e,t,n),e)},existingAction:function(t,e){var i=e||this._root;return e=i.uuid,i=typeof t=="string"?yr.findByName(i,t):t,t=this._actionsByClip[i?i.uuid:t],t!==void 0&&t.actionByRoot[e]||null},stopAllAction:function(){for(var t=this._actions,e=this._nActiveActions,i=this._bindings,n=this._nActiveBindings,s=this._nActiveBindings=this._nActiveActions=0;s!==e;++s)t[s].reset();for(s=0;s!==n;++s)i[s].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,i=this._nActiveActions,n=this.time+=t,s=Math.sign(t),a=this._accuIndex^=1,c=0;c!==i;++c)e[c]._update(n,t,s,a);for(t=this._bindings,e=this._nActiveBindings,c=0;c!==e;++c)t[c].apply(a);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions;t=t.uuid;var i=this._actionsByClip,n=i[t];if(n!==void 0){n=n.knownActions;for(var s=0,a=n.length;s!==a;++s){var c=n[s];this._deactivateAction(c);var f=c._cacheIndex,v=e[e.length-1];c._cacheIndex=null,c._byClipCacheIndex=null,v._cacheIndex=f,e[f]=v,e.pop(),this._removeInactiveBindingsForAction(c)}delete i[t]}},uncacheRoot:function(t){t=t.uuid;var e=this._actionsByClip;for(n in e){var i=e[n].actionByRoot[t];i!==void 0&&(this._deactivateAction(i),this._removeInactiveAction(i))}var n=this._bindingsByRootAndName[t];if(n!==void 0)for(var s in n)t=n[s],t.restoreOriginalState(),this._removeInactiveBinding(t)},uncacheAction:function(t,e){t=this.existingAction(t,e),t!==null&&(this._deactivateAction(t),this._removeInactiveAction(t))}}),eh.prototype.clone=function(){return new eh(this.value.clone===void 0?this.value:this.value.clone())},Nh.prototype=Object.assign(Object.create(Ft.prototype),{constructor:Nh,isInstancedBufferGeometry:!0,copy:function(t){return Ft.prototype.copy.call(this,t),this.maxInstancedCount=t.maxInstancedCount,this},clone:function(){return new this.constructor().copy(this)}}),Fh.prototype=Object.assign(Object.create(Di.prototype),{constructor:Fh,isInstancedInterleavedBuffer:!0,copy:function(t){return Di.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Uh.prototype=Object.assign(Object.create(J.prototype),{constructor:Uh,isInstancedBufferAttribute:!0,copy:function(t){return J.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Object.assign(Au.prototype,{linePrecision:1,set:function(t,e){this.ray.set(t,e)},setFromCamera:function(t,e){e&&e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize()):e&&e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(t,e,i){return i=i||[],Bo(t,this,i,e),i.sort(pl),i},intersectObjects:function(t,e,i){if(i=i||[],Array.isArray(t)===!1)return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),i;for(var n=0,s=t.length;n<s;n++)Bo(t[n],this,i,e);return i.sort(pl),i}}),Object.assign(Gh.prototype,{set:function(t,e,i){return this.radius=t,this.phi=e,this.theta=i,this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this},makeSafe:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,i){return this.radius=Math.sqrt(t*t+e*e+i*i),this.radius===0?this.phi=this.theta=0:(this.theta=Math.atan2(t,i),this.phi=Math.acos(pi.clamp(e/this.radius,-1,1))),this}}),Object.assign(it.prototype,{set:function(t,e,i){return this.radius=t,this.theta=e,this.y=i,this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,i){return this.radius=Math.sqrt(t*t+i*i),this.theta=Math.atan2(t,i),this.y=e,this}}),Object.assign(ro.prototype,{set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new o;return function(e,i){return i=t.copy(i).multiplyScalar(.5),this.min.copy(e).sub(i),this.max.copy(e).add(i),this}}(),clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(t){return t===void 0&&(console.warn("THREE.Box2: .getCenter() target is now required"),t=new o),this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return t===void 0&&(console.warn("THREE.Box2: .getSize() target is now required"),t=new o),this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},getParameter:function(t,e){return e===void 0&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new o),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)},clampPoint:function(t,e){return e===void 0&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new o),e.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new o;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(Ma.prototype,{set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},getCenter:function(t){return t===void 0&&(console.warn("THREE.Line3: .getCenter() target is now required"),t=new u),t.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){return t===void 0&&(console.warn("THREE.Line3: .delta() target is now required"),t=new u),t.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){return e===void 0&&(console.warn("THREE.Line3: .at() target is now required"),e=new u),this.delta(e).multiplyScalar(t).add(this.start)},closestPointToPointParameter:function(){var t=new u,e=new u;return function(i,n){return t.subVectors(i,this.start),e.subVectors(this.end,this.start),i=e.dot(e),i=e.dot(t)/i,n&&(i=pi.clamp(i,0,1)),i}}(),closestPointToPoint:function(t,e,i){return t=this.closestPointToPointParameter(t,e),i===void 0&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),i=new u),this.delta(i).multiplyScalar(t).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}),qn.prototype=Object.create(N.prototype),qn.prototype.constructor=qn,qn.prototype.isImmediateRenderObject=!0,yi.prototype=Object.create(gi.prototype),yi.prototype.constructor=yi,yi.prototype.update=function(){var t=new u,e=new u,i=new m;return function(){var n=["a","b","c"];this.object.updateMatrixWorld(!0),i.getNormalMatrix(this.object.matrixWorld);var s=this.object.matrixWorld,a=this.geometry.attributes.position,c=this.object.geometry;if(c&&c.isGeometry)for(var f=c.vertices,v=c.faces,y=c=0,A=v.length;y<A;y++)for(var P=v[y],k=0,H=P.vertexNormals.length;k<H;k++){var q=P.vertexNormals[k];t.copy(f[P[n[k]]]).applyMatrix4(s),e.copy(q).applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),a.setXYZ(c,t.x,t.y,t.z),c+=1,a.setXYZ(c,e.x,e.y,e.z),c+=1}else if(c&&c.isBufferGeometry)for(n=c.attributes.position,f=c.attributes.normal,k=c=0,H=n.count;k<H;k++)t.set(n.getX(k),n.getY(k),n.getZ(k)).applyMatrix4(s),e.set(f.getX(k),f.getY(k),f.getZ(k)),e.applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),a.setXYZ(c,t.x,t.y,t.z),c+=1,a.setXYZ(c,e.x,e.y,e.z),c+=1;a.needsUpdate=!0}}(),Sa.prototype=Object.create(N.prototype),Sa.prototype.constructor=Sa,Sa.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},Sa.prototype.update=function(){var t=new u,e=new u;return function(){this.light.updateMatrixWorld();var i=this.light.distance?this.light.distance:1e3,n=i*Math.tan(this.light.angle);this.cone.scale.set(n,n,i),t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(e.sub(t)),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}(),Ea.prototype=Object.create(gi.prototype),Ea.prototype.constructor=Ea,Ea.prototype.updateMatrixWorld=function(){var t=new u,e=new p,i=new p;return function(n){var s=this.bones,a=this.geometry,c=a.getAttribute("position");i.getInverse(this.root.matrixWorld);for(var f=0,v=0;f<s.length;f++){var y=s[f];y.parent&&y.parent.isBone&&(e.multiplyMatrices(i,y.matrixWorld),t.setFromMatrixPosition(e),c.setXYZ(v,t.x,t.y,t.z),e.multiplyMatrices(i,y.parent.matrixWorld),t.setFromMatrixPosition(e),c.setXYZ(v+1,t.x,t.y,t.z),v+=2)}a.getAttribute("position").needsUpdate=!0,N.prototype.updateMatrixWorld.call(this,n)}}(),kr.prototype=Object.create(di.prototype),kr.prototype.constructor=kr,kr.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},kr.prototype.update=function(){this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)},ba.prototype=Object.create(N.prototype),ba.prototype.constructor=ba,ba.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},ba.prototype.update=function(){var t=.5*this.light.width,e=.5*this.light.height,i=this.line.geometry.attributes.position,n=i.array;n[0]=t,n[1]=-e,n[2]=0,n[3]=t,n[4]=e,n[5]=0,n[6]=-t,n[7]=e,n[8]=0,n[9]=-t,n[10]=-e,n[11]=0,n[12]=t,n[13]=-e,n[14]=0,i.needsUpdate=!0,this.color!==void 0?this.line.material.color.set(this.color):this.line.material.color.copy(this.light.color)},Aa.prototype=Object.create(N.prototype),Aa.prototype.constructor=Aa,Aa.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},Aa.prototype.update=function(){var t=new u,e=new L,i=new L;return function(){var n=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{var s=n.geometry.getAttribute("color");e.copy(this.light.color),i.copy(this.light.groundColor);for(var a=0,c=s.count;a<c;a++){var f=a<c/2?e:i;s.setXYZ(a,f.r,f.g,f.b)}s.needsUpdate=!0}n.lookAt(t.setFromMatrixPosition(this.light.matrixWorld).negate())}}(),dl.prototype=Object.create(gi.prototype),dl.prototype.constructor=dl,ih.prototype=Object.create(gi.prototype),ih.prototype.constructor=ih,ml.prototype=Object.create(gi.prototype),ml.prototype.constructor=ml,ml.prototype.update=function(){var t=new u,e=new u,i=new m;return function(){this.object.updateMatrixWorld(!0),i.getNormalMatrix(this.object.matrixWorld);var n=this.object.matrixWorld,s=this.geometry.attributes.position,a=this.object.geometry,c=a.vertices;a=a.faces;for(var f=0,v=0,y=a.length;v<y;v++){var A=a[v],P=A.normal;t.copy(c[A.a]).add(c[A.b]).add(c[A.c]).divideScalar(3).applyMatrix4(n),e.copy(P).applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),s.setXYZ(f,t.x,t.y,t.z),f+=1,s.setXYZ(f,e.x,e.y,e.z),f+=1}s.needsUpdate=!0}}(),pr.prototype=Object.create(N.prototype),pr.prototype.constructor=pr,pr.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},pr.prototype.update=function(){var t=new u,e=new u,i=new u;return function(){t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),i.subVectors(e,t),this.lightPlane.lookAt(i),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(i),this.targetLine.scale.z=i.length()}}(),gl.prototype=Object.create(gi.prototype),gl.prototype.constructor=gl,gl.prototype.update=function(){function t(a,c,f,v){if(n.set(c,f,v).unproject(s),a=i[a],a!==void 0)for(c=e.getAttribute("position"),f=0,v=a.length;f<v;f++)c.setXYZ(a[f],n.x,n.y,n.z)}var e,i,n=new u,s=new Be;return function(){e=this.geometry,i=this.pointMap,s.projectionMatrix.copy(this.camera.projectionMatrix),t("c",0,0,-1),t("t",0,0,1),t("n1",-1,-1,-1),t("n2",1,-1,-1),t("n3",-1,1,-1),t("n4",1,1,-1),t("f1",-1,-1,1),t("f2",1,-1,1),t("f3",-1,1,1),t("f4",1,1,1),t("u1",.7,1.1,-1),t("u2",-.7,1.1,-1),t("u3",0,2,-1),t("cf1",-1,0,1),t("cf2",1,0,1),t("cf3",0,-1,1),t("cf4",0,1,1),t("cn1",-1,0,-1),t("cn2",1,0,-1),t("cn3",0,-1,-1),t("cn4",0,1,-1),e.getAttribute("position").needsUpdate=!0}}(),Ds.prototype=Object.create(gi.prototype),Ds.prototype.constructor=Ds,Ds.prototype.update=function(){var t=new B;return function(e){if(e!==void 0&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),this.object!==void 0&&t.setFromObject(this.object),!t.isEmpty()){e=t.min;var i=t.max,n=this.geometry.attributes.position,s=n.array;s[0]=i.x,s[1]=i.y,s[2]=i.z,s[3]=e.x,s[4]=i.y,s[5]=i.z,s[6]=e.x,s[7]=e.y,s[8]=i.z,s[9]=i.x,s[10]=e.y,s[11]=i.z,s[12]=i.x,s[13]=i.y,s[14]=e.z,s[15]=e.x,s[16]=i.y,s[17]=e.z,s[18]=e.x,s[19]=e.y,s[20]=e.z,s[21]=i.x,s[22]=e.y,s[23]=e.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),Ds.prototype.setFromObject=function(t){return this.object=t,this.update(),this},Ds.prototype.copy=function(t){return gi.prototype.copy.call(this,t),this.object=t.object,this},Ds.prototype.clone=function(){return new this.constructor().copy(this)},vl.prototype=Object.create(gi.prototype),vl.prototype.constructor=vl,vl.prototype.updateMatrixWorld=function(t){var e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),N.prototype.updateMatrixWorld.call(this,t))},_l.prototype=Object.create(Wi.prototype),_l.prototype.constructor=_l,_l.prototype.updateMatrixWorld=function(t){var e=-this.plane.constant;1e-8>Math.abs(e)&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=0>e?1:0,this.lookAt(this.plane.normal),N.prototype.updateMatrixWorld.call(this,t)};var lh,Tl;zs.prototype=Object.create(N.prototype),zs.prototype.constructor=zs,zs.prototype.setDirection=function(){var t=new u,e;return function(i){.99999<i.y?this.quaternion.set(0,0,0,1):-.99999>i.y?this.quaternion.set(1,0,0,0):(t.set(i.z,0,-i.x).normalize(),e=Math.acos(i.y),this.quaternion.setFromAxisAngle(t,e))}}(),zs.prototype.setLength=function(t,e,i){e===void 0&&(e=.2*t),i===void 0&&(i=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()},zs.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},zs.prototype.copy=function(t){return N.prototype.copy.call(this,t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this},zs.prototype.clone=function(){return new this.constructor().copy(this)},xr.prototype=Object.create(gi.prototype),xr.prototype.constructor=xr,Ee.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Ee.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Object.assign(Os.prototype,{createPointsGeometry:function(t){return console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead."),t=this.getPoints(t),this.createGeometry(t)},createSpacedPointsGeometry:function(t){return console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead."),t=this.getSpacedPoints(t),this.createGeometry(t)},createGeometry:function(t){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var e=new j,i=0,n=t.length;i<n;i++){var s=t[i];e.vertices.push(new u(s.x,s.y,s.z||0))}return e}}),Object.assign(fr.prototype,{fromPoints:function(t){console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)}}),Pu.prototype=Object.create(On.prototype),Lu.prototype=Object.create(On.prototype),Hh.prototype=Object.create(On.prototype),Object.assign(Hh.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),dl.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},Ea.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(Is.prototype,{extractUrlBase:function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),Fo.extractUrlBase(t)}}),Object.assign(Do.prototype,{setTexturePath:function(t){return console.warn("THREE.JSONLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}}),Object.assign(ll.prototype,{setTexturePath:function(t){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}}),Object.assign(ro.prototype,{center:function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},size:function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)}}),Object.assign(B.prototype,{center:function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionSphere:function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},size:function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)}}),Ma.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Object.assign(pi,{random16:function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},nearestPowerOfTwo:function(t){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),pi.floorPowerOfTwo(t)},nextPowerOfTwo:function(t){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),pi.ceilPowerOfTwo(t)}}),Object.assign(m.prototype,{flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},multiplyVector3:function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBuffer:function(t){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(p.prototype,{extractPosition:function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},getPosition:function(){var t;return function(){return t===void 0&&(t=new u),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),t.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector4:function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},crossVector:function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.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(t){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(t,e,i,n,s,a){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,n,i,s,a)}}),F.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},d.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},Object.assign(Fi.prototype,{isIntersectionBox:function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionPlane:function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},isIntersectionSphere:function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)}}),Object.assign(Oe.prototype,{area:function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},barycoordFromPoint:function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},midpoint:function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},normal:function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},plane:function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)}}),Object.assign(Oe,{barycoordFromPoint:function(t,e,i,n,s){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Oe.getBarycoord(t,e,i,n,s)},normal:function(t,e,i,n){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Oe.getNormal(t,e,i,n)}}),Object.assign(Qn.prototype,{extractAllPoints:function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},extrude:function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Cs(this,t)},makeGeometry:function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new Ps(this,t)}}),Object.assign(o.prototype,{fromAttribute:function(t,e,i){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,i)},distanceToManhattan:function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},lengthManhattan:function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(u.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(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},getScaleFromMatrix:function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},getColumnFromMatrix:function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},applyProjection:function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},fromAttribute:function(t,e,i){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,i)},distanceToManhattan:function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},lengthManhattan:function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(w.prototype,{fromAttribute:function(t,e,i){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,i)},lengthManhattan:function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(j.prototype,{computeTangents:function(){console.error("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}}),Object.assign(N.prototype,{getChildByName:function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")}}),Object.defineProperties(N.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},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(rn.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(un.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Object.defineProperty(Ee.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(t){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=t}}),ye.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),e!==void 0&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(tn.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(J.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")}}),Object.assign(Ft.prototype,{addIndex:function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},addDrawCall:function(t,e,i){i!==void 0&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(Ft.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.assign(ps.prototype,{getArrays:function(){console.error("THREE.ExtrudeBufferGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeBufferGeometry: .addShape() has been removed.")}}),Object.defineProperties(eh.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(Yt.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new L}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=t===1}}}),Object.defineProperties(Jr.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(ti.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Object.assign(xe.prototype,{clearTarget:function(t,e,i,n){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,i,n)},animate:function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},getMaxAnisotropy:function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},getPrecision:function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},resetGLState:function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},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.")},setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")}}),Object.defineProperties(xe.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(_e.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(S.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Object.defineProperties(mi.prototype,{standing:{set:function(){console.warn("THREE.WebVRManager: .standing has been removed.")}},userHeight:{set:function(){console.warn("THREE.WebVRManager: .userHeight has been removed.")}}}),wa.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var e=this;return new vn().load(t,function(i){e.setBuffer(i)}),this},zo.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},hl.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)},so.crossOrigin=void 0,so.loadTexture=function(t,e,i,n){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var s=new fn;return s.setCrossOrigin(this.crossOrigin),t=s.load(t,i,void 0,n),e&&(t.mapping=e),t},so.loadTextureCube=function(t,e,i,n){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var s=new Bi;return s.setCrossOrigin(this.crossOrigin),t=s.load(t,i,void 0,n),e&&(t.mapping=e),t},so.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},so.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")},T.WebGLRenderTargetCube=C,T.WebGLRenderTarget=S,T.WebGLRenderer=xe,T.ShaderLib=xs,T.UniformsLib=qe,T.UniformsUtils=Bn,T.ShaderChunk=bi,T.FogExp2=Le,T.Fog=Sn,T.Scene=Xn,T.Sprite=nn,T.LOD=rn,T.SkinnedMesh=Ui,T.Skeleton=un,T.Bone=cn,T.Mesh=di,T.LineSegments=gi,T.LineLoop=cs,T.Line=Wi,T.Points=oa,T.Group=ci,T.VideoTexture=Rh,T.DataTexture=z,T.DataTexture3D=Q,T.CompressedTexture=qs,T.CubeTexture=D,T.CanvasTexture=Za,T.DepthTexture=Ja,T.Texture=_,T.AnimationLoader=Qt,T.CompressedTextureLoader=Zt,T.DataTextureLoader=Ue,T.CubeTextureLoader=Bi,T.TextureLoader=fn,T.ObjectLoader=ll,T.MaterialLoader=Kl,T.BufferGeometryLoader=Dh,T.DefaultLoadingManager=tr,T.LoadingManager=to,T.JSONLoader=Do,T.ImageLoader=ai,T.ImageBitmapLoader=zh,T.FontLoader=bu,T.FileLoader=Lt,T.Loader=Is,T.LoaderUtils=Fo,T.Cache=Ts,T.AudioLoader=vn,T.SpotLightShadow=ol,T.SpotLight=al,T.PointLight=Oo,T.RectAreaLight=$l,T.HemisphereLight=sl,T.DirectionalLightShadow=io,T.DirectionalLight=ys,T.AmbientLight=Io,T.LightShadow=_s,T.Light=tn,T.StereoCamera=Vn,T.PerspectiveCamera=ye,T.OrthographicCamera=xa,T.CubeCamera=hl,T.ArrayCamera=Fe,T.Camera=Be,T.AudioListener=th,T.PositionalAudio=ul,T.AudioContext=qh,T.AudioAnalyser=zo,T.Audio=wa,T.VectorKeyframeTrack=_a,T.StringKeyframeTrack=Jl,T.QuaternionKeyframeTrack=va,T.NumberKeyframeTrack=$r,T.ColorKeyframeTrack=Zl,T.BooleanKeyframeTrack=Yl,T.PropertyMixer=cl,T.PropertyBinding=En,T.KeyframeTrack=Hn,T.AnimationUtils=Yn,T.AnimationObjectGroup=Ta,T.AnimationMixer=no,T.AnimationClip=yr,T.Uniform=eh,T.InstancedBufferGeometry=Nh,T.BufferGeometry=Ft,T.Geometry=j,T.InterleavedBufferAttribute=zi,T.InstancedInterleavedBuffer=Fh,T.InterleavedBuffer=Di,T.InstancedBufferAttribute=Uh,T.Face3=R,T.Object3D=N,T.Raycaster=Au,T.Layers=U,T.EventDispatcher=l,T.Clock=Bh,T.QuaternionLinearInterpolant=ar,T.LinearInterpolant=Dr,T.DiscreteInterpolant=Ro,T.CubicInterpolant=rl,T.Interpolant=$n,T.Triangle=Oe,T.Math=pi,T.Spherical=Gh,T.Cylindrical=it,T.Plane=F,T.Frustum=E,T.Sphere=I,T.Ray=Fi,T.Matrix4=p,T.Matrix3=m,T.Box3=B,T.Box2=ro,T.Line3=Ma,T.Euler=b,T.Vector4=w,T.Vector3=u,T.Vector2=o,T.Quaternion=d,T.Color=L,T.ImmediateRenderObject=qn,T.VertexNormalsHelper=yi,T.SpotLightHelper=Sa,T.SkeletonHelper=Ea,T.PointLightHelper=kr,T.RectAreaLightHelper=ba,T.HemisphereLightHelper=Aa,T.GridHelper=dl,T.PolarGridHelper=ih,T.FaceNormalsHelper=ml,T.DirectionalLightHelper=pr,T.CameraHelper=gl,T.BoxHelper=Ds,T.Box3Helper=vl,T.PlaneHelper=_l,T.ArrowHelper=zs,T.AxesHelper=xr,T.Shape=Qn,T.Path=fr,T.ShapePath=Ql,T.Font=kh,T.CurvePath=Os,T.Curve=Ee,T.ImageUtils=so,T.ShapeUtils=ws,T.WebGLUtils=He,T.WireframeGeometry=aa,T.ParametricGeometry=$a,T.ParametricBufferGeometry=la,T.TetrahedronGeometry=Ka,T.TetrahedronBufferGeometry=ha,T.OctahedronGeometry=Qa,T.OctahedronBufferGeometry=_o,T.IcosahedronGeometry=tl,T.IcosahedronBufferGeometry=ua,T.DodecahedronGeometry=ca,T.DodecahedronBufferGeometry=fa,T.PolyhedronGeometry=ji,T.PolyhedronBufferGeometry=xi,T.TubeGeometry=gn,T.TubeBufferGeometry=Ys,T.TorusKnotGeometry=Zr,T.TorusKnotBufferGeometry=yo,T.TorusGeometry=xo,T.TorusBufferGeometry=Un,T.TextGeometry=il,T.TextBufferGeometry=To,T.SphereGeometry=Zs,T.SphereBufferGeometry=Or,T.RingGeometry=nl,T.RingBufferGeometry=Mo,T.PlaneGeometry=ke,T.PlaneBufferGeometry=fe,T.LatheGeometry=ma,T.LatheBufferGeometry=Js,T.ShapeGeometry=Ps,T.ShapeBufferGeometry=$s,T.ExtrudeGeometry=Cs,T.ExtrudeBufferGeometry=ps,T.EdgesGeometry=Ks,T.ConeGeometry=ga,T.ConeBufferGeometry=Gn,T.CylinderGeometry=Ls,T.CylinderBufferGeometry=Rs,T.CircleGeometry=So,T.CircleBufferGeometry=ds,T.BoxGeometry=Ot,T.BoxBufferGeometry=Bt,T.ShadowMaterial=Qs,T.SpriteMaterial=Gi,T.RawShaderMaterial=Eo,T.ShaderMaterial=ti,T.PointsMaterial=Fn,T.MeshPhysicalMaterial=bo,T.MeshStandardMaterial=ms,T.MeshPhongMaterial=Jr,T.MeshToonMaterial=Ao,T.MeshNormalMaterial=Co,T.MeshLambertMaterial=Ir,T.MeshDepthMaterial=oe,T.MeshDistanceMaterial=te,T.MeshBasicMaterial=Ge,T.MeshMatcapMaterial=Po,T.LineDashedMaterial=Lo,T.LineBasicMaterial=ki,T.Material=Yt,T.Float64BufferAttribute=Ct,T.Float32BufferAttribute=Et,T.Uint32BufferAttribute=Pt,T.Int32BufferAttribute=G,T.Uint16BufferAttribute=yt,T.Int16BufferAttribute=et,T.Uint8ClampedBufferAttribute=It,T.Uint8BufferAttribute=ct,T.Int8BufferAttribute=$,T.BufferAttribute=J,T.ArcCurve=ya,T.CatmullRomCurve3=On,T.CubicBezierCurve=hr,T.CubicBezierCurve3=Ti,T.EllipseCurve=Kn,T.LineCurve=ur,T.LineCurve3=zr,T.QuadraticBezierCurve=cr,T.QuadraticBezierCurve3=vs,T.SplineCurve=Kr,T.REVISION="98",T.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2},T.CullFaceNone=0,T.CullFaceBack=1,T.CullFaceFront=2,T.CullFaceFrontBack=3,T.FrontFaceDirectionCW=0,T.FrontFaceDirectionCCW=1,T.BasicShadowMap=0,T.PCFShadowMap=1,T.PCFSoftShadowMap=2,T.FrontSide=0,T.BackSide=1,T.DoubleSide=2,T.FlatShading=1,T.SmoothShading=2,T.NoColors=0,T.FaceColors=1,T.VertexColors=2,T.NoBlending=0,T.NormalBlending=1,T.AdditiveBlending=2,T.SubtractiveBlending=3,T.MultiplyBlending=4,T.CustomBlending=5,T.AddEquation=100,T.SubtractEquation=101,T.ReverseSubtractEquation=102,T.MinEquation=103,T.MaxEquation=104,T.ZeroFactor=200,T.OneFactor=201,T.SrcColorFactor=202,T.OneMinusSrcColorFactor=203,T.SrcAlphaFactor=204,T.OneMinusSrcAlphaFactor=205,T.DstAlphaFactor=206,T.OneMinusDstAlphaFactor=207,T.DstColorFactor=208,T.OneMinusDstColorFactor=209,T.SrcAlphaSaturateFactor=210,T.NeverDepth=0,T.AlwaysDepth=1,T.LessDepth=2,T.LessEqualDepth=3,T.EqualDepth=4,T.GreaterEqualDepth=5,T.GreaterDepth=6,T.NotEqualDepth=7,T.MultiplyOperation=0,T.MixOperation=1,T.AddOperation=2,T.NoToneMapping=0,T.LinearToneMapping=1,T.ReinhardToneMapping=2,T.Uncharted2ToneMapping=3,T.CineonToneMapping=4,T.UVMapping=300,T.CubeReflectionMapping=301,T.CubeRefractionMapping=302,T.EquirectangularReflectionMapping=303,T.EquirectangularRefractionMapping=304,T.SphericalReflectionMapping=305,T.CubeUVReflectionMapping=306,T.CubeUVRefractionMapping=307,T.RepeatWrapping=1e3,T.ClampToEdgeWrapping=1001,T.MirroredRepeatWrapping=1002,T.NearestFilter=1003,T.NearestMipMapNearestFilter=1004,T.NearestMipMapLinearFilter=1005,T.LinearFilter=1006,T.LinearMipMapNearestFilter=1007,T.LinearMipMapLinearFilter=1008,T.UnsignedByteType=1009,T.ByteType=1010,T.ShortType=1011,T.UnsignedShortType=1012,T.IntType=1013,T.UnsignedIntType=1014,T.FloatType=1015,T.HalfFloatType=1016,T.UnsignedShort4444Type=1017,T.UnsignedShort5551Type=1018,T.UnsignedShort565Type=1019,T.UnsignedInt248Type=1020,T.AlphaFormat=1021,T.RGBFormat=1022,T.RGBAFormat=1023,T.LuminanceFormat=1024,T.LuminanceAlphaFormat=1025,T.RGBEFormat=1023,T.DepthFormat=1026,T.DepthStencilFormat=1027,T.RedFormat=1028,T.RGB_S3TC_DXT1_Format=33776,T.RGBA_S3TC_DXT1_Format=33777,T.RGBA_S3TC_DXT3_Format=33778,T.RGBA_S3TC_DXT5_Format=33779,T.RGB_PVRTC_4BPPV1_Format=35840,T.RGB_PVRTC_2BPPV1_Format=35841,T.RGBA_PVRTC_4BPPV1_Format=35842,T.RGBA_PVRTC_2BPPV1_Format=35843,T.RGB_ETC1_Format=36196,T.RGBA_ASTC_4x4_Format=37808,T.RGBA_ASTC_5x4_Format=37809,T.RGBA_ASTC_5x5_Format=37810,T.RGBA_ASTC_6x5_Format=37811,T.RGBA_ASTC_6x6_Format=37812,T.RGBA_ASTC_8x5_Format=37813,T.RGBA_ASTC_8x6_Format=37814,T.RGBA_ASTC_8x8_Format=37815,T.RGBA_ASTC_10x5_Format=37816,T.RGBA_ASTC_10x6_Format=37817,T.RGBA_ASTC_10x8_Format=37818,T.RGBA_ASTC_10x10_Format=37819,T.RGBA_ASTC_12x10_Format=37820,T.RGBA_ASTC_12x12_Format=37821,T.LoopOnce=2200,T.LoopRepeat=2201,T.LoopPingPong=2202,T.InterpolateDiscrete=2300,T.InterpolateLinear=2301,T.InterpolateSmooth=2302,T.ZeroCurvatureEnding=2400,T.ZeroSlopeEnding=2401,T.WrapAroundEnding=2402,T.TrianglesDrawMode=0,T.TriangleStripDrawMode=1,T.TriangleFanDrawMode=2,T.LinearEncoding=3e3,T.sRGBEncoding=3001,T.GammaEncoding=3007,T.RGBEEncoding=3002,T.LogLuvEncoding=3003,T.RGBM7Encoding=3004,T.RGBM16Encoding=3005,T.RGBDEncoding=3006,T.BasicDepthPacking=3200,T.RGBADepthPacking=3201,T.TangentSpaceNormalMap=0,T.ObjectSpaceNormalMap=1,T.CubeGeometry=Ot,T.Face4=function(t,e,i,n,s,a,c){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new R(t,e,i,s,a,c)},T.LineStrip=0,T.LinePieces=1,T.MeshFaceMaterial=function(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t},T.MultiMaterial=function(t){return t===void 0&&(t=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t},T.PointCloud=function(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new oa(t,e)},T.Particle=function(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new nn(t)},T.ParticleSystem=function(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new oa(t,e)},T.PointCloudMaterial=function(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Fn(t)},T.ParticleBasicMaterial=function(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Fn(t)},T.ParticleSystemMaterial=function(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Fn(t)},T.Vertex=function(t,e,i){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new u(t,e,i)},T.DynamicBufferAttribute=function(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead."),new J(t,e).setDynamic(!0)},T.Int8Attribute=function(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new $(t,e)},T.Uint8Attribute=function(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new ct(t,e)},T.Uint8ClampedAttribute=function(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new It(t,e)},T.Int16Attribute=function(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new et(t,e)},T.Uint16Attribute=function(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new yt(t,e)},T.Int32Attribute=function(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new G(t,e)},T.Uint32Attribute=function(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Pt(t,e)},T.Float32Attribute=function(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Et(t,e)},T.Float64Attribute=function(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Ct(t,e)},T.ClosedSplineCurve3=Pu,T.SplineCurve3=Lu,T.Spline=Hh,T.AxisHelper=function(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new xr(t)},T.BoundingBoxHelper=function(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Ds(t,e)},T.EdgesHelper=function(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new gi(new Ks(t.geometry),new ki({color:e!==void 0?e:16777215}))},T.WireframeHelper=function(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new gi(new aa(t.geometry),new ki({color:e!==void 0?e:16777215}))},T.XHRLoader=function(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Lt(t)},T.BinaryTextureLoader=function(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Ue(t)},T.GeometryUtils={merge:function(t,e,i){if(console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead."),e.isMesh){e.matrixAutoUpdate&&e.updateMatrix();var n=e.matrix;e=e.geometry}t.merge(e,n,i)},center:function(t){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),t.center()}},T.Projector=function(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js."),this.projectVector=function(t,e){console.warn("THREE.Projector: .projectVector() is now vector.project()."),t.project(e)},this.unprojectVector=function(t,e){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject()."),t.unproject(e)},this.pickingRay=function(){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}},T.CanvasRenderer=function(){console.error("THREE.CanvasRenderer has been removed")},T.SceneUtils={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")}},T.LensFlare=function(){console.error("THREE.LensFlare has been moved to /examples/js/objects/Lensflare.js")},Object.defineProperty(T,"__esModule",{value:!0})}),THREE.Sky=function(){var T=THREE.Sky.SkyShader,l=new THREE.ShaderMaterial({fragmentShader:T.fragmentShader,vertexShader:T.vertexShader,uniforms:THREE.UniformsUtils.clone(T.uniforms),side:THREE.BackSide});THREE.Mesh.call(this,new THREE.BoxBufferGeometry(1,1,1),l)},THREE.Sky.prototype=Object.create(THREE.Mesh.prototype),THREE.Sky.SkyShader={uniforms:{luminance:{value:1},turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new THREE.Vector3}},vertexShader:["uniform vec3 sunPosition;","uniform float rayleigh;","uniform float turbidity;","uniform float mieCoefficient;","varying vec3 vWorldPosition;","varying vec3 vSunDirection;","varying float vSunfade;","varying vec3 vBetaR;","varying vec3 vBetaM;","varying float vSunE;","const vec3 up = vec3( 0.0, 1.0, 0.0 );","const float e = 2.71828182845904523536028747135266249775724709369995957;","const float pi = 3.141592653589793238462643383279502884197169;","const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );","const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );","const float v = 4.0;","const vec3 K = vec3( 0.686, 0.678, 0.666 );","const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );","const float cutoffAngle = 1.6110731556870734;","const float steepness = 1.5;","const float EE = 1000.0;","float sunIntensity( float zenithAngleCos ) {"," zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );"," return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );","}","vec3 totalMie( float T ) {"," float c = ( 0.2 * T ) * 10E-18;"," return 0.434 * c * MieConst;","}","void main() {"," vec4 worldPosition = modelMatrix * vec4( position, 1.0 );"," vWorldPosition = worldPosition.xyz;"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"," gl_Position.z = gl_Position.w;"," vSunDirection = normalize( sunPosition );"," vSunE = sunIntensity( dot( vSunDirection, up ) );"," vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 );"," float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );"," vBetaR = totalRayleigh * rayleighCoefficient;"," vBetaM = totalMie( turbidity ) * mieCoefficient;","}"].join(`
2572
2572
  `),fragmentShader:["varying vec3 vWorldPosition;","varying vec3 vSunDirection;","varying float vSunfade;","varying vec3 vBetaR;","varying vec3 vBetaM;","varying float vSunE;","uniform float luminance;","uniform float mieDirectionalG;","const vec3 cameraPos = vec3( 0.0, 1.0, 0.0 );","const float pi = 3.141592653589793238462643383279502884197169;","const float n = 1.0003;","const float N = 2.545E25;","const float rayleighZenithLength = 8.4E3;","const float mieZenithLength = 1.25E3;","const vec3 up = vec3( 0.0, 1.0, 0.0 );","const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;","const float THREE_OVER_SIXTEENPI = 0.05968310365946075;","const float ONE_OVER_FOURPI = 0.07957747154594767;","float rayleighPhase( float cosTheta ) {"," return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );","}","float hgPhase( float cosTheta, float g ) {"," float g2 = pow( g, 2.0 );"," float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );"," return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );","}","const float A = 0.15;","const float B = 0.50;","const float C = 0.10;","const float D = 0.20;","const float E = 0.02;","const float F = 0.30;","const float whiteScale = 1.0748724675633854;","vec3 Uncharted2Tonemap( vec3 x ) {"," return ( ( x * ( A * x + C * B ) + D * E ) / ( x * ( A * x + B ) + D * F ) ) - E / F;","}","void main() {"," float zenithAngle = acos( max( 0.0, dot( up, normalize( vWorldPosition - cameraPos ) ) ) );"," float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );"," float sR = rayleighZenithLength * inverse;"," float sM = mieZenithLength * inverse;"," vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );"," float cosTheta = dot( normalize( vWorldPosition - cameraPos ), vSunDirection );"," float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );"," vec3 betaRTheta = vBetaR * rPhase;"," float mPhase = hgPhase( cosTheta, mieDirectionalG );"," vec3 betaMTheta = vBetaM * mPhase;"," vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) );"," Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) );"," vec3 direction = normalize( vWorldPosition - cameraPos );"," float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2]"," float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]"," vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );"," vec3 L0 = vec3( 0.1 ) * Fex;"," float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );"," L0 += ( vSunE * 19000.0 * Fex ) * sundisk;"," vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );"," vec3 curr = Uncharted2Tonemap( ( log2( 2.0 / pow( luminance, 4.0 ) ) ) * texColor );"," vec3 color = curr * whiteScale;"," vec3 retColor = pow( color, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );"," gl_FragColor = vec4( retColor, 1.0 );","}"].join(`
2573
- `)},function(T){typeof module>"u"?window.charming=T:module.exports=T}(function(T,l){l=l||{};var o=l.tagName||"span",p=l.classPrefix!=null?l.classPrefix:"char",d=1,u=function(m){for(var _=m.parentNode,w=m.nodeValue,S=w.length,C=-1;++C<S;){var z=document.createElement(o);p&&(z.className=p+d,d++),z.appendChild(document.createTextNode(w[C])),_.insertBefore(z,m)}_.removeChild(m)};return function m(_){for(var w=[].slice.call(_.childNodes),S=w.length,C=-1;++C<S;)m(w[C]);_.nodeType===Node.TEXT_NODE&&u(_)}(T),T});class tm{constructor(l=[]){mars3d?(this.tilesetLayer,this.modelArr=l,this.bimObliquePhotographyId=[],this.editDate={id:null}):console.error("未引入指定插件")}pushModel(l){this.modelArr.push(l)}add(l,o,p){console.log("customAttributes",p);let d=p==null?void 0:p.isClone;const u=new Map([["click",mars3d.EventType.click]]);return new Promise((m,_)=>{let w,S,C,z,B,I,F,E,L;if(typeof l!="object"){let b=this.query(l);b||_("缺少树结构");let{id:U,bimModelExcavationDetails:N,bimModel:j}=b;w=U,S=j.modelType,C=j.tender,z=j.releasedDistance,B=j.modelName,I=j.isDynamicReleased,F={bimModelExcavationDetails:N},E=b.url,L=j.modelColor}else w=l.modelId,S=l.modelType,C=l.tender,z=l.releasedDistance,B=l.modelTitle,I=l.permission,F=l.customize,E=l.url,L=l.color;let x={enabled:!0,precise:!1},M={enabled:!0,precise:!1};p&&(p.color&&(L=p.color),p.clip&&(x.area=p.clip.handleDataList),p.flat&&(M.area=p.flat.handleDataList));let R=window.map.getLayer(l,"modelId");if(R)return m(R),p.color&&this.editColor(l,p.color,p),!1;if(E.indexOf("tileset.json")<0)return console.error("链接不完整",B),m({tite:"【模型】<"+B+">链接地址有误",type:"error",id:w,url:E}),!1;new Cesium.Resource({url:E}).fetchJson().then(U=>{let N=null;L&&(N={color:{conditions:[["true",L]]}}),this.tilesetLayer=new mars3d.layer.TilesetLayer({modelId:w,modelType:S,tender:C,releasedDistance:z,modelTitle:B,permission:I,customize:F,url:encodeURI(E),skipLevelOfDetail:!1,loadSiblings:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:10,preferLeaves:!0,progressiveResolutionHeightFraction:.5,dynamicScreenSpaceError:!0,preloadWhenHidden:!1,style:N,clip:x,flat:M,cacheBytes:1073741824*2,maximumCacheOverflowBytes:2147483648*2}),this.tilesetLayer.bindPopup(j=>{if(j.graphic){const J=j.graphic.attr;let $=null,ct=null;return JSON.stringify(J)!=="{}"?(J.name&&($=J.name.lastIndexOf("@")),$&&$>-1&&(ct=J.name.slice(0,$)),J.name?`&nbsp;&nbsp;<span>${ct||J.name}</span>&nbsp;&nbsp;`:`&nbsp;&nbsp;<span>${B}</span>&nbsp;&nbsp;`):`&nbsp;&nbsp;<span>${B}</span>&nbsp;&nbsp;`}else return`&nbsp;&nbsp;<span>${B}</span>&nbsp;&nbsp;`}),this.tilesetLayer.readyPromise.then(j=>{m(j);let{modelId:J}=j.options;j.clip.options.area.forEach($=>{window.bimClip.activeObj[J][$.id].id==null&&(window.bimClip.activeObj[J][$.id].id=$.id)})}).catch(j=>{m()}),this.tilesetLayer.on("click",j=>{j.layer.style==null&&map.bimMapEdit=="0"&&j.layer.openHighlight({color:"rgba(255,0,0,1)"},!0)}),o&&Object.keys(o).forEach(j=>{this.tilesetLayer.on(u.get(j),J=>{o[j](J)})}),S==0&&this.bimObliquePhotographyId.push(w),d?window.mapClone&&window.mapClone.mapEx.addLayer(this.tilesetLayer):window.map.addLayer(this.tilesetLayer)}).catch(U=>{console.error("数据加载失败",B),m({tite:"【模型】<"+B+">无法加载",type:"error",id:w,url:E})})})}remove(l,o){let p=o==null?void 0:o.isClone;window.map.getLayer(l,"modelId")&&(p?(window.mapClone.mapEx.getLayer(l,"modelId").closeHighlight(),window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(l,"modelId"))):(window.map.getLayer(l,"modelId").closeHighlight(),window.map.removeLayer(window.map.getLayer(l,"modelId"))))}selected(l,o,p,d=!0){return new Promise((u,m)=>{let _=window.map.getLayer(l,"modelId");_?(d&&_.flyTo(),_.style==null&&map.bimMapEdit=="0"&&_.openHighlight({color:"rgba(255,0,0,1)"},!0),u(_)):this.add(l,o,p).then(w=>{w&&(d&&w.flyTo(),w.style==null&&map.bimMapEdit=="0"&&w.openHighlight({color:"rgba(255,0,0,1)"},!0),u(w))})})}initial(){this.modelArr=[],this.bimObliquePhotographyId=[],this.tilesetLayer=null}query(l){return this.modelArr.length==0?!1:this.modelArr.find(o=>o.id==l)}queryModel(l){return window.map.getLayer(l,"modelId")}postEditDate(l){this.editDate={id:l}}editColor(l,o,p,d="true"){let u,m=p==null?void 0:p.isClone;if(typeof l!="object"&&(m?u=window.mapClone.mapEx.getLayer(l,"modelId"):u=window.map.getLayer(l,"modelId")),u)if(o)u.style={color:{conditions:[[d,o]]}};else{let _=this.query(l).modelColor;_?u.style={color:{conditions:[[d,_]]}}:u.style=null}}editOpacity(l,o){window.map.getLayer(l,"modelId").opacity=o}addClip(l){return new Promise((o,p)=>{window.bimClip?o(bimClip.clipModelAdd(l)):p("挖洞工具未初始化")})}removeClip(l){window.bimClip?window.bimClip.clipModelremoveClip(l):console.log("挖洞工具未初始化")}}const iu=T=>Object.prototype.toString.call(T)==="[object Object]";function nu(){const T=Array.from(arguments);if(T.length<2)return T[0];let l=T[0];return T.shift(),T.forEach(o=>{if(iu(o)){iu(l)||(l={});for(let p in o)l[p]&&iu(o[p])?l[p]=nu(l[p],o[p]):l[p]=o[p]}else o instanceof Array&&(l instanceof Array||(l=[]),o.forEach((p,d)=>{iu(p)?l[d]=nu(l[d]):l[d]=p}))}),l}let ph={};const Tf=(T,l,o)=>{ph={};let{vectorStyle:p,difference:d}=T;if(p){let{divType:u}=p,m="";if(u){let{theme_color:_,title:w,font_color:S,content:C,scaleByDistance:z,scaleByDistance_far:B,scaleByDistance_farValue:I,scaleByDistance_near:F,scaleByDistance_nearValue:E,distanceDisplayCondition:L,distanceDisplayCondition_far:x,distanceDisplayCondition_near:M,clampToGround:R,divStyle:b}=p,{theme_color2:U,theme_color3:N}=b;switch(u){case"1":m=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${_};--theme-font-color1:${S};">
2573
+ `)},function(T){typeof module>"u"?window.charming=T:module.exports=T}(function(T,l){l=l||{};var o=l.tagName||"span",p=l.classPrefix!=null?l.classPrefix:"char",d=1,u=function(m){for(var _=m.parentNode,w=m.nodeValue,S=w.length,C=-1;++C<S;){var z=document.createElement(o);p&&(z.className=p+d,d++),z.appendChild(document.createTextNode(w[C])),_.insertBefore(z,m)}_.removeChild(m)};return function m(_){for(var w=[].slice.call(_.childNodes),S=w.length,C=-1;++C<S;)m(w[C]);_.nodeType===Node.TEXT_NODE&&u(_)}(T),T});class tm{constructor(l=[]){mars3d?(this.tilesetLayer,this.modelArr=l,this.bimObliquePhotographyId=[],this.editDate={id:null}):console.error("未引入指定插件")}pushModel(l){this.modelArr.push(l)}add(l,o,p){console.log("customAttributes",p);let d=p==null?void 0:p.isClone;const u=new Map([["click",mars3d.EventType.click],["initialTilesLoaded",mars3d.EventType.initialTilesLoaded]]);return new Promise((m,_)=>{let w,S,C,z,B,I,F,E,L;if(typeof l!="object"){let b=this.query(l);b||_("缺少树结构");let{id:U,bimModelExcavationDetails:N,bimModel:j}=b;w=U,S=j.modelType,C=j.tender,z=j.releasedDistance,B=j.modelName,I=j.isDynamicReleased,F={bimModelExcavationDetails:N},E=b.url,L=j.modelColor}else w=l.modelId,S=l.modelType,C=l.tender,z=l.releasedDistance,B=l.modelTitle,I=l.permission,F=l.customize,E=l.url,L=l.color;let x={enabled:!0,precise:!1},M={enabled:!0,precise:!1};p&&(p.color&&(L=p.color),p.clip&&(x.area=p.clip.handleDataList),p.flat&&(M.area=p.flat.handleDataList));let R=window.map.getLayer(l,"modelId");if(R)return m(R),p.color&&this.editColor(l,p.color,p),!1;if(E.indexOf("tileset.json")<0)return console.error("链接不完整",B),m({tite:"【模型】<"+B+">链接地址有误",type:"error",id:w,url:E}),!1;new Cesium.Resource({url:E}).fetchJson().then(U=>{let N=null;L&&(N={color:{conditions:[["true",L]]}}),this.tilesetLayer=new mars3d.layer.TilesetLayer({modelId:w,modelType:S,tender:C,releasedDistance:z,modelTitle:B,permission:I,customize:F,url:encodeURI(E),skipLevelOfDetail:!1,loadSiblings:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:10,preferLeaves:!0,progressiveResolutionHeightFraction:.5,dynamicScreenSpaceError:!0,preloadWhenHidden:!1,style:N,clip:x,flat:M,maximumScreenSpaceError:16,maximumMemoryUsage:1024,cacheBytes:1073741824*2,maximumCacheOverflowBytes:2147483648*2}),this.tilesetLayer.bindPopup(j=>{if(j.graphic){const J=j.graphic.attr;let $=null,ct=null;return JSON.stringify(J)!=="{}"?(J.name&&($=J.name.lastIndexOf("@")),$&&$>-1&&(ct=J.name.slice(0,$)),J.name?`&nbsp;&nbsp;<span>${ct||J.name}</span>&nbsp;&nbsp;`:`&nbsp;&nbsp;<span>${B}</span>&nbsp;&nbsp;`):`&nbsp;&nbsp;<span>${B}</span>&nbsp;&nbsp;`}else return`&nbsp;&nbsp;<span>${B}</span>&nbsp;&nbsp;`}),this.tilesetLayer.readyPromise.then(j=>{m(j);let{modelId:J}=j.options;j.clip.options.area.forEach($=>{window.bimClip.activeObj[J][$.id].id==null&&(window.bimClip.activeObj[J][$.id].id=$.id)})}).catch(j=>{m()}),this.tilesetLayer.on("click",j=>{j.layer.style==null&&map.bimMapEdit=="0"&&j.layer.openHighlight({color:"rgba(255,0,0,1)"},!0)}),o&&Object.keys(o).forEach(j=>{this.tilesetLayer.on(u.get(j),J=>{o[j](J)})}),S==0&&this.bimObliquePhotographyId.push(w),d?window.mapClone&&window.mapClone.mapEx.addLayer(this.tilesetLayer):window.map.addLayer(this.tilesetLayer)}).catch(U=>{console.error("数据加载失败",B),m({tite:"【模型】<"+B+">无法加载",type:"error",id:w,url:E})})})}remove(l,o){let p=o==null?void 0:o.isClone;window.map.getLayer(l,"modelId")&&(p?(window.mapClone.mapEx.getLayer(l,"modelId").closeHighlight(),window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(l,"modelId"))):(window.map.getLayer(l,"modelId").closeHighlight(),window.map.removeLayer(window.map.getLayer(l,"modelId"))))}selected(l,o,p,d=!0){return new Promise((u,m)=>{let _=window.map.getLayer(l,"modelId");_?(_.style==null&&map.bimMapEdit=="0"&&_.openHighlight({color:"rgba(255,0,0,1)"},!0),d?_.flyTo({complete:()=>{u(_)}}):u(_)):this.add(l,o,p).then(w=>{w&&(w.style==null&&map.bimMapEdit=="0"&&w.openHighlight({color:"rgba(255,0,0,1)"},!0),d?w.flyTo({complete:()=>{u(w)}}):u(w))})})}initial(){this.modelArr=[],this.bimObliquePhotographyId=[],this.tilesetLayer=null}query(l){return this.modelArr.length==0?!1:this.modelArr.find(o=>o.id==l)}queryModel(l){return window.map.getLayer(l,"modelId")}postEditDate(l){this.editDate={id:l}}editColor(l,o,p,d="true"){let u,m=p==null?void 0:p.isClone;if(typeof l!="object"&&(m?u=window.mapClone.mapEx.getLayer(l,"modelId"):u=window.map.getLayer(l,"modelId")),u)if(o)u.style={color:{conditions:[[d,o]]}};else{let _=this.query(l).modelColor;_?u.style={color:{conditions:[[d,_]]}}:u.style=null}}editOpacity(l,o){window.map.getLayer(l,"modelId").opacity=o}addClip(l){return new Promise((o,p)=>{window.bimClip?o(bimClip.clipModelAdd(l)):p("挖洞工具未初始化")})}removeClip(l){window.bimClip?window.bimClip.clipModelremoveClip(l):console.log("挖洞工具未初始化")}}const iu=T=>Object.prototype.toString.call(T)==="[object Object]";function nu(){const T=Array.from(arguments);if(T.length<2)return T[0];let l=T[0];return T.shift(),T.forEach(o=>{if(iu(o)){iu(l)||(l={});for(let p in o)l[p]&&iu(o[p])?l[p]=nu(l[p],o[p]):l[p]=o[p]}else o instanceof Array&&(l instanceof Array||(l=[]),o.forEach((p,d)=>{iu(p)?l[d]=nu(l[d]):l[d]=p}))}),l}let ph={};const Tf=(T,l,o)=>{ph={};let{vectorStyle:p,difference:d}=T;if(p){let{divType:u}=p,m="";if(u){let{theme_color:_,title:w,font_color:S,content:C,scaleByDistance:z,scaleByDistance_far:B,scaleByDistance_farValue:I,scaleByDistance_near:F,scaleByDistance_nearValue:E,distanceDisplayCondition:L,distanceDisplayCondition_far:x,distanceDisplayCondition_near:M,clampToGround:R,divStyle:b}=p,{theme_color2:U,theme_color3:N}=b;switch(u){case"1":m=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${_};--theme-font-color1:${S};">
2574
2574
  <div class="title">${w}</div>
2575
2575
  </div >`;break;case"2":m=`<div class="entity-div-style entity-div-style2" style="--theme-color1:${_};--theme-font-color1:${S};">
2576
2576
  <div class="title">${w}</div>
@@ -2632,7 +2632,7 @@ __p += '`),Ni&&(de+=`' +
2632
2632
  function print() { __p += __j.call(arguments, '') }
2633
2633
  `:`;
2634
2634
  `)+de+`return __p
2635
- }`;var Mi=Od(function(){return Bi(ut,Je+"return "+de).apply(o,_t)});if(Mi.source=de,of(Mi))throw Mi;return Mi}function py(r){return Yi(r).toLowerCase()}function dy(r){return Yi(r).toUpperCase()}function my(r,h,g){if(r=Yi(r),r&&(g||h===o))return ga(r);if(!r||!(h=Ye(h)))return r;var O=ar(r),Y=ar(h),ut=Qs(O,Y),_t=Eo(O,Y)+1;return xn(O,ut,_t).join("")}function gy(r,h,g){if(r=Yi(r),r&&(g||h===o))return r.slice(0,va(r)+1);if(!r||!(h=Ye(h)))return r;var O=ar(r),Y=Eo(O,ar(h))+1;return xn(O,0,Y).join("")}function vy(r,h,g){if(r=Yi(r),r&&(g||h===o))return r.replace(ls,"");if(!r||!(h=Ye(h)))return r;var O=ar(r),Y=Qs(O,ar(h));return xn(O,Y).join("")}function _y(r,h){var g=ct,O=It;if(wn(h)){var Y="separator"in h?h.separator:Y;g="length"in h?wi(h.length):g,O="omission"in h?Ye(h.omission):O}r=Yi(r);var ut=r.length;if(Ir(r)){var _t=ar(r);ut=_t.length}if(g>=ut)return r;var bt=g-$r(O);if(bt<1)return O;var Nt=_t?xn(_t,0,bt).join(""):r.slice(0,bt);if(Y===o)return Nt+O;if(_t&&(bt+=Nt.length-bt),af(Y)){if(r.slice(bt).search(Y)){var se,le=Nt;for(Y.global||(Y=Kn(Y.source,Yi(Gl.exec(Y))+"g")),Y.lastIndex=0;se=Y.exec(le);)var de=se.index;Nt=Nt.slice(0,de===o?bt:de)}}else if(r.indexOf(Ye(Y),bt)!=bt){var ze=Nt.lastIndexOf(Y);ze>-1&&(Nt=Nt.slice(0,ze))}return Nt+O}function yy(r){return r=Yi(r),r&&Xs.test(r)?r.replace(As,Jl):r}var xy=De(function(r,h,g){return r+(g?" ":"")+h.toUpperCase()}),uf=Me("toUpperCase");function Rd(r,h,g){return r=Yi(r),h=g?o:h,h===o?Po(r)?Uc(r):il(r):r.match(h)||[]}var Od=ae(function(r,h){try{return _r(r,o,h)}catch(g){return of(g)?g:new ai(g)}}),wy=Ho(function(r,h){return Zi(h,function(g){g=ho(g),ks(r,g,rf(r[g],r))}),r});function Ty(r){var h=r==null?0:r.length,g=oi();return r=h?qi(r,function(O){if(typeof O[1]!="function")throw new lr(m);return[g(O[0]),O[1]]}):[],ae(function(O){for(var Y=-1;++Y<h;){var ut=r[Y];if(_r(ut[0],this,O))return _r(ut[1],this,O)}})}function My(r){return Pa(wr(r,z))}function cf(r){return function(){return r}}function Sy(r,h){return r==null||r!==r?h:r}var Ey=Li(),by=Li(!0);function Gr(r){return r}function ff(r){return H(typeof r=="function"?r:wr(r,z))}function Ay(r){return gt(wr(r,z))}function Cy(r,h){return At(r,wr(h,z))}var Py=ae(function(r,h){return function(g){return e(g,r,h)}}),Ly=ae(function(r,h){return function(g){return e(r,g,h)}});function pf(r,h,g){var O=Jn(h),Y=Fo(h,O);g==null&&!(wn(h)&&(Y.length||!O.length))&&(g=h,h=r,r=this,Y=Fo(h,Jn(h)));var ut=!(wn(g)&&"chain"in g)||!!g.chain,_t=Wo(r);return Zi(Y,function(bt){var Nt=h[bt];r[bt]=Nt,_t&&(r.prototype[bt]=function(){var se=this.__chain__;if(ut||se){var le=r(this.__wrapped__),de=le.__actions__=er(this.__actions__);return de.push({func:Nt,args:arguments,thisArg:r}),le.__chain__=se,le}return Nt.apply(r,fs([this.value()],arguments))})}),r}function Ry(){return gn._===this&&(gn._=Kr),this}function df(){}function Oy(r){return r=wi(r),ae(function(h){return Z(h,r)})}var Iy=Nn(qi),Dy=Nn(Ih),zy=Nn(Cs);function Id(r){return $c(r)?Js(ho(r)):$t(r)}function ky(r){return function(h){return r==null?o:ao(r,h)}}var By=$h(),Ny=$h(!0);function mf(){return[]}function gf(){return!1}function Fy(){return{}}function Uy(){return""}function Gy(){return!0}function Hy(r,h){if(r=wi(r),r<1||r>ce)return[];var g=Ot,O=Vn(r,Ot);h=oi(h),r-=Ot;for(var Y=Ls(O,h);++g<r;)h(g);return Y}function Vy(r){return vi(r)?qi(r,ho):ts(r)?[r]:er(Qp(Yi(r)))}function Wy(r){var h=++ur;return Yi(r)+h}var jy=Tr(function(r,h){return r+h},0),Xy=hh("ceil"),qy=Tr(function(r,h){return r/h},1),Yy=hh("floor");function Zy(r){return r&&r.length?Ts(r,Gr,oh):o}function Jy(r,h){return r&&r.length?Ts(r,oi(h,2),oh):o}function $y(r){return ma(r,Gr)}function Ky(r,h){return ma(r,oi(h,2))}function Qy(r){return r&&r.length?Ts(r,Gr,rt):o}function t1(r,h){return r&&r.length?Ts(r,oi(h,2),rt):o}var e1=Tr(function(r,h){return r*h},1),i1=hh("round"),n1=Tr(function(r,h){return r-h},0);function r1(r){return r&&r.length?Ks(r,Gr):0}function s1(r,h){return r&&r.length?Ks(r,oi(h,2)):0}return it.after=Av,it.ary=ud,it.assign=d_,it.assignIn=Sd,it.assignInWith=Zu,it.assignWith=m_,it.at=g_,it.before=cd,it.bind=rf,it.bindAll=wy,it.bindKey=fd,it.castArray=Fv,it.chain=ad,it.chunk=Yg,it.compact=Zg,it.concat=Jg,it.cond=Ty,it.conforms=My,it.constant=cf,it.countBy=rv,it.create=v_,it.curry=pd,it.curryRight=dd,it.debounce=md,it.defaults=__,it.defaultsDeep=y_,it.defer=Cv,it.delay=Pv,it.difference=$g,it.differenceBy=Kg,it.differenceWith=Qg,it.drop=t0,it.dropRight=e0,it.dropRightWhile=i0,it.dropWhile=n0,it.fill=r0,it.filter=ov,it.flatMap=hv,it.flatMapDeep=uv,it.flatMapDepth=cv,it.flatten=nd,it.flattenDeep=s0,it.flattenDepth=o0,it.flip=Lv,it.flow=Ey,it.flowRight=by,it.fromPairs=a0,it.functions=b_,it.functionsIn=A_,it.groupBy=fv,it.initial=h0,it.intersection=u0,it.intersectionBy=c0,it.intersectionWith=f0,it.invert=P_,it.invertBy=L_,it.invokeMap=dv,it.iteratee=ff,it.keyBy=mv,it.keys=Jn,it.keysIn=Ur,it.map=Vu,it.mapKeys=O_,it.mapValues=I_,it.matches=Ay,it.matchesProperty=Cy,it.memoize=ju,it.merge=D_,it.mergeWith=Ed,it.method=Py,it.methodOf=Ly,it.mixin=pf,it.negate=Xu,it.nthArg=Oy,it.omit=z_,it.omitBy=k_,it.once=Rv,it.orderBy=gv,it.over=Iy,it.overArgs=Ov,it.overEvery=Dy,it.overSome=zy,it.partial=sf,it.partialRight=gd,it.partition=vv,it.pick=B_,it.pickBy=bd,it.property=Id,it.propertyOf=ky,it.pull=g0,it.pullAll=sd,it.pullAllBy=v0,it.pullAllWith=_0,it.pullAt=y0,it.range=By,it.rangeRight=Ny,it.rearg=Iv,it.reject=xv,it.remove=x0,it.rest=Dv,it.reverse=ef,it.sampleSize=Tv,it.set=F_,it.setWith=U_,it.shuffle=Mv,it.slice=w0,it.sortBy=bv,it.sortedUniq=C0,it.sortedUniqBy=P0,it.split=hy,it.spread=zv,it.tail=L0,it.take=R0,it.takeRight=O0,it.takeRightWhile=I0,it.takeWhile=D0,it.tap=Z0,it.throttle=kv,it.thru=Hu,it.toArray=wd,it.toPairs=Ad,it.toPairsIn=Cd,it.toPath=Vy,it.toPlainObject=Md,it.transform=G_,it.unary=Bv,it.union=z0,it.unionBy=k0,it.unionWith=B0,it.uniq=N0,it.uniqBy=F0,it.uniqWith=U0,it.unset=H_,it.unzip=nf,it.unzipWith=od,it.update=V_,it.updateWith=W_,it.values=fh,it.valuesIn=j_,it.without=G0,it.words=Rd,it.wrap=Nv,it.xor=H0,it.xorBy=V0,it.xorWith=W0,it.zip=j0,it.zipObject=X0,it.zipObjectDeep=q0,it.zipWith=Y0,it.entries=Ad,it.entriesIn=Cd,it.extend=Sd,it.extendWith=Zu,pf(it,it),it.add=jy,it.attempt=Od,it.camelCase=Z_,it.capitalize=Pd,it.ceil=Xy,it.clamp=X_,it.clone=Uv,it.cloneDeep=Hv,it.cloneDeepWith=Vv,it.cloneWith=Gv,it.conformsTo=Wv,it.deburr=Ld,it.defaultTo=Sy,it.divide=qy,it.endsWith=J_,it.eq=Fs,it.escape=$_,it.escapeRegExp=K_,it.every=sv,it.find=av,it.findIndex=ed,it.findKey=x_,it.findLast=lv,it.findLastIndex=id,it.findLastKey=w_,it.floor=Yy,it.forEach=ld,it.forEachRight=hd,it.forIn=T_,it.forInRight=M_,it.forOwn=S_,it.forOwnRight=E_,it.get=lf,it.gt=jv,it.gte=Xv,it.has=C_,it.hasIn=hf,it.head=rd,it.identity=Gr,it.includes=pv,it.indexOf=l0,it.inRange=q_,it.invoke=R_,it.isArguments=bl,it.isArray=vi,it.isArrayBuffer=qv,it.isArrayLike=Fr,it.isArrayLikeObject=Dn,it.isBoolean=Yv,it.isBuffer=Da,it.isDate=Zv,it.isElement=Jv,it.isEmpty=$v,it.isEqual=Kv,it.isEqualWith=Qv,it.isError=of,it.isFinite=t_,it.isFunction=Wo,it.isInteger=vd,it.isLength=qu,it.isMap=_d,it.isMatch=e_,it.isMatchWith=i_,it.isNaN=n_,it.isNative=r_,it.isNil=o_,it.isNull=s_,it.isNumber=yd,it.isObject=wn,it.isObjectLike=Ln,it.isPlainObject=eu,it.isRegExp=af,it.isSafeInteger=a_,it.isSet=xd,it.isString=Yu,it.isSymbol=ts,it.isTypedArray=ch,it.isUndefined=l_,it.isWeakMap=h_,it.isWeakSet=u_,it.join=p0,it.kebabCase=Q_,it.last=Es,it.lastIndexOf=d0,it.lowerCase=ty,it.lowerFirst=ey,it.lt=c_,it.lte=f_,it.max=Zy,it.maxBy=Jy,it.mean=$y,it.meanBy=Ky,it.min=Qy,it.minBy=t1,it.stubArray=mf,it.stubFalse=gf,it.stubObject=Fy,it.stubString=Uy,it.stubTrue=Gy,it.multiply=e1,it.nth=m0,it.noConflict=Ry,it.noop=df,it.now=Wu,it.pad=iy,it.padEnd=ny,it.padStart=ry,it.parseInt=sy,it.random=Y_,it.reduce=_v,it.reduceRight=yv,it.repeat=oy,it.replace=ay,it.result=N_,it.round=i1,it.runInContext=Lt,it.sample=wv,it.size=Sv,it.snakeCase=ly,it.some=Ev,it.sortedIndex=T0,it.sortedIndexBy=M0,it.sortedIndexOf=S0,it.sortedLastIndex=E0,it.sortedLastIndexBy=b0,it.sortedLastIndexOf=A0,it.startCase=uy,it.startsWith=cy,it.subtract=n1,it.sum=r1,it.sumBy=s1,it.template=fy,it.times=Hy,it.toFinite=jo,it.toInteger=wi,it.toLength=Td,it.toLower=py,it.toNumber=bs,it.toSafeInteger=p_,it.toString=Yi,it.toUpper=dy,it.trim=my,it.trimEnd=gy,it.trimStart=vy,it.truncate=_y,it.unescape=yy,it.uniqueId=Wy,it.upperCase=xy,it.upperFirst=uf,it.each=ld,it.eachRight=hd,it.first=rd,pf(it,function(){var r={};return Nr(it,function(h,g){Ti.call(it.prototype,g)||(r[g]=h)}),r}(),{chain:!1}),it.VERSION=p,Zi(["bind","bindKey","curry","curryRight","partial","partialRight"],function(r){it[r].placeholder=it}),Zi(["drop","take"],function(r,h){yi.prototype[r]=function(g){g=g===o?1:vn(wi(g),0);var O=this.__filtered__&&!h?new yi(this):this.clone();return O.__filtered__?O.__takeCount__=Vn(g,O.__takeCount__):O.__views__.push({size:Vn(g,Ot),type:r+(O.__dir__<0?"Right":"")}),O},yi.prototype[r+"Right"]=function(g){return this.reverse()[r](g).reverse()}}),Zi(["filter","map","takeWhile"],function(r,h){var g=h+1,O=g==G||g==Et;yi.prototype[r]=function(Y){var ut=this.clone();return ut.__iteratees__.push({iteratee:oi(Y,3),type:g}),ut.__filtered__=ut.__filtered__||O,ut}}),Zi(["head","last"],function(r,h){var g="take"+(h?"Right":"");yi.prototype[r]=function(){return this[g](1).value()[0]}}),Zi(["initial","tail"],function(r,h){var g="drop"+(h?"":"Right");yi.prototype[r]=function(){return this.__filtered__?new yi(this):this[g](1)}}),yi.prototype.compact=function(){return this.filter(Gr)},yi.prototype.find=function(r){return this.filter(r).head()},yi.prototype.findLast=function(r){return this.reverse().find(r)},yi.prototype.invokeMap=ae(function(r,h){return typeof r=="function"?new yi(this):this.map(function(g){return e(g,r,h)})}),yi.prototype.reject=function(r){return this.filter(Xu(oi(r)))},yi.prototype.slice=function(r,h){r=wi(r);var g=this;return g.__filtered__&&(r>0||h<0)?new yi(g):(r<0?g=g.takeRight(-r):r&&(g=g.drop(r)),h!==o&&(h=wi(h),g=h<0?g.dropRight(-h):g.take(h-r)),g)},yi.prototype.takeRightWhile=function(r){return this.reverse().takeWhile(r).reverse()},yi.prototype.toArray=function(){return this.take(Ot)},Nr(yi.prototype,function(r,h){var g=/^(?:filter|find|map|reject)|While$/.test(h),O=/^(?:head|last)$/.test(h),Y=it[O?"take"+(h=="last"?"Right":""):h],ut=O||/^find/.test(h);Y&&(it.prototype[h]=function(){var _t=this.__wrapped__,bt=O?[1]:arguments,Nt=_t instanceof yi,se=bt[0],le=Nt||vi(_t),de=function(Pi){var Ni=Y.apply(it,fs([Pi],bt));return O&&ze?Ni[0]:Ni};le&&g&&typeof se=="function"&&se.length!=1&&(Nt=le=!1);var ze=this.__chain__,Je=!!this.__actions__.length,hi=ut&&!ze,Mi=Nt&&!Je;if(!ut&&le){_t=Mi?_t:new yi(this);var ui=r.apply(_t,bt);return ui.__actions__.push({func:Hu,args:[de],thisArg:o}),new qn(ui,ze)}return hi&&Mi?r.apply(this,bt):(ui=this.thru(de),hi?O?ui.value()[0]:ui.value():ui)})}),Zi(["pop","push","shift","sort","splice","unshift"],function(r){var h=On[r],g=/^(?:push|sort|unshift)$/.test(r)?"tap":"thru",O=/^(?:pop|shift)$/.test(r);it.prototype[r]=function(){var Y=arguments;if(O&&!this.__chain__){var ut=this.value();return h.apply(vi(ut)?ut:[],Y)}return this[g](function(_t){return h.apply(vi(_t)?_t:[],Y)})}}),Nr(yi.prototype,function(r,h){var g=it[h];if(g){var O=g.name+"";Ti.call(no,O)||(no[O]=[]),no[O].push({name:h,func:g})}}),no[Ji(o,x).name]=[{name:"wrapper",func:o}],yi.prototype.clone=Sa,yi.prototype.reverse=Cu,yi.prototype.value=Ea,it.prototype.at=J0,it.prototype.chain=$0,it.prototype.commit=K0,it.prototype.next=Q0,it.prototype.plant=ev,it.prototype.reverse=iv,it.prototype.toJSON=it.prototype.valueOf=it.prototype.value=nv,it.prototype.first=it.prototype.head,io&&(it.prototype[io]=tv),it},to=Gc();Zr?((Zr.exports=to)._=to,Ys._=to):gn._=to}).call(Er)}(ru,ru.exports);var em=ru.exports;const $u=Ju(em);class im{constructor(l,o=[],p=!1){vf(this,"simplifyFunc",l=>{try{l=turf.simplify(l,{tolerance:5e-4,highQuality:!1,mutate:!0})}catch{}return l});mars3d?(this.vectorArr=o,this.geoJsonType=new Map([["Point"],["LineString"],["Polygon"],["MultiPoint"],["MultiLineString"],["MultiPolygon"]]),this.avoidanceArr=[],this.editDate={id:""},this.isDynamicMasking=p):console.error("未引入指定插件")}remove(l,o=null){o?o.isClone&&window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(l,"vectorId")):(window.map.removeLayer(window.map.getLayer(l,"vectorId")),window.dynamicMasking&&window.dynamicMasking.remove(l))}add(l,o){return new Promise((p,d)=>{let u,m=o==null?void 0:o.isClone;if(typeof l!="object"){let B=window.map.getLayer(l,"vectorId");if(B)return p(B);u=this.query(l)}else{let B=window.map.getLayer(l.id,"vectorId");if(B)return p(B);u=l}let{value:_,url:w,id:S,title:C}=u;new Cesium.Resource({url:w}).fetchJson().then(B=>{let{id:I,title:F,shpInfo:E}=u,{attributes:L,geometryType:x,geometryCount:M,pointCount:R}=E;if(L){let{width:b,materialType:U,materialOptions:N,clampToGround:j,distanceDisplayCondition:J,distanceDisplayCondition_near:$,distanceDisplayCondition_far:ct,zIndex:It,label:et,fill:yt,diffHeight:G,outline:Pt,outlineStyle:Et,color:Ct,pixelSize:ce,outlineColor:re,outlineWidth:Ft,classificationType:Ot}=JSON.parse(L),Bt;switch(this.isDynamicMasking?(et.color=Cesium.Color.fromCssColorString(et.color).withAlpha(0),et.outlineColor=Cesium.Color.fromCssColorString(et.outlineColor).withAlpha(.001),et.backgroundColor=Cesium.Color.fromCssColorString(et.backgroundColor).withAlpha(.001),et.background=!1,et.outline=!1,et.show=!1):(et.color=Cesium.Color.fromCssColorString(et.color),et.outlineColor=Cesium.Color.fromCssColorString(et.outlineColor),et.backgroundColor=Cesium.Color.fromCssColorString(et.backgroundColor)),x){case"LineString":case"MultiLineString":et.backgroundPadding=5,Bt=new mars3d.layer.GeoJsonLayer({data:B,vectorId:I,format:R>1e4?this.simplifyFunc:null,symbol:{type:"polylineC",styleOptions:{width:b,clampToGround:j,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:$,materialType:U,materialOptions:N,classificationType:Ot,label:et}},hasZIndex:!0,zIndex:It});break;case"Polygon":case"MultiPolygon":U=="PolyGrass"&&(N={evenColor:new Cesium.Color(.25,.4,.1,1),oddColor:new Cesium.Color(.1,.1,.1,1),frequency:1.5}),Bt=new mars3d.layer.GeoJsonLayer({data:B,vectorId:I,format:R>1e4?this.simplifyFunc:null,symbol:{type:"polygon",styleOptions:{fill:yt,diffHeight:G,clampToGround:j,materialType:U,materialOptions:N,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:$,outlineStyle:Et,outline:Pt,classificationType:Ot,label:et}}});break;case"Point":case"MultiPoint":Bt=new mars3d.layer.GeoJsonLayer({data:B,vectorId:I,format:R>1e4?this.simplifyFunc:null,symbol:{type:"pointP",styleOptions:{color:Ct,pixelSize:ce,outline:Pt,outlineColor:re,outlineWidth:Ft,visibleDepth:!1,label:et}}});break}m?window.mapClone.mapEx.addLayer(Bt):window.map.addLayer(Bt),Bt.bindPopup(fe=>{console.log("event",fe)});let ke=$u.debounce(fe=>{console.log("测试shp矢量加载完成"),window.dynamicMasking.add(fe,JSON.parse(L))},500);Bt.readyPromise.then(fe=>{window.dynamicMasking&&ke(fe),p(fe)}).catch(fe=>{console.error("测试shp矢量加载失败",fe),p({tite:"【矢量】<"+F+">无法加载",type:"error",id:I,url:w})})}else p({tite:"【矢量】<"+F+">无法加载",type:"error",id:I,url:w})}).catch(B=>{console.error("数据有误",B),p({tite:"【矢量】<"+C+">链接地址有误",type:"error",id:S,url:w})})})}updateData(l){this.vectorArr=l}processingKML(l){let o,p=2e3,d=!0,{kmlInfo:u}=l,{fill:m,areaColor:_,areaSideColor:w,transparency:S,isAreaSideColor:C,minDistinct:z,textDistinct:B,textSize:I,textColor:F,fontStyle:E,outLine:L,sideColor:x,backGround:M,backGroundColor:R,clampToGround:b}=u,U={fill:m,color:_,opacity:S||.5,outline:C,outlineColor:w,outlineWidth:2,clampToGround:b,distanceDisplayCondition:!0,distanceDisplayCondition_far:B||1e6,distanceDisplayCondition_near:z||0,classificationType:o,opacity:String(S)},N={text:"{name}",horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,pixelOffsetY:-10,font_size:26,color:F||"#ffffff",font_family:E||"黑体",outline:L||!0,outlineColor:x||"#000000",outlineWidth:4,scaleByDistance:!0,distanceDisplayCondition:!0,distanceDisplayCondition_far:B||1e6,distanceDisplayCondition_near:z||0,background:M||!1,backgroundColor:R||"",visibleDepth:d,clampToGround:b||!1,disableDepthTestDistance:p};return{...U,label:N}}selected(l){window.map.getLayer(l,"vectorId")&&window.map.getLayer(l,"vectorId").flyTo()}query(l){return this.vectorArr.length==0?!1:this.vectorArr.find(o=>o.id==l)}queryVector(l){return window.map.getLayer(l,"vectorId")}editVector(l,o,p){let d=window.map.getLayer(l,"vectorId"),u=Tf(o,p);d&&(d.eachGraphic(m=>{m.label.show===!1&&(delete m.label.outline,delete m.label.background,delete m.label.outlineColor,delete m.label.backgroundColor),m.setStyle({...u})}),window.dynamicMasking&&dynamicMasking.modify(l,u))}nationalBoundaries(){let l="/gis/nationalBoundaries.json",o=new mars3d.layer.GeoJsonLayer({name:"国界",url:l,format:p=>{try{p=turf.simplify(p,{tolerance:1e-5,highQuality:!1,mutate:!0})}catch(d){console.error(d)}return p},symbol:{type:"polylineC",styleOptions:{width:2,materialType:"Color",materialOptions:{color:"#CD9B1D"},distanceDisplayCondition:!0,distanceDisplayCondition_near:1e3,distanceDisplayCondition_far:2e7,clampToGround:!0,classificationType:Cesium.ClassificationType.TERRAIN}}});map.addLayer(o)}switchDynamicMasking(l){this.isDynamicMasking=l}}class nm{constructor(l=[]){mars3d?(this.terrainProviderArr=l,this.terrainProviderId="",this.events={},window.map.on(mars3d.EventType.terrainLoadError,o=>{console.error("地形服务加载失败",o),this.hide()}),window.map.viewer.scene.globe.tileLoadProgressEvent.addEventListener(o=>{window.map.viewer.scene.globe.tilesLoaded&&this.emit("load",o)})):console.error("未引入指定插件")}add(l){let{url:o,id:p}=l;if(this.terrainProviderId==p&&window.map.terrainProvider._layers)return!1;window.map.terrainProvider=mars3d.LayerUtil.createTerrainProvider({imageXyzId:p,type:"xyz",url:o,requestVertexNormals:!0,requestMetadata:!0}),this.terrainProviderId=p}show(){window.map.hasTerrain=!0}hide(){window.map.hasTerrain=!1}on(l,o){l=="load"?this.events[l]?this.events[l].push(o):this.events[l]=[o]:console.log("未开放自定义")}emit(l,...o){this.events[l]!=null&&this.events[l].forEach(p=>p(...o))}off(l,o){this.events[l]=this.events[l].filter(p=>p!==o)}once(l,o){const p=()=>{o(),this.off(l,p)};this.on(l,p)}addClip(l){return new Promise((o,p)=>{window.bimClip?o(bimClip.clipGisAdd(l)):p("挖洞工具未初始化")})}}class rm{constructor(l=[]){mars3d?(this.elevationImageArr=l,this.elevationImageLayer,this.form={brightnessVal:1.3,msaaSamples:4,surfaceOpacity:1,layerOpacity:1,layerBrightness:2,layerContrast:1,layerHue:0,layerSaturation:1,layerGamma:1}):console.error("未引入指定插件")}pushVector(l){this.elevationImageArr.push(l)}add(l,o){let p;if(typeof l!="object"?p=l:p=l.imageXyzId,window.map.getLayer(p,"imageXyzId"))return!1;const{layerOpacity:d,layerBrightness:u,layerContrast:m,layerHue:_,layerSaturation:w,layerGamma:S,surfaceOpacity:C}=this.exposureEnvironmentSettings();return new Promise((z,B)=>{let I,F,E,L,x,M;if(typeof l!="object"){let R=this.query(l);R||B("缺少树结构");let{gisInfo:b}=R;I=b.id,E=b.order,F=R.url,L=b.minLevel,x=b.maxLevel}else I=l.imageXyzId,F=l.url,E=l.zIndex,L=l.minimumLevel,x=l.maximumLevel,M=l.chinaCRS;this.elevationImageLayer=new mars3d.layer.XyzLayer({imageXyzId:I,type:"xyz",url:F,hasZIndex:!0,zIndex:E.toString(),brightness:u,opacity:d,saturation:w,contrast:m,hue:_,gamma:S,alpha:C,show:!0,minimumLevel:L||0,maximumLevel:x||15,chinaCRS:M,ionToken:"zhangguan"}),this.elevationImageLayer.on(mars3d.EventType.load,R=>{z(R)}),window.map.addLayer(this.elevationImageLayer),o&&Object.keys(o).forEach(R=>{this.elevationImageLayer.on(fnType.get(R),b=>{o[R](b)})})})}remove(l){console.log(l),window.map.removeLayer(window.map.getLayer(l,"imageXyzId"))}query(l){return this.elevationImageArr.length==0?!1:this.elevationImageArr.find(o=>o.id==l)}initial(){this.elevationImageArr=[],this.elevationImageLayer=null}exposureEnvironmentSettings(){return localStorage.getItem("environmentSettings")?JSON.parse(localStorage.getItem("environmentSettings")):(localStorage.setItem("environmentSettings",JSON.stringify(this.form)),JSON.parse(JSON.stringify(this.form)))}}class sm{constructor(l,o,...p){vf(this,"manualFreed",$u.debounce(()=>{let{lng:l,lat:o,alt:p,pitch:d}=this.map.getCameraView(),u;this.modelArray.forEach(m=>{u=m.releasedDistance?m.releasedDistance:1e4,this.disTance([l,o,p],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(d,u))?this.map.getLayer(m.id,"modelId")&&this.emit("leave",m):this.map.getLayer(m.id,"modelId")||this.emit("enter",m)})},200));mars3d?(l&&l!=null&&(this.modelArray=l),this.showModelArray=[],o&&o!=null&&(this.map=o),this.Cesium=mars3d.Cesium,this.events={}):console.error("未引入指定插件")}on(l,o){l=="enter"||l=="leave"?this.events[l]?this.events[l].push(o):this.events[l]=[o]:console.log("未开放自定义")}emit(l,...o){this.events[l]!=null&&this.events[l].forEach(p=>p(...o))}off(l,o){this.events[l]=this.events[l].filter(p=>p!==o)}once(l,o){const p=()=>{o(),this.off(l,p)};this.on(l,p)}say(l){return this[l]}add(l,o){this[l].push(o)}remove(l,o){this[l]=this[l].filter(function(p){return p!==o})}initial(){this.modelArray=[],this.events={}}updateCustomExcavationDetails(l,o,p,d=[],u={}){let m,_,w;switch(m=this.modelArray.find(S=>S.modelId==l).customize.bimModelExcavationDetails,w=m.find((S,C)=>{if(S.id==o)return _=C,S}),p){case"delete":m.splice(_,1);break;case"update":w.excavationDetails=d;break;case"add":m.push(u);break;case"edit":w.excavationDetails=u.excavationDetails,w.kId=u.kId;break}return m}resourceRelease(){this.map.viewer.camera.moveEnd.addEventListener(()=>{this.freed()})}freed(){let{alt:l}=this.map.getCameraView();l<2e4&&(this.freed=$u.throttle(()=>{let{lng:o,lat:p,alt:d,pitch:u}=this.map.getCameraView();this.modelArray&&this.modelArray.forEach(m=>{let _=m.bimModel.releasedDistance?m.bimModel.releasedDistance:1e4;m.center&&this.disTance([o,p,d],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(u,_))?this.map.getLayer(m.id,"modelId")&&this.emit("leave",m):this.showModelArray.indexOf(m.id)>=0&&!this.map.getLayer(m.id,"modelId")&&this.emit("enter",m)})},2e3),this.freed())}findPnodeId(l,o,p="id"){let d;if(l){for(var u=0;u<l.length;u++){let m=l[u];if(m[p]==o)return d=m,d;if(m.children&&m.children.length>0&&(d=this.findPnodeId(m.children,o,p),d))return d}return d}}disTance(l,o,p){let d,u,m;return d=Cesium.Cartesian3.fromDegrees(...l),u=Cesium.Cartesian3.fromDegrees(...o),m=Cesium.Cartesian3.distance(d,u),m>p}calculateDistance(l,o){let p=(l+180)%360-180;p=Math.max(-90,Math.min(p,90));let d=(o-o/5)*(Math.abs(p)/90)+o/5;return Math.round(d)}}class om{constructor(l=[],o){mars3d?(this.entityArr=l,this.entityLayer=new mars3d.layer.GraphicLayer({entityId:"bimEntity"}),window.map.addLayer(this.entityLayer),this.entityItem=null,this.events={},this.entityCloneLayer):console.error("未引入指定插件")}on(l,o){l=="change"||l=="collection"?this.events[l]?this.events[l].push(o):this.events[l]=[o]:console.log("未开放自定义")}emit(l,...o){this.events[l]!=null&&this.events[l].forEach(p=>p(...o))}off(l,o){this.events[l]=this.events[l].filter(p=>p!==o)}once(l,o){const p=()=>{o(),this.off(l,p)};this.on(l,p)}add(l,o=null,p){return new Promise((d,u)=>{var m;if(this.entityLayer){let _,w,S;if(p==null?void 0:p.isClone)this.entityCloneLayer&&(w=this.query(l),S=JSON.parse(w.bimPlanPainting.graphic),S.attr=S.attr||{},S.attr.entityId=l,this.entityCloneLayer.addGraphic(S));else{if(typeof l!="object"?(_=this.entityLayer.getGraphicByAttr(l,"entityId"),w=this.query(l),S=JSON.parse(w.bimPlanPainting.graphic),S.attr=S.attr||{},S.attr.entityId=l):(_=this.entityLayer.getGraphicByAttr(l.id,"entityId"),S=JSON.parse(JSON.stringify(l)),S.attr=S.attr||{},S.attr.entityId=S.attr.entityId||o,S.attr==null?S.attr={entityId:l.id}:((m=S.attr)==null?void 0:m.entityId)==null&&o&&(S.attr.entityId=o)),_)return d();this.entityLayer.addGraphic(S),d(S)}}else d(),console.error("未初始化标绘实例图层")})}query(l){return this.entityArr.length==0?!1:this.entityArr.find(o=>o.id==l)}queryEntity(l){if(bimEntity.entityLayer)return bimEntity.entityLayer.getGraphicByAttr(l,"entityId")}selected(l,o=null){let p=this.entityLayer.getGraphicByAttr(l,"entityId");o==null||o.isClone,p._point&&p._point._alt>0?p.flyTo({radius:p._point._alt+500}):p.flyTo()}remove(l,o=null){(o==null?void 0:o.isClone)?this.entityCloneLayer&&this.entityCloneLayer.getGraphicByAttr(l,"entityId").remove():this.entityLayer.getGraphicByAttr(l,"entityId")&&(this.entityLayer.getGraphicByAttr(l,"entityId").remove(),this.entityItem&&(this.entityItem._state=="destroy"||this.entityItem.options.attr.entityId==l)&&(this.entityItem=null))}entityCloneLayerInit(){this.entityCloneLayer==null&&(this.entityCloneLayer=window.mapClone._mapEx.getLayer("bimEntity","entityId"))}entityCloneLayerRemove(){console.log("没用移除"),this.entityCloneLayer.remove(),this.entityCloneLayer=null}removeEntityItem(){this.entityItem=null}updateData(l){this.entityArr=l}startDrawGraphic(l){let{type:o,style:p}=l;if(o=="div")if(p.html)this.entityLayer.startDraw(l).then(d=>{setTimeout(()=>{this.entityItem=d,this.entityLayer.startEditing(d)},500)});else{let{title:d,divType:u,theme_color:m,font_color:_,scaleByDistance:w,scaleByDistance_far:S,scaleByDistance_farValue:C,scaleByDistance_near:z,scaleByDistance_nearValue:B,distanceDisplayCondition:I,distanceDisplayCondition_far:F,distanceDisplayCondition_near:E,clampToGround:L}=p,x={type:"div",style:{pointerEvents:!0,scaleByDistance:w,scaleByDistance_far:S,scaleByDistance_farValue:C,scaleByDistance_near:z,scaleByDistance_nearValue:B,distanceDisplayCondition:I,distanceDisplayCondition_far:F,distanceDisplayCondition_near:E,clampToGround:L,horizontalOrigin:Cesium.HorizontalOrigin.LEFT,verticalOrigin:Cesium.VerticalOrigin.BOTTOM}};switch(u){case"1":x.style.html=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${m};--theme-font-color1:${_};">
2635
+ }`;var Mi=Od(function(){return Bi(ut,Je+"return "+de).apply(o,_t)});if(Mi.source=de,of(Mi))throw Mi;return Mi}function py(r){return Yi(r).toLowerCase()}function dy(r){return Yi(r).toUpperCase()}function my(r,h,g){if(r=Yi(r),r&&(g||h===o))return ga(r);if(!r||!(h=Ye(h)))return r;var O=ar(r),Y=ar(h),ut=Qs(O,Y),_t=Eo(O,Y)+1;return xn(O,ut,_t).join("")}function gy(r,h,g){if(r=Yi(r),r&&(g||h===o))return r.slice(0,va(r)+1);if(!r||!(h=Ye(h)))return r;var O=ar(r),Y=Eo(O,ar(h))+1;return xn(O,0,Y).join("")}function vy(r,h,g){if(r=Yi(r),r&&(g||h===o))return r.replace(ls,"");if(!r||!(h=Ye(h)))return r;var O=ar(r),Y=Qs(O,ar(h));return xn(O,Y).join("")}function _y(r,h){var g=ct,O=It;if(wn(h)){var Y="separator"in h?h.separator:Y;g="length"in h?wi(h.length):g,O="omission"in h?Ye(h.omission):O}r=Yi(r);var ut=r.length;if(Ir(r)){var _t=ar(r);ut=_t.length}if(g>=ut)return r;var bt=g-$r(O);if(bt<1)return O;var Nt=_t?xn(_t,0,bt).join(""):r.slice(0,bt);if(Y===o)return Nt+O;if(_t&&(bt+=Nt.length-bt),af(Y)){if(r.slice(bt).search(Y)){var se,le=Nt;for(Y.global||(Y=Kn(Y.source,Yi(Gl.exec(Y))+"g")),Y.lastIndex=0;se=Y.exec(le);)var de=se.index;Nt=Nt.slice(0,de===o?bt:de)}}else if(r.indexOf(Ye(Y),bt)!=bt){var ze=Nt.lastIndexOf(Y);ze>-1&&(Nt=Nt.slice(0,ze))}return Nt+O}function yy(r){return r=Yi(r),r&&Xs.test(r)?r.replace(As,Jl):r}var xy=De(function(r,h,g){return r+(g?" ":"")+h.toUpperCase()}),uf=Me("toUpperCase");function Rd(r,h,g){return r=Yi(r),h=g?o:h,h===o?Po(r)?Uc(r):il(r):r.match(h)||[]}var Od=ae(function(r,h){try{return _r(r,o,h)}catch(g){return of(g)?g:new ai(g)}}),wy=Ho(function(r,h){return Zi(h,function(g){g=ho(g),ks(r,g,rf(r[g],r))}),r});function Ty(r){var h=r==null?0:r.length,g=oi();return r=h?qi(r,function(O){if(typeof O[1]!="function")throw new lr(m);return[g(O[0]),O[1]]}):[],ae(function(O){for(var Y=-1;++Y<h;){var ut=r[Y];if(_r(ut[0],this,O))return _r(ut[1],this,O)}})}function My(r){return Pa(wr(r,z))}function cf(r){return function(){return r}}function Sy(r,h){return r==null||r!==r?h:r}var Ey=Li(),by=Li(!0);function Gr(r){return r}function ff(r){return H(typeof r=="function"?r:wr(r,z))}function Ay(r){return gt(wr(r,z))}function Cy(r,h){return At(r,wr(h,z))}var Py=ae(function(r,h){return function(g){return e(g,r,h)}}),Ly=ae(function(r,h){return function(g){return e(r,g,h)}});function pf(r,h,g){var O=Jn(h),Y=Fo(h,O);g==null&&!(wn(h)&&(Y.length||!O.length))&&(g=h,h=r,r=this,Y=Fo(h,Jn(h)));var ut=!(wn(g)&&"chain"in g)||!!g.chain,_t=Wo(r);return Zi(Y,function(bt){var Nt=h[bt];r[bt]=Nt,_t&&(r.prototype[bt]=function(){var se=this.__chain__;if(ut||se){var le=r(this.__wrapped__),de=le.__actions__=er(this.__actions__);return de.push({func:Nt,args:arguments,thisArg:r}),le.__chain__=se,le}return Nt.apply(r,fs([this.value()],arguments))})}),r}function Ry(){return gn._===this&&(gn._=Kr),this}function df(){}function Oy(r){return r=wi(r),ae(function(h){return Z(h,r)})}var Iy=Nn(qi),Dy=Nn(Ih),zy=Nn(Cs);function Id(r){return $c(r)?Js(ho(r)):$t(r)}function ky(r){return function(h){return r==null?o:ao(r,h)}}var By=$h(),Ny=$h(!0);function mf(){return[]}function gf(){return!1}function Fy(){return{}}function Uy(){return""}function Gy(){return!0}function Hy(r,h){if(r=wi(r),r<1||r>ce)return[];var g=Ot,O=Vn(r,Ot);h=oi(h),r-=Ot;for(var Y=Ls(O,h);++g<r;)h(g);return Y}function Vy(r){return vi(r)?qi(r,ho):ts(r)?[r]:er(Qp(Yi(r)))}function Wy(r){var h=++ur;return Yi(r)+h}var jy=Tr(function(r,h){return r+h},0),Xy=hh("ceil"),qy=Tr(function(r,h){return r/h},1),Yy=hh("floor");function Zy(r){return r&&r.length?Ts(r,Gr,oh):o}function Jy(r,h){return r&&r.length?Ts(r,oi(h,2),oh):o}function $y(r){return ma(r,Gr)}function Ky(r,h){return ma(r,oi(h,2))}function Qy(r){return r&&r.length?Ts(r,Gr,rt):o}function t1(r,h){return r&&r.length?Ts(r,oi(h,2),rt):o}var e1=Tr(function(r,h){return r*h},1),i1=hh("round"),n1=Tr(function(r,h){return r-h},0);function r1(r){return r&&r.length?Ks(r,Gr):0}function s1(r,h){return r&&r.length?Ks(r,oi(h,2)):0}return it.after=Av,it.ary=ud,it.assign=d_,it.assignIn=Sd,it.assignInWith=Zu,it.assignWith=m_,it.at=g_,it.before=cd,it.bind=rf,it.bindAll=wy,it.bindKey=fd,it.castArray=Fv,it.chain=ad,it.chunk=Yg,it.compact=Zg,it.concat=Jg,it.cond=Ty,it.conforms=My,it.constant=cf,it.countBy=rv,it.create=v_,it.curry=pd,it.curryRight=dd,it.debounce=md,it.defaults=__,it.defaultsDeep=y_,it.defer=Cv,it.delay=Pv,it.difference=$g,it.differenceBy=Kg,it.differenceWith=Qg,it.drop=t0,it.dropRight=e0,it.dropRightWhile=i0,it.dropWhile=n0,it.fill=r0,it.filter=ov,it.flatMap=hv,it.flatMapDeep=uv,it.flatMapDepth=cv,it.flatten=nd,it.flattenDeep=s0,it.flattenDepth=o0,it.flip=Lv,it.flow=Ey,it.flowRight=by,it.fromPairs=a0,it.functions=b_,it.functionsIn=A_,it.groupBy=fv,it.initial=h0,it.intersection=u0,it.intersectionBy=c0,it.intersectionWith=f0,it.invert=P_,it.invertBy=L_,it.invokeMap=dv,it.iteratee=ff,it.keyBy=mv,it.keys=Jn,it.keysIn=Ur,it.map=Vu,it.mapKeys=O_,it.mapValues=I_,it.matches=Ay,it.matchesProperty=Cy,it.memoize=ju,it.merge=D_,it.mergeWith=Ed,it.method=Py,it.methodOf=Ly,it.mixin=pf,it.negate=Xu,it.nthArg=Oy,it.omit=z_,it.omitBy=k_,it.once=Rv,it.orderBy=gv,it.over=Iy,it.overArgs=Ov,it.overEvery=Dy,it.overSome=zy,it.partial=sf,it.partialRight=gd,it.partition=vv,it.pick=B_,it.pickBy=bd,it.property=Id,it.propertyOf=ky,it.pull=g0,it.pullAll=sd,it.pullAllBy=v0,it.pullAllWith=_0,it.pullAt=y0,it.range=By,it.rangeRight=Ny,it.rearg=Iv,it.reject=xv,it.remove=x0,it.rest=Dv,it.reverse=ef,it.sampleSize=Tv,it.set=F_,it.setWith=U_,it.shuffle=Mv,it.slice=w0,it.sortBy=bv,it.sortedUniq=C0,it.sortedUniqBy=P0,it.split=hy,it.spread=zv,it.tail=L0,it.take=R0,it.takeRight=O0,it.takeRightWhile=I0,it.takeWhile=D0,it.tap=Z0,it.throttle=kv,it.thru=Hu,it.toArray=wd,it.toPairs=Ad,it.toPairsIn=Cd,it.toPath=Vy,it.toPlainObject=Md,it.transform=G_,it.unary=Bv,it.union=z0,it.unionBy=k0,it.unionWith=B0,it.uniq=N0,it.uniqBy=F0,it.uniqWith=U0,it.unset=H_,it.unzip=nf,it.unzipWith=od,it.update=V_,it.updateWith=W_,it.values=fh,it.valuesIn=j_,it.without=G0,it.words=Rd,it.wrap=Nv,it.xor=H0,it.xorBy=V0,it.xorWith=W0,it.zip=j0,it.zipObject=X0,it.zipObjectDeep=q0,it.zipWith=Y0,it.entries=Ad,it.entriesIn=Cd,it.extend=Sd,it.extendWith=Zu,pf(it,it),it.add=jy,it.attempt=Od,it.camelCase=Z_,it.capitalize=Pd,it.ceil=Xy,it.clamp=X_,it.clone=Uv,it.cloneDeep=Hv,it.cloneDeepWith=Vv,it.cloneWith=Gv,it.conformsTo=Wv,it.deburr=Ld,it.defaultTo=Sy,it.divide=qy,it.endsWith=J_,it.eq=Fs,it.escape=$_,it.escapeRegExp=K_,it.every=sv,it.find=av,it.findIndex=ed,it.findKey=x_,it.findLast=lv,it.findLastIndex=id,it.findLastKey=w_,it.floor=Yy,it.forEach=ld,it.forEachRight=hd,it.forIn=T_,it.forInRight=M_,it.forOwn=S_,it.forOwnRight=E_,it.get=lf,it.gt=jv,it.gte=Xv,it.has=C_,it.hasIn=hf,it.head=rd,it.identity=Gr,it.includes=pv,it.indexOf=l0,it.inRange=q_,it.invoke=R_,it.isArguments=bl,it.isArray=vi,it.isArrayBuffer=qv,it.isArrayLike=Fr,it.isArrayLikeObject=Dn,it.isBoolean=Yv,it.isBuffer=Da,it.isDate=Zv,it.isElement=Jv,it.isEmpty=$v,it.isEqual=Kv,it.isEqualWith=Qv,it.isError=of,it.isFinite=t_,it.isFunction=Wo,it.isInteger=vd,it.isLength=qu,it.isMap=_d,it.isMatch=e_,it.isMatchWith=i_,it.isNaN=n_,it.isNative=r_,it.isNil=o_,it.isNull=s_,it.isNumber=yd,it.isObject=wn,it.isObjectLike=Ln,it.isPlainObject=eu,it.isRegExp=af,it.isSafeInteger=a_,it.isSet=xd,it.isString=Yu,it.isSymbol=ts,it.isTypedArray=ch,it.isUndefined=l_,it.isWeakMap=h_,it.isWeakSet=u_,it.join=p0,it.kebabCase=Q_,it.last=Es,it.lastIndexOf=d0,it.lowerCase=ty,it.lowerFirst=ey,it.lt=c_,it.lte=f_,it.max=Zy,it.maxBy=Jy,it.mean=$y,it.meanBy=Ky,it.min=Qy,it.minBy=t1,it.stubArray=mf,it.stubFalse=gf,it.stubObject=Fy,it.stubString=Uy,it.stubTrue=Gy,it.multiply=e1,it.nth=m0,it.noConflict=Ry,it.noop=df,it.now=Wu,it.pad=iy,it.padEnd=ny,it.padStart=ry,it.parseInt=sy,it.random=Y_,it.reduce=_v,it.reduceRight=yv,it.repeat=oy,it.replace=ay,it.result=N_,it.round=i1,it.runInContext=Lt,it.sample=wv,it.size=Sv,it.snakeCase=ly,it.some=Ev,it.sortedIndex=T0,it.sortedIndexBy=M0,it.sortedIndexOf=S0,it.sortedLastIndex=E0,it.sortedLastIndexBy=b0,it.sortedLastIndexOf=A0,it.startCase=uy,it.startsWith=cy,it.subtract=n1,it.sum=r1,it.sumBy=s1,it.template=fy,it.times=Hy,it.toFinite=jo,it.toInteger=wi,it.toLength=Td,it.toLower=py,it.toNumber=bs,it.toSafeInteger=p_,it.toString=Yi,it.toUpper=dy,it.trim=my,it.trimEnd=gy,it.trimStart=vy,it.truncate=_y,it.unescape=yy,it.uniqueId=Wy,it.upperCase=xy,it.upperFirst=uf,it.each=ld,it.eachRight=hd,it.first=rd,pf(it,function(){var r={};return Nr(it,function(h,g){Ti.call(it.prototype,g)||(r[g]=h)}),r}(),{chain:!1}),it.VERSION=p,Zi(["bind","bindKey","curry","curryRight","partial","partialRight"],function(r){it[r].placeholder=it}),Zi(["drop","take"],function(r,h){yi.prototype[r]=function(g){g=g===o?1:vn(wi(g),0);var O=this.__filtered__&&!h?new yi(this):this.clone();return O.__filtered__?O.__takeCount__=Vn(g,O.__takeCount__):O.__views__.push({size:Vn(g,Ot),type:r+(O.__dir__<0?"Right":"")}),O},yi.prototype[r+"Right"]=function(g){return this.reverse()[r](g).reverse()}}),Zi(["filter","map","takeWhile"],function(r,h){var g=h+1,O=g==G||g==Et;yi.prototype[r]=function(Y){var ut=this.clone();return ut.__iteratees__.push({iteratee:oi(Y,3),type:g}),ut.__filtered__=ut.__filtered__||O,ut}}),Zi(["head","last"],function(r,h){var g="take"+(h?"Right":"");yi.prototype[r]=function(){return this[g](1).value()[0]}}),Zi(["initial","tail"],function(r,h){var g="drop"+(h?"":"Right");yi.prototype[r]=function(){return this.__filtered__?new yi(this):this[g](1)}}),yi.prototype.compact=function(){return this.filter(Gr)},yi.prototype.find=function(r){return this.filter(r).head()},yi.prototype.findLast=function(r){return this.reverse().find(r)},yi.prototype.invokeMap=ae(function(r,h){return typeof r=="function"?new yi(this):this.map(function(g){return e(g,r,h)})}),yi.prototype.reject=function(r){return this.filter(Xu(oi(r)))},yi.prototype.slice=function(r,h){r=wi(r);var g=this;return g.__filtered__&&(r>0||h<0)?new yi(g):(r<0?g=g.takeRight(-r):r&&(g=g.drop(r)),h!==o&&(h=wi(h),g=h<0?g.dropRight(-h):g.take(h-r)),g)},yi.prototype.takeRightWhile=function(r){return this.reverse().takeWhile(r).reverse()},yi.prototype.toArray=function(){return this.take(Ot)},Nr(yi.prototype,function(r,h){var g=/^(?:filter|find|map|reject)|While$/.test(h),O=/^(?:head|last)$/.test(h),Y=it[O?"take"+(h=="last"?"Right":""):h],ut=O||/^find/.test(h);Y&&(it.prototype[h]=function(){var _t=this.__wrapped__,bt=O?[1]:arguments,Nt=_t instanceof yi,se=bt[0],le=Nt||vi(_t),de=function(Pi){var Ni=Y.apply(it,fs([Pi],bt));return O&&ze?Ni[0]:Ni};le&&g&&typeof se=="function"&&se.length!=1&&(Nt=le=!1);var ze=this.__chain__,Je=!!this.__actions__.length,hi=ut&&!ze,Mi=Nt&&!Je;if(!ut&&le){_t=Mi?_t:new yi(this);var ui=r.apply(_t,bt);return ui.__actions__.push({func:Hu,args:[de],thisArg:o}),new qn(ui,ze)}return hi&&Mi?r.apply(this,bt):(ui=this.thru(de),hi?O?ui.value()[0]:ui.value():ui)})}),Zi(["pop","push","shift","sort","splice","unshift"],function(r){var h=On[r],g=/^(?:push|sort|unshift)$/.test(r)?"tap":"thru",O=/^(?:pop|shift)$/.test(r);it.prototype[r]=function(){var Y=arguments;if(O&&!this.__chain__){var ut=this.value();return h.apply(vi(ut)?ut:[],Y)}return this[g](function(_t){return h.apply(vi(_t)?_t:[],Y)})}}),Nr(yi.prototype,function(r,h){var g=it[h];if(g){var O=g.name+"";Ti.call(no,O)||(no[O]=[]),no[O].push({name:h,func:g})}}),no[Ji(o,x).name]=[{name:"wrapper",func:o}],yi.prototype.clone=Sa,yi.prototype.reverse=Cu,yi.prototype.value=Ea,it.prototype.at=J0,it.prototype.chain=$0,it.prototype.commit=K0,it.prototype.next=Q0,it.prototype.plant=ev,it.prototype.reverse=iv,it.prototype.toJSON=it.prototype.valueOf=it.prototype.value=nv,it.prototype.first=it.prototype.head,io&&(it.prototype[io]=tv),it},to=Gc();Zr?((Zr.exports=to)._=to,Ys._=to):gn._=to}).call(Er)}(ru,ru.exports);var em=ru.exports;const $u=Ju(em);class im{constructor(l,o=[],p=!1){vf(this,"simplifyFunc",l=>{try{l=turf.simplify(l,{tolerance:5e-4,highQuality:!1,mutate:!0})}catch{}return l});mars3d?(this.vectorArr=o,this.geoJsonType=new Map([["Point"],["LineString"],["Polygon"],["MultiPoint"],["MultiLineString"],["MultiPolygon"]]),this.avoidanceArr=[],this.editDate={id:""},this.isDynamicMasking=p):console.error("未引入指定插件")}remove(l,o=null){o?o.isClone&&window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(l,"vectorId")):(window.map.removeLayer(window.map.getLayer(l,"vectorId")),window.dynamicMasking&&window.dynamicMasking.remove(l))}add(l,o){return new Promise((p,d)=>{let u,m=o==null?void 0:o.isClone;if(typeof l!="object"){let B=window.map.getLayer(l,"vectorId");if(B)return p(B);u=this.query(l)}else{let B=window.map.getLayer(l.id,"vectorId");if(B)return p(B);u=l}let{value:_,url:w,id:S,title:C}=u;new Cesium.Resource({url:w}).fetchJson().then(B=>{let{id:I,title:F,shpInfo:E}=u,{attributes:L,geometryType:x,geometryCount:M,pointCount:R}=E;if(L){let{width:b,materialType:U,materialOptions:N,clampToGround:j,distanceDisplayCondition:J,distanceDisplayCondition_near:$,distanceDisplayCondition_far:ct,zIndex:It,label:et,fill:yt,diffHeight:G,outline:Pt,outlineStyle:Et,color:Ct,pixelSize:ce,outlineColor:re,outlineWidth:Ft,classificationType:Ot}=JSON.parse(L),Bt;switch(this.isDynamicMasking?(et.color=Cesium.Color.fromCssColorString(et.color).withAlpha(0),et.outlineColor=Cesium.Color.fromCssColorString(et.outlineColor).withAlpha(.001),et.backgroundColor=Cesium.Color.fromCssColorString(et.backgroundColor).withAlpha(.001),et.background=!1,et.outline=!1,et.show=!1):(et.color=Cesium.Color.fromCssColorString(et.color),et.outlineColor=Cesium.Color.fromCssColorString(et.outlineColor),et.backgroundColor=Cesium.Color.fromCssColorString(et.backgroundColor)),x){case"LineString":case"MultiLineString":et.backgroundPadding=5,Bt=new mars3d.layer.GeoJsonLayer({data:B,vectorId:I,format:R>1e4?this.simplifyFunc:null,symbol:{type:"polylineC",styleOptions:{width:b,clampToGround:j,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:$,materialType:U,materialOptions:N,classificationType:Ot,label:et}},hasZIndex:!0,zIndex:It});break;case"Polygon":case"MultiPolygon":U=="PolyGrass"&&(N={evenColor:new Cesium.Color(.25,.4,.1,1),oddColor:new Cesium.Color(.1,.1,.1,1),frequency:1.5}),Bt=new mars3d.layer.GeoJsonLayer({data:B,vectorId:I,format:R>1e4?this.simplifyFunc:null,symbol:{type:"polygon",styleOptions:{fill:yt,diffHeight:G,clampToGround:j,materialType:U,materialOptions:N,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:$,outlineStyle:Et,outline:Pt,classificationType:Ot,label:et}}});break;case"Point":case"MultiPoint":Bt=new mars3d.layer.GeoJsonLayer({data:B,vectorId:I,format:R>1e4?this.simplifyFunc:null,symbol:{type:"pointP",styleOptions:{color:Ct,pixelSize:ce,outline:Pt,outlineColor:re,outlineWidth:Ft,visibleDepth:!1,label:et}}});break}m?window.mapClone.mapEx.addLayer(Bt):window.map.addLayer(Bt),Bt.bindPopup(fe=>{console.log("event",fe)});let ke=$u.debounce(fe=>{console.log("测试shp矢量加载完成"),window.dynamicMasking.add(fe,JSON.parse(L))},500);Bt.readyPromise.then(fe=>{window.dynamicMasking&&ke(fe),p(fe)}).catch(fe=>{console.error("测试shp矢量加载失败",fe),p({tite:"【矢量】<"+F+">无法加载",type:"error",id:I,url:w})})}else p({tite:"【矢量】<"+F+">无法加载",type:"error",id:I,url:w})}).catch(B=>{console.error("数据有误",B),p({tite:"【矢量】<"+C+">链接地址有误",type:"error",id:S,url:w})})})}updateData(l){this.vectorArr=l}processingKML(l){let o,p=2e3,d=!0,{kmlInfo:u}=l,{fill:m,areaColor:_,areaSideColor:w,transparency:S,isAreaSideColor:C,minDistinct:z,textDistinct:B,textSize:I,textColor:F,fontStyle:E,outLine:L,sideColor:x,backGround:M,backGroundColor:R,clampToGround:b}=u,U={fill:m,color:_,opacity:S||.5,outline:C,outlineColor:w,outlineWidth:2,clampToGround:b,distanceDisplayCondition:!0,distanceDisplayCondition_far:B||1e6,distanceDisplayCondition_near:z||0,classificationType:o,opacity:String(S)},N={text:"{name}",horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,pixelOffsetY:-10,font_size:26,color:F||"#ffffff",font_family:E||"黑体",outline:L||!0,outlineColor:x||"#000000",outlineWidth:4,scaleByDistance:!0,distanceDisplayCondition:!0,distanceDisplayCondition_far:B||1e6,distanceDisplayCondition_near:z||0,background:M||!1,backgroundColor:R||"",visibleDepth:d,clampToGround:b||!1,disableDepthTestDistance:p};return{...U,label:N}}selected(l){window.map.getLayer(l,"vectorId")&&window.map.getLayer(l,"vectorId").flyTo()}query(l){return this.vectorArr.length==0?!1:this.vectorArr.find(o=>o.id==l)}queryVector(l){return window.map.getLayer(l,"vectorId")}editVector(l,o,p){let d=window.map.getLayer(l,"vectorId"),u=Tf(o,p);d&&(d.eachGraphic(m=>{m.label.show===!1&&(delete m.label.outline,delete m.label.background,delete m.label.outlineColor,delete m.label.backgroundColor),m.setStyle({...u})}),window.dynamicMasking&&dynamicMasking.modify(l,u))}nationalBoundaries(){let l="/gis/nationalBoundaries.json",o=new mars3d.layer.GeoJsonLayer({name:"国界",url:l,format:p=>{try{p=turf.simplify(p,{tolerance:1e-5,highQuality:!1,mutate:!0})}catch(d){console.error(d)}return p},symbol:{type:"polylineC",styleOptions:{width:2,materialType:"Color",materialOptions:{color:"#CD9B1D"},distanceDisplayCondition:!0,distanceDisplayCondition_near:1e3,distanceDisplayCondition_far:2e7,clampToGround:!0,classificationType:Cesium.ClassificationType.TERRAIN}}});map.addLayer(o)}switchDynamicMasking(l){this.isDynamicMasking=l}}class nm{constructor(l=[]){mars3d?(this.terrainProviderArr=l,this.terrainProviderId="",this.events={},window.map.on(mars3d.EventType.terrainLoadError,o=>{console.error("地形服务加载失败",o),this.hide()}),window.map.viewer.scene.globe.tileLoadProgressEvent.addEventListener(o=>{window.map.viewer.scene.globe.tilesLoaded&&this.emit("load",o)})):console.error("未引入指定插件")}add(l){let{url:o,id:p}=l;if(this.terrainProviderId==p&&window.map.terrainProvider._layers)return!1;window.map.terrainProvider=mars3d.LayerUtil.createTerrainProvider({imageXyzId:p,type:"xyz",url:o,requestVertexNormals:!0,requestMetadata:!0}),this.terrainProviderId=p}show(){window.map.hasTerrain=!0}hide(){window.map.hasTerrain=!1}on(l,o){l=="load"?this.events[l]?this.events[l].push(o):this.events[l]=[o]:console.log("未开放自定义")}emit(l,...o){this.events[l]!=null&&this.events[l].forEach(p=>p(...o))}off(l,o){this.events[l]=this.events[l].filter(p=>p!==o)}once(l,o){const p=()=>{o(),this.off(l,p)};this.on(l,p)}addClip(l){return new Promise((o,p)=>{window.bimClip?o(bimClip.clipGisAdd(l)):p("挖洞工具未初始化")})}}class rm{constructor(l=[]){mars3d?(this.elevationImageArr=l,this.elevationImageLayer,this.form={brightnessVal:1.3,msaaSamples:4,surfaceOpacity:1,layerOpacity:1,layerBrightness:2,layerContrast:1,layerHue:0,layerSaturation:1,layerGamma:1}):console.error("未引入指定插件")}pushVector(l){this.elevationImageArr.push(l)}add(l,o){let p;if(typeof l!="object"?p=l:p=l.imageXyzId,window.map.getLayer(p,"imageXyzId"))return!1;const{layerOpacity:d,layerBrightness:u,layerContrast:m,layerHue:_,layerSaturation:w,layerGamma:S,surfaceOpacity:C}=this.exposureEnvironmentSettings();return new Promise((z,B)=>{let I,F,E,L,x,M;if(typeof l!="object"){let R=this.query(l);R||B("缺少树结构");let{gisInfo:b}=R;I=b.id,E=b.order,F=R.url,L=b.minLevel,x=b.maxLevel}else I=l.imageXyzId,F=l.url,E=l.zIndex,L=l.minimumLevel,x=l.maximumLevel,M=l.chinaCRS;this.elevationImageLayer=new mars3d.layer.XyzLayer({imageXyzId:I,type:"xyz",url:F,hasZIndex:!0,zIndex:E.toString(),brightness:u,opacity:d,saturation:w,contrast:m,hue:_,gamma:S,alpha:C,show:!0,minimumLevel:L||0,maximumLevel:x||15,chinaCRS:M}),this.elevationImageLayer.on(mars3d.EventType.load,R=>{z(R)}),window.map.addLayer(this.elevationImageLayer),o&&Object.keys(o).forEach(R=>{this.elevationImageLayer.on(fnType.get(R),b=>{o[R](b)})})})}remove(l){console.log(l),window.map.removeLayer(window.map.getLayer(l,"imageXyzId"))}query(l){return this.elevationImageArr.length==0?!1:this.elevationImageArr.find(o=>o.id==l)}initial(){this.elevationImageArr=[],this.elevationImageLayer=null}exposureEnvironmentSettings(){return localStorage.getItem("environmentSettings")?JSON.parse(localStorage.getItem("environmentSettings")):(localStorage.setItem("environmentSettings",JSON.stringify(this.form)),JSON.parse(JSON.stringify(this.form)))}}class sm{constructor(l,o,...p){vf(this,"manualFreed",$u.debounce(()=>{let{lng:l,lat:o,alt:p,pitch:d}=this.map.getCameraView(),u;this.modelArray.forEach(m=>{u=m.releasedDistance?m.releasedDistance:1e4,this.disTance([l,o,p],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(d,u))?this.map.getLayer(m.id,"modelId")&&this.emit("leave",m):this.map.getLayer(m.id,"modelId")||this.emit("enter",m)})},200));mars3d?(l&&l!=null&&(this.modelArray=l),this.showModelArray=[],o&&o!=null&&(this.map=o),this.Cesium=mars3d.Cesium,this.events={}):console.error("未引入指定插件")}on(l,o){l=="enter"||l=="leave"?this.events[l]?this.events[l].push(o):this.events[l]=[o]:console.log("未开放自定义")}emit(l,...o){this.events[l]!=null&&this.events[l].forEach(p=>p(...o))}off(l,o){this.events[l]=this.events[l].filter(p=>p!==o)}once(l,o){const p=()=>{o(),this.off(l,p)};this.on(l,p)}say(l){return this[l]}add(l,o){this[l].push(o)}remove(l,o){this[l]=this[l].filter(function(p){return p!==o})}initial(){this.modelArray=[],this.events={}}updateCustomExcavationDetails(l,o,p,d=[],u={}){let m,_,w;switch(m=this.modelArray.find(S=>S.modelId==l).customize.bimModelExcavationDetails,w=m.find((S,C)=>{if(S.id==o)return _=C,S}),p){case"delete":m.splice(_,1);break;case"update":w.excavationDetails=d;break;case"add":m.push(u);break;case"edit":w.excavationDetails=u.excavationDetails,w.kId=u.kId;break}return m}resourceRelease(){this.map.viewer.camera.moveEnd.addEventListener(()=>{this.freed()})}freed(){let{alt:l}=this.map.getCameraView();l<2e4&&(this.freed=$u.throttle(()=>{let{lng:o,lat:p,alt:d,pitch:u}=this.map.getCameraView();this.modelArray&&this.modelArray.forEach(m=>{let _=m.bimModel.releasedDistance?m.bimModel.releasedDistance:1e4;m.center&&this.disTance([o,p,d],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(u,_))?this.map.getLayer(m.id,"modelId")&&this.emit("leave",m):this.showModelArray.indexOf(m.id)>=0&&!this.map.getLayer(m.id,"modelId")&&this.emit("enter",m)})},2e3),this.freed())}findPnodeId(l,o,p="id"){let d;if(l){for(var u=0;u<l.length;u++){let m=l[u];if(m[p]==o)return d=m,d;if(m.children&&m.children.length>0&&(d=this.findPnodeId(m.children,o,p),d))return d}return d}}disTance(l,o,p){let d,u,m;return d=Cesium.Cartesian3.fromDegrees(...l),u=Cesium.Cartesian3.fromDegrees(...o),m=Cesium.Cartesian3.distance(d,u),m>p}calculateDistance(l,o){let p=(l+180)%360-180;p=Math.max(-90,Math.min(p,90));let d=(o-o/5)*(Math.abs(p)/90)+o/5;return Math.round(d)}}class om{constructor(l=[],o){mars3d?(this.entityArr=l,this.entityLayer=new mars3d.layer.GraphicLayer({entityId:"bimEntity"}),window.map.addLayer(this.entityLayer),this.entityItem=null,this.events={},this.entityCloneLayer):console.error("未引入指定插件")}on(l,o){l=="change"||l=="collection"?this.events[l]?this.events[l].push(o):this.events[l]=[o]:console.log("未开放自定义")}emit(l,...o){this.events[l]!=null&&this.events[l].forEach(p=>p(...o))}off(l,o){this.events[l]=this.events[l].filter(p=>p!==o)}once(l,o){const p=()=>{o(),this.off(l,p)};this.on(l,p)}add(l,o=null,p){return new Promise((d,u)=>{var m;if(this.entityLayer){let _,w,S;if(p==null?void 0:p.isClone)this.entityCloneLayer&&(w=this.query(l),S=JSON.parse(w.bimPlanPainting.graphic),S.attr=S.attr||{},S.attr.entityId=l,this.entityCloneLayer.addGraphic(S));else{if(typeof l!="object"?(_=this.entityLayer.getGraphicByAttr(l,"entityId"),w=this.query(l),S=JSON.parse(w.bimPlanPainting.graphic),S.attr=S.attr||{},S.attr.entityId=l):(_=this.entityLayer.getGraphicByAttr(l.id,"entityId"),S=JSON.parse(JSON.stringify(l)),S.attr=S.attr||{},S.attr.entityId=S.attr.entityId||o,S.attr==null?S.attr={entityId:l.id}:((m=S.attr)==null?void 0:m.entityId)==null&&o&&(S.attr.entityId=o)),_)return d();this.entityLayer.addGraphic(S),d(S)}}else d(),console.error("未初始化标绘实例图层")})}query(l){return this.entityArr.length==0?!1:this.entityArr.find(o=>o.id==l)}queryEntity(l){if(bimEntity.entityLayer)return bimEntity.entityLayer.getGraphicByAttr(l,"entityId")}selected(l,o=null){let p=this.entityLayer.getGraphicByAttr(l,"entityId");o==null||o.isClone,p._point&&p._point._alt>0?p.flyTo({radius:p._point._alt+500}):p.flyTo()}remove(l,o=null){(o==null?void 0:o.isClone)?this.entityCloneLayer&&this.entityCloneLayer.getGraphicByAttr(l,"entityId").remove():this.entityLayer.getGraphicByAttr(l,"entityId")&&(this.entityLayer.getGraphicByAttr(l,"entityId").remove(),this.entityItem&&(this.entityItem._state=="destroy"||this.entityItem.options.attr.entityId==l)&&(this.entityItem=null))}entityCloneLayerInit(){this.entityCloneLayer==null&&(this.entityCloneLayer=window.mapClone._mapEx.getLayer("bimEntity","entityId"))}entityCloneLayerRemove(){console.log("没用移除"),this.entityCloneLayer.remove(),this.entityCloneLayer=null}removeEntityItem(){this.entityItem=null}updateData(l){this.entityArr=l}startDrawGraphic(l){let{type:o,style:p}=l;if(o=="div")if(p.html)this.entityLayer.startDraw(l).then(d=>{setTimeout(()=>{this.entityItem=d,this.entityLayer.startEditing(d)},500)});else{let{title:d,divType:u,theme_color:m,font_color:_,scaleByDistance:w,scaleByDistance_far:S,scaleByDistance_farValue:C,scaleByDistance_near:z,scaleByDistance_nearValue:B,distanceDisplayCondition:I,distanceDisplayCondition_far:F,distanceDisplayCondition_near:E,clampToGround:L}=p,x={type:"div",style:{pointerEvents:!0,scaleByDistance:w,scaleByDistance_far:S,scaleByDistance_farValue:C,scaleByDistance_near:z,scaleByDistance_nearValue:B,distanceDisplayCondition:I,distanceDisplayCondition_far:F,distanceDisplayCondition_near:E,clampToGround:L,horizontalOrigin:Cesium.HorizontalOrigin.LEFT,verticalOrigin:Cesium.VerticalOrigin.BOTTOM}};switch(u){case"1":x.style.html=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${m};--theme-font-color1:${_};">
2636
2636
  <div class="title">${d}</div>
2637
2637
  </div>`,x.style.horizontalOrigin=Cesium.HorizontalOrigin.CENTER;break}this.entityLayer.startDraw(x).then(M=>{setTimeout(()=>{this.entityItem=M,this.entityLayer.startEditing(M)},500)})}else this.entityLayer.startDraw(l).then(d=>{setTimeout(()=>{this.entityItem=d,this.entityLayer.startEditing(d)},500)})}stopDraw(l=!0){this.entityLayer&&this.entityLayer.stopDraw(),l&&this.entityItem&&(this.entityItem.stopEditing(),this.entityItem.remove(),this.entityItem=null)}updateEntityItem(l){let o=this.entityLayer.getGraphicByAttr(l,"entityId");o&&(this.entityItem=o)}edit(l,o,p,d){let u=Tf(o,p);o.vectorStyle&&this.entityItem&&(o.vectorStyle.divType==5?this.entityItem.setStyle({...u,horizontalOrigin:Cesium.HorizontalOrigin.LEFT}):this.entityItem.setStyle({...u}))}enableDragging(l=!0){l?this.entityLayer.startEditing(this.entityItem):(this.entityLayer.stopDraw(),this.entityItem&&this.entityItem.stopEditing())}addRightMenu(){this.entityLayer.bindContextMenu([{text:"编辑对象",callback:l=>{this.emit("change",l)}},{text:"收藏对象",callback:l=>{this.emit("collection",l)}}])}removeRightMenu(){this.entityLayer.hasContextMenu()&&this.entityLayer.unbindContextMenu()}processDivData(l){let o={"--theme-color1":"theme_color","--theme-font-color1":"font_color","--theme-color2":"theme_color2","--theme-color3":"theme_color3"},p={title:"",theme_color:"",font_color:"",content:"",divType:"",divStyle:{}};const d=document.createElement("div");d.innerHTML=l;const u=d.querySelector(".entity-div-style");return console.log("解耦",u),Object.keys(o).forEach(m=>{m=="--theme-color2"||m=="--theme-color3"?p.divStyle[o[m]]=u.style.getPropertyValue(m)||"#fff":p[o[m]]=u.style.getPropertyValue(m)}),p.title=u.querySelector(".title")?u.querySelector(".title").innerText:"标题",p.content=u.querySelector(".content")?u.querySelector(".content").innerText:"内容",p.divType=u.classList[1]?u.classList[1].replace("entity-div-style",""):"",p}updateHtml(l,o){let{theme_color:p,font_color:d,title:u,content:m,divStyle:_}=o,{theme_color2:w,theme_color3:S}=_,C="";switch(l){case"1":C=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${p};--theme-font-color1:${d};">
2638
2638
  <div class="title">${u}</div>
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "chbim-plugins",
3
3
  "private": false,
4
- "version": "0.0.71",
4
+ "version": "0.0.74",
5
5
  "description": "一个简单的组件库",
6
6
  "main": "chbim-plugins.js",
7
- "keywords": ["vue", "Cesium"],
7
+ "keywords": [
8
+ "vue",
9
+ "Cesium"
10
+ ],
8
11
  "author": "zhang",
9
12
  "license": "ISC"
10
13
  }