<!-- SOLID-PLAYTIME · part 154 -->
a;let p=new Uint32Array(4),v=new Int32Array(4),y=null,U=null,d=[],g=[];this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=Ps,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let m=this,x=!1;this._outputColorSpace=Hs;let S=0,A=0,T=null,w=-1,b=null,M=new Le,R=new Le,O=null,V=new Xt(0),k=0,{width:et,height:Z}=e,at=1,W=null,ht=null,mt=new Le(0,0,et,Z),q=new Le(0,0,et,Z),dt=!1,Ft=new Bc,Et=!1,X=!1,ot=new ie,Y=new C,yt=new Le,Ht={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},vt=!1;function ye(){return T===null?at:1}let D=n;function ce(_,F){return e.getContext(_,F)}try{let _={alpha:!0,depth:i,stencil:s,antialias:r,premultipliedAlpha:o,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:u};if("setAttribute"in e)e.setAttribute("data-engine",`three.js r${Ib}`);if(e.addEventListener("webglcontextlost",xt,!1),e.addEventListener("webglcontextrestored",Ut,!1),e.addEventListener("webglcontextcreationerror",Rt,!1),D===null){if(D=ce("webgl2",_),D===null)if(ce("webgl2"))throw Error("Error creating WebGL context with your selected attributes.");else throw Error("Error creating WebGL context.")}}catch(_){throw console.error("THREE.WebGLRenderer: "+_.message),_}let kt,Bt,St,Ue,Dt,It,xe,be,Ee,L,E,B,tt,st,Q,Tt,z,j,ft,K,rt,_t,Lt,gt;function Wt(){if(kt=new kR(D),kt.init(),_t=new v3(D,kt),Bt=new HR(D,kt,t,_t),St=new U3(D,kt),Bt.reversedDepthBuffer&&f)St.buffers.depth.setReversed(!0);Ue=new GR(D),Dt=new i3,It=new g3(D,kt,St,Dt,Bt,_t,Ue),xe=new FR(m),be=new zR(m),Ee=new qS(D),Lt=new DR(D,Ee),L=new VR(D,Ee,Ue,Lt),E=new JR(D,L,Ee,Ue),ft=new $R(D,Bt,It),Tt=new IR(Dt),B=new n3(m,xe,be,kt,Bt,Lt,Tt),tt=new E3(m,Dt),st=new a3,Q=new h3(kt),j=new CR(m,xe,be,St,E,h,o),z=new p3(m,E,Bt),gt=new M3(D,Ue,Bt,St),K=new PR(D,kt,Ue),rt=new XR(D,kt,Ue),Ue.programs=B.programs,m.capabilities=Bt,m.extensions=kt,m.properties=Dt,m.renderLists=st,m.shadowMap=z,m.state=St,m.info=Ue}Wt();let P=new _M(m,D);this.xr=P,this.getContext=function(){return D},this.getContextAttributes=function(){return D.getContextAttributes()},this.forceContextLoss=function(){let _=kt.get("WEBGL_lose_context");if(_)_.loseContext()},this.forceContextRestore=function(){let _=kt.get("WEBGL_lose_context");if(_)_.restoreContext()},this.getPixelRatio=function(){return at},this.setPixelRatio=function(_){if(_===void 0)return;at=_,this.setSize(et,Z,!1)},this.getSize=function(_){return _.set(et,Z)},this.setSize=function(_,F,G=!0){if(P.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}if(et=_,Z=F,e.width=Math.floor(_*at),e.height=Math.floor(F*at),G===!0)e.style.width=_+"px",e.style.height=F+"px";this.setViewport(0,0,_,F)},this.getDrawingBufferSize=function(_){return _.set(et*at,Z*at).floor()},this.setDrawingBufferSize=function(_,F,G){et=_,Z=F,at=G,e.width=Math.floor(_*G),e.height=Math.floor(F*G),this.setViewport(0,0,_,F)},this.getCurrentViewport=function(_){return _.copy(M)},this.getViewport=function(_){return _.copy(mt)},this.setViewport=function(_,F,G,J){if(_.isVector4)mt.set(_.x,_.y,_.z,_.w);else mt.set(_,F,G,J);St.viewport(M.copy(mt).multiplyScalar(at).round())},this.getScissor=function(_){return _.copy(q)},this.setScissor=function(_,F,G,J){if(_.isVector4)q.set(_.x,_.y,_.z,_.w);else q.set(_,F,G,J);St.scissor(R.copy(q).multiplyScalar(at).round())},this.getScissorTest=function(){return dt},this.setScissorTest=function(_){St.setScissorTest(dt=_)},this.setOpaqueSort=function(_){W=_},this.setTransparentSort=function(_){ht=_},this.getClearColor=function(_){return _.copy(j.getClearColor())},this.setClearColor=function(){j.setClearColor(...arguments)},this.getClearAlpha=function(){return j.getClearAlpha()},this.setClearAlpha=function(){j.setClearAlpha(...arguments)},this.clear=function(_=!0,F=!0,G=!0){let J=0;if(_){let N=!1;if(T!==null){let ut=T.texture.format;N=ut===Om||ut===Bm||ut===Nm}if(N){let ut=T.texture.type,Mt=ut===Ea||ut===Jo||ut===wc||ut===Wo||ut===Im||ut===Fm,Pt=j.getClearColor(),wt=j.getClearAlpha(),{r:Vt,g:$t,b:Ot}=Pt;if(Mt)p[0]=Vt,p[1]=$t,p[2]=Ot,p[3]=wt,D.clearBufferuiv(D.COLOR,0,p);else v[0]=Vt,v[1]=$t,v[2]=Ot,v[3]=wt,D.clearBufferiv(D.COLOR,0,v)}else J|=D.COLOR_BUFFER_BIT}if(F)J|=D.DEPTH_BUFFER_BIT;if(G)J|=D.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295);D.clear(J)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",xt,!1),e.removeEventListener("webglcontextrestored",Ut,!1),e.removeEventListener("webglcontextcreationerror",Rt,!1),j.dispose(),st.dispose(),Q.dispose(),Dt.dispose(),xe.dispose(),be.dispose(),E.dispose(),Lt.dispose(),gt.dispose(),B.dispose(),P.di