d(b);e.manager.itemError(a)},!1);void0!==this.crossOrigin&&(g.crossOrigin=this.crossOrigin);e.manager.itemStart(a);g.src=a;returng},setCrossOrigin:function(a){this.crossOrigin=a},setPath:function(a){this.path=a}};THREE.JSONLoader=function(a){"boolean"===typeofa&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void0);this.manager=void0!==a?a:THREE.DefaultLoadingManager;this.withCredentials=!1};
THREE.JSONLoader.prototype={constructor:THREE.JSONLoader,getstatusDomElement(){void0===this._statusDomElement&&(this._statusDomElement=document.createElement("div"));console.warn("THREE.JSONLoader: .statusDomElement has been removed.");returnthis._statusDomElement},load:function(a,b,c,d){vare=this,f=this.texturePath&&"string"===typeofthis.texturePath?this.texturePath:THREE.Loader.prototype.extractUrlBase(a);c=newTHREE.XHRLoader(this.manager);c.setCrossOrigin(this.crossOrigin);c.setWithCredentials(this.withCredentials);
c.load(a,function(c){c=JSON.parse(c);vard=c.metadata;if(void0!==d&&(d=d.type,void0!==d)){if("object"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.ObjectLoader instead.");return}if("scene"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)})},setCrossOrigin:function(a){this.crossOrigin=a},setTexturePath:function(a){this.texturePath=a},parse:function(a,
2]:0,3<b?a.skinWeights[d+3]:0));if(a.skinIndices)for(d=0,g=a.skinIndices.length;d<g;d+=b)c.skinIndices.push(newTHREE.Vector4(a.skinIndices[d],1<b?a.skinIndices[d+1]:0,2<b?a.skinIndices[d+2]:0,3<b?a.skinIndices[d+3]:0));c.bones=a.bones;c.bones&&0<c.bones.length&&(c.skinWeights.length!==c.skinIndices.length||c.skinIndices.length!==c.vertices.length)&&console.warn("When skinning, number of vertices ("+c.vertices.length+"), skinIndices ("+c.skinIndices.length+"), and skinWeights ("+c.skinWeights.length+
") should match.")})();(function(b){if(void0!==a.morphTargets)for(vard=0,g=a.morphTargets.length;d<g;d++){c.morphTargets[d]={};c.morphTargets[d].name=a.morphTargets[d].name;c.morphTargets[d].vertices=[];for(varh=c.morphTargets[d].vertices,k=a.morphTargets[d].vertices,l=0,m=k.length;l<m;l+=3){varp=newTHREE.Vector3;p.x=k[l]*b;p.y=k[l+1]*b;p.z=k[l+2]*b;h.push(p)}}if(void0!==a.morphColors&&0<a.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),
THREE.JSONLoader.prototype={constructor:THREE.JSONLoader,getstatusDomElement(){void0===this._statusDomElement&&(this._statusDomElement=document.createElement("div"));console.warn("THREE.JSONLoader: .statusDomElement has been removed.");returnthis._statusDomElement},load:function(a,b,c,d){vare=this,f=this.texturePath&&"string"===typeofthis.texturePath?this.texturePath:THREE.Loader.prototype.extractUrlBase(a);c=newTHREE.XHRLoader(this.manager);c.setWithCredentials(this.withCredentials);c.load(a,
function(c){c=JSON.parse(c);vard=c.metadata;if(void0!==d&&(d=d.type,void0!==d)){if("object"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.ObjectLoader instead.");return}if("scene"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)})},setTexturePath:function(a){this.texturePath=a},parse:function(a,b){varc=newTHREE.Geometry,d=void0!==a.scale?1/a.scale:
0));if(a.skinIndices)for(d=0,g=a.skinIndices.length;d<g;d+=b)c.skinIndices.push(newTHREE.Vector4(a.skinIndices[d],1<b?a.skinIndices[d+1]:0,2<b?a.skinIndices[d+2]:0,3<b?a.skinIndices[d+3]:0));c.bones=a.bones;c.bones&&0<c.bones.length&&(c.skinWeights.length!==c.skinIndices.length||c.skinIndices.length!==c.vertices.length)&&console.warn("When skinning, number of vertices ("+c.vertices.length+"), skinIndices ("+c.skinIndices.length+"), and skinWeights ("+c.skinWeights.length+") should match.")})();(function(b){if(void0!==
a.morphTargets)for(vard=0,g=a.morphTargets.length;d<g;d++){c.morphTargets[d]={};c.morphTargets[d].name=a.morphTargets[d].name;c.morphTargets[d].vertices=[];for(varh=c.morphTargets[d].vertices,k=a.morphTargets[d].vertices,l=0,m=k.length;l<m;l+=3){varp=newTHREE.Vector3;p.x=k[l]*b;p.y=k[l+1]*b;p.z=k[l+2]*b;h.push(p)}}if(void0!==a.morphColors&&0<a.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),b=c.faces,h=a.morphColors[0].colors,
h.radialSegments,h.tubularSegments,h.p,h.q,h.heightScale);break;case"BufferGeometry":g=d.parse(h);break;case"Geometry":g=c.parse(h.data,this.texturePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+h.type+'"');continue}g.uuid=h.uuid;void0!==h.name&&(g.name=h.name);b[h.uuid]=g}returnb},parseMaterials:function(a,b){varc={};if(void0!==a){vard=newTHREE.MaterialLoader;d.setTextures(b);for(vare=0,f=a.length;e<f;e++){varg=d.parse(a[e]);c[g.uuid]=g}}returnc},
parseTextures:function(a,b){functionc(a){if("number"===typeofa)returna;console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",a);returnTHREE[a]}vard={};if(void0!==a)for(vare=0,f=a.length;e<f;e++){varg=a[e];void0===g.image&&console.warn('THREE.ObjectLoader: No "image" specified for',g.uuid);void0===b[g.image]&&console.warn("THREE.ObjectLoader: Undefined image",g.image);varh=newTHREE.Texture(b[g.image]);h.needsUpdate=!0;h.uuid=g.uuid;void0!==g.name&&(h.name=
d.parse(h);break;case"Geometry":g=c.parse(h.data,this.texturePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+h.type+'"');continue}g.uuid=h.uuid;void0!==h.name&&(g.name=h.name);b[h.uuid]=g}returnb},parseMaterials:function(a,b){varc={};if(void0!==a){vard=newTHREE.MaterialLoader;d.setTextures(b);for(vare=0,f=a.length;e<f;e++){varg=d.parse(a[e]);c[g.uuid]=g}}returnc},parseAnimations:function(a){for(varb=[],c=0;c<a.length;c++){vard=THREE.AnimationClip.parse(a[c]);
b.push(d)}returnb},parseImages:function(a,b){functionc(a){d.manager.itemStart(a);returng.load(a,function(){d.manager.itemEnd(a)})}vard=this,e={};if(void0!==a&&0<a.length){varf=newTHREE.LoadingManager(b),g=newTHREE.ImageLoader(f);g.setCrossOrigin(this.crossOrigin);for(varf=0,h=a.length;f<h;f++){vark=a[f],l=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(k.url)?k.url:d.texturePath+k.url;e[k.uuid]=c(l)}}returne},parseTextures:function(a,b){functionc(a){if("number"===typeofa)returna;console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",
a);returnTHREE[a]}vard={};if(void0!==a)for(vare=0,f=a.length;e<f;e++){varg=a[e];void0===g.image&&console.warn('THREE.ObjectLoader: No "image" specified for',g.uuid);void0===b[g.image]&&console.warn("THREE.ObjectLoader: Undefined image",g.image);varh=newTHREE.Texture(b[g.image]);h.needsUpdate=!0;h.uuid=g.uuid;void0!==g.name&&(h.name=g.name);void0!==g.mapping&&(h.mapping=c(g.mapping));void0!==g.offset&&(h.offset=newTHREE.Vector2(g.offset[0],g.offset[1]));void0!==g.repeat&&(h.repeat=newTHREE.Vector2(g.repeat[0],
THREE.Material.prototype={constructor:THREE.Material,getneedsUpdate(){returnthis._needsUpdate},setneedsUpdate(a){!0===a&&this.update();this._needsUpdate=a},setValues:function(a){if(void0!==a)for(varbina){varc=a[b];if(void0===c)console.warn("THREE.Material: '"+b+"' parameter is undefined.");else{vard=this[b];void0===d?console.warn("THREE."+this.type+": '"+b+"' is not a property of this material."):dinstanceofTHREE.Color?d.set(c):dinstanceofTHREE.Vector3&&cinstanceofTHREE.Vector3?d.copy(c):