<!-- SOLID CITY · part 3381 -->
Me(){if(H.forEach(function(Te){let Ae=G.get(Te).currentProgram;(Ae===void 0||Ae.isReady())&&H.delete(Te)}),H.size===0){k(S);return}setTimeout(Me,10)}nt.get("KHR_parallel_shader_compile")!==null?Me():setTimeout(Me,10)})};let vc=null;function xp(S){vc&&vc(S)}function vu(){ji.stop()}function yu(){ji.start()}let ji=new Tf;ji.setAnimationLoop(xp),typeof self!="undefined"&&ji.setContext(self),this.setAnimationLoop=function(S){vc=S,Ce.setAnimationLoop(S),S===null?ji.stop():ji.start()},Ce.addEventListener("sessionstart",vu),Ce.addEventListener("sessionend",yu),this.render=function(S,U){if(U!==void 0&&U.isCamera!==!0){ke("WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(D===!0)return;O!==null&&O.renderStart(S,U);let W=Ce.enabled===!0&&Ce.isPresenting===!0,H=w!==null&&(ie===null||W)&&w.begin(I,ie);if(S.matrixWorldAutoUpdate===!0&&S.updateMatrixWorld(),U.parent===null&&U.matrixWorldAutoUpdate===!0&&U.updateMatrixWorld(),Ce.enabled===!0&&Ce.isPresenting===!0&&(w===null||w.isCompositing()===!1)&&(Ce.cameraAutoUpdate===!0&&Ce.updateCamera(U),U=Ce.getCamera()),S.isScene===!0&&S.onBeforeRender(I,S,U,ie),E=fe.get(S,x.length),E.init(U),E.state.textureUnits=Z.getTextureUnits(),x.push(E),oe.multiplyMatrices(U.projectionMatrix,U.matrixWorldInverse),te.setFromProjectionMatrix(oe,qn,U.reversedDepth),ae=this.localClippingEnabled,re=De.init(this.clippingPlanes,ae),T=_e.get(S,C.length),T.init(),C.push(T),Ce.enabled===!0&&Ce.isPresenting===!0){let Te=I.xr.getDepthSensingMesh();Te!==null&&yc(Te,U,-1/0,I.sortObjects)}yc(S,U,0,I.sortObjects),T.finish(),O!==null&&O.updateLights(E.state.lightsArray),I.sortObjects===!0&&T.sort(ve,Ve),We=Ce.enabled===!1||Ce.isPresenting===!1||Ce.hasDepthSensing()===!1,We&&Ye.addToRenderList(T,S),this.info.render.frame++,this.info.autoReset===!0&&this.info.reset(),re===!0&&De.beginShadows();let k=E.state.shadowsArray;if(He.render(k,S,U),re===!0&&De.endShadows(),(H&&w.hasRenderPass())===!1){let Te=T.opaque,ye=T.transmissive;if(E.setupLights(),U.isArrayCamera){let Ae=U.cameras;if(ye.length>0)for(let Ie=0,Ke=Ae.length;Ie<Ke;Ie++){let it=Ae[Ie];Su(Te,ye,S,it)}We&&Ye.render(S);for(let Ie=0,Ke=Ae.length;Ie<Ke;Ie++){let it=Ae[Ie];Mu(T,S,it,it.viewport)}}else ye.length>0&&Su(Te,ye,S,U),We&&Ye.render(S),Mu(T,S,U)}ie!==null&&X===0&&(Z.updateMultisampleRenderTarget(ie),Z.updateRenderTargetMipmap(ie)),H&&w.end(I),S.isScene===!0&&S.onAfterRender(I,S,U),Se.resetDefaultState(),Y=-1,j=null,x.pop(),x.length>0?(E=x[x.length-1],Z.setTextureUnits(E.state.textureUnits),re===!0&&De.setGlobalState(I.clippingPlanes,E.state.camera)):E=null,C.pop(),C.length>0?T=C[C.length-1]:T=null,O!==null&&O.renderEnd()};function yc(S,U,W,H){if(S.visible===!1)return;if(S.layers.test(U.layers)){if(S.isGroup)W=S.renderOrder;else if(S.isLOD)S.autoUpdate===!0&&S.update(U);else if(S.isLightProbeGrid)E.pushLightProbeGrid(S);else if(S.isLight)E.pushLight(S),S.castShadow&&E.pushShadow(S);else if(S.isSprite){if(!S.frustumCulled||S.intersectsFrustum(te)){H&&ze.setFromMatrixPosition(S.matrixWorld).applyMatrix4(oe);let Te=Q.update(S),ye=S.material;ye.visible&&T.push(S,Te,ye,W,ze.z,null,U)}}else if((S.isMesh||S.isLine||S.isPoints)&&(!S.frustumCulled||S.intersectsFrustum(te))){let Te=Q.update(S),ye=S.material;if(H&&(S.boundingSphere!==void 0?(S.boundingSphere===null&&S.computeBoundingSphere(),ze.copy(S.boundingSphere.center)):(Te.boundingSphere===null&&Te.computeBoundingSphere(),ze.copy(Te.boundingSphere.center)),ze.applyMatrix4(S.matrixWorld).applyMatrix4(oe)),Array.isArray(ye)){let Ae=Te.groups;for(let Ie=0,Ke=Ae.length;Ie<Ke;Ie++){let it=Ae[Ie],Re=ye[it.materialIndex];Re&&Re.visible&&T.push(S,Te,Re,W,ze.z,it,U)}}else ye.visible&&T.push(S,Te,ye,W,ze.z,null,U)}}let Me=S.children;for(let Te=0,ye=Me.length;Te<ye;Te++)yc(Me[Te],U,W,H)}function Mu(S,U,W,H){let{opaque:k,transmissive:Me,transparent:Te}=S;E.setupLightsView(W),re===!0&&De.setGlobalState(I.clippingPlanes,W),H&&_.viewport(ne.copy(H)),k.length>0&&La(k,U,W),Me.length>0&&La(Me,U,W),Te.length>0&&La(Te,U,W),_.buffers.depth.setTest(!0),_.buffers.depth.setMask(!0),_.buffers.color.setMask(!0),_.setPolygonOffset(!1)}function Su(S,U,W,H){if((W.isScene===!0?W.overrideMaterial:null)!==null)return;if(E.state.transmissionRenderTarget[H.id]===void 0){let Re=nt.has("EXT_color_buffer_half_float")||nt.has("EXT_color_buffer_float");E.state.transmissionRenderTarget[H.id]=new xn(1,1,{generateMipmaps:!0,type:Re?$n:yn,minFilter:Wi,samples:Math.max(4,R.samples),stencilBuffer:r,resolveDepthBuffer:!1,resolveStencilBuffer:!1,storeMultisampledDepthBuffer:!1,storeMultisampledStencilBuffer:!1,colorSpace:rt.workingColorSpace})}let Me=E.state.transmissionRenderTarget[H.id],Te=H.viewport||ne;Me.setSize(Te.z*I.transmissionResolutionScale,Te.w*I.transmissionResolutionScale);let ye=I.getRenderTarget(),Ae=I.getActiveCubeFace(),Ie=I.getActiveMipmapLevel();I.setRenderTarget(Me),I.getClearColor(dt),tt=I.getClearAlpha(),tt<1&&I.setClearColor(16777215,.5),I.clear(),We&&Ye.render(W);let