<!-- SOLID-PLAYTIME · part 89 -->
nsity,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.envMapRotation.copy(t.envMapRotation),this.envMapIntensity=t.envMapIntensity,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class LU extends qi{constructor(t){super();this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,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}}class RU extends qi{constructor(t){super();this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}function uf(t,e){if(!t||t.constructor===e)return t;if(typeof e.BYTES_PER_ELEMENT==="number")return new e(t);return Array.prototype.slice.call(t)}function zS(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}class Ko{constructor(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=i!==void 0?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,n=this._cachedIndex,i=e[n],s=e[n-1];t:{e:{let a;n:{i:if(!(t<i)){for(let r=n+2;;){if(i===void 0){if(t<s)break i;return n=e.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===r)break;if(s=i,i=e[++n],t<i)break e}a=e.length;break n}if(!(t>=s)){let r=e[1];if(t<r)n=2,s=r;for(let o=n-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===o)break;if(i=s,s=e[--n-1],t>=s)break e}a=n,n=0;break n}break t}while(n<a){let r=n+a>>>1;if(t<e[r])a=r;else n=r+1}if(i=e[n],s=e[n-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===void 0)return n=e.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,s,i)}return this.interpolate_(n,s,t,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,s=t*i;for(let a=0;a!==i;++a)e[a]=n[s+a];return e}interpolate_(){throw Error("call to abstract method")}intervalChanged_(){}}class wU extends Ko{constructor(t,e,n,i){super(t,e,n,i);this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:2400,endingEnd:2400}}intervalChanged_(t,e,n){let i=this.parameterPositions,s=t-2,a=t+1,r=i[s],o=i[a];if(r===void 0)switch(this.getSettings_().endingStart){case 2401:s=t,r=2*e-n;break;case 2402:s=i.length-2,r=e+i[s]-i[s+1];break;default:s=t,r=n}if(o===void 0)switch(this.getSettings_().endingEnd){case 2401:a=t,o=2*n-e;break;case 2402:a=1,o=n+i[1]-i[0];break;default:a=t-1,o=e}let l=(n-e)*0.5,c=this.valueSize;this._weightPrev=l/(e-r),this._weightNext=l/(o-n),this._offsetPrev=s*c,this._offsetNext=a*c}interpolate_(t,e,n,i){let s=this.resultBuffer,a=this.sampleValues,r=this.valueSize,o=t*r,l=o-r,c=this._offsetPrev,u=this._offsetNext,f=this._weightPrev,h=this._weightNext,p=(n-e)/(i-e),v=p*p,y=v*p,U=-f*y+2*f*v-f*p,d=(1+f)*y+(-1.5-2*f)*v+(-0.5+f)*p+1,g=(-1-h)*y+(1.5+h)*v+0.5*p,m=h*y-h*v;for(let x=0;x!==r;++x)s[x]=U*a[c+x]+d*a[l+x]+g*a[o+x]+m*a[u+x];return s}}class CU extends Ko{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){let s=this.resultBuffer,a=this.sampleValues,r=this.valueSize,o=t*r,l=o-r,c=(n-e)/(i-e),u=1-c;for(let f=0;f!==r;++f)s[f]=a[l+f]*u+a[o+f]*c;return s}}class DU extends Ko{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t){return this.copySampleValue_(t-1)}}class Ri{constructor(t,e,n,i){if(t===void 0)throw Error("THREE.KeyframeTrack: track name is undefined");if(e===void 0||e.length===0)throw Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=uf(e,this.TimeBufferType),this.values=uf(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpol